:root{--bg: #e7edf0;--paper: #f7f9fa;--ink: #15222d;--muted: #5a6a75;--line: #ccd6dc;--ember: #d9431f;--ember-ink: #ffffff;--contour: 38 78 108;--contour-a: .16;--halo: #f7f9fa;--f-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--f-body: "Figtree", ui-sans-serif, system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0c131b;--paper: #121c27;--ink: #e5ecf1;--muted: #8d9eab;--line: #243341;--ember: #ff6a3d;--ember-ink: #1a0a04;--contour: 150 190 220;--contour-a: .12;--halo: #121c27;color-scheme:dark}}:root[data-theme=dark]{--bg: #0c131b;--paper: #121c27;--ink: #e5ecf1;--muted: #8d9eab;--line: #243341;--ember: #ff6a3d;--ember-ink: #1a0a04;--contour: 150 190 220;--contour-a: .12;--halo: #121c27;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:20px 40px}.app{max-width:1120px;margin:0 auto;display:grid;gap:20px}header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.brand{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}h1{font-family:var(--f-display);font-weight:800;font-size:clamp(2.2rem,5vw,3rem);line-height:1;margin:0;letter-spacing:-.02em}h1 span{color:var(--ember)}.edition{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.top-actions{display:flex;gap:8px;flex-wrap:wrap}button{font:inherit;cursor:pointer}.btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.88rem}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--ember);color:var(--ember-ink);border-color:var(--ember)}.btn:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.game{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}@media (max-width: 820px){.game{grid-template-columns:minmax(0,1fr)}}.map{position:relative;width:100%;max-width:100%;aspect-ratio:1 / 1;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden}.map canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.legend{position:absolute;left:14px;bottom:12px;display:grid;gap:4px;pointer-events:none;font-family:var(--f-mono);font-size:.68rem;color:var(--muted)}.legend .bar{width:150px;height:6px;border-radius:3px;background:linear-gradient(90deg,#3d4fb8,#3d8fd1 23%,#6fbfb8 42%,#e7bd55 58%,#f08a3c,#e2482b 88%,#d61f45)}.legend .ticks{display:flex;justify-content:space-between;width:150px}.compass{position:absolute;right:14px;top:12px;font-family:var(--f-mono);font-size:.68rem;color:var(--muted);pointer-events:none}.panel{display:grid;gap:18px;min-width:0}form{display:flex;gap:8px}input[type=text]{flex:1;min-width:0;font:inherit;font-size:1.05rem;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}input[type=text]:focus{outline:2px solid var(--ember);outline-offset:1px;border-color:transparent}form .btn{border-radius:14px;padding:0 18px;font-size:1rem}.msg{min-height:1.4em;margin:-8px 0 0;font-size:.9rem;color:var(--muted)}.msg.warn{color:var(--ember)}.readout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:center;padding:16px 18px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}.readout .temp{font-family:var(--f-mono);font-weight:700;font-size:3rem;line-height:1;grid-row:span 2;font-variant-numeric:tabular-nums}.readout .word{font-family:var(--f-display);font-weight:800;font-size:1.4rem;line-height:1.1;overflow-wrap:anywhere}.readout .label{color:var(--muted);font-size:.9rem}.how{font-size:.92rem;color:var(--muted)}.how p{margin:0 0 8px;max-width:60ch}.how strong{color:var(--ink)}.list-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.list-head h2{margin:0;font-family:var(--f-display);font-size:1.05rem;font-weight:800}.list-head span{font-family:var(--f-mono);font-size:.75rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}ol.guesses{list-style:none;margin:0;padding:0;display:grid;gap:4px}ol.guesses li button{width:100%;display:grid;grid-template-columns:minmax(0,7.5rem) minmax(0,1fr) 3.4rem;gap:12px;align-items:center;background:transparent;border:1px solid transparent;color:var(--ink);text-align:left;padding:7px 10px;border-radius:10px}ol.guesses li button:hover{background:var(--paper)}ol.guesses li.sel button{background:var(--paper);border-color:var(--line)}ol.guesses .w{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ol.guesses .w small{font-weight:500;color:var(--muted);font-size:.72rem;margin-left:4px}ol.guesses .track{height:8px;border-radius:4px;background:var(--line);overflow:hidden}ol.guesses .fill{height:100%;border-radius:4px}ol.guesses .t{font-family:var(--f-mono);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.empty{color:var(--muted);font-size:.9rem;margin:0}.tools{display:flex;gap:8px;flex-wrap:wrap}.end{padding:18px;border-radius:18px;background:var(--ember);color:var(--ember-ink);display:grid;gap:10px}.end h2{margin:0;font-family:var(--f-display);font-weight:800;font-size:1.5rem;line-height:1.15;text-wrap:balance}.end p{margin:0}.end .btn{background:transparent;color:var(--ember-ink);border-color:currentColor}.end .btn.solid{background:var(--ember-ink);color:var(--ember);border-color:var(--ember-ink)}.end textarea{width:100%;font-family:var(--f-mono);font-size:.85rem;border-radius:10px;padding:8px;border:0;background:var(--paper);color:var(--ink)}.note{font-size:.78rem;color:var(--muted);margin:0}.zoom{position:absolute;right:12px;bottom:12px;display:grid;gap:6px}.zoom button{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:1.15rem;font-weight:700;line-height:1;display:grid;place-items:center;padding:0}.zoom button:hover{border-color:var(--muted)}.maphint{position:absolute;left:14px;top:12px;font-family:var(--f-mono);font-size:.68rem;color:var(--muted);pointer-events:none;transition:opacity .6s}.maphint.gone{opacity:0}.msg:empty{display:none}.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:14px;background:var(--line)}.tabs button{border:0;border-radius:10px;padding:9px 8px;background:transparent;color:var(--muted);font-weight:700}.tabs button[aria-selected=true]{background:var(--paper);color:var(--ink)}.seg{display:flex;flex-wrap:wrap;gap:6px}.chipbtn{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:6px 12px;font-weight:600;font-size:.85rem}.chipbtn.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.small{padding:5px 10px;font-size:.78rem}ol.board{list-style:none;margin:0;padding:0;display:grid;gap:4px}ol.board li{display:grid;grid-template-columns:1.4rem 30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid transparent}ol.board li.me{background:var(--paper);border-color:var(--line)}ol.board .rank{font-family:var(--f-mono);font-weight:700;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}ol.board .av{width:30px;height:30px;border-radius:50%;background:var(--line);object-fit:cover}ol.board .mid{min-width:0}ol.board .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ol.board .sub{color:var(--muted);font-size:.78rem;min-height:12px}ol.board .sq{display:flex;flex-wrap:wrap;gap:2px;padding-top:3px}ol.board .sq i{width:9px;height:9px;border-radius:2px;display:block}ol.board .score{font-family:var(--f-mono);font-weight:700;font-size:.82rem;text-align:right;font-variant-numeric:tabular-nums}ol.board .score small{display:block;font-weight:500;color:var(--muted);font-size:.7rem}.party{display:grid;gap:14px;padding:16px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}.party h2{margin:0;font-family:var(--f-display);font-size:1.05rem;font-weight:800}.party p{margin:0}.party form{display:flex;gap:8px}.party input[type=text]{padding:9px 12px;font-size:.95rem;border-radius:10px;background:var(--bg)}.party label{font-size:.78rem;color:var(--muted);font-weight:600;display:block;margin-bottom:4px}.party form .btn{border-radius:10px;padding:0 14px;font-size:.9rem}.prow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.prow .pn{font-weight:700;flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}.prow code{font-family:var(--f-mono);font-weight:700;letter-spacing:.08em}.me-head{display:flex;align-items:center;gap:14px}.me-head img{width:56px;height:56px;border-radius:50%;background:var(--line);object-fit:cover;flex:none}.me-head .n{font-family:var(--f-display);font-weight:800;font-size:1.5rem;line-height:1.1;overflow-wrap:anywhere}.me-head .s{color:var(--muted);font-size:.85rem}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.stats div{padding:12px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}.stats dt{font-size:.72rem;color:var(--muted);font-weight:600}.stats dd{margin:2px 0 0;font-family:var(--f-mono);font-weight:700;font-size:1.5rem;font-variant-numeric:tabular-nums}ol.hist{list-style:none;margin:0;padding:0;display:grid;gap:2px}ol.hist li{display:grid;grid-template-columns:6.2rem minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;border-radius:10px}ol.hist li:nth-child(odd){background:var(--paper)}ol.hist .d{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);white-space:nowrap}ol.hist .sq{display:flex;flex-wrap:wrap;gap:2px}ol.hist .sq i{width:9px;height:9px;border-radius:2px;display:block}ol.hist .r{font-family:var(--f-mono);font-weight:700;font-size:.8rem;text-align:right}.acct{display:flex;align-items:center;gap:8px}.acct .btn{display:inline-flex;align-items:center;gap:8px}.acct img{width:22px;height:22px;border-radius:50%;background:var(--line);object-fit:cover}dialog{border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:22px;width:min(420px,calc(100vw - 32px))}dialog::backdrop{background:#0a121a8c}dialog h2{margin:0 0 6px;font-family:var(--f-display);font-weight:800;font-size:1.4rem}dialog p{margin:0 0 14px;color:var(--muted);font-size:.92rem}dialog form{display:grid;gap:10px}dialog .row{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.banner{padding:12px 14px;border-radius:14px;background:var(--paper);border:1px solid var(--line);display:grid;gap:8px;font-size:.9rem}.banner p{margin:0;color:var(--muted)}.banner .btn{justify-self:start}.danger{color:var(--ember);border-color:var(--ember)}.fatal{max-width:560px;margin:12vh auto;padding:24px;border-radius:20px;background:var(--paper);border:1px solid var(--line)}.fatal h1{font-size:1.6rem;margin-bottom:8px}ol.board .av{display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#fff}
