/* RUMMIKUB TERMINAL 0.4 | TABLE-FIRST REDESIGN */
:root{
  --bg:#080d16;--panel:#111a29;--panel2:#182538;--stroke:#293e53;
  --cyan:#75e9eb;--violet:#91b9ef;--magenta:#a29ae9;--ok:#75e3b6;
  --muted:#90a6b9;--warn:#f2be79;--error:#fa8190;
  --focus-ring:#75e9eb;
}
body{background:#080e18;color:#eff7ff;font-family:Inter,'Segoe UI',system-ui,sans-serif;letter-spacing:-.005em}
.ambient-lights{background:radial-gradient(ellipse 58% 62% at 18% -25%,#153444aa,transparent 80%),radial-gradient(ellipse 40% 40% at 110% 100%,#1a2b4355,transparent 86%),linear-gradient(170deg,#08111c,#0a0f19)}
.ambient-lights:after{background-size:48px 48px;opacity:.4}.noise-overlay{opacity:.022}
.btn,.mini-btn,.icon-btn,.rack-arrow,.meld-append{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}
.btn{font-size:11px;letter-spacing:.045em;font-weight:750;border-radius:9px;background:#1c2a3a;border-color:#34495c;color:#d9eaf6}
.btn:hover,.mini-btn:hover,.icon-btn:hover{border-color:#7ae6eaa0;background:#273b4c;box-shadow:0 0 0 1px #8afff811}
.btn.primary{background:#75e6e8;color:#0b1a24;border:1px solid #a9f6f5;box-shadow:0 3px 18px #2bf1e41c;font-weight:850}
.btn.primary:hover{background:#a5f5f2;border-color:#dafcfa;box-shadow:0 4px 18px #56e3dc42}
.btn.violet{background:#22364d;border-color:#526c86;color:#d0ecff}
.btn.warning{background:#292a2c;border-color:#77634b;color:#ffe0a8}
.btn.flat{background:transparent;border-color:transparent;color:#b6c8d7}
.btn:disabled{opacity:.4;box-shadow:none;transform:none}
.mini-btn{background:#182638;border-color:#31465b;border-radius:7px;color:#adc7d7;letter-spacing:.02em}
.eyebrow{font-family:Consolas,'Segoe UI',monospace;font-weight:750}
.status-led{width:7px;height:7px;border-radius:50%;background:#63dfba;box-shadow:0 0 9px #63dfba77;display:inline-block;margin-right:8px}
.header-menu-btn{background:#1d3848;border:1px solid #5daeba80;color:#c1f9fc;font-weight:800}
.header-menu-btn:hover{background:#255160;border-color:#a2edef}
.topbar{border-bottom:1px solid #243748;padding-bottom:10px}.brand strong{letter-spacing:.095em}.brand strong em{color:#77e3e6}
.brand-mark{box-shadow:none;background:#102a36;border-radius:11px;border:1px solid #3b7083;color:#8aeaf2}
.in-game .app-shell{background:transparent}
.app-shell.in-game{padding:11px 18px 10px;gap:9px;height:100dvh;max-height:100dvh}
.in-game .topbar{height:44px;min-height:44px;max-height:44px;flex:0 0 44px;padding-bottom:8px}
.in-game .brand-mark{width:34px;height:34px;font-size:21px}
.in-game .brand strong{font-size:12px;letter-spacing:.10em}.in-game .brand small{font-size:8px;color:#79bbc5}
.in-game .layout{grid-template-columns:minmax(0,1fr) 250px;gap:10px}
.in-game .main-column{gap:8px}
.in-game .hud{height:56px;min-height:56px;max-height:56px;flex:0 0 56px;gap:7px}
.in-game .player-card{padding:8px 11px;gap:8px;background:#101b2b;border:1px solid #263b50;border-radius:10px;overflow:hidden}
.in-game .player-card.active{background:#183344;border-color:#73dbdc9c;box-shadow:inset 0 0 0 1px #76e6e615}
.in-game .player-card.active:before{background:#72e8e5;top:0;height:2px}
.in-game .avatar{height:31px;width:31px;flex:0 0 31px;border-radius:9px;background:#263754;color:#cbd8fa;border-color:#42526c;font-size:13px}
.in-game .player-card:nth-child(2) .avatar{background:#1a4b52;color:#aeecf3;border-color:#337a82}
.in-game .player-card:nth-child(3) .avatar{background:#33456a;color:#bfcbf6;border-color:#50628c}
.in-game .player-card:nth-child(4) .avatar{background:#423f35;color:#f0d4a3;border-color:#6b5a43}
.in-game .player-meta .name{font-size:11px;font-weight:850;letter-spacing:.07em}
.in-game .player-meta .stats{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#90a8ba;margin-top:4px}
.in-game .player-card .activity{position:absolute;right:9px;top:6px;font-size:7px;color:#82e9d7;letter-spacing:.09em}
.in-game .table-card{min-height:205px;border-radius:12px;background:radial-gradient(ellipse at 52% 25%,#183449 0%,#102338 46%,#0d1b2c 100%);border:1px solid #315064;box-shadow:inset 0 0 90px #001019b0}
.in-game .table-card:before{background-size:32px 32px;opacity:.65;mask-image:linear-gradient(to bottom,#0009,transparent)}
.in-game .table-head{padding:11px 15px;min-height:50px;border-bottom:1px solid #42627746;background:#0d2132a8}
.in-game .table-head .counter{margin-top:3px;font-size:10px;color:#91abbf}
.in-game .eyebrow{font-size:11px;color:#c5f9f7;letter-spacing:.09em}
.table-separator{color:#60879b;font-size:10px;margin-left:4px;font-weight:400}
.in-game .table-inner{inset:53px 7px 7px;padding:12px}
.in-game .meld-grid{gap:18px 12px;padding:10px 4px 36px;align-content:flex-start}
.in-game .meld{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:13px 10px 8px;min-height:83px;border-radius:10px;border:1px solid #52738b68;background:#162a3add;box-shadow:0 7px 16px #06111b40;max-width:100%}
.in-game .meld.changed{border-color:#72e6e59a;box-shadow:0 0 0 1px #52e7f212,0 7px 16px #06111b40}
.in-game .meld.invalid{border-color:#f68c96a8;background:#432635b0}
.in-game .meld-title{top:-9px;left:9px;position:absolute;background:#132b3b;border:1px solid #355067;padding:3px 7px;border-radius:5px;color:#b4d6e2;letter-spacing:.08em;font-size:9px;font-weight:750;white-space:nowrap}
.in-game .meld-label-id{color:#7092a7;margin-left:4px}
.in-game .meld-tiles{display:flex;align-items:center;justify-content:flex-start;max-width:100%;min-height:52px}
.in-game .meld-append{align-self:flex-end;min-height:23px;padding:2px 10px;border:1px solid #476c7b;border-radius:6px;background:#1d3d49;color:#a7eeea;font-size:10px;font-weight:800;letter-spacing:.04em}
.in-game .meld-append:not(:disabled):hover{background:#2e6068;border-color:#99faf2;color:#fff}
.in-game .meld-append:disabled{opacity:.48;cursor:default}
.in-game .insert-slot{width:8px;min-width:8px;height:49px;border-radius:5px;cursor:pointer}
.in-game .insert-slot:hover,.in-game .insert-slot.is-over{width:16px;min-width:16px}
.in-game .table-head .mini-btn{min-height:29px}
.in-game .board-drop-area{min-height:98px;min-width:184px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #497a87a8;color:#b1d5de;border-radius:11px;background:#102b3757;cursor:pointer;font-size:11px;font-weight:750;letter-spacing:.045em}
.in-game .board-drop-area span{font-size:23px;line-height:1;color:#75e7e5}
.in-game .board-drop-area small{color:#7e9dab;letter-spacing:0;font-size:10px;font-weight:400}
.in-game .board-drop-area:hover{background:#1c44517d;border-color:#71e9e6;color:white}
.in-game .empty-board{padding:35px 15px;gap:8px;flex:1 1 100%}
.in-game .empty-board strong{font-size:15px;letter-spacing:.075em;color:#bce9ed}
.in-game .empty-board span{font-size:12px;max-width:430px;color:#9ab7c9;line-height:1.55}
.in-game .empty-board .empty-symbol{width:55px;height:55px;font-size:25px;color:#81eae9;border-color:#315e70;box-shadow:0 0 32px #2ce7e514;background:#193447}
.tile{background:linear-gradient(145deg,#fbfeff,#d9e5ed 85%);border:1px solid #f4faff;box-shadow:0 3px 0 #91afc1,0 5px 11px #0006;border-radius:7px}
.tile.red{--tc:#e63c54}.tile.blue{--tc:#197fae}.tile.black{--tc:#242d3c}.tile.orange{--tc:#d18718}
.tile.joker{background:linear-gradient(150deg,#273c63,#192b47);border-color:#8dd6fa;box-shadow:0 3px 0 #3d678c,0 5px 14px #0008,0 0 13px #69b8ff35;--tc:#fff}
.tile.joker .tile-number{filter:drop-shadow(0 0 6px #7dd4fb)}
.tile.selected{outline:2px solid #65e8dc;outline-offset:2px;transform:translateY(-7px);box-shadow:0 3px 0 #7dadbb,0 0 0 4px #55f5dd23,0 11px 18px #000a}
.tile.selected:before{position:absolute;z-index:2;content:'✓';right:-7px;top:-8px;background:#64eadc;color:#12282e;width:17px;height:17px;border:2px solid #0c2731;border-radius:50%;font:800 11px system-ui;display:grid;place-items:center}
.tile.new-play:after{background:#66e7b2;box-shadow:0 0 8px #66e7b2}
.in-game .rack-panel{background:#111d2e;border:1px solid #31495c;border-radius:12px;padding:8px 11px 10px;flex:0 0 auto}
.in-game .rack-top{margin:0 0 7px;gap:6px}.in-game .rack-heading strong{font-size:10px;letter-spacing:.11em;color:#d9f5f8}
.in-game .rack-heading small{font-size:10px;color:#95b1c4}
.in-game .rack-scroll-row{gap:5px;grid-template-columns:24px minmax(0,1fr) 24px}
.in-game .rack-arrow{height:60px;background:#142639;border-color:#2e4c60;color:#b3dce7;border-radius:7px}
.in-game .rack{height:68px;min-height:68px;background:#0b1522;border-color:#294657;padding:4px 9px 5px;gap:6px;align-items:center;border-radius:9px}
.in-game .rack .tile{width:43px;min-width:43px;flex:0 0 43px;height:55px}
.in-game .rack .tile-number{font-size:24px}
.in-game .rack-utilities .mini-btn{min-height:24px;padding:3px 8px;font-size:9px}
.in-game .selection-tip,.in-game .selection-bar{height:24px;display:flex;align-items:center;gap:8px;color:#809eb1;font-size:10px;line-height:1.15;overflow:hidden}
.in-game .selection-tip strong{color:#a7c6d5;font-weight:700}
.in-game .selection-bar{color:#a8d9e5;overflow:visible}
.in-game .selection-count{white-space:nowrap;font:800 10px Consolas,monospace;color:#8df5e4}
.in-game .selection-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto;opacity:.75}
.in-game .selection-bar .mini-btn{font-size:9px;min-height:23px;white-space:nowrap}
.in-game .rack-actions{margin-top:3px;gap:5px;flex-wrap:nowrap}
.in-game .rack-action-group{flex-wrap:nowrap;gap:4px}
.in-game .rack-action-group .btn{font-size:10px;min-height:34px;padding:0 10px;white-space:nowrap}
.in-game .btn-compose{background:#1d434e;border-color:#578b90;color:#c7fffa}
.in-game .btn-compose:not(:disabled){background:#215962;border-color:#7debe3;box-shadow:0 0 12px #3be9dc1c}
.in-game .btn-count{background:#b9faf3;border-radius:5px;color:#153543;padding:1px 6px;margin-left:4px}
.in-game .rack-action-primary .btn.primary{min-width:137px}
.in-game .rack-action-primary .btn.warning{min-width:72px}
.in-game .rack-action-primary .btn.hint{min-width:92px}
.in-game .stage-row{margin:4px 0 7px;background:#0b1b27;border-radius:7px;padding:4px}
.in-game .side-panel{gap:7px;overflow-y:auto}
.in-game .side-panel .card{background:#111e2d;border-color:#2d4354;border-radius:11px;padding:11px 12px}
.in-game .side-panel .card h3{font-size:10px;letter-spacing:.11em;color:#adcad8;margin:0 0 10px}
.in-game .side-head{display:flex;justify-content:space-between;align-items:center;gap:6px}.in-game .side-head h3{margin:0 0 7px}
.in-game .turn-clock{font-weight:750;letter-spacing:.025em;color:#defcfc;font-size:38px;line-height:1.1}
.in-game .rule-status{background:#0c1b2b;border-radius:8px;border:1px solid #2e4a5b;padding:8px 9px;font-size:10px;line-height:1.4;min-height:44px}
.in-game .rule-status.status-ok{border-color:#3a8372;color:#a1f3d4;background:#14362d}
.in-game .rule-status.status-bad{border-color:#8f5063;color:#ffb0bb;background:#3b1c29}
.in-game .rule-status.status-wait{color:#93b7cd}
.in-game .stat-box{border-radius:7px;background:#0e1a29;border-color:#304155;padding:8px 2px}
.in-game .stat-box strong{font-size:19px}.in-game .stat-box small{font-size:9px}
.in-game .help-hint{color:#94b1c1;font-size:10px;line-height:1.55}
.in-game .help-hint strong{color:#c2eced}
.in-game .timeline{max-height:210px}
.in-game .timeline-entry{padding:7px 3px 8px 12px;font-size:10px;color:#a1b9c9}
.in-game .quick-card{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.in-game .quick-card .mini-btn{color:#9fe6dd;border-color:#3f707a}.in-game .quick-card span{font-size:10px;color:#90a5b6;line-height:1.5}
.in-game .footline{font-size:9px;color:#65869e}
.ai-preview-note{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);border:1px solid #69b9b5;background:#102e3aee;box-shadow:0 5px 25px #0018;border-radius:9px;padding:10px 17px;color:#c4f7f4;font-size:11px;z-index:5;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.ai-preview-note span{font-size:9px;color:#75d2c8;margin-left:11px}
/* Reduced, restrained home screen */
.menu-shell{min-height:100dvh;max-width:1600px;padding:24px 44px}
.menu-shell .topbar{height:58px}.menu-shell .brand strong{font-size:14px}
.menu-v04{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,1fr);gap:40px;align-items:center;min-height:calc(100dvh - 170px)}
.menu-v04 .hero-copy{max-width:630px}.menu-v04 .hero-kicker{font-size:10px;letter-spacing:.13em;color:#a6dfda;display:flex;align-items:center;gap:8px}
.menu-v04 .hero-title{font-size:clamp(56px,5.3vw,90px);line-height:1;letter-spacing:-.065em;margin:17px 0 20px;color:#f4fbff}
.menu-v04 .hero-title span{color:#86e7e4}
.menu-v04 .hero-desc{max-width:500px;color:#a3bbcd;font-size:15px;line-height:1.7}
.menu-v04 .menu-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:490px;margin-top:24px}
.menu-v04 .menu-buttons .btn{min-height:45px;padding:8px 12px;justify-content:flex-start;text-align:left}
.menu-v04 .menu-buttons .btn:first-child{grid-column:span 2;justify-content:center;min-height:54px}
.menu-v04 .menu-buttons .btn:nth-child(3){grid-column:span 2}
.menu-spec{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}
.menu-spec span{color:#93b9c7;border:1px solid #314455;border-radius:30px;padding:7px 10px;font:700 10px Consolas,monospace;letter-spacing:.05em}
.menu-v04 .hero-graphic{border:1px solid #28465b;border-radius:30px;background:radial-gradient(ellipse at 48% 56%,#183e50 0%,#0f2336 52%,#0d1a2b 90%);box-shadow:inset 0 0 80px #0006,0 25px 80px #0004;min-height:440px;max-height:570px;height:62vh;overflow:hidden}
.menu-v04 .hero-graphic .orbit{border-color:#58bfc21b}.menu-v04 .hero-glow{background:radial-gradient(circle,#2ba2ac2a,transparent 66%)}
.menu-v04 .hero-tiles{display:flex;gap:13px;align-items:center;justify-content:center;transform:rotate(-8deg);filter:drop-shadow(0 18px 19px #0009)}
.menu-v04 .hero-tiles .tile{transform:scale(1.45);margin:0 8px}.menu-v04 .hero-tiles .tile:nth-child(2){transform:scale(1.45) translateY(-8px)}
.menu-v04 .hero-board-label{position:absolute;z-index:2;top:20px;left:24px;color:#77b7c6;font:11px Consolas,monospace;letter-spacing:.15em}
.menu-v04 .hero-chip{font-size:10px;letter-spacing:.14em}
/* Guided tutorial dialog */
.tutorial-backdrop{z-index:200;display:flex;justify-content:center;align-items:center;padding:20px;background:#030b12d9;backdrop-filter:blur(12px)}
.tutorial-dialog{width:min(920px,100%);max-height:calc(100dvh - 35px);overflow:auto;box-shadow:0 25px 100px #000d;background:linear-gradient(135deg,#172c3b,#101a2b);border:1px solid #4c808b;border-radius:22px;padding:22px 26px}
.tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#88b9c5;font:700 10px Consolas,monospace;letter-spacing:.12em}
.tutorial-top b{color:#99efea}.tutorial-top .mini-btn{font-size:10px}
.tutorial-progress{display:flex;gap:6px;margin:17px 0 24px}.tutorial-progress i{height:4px;flex:1;border-radius:9px;background:#324657}.tutorial-progress i.lit{background:#82ebdf;box-shadow:0 0 10px #5de3dc57}
.tutorial-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:310px;gap:26px;align-items:center}
.tutorial-copy{padding:6px 4px}.tutorial-copy small{font:800 11px Consolas,monospace;color:#7ae7d7;letter-spacing:.11em}
.tutorial-copy h2{font-size:clamp(25px,3vw,39px);line-height:1.1;color:#f6fcff;letter-spacing:-.035em;margin:15px 0}.tutorial-copy p{color:#acc5d2;line-height:1.7;font-size:14px;max-width:400px}
.tutorial-demo{border-radius:17px;min-height:260px;border:1px solid #3c6474;background:radial-gradient(ellipse at 47% 10%,#24485b,#102334 76%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 18px;gap:19px;position:relative;overflow:hidden}
.tutorial-demo:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#a0f4ff05 1px,transparent 1px),linear-gradient(90deg,#a0f4ff05 1px,transparent 1px);background-size:26px 26px}
.tutorial-demo>*{position:relative}.tutorial-demo-title{font:750 10px Consolas,monospace;color:#9bd6de;letter-spacing:.13em;text-align:center}
.tutorial-tiles{display:flex;gap:11px;justify-content:center;align-items:center;flex-wrap:nowrap}
.tutorial-tile{height:66px;width:48px;min-width:48px;cursor:pointer;transition:transform .14s}
.tutorial-tile .tile-number{font-size:28px}.tutorial-tile:hover{transform:translateY(-7px)}.tutorial-tile.selected{transform:translateY(-9px)}
.tutorial-demo-note{text-align:center;color:#a4b7c8;font-size:12px;line-height:1.4}.tutorial-demo-note.good{color:#8ef2ca}
.tutorial-controls{display:flex;flex-direction:column;gap:8px;align-items:center}.tutorial-controls span:not(.arr){padding:9px 14px;border:1px solid #427484;border-radius:7px;background:#213b4b;color:#cbf4f4;font:700 10px Consolas,monospace}
.tutorial-controls .arr{font-size:21px;color:#7edede;transform:rotate(90deg)}
.tutorial-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #345363;margin-top:24px;padding-top:20px;color:#8badc0;font:700 11px Consolas,monospace}
.tutorial-bottom>div{display:flex;gap:9px}.tutorial-bottom .btn{min-height:41px;padding:0 18px}
@media(min-width:1001px) and (max-width:1400px){
 .app-shell.in-game{padding:8px 11px 8px;gap:7px}
 .in-game .layout{grid-template-columns:minmax(0,1fr) 225px;gap:8px}
 .in-game .player-card{padding:6px 7px}.in-game .avatar{height:27px;width:27px;flex-basis:27px}
 .in-game .player-meta .name{font-size:10px}.in-game .player-card .activity{font-size:7px}
 .in-game .rack-action-group .btn{font-size:9px;padding:0 7px;min-height:32px}
 .in-game .rack-action-primary .btn.primary{min-width:125px}
 .in-game .rack-action-primary .btn.hint{min-width:80px}
}
@media(max-width:1000px){
 .app-shell.in-game{height:auto;max-height:none;min-height:100dvh;overflow:visible}
 .in-game .layout{display:flex;flex-direction:column;overflow:visible}
 .in-game .main-column{overflow:visible}
 .in-game .hud{height:auto;max-height:none;min-height:64px;flex:0 0 auto}
 .in-game .player-card{min-height:56px;flex-basis:calc(50% - 5px)}
 .in-game .table-card{height:410px;min-height:410px;flex:0 0 410px}
 .in-game .rack-actions{flex-wrap:wrap}
 .in-game .side-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;overflow:visible}
 .in-game .quick-card{display:none}
 .menu-v04{grid-template-columns:1fr;gap:15px;min-height:auto;padding:30px 0}
 .menu-v04 .hero-graphic{height:360px;min-height:360px;max-height:360px}
}
@media(max-width:640px){
 .app-shell.in-game{padding:8px;gap:6px}
 .in-game .topbar{height:42px;min-height:42px;max-height:42px;flex-basis:42px}
 .in-game .brand-mark{display:none}
 .in-game .player-card .activity{display:none}
 .in-game .rack-action-group .btn{min-height:36px}
 .in-game .selection-tip{font-size:9px}
 .in-game .selection-note{display:none}
 .in-game .table-head .counter{font-size:9px}
 .in-game .side-panel{grid-template-columns:1fr}
 .menu-shell{padding:12px 18px}
 .menu-v04 .hero-title{font-size:clamp(42px,11vw,67px)}
 .menu-v04 .hero-graphic{height:270px;min-height:270px}
 .menu-v04 .hero-tiles .tile{transform:scale(1.1);margin:0 2px}
 .tutorial-dialog{padding:15px}
 .tutorial-main{grid-template-columns:1fr;gap:13px}
 .tutorial-copy h2{font-size:25px;margin:8px 0}.tutorial-copy p{font-size:12px;margin:9px 0}
 .tutorial-demo{min-height:170px;padding:14px}
 .tutorial-tile{height:52px;width:38px;min-width:38px}.tutorial-tile .tile-number{font-size:23px}
 .tutorial-bottom .btn{padding:0 11px;font-size:10px}
}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Readable staged reveal while the AI shows its computed legal end-state. */
@keyframes rt-meld-reveal{from{opacity:.35;transform:translateY(13px);filter:brightness(1.35)}to{opacity:1;transform:translateY(0);filter:brightness(1)}}
@keyframes rt-tile-reveal{0%{opacity:.2;transform:translateY(-18px) scale(.95)}75%{opacity:1;transform:translateY(2px) scale(1.015)}100%{opacity:1;transform:translateY(0) scale(1)}}
.in-game .table-card:has(.ai-preview-note) .meld.changed{animation:rt-meld-reveal .55s ease-out both}
.in-game .table-card:has(.ai-preview-note) .meld .tile.new-play{animation:rt-tile-reveal .48s cubic-bezier(.12,.8,.35,1) both;animation-delay:.12s}
.in-game .table-card:has(.ai-preview-note) .meld .tile.new-play:nth-of-type(3n){animation-delay:.22s}
.in-game .table-card:has(.ai-preview-note) .meld .tile.new-play:nth-of-type(4n){animation-delay:.32s}
@media(prefers-reduced-motion:reduce){.in-game .table-card:has(.ai-preview-note) .meld.changed,.in-game .table-card:has(.ai-preview-note) .meld .tile.new-play{animation:none!important}}
