@font-face{font-family:Outfit;src:url('/outfit-300.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Outfit;src:url('/outfit-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url('/outfit-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Outfit;src:url('/outfit-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Outfit;src:url('/outfit-700.woff2') format('woff2');font-weight:700;font-display:swap}
/* Chinese and Tamil text (tools/build-fonts.py languages); each face carries only its own script, so a
   page loads it only when that script shows. Latin inside them stays Outfit or the serif. */
@font-face{font-family:'Straits Kai';src:url('/lxgw-wenkai-400.woff') format('woff');font-weight:100 500;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-303F,U+3200-32FF,U+3400-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Straits Kai';src:url('/lxgw-wenkai-500.woff') format('woff');font-weight:600 900;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-303F,U+3200-32FF,U+3400-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Straits Tamil';src:url('/anek-tamil.woff') format('woff');font-weight:100 800;font-display:swap;unicode-range:U+0B80-0BFF,U+200C-200D,U+25CC}
/* Tamil letters join into clusters that tracking pulls apart: Tamil text sets none. */
:root:lang(ta) *{letter-spacing:normal!important}
@font-face{font-family:'Straits Tamil Serif';src:url('/noto-serif-tamil.woff') format('woff');font-weight:100 900;font-display:swap;unicode-range:U+0B80-0BFF,U+200C-200D,U+25CC}
:root{--felt:#174c40;--deep:#10382f;--ink:#f5efdf;--muted:#c2d0c0;--sand:#ecd8ad;--red:#9e322b;--speed:180ms;color-scheme:dark;font-family:Outfit,'Straits Tamil','Straits Kai',sans-serif;color:var(--ink);font-size:16px;background:#231b16}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit}button{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border-radius:7px;transition:background var(--speed),transform var(--speed),box-shadow var(--speed)}button:hover{background:#ffffff10}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #f7c575;outline-offset:5px}h1:focus{outline:none}a{color:var(--sand);text-underline-offset:4px}p{line-height:1.6;max-width:65ch}h1,h2,h3,p{margin-top:0}h1{font-weight:500;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}h2{font-weight:500;font-size:1.7rem}h3{font-weight:500}::selection{background:#ecd8ad;color:#123e35}input{accent-color:#2e7059;caret-color:var(--sand)}.icon{width:22px;height:22px;flex-shrink:0}.room{min-height:100svh;padding:15px;background:repeating-linear-gradient(93deg,#33251e 0,#33251e 3px,#382820 5px,#2b201b 9px);box-shadow:inset 0 0 55px #110a07}.surface{min-height:calc(100svh - 30px);position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 60% 33%,#2b6751 0,#174c40 45%,#10392f 100%);border:1px solid #96815e;border-radius:22px;box-shadow:0 5px 12px #0008,inset 0 0 0 5px #123a30,inset 0 0 80px #062d26}
.surface:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.085;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.quiet{color:var(--ink);font-size:.95rem}.primary{background:var(--sand);color:#153c30;box-shadow:0 3px 1px #a58c63,0 6px 15px #051c2440;font-weight:500;padding:13px 24px;min-height:51px}.primary:hover{background:#f6e6c8}.outline{border:1px solid #acbca980}.text-button{padding:4px 0;min-height:32px;color:var(--muted);font-size:.85rem}footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:18px clamp(24px,4vw,66px);font-size:.78rem;color:var(--muted);letter-spacing:.035em}.status-dot{width:6px;height:6px;border-radius:50%;background:#d4b879}.status-dot.ready{background:#98c6a7}.dot{padding:0 8px}.version{opacity:.8}.intro{font-size:1.12rem;font-weight:300;color:#dfE6d9;margin:0 0 27px}.tile-caption{font-size:.69rem;letter-spacing:.21em;display:flex;align-items:center;gap:12px;margin-top:42px;color:#d3c7aa}
.tile{--w:66px;width:var(--w);height:calc(var(--w)*1.4);padding:0;border-radius:9px;position:relative;background:#0a3c2e;min-height:0;flex-shrink:0;box-shadow:0 6px 0 #072a22,2px 13px 12px #001b2180;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transform:translateY(0);transition:transform var(--speed),box-shadow var(--speed)}.tile-face{position:absolute;inset:0 0 8px;border-radius:8px;background:linear-gradient(110deg,#fff9ed,#e9decb);border:1px solid #fcf4e1;box-shadow:inset 0 1px 1px #fff,inset -3px -4px 3px #b6a48a60;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#173e31}.tile-face>svg{width:86%;height:82%;overflow:visible}.tile-code{font-size:calc(var(--w)*.135);font-weight:500;text-align:center;white-space:nowrap;max-width:100%;line-height:1.1;color:#4a5346;position:absolute;bottom:4px}.han{font-family:'KaiTi','STKaiti','Noto Serif CJK SC','Microsoft YaHei',serif;font-size:35px;text-anchor:middle;fill:#173e31;font-weight:600}.han.red{fill:#a4342b}.tile:hover{background:#0a3c2e;transform:translateY(-5px)}.tile.selected{transform:translateY(-14px);box-shadow:0 6px 0 #072a22,0 9px 0 3px #efc97d,3px 17px 14px #001b2180}.tile.selected:after{content:'✓';position:absolute;right:-6px;top:-9px;border-radius:50%;background:var(--sand);color:#163c30;width:23px;height:23px;display:grid;place-items:center;font-size:14px;box-shadow:0 2px 4px #05231d60}.tile:focus-visible{outline-offset:9px}
.chapter-screen{width:min(1150px,100%);padding:45px 40px 60px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 90px}.chapter-heading h1{font-size:3.7rem;max-width:7em;margin-bottom:24px}.chapter-heading p{color:#d8e2d2;font-size:1.06rem}.chapter-object{grid-column:1;grid-row:2;align-self:center;text-align:center}.chapter-rack{display:flex;justify-content:center;gap:10px;padding:36px 10px}.chapter-rack .tile{--w:89px}.small-label{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;color:var(--muted);display:block}.chapter-list{grid-column:2;grid-row:1 / span 2;align-self:center}.chapter-list h2{font-size:2rem;margin:0 0 8px}.chapter-list>p{color:var(--muted)}.chapter-list ol{list-style:none;padding:0;margin:25px 0}.chapter-list li{border-top:1px solid #a9bca53a}.chapter-list li:last-child{border-bottom:1px solid #a9bca53a}.chapter-list li button{width:100%;justify-content:flex-start;padding:16px 0;text-align:left;gap:18px}.chapter-list li .icon{margin-left:auto;width:18px}.step-number{font-size:.8rem;color:var(--sand);width:20px}.chapter-bottom{display:flex;align-items:center;gap:20px}.chapter-bottom>span{font-size:.82rem;color:var(--muted)}
.lesson-screen{padding:20px clamp(22px,5vw,80px) 28px;flex:1;display:flex;flex-direction:column;justify-content:center}.lesson-top{display:flex;justify-content:space-between;border-bottom:1px solid #a9bca530;padding-bottom:18px;color:var(--muted);font-size:.9rem}.lesson-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center;flex:1;min-height:380px}.lesson-copy{max-width:480px}.lesson-copy h1{font-size:clamp(2.2rem,4.6vw,4.3rem);margin:35px 0 23px}.lesson-copy>p{font-size:1.1rem;color:#dee7d8}.lesson-tiles{display:flex;justify-content:center;gap:12px;padding:40px 0 30px}.lesson-tiles .tile{--w:105px}.lesson-demonstration{text-align:center}.set-annotation{font-size:.92rem;color:var(--muted);margin:0 auto}.table-note{font-size:.8rem;color:var(--sand);margin:15px auto}.lesson-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px}.step-dots{display:flex;gap:8px}.step-dots i{width:6px;height:6px;border-radius:50%;background:#96b29b55}.step-dots i.active{background:var(--sand)}.seat-choices{display:flex;gap:12px}.prompt{font-weight:500}.feedback{font-size:.95rem;line-height:1.5;color:#f0d5b1;min-height:1.5em}.lesson-copy .feedback{margin-top:20px}.feedback.success{color:#d3efcf}.is-active{background:#f1e3c821}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.center{text-align:center}.review-meld{display:flex;gap:10px;justify-content:center;padding:20px 0 30px}.error-text{color:#ffceb3}summary{cursor:pointer;padding:12px 0}
html[data-text=large]{font-size:19px}html[data-speed=slow]{--speed:400ms}html[data-motion=off] *{transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media(max-width:900px){.chapter-screen{gap:15px 35px;padding:30px}.chapter-heading h1{font-size:3rem}.chapter-rack .tile{--w:75px}.lesson-layout{gap:30px}.lesson-tiles .tile{--w:82px}}
@media(max-width:650px){.room{padding:7px;padding-top:max(7px,env(safe-area-inset-top));padding-bottom:max(7px,env(safe-area-inset-bottom))}.surface{min-height:calc(100svh - 14px);border-radius:16px}.intro{order:2;text-align:center;font-size:.94rem;line-height:1.45;margin:0 0 10px}.tile-caption{font-size:.53rem;margin-top:21px;letter-spacing:.14em;gap:8px}footer{padding:12px 18px;font-size:.61rem;letter-spacing:0;gap:8px}footer .text-button{font-size:.65rem;gap:6px}.version{display:none}.dot{padding:0 3px}.chapter-screen{display:flex;flex-direction:column;padding:25px 25px 35px;gap:0}.chapter-heading h1{font-size:2.6rem;max-width:none;margin-bottom:17px}.chapter-heading p{font-size:.98rem}.chapter-object{align-self:stretch}.chapter-rack{padding:20px 0 24px}.chapter-rack .tile{--w:66px}.chapter-object>.small-label{margin-bottom:32px}.chapter-list h2{font-size:1.7rem}.chapter-list li button{padding:16px 0;gap:15px}.chapter-bottom{justify-content:space-between;gap:10px}.chapter-bottom>span{font-size:.75rem}.lesson-screen{padding:14px 22px 24px;justify-content:flex-start}.lesson-top{font-size:.75rem;gap:15px}.lesson-layout{display:flex;flex-direction:column;gap:8px;min-height:0;justify-content:center}.lesson-copy{max-width:none;width:100%}.lesson-copy h1{font-size:2.5rem;margin:28px 0 20px}.lesson-copy>p{font-size:1rem}.lesson-demonstration{width:100%}.lesson-tiles{padding:25px 0}.lesson-tiles .tile{--w:80px}.set-annotation{font-size:.79rem}.lesson-controls{flex-wrap:wrap;gap:12px;padding-top:26px}.lesson-controls .quiet{font-size:.8rem;padding:10px 0}.lesson-controls .step-dots{display:none}.lesson-controls .primary{padding:12px 17px;font-size:.87rem}}
@media(max-height:650px) and (min-width:651px){.intro{font-size:.95rem;margin-bottom:15px}footer{padding-top:10px;padding-bottom:10px}.lesson-layout{min-height:300px}.lesson-copy h1{font-size:2.6rem}.lesson-copy>p{font-size:1rem}.lesson-tiles .tile{--w:85px}.chapter-screen{padding-top:12px;padding-bottom:20px}}
.tile-short{display:none}

.chapter-shortcuts{display:flex;justify-content:space-between;gap:15px;margin-top:22px}
.live-seat{position:absolute;z-index:1;max-width:24%;padding:9px 12px;border:1px solid transparent;border-radius:8px}.active-seat{border-color:#c8d0b467;background:#042b232b}
.live-seat.north{top:0;left:50%;transform:translateX(-50%);max-width:48%;text-align:center}.live-seat.left{left:0;top:75px}.live-seat.right{right:0;top:75px;text-align:right}
.seat-title{display:flex;gap:12px;align-items:center;justify-content:space-between}.seat-title strong{font-size:.9rem;font-weight:500}.seat-title>span{font-size:.7rem;color:var(--muted)}
.seat-backs{display:flex;justify-content:center;gap:2px;margin-top:8px}.seat-backs i,.tile-back{display:block;width:12px;height:19px;border-radius:3px;background:linear-gradient(110deg,var(--theme-back-lit,#2e6b51),var(--theme-back,#0a352a));border:1px solid var(--theme-back-edge,#6c977c);box-shadow:0 3px 0 #092f26}
.live-seat.left .seat-backs,.live-seat.right .seat-backs{max-width:165px;flex-wrap:wrap;justify-content:flex-start}.live-seat.right .seat-backs{justify-content:flex-end}
.seat-summary{font-size:.66rem;color:var(--muted);margin-top:10px;line-height:1.6}.seat-summary>span{display:block}.opponent-melds{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.live-seat.north .opponent-melds{justify-content:center}.live-seat.right .opponent-melds{justify-content:flex-end}
.live-meld{display:flex;gap:2px}.live-meld .tile{--w:30px;border-radius:4px;box-shadow:0 3px 0 #092f26,1px 5px 6px #041d2b50}.live-meld .tile-face{border-radius:4px;bottom:4px}.live-meld .tile-code{display:none}.live-meld .tile-back{width:30px;height:42px}.live-meld .tile:hover{transform:translateY(-2px)}.round-event{font-size:.73rem;color:#d8dfcb;text-align:center;min-height:18px;max-width:40ch}

@media(max-width:1000px){.live-seat{max-width:23%;padding:7px}.seat-title{flex-direction:column;gap:3px;align-items:flex-start}.live-seat.right .seat-title{align-items:flex-end}.live-seat.north .seat-title{flex-direction:row;align-items:center}.live-seat .live-meld .tile{--w:23px}.live-seat .live-meld .tile-back{width:23px;height:32px}}
@media(max-width:650px){.live-seat{padding:6px 2px;max-width:29%}.live-seat.north{top:4px;max-width:42%}.live-seat.left,.live-seat.right{top:74px}.seat-title strong{font-size:.76rem}.seat-title>span{font-size:.61rem}.seat-backs{display:none}.live-seat.north .seat-backs{display:flex;gap:1px;flex-wrap:wrap}.seat-backs i{width:8px;height:13px}.seat-summary{font-size:.56rem;margin-top:7px}.live-seat.north .seat-summary{margin-top:5px}.opponent-melds{display:none}.round-event{font-size:.61rem;min-height:26px;line-height:1.4}}
@media(max-height:650px) and (min-width:651px){.live-seat.left,.live-seat.right{top:43px}}.lesson-hud{display:flex;align-items:center;gap:22px;flex-shrink:0}.lesson-dock{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.lesson-hud{justify-content:space-between;color:var(--muted);font-size:.8rem}.lesson-hud button{padding:10px 16px;min-height:44px;font-size:.85rem}.lesson-dock .primary{min-width:190px}.lesson-dock>button:last-child{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.lesson-hud{gap:12px}.lesson-hud button{font-size:.75rem;min-height:44px}.lesson-dock{gap:8px}.lesson-dock button{font-size:.8rem;padding:10px}.lesson-dock .primary{min-width:0;flex:1}}

html{overscroll-behavior:none}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#app{touch-action:pan-y pinch-zoom}input,textarea{user-select:text;-webkit-user-select:text;touch-action:manipulation;font-size:max(1rem,16px)}
:root{--room-pad:15px;--room-top:max(var(--room-pad),env(safe-area-inset-top));--room-bottom:max(var(--room-pad),env(safe-area-inset-bottom))}.room{padding:var(--room-top) max(var(--room-pad),env(safe-area-inset-right)) var(--room-bottom) max(var(--room-pad),env(safe-area-inset-left))}
@keyframes opening-deal{from{opacity:.7;translate:0 14px;rotate:-3deg}to{opacity:1;translate:0 0;rotate:0deg}}
@keyframes opening-mark{from{opacity:.6;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(max-width:650px){:root{--room-pad:7px}}

.surface:has(.scoring-screen)>footer{display:none}

@media(max-width:650px){
  .live-seat.north{top:0}.live-seat.left,.live-seat.right{top:56px}
  
}
.teaching-table.has-table-demo{padding:20px 24px;display:block}
@media(max-width:650px){.teaching-table.has-table-demo{padding:16px 8px}}
@media(max-width:650px){.app-lesson:has(.table-demo)>.lesson-dock{gap:8px}.app-lesson:has(.table-demo)>.lesson-dock .quiet{font-size:.75rem;padding:8px 12px}.app-lesson:has(.table-demo)>.lesson-dock .primary{font-size:.82rem;padding:10px 12px}}.lesson-reference-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.lesson-reference-actions button{min-height:44px;font-size:.85rem}

html,body{width:100%;height:var(--root-height,100vh);overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}
html,body{background:#10382f}body{position:relative}#app{height:100dvh;overflow:hidden}
.room{height:100%;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}
.surface{height:100%;min-height:0;border-radius:0;overflow:hidden;border:0}.surface>footer{display:none}
.surface>main{min-height:0;min-width:0;flex:1;margin:0 auto;overflow:auto;overscroll-behavior:contain}
html[data-input=touch] :focus{outline:none!important}button,a,summary{-webkit-tap-highlight-color:transparent}.table-arena{position:relative;min-height:0;flex:1;border:8px solid #493329;border-radius:28px;background:radial-gradient(ellipse,#28654f,#10392e);box-shadow:inset 0 0 0 2px #bd9864,inset 0 8px 35px #001e20,0 5px 10px #001c2080;isolation:isolate}
.live-seat{position:absolute;padding:4px 8px;max-width:23%;background:#082f27d9;border:1px solid #c6ac7540;border-radius:10px;z-index:2}.live-seat.north{top:3%;left:50%;transform:translateX(-50%);max-width:46%}.live-seat.left{top:32%;left:2%}.live-seat.right{top:32%;right:2%}.seat-title{gap:5px}.seat-title strong{font-size:.8rem}.seat-title>span{font-size:.6rem}.seat-backs{display:flex;gap:1px;flex-wrap:nowrap;margin-top:5px}.seat-backs i{width:9px;height:15px}.seat-summary{font-size:.55rem;margin-top:4px}.opponent-melds{display:none}.round-event{font-size:.62rem;min-height:0;line-height:1.2;text-align:center}
@media(max-width:650px) and (orientation:portrait){.intro{display:none}.table-arena{border-width:6px;min-height:125px}.live-seat.north{max-width:65%}.seat-title strong{font-size:.66rem}.seat-title>span{font-size:.5rem}.seat-summary{display:none}.live-seat.left .seat-backs,.live-seat.right .seat-backs{display:none}.round-event{font-size:.53rem}
}
@media(orientation:landscape) and (max-height:550px){.intro{display:none}.table-arena{flex:1;min-height:0;border-width:5px;margin-bottom:84px}.round-event{position:absolute;bottom:-4px;left:0;right:0;font-size:.55rem}.live-seat.north{left:50%;top:2%;max-width:25%}.live-seat.north .seat-backs{display:none}.live-seat.left,.live-seat.right{top:18%;}.seat-summary{display:none}
}@keyframes opening-deal{from{opacity:0;translate:0 25px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.table-arena{background:radial-gradient(ellipse at 50% 30%,#326f56,#123d30 80%);border-color:#694831;box-shadow:inset 0 0 0 2px #c5a16c,inset 0 8px 35px #001e20,0 5px 10px #001c2080}.round-event{font-size:.8rem}.live-seat.north{top:3%}.live-seat.left,.live-seat.right{top:36%}.seat-title strong{font-size:1rem}.seat-title>span{font-size:.72rem}.seat-summary{font-size:.65rem}.seat-backs i{width:12px;height:20px}
@media(max-width:650px) and (orientation:portrait){.live-seat.left{left:1%;top:38%}.live-seat.right{right:1%;top:38%}.seat-title{flex-direction:column;align-items:flex-start;gap:2px}.seat-title strong{font-size:.75rem}.seat-title>span{font-size:.55rem}.live-seat.north .seat-title{flex-direction:row;align-items:center;gap:10px}.seat-backs i{width:9px;height:15px}.round-event{font-size:.6rem;position:absolute;top:100%;padding-top:7px}}
@media(min-width:651px) and (min-height:551px){.table-arena{max-width:1120px;width:100%;align-self:center}}
@media(orientation:landscape) and (max-height:550px){.round-event{bottom:-21px;font-size:.65rem}.seat-title strong{font-size:.85rem}.seat-title>span{font-size:.6rem}.seat-backs i{width:10px;height:17px}.live-seat.left,.live-seat.right{top:28%}}
@media(max-width:650px) and (max-height:650px){.round-event{font-size:.5rem}.live-seat.north .seat-backs{display:none}}
html[data-screen=home] .surface{background:linear-gradient(90deg,#092d26d9,#092d2650),url('/heritage-room.webp') center/cover}.surface{box-shadow:none}.room{box-shadow:none;background:#10382f}.table-arena{background-image:linear-gradient(#164632b0,#164632b0),url('/heritage-room.webp');background-size:auto,cover;background-position:center,bottom}.live-seat{background:#082f27ed}
@media(max-width:650px) and (orientation:portrait){html[data-screen=home] .surface{background-image:linear-gradient(#071b1699,#092d26b3 48%,#092d26d9),url('/heritage-room.webp');background-position:center}}
.table-exposed{position:absolute;bottom:3%;left:15%;right:15%;display:flex;justify-content:center;gap:12px;pointer-events:none}.table-exposed>div{display:flex;gap:2px}.table-exposed .tile{--w:28px}.table-exposed .tile-code{display:none}.table-arena:has(.table-exposed) .round-event{display:none}
@media(orientation:landscape) and (max-height:550px){.table-exposed{bottom:4%;}.table-exposed .tile{--w:20px}}
@media(max-width:650px) and (max-height:650px){.table-exposed .tile{--w:18px}}

.table-arena{background-size:auto,max(100%,200vh) auto;background-position:center,center 80%;background-repeat:no-repeat}.live-seat.left .seat-backs,.live-seat.right .seat-backs,.live-seat.north .seat-backs{flex-wrap:nowrap;max-width:none}.round-event{display:none}
html[data-motion=off] .scene-transition{display:none}

.tile{transform-style:flat;background:transparent;box-shadow:none}.tile-face{inset:0;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;background:none;border:0;box-shadow:none;filter:drop-shadow(2px 5px 3px #001c2280)}.tile-face>.tile-solid{width:100%;height:100%;overflow:visible}.tile .tile-code{display:none}.tile-edge{display:none}
.scene-transition{perspective:none;overflow:hidden}@keyframes solid-pop{0%{opacity:0;transform:translateY(30px) scale(.45) rotate(-10deg)}40%{opacity:.75;transform:translateY(-4px) scale(1.04) rotate(2deg)}100%{opacity:.16;transform:translateY(0) scale(1) rotate(0)}}@keyframes solid-arrival{0%{opacity:0;transform:translateY(70px) scale(.5) rotate(-18deg)}70%{opacity:1;transform:translateY(-8px) scale(1.05) rotate(3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}

.scene-transition{position:fixed;inset:0;z-index:900;pointer-events:none;overflow:hidden}html[data-motion=off] .tile{transition:none}

button{touch-action:manipulation}
@media(hover:none){button:hover,.tile:hover{transform:none}}
.quiet,.text-button{border:1px solid #96ad8870;background:#0a322bbf;border-radius:8px;padding:8px 12px;min-height:44px}
.quiet:active,.text-button:active{background:#316c54}

@media(orientation:landscape) and (max-height:550px){
 .lesson-hud{height:36px}.lesson-hud button{min-height:34px;font-size:.72rem;padding:4px 9px}
 .lesson-dock button{min-height:40px;padding:5px 12px;font-size:.78rem}
 .phase-observe .teaching-table:not(.has-table-demo){display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;align-items:center}
 
}
