:root{color:#1a1f2b;background:#f5f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}.shell{align-items:center;display:flex;min-height:100vh;padding:24px}.status-panel{border-left:4px solid #9c2f2f;max-width:560px;padding:8px 0 8px 24px;width:100%}.admin-panel{max-width:460px}.eyebrow{color:#656b78;font-size:.8125rem;font-weight:700;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}h1{font-size:2.25rem;line-height:1.1;margin:0 0 24px}.status,.health-grid{font-size:1rem;margin:0}.loading{color:#4b5563}.failure{color:#9c2f2f}.health-grid{display:grid;gap:12px}.health-grid div{display:grid;gap:4px}.health-grid dt{color:#656b78;font-size:.8125rem;font-weight:700}.health-grid dd{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;margin:0;overflow-wrap:anywhere}.admin-form,.admin-summary{display:grid;gap:16px;margin-top:24px}.admin-form label{color:#374151;display:grid;font-size:.875rem;font-weight:700;gap:8px}.admin-form input{border:1px solid #b8bec9;border-radius:6px;box-sizing:border-box;color:#1a1f2b;font:inherit;min-height:42px;padding:8px 10px;width:100%}button{background:#1f6f5b;border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-weight:700;min-height:42px;padding:8px 14px}button:disabled{background:#8a939f;cursor:wait}.recommendation-shell{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px}.recommendation-panel{display:grid;gap:20px;max-width:720px;width:100%}.tutorial-panel{align-content:center}.recommendation-panel h1{max-width:680px}.answer-list,.result-list,.house-list{display:grid;gap:10px}.answer{background:#fff;border:1px solid #c7c0b3;color:#1a1f2b;min-height:54px;text-align:left}.answer.selected{background:#1f6f5b;border-color:#1f6f5b;color:#fff}.recommendation-actions{display:flex;flex-wrap:wrap;gap:10px}.recommendation-actions button{min-width:132px}.guide-dialogue,.skip-confirm{border-left:4px solid #1f6f5b;display:grid;gap:8px;padding-left:14px}.guide-dialogue p,.skip-confirm p{margin:0}.result-item{border:1px solid #d4cfc4;border-radius:8px;display:grid;gap:10px;padding:16px}.house-item{align-items:center;border:1px solid #d4cfc4;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:16px}.house-item div{display:grid;gap:6px}.house-item h2,.character-card h3,.house-item p,.result-item h2,.result-item p{margin:0}.score{color:#656b78;font-size:.875rem;font-weight:700}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.tag-list li{background:#ebe5da;border-radius:999px;color:#374151;font-size:.8125rem;font-weight:700;padding:6px 10px}.character-roster,.character-list,.character-detail,.inventory-panel,.season-panel,.cosmetics-panel,.exploration-panel,.pve-panel,.party-panel,.codex-panel{display:grid;gap:14px}.character-roster h2,.character-detail h2,.inventory-panel h2,.season-panel h2,.cosmetics-panel h2,.exploration-panel h2,.pve-panel h2,.party-panel h2,.codex-panel h2{margin:0}.character-card,.character-detail,.inventory-panel,.season-panel,.cosmetics-panel,.exploration-panel,.pve-panel,.party-panel,.codex-panel,.pve-report,.party-report,.codex-detail{border:1px solid #d4cfc4;border-radius:8px;padding:16px}.character-card{display:grid;gap:12px}.character-card p,.character-detail p{margin:0}.status-chip{background:#edf2f7;border-radius:999px;color:#374151;display:inline-flex;font-size:.75rem;font-weight:700;margin-top:8px;padding:4px 8px;width:fit-content}.status-chip.dispatched{background:#f9e5c7;color:#7a4a00}.secondary-button{background:transparent;border:1px solid #c7c0b3;color:#1a1f2b;width:fit-content}.character-meta,.stat-grid,.season-metrics,.training-metrics,.exploration-summary,.party-times{display:grid;gap:8px;margin:0}.character-meta,.season-metrics,.training-metrics,.exploration-summary,.party-times{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(7,minmax(52px,1fr))}.stat-grid.compact{grid-template-columns:repeat(7,minmax(44px,1fr))}.character-meta div,.stat-grid div,.season-metrics div,.training-metrics div,.exploration-summary div,.party-times div{border:1px solid #e2ddd3;border-radius:6px;padding:8px}.character-meta dt,.stat-grid dt,.season-metrics dt,.training-metrics dt,.exploration-summary dt,.party-times dt{color:#656b78;font-size:.75rem;font-weight:700}.character-meta dd,.stat-grid dd,.season-metrics dd,.training-metrics dd,.exploration-summary dd,.party-times dd{font-weight:800;margin:2px 0 0;overflow-wrap:anywhere}.stat-formula{color:#656b78;display:block;font-size:.6875rem;font-weight:700;margin-top:3px}.season-metrics.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.season-rankings{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.season-ranking-list,.season-report,.season-archive{border-top:1px solid #d4cfc4;display:grid;gap:10px;padding-top:12px}.season-ranking-list h3,.season-report h3,.season-archive h3{margin:0}.season-ranking-list ol,.season-report-list,.season-archive ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.season-ranking-list li,.season-report-list li,.season-archive li{align-items:center;background:#fff;border:1px solid #e2ddd3;border-radius:6px;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.season-ranking-list small,.season-report-list span,.season-archive span{color:#656b78;font-size:.8125rem;font-weight:700}.cosmetic-loadout{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0}.cosmetic-loadout div{border:1px solid #e2ddd3;border-radius:6px;padding:8px}.cosmetic-loadout dt{color:#656b78;font-size:.75rem;font-weight:700}.cosmetic-loadout dd{font-weight:800;margin:2px 0 0;overflow-wrap:anywhere}.cosmetic-columns{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.cosmetic-columns h3{margin:0 0 10px}.cosmetic-list{display:grid;gap:10px}.cosmetic-card{align-items:center;background:#fff;border:1px solid #d4cfc4;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:82px;padding:12px}.cosmetic-card.active{border-color:#1f6f5b;box-shadow:inset 0 0 0 1px #1f6f5b}.cosmetic-card.compact{grid-template-columns:1fr}.cosmetic-card div{display:grid;gap:4px}.cosmetic-card small,.cosmetic-card span{color:#656b78;font-size:.8125rem;font-weight:700}.inventory-list,.equipment-slots{display:grid;gap:10px}.inventory-item,.equipment-slot{align-items:center;background:#fff;border:1px solid #d4cfc4;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.inventory-item div,.equipment-slot div{display:grid;gap:4px}.inventory-item small,.inventory-item span,.equipment-slot small{color:#656b78;font-size:.8125rem;font-weight:700}.equipment-panel{border-top:1px solid #d4cfc4;display:grid;gap:12px;padding-top:14px}.equipment-slot label{color:#374151;display:grid;font-size:.8125rem;font-weight:700;gap:6px}.equipment-slot select{border:1px solid #b8bec9;border-radius:6px;box-sizing:border-box;color:#1a1f2b;font:inherit;min-height:38px;padding:7px 9px;width:100%}.equipment-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.training-panel{border-top:1px solid #d4cfc4;display:grid;gap:12px;padding-top:14px}.training-header{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(180px,.5fr)}.training-header h3{margin:0}.training-stat-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.training-stat{background:#fff;border:1px solid #d4cfc4;color:#1a1f2b;display:grid;gap:4px;min-height:76px;padding:10px;text-align:left}.training-stat.selected{border-color:#1f6f5b;box-shadow:inset 0 0 0 1px #1f6f5b}.training-stat span,.training-stat small{color:#656b78;font-size:.8125rem;font-weight:700}.training-actions{display:flex;flex-wrap:wrap;gap:10px}.exploration-form{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr)) auto}.pve-form,.party-form{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.exploration-form label,.pve-form label,.party-form label{color:#374151;display:grid;font-size:.8125rem;font-weight:700;gap:6px}.exploration-form select,.pve-form select,.party-form select{border:1px solid #b8bec9;border-radius:6px;box-sizing:border-box;color:#1a1f2b;font:inherit;min-height:42px;padding:8px 10px;width:100%}.tab-row,.party-actions{display:flex;flex-wrap:wrap;gap:8px}.tab-button{background:transparent;border:1px solid #c7c0b3;color:#1a1f2b;min-height:34px;padding:6px 12px;width:fit-content}.tab-button.active{background:#1f6f5b;border-color:#1f6f5b;color:#fff}.party-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.party-list-item{background:#fff;border:1px solid #d4cfc4;color:#1a1f2b;display:grid;gap:4px;min-height:76px;padding:10px;text-align:left}.party-list-item.active{border-color:#1f6f5b;box-shadow:inset 0 0 0 1px #1f6f5b}.party-list-item small,.party-member span{color:#656b78;display:block;font-size:.8125rem;font-weight:700;margin-top:4px}.party-detail,.party-report{background:#fff;display:grid;gap:12px}.party-members{display:grid;gap:8px}.party-member{border:1px solid #e2ddd3;border-radius:6px;padding:10px}.party-actions button{min-height:34px;padding:6px 10px;width:fit-content}.pve-enemy-card,.pve-report-heading{align-items:stretch;display:grid;gap:12px;grid-template-columns:112px minmax(0,1fr)}.pve-image{aspect-ratio:1;background:#ebe5da;border:1px solid #d4cfc4;border-radius:6px;box-sizing:border-box;color:#656b78;display:grid;font-size:.75rem;font-weight:700;height:112px;object-fit:cover;overflow:hidden;place-items:center;text-align:center;width:112px}.image-placeholder span{max-width:92px;overflow-wrap:anywhere}.choice-preview-list{display:flex;flex-wrap:wrap;gap:8px}.choice-preview-list button{display:grid;gap:4px;text-align:left}.choice-preview-list small{font-weight:500;opacity:.82}.reward-list{display:grid;gap:6px;margin:12px 0;padding-left:20px}.exploration-check-result{border:1px solid #b8bec9;border-radius:8px;margin:12px 0;padding:12px}.exploration-check-result.success{background:#eef8ef;border-color:#68a36f}.exploration-check-result.failure{background:#fff1ef;border-color:#c7776d}.exploration-check-result p{margin:4px 0 0}.exploration-error{display:grid;gap:8px}.pve-enemy-meta{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.pve-enemy-meta div{border:1px solid #e2ddd3;border-radius:6px;padding:8px}.pve-enemy-meta dt{color:#656b78;font-size:.75rem;font-weight:700}.pve-enemy-meta dd{font-weight:800;margin:2px 0 0;overflow-wrap:anywhere}.pve-report{background:#fff;display:grid;gap:12px}.pve-report.victory{border-color:#68a36f}.pve-report.defeat{border-color:#c7776d}.pve-report p{margin:0}.combat-log{display:grid;gap:6px;margin:0;padding-left:22px}.codex-filters{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.codex-filters label{color:#374151;display:grid;font-size:.8125rem;font-weight:700;gap:6px}.codex-filters select{border:1px solid #b8bec9;border-radius:6px;box-sizing:border-box;color:#1a1f2b;font:inherit;min-height:40px;padding:7px 9px;width:180px}.codex-progress{display:grid;gap:8px}.codex-progress>div{align-items:center;display:flex;justify-content:space-between}.codex-progress progress{accent-color:#1f6f5b;height:12px;width:100%}.codex-progress dl,.codex-meta{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.codex-progress dl div,.codex-meta div{border:1px solid #e2ddd3;border-radius:6px;padding:8px}.codex-progress dt,.codex-meta dt{color:#656b78;font-size:.75rem;font-weight:700}.codex-progress dd,.codex-meta dd{font-weight:800;margin:2px 0 0;overflow-wrap:anywhere}.codex-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.codex-card{align-items:center;background:#fff;border:1px solid #d4cfc4;color:#1a1f2b;display:grid;gap:10px;grid-template-columns:58px minmax(0,1fr);min-height:96px;padding:10px;text-align:left}.codex-card.discovered,.codex-card.encountered,.codex-detail.discovered,.codex-detail.encountered{filter:grayscale(1)}.codex-card.recruited,.codex-detail.recruited{background:#eef8ef;border-color:#68a36f}.codex-card small,.codex-card em{color:#656b78;display:block;font-size:.75rem;font-style:normal;font-weight:700}.codex-card strong{display:block;margin:3px 0;overflow-wrap:anywhere}.codex-portrait{align-items:center;background:#ebe5da;border:1px solid #d4cfc4;border-radius:6px;color:#656b78;display:flex;font-size:.625rem;font-weight:700;justify-content:center;min-height:58px;overflow:hidden;padding:4px;text-align:center}.codex-card.undiscovered .codex-portrait,.codex-detail.undiscovered .codex-portrait{background:#292f3a}.codex-detail{display:grid;gap:12px}.codex-detail .codex-portrait{min-height:120px}.codex-detail p{margin:0}.codex-stat-block{display:grid;gap:10px}.codex-ability{border-left:4px solid #1f6f5b;display:grid;gap:4px;padding-left:12px}.admin-shell{box-sizing:border-box;min-height:100vh;padding:24px}.admin-topbar,.admin-workspace,.section-heading,.admin-account,.filter-bar,.pager,.row-actions,.editor-actions{align-items:center;display:flex;gap:12px}.admin-topbar{border-bottom:1px solid #d4cfc4;justify-content:space-between;padding-bottom:18px}.admin-topbar h1,.section-heading h2{margin:0}.admin-account{color:#374151;flex-wrap:wrap;font-size:.875rem;justify-content:flex-end}.admin-workspace{align-items:flex-start;margin-top:20px}.admin-nav{display:grid;flex:0 0 220px;gap:8px}.admin-nav button{background:transparent;border:1px solid #c7c0b3;color:#1a1f2b;text-align:left}.admin-nav button[aria-current=page]{background:#9c2f2f;border-color:#9c2f2f;color:#fff}.admin-content{display:grid;flex:1;gap:16px;min-width:0}.monetization-tools{border:1px solid #d4cfc4;border-radius:8px;display:grid;gap:12px;padding:12px}.section-heading{align-items:flex-start;justify-content:space-between}.section-heading p{color:#656b78;margin:6px 0 0;max-width:760px}.filter-bar{align-items:end;border:1px solid #d4cfc4;border-radius:8px;flex-wrap:wrap;padding:12px}.filter-bar label,.editor label{color:#374151;display:grid;font-size:.8125rem;font-weight:700;gap:6px}.filter-bar input,.filter-bar select,.editor input,.editor select,.editor textarea{border:1px solid #b8bec9;border-radius:6px;box-sizing:border-box;color:#1a1f2b;font:inherit;min-height:38px;padding:7px 9px}.filter-bar input,.filter-bar select{width:180px}.table-wrap{border:1px solid #d4cfc4;border-radius:8px;overflow:auto}table{border-collapse:collapse;font-size:.875rem;min-width:920px;width:100%}th,td{border-bottom:1px solid #e2ddd3;padding:10px;text-align:left;vertical-align:top}th{background:#ebe5da;color:#374151;font-size:.75rem;text-transform:uppercase}td{overflow-wrap:anywhere}td code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre-wrap}.row-actions{align-items:stretch;flex-wrap:wrap}.row-actions button,.pager button,.section-heading button,.admin-account button,.editor-actions button{min-height:34px;padding:6px 10px}.empty-state{border:1px dashed #b8bec9;border-radius:8px;color:#656b78;margin:0;padding:18px}.pager{justify-content:flex-end}.modal-backdrop{align-items:center;background:#1a1f2b6b;display:flex;inset:0;justify-content:center;padding:24px;position:fixed}.editor{background:#fdfaf3;border-radius:8px;box-shadow:0 18px 50px #1a1f2b4d;box-sizing:border-box;display:grid;gap:16px;max-height:calc(100vh - 48px);max-width:920px;overflow:auto;padding:18px;width:100%}.editor-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:1 / -1}.editor textarea{resize:vertical;width:100%}.asset-preview{align-items:center;border:1px solid #d4cfc4;border-radius:8px;display:flex;gap:12px;padding:12px}.asset-preview img{aspect-ratio:1;background:#ebe5da;border:1px solid #d4cfc4;border-radius:6px;height:96px;object-fit:cover;width:96px}.asset-preview span{color:#656b78;font-size:.8125rem;font-weight:700;overflow-wrap:anywhere}details summary{cursor:pointer;font-weight:700}@media(max-width:760px){.admin-topbar,.admin-workspace,.section-heading,.house-item{align-items:stretch;flex-direction:column}.admin-nav{flex:auto}.editor-grid{grid-template-columns:1fr}.character-meta,.stat-grid,.stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.exploration-form,.exploration-summary,.cosmetic-columns,.season-metrics,.season-metrics.compact,.season-rankings,.pve-enemy-card,.pve-report-heading,.training-header,.training-metrics,.codex-progress dl,.codex-meta{grid-template-columns:1fr}.codex-filters select{width:100%}}.player-auth-bar{align-items:center;background:#111827;color:#f9fafb;display:flex;gap:1rem;justify-content:flex-end;padding:.75rem 1.25rem}.player-auth-panel{max-width:34rem}.player-signup-link{align-items:center;background:#1f6f5b;border-radius:8px;color:#fff;display:inline-flex;font-weight:700;justify-content:center;min-height:2.75rem;padding:0 1rem;text-decoration:none}.staging-warning{align-items:flex-start;background:#fff7d6;border:1px solid #d8a725;border-radius:10px;box-sizing:border-box;color:#5f4300;display:flex;flex-direction:column;gap:.25rem;max-width:76rem;padding:.8rem 1rem;width:100%}.player-entry-shell{align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr);max-width:76rem;width:100%}.public-content-panel{background:#fffdf8;border:1px solid #d4cfc4;border-radius:12px;box-sizing:border-box;display:grid;gap:1rem;padding:1.5rem}.public-content-panel h2,.public-content-panel h3,.public-content-panel p{margin:0}.public-content-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.public-content-grid article{border-top:2px solid #1f6f5b;display:grid;gap:.75rem;min-width:0;padding-top:.75rem}.public-content-grid ul{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.public-content-grid li{display:grid;gap:.2rem}.public-content-grid span{color:#656b78;font-size:.875rem;overflow-wrap:anywhere}@media(max-width:760px){.player-entry-shell,.public-content-grid{grid-template-columns:1fr}}:root{--color-background-base: #071312;--color-background-elevated: #0c1d1b;--color-background-panel: #122724;--color-background-muted: #17302c;--color-surface-parchment: #f2ead8;--color-text-primary: #f7f1e3;--color-text-secondary: #c7d0c8;--color-text-muted: #8fa39b;--color-ink: #15211f;--color-ink-muted: #5a6762;--color-border-default: rgb(161 190 176 / .24);--color-border-strong: rgb(200 220 206 / .46);--color-accent-primary: #3aa78d;--color-accent-secondary: #8fc7b4;--color-accent-gold: #d8b869;--color-success: #5dc79c;--color-warning: #e4b85b;--color-danger: #df7168;--color-focus-ring: #9de8ce;--color-disabled: #66736e;--font-display: ui-serif, Georgia, "Noto Serif KR", serif;--font-body: Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-numeric: "SFMono-Regular", Consolas, monospace;--font-size-display: clamp(2.65rem, 6vw, 5.4rem);--font-size-page-title: clamp(1.75rem, 3vw, 2.6rem);--font-size-section-title: 1.35rem;--font-size-card-title: 1.125rem;--font-size-body: 1rem;--font-size-body-small: .9375rem;--font-size-caption: .75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-small: .5rem;--radius-medium: .875rem;--radius-large: 1.25rem;--panel-border: 1px solid var(--color-border-default);--shadow-panel: 0 20px 50px rgb(0 0 0 / .22);--overlay: rgb(2 10 9 / .78);--transition-fast: .18s ease;--z-navigation: 30;--z-dialog: 100;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--desktop-shell-width: 96rem;--mobile-nav-height: 4.5rem}html{background:var(--color-background-base);color-scheme:dark}body{background:radial-gradient(circle at 18% 8%,rgb(48 116 99 / .2),transparent 28rem),linear-gradient(145deg,#071312,#0b1a19 54%,#07110f);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-body);line-height:1.55;min-width:320px;overflow-x:hidden}body:before{background-image:linear-gradient(90deg,transparent 49%,rgb(173 207 190 / .035) 50%,transparent 51%),linear-gradient(rgb(173 207 190 / .025) 1px,transparent 1px);background-size:80px 80px,100% 40px;content:"";inset:0;-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);mask-image:linear-gradient(to bottom,black,transparent 80%);pointer-events:none;position:fixed;z-index:-1}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.game-button,.game-icon-button,.game-nav-button{font-weight:800;letter-spacing:-.01em;min-height:44px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.game-button{align-items:center;border:1px solid transparent;border-radius:var(--radius-small);display:inline-flex;justify-content:center;min-height:48px;padding:.7rem 1.15rem}.game-button:hover:not(:disabled){transform:translateY(-1px)}.game-button--primary{background:var(--color-accent-primary);box-shadow:0 8px 24px #1c7e6747;color:#04110e}.game-button--secondary{background:transparent;border-color:var(--color-border-strong);color:var(--color-text-primary)}.game-button--ghost{background:transparent;color:var(--color-text-secondary)}.game-button--danger{background:var(--color-danger);color:#1b0807}.game-button:disabled,.game-nav-button:disabled,.game-icon-button:disabled{background:var(--color-disabled);box-shadow:none;color:#c8cfcb;cursor:not-allowed;opacity:.7}.game-icon-button{align-items:center;aspect-ratio:1;background:var(--color-background-muted);border:var(--panel-border);border-radius:50%;color:var(--color-text-primary);display:inline-flex;justify-content:center;min-width:44px;padding:0}.game-panel{border:var(--panel-border);border-radius:var(--radius-large);box-shadow:var(--shadow-panel);box-sizing:border-box;display:grid;gap:var(--space-5);min-width:0;padding:clamp(1rem,3vw,1.75rem)}.game-panel--ink{background:linear-gradient(150deg,#122724f7,#0a1b19fa)}.game-panel--parchment{background:linear-gradient(90deg,rgb(85 63 32 / .045) 1px,transparent 1px),var(--color-surface-parchment);background-size:32px 100%;border-color:#5348323d;color:var(--color-ink)}.game-panel--parchment .eyebrow,.game-panel--parchment .section-header p,.game-panel--parchment .page-header>div>p:last-child{color:var(--color-ink-muted)}.game-panel--accent{background:linear-gradient(145deg,#173e37,#102b27);border-color:#6bd2af70}.game-card{background:#0a1c1ab3;border:var(--panel-border);border-radius:var(--radius-medium);box-sizing:border-box;display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4)}.game-card.is-selected{border-color:var(--color-accent-primary);box-shadow:inset 4px 0 0 var(--color-accent-primary)}.section-header,.page-header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between}.section-header h2,.page-header h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0}.section-header h2{font-size:var(--font-size-section-title)}.section-header p,.page-header>div>p:last-child{color:var(--color-text-secondary);margin:var(--space-1) 0 0;max-width:48rem}.page-header h1{font-size:var(--font-size-page-title);line-height:1.18}.status-badge,.staging-badge,.house-badge,.resource-chip{align-items:center;display:inline-flex;font-size:var(--font-size-caption);font-weight:800;line-height:1.2;width:fit-content}.status-badge{background:var(--color-background-muted);border:1px solid var(--color-border-default);border-radius:999px;color:var(--color-text-secondary);min-height:28px;padding:.25rem .65rem}.status-badge--active{background:#5dc79c26;border-color:#5dc79c73;color:#9fe6c9}.status-badge--warning{background:#e4b85b26;border-color:#e4b85b73;color:#f1cf88}.status-badge--danger{background:#df716824;border-color:#df716870;color:#f1a19a}.status-badge--gold{background:#d8b86924;border-color:#d8b86970;color:#ead08f}.resource-chip{background:#071312ad;border:var(--panel-border);border-radius:999px;color:var(--color-text-secondary);gap:.35rem;min-height:32px;padding:.3rem .65rem}.resource-chip__glyph{color:var(--color-accent-gold)}.resource-chip__label{color:var(--color-text-muted)}.resource-chip strong{color:var(--color-text-primary);font-family:var(--font-numeric)}.house-badge{gap:var(--space-2)}.house-badge__mark{align-items:center;background:var(--color-accent-primary);border:1px solid rgb(205 238 221 / .52);border-radius:50%;color:#04110e;display:inline-flex;font-family:var(--font-display);font-size:.875rem;height:30px;justify-content:center;width:30px}.character-portrait{align-items:center;aspect-ratio:3 / 4;background:linear-gradient(145deg,#335950,#102925);border:1px solid var(--color-border-strong);border-radius:var(--radius-medium);color:var(--color-accent-gold);display:inline-flex;font-family:var(--font-display);font-size:2rem;justify-content:center;min-height:7rem;overflow:hidden}.character-portrait img{height:100%;object-fit:cover;width:100%}.game-progress{display:grid;gap:var(--space-2)}.game-progress>div{align-items:center;display:flex;font-size:var(--font-size-body-small);justify-content:space-between}.game-progress progress{accent-color:var(--color-accent-primary);height:8px;width:100%}.stat-row{align-items:baseline;border-bottom:1px solid var(--color-border-default);display:grid;gap:var(--space-2);grid-template-columns:1fr auto;min-height:44px;padding:var(--space-2) 0}.stat-row small{color:var(--color-text-muted);grid-column:1 / -1}.stat-row strong{font-family:var(--font-numeric)}.reward-item{align-items:center;display:flex;gap:var(--space-3);min-height:44px}.reward-item>span{color:var(--color-accent-gold)}.reward-item div{display:grid}.reward-item small{color:var(--color-text-muted)}.game-state{align-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-medium);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:var(--space-3);min-height:5rem;padding:var(--space-4)}.game-state p{flex-basis:100%;margin:0}.game-state--error{border-color:#df71688c}.game-spinner{animation:game-spin .8s linear infinite;border:2px solid var(--color-border-strong);border-radius:50%;border-top-color:var(--color-accent-primary);height:18px;width:18px}.feedback-banner{border-left:4px solid var(--color-success);border-radius:var(--radius-small);padding:var(--space-3) var(--space-4)}.feedback-banner--success{background:#5dc79c1f}.feedback-banner--warning{background:#e4b85b1f;border-color:var(--color-warning)}.feedback-banner--danger{background:#df71681f;border-color:var(--color-danger)}.staging-badge{background:#d8b8691f;border:1px solid rgb(216 184 105 / .42);border-radius:999px;color:#ead08f;gap:var(--space-2);min-height:28px;padding:.2rem .65rem}.staging-badge>span{background:var(--color-warning);border-radius:50%;height:7px;width:7px}.game-dialog-backdrop{align-items:center;background:var(--overlay);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-dialog)}.game-dialog{background:var(--color-surface-parchment);border:1px solid rgb(216 184 105 / .4);border-radius:var(--radius-large);box-shadow:var(--shadow-panel);box-sizing:border-box;color:var(--color-ink);display:grid;gap:var(--space-4);max-height:calc(100dvh - 2rem);max-width:30rem;overflow:auto;padding:var(--space-6);width:100%}.game-dialog h2,.game-dialog p{margin:0}.game-dialog .game-button--ghost,.game-dialog .game-button--secondary{color:var(--color-ink)}.game-shell{display:grid;grid-template-columns:15rem minmax(0,1fr) 17rem;margin:0 auto;max-width:var(--desktop-shell-width);min-height:calc(100vh - 3.6rem);width:100%}.desktop-game-nav{border-right:var(--panel-border);display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-6) var(--space-4);position:sticky;top:0;height:100vh;box-sizing:border-box}.desktop-game-nav__brand{align-items:center;display:flex;gap:var(--space-3)}.desktop-game-nav__brand>span{align-items:center;border:1px solid var(--color-accent-gold);border-radius:50%;color:var(--color-accent-gold);display:flex;font-family:var(--font-display);height:44px;justify-content:center;width:44px}.desktop-game-nav__brand div{display:grid}.desktop-game-nav__brand strong{font-family:var(--font-display);font-size:1.2rem}.desktop-game-nav__brand small{color:var(--color-text-muted);font-size:.625rem;letter-spacing:.14em}.desktop-game-nav__items{display:grid;gap:var(--space-1)}.game-nav-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-small);color:var(--color-text-muted);display:flex;gap:var(--space-3);justify-content:flex-start;padding:.5rem .7rem;text-align:left}.game-nav-button:hover{background:#3aa78d14;color:var(--color-text-primary)}.game-nav-button[aria-current=page]{background:#3aa78d24;border-color:#3aa78d4d;box-shadow:inset 3px 0 0 var(--color-accent-primary);color:var(--color-text-primary)}.game-nav-button__glyph{align-items:center;border:1px solid currentColor;border-radius:50%;display:flex;font-family:var(--font-display);height:27px;justify-content:center;width:27px}.game-shell__stage{min-width:0}.game-shell__content{box-sizing:border-box;display:grid;gap:var(--space-6);padding:var(--space-8)}.mobile-status-bar,.mobile-game-nav{display:none}.game-shell__side-status{align-content:start;border-left:var(--panel-border);display:grid;gap:var(--space-4);min-width:0;padding:var(--space-8) var(--space-5)}.game-shell__side-status p{color:var(--color-text-secondary);margin:0}.more-navigation__grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.more-navigation .game-nav-button{color:var(--color-ink-muted);border-color:#36494238}.more-navigation .game-nav-button[aria-current=page]{color:var(--color-ink)}.game-home-grid{display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr)}.game-home-mission{background:linear-gradient(115deg,#194c44f5,#081e1dfa),var(--color-background-panel);grid-column:1 / -1;isolation:isolate;overflow:hidden;position:relative}.game-home-mission:before,.game-home-mission:after{border:1px solid rgb(216 184 105 / .2);border-radius:50%;content:"";position:absolute;z-index:-1}.game-home-mission:before{height:20rem;right:-5rem;top:-11rem;width:20rem}.game-home-mission:after{border-color:#3aa78d24;bottom:-9rem;height:18rem;left:28%;width:18rem}.game-home-mission__topline{align-items:center;border-bottom:1px solid rgb(221 232 225 / .12);display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;padding-bottom:var(--space-4)}.game-home-mission__topline .eyebrow,.game-home-mission__topline strong{margin:0}.game-home-mission__topline strong{font-family:var(--font-display);font-size:1.05rem}.game-home-mission__crest{align-items:center;background:#d8b8691a;border:1px solid rgb(216 184 105 / .5);border-radius:50%;color:var(--color-accent-gold);display:flex;font-family:var(--font-display);height:48px;justify-content:center;width:48px}.game-home-mission__copy{display:grid;gap:var(--space-2);margin:var(--space-6) 0;max-width:46rem}.game-home-mission__copy h1,.game-home-mission__copy p{margin:0}.game-home-mission__copy h1{font-size:clamp(2rem,4vw,3.4rem);max-width:13ch}.game-home-mission__copy>p:last-child{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:1.6}.game-home-mission__kicker{color:var(--color-accent-gold);font-size:var(--font-size-body-small);font-weight:800;letter-spacing:.08em}.game-home-mission__path{display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 var(--space-5);max-width:44rem;padding:0}.game-home-mission__path li{align-items:center;display:grid;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);min-width:0;position:relative}.game-home-mission__path li:not(:last-child):after{background:#dde8e12e;content:"";height:1px;left:38px;position:absolute;right:10px;top:17px}.game-home-mission__path li>span{align-items:center;background:var(--color-background-base);border:1px solid var(--color-border-strong);border-radius:50%;display:flex;font-family:var(--font-display);height:34px;justify-content:center;position:relative;width:34px;z-index:1}.game-home-mission__path li div{display:grid;min-width:0}.game-home-mission__path small{color:var(--color-text-muted);font-size:var(--font-size-caption)}.game-home-mission__path strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-home-mission__path .is-complete>span{border-color:var(--color-success);color:var(--color-success)}.game-home-mission__path .is-current>span{background:var(--color-accent-primary);border-color:var(--color-accent-secondary);box-shadow:0 0 0 5px #3aa78d21;color:#041411}.game-home-mission__path .is-current small{color:var(--color-accent-secondary)}.game-home-mission__action{align-items:center;background:#030f0e75;border:1px solid rgb(58 167 141 / .26);border-radius:var(--radius-medium);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4)}.game-home-mission__action>div{display:grid;gap:var(--space-1)}.game-home-mission__action>div span{color:var(--color-text-muted);font-size:var(--font-size-caption)}.game-home-mission__action .game-button{flex:0 0 auto}.resource-summary{display:grid;gap:var(--space-3);grid-template-columns:1fr}.home-resource-card{align-items:center;display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-height:4.5rem}.home-resource-card__glyph{align-items:center;border:1px solid rgb(216 184 105 / .38);border-radius:50%;color:var(--color-accent-gold);display:flex;font-family:var(--font-display);height:40px;justify-content:center;width:40px}.home-resource-card>div{display:grid}.home-resource-card strong{font-family:var(--font-numeric);font-size:1.2rem}.home-resource-card small{color:var(--color-text-muted);font-size:var(--font-size-caption)}.game-home-readiness__note{border-top:1px solid var(--color-border-default);color:var(--color-text-muted);font-size:var(--font-size-body-small);margin:var(--space-4) 0 0;padding-top:var(--space-4)}.home-character-card{align-items:stretch;display:grid;gap:var(--space-4);grid-template-columns:7rem minmax(0,1fr)}.home-character-card h3,.home-character-card p{margin:0}.home-character-card p{color:var(--color-text-secondary)}@keyframes game-spin{to{transform:rotate(360deg)}}@media(max-width:1279px){.game-shell{display:block;min-height:100vh;padding-bottom:calc(var(--mobile-nav-height) + var(--safe-area-bottom))}.desktop-game-nav,.game-shell__side-status{display:none}.mobile-status-bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071312f0;border-bottom:var(--panel-border);display:flex;gap:var(--space-4);justify-content:space-between;min-height:4.75rem;padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:var(--z-navigation)}.mobile-status-bar__identity,.mobile-status-bar__resources{align-items:center;display:flex;gap:var(--space-2);min-width:0}.mobile-status-bar__identity>div{display:grid;min-width:0}.mobile-status-bar__identity strong,.mobile-status-bar__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-status-bar__identity small{color:var(--color-text-muted);font-size:var(--font-size-caption)}.mobile-status-bar .house-badge>span:last-child{display:none}.mobile-status-bar .resource-chip__label{display:none}.mobile-game-nav{background:#071312fa;border-top:var(--panel-border);bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;min-height:calc(var(--mobile-nav-height) + var(--safe-area-bottom));padding:var(--space-1) var(--space-2) var(--safe-area-bottom);position:fixed;right:0;z-index:var(--z-navigation)}.mobile-game-nav .game-nav-button{align-items:center;flex-direction:column;font-size:var(--font-size-caption);gap:.15rem;justify-content:center;min-height:56px;padding:.2rem;text-align:center}.mobile-game-nav .game-nav-button[aria-current=page]{background:transparent;border-color:transparent;box-shadow:inset 0 3px 0 var(--color-accent-primary);color:var(--color-accent-secondary)}.mobile-game-nav .game-nav-button__glyph{border:0;height:24px;width:24px}.game-shell__content{margin:0 auto;max-width:60rem;padding:var(--space-6)}}@media(max-width:760px){:root{--font-size-page-title: clamp(1.5rem, 8vw, 1.9rem)}.game-shell__content{padding:var(--space-4)}.mobile-status-bar{padding-inline:var(--space-4)}.mobile-status-bar__resources .resource-chip:nth-child(2){display:none}.section-header,.page-header{align-items:stretch;flex-direction:column}.game-home-grid{grid-template-columns:1fr}.game-home-mission{grid-column:auto;padding:var(--space-4)}.game-home-mission__topline{grid-template-columns:auto minmax(0,1fr)}.game-home-mission__topline .status-badge{grid-column:2;justify-self:start}.game-home-mission__copy{margin:var(--space-5) 0}.game-home-mission__copy h1{font-size:clamp(1.9rem,9vw,2.45rem)}.game-home-mission__path li{align-content:start;grid-template-columns:1fr}.game-home-mission__path{margin:var(--space-5) 0 0;order:2}.game-home-mission__path li:not(:last-child):after{left:34px;right:4px}.game-home-mission__path strong{font-size:var(--font-size-body-small);white-space:normal}.game-home-mission__action{align-items:stretch;flex-direction:column;order:1}.game-home-mission__action .game-button{width:100%}.home-character-card{grid-template-columns:5.5rem minmax(0,1fr)}.home-character-card .character-portrait{min-height:7.3rem}.more-navigation__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.landing-shell{box-sizing:border-box;display:grid;gap:clamp(1.5rem,4vw,3.5rem);margin:0 auto;max-width:88rem;min-height:100vh;overflow:hidden;padding:var(--space-5) clamp(1rem,5vw,4rem) var(--space-10);position:relative}.landing-shell:before{background:linear-gradient(90deg,transparent 49.8%,rgb(143 199 180 / .055) 50%,transparent 50.2%),linear-gradient(rgb(216 184 105 / .045) 1px,transparent 1px);background-size:100% 100%,100% 4.5rem;content:"";inset:0;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 82%);mask-image:linear-gradient(to bottom,#000,transparent 82%);pointer-events:none;position:absolute}.landing-topbar{align-items:center;display:flex;justify-content:space-between;position:relative;z-index:2}.landing-brand{align-items:center;color:var(--color-text-primary);display:inline-flex;font-family:var(--font-display);font-size:1.3rem;gap:var(--space-3);min-height:44px;text-decoration:none}.landing-brand>span:first-child{align-items:center;border:1px solid var(--color-accent-gold);border-radius:50%;color:var(--color-accent-gold);display:inline-flex;height:40px;justify-content:center;width:40px}.landing-brand__wordmark{display:grid;gap:.08rem}.landing-brand__wordmark small{color:var(--color-text-muted);font-family:var(--font-sans);font-size:.58rem;font-weight:800;letter-spacing:.17em}.landing-hero{align-items:center;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(34rem,1.05fr) minmax(24rem,.85fr);min-height:clamp(32rem,calc(100svh - 8.5rem),44rem);position:relative;z-index:1}.landing-hero__copy{display:grid;gap:var(--space-5);max-width:47rem;position:relative;z-index:2}.landing-hero .eyebrow{color:var(--color-accent-secondary);letter-spacing:.14em}.landing-hero h1{font-family:var(--font-display);font-size:var(--font-size-display);font-weight:700;letter-spacing:-.055em;line-height:1.08;margin:0;text-wrap:balance}.landing-lead{color:var(--color-text-secondary);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.6;margin:0}.landing-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.landing-actions .game-button{min-width:11rem}.landing-actions .game-button--primary{box-shadow:0 14px 36px #168e7433}.landing-entry-note{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem}.landing-entry-note span{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-caption);gap:.5rem}.landing-entry-note span:before{background:var(--color-accent-gold);border-radius:50%;box-shadow:0 0 12px #d8b86973;content:"";height:5px;width:5px}.landing-scene{aspect-ratio:1.08;background:radial-gradient(circle at 50% 39%,rgb(216 184 105 / .12),transparent 29%),linear-gradient(145deg,#0a2522e0,#031110f5);border:1px solid rgb(216 184 105 / .24);border-radius:50% 50% 8% 8%/12% 12% 8% 8%;box-shadow:inset 0 -7rem 8rem #00000080,inset 0 0 4rem #3aa78d14,0 28px 80px #00000057;isolation:isolate;justify-self:end;max-width:39rem;overflow:hidden;position:relative;width:100%}.landing-scene:before{background:linear-gradient(90deg,transparent 49.7%,rgb(143 199 180 / .12) 50%,transparent 50.3%),linear-gradient(transparent 49.7%,rgb(216 184 105 / .08) 50%,transparent 50.3%);background-size:4.2rem 100%,100% 4.2rem;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at 50% 43%,#000,transparent 72%);mask-image:radial-gradient(circle at 50% 43%,#000,transparent 72%);pointer-events:none;position:absolute}.landing-scene__sky{border:1px solid rgb(143 199 180 / .13);border-radius:50%;height:82%;left:9%;position:absolute;top:-24%;width:82%}.landing-scene__sky:before,.landing-scene__sky:after{border:1px dashed rgb(216 184 105 / .13);border-radius:50%;content:"";inset:12%;position:absolute}.landing-scene__sky:after{border-style:solid;inset:27%}.landing-scene__archive{border-bottom:1px solid rgb(216 184 105 / .22);bottom:16%;height:38%;left:17%;position:absolute;width:66%}.landing-scene__archive:before{border-bottom:2.6rem solid rgb(20 54 48 / .95);border-left:5.2rem solid transparent;border-right:5.2rem solid transparent;content:"";filter:drop-shadow(0 -1px 0 rgb(216 184 105 / .32));left:-9%;position:absolute;top:-12%;width:118%}.landing-scene__archive:after{background:linear-gradient(90deg,#d8b8692e,#8fc7b452,#d8b8692e);box-shadow:0 0 24px #3aa78d3d;content:"";height:1px;left:-6%;position:absolute;top:22%;width:112%}.landing-scene__archive>span{background:linear-gradient(to bottom,#0e312ce6,#041614fa);border:1px solid rgb(216 184 105 / .2);bottom:0;position:absolute;top:22%;width:18%}.landing-scene__archive>span:nth-child(1){left:4%}.landing-scene__archive>span:nth-child(2){left:41%}.landing-scene__archive>span:nth-child(3){right:4%}.landing-scene__seal{align-items:center;background:#051f1ce0;border:1px solid rgb(216 184 105 / .52);border-radius:50%;box-shadow:0 0 0 .7rem #3aa78d0f,0 0 0 1.2rem #d8b8690d,0 0 3.5rem #3aa78d4d;display:flex;flex-direction:column;height:24%;justify-content:center;left:38%;position:absolute;top:31%;width:24%;z-index:2}.landing-scene__seal:before,.landing-scene__seal:after{border:1px solid rgb(143 199 180 / .28);content:"";inset:12%;position:absolute;transform:rotate(45deg)}.landing-scene__seal:after{inset:22%;transform:rotate(0)}.landing-scene__seal span{color:var(--color-accent-gold);font-family:var(--font-display);font-size:clamp(1.6rem,3.8vw,3.1rem);position:relative;z-index:1}.landing-scene__seal small{color:var(--color-text-muted);font-size:.58rem;letter-spacing:.2em;position:relative;z-index:1}.landing-scene__houses>span{align-items:center;color:var(--color-text-secondary);display:grid;gap:.1rem;justify-items:center;position:absolute;z-index:3}.landing-scene__houses b{align-items:center;background:#051c19e0;border:1px solid rgb(216 184 105 / .28);border-radius:50%;color:#ead08f;display:flex;font-family:var(--font-display);font-size:clamp(.8rem,1.6vw,1.1rem);height:clamp(2rem,4.2vw,3rem);justify-content:center;width:clamp(2rem,4.2vw,3rem)}.landing-scene__houses small{color:var(--color-text-muted);font-size:.62rem}.landing-scene__houses>span:nth-child(1){left:11%;top:18%}.landing-scene__houses>span:nth-child(2){right:11%;top:18%}.landing-scene__houses>span:nth-child(3){bottom:25%;left:8%}.landing-scene__houses>span:nth-child(4){bottom:25%;right:8%}.landing-scene__caption{bottom:5%;display:grid;gap:.22rem;left:0;position:absolute;text-align:center;width:100%;z-index:3}.landing-scene__caption span{color:var(--color-accent-secondary);font-size:.65rem;font-weight:800;letter-spacing:.16em}.landing-scene__caption strong{font-family:var(--font-display);font-size:clamp(1rem,2vw,1.35rem)}.landing-chronicle{border-bottom:var(--panel-border);border-top:var(--panel-border);display:grid;gap:var(--space-6);padding:var(--space-8) 0;position:relative;z-index:1}.landing-chronicle header{display:grid;gap:var(--space-2)}.landing-chronicle h2,.landing-chronicle p{margin:0}.landing-chronicle h2{font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2.6rem)}.landing-chronicle>p{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:1.7;max-width:51rem}.landing-chronicle ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}.landing-chronicle li{align-items:center;display:flex;gap:var(--space-3);min-width:0;position:relative}.landing-chronicle li:not(:last-child):after{background:linear-gradient(90deg,#d8b86985,#3aa78d33);content:"";height:1px;position:absolute;right:var(--space-3);top:50%;width:calc(100% - 8.3rem)}.landing-chronicle li>span{align-items:center;border:1px solid rgb(216 184 105 / .42);border-radius:50%;color:var(--color-accent-gold);display:inline-flex;flex:none;font-family:var(--font-display);height:2.3rem;justify-content:center;width:2.3rem}.landing-chronicle li strong{font-size:var(--font-size-body-small);white-space:nowrap}.landing-season{align-items:center;background:linear-gradient(90deg,rgb(58 167 141 / .08),transparent);border-left:2px solid var(--color-accent-gold);display:grid;gap:var(--space-5);grid-template-columns:minmax(12rem,.35fr) minmax(18rem,.65fr);padding:var(--space-5) var(--space-6);position:relative;z-index:1}.landing-season div{display:grid;gap:var(--space-1)}.landing-season span{color:var(--color-accent-secondary);font-size:var(--font-size-caption);font-weight:800;letter-spacing:.12em}.landing-season strong{font-family:var(--font-display);font-size:var(--font-size-section-title)}.landing-season p{color:var(--color-text-secondary);line-height:1.65;margin:0}.landing-staging-note{color:var(--color-text-muted);font-size:var(--font-size-caption);margin:0;text-align:center}.auth-shell{display:grid;grid-template-columns:minmax(20rem,.9fr) minmax(28rem,1.1fr);min-height:100vh}.auth-world-panel{background:radial-gradient(circle at 50% 30%,rgb(58 167 141 / .22),transparent 20rem),linear-gradient(145deg,#0b211e,#071312);border-right:var(--panel-border);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(1.5rem,5vw,4rem);position:relative}.auth-world-panel>div{display:grid;gap:var(--space-4);max-width:31rem;position:relative;z-index:1}.auth-world-panel h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em;line-height:1.16;margin:0}.auth-world-panel p{color:var(--color-text-secondary);font-size:1.05rem;margin:0}.auth-world-panel__mark{bottom:-4rem;color:#d8b8690e;font-family:var(--font-display);font-size:clamp(5rem,13vw,12rem);letter-spacing:.15em;position:absolute;right:-3rem;transform:rotate(-7deg);white-space:nowrap}.auth-form-column{align-content:center;display:grid;gap:var(--space-4);justify-items:center;padding:clamp(1rem,5vw,4rem)}.auth-form-column>*{max-width:32rem;width:100%}.player-auth-panel{color:var(--color-ink);max-width:32rem}.player-auth-panel h1{font-family:var(--font-display);font-size:var(--font-size-page-title);margin:0}.player-auth-panel>p:not(.eyebrow):not(.status){color:var(--color-ink-muted);margin:0}.player-auth-panel .admin-form{margin-top:var(--space-2)}.player-auth-panel .admin-form label{color:var(--color-ink);font-size:var(--font-size-body-small)}.player-auth-panel .admin-form input{background:#fffdf7c7;border:1px solid rgb(48 68 61 / .34);border-radius:var(--radius-small);color:var(--color-ink);font-size:1rem;min-height:48px;padding:.75rem}.player-auth-panel .game-button--ghost{color:var(--color-ink-muted)}.auth-back-button{background:transparent;color:var(--color-ink-muted);justify-self:start;min-height:44px;padding:0;width:fit-content}.field-hint{color:var(--color-ink-muted);font-size:var(--font-size-caption);margin:-.25rem 0 0}.auth-privacy-note{color:var(--color-text-muted);font-size:var(--font-size-caption);margin:0;text-align:center}.staging-warning{align-items:center;background:#d8b86917;border-color:#d8b86959;color:#eadbb3;flex-direction:row;font-size:var(--font-size-caption);max-width:32rem}.staging-warning .staging-badge{flex:none}.player-signup-link{background:transparent;border:1px solid rgb(48 68 61 / .38);color:var(--color-ink);min-height:48px}.player-auth-bar{background:#06110f;border-bottom:var(--panel-border);color:var(--color-text-secondary);min-height:3.6rem;padding:.5rem clamp(1rem,3vw,2rem)}.player-auth-bar button{background:transparent;border:1px solid var(--color-border-default);color:var(--color-text-secondary);min-height:40px}@media(max-width:1100px){.landing-hero{grid-template-columns:minmax(0,1fr) minmax(20rem,.72fr)}.landing-hero h1{font-size:clamp(3rem,6vw,4.25rem)}}@media(max-width:900px){.landing-hero{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(17rem,.72fr)}.landing-chronicle ol{gap:var(--space-4) 0;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-chronicle li:not(:last-child):after{display:none}.auth-shell{grid-template-columns:1fr}.auth-world-panel{display:none}}@media(max-width:640px){.landing-shell{gap:var(--space-5);min-height:100dvh;padding:var(--space-4) var(--space-4) var(--space-6)}.landing-brand{font-size:1.1rem}.landing-brand>span:first-child{height:36px;width:36px}.landing-brand__wordmark small{display:none}.landing-hero{align-content:center;display:grid;grid-template-columns:1fr;min-height:34rem}.landing-hero__copy{gap:var(--space-4);max-width:100%}.landing-hero h1{font-size:clamp(2.05rem,10.5vw,2.65rem);line-height:1.1;max-width:22rem;text-shadow:0 2px 18px rgb(0 14 13 / .95)}.landing-lead{font-size:1rem;max-width:20rem;text-shadow:0 1px 12px rgb(0 14 13 / .95)}.landing-actions{display:grid;grid-template-columns:1fr;max-width:24rem}.landing-actions .game-button{min-height:52px;min-width:0;width:100%}.landing-entry-note{gap:.35rem 1rem}.landing-scene{aspect-ratio:1;border-color:transparent;border-radius:50%;box-shadow:none;opacity:.52;position:absolute;right:-8.5rem;top:-1rem;width:23rem;z-index:0}.landing-scene:after{background:linear-gradient(90deg,var(--color-bg-deep) 0%,transparent 45%);content:"";inset:0;position:absolute;z-index:4}.landing-scene__caption,.landing-scene__houses small{display:none}.landing-chronicle{gap:var(--space-5);padding:var(--space-6) 0}.landing-chronicle ol{gap:var(--space-4);grid-template-columns:1fr}.landing-chronicle li:not(:last-child):after{background:linear-gradient(#d8b86975,#3aa78d33);display:block;height:calc(100% + var(--space-4));left:1.13rem;right:auto;top:1.25rem;width:1px}.landing-season{gap:var(--space-3);grid-template-columns:1fr;padding:var(--space-5)}.auth-form-column{align-content:start;min-height:100dvh;padding:var(--space-4)}.player-auth-panel{padding:var(--space-5) var(--space-4)}.staging-warning{align-items:flex-start}}[hidden]{display:none!important}.recommendation-shell{align-items:center;background:radial-gradient(circle at 50% 12%,rgb(58 167 141 / .14),transparent 27rem),transparent;color:var(--color-text-primary);padding:clamp(1rem,4vw,3rem)}.recommendation-shell>.recommendation-panel{background:linear-gradient(150deg,#122724fa,#091816fa);border:var(--panel-border);border-radius:var(--radius-large);box-shadow:var(--shadow-panel);box-sizing:border-box;gap:var(--space-5);max-width:48rem;padding:clamp(1.25rem,4vw,2.25rem)}.recommendation-panel>h1{font-family:var(--font-display);font-size:var(--font-size-page-title);letter-spacing:-.035em;line-height:1.22;margin:0}.recommendation-panel>p:not(.eyebrow):not(.status){color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin:0}.recommendation-panel .eyebrow{color:var(--color-accent-secondary);letter-spacing:.12em}.recommendation-panel button{min-height:48px}.recommendation-actions{gap:var(--space-3)}.recommendation-actions button:first-child:not(:disabled){background:var(--color-accent-primary);color:#04110e}.recommendation-actions button:not(:first-child){background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-primary)}.answer-list{gap:var(--space-3)}.answer{background:#f2ead80f;border:1px solid var(--color-border-default);border-radius:var(--radius-medium);color:var(--color-text-primary);font-size:1rem;line-height:1.5;min-height:58px;padding:var(--space-4)}.answer:hover{border-color:var(--color-accent-secondary)}.answer.selected{background:#3aa78d2e;border-color:var(--color-accent-primary);box-shadow:inset 4px 0 0 var(--color-accent-primary);color:var(--color-text-primary)}.answer.selected:after{content:"선택됨";color:var(--color-accent-secondary);float:right;font-size:var(--font-size-caption)}.house-list,.result-list{gap:var(--space-4)}.house-item,.result-item{background:#0819179e;border-color:var(--color-border-default);border-radius:var(--radius-medium);min-width:0;padding:var(--space-5)}.house-item h2,.result-item h2{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--font-size-card-title)}.house-item p,.result-item p{color:var(--color-text-secondary);line-height:1.55}.tag-list li{background:#3aa78d21;color:var(--color-accent-secondary);font-size:var(--font-size-caption)}.guide-dialogue{background:#f2ead80f;border-radius:0 var(--radius-medium) var(--radius-medium) 0;padding:var(--space-4)}.tutorial-panel{min-height:min(42rem,calc(100dvh - 3rem))}.tutorial-panel .eyebrow:after{background:var(--color-background-muted);border-radius:999px;content:"";display:block;height:6px;margin-top:var(--space-3);width:100%}.game-shell__content>section:not(.game-home-grid):not(.game-panel){display:grid;gap:var(--space-5)}.game-shell__content>section>.page-header{margin-bottom:var(--space-2)}.game-shell .character-roster,.game-shell .inventory-panel,.game-shell .season-panel,.game-shell .cosmetics-panel,.game-shell .exploration-panel,.game-shell .pve-panel,.game-shell .party-panel,.game-shell .codex-panel,.game-shell .alliance-panel{background:linear-gradient(150deg,#122724f7,#0a1b19fa);border:var(--panel-border);border-radius:var(--radius-large);box-sizing:border-box;box-shadow:var(--shadow-panel);color:var(--color-text-primary);padding:clamp(1rem,3vw,1.5rem)}.game-shell .character-card,.game-shell .character-detail,.game-shell .pve-report,.game-shell .party-report,.game-shell .codex-detail{background:#071412a3;border-color:var(--color-border-default);color:var(--color-text-primary)}.game-shell .inventory-item,.game-shell .equipment-slot,.game-shell .cosmetic-card,.game-shell .season-ranking-list li,.game-shell .season-report-list li,.game-shell .season-archive li,.game-shell .party-list-item,.game-shell .party-detail,.game-shell .codex-card{background:var(--color-surface-parchment);border-color:#404c4442;color:var(--color-ink)}.game-shell .character-meta div,.game-shell .stat-grid div,.game-shell .season-metrics div,.game-shell .training-metrics div,.game-shell .exploration-summary div,.game-shell .party-times div,.game-shell .pve-enemy-meta div,.game-shell .codex-progress dl div,.game-shell .codex-meta div{background:#f2ead80b;border-color:var(--color-border-default)}.game-shell .character-meta dt,.game-shell .stat-grid dt,.game-shell .season-metrics dt,.game-shell .training-metrics dt,.game-shell .exploration-summary dt,.game-shell .party-times dt,.game-shell .pve-enemy-meta dt,.game-shell .codex-progress dt,.game-shell .codex-meta dt,.game-shell .stat-formula{color:var(--color-text-muted)}.game-shell input,.game-shell select,.game-shell textarea{background:var(--color-surface-parchment);border-color:#404c4452;color:var(--color-ink);min-height:44px}.game-shell button{min-height:44px}.game-shell .exploration-form>button,.game-shell .pve-form>button{min-height:48px}.game-shell .empty-state{border-color:var(--color-border-strong);color:var(--color-text-secondary)}.game-shell .loading{color:var(--color-text-secondary)}.game-shell .failure{color:#f1a19a}@media(max-width:760px){.recommendation-shell{align-items:stretch;padding:var(--space-4)}.recommendation-shell>.recommendation-panel{align-content:center;min-height:calc(100dvh - 2rem);padding:var(--space-5) var(--space-4)}.recommendation-actions{display:grid;grid-template-columns:1fr}.recommendation-actions button{min-width:0;width:100%}.house-list{display:flex;margin-inline:calc(var(--space-4) * -1);overflow-x:auto;padding:0 var(--space-4) var(--space-2);scroll-padding-inline:var(--space-4);scroll-snap-type:x mandatory}.house-item{align-items:stretch;flex:0 0 calc(100% - 2rem);scroll-snap-align:center}.result-list{grid-template-columns:1fr}.game-shell .character-meta,.game-shell .stat-grid,.game-shell .stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.game-shell .pve-enemy-card,.game-shell .pve-report-heading{grid-template-columns:5.5rem minmax(0,1fr)}.game-shell .pve-image{height:5.5rem;width:5.5rem}.game-shell .exploration-form,.game-shell .pve-form,.game-shell .party-form,.game-shell .codex-list{grid-template-columns:1fr}.game-shell .codex-filters{align-items:stretch;display:grid;grid-template-columns:1fr}.game-shell .codex-filters label,.game-shell .codex-filters select{width:100%}}
