.tug{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:var(--s2);margin:var(--s5) 0;padding:var(--s6) var(--s2) var(--s4);background:var(--bg2);border:var(--ink-w) solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);overflow:hidden}
.tug-team{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:120px;min-width:44px;padding:0;background:none;border:0;cursor:pointer;color:var(--ink)}
.tug-team picture{display:block;width:clamp(48px,14vw,120px)}
.tug-team picture+picture{margin-left:-18%}
.tug-frog picture{width:clamp(64px,20vw,160px)}
.tug-name{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);font:400 var(--step--1) var(--hd);letter-spacing:.04em;background:var(--o);color:var(--line);border:2px solid var(--line);border-radius:var(--r-pill);padding:2px 8px;white-space:nowrap}
.tug-team:focus-visible{outline:3px solid var(--o);outline-offset:3px}
.tug-rope{position:relative;height:120px}
.tug-line{position:absolute;left:-30%;right:-30%;top:60%;height:6px;background:repeating-linear-gradient(45deg,#C99A5B 0 6px,#8A5E2B 6px 12px);border:2px solid var(--line);border-radius:4px}
.tug-flag{position:absolute;left:50%;top:60%;transform:translate(-50%,-100%);font:400 var(--step-0) var(--hd);background:var(--g);color:var(--line);border:2px solid var(--line);padding:2px 8px;border-radius:4px 4px 0 0}
.tug-tag{position:absolute;left:50%;top:calc(60% + 14px);transform:translateX(-50%) rotate(-3deg);font:700 .62rem/1.1 var(--mono);background:var(--ink);color:var(--line);border:2px solid var(--line);padding:2px 6px;text-align:center;max-width:100%}
.claw{position:absolute;left:50%;top:8px;width:72px;transform:translateX(-50%);pointer-events:none}
.claw-cable{position:absolute;left:50%;bottom:100%;width:3px;height:400px;background:var(--line)}
.claw-bag{display:block;margin-top:-6px;font:400 .8rem var(--hd);text-align:center;background:var(--p);color:var(--line);border:2px solid var(--line);border-radius:6px;padding:2px 4px}
.tug.is-done .claw{top:8px}
.tug-score{grid-column:1/-1;margin:var(--s3) 0 0;text-align:center;font:700 var(--step--1) var(--mono);color:var(--mute)}
.flips li{font-variant-numeric:tabular-nums}
.tk-mono{font:700 var(--step-1) var(--mono);font-variant-numeric:tabular-nums;color:var(--o)}
.tk-chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0;margin:var(--s3) 0}
.tk-chips li{font:700 var(--step--1) var(--bd);background:var(--ink);color:var(--line);border:2px solid var(--line);border-radius:var(--r-pill);padding:4px 12px;box-shadow:var(--shadow-sm)}
.pizza{display:grid;gap:var(--s4);margin:var(--s5) 0}
.pizza-cap{margin:0;color:var(--mute)}
.pie{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s3);list-style:none;padding:0;margin:0}
.slice{position:relative;display:grid;justify-items:center;gap:4px;padding:var(--s3);min-height:44px;background:var(--bg2);border:var(--ink-w) solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);transition:transform var(--dur-fast) var(--ease-out)}
.slice picture{width:72px}
.slice:hover,.slice:focus-visible{transform:translateY(-10px)}
.slice-pct{font:700 var(--step-2) var(--mono);font-variant-numeric:tabular-nums;color:var(--g)}
.slice-name{font-size:var(--step--1);text-align:center}
.team-plate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);padding:var(--s3);background:var(--ink);color:var(--line);border:var(--ink-w) solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow)}
.team-plate p{margin:0}
.plate{width:56px;height:56px;border-radius:50%;background:#fff radial-gradient(#C99A5B 1.5px,transparent 2px) 0 0/9px 9px;border:3px solid var(--line)}
.chair{width:64px}
.touch-grass .slice{transition:none}
.tower{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s3);margin:var(--s5) 0}
.shaft{position:relative;background:var(--bg2);border:var(--ink-w) solid var(--line);border-radius:var(--r-sm)}
.cabin{position:absolute;left:0;right:0;height:calc(100%/6);bottom:calc(var(--floor,0)*100%/6);transition:bottom 500ms var(--ease-out);display:grid;place-items:center}
.cabin picture{width:60px}
.crown{position:absolute;top:-6px;font-size:1.4rem;display:none}
.is-king .crown{display:block}
.dial{position:absolute;top:-34px;left:50%;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:var(--ink);border:2px solid var(--line)}
.dial i{position:absolute;left:50%;top:3px;width:2px;height:12px;background:var(--red);transform-origin:50% 100%;transition:transform 300ms var(--ease-out)}
.floors{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.floor-btn{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;align-items:center;width:100%;min-height:56px;text-align:left;font:700 var(--step--1) var(--bd);color:var(--ink);background:var(--bg2);border:var(--ink-w) solid var(--line);border-radius:var(--r-sm);padding:8px 12px;cursor:pointer}
.floor-btn b{font:400 var(--step-1) var(--hd);color:var(--t)}
.floor-btn em{grid-column:1/-1;color:var(--o);font-style:normal}
.floor-btn[aria-pressed="true"]{box-shadow:4px 4px 0 var(--o);border-color:var(--o)}
.floor-top .floor-btn b{color:var(--p)}
.board{position:relative;margin:var(--s5) 0}
.squares{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--s3)}
.sq{position:relative}
.sq-btn{display:grid;gap:4px;width:100%;min-height:88px;text-align:left;color:var(--ink);font:700 var(--step--1) var(--bd);background:var(--bg2);border:var(--ink-w) solid var(--line);border-radius:var(--r-sm);padding:10px;box-shadow:var(--shadow-sm);cursor:pointer}
.sq-btn b{font:400 var(--step-1) var(--hd);color:var(--p)}
.sq-now .sq-btn{border-color:var(--g)}.sq-rug .sq-btn{background-image:repeating-linear-gradient(45deg,#FF5FA222 0 8px,transparent 8px 16px)}
.sq .pawn{position:absolute;top:-22px;right:-4px;width:44px;pointer-events:none}
.ladder{display:inline-block;margin-top:var(--s3);font:700 var(--step--1) var(--mono);color:var(--o)}
.die{display:inline-block;margin:var(--s3) 0 0 var(--s3);font:400 var(--step-1) var(--hd);background:var(--ink);color:var(--line);border:var(--ink-w) solid var(--line);border-radius:var(--r-sm);padding:4px 12px;transform:rotate(-6deg)}
.sq-pop{background:var(--ink);color:var(--line);border:var(--ink-w) solid var(--line);border-radius:var(--r-md);padding:var(--s3);box-shadow:var(--shadow)}
.pie-art{display:block;max-width:320px;margin:0 auto}
.receipts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s3)}
.receipt{display:grid;justify-items:center;gap:4px;width:100%;min-height:44px;background:var(--ink);color:var(--line);border:var(--ink-w) solid var(--line);border-radius:var(--r-sm);padding:var(--s3);cursor:pointer}
.receipt picture{width:64px}
.tk-lock picture{display:block;width:120px}
.touch-grass .cabin,.touch-grass .dial i{transition:none}
@media(prefers-reduced-motion:reduce){.cabin,.dial i{transition:none}}
.flip-d{display:inline-block;transform-origin:50% 50%;backface-visibility:hidden}
.touch-grass .claw,.touch-grass .tug-team,.touch-grass .tug-flag{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.claw{top:8px!important}}
