:root{--bg:#14161a;--panel:#1b1f24;--panel-2:#252a31;--line:#3a424b;--line-strong:#7e8792;--cell:#1c2026;--text:#eceae4;--dim:#a3aab3;--accent:#d9a441;--accent-dim:#6a5324;--sum:#d9a441;--felt-ink:#eceae4;--legal:#d9a441;--error:#c9564a;--card-bg:#f7f5ef;--card-line:#a9a396;--shadow:#00000080;--panel-rgb:27 31 36;--panel-2-rgb:37 42 49;--bg-glow-a:color-mix(in srgb, var(--accent) 9%, transparent);--bg-glow-b:color-mix(in srgb, var(--cell) 55%, transparent);--sel:color-mix(in srgb, var(--accent) 26%, transparent);--same:color-mix(in srgb, var(--accent) 15%, transparent);--spotlit:color-mix(in srgb, var(--accent) 30%, transparent);--single:var(--accent);--single-bg:color-mix(in srgb, var(--accent) 14%, transparent);--peer:color-mix(in srgb, var(--text) 6%, transparent);--clash:var(--error);--cage:var(--line-strong);--mark:var(--accent);--tallied:color-mix(in srgb, var(--accent) 26%, transparent);--cage-peer:color-mix(in srgb, var(--sum) 9%, transparent);--inc-rgb:18 131 63;--exc-rgb:179 34 34;--k-digit:var(--panel-2);--k-digit-line:var(--line);--k-digit-text:var(--text);--k-edit:var(--panel-2);--k-edit-line:var(--line);--k-edit-text:var(--text);--k-aid:var(--panel-2);--k-aid-line:var(--line);--k-aid-text:var(--text);--k-session:var(--panel-2);--k-session-line:var(--line);--k-session-text:var(--text);--k-tally:var(--panel-2);--k-tally-line:var(--line);--k-tally-text:var(--text)}:root[data-theme=newsprint-day]{--bg:#f2efe6;--panel:#fbf9f3;--panel-2:#eeebe1;--line:#cfcabb;--line-strong:#22201c;--cell:#fff;--text:#16150f;--dim:#6b6659;--accent:#b03a2e;--accent-dim:#f0d6d1;--sum:#b0752a;--felt-ink:#16150f;--legal:#b0752a;--error:#a3231a;--card-bg:#fdfbf5;--card-line:#7d7565;--shadow:#3c372847;--panel-rgb:251 249 243;--panel-2-rgb:238 235 225}:root[data-theme=newsprint-night]{--bg:#14161a;--panel:#1b1f24;--panel-2:#252a31;--line:#3a424b;--line-strong:#7e8792;--cell:#1c2026;--text:#eceae4;--dim:#a3aab3;--accent:#d9a441;--accent-dim:#6a5324;--sum:#d9a441;--felt-ink:#eceae4;--legal:#d9a441;--error:#c9564a;--card-bg:#f7f5ef;--card-line:#a9a396;--shadow:#00000080;--panel-rgb:27 31 36;--panel-2-rgb:37 42 49}:root[data-theme=baize-day]{--bg:#ece5d5;--panel:#faf7ee;--panel-2:#e6dfcd;--line:#c4baa4;--line-strong:#56503f;--cell:#7fa78d;--text:#221f18;--dim:#6a6353;--accent:#1c6b46;--accent-dim:#bcdcc7;--sum:#8a5a0a;--felt-ink:#16261d;--legal:#c2912a;--error:#a3231a;--card-bg:#fffdf6;--card-line:#8d7f66;--shadow:#3c372838;--panel-rgb:250 247 238;--panel-2-rgb:230 223 205}:root[data-theme=baize-night]{--bg:#11201a;--panel:#1a2b23;--panel-2:#24382e;--line:#3d5749;--line-strong:#93ac9c;--cell:#1d3a2b;--text:#f3ede0;--dim:#a6bbad;--accent:#d9a441;--accent-dim:#6b5322;--sum:#e8c46f;--felt-ink:#f4efe3;--legal:#e8b552;--error:#e0574c;--card-bg:#f7f2e4;--card-line:#b6ac93;--shadow:#00000080;--panel-rgb:26 43 35;--panel-2-rgb:36 56 46}:root[data-theme=claret-day]{--bg:#f0e7e1;--panel:#fbf4ef;--panel-2:#ebdfd8;--line:#d8c3bb;--line-strong:#5d3038;--cell:#b0757e;--text:#24161a;--dim:#7a6259;--accent:#7a2733;--accent-dim:#e8ccc9;--sum:#9a6a12;--felt-ink:#2b1216;--legal:#9a6a12;--error:#a3231a;--card-bg:#fffaf3;--card-line:#97867c;--shadow:#462d2d38;--panel-rgb:251 244 239;--panel-2-rgb:235 223 216}:root[data-theme=claret-night]{--bg:#190f12;--panel:#241419;--panel-2:#331c23;--line:#5a3038;--line-strong:#a3717b;--cell:#4a1f28;--text:#f6e9e2;--dim:#c0a0a6;--accent:#d8b04a;--accent-dim:#6d5423;--sum:#d8b04a;--felt-ink:#f6e9e2;--legal:#d8b04a;--error:#e2685c;--card-bg:#f8f1e6;--card-line:#b3a693;--shadow:#0000008c;--panel-rgb:36 20 25;--panel-2-rgb:51 28 35}:root[data-theme=midnight-day]{--bg:#e9e6df;--panel:#f7f5f0;--panel-2:#e4e1d9;--line:#c8c4ba;--line-strong:#4a5560;--cell:#93a1ad;--text:#151b21;--dim:#666e77;--accent:#2f5d7c;--accent-dim:#c3d8e6;--sum:#99691f;--felt-ink:#151b21;--legal:#99691f;--error:#a3231a;--card-bg:#fff;--card-line:#8b939c;--shadow:#2d374138;--panel-rgb:247 245 240;--panel-2-rgb:228 225 217}:root[data-theme=midnight-night]{--bg:#12161b;--panel:#1a2028;--panel-2:#242c36;--line:#3d4956;--line-strong:#8b98a6;--cell:#28323d;--text:#eef1f4;--dim:#a2aeba;--accent:#e0a458;--accent-dim:#6d5027;--sum:#e0a458;--felt-ink:#eef1f4;--legal:#e0a458;--error:#e2685c;--card-bg:#f5f2ea;--card-line:#a8a396;--shadow:#00000080;--panel-rgb:26 32 40;--panel-2-rgb:36 44 54}:root[data-theme=contrast]{--bg:#000;--bg-glow-a:transparent;--bg-glow-b:transparent;--panel:#000;--panel-2:#101014;--line:#8a8a8a;--line-strong:#fff;--cell:#000;--text:#fff;--dim:#c9c9c9;--accent:#56b4e9;--accent-dim:#0072b2;--cage:#fff;--sum:#f0e442;--mark:#56b4e9;--single:#33e0b0;--single-bg:#009e7338;--tallied:#cc79a761;--spotlit:#56b4e959;--felt-ink:#fff;--legal:#f0e442;--error:#d55e00;--clash:#e69f00;--sel:#56b4e957;--peer:#ffffff1a;--cage-peer:#f0e4421f;--same:#56b4e92e;--shadow:#000000e6;--panel-rgb:0 0 0;--panel-2-rgb:16 16 20;--inc-rgb:0 114 178;--exc-rgb:213 94 0;--k-digit:#002218;--k-digit-line:#33e0b0;--k-digit-text:#fff;--k-edit:#262100;--k-edit-line:#f0e442;--k-edit-text:#fff;--k-aid:#001d2e;--k-aid-line:#56b4e9;--k-aid-text:#fff;--k-session:#2b1000;--k-session-line:#e69f00;--k-session-text:#fff;--k-tally:#26001d;--k-tally-line:#cc79a7;--k-tally-text:#fff}:root[data-theme=contrast] .cages path{stroke-width:.055px}:root[data-theme=contrast] .btn{border-width:2px}:root[data-theme=contrast] .cell.error .big{text-decoration:line-through;text-decoration-thickness:2px}:root[data-theme=contrast] .cell.single{box-shadow:inset 0 0 0 2px var(--single)}:root[data-theme=contrast] .cell.tallied:after{content:"";background:var(--k-tally-line);z-index:3;border-radius:50%;width:14%;height:14%;position:absolute;top:6%;right:6%}*{box-sizing:border-box}html,body{height:100%;margin:0}:root{--font-ui:"Segoe UI", Roboto, system-ui, -apple-system, sans-serif;--font-card:"Hoefler Text", "Iowan Old Style", Georgia, "Palatino Linotype", "Book Antiqua", "Times New Roman", serif}body{background:radial-gradient(ellipse at 50% -10%, var(--bg-glow-a), transparent 30rem), radial-gradient(ellipse at 50% 55%, var(--bg-glow-b), transparent 46rem), var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-text-size-adjust:100%;overscroll-behavior:none;background-attachment:fixed}#app{justify-content:center;min-height:100%;display:flex}.screen{flex-direction:column;gap:8px;width:100%;max-width:520px;padding:8px 8px 16px;display:flex}.titlebar{background:var(--panel);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:6px 8px;display:flex}.titlebar .id{letter-spacing:.5px;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.titlebar .candidates{color:var(--mark);font-variant-numeric:tabular-nums;gap:5px;min-height:18px;margin-left:auto;font-size:15px;display:flex}.titlebar .candidates b{color:var(--accent);font-weight:700}.titlebar .candidates .cands{color:var(--mark);letter-spacing:.5px}.iconbtn{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:4px;flex:none;place-items:center;gap:3px;width:32px;height:28px;padding:5px 6px;display:grid}.iconbtn i{background:var(--text);width:100%;height:2px;display:block}.board{aspect-ratio:1;border:2px solid var(--line-strong);background:var(--cell);touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));width:100%;display:grid;position:relative}.cell{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--cell);cursor:pointer;place-items:center;min-width:0;min-height:0;font-size:min(6.4vw,33px);display:grid;position:relative;overflow:hidden}.board .row{display:contents}.row .cell:first-child{border-left:none}.row:first-child .cell{border-top:none}.cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:3}.cell.box-l{border-left:2px solid var(--line-strong)}.cell.box-t{border-top:2px solid var(--line-strong)}.cell.peer{background:var(--peer)}.cell.cage-peer{background:var(--cage-peer)}.cell.same{background:var(--same)}.cell.tallied{background:var(--tallied)}.cell.sel{background:var(--sel)}.cell.clash .big{color:var(--clash)}.cell.error{background:var(--error)}.cell.error .big{color:#fff}.cages{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.cages path{fill:none;stroke:var(--cage);stroke-width:.038px;stroke-linejoin:round;stroke-linecap:round}.sum{color:var(--sum);z-index:2;font-variant-numeric:tabular-nums;font-size:.36em;font-weight:700;line-height:1;position:absolute;top:10%;left:12%}.big{color:var(--text);z-index:2;font-weight:700;line-height:1}.marks{color:var(--mark);z-index:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);font-size:.29em;font-weight:700;line-height:1;display:grid;position:absolute;inset:35% 17% 19%}.mark{place-items:center;display:grid}.cell.spotlit{background:var(--spotlit);box-shadow:inset 0 0 0 2px var(--accent)}.cell.single{background:var(--single-bg)}.cell.single .marks{color:var(--single);font-weight:800}.controls{gap:8px;display:flex}:root[data-keypad=right] .controls{flex-direction:row-reverse}:root[data-keypad=right] .controls .actions{direction:rtl}:root[data-keypad=right] .controls .actions>*{direction:ltr}:root[data-keypad=right] .under-keys,:root[data-keypad=right] .under-actions{flex-direction:row-reverse}.controls-left{flex-direction:column;flex:0 0 54%;gap:6px;min-width:0;display:flex}.controls-right{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.numpad{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.under-keys,.under-actions{gap:6px;min-width:0;display:flex}.under-keys .key.clear,.under-keys .undo-pair{flex:1 1 0;min-width:0;margin:0}.under-actions .tally{flex:auto;min-width:0;margin:0}.controls .actions{flex:auto;grid-template-rows:repeat(3,1fr);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:5px;min-width:0;margin:0;display:grid}.controls .actions .btn{padding:4px 2px;font-size:13px}.undo-pair{grid-template-columns:1fr 1fr;gap:5px;min-width:0;display:grid}.btn.icon{place-items:center;padding:0;display:grid}.btn.icon svg{display:block}.pause-btn{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:5px;flex:0 0 48px;justify-content:center;align-items:center;gap:4px;display:flex}.pause-btn i{background:var(--text);border-radius:1px;width:4px;height:16px;display:block}.pause-btn:active{background:var(--accent-dim)}.key,.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:5px;padding:10px 4px;font-size:20px;font-weight:600;position:relative}.key:active,.btn:active{background:var(--accent-dim)}.numpad .key{background:var(--k-digit);border-color:var(--k-digit-line);color:var(--k-digit-text)}.key.clear,.undo-pair .btn.icon{background:var(--k-edit);border-color:var(--k-edit-line);color:var(--k-edit-text)}.btn.aid{background:var(--k-aid);border-color:var(--k-aid-line);color:var(--k-aid-text)}.tally{background:var(--k-tally);border-color:var(--k-tally-line);color:var(--k-tally-text)}.btn.session{background:var(--k-session);border-color:var(--k-session-line);color:var(--k-session-text)}.key.done{color:var(--dim);opacity:.45}.key .count{color:var(--dim);font-size:10px;font-weight:500;position:absolute;top:1px;right:3px}.key.clear{letter-spacing:1px;padding:12px 4px;font-size:14px}.tally,.timer{border:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;padding:6px 4px}.tally{flex:auto;place-items:center;font-size:18px;font-weight:700;line-height:1.1;display:grid}.tally small{opacity:.75;font-size:10px;font-weight:500;display:block}.timer{background:var(--panel);color:var(--text);place-items:center;font-size:17px;font-weight:700;line-height:1;display:grid}.actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.game-actions{flex-wrap:wrap;gap:6px;display:flex}.game-actions .btn.icon{flex:none;width:38px;padding:6px 0}.game-actions .btn:not(.icon){flex:62px;min-width:0;padding-left:2px;padding-right:2px;font-size:13.5px}.cell.hinted{background:color-mix(in srgb, var(--accent) 34%, var(--panel));box-shadow:inset 0 0 0 2px var(--accent), 0 0 12px color-mix(in srgb, var(--accent) 48%, transparent)}.hint-panel{text-align:center}.btn{padding:11px 4px;font-size:15px}.btn[disabled]{opacity:.4;cursor:default}.btn.wide{grid-column:span 3}.btn.primary{background:var(--accent-dim);border-color:var(--accent)}.hero{text-align:center;padding:10px 0 2px}.hero h1{letter-spacing:1px;margin:0;font-size:30px;font-weight:800}.hero h1 span{color:var(--accent)}.hero p{color:var(--dim);margin:4px 0 0;font-size:13px}.levels{flex-direction:column;gap:7px;display:flex}.level{background:var(--panel);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:6px;grid-template-columns:minmax(64px,.85fr) minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;min-width:0;padding:7px 8px;display:grid}.level-head{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.level-info{appearance:none;width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:2px 3px}.level-info:active{background:color-mix(in srgb, var(--accent) 15%, transparent)}.level-info:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.level .stars{flex-wrap:wrap;flex:none;gap:1px;min-height:10px;display:flex}.level .name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.trophy-strip{gap:1px;min-height:14px;display:flex}.trophy{filter:grayscale();opacity:.2;font-size:12px;line-height:1}.trophy.earned{filter:none;opacity:1}.source-row{gap:4px;min-width:0;display:flex}.source{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;text-align:left;min-width:0;color:var(--text);touch-action:manipulation;border-radius:5px;flex:auto;padding:6px 5px;display:block}.pick{background:var(--panel-2);border:1px solid var(--line);color:var(--dim);cursor:pointer;touch-action:manipulation;border-radius:5px;flex:0 0 26px;font-size:14px;font-weight:700}.pick:active{background:var(--accent-dim);color:var(--text)}.pick[disabled]{opacity:.4;cursor:default}.source:active{background:var(--accent-dim)}.source[disabled]{opacity:.4;cursor:default}.source-name{font-size:14px;font-weight:700;line-height:1.2;display:block}.source.random .source-name{color:var(--accent)}.source-meta{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;line-height:1.2;display:block;overflow:hidden}.hint-line{color:var(--dim);text-align:center;font-size:12px}.build-stamp{color:var(--dim);opacity:.65;text-align:center;font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:10.5px}.overlay{z-index:50;background:#000000b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay.guarded>*{pointer-events:none}.overlay.board-adjacent{background:#0000001f;padding:0 16px 16px;display:block;overflow-y:auto}.overlay.board-adjacent .panel{margin:calc(var(--overlay-anchor-bottom) + 10px) auto 16px;max-height:var(--overlay-anchor-space)}.overlay.see-through{--glass:1;background:rgb(0 0 0/calc(var(--glass) * .22))}.overlay.see-through .panel{background:rgb(var(--panel-rgb) / var(--glass));border-color:var(--accent-dim)}.overlay.see-through .panel-footer{background:rgb(var(--panel-rgb) / var(--glass))}.overlay.see-through .results,.overlay.see-through .calc-keys .btn:not(.inc):not(.exc),.overlay.see-through .calc input[type=number]{background:rgb(var(--panel-2-rgb) / calc(var(--glass) * .88))}.glass-slider{color:var(--dim);align-items:center;gap:8px;display:flex}.glass-slider svg{flex:none;display:block}.glass-slider input[type=range]{min-width:0;accent-color:var(--accent);flex:auto;height:20px}.footer-buttons{gap:6px;display:grid}.footer-buttons.three{grid-template-columns:repeat(3,1fr)}.panel{background:var(--panel);border:1px solid var(--line);width:100%;max-width:480px;max-height:86vh;box-shadow:0 10px 40px var(--shadow);border-radius:8px;padding:14px;overflow:auto}.panel h2{color:var(--accent);margin:0 0 10px;font-size:19px}.panel-footer{padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line);gap:6px;margin:10px -14px -14px;display:grid;position:sticky;bottom:-14px}.panel-footer.two{grid-template-columns:1fr 1fr}.panel-footer.three{grid-template-columns:repeat(3,1fr)}.panel h3{color:var(--accent);margin:14px 0 6px;font-size:14px}.panel p,.panel li{color:var(--text);font-size:13px;line-height:1.5}.paused{color:var(--accent);z-index:60;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#000;place-items:center;display:grid;position:fixed;inset:0}.paused h2{letter-spacing:3px;margin:0;font-size:40px}.paused p{color:var(--dim);margin:8px 0 0}.menu-list{flex-direction:column;gap:6px;display:flex}.menu-list button{text-align:left;font-size:15px}.setting{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:8px;padding:6px 2px;font-size:13.5px;display:flex}.setting:last-child{border-bottom:none}.setting.stacked{cursor:default;display:block}.setting.stacked .tabs{gap:6px;margin-top:6px;display:flex}.setting.stacked .tabs .btn{flex:1 1 0;padding:7px 4px;font-size:13px}.setting.stacked .tabs .btn.on{border-color:var(--accent);color:var(--accent);font-weight:700}.setting .label{flex:auto}.setting .label small{color:var(--dim);margin-top:1px;font-size:11px;line-height:1.3;display:block}.switch{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;flex:none;width:44px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:var(--dim);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent-dim);border-color:var(--accent)}.switch.on:after{background:var(--accent);transform:translate(20px)}.picker{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:5px;max-height:46vh;display:grid;overflow-y:auto}.picker-jump{color:var(--dim);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.picker-jump input[type=number]{text-align:center;background:var(--panel-2);width:74px;color:var(--text);border:1px solid var(--line);border-radius:4px;flex:0 0 74px;padding:6px;font-size:15px}.picker-jump .btn{flex:none;padding:7px 14px}.picker-ranges{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.picker-ranges .btn{font-variant-numeric:tabular-nums;flex:none;padding:5px 8px;font-size:12px}.picker-ranges .btn.on{background:var(--accent-dim);border-color:var(--accent)}.picker button{font-variant-numeric:tabular-nums;padding:9px 2px;font-size:13px}.statrow{font-variant-numeric:tabular-nums;cursor:pointer;border-radius:4px;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:grid}.statrow.locked{background:#dc78a02e}.statrow.released{background:#78d28c29}.unfinished-row{gap:5px;margin-bottom:5px;display:flex}.unfinished-row .statrow.open{flex:auto;min-width:0;margin-bottom:0}.unfinished-picker{max-height:min(52dvh,420px);padding-right:2px;overflow-y:auto}.unfinished-picker .statrow.open{grid-template-columns:auto minmax(0,1fr) auto auto auto}.resume-label{color:var(--accent);font-size:11px;font-weight:750}.rowx{background:var(--panel-2);border:1px solid var(--line);color:var(--dim);cursor:pointer;touch-action:manipulation;border-radius:4px;flex:0 0 38px;font-size:14px}.rowx:active{background:var(--error);color:#fff}.statrow.open{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);text-align:left;grid-template-columns:1fr auto auto auto auto;margin-bottom:5px;font-size:13px}.statrow .hold{color:var(--dim);letter-spacing:.6px;text-transform:uppercase;border:1px solid var(--line);border-radius:3px;padding:1px 4px;font-size:9.5px}.section-label{color:var(--accent);letter-spacing:.6px;text-transform:uppercase;margin:14px 0 6px;font-size:12px;font-weight:700}.statrow.open:active{background:var(--accent-dim)}.statrow .when{color:var(--dim);font-size:11.5px}.tabs{gap:5px;margin-bottom:8px;display:flex}.tabs button{flex:auto;padding:8px 2px;font-size:14px}.tabs button.on{background:var(--accent-dim);border-color:var(--accent)}.summary{color:var(--dim);margin:0 0 8px;font-size:12.5px}.calc .row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.calc label{color:var(--dim);font-size:13px}.calc input[type=number]{background:var(--panel-2);width:66px;color:var(--text);border:1px solid var(--line);border-radius:4px;padding:7px;font-size:15px}.calc-body{grid-template-columns:126px minmax(0,1fr);align-items:stretch;gap:8px;display:grid}:root[data-keypad=right] .calc-body{grid-template-columns:minmax(0,1fr) 126px}:root[data-keypad=right] .calc-body>.calc-left{grid-area:1/2}:root[data-keypad=right] .calc-body>.results{grid-area:1/1}.calc-left{flex-direction:column;gap:6px;min-width:0;display:flex}.calc-keys{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;height:156px;display:grid}.calc-fields{flex-direction:column;gap:5px;display:flex}.calc-fields label{color:var(--dim);justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.calc-fields input[type=number]{text-align:center;appearance:textfield;flex:0 0 46px;width:46px;min-width:0;padding:4px 2px;font-size:14px}.calc-fields input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.calc-fields input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calc-keys button{padding:0;font-size:17px}.calc-keys button.inc{background:rgb(var(--inc-rgb) / var(--glass,1));color:#fff;text-shadow:0 1px 2px #000000bf;border-color:#64e39b;font-weight:800}.calc-keys button.exc{background:rgb(var(--exc-rgb) / var(--glass,1));color:#fff;text-shadow:0 1px 2px #000000bf;border-color:#ff9090;font-weight:800;text-decoration:line-through}.overlay.calc-overlay{padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));align-items:end}.calc .results{font-variant-numeric:tabular-nums;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;max-height:220px;padding:5px 7px;font-size:14px;line-height:1.55;overflow:hidden auto}.calc .results div.none{color:var(--dim);letter-spacing:0}.calc .combo{cursor:pointer;border-radius:3px;padding:1px 5px;position:relative}.calc .combo:hover{background:var(--panel)}.calc .combo .d{text-align:center;min-width:1.05em;display:inline-block}.calc .combo .d.placed{color:var(--accent);border-bottom:2px solid var(--accent);font-weight:800}.calc .combo .d.blocked{color:var(--error);opacity:.8;border-bottom:2px dotted var(--error)}.calc .combo.struck{opacity:.5}.calc .combo.struck:after{content:"";background:var(--error);pointer-events:none;border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:3px;right:3px}.calc .combo.struck .d.placed{color:var(--dim);border-bottom-color:#0000}.totals{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.totals .tile{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:6px;min-width:0;padding:7px 4px}.totals .tile b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:19px;line-height:1.1;display:block}.totals .tile small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;display:block;overflow:hidden}.totals .spread{text-align:center;color:var(--dim);grid-column:1/-1;margin:0;font-size:11.5px}.won{text-align:center}.summary.techniques{color:var(--mark)}.won .time{color:var(--accent);font-variant-numeric:tabular-nums;margin:6px 0;font-size:34px;font-weight:800}.toast{background:var(--panel);border:1px solid var(--accent);color:var(--text);z-index:70;box-shadow:0 6px 20px var(--shadow);pointer-events:none;border-radius:20px;padding:9px 16px;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:380px){.btn{font-size:13.5px}.key{padding:9px 4px;font-size:18px}}@media (orientation:landscape) and (max-height:560px){#app{align-items:flex-start}.screen.play{--board:min(calc(100dvh - 56px), calc(100vw - 236px));grid-template-columns:var(--board) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr);gap:6px;max-width:none;height:100dvh;padding:6px;display:grid}.screen.play>.titlebar{grid-column:1/-1;min-height:34px;padding:3px 8px}:root[data-keypad=left] .screen.play{grid-template-columns:minmax(0, 1fr) var(--board)}:root[data-keypad=left] .screen.play>.board{grid-column:2}:root[data-keypad=left] .screen.play>.controls{grid-area:2/1}.screen.play>.board{width:var(--board);height:var(--board);font-size:min(3.4vh,26px)}.screen.play>.controls{height:100%}.controls-left{flex:0 0 52%}.numpad{flex:auto;grid-auto-rows:minmax(0,1fr)}.controls .actions{grid-template-rows:repeat(3,minmax(0,1fr))}.key,.btn{padding:2px 4px;font-size:17px}.key.clear{padding:2px 4px}.controls .actions .btn{font-size:12.5px}.under-keys,.under-actions{flex:0 0 34px}.pause-btn{flex:0 0 40px}}:root{--suit-spade:#23302a;--suit-heart:#ad2f28;--suit-diamond:#1b568f;--suit-club:#176440;--card-black:#222c26;--card-red:#b8332c;--joker:#b98bff;--joker-tint:#8d5ed1;--card-bg:#f7f2e4;--card-line:#b6ac93}:root[data-theme$=-day]{--suit-spade:#1d2823;--suit-heart:#a92a24;--suit-diamond:#1a5488;--suit-club:#176b43;--card-black:#1d2823;--card-red:#a92a24;--joker:#7b3fd4;--joker-tint:#7b3fd4;--card-bg:#fdfaf1;--card-line:#a89e86}:root[data-theme=contrast]{--suit-spade:#56b4e9;--suit-heart:#e69f00;--suit-diamond:#cc79a7;--suit-club:#009e73;--card-black:#fff;--card-red:#e69f00;--joker:#cc79a7;--joker-tint:#cc79a7;--card-bg:#000;--card-line:#fff}.level.sol{grid-template-columns:minmax(84px,1fr) minmax(0,1.8fr)}.titlebar .lvl{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.titlebar .scorebox{color:var(--sum);font-variant-numeric:tabular-nums;margin-left:auto;font-size:17px;font-weight:800}.titlebar .timerbox{color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;min-width:42px;margin-left:auto;font-size:13px}.cell .big.given{color:var(--dim);font-weight:600}.cell.legal{background:color-mix(in srgb, var(--legal) 40%, var(--cell));box-shadow:inset 0 0 0 2px var(--legal);cursor:pointer}.toast.bonus{border-width:2px;border-color:var(--sum);color:var(--sum);box-shadow:0 8px 28px color-mix(in srgb, var(--sum) 25%, var(--shadow));font-size:15px;font-weight:800;bottom:30px}.home-tally{grid-template-columns:repeat(2,1fr);gap:5px;margin:4px 0 8px;display:grid}.home-tally>div{border:1px solid var(--line);background:var(--panel);border-radius:6px;min-width:0;padding:7px 8px}.home-tally b,.home-tally small{display:block}.home-tally b{color:var(--sum);font-variant-numeric:tabular-nums;font-size:16px}.home-tally small{color:var(--dim);font-size:10px;line-height:1.25}.home-highscores{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 93%, white), var(--panel));box-shadow:0 8px 20px color-mix(in srgb, var(--shadow) 55%, transparent);border-radius:11px;margin:7px 0 10px;padding:9px}.home-section-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.home-section-head h2{margin:0;font-size:14px}.text-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.home-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.home-score{border:1px solid var(--line);background:var(--panel-2);min-width:0;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;padding:6px 7px;display:grid}.home-score-level{color:var(--accent);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.home-score b{color:var(--sum);font-variant-numeric:tabular-nums;grid-row:span 2;align-self:center;font-size:15px}.home-score small,.home-score-note,.home-score-empty{color:var(--dim);font-size:10px}.home-score-note{margin-top:6px;display:block}.home-score-empty{margin:3px 0 1px;display:block}.menu-screen{gap:6px}.menu-screen>.titlebar{order:1}.menu-screen>.home-tally{order:2}.menu-screen>.actions{order:3}.menu-screen>.hero{order:4}.menu-screen>.levels{order:5}.menu-screen>.home-highscores{order:6}.menu-screen>.hint-line{order:7}.menu-screen>.build-stamp{order:8}.menu-screen .home-tally{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}.menu-screen .home-tally>div{padding:4px 5px}.menu-screen .home-tally b{font-size:14px}.menu-screen .home-tally small{white-space:nowrap;font-size:9px}.menu-screen .hero{text-align:left;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 2px 0;display:flex}.menu-screen .hero h1{letter-spacing:1px;font-size:30px}.menu-screen .hero p{text-align:right;margin:0;font-size:10px}.cell.legal.danger{background:color-mix(in srgb, var(--error) 16%, var(--cell));box-shadow:inset 0 0 0 1.5px var(--error)}.scard{background:var(--card-bg);border:1px solid var(--card-line);border-radius:10%;flex-direction:column;justify-content:center;align-items:center;gap:2%;width:82%;height:88%;line-height:1;display:flex;position:relative;overflow:hidden}.suit-0{--suit-tint:var(--suit-spade);--suit-ink:var(--suit-spade)}.suit-1{--suit-tint:var(--suit-heart);--suit-ink:var(--suit-heart)}.suit-2{--suit-tint:var(--suit-diamond);--suit-ink:var(--suit-diamond)}.suit-3{--suit-tint:var(--suit-club);--suit-ink:var(--suit-club)}.scard:not(.joker),.pcard:not(.joker){background:linear-gradient(145deg, color-mix(in srgb, var(--suit-tint) 9%, var(--card-bg)), color-mix(in srgb, var(--suit-tint) 2%, var(--card-bg)) 72%);border-color:color-mix(in srgb, var(--suit-tint) 65%, var(--card-line));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--suit-tint) 8%, transparent)}.scard:not(.joker) .corner,.scard:not(.joker) .card-rank,.scard:not(.joker) .card-suit,.pcard:not(.joker) .corner,.pcard:not(.joker) .card-rank,.pcard:not(.joker) .card-suit{color:var(--suit-ink)}.scard.joker,.pcard.joker{background:linear-gradient(145deg, color-mix(in srgb, var(--joker-tint) 19%, var(--card-bg)), var(--card-bg) 66%);border-color:color-mix(in srgb, var(--joker-tint) 65%, var(--card-line));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--joker-tint) 12%, transparent)}.corner{flex-direction:column;align-items:center;font-size:.22em;font-weight:800;line-height:.78;display:flex;position:absolute}.corner small{font:inherit;font-size:.85em}.corner.tl{top:7%;left:7%}.corner.br{bottom:7%;right:7%;transform:rotate(180deg)}.card-rank{font-size:.54em;font-weight:800;line-height:.82}.card-suit{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:.32em;place-items:center;min-width:.78em;min-height:.68em;font-size:.48em;font-weight:800;line-height:.72;display:grid}.scard.joker .d{color:var(--joker);font-size:.46em}.scard.joker .st{color:var(--joker);letter-spacing:.5px;background:color-mix(in srgb, var(--joker-tint) 15%, transparent);border-radius:.32em;padding:.08em .32em;font-size:.22em;font-weight:800}.scard .jhat{width:.74em;height:.74em;display:block}.pcard .jhat{width:34px;height:34px;display:block}.tray{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.tray-row{align-items:center;gap:8px;min-height:64px;display:flex}.tray-label{color:var(--dim);letter-spacing:.5px;text-transform:uppercase;flex:0 0 34px;font-size:11px;font-weight:700}.cardrow{flex-wrap:wrap;flex:auto;gap:6px;min-width:0;display:flex}.tray-empty{color:var(--dim);font-size:12px}.pcard{background:var(--card-bg);border:1px solid var(--card-line);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:46px;height:62px;padding:0;line-height:1;display:flex;position:relative;overflow:hidden}.pcard .corner{font-size:11px}.pcard .card-rank{font-size:25px}.pcard .card-suit{border-radius:7px;min-width:25px;min-height:20px;font-size:21px}.pcard.joker .d{color:var(--joker)}.pcard.joker .st{color:var(--joker);letter-spacing:.65px;background:color-mix(in srgb, var(--joker-tint) 15%, transparent);border-radius:5px;padding:2px 4px;font-size:9px;font-weight:800}.pcard.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.pcard.empty{border:1.5px dashed var(--line);color:var(--dim);background:0 0;font-size:18px;font-weight:400}.pcard.empty:active{border-color:var(--accent);color:var(--accent)}.pcard:active{background:var(--accent-dim)}.deckpile{color:var(--text);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:3px;margin-left:auto;padding:0;font-family:inherit;display:flex}.pcard.undrawn{border-color:var(--accent);background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 24%, var(--panel-2)) 0 3px, var(--panel-2) 3px 6px);box-shadow:inset 0 0 0 3px var(--panel), inset 0 0 0 4px color-mix(in srgb, var(--accent) 65%, transparent);cursor:default}.pcard.undrawn.spent{border-color:var(--line);box-shadow:none;opacity:.5;background:0 0}.undrawn-mark{color:var(--text);letter-spacing:.7px;text-shadow:0 1px 2px var(--shadow);font-size:9px;font-weight:800}.deck-back{border:1px solid var(--line);background:var(--panel-2);width:46px;height:62px;box-shadow:3px 3px 0 color-mix(in srgb, var(--line) 80%, transparent);border-radius:7px;position:relative;overflow:hidden}.deck-back:before{content:"♠";border:1px solid var(--accent);color:color-mix(in srgb, var(--accent) 68%, transparent);background:radial-gradient(circle at 25% 25%, color-mix(in srgb, var(--accent) 26%, transparent) 0 1px, transparent 1.5px) 0 0 / 8px 8px, var(--panel-2);border-radius:4px;place-items:center;font-size:34px;line-height:1;display:grid;position:absolute;inset:4px}:root[data-card-back=royal] .deck-back:before,:root[data-card-back=royal] .pcard.undrawn{color:#f0c674;background:repeating-linear-gradient(135deg, #f0c67433 0 3px, var(--panel-2) 3px 7px);border-color:#f0c674}:root[data-card-back=aurora] .deck-back:before,:root[data-card-back=aurora] .pcard.undrawn{color:#c58cff;background:radial-gradient(circle at 20% 25%, #56d1f573, transparent 35%), radial-gradient(circle at 80% 75%, #c58cff6b, transparent 38%), var(--panel-2);border-color:#c58cff}.deck-count{font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;min-height:13px;font-size:12px;font-weight:800;display:flex}.deck-count small{color:var(--dim);letter-spacing:.4px;text-transform:uppercase;font-size:8px;font-weight:700}.jokerpile,.bankpile{border:1px solid var(--joker);background:var(--card-bg);width:46px;height:62px;color:var(--joker);cursor:pointer;border-radius:7px;flex:none;grid-template-rows:1fr auto auto;place-items:center;padding:3px 0 4px;font-family:inherit;line-height:1;display:grid}.jokerpile .jhat,.bankpile .jhat{width:24px;height:24px;color:var(--joker)}.jokerpile .count,.bankpile .count{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.jokerpile small,.bankpile small{color:var(--dim);letter-spacing:.5px;text-transform:uppercase;font-size:8px;font-weight:700}.jokerpile:disabled,.bankpile:disabled{border-color:var(--line);cursor:default;opacity:.48}.jokerpile:not(:disabled):active,.bankpile:not(:disabled):active{background:color-mix(in srgb, var(--joker) 20%, var(--card-bg))}.slotpile{border:1px solid var(--single);background:var(--card-bg);width:46px;height:62px;color:var(--single);cursor:pointer;border-radius:7px;flex:none;grid-template-rows:1fr auto auto;place-items:center;padding:3px 0 4px;font-family:inherit;line-height:1;display:grid}.slotpile strong{font-size:25px;font-weight:500}.slotpile .count{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.slotpile small{color:var(--dim);letter-spacing:.5px;text-transform:uppercase;font-size:8px;font-weight:700}.slotpile:disabled{border-color:var(--line);cursor:default;opacity:.48}.slotpile:not(:disabled):active{background:color-mix(in srgb, var(--single) 18%, var(--card-bg))}.deckpile:disabled{cursor:default;opacity:.55}.deckpile:not(:disabled):active .deck-back{background:var(--accent-dim);border-color:var(--accent)}.deckpile.draw-needed{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, var(--panel-2));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent), 0 0 16px color-mix(in srgb, var(--accent) 46%, transparent);animation:1.15s ease-in-out infinite draw-pile-pulse}.deckpile.draw-needed .deck-back{border-color:var(--accent)}@keyframes draw-pile-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 65%, transparent);transform:translateY(-2px)scale(1.04)}}@media (prefers-reduced-motion:reduce){.deckpile.draw-needed{animation:none}}@media (orientation:landscape) and (max-height:560px){.screen.play{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,44vh) minmax(220px,1fr);align-items:start;column-gap:8px;max-width:none;display:grid}.screen.play .titlebar{grid-column:1/-1}.screen.play .board{grid-row:2/span 2;width:auto;height:min(44vh,92vw)}}.titlebar .scorebox{cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit}.prospects{flex-direction:column;gap:4px;display:flex}.prospect{border:1px solid var(--line);background:var(--panel-2);border-radius:5px;align-items:baseline;gap:8px;padding:5px 8px;font-size:13px;display:flex}.prospect .p-unit{flex:0 0 76px;font-weight:700}.prospect .p-state{color:var(--dim);font-variant-numeric:tabular-nums}.prospect.alive .p-unit{color:var(--single)}.prospect.lost{opacity:.6}.progress-list{flex-direction:column;gap:4px;display:flex}.progress-row{border:1px solid var(--line);background:var(--panel-2);border-radius:5px;align-items:baseline;gap:8px;padding:5px 8px;display:flex}.progress-row b{min-width:92px}.progress-row small{color:var(--dim)}.progress-row.done b{color:var(--single)}.highscore-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.highscore-group{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 84%, var(--panel));border-radius:9px;min-width:0;padding:7px}.highscore-group h4{color:var(--accent);margin:0 0 4px;font-size:12px}.highscore-rows{gap:2px;display:grid}.highscore-row{min-width:0;color:var(--dim);grid-template-columns:20px 1fr auto;align-items:baseline;gap:3px;font-size:11px;display:grid}.highscore-row b{color:var(--sum);font-variant-numeric:tabular-nums;font-size:12px}.highscore-rank{color:var(--accent);font-weight:700}.highscore-deal{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.highscore-empty{color:var(--dim);font-size:10px}.intro-panel{max-width:430px}.intro-kicker{color:var(--sum);letter-spacing:1px;margin:0 0 4px;font-size:10px;font-weight:800}.intro-panel h2{margin-bottom:6px}.intro-steps{gap:7px;margin-top:12px;display:grid}.intro-step{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 82%, var(--panel));border-radius:9px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.intro-number{background:color-mix(in srgb, var(--accent) 24%, var(--panel));width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.intro-step b,.intro-step small{display:block}.intro-step b{color:var(--text);font-size:13px}.intro-step small,.intro-note{color:var(--dim);font-size:11px;line-height:1.35}.intro-demo{min-height:38px;color:var(--accent);align-items:center;gap:6px;margin-top:7px;display:flex}.intro-deck-card,.intro-mini-card,.intro-grid-cell,.intro-flush-card,.intro-joker,.intro-slot{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;place-items:center;min-width:30px;min-height:34px;font-size:15px;font-weight:800;display:grid}.intro-deck-card{color:var(--text);letter-spacing:.6px;background:repeating-linear-gradient(45deg, var(--accent-dim), var(--accent-dim) 3px, var(--panel-2) 3px, var(--panel-2) 6px);font-size:8px}.intro-mini-card{color:var(--card-black);background:var(--card-bg);position:relative}.intro-mini-card.heart{color:var(--card-red)}.intro-mini-card small{font-size:8px;position:absolute;bottom:1px;right:3px}.intro-arrow{font-weight:800}.intro-grid-cell{background:color-mix(in srgb, var(--accent) 18%, var(--panel))}.intro-flush-card{min-width:62px;color:var(--card-red);letter-spacing:2px;font-size:12px}.intro-joker{color:#7b4de1;font-size:21px}.intro-slot{color:var(--success);border-style:dashed}.intro-note{margin:10px 0 0}.level-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.level-stat{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 82%, var(--panel));text-align:center;border-radius:8px;padding:8px 4px}.level-stat b,.level-stat small{display:block}.level-stat b{color:var(--sum);font-size:18px}.level-stat small{color:var(--dim);font-size:10px}.titlebar .id.doomed{color:var(--error)}.doombar{border:1px solid var(--error);background:color-mix(in srgb, var(--error) 16%, var(--panel));color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.doombar[hidden]{display:none}.doombar span{flex:auto;min-width:0}.doombar .btn{border-color:var(--error);flex:none;padding:6px 14px;font-size:13px}.panel h2.bad{color:var(--error)}.titlebar,.level,.home-tally>div,.tray,.panel{box-shadow:0 8px 20px color-mix(in srgb, var(--shadow) 55%, transparent)}.titlebar{background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, white), var(--panel));border-radius:11px}.iconbtn,.source,.pick,.key,.btn{box-shadow:0 2px 0 color-mix(in srgb, var(--line) 55%, transparent), 0 5px 10px color-mix(in srgb, var(--shadow) 34%, transparent);border-radius:9px;transition:transform .12s,box-shadow .12s,background .12s}.key:active,.btn:active,.source:active,.pick:active,.iconbtn:active{transform:translateY(2px);box-shadow:0 0 #0000}.level{background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 94%, white), var(--panel));border-radius:12px}.source{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-2) 88%, white), var(--panel-2))}.home-tally>div{background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 93%, white), var(--panel));border-radius:10px}.board{box-shadow:0 13px 28px color-mix(in srgb, var(--shadow) 64%, transparent);border-radius:14px;overflow:hidden}.panel{border-radius:14px}:root{--tier-1:#e08b45;--tier-2:#ccd5dd;--tier-3:#f0c34a;--tier-4:#93dcea}:root[data-theme$=-day]{--tier-1:#c25708;--tier-2:#46525f;--tier-3:#d19400;--tier-4:#0089ad}:root[data-theme=contrast]{--tier-1:#e69f00;--tier-2:#fff;--tier-3:#f0e442;--tier-4:#56b4e9}.scoretrack{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;touch-action:manipulation;background:0 0;border:none;margin:0;padding:0;display:block}.scorebar{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;height:26px;display:block;position:relative;overflow:hidden}.scorebar-fill{background:var(--accent-dim);transition:width .25s ease-out;position:absolute;inset:0 auto 0 0}.scorebar-fill.tier-1{background:color-mix(in srgb, var(--tier-1) 55%, var(--panel-2))}.scorebar-fill.tier-2{background:color-mix(in srgb, var(--tier-2) 45%, var(--panel-2))}.scorebar-fill.tier-3{background:color-mix(in srgb, var(--tier-3) 52%, var(--panel-2))}.scorebar-fill.tier-4{background:color-mix(in srgb, var(--tier-4) 55%, var(--panel-2))}.scorebar-marks{pointer-events:none;position:absolute;inset:0}.scorebar-mark{background:var(--line-strong);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.scorebar-mark.tier-1{color:var(--tier-1)}.scorebar-mark.tier-2{color:var(--tier-2)}.scorebar-mark.tier-3{color:var(--tier-3)}.scorebar-mark.tier-4{color:var(--tier-4)}.scorebar-mark.tier-1,.scorebar-mark.tier-2,.scorebar-mark.tier-3,.scorebar-mark.tier-4{background:color-mix(in srgb, currentColor 50%, transparent);width:1px}.scorebar-mark.passed{background:currentColor;width:2px}.scorebar-mark.deal-target{border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--text);background:0 0;width:0;height:0;margin-left:-5px;bottom:auto}.scorebar-value{color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px var(--shadow);font-size:15px;font-weight:800;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.scorebar-target{color:var(--dim);font-variant-numeric:tabular-nums;margin-left:-6px;font-size:12px;font-weight:700;position:absolute;top:50%;transform:translate(-100%,-50%)}.scorebar-caption{color:var(--dim);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px;display:block}.scorebar-mark .ticon{opacity:.72;width:18px;height:18px;filter:drop-shadow(0 0 1.5px var(--shadow));position:absolute;top:50%;right:3px;transform:translateY(-50%)}.scorebar-mark.passed .ticon{opacity:1;filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 1px 1px var(--shadow))}.scorebar-mark.tier-5{z-index:2;background:0 0}.scorebar-mark.tier-5 .ticon{color:var(--tier-5);width:19px;height:19px;filter:drop-shadow(0 0 4px var(--tier-5));opacity:1}.scorebar-fill.tier-5{background:color-mix(in srgb, var(--tier-5) 55%, var(--panel-2))}.btn.icon .gicon{color:currentColor;width:17px;height:17px;margin:0 auto;display:block}.titlebar .homebtn{background:var(--panel-2);border:1px solid var(--line);width:30px;height:28px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:4px;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.titlebar .homebtn:active{background:var(--accent-dim)}.titlebar .homebtn .gicon{width:17px;height:17px}:root{--tier-5:#d08bff}:root[data-theme$=-day]{--tier-5:#7a2ecc}:root[data-theme=contrast]{--tier-5:#cc79a7}.scorebar{height:30px}.scorebar-axis{height:13px;margin-top:2px;display:block;position:relative}.axis-tick{white-space:nowrap;font-variant-numeric:tabular-nums;color:color-mix(in srgb, currentColor 75%, var(--dim));font-size:9.5px;font-weight:700;line-height:1;position:absolute;top:0;transform:translate(-50%)}.axis-tick.tier-1{color:var(--tier-1)}.axis-tick.tier-2{color:var(--tier-2)}.axis-tick.tier-3{color:var(--tier-3)}.axis-tick.tier-4{color:var(--tier-4)}.axis-tick.passed{opacity:.55}.pcard.ace .card-rank,.scard.ace .card-rank{display:none}.pcard.ace .card-suit{font-size:30px;line-height:1}.scard.ace .card-suit{font-size:.72em;line-height:1}:root{--joker-0:#d4483d;--joker-1:#8464c0;--joker-2:#d4548a;--joker-3:#e6963a}:root[data-theme$=-day]{--joker-0:#b02f27;--joker-1:#5b3f8c;--joker-2:#ab2f66;--joker-3:#b56a12}:root[data-theme=contrast]{--joker-0:#cc79a7;--joker-1:#009e73;--joker-2:#fff;--joker-3:#e69f00}.joker.jv-0{--joker:var(--joker-0);--joker-tint:var(--joker-0)}.joker.jv-1{--joker:var(--joker-1);--joker-tint:var(--joker-1)}.joker.jv-2{--joker:var(--joker-2);--joker-tint:var(--joker-2)}.joker.jv-3{--joker:var(--joker-3);--joker-tint:var(--joker-3)}.card-rank,.corner,.scard .d,.pcard .d{font-family:var(--font-card);letter-spacing:0;font-weight:600}.card-suit,.corner small{font-family:var(--font-card)}.cell .big.given{font-family:var(--font-card);font-weight:600}.hero h1,.titlebar .id{font-family:var(--font-card);letter-spacing:.5px}.hero h1{font-weight:600}.board.sol{box-shadow:inset 0 0 30px #00000047, 0 2px 10px var(--shadow);border-radius:3px}.pcard{box-shadow:0 1px 3px var(--shadow);border-radius:5px}.scard{border-radius:7%}.trophy{filter:none;opacity:.28;width:14px;height:14px;display:inline-flex}.trophy .ticon{width:100%;height:100%}.trophy.earned{opacity:1}.trophy.tier-1{color:var(--tier-1)}.trophy.tier-2{color:var(--tier-2)}.trophy.tier-3{color:var(--tier-3)}.trophy.tier-4{color:var(--tier-4)}.row-trophy{vertical-align:-2px;width:14px;height:14px;margin-right:5px;display:inline-flex}.row-trophy .ticon{width:100%;height:100%}.row-trophy.tier-1{color:var(--tier-1)}.row-trophy.tier-2{color:var(--tier-2)}.row-trophy.tier-3{color:var(--tier-3)}.row-trophy.tier-4{color:var(--tier-4)}.row-trophy.tier-5{color:var(--tier-5)}.summary.won-trophy{justify-content:center;align-items:center;gap:2px;display:flex}.cell .big.given{color:var(--felt-ink);text-shadow:0 1px 2px #00000059}.tray-clock{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;margin:2px -8px -4px;padding:5px 10px 0;display:flex}.tray-clock .timerbox{color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.5px;min-width:0;font-size:13px}.tabs.tables{grid-template-columns:1fr 1fr;gap:6px;display:grid}.btn.table-swatch{justify-content:flex-start;align-items:center;gap:7px;padding:7px 9px;font-size:13px;display:flex}.table-chip{border:1px solid #00000059;border-radius:3px;flex:none;width:22px;height:15px}.table-chip.newsprint{background:linear-gradient(90deg,#fff 0 55%,#b03a2e 55% 100%)}.table-chip.baize{background:linear-gradient(90deg,#1d3a2b 0 55%,#d9a441 55% 100%)}.table-chip.claret{background:linear-gradient(90deg,#4a1f28 0 55%,#d8b04a 55% 100%)}.table-chip.midnight{background:linear-gradient(90deg,#28323d 0 55%,#e0a458 55% 100%)}.btn.table-swatch.on{border-color:var(--accent);color:var(--accent)}.scard{box-shadow:0 1px 2px var(--shadow)}.theme-tables{gap:6px;display:grid}.theme-table{text-align:left;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.theme-table.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-table[disabled]{opacity:.45;cursor:default}.theme-table .table-chip{width:30px;height:21px}.theme-table-text b{font-size:14px;font-weight:700;display:block}.theme-table-text small{color:var(--dim);font-size:11.5px;display:block}.theme-note{min-height:18px;margin:6px 0 0}.tray-row.piles{justify-content:flex-end;gap:10px;min-height:0}.titlebar .timerbox{color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.5px;margin-left:auto;font-size:13px}.titlebar .timerbox+.homebtn{margin-left:8px}@media (max-width:460px){.tray-label{writing-mode:vertical-rl;text-align:center;letter-spacing:1px;flex:0 0 14px;align-self:stretch;place-items:center;font-size:10px;display:grid;transform:rotate(180deg)}.tray-row{gap:6px;min-height:0}.cardrow{flex-wrap:nowrap;gap:4px}.pcard{width:40px;height:54px}.pcard .card-rank{font-size:19px}.tray{gap:4px;padding:6px}.screen{gap:6px;padding:6px 6px 10px}.deckpile,.jokerpile,.bankpile,.slotpile{transform-origin:50%;margin:-4px;transform:scale(.86)}}.screen.play .build-stamp{margin-top:6px}@media (max-width:460px){.hand-row .deckpile{flex:none;width:40px;height:54px;margin:0;padding:0;position:relative;transform:none}.hand-row .deck-back{width:40px;height:54px}.hand-row .deck-back:before{font-size:26px}.hand-row .deck-count{background:color-mix(in srgb, var(--panel) 82%, transparent);border-radius:3px;justify-content:center;gap:0;padding:0 2px;line-height:1.25;position:absolute;bottom:3px;left:0;right:0}.hand-row .deck-count small{display:none}}:root{--belt-line:#2b2b28;--belt-stripe:#d9a441;--belt-1:#f4f2ea;--belt-2:#e8c33a;--belt-3:#2f8f52;--belt-4:#2f6fb0;--belt-5:#7a4a24;--belt-6:#23262b}:root[data-theme$=-night]{--belt-line:#8b939c;--belt-3:#3aa35f;--belt-4:#3f83c8;--belt-5:#9a6234;--belt-6:#26292f}:root[data-theme=contrast]{--belt-line:#fff;--belt-stripe:#f0e442;--belt-1:#fff;--belt-2:#f0e442;--belt-3:#009e73;--belt-4:#56b4e9;--belt-5:#e69f00;--belt-6:#000}.beltmark.belt-1{--belt-fill:var(--belt-1)}.beltmark.belt-2{--belt-fill:var(--belt-2)}.beltmark.belt-3{--belt-fill:var(--belt-3)}.beltmark.belt-4{--belt-fill:var(--belt-4)}.beltmark.belt-5{--belt-fill:var(--belt-5)}.beltmark.belt-6{--belt-fill:var(--belt-6)}.beltmark{flex:none;width:40px;height:27px;display:block}.level-head .name{min-width:0;display:block}.level-head .name small{color:var(--dim);white-space:nowrap;font-size:10.5px;font-weight:500;line-height:1.3;display:block}.belt-heading{align-items:center;gap:8px;display:flex}.titlebar .lvl{flex:none;align-items:center;display:flex}.titlebar .lvl .beltmark{width:30px;height:20px}
