@import './arcade-tokens.css';
/* Pebble territory shares the arcade controls and contextual status layout. */
.pebble-score{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);font-weight:var(--font-weight-semibold)}
.pebble-you{color:var(--arcade-foundation-color-187465)}.pebble-ai{color:var(--arcade-foundation-color-a54d36)}
.pebble-turn{font-size:var(--font-size-xs);color:var(--color-text-muted)}
.pebble-aim{width:var(--arcade-ui-size-110px);accent-color:var(--color-action)}
.pebble-game .chip-controls output{min-width:var(--arcade-ui-size-36px);font-variant-numeric:tabular-nums}
@media(max-width:650px){.pebble-game .chip-game-heading h2{font-size:var(--arcade-foundation-type-20px)}.pebble-game .chip-controls label{flex:1 1 42%}.pebble-game .chip-controls input{width:var(--arcade-ui-size-80px)}.pebble-score{font-size:var(--font-size-sm)}.pebble-turn{font-size:var(--arcade-foundation-type-11px)}}
/* Transparent display surfaces are scoped to the hidden arcade. */
.section-elevator .arcade-open{position:absolute;top:calc(100% + var(--space-4));left:var(--arcade-ui-space-negative-1px);width:var(--arcade-ui-size-76px);min-height:var(--space-16);border:var(--arcade-ui-stroke-1px) solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-white);box-shadow:var(--shadow-floating);color:var(--color-action)}
/* Center the visible elevator + OPEN bounds without changing the markup. */
@media(min-width:1000px) and (min-height:600px){
 .section-elevator:has(.arcade-open){transform:translateY(calc(-50% - (var(--space-4) + var(--space-16) - var(--arcade-ui-space-1px)) / 2))}
}
.coin-arcade{--glass-ink:var(--arcade-foundation-color-dffbf3);position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:var(--glass-ink);background:var(--arcade-foundation-color-17333a);overflow:auto;font-family:var(--font-body)}
.coin-arcade::backdrop{background:var(--color-overlay)}.coin-arcade *{box-sizing:border-box}
.coin-arcade button{font:inherit;cursor:pointer}.coin-arcade button:focus-visible,.coin-arcade canvas:focus-visible{outline:var(--arcade-ui-stroke-3px) solid var(--arcade-foundation-color-d4ff96);outline-offset:var(--arcade-ui-space-5px)}
.arcade-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 40%,var(--arcade-foundation-color-1b987b30),transparent 55%),radial-gradient(ellipse at 90% 80%,var(--arcade-foundation-color-5671c428),transparent 55%),repeating-linear-gradient(0deg,transparent 0 var(--arcade-ui-pattern-3px),var(--arcade-foundation-color-afffe903) var(--arcade-ui-pattern-3px) var(--arcade-ui-pattern-4px))}
.arcade-shell{position:relative;max-width:var(--arcade-ui-size-1160px);min-height:100%;margin:auto;padding:var(--arcade-foundation-space-28px) var(--space-12);display:flex;flex-direction:column}
.arcade-header,.arcade-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);font-size:var(--arcade-foundation-type-11px);letter-spacing:var(--arcade-ui-tracking-2px);color:var(--arcade-foundation-color-a0beb9)}
.coin-arcade .arcade-close,.coin-arcade .game-back,.coin-arcade .game-reset{border:var(--arcade-ui-stroke-1px) solid var(--arcade-foundation-color-88d7c54d);background:var(--arcade-foundation-color-ffffff08);color:var(--arcade-foundation-color-dffbf3);padding:var(--arcade-foundation-space-10px) var(--space-4);border-radius:var(--arcade-foundation-radius-5px);min-height:var(--arcade-ui-size-44px);letter-spacing:0}
.arcade-content{flex:1;padding:var(--space-10) 0}.arcade-intro{text-align:center;margin-bottom:var(--arcade-foundation-space-36px)}.arcade-eyebrow{color:var(--arcade-foundation-color-b6f894);font-size:var(--arcade-foundation-type-11px);letter-spacing:var(--arcade-ui-tracking-4px);margin:0 0 var(--space-4)}
.coin-arcade h2{color:inherit;margin:0;font-size:clamp(var(--font-size-heading),3vw,var(--arcade-foundation-type-38px));line-height:var(--arcade-ui-leading-1point-3)}.arcade-intro>p:last-child{color:var(--arcade-foundation-color-9abdb5);font-size:var(--font-size-ui);margin:var(--space-4) 0}
.arcade-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--arcade-ui-size-220px)),1fr));align-items:stretch;gap:var(--space-4);width:100%;margin:auto}

