:root{color:#18313c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-text:#18313c;--ink:#18313c;--ink-soft:#18313ccc;--panel-text:#f7f1e4;--line:#18313c1f;--accent-strong:#f3a142;--accent-soft:#ffd39a;--shadow:0 22px 50px #35270f1f;--heading:Georgia, "Times New Roman", serif;--ui-font:"Trebuchet MS", "Gill Sans", "Avenir Next", sans-serif;background:radial-gradient(circle at 0 0,#f7cb754d,#0000 30%),linear-gradient(#f1d8a3 0%,#d7e6ef 45%,#87afc1 100%);font-family:Trebuchet MS,Gill Sans,Avenir Next,sans-serif;font-weight:400;line-height:1.5}html{overscroll-behavior:none;min-height:100%}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;color:var(--page-text);overscroll-behavior:none;margin:0;overflow:hidden auto}button{cursor:pointer;border:0}p{margin:0}#root{width:100%;min-height:100svh;overflow:hidden visible}.game-shell{--tile-column-min:110px;min-height:100svh;width:min(100%, var(--viewport-width,100vw));max-width:min(100%, var(--viewport-width,100vw));box-sizing:border-box;grid-template-columns:minmax(248px,312px) minmax(0,1fr);align-content:start;align-items:start;gap:18px;padding:18px;display:grid;overflow-x:clip}.sidebar,.board,.panel,.sound-tile{border:1px solid var(--line);box-shadow:var(--shadow)}.sidebar{min-width:0;max-height:calc(100dvh - 36px);color:var(--panel-text);overscroll-behavior:contain;background:radial-gradient(circle at top,#f3a1423d,#0000 35%),linear-gradient(#103346f5,#0a1a25fa);border-radius:28px;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.mobile-sidebar-toggle,.mobile-sidebar-backdrop,.mobile-topbar{display:none}.mobile-topbar{align-items:center;min-height:34px}.mobile-title{color:#aa6014eb}.mobile-sidebar-toggle{appearance:none;color:var(--panel-text);font-family:var(--ui-font);background:linear-gradient(#2f4659f0,#243849f5);border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:9px 14px;font-size:.9rem;box-shadow:0 12px 24px #0e1e2833}.mobile-sidebar-toggle-bars{background:currentColor;border-radius:999px;width:14px;height:2px;position:relative}.mobile-sidebar-toggle-bars:before,.mobile-sidebar-toggle-bars:after{content:"";background:currentColor;border-radius:999px;width:14px;height:2px;position:absolute;left:0}.mobile-sidebar-toggle-bars:before{top:-5px}.mobile-sidebar-toggle-bars:after{top:5px}.mobile-sidebar-toggle-label{line-height:1}.mobile-sidebar-backdrop{appearance:none;opacity:0;pointer-events:none;z-index:30;background:#0a121861;border:0;transition:opacity .18s;position:fixed;inset:0}.mobile-sidebar-backdrop.visible{opacity:1;pointer-events:auto}.mobile-sidebar-close{display:none}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong);margin:0;font-size:.76rem;font-weight:700}.sidebar h1,.board h2,.panel h2{font-family:var(--ui-font);color:inherit;margin:0}.sidebar h1{font-size:clamp(2.3rem,4.8vw,4rem);line-height:.98}.sidebar-header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.sidebar-header .mobile-sidebar-close{flex:none;margin-left:auto}.panel h2{font-size:.95rem;line-height:1.1}.intro{color:#f4eee0c7;margin:0;font-size:.9rem}.panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border-radius:22px;padding:12px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.panel-heading-actions{align-items:center;gap:10px;display:inline-flex}.panel-heading span{color:var(--accent-soft);font-weight:700}.panel-toggle{appearance:none;width:28px;height:28px;color:var(--accent-soft);font:inherit;transform-origin:50%;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;padding:0;line-height:1;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.panel-toggle-glyph{transform-origin:50%;border-bottom:2px solid;border-right:2px solid;justify-content:center;align-items:center;width:8px;height:8px;display:inline-flex;transform:translateY(-1px)rotate(45deg)}.panel-toggle:hover,.panel-toggle:focus-visible{background:#f3a1421f;border-color:#f3a14266;outline:none}.panel-toggle.expanded{transform:rotate(180deg)}.panel-note{color:#f4eee0b8;margin:8px 0 0;font-size:.78rem;line-height:1.35}.level-list{gap:7px;display:grid}.level-collapsed-note{appearance:none;color:#f4eee0b3;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;width:100%;padding:2px 0 0;display:flex}.level-collapsed-note:hover,.level-collapsed-note:focus-visible{color:#f4eee0e6;outline:none}.level-collapsed-note strong{color:var(--panel-text);line-height:1.35}.level-collapsed-note span{font-size:.82rem;line-height:1.35}.language-list,.voice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.level-panel,.voice-panel{grid-column:1/-1}.level-button{width:100%;color:inherit;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;justify-content:flex-start;align-items:start;gap:8px;padding:9px 10px;transition:transform .18s,border-color .18s,background .18s;display:flex}.level-button span{color:#f4eee09e;text-align:left;flex:auto;max-width:11.5rem;font-size:.78rem}.level-button:hover,.level-button:focus-visible,.level-button.selected{background:#f3a1421f;border-color:#f3a14280;outline:none;transform:translate(4px)}.level-button.disabled,.level-button:disabled{cursor:not-allowed;color:#f4eee073;opacity:.55;background:#ffffff04;border-color:#ffffff0d;transform:none}.level-button.disabled:hover,.level-button.disabled:focus-visible,.level-button:disabled:hover,.level-button:disabled:focus-visible{background:#ffffff04;border-color:#ffffff0d;outline:none;transform:none}.board{min-width:0;color:var(--ink);background:radial-gradient(circle at 100% 0,#3280a333,#0000 28%),linear-gradient(#f8f1e2f5,#f6ecd6eb);border-radius:36px;flex-direction:column;gap:18px;padding:24px;display:flex}.board-arena{grid-template-rows:auto 1fr auto auto;gap:18px;width:100%;max-width:100%;min-height:100%;display:grid}.board-top-meta{background:0 0;flex-direction:column;justify-content:flex-end;gap:6px;min-height:clamp(20px,6vh,72px);margin-inline:0;padding:0;display:flex}.round-banner-bottom-zone{justify-content:center;align-items:center;min-height:30px;display:flex}.board-core{flex-direction:column;align-self:center;gap:18px;display:flex}.bank-stage{align-items:flex-start;width:100%;min-height:128px;display:flex}.bank-stage>.tile-bank,.bank-stage>.builder-feedback-zone{width:100%}.builder-feedback-zone{justify-content:center;align-items:flex-start;width:100%;min-height:50px;display:flex}.board-switched{animation:.9s boardSwitch}.toolbar{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.ghost-button{appearance:none;color:var(--ink);font-family:var(--ui-font);letter-spacing:.01em;text-align:center;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px 8px;font-size:.88rem;font-weight:500;transition:transform .18s,color .18s,text-shadow .18s;display:inline-flex}.ghost-button:hover,.ghost-button:focus-visible{color:#784412fa;text-shadow:0 3px 10px #7e4a1224;outline:none;transform:translateY(-1px)}.ghost-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.ghost-button-icon{color:#aa6014e0;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:1.02rem;line-height:1;display:inline-flex}.status-bar{width:fit-content;max-width:min(100%,760px);box-shadow:none;color:var(--ink-soft);text-align:center;background:0 0;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:12px;padding:4px 16px;display:flex}.board-top-meta .status-bar{padding-top:0;padding-bottom:0}.status-icon{opacity:.75;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.round-banner{color:var(--panel-text);letter-spacing:.03em;text-transform:uppercase;background:#0e4864eb;border-radius:999px;align-self:center;padding:5px 10px;font-size:.74rem;font-weight:700;animation:.24s retryBannerFade}.builder-line{grid-template-columns:repeat(var(--segment-count,4), minmax(var(--tile-column-min,110px), 1fr));-webkit-user-select:none;user-select:none;background:linear-gradient(#fffaf2e0,#fff4de9e);border-radius:30px;gap:14px;padding:18px;display:grid;box-shadow:inset 0 1px #fff9,0 18px 34px #4a3a1a14}.drop-slot{--slot-inner-gap:10px;--slot-inner-radius:22px;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#eaf1f6f0,#d5e2ebd1);border:1px solid #47799657;border-radius:28px;justify-content:center;align-items:center;height:132px;min-height:132px;padding:10px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.drop-slot:before{content:"";inset:var(--slot-inner-gap);border-radius:var(--slot-inner-radius);pointer-events:none;background:linear-gradient(#ffffff42,#ffffff0f);border:1px solid #4779963d;position:absolute}.builder-line.incorrect .drop-slot,.builder-line.incorrect .drop-slot.filled{background:linear-gradient(#fbebe7f5,#f3d5ced6)}.builder-line.incorrect .drop-slot:before,.builder-line.incorrect .drop-slot.filled:before{border-color:#be483647}.builder-line.solved .drop-slot,.builder-line.solved .drop-slot.filled{background:linear-gradient(#ebf8f0f5,#d2e9dad6)}.builder-line.solved .drop-slot:before,.builder-line.solved .drop-slot.filled:before{border-color:#28825c4d}.drop-slot:hover{background:linear-gradient(#eff5f9fa,#dce7efdb);box-shadow:inset 0 1px #ffffff80}.drop-slot.hovered{box-shadow:0 0 0 4px #f3a14229,0 18px 28px #4a3a1a1f}.drop-slot.selected{box-shadow:0 0 0 4px #f3a14229,0 12px 24px #3428121a}.drop-slot.filled{background:linear-gradient(#eaf1f6f0,#d5e2ebd1)}.drop-slot.filled.hovered{box-shadow:0 0 0 4px #f3a14229,0 18px 28px #4a3a1a1f}.drop-slot-placeholder{color:#1c364457;-webkit-user-select:none;user-select:none;align-content:center;place-items:center;gap:10px;width:100%;height:100%;display:grid}.drop-slot-index{-webkit-user-select:none;user-select:none;background:#ffffff8f;border:1px solid #0e486424;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:700;display:inline-flex}.drop-slot-dots{-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#0e486438 2px,#0000 3px) 50%/18px 10px repeat-x;border-radius:999px;width:56px;height:10px}.placed-card{width:calc(100% - (var(--slot-inner-gap) * 2));min-width:0;min-height:calc(100% - (var(--slot-inner-gap) * 2));height:calc(100% - (var(--slot-inner-gap) * 2));pointer-events:none;border-radius:var(--slot-inner-radius);clip-path:inset(0 round var(--slot-inner-radius));background:radial-gradient(circle at 22% 18%,#fffffffa,#0000 18%),radial-gradient(circle at 70% 24%,#f3a14261,#0000 28%),linear-gradient(#fff,#f1e0bdf5);place-self:center;overflow:hidden;box-shadow:0 12px 22px #34281224,inset 0 0 0 1px #ffffff94}.placed-card.sound-tile{border-radius:var(--slot-inner-radius);clip-path:inset(0 round var(--slot-inner-radius))}.placed-card.sound-tile:before{border-radius:var(--slot-inner-radius);inset:0}.placed-card.sound-tile:after{display:none}.placed-card .tile-face{border-radius:var(--slot-inner-radius);transition:none}.placed-card.playing,.placed-card.recent{animation:none;transform:none}.placed-card .tile-front{transform:none}.placed-card .tile-back{opacity:0;transform:rotateY(180deg)}.placed-card.revealed .tile-front,.placed-card.revealed .tile-back,.placed-card.solved-revealed .tile-front,.placed-card.solved-revealed .tile-back{transition:transform .22s,opacity .22s}.placed-card.revealed .tile-front{transform:rotateY(180deg)!important}.placed-card.revealed .tile-back{opacity:1;transform:rotateY(360deg)!important}.placed-card.solved-revealed{animation:.52s solvedTileLift}.placed-card.swap-in-from-left{animation:.28s cubic-bezier(.2,.8,.2,1) swapInFromLeft}.placed-card.swap-in-from-right{animation:.28s cubic-bezier(.2,.8,.2,1) swapInFromRight}.placed-card.solved-revealed .tile-front{transform:rotateY(180deg)!important}.placed-card.solved-revealed .tile-back{opacity:1;color:var(--ink);transform:rotateY(360deg)!important}.placed-card.solved-revealed.playing .tile-front,.placed-card.solved-revealed.revealed .tile-front,.placed-card.solved-revealed.recent .tile-front{transform:rotateY(180deg)!important}.placed-card.solved-revealed.playing .tile-back,.placed-card.solved-revealed.revealed .tile-back,.placed-card.solved-revealed.recent .tile-back{opacity:1!important;transform:rotateY(360deg)!important}.builder-line.pointer-dragging .placed-card .tile-front{transition:none!important;transform:none!important}.builder-line.pointer-dragging .placed-card .tile-back{opacity:0;transition:none!important;transform:rotateY(180deg)!important}.drag-ghost{z-index:50;pointer-events:none;border:1px solid var(--line);clip-path:inset(0 round 28px);background:radial-gradient(circle at 22% 18%,#fffffffa,#0000 18%),radial-gradient(circle at 70% 24%,#f3a14257,#0000 28%),linear-gradient(#fffffffc,#efe1c4f0);border-radius:28px;position:fixed;overflow:hidden;transform:rotate(-1.5deg)scale(1.02);box-shadow:0 24px 40px #34281233,0 0 0 3px #f3a14229}.drag-native-preview{border:1px solid var(--line);clip-path:inset(0 round 28px);pointer-events:none;background:radial-gradient(circle at 22% 18%,#fffffff2,#0000 18%),radial-gradient(circle at 70% 24%,#f3a14242,#0000 28%),linear-gradient(#fffffffa,#efe1c4e6);border-radius:28px;width:180px;height:112px;position:fixed;top:-9999px;left:-9999px;overflow:hidden;box-shadow:0 18px 30px #34281229,inset 0 0 0 1px #ffffff8f}.drag-native-preview .tile-front,.drag-ghost .tile-front{transform:none}.drop-slot-placeholder{color:#1c364457;font-size:.95rem;font-weight:700}.tile-grid{align-items:stretch;gap:16px;display:grid}.tile-bank{grid-template-columns:repeat(var(--segment-count,4), minmax(var(--tile-column-min,110px), 1fr));box-shadow:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;padding:0 18px}.tile-bank.hovered{box-shadow:none}.bank-cell{justify-content:center;width:100%;display:flex}.sound-tile{clip-path:inset(0 round 28px);width:100%;height:112px;min-height:112px;transform-style:preserve-3d;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 22% 18%,#fffffff2,#0000 18%),radial-gradient(circle at 70% 24%,#f3a14242,#0000 28%),linear-gradient(#fffffffa,#efe1c4e6);border-radius:28px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 16px 24px #34281224,inset 0 0 0 1px #ffffff80}.tile-bank .sound-tile{clip-path:none;border-radius:22px;justify-self:center;width:calc(100% - 20px);box-shadow:0 20px 28px #3428122e,0 6px 16px #34281214,inset 0 0 0 1px #ffffff8f}.tile-bank .sound-tile .tile-face{border-radius:22px}.bank-placeholder{opacity:0;pointer-events:none;justify-self:center;width:calc(100% - 20px);height:112px}.sound-tile.placed{min-height:132px}.sound-tile:before,.sound-tile:after,.sound-tile .tile-front:before,.sound-tile .tile-front:after{content:"";position:absolute}.sound-tile:before{pointer-events:none;background:linear-gradient(#ffffff2e,#fff0);border:1px solid #fff9;border-radius:22px;inset:10px}.sound-tile:after{filter:blur(6px);opacity:.55;pointer-events:none;background:linear-gradient(#4a3a1a24,#4a3a1a00);border-radius:999px;height:18px;inset:auto 16px 12px}.sound-tile:hover,.sound-tile:focus-visible{outline:none;box-shadow:0 22px 34px #34281229,0 0 0 3px #f3a1423d}.sound-tile[aria-disabled=true]{cursor:not-allowed;opacity:.62;box-shadow:none;pointer-events:none;transform:none}.sound-tile:active{cursor:grabbing}.sound-tile.playing{outline:none;animation:1.05s infinite pulse;transform:translateY(-2px)rotate(-.4deg);box-shadow:0 20px 32px #34281229,0 0 0 2px #f3a14233}.sound-tile.recent{box-shadow:0 18px 28px #3428121f,0 0 0 2px #18313c29}.sound-tile.revealed{background:linear-gradient(#0e4864f2,#112d3dfa)}.tile-face{border-radius:inherit;backface-visibility:hidden;-webkit-user-select:none;user-select:none;place-items:center;transition:transform .22s;display:grid;position:absolute;inset:0}.tile-front{transform:rotateY(0)}.tile-speaker{color:#1c364494;z-index:2;-webkit-user-select:none;user-select:none;pointer-events:none;text-shadow:0 1px #ffffff8c;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.05rem;line-height:1;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tile-back{color:var(--panel-text);text-align:center;-webkit-user-select:none;user-select:none;padding:16px;font-size:1.2rem;font-weight:700;line-height:1.1;transform:rotateY(180deg)}.sound-tile.revealed .tile-front{transform:rotateY(180deg)}.sound-tile.revealed .tile-back{transform:rotateY(360deg)}.tile-mark{text-align:center;color:#1c364466;letter-spacing:.28em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:1.1rem;font-weight:700;position:absolute;inset:auto 0 20px}.slot-actions{gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.slot-chip{min-width:28px;height:28px;color:var(--ink-soft);font:inherit;background:#fffc;border:1px solid #0e48641f;border-radius:999px;line-height:1;transition:transform .18s,border-color .18s,background .18s}.slot-chip:hover,.slot-chip:focus-visible{background:#fff8ecf5;border-color:#f3a1425c;outline:none;transform:translateY(-1px)}.slot-chip:disabled{opacity:.45;transform:none}.solved-banner{color:var(--panel-text);letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(#2c9667f5,#1b714dfa);border-radius:999px;align-self:center;padding:10px 18px;font-weight:700;animation:.82s solvedBannerSpark;box-shadow:0 14px 26px #1b543a2e,0 0 0 3px #50c49024}.retry-banner{color:var(--panel-text);letter-spacing:.03em;font-weight:700;font:inherit;background:linear-gradient(#bb4f3ef0,#973729fa);border:1px solid #ffffff2e;border-radius:999px;align-self:center;padding:9px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;animation:.24s retryBannerFade;box-shadow:0 12px 22px #70281f29,0 0 0 3px #c967571f}.retry-banner:hover,.retry-banner:focus-visible{border-color:#ffffff57;outline:none;transform:translateY(-1px);box-shadow:0 14px 24px #70281f2e,0 0 0 3px #c9675729}@keyframes pulse{0%,to{transform:translateY(-2px)rotate(-.4deg)scale(1)}50%{transform:translateY(-3px)rotate(0)scale(1.008)}}@keyframes solvedTileLift{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-4px)scale(1.01)}to{transform:translateY(0)scale(1)}}@keyframes swapInFromLeft{0%{transform:translate(-18px)scale(.98);box-shadow:0 18px 30px #3428122e,0 0 0 4px #f3a1422e}60%{transform:translate(4px)scale(1.01)}to{transform:translate(0)scale(1);box-shadow:0 12px 22px #34281224,inset 0 0 0 1px #ffffff94}}@keyframes swapInFromRight{0%{transform:translate(18px)scale(.98);box-shadow:0 18px 30px #3428122e,0 0 0 4px #f3a1422e}60%{transform:translate(-4px)scale(1.01)}to{transform:translate(0)scale(1);box-shadow:0 12px 22px #34281224,inset 0 0 0 1px #ffffff94}}@keyframes solvedBannerSpark{0%{opacity:0;transform:translateY(6px)scale(.96);box-shadow:0 0 #50c49000,0 0 #50c49000}55%{opacity:1;transform:translateY(0)scale(1.03);box-shadow:0 14px 26px #1b543a33,0 0 0 10px #50c49014}to{opacity:1;transform:translateY(0)scale(1);box-shadow:0 14px 26px #1b543a2e,0 0 0 3px #50c49024}}@keyframes retryBannerFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes boardSwitch{0%{box-shadow:0 0 0 0 #f3a1428c, var(--shadow);transform:scale(.995)}50%{box-shadow:0 0 0 8px #f3a1422e, var(--shadow);transform:scale(1)}to{box-shadow:0 0 0 0 #f3a14200, var(--shadow);transform:scale(1)}}@media (width<=980px){.game-shell{--tile-column-min:72px;grid-template-columns:1fr;align-content:start;gap:12px;padding:12px}.board{order:1}.mobile-sidebar-toggle{z-index:20;place-self:start;display:inline-flex;position:sticky;top:12px}.mobile-topbar{place-self:start;display:flex}.mobile-sidebar-backdrop{display:block}.sidebar{z-index:40;opacity:0;pointer-events:none;order:2;width:min(320px,100vw - 24px);max-width:min(320px,100vw - 24px);transition:transform .22s,opacity .18s;position:fixed;top:12px;bottom:12px;left:12px;transform:translate(calc(-100% - 24px))}.sidebar,.board{border-radius:24px;min-height:auto;max-height:none;padding:16px}.sidebar{gap:10px;overflow-y:auto}.mobile-sidebar-close{appearance:none;width:34px;height:34px;color:var(--accent-soft);z-index:2;background:#ffffff0f;border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;font-size:1.5rem;line-height:1;display:inline-flex}.mobile-sidebar-close:hover,.mobile-sidebar-close:focus-visible{background:#f3a1421f;outline:none}.sidebar.mobile-open{opacity:1;pointer-events:auto;transform:translate(0)}.sidebar h1{max-width:14ch;font-size:clamp(1.9rem,7vw,2.7rem)}.intro{max-width:none;font-size:.88rem}.control-grid{grid-template-columns:1fr;gap:10px}.builder-line,.tile-bank{width:100%;max-width:100%}.builder-line{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:10px;padding:12px;overflow:auto visible}.tile-bank{gap:10px;padding:2px 12px 10px;overflow:visible;grid-template-columns:repeat(var(--segment-count,4), minmax(var(--tile-column-min,72px), 1fr))!important}.drop-slot{scroll-snap-align:start}.tile-bank .sound-tile,.bank-placeholder{scroll-snap-align:none;width:calc(100% - 20px);min-width:0}.toolbar{justify-content:center;gap:14px;margin-top:2px}.ghost-button{flex:0 auto}.language-list{grid-template-columns:repeat(4,minmax(0,1fr))}.voice-list,.level-list{grid-template-columns:repeat(2,minmax(0,1fr))}.level-button{min-height:56px;padding:10px}.level-button span{max-width:none;font-size:.76rem}.status-bar{max-width:100%;padding:4px 0;font-size:.9rem}.round-banner-slot{min-height:28px;margin-top:-10px;margin-bottom:-10px}}@media (width<=980px) and (orientation:landscape){.game-shell{--tile-column-min:70px;width:min(100%, var(--viewport-width,100vw));max-width:min(100%, var(--viewport-width,100vw));gap:10px;padding:10px}.sidebar,.board{width:100%;max-width:min(100%, var(--viewport-width,100vw) - 20px);padding:16px}.builder-line,.tile-bank{max-width:calc(var(--viewport-width,100vw) - 32px)}.tile-bank{padding-bottom:18px;grid-template-columns:repeat(var(--segment-count,4), minmax(var(--tile-column-min,70px), 1fr))!important}.toolbar{margin-top:0}.sound-tile{box-shadow:0 8px 14px #3428121a,inset 0 0 0 1px #ffffff80}.tile-bank .sound-tile{box-shadow:0 10px 16px #3428121f,0 3px 8px #3428120d,inset 0 0 0 1px #ffffff8f}.sound-tile:hover,.sound-tile:focus-visible{box-shadow:0 12px 20px #3428121f,0 0 0 3px #f3a1423d}.sound-tile.playing{box-shadow:0 12px 20px #3428121f,0 0 0 2px #f3a14233}.sound-tile.recent{box-shadow:0 10px 16px #3428121a,0 0 0 2px #18313c29}}@media (width<=720px){.game-shell{--tile-column-min:58px;gap:10px;padding:10px}.sidebar,.board{border-radius:22px;padding:14px}.status-bar,.round-banner-slot,.solved-banner,.retry-banner,.toolbar{max-width:100%}.sidebar h1{font-size:clamp(1.7rem,8.5vw,2.3rem)}.intro,.panel-note,.status-bar{font-size:.84rem}.panel{padding:10px}.panel-heading{margin-bottom:6px}.language-list,.voice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.level-list{gap:6px}.level-button{gap:6px;min-height:52px;padding:9px 10px}.level-button:hover,.level-button:focus-visible,.level-button.selected{transform:none}.builder-line{gap:8px;padding:10px}.drop-slot{height:100px;min-height:100px}.tile-bank .sound-tile,.bank-placeholder,.sound-tile{height:84px;min-height:84px}.tile-bank .sound-tile{clip-path:inset(0 round 22px)}.tile-speaker{font-size:.92rem}.tile-back{padding:10px;font-size:.9rem}.toolbar{justify-content:space-around;gap:12px}.ghost-button{flex-basis:auto;padding:4px 6px;font-size:.78rem}}@media (width<=520px){.game-shell{--tile-column-min:50px;padding:8px}.sidebar h1{max-width:none}.language-list,.voice-list,.level-list{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-line,.tile-bank{gap:8px}.drop-slot,.bank-placeholder,.tile-bank .sound-tile{min-width:0}.drop-slot{height:84px;min-height:84px}.drop-slot:before{inset:7px}.tile-bank .sound-tile,.bank-placeholder,.sound-tile{height:68px;min-height:68px}.tile-bank .sound-tile{clip-path:inset(0 round 22px)}.drop-slot-index{width:28px;height:28px;font-size:.82rem}.drop-slot-dots{width:40px}.tile-speaker{font-size:.82rem}.tile-mark{letter-spacing:.12em;font-size:.76rem;inset:auto 0 10px}.tile-back{padding:8px;font-size:.8rem}.toolbar{gap:10px}.ghost-button{font-size:.74rem}}
