@font-face{font-family:Worksheet Noto;src:url(../assets/fonts/NotoSansKR-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Worksheet Noto;src:url(../assets/fonts/NotoSansKR-Bold.ttf) format("truetype");font-weight:700;font-display:swap}.classroom-shell,.classroom-page{font-family:Pretendard,Arial,sans-serif;color:#17263c;background:#f7f8fa;line-height:1.6;font-size:16px;box-sizing:border-box}.classroom-shell{min-height:100dvh;padding:40px 20px;overflow:auto;position:fixed;inset:0}.classroom-entry{max-width:480px;margin:auto;background:#fff;padding:32px;border:1px solid #c9d0d9}.classroom-page{position:fixed;inset:0;overflow:auto;padding:32px max(24px,calc((100vw - 1080px)/2));z-index:100}.classroom-page h1,.classroom-entry h1{font-size:30px;color:#17263c;margin:8px 0 18px;font-family:Worksheet Noto,sans-serif}.classroom-page h2,.classroom-entry h2{font-family:inherit;font-size:22px;color:#17263c;margin:0 0 14px}.classroom-page h3{color:#17263c}.classroom-page p,.classroom-entry p{margin:12px 0}.classroom-page section{padding:24px 0;border-top:1px solid #b7c0cc;margin-top:24px}.classroom-page label,.classroom-entry label{display:block;margin:12px 0;font-weight:600;color:#17263c}.classroom-page input,.classroom-page select,.classroom-page textarea,.classroom-entry input{display:block;width:100%;box-sizing:border-box;border:1px solid #6c7989;border-radius:4px;background:#fff;color:#17263c;padding:10px 12px;font:inherit;min-height:44px;margin-top:6px}.classroom-page textarea{resize:vertical;line-height:1.6}.classroom-page select{width:auto;max-width:100%}.classroom-page button,.classroom-entry button,.classroom-return button,button.classroom-return{border:1px solid #4a5b73;border-radius:4px;padding:10px 16px;background:#fff;color:#17263c;font:600 15px Pretendard,sans-serif;min-height:44px;cursor:pointer}.classroom-page button:hover,.classroom-entry button:hover{background:#e9eef4}.classroom-page button.primary,.classroom-entry button.primary,.classroom-tabs button[aria-pressed=true]{background:#172e50;color:#fff}.classroom-entry form>.primary{width:100%;margin-top:12px}.classroom-page button:disabled,.classroom-entry button:disabled{opacity:.55;cursor:wait}.classroom-page :focus-visible,.classroom-entry :focus-visible{outline:3px solid #275ca0;outline-offset:3px}.classroom-tabs,.classroom-actions,.classroom-header,.classroom-stats{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.classroom-header{justify-content:space-between;align-items:flex-start}.classroom-tabs button{flex:1}.classroom-stats{gap:32px;margin:22px 0}.classroom-stats b{display:block;font-size:24px}.class-code strong{font-size:28px;letter-spacing:3px}.classroom-caption,.classroom-page small{color:#48566a;font-size:13px}.classroom-entry .radio-line,.classroom-page .radio-line{display:flex;align-items:flex-start;gap:10px;font-weight:400}.classroom-entry .radio-line input,.classroom-page .radio-line input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin-top:4px;accent-color:#172e50}.classroom-entry details{margin:24px 0;font-size:14px}.classroom-entry summary{cursor:pointer;font-weight:700}.classroom-eyebrow{font-weight:700;font-size:13px}.classroom-entry .guest-link{width:100%}.form-message{white-space:pre-wrap;min-height:26px;font-weight:600;color:#213a5c;overflow-wrap:anywhere}.classroom-return{position:fixed;left:50%;transform:translate(-50%);top:42px;z-index:65;display:flex;gap:8px;align-items:center;background:#fff;color:#17263c;padding:4px;border-radius:4px;box-shadow:0 2px 8px #0003;font:13px Pretendard,sans-serif;max-width:65vw}.classroom-return span{max-width:200px}.game-root.modal-open~.classroom-return{display:none}.classroom-table{overflow-x:auto;margin-top:20px}.classroom-table table{width:100%;border-collapse:collapse;background:#fff;white-space:nowrap}.classroom-table th,.classroom-table td{border:1px solid #c1c7d0;padding:10px;text-align:left}.classroom-table th{background:#e9edf2}.classroom-table caption{text-align:left;font-weight:700;margin-bottom:10px}.class-create{max-width:600px;padding:24px 0}.student-answer{white-space:pre-wrap;background:#fff;padding:16px;overflow-wrap:anywhere}.student-detail li{margin:8px 0;overflow-wrap:anywhere}.worksheet-web{font-family:Worksheet Noto,sans-serif;background:#fff;line-height:1.6;font-size:11pt;padding-left:max(24px,calc((100vw - 800px)/2));padding-right:max(24px,calc((100vw - 800px)/2))}.worksheet-web h1{font-size:18pt}.worksheet-web h2{font-size:14pt}.worksheet-web section{margin-top:9mm;padding-top:9mm}.worksheet-web h2 small{font-size:10pt;margin-left:12px}.worksheet-web textarea{min-height:40mm}.worksheet-web #ws-extension{min-height:24mm}.worksheet-web label b{white-space:pre-line}.worksheet-web blockquote{margin:16px 0;padding:12px;border-left:3px solid #17263c;background:#f2f3f5}.worksheet-web fieldset{border:0;padding:0;margin:9mm 0 0}.worksheet-web footer{font-size:9pt}.worksheet-web a{color:#193d6c}.worksheet-web .glossary{font-size:10pt}@media(max-width:600px){.classroom-shell{padding:14px}.classroom-entry{padding:22px}.classroom-page{padding:20px 16px}.classroom-page h1{font-size:25px}.classroom-return span{display:none}.classroom-stats{gap:18px}.classroom-header .classroom-actions{margin-bottom:16px}}:root{--ink: #17140f;--ink-soft: #241f18;--panel: rgba(28, 24, 18, .92);--panel-solid: #1f1a14;--brass: #c9a24b;--brass-dim: #8d7134;--paper: #efe6d2;--paper-dim: #c7bda6;--line: rgba(201, 162, 75, .38);--danger: #b5452f;--ok: #6f8f4f;--info: #5d84a6;--radius: 10px;--shadow: 0 6px 22px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:#0d0b08;color:var(--paper);font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.game-root{position:relative;height:100%;width:100%}.world-layer{position:absolute;inset:0;z-index:0}.world-layer canvas{width:100%;height:100%}.hud{position:absolute;inset:0;z-index:10;pointer-events:none}.hud>*{pointer-events:auto}.game-root.modal-open .npc-label,.game-root.modal-open .building-label{opacity:0!important;visibility:hidden}.frame{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(3px)}.portrait-bar{position:absolute;top:12px;left:12px;display:flex;gap:10px;padding:10px;min-width:268px}.portrait{width:62px;height:62px;flex:none;border-radius:8px;border:2px solid var(--brass-dim);background:linear-gradient(160deg,#3a3228,#201a14);display:grid;place-items:center;font-size:30px}.status-stack{flex:1;display:flex;flex-direction:column;gap:5px;justify-content:center}.status-name{font-size:13px;font-weight:700;color:var(--brass);letter-spacing:.02em}.meter{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--paper-dim)}.meter-label{width:62px;flex:none}.meter-track{flex:1;height:9px;border-radius:5px;background:#0000008c;border:1px solid rgba(0,0,0,.6);overflow:hidden}.meter-fill{height:100%;border-radius:4px;transition:width .26s ease}.meter-fill.prestige{background:linear-gradient(90deg,#4a7fa8,#7fb3d5)}.meter-fill.unity{background:linear-gradient(90deg,#5c8a52,#8fbb7a)}.meter-fill.heat{background:linear-gradient(90deg,#8a3a2a,#c9603f)}.meter-value{width:30px;text-align:right;flex:none;font-variant-numeric:tabular-nums}.situation{position:absolute;top:12px;right:12px;width:232px;padding:11px 13px}.situation-place{font-size:16.5px;font-weight:700;color:var(--brass)}.situation-period{font-size:12px;color:var(--paper-dim);margin-top:1px}.situation-act{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:13.5px;font-weight:600}.situation-objective{font-size:13px;color:var(--paper-dim);margin-top:5px}.situation-progress{margin-top:9px;font-size:12px;color:var(--paper-dim)}.tool-rail{position:absolute;top:168px;right:14px;display:flex;flex-direction:column;gap:8px}.tool-button{width:46px;height:46px;border-radius:50%;border:2px solid var(--brass-dim);background:radial-gradient(circle at 34% 28%,#4a4034,#211c15);display:grid;place-items:center;font-size:19px;box-shadow:var(--shadow);transition:transform .14s ease,border-color .14s ease;position:relative}.tool-button:hover{transform:translateY(-2px);border-color:var(--brass)}.tool-button[aria-pressed=true]{border-color:var(--brass);background:radial-gradient(circle at 34% 28%,#6a5a3e,#322a1c)}.tool-button .badge-dot{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.bottom-bar{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:226px 1fr 300px;gap:10px;align-items:end}.resource-box{padding:9px 11px;display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}.resource-row{display:flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap}.resource-row .icon{font-size:13px}.resource-row .value{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.log-box{padding:9px 13px;max-height:84px;overflow:hidden}.log-line{font-size:13.5px;color:var(--paper-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-line:first-child{color:var(--paper)}.slot-box{padding:9px}.slot-row{display:flex;gap:6px}.slot{width:38px;height:38px;border-radius:7px;border:1px solid var(--line);background:#0000006b;display:grid;place-items:center;font-size:18px}.slot.empty{opacity:.32}.date-strip{margin-top:8px;padding:6px 8px;border-radius:6px;background:#0000006b;border:1px solid var(--line);font-size:13.5px;text-align:center;color:var(--brass);font-variant-numeric:tabular-nums}.npc-label{text-align:center;pointer-events:none;user-select:none}.npc-name{display:inline-block;padding:1px 7px;border-radius:4px;background:#100d09d1;border:1px solid var(--line);color:#f0e3bf;font-size:13px;font-weight:700;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.9)}.npc-bubble{display:inline-block;max-width:250px;margin-bottom:5px;padding:5px 10px;border-radius:9px;background:#f0e8d4f5;color:#241f18;font-size:13px;line-height:1.45;box-shadow:0 2px 8px #0006}.dialogue{position:absolute;z-index:14;left:50%;bottom:118px;transform:translate(-50%);width:min(760px,calc(100vw - 48px));padding:15px 18px}.dialogue-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.dialogue-avatar{width:44px;height:44px;flex:none;border-radius:8px;border:2px solid var(--brass-dim);display:grid;place-items:center;font-size:21px}.dialogue-name{font-weight:700;font-size:16px;color:var(--brass)}.dialogue-role{font-size:12.5px;color:var(--paper-dim)}.dialogue-body{font-size:15.5px}.dialogue-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn{padding:8px 15px;border-radius:7px;border:1px solid var(--brass-dim);background:linear-gradient(180deg,#3b3225,#241e16);color:var(--paper);font-size:14.5px;font-weight:600;transition:border-color .14s ease,transform .1s ease}.btn:hover:not(:disabled){border-color:var(--brass);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,#6d5827,#443617);border-color:var(--brass)}.btn.ghost{background:transparent}.btn.small{padding:6px 12px;font-size:13px}.quest-overlay{position:absolute;inset:0;z-index:15;background:#080705b8;display:grid;place-items:center;padding:22px;overflow:auto}.quest-sheet{width:min(880px,100%);max-height:calc(100vh - 44px);overflow-y:auto;padding:20px 24px 24px;background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.quest-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;color:var(--paper-dim)}.tag{padding:3px 9px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;white-space:nowrap}.tag.diplomacy{color:#9cc2dc;border-color:#45657a}.tag.military{color:#bdc99a;border-color:#616b45}.tag.finance{color:#dcc48f;border-color:#7a653a}.tag.propaganda{color:#d8ae9e;border-color:#7a5548}.tag.unity{color:#c2b0d4;border-color:#5f5271}.quest-title{font-size:23px;font-weight:700;margin:6px 0 2px;color:var(--brass)}.quest-brief{font-size:15.5px;color:var(--paper-dim);margin:10px 0 16px}.quest-question{font-size:18.5px;font-weight:700;margin-bottom:12px;line-height:1.55}.choices{display:grid;gap:8px}.choice{display:flex;gap:10px;width:100%;padding:11px 13px;text-align:left;border-radius:8px;border:1px solid var(--line);background:#0000004d;transition:border-color .14s ease,background .14s ease}.choice:hover:not(:disabled){border-color:var(--brass);background:#c9a24b14}.choice[data-picked=true]{border-color:var(--brass);background:#c9a24b26}.choice[data-verdict=right]{border-color:var(--ok);background:#6f8f4f2e}.choice[data-verdict=wrong]{border-color:var(--danger);background:#b5452f29}.choice-mark{width:24px;height:24px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700}.choice-label{display:block;font-size:15px;line-height:1.6}.choice-cost{display:block;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);font-size:13.5px;line-height:1.65;color:var(--paper-dim)}.quest-result{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.verdict{font-size:16.5px;font-weight:700;margin-bottom:8px}.verdict.right{color:var(--ok)}.verdict.wrong{color:var(--danger)}.debrief{font-size:15.5px}.gain-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.gain{padding:3px 9px;border-radius:999px;font-size:11.5px;border:1px solid var(--line);background:#0000004d}.gain.up{color:#a8c98c}.gain.down{color:#d99680}.source-card{margin-top:12px;border:1px solid var(--line);border-radius:9px;background:#efe6d20e;overflow:hidden}.source-head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 13px;background:#00000042;border:0;text-align:left}.source-kind{padding:1px 7px;border-radius:4px;font-size:10.5px;background:var(--brass-dim);color:#16120b;font-weight:700}.source-title{font-size:13.5px;font-weight:700;flex:1}.source-body{padding:12px 14px;display:grid;gap:10px}.source-original{white-space:pre-wrap;padding:10px 12px;border-left:3px solid var(--brass-dim);background:#0000004d;border-radius:0 6px 6px 0;font-size:14.5px;line-height:1.9;color:#e6dcc4}.source-interp{font-size:14.5px}.source-cite{font-size:12.5px;color:var(--paper-dim);padding-top:8px;border-top:1px dashed var(--line)}.source-note{font-size:12.5px;color:#c6a878}.caveat{margin-top:12px;padding:11px 13px;border-radius:7px;font-size:13.5px;border:1px solid rgba(201,162,75,.45);background:#c9a24b17;color:#e3cb96}.panel{position:absolute;z-index:13;top:168px;right:72px;width:min(390px,calc(100vw - 100px));max-height:calc(100vh - 300px);display:flex;flex-direction:column;overflow:hidden}.panel-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line)}.panel-title{font-weight:700;color:var(--brass);flex:1}.panel-body{padding:12px 14px;overflow-y:auto}.list-item{display:block;width:100%;text-align:left;padding:9px 11px;border-radius:7px;border:1px solid transparent;background:#0000003d;margin-bottom:7px}.list-item:hover{border-color:var(--line)}.list-item[data-done=true]{opacity:.6}.list-item[data-locked=true]{opacity:.42;cursor:not-allowed}.list-title{font-size:14.5px;font-weight:700}.list-sub{font-size:12.8px;color:var(--paper-dim);margin-top:2px}.timeline-entry{padding:8px 0 8px 14px;border-left:2px solid var(--line);position:relative}.timeline-entry:before{content:"";position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--brass-dim)}.timeline-date{font-size:11px;color:var(--brass);font-weight:700}.timeline-title{font-size:14.5px;font-weight:700}.timeline-detail{font-size:13.5px;color:var(--paper-dim)}.timeline-note{font-size:11px;color:#a89170;margin-top:3px}.intro{position:absolute;inset:0;overflow-y:auto;background:radial-gradient(1100px 620px at 50% -12%,rgba(201,162,75,.13),transparent 62%),linear-gradient(180deg,#14110c,#0a0907);display:grid;place-items:center;padding:34px 22px}.intro-card{width:min(760px,100%);text-align:center}.intro-kicker{font-size:12.5px;letter-spacing:.3em;color:var(--brass-dim)}.intro-title{font-size:clamp(30px,6vw,50px);font-weight:800;margin:12px 0 6px;color:var(--paper)}.intro-sub{font-size:16.5px;color:var(--paper-dim)}.intro-lead{margin:22px auto 0;max-width:650px;font-size:16px;text-align:left}.level-picker{display:flex;gap:10px;justify-content:center;margin:24px 0 14px;flex-wrap:wrap}.level-card{flex:1 1 240px;max-width:300px;padding:14px 16px;text-align:left;border-radius:10px;border:1px solid var(--line);background:#00000052}.level-card[aria-pressed=true]{border-color:var(--brass);background:#c9a24b1f}.level-card h3{margin:0 0 4px;font-size:16.5px;color:var(--brass)}.level-card p{margin:0;font-size:13.5px;color:var(--paper-dim)}.intro-credit{margin-top:26px;font-size:12px;color:#7d735f}.intro-notice{margin:20px auto 0;max-width:620px;padding:12px 14px;text-align:left;border-radius:8px;border:1px solid var(--line);background:#0000004d;font-size:13px;color:var(--paper-dim)}.atlas-card{display:block;width:100%;text-align:left;margin-bottom:8px;padding:11px 13px;border-radius:9px;border:1px solid var(--line);background:#00000047}.atlas-card[aria-current=true]{border-color:var(--brass);background:#c9a24b1f}.atlas-name{font-size:15.5px;font-weight:700}.atlas-original{font-size:11px;color:var(--paper-dim)}.atlas-period{font-size:11px;color:var(--brass-dim);margin-top:2px}.atlas-summary{font-size:13.5px;color:var(--paper-dim);margin-top:6px}.atlas-note{font-size:11px;color:#a89170;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}@media(max-width:900px){.bottom-bar{grid-template-columns:1fr}.resource-box,.slot-box{display:none}.situation{width:190px}.panel{right:68px;top:140px;max-height:calc(100vh - 230px)}}@media(max-width:620px){.portrait-bar{min-width:0}.status-stack{display:none}.dialogue{bottom:96px}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.world-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#0000 38%,rgba(0,0,0,calc(var(--vignette, .45) * .55)) 78%,rgba(0,0,0,var(--vignette, .45)))}.building-label{padding:3px 10px;border-radius:6px;background:linear-gradient(180deg,#261e14f0,#18130df0);border:1px solid rgba(201,162,75,.55);color:#f2e2b8;font-size:13.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.9);box-shadow:0 3px 10px #00000073;pointer-events:none;user-select:none}.npc-label.has-quest .npc-name{border-color:#ffd24a;background:linear-gradient(180deg,#5a4210f2,#2e220af2);color:#ffe9a8}.npc-label{transition:opacity .24s ease}.glossary-word{padding:0;border:0;background:none;color:#f0d79a;font:inherit;border-bottom:1px dashed rgba(240,215,154,.7);cursor:help}.glossary-word:hover{color:#fff0c4;border-bottom-style:solid}.glossary-pop{display:block;margin:10px 0 2px;padding:11px 13px;border-radius:8px;border:1px solid rgba(201,162,75,.5);background:#c9a24b1a;font-size:13.5px;line-height:1.7}.glossary-pop strong{display:block;color:var(--brass);margin-bottom:3px}.glossary-pop .btn{margin-top:8px}.tutorial-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#080705c7}.tutorial-card{width:min(520px,100%);padding:26px 28px 22px;text-align:center;background:var(--panel-solid)}.tutorial-icon{font-size:46px;line-height:1}.tutorial-step{margin-top:10px;font-size:12px;color:var(--brass-dim);letter-spacing:.2em}.tutorial-title{margin:8px 0 10px;font-size:21px;color:var(--brass)}.tutorial-body{margin:0;font-size:15px;line-height:1.75;color:var(--paper)}.tutorial-dots{display:flex;gap:7px;justify-content:center;margin:18px 0 14px}.tutorial-dots span{width:8px;height:8px;border-radius:50%;background:#c9a24b4d}.tutorial-dots span.on{background:var(--brass)}.situation-bar{margin-top:6px;height:7px;border-radius:4px;background:#00000080;overflow:hidden}.situation-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brass-dim),var(--brass));transition:width .32s ease}.situation-guide{width:100%;margin-top:9px}.cinematic{margin:0}.cinematic img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.cinematic figcaption{margin-top:6px;font-size:12.5px;color:var(--paper-dim);text-align:center}.intro-cover{margin:20px auto 0;max-width:620px}.intro-cover img{aspect-ratio:16 / 9;object-fit:cover}.quest-cinematic{margin:12px 0 4px}.quest-cinematic img{aspect-ratio:21 / 9;object-fit:cover}.portrait{width:66px;height:78px;flex:none;border-radius:8px;border:2px solid var(--brass-dim);object-fit:cover;object-position:50% 12%;background:#241f18}.dialogue-portrait{width:84px;height:98px;flex:none;border-radius:9px;border:2px solid var(--brass-dim);object-fit:cover;object-position:50% 10%;background:#241f18;box-shadow:0 3px 12px #00000073}.party-item{position:relative;padding-left:62px;min-height:62px}.party-portrait{position:absolute;left:9px;top:9px;width:44px;height:52px;border-radius:6px;border:1px solid var(--line);object-fit:cover;object-position:50% 10%;background:#241f18}.gallery{position:fixed;inset:0;overflow-y:auto;padding:28px 24px 48px;background:linear-gradient(180deg,#16130e,#0c0a07)}.gallery-title{margin:0 0 6px;font-size:22px;color:var(--brass)}.gallery-note{margin:0 0 22px;font-size:13px;color:var(--paper-dim);max-width:760px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px}.gallery-card{margin:0;background:#0000004d;border:1px solid var(--line);border-radius:10px;overflow:hidden}.gallery-card img{display:block;width:100%;height:auto}.gallery-card figcaption{padding:9px 10px 11px;display:flex;flex-direction:column;gap:3px}.gallery-card strong{font-size:13.5px;color:var(--paper)}.gallery-tags{font-size:12px;color:var(--brass)}.gallery-src{font-size:11px;color:var(--paper-dim);line-height:1.5}.title-world{position:fixed;inset:0;pointer-events:none;opacity:.76}.title-world .npc-label,.title-world .building-label{display:none}.intro{display:block;padding:54px 6vw;background:#111b16;isolation:isolate}.intro:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#0a110ff7,#0a110fdb 43%,#0a110f1f 80%);pointer-events:none}.title-world{z-index:-2}.intro-card{width:min(590px,100%);text-align:left}.intro-kicker{color:#c6af73;font-size:11px;letter-spacing:.25em}.intro-title{font-family:Batang,"Noto Serif KR",serif;font-size:clamp(36px,5vw,62px);font-weight:500;line-height:1.25;letter-spacing:-.04em;margin:28px 0 18px}.intro-sub{color:#d6c8a7;font-size:17px;border-left:2px solid #a38a56;padding-left:16px}.intro-lead{font-size:14px;line-height:1.9;color:#c7c7b5;margin-top:24px}.intro-notice{font-size:11px;background:#080c0a99}.intro .level-picker{justify-content:flex-start}.intro .level-card{background:#0a120ecc;border-radius:3px}.intro .dialogue-actions{justify-content:flex-start!important}.intro .btn.primary{padding:12px 36px}.intro-credit{color:#b1ae91}.world-controls{position:absolute;left:14px;top:146px;padding:8px;display:flex;gap:5px;align-items:center}.world-controls-title{display:none}.npc-access{position:absolute;left:14px;bottom:126px;padding:9px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;max-width:370px;font-size:12px}.npc-access small{grid-column:1/-1;color:var(--paper-dim);font-size:10px}select,textarea{font:inherit;color:var(--paper);background:#19221b;border:1px solid var(--line);border-radius:4px;padding:8px}.npc-access select{max-width:170px}.reconstruction-label{position:absolute;top:12px;left:50%;transform:translate(-50%);color:#e8e3cf;background:#182019c9;padding:4px 10px;font-size:10px;border-radius:3px}.journal-overlay{position:fixed;z-index:60}.journal-sheet{width:min(900px,95vw)}.journal-sheet h2{font-family:Batang,serif;font-size:34px;font-weight:500;color:var(--brass);margin:16px 0}.journal-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:24px 0}.journal-stats span{padding:18px;text-align:center;font-size:12px;color:var(--paper-dim)}.journal-stats b{display:block;font-size:28px;color:var(--paper)}.journal-sheet textarea{width:100%;margin:10px 0 24px;resize:vertical}.journal-timeline section{border-left:1px solid var(--brass-dim);padding:0 0 22px 20px}.journal-timeline section>span{font-size:12px;color:var(--brass)}.journal-timeline h3{margin:3px 0 10px}.journal-entry{display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff12;padding:10px 0}.journal-entry>span{color:var(--brass)}.journal-entry>div{flex:1}.journal-entry small{display:block;font-size:11px;color:var(--paper-dim)}.era-banner{position:absolute;left:50%;top:30%;transform:translate(-50%);width:min(560px,90vw);text-align:center;background:#101e19f5;border:1px solid var(--brass);padding:28px;z-index:25;box-shadow:0 10px 80px #000b}.era-banner>span{color:var(--brass);letter-spacing:.3em}.heat-event{position:absolute;left:50%;bottom:140px;transform:translate(-50%);padding:18px;width:min(420px,90vw);z-index:26}.heat-event p{font-size:13px}.source-link{color:#cfb76f;display:inline-block;margin-top:10px;text-underline-offset:4px}.render-error{position:absolute;top:40%;left:20%;right:20%;z-index:10;padding:20px;background:#271e16}button:focus-visible,select:focus-visible,textarea:focus-visible,.world-layer:focus-visible{outline:3px solid #f0cd79;outline-offset:3px}.situation{right:72px}.tool-rail{top:20px}.btn{min-height:38px}.world-layer[data-quality=low]:after{content:"성능 보호 모드";position:absolute;left:16px;top:203px;font-size:10px;color:#f1ddb3}@media(max-width:900px){.npc-access{bottom:85px}.world-controls{top:140px}.reconstruction-label{inset:auto 12px 65px auto;transform:none;font-size:8px}.intro{padding:32px 24px}}@media(max-width:620px){.world-controls{top:112px;left:10px;flex-wrap:wrap;max-width:145px}.world-controls .btn{font-size:11px;min-height:40px}.npc-access{left:10px;right:72px;max-width:unset;font-size:11px;bottom:82px}.situation{right:65px;top:12px;width:180px;padding:10px}.situation-objective{font-size:11px}.portrait-bar{left:8px;top:8px;padding:5px}.tool-rail{right:8px;gap:8px}.tool-button{width:44px;height:44px}.journal-stats span{padding:9px 4px}.quest-sheet{padding:20px 15px}.intro:after{background:#0a110fe0}.intro-card{width:100%}}@media print{html,body,#root{height:auto;overflow:visible;background:#fff;color:#000}.game-root>.world-layer,.game-root>.hud,.game-root>.reconstruction-label{display:none}.journal-overlay{position:static;display:block;background:#fff;padding:0;overflow:visible}.journal-sheet{width:100%;max-height:none;overflow:visible;box-shadow:none;border:0;background:#fff;color:#000}.journal-sheet button{display:none}.journal-sheet small,.journal-sheet h2,.journal-sheet h3,.journal-sheet b{color:#000}.journal-sheet textarea{background:#fff;color:#000}}.title-world{z-index:0}.intro:after{z-index:1}.intro-card{position:relative;z-index:2;margin:0}.intro{place-items:initial}.intro-title{font-size:clamp(34px,4.3vw,55px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.title-screen{height:100%;min-height:540px;position:relative;overflow:auto;background:#211c17;color:#efe2c7;isolation:isolate}.title-key-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;z-index:-2}.title-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(17,15,13,.95) 0%,rgba(17,15,13,.75) 15%,transparent 43%);z-index:-1}.title-topline{position:absolute;inset:22px 34px auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.18em;color:#302a20}.title-topline button{background:#f0e4c9cc;border:1px solid #63564477;padding:7px 13px;font-size:11px;color:#33291d}.title-menu{position:absolute;bottom:66px;left:6%;width:min(500px,43vw)}.title-story{font-family:Georgia,Batang,serif;font-size:20px;margin:0 0 4px;text-shadow:0 1px 4px #000}.title-menu:before{content:"";position:absolute;inset:-14px -22px;z-index:-1;background:linear-gradient(90deg,#201c16c9,#201c164d,transparent);pointer-events:none}.title-screen .overlay{position:fixed;inset:0;z-index:50;background:#111a;display:grid;place-items:center;padding:20px}.title-meta{font-size:11px;letter-spacing:.15em;color:#c9baa0;margin:0 0 19px}.title-difficulty{display:flex;gap:4px;margin-bottom:12px}.title-difficulty button{background:#221d16cc;border:1px solid #9a845b55;padding:8px 18px;font-size:13px}.title-difficulty button[aria-pressed=true]{border-color:#d4af71;background:#72604255}.title-difficulty small{font-size:10px;color:#b9ab94;margin-left:8px}.title-buttons{display:flex;gap:9px}.title-start{min-height:53px;width:240px;padding:12px 23px;text-align:left;background:linear-gradient(110deg,#c4a675,#f0d6a0,#b99a63);color:#2c2419;border:1px solid #f1dfbc;box-shadow:inset 0 0 0 3px #6f552c55,0 4px 20px #0005;font-size:17px;letter-spacing:.12em}.title-start span{float:right}.title-continue{background:#201c17ba;border:1px solid #8a7655;padding:10px 17px;font-size:13px}.title-art-note{margin-top:12px;font-size:10px;color:#b5a891;line-height:1.6}.title-footer{position:absolute;bottom:17px;left:34px;right:34px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;color:#b8a992}.art-sources{width:min(680px,94vw);max-height:85vh;overflow:auto;padding:30px;background:#242019;color:#eee0c6;border:1px solid #927b53;box-shadow:0 30px 100px #0009}.art-sources p{font-size:14px;line-height:1.9}.art-sources a{color:#e4bf76}.actor-portrait{display:inline-block;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 70%,#777363,#34352f 70%)}.actor-portrait img{position:absolute;left:50%;top:0;width:800%;height:auto;max-width:none;pointer-events:none}.actor-portrait.dialogue-portrait{width:104px;height:112px;flex:none;border-radius:0;border:1px solid #ac8b57}.actor-portrait.party-portrait{width:64px;height:74px;float:left;margin-right:12px}.actor-portrait.portrait{border-radius:0}:root{--radius:2px;--brass:#c6ad7b;--brass-dim:#796947;--panel:rgba(29,29,24,.96);--panel-solid:#25251f;--line:#9a876452}.frame{border:1px solid #9a8967;outline:2px solid #1e211c;box-shadow:inset 0 0 0 3px #58574755,0 5px 22px #0007;background:linear-gradient(115deg,#34372feb,#20241feb);backdrop-filter:none}.portrait-bar{padding:8px;gap:10px;min-width:250px}.situation{border-top:3px solid #b49c65}.situation-place{font-family:Batang,Georgia,serif;letter-spacing:.15em}.btn{border-radius:1px;background:linear-gradient(#49483b,#2d3028);border:1px solid #a28c6266}.btn.primary{background:linear-gradient(#968051,#6b5735);border-color:#c6a96e;color:#fff0d0}.tool-button{border-radius:0;background:linear-gradient(135deg,#4b4d40,#292e27);border:1px solid #9e916e;box-shadow:inset 0 0 0 3px #1e211a99,0 2px 8px #0008}.bottom-bar{border-radius:0;background:linear-gradient(#43453bdd,#252b23fa);border-top:2px solid #a2946c}.dialogue{border-radius:1px;border-top:3px solid #bfa570}.npc-name{font-size:12px;background:transparent;color:#f4e9c8;border:0;text-shadow:0 1px 2px #000,1px 0 #000,-1px 0 #000;box-shadow:none}.building-label{border-radius:0;font-size:10px;background:#292b23d9;color:#eee4c5;border:1px solid #9a886455;padding:3px 7px}.world-vignette{opacity:.38!important}button:focus-visible,a:focus-visible{outline:2px solid #f5cb78;outline-offset:4px}@media(min-aspect-ratio:18/9){.title-key-art{object-fit:contain;background:#211c17}.title-menu{left:13%}}@media(max-width:850px){.title-key-art{object-fit:contain;object-position:top;height:auto}.title-menu{left:7%;bottom:68px;width:86%}.title-story{font-size:17px}.title-topline{inset:12px 16px auto;letter-spacing:.04em;font-size:9px}.title-topline button{font-size:9px}.title-screen:after{background:linear-gradient(0deg,#191913 20%,transparent 80%)}.title-footer{left:16px;right:16px;font-size:8px}}@media(max-height:680px)and (min-width:851px){.title-menu{bottom:44px;left:5%}.title-story{font-size:16px}.title-meta{margin-bottom:8px}.title-art-note{font-size:9px;margin-top:5px}.title-difficulty button{padding:4px 12px}.title-start{min-height:42px;padding:8px 20px}}.gallery-art{width:100%;height:220px}.local-map{position:absolute;left:18px;top:145px;width:214px;padding:8px;pointer-events:auto}.local-map-heading{display:flex;justify-content:space-between;width:100%;border:0;background:transparent;color:#dfc996;font:12px Batang,serif;padding:3px 2px 8px;letter-spacing:.08em}.local-map svg{display:block;width:100%;height:136px;background:#242b25;border:1px solid #8e7c50;cursor:crosshair}.local-map-legend{display:flex;gap:9px;font-size:9px;margin-top:7px;color:#fff}.local-map-legend span:nth-child(2){color:#ffe18d}.local-map-legend span:nth-child(3){color:#80b8ac}.local-map-legend output{margin-left:auto;color:#b4aa92;font-variant-numeric:tabular-nums}.local-map small{display:block;color:#b4aa92;font-size:9px;margin-top:5px}.local-map.collapsed{padding-bottom:0}@media(max-width:1000px){.local-map{top:138px;width:170px}.local-map svg{height:105px}}@media(max-width:650px){.local-map{display:none}}@media(max-height:650px){.local-map{top:125px;width:160px}.local-map svg{height:90px}}@media(min-width:651px){.local-map{top:200px}}@media(max-height:650px)and (min-width:651px){.local-map{top:195px}.local-map svg{height:75px}.local-map small{display:none}}.title-key-art{object-fit:contain;object-position:center top}.title-screen{background:radial-gradient(ellipse at 50% 20%,#645342,#211c17 75%)}@font-face{font-family:Pretendard;src:url(../assets/fonts/PretendardVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Noto Serif KR";src:url(../assets/fonts/NotoSerifKR-VF.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}:root{--font-body:Pretendard,sans-serif;--font-title:"Noto Serif KR",serif;--paper:#f6eddc;--paper-dim:#d9cdb8;--brass:#e5c58b;--ok:#b1d497;--danger:#f09c86}body,button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3,.title-story,.situation-place,.dialogue-name,.panel-title,.quest-title,.status-name,.list-title,.local-map-heading,.tutorial-title,.journal-sheet h2,.intro-title{font-family:var(--font-title);font-weight:800;letter-spacing:-.025em}button,select{font-weight:600}p,.list-sub,.dialogue-bio,.quest-brief{word-break:keep-all;overflow-wrap:anywhere}.title-topline{color:#f9ecd4;letter-spacing:.08em;gap:12px;z-index:2}.title-topline>span{padding:7px 12px;background:#211b15;border:1px solid #9d845b;font-weight:700;text-shadow:none}.title-topline button{background:#f1e1bf;color:#241c13;border-color:#6b563a;font-weight:700}.title-menu{width:min(535px,46vw);padding:22px 25px;background:linear-gradient(115deg,#241e17 5%,#211d18f5);border:1px solid #9c8154;box-shadow:inset 0 0 0 4px #30271d,0 12px 40px #0008}.title-menu:before{display:none}.title-story{font-size:20px;line-height:1.65;color:#fff0d4;text-shadow:none}.title-meta{font-size:12px;letter-spacing:.025em;color:#e1d1b6}.title-difficulty button{background:#30281e;color:#f6ead4;min-height:40px}.title-difficulty button[aria-pressed=true]{background:#5c482d;border-color:#e3c18a}.title-difficulty small{color:#e3d4ba;font-size:11px}.title-start{font-family:var(--font-body);font-weight:800;min-width:0;flex:1;letter-spacing:.04em;color:#251b0f}.title-continue{font-weight:700;color:#fff0d9;background:#342a20}.title-art-note{color:#d8cbb5;font-size:11px}.title-footer{color:#e3d3b5;letter-spacing:.08em;gap:12px}.title-footer span{padding:4px 8px;background:#211b15}.frame{background:linear-gradient(120deg,#30332b,#20251e)}.bottom-bar{background:linear-gradient(#30372b,#1c241b)}.npc-name{font-family:var(--font-title);font-weight:800;font-size:12px;background:#211d16eb;border:1px solid #c5a76770;padding:2px 7px;color:#fff0ce;text-shadow:0 1px 1px #000}.npc-bubble{background:#f3e7ca;color:#251f17;font-family:var(--font-body);font-weight:600;box-shadow:0 2px 8px #0005}.building-label{background:#26271fed;color:#f4e8d0;font-size:11px}.local-map-heading{font-size:12px;letter-spacing:0}.local-map small,.local-map-legend output{color:#dccfb7}.dialogue,.panel,.quest-sheet,.journal-sheet,.tutorial-card,.art-sources{background:#24241e;color:var(--paper)}.dialogue-role,.dialogue-bio,.list-sub,.quest-brief,.quest-meta,.meter,.log-line{color:var(--paper-dim)}.list-item[data-locked=true]{opacity:1;color:#d0c4b1}.btn.ghost{background:#2c2d25}.btn.primary{background:linear-gradient(#796039,#594527);color:#fff1d7}.choice{background:#191f19;color:#f7edda;line-height:1.8}.choice[data-picked=true]{background:#493c26}.choice[data-verdict=right]{background:#293b27}.choice[data-verdict=wrong]{background:#482b24}.choice:disabled{opacity:1}.btn:disabled{opacity:1;color:#a69d8c;background:#292a25;border-color:#575346}.glossary-term{color:#f4d499}.reconstruction-label{background:#1d241c;color:#e6dac4}.world-layer[data-quality=low]:after{inset:auto 16px 117px auto;padding:2px 6px;background:#20261e;color:#ddcfb4;font-family:var(--font-body)}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,.world-layer:focus-visible{outline:2px solid #f8d99a;outline-offset:3px}@media(max-width:1100px){.title-menu{width:485px;max-width:88%;padding:18px 22px}.title-story{font-size:18px}}@media(max-width:650px){.title-screen{min-height:650px}.title-menu{left:5%;width:90%;max-width:none;bottom:65px;padding:16px}.title-topline{inset:12px 12px auto;align-items:flex-start}.title-topline>span{font-size:9px;max-width:48%;padding:5px 7px}.title-topline button{font-size:10px;padding:6px 8px}.title-story{font-size:16px}.title-meta{font-size:11px}.title-footer{left:12px;right:12px;letter-spacing:0;font-size:9px}.title-footer span{padding:3px}.title-buttons{gap:7px}.title-start{font-size:16px}.title-continue{font-size:12px;padding:8px}.dialogue{left:8px;right:8px;max-height:calc(100dvh - 115px);overflow:auto}.situation-place{font-size:15px}.situation-period{font-size:11px}.panel{left:8px;right:60px;top:12px;max-height:calc(100dvh - 100px);width:auto}.quest-sheet,.journal-sheet{max-height:92dvh;overflow:auto}}@media(max-height:680px)and (min-width:651px){.title-menu{bottom:44px;padding:12px 18px;width:460px}.title-story{font-size:16px}.title-meta{margin-bottom:9px}.title-difficulty{margin-bottom:8px}.title-difficulty button{min-height:32px}.title-art-note{font-size:10px}.title-footer{bottom:8px}}@media print{.journal-sheet,.journal-sheet p,.journal-sheet h2,.journal-sheet h3{background:#fff;color:#000}}.companion-camp h3{margin:0 0 5px;font-size:17px}.companion-camp p{font-size:13px;line-height:1.7;margin:7px 0;color:var(--paper-dim)}.camp-intro{padding:10px 0 17px}.eyebrow{font-size:10px;letter-spacing:.1em;color:#e5c58b}.recruit-card,.companion-card{margin:0 0 14px;padding:15px;background:#1b211a;border:1px solid #80704e}.recruit-card{display:grid;grid-template-columns:36px 1fr;gap:8px}.recruit-card .btn{grid-column:1/-1}.recruit-symbol{font-size:26px;color:#e5c58b}.recruit-card small,.companion-card small{font-size:11px;color:#d9cdb8}.companion-card header{display:flex;gap:10px;align-items:center}.companion-card header div{flex:1}.companion-card header span,.companion-card header b{font-size:11px}.companion-card header b{color:#c5dcad}.rank-track{display:flex;margin:14px 0;gap:4px}.rank-track>span{flex:1;padding:7px 5px;background:#303327;font-size:11px;color:#d2c8b4}.rank-track small{display:block;font-size:10px}.rank-track>span[data-active=true]{background:#544328;border:1px solid #e1bf80}.companion-xp{font-size:12px;color:#eee0c5}.companion-xp progress{width:100%;height:7px;accent-color:#d3b77c;display:block;margin:6px 0 12px}.camp-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.camp-actions .btn{font-size:12px;padding:7px 9px}.companion-rename{display:flex;gap:6px}.companion-rename input{min-width:0;flex:1;background:#10170f;color:#f6eddc;border:1px solid #736344;padding:6px}.promotion-condition{padding:8px;border-left:2px solid #af9360;background:#302a1e}.mentor-unlocked{color:#cae8b7!important}.quest-companions{font-family:var(--font-body);font-size:13px;font-weight:400;border:1px solid #927b50;padding:12px 15px;background:#263023;margin:12px 0 18px}.quest-companions b{font-weight:700;color:#efd59f}.quest-companions ul{margin:8px 0;padding-left:18px}.quest-companions small{font-size:11px;color:#d3cbb9}.quest-companions p{margin:6px 0}.formation-strip{position:absolute;bottom:126px;right:78px;padding:10px 14px;max-width:340px;text-align:left}.formation-strip b{display:block;font-family:var(--font-title);font-weight:800;color:#e9ce98;font-size:13px}.formation-strip span{display:block;font-size:11px;color:#e9dfcb}.companion-label .npc-name{border-color:#9dbe83;color:#d9edc2}.list-item[data-done=true]{opacity:1}.tutorial-step{color:#d6c096}@media(max-width:1000px){.formation-strip{right:76px;max-width:260px;bottom:126px}}@media(max-width:650px){.formation-strip{right:65px;bottom:168px;max-width:220px;padding:6px 9px}.rank-track{flex-wrap:wrap}.companion-card{padding:11px}}.companion-label .npc-name{transform:translateY(14px);font-family:var(--font-body);font-size:11px}.formation-open{background:none;border:0;color:inherit;padding:0;text-align:left;cursor:pointer}.visibility-switch{margin-top:7px}.visibility-switch[aria-checked=true]{border-color:#b6c28d;color:#dceac1}.visibility-switch[aria-checked=false]{color:#ead9b4}.archive-intro h3{margin:6px 0}.archive-intro progress{width:100%;height:7px;accent-color:#d5b57b}.relic-icon{display:block;width:100%;aspect-ratio:1.768;background-size:400% 200%;background-repeat:no-repeat;border-radius:5px;background-color:#211c17}.relic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.relic-cell{min-width:0;background:#211c17;border:1px solid #65563f;border-radius:7px;padding:5px;color:#f4ead6;cursor:pointer;text-align:left}.relic-cell[aria-pressed=true]{border:2px solid #e4c287;padding:4px;box-shadow:0 0 0 1px #d7b57255}.relic-cell b{display:block;font-family:var(--font-title);font-weight:800;font-size:11px;margin:5px 2px;line-height:1.5}.relic-cell small{font-size:10px;color:#d8c29d;display:block;margin:2px}.relic-filters{display:flex;flex-wrap:wrap;gap:5px}.relic-filters [aria-pressed=true]{background:#594831;border-color:#d9bc86}.relic-search{display:block;font-size:12px;margin:14px 0 10px}.relic-search input{display:block;width:100%;background:#161b19;color:#fff3dd;padding:10px;border:1px solid #807056;border-radius:5px;margin-top:5px}.relic-loadout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.relic-loadout-slot{color:#f4dfb3;border:1px dashed #928066;background:#181d1b;border-radius:6px;font-size:10px;min-height:66px;cursor:pointer;padding:5px}.relic-loadout-slot small{display:block;font-size:10px;margin-top:4px}.relic-detail{padding:15px;border:1px solid #b69762;border-radius:9px;background:#242b27}.relic-detail header{display:flex;gap:12px;align-items:center}.relic-detail header>.relic-icon{flex:0 0 110px}.relic-detail h3{margin:4px 0;font-size:17px}.relic-detail p{font-size:13px;line-height:1.75}.relic-source{display:block;color:#bfe4da;font-size:11px;overflow-wrap:anywhere;line-height:1.7}.relic-effect{padding:10px;background:#171f1b;border-left:2px solid #c7ac79}.relic-effect small{display:block;font-size:11px;color:#d6cbb6}.relic-investigation{border:1px solid #695e49;margin:15px 0 5px;padding:12px;border-radius:7px}.relic-investigation legend{font-family:var(--font-title);font-weight:800;color:#efcc91}.relic-investigation b{display:block;font-size:13px;margin-bottom:10px}.relic-investigation label{display:flex;gap:8px;font-size:12px;margin:10px 0;line-height:1.6}.relic-investigation input{accent-color:#d1b174}.relic-investigation .btn{width:100%;font-size:11px}.relic-investigation:disabled{color:#c7c2b7}.quest-relics{background:#15231f;padding:12px;border:1px solid #547768;border-radius:7px;margin:12px 0;font-family:var(--font-body);font-size:12px}.quest-relics p{font-size:12px;margin:7px 0;line-height:1.7}.quest-relics summary{cursor:pointer;color:#edcfa2}.quest-relic-rewards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.quest-relic-rewards span{font-size:10px;line-height:1.5}.slot>.relic-icon{width:100%;height:100%;aspect-ratio:auto}@media(max-width:650px){.relic-detail{padding:10px}.relic-detail header>.relic-icon{flex-basis:90px}.quest-relic-rewards{grid-template-columns:repeat(3,minmax(0,1fr))}.formation-strip{max-width:200px}}.combat-launcher{margin:14px 0;padding:18px;background:linear-gradient(125deg,#26352c,#141d19);border:1px solid #ac955c;border-radius:8px}.combat-launcher h3{font-size:19px;margin:6px 0;color:#f0d6a5}.combat-launcher p{font-family:var(--font-body);font-size:12px;line-height:1.7;color:#e6dfcf}.combat-launcher small{display:block;margin-top:8px;color:#d5e0b9}.combat-overlay{position:fixed;inset:0;z-index:1000;background:#17231f;color:#f8edda;font-family:var(--font-body);isolation:isolate}.combat-canvas{position:absolute;inset:0}.combat-canvas canvas{display:block;width:100%;height:100%;outline:none}.combat-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:22px 28px;background:linear-gradient(#0d191ff2,#0d191f99,transparent);pointer-events:none}.combat-top h2{font-family:var(--font-title);font-weight:800;font-size:24px;margin:5px 0;letter-spacing:.03em;text-shadow:0 2px 4px #000}.combat-top span{font-size:11px;letter-spacing:.13em;color:#e9ce99}.combat-top-actions{display:flex;gap:6px;pointer-events:auto}.combat-top-actions .btn{background:#172622ee}.combat-objective{position:absolute;top:115px;left:28px;display:grid;gap:7px;background:#14211fed;border-left:3px solid #c9b071;padding:13px 17px;box-shadow:0 8px 20px #0003;font-size:13px}.combat-objective small{font-size:11px;color:#d6dacb;line-height:1.65}.combat-clock{position:absolute;top:110px;right:30px;font-size:26px;background:#162623ed;border:1px solid #bca775;padding:10px 17px;font-variant-numeric:tabular-nums}.combat-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:30px/1 monospace;color:#eafee0;text-shadow:0 0 4px #132418;pointer-events:none}.combat-crosshair.is-hit{font-size:45px;color:#fff1ac}.combat-damage{position:absolute;inset:0;box-shadow:inset 0 0 140px #bb3f25b0;pointer-events:none}.combat-bottom{position:absolute;bottom:48px;left:28px;right:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}.combat-health,.combat-ammo{padding:13px 18px;background:#13221ff2;border-bottom:3px solid #c7b27c;min-width:170px}.combat-health small,.combat-ammo small{display:block;font-size:11px;color:#d1dacb}.combat-health b,.combat-ammo b{font-size:40px;font-variant-numeric:tabular-nums}.combat-ammo span{font-size:20px;color:#c5cbbb}.combat-health progress{display:block;width:145px;height:6px;accent-color:#a9c789}.combat-message{font-size:13px;background:#182820ed;padding:10px 18px;border-radius:3px;text-align:center}.combat-controls{position:absolute;bottom:0;left:0;right:0;padding:12px;text-align:center;background:#11201ff5;font-size:11px;color:#d5d9c7}.combat-pause{position:absolute;inset:0;background:#081411ac;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.combat-pause article{background:linear-gradient(145deg,#29392f,#14251f);border:1px solid #b59a61;max-width:680px;width:100%;padding:32px;box-shadow:0 25px 80px #0008;border-radius:12px;max-height:90dvh;overflow:auto}.combat-pause h2{font-family:var(--font-title);font-size:30px;color:#efd4a2;margin:12px 0}.combat-pause p{font-size:14px;line-height:1.9;color:#e4e6d8}.combat-pause .combat-history{font-size:12px;padding:14px;background:#111e19;border-left:2px solid #a89a72;color:#cfd7c9}.combat-pause-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.combat-touch{display:none}@media(pointer:coarse){.combat-touch{position:absolute;bottom:158px;left:15px;right:15px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.combat-touch button{background:#162b23db;color:#f5ecd8;border:1px solid #b6a677;border-radius:7px;padding:13px;touch-action:none}.combat-dpad{text-align:center}.combat-dpad>div{display:flex;gap:4px;margin-top:4px}.combat-lookpad{background:#0d231875;border:1px dashed #c5cbaa;padding:20px;min-height:70px;touch-action:none;font-size:12px}.combat-touch>div:last-child{display:grid;gap:4px}}@media(max-width:650px){.combat-top{padding:12px}.combat-top h2{font-size:17px}.combat-top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:155px}.combat-top-actions .btn{font-size:10px;padding:6px 8px}.combat-objective{top:104px;left:12px;padding:8px 10px;font-size:11px;max-width:235px}.combat-clock{top:104px;right:12px;font-size:20px;padding:8px}.combat-bottom{left:12px;right:12px;gap:8px;bottom:53px}.combat-health,.combat-ammo{min-width:100px;padding:9px}.combat-health b,.combat-ammo b{font-size:26px}.combat-health progress{width:90px}.combat-message{position:absolute;bottom:100%;left:0;right:0;font-size:11px}.combat-controls{font-size:9px;line-height:1.5}.combat-pause article{padding:20px}.combat-pause h2{font-size:23px}.combat-pause p{font-size:12px}}.story-note{background:#2c3027;border-left:3px solid #d2b781;padding:15px 18px;border-radius:0 7px 7px 0;margin:15px 0;color:#f2e7d0}.story-note>span{font-size:10px;letter-spacing:.05em;color:#d7bf8d}.story-note p{font-family:var(--font-body);font-size:14px;line-height:1.9;margin:8px 0;word-break:keep-all}.story-note b{display:block;color:#e2d8af;font-size:12px;line-height:1.8}.story-after{background:#24332c}.ending-fact{padding:14px;border:1px solid #8f9b77;font-size:13px;line-height:1.8}.hide-portrait .portrait-bar,.hide-situation .situation,.hide-map .local-map,.hide-companions .formation-strip,.hide-bottom .bottom-bar,.hide-people .npc-access,.hide-controls .world-controls,.hide-rail .tool-rail,.hide-labels .building-label,.hide-labels .npc-label,.hide-labels .companion-label{display:none!important}.display-menu{position:fixed;right:18px;top:14px;z-index:65;pointer-events:auto;font-family:Pretendard,sans-serif}.display-menu>.btn{background:#1c2826f5;box-shadow:0 3px 15px #0008;color:#f3e5c5}.display-popover{margin-top:8px;width:290px;padding:18px;background:#1a2625;max-height:calc(100dvh - 90px);overflow:auto}.display-popover h3{margin:0 0 12px}.display-popover label{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #ffffff16;font-size:14px}.display-popover label span{margin-left:auto;color:#c5b28b;font-size:12px}.display-popover input{accent-color:#b69a60}.display-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.enter-building{position:fixed;z-index:25;bottom:24px;left:50%;transform:translate(-50%);max-width:90vw;box-shadow:0 4px 25px #0009}.interior-scene{position:fixed;inset:0;z-index:28;background-size:cover;background-position:center;background-color:#242019;animation:room-enter .45s ease}.interior-scene:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0009,transparent 35%,transparent 65%,#0009)}.interior-heading{position:absolute;top:24px;left:28px;max-width:min(530px,calc(100vw - 350px));padding:20px;background:#15201eea;border-left:3px solid #c5a66b;color:#f6ead1}.interior-heading h2{margin:5px 0 8px;font-family:"Noto Serif KR",serif;font-weight:800}.interior-heading p{font-size:12px;line-height:1.7}.interior-heading>span{font-size:12px;color:#d3bd92}.room-hotspot{position:absolute;display:grid;gap:5px;padding:12px 20px;border:1px solid #d9bd75;background:#17231fe8;color:#f5e5c3;cursor:pointer;border-radius:4px;box-shadow:0 5px 35px #0008;transition:transform .2s}.room-hotspot:hover{transform:translateY(-4px);background:#324134}.room-hotspot b{font-size:17px}.room-hotspot small{font-size:12px;color:#d5c9af}.room-archive{left:13%;top:49%}.room-desk{left:42%;top:65%}.room-supplies{right:12%;top:48%}.room-guidance{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:12px 20px;background:#16231eec;color:#eee3cd;text-align:center;font-size:13px;max-width:90vw;width:max-content}.room-card{position:absolute;right:24px;top:80px;width:370px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 160px);overflow:auto;padding:22px;background:#1b2825f5;color:#f1e6ce;z-index:2}.room-card p{font-size:14px;line-height:1.8}.room-card-close{float:right}.room-quests{display:grid;gap:10px}.room-quests .btn{display:grid;gap:6px;text-align:left;white-space:normal}.room-quests span,.room-quests small{font-size:12px;color:#c6ba9e}.interior-scene~.hud{z-index:40}.game-root:has(.interior-scene) .hud>.world-controls,.game-root:has(.interior-scene) .hud>.npc-access,.game-root:has(.interior-scene) .hud>.portrait-bar,.game-root:has(.interior-scene) .hud>.situation,.game-root:has(.interior-scene) .hud>.formation-strip,.game-root:has(.interior-scene) .hud>.local-map,.game-root:has(.interior-scene) .hud>.bottom-bar{display:none}.flag-reference-note{font-size:12px;line-height:1.7;color:#c9c1ad}.flag-reference-note a{color:#ebd18c}@keyframes room-enter{0%{opacity:0}to{opacity:1}}@media(max-width:700px){.display-menu{right:10px;top:10px}.display-popover{width:270px}.interior-heading{top:62px;left:12px;max-width:calc(100vw - 24px);padding:12px}.interior-heading h2{font-size:20px}.room-card{right:12px;top:240px;max-height:calc(100dvh - 270px)}.room-hotspot{padding:10px}.room-archive{left:4%;top:48%}.room-supplies{right:4%;top:48%}.room-desk{left:33%;top:68%}.room-guidance{font-size:11px;bottom:12px}}.combat-alliance{padding:12px 14px;background:#273e33;border-left:2px solid #d2bd8c}.combat-alliance a{color:#f0d695;text-decoration:underline}.mission-stages{padding:12px 16px;background:#26372e;color:#e7d7b5;font-size:13px;line-height:1.8}.game-root .interaction-active,.game-root.hide-labels .interaction-active{display:block!important;opacity:1!important;color:#fff5d3;border:2px solid #f2c663;background:#262a25;box-shadow:0 0 16px #f2c66388;z-index:5}.interaction-prompt{position:absolute;z-index:24;left:50%;bottom:100px;transform:translate(-50%);display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;min-width:260px;max-width:calc(100vw - 40px);padding:14px 18px;background:#202720f5;border:1px solid #e7bd65;border-radius:12px;box-shadow:0 10px 30px #0008;color:#fff3d0;pointer-events:auto}.interaction-prompt>span{font-size:11px;color:#d8c5a2}.interaction-prompt>strong{grid-column:1;line-height:1.5}.interaction-prompt>button{grid-column:2;grid-row:1/3;white-space:nowrap}.interaction-prompt kbd{padding:2px 5px;margin-left:5px;border:1px solid currentColor;border-radius:4px}.hide-bottom .interaction-prompt{bottom:28px}.game-root.modal-open .interaction-active{display:none!important}.geography-notes{font-size:12px;line-height:1.65;margin:8px 0;padding:10px;background:#1e2823;color:#ede7d4;border-radius:7px}.geography-notes summary{cursor:pointer;color:#f1cc81;font-weight:800}.geography-notes a{display:block;color:#d9e8eb;margin:6px 0}.geography-notes p{margin:10px 0}.geography-label{color:#e7e7d3;font-size:13px;letter-spacing:.08em;font-weight:800;padding:5px 10px;background:#1a3439e0;border:1px solid #81978a;border-radius:6px;pointer-events:none}.hide-labels .geography-label,.modal-open .geography-label{display:none}@media(max-width:600px){.interaction-prompt{bottom:90px;min-width:230px;padding:10px 12px;gap:4px 10px}.interaction-prompt>strong{font-size:13px}}.npc-label.interaction-active .npc-bubble{display:none}.combat-touch{position:absolute;bottom:167px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;pointer-events:none}.combat-touch>div{pointer-events:auto}.combat-touch button{background:#16271ff0;color:#fff4dc;border:1px solid #b6a677;border-radius:5px;padding:10px 12px;min-height:42px;touch-action:none;font-size:12px;user-select:none}.combat-touch button:active,.combat-touch button[aria-pressed=true]{background:#675b36}.combat-touch button:disabled{opacity:.5}.combat-dpad{text-align:center;max-width:290px}.combat-dpad>div{display:flex;gap:4px;margin:4px 0}.combat-dpad>button{margin:2px}.combat-lookpad{background:#0d231885;border:1px dashed #c5cbaa;padding:22px;min-height:60px;touch-action:none;font-size:12px;border-radius:6px;user-select:none}.combat-touch>.combat-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.combat-tactical{position:absolute;top:245px;left:28px;display:grid;gap:5px;padding:9px 12px;background:#13221fee;color:#f4ead2;font-size:12px;pointer-events:none;max-width:340px}.combat-tactical span{font-size:11px;color:#d8dccd}.combat-ammo progress{display:block;width:150px;height:8px;accent-color:#dbc18b}@media(max-width:650px){.combat-touch{left:8px;right:8px;bottom:163px;gap:6px}.combat-touch button{font-size:10px;padding:8px 6px;min-height:40px}.combat-dpad{max-width:190px}.combat-lookpad{padding:10px;max-width:76px;min-height:80px}.combat-tactical{top:212px;left:12px;right:12px;font-size:10px}.combat-top-actions{max-width:205px}}@media(max-height:650px){.combat-objective{top:88px;font-size:10px}.combat-objective small{display:none}.combat-tactical{top:149px;font-size:10px}.combat-touch{bottom:138px}.combat-touch button{min-height:34px;padding:6px 9px}.combat-bottom{bottom:39px}.combat-health b,.combat-ammo b{font-size:28px}.combat-controls{padding:7px}}@media(max-width:650px){.combat-bottom .combat-message{position:fixed;bottom:315px;left:12px;right:12px;margin:0}}