.arcade-footer{padding-top:var(--arcade-foundation-space-18px);border-top:var(--arcade-ui-stroke-1px) solid var(--arcade-foundation-color-aaffdf20);letter-spacing:var(--arcade-ui-tracking-1px)}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.coin-arcade .game-heading h2{font-size:var(--arcade-foundation-type-22px)}.game-score{font-size:var(--font-size-sm);color:var(--arcade-foundation-color-ccffa3);white-space:nowrap}.game-help,.game-keyboard{font-size:var(--font-size-sm);color:var(--arcade-foundation-color-a5c9bd);line-height:var(--arcade-ui-leading-1point-7)}.coin-pitch{display:block;width:100%;aspect-ratio:900/560;object-fit:contain;border:var(--arcade-ui-stroke-1px) solid var(--arcade-foundation-color-73d9b955);border-radius:var(--arcade-foundation-radius-8px);touch-action:none;background:var(--arcade-foundation-color-092b30)}.game-bottom{display:flex;gap:var(--space-4);justify-content:space-between;align-items:center}.game-status{font-size:var(--font-size-ui);line-height:var(--arcade-ui-leading-1point-6);color:var(--arcade-foundation-color-d4f2bf);flex:1}.game-reset{flex-shrink:0}.game-keyboard{font-size:var(--arcade-foundation-type-11px)}
.arcade-doors{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}.arcade-door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:var(--color-white,var(--arcade-foundation-color-ffffff));transition:transform 1s cubic-bezier(.65,0,.2,1);box-shadow:var(--arcade-box-shadow-detail-1)}.arcade-door.left{left:0;border-right:var(--arcade-ui-stroke-1px) solid var(--arcade-foundation-color-b9fff8)}.arcade-door.right{right:0;border-left:var(--arcade-ui-stroke-1px) solid var(--arcade-foundation-color-b9fff8)}.arcade-page{position:absolute;left:0;color:var(--color-text);background:var(--color-white,var(--arcade-foundation-color-ffffff));pointer-events:none}.right .arcade-page{left:-50vw}.opened .left{transform:translateX(-101%)}.opened .right{transform:translateX(101%)}
@media(max-width:999px),(max-height:599px){.section-elevator{display:flex;position:fixed;right:var(--arcade-foundation-space-12px);top:45%;z-index:90;padding:var(--space-1);border:var(--arcade-ui-stroke-1px) solid var(--color-border);border-radius:var(--arcade-foundation-radius-8px);background:var(--color-white)}.section-elevator>button:not(.arcade-open),.section-elevator>output{display:none}.section-elevator .arcade-open{position:static;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:auto;border:0;min-height:var(--arcade-ui-size-48px);font-size:var(--arcade-foundation-type-11px);background:transparent;box-shadow:none}}
@media(max-width:650px){.arcade-shell{padding:var(--space-5)}.arcade-content{padding:var(--arcade-foundation-space-28px) 0}.arcade-header{font-size:var(--arcade-foundation-type-9px);letter-spacing:var(--arcade-ui-tracking-1px)}.arcade-footer{font-size:var(--arcade-foundation-type-9px);align-items:flex-start}.game-heading{flex-wrap:wrap}.coin-arcade .game-heading h2{font-size:var(--font-size-lead)}.coin-pitch{max-height:none}.game-bottom{align-items:flex-start}.game-status{font-size:var(--font-size-xs)}}
@media(prefers-reduced-motion:reduce){.arcade-door{transition:none}}

