:root{--ink: #050408;--text: #f3efe6;--dim: #b9b2a4;--amber: #ffc266;--rose: #ff7fa8;--mint: #8dffb0;--line: rgba(255, 244, 220, .18);--ui: "Chakra Petch", "Avenir Next Condensed", system-ui, sans-serif;--read: "Newsreader", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--bar: clamp(22px, 7.5vh, 72px)}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--ink);color:var(--text);font-family:var(--ui);overflow:hidden;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}button{font:inherit;color:inherit}#stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#fx{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(#000,#000) top / 100% var(--bar) no-repeat,linear-gradient(#000,#000) bottom / 100% var(--bar) no-repeat,linear-gradient(to top,rgba(3,2,6,.82) 0,rgba(3,2,6,.5) 22%,transparent 46%)}#load{position:fixed;left:50%;bottom:calc(var(--bar) + 28px);width:min(240px,50vw);height:2px;transform:translate(-50%);background:#ffffff1f;font-family:var(--mono);font-size:13px;color:var(--dim);transition:opacity .6s}#load i{display:block;height:100%;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .3s}#load.done{opacity:0}body.bad #stage{animation:shake .5s}body.bad #fx{box-shadow:inset 0 0 220px #ff325a4d;transition:box-shadow .2s}#fx{transition:box-shadow 1.2s}@keyframes shake{20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}#opts{position:fixed;top:calc(var(--bar) + 12px);right:max(22px,env(safe-area-inset-right));display:flex;gap:18px}#opts button{padding:0;border:0;background:none;font-family:var(--ui);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);opacity:.65;cursor:pointer}#opts button:hover{opacity:1}#opts #ledgerBtn{color:var(--amber);opacity:.95}#title{position:fixed;left:max(28px,5vw);bottom:calc(var(--bar) + 30px);display:grid;gap:6px;padding:0;border:0;background:none;text-align:left;cursor:pointer;animation:rise 1.2s .4s both}#title.out{transition:opacity .6s;opacity:0}.t-name{font-size:clamp(34px,5.4vw,76px);font-weight:600;line-height:.95;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 0 28px rgba(255,90,60,.55)}.t-go{width:fit-content;padding:7px 16px;font-size:14px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--amber);animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{opacity:.6}}#panel{position:fixed;left:50%;bottom:calc(var(--bar) * .5 + 6px);transform:translate(-50%);width:min(820px,calc(100vw - 40px));max-height:76vh;overflow-y:auto;text-align:center;cursor:pointer;--accent: var(--text)}#panel[data-who=tally]{--accent: var(--amber)}#panel[data-who=guest]{--accent: var(--rose)}#panel[data-who=sys]{--accent: var(--mint)}#speaker{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}#speaker:empty{display:none}#text{margin:4px 0 0;font-family:var(--read);font-size:clamp(19px,1.75vw,25px);line-height:1.42;text-wrap:balance;text-shadow:0 1px 10px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9)}#text:empty{display:none}#panel[data-who=narr] #text{font-style:italic;color:#ded8ca}#panel[data-who=sys] #text{font-family:var(--mono);font-size:clamp(14px,1.2vw,16px);color:var(--mint)}#action{margin:6px 0 0;font-family:var(--read);font-style:italic;font-size:15px;color:var(--dim);text-shadow:0 1px 8px #000}#action:empty{display:none}#next{display:block;width:26px;height:3px;margin:12px auto 0;padding:0;border:0;background:var(--accent);cursor:pointer;animation:breathe 1.3s ease-in-out infinite}#prompt{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);text-shadow:0 1px 8px #000}#choices{display:grid;gap:7px;justify-items:center}#choices.row{grid-template-columns:repeat(3,auto);justify-content:center;gap:10px}#choices.duel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:min(440px,100%);padding:10px 20px;font-family:var(--read);font-size:18px;line-height:1.3;background:#08060cb8;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:background .15s,border-color .15s,color .15s;animation:rise .35s both}.choice:hover,.choice:focus-visible{outline:none;color:var(--ink);background:var(--amber);border-color:var(--amber)}#choices.row .choice,.bar .choice{min-width:0;font-family:var(--ui);font-size:14px;letter-spacing:.12em;text-transform:uppercase}#choices.duel .choice{min-width:0;text-align:left;padding:14px 18px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.build{display:grid;gap:8px}.build-line{font-size:16px;line-height:1.4}.build-act{font-style:italic;font-size:14px;opacity:.7}#queue{margin:0 auto 12px;padding:14px 20px;max-width:640px;text-align:left;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(0,0,0,.22) 3px 4px),#05140bdb;border:1px solid rgba(93,255,140,.3);border-left:3px solid var(--mint);box-shadow:0 0 34px #5dff8c1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#queue p{margin:0 0 6px;font-family:var(--read);font-size:clamp(17px,1.5vw,20px);line-height:1.4}#queue p.act{margin:10px 0 0;font-family:var(--mono);font-size:13.5px;line-height:1.5;color:var(--mint);opacity:.78}#fuse{width:min(320px,70%);height:2px;margin:0 auto 10px;background:#ffffff24}#fuse i{display:block;height:100%;background:var(--amber);transform-origin:left}#fuse.low i{background:var(--rose)}#choices.pair{grid-template-columns:repeat(2,minmax(0,220px));justify-content:center;gap:12px}#choices.pair .choice{min-width:0;text-align:center;font-family:var(--ui);font-size:15px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}#choices.pair .choice.cut{border-color:#ff7fa899;color:var(--rose)}#choices.pair .choice.cut:hover,#choices.pair .choice.cut:focus-visible{background:var(--rose);border-color:var(--rose);color:var(--ink)}#ledger{position:fixed;top:calc(var(--bar) + 44px);right:max(22px,env(safe-area-inset-right));width:min(360px,calc(100vw - 44px));padding:18px 20px;background:#efe6cf;color:#2a2118;box-shadow:0 18px 50px #0009;transform:rotate(.6deg);animation:rise .25s both}#ledger h3{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7a5a2a}#ledger p{margin:0;padding:8px 0;font-family:var(--read);font-size:17px;line-height:1.35;border-top:1px solid rgba(60,40,20,.2)}#ledger p.empty{font-style:italic;color:#7a6a56}#ledger .choice{min-width:0;margin-top:10px;padding:6px 14px;font-family:var(--ui);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#2a2118;background:none;border-color:#3c281466;-webkit-backdrop-filter:none;backdrop-filter:none}#toast{position:fixed;top:calc(var(--bar) + 44px);right:max(22px,env(safe-area-inset-right));max-width:min(340px,calc(100vw - 44px));padding:10px 14px;display:grid;gap:4px;background:#efe6cf;color:#2a2118;font-family:var(--read);font-size:15px;line-height:1.35;transform:rotate(-.8deg);box-shadow:0 12px 30px #00000080}#toast b{font-family:var(--ui);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7a5a2a}#toast.show{animation:slip 3.6s both}@keyframes slip{0%{opacity:0;transform:translate(30px) rotate(-.8deg)}8%,86%{opacity:1;transform:translate(0) rotate(-.8deg)}to{opacity:0;transform:translate(0) rotate(-.8deg)}}body[data-lang=zh]{--ui: "Chakra Petch", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--read: "Newsreader", "Songti SC", "STSong", "Noto Serif SC", "PingFang SC", serif}body[data-lang=zh] #speaker,body[data-lang=zh] #prompt,body[data-lang=zh] .kicker,body[data-lang=zh] .stat-l,body[data-lang=zh] #ledger h3,body[data-lang=zh] #toast b{letter-spacing:.12em;font-size:13px}body[data-lang=zh] .t-name,body[data-lang=zh] #card h2{letter-spacing:.1em}#card{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}#card h2{margin:0;font-size:clamp(28px,4.2vw,56px);font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-wrap:balance}.sub{margin:0;font-family:var(--read);font-style:italic;font-size:19px;color:#ded8ca}.kicker{margin:0;font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--amber)}@keyframes fadein{0%{opacity:0}}@keyframes fadeout{to{opacity:0}}#card.report{overflow-y:auto;place-content:start center;padding-top:calc(var(--bar) + 4vh);background:#030206cc;animation:fadein .8s both}#card.report h2{font-family:var(--read);font-size:clamp(26px,3.4vw,42px);font-weight:500;letter-spacing:0;text-transform:none}.face{width:min(600px,calc(100vw - 32px));display:grid;gap:12px;justify-items:start;text-align:left}.face.back,#card.flipped .face.front{display:none}#card.flipped .face.back{display:grid;animation:rise .35s both}.stat{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding-top:11px;border-top:1px solid var(--line)}.stat-l{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.stat-v{font-family:var(--mono);font-size:18px;color:var(--amber);font-variant-numeric:tabular-nums}.back .stat-v{color:var(--mint)}.stat-n{grid-column:1 / -1;font-family:var(--read);font-size:16px;line-height:1.4;color:#ded8ca}.rows{width:100%;max-height:150px;overflow:auto;margin:0;padding:10px;font-family:var(--mono);font-size:11px;color:var(--dim);background:#00000073;border:1px solid var(--line)}.draft{margin:0;font-size:13px;line-height:1.5;color:var(--mint)}#card.report:not(.flipped){place-content:end center;padding-top:0;padding-bottom:1vh;background:linear-gradient(to bottom,#03020600 45%,#030206e6 86%);backdrop-filter:none;-webkit-backdrop-filter:none}.face.front{justify-items:center;text-align:center;gap:14px}.face.front h2{font-family:var(--mono)!important;font-size:clamp(15px,1.5vw,19px)!important;font-weight:500;letter-spacing:.14em!important;color:var(--mint)}#card.taken .face.front h2{color:#ffd0e0}.last{margin:0;max-width:44ch;font-family:var(--read);font-size:clamp(20px,2.3vw,30px);line-height:1.3;color:#f1ece0;text-wrap:balance;text-shadow:0 2px 18px #000}.by{margin:0;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}#card.taken .by{color:#ffd0e0}.choice.quiet{border-color:transparent;background:none;color:var(--dim);font-size:12px}.back .kicker{margin-top:10px}.bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:8px 0 calc(var(--bar) + 16px)}@media (max-width: 640px){#choices.duel,#choices.row{grid-template-columns:1fr}#choices.row .choice{width:100%}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
