:root{--bg: #0b0b0c;--panel: #0f0f11;--ink: #e8e5dc;--dim: #a39e92;--faint: #6b675e;--line: rgba(232, 229, 220, .14);--line2: rgba(232, 229, 220, .42)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:"Noto Serif KR",serif;line-height:1.9;word-break:keep-all;-webkit-font-smoothing:antialiased;min-height:100dvh}.mono{font-family:Nanum Gothic Coding,monospace}button{font-family:inherit}::selection{background:var(--ink);color:var(--bg)}.title-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.title-inner{max-width:480px;width:100%;text-align:center;border:1px solid var(--line2);padding:clamp(32px,8vw,56px) clamp(20px,6vw,40px)}.title-inner .over{font-size:10px;letter-spacing:.34em;color:var(--dim)}.title-inner h1{font-size:clamp(38px,12vw,56px);font-weight:900;letter-spacing:.06em;margin:14px 0 6px}.title-inner .sub{font-size:14px;color:var(--dim);letter-spacing:.12em}.title-inner .tagline{margin:24px 0;font-size:15px;line-height:2.1}.howto{font-size:11px;color:var(--faint);letter-spacing:.06em;line-height:2.2;margin-bottom:26px}.title-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.btn{display:block;width:100%;border:1px solid var(--line2);background:transparent;color:var(--ink);font-size:14px;padding:13px 16px;cursor:pointer;letter-spacing:.04em;line-height:1.6}.btn:hover{border-color:var(--ink)}.btn.solid{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}.btn.solid:hover{opacity:.9}.btn:disabled{opacity:.35;cursor:default}.book{border-top:1px solid var(--line);padding-top:18px;text-align:left}.book-head{font-size:10.5px;letter-spacing:.2em;color:var(--dim);margin-bottom:8px}.book ul{list-style:none;columns:2;column-gap:20px}.book li{font-size:11px;color:var(--faint);padding:2px 0}.book li.seen{color:var(--ink)}.title-foot{margin-top:26px;font-size:9.5px;letter-spacing:.22em;color:var(--faint)}.game{min-height:100dvh;display:flex;flex-direction:column}.statbar{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line2);padding:10px clamp(14px,4vw,28px) 8px}.statbar .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:10.5px;letter-spacing:.1em;color:var(--dim)}.statbar .loc{color:var(--ink)}.statbar .gauge{margin-top:4px;justify-content:flex-start;gap:8px;font-size:10px}.statbar .gseg{letter-spacing:.18em;color:var(--ink)}.statbar .gband{color:var(--dim)}.statbar .gwarn{color:var(--ink)}.statbar .gauge.armed .gseg,.statbar .gauge.armed .gwarn{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.stage{flex:1;width:100%;max-width:680px;margin:0 auto;padding:26px clamp(18px,5vw,32px) 90px}.sysline{font-size:10.5px;letter-spacing:.12em;color:var(--faint);margin-bottom:18px}.scene-body{min-height:30vh}.para{font-size:16px;margin:0 0 18px;animation:fadein .6s ease both}.para.sys{font-size:11px;color:var(--faint);letter-spacing:.08em;line-height:2}.para.weaving{color:var(--dim)}.gmtext{color:var(--dim);font-style:normal;border-left:1px solid var(--line2);padding-left:14px}.gmnote{font-size:10px;letter-spacing:.18em;color:var(--faint);margin:-6px 0 18px;animation:fadein 1.2s ease both}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.freeform-result{margin:22px 0}.freeform-result .verdict{font-size:10.5px;letter-spacing:.14em;color:var(--faint);margin-bottom:8px}.waiting{font-size:11px;letter-spacing:.16em;color:var(--dim);margin:22px 0;animation:pulse 1.4s ease-in-out infinite}.choices{margin-top:30px;animation:fadein .7s ease both}.choice{display:block;width:100%;border:1px solid var(--line2);background:transparent;color:var(--ink);font-family:"Noto Serif KR",serif;font-size:14.5px;text-align:left;padding:13px 16px;margin:9px 0;cursor:pointer;line-height:1.75}.choice:hover:not(:disabled){background:var(--ink);color:var(--bg)}.choice:disabled{opacity:.45;cursor:default}.choice.locked{opacity:.5;cursor:default;border-style:dashed;border-color:var(--line)}.choice .hint{display:block;font-size:10px;letter-spacing:.1em;color:var(--faint);margin-top:4px}.choice.blocked{opacity:.55;cursor:default;border-style:dashed;border-color:var(--line)}.choice.blocked .strike{text-decoration:line-through;color:var(--faint)}.choice.blocked .hint{color:var(--dim)}.choice.boosted{border-color:var(--ink)}.choice .mark{font-size:11px;letter-spacing:0}.choice:hover:not(:disabled) .hint{color:var(--bg);opacity:.75}.choice.rewritten{border-style:double}.subscene{margin-top:6px}.choice.free{border-style:dashed;color:var(--dim)}.choice.free:hover:not(:disabled){background:transparent;color:var(--ink);border-color:var(--ink)}.choice.free.invite{color:var(--ink);border-color:var(--ink);animation:invitePulse 1.8s ease-in-out infinite}@keyframes invitePulse{0%,to{background:transparent}50%{background:#e8e5dc17}}.choice .cost{font-size:10.5px;letter-spacing:.08em;margin-right:6px}.choice.taken{color:var(--dim);border-color:var(--line)}.choice .taken-mark{font-size:10px;letter-spacing:.1em;color:var(--faint)}.choice.taken:hover:not(:disabled) .taken-mark{color:var(--bg)}.prevwrap{margin:-4px 0 20px}.prev-toggle{background:transparent;border:none;color:var(--faint);font-size:10px;letter-spacing:.18em;cursor:pointer;padding:4px 0}.prev-toggle:hover{color:var(--ink)}.prev-panel{border:1px dashed var(--line);padding:14px 16px 10px;margin-top:8px;animation:fadein .4s ease both}.prev-para{font-size:13.5px;color:var(--faint);line-height:1.85;margin:0 0 12px}.prev-para.changed{color:var(--dim);background:#e8e5dc0d;border-left:1px solid var(--line2);padding:3px 8px 3px 10px}.prev-divider{font-size:9.5px;letter-spacing:.22em;color:var(--faint);margin:14px 0 4px}.prev-choice{font-size:12.5px;color:var(--faint);padding:6px 0;border-bottom:1px solid var(--line);line-height:1.7}.prev-choice:last-child{border-bottom:none}.prev-choice.changed{color:var(--dim);background:#e8e5dc0d;border-left:1px solid var(--line2);padding-left:10px}.prev-choice .hint{display:block;font-size:10px;letter-spacing:.1em;color:var(--dim);margin-top:2px}.free-input{margin:12px 0;border:1px dashed var(--line2);padding:14px}.free-input textarea{width:100%;min-height:76px;background:transparent;border:none;outline:none;color:var(--ink);font-family:"Noto Serif KR",serif;font-size:15px;line-height:1.8;resize:vertical}.free-input textarea::placeholder{color:var(--faint)}.free-actions{display:flex;gap:8px;margin-top:10px}.free-actions .btn{width:auto;flex:1;font-size:13px;padding:10px 12px}.inv-toggle{position:fixed;right:14px;bottom:14px;z-index:20;background:var(--bg);border:1px solid var(--line2);color:var(--dim);font-size:10.5px;letter-spacing:.12em;padding:8px 14px;cursor:pointer}.inv-toggle:hover{color:var(--ink);border-color:var(--ink)}.inv-panel{position:fixed;inset:0;z-index:30;background:#0b0b0cd1;display:flex;align-items:flex-end;justify-content:center;padding:20px}.inv-list{width:100%;max-width:480px;background:var(--panel);border:1px solid var(--line2);padding:20px;max-height:70dvh;overflow-y:auto}.inv-head{font-size:10.5px;letter-spacing:.22em;color:var(--dim);margin-bottom:12px}.inv-item{border-bottom:1px solid var(--line);padding:9px 0}.inv-item b{display:block;font-size:14px;font-weight:600}.inv-item span{font-size:12px;color:var(--dim)}.inv-list .btn{margin-top:14px}.ending-overlay{max-width:680px;margin:0 auto;padding:10px clamp(18px,5vw,32px) 80px;animation:fadein 1.4s ease 1.2s both}.ending-panel{width:100%;background:var(--panel);border:1px solid var(--line2);padding:clamp(26px,7vw,44px) clamp(20px,6vw,36px);text-align:center}.ekind{font-size:10px;letter-spacing:.32em;color:var(--faint)}.ending-panel h2{font-size:26px;font-weight:900;margin:12px 0 16px;letter-spacing:.04em}.edesc{font-size:14px;color:var(--dim);margin-bottom:22px}.recap{text-align:left;margin:18px 0 24px}.recap div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 2px;font-size:11.5px;letter-spacing:.06em}.recap span{color:var(--dim)}.eactions{display:flex;flex-direction:column;gap:9px}@media(max-width:380px){.para{font-size:15px}.choice{font-size:13.5px}.book ul{columns:1}}