/* Elevator door control: shared design-system states and motion. */
.section-elevator .arcade-open{
 transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);
}
.section-elevator .arcade-open span:first-child{color:inherit}
@media(hover:hover){
 .section-elevator .arcade-open:hover{background:var(--color-surface-hover);border-color:var(--color-action);color:var(--color-action-hover);box-shadow:var(--shadow-floating);transform:translateY(calc(var(--space-1) / -2))}
}
.section-elevator .arcade-open:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);background:var(--color-surface-hover);border-color:var(--color-action)}
.section-elevator .arcade-open:active{background:var(--color-surface-subtle);border-color:var(--color-action-hover);box-shadow:var(--shadow-control);transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.section-elevator .arcade-open{transition:none}.section-elevator .arcade-open:hover{transform:none}}
/* Bottom-centered elevator return control, using shared control tokens. */
.arcade-header{min-height:var(--space-16)}
.coin-arcade .arcade-close{position:fixed;z-index:var(--z-floating);top:auto;bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);width:calc(var(--space-16) + var(--space-3));min-height:var(--space-16);padding:var(--space-2);border:var(--arcade-ui-stroke-1px) solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-action);box-shadow:var(--shadow-floating);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:normal;text-shadow:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}
.coin-arcade .arcade-close span:first-child{font-size:var(--font-size-ui)}
.coin-arcade .arcade-close:hover{background:var(--color-surface-hover);border-color:var(--color-action);color:var(--color-action-hover)}
.coin-arcade .arcade-close:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
.coin-arcade .arcade-close:active{background:var(--color-surface-subtle);box-shadow:var(--shadow-control)}
@media(max-width:650px){.arcade-header{min-height:var(--arcade-ui-size-100px);align-items:flex-end;justify-content:center}}

/* Wordmark at the top; reserve bottom space for the close control. */
.coin-arcade .arcade-shell{padding-top:var(--space-4);padding-bottom:calc(var(--space-16) + var(--space-8) + env(safe-area-inset-bottom,var(--arcade-foundation-space-0px)))}
.coin-arcade .arcade-header{min-height:0;justify-content:center;align-items:center;text-align:center}

/* Fine reflections on the see-through display overlooking the mountain valley. */
.coin-arcade .arcade-glow{position:fixed;box-shadow:var(--arcade-box-shadow-detail-2);background:linear-gradient(115deg,transparent 12%,var(--arcade-foundation-color-d0fff509) 32%,transparent 46%,var(--arcade-foundation-color-d8eaff0d) 77%,transparent 90%),repeating-linear-gradient(0deg,transparent 0 var(--arcade-ui-pattern-3px),var(--arcade-foundation-color-afffe905) var(--arcade-ui-pattern-3px) var(--arcade-ui-pattern-4px))}
.coin-arcade .arcade-header{font-family:var(--font-display-en);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:normal;color:var(--color-text-muted);text-shadow:none}
.coin-arcade .arcade-wordmark{max-width:100%;overflow-wrap:anywhere;padding:var(--space-2) 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--color-on-media);text-shadow:var(--shadow-media-text);-webkit-text-stroke:var(--media-text-stroke);paint-order:stroke fill}
.coin-arcade .game-help,.coin-arcade .game-keyboard{color:var(--glass-ink);text-shadow:var(--arcade-text-shadow-detail-3)}

/* Card presentation is shared in components.css; only layout lives here. */



