:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tt-bg:#0b0d10;--tt-bg2:#0b0d10;--tt-panel:#14171c;--tt-panel2:#1a1e24;--tt-line:#22262d;--tt-fg:#e8eaed;--tt-muted:#8a919c;--tt-accent:#4c8dff;--tt-accent-fg:#fff;--tt-good:#3fbf6f;--tt-warn:#e0b341;--tt-bad:#e5534b;--tt-focus:#4c8dff;--tt-radius:8px;--tt-field-scale:1;--tt-nav-h:40px;background:var(--tt-bg);color:var(--tt-fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}:root:has(.tt-app[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.tt-app[data-theme=light]{--tt-bg:#eef1f5;--tt-bg2:#fff;--tt-panel:#fff;--tt-panel2:#f2f5f9;--tt-line:#cfd7e2;--tt-fg:#141a22;--tt-muted:#566273;--tt-accent:#1f6fe0;--tt-focus:#1f6fe0}*{box-sizing:border-box}html,body{background:var(--tt-bg);touch-action:manipulation;min-height:100%;margin:0}body{overscroll-behavior:none}.tt-app{min-height:100vh;background:var(--tt-bg);min-height:100dvh;color:var(--tt-fg);flex-direction:column;display:flex}a{color:var(--tt-accent)}h1{margin:.2rem 0 .8rem;font-size:1.35rem}h2{margin:.2rem 0 .6rem;font-size:1.05rem}h3{color:var(--tt-muted);margin:.8rem 0 .4rem;font-size:.95rem}:focus-visible{outline:2px solid var(--tt-focus);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}[hidden]{display:none!important}.tt-topbar{z-index:20;height:var(--tt-nav-h);padding:0 10px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));background:var(--tt-bg);border-bottom:1px solid var(--tt-line);color:var(--tt-fg);align-items:center;gap:8px;display:flex;position:sticky;top:0}.tt-skip{color:#000;border-radius:var(--tt-radius);z-index:30;background:#fff;padding:4px 8px;position:absolute;top:-40px;left:8px}.tt-skip:focus{top:6px}.tt-brand{color:var(--tt-fg);white-space:nowrap;letter-spacing:.14em;align-items:center;gap:6px;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.tt-logo{display:none}.tt-nav{scrollbar-width:none;flex:auto;gap:2px;min-width:0;display:flex;overflow-x:auto}.tt-nav::-webkit-scrollbar{display:none}.tt-nav-link{color:var(--tt-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid #0000;border-radius:0;align-items:center;padding:4px 9px;font-size:.78rem;text-decoration:none;display:flex}.tt-nav-link:hover{color:var(--tt-fg)}.tt-nav-link[aria-current=page]{border-bottom-color:var(--tt-accent);color:var(--tt-fg)}.tt-more{flex:none;position:relative}.tt-more-button{border:1px solid var(--tt-line);border-radius:var(--tt-radius);min-height:28px;color:var(--tt-muted);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;padding:3px 8px;font-size:.78rem;display:inline-flex}.tt-more-button:before{content:"☰";margin-right:5px;font-size:.9rem}.tt-more-button:hover,.tt-more-button[aria-expanded=true]{color:var(--tt-fg);border-color:var(--tt-accent)}.tt-more-menu{z-index:30;border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel);min-width:180px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.tt-more-menu .tt-nav-link{border:0;min-height:34px;padding:6px 8px}.tt-topbar-end{flex:none;align-items:center;gap:6px;display:flex}.tt-net{color:var(--tt-muted);white-space:nowrap;background:0 0;border-radius:0;padding:2px 4px;font-size:.75rem;text-decoration:none}.tt-net:before{content:"";vertical-align:1px;background:var(--tt-muted);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.tt-net[data-tone=good]:before{background:var(--tt-good)}.tt-net[data-tone=bad]:before{background:var(--tt-bad)}.tt-topbar .tt-btn{min-height:26px;color:var(--tt-muted);border-color:var(--tt-line);background:0 0;padding:2px 10px}.tt-topbar .tt-btn:hover:not(:disabled){color:var(--tt-fg);border-color:var(--tt-accent)}.tt-main{width:100%;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));outline:none;flex:auto}.tt-page{max-width:1040px;margin:0 auto}.tt-lead{color:var(--tt-muted);margin-top:-.4rem}.tt-panel{background:var(--tt-panel);border:1px solid var(--tt-line);border-radius:var(--tt-radius);margin:0 0 10px;padding:10px 12px}.tt-panel>summary{cursor:pointer;margin:-2px 0 6px;font-weight:600}.tt-hint{color:var(--tt-muted);font-size:.85rem}.tt-warn{color:var(--tt-warn)}.tt-status:empty{display:none}.tt-status{color:var(--tt-muted);margin:4px 0 8px;font-size:.88rem}.tt-row{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.tt-spacer{flex:auto}.tt-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.tt-empty{text-align:center;color:var(--tt-muted);padding:24px 12px}.tt-btn{border-radius:var(--tt-radius);border:1px solid var(--tt-line);background:var(--tt-panel2);min-height:30px;color:var(--tt-fg);font:inherit;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:4px;padding:4px 12px;font-size:.88rem;text-decoration:none;display:inline-flex}.tt-btn:hover:not(:disabled){border-color:var(--tt-accent)}.tt-btn:disabled{opacity:.5;cursor:not-allowed}.tt-btn.primary{background:var(--tt-accent);border-color:var(--tt-accent);color:var(--tt-accent-fg)}.tt-btn.danger{border-color:color-mix(in srgb, var(--tt-bad) 60%, var(--tt-line));color:var(--tt-bad)}.tt-btn[aria-pressed=true]{background:color-mix(in srgb, var(--tt-accent) 30%, var(--tt-panel2))}.tt-btn.icon{min-width:30px;padding:4px 6px}.tt-btn.swatch{background:var(--swatch,transparent);width:30px;padding:0}.tt-btn.swatch[aria-checked=true]{outline:2px solid var(--tt-fg);outline-offset:1px}input,select,textarea{font:inherit;color:var(--tt-fg);background:var(--tt-bg2);border:1px solid var(--tt-line);border-radius:4px;max-width:100%;min-height:30px;padding:4px 6px;font-size:.9rem}textarea{resize:vertical;width:100%}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--tt-accent)}input[type=range]{accent-color:var(--tt-accent);padding:0}.tt-field{flex-direction:column;gap:2px;font-size:.88rem;display:flex}.tt-field-label{color:var(--tt-muted);font-size:.8rem}.tt-field:has(>input[type=checkbox]){flex-flow:wrap;align-items:center;gap:6px}.tt-field:has(>input[type=checkbox]) .tt-field-label{color:var(--tt-fg);order:2;font-size:.88rem}.tt-fieldset{border:1px solid var(--tt-line);border-radius:var(--tt-radius);margin:8px 0;padding:6px 10px 10px}.tt-grid-form,.tt-options{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end;gap:8px 12px;display:grid}.tt-side .tt-options,.tt-side .tt-grid-form{grid-template-columns:1fr 1fr}.tt-checks{flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;display:flex}.tt-check{align-items:center;gap:5px;font-size:.88rem;display:inline-flex}.tt-analysis-bots{gap:8px;margin-bottom:12px;display:grid}.tt-analysis-bot{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel2);align-items:flex-start;gap:10px;padding:10px;display:flex}.tt-analysis-bot input[type=radio]{width:16px;height:16px;accent-color:var(--tt-accent);flex:0 0 16px;margin:2px 0 0}.tt-analysis-bot>span{gap:3px;display:grid}.tt-analysis-level{align-items:center;gap:12px;display:flex}.tt-analysis-level input[type=range]{flex:1;min-width:0}.tt-analysis-level-value{text-align:right;font-variant-numeric:tabular-nums;min-width:64px}.tt-badge{background:var(--tt-panel2);border:1px solid var(--tt-line);border-radius:999px;padding:2px 8px;font-size:.8rem;display:inline-block}.tt-badge.good{border-color:var(--tt-good);color:var(--tt-good)}.tt-badge.warn{border-color:var(--tt-warn);color:var(--tt-warn)}.tt-badge.bad{border-color:var(--tt-bad);color:var(--tt-bad)}.tt-kv{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0 0 8px;font-size:.9rem;display:grid}.tt-kv dt{color:var(--tt-muted)}.tt-kv dd{margin:0}.tt-table-wrap{overflow-x:auto}.tt-table{border-collapse:collapse;width:100%;font-size:.88rem}.tt-table th,.tt-table td{text-align:left;border-bottom:1px solid var(--tt-line);vertical-align:middle;padding:5px 8px}.tt-table thead th{color:var(--tt-muted);font-size:.8rem;font-weight:600}.tt-keys td .tt-btn{min-height:26px;margin:1px 4px 1px 0;padding:2px 8px}.tt-key.conflict{border-color:var(--tt-warn);color:var(--tt-warn)}.tt-cards{border-top:1px solid var(--tt-line);flex-direction:column;gap:0;margin:0 0 16px;padding:0;list-style:none;display:flex}.tt-cards.compact{display:flex}.tt-card{border:0;border-bottom:1px solid var(--tt-line);background:0 0;border-radius:0;padding:0;display:block}.tt-card p{color:var(--tt-muted);margin:3px 0 0;font-size:.85rem}.tt-card-link{width:100%;color:var(--tt-fg);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px 4px;text-decoration:none;display:grid;position:relative}.tt-card-link strong,.tt-card-link p{grid-column:1}.tt-card-link strong{font-weight:600}.tt-card-link p{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.tt-card-chevron{color:var(--tt-muted);grid-area:1/2/span 2;padding-left:12px;font-size:1.4rem;line-height:1}.tt-card .tt-actions{flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:6px;display:flex}.tt-play{max-width:1280px;margin:0 auto}.tt-toolbar{background:var(--tt-panel);border:1px solid var(--tt-line);border-radius:var(--tt-radius);flex-wrap:wrap;align-items:end;gap:6px 8px;margin-bottom:8px;padding:6px 8px;display:flex}.tt-toolbar .tt-field{flex-direction:row;align-items:center;gap:6px}.tt-preset-slot{align-items:center;gap:6px;display:inline-flex}.tt-mode-select{min-width:150px;font-weight:600}.tt-play-main{grid-template-columns:minmax(220px,290px) minmax(0,1fr);align-items:start;gap:10px;display:grid}.tt-side{min-width:0;max-height:calc(100dvh - var(--tt-nav-h) - 90px);overflow-y:auto}.tt-mode-desc{color:var(--tt-muted);margin:0 0 8px;font-size:.85rem}.tt-center{flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.tt-game{justify-content:center;width:100%;display:flex;position:relative}.tt-stage{width:min(100%, calc(min(100dvh - var(--tt-nav-h) - 100px, 780px) * 1.08 * var(--tt-field-scale)));aspect-ratio:27/25;background:var(--tt-bg);touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:0;outline:none;min-height:240px;position:relative}.tt-stage:focus-visible{outline:2px solid var(--tt-focus);outline-offset:2px}.tt-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.tt-overlay{border:1px solid var(--tt-line);border-radius:var(--tt-radius);z-index:3;background:#0b0d10e0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.tt-overlay-title{margin:0;font-size:1.4rem;font-weight:700}.tt-result-host{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tt-result{pointer-events:auto;background:var(--tt-panel);border:1px solid var(--tt-line);border-radius:var(--tt-radius);width:min(92%,360px);padding:14px 16px}.tt-result-title{margin:0 0 6px;font-size:1.2rem}.tt-result.is-success .tt-result-title{color:var(--tt-good)}.tt-result.is-fail .tt-result-title{color:var(--tt-bad)}.tt-result-stats{grid-template-columns:1fr auto;gap:2px 12px;margin:8px 0;font-size:.9rem;display:grid}.tt-result-stats dt{color:var(--tt-muted)}.tt-result-stats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.tt-time{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.tt-pb{color:var(--tt-warn);font-weight:700}.tt-result-msg{color:var(--tt-muted);font-size:.85rem}.tt-hint-box,.tt-challenge,.tt-leaderboard,.tt-solver{font-size:.88rem}.tt-challenge{font-variant-numeric:tabular-nums}.tt-leaderboard ol{margin:0;padding-left:1.3rem}.tt-seek{width:100%}.tt-replay .tt-stage{width:min(100%, calc(min(100dvh - var(--tt-nav-h) - 180px, 720px) * 1.08))}.tt-replay-chart-wrap{width:min(100%, calc(min(100dvh - var(--tt-nav-h) - 180px, 720px) * 1.08));margin:.75rem auto 0}.tt-replay-chart{border:1px solid var(--tt-line);border-radius:var(--tt-radius);cursor:crosshair;width:100%;height:112px;display:block}.tt-replay-range label{align-items:center;gap:.4rem;display:flex}.tt-replay-range input{width:8rem}.tt-touch{z-index:15;pointer-events:none;touch-action:none;height:42vh;padding-bottom:env(safe-area-inset-bottom);background:var(--tt-bg);position:fixed;bottom:0;left:0;right:0}.tt-touch-btn{transform:translate(-50%, -50%) scale(var(--touch-scale,1));width:calc(58px * var(--touch-scale,1));height:calc(58px * var(--touch-scale,1));border-radius:var(--tt-radius);border:1px solid var(--tt-line);background:var(--tt-panel);color:var(--tt-fg);font-size:calc(1.3rem * var(--touch-scale,1));opacity:var(--touch-opacity,.6);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:absolute}.tt-touch-btn.down{background:var(--tt-line);border-color:var(--tt-accent);opacity:1}.tt-touch-btn[data-action=hardDrop]{color:var(--tt-accent)}.tt-touch.editing{background:var(--tt-panel);outline:1px dashed var(--tt-accent)}.tt-touch.editing .tt-touch-btn{opacity:.95;cursor:grab}.tt-game.has-touch .tt-stage{width:min(100%, calc((58dvh - var(--tt-nav-h)) * 1.08))}.tt-editor{grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:start;gap:12px;display:grid}.tt-editor-meta{flex-direction:column;gap:8px;display:flex}.tt-palette{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.tt-map-grid{--cols:10;grid-template-columns:repeat(var(--cols), 1fr);background:var(--tt-line);border:1px solid var(--tt-line);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;gap:1px;width:min(100%,300px);display:grid}.tt-map-cell{aspect-ratio:1;background:var(--tt-bg)}.tt-triggers{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tt-trigger{background:var(--tt-panel2);border:1px solid var(--tt-line);border-radius:var(--tt-radius);padding:6px 8px}.tt-issues{color:var(--tt-warn);font-size:.85rem}.tt-assets{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;font-size:.88rem;list-style:none;display:flex}.tt-assets li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tt-toast{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:40;background:var(--tt-panel);max-width:min(92vw,420px);color:var(--tt-fg);border:1px solid var(--tt-line);pointer-events:none;border-radius:6px;padding:8px 14px;font-size:.9rem;position:fixed;transform:translate(-50%)}.tt-toast[data-tone=good]{border-color:var(--tt-good)}.tt-toast[data-tone=bad]{border-color:var(--tt-bad)}@media (max-width:900px){.tt-play-main{grid-template-columns:minmax(0,1fr)}.tt-side{order:2;max-height:none}.tt-center{order:1}.tt-side .tt-options,.tt-side .tt-grid-form{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tt-editor{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){:root{--tt-nav-h:38px;--tt-mobile-nav-panel-height:179px;font-size:14px}.tt-nav{display:none}.tt-topbar.tt-menu-open .tt-nav{z-index:30;border:1px solid var(--tt-line);border-radius:var(--tt-radius) var(--tt-radius) 0 0;background:var(--tt-panel);border-bottom:0;flex-direction:column;flex:none;gap:0;width:min(220px,100vw - 12px);padding:4px;display:flex;position:absolute;top:calc(100% + 1px);right:6px;overflow:visible}.tt-topbar.tt-menu-open .tt-nav-link{border:0;min-height:34px;padding:6px 8px}.tt-more{position:static}.tt-topbar.tt-menu-open .tt-more-menu{top:calc(100% + 1px + var(--tt-mobile-nav-panel-height));border-radius:0 0 var(--tt-radius) var(--tt-radius);border-top:0;width:min(220px,100vw - 12px);min-width:0;right:6px}.tt-more-button{padding-left:6px;padding-right:6px;font-size:0}.tt-more-button:before{margin-right:0}.tt-net{padding:4px;font-size:0}.tt-net:before{margin:0}.tt-nav-link{padding:4px 7px;font-size:.72rem}.tt-main{padding:6px}.tt-toolbar{padding:4px 6px}.tt-toolbar .tt-field-label{display:none}.tt-mode-select{min-width:0}.tt-stage{width:min(100%, calc((100dvh - var(--tt-nav-h) - 80px) * 1.08))}.tt-kv{grid-template-columns:1fr;gap:0}.tt-kv dd{margin-bottom:6px}}@media (max-width:380px){.tt-topbar{gap:4px;padding:0 6px}.tt-net{padding:4px;font-size:0}.tt-net:before{margin:0}.tt-btn{padding:4px 8px}.tt-cards,.tt-cards.compact{display:flex}}.tt-app.tt-mobile .tt-play-main{grid-template-columns:minmax(0,1fr)}.tt-app.tt-mobile .tt-side{order:2;max-height:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.tt-topbar,.tt-touch,.tt-toast,.tt-toolbar{display:none!important}}.tt-app.tt-immersive,.tt-app.tt-immersive .tt-main{background:var(--tt-bg)}body:has(.tt-app.tt-immersive){background:var(--tt-bg)}.tt-app.tt-immersive{height:100vh;height:100dvh;min-height:0;overflow:hidden}.tt-app.tt-immersive .tt-topbar{display:none}.tt-app.tt-immersive .tt-main{min-height:0;padding:0;display:flex;overflow:hidden}.tt-immersive .tt-play{background:var(--tt-bg);width:100%;max-width:none;min-height:0;color:var(--tt-fg);flex-direction:column;flex:auto;margin:0;display:flex;overflow:hidden}.tt-game-header{min-height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));background:var(--tt-bg);border-bottom:1px solid var(--tt-line);color:var(--tt-fg);flex:none;justify-content:space-between;align-items:center;display:flex}.tt-game-title{color:var(--tt-fg);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600;line-height:1}.tt-game-title-mode{flex:auto;align-items:center;min-width:0;display:flex}.tt-game-title-mode .tt-mode-select{min-width:0;max-width:calc(100vw - 90px);color:inherit;font:inherit;line-height:inherit;appearance:none;cursor:pointer;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.tt-game-title-mode .tt-mode-select option{background:var(--tt-panel);color:var(--tt-fg)}.tt-game-title-caret{pointer-events:none;border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;margin:-4px 0 0 9px;transform:rotate(45deg)}.tt-menu-button{border:1px solid var(--tt-line);border-radius:var(--tt-radius);width:40px;height:32px;color:var(--tt-fg);background:0 0;flex-direction:column;flex:0 0 40px;justify-content:center;align-items:center;gap:4px;padding:4px 8px;display:flex}.tt-menu-button span{background:currentColor;width:20px;height:2px;display:block}.tt-center{flex:auto;justify-content:center;align-items:stretch;width:100%;min-height:0;overflow:hidden}.tt-game{background:var(--tt-bg);flex-direction:column;flex:auto;justify-content:flex-start;align-items:center;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.tt-stage{aspect-ratio:auto;background:var(--tt-bg);border:0;border-radius:0;flex:none;width:auto;min-width:0;min-height:0}.tt-stage:focus-visible{outline:none}.tt-game-controls{flex:none;justify-content:center;width:100%;display:flex}.tt-controls-row{background:var(--tt-bg);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;min-height:0;padding:0;display:flex}.tt-controls-row .tt-btn{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel2);height:32px;min-height:32px;color:var(--tt-muted);padding:0 12px;font-size:14px;font-weight:500;line-height:1}.tt-controls-row .tt-btn:disabled{opacity:.55}.tt-controls-row .tt-btn:hover:not(:disabled){color:var(--tt-fg);border-color:var(--tt-accent)}.tt-controls-row .tt-btn.primary{border-color:var(--tt-accent);background:var(--tt-accent);color:var(--tt-accent-fg)}.tt-jstats{color:var(--tt-muted);flex:none;grid-template-columns:repeat(2,max-content);justify-content:center;column-gap:12px;padding:3px 8px;font-size:15px;line-height:1.25;display:grid}.tt-jstats-label{text-align:right;color:var(--tt-muted);text-transform:uppercase}.tt-jstats-value{color:var(--tt-fg);font-variant-numeric:tabular-nums;text-align:left;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:700}.tt-game-footer{width:100%;color:var(--tt-muted);flex-direction:column;flex:none;align-items:center;gap:1px;padding:0 6px;font-size:12px;line-height:1.25;display:flex}.tt-game-footer>:empty,.tt-game-footer [hidden]{display:none!important}.tt-game-footer .tt-status,.tt-game-footer .tt-hint-box,.tt-game-footer .tt-challenge{color:var(--tt-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;overflow:hidden}.tt-game-footer .tt-hint-box{max-width:min(94vw,620px)}.tt-game-footer .tt-mode-desc{max-width:min(94vw,620px);color:var(--tt-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.tt-app.tt-immersive .tt-touch{grid-template-columns:repeat(5, var(--tt-touch-size));grid-template-rows:repeat(2, var(--tt-touch-size));width:100%;height:auto;min-height:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--tt-bg);pointer-events:none;--tt-touch-size:min(calc((100vw - 36px) / 5), 84px);flex:none;place-content:start center;gap:6px;margin-top:auto;display:grid;position:relative;inset:auto;overflow:visible}.tt-app.tt-immersive .tt-touch:not(.jstris-grid){height:calc(var(--tt-touch-size) * 2 + 18px + env(safe-area-inset-bottom));display:block;position:relative}.tt-app.tt-immersive .tt-touch-btn{width:var(--tt-touch-size);height:var(--tt-touch-size);border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel);color:var(--tt-fg);opacity:var(--touch-opacity,1);place-items:center;padding:0;font-size:1rem;display:grid;position:absolute;transform:translate(-50%,-50%)}.tt-app.tt-immersive .tt-touch.jstris-grid .tt-touch-btn,.tt-app.tt-immersive .tt-touch.jstris-grid .tt-touch-empty{width:var(--tt-touch-size);height:var(--tt-touch-size);transform:scale(var(--touch-scale,1));display:grid;position:relative}.tt-app.tt-immersive .tt-touch.jstris-grid .tt-touch-btn{transform:scale(var(--touch-scale,1))}.tt-app.tt-immersive .tt-touch-empty{visibility:hidden}.tt-app.tt-immersive .tt-touch-btn svg{width:50%;height:50%;display:block}.tt-app.tt-immersive .tt-touch-btn.down{background:var(--tt-line);border-color:var(--tt-accent);opacity:1}.tt-app.tt-immersive .tt-touch-btn[data-action=hardDrop]{color:var(--tt-accent)}.tt-app.tt-immersive .tt-touch.editing{background:var(--tt-panel);outline:1px dashed var(--tt-accent)}.tt-app.tt-immersive .tt-touch.editing .tt-touch-btn{opacity:.95;cursor:grab}.tt-setup-dialog{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel);width:min(92vw,560px);max-width:88vw;max-height:min(90dvh,760px);color:var(--tt-fg);margin:auto;padding:16px;overflow:auto}.tt-setup-dialog::backdrop{background:#000000b3}.tt-setup-form{flex-direction:column;gap:8px;display:flex}.tt-setup-title{color:var(--tt-fg);margin:0;font-size:20px}.tt-setup-dialog .tt-mode-desc,.tt-setup-dialog .tt-hint,.tt-setup-dialog .tt-field-label{color:var(--tt-muted)}.tt-setup-dialog input,.tt-setup-dialog select,.tt-setup-dialog textarea{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-bg);color:var(--tt-fg)}.tt-setup-dialog .tt-btn{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel2);color:var(--tt-muted)}.tt-setup-dialog .tt-btn.primary{border-color:var(--tt-accent);background:var(--tt-accent);color:var(--tt-accent-fg)}.tt-setup-actions{justify-content:flex-end;gap:6px;padding-top:4px;display:flex}.tt-drawer{width:min(300px,88vw);max-width:88vw;height:100vh;border:0;border-right:1px solid var(--tt-line);background:var(--tt-panel);height:100dvh;max-height:100dvh;color:var(--tt-fg);border-radius:0;margin:0;padding:0;position:fixed;inset:0 auto 0 0;overflow:hidden}.tt-drawer::backdrop{background:#000000b3}.tt-drawer-header{background:var(--tt-bg);border-bottom:1px solid var(--tt-line);justify-content:space-between;align-items:center;min-height:48px;padding:6px 10px;display:flex}.tt-drawer-header h2{color:var(--tt-fg);margin:0}.tt-drawer-body{flex-direction:column;gap:10px;height:calc(100% - 48px);padding:10px;display:flex;overflow-y:auto}.tt-drawer-close{min-height:28px;padding:2px 8px}.tt-drawer-nav{grid-template-columns:1fr 1fr;gap:4px;display:grid}.tt-drawer-nav .tt-nav-link{background:0 0;border-radius:0;padding:6px 8px}.tt-drawer .tt-net{align-self:flex-start;padding:4px 8px}.tt-drawer-section{border-top:1px solid var(--tt-line);flex-direction:column;gap:6px;padding-top:8px;display:flex}.tt-drawer-section h2{color:var(--tt-muted);margin:0;font-size:14px}.tt-drawer-section .tt-btn{align-self:flex-start}.tt-drawer-section .tt-kv{grid-template-columns:1fr auto}.tt-drawer-section .tt-solver .tt-row{align-items:end}.tt-game-footer .tt-row{gap:4px}.tt-game-footer .tt-hint{margin:0}.tt-game-footer .tt-status:empty{display:none}.tt-game-footer .tt-challenge,.tt-game-footer .tt-hint-box{font-size:12px}.tt-train .tt-command-undo{display:inline-flex}.tt-train.has-touch .tt-command-undo{display:none}.tt-train .tt-command-undo{border-color:var(--tt-accent);background:var(--tt-accent);color:var(--tt-accent-fg)}@media (max-width:559px){.tt-setup-dialog{padding:12px}}.tt-topbar{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));--tt-nav-h:44px;gap:14px;height:44px}.tt-logo{background:linear-gradient(var(--tt-accent), var(--tt-accent)) 0 0 / 5px 5px no-repeat, linear-gradient(var(--tt-accent), var(--tt-accent)) 7px 0 / 5px 5px no-repeat, linear-gradient(var(--tt-accent), var(--tt-accent)) 0 7px / 5px 5px no-repeat, linear-gradient(var(--tt-muted), var(--tt-muted)) 7px 7px / 5px 5px no-repeat;grid-template-rows:repeat(2,5px);grid-template-columns:repeat(2,5px);gap:2px;width:12px;height:12px;display:inline-grid}.tt-brand{letter-spacing:.16em;gap:8px;font-size:.74rem}.tt-page-title{display:none}.tt-nav-link{letter-spacing:0;text-transform:none;height:44px;padding:0 10px;font-size:.8rem}.tt-more-button{letter-spacing:0;text-transform:none;border-color:#0000;min-height:28px;padding:3px 10px;font-size:.8rem}.tt-more-button:before{content:none}.tt-more-button:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:5px;height:5px;margin:-3px 0 0 7px;transform:rotate(45deg)}.tt-more-button:hover,.tt-more-button[aria-expanded=true]{border-color:var(--tt-line)}.tt-more-menu{min-width:200px;padding:6px}.tt-more-menu .tt-nav-link{border-radius:6px;height:auto;min-height:32px;padding:6px 10px}.tt-more-menu .tt-nav-link:hover{background:var(--tt-panel2)}.tt-net{border:1px solid var(--tt-line);border-radius:999px;padding:3px 9px;font-size:.72rem}.tt-net:before{width:6px;height:6px}.tt-main{padding:28px 20px 40px}.tt-page{max-width:880px}.tt-page>h1,.tt-page-head h1{letter-spacing:-.01em;margin:0 0 6px;font-size:1.6rem;font-weight:600}.tt-page-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tt-lead{margin:0 0 22px;font-size:.88rem}.tt-chip{border:1px solid var(--tt-line);color:var(--tt-muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;padding:2px 8px;font-size:.66rem;display:inline-flex}.tt-page h2,.tt-section-label{color:var(--tt-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:26px 0 8px;font-size:.7rem;font-weight:600;display:flex}.tt-section-meta{letter-spacing:.08em;font-weight:500}.tt-cards{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-panel);overflow:hidden}.tt-card:last-child{border-bottom:0}.tt-card-link{padding:12px 14px}.tt-card-link:hover{background:var(--tt-panel2)}.tt-card-link:hover strong{color:var(--tt-fg)}.tt-card-link strong{font-size:.92rem;font-weight:500}.tt-card p{font-size:.8rem}.tt-card-chevron{font-size:1.1rem}.tt-panel{margin:0 0 14px;padding:14px 16px}.tt-panel>h2:first-child,.tt-panel>summary{margin-top:0}.tt-table thead th{color:var(--tt-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:600}.tt-table td,.tt-table th{border-color:var(--tt-line)}.tt-page .tt-btn{border-radius:6px}.tt-page input[type=checkbox],.tt-setup-dialog input[type=checkbox],.tt-drawer input[type=checkbox]{background:var(--tt-line);appearance:none;cursor:pointer;vertical-align:middle;border:0;border-radius:9px;flex:none;width:30px;height:18px;margin:0;position:relative}.tt-page input[type=checkbox]:before,.tt-setup-dialog input[type=checkbox]:before,.tt-drawer input[type=checkbox]:before{content:"";background:var(--tt-muted);border-radius:50%;width:12px;height:12px;transition:transform .12s;position:absolute;top:3px;left:3px}.tt-page input[type=checkbox]:checked,.tt-setup-dialog input[type=checkbox]:checked,.tt-drawer input[type=checkbox]:checked{background:var(--tt-accent)}.tt-page input[type=checkbox]:checked:before,.tt-setup-dialog input[type=checkbox]:checked:before,.tt-drawer input[type=checkbox]:checked:before{background:#fff;transform:translate(12px)}.tt-setup-dialog{border-radius:12px;width:min(92vw,440px);padding:20px}.tt-setup-title{font-size:1.1rem;font-weight:600}.tt-setup-dialog label:has(>input[type=checkbox]){flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:.85rem;display:flex}.tt-setup-actions{border-top:1px solid var(--tt-line);margin-top:6px;padding-top:14px}.tt-drawer{background:var(--tt-bg);width:min(280px,86vw)}.tt-drawer-header{min-height:48px;padding:6px 12px 6px 16px}.tt-drawer-header h2{color:var(--tt-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:600}.tt-drawer-nav{grid-template-columns:1fr;gap:0;margin:0 -10px}.tt-drawer-nav .tt-nav-link{border-bottom:0;border-left:2px solid #0000;height:auto;min-height:40px;padding:8px 16px;font-size:.9rem}.tt-drawer-nav .tt-nav-link[aria-current=page]{border-left-color:var(--tt-accent);background:var(--tt-panel)}.tt-drawer-section h2{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:600}@media (max-width:640px){.tt-topbar{height:48px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.tt-brand-text{display:none}.tt-page-title{min-width:0;color:var(--tt-fg);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.92rem;font-weight:500;display:block;overflow:hidden}.tt-topbar-end{order:3}.tt-more{order:4}.tt-more-button{justify-content:center;width:36px;height:32px;padding:0;font-size:0}.tt-more-button:after{content:"";background:linear-gradient(currentColor,currentColor) 0 0/18px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 0 5px/18px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 0 10px/18px 1.5px no-repeat;border:0;width:18px;height:12px;margin:0;transform:none}.tt-net{border:0;padding:4px;font-size:0}.tt-net:before{margin:0}.tt-topbar.tt-menu-open .tt-nav .tt-nav-link,.tt-topbar.tt-menu-open .tt-more-menu .tt-nav-link{height:auto;min-height:40px;font-size:.9rem}.tt-main{padding:18px 14px 28px}.tt-page>h1,.tt-page-head h1{font-size:1.45rem}}.tt-table tbody th{font-weight:500}.tt-setup-form *{grid-template-columns:minmax(0,1fr)!important}.tt-game-title{letter-spacing:0;text-transform:none;align-items:center;gap:8px;font-size:.92rem;font-weight:500;display:flex}.tt-drawer-close{border:1px solid var(--tt-line);color:var(--tt-muted);background:0 0}.tt-play{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.tt-play input,.tt-play textarea,.tt-play select{-webkit-user-select:text;user-select:text}.tt-versus{background:var(--tt-bg);flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.tt-versus-match{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.tt-versus-header{gap:12px}.tt-versus-score{border:1px solid var(--tt-line);background:var(--tt-panel);color:var(--tt-fg);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:6px 12px;font-size:.82rem;font-weight:600}.tt-versus-board-row{flex:auto;min-width:0;min-height:0;display:flex}.tt-versus-player-panel,.tt-versus-bot-panel{flex-direction:column;flex:1 1 0;align-items:center;min-width:0;min-height:0;display:flex}.tt-versus-bot-panel[hidden],.tt-versus-mini-board[hidden]{display:none!important}.tt-versus-board-title{width:100%;color:var(--tt-fg);letter-spacing:.06em;text-align:center;flex:none;padding:8px 10px 5px;font-size:.78rem;font-weight:600;display:block}.tt-versus-player-panel>.tt-game{flex:auto;min-height:0}.tt-versus-player-panel>.tt-game .tt-versus-mini-board{display:grid}.tt-versus-stats{width:100%;color:var(--tt-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 28px;justify-content:center;align-items:center;font-size:.72rem;display:flex}.tt-versus-bot-board{flex:auto;width:100%;min-height:0;position:relative}.tt-versus-bot-canvas{margin:0 auto;display:block}.tt-versus-mini-board{z-index:3;width:calc(var(--tt-mini-cell,6px) * 10);color:var(--tt-fg);pointer-events:none;grid-template-columns:1fr;justify-items:center;gap:1px;display:none;position:absolute}.tt-versus-mini-title,.tt-versus-mini-stats{width:100%;color:var(--tt-muted);font-size:max(5px, calc(var(--tt-mini-cell,6px) * .92));text-align:center;text-overflow:clip;white-space:nowrap;font-weight:600;line-height:1.05;display:block;overflow:hidden}.tt-versus-mini-canvas{border:1px solid var(--tt-line);background:#000;display:block}.tt-versus-mini-garbage{top:calc(var(--tt-mini-cell,6px) * 1.2);width:2px;height:calc(var(--tt-mini-cell,6px) * 20);background:var(--tt-line);position:absolute;left:-4px;overflow:hidden}.tt-versus-mini-garbage i{background:#e5243b;position:absolute;bottom:0;left:0;right:0}.tt-versus-mini-board.is-paused,.tt-versus-bot-board.is-paused{opacity:.6}.tt-versus-actions{flex-wrap:nowrap}.tt-versus-actions [hidden]{display:none!important}.tt-versus-result-host{z-index:30;pointer-events:auto;background:#0000007a;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.tt-versus-result-host[hidden]{display:none}.tt-versus-result-host .tt-result{width:min(100%,460px);margin:0}@media (min-width:700px){.tt-versus-match{overflow:visible}.tt-versus-board-row{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-self:center;gap:clamp(12px,2vw,30px);width:min(100%,1320px);height:auto;display:grid}.tt-versus-player-panel>.tt-game{flex:none;height:auto;position:static;overflow:visible}.tt-versus-player-panel>.tt-game .tt-game-controls{display:none}.tt-versus-bot-board{flex:none}.tt-versus-stats{margin-top:14px}.tt-versus-actions{flex:0 0 32px;margin-top:12px}.tt-versus-actions [data-action=undo]{display:none}}@media (max-width:699px){.tt-versus-header{min-height:calc(48px + env(safe-area-inset-top))}.tt-versus-score{padding:5px 9px;font-size:.72rem}.tt-versus-match{overflow:hidden}.tt-versus-board-row,.tt-versus-player-panel{width:100%;height:100%}.tt-versus-board-title,.tt-versus-stats,.tt-versus-bot-panel{display:none!important}.tt-versus-player-panel>.tt-game{height:100%}.tt-versus-mini-board{display:grid}}.tt-analysis{max-width:1440px}.tt-analysis-content{flex-direction:column;gap:10px;display:flex}.tt-analysis-left .tt-panel,.tt-analysis-right .tt-panel{margin-bottom:10px}.tt-analysis-left h2,.tt-analysis-right h2{margin:0 0 10px}.tt-analysis-left select{width:100%}.tt-analysis-settings-link{color:var(--tt-accent);margin-top:8px;font-size:.84rem;display:inline-block}.tt-analysis-summary{margin-top:14px}.tt-analysis-summary h3{margin:10px 0 8px;font-size:.94rem}.tt-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tt-analysis-metric{background:var(--tt-panel2);border-radius:6px;gap:3px;padding:8px;display:grid}.tt-analysis-metric span{color:var(--tt-muted);font-size:.78rem}.tt-analysis-metric strong{font-size:1.08rem}.tt-analysis-weaknesses{gap:6px;margin-top:10px;display:grid}.tt-analysis-weakness{color:var(--tt-fg);background:var(--tt-panel2);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}.tt-analysis-weakness-main{gap:2px;display:grid}.tt-analysis-weakness-trainer{color:var(--tt-muted);font-size:.78rem}.tt-analysis-weakness:hover{color:var(--tt-accent)}.tt-analysis-stage{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:#0c1016;width:100%;height:min(100vw,560px);min-height:300px;position:relative;overflow:hidden}.tt-analysis-stage canvas{display:block}.tt-analysis-legend{color:var(--tt-muted);justify-content:center;gap:18px;margin:8px 0;font-size:.8rem;display:flex}.tt-analysis-legend span{align-items:center;gap:6px;display:inline-flex}.tt-analysis-legend i{border:2px solid #fff;width:18px;height:12px;display:inline-block}.tt-analysis-legend .tt-analysis-legend-bot{border-style:dashed;border-color:#4c8dff}.tt-analysis-controls{justify-content:center}.tt-analysis-timeline{background:var(--tt-panel);border-radius:6px;padding:7px 2px 10px;overflow:hidden}.tt-analysis-ticks{align-items:center;gap:2px;width:100%;min-width:0;padding:0 2px;display:flex}.tt-analysis-tick{cursor:pointer;background:#737984;border:1px solid #747b86;border-radius:2px;flex:1 1 0;width:auto;min-width:2px;height:18px;padding:0}.tt-analysis-tick.pending{background:#555b65}.tt-analysis-tick.best{background:#35a56b;border-color:#35a56b}.tt-analysis-tick.good{background:#89c98e;border-color:#89c98e}.tt-analysis-tick.inaccuracy{background:#e4b44f;border-color:#e4b44f}.tt-analysis-tick.mistake{background:#ed873c;border-color:#ed873c}.tt-analysis-tick.blunder{background:#e05252;border-color:#e05252}.tt-analysis-tick.unrated{background:#737984}.tt-analysis-tick.is-current{border:2px solid #fff;height:27px}.tt-analysis-move-card{gap:8px;display:grid}.tt-analysis-move-card h2{margin:0}.tt-analysis-move-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.tt-analysis-move-card p{margin:0}.tt-analysis-move-actions{flex-wrap:wrap;gap:8px}.tt-analysis-eval{color:var(--tt-muted);font-variant-numeric:tabular-nums}.tt-analysis-stepper{background:var(--tt-panel);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px;display:flex}.tt-analysis-stepper-copy{text-align:center;flex:auto;gap:3px;min-width:0;font-size:.82rem;display:grid}.tt-analysis-stepper-line,.tt-analysis-stepper-detail,.tt-analysis-stepper-end,.tt-analysis-stepper-thinking{overflow-wrap:anywhere}.tt-analysis-stepper-detail,.tt-analysis-stepper-thinking{color:var(--tt-muted)}.tt-analysis-stepper-end{color:var(--tt-accent);font-weight:600}.tt-analysis-stepper button{flex:none}.tt-grade{color:#111;text-transform:capitalize;background:#aab0b9;border-radius:999px;align-items:center;width:max-content;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.tt-grade.best{color:#071a10;background:#35a56b}.tt-grade.good{color:#102015;background:#a4d7a7}.tt-grade.inaccuracy{color:#241a06;background:#f0c56a}.tt-grade.mistake{color:#271303;background:#f09a50}.tt-grade.blunder{color:#260707;background:#ef6868}.tt-grade.unrated,.tt-grade.pending{color:#fff;background:#737984}.tt-analysis-move-list{min-width:0}.tt-analysis-table-wrap{max-height:420px}.tt-analysis-table tr{cursor:pointer}.tt-analysis-table tr.is-current{outline:2px solid var(--tt-accent);outline-offset:-2px}.tt-analysis-table tr.best td:nth-child(3){color:#51c381}.tt-analysis-table tr.good td:nth-child(3){color:#a4d7a7}.tt-analysis-table tr.inaccuracy td:nth-child(3){color:#f0c56a}.tt-analysis-table tr.mistake td:nth-child(3){color:#f09a50}.tt-analysis-table tr.blunder td:nth-child(3){color:#ef6868}.tt-analysis-missing{background:var(--tt-panel);border-radius:var(--tt-radius);padding:12px}@media (max-width:1099px){.tt-analysis-content{flex-direction:column;display:flex}.tt-analysis-left,.tt-analysis-right{display:contents}.tt-analysis-left>.tt-analysis-picker{order:0}.tt-analysis-board-panel{order:1}.tt-analysis-right>.tt-panel:first-child{order:2}.tt-analysis-left>.tt-analysis-summary-panel{order:3}.tt-analysis-right>.tt-analysis-move-list{order:4}}@media (max-width:699px){.tt-analysis>h1{display:none}.tt-analysis-stage{aspect-ratio:1.075;height:auto;min-height:0}.tt-analysis-metric.apm{display:none}.tt-analysis-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tt-analysis-metric{padding:6px 4px}.tt-analysis-metric span{font-size:.68rem}.tt-analysis-metric strong{font-size:.95rem}.tt-analysis-stepper{gap:5px;padding:6px}.tt-analysis-stepper button{min-width:34px;padding:6px}.tt-analysis-stepper-copy{font-size:.74rem}}@media (min-width:1100px){.tt-analysis-content{grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(270px,340px);align-items:start;gap:14px;display:grid}.tt-analysis-stage{height:min(65vh,560px);min-height:420px}.tt-analysis-board-panel{min-width:0}}.tt-versus-setup-dialog{z-index:50;border-radius:var(--tt-radius);width:min(560px,94vw);max-width:94vw;max-height:min(90dvh,760px);padding:0;overflow:hidden}.tt-versus-setup-dialog[open]{display:flex}.tt-versus-setup-dialog::backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#000000b8}.tt-versus-setup-form{background:var(--tt-panel);flex-direction:column;flex:auto;min-height:0;display:flex}.tt-versus-setup-header{border-bottom:1px solid var(--tt-line);flex:none;align-items:center;gap:10px;padding:16px 20px;display:flex}.tt-versus-setup-header .tt-setup-title{flex:auto}.tt-versus-bot-icon{background:color-mix(in srgb, var(--tt-accent) 18%, transparent);width:28px;height:28px;color:var(--tt-accent);border-radius:6px;place-items:center;font-size:18px;display:grid}.tt-versus-close{width:32px;height:32px;color:var(--tt-muted);background:0 0;border:0;padding:0;font-size:22px}.tt-versus-setup-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.tt-versus-setup-section{border-bottom:1px solid var(--tt-line);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.tt-versus-setup-section h3{color:var(--tt-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:0;font-size:.72rem;font-weight:600;display:flex}.tt-versus-setup-section h3 small{font-size:.68rem;font-weight:500}.tt-versus-style-list{flex-direction:column;gap:8px;display:flex}.tt-versus-style-option{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-bg);cursor:pointer;align-items:flex-start;gap:12px;min-height:60px;padding:10px 12px;display:flex}.tt-versus-style-option.active{border-color:var(--tt-accent)}.tt-versus-style-option input{box-sizing:border-box;aspect-ratio:1;appearance:none;border:1px solid var(--tt-muted);background:0 0;border-radius:50%;flex:0 0 16px;align-self:flex-start;width:16px;min-width:16px;height:16px;min-height:16px;margin:3px 0 0}.tt-versus-style-option input:checked{border:2px solid var(--tt-accent);background:radial-gradient(circle, var(--tt-accent) 0 4px, transparent 4.5px)}.tt-versus-style-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.tt-versus-style-copy strong{color:var(--tt-fg);font-size:.94rem;font-weight:500}.tt-versus-style-copy small{color:var(--tt-muted);font-size:.82rem;line-height:1.3}.tt-versus-section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tt-versus-level-value{color:var(--tt-fg);font-variant-numeric:tabular-nums;font-size:1.1rem}.tt-versus-level-input{width:100%;height:5px;accent-color:var(--tt-accent);margin:4px 0 0}.tt-versus-level-ticks{color:var(--tt-muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:flex}.tt-versus-level-ticks .active{color:var(--tt-accent);font-weight:700}.tt-versus-level-hint{color:var(--tt-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.tt-versus-toggle-row,.tt-versus-first-to{justify-content:space-between;align-items:center;gap:12px;display:flex}.tt-versus-toggle-row>span{flex-direction:column;gap:3px;display:flex}.tt-versus-toggle-row strong,.tt-versus-first-to>span{color:var(--tt-fg);font-size:.9rem;font-weight:500}.tt-versus-toggle-row small{color:var(--tt-muted);font-size:.76rem}.tt-versus-switch{border:1px solid var(--tt-line);background:var(--tt-panel2);border-radius:999px;flex:0 0 44px;width:44px;height:24px;padding:2px;position:relative}.tt-versus-switch-thumb{background:var(--tt-fg);border-radius:50%;width:18px;height:18px;transition:transform .12s;display:block}.tt-versus-switch.active{border-color:var(--tt-accent);background:var(--tt-accent)}.tt-versus-switch.active .tt-versus-switch-thumb{background:var(--tt-accent-fg);transform:translate(20px)}.tt-versus-segmented{border:1px solid var(--tt-line);border-radius:var(--tt-radius);background:var(--tt-bg);gap:2px;padding:2px;display:flex}.tt-versus-segment{min-width:36px;height:28px;color:var(--tt-muted);background:0 0;border:0;border-radius:3px;font-size:.8rem}.tt-versus-segment.active{background:var(--tt-accent);color:var(--tt-accent-fg);font-weight:700}.tt-versus-setup-actions{border-top:1px solid var(--tt-line);background:var(--tt-panel);flex:none;gap:10px;padding:12px 20px;display:flex}.tt-versus-setup-actions .tt-btn{min-height:44px;padding:0 18px}.tt-versus-setup-actions [data-action=start-match]{flex:auto}.tt-versus-home-indicator{display:none}@media (max-width:640px){.tt-versus-setup-dialog{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:min(90dvh,760px);margin:0;position:fixed;inset:auto 0 0}.tt-versus-setup-header{padding:12px 18px}.tt-versus-setup-section{padding:14px 18px}.tt-versus-setup-actions{padding:12px 18px calc(18px + env(safe-area-inset-bottom))}.tt-versus-home-indicator{background:color-mix(in srgb, var(--tt-fg) 35%, transparent);border-radius:999px;flex:0 0 4px;align-self:center;width:128px;height:4px;margin:0 0 6px;display:block}}
