:root{--bg:#080a0f;--panel:#11151d;--line:#293040;--ink:#eee8dc;--muted:#9da5b4;--gold:#d4aa62;--red:#b84f58;--green:#63b891}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,"Noto Sans KR",sans-serif}button,input,select,textarea{font:inherit}button{border:1px solid #76613e;background:linear-gradient(180deg,#d6ad66,#ad7e3d);color:#130f09;padding:.72rem 1rem;border-radius:8px;cursor:pointer;font-weight:700}button:disabled{opacity:.35;cursor:not-allowed}.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle,#1c1d24,#06070a 70%);padding:2rem}.gate[hidden]{display:none}.gate>div{max-width:620px;text-align:center;border:1px solid var(--line);background:#0d1017;padding:3rem;border-radius:18px}.gate h1{font-family:Georgia,serif;font-size:3.4rem;letter-spacing:.12em}.gate button{margin:.5rem}.eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.25em}header{height:64px;display:flex;align-items:center;gap:2rem;padding:0 3vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(8,10,15,.94);z-index:10}.brand{color:var(--ink);text-decoration:none;font-family:Georgia,serif;font-size:1.3rem;letter-spacing:.15em}.brand span{color:var(--gold)}.wallet{display:flex;gap:1.6rem;margin-left:auto;color:var(--muted);font-size:.8rem}.wallet b{color:var(--ink);display:block}nav{display:flex;gap:.4rem;padding:.7rem 3vw;background:#0b0e14;border-bottom:1px solid var(--line);overflow:auto;position:sticky;top:64px;z-index:9}nav button{background:transparent;border:0;color:var(--muted);white-space:nowrap}nav button.active{color:var(--gold);background:#191b21}.panel{display:none;padding:2.5rem 3vw;max-width:1440px;margin:auto}.panel.active{display:block}.stage{min-height:700px;background-size:cover;background-position:center;border:1px solid var(--line);padding:3vw;display:flex;flex-direction:column;justify-content:space-between}.chapter-head{display:flex;justify-content:space-between}.chapter-head h1{font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(2rem,4vw,4rem);margin:.2rem 0}.chapter-head p{color:var(--gold)}.score{text-align:right}.score b{display:block;font-size:2.5rem}.score span{color:var(--muted)}.progress{height:4px;background:#333}.progress i{display:block;height:100%;background:var(--gold);transition:.3s}.story-grid{display:grid;grid-template-columns:280px 1fr;gap:1rem;align-items:end}.story-grid aside,.dialogue-box{background:rgba(7,9,13,.9);border:1px solid var(--line);padding:1.4rem;backdrop-filter:blur(12px)}#mission-list{list-style:none;padding:0}#mission-list li{display:flex;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid var(--line);color:var(--muted)}#mission-list li.done{color:var(--green)}.dialogue-box>p{font-family:Georgia,"Noto Serif KR",serif;font-size:1.25rem;line-height:1.8;min-height:90px}.dialogue-box>b{color:var(--gold)}.choices{display:grid;gap:.6rem}.choices button{text-align:left;background:#171b23;color:var(--ink);border-color:#3a4354}.tip,.muted{color:var(--muted);font-size:.85rem}.section-title{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.section-title h2{font-size:2.5rem;margin:.2rem 0}.section-title>p{max-width:560px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1rem 0 2rem}.shop-card,.tool,.mini-card{background:var(--panel);border:1px solid var(--line);padding:1.2rem;border-radius:10px}.shop-card b{display:block;margin:.4rem 0}.shop-card p{color:var(--muted);min-height:2.6rem}.shop-card select{width:100%;margin-bottom:.5rem}.stat-row{display:flex;gap:1rem;flex-wrap:wrap;background:#0e1118;border:1px solid var(--line);padding:1rem}.stat-row span,.stat-row b{padding:.5rem 1rem;border-right:1px solid var(--line)}.console,.trade-desk{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;background:#10141c;border:1px solid var(--line);padding:1.3rem}.console label,.trade-desk label,.tool label{display:grid;gap:.4rem;color:var(--muted);font-size:.85rem}.console p{width:100%;color:var(--muted);margin:0}.trade-desk input,.trade-desk select,.tool input,.tool select,.tool textarea,.shop-card select{background:#090c11;color:var(--ink);border:1px solid var(--line);padding:.7rem;border-radius:6px}.check{display:flex!important}.risk{margin-top:1rem;padding:1rem;border-left:3px solid var(--red);background:#1a1115;color:#d8b9bd}.people{display:grid;gap:1rem}.person{display:grid;grid-template-columns:110px 1fr;gap:1.2rem;background:var(--panel);border:1px solid var(--line);padding:1rem}.person img{width:110px;height:140px;object-fit:cover;object-position:top}.meters{color:var(--gold)}.unlocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.unlock{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:1rem;border:1px solid var(--line);background:#0e1117;filter:grayscale(1)}.unlock.open{filter:none;border-color:#695536}.unlock img{width:100px;height:150px;object-fit:cover}.unlock p,.unlock small{color:var(--muted)}.unlock button{margin-top:.7rem}.creator-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.tool label{margin:.7rem 0}.tool textarea{min-height:100px;resize:vertical}.tool pre{white-space:pre-wrap;max-height:300px;overflow:auto;background:#080a0e;padding:1rem}.status{padding:.8rem;background:#0b0e13}.status[data-type=ok]{color:var(--green)}.status[data-type=warn]{color:#e2a2a8}.button-row{display:flex;gap:.6rem;margin-top:.8rem}.file{display:inline-block;background:#171b23;border:1px solid var(--line);padding:.7rem;border-radius:8px;cursor:pointer}.file input{display:none}.drafts{display:grid;gap:.6rem;margin-top:1rem}.mini-card p{color:var(--muted)}#toast{position:fixed;right:2rem;bottom:2rem;padding:1rem 1.4rem;background:#242a34;border:1px solid var(--gold);transform:translateY(150%);transition:.25s;z-index:60}#toast.show{transform:none}@media(max-width:800px){header{gap:.5rem}.wallet span:nth-child(3){display:none}.story-grid{grid-template-columns:1fr}.stage{padding:1rem}.creator-grid{grid-template-columns:1fr}.section-title{display:block}.person{grid-template-columns:80px 1fr}.person img{width:80px;height:110px}}