/* 3D tabletop controls use the shared site design system. */
.coin-arcade .chip-game{padding:var(--space-4);border:var(--arcade-ui-stroke-1px) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-caption-surface);color:var(--color-text);box-shadow:var(--shadow-floating)}
.chip-game-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}
.coin-arcade .chip-game h2{font-family:var(--font-display-en);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);color:var(--color-text)}
.chip-progress{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}
.chip-viewport{position:relative;height:clamp(var(--arcade-ui-size-360px),60vh,var(--arcade-ui-size-660px));overflow:hidden;border-radius:var(--radius-card);background:var(--color-charcoal)}
.chip-viewport canvas{display:block;width:100%;height:100%;touch-action:none}
.chip-camera{position:absolute;right:var(--space-2);bottom:var(--space-2);display:flex;gap:var(--space-1)}
.coin-arcade .chip-game button{min-height:var(--control-height-touch);background:var(--color-surface);color:var(--color-text);border:var(--arcade-ui-stroke-1px) solid var(--color-border-input);border-radius:var(--radius-control);font-family:var(--font-body);font-size:var(--font-size-sm)}
.coin-arcade .chip-game button:not(:disabled):hover{background:var(--color-surface-hover)}
.coin-arcade .chip-game button:focus-visible,.coin-arcade .chip-game canvas:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
.coin-arcade .chip-game button[aria-pressed="true"]{border-color:var(--color-action);background:var(--color-surface-hover);color:var(--color-action)}
.coin-arcade .chip-game button:disabled{opacity:.45;cursor:default}
.chip-controls,.chip-picks{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.chip-controls{margin-top:var(--space-3);justify-content:space-between}
.chip-controls label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}
.chip-power{width:var(--arcade-ui-size-120px);accent-color:var(--color-action)}
.chip-status{margin:var(--space-3) 0;font-size:var(--font-size-ui);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body)}
.chip-help,.chip-rules{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-body)}
.chip-rules summary{cursor:pointer;min-height:var(--control-height-touch);display:list-item;padding-top:var(--space-2)}
.chip-result{position:absolute;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none;background:var(--color-overlay);color:var(--color-white);font-family:var(--font-display-en);font-size:clamp(var(--arcade-foundation-type-48px),9vw,var(--arcade-foundation-type-100px));font-weight:var(--font-weight-bold);letter-spacing:var(--arcade-ui-tracking-0point-06em)}
.chip-result.show{display:flex}
@media(max-width:650px){.coin-arcade .chip-game{padding:var(--space-2)}.chip-viewport{height:var(--arcade-ui-size-420px)}.chip-camera button{padding:var(--space-1) var(--space-2)}.chip-game-heading{gap:var(--space-2)}.coin-arcade .chip-game h2{font-size:var(--font-size-heading)}}

/* Video is confined to the arcade and sits behind the glass and cards. */
.coin-arcade .arcade-background-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:0}
.coin-arcade .arcade-glow{z-index:1}
.coin-arcade .arcade-shell{z-index:2}

