#lobby .lobby-code strong{font:400 34px/1 var(--display);letter-spacing:.18em;color:var(--gold);margin-left:8px;user-select:all}#lobby .lobby-join{margin-top:26px;border-top:1px solid var(--line)}#lobby #lobby-code{text-transform:uppercase;letter-spacing:.12em}#lobby .actions button:not(.primary){background:none;border:0;color:var(--gold);font:inherit;cursor:pointer;padding:0}.screen{position:absolute;inset:0;display:grid;place-items:center;background:#0b0a16d9;z-index:5;padding:16px;overflow:auto}.screen .sheet{width:min(46rem,100%)}.sheet h1{margin:0 0 8px;font:400 34px/1.1 var(--display)}.screen .note:empty{display:none}.screen .said-by-engine{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--ink);user-select:text}.screen fieldset{border:0;padding:0;min-width:0}.screen fieldset.sides{margin:18px 0 0}.screen legend{padding:0;margin-bottom:8px;color:var(--dim);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.sides .side{position:relative;display:block;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);cursor:pointer}.sides .side:hover{border-color:var(--gold)}.sides .side:has(input:checked){border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.sides .side:has(input:focus-visible){outline:2px solid var(--glass);outline-offset:2px}.sides .side input{position:absolute;opacity:0;pointer-events:none}.sides .side.crowns strong{color:#8cc6ae}.sides .side.exiles strong{color:#f3f0e6}.sides .side.woken strong{color:#ffb83d}.screen .check{display:flex;gap:10px;align-items:center;margin-top:18px;cursor:pointer}.screen .check input{width:16px;height:16px;accent-color:var(--gold)}.screen .field{display:grid;grid-template-columns:auto 9rem minmax(0,1fr);gap:12px;align-items:baseline;margin-top:14px}.screen .field input,.screen .field select{padding:6px 10px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit}.screen .field input:focus-visible,.screen .field select:focus-visible{outline:2px solid var(--glass);outline-offset:1px}.screen .field small{color:var(--dim);font-size:13px}.screen .actions{margin-top:22px;display:flex;gap:18px;align-items:baseline}.screen .actions a{color:var(--gold)}.screen .primary{padding:10px 28px;background:var(--gold);border:1px solid var(--gold);border-radius:8px;color:#17152b;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer}.screen .primary:hover{filter:brightness(1.08)}.screen .primary:focus-visible,.screen .menu-list :focus-visible,.screen a:focus-visible{outline:2px solid var(--glass);outline-offset:2px}@media(max-width:640px){.screen .field{grid-template-columns:1fr;gap:4px}.screen .sides{grid-template-columns:1fr}}.over{position:absolute;inset:0;display:grid;place-items:center;padding:16px;overflow:auto;z-index:6;background:radial-gradient(ellipse at 50% 40%,#0b0a16a6,#0b0a16eb 70%);backdrop-filter:blur(3px) saturate(.8)}.over.on-ending{z-index:5;background:radial-gradient(ellipse at 50% 35%,#0b0a1659,#0b0a16e0 75%);backdrop-filter:blur(2px) saturate(.7)}.over [data-edge]{position:fixed;width:1px;height:1px;overflow:hidden}.screen .sheet,.over .sheet{position:relative;background:linear-gradient(#1d1a36,#15132a 55%);border:1px solid var(--line);border-radius:12px;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #0006,0 24px 60px #000a,0 4px 14px #0007}.screen .sheet:before,.over .sheet:before{content:"";position:absolute;inset:-1px 18% auto;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.over .sheet{width:min(30rem,100%);max-width:none;max-height:calc(100vh - 32px);overflow:auto;padding:26px 30px 22px;animation:sheet-in .16s ease-out}@keyframes sheet-in{0%{opacity:0;transform:translateY(6px) scale(.99)}}@media(prefers-reduced-motion:reduce){.over .sheet{animation:none}}.over :focus-visible{outline:2px solid var(--glass);outline-offset:2px}.sheet-head{text-align:center;margin-bottom:18px}.sheet-kicker{display:block;color:var(--gold);font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.8}.over h2{margin:4px 0 0;font:400 32px/1.1 var(--display);letter-spacing:.01em}.sheet-head:after{content:"";display:block;width:144px;height:9px;margin:12px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='9'%3E%3Cdefs%3E%3ClinearGradient id='a'%3E%3Cstop offset='0' stop-color='%233a3663' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%236d6892'/%3E%3C/linearGradient%3E%3ClinearGradient id='b'%3E%3Cstop offset='0' stop-color='%236d6892'/%3E%3Cstop offset='1' stop-color='%233a3663' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect y='4' width='62' height='1' fill='url(%23a)'/%3E%3Crect x='82' y='4' width='62' height='1' fill='url(%23b)'/%3E%3Cpath d='M72 0.5l4 4-4 4-4-4z' fill='%23e2b24e'/%3E%3C/svg%3E") center / 144px 9px no-repeat}.sheet-head p{margin:10px auto 0;text-align:center}.over button,.over .menu-list>a,.over .ending-ways a{font:inherit;color:var(--ink);text-decoration:none;cursor:pointer}.sheet-foot{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.sheet-foot button,.slot-do,.slot-remove,.ending-ways>*{padding:8px 16px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;box-shadow:inset 0 1px #ffffff0d;transition:border-color .12s,background-color .12s}.sheet-foot button:hover:not(:disabled),.slot-do:hover:not(:disabled),.slot-remove:hover,.ending-ways>:hover:not(:disabled){border-color:var(--gold);background-color:#2a2649}.sheet-foot button.quiet{background:transparent;border-color:transparent;color:var(--dim);box-shadow:none}.sheet-foot button.quiet:hover{color:var(--ink);background:transparent;border-color:var(--line)}.sheet-foot .quiet:only-child{margin-left:auto}.over button:disabled{color:#ffffff47;cursor:default}#menu-note{min-height:1.5em;margin:14px 0 0;text-align:center;color:var(--gold);font-size:13px}#menu-note:empty{display:none}#menu-note.no{color:var(--bad)}.over .menu-list{min-width:0;margin:0;gap:6px}.over .menu-list>button,.over .menu-list>a{position:relative;padding:10px 16px 10px 18px;background:#ffffff06;border:1px solid #ffffff12;border-radius:8px;text-align:left;transition:border-color .12s,background-color .12s,padding .12s}.over .menu-list>button:before,.over .menu-list>a:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--gold);opacity:0;transition:opacity .12s}.over .menu-list>button:hover:not(:disabled),.over .menu-list>a:hover,.over .menu-list>:focus-visible{background:#e2b24e14;border-color:#e2b24e66;padding-left:22px}.over .menu-list>button:hover:not(:disabled):before,.over .menu-list>a:hover:before,.over .menu-list>:focus-visible:before{opacity:1}.over .menu-list>a{color:var(--dim)}.over .menu-list>a:hover{color:var(--ink)}.over .menu-list>.menu-primary{background:linear-gradient(#ebc068,#d6a23c);border-color:#f1cf86;color:#17152b;font-weight:600;text-align:center;padding-left:16px;box-shadow:inset 0 1px #fff6,0 2px 10px #e2b24e33}.over .menu-list>.menu-primary:hover{background:linear-gradient(#f1c873,#ddaa45);padding-left:16px;border-color:#f6dc9e}.over .menu-list>.menu-primary:before{display:none}.menu-split{height:1px;margin:6px 12px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.slot-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.slot-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff05}.slot-row.loading{height:62px;background:linear-gradient(90deg,#ffffff05,#ffffff0d,#ffffff05)}.slot-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #e2b24e88;color:var(--gold);font:400 18px/1 var(--display);background:radial-gradient(#e2b24e1f,transparent 70%)}.slot-row.empty{border-style:dashed;background:transparent}.slot-row.empty .slot-mark{border-color:var(--line);color:var(--dim);background:none}.slot-row.broken .slot-text span{color:var(--bad)}.slot-text{display:grid;gap:1px;min-width:0}.slot-text strong{font-weight:600}.slot-text span{color:var(--dim);font-size:13px;overflow-wrap:anywhere}.slot-do{padding:6px 14px}.slot-remove{padding:6px 10px;background:transparent;border-color:transparent;color:var(--dim)!important;box-shadow:none;font-size:12px!important}.slot-remove:hover{color:var(--bad)!important;border-color:#ff5a4a66!important;background:transparent!important}.setting-list{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#ffffff04}.setting{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 14px;min-height:48px}.setting+.setting{border-top:1px solid #ffffff0f}.setting label{cursor:pointer}.setting.locked{opacity:.55}.setting select{max-width:12rem;padding:5px 8px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit}.range{display:flex;align-items:center;gap:10px}.range output{min-width:3.2em;text-align:right;color:var(--gold);font-variant-numeric:tabular-nums;font-size:13px}.range input{-webkit-appearance:none;appearance:none;width:11rem;height:6px;margin:0;border-radius:3px;cursor:pointer;background:linear-gradient(90deg,var(--gold) var(--part),#0b0a16 var(--part));box-shadow:inset 0 1px 2px #000a,0 0 0 1px #ffffff12}.range input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#f3e3bd;border:2px solid var(--gold);box-shadow:0 1px 4px #000a}.range input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#f3e3bd;border:2px solid var(--gold)}.switch{position:relative;display:inline-block;width:40px;height:22px;flex:none}.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.switch i{position:absolute;inset:0;border-radius:11px;background:#0b0a16;box-shadow:inset 0 1px 3px #000c,0 0 0 1px var(--line);transition:background-color .14s}.switch i:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--dim);transition:transform .14s,background-color .14s}.switch input:checked+i{background:#e2b24e55;box-shadow:inset 0 1px 3px #0008,0 0 0 1px var(--gold)}.switch input:checked+i:after{transform:translate(18px);background:#f3e3bd}.switch input:focus-visible+i{outline:2px solid var(--glass);outline-offset:2px}.over.at-keys .sheet{width:min(44rem,100%)}.keys-page{display:grid;gap:12px}.keys-intro{margin:0 auto!important;text-align:center;font-size:13px}.keys-list{max-height:min(52vh,34rem);overflow-y:auto;padding:0 10px 0 2px;display:grid;gap:16px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.keys-list h3,#keys-sheet-body h3{margin:0 0 4px;font:400 13px/1.2 IBM Plex Sans,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.keys-list h3{position:sticky;top:0;background:#18162e;padding:6px 0;z-index:1;border-bottom:1px solid var(--line)}.keys-problems{margin:0;padding:8px 12px 8px 28px;border:1px solid #ff5a4a88;border-radius:8px;background:#ff5a4a12;color:#ffb3aa;display:grid;gap:2px;font-size:13px}.key-row{display:grid;grid-template-columns:minmax(0,1fr) auto 4.2rem;gap:10px;align-items:center;padding:4px 6px;border-radius:6px}.key-row:hover{background:#ffffff06}.key-row.moved .key-name:after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:var(--gold);vertical-align:middle}.key-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;align-items:center}.key,.key-do,.key-reset{padding:3px 9px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px}.over .key{min-width:2.4em;font:600 12px/1.5 ui-monospace,SF Mono,Menlo,monospace;color:var(--gold);text-align:center;box-shadow:inset 0 -2px #0006,inset 0 1px #ffffff12}.over .key small{font:400 11px/1 IBM Plex Sans,system-ui,sans-serif;color:var(--dim);margin-right:5px}.key.fixed{cursor:default;color:var(--dim)!important;border-style:dashed;box-shadow:none!important;background:transparent}.over .key.add{color:var(--dim)}.over .key.asking{border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 1px var(--gold),0 0 12px #e2b24e55;animation:asking 1.1s ease-in-out infinite}@keyframes asking{50%{box-shadow:0 0 0 1px var(--gold),0 0 4px #e2b24e22}}@media(prefers-reduced-motion:reduce){.over .key.asking{animation:none}}button.key:hover,.key-do:hover,.key-reset:hover{border-color:var(--gold)}.over .key-do,.over .key-reset{font-size:12px;color:var(--dim)}.key-reset{justify-self:end}.over.keys-sheet .sheet{width:min(74rem,100%)}#keys-sheet-body{columns:3 18rem;column-gap:30px}#keys-sheet-body section{break-inside:avoid;margin:0 0 16px}.keys-line{display:grid;grid-template-columns:11.5rem minmax(0,1fr);gap:10px;align-items:baseline;padding:3px 0;font-size:13px;border-bottom:1px solid #ffffff08}.keys-line>span:last-child{color:var(--dim)}.keys-of{display:flex;flex-wrap:wrap;gap:3px 5px;align-items:baseline;color:var(--dim)}.keys-of kbd{padding:1px 6px;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);line-height:1.5;box-shadow:inset 0 -1px #0006}.over.ending .sheet{width:min(38rem,100%);padding:30px 34px 24px}.ending-head{text-align:center}.ending h2{margin:8px 0 6px;font:400 64px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}.ending.victory h2{color:#f2cf7e;text-shadow:0 0 28px #e2b24e66,0 2px 0 #00000080}.ending.defeat h2{color:#e9a092;text-shadow:0 0 28px #ff5a4a40,0 2px 0 #00000080}.ending.none h2{font-size:40px;color:var(--ink);text-transform:none}.ending.victory .sheet:before{opacity:1;inset:-1px 8% auto}.ending.defeat .sheet:before{background:linear-gradient(90deg,transparent,var(--bad),transparent)}.ending-head p{margin:0 auto!important;text-align:center;font-size:15px}.ending-time{display:flex;justify-content:center;align-items:baseline;gap:10px;margin:16px 0 0}.ending-time dt{color:var(--dim);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.ending-time dd{margin:0;font:400 22px/1 var(--display);font-variant-numeric:tabular-nums}.ending-stats{width:100%;margin-top:18px;border-collapse:collapse;font-variant-numeric:tabular-nums}.ending-stats caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ending-stats thead th{padding:0 8px 8px;text-align:right;vertical-align:bottom;border-bottom:1px solid var(--line)}.ending-stats thead strong{display:block;font:400 17px/1.2 var(--display)}.ending-stats thead small{color:var(--dim);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.ending-stats .side.crowns strong{color:#8cc6ae}.ending-stats .side.exiles strong{color:#f3f0e6}.ending-stats .side.woken strong{color:#ffb83d}.ending-stats tbody th{padding:9px 8px 9px 0;text-align:left;font-weight:400;color:var(--dim)}.ending-stats tbody td{position:relative;width:26%;padding:9px 8px 11px;text-align:right;font-size:16px;font-weight:600}.ending-stats tbody td:after{content:"";position:absolute;right:8px;bottom:4px;height:2px;width:calc((100% - 16px) * var(--part) / 100%);max-width:calc(100% - 16px);border-radius:1px;background:var(--dim);opacity:.45}.ending-stats tbody td:nth-of-type(1):after{background:var(--gold);opacity:.8}.ending-stats tbody tr+tr>*{border-top:1px solid #ffffff0a}.ending-unseen{text-align:center;margin:16px auto 0!important;font-size:13px}.ending-ways{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.ending-ways>.primary{background:linear-gradient(#ebc068,#d6a23c);border-color:#f1cf86;color:#17152b!important;font-weight:600;padding-inline:26px;box-shadow:inset 0 1px #fff6,0 2px 10px #e2b24e33}.ending-ways>.primary:hover{background:linear-gradient(#f1c873,#ddaa45)!important;border-color:#f6dc9e!important}.ending-ways>#banner-replay{background:transparent;border-color:transparent;color:var(--dim);box-shadow:none}.ending-ways>#banner-replay:hover:not(:disabled){color:var(--ink);border-color:var(--line);background:transparent}.ending-note:empty{display:none}.ending-note{min-height:1.4em;margin:12px 0 0!important;text-align:center;color:var(--gold)!important;font-size:13px;max-width:none!important}.ending-note.no{color:var(--bad)!important}@media(max-width:640px){.over .sheet{padding:20px 18px 16px}.ending h2{font-size:46px}.slot-row{grid-template-columns:auto minmax(0,1fr) auto}.slot-remove{grid-column:2 / -1;justify-self:end}.range input{width:8rem}.keys-line{grid-template-columns:8rem minmax(0,1fr)}.key-row{grid-template-columns:minmax(0,1fr) auto}.key-reset-gap{display:none}.key-reset{grid-column:2}}.over.keys-sheet .keys-intro{margin-bottom:18px!important}.over .key.asking{font:500 12px/1.5 IBM Plex Sans,system-ui,sans-serif}body[data-backdrop] #field{transition:opacity 1.8s ease}body[data-backdrop=warming] #field{opacity:0}.screen.title{background:none;place-items:center start;padding:40px clamp(16px,7vw,112px)}.title-veil{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0b0a16f5,#0b0a16d9,#0b0a1673 52%,#0b0a1626 74%,#0b0a1666),radial-gradient(ellipse 75% 85% at 66% 50%,transparent 50%,#0b0a16cc 100%)}.title-veil:before{content:"";position:absolute;inset:0;backdrop-filter:blur(9px) saturate(.75) brightness(.8);--edges: linear-gradient(90deg, #000 0%, #0009 25%, transparent 45%, transparent 80%, #0008 100%);-webkit-mask-image:var(--edges);mask-image:var(--edges)}.title-column{position:relative;width:min(25rem,100%)}.wordmark h1{width:max-content;max-width:calc(100vw - 32px);margin:0;padding:0 6px 6px 0;font:400 clamp(44px,5.6vw,84px)/1 var(--display);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(#fffaf0 20%,#ead6a6 75%,#c99b4a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #000a) drop-shadow(0 0 22px #e2b24e33)}.peoples{display:flex;gap:10px;margin:16px 0 0 4px}.peoples i{width:54px;height:5px;clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%)}.peoples .crowns{background:linear-gradient(90deg,#5d7186 0 54%,#5e9c88 54% 80%,#9ef0e2 80%);box-shadow:0 0 10px #5e9c8855}.peoples .exiles{background:linear-gradient(90deg,#f3f0e6 0 47%,#ff4a1f 47% 53%,#f3f0e6 53%)}.peoples .woken{background:linear-gradient(90deg,#c9a77a 0 45%,#e2b24e 45% 72%,#ffb83d 72%)}.title-story{margin:22px 0 0;color:#c9c6dc;font-size:14px;line-height:1.6;max-width:36ch;text-shadow:0 1px 3px #000}.title-column>p:not(.title-story):not(.note){color:var(--dim);font-size:13px}.title-column>p a{color:var(--gold)}.title .menu-list{min-width:0;margin-top:28px;gap:6px}.title .menu-list>a,.title .menu-list>button{position:relative;padding:11px 18px;background:#17152bb3;border:1px solid #ffffff14;border-radius:8px;font-size:15px;backdrop-filter:blur(6px);transition:border-color .12s,background-color .12s,padding .12s}.title .menu-list>a:before,.title .menu-list>button:before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:2px;border-radius:2px;background:var(--gold);opacity:0;transition:opacity .12s}.title .menu-list>:hover:not(:disabled),.title .menu-list>:focus-visible{background:#2a2449cc;border-color:#e2b24e66;padding-left:24px}.title .menu-list>:hover:not(:disabled):before,.title .menu-list>:focus-visible:before{opacity:1}.title .menu-list>:first-child{background:linear-gradient(#ebc068,#d6a23c);border-color:#f1cf86;color:#17152b;font-weight:600;box-shadow:inset 0 1px #fff6,0 4px 18px #e2b24e2e}.title .menu-list>:first-child:hover,.title .menu-list>:first-child:focus-visible{background:linear-gradient(#f1c873,#ddaa45);border-color:#f6dc9e;padding-left:18px}.title .menu-list>:first-child:before{display:none}.title .note{margin-top:14px;color:var(--gold)}@media(max-width:640px){.screen.title{place-items:center}.title-veil{background:#0b0a16d0}}
