.phone{min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;gap:.6rem;padding:.8rem;padding-bottom:max(.8rem,env(safe-area-inset-bottom));overflow:hidden}.phone>.hand{flex:1;min-height:0}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#12100ed1;display:grid;justify-items:center;align-content:center;gap:var(--space-4);padding:var(--space-4);overflow:auto}.sheet button{width:auto;min-width:12rem}.sheet.laid{padding:0;place-content:center;overflow:hidden}.sheet.laid .plate{display:flex;gap:14px;padding:12px;border:5px solid var(--ink);border-radius:var(--radius-card);background:var(--paper-bright);background-image:var(--texture-grain);color:var(--ink);box-shadow:var(--shadow-block);overflow:hidden}.sheet.laid .win{position:relative;flex:0 0 auto}.sheet.laid .win .off{position:absolute;left:var(--misregister);top:var(--misregister);right:calc(-1 * var(--misregister));bottom:calc(-1 * var(--misregister));opacity:.85}.sheet.laid .win img,.sheet.laid .win .none{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:3px solid var(--ink);background:var(--paper)}.sheet.laid .win img{object-fit:cover;display:block}.sheet.laid .win .none{display:grid;place-content:center;font-family:var(--font-stencil);text-transform:uppercase;letter-spacing:var(--tracking-stencil-wide);color:var(--ink-40)}.sheet.laid .say{flex:0 0 auto;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.sheet.laid .say .band{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:3px 4px 3px 8px;border:3px solid var(--ink);font-family:var(--font-stencil);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-stencil-wide)}.sheet.laid .say .band .x{width:34px;min-width:0;height:28px;padding:0;display:grid;place-content:center;background:var(--ink);color:var(--paper-bright);border:none;box-shadow:none;font-size:var(--text-sm);line-height:1}.sheet.laid .read{min-height:0;overflow-y:auto;padding:10px 2px 0;mask-image:linear-gradient(to bottom,#000 calc(100% - 1.1em),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 1.1em),transparent)}.sheet.laid .read .card-name{font-family:var(--font-display);font-weight:400;font-size:var(--sheet-name);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);padding-bottom:.2em;margin-bottom:.25rem}.sheet.laid .read .card-rules{font-family:var(--font-body);font-size:var(--sheet-rules);line-height:var(--leading-normal);gap:.35rem}.sheet.laid .read .card-flavour{font-family:var(--font-body);font-size:calc(var(--sheet-rules) - 1px);line-height:var(--leading-snug);color:var(--text-muted)}.sheet.laid .say .foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-top:8px;padding:2px 8px 4px;background:var(--ink);color:var(--paper-bright)}.sheet.laid .say .foot .lbl{font-family:var(--font-stencil);text-transform:uppercase;letter-spacing:var(--tracking-stencil-wide);opacity:.8}.sheet.laid .say .foot .val{font-family:var(--font-display);color:var(--spot-amber);line-height:1}.phone>.me,.phone>.score,.phone>.err,.phone>.screen,.phone>.card-actions{flex:0 0 auto}.phone .me{display:grid;gap:.35rem;align-content:start;font-size:1.05rem}.phone .me .who-line{display:flex;align-items:center;gap:.5rem;min-width:0}.phone .me .who{font-family:var(--font-stencil);letter-spacing:var(--tracking-stencil);text-transform:uppercase;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone .me .lvl{color:var(--ink-dim);font-size:var(--text-sm);text-align:center}.phone .me .plates{display:grid;gap:.35rem}.phone .me .plate{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;border:2px solid var(--line);border-radius:.4rem;padding:.15rem .5rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-stencil);color:var(--ink-dim)}.phone .me .plate.strong{border-color:var(--ink);color:var(--ink)}.phone .me .plate b{color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);font-variant-numeric:tabular-nums}.phone .me .chips{display:grid;gap:.3rem}.phone .me .chip{background:var(--spot-teal);color:var(--paper-bright);border-radius:.3rem;padding:.15rem .5rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-stencil);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone .me .turn{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-stencil);color:var(--ink-dim)}.phone .me .turn{border-radius:.3rem;padding:.25rem .5rem;text-align:center;border:2px solid transparent}.phone .me .turn.mine{background:var(--spot-amber);color:var(--ink);font-weight:700;border-color:var(--ink)}.mark{font-size:1.4rem}.acts{display:contents}.score{text-align:center;font-size:1.6rem;font-weight:700;padding:.6rem;border-radius:.6rem;border:2px solid var(--line);font-variant-numeric:tabular-nums}.score.winning{border-color:var(--win)}.score.losing{border-color:var(--lose)}.err{background:var(--lose);color:#2a0d0d;border-radius:.5rem;padding:.6rem .8rem;font-weight:600}.screen{display:grid;align-content:center}.stack{display:grid;gap:.6rem}.idle{text-align:center;color:var(--ink-dim);font-size:1.2rem}.phone .big{font-size:1.4rem;min-height:5rem}.picked{border-color:var(--warm);background:var(--ground-2)}.hand{display:grid;grid-template-rows:minmax(0,1fr);min-height:0;gap:var(--space-3)}.hand.browsing{grid-template-rows:auto minmax(0,1fr)}.me .tabs{display:flex;gap:var(--space-2)}.me .tabs button{flex:1;min-height:44px;padding:.5rem .6rem;background:var(--surface-sunken);box-shadow:none}.me .tabs button.on{background:var(--spot-teal);color:var(--paper-bright);box-shadow:var(--shadow-block-sm)}.hand .cards{--drift-dur: 9s;display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-3);overflow-y:auto;min-height:0;padding:var(--space-1) 0 var(--space-2)}.hand .cards .card{padding:0;border:none;background:none;box-shadow:none;width:auto;min-height:0}.hand .cards .card:active:not(:disabled){transform:none}.hand .who-picker{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:2px}.hand .who-picker::-webkit-scrollbar{display:none}.hand .who-picker button{width:auto;flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:.2rem .6rem .2rem .2rem;background:var(--surface-sunken);box-shadow:none}.hand .who-picker button.on{background:var(--spot-teal);color:var(--paper-bright);box-shadow:var(--shadow-block-sm)}.hand .who-picker .nm{font-family:var(--font-stencil);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-stencil);max-width:7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand .who-picker .lv{font-family:var(--font-display);font-size:var(--text-md);line-height:1}.card.dead{opacity:.35}.card.live{border-color:var(--warm-deep)}.phone.boot{grid-template-rows:none;grid-auto-rows:min-content;grid-template-columns:minmax(0,1fr);align-content:center;gap:1.2rem;max-width:34rem;margin-inline:auto;width:100%}.phone.boot h1{text-align:center;margin:0}.phone label{display:grid;gap:.3rem;color:var(--ink-dim);font-size:.95rem}.phone input{font:inherit;font-size:1.4rem;padding:.8rem;border-radius:.5rem;border:1px solid var(--line);background:var(--ground-2);color:var(--ink);text-align:center;letter-spacing:.2em}.offline{position:fixed;top:0;left:0;right:0;background:var(--warm-deep);color:#1a1206;text-align:center;padding:.3rem;font-size:.9rem;z-index:20}.chooser{gap:1rem}.as-button{display:block;text-align:center;text-decoration:none;font:inherit;color:inherit;background:var(--ground-3);border:1px solid var(--line);border-radius:.6rem;padding:1.1rem 1.2rem;min-height:3.4rem}.chooser .hint{text-align:center;line-height:1.5}.card-open{background:var(--ground-2);border:1px solid var(--warm-deep);border-radius:.6rem;padding:.8rem;margin-bottom:.6rem}.card-name{font-weight:700;font-size:1.15rem;margin-bottom:.4rem}.card-rules{margin:0 0 .5rem;padding-left:1.1rem;display:grid;gap:.2rem;font-size:.98rem;color:var(--ink)}.card-flavour{font-style:italic;color:var(--ink-faint);font-size:.92rem}.card-actions{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:var(--border-heavy)}.card-actions button{min-height:52px}.card.open{border-color:var(--warm)}.rotate-me{display:none}@media(orientation:portrait){.rotate-me{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center;background:var(--surface-plate);color:var(--paper-bright);background-image:var(--texture-grain)}.rotate-me .glyph{font-size:88px;line-height:1;color:var(--spot-amber);animation:nudge 2.4s var(--ease-stamp) infinite}.rotate-me .say{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:var(--tracking-display)}.rotate-me .teach{width:auto;min-height:3rem;padding:0 var(--space-5);margin-top:var(--space-3);background:transparent;color:var(--paper-bright);border:2px solid var(--spot-amber);font-family:var(--font-stencil);font-size:var(--text-sm);letter-spacing:var(--tracking-stencil-wide)}.rotate-me .why{font-family:var(--font-stencil);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-stencil-wide);color:var(--spot-amber)}}@keyframes nudge{0%,70%,to{transform:rotate(0)}80%,92%{transform:rotate(90deg)}}@media(orientation:landscape){.phone{display:grid;grid-template-columns:8rem minmax(0,1fr) 7.5rem;grid-template-rows:auto minmax(0,1fr) auto;column-gap:var(--space-3);row-gap:var(--space-2);height:100dvh;min-height:0;overflow:hidden;padding:var(--space-2) var(--space-3)}.phone>.err{grid-row:1;grid-column:1 / -1}.phone>.me{grid-row:2 / -1;grid-column:1;padding:0;display:flex;flex-direction:column;overflow-y:auto}.phone>.me>*{flex:0 0 auto}.phone>.me .tabs{margin-top:auto;padding-top:var(--space-2);flex-direction:column}.phone>.me .tabs button{min-height:38px;padding:.15rem .4rem;font-size:var(--text-xs)}.phone>.hand{grid-row:2 / -1;grid-column:2;min-height:0;gap:var(--space-2)}.phone .cards{flex-wrap:nowrap;align-items:flex-start;overflow-x:auto;overflow-y:hidden;min-height:0;padding:0 0 var(--space-2);scroll-snap-type:x proximity}.phone .cards .card{flex:0 0 auto;scroll-snap-align:start}.phone>.acts{grid-column:3;grid-row:2;min-width:0;min-height:0;display:grid;align-content:start;gap:var(--space-2);overflow-y:auto;padding-bottom:var(--space-2);scroll-snap-type:y proximity}.phone>.acts>*>*{scroll-snap-align:start}.phone>.score{grid-column:3;grid-row:3;min-width:0;font-size:var(--text-lg);padding:.3rem}.phone>.acts>.screen{align-content:start}.phone>.acts>.card-actions{padding:0;border:none;display:grid;gap:var(--space-2)}.phone>.acts .stack{display:grid;gap:var(--space-2)}.phone>.acts button{width:100%;min-height:44px;font-size:var(--text-sm)}}