/* Basketball catch timing and aim controls reuse system colors and spacing. */
.basket-aim{width:var(--arcade-ui-size-100px);accent-color:var(--color-action)}
.basket-catch-meter{position:absolute;left:50%;top:var(--space-4);transform:translateX(-50%);width:var(--arcade-ui-size-160px);height:var(--space-4);border:var(--arcade-ui-stroke-1px) solid var(--color-border-input);border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-surface) 0 33%,var(--color-success-surface) 33% 67%,var(--color-surface) 67%);box-shadow:var(--shadow-control)}
.basket-catch-meter[hidden]{display:none}
.basket-catch-meter span{position:absolute;left:calc(50% - var(--arcade-ui-space-3px));top:var(--arcade-ui-space-negative-3px);width:var(--arcade-ui-size-6px);height:var(--arcade-ui-size-20px);background:var(--color-action);border-radius:var(--radius-control)}
.basket-catch-meter.is-ready{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
.coin-arcade .chip-game .basket-catch-ready{background:var(--color-success-surface);border-color:var(--color-success)}



.chip-result-perfect{font-size:clamp(var(--arcade-foundation-type-20px),4vw,var(--arcade-foundation-type-52px));letter-spacing:var(--arcade-ui-tracking-0point-02em);text-align:center;padding:var(--space-4)}

.basket-results{flex-direction:column;gap:var(--space-3);text-align:center;letter-spacing:normal;padding:var(--space-4);font-size:var(--font-size-heading)}
.basket-results strong{font-size:clamp(var(--arcade-foundation-type-40px),7vw,var(--arcade-foundation-type-72px))}
.basket-results small{font-family:var(--font-body);font-size:var(--font-size-ui)}

.chip-controls label[hidden]{display:none}

.book-types{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.coin-arcade .book-types button[aria-pressed="true"]{border-color:var(--color-action);background:var(--color-surface-hover);color:var(--color-action)}

@media(max-width:650px){.book-flip-game .chip-viewport{height:clamp(var(--arcade-ui-size-280px),42dvh,var(--arcade-ui-size-420px))}}

.eraser-edge{min-height:var(--control-height-touch);padding:0 var(--space-3);border:var(--arcade-ui-stroke-1px) solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit}
.eraser-edge:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
@media(max-width:650px){.eraser-game .chip-viewport{height:clamp(var(--arcade-ui-size-280px),42dvh,var(--arcade-ui-size-420px))}}

.ping-rally{font-size:var(--font-size-sm);color:var(--color-text-muted)}
@media(max-width:650px){.ping-game .chip-viewport{height:clamp(var(--arcade-ui-size-280px),42dvh,var(--arcade-ui-size-420px))}}

/* Music control occupies its own space beside the centered wordmark. */
.coin-arcade .arcade-header{position:relative;padding-inline:calc(var(--control-height-touch) + var(--space-2));min-height:var(--control-height-touch)}
.coin-arcade .arcade-mute{position:absolute;right:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-touch);height:var(--control-height-touch);padding:0;min-height:var(--control-height-touch)}
.coin-arcade .arcade-mute[hidden]{display:none}
.coin-arcade .arcade-mute:focus-visible{outline:var(--glass-card-focus-ring);outline-offset:var(--focus-offset)}

/* Paper-and-pencil triangle territory. Native buttons support touch and keys. */
.triangle-score{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0 var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.triangle-score strong{font-size:var(--font-size-heading);margin-left:var(--space-2);font-variant-numeric:tabular-nums}
.triangle-you{color:var(--arcade-foundation-color-116e65)}.triangle-ai{color:var(--arcade-foundation-color-a64f3c)}.triangle-turn{font-size:var(--font-size-xs);text-align:center;color:var(--color-text-muted)}
.triangle-board{position:relative;isolation:isolate;aspect-ratio:1000/510;background:repeating-linear-gradient(0deg,transparent 0 var(--arcade-ui-pattern-31px),var(--arcade-foundation-color-69899916) var(--arcade-ui-pattern-31px) var(--arcade-ui-pattern-32px)),var(--arcade-foundation-color-faf6e9);border:var(--arcade-ui-stroke-1px) solid var(--arcade-foundation-color-d2c9b5);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--arcade-box-shadow-detail-4)}
.triangle-board svg,.triangle-dots{position:absolute;inset:0;width:100%;height:100%}
.triangle-board svg{pointer-events:none}
.triangle-lines line{stroke:var(--arcade-foundation-color-3c494d);stroke-width:2.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.triangle-lines .triangle-last-edge{stroke:var(--arcade-foundation-color-8f6a19);stroke-width:3.5}
.triangle-owned-you{fill:var(--arcade-foundation-color-57b9a766)}.triangle-owned-ai{fill:var(--arcade-foundation-color-e391706b)}
.triangle-owner-label{font:var(--arcade-font-weight-semibold) var(--font-size-lead) var(--font-body);fill:var(--arcade-foundation-color-35484b);pointer-events:none}
.coin-arcade .triangle-game .triangle-dot{position:absolute;transform:translate(-50%,-50%);width:var(--arcade-ui-size-36px);height:var(--arcade-ui-size-36px);min-height:var(--arcade-ui-size-36px);padding:0 0 var(--space-5);border:0;border-radius:var(--arcade-radius-round);background:transparent;color:var(--arcade-foundation-color-4b575a);font-size:var(--arcade-foundation-type-10px);line-height:var(--arcade-line-height-dot-label);touch-action:manipulation;opacity:1}
.triangle-dot::after{content:'';position:absolute;left:50%;top:50%;width:var(--arcade-ui-size-8px);height:var(--arcade-ui-size-8px);border-radius:var(--arcade-radius-round);background:var(--arcade-foundation-color-36484e);transform:translate(-50%,-50%);box-shadow:var(--arcade-box-shadow-detail-5)}
.coin-arcade .triangle-game .triangle-dot:hover:not(:disabled){background:var(--arcade-foundation-color-116e6519)}
.coin-arcade .triangle-game .triangle-dot[aria-pressed="true"]{background:var(--arcade-foundation-color-116e6533);box-shadow:var(--arcade-box-shadow-detail-6)}
.triangle-dot[aria-pressed="true"]::after{background:var(--arcade-foundation-color-116e65)}
.triangle-dot.triangle-available::after{background:var(--arcade-foundation-color-116e65);box-shadow:var(--arcade-box-shadow-detail-7)}
.coin-arcade .triangle-game .triangle-dot:focus-visible{outline:var(--arcade-ui-stroke-3px) solid var(--arcade-foundation-color-116e65);outline-offset:var(--arcade-ui-space-1px)}
.triangle-count{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--arcade-ui-leading-1point-7)}
.triangle-game .chip-status{min-height:var(--arcade-ui-size-2point-8em)}
.triangle-board{max-width:var(--arcade-ui-size-900px);margin-inline:auto}
@media(max-width:650px){.triangle-owner-label{font-size:var(--arcade-foundation-type-28px)}}
@media(max-width:650px){.triangle-board{aspect-ratio:1000/720}.triangle-score{gap:var(--arcade-foundation-space-6px)}.triangle-score strong{font-size:var(--arcade-foundation-type-20px)}.triangle-game .chip-game-heading h2{font-size:var(--arcade-foundation-type-20px)}.triangle-game .chip-controls{justify-content:space-between}}
.triangle-table-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.triangle-3d{max-width:none;border-color:var(--arcade-foundation-color-49605c);background:var(--arcade-foundation-color-233b43);box-shadow:var(--shadow-floating);aspect-ratio:1000/550}
.triangle-3d>svg{visibility:hidden}
.triangle-3d{touch-action:none;cursor:grab}
.triangle-3d.triangle-dragging{cursor:grabbing}
.triangle-camera{z-index:3;cursor:default;flex-wrap:wrap;max-width:calc(100% - var(--arcade-ui-size-16px))}
.coin-arcade .triangle-game .triangle-dot[hidden]{display:none}
.coin-arcade .triangle-game .triangle-3d .triangle-dot{color:var(--arcade-foundation-color-334b45);padding:0 0 var(--space-5);font-size:var(--arcade-foundation-type-10px)}
.triangle-3d .triangle-dot::after{display:block;width:var(--arcade-ui-size-6px);height:var(--arcade-ui-size-6px);background:var(--arcade-foundation-color-2e423d);box-shadow:none}
.coin-arcade .triangle-game .triangle-3d .triangle-dot.triangle-available{box-shadow:var(--arcade-box-shadow-detail-8)}
@media(max-width:650px){.triangle-3d{aspect-ratio:1/.92}.coin-arcade .triangle-game .triangle-3d .triangle-dot{width:var(--arcade-ui-size-30px);height:var(--arcade-ui-size-30px);min-height:var(--arcade-ui-size-30px)}}

/* Desk themes are confined to the play surface; shared glass cards stay unchanged. */
.triangle-board[data-desk-theme="eastern"]:not(.triangle-3d){background:repeating-linear-gradient(12deg,var(--arcade-foundation-color-79816b08) 0 var(--arcade-ui-pattern-1px),transparent var(--arcade-ui-pattern-1px) var(--arcade-ui-pattern-7px)),var(--arcade-foundation-color-f0eddf);border-color:var(--arcade-foundation-color-7f8c78)}
.triangle-board[data-desk-theme="western"]:not(.triangle-3d){background:var(--arcade-foundation-color-ead9b1);border:var(--arcade-ui-stroke-3px) double var(--arcade-foundation-color-92703d)}
.triangle-board[data-desk-theme="eastern"] .triangle-lines line{stroke:var(--arcade-foundation-color-303b35)}
.triangle-board[data-desk-theme="eastern"] .triangle-lines .triangle-last-edge{stroke:var(--arcade-foundation-color-a04d38)}
.triangle-board[data-desk-theme="western"] .triangle-lines line{stroke:var(--arcade-foundation-color-4b4030)}

/* Canvas 12: plain, centered elevator hint over the existing video. */
.null-sector-stage{position:relative;isolation:isolate}
.null-sector-access{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);text-align:center;color:var(--color-on-media);text-shadow:var(--shadow-media-text);-webkit-text-stroke:var(--media-text-stroke);paint-order:stroke fill;pointer-events:none}
.null-sector-code{font-family:var(--font-display-en);font-size:var(--font-size-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums;letter-spacing:0}
.null-sector-open{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-body);font-size:var(--font-size-ui);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);letter-spacing:0}
.null-sector-entry{max-width:var(--arcade-ui-size-420px);margin:var(--space-10) auto;gap:var(--space-5)}
.null-sector-entry .wf-input{min-width:0;text-align:center;font-variant-numeric:tabular-nums}
.coin-arcade .null-sector-entry .wf-button{min-height:var(--control-height-touch);font-size:var(--font-size-sm)}
.null-sector-entry [role=status]{margin:0}
.null-sector-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.null-sector-card button:disabled{opacity:.6;cursor:default}

