/* Lantern field notes: expressive illustrations, quiet controls. */
:root{--ink:#171d24;--leather:#242d36;--paper:#eee5d3;--sepia:#252e36;--sepia-2:#626a6d;--amber:#dfa54b;--glow:#f4c77f;--rust:#ab5145;--line:rgba(37,46,54,.18);--surface:#f5eedf;--r1:8px;--r2:12px}
body{background:#141a21;color:var(--paper)}
#app{max-width:560px;background:#232d38}
button{touch-action:manipulation}
button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
header{padding:10px 12px 0!important;background:#202932!important;box-shadow:none!important;border-bottom:1px solid rgba(238,229,211,.12)}
.hud{gap:7px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.town{gap:6px!important}.town .mats{gap:4px!important}
.mc{border:0!important;border-radius:6px!important;background:rgba(238,229,211,.045)!important;min-height:34px!important;padding:4px 2px!important;gap:3px!important}
.mc .top{font:700 13px/1.2 var(--body)!important;color:#f3ecde}.mc i{font:400 10px/1.2 var(--body)!important;color:#c7cbc9!important}
.mc.full{box-shadow:inset 0 -2px var(--amber)!important}.mc.zero{opacity:.7!important}
#pfBtn,#setBtn{width:36px!important;height:40px!important;background:none!important;border:1px solid rgba(238,229,211,.17)!important;border-radius:8px!important;color:var(--paper)!important;flex:none}
.lvrow{padding:3px 0 5px!important;border-radius:0!important;background:none!important;gap:7px!important}.lvrow #lv{color:var(--paper);font:700 12px var(--body)!important}.lvrow #barL{font:400 11px var(--body)!important;color:#c9cfce!important}
.inkbar{height:4px!important;background:rgba(255,255,255,.1)!important}.inkbar i{background:var(--amber)!important}
.tape{margin:4px 0 8px!important;min-height:0!important;padding:8px 10px!important;border:1px solid rgba(238,229,211,.17)!important;border-radius:8px!important;background:#2d3741!important;color:#f0e7d6!important;box-shadow:none!important;transform:none!important;gap:8px}
.tape::before,.tape::after{display:none!important}.tape .m{font:600 13px/1.4 var(--body)!important}.tape .chap{display:inline!important;margin:0 6px 0 0!important;font:700 10px var(--body)!important;color:var(--glow)!important;background:none!important;letter-spacing:0!important}.tape .chap i{color:var(--glow)!important}.tape .more,.tape .sub{color:#c7cec9!important}
.tape.done{margin:4px 0 8px!important;background:#dfaa56!important;border-color:#efc883!important;color:#252e36!important}.tape.done .chap,.tape.done .chap i{color:#523d24!important}.claim{min-height:36px;border:1px solid #775a31!important;border-radius:6px!important;transform:none!important;animation:none!important;background:rgba(255,255,255,.15)!important;color:#302c26!important;font:700 12px var(--body)!important}
#stage{background:#252f3b!important}.zoom{top:12px!important;right:10px!important;gap:6px}.zoom button{width:36px!important;height:36px!important;background:#242d36!important;border:1px solid rgba(238,229,211,.25)!important;box-shadow:none!important;color:var(--paper)}
#clock{top:12px!important;left:10px!important;max-width:calc(100% - 66px)!important;padding:6px 9px!important;border:1px solid rgba(238,229,211,.18)!important;background:rgba(32,41,50,.95)!important;box-shadow:none!important;font:500 11px/1.3 var(--body)!important;color:#e8e4d9!important;white-space:normal!important}
#clock.big{border-color:#ab5145!important;color:#f4c1b6!important}.bufp{background:rgba(223,165,75,.12)!important;color:var(--glow)!important}
#lamp{left:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;width:80px!important;min-height:78px!important;padding:4px 0 6px!important;border:1px solid #f0c77f!important;border-radius:14px!important;background:#dfa54b!important;color:#252e36!important;box-shadow:0 3px 0 #775933!important;transform:none}
#lamp svg{width:56px!important;height:56px!important;filter:none!important}#lamp svg circle:first-child{fill:#26323c!important;stroke:#efd7a8!important;stroke-width:1.5;stroke-dasharray:none}#lamp span{font:700 12px/1.2 var(--body)!important;color:#252e36!important;text-shadow:none!important;margin-top:0!important}
#lamp:active{transform:translateY(2px)!important;box-shadow:0 1px 0 #775933!important}
.tabs{left:100px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;min-height:70px!important;padding:3px!important;gap:1px!important;align-items:stretch!important;background:#202932!important;border:1px solid rgba(238,229,211,.2)!important;border-radius:12px!important;box-shadow:none!important;backdrop-filter:none!important}
.tab{min-height:60px!important;padding:4px 0!important;gap:5px!important;justify-content:center!important;color:#d5d9d3!important;font:500 11px/1 var(--body)!important;border-radius:8px!important}.tab svg{width:22px!important;height:22px!important}.tab.on{background:rgba(223,165,75,.13)!important;color:#f4c77f!important;box-shadow:inset 0 -2px #dfa54b!important}
.tab .cnt{display:none}.tab .dot,.tab.hasdot .ti::after,.tab.isnew .ti::before{width:7px!important;height:7px!important;box-shadow:none!important;right:-5px!important;top:-2px!important;background:#dfa54b!important}.tab.on .dot{background:var(--amber)!important;box-shadow:none!important}
#skills{left:100px!important;right:10px!important;bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;gap:8px!important;flex-direction:row!important}.sk{width:44px!important}.sk .av{width:40px!important;height:40px!important;border:1px solid #d2b987!important;box-shadow:none!important;animation:none!important}.sk .av svg{width:40px!important;height:47px!important;margin:0!important}.sk small{font:500 10px/1.2 var(--body)!important}.sk.ready .av{border-color:#dfa54b!important;box-shadow:0 0 0 2px rgba(223,165,75,.15)!important}
#sheet{bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;max-height:calc(100% - 108px)!important;border-radius:14px 14px 10px 10px!important;background:var(--paper)!important;border:1px solid rgba(238,229,211,.25);box-shadow:0 -8px 28px rgba(10,16,22,.28)!important}
#sheet::before{display:none!important}.grab{background:rgba(37,46,54,.28)!important}.sh-head{padding:14px 16px 12px!important;background:#242d36!important;color:var(--paper)!important;border:0!important}.sh-head h2{font:700 17px/1.3 var(--body)!important;color:var(--paper)!important}.sh-head button{color:var(--paper)!important;width:40px!important;height:40px!important;font-size:24px!important}.sh-head #shIcon{color:var(--paper)!important}.sh-body{padding:14px 16px 20px!important;color:var(--sepia)!important;gap:0!important;background:var(--paper)!important}
#modal{background:rgba(15,22,29,.78)!important;backdrop-filter:none!important;padding:16px!important}
.page{max-width:460px!important;max-height:calc(100dvh - 32px)!important;width:100%;box-sizing:border-box!important;padding:20px!important;background:var(--paper)!important;color:var(--sepia)!important;border:1px solid rgba(238,229,211,.4)!important;border-radius:14px!important;transform:none!important;box-shadow:0 12px 40px rgba(0,0,0,.25)!important;overflow-y:auto!important}
.page h3{font:700 23px/1.3 var(--body)!important;color:var(--sepia)!important}.page .tag{color:var(--sepia-2)!important;font:600 11px/1.4 var(--body)!important;letter-spacing:.04em!important}.page p{font:400 16px/1.7 var(--body)!important;background:none!important;color:var(--sepia)!important;text-align:left!important}
.page button,.buy{font-family:var(--body)!important;font-size:13px!important;min-height:44px;border:1px solid rgba(37,46,54,.45)!important;border-radius:8px!important;background:#dfa54b!important;color:#252e36!important;box-shadow:none!important;padding:10px 12px!important;transform:none!important}
.page button.alt,.buy.ghost{background:transparent!important;color:var(--sepia)!important;border-color:rgba(37,46,54,.28)!important}.page button:disabled,.buy:disabled{background:#ded8cc!important;border-color:#c9c5ba!important;color:#7f8585!important;opacity:1!important}.page button.warn,.buy.warn{background:#ab5145!important;color:#fff1e6!important}
.segs{background:#e3dccd!important;border:1px solid var(--line)!important;border-radius:9px!important;padding:3px!important;gap:2px!important;margin:0 0 14px!important;box-shadow:none!important}.seg,.page .seg{background:none!important;border:0!important;border-radius:6px!important;color:#606970!important;min-height:40px!important;padding:8px 6px!important;font:600 12px/1.3 var(--body)!important;white-space:nowrap!important}.seg.on,.page .seg.on{color:var(--sepia)!important;background:var(--surface)!important;box-shadow:inset 0 -2px var(--amber)!important}.seg .nw{width:6px!important;height:6px!important;padding:0!important;font-size:0!important;border-radius:50%!important;vertical-align:middle!important}
.segs:has(.seg:nth-child(5)){display:flex!important;overflow:auto!important;scrollbar-width:thin!important}.segs:has(.seg:nth-child(5)) .seg{flex:0 0 auto!important;min-width:62px!important}
.sumchips{gap:5px!important;margin-bottom:12px!important}.sumchips>span{background:rgba(37,46,54,.045)!important;border:1px solid var(--line)!important;border-radius:6px!important;padding:5px 7px!important;font:500 11px/1.3 var(--body)!important;color:var(--sepia-2)!important}
.sec,.sec2{font:700 13px/1.4 var(--body)!important;letter-spacing:0!important;color:var(--sepia)!important;margin-top:18px!important}.d,.cb .d,.trait,.qgoal,.prev{font:400 13px/1.6 var(--body)!important;color:var(--sepia-2)!important}
.cb,.shx,.qbox,.grbox,.gearbox,.rset,.radiobox{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:none!important}.cb{padding:12px!important;gap:10px!important;margin-bottom:10px!important}.cb .t{font:700 15px/1.35 var(--body)!important;color:var(--sepia)!important}.cb.hero{border-color:rgba(223,165,75,.55)!important;background:#f4ebd9!important}.th{background:rgba(37,46,54,.04)!important;border-radius:8px!important}.th img{filter:none!important}.cost{background:rgba(37,46,54,.035)!important;border:1px solid var(--line)!important;border-radius:5px!important;font:500 11px/1.3 var(--body)!important;color:var(--sepia-2)!important}.cost.no{color:#9f473d!important}.banner{background:#29353f!important;border-radius:9px!important;box-shadow:none!important;color:var(--paper)!important}.banner.b2{background:#e5ddcc!important;color:var(--sepia)!important;border:1px solid var(--line)!important}
.svrow{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:12px 0!important;gap:10px!important;box-shadow:none!important}.svrow .fc{width:54px!important;height:63px!important;border-radius:7px!important;border:1px solid var(--line)!important;overflow:hidden!important}.svrow b{font:700 15px/1.3 var(--body)!important}.svrow small{font:400 12px/1.5 var(--body)!important;color:var(--sepia-2)!important}.svrow .mid{min-width:0}.fchips{gap:5px!important}.fchip{font:600 11px/1.3 var(--body)!important;padding:8px 9px!important;background:transparent!important;border:1px solid var(--line)!important;border-radius:7px!important}.fchip.on{background:#e1c58e!important;color:var(--sepia)!important;border-color:#bd9554!important}
.svp .svhero{grid-template-columns:116px minmax(0,1fr)!important;gap:14px!important;position:relative!important;margin-bottom:18px!important;padding:0!important;background:none!important;border:0!important}.svhero .pf{width:116px!important;border-radius:8px!important;box-shadow:none!important;border:1px solid var(--line)!important;overflow:hidden!important}.svhero .svid{min-width:0!important}.svhero h3{font-size:24px!important;margin:4px 0 6px!important}.svhero .svid>small{font:400 12px/1.5 var(--body)!important;margin:0!important;color:var(--sepia-2)!important}.svst{background:rgba(37,46,54,.06)!important;color:var(--sepia-2)!important;border-radius:5px!important;font-size:11px!important}.svhero .svtr{padding-right:0!important;margin-top:8px!important}.svhero .svtr small{font-size:11px!important}.svhero .svnav{position:static!important;grid-column:1/-1!important;justify-content:flex-end!important;margin-top:-4px!important}.svhero .svnav button{min-height:32px!important;width:36px!important;background:transparent!important;padding:0!important}.trust i{background:none!important;border:1px solid #9a824e!important}.trust i.on{background:var(--amber)!important;border-color:#b28540!important}.tbar,.pbar{background:rgba(37,46,54,.1)!important;height:4px!important;box-shadow:none!important}.tbar i,.pbar i{background:var(--amber)!important}
.sline{padding:11px 0!important;border-bottom:1px solid var(--line)!important;gap:12px!important}.sline b{font:700 13px/1.5 var(--body)!important;color:var(--sepia)!important}.sline span{font:400 13px/1.6 var(--body)!important;color:var(--sepia-2)!important}.story li{font:400 15px/1.7 var(--body)!important;padding:13px 0!important;border-bottom:1px solid var(--line)!important;color:var(--sepia)!important}.story li.lock{font:400 12px/1.6 var(--body)!important;color:#89908f!important}.btns{gap:8px!important;margin-top:12px!important}.stiles>div{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:8px!important}
.exp{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:14px!important;margin:0 0 12px!important}.exp .top b{font:700 16px/1.35 var(--body)!important;color:var(--sepia)!important}.exp .meta{font:500 11px/1.4 var(--body)!important;color:var(--sepia-2)!important}.exp p{font:400 13px/1.6 var(--body)!important;color:var(--sepia-2)!important}.team{gap:7px!important;margin:12px 0!important}.mem,.page .mem{background:#f5eedf!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:6px 9px 6px 6px!important;color:var(--sepia)!important;min-height:42px!important;font:600 12px/1.3 var(--body)!important}.mem.on,.page .mem.on{background:#edd6a6!important;border-color:#b58b49!important}.mem .av{width:32px!important;height:32px!important}.mem .av svg{width:32px!important;margin-top:0!important}.prev{padding:10px!important;background:rgba(37,46,54,.04)!important;border-radius:6px!important}
.radiobox{padding:16px!important;text-align:center!important}.radiobox>svg{width:min(230px,75%)!important;height:auto!important;filter:none!important;margin:0 auto 12px!important}.radiobox p{font:400 14px/1.7 var(--body)!important;color:var(--sepia-2)!important}.bat{background:#e8dfcd!important;color:var(--sepia)!important;border:1px solid var(--line)!important;border-radius:7px!important;padding:9px!important;flex-wrap:wrap!important;gap:5px!important}.bat span{font-size:11px!important}.cards{gap:10px!important}.card{border:1px solid var(--line)!important;background:var(--surface)!important;border-radius:8px!important;box-shadow:none!important}.card.locked{background:#ded8cb!important}.card b{font:700 13px/1.3 var(--body)!important}.card small{font:400 11px/1.4 var(--body)!important}
.entry,.entry.log{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:14px 0!important;box-shadow:none!important}.entry .n{font:700 14px/1.45 var(--body)!important;color:var(--sepia)!important}.entry .p,.entry .p2{font:400 14px/1.7 var(--body)!important;color:var(--sepia-2)!important;margin-top:6px!important}.entry.locked{opacity:.65!important}.row{border-bottom:1px solid var(--line)!important;padding:12px 0!important}.row .t{font:700 14px/1.4 var(--body)!important}
.talk .who{gap:12px!important;align-items:center!important;margin:12px 0 18px!important}.talk .who .av{width:72px!important;height:84px!important;border-radius:8px!important;overflow:hidden!important;border:1px solid var(--line)!important;box-shadow:none!important}.talk .who .av svg{width:100%!important;height:100%!important;margin:0!important}.talk .who b{font:700 18px/1.3 var(--body)!important}.talk .who small{font:400 12px/1.5 var(--body)!important;color:var(--sepia-2)!important}.talk p{font-size:17px!important;line-height:1.85!important;margin:0 0 24px!important}.tfoot{padding-top:14px!important;border-top:1px solid var(--line)!important;gap:8px!important}.fx,.goal{background:#e5ddcc!important;border:0!important;border-radius:7px!important;padding:10px!important;color:var(--sepia)!important;font:400 13px/1.6 var(--body)!important}.chcard{background:none!important;border:0!important;transform:none!important;padding:0 0 14px!important;border-bottom:1px solid var(--line)!important}
#defBar{top:56px!important;width:min(350px,calc(100% - 20px))!important;box-sizing:border-box!important;background:#26313b!important;border:1px solid #ab5145!important;border-radius:9px!important;box-shadow:none!important;padding:8px 10px!important;color:var(--paper)!important}#defBar b{color:#efb6a8!important}.dhp{background:#3b4147!important;height:20px!important;border-radius:5px!important}.dhp i{background:#ab5145!important}.dhp span{font:700 12px var(--body)!important;color:#fff4df!important}#stage.danger::after{box-shadow:inset 0 0 32px 8px rgba(171,81,69,.28)!important;animation:none!important}
#placeBar{top:56px!important;border:1px solid var(--amber)!important;border-radius:8px!important;background:var(--paper)!important;box-shadow:none!important;font:500 13px/1.5 var(--body)!important}
#toasts{bottom:calc(158px + env(safe-area-inset-bottom,0px))!important;max-height:calc(100% - 220px)!important;gap:6px!important}.tt{background:#eee5d3!important;color:var(--sepia)!important;border:1px solid var(--line)!important;border-radius:9px!important;box-shadow:0 4px 14px rgba(0,0,0,.18)!important}.tt.note .nb{font-size:13px!important}.tt.note .nb small{font-size:12px!important;line-height:1.5!important}.rl{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:8px!important;transform:translateX(-50%)!important}.rl p{font:400 13px/1.5 var(--body)!important}
.page.ug{background:#222d38!important;color:var(--paper)!important;padding:14px!important;max-width:460px!important}.uhead{border-color:rgba(238,229,211,.15)!important}.ufl b{color:var(--paper)!important}.ubadge{background:#e0c391!important;color:#252e36!important}.uoil{background:#2d3844!important;border:1px solid rgba(238,229,211,.17)!important;border-radius:8px!important}.ubar i{background:#dfa54b!important}.umsg{font:400 13px/1.5 var(--body)!important;color:#e3dfd4!important;min-height:38px!important}.ugrid2{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}.page .ut{aspect-ratio:1!important;min-height:0!important;padding:0!important;border-radius:7px!important;width:100%!important;box-shadow:none!important}.ut.d{background:#19232e!important;border:1px solid rgba(238,229,211,.08)!important}.ut.d.f{background:#34404b!important;border:1.5px dashed #d3c5a3!important;box-shadow:none!important}.ut.r{background:#8b8c7d!important;border:1px solid rgba(20,26,31,.28)!important;color:#202b33!important}.ut.r.act{background:#dfb168!important;border-color:#f0ca80!important}.ut.k-hazard{background:#97594c!important;color:#fff0dc!important}.ut .ub{font-size:22px!important}.ucarry{background:#283440!important;border:1px solid rgba(238,229,211,.12)!important;border-radius:7px!important;padding:9px!important;color:var(--paper)!important;font:500 12px/1.5 var(--body)!important}.page.ug .uexit{background:var(--paper)!important;color:var(--sepia)!important;margin-top:12px!important;min-height:48px!important}.page.ug .uexit small{font-size:11px!important;color:var(--sepia-2)!important}
@media(max-width:380px){header{padding:8px 8px 0!important}.mc .top{font-size:12px!important}.mc i{font-size:9px!important}#pfBtn,#setBtn{width:32px!important}.tabs{left:94px!important;right:8px!important}.tab{font-size:10px!important}.tab svg{width:21px!important}#lamp{left:8px!important;width:76px!important}#skills{left:94px!important}.page{padding:16px!important}.svp .svhero{grid-template-columns:104px minmax(0,1fr)!important;gap:12px!important}.svhero .pf{width:104px!important}.svhero h3{font-size:22px!important}.sh-body{padding:12px!important}}
@media(max-height:700px){#skills{bottom:calc(91px + env(safe-area-inset-bottom,0px))!important}.sk small{display:none!important}.page{max-height:calc(100dvh - 20px)!important}#modal{padding:10px!important}.talk .who .av{width:54px!important;height:63px!important}.talk p{font-size:16px!important;margin-bottom:16px!important}.svp .svhero{grid-template-columns:92px minmax(0,1fr)!important}.svhero .pf{width:92px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Atlas portraits fit their native containers without inherited circular crops. */
.svrow{grid-template-columns:54px minmax(0,1fr) auto!important}.svrow.kid{grid-template-columns:54px minmax(0,1fr)!important}.svrow .fc svg.illustrated-portrait{display:block;width:100%!important;height:100%!important;margin:0!important}.svhero .pf svg.illustrated-portrait{display:block;width:100%!important;height:auto!important;margin:0!important}
/* Keep disabled underground cells dark; generic form buttons must not win. */
.page.ug .ut.d,.page.ug .ut.d:disabled{background:#19232e!important;border:1px solid rgba(238,229,211,.08)!important;color:#b6c1c9!important;opacity:1!important}
.page.ug .ut.d.f{background:#34404b!important;border:1.5px dashed #d3c5a3!important}
.page.ug .ut.r,.page.ug .ut.r:disabled{background:#8b8c7d!important;border:1px solid rgba(20,26,31,.28)!important;color:#202b33!important;opacity:1!important}
.page.ug .ut.r.act{background:#dfb168!important;border-color:#f0ca80!important}
.page.ug .ut.k-hazard{background:#97594c!important;color:#fff0dc!important}
.page.ug .ut.d::before{display:none!important}
.page.ug .umsg{background:#2b3742!important;border:1px solid rgba(238,229,211,.1)!important;border-radius:7px!important;box-shadow:none!important;text-shadow:none!important}
.page.ug .umsg.warn{background:#563c39!important;border-color:#ab5145!important}
.page.ug .ugrid2{background:#1c2630!important;border:0!important;border-radius:8px!important;box-shadow:none!important}
.page.ug .ugrid2::after{display:none!important}
.page.svp .pfo{border-radius:7px!important;min-height:38px!important;padding:8px 10px!important;background:transparent!important;border:1px solid var(--line)!important;color:var(--sepia-2)!important}
.page.svp .pfo.on{background:#edd6a6!important;color:var(--sepia)!important;border-color:#b58b49!important}
.page.svp .duty.dchip{border-radius:7px!important;min-height:38px!important;padding:8px 10px!important;background:transparent!important;border:1px solid var(--line)!important;color:var(--sepia-2)!important}
.page.svp .duty.dchip.on{background:#edd6a6!important;color:var(--sepia)!important;border-color:#b58b49!important}
/* One bundled Korean font across controls and reading panels. */
:root{--serif:"TTC Sans","Noto Sans KR",system-ui,-apple-system,sans-serif;--pen:"TTC Sans","Noto Sans KR",system-ui,-apple-system,sans-serif}
.bat{font:600 14px/1.4 var(--body)!important}
.page.ug .ufl b{font:700 19px/1.2 var(--body)!important}

/* Finishing pass: atmospheric art is separate from interactive content. */
.scene-art{display:block;width:100%;height:88px;overflow:hidden;background:#35404a;border-radius:7px;flex:none}
.exp-scene{height:86px;margin:0 0 12px}.exp .top{gap:8px;align-items:flex-start}.exp .top b{min-width:0}.exp .meta{flex:none;max-width:45%;text-align:right}
.story-scene{height:116px;margin:0 0 16px}.talk .chcard{margin-bottom:16px!important}.talk .who .av{border-radius:8px!important;overflow:hidden}.talk .who .av svg.illustrated-portrait{width:100%!important;height:100%!important;margin:0!important}
.page.ug .ug-scene{height:62px;margin:8px 0;opacity:.9}.page.ug .udep{margin-bottom:6px}.page.ug .uoil{position:sticky;top:-14px;z-index:2}.page.ug .umsg{margin:8px 0!important}
.def-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.def-heading span{font-variant-numeric:tabular-nums;color:#f4d19a;flex:none}.def-waves{display:flex;gap:4px;margin:6px 0}.def-waves i{height:3px;flex:1;background:#56616a;border-radius:2px}.def-waves i.on{background:#e0b66c}#defBar[data-danger=true]{border-color:#e08e77!important;background:#433438!important}#defBar small{display:block;margin-top:5px;color:#e6d5c5;font-size:11px}
.ink-profile{border-radius:7px!important;overflow:hidden;filter:saturate(.78)}
.pfedit{grid-template-columns:96px minmax(0,1fr)!important;gap:14px!important;top:-14px!important;background:var(--paper)!important;padding:10px 0!important;border-bottom:1px solid var(--line)!important}
.pfprev svg{width:96px!important;box-shadow:none!important;border:1px solid var(--line)!important}.pfprev .buy{font-size:11px!important;min-height:36px!important;padding:6px!important}.pfbtns{gap:8px!important}.pfbtns .buy{width:100%;min-height:44px!important}
.pfrow{padding:10px 0;border-bottom:1px solid var(--line)}.pfl{font:600 12px/1.4 var(--body)!important;color:var(--sepia)!important}.pfopts{gap:6px!important}
.pfo{border:1px solid var(--line)!important;border-radius:7px!important;background:var(--surface)!important;color:var(--sepia)!important;min-height:40px!important;min-width:40px;padding:7px 9px!important;box-shadow:none!important;font:500 12px/1.35 var(--body)!important}
.pfo.on{border:2px solid #8f6b37!important;background:#ead6ae!important;color:#262f33!important}.pfo.lock{opacity:.58}.pfo.sw{padding:7px!important}.pfo.sw i{width:23px!important;height:23px!important;border:1px solid rgba(30,35,38,.35)!important;border-radius:50%}.pfo.on.sw{outline:1px solid #8f6b37;outline-offset:1px}.pfopts .pfo small{display:block;font-size:10px;line-height:1.4}
@media(max-width:360px){.story-scene{height:84px}.exp-scene{height:70px}.page.ug .ug-scene{height:42px}.pfedit{grid-template-columns:78px minmax(0,1fr)!important}.pfprev svg{width:78px!important}.pfrow{display:block!important}.pfopts{margin-top:7px}.def-heading{font-size:11px}.exp .meta{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.scene-art,.ink-profile{animation:none!important;transition:none!important}}

/* All underground zones share readable type and consistent tile targets. */
.page.ug.ugv2::before,.page.ug.ugv2 .umsg::before,.page.ug.ugv2 .ut::after{display:none!important}
.page.ug.ugv2 .ufl small,.page.ug.ugv2 .udep small{font-family:var(--body)!important;color:#c9cfc9!important;letter-spacing:0!important}
.page.ug.ugv2 .ufl b{text-shadow:none!important}
.page.ug.ugv2 .ubadge{clip-path:none;border-radius:7px!important;box-shadow:none;font-family:var(--body)!important}
.page.ug.ugv2 .ut{clip-path:none!important;border-radius:6px!important;filter:none!important}
.page.ug.ugv2 .ut.d:disabled{background:#24313e!important;border:1px solid #52606b!important}
.page.ug.ugv2 .ub{clip-path:none!important;border-radius:6px!important;box-shadow:none!important}
.page.ug.ugv2 .ugrid2{width:min(100%,280px);min-width:0;box-sizing:border-box}
.page.ug.ugv2 .udep{margin-top:6px;height:25px}
@media(max-height:700px){.page.ug.ugv2{margin-top:0!important;padding:10px!important}.page.ug.ugv2 .ugrid2{width:230px}.page.ug.ugv2 .ug-scene{height:36px;margin:5px 0}.page.ug.ugv2 .umsg{margin:5px 0!important}.page.ug.ugv2 .ucarry{margin:5px 0;padding:5px 8px!important}.page.ug.ugv2 .uexit{margin-top:6px!important}}

/* Playability pass: stable viewport and touch targets, without ornamental noise. */
#app{height:calc(var(--play-height,100dvh) - env(safe-area-inset-top,0px))!important}
#modal{max-height:var(--play-height,100dvh);box-sizing:border-box;padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important}
.page{max-height:calc(var(--play-height,100dvh) - 32px - env(safe-area-inset-bottom,0px))!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.sh-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:12px}
input,textarea,select{font-size:16px!important}
.zoom button{width:44px!important;height:44px!important}.zoom{gap:4px!important}
#pfBtn,#setBtn{min-width:40px!important;min-height:44px!important}.sh-head button,.page .mx{min-width:44px!important;min-height:44px!important}
#clock{max-width:calc(100% - 116px)!important}.zoom #ghost.on{background:#dfb168!important;color:#202932!important;border-color:#f3dbad!important}
.controls dl{margin:14px 0 20px}.controls dt{font-weight:700;margin-top:14px;font-size:14px}.controls dd{margin:5px 0 0;font-size:13px;line-height:1.65;color:var(--sepia-2)}.controls>button:last-child{width:100%}
.talk-progress{height:3px;margin:14px 0 0;background:#d8d1c4;border-radius:3px;overflow:hidden}.talk-progress i{display:block;height:100%;background:#9f783f}
.talk .tfoot{position:sticky;bottom:-20px;background:var(--paper);padding-bottom:8px!important}.talk .tfoot>[data-act=talk]{min-width:90px;margin-left:auto}
.talk .who,.talk>p{animation:line-arrive .18s ease-out both}.chapter-opening .story-scene{animation:scene-arrive .32s ease-out both}
@keyframes line-arrive{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes scene-arrive{from{opacity:.4}to{opacity:1}}
@media(max-height:700px){.talk .tfoot{bottom:-16px}.page{max-height:calc(var(--play-height,100dvh) - 20px - env(safe-area-inset-bottom,0px))!important}}
@media(prefers-reduced-motion:reduce){.talk .who,.talk>p,.chapter-opening .story-scene{animation:none!important}}

/* Achievement rows must include their padding within the panel width. */
.achrow{box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto}.achrow small{overflow-wrap:anywhere}

/* Unified field notebook: three surfaces, one action hierarchy. */
:root{--paper:#e7e4dc;--surface:#faf8f1;--sepia:#26333b;--sepia-2:#606b70;--line:rgba(38,51,59,.14)}
.sh-body{background:var(--paper)!important;padding:14px 14px 20px!important}.sh-head{padding:12px 14px!important}
.segs{background:#dce0dc!important;border:0!important;padding:4px!important;margin-bottom:16px!important}.seg.on,.page .seg.on{background:var(--surface)!important;box-shadow:none!important;color:#22323b!important}.seg:not(.on){color:#5c696e!important}
.buy{background:#334954!important;color:#f8f5e9!important;border-color:#334954!important;border-radius:7px!important;box-shadow:none!important;min-height:44px!important;font-weight:700!important}
.buy.ghost{background:transparent!important;color:#334954!important;border-color:#aab3b0!important}
.buy:disabled{background:#dce0da!important;border-color:#c9cfca!important;color:#727b7c!important}
.page button{background:#334954!important;color:#f8f5e9!important;border-color:#334954!important}.page button.alt{background:transparent!important;color:#334954!important;border-color:#aab3b0!important}
.page .tfoot [data-act=talk],.row.mcard.hero>.buy,.page [data-act=xgo],.page [data-act=uggo]{background:#d9a34e!important;color:#243039!important;border-color:#c68e38!important}
.row.mcard{box-sizing:border-box!important;grid-template-columns:78px minmax(0,1fr) 64px!important;gap:10px!important;padding:12px 10px!important;margin:0 0 9px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--surface)!important;box-shadow:none!important;min-height:116px}
.row.mcard .cb{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-width:0!important}
.row.mcard .th{width:78px!important;height:88px!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.row.mcard .th img{width:100%!important;height:100%!important;object-fit:contain!important;max-width:none!important;max-height:none!important}
.row.mcard .t{font:700 15px/1.4 var(--body)!important;gap:3px 5px!important}.row.mcard .t small{display:block;width:100%;color:var(--sepia-2);font-size:11px!important}.row.mcard .d{font:400 12px/1.5 var(--body)!important;margin-top:4px!important}.row.mcard .costs{gap:3px!important;margin-top:7px!important}.row.mcard .cost{padding:3px 5px!important;border:0!important;background:#edf0e9!important;color:#4b5d63!important}.row.mcard .cost.no{color:#9a483d!important;background:#f0dfd7!important}
.row.mcard>.buy{padding:9px 6px!important;font-size:12px!important;min-width:0!important;align-self:center}.row.mcard>.buy small{font-size:10px!important;white-space:normal}.row.mcard .newtag{background:none!important;color:#58716a!important;border:0!important;padding:0!important;font:500 10px var(--body)!important}
.row.mcard.hero{background:#faf4e7!important;border-left:3px solid #c7974e!important}.row.mcard.more{background:transparent!important;border-style:dashed!important}.row.mcard.locked{background:#e0e2db!important}.row.mcard.locked .th{opacity:.5}.row.mcard .done{color:#5d7069!important;background:none!important}
.sumchips{gap:5px!important}.sumchips>span{background:none!important;border:0!important;padding:2px 3px!important;color:#64716f!important}.sumchips>span b{color:#33434a!important}
.mc.full{box-shadow:none!important}.mc .top{color:#e9e9df!important}.tab.on{background:#35434a!important;color:#f1debb!important;box-shadow:inset 0 -2px #c89d5c!important}
.fchip.on{background:#334954!important;color:#faf7ec!important;border-color:#334954!important}.fchip{min-height:40px!important;font-size:11px!important}
.svrow.resident-row{grid-template-columns:62px minmax(0,1fr) auto!important;padding:12px 0!important;gap:12px!important;min-height:99px;box-sizing:border-box}.resident-row .fc{width:62px!important;height:74px!important;border-radius:6px!important;border-color:#bcc4bd!important;box-shadow:none!important}.resident-row .mid b{font-size:16px!important;line-height:1.4!important}.resident-row .resident-role{margin:4px 0!important;font-size:12px!important}.resident-status{display:block;font:500 11px/1.45 var(--body);color:#536960;white-space:normal}.resident-status.injured{color:#9b5347}.resident-side{display:flex;align-items:center;gap:7px}.resident-arrow{font:300 26px var(--body);color:#8c999a}.ready-label{font:600 10px var(--body);padding:5px 6px;border:1px solid #b7c6bc;color:#4e6a5b;border-radius:4px;background:#e7ede3}
.surv-tools,.svtools{gap:6px!important}.svt{background:transparent!important;border:1px solid #b9c2bc!important;border-radius:6px!important;box-shadow:none!important}
.exp{background:var(--surface)!important;padding:12px!important;border-radius:9px!important;box-shadow:none!important;margin-bottom:10px!important}.exp .top b{font-size:15px!important}.exp .meta{font-size:11px!important;color:#687574!important}.exp .srow{margin-top:10px!important}.exp .srow .buy{padding:9px 12px!important}
.autobox{background:#dce4de!important;border:1px solid #b9c8bd!important;border-radius:8px!important;box-shadow:none!important}.autobox b{color:#354d44!important}.ugc .ugzones span{background:#e4e8df!important;border:0!important;color:#4d635a!important}.ugc .ugzones span b{color:#334b41!important}
.pfcard{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:9px!important;box-shadow:none!important}.pfcard .pfid small{color:#68766e!important}.pfstats>div,.stiles>div{background:var(--surface)!important;border-radius:7px!important;border:1px solid var(--line)!important}
.talk .who .av{width:84px!important;height:98px!important}.talk p{font-size:16px!important;line-height:1.85!important}.talk .tfoot{background:var(--paper)!important}.story-scene{height:auto!important;aspect-ratio:3/1}.exp-scene{height:auto!important;aspect-ratio:3/1;margin-bottom:11px!important}.page.ug .ug-scene{height:auto!important;aspect-ratio:3/1;max-height:78px}
@media(max-width:360px){.sh-body{padding:12px 10px 18px!important}.row.mcard{grid-template-columns:64px minmax(0,1fr) 57px!important;gap:8px!important;padding:10px 8px!important;min-height:111px}.row.mcard .th{width:64px!important;height:78px!important}.row.mcard .t{font-size:14px!important}.row.mcard .d{font-size:11px!important}.row.mcard>.buy{font-size:11px!important}.svrow.resident-row{grid-template-columns:54px minmax(0,1fr) auto!important;gap:10px!important}.resident-row .fc{width:54px!important;height:64px!important}.resident-side{flex-direction:column;gap:3px}.talk .who .av{width:66px!important;height:77px!important}.ready-label{font-size:9px;padding:4px}.page.ug .ug-scene{max-height:46px}}

.sh-head #shIcon{background:#35434a!important;border-radius:7px!important}.resident-row .mid small{white-space:normal!important}.pfedit{border-bottom-color:#bdc7c0!important}.pfo.on{background:#d9e3db!important;border-color:#5d7667!important;color:#2e4438!important}.pfo.on.sw{outline-color:#5d7667!important}.page.svp .pfo.on{background:#d9e3db!important;border-color:#5d7667!important}
.row.mcard .cbwrap{min-width:0!important;width:100%;gap:5px!important}.row.mcard .cbwrap>.buy{min-width:0!important;width:100%;padding:9px 4px!important;font-size:11px!important;white-space:normal!important}.row.mcard .cbwrap .acr{min-width:0!important;width:100%;padding:5px 2px!important;font-size:10px!important}
.sh-body{overflow-x:hidden!important}.empty{box-sizing:border-box;max-width:100%}
.row.mcard>.lbadge{min-width:0!important;max-width:100%;box-sizing:border-box;white-space:normal!important;overflow-wrap:anywhere;font:500 10px/1.5 var(--body)!important;padding:5px!important;text-align:center}

/* Portrait studio: persistent preview, focused categories and visual choices. */
.pfstudio{position:sticky;top:-14px;z-index:3;background:var(--paper);padding:10px 0 0;margin-top:-4px;border-bottom:1px solid #bcc8c0}
.pfstudio-head{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:center;padding:0 2px 12px}
.pfstudio-portrait{padding:4px;background:#faf8f1;border:1px solid #b7bbae;border-radius:9px;box-shadow:0 3px 8px #28352b12}
.pfstudio-portrait svg{display:block;width:100%;height:auto;border-radius:5px}
.pfstudio-actions{min-width:0;display:flex;flex-direction:column;gap:5px}
.pfstudio-actions>small{font-size:10px;color:#68736b;letter-spacing:.08em}.pfstudio-actions>b{font-size:17px;color:#2d393c}.pf-save-state{font-size:11px;line-height:1.5;color:#626e66}
.pfstudio-tools{display:flex;gap:6px;margin-top:3px}.pfstudio-tools .buy{flex:1;min-width:0;min-height:36px!important;padding:5px!important;font-size:11px!important}.pfstudio-actions .pf-save{min-height:40px!important;width:100%;background:#3e5c4c!important;color:#fffdf5!important;font-size:12px!important}
.pf-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:0 0 7px}.pf-categories button{font:600 12px/1.3 var(--body);min-height:42px;padding:7px 2px;border:1px solid transparent;border-radius:7px;background:transparent;color:#67726b;cursor:pointer}.pf-categories button.on{background:#fdfbf5;border-color:#a4b5a9;color:#314d3c;box-shadow:0 1px 2px #28352b0b}
.pf-category-hint{font-size:11px;line-height:1.6;color:#68736b;margin:14px 0 16px}.pf-option-section{margin-bottom:22px}.pf-option-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:9px}.pf-option-heading b{font-size:13px;color:#354239}.pf-option-heading>span{font-size:11px;color:#667668}
.pf-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pf-choice{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:44px;padding:5px 4px 7px;border:1px solid #c5ccc3;border-radius:8px;background:#f8f7f0;color:#3a453f;font:500 11px/1.4 var(--body);cursor:pointer;overflow:hidden}.pf-choice-art{display:flex;align-items:center;justify-content:center;width:100%;height:70px;margin-bottom:5px;border-radius:4px;overflow:hidden;background:#eae8dc}.pf-choice-art svg{width:100%;height:100%;display:block}.pf-choice-art svg g[filter]{filter:none}.pf-choice-art img{width:100%;height:100%;object-fit:contain}.pf-choice-name{overflow-wrap:anywhere}.pf-choice.on{border-color:#52745d;box-shadow:inset 0 0 0 1px #52745d;background:#e3ebe1;color:#284a34}.pf-chosen{position:absolute;top:4px;right:4px;background:#46664f;color:#fff;border:2px solid #faf8f1;width:19px;height:19px;border-radius:50%;font:700 11px/15px var(--body);box-sizing:border-box}.pf-choice.locked{background:#eeeee6;color:#72786f}.pf-choice.locked .pf-choice-art{opacity:.55}.pf-lock{font-size:9px;line-height:1.4;margin-top:4px;color:#737b71}.pf-lock:before{content:'잠김 · '}.pf-none{font-size:25px;color:#778377}
.pf-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}.pf-swatches .pf-choice-art{background:transparent;height:32px;margin:3px 0 5px}.pf-color{display:block;width:30px;height:30px;border-radius:50%;border:1px solid #0002;box-shadow:inset 0 0 0 2px #ffffff40}.pf-swatches .pf-chosen{top:3px;right:3px;width:16px;height:16px;font-size:9px;line-height:12px}.pfstudio button:focus-visible,.pf-choice:focus-visible{outline:2px solid #3e6650;outline-offset:2px}.pfstudio-tools button:disabled{opacity:.4;cursor:default}
@media(max-width:360px){.pfstudio-head{grid-template-columns:84px minmax(0,1fr);gap:12px}.pfstudio-actions>b{font-size:15px}.pf-save-state{font-size:10px}.pf-choice-grid{gap:6px}.pf-choice-art{height:61px}.pf-choice{font-size:10px}.pf-categories button{font-size:11px}.pfstudio-actions{gap:4px}}
@media(max-height:560px){.pfstudio{position:relative;top:auto}}

@media(max-height:700px){.pfstudio-head{grid-template-columns:68px minmax(0,1fr);padding-bottom:8px}.pfstudio-actions>small,.pfstudio-actions>b{display:none}.pfstudio-actions{gap:3px}.pfstudio-tools{margin-top:0}.pfstudio-tools .buy{min-height:30px!important}.pfstudio-actions .pf-save{min-height:34px!important}.pf-categories button{min-height:38px}.pf-category-hint{margin:10px 0;font-size:10px}}

/* Finished illustrated portraits replace the player's facial-part editor. */
.pf-anonymous .pfstudio-head{grid-template-columns:84px minmax(0,1fr);gap:14px}.pf-anonymous .pfstudio-actions>b{font-size:15px}.pf-portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 0 16px}.pf-portrait-grid .pf-choice{padding:6px 6px 10px}.pf-portrait-grid .pf-choice-art{height:178px;margin-bottom:8px;background:#e9e1cf}.pf-portrait-grid .pf-choice-art svg{width:100%;height:100%}.pf-portrait-grid .pf-choice-name{font-size:12px}.pf-portrait-grid .pf-choice>small{font-size:10px;color:#687369;margin-top:3px}.pf-portrait-grid .pf-chosen{width:23px;height:23px;line-height:19px;font-size:13px;top:9px;right:9px}.pfav:has(.anonymous-profile){aspect-ratio:2/3;background:#e8dfcb}.pfav .anonymous-profile{height:100%;width:100%}#pfBtn .anonymous-profile{width:100%;height:100%;margin:0}.pfsetup .pfq:has(.anonymous-profile){width:100px}.talk .who .anonymous-profile{height:100%;width:100%}
@media(max-width:360px){.pf-portrait-grid{gap:9px}.pf-portrait-grid .pf-choice-art{height:150px}.pf-portrait-grid .pf-choice-name{font-size:11px}.pf-portrait-grid .pf-choice>small{font-size:9px}}
@media(max-height:700px){.pf-anonymous .pfstudio-head{grid-template-columns:62px minmax(0,1fr)}.pf-anonymous .pfstudio-actions>b{display:block;font-size:12px}.pf-anonymous .pfstudio-actions>small{display:none}}
