.rail-step{font-family:var(--font-label);font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-muted);padding:.3rem .6rem;border:2px solid transparent}.rail-step.on{color:#000;background:var(--color-yellow);border-color:#000;box-shadow:var(--sh-xs)}.rail-step.done{color:#000}.step-h{font-family:var(--font-display);font-size:2rem;line-height:.95;color:#000;margin-bottom:.4rem}.step-sub{color:#5c5343;font-weight:600;margin-bottom:1.3rem}.lbl{font-family:var(--font-label);font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#5c5343;display:block;margin-bottom:.4rem}.wcard{position:relative;border:3px solid #000;box-shadow:var(--sh-md);cursor:pointer;aspect-ratio:4 / 3;overflow:hidden;transition:transform .12s,box-shadow .12s}.wcard:hover{transform:translate(-3px,-3px);box-shadow:var(--sh-lg)}.wcard.on:after{content:"";position:absolute;inset:0;border:4px solid var(--color-yellow);pointer-events:none}.wcard .emo{position:absolute;top:.4rem;left:.5rem;font-size:1.5rem;filter:drop-shadow(1px 1px 0 #000)}.wcard .badge{position:absolute;top:.4rem;right:.4rem;width:24px;height:24px;background:var(--color-yellow);border:2px solid #000;color:#000;font-weight:800;font-size:13px;display:none;align-items:center;justify-content:center}.wcard.on .badge{display:flex}.wcard .meta{position:absolute;inset:auto 0 0;padding:.5rem .55rem;background:#000000c7;color:#fff}.wcard .meta b{font-family:var(--font-label);font-weight:800;font-size:.78rem;letter-spacing:.04em}.wcard .meta span{display:block;font-size:.66rem;opacity:.82;line-height:1.2}.char-card{background:#fff;border:3px solid #000;box-shadow:var(--sh-sm);padding:.85rem}.seg{font-family:var(--font-label);font-weight:800;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .7rem;border:2px solid #000;background:#fff;box-shadow:var(--sh-xs);cursor:pointer;color:#000}.seg:hover{transform:translate(-1px,-1px);box-shadow:var(--sh-sm)}.seg.on{background:var(--color-yellow)}.sw{width:22px;height:22px;border:2px solid #000;box-shadow:var(--sh-xs);cursor:pointer;padding:0}.sw.on{transform:translate(-1px,-1px);box-shadow:0 0 0 2px var(--color-yellow),var(--sh-xs)}.avatar-box{background:#fff;border:3px solid #000;box-shadow:var(--sh-sm);padding:.4rem}.rin{flex:1;min-width:0;padding:.4rem .55rem!important;font-size:.88rem;box-shadow:var(--sh-xs)!important}.rrow .t-btn{padding:.35rem .5rem}.modal-scrim{position:fixed;inset:0;z-index:50;background:#14100ba8;align-items:center;justify-content:center;padding:1rem}.modal-scrim.flex{display:flex}.modal-card{width:100%;max-width:30rem;max-height:90vh;overflow-y:auto;border:3px solid #000;box-shadow:var(--sh-xl);padding:1.2rem}.hidden{display:none!important}.st{--ink2: #3a2f22;--line: rgba(58,47,34,.14);--acc: var(--brand-teal, #11b5a4)}.st .t-input{border:1.5px solid var(--line);border-radius:9px;background:#fffdf8;box-shadow:none;padding:.62rem .85rem;font-weight:600;color:var(--ink2);transition:border-color .16s ease,box-shadow .16s ease}.st .t-input:focus{transform:none;border-color:var(--acc);box-shadow:0 0 0 3px #11b5a429}.st .t-input::placeholder{color:#b6ab95;font-weight:500}.st .rin{border-radius:8px}.st .char-card{border:1.5px solid var(--line);border-radius:14px;background:#fffdf8;box-shadow:0 1px 2px #281e100d,0 12px 26px -14px #281e1038;padding:1rem 1.1rem}.st .t-btn{border:none;border-radius:10px;box-shadow:0 2px 5px #281e1021;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.st .t-btn:after{content:none!important}.st .t-btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #281e102b;filter:brightness(1.02)}.st .t-btn:active{transform:translateY(0);box-shadow:0 1px 3px #281e101f}.st .t-btn--paper{background:#fff;border:1.5px solid var(--line);box-shadow:none;color:#6a5e49}.st .t-btn--paper:hover{background:#fbf6ea;border-color:#3a2f2247}.st .t-btn--sm{box-shadow:none;border:1.5px solid var(--line);background:#fff;color:#6a5e49;border-radius:8px}.st .t-btn--sm:hover{background:#fbf6ea}.st .t-btn--yellow{background:var(--color-yellow, #ffc400);color:#1a1206;border:none}.st .t-btn--teal{background:var(--acc);color:#fff;border:none}.st .avatar-box{border:1.5px solid var(--line);border-radius:12px;box-shadow:none;background:#fff}.st .wcard{border:none;border-radius:14px;box-shadow:0 2px 6px #281e101f,0 16px 32px -18px #281e1052}.st .wcard:hover{transform:translateY(-3px);box-shadow:0 6px 14px #281e1029,0 22px 44px -20px #281e105c}.st .wcard.on{box-shadow:0 0 0 3px var(--acc),0 16px 32px -18px #281e1052}.st .wcard.on:after{content:none}.st .wcard .badge{background:var(--acc);border:none;border-radius:999px;color:#fff}.st .rail-step{border:none;border-radius:999px;padding:.3rem .7rem}.st .rail-step.on{background:var(--acc);color:#fff;box-shadow:none}.st .seg{border:1.5px solid var(--line);border-radius:9px;box-shadow:none;background:#fff;color:#6a5e49}.st .seg.on{background:var(--acc);color:#fff;border-color:var(--acc)}.st .sw{border:1.5px solid rgba(0,0,0,.16);border-radius:6px;box-shadow:none}.st .sw.on{box-shadow:0 0 0 2px var(--acc);transform:none}.st .modal-card{border:none;border-radius:18px;box-shadow:0 30px 80px -22px #14100b8c}.st .step-h{letter-spacing:-.5px}.cta-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 0 1.1rem;margin-top:1.4rem;background:linear-gradient(transparent,var(--paper, #fbf3df) 38%)}.cta-bar #next{flex:1}.npc-open{background:#11b5a41a;border:1.5px solid rgba(17,181,164,.32);border-radius:12px 12px 12px 3px;padding:.5rem .7rem;font-weight:600;color:var(--ink2, #3a2f22);font-size:.9rem;margin-bottom:.5rem}.npc-open b{font-family:var(--font-label);font-weight:800;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-teal);display:block;margin-bottom:.1rem}.cbubble{background:#fff;border:1.5px solid var(--line, rgba(58,47,34,.14));border-radius:12px;padding:.6rem .7rem}.cbranch{margin:.45rem 0}.cbranch.deep{border-left:2px solid var(--brand-teal);padding-left:.7rem}.tlink{background:none;border:none;cursor:pointer;font-family:var(--font-label);font-weight:800;font-size:.67rem;letter-spacing:.03em;text-transform:uppercase;color:var(--brand-teal);padding:.2rem .3rem;border-radius:6px}.tlink:hover{background:#11b5a41a}.tlink[disabled]{color:#c0b6a0;cursor:default;background:none}.caphint{font-size:.7rem;color:#b08968;margin-top:.35rem;font-weight:600}