/* Keep the standalone game's viewport and styles isolated inside AFTER HOURS. */
.coin-arcade.null-sector-active{overflow:hidden}
.coin-arcade.null-sector-active .arcade-header{display:none}
.coin-arcade.null-sector-active .arcade-shell{width:100%;max-width:none;height:100dvh;padding:0;margin:0}
.coin-arcade.null-sector-active .arcade-content{height:100%;padding:0}
.null-sector-player{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-surface);color:var(--color-text)}
.null-sector-player-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:var(--arcade-ui-stroke-1px) solid var(--color-border);flex-shrink:0}
.null-sector-player-bar strong{font-family:var(--font-display-en);font-size:var(--font-size-lead)}
.null-sector-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:var(--color-surface)}
.null-sector-load-status{margin:0;padding:var(--space-3);font-size:var(--font-size-ui)}

/* Featured lobby card composed from the homepage's existing components. */
.coin-arcade .null-sector-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);color:var(--color-text)}
.coin-arcade .null-sector-card .wf-card__title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-display-en);font-size:var(--font-size-lead);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);text-shadow:none}
.coin-arcade .null-sector-card .null-sector-edition{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);white-space:nowrap}
.coin-arcade .null-sector-card .arcade-null-sector-play{margin-top:auto;min-height:var(--control-height-touch);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.coin-arcade .null-sector-card .arcade-null-sector-play:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}

/* Pocket Plush follows the shared arcade shell and touch controls. */
.claw-caption{position:absolute;left:var(--arcade-foundation-space-20px);top:var(--arcade-foundation-space-16px);color:var(--arcade-foundation-color-eee3c9);font:var(--arcade-font-weight-semibold) var(--arcade-foundation-type-10px) var(--font-body);letter-spacing:var(--arcade-ui-tracking-2px);pointer-events:none}
.claw-caption span{display:block;margin-top:var(--arcade-foundation-space-6px);font-size:var(--arcade-foundation-type-8px);letter-spacing:var(--arcade-ui-tracking-1px);opacity:.65}
.claw-directions{display:flex;gap:var(--arcade-foundation-space-6px)}
.claw-directions button{min-width:var(--arcade-ui-size-44px);touch-action:none}
.claw-collection{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.claw-collection:empty{display:none}
.claw-collection span{display:inline-flex;align-items:center;gap:var(--arcade-foundation-space-7px);padding:var(--arcade-foundation-space-6px) var(--arcade-foundation-space-10px);border:var(--arcade-ui-stroke-1px) solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-size-xs)}
.claw-collection span:before{content:'';width:var(--arcade-ui-size-12px);height:var(--arcade-ui-size-12px);border-radius:var(--arcade-radius-round);background:var(--plush-color);box-shadow:var(--arcade-box-shadow-detail-9)}
@media(max-width:650px){.claw-game .chip-viewport{height:var(--arcade-ui-size-400px)}.claw-caption{left:var(--arcade-foundation-space-12px);top:var(--arcade-foundation-space-12px);font-size:var(--arcade-foundation-type-8px)}.claw-game .chip-controls{gap:var(--space-2)}.claw-game .claw-grab{flex:1}}

.claw-game .chip-camera{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - var(--arcade-ui-size-16px))}
.claw-game .chip-camera button{min-width:var(--arcade-ui-size-36px)}

.claw-turns{display:flex;align-items:center;gap:var(--arcade-foundation-space-6px);font-size:var(--font-size-xs)}.claw-turns button{padding-inline:var(--arcade-foundation-space-10px)}

/* Touch actions are real buttons; desktop keyboard and direct dragging remain available. */
.arcade-touch-controls{display:none}
.arcade-touch-pad{display:grid;grid-template-columns:repeat(3,var(--control-height-touch));gap:var(--space-1)}
.arcade-touch-pad [data-move="up"]{grid-column:2}
.arcade-touch-pad [data-move="left"]{grid-column:1;grid-row:2}
.arcade-touch-pad [data-move="down"]{grid-column:2;grid-row:2}
.arcade-touch-pad [data-move="right"]{grid-column:3;grid-row:2}
.coin-arcade .arcade-touch-pad button,.coin-arcade [data-aim],.coin-arcade [data-turn]{touch-action:none;user-select:none;min-width:var(--control-height-touch);padding:var(--space-1)}
.coin-arcade .chip-game button.is-held{background:var(--color-surface-hover);border-color:var(--color-action);color:var(--color-action)}
.claw-actions{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}
.claw-turns{justify-content:space-between}
.arcade-point-picker label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}
.arcade-point-picker select{width:var(--arcade-ui-size-76px);min-height:var(--control-height-touch)}
@media(max-width:760px),(pointer:coarse){
 .arcade-touch-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
 .claw-touch,.book-touch,.ping-touch,.arcade-point-picker{margin-top:var(--space-3)}
 .claw-touch{align-items:stretch}
 .claw-keyboard{display:none}
 .football-aim{gap:var(--space-1)}
 .book-touch,.arcade-point-picker{justify-content:space-between}
 .coin-arcade .chip-camera{flex-wrap:wrap;max-width:calc(100% - var(--arcade-ui-size-16px))}
 .coin-arcade .chip-camera button,.coin-arcade .chip-picks button{min-width:var(--control-height-touch);min-height:var(--control-height-touch)}
 .coin-arcade .chip-controls input[type="range"]{height:var(--control-height-touch);margin-block:0}
 .coin-arcade .chip-controls label{min-height:var(--control-height-touch)}
 .coin-arcade .chip-game button:not(.triangle-dot){min-width:var(--control-height-touch)}
 .coin-arcade .chip-game h2{overflow-wrap:anywhere;min-width:0;max-width:100%}
 .coin-arcade .chip-progress{max-width:100%;overflow-wrap:anywhere}
 .coin-arcade .ping-rally{flex-basis:100%}
 .coin-arcade .ping-smash{font-size:var(--font-size-sm)}
}
@media(max-width:760px){
 .coin-arcade.arcade-playing .arcade-close{position:absolute;left:auto;right:0;top:0;bottom:auto;transform:none;width:var(--space-16);min-height:var(--space-16)}
 .coin-arcade.arcade-playing .arcade-header{padding-left:0;padding-right:calc(var(--space-16) + var(--space-3));min-height:var(--space-16);text-align:left;justify-content:flex-start}
 .coin-arcade.arcade-playing .arcade-shell{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,var(--arcade-foundation-space-0px)))}
 .coin-arcade.arcade-playing .arcade-content{padding-top:var(--space-4)}
 .null-sector-player-bar{flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2)}
 .null-sector-player-bar strong{font-size:var(--font-size-ui)}
 .null-sector-player-bar button{min-height:var(--control-height-touch)}
 .coin-arcade.null-sector-active .arcade-shell{padding:0}
}

.chip-result.chip-result-above-table{z-index:4}.triangle-dot{left:var(--dot-left);top:var(--dot-top)}
body.arcade-scroll-locked,body.privacy-scroll-locked{overflow:hidden}
.arcade-page{width:var(--page-width);top:var(--page-top)}

.basketball-needle-centered{transform:translateX(0)}

.sound-hidden{display:none}

.plush-kind-0{--plush-color:var(--arcade-foundation-color-dd9bb1)}
.plush-kind-1{--plush-color:var(--arcade-foundation-color-d4ad6f)}
.plush-kind-2{--plush-color:var(--arcade-foundation-color-8fbead)}
.plush-kind-3{--plush-color:var(--arcade-foundation-color-a798cd)}
.plush-kind-4{--plush-color:var(--arcade-foundation-color-e2d8c5)}
.plush-kind-5{--plush-color:var(--arcade-foundation-color-83acc5)}
.plush-kind-6{--plush-color:var(--arcade-foundation-color-e4c574)}
.plush-kind-7{--plush-color:var(--arcade-foundation-color-b6c3cd)}
.plush-kind-8{--plush-color:var(--arcade-foundation-color-dca2a1)}
