:root{color-scheme:light;--bg-deep: #faf9f6;--bg-primary: #ffffff;--bg-secondary: #fbf9f5;--bg-tertiary: #f5f1ea;--bg-hover: #f6f0e5;--bg-active: #eee4d2;--amber: #93641a;--amber-bright: #7a5210;--amber-dim: #d8b67a;--amber-glow: rgba(176, 128, 40, .09);--amber-glow-strong: rgba(214, 170, 90, .26);--caramel-top: #c89448;--caramel-bottom: #a06f24;--text-primary: #35261a;--text-secondary: #5f4d3b;--text-muted: #76624e;--border: #ece6da;--border-light: #e0d6c3;--board-light: #f2dfbd;--board-dark: #c49b69;--board-highlight: rgba(236, 190, 90, .5);--eval-white: #fbf8f1;--eval-black: #2f2820;--success: #4f8a47;--success-bg: #eef5e4;--success-border: #d3e5c3;--brilliant: #26a38a;--great: #4f7fa8;--best: #6f9f2c;--excellent: #5f9530;--good: #6e6e6e;--inaccuracy: #b98a0c;--mistake: #d0791f;--blunder: #cf3f3b;--blunder-text: #b92f2b;--font-display: "Fraunces Variable", Georgia, serif;--font-body: "Outfit Variable", "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", "Fira Code", monospace;--font-script: "Caveat", "Segoe Print", cursive;--ink: 60 45 20;--shadow-color: 110 78 30;--surface-raised: #ffffff;--on-amber: #fffaf0;--chart-grid: #e6dcc8;--chart-muted: #76624e;--chart-white-bar: #d9d2c2;--chart-black-bar: #3b3832;--tutor-tag-text: #1f6b93;--ampel-bg: #f3eee4;--ampel-inset: rgba(90, 65, 25, .14);--radius-sm: 6px;--radius: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-card: 0 1px 2px rgb(var(--shadow-color) / .06), 0 14px 34px -22px rgb(var(--shadow-color) / .45);--transition: .2s ease;--transition-slow: .5s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-deep);background-image:radial-gradient(rgba(212,168,67,.025) 1px,transparent 1px);background-size:20px 20px;min-height:100vh;line-height:1.5;font-variant-numeric:tabular-nums;text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}a{color:var(--amber);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--amber-bright)}:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header__logo{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.app-header__logo-icon{color:var(--amber);font-size:1.3rem}.app-header__brand{display:flex;align-items:center;gap:1rem;min-width:0}.app-header__nav{display:flex;gap:.25rem}.app-header__link{padding:.4rem .9rem;border-radius:var(--radius);font-size:.87rem;font-weight:500;color:var(--text-secondary);transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.app-header__link:hover,.app-header__link--active{color:var(--text-primary);background:var(--bg-hover)}.app-header__link--active{color:var(--amber)}.app-content{max-width:1440px;margin:0 auto;padding:1.5rem}.panel{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius)}.panel--elevated{background:var(--bg-secondary);box-shadow:0 4px 24px rgb(var(--shadow-color) / .3)}.game-viewer{display:flex;flex-direction:column;gap:.5rem}.game-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 1rem;flex-wrap:wrap}.game-info__players{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.game-efficiency{padding:.75rem 1rem;border-top:1px solid var(--border)}.game-efficiency__retry{min-height:40px}.game-efficiency__metrics{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;font-size:.82rem}.game-efficiency dt{color:var(--text-secondary)}.game-efficiency dd{margin:.25rem 0 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.game-efficiency p,.new-game-dialog__setting-help{margin:.5rem 0 0;font-size:.78rem;color:var(--text-secondary);overflow-wrap:anywhere}.game-info__player{display:flex;align-items:center;gap:.35rem;font-weight:500}.game-info__player-icon{font-size:1.1rem}.game-info__player-icon--white{color:#f4efe6;text-shadow:0 0 1px #000,0 1px 1px rgba(0,0,0,.6)}.game-info__player-icon--black{color:#3a3a40;text-shadow:0 0 1px rgba(255,255,255,.6)}.game-info__player-name{font-family:var(--font-mono);font-size:.82rem;white-space:nowrap}.game-info__vs{color:var(--text-muted);font-style:italic;font-family:var(--font-display);font-size:1rem}.game-info__meta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--text-secondary)}.game-info__usage{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;max-width:100%;padding:.4rem .5rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer}.game-info__usage:hover,.game-info__usage[aria-expanded=true]{background:var(--bg-hover);color:var(--text-primary)}.game-info__usage-chevron{flex-shrink:0}.game-info__usage[aria-expanded=true] .game-info__usage-chevron{transform:rotate(180deg)}.game-info__cost{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.game-info__meta-badge{font-size:.72rem;color:var(--text-muted);background:var(--bg-elevated);padding:.1rem .4rem;border-radius:4px}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge--live{background:#d4a84326;color:var(--amber);border:1px solid rgba(212,168,67,.3)}.status-badge--stopped{background:#ca343126;color:var(--mistake);border:1px solid rgba(202,52,49,.3)}.status-badge--completed{background:#64646426;color:var(--text-secondary);border:1px solid rgba(100,100,100,.2)}.status-badge--chaos{background:#e6b42233;color:var(--inaccuracy);border:1px solid rgba(230,180,34,.35);font-weight:700;letter-spacing:.08em}.status-badge__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-badge__dot--live{background:var(--amber);animation:pulse-glow 2s ease-in-out infinite}.status-badge__dot--stopped{background:var(--mistake)}.status-badge__dot--completed{background:var(--text-muted)}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 #d4a84380}50%{opacity:.6;box-shadow:0 0 0 5px #d4a84300}}.eval-bar{width:26px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--eval-black);flex-shrink:0;border:1px solid var(--border)}.eval-bar__fill{position:absolute;bottom:0;left:0;right:0;background:var(--eval-white);transition:height var(--transition-slow);will-change:height}.eval-bar__label{position:absolute;width:100%;text-align:center;font-family:var(--font-mono);font-size:.6rem;font-weight:700;z-index:2;line-height:1;pointer-events:none}.eval-bar__label--top{top:4px;color:#ccc}.eval-bar__label--bottom{bottom:4px;color:#333}.eval-bar__label--even{top:50%;transform:translateY(-50%);color:var(--text-muted);opacity:.7}.eval-bar__info{position:absolute;top:2px;left:50%;transform:translate(-50%);z-index:5}.training-help-toggle[aria-pressed=true]{border-color:var(--amber-dim);color:var(--amber-bright)}.info-dot{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:.3rem}.info-dot__trigger{width:14px;height:14px;padding:0;border-radius:50%;border:1px solid var(--amber-dim);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.62rem;line-height:1;cursor:help;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease}.info-dot__trigger:hover,.info-dot__trigger:focus-visible{color:var(--amber);border-color:var(--amber);outline:none}.info-dot__tip{position:fixed;inset:auto;margin:0;z-index:1000;width:max-content;max-width:260px;padding:.5rem .6rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary, #c8c4bb);font-family:var(--font-body);font-size:.72rem;font-weight:400;font-style:normal;text-transform:none;letter-spacing:normal;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 6px 20px rgb(var(--shadow-color) / .45);opacity:0;pointer-events:none;transition:opacity .12s ease}.info-dot__tip--open{opacity:1}@media(max-width:640px){.info-dot__tip{max-width:200px}}.legend{border:1px solid var(--border-light);border-radius:6px;background:rgb(var(--ink) / .03);padding:.55rem .7rem}.legend__title{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem}.legend__list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.legend__row{display:grid;grid-template-columns:1.6rem auto 1fr;align-items:baseline;gap:.5rem;font-size:.72rem}.legend__symbol{font-family:var(--font-mono);text-align:center;color:var(--text-secondary, #c8c4bb);display:inline-flex;align-items:center;justify-content:center}.legend__name{color:var(--text-secondary, #c8c4bb);font-weight:600;white-space:nowrap}.legend__meaning{color:var(--text-muted);line-height:1.35}@media(max-width:640px){.legend__row{grid-template-columns:1.4rem 1fr}.legend__meaning{grid-column:2 / -1}}.move-list{flex:1 1 0;display:flex;flex-direction:column;font-family:var(--font-mono);font-size:.82rem;min-height:0}.move-list.panel{overflow:visible}.move-list__body{flex:1 1 auto;min-height:0;overflow-y:auto}.move-list__body::-webkit-scrollbar{width:5px}.move-list__body::-webkit-scrollbar-track{background:transparent}.move-list__body::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.move-list__header{display:grid;grid-template-columns:2.2rem 1fr 1fr;padding:.35rem .5rem;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);position:relative;align-items:center;background:var(--bg-primary);z-index:1}.move-list__footer{flex:none;padding:.3rem .4rem;border-top:1px solid var(--border)}.move-list__footer .game-controls{flex-wrap:wrap;justify-content:flex-start;gap:.2rem .6rem;padding:0}.move-list__footer .game-controls__group--tools{margin-left:auto}.move-row{display:grid;grid-template-columns:2.2rem 1fr 1fr;border-bottom:1px solid var(--border)}.move-row__number{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.72rem;padding:.3rem 0}.move-cell{padding:.35rem .5rem;cursor:pointer;transition:background var(--transition);display:flex;align-items:center;gap:.35rem;border-left:2px solid transparent;min-height:32px}.move-cell:hover{background:var(--bg-hover)}.move-cell--selected{background:var(--bg-active);border-left-color:var(--amber)}.move-cell--selected:hover{background:var(--bg-active)}.move-cell__san{font-weight:600}.move-cell__time{font-size:.65rem;color:var(--text-muted);margin-left:auto}.classification-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:.55rem;font-weight:800;flex-shrink:0;line-height:1}.classification-badge--best{background:var(--best);color:#0e1a06}.classification-badge--excellent{background:var(--excellent);color:#0c1606}.classification-badge--good{background:var(--good);color:#f2f2f2}.classification-badge--inaccuracy{background:var(--inaccuracy);color:#1a1400}.classification-badge--mistake{background:var(--mistake);color:#1c0e00}.classification-badge--blunder{background:var(--blunder);color:#fff}.game-controls{display:flex;align-items:center;gap:.25rem;padding:.2rem 0;justify-content:center}.game-controls__btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition);border:1px solid transparent}.game-controls__btn:hover{background:var(--bg-hover);color:var(--text-primary)}.game-controls__btn:active{background:var(--bg-active);transform:scale(.96)}.game-controls__btn--disabled{opacity:.3;pointer-events:none}.game-controls__live-btn{display:flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;margin-left:.75rem;background:#d4a84326;color:var(--amber);border:1px solid rgba(212,168,67,.3);transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.game-controls__live-btn:hover{background:#d4a84340;border-color:var(--amber-dim)}.game-controls__mute-btn{font-size:1rem!important;width:auto!important;padding:0 .35rem}.narration-panel{padding:.6rem .8rem;flex-shrink:0}.narration-panel__label{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--text-muted);margin-bottom:.4rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.narration-panel__text{font-family:var(--font-body);font-style:italic;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.narration-panel__meta{display:flex;gap:1rem;margin-top:.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.game-over-banner__series{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.4rem;margin-top:.65rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.game-over-banner__series-label{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:var(--text-muted)}.game-over-banner__series-name{color:var(--text-secondary)}.game-over-banner__series-score{font-weight:700;color:var(--amber);font-variant-numeric:tabular-nums}.game-over-banner__series-dash{color:var(--text-muted)}.game-over-banner__series-draws{color:var(--text-muted);font-size:.7rem}.status-message{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;color:var(--text-muted);font-style:italic;flex-shrink:0}.status-message__spinner{width:14px;height:14px;border:2px solid var(--border-light);border-top-color:var(--amber);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-list-page{display:flex;flex-direction:column;gap:1.25rem}.game-list-page__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.game-list-page__title{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--text-primary)}.game-list-page__filters{display:flex;gap:.5rem}.filter-btn{padding:.35rem .8rem;border-radius:999px;font-size:.8rem;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.filter-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.filter-btn--active{border-color:var(--amber-dim);color:var(--amber);background:var(--amber-glow)}.game-list{display:flex;flex-direction:column;gap:.5rem}.game-list-page__pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0}.game-list-page__count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.game-list-page__search-bar{display:flex;gap:.5rem;align-items:center;padding:0 .25rem;margin-bottom:.75rem;flex-wrap:wrap}.game-list-page__search-input{flex:1;min-width:180px;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;outline:none;transition:border-color var(--transition)}.game-list-page__search-input::placeholder{color:var(--text-muted)}.game-list-page__search-input:focus{border-color:var(--amber-dim)}.game-list-page__filter-select{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;cursor:pointer;outline:none}.game-list-page__filter-select:focus{border-color:var(--amber-dim)}.btn--sm{padding:.35rem .65rem;font-size:.75rem}.keyboard-shortcuts-modal{width:340px;max-width:90vw;margin:15vh auto;padding:1.25rem}.keyboard-shortcuts-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.keyboard-shortcuts-modal__title{font-family:var(--font-display);font-size:1.1rem;color:var(--amber);margin:0}.keyboard-shortcuts-modal__close{background:none;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;padding:0 .25rem;line-height:1}.keyboard-shortcuts-modal__close:hover{color:var(--text-primary)}.keyboard-shortcuts-modal__list{display:flex;flex-direction:column;gap:.5rem}.keyboard-shortcuts-modal__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.keyboard-shortcuts-modal__keys{display:flex;gap:.25rem}.keyboard-shortcuts-modal__kbd{display:inline-block;padding:.2rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary);min-width:1.5rem;text-align:center}.keyboard-shortcuts-modal__label{font-size:.82rem;color:var(--text-secondary)}.game-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.85rem 1rem;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition);cursor:pointer;text-decoration:none;color:inherit}.game-card:hover{background:var(--bg-hover);border-color:var(--border-light)}.game-card__players{display:flex;flex-direction:column;gap:.15rem}.game-card__player{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.82rem}.game-card__piece{font-size:.9rem}.game-card__piece--white{color:#f4efe6;text-shadow:0 0 1px #000,0 1px 1px rgba(0,0,0,.6)}.game-card__piece--black{color:#3a3a40;text-shadow:0 0 1px rgba(255,255,255,.6)}.game-card__result{font-size:.75rem;color:var(--text-muted);margin-left:.4rem}.game-card__result--winner{color:var(--best);font-weight:600}.game-card__info{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.75rem;color:var(--text-muted)}.game-card__opening{font-family:var(--font-display);font-style:italic;color:var(--text-secondary);font-size:.85rem}.game-card__time{font-family:var(--font-mono);font-size:.7rem}.game-card__eval{font-family:var(--font-mono);font-size:.75rem;font-weight:600;padding:.1rem .35rem;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border)}.game-card__eval--white{color:var(--best)}.game-card__eval--black{color:var(--blunder-text)}.game-card__eval--even{color:var(--text-muted)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:200;animation:fade-in .15s ease;overflow-y:auto;padding:2rem 0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.new-game-dialog{width:440px;max-width:95vw;padding:1.5rem;margin:auto 0;animation:dialog-in .2s ease-out}@keyframes dialog-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.new-game-dialog__title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin-bottom:1.25rem}.new-game-dialog__field{margin-bottom:1rem}.new-game-dialog__label{display:flex;align-items:baseline;font-size:.78rem;font-weight:500;color:var(--text-secondary);margin-bottom:.35rem}.new-game-dialog__input{width:100%;padding:.55rem .75rem;background:var(--bg-deep);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:.82rem;outline:none;transition:border-color var(--transition)}.new-game-dialog__input:focus{border-color:var(--amber-dim)}.new-game-dialog__input::placeholder{color:var(--text-muted)}.new-game-dialog__advanced-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;padding:.3rem 0;margin-top:.25rem;font-family:var(--font-body);transition:color .15s}.new-game-dialog__advanced-toggle:hover{color:var(--amber)}.new-game-dialog__advanced-chevron{font-size:.7rem;transition:transform .2s;display:inline-block}.new-game-dialog__advanced-chevron--open{transform:rotate(180deg)}.new-game-dialog__advanced{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.25rem;display:flex;flex-direction:column;gap:.75rem}.new-game-dialog__label-hint{margin-left:auto;font-size:.75rem;color:var(--amber);font-family:var(--font-mono)}.new-game-dialog__range-row{display:flex;align-items:center;gap:.5rem}.new-game-dialog__range-label{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono);min-width:1ch}.new-game-dialog__range{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--border);border-radius:3px;outline:none;cursor:pointer;margin:0}.new-game-dialog__range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--amber);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 0 6px #d4a84366}.new-game-dialog__range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--amber);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 0 6px #d4a84366}.new-game-dialog__select{cursor:pointer}.new-game-dialog__reset-btn{background:none;border:none;color:var(--text-muted);font-size:.7rem;cursor:pointer;padding:0;font-family:var(--font-body);text-align:left}.new-game-dialog__reset-btn:hover{color:var(--amber)}.model-selector{position:relative}.model-selector__input{padding-right:2rem}.model-selector__clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1rem;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition);line-height:1}.model-selector__clear:hover{color:var(--text-primary);background:var(--bg-hover)}.model-selector__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 8px 32px rgb(var(--shadow-color) / .5);z-index:300;list-style:none;padding:.25rem 0;margin:0;animation:dropdown-in .12s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-selector__dropdown::-webkit-scrollbar{width:6px}.model-selector__dropdown::-webkit-scrollbar-track{background:transparent}.model-selector__dropdown::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.model-selector__option{padding:.5rem .75rem;cursor:pointer;transition:background var(--transition);border-bottom:1px solid rgb(var(--ink) / .03)}.model-selector__option:last-child{border-bottom:none}.model-selector__option--highlighted{background:var(--bg-hover)}.model-selector__option--selected{border-left:2px solid var(--amber);padding-left:calc(.75rem - 2px)}.model-selector__option-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.model-selector__option-name{font-size:.82rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-selector__option-ctx{font-size:.7rem;font-family:var(--font-mono);color:var(--amber-dim);white-space:nowrap;flex-shrink:0}.model-selector__option-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-top:.15rem}.model-selector__option-id{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-selector__option-price{font-size:.68rem;font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.model-selector__empty{padding:1rem .75rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.new-game-dialog__settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.new-game-dialog__model-settings{display:flex;flex-direction:column;gap:.6rem;padding:.6rem;border:1px solid var(--border);border-radius:var(--radius);background:rgb(var(--ink) / .02)}.new-game-dialog__model-settings-header{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-primary)}.new-game-dialog__model-settings-icon{font-size:1rem}.player-type-toggle{display:flex;gap:0;margin-bottom:.4rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.player-type-toggle__btn{flex:1;padding:.35rem .8rem;font-size:.78rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.player-type-toggle__btn:hover:not(:disabled){background:var(--bg-hover)}.player-type-toggle__btn:active:not(:disabled){transform:scale(.96)}.player-type-toggle__btn--active{background:var(--amber);color:var(--on-amber)}.player-type-toggle__btn--active:hover{background:var(--amber-bright)}.player-type-toggle__btn:disabled{opacity:.3;cursor:not-allowed}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #d4a84333}50%{box-shadow:0 0 16px #d4a84366}}.move-timer{border-radius:var(--radius);overflow:hidden;border:1px solid var(--amber-dim);background:var(--bg-tertiary)}.move-timer__bar{height:4px;background:var(--bg-secondary)}.move-timer__bar-fill{height:100%;background:var(--amber-bright);transition:width .15s linear;border-radius:0 2px 2px 0}.move-timer__text{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem}.move-timer__time{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--amber-bright);min-width:3ch;text-align:center}.move-timer__label{font-size:.78rem;font-weight:600;color:var(--amber-bright);opacity:.85}.move-timer--warning{border-color:var(--mistake);animation:pulse-glow-warning 1s ease-in-out infinite}.move-timer--warning .move-timer__bar-fill{background:var(--mistake)}.move-timer--warning .move-timer__time,.move-timer--warning .move-timer__label{color:var(--mistake)}.move-timer--critical{border-color:var(--blunder);animation:pulse-glow-critical .5s ease-in-out infinite}.move-timer--critical .move-timer__bar-fill{background:var(--blunder)}.move-timer--critical .move-timer__time,.move-timer--critical .move-timer__label{color:var(--blunder)}@keyframes pulse-glow-warning{0%,to{box-shadow:0 0 8px #e0883233}50%{box-shadow:0 0 16px #e0883280}}@keyframes pulse-glow-critical{0%,to{box-shadow:0 0 8px #ca34314d}50%{box-shadow:0 0 20px #ca343199}}.resign-btn{margin-top:.5rem;width:100%;color:var(--blunder);border:1px solid rgba(202,52,49,.3);font-size:.78rem}.resign-btn:hover{background:#ca343126;border-color:var(--blunder)}.new-game-dialog__checkbox-row{display:flex;align-items:center;gap:.4rem}.new-game-dialog__checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-secondary);cursor:pointer;margin-top:.25rem;margin-bottom:.25rem}.new-game-dialog__checkbox{accent-color:var(--amber);width:16px;height:16px;cursor:pointer}.new-game-dialog__chaos-warning{background:#e6b4221a;border:1px solid rgba(230,180,34,.3);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.78rem;color:var(--inaccuracy);margin-bottom:.5rem}.new-game-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.new-game-dialog__disabled-hint{margin-right:auto;align-self:center;font-size:.74rem;color:var(--text-muted)}.btn{padding:.5rem 1.1rem;border-radius:var(--radius);font-weight:500;font-size:.85rem;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.btn:active:not(:disabled){transform:scale(.96)}.btn--primary{background:var(--amber);color:var(--on-amber)}.btn--primary:hover{background:var(--amber-bright)}.btn--primary:disabled{opacity:.4;pointer-events:none}.btn--ghost{color:var(--text-secondary);border:1px solid var(--border)}.btn--ghost:hover{color:var(--text-primary);border-color:var(--border-light)}.leaderboard-page__title{font-family:var(--font-display);font-size:2rem;font-weight:600;margin-bottom:1.25rem}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.85rem}.leaderboard-table th{text-align:left;padding:.6rem .8rem;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-light)}.leaderboard-table th:first-child{width:3rem;text-align:center}.leaderboard-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border);vertical-align:middle}.leaderboard-table tr:hover td{background:var(--bg-hover)}.leaderboard__rank{text-align:center;font-weight:700;color:var(--text-muted)}.leaderboard__rank--1{color:var(--amber-bright);font-size:1.1rem}.leaderboard__rank--2{color:#b0b0b0}.leaderboard__rank--3{color:#cd7f32}.leaderboard__model-name{font-family:var(--font-mono);font-size:.82rem;font-weight:500}.leaderboard__elo{font-family:var(--font-mono);font-weight:700;color:var(--amber)}.leaderboard__elo-bar{display:inline-block;height:4px;background:var(--amber);border-radius:2px;margin-left:.5rem;vertical-align:middle;opacity:.5}.leaderboard__spark{display:inline-block;margin-left:.5rem;vertical-align:middle;line-height:0}.leaderboard__badges{margin-left:.4rem;font-size:.8rem;letter-spacing:.1em}.leaderboard__badge{cursor:help}.model-detail-page__badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.model-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:999px;cursor:help}.leaderboard__record{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.leaderboard__winrate{font-family:var(--font-mono);font-weight:600}.leaderboard-mobile-caption{display:none;padding:.5rem .75rem;font-size:.72rem;color:var(--text-muted);border-bottom:1px solid var(--border-light, #272b3d)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.5rem;gap:1rem;color:var(--text-muted)}.empty-state__icon{font-size:2.5rem;opacity:.5}.empty-state__text{font-size:.9rem;color:var(--text-muted);max-width:42ch}.spinner-page{display:flex;align-items:center;justify-content:center;min-height:300px}.spinner-lg{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--amber);border-radius:50%;animation:spin .8s linear infinite}.async-error{display:flex;flex-direction:column;align-items:center;gap:.75rem}.async-error__retry{margin-top:.25rem}.async-skeleton{min-height:120px;border-radius:8px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--border) 37%,var(--bg-elevated) 63%);background-size:400% 100%;animation:async-shimmer 1.4s ease infinite}@keyframes async-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.async-skeleton{animation:none}}.connecting-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:400px;color:var(--text-secondary)}.connecting-overlay__text{font-size:.9rem}.live-connection-banner{display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;margin-bottom:.75rem;border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:6px;background:var(--bg-elevated);font-size:.82rem;color:var(--text-secondary)}.live-connection-banner__dot{width:8px;height:8px;border-radius:50%;background:var(--amber);animation:pulse-glow 2s ease-in-out infinite}.live-connection-banner__text{flex:1}.live-connection-banner__btn{white-space:nowrap}.win-prob-graph{border-radius:var(--radius);padding:.25rem;cursor:crosshair;flex-shrink:0}.win-prob-graph__title{display:flex;align-items:center;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}.win-prob-graph .recharts-cartesian-axis-tick-value{fill:var(--text-muted);font-family:var(--font-mono);font-size:.6rem}.analysis-panel{padding:1rem}.analysis-panel__title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.analysis-panel__heading{display:inline;font:inherit;color:inherit;margin:0}.analysis-panel__subtitle{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.analysis-panel__accuracy-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.accuracy-card{text-align:center;padding:.75rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius)}.accuracy-card__value{font-family:var(--font-mono);font-size:1.8rem;font-weight:700;line-height:1.2}.accuracy-card__value--high{color:var(--best)}.accuracy-card__value--mid{color:var(--inaccuracy)}.accuracy-card__value--low{color:var(--blunder)}.accuracy-card__label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-family:var(--font-mono)}.accuracy-card__acpl{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);margin-top:.15rem}.analysis-panel__stats{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:1rem;padding:0 .85rem;background:var(--bg-tertiary);border-radius:var(--radius);font-family:var(--font-mono)}.analysis-panel__stat-row{display:contents}.analysis-panel__stat-val,.analysis-panel__stat-label{padding:.5rem .75rem;text-align:center}.analysis-panel__stat-row:not(:first-child)>.analysis-panel__stat-val,.analysis-panel__stat-row:not(:first-child)>.analysis-panel__stat-label{border-top:1px solid var(--border)}.analysis-panel__stat-val{color:var(--text-primary);font-weight:600;font-size:.82rem}.analysis-panel__stat-label{color:var(--text-muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.classification-grid{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem;justify-content:center}.classification-stat{display:flex;align-items:center;gap:.2rem;font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary)}.critical-moments{margin-top:.75rem}.critical-moments__list{max-height:140px;overflow-y:auto}.critical-moment-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);transition:background var(--transition)}.critical-moment-item:hover{background:var(--bg-hover)}.critical-moment-item__move{min-width:5.5rem}.critical-moment-item__quality{font-size:.7rem;color:var(--text-muted)}.critical-moment-item__swing{margin-left:auto;font-weight:700}.critical-moment-item__swing--positive{color:var(--best)}.critical-moment-item__swing--negative{color:var(--blunder)}.game-controls__play-btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;border-radius:var(--radius-sm);color:var(--amber);font-size:1rem;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition);border:1px solid var(--amber-dim)}.game-controls__play-btn:hover{background:var(--amber-glow)}.game-controls__play-btn:active{transform:scale(.96)}.game-controls__speed{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);padding:.2rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;outline:none}.game-controls__speed:focus{border-color:var(--amber-dim)}.game-controls__pgn-btn{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);margin-left:auto;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.game-controls__pgn-btn:hover{color:var(--text-primary);border-color:var(--border-light)}.model-detail-page{display:flex;flex-direction:column;gap:1.25rem}.model-detail-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.model-detail-page__name{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--text-primary)}.model-detail-page__elo{font-family:var(--font-mono);font-size:1.5rem;color:var(--amber);font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;text-align:center}.stat-card__value{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.stat-card__label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}.leaderboard-table--enhanced th,.leaderboard-table--enhanced td{white-space:nowrap}.leaderboard__model-link{font-family:var(--font-mono);font-size:.82rem;font-weight:500;color:var(--text-primary);text-decoration:none;transition:color var(--transition)}.leaderboard__model-link:hover{color:var(--amber)}.leaderboard-page__controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.leaderboard-sort{display:inline-flex;align-items:center;gap:.4rem}.leaderboard-sort__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-right:.15rem}.leaderboard-page__divider{width:1px;align-self:stretch;min-height:1.4rem;background:var(--border-light)}.toggle-check{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.3rem .55rem .3rem .45rem;border-radius:999px;transition:color var(--transition),background-color var(--transition)}.toggle-check:hover{color:var(--text-primary)}.toggle-check:hover .toggle-check__box{border-color:var(--amber-dim)}.toggle-check__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.toggle-check__box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;border:1px solid var(--border-light);background:var(--bg-tertiary);color:transparent;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.toggle-check__input:checked+.toggle-check__box{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}.toggle-check__input:focus-visible+.toggle-check__box{outline:2px solid var(--amber-bright);outline-offset:2px}.toggle-check__input:checked~.toggle-check__text{color:var(--amber)}.leaderboard__value{font-family:var(--font-mono);font-size:.82rem;color:var(--amber);font-variant-numeric:tabular-nums}.cost-dashboard{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.cost-dashboard__title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.cost-dashboard__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.cost-dashboard__card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;padding:1rem 1.25rem;text-align:center}.cost-dashboard__card-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--amber);line-height:1.2}.cost-dashboard__card-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}.cost-dashboard__charts{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.cost-dashboard__charts{grid-template-columns:1fr 1fr}.cost-dashboard__charts>:first-child{grid-column:1 / -1}}.cost-dashboard__chart{padding:1rem}.cost-dashboard__chart-title{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.06em}.cost-dashboard__table-wrap{padding:1rem;overflow-x:auto}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font:inherit;color:inherit;background:none;border:none;padding:0;text-align:inherit}.sortable-header:hover,.sortable-header:focus-visible{color:var(--amber)}.recharts-default-tooltip{background-color:var(--bg-secondary)!important;border-color:var(--border-light)!important;border-radius:var(--radius-sm)!important}.recharts-default-tooltip .recharts-tooltip-label{color:var(--text-primary)!important}.recharts-default-tooltip .recharts-tooltip-item{color:var(--text-secondary)!important}.response-time-graph{padding:.5rem .5rem .25rem}.response-time-graph__title{font-family:var(--font-mono);font-size:.7rem;font-weight:400;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.tokens-chart{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-primary)}.hero{position:relative;text-align:center;padding:2.5rem 2rem 2rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);border:1px solid var(--border-light);overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(212,168,67,.06) 0%,transparent 70%);pointer-events:none}.hero__title{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.3rem;position:relative}.hero__subtitle{font-family:var(--font-body);font-size:1rem;color:var(--amber);font-weight:500;margin-bottom:.8rem;position:relative}.hero__description{font-family:var(--font-body);font-size:.88rem;color:var(--text-secondary);max-width:560px;margin:0 auto 1.2rem;line-height:1.6;position:relative}.table-talk-panel{padding:.5rem;flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-talk-panel__label{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:0 .5rem .35rem}.table-talk-panel__heading{font:inherit;color:inherit;margin:0}.table-talk-panel__filter-toggle{margin-left:auto;padding:.15rem .45rem;font-size:.62rem;font-family:var(--font-body);text-transform:none;letter-spacing:normal;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.table-talk-panel__filter-toggle:hover{color:var(--text-secondary);border-color:var(--border-light);background:var(--bg-tertiary)}.table-talk-panel__filter-toggle--active{color:var(--amber);border-color:var(--amber-dim);background:var(--amber-glow)}.table-talk-chat{display:flex;flex-direction:column;gap:.35rem;flex:1 1 0;min-height:0;overflow-y:auto;padding:.25rem}.table-talk-chat::-webkit-scrollbar{width:4px}.table-talk-chat::-webkit-scrollbar-track{background:transparent}.table-talk-chat::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.table-talk-bubble{display:flex;flex-direction:column;gap:.15rem;max-width:85%;padding:.4rem .6rem;border-radius:var(--radius);font-size:.8rem;line-height:1.4;transition:border-color var(--transition);border:1px solid transparent;cursor:pointer}button.table-talk-bubble{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.table-talk-bubble--white{align-self:flex-start;background:var(--bg-tertiary);border-color:var(--border)}.table-talk-bubble--black{align-self:flex-end;background:var(--bg-secondary);border-color:var(--border)}.table-talk-bubble--selected{border-color:var(--amber)!important;box-shadow:0 0 8px #d4a84326}.table-talk-bubble--illegal{background:#ca343114;border-color:#ca343140!important;max-width:90%}.table-talk-bubble--invalid-uci{background:#e0883214;border-color:#e0883240!important;max-width:90%}.table-talk-bubble--invalid-uci .table-talk-bubble__illegal-text{color:var(--mistake)}.table-talk-bubble--chaos{background:#e6b42214;border-color:#e6b42240!important;max-width:90%}.table-talk-bubble__chaos-tag{display:inline-block;font-size:.58rem;font-weight:700;color:var(--inaccuracy);background:#e6b42233;border:1px solid rgba(230,180,34,.35);border-radius:3px;padding:0 .25rem;margin-left:.35rem;vertical-align:middle;letter-spacing:.05em}.table-talk-bubble--illegal.table-talk-bubble--white,.table-talk-bubble--invalid-uci.table-talk-bubble--white,.table-talk-bubble--chaos.table-talk-bubble--white{align-self:flex-start}.table-talk-bubble--illegal.table-talk-bubble--black,.table-talk-bubble--invalid-uci.table-talk-bubble--black,.table-talk-bubble--chaos.table-talk-bubble--black{align-self:flex-end}.table-talk-bubble__header{display:flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.68rem}.table-talk-bubble__model{color:var(--amber);font-weight:600}.table-talk-bubble__move{color:var(--text-muted)}.table-talk-bubble__text{font-family:var(--font-body);color:var(--text-secondary)}.table-talk-bubble__illegal-text{font-family:var(--font-mono);font-size:.75rem;color:var(--blunder)}.table-talk-bubble__illegal-reason{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.illegal-moves-indicator{padding:.6rem .8rem;border-left:3px solid var(--blunder);background:#ca34310f;flex-shrink:0}.move-rejected{margin-top:.5rem;padding:.5rem .6rem;border:1px solid var(--blunder, #ca3431);border-radius:6px;background:#ca34311f;color:var(--blunder-text, #e8716c);font-size:.78rem}.illegal-moves-indicator__title{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--blunder);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.illegal-moves-indicator__counts{display:flex;gap:1rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary);margin-bottom:.3rem}.illegal-moves-indicator__count-value{color:var(--blunder);font-weight:700}.illegal-moves-indicator__latest{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.illegal-moves-indicator__latest code{background:#ca34311f;padding:.1rem .3rem;border-radius:3px;color:var(--blunder);font-size:.72rem}.board-settings{position:relative;z-index:40;display:inline-flex;flex:none}.board-settings__toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition)}.board-settings__toggle:hover,.board-settings__toggle[aria-expanded=true]{border-color:var(--caramel-top);background:#f8ecd2;color:var(--text-primary)}.board-settings__toggle svg{transition:transform .3s ease}.board-settings__toggle:hover svg{transform:rotate(30deg)}.board-settings__toggle:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px}.board-settings__menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;display:flex;flex-direction:column;gap:.4rem;width:max-content;max-width:min(320px,calc(100vw - 1.5rem));padding:.6rem .7rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-primary);box-shadow:0 18px 40px -16px rgb(var(--shadow-color) / .55),0 2px 6px rgb(var(--shadow-color) / .12);animation:square-menu .16s ease-out}.board-settings__menu .game-settings__swatches{flex-wrap:wrap}.board-settings__extra{padding-top:.75rem;border-top:1px solid var(--border)}.board-settings__extra .square-settings{border:0;padding:0;border-radius:0}.game-settings__row{display:flex;align-items:center;gap:.5rem}.game-settings__label{font-size:.62rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;min-width:3.2rem;flex-shrink:0}.game-settings__action{display:flex;align-items:center;gap:.5rem;width:100%;min-height:36px;padding:.3rem .4rem;font-size:.85rem;color:var(--text-secondary);background:none;border:none;border-top:1px solid var(--border);text-align:left;cursor:pointer;transition:var(--transition)}.game-settings__action:hover{color:var(--text-primary);background:var(--bg-hover)}.game-settings__key{display:inline-flex;align-items:center;justify-content:center;width:18px;font-weight:700}.game-settings__swatches{display:flex;align-items:center;gap:.25rem}.game-settings__swatch{width:20px;height:20px;padding:2px;border-radius:50%;border:2px solid transparent;background:none;cursor:pointer;transition:var(--transition)}.game-settings__swatch:hover{border-color:var(--text-muted)}.game-settings__swatch--active{border-color:var(--amber)}.game-settings__swatch-inner{display:block;width:100%;height:100%;border-radius:50%}.chessboard-panel__board-container{width:100%;max-width:100%;flex-shrink:1;min-width:0}.board-frame{display:grid;grid-template-columns:var(--frame) auto var(--frame);grid-template-rows:var(--frame) auto var(--frame);background:linear-gradient(160deg,rgba(255,255,255,.07),transparent 45%,rgba(0,0,0,.12)),var(--frame-bg);border-radius:10px;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000004d}.board-frame__board{grid-area:2 / 2;position:relative;border-radius:3px;box-shadow:0 0 0 1px #00000059,0 2px 6px #0000004d}.board-frame__ranks,.board-frame__files{display:grid;place-items:center;color:var(--frame-ink);font-family:var(--font-body);font-size:calc(var(--frame) * .56);font-weight:600;line-height:1;opacity:.92;-webkit-user-select:none;user-select:none}.board-frame__ranks{grid-area:2 / 1;grid-template-rows:repeat(8,1fr)}.board-frame__files{grid-area:3 / 2;grid-template-columns:repeat(8,1fr);text-transform:lowercase}.leaderboard-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.engine-lines{padding:.3rem .5rem}.engine-lines__header{display:none}.engine-lines__list{display:flex;flex-direction:row;gap:.5rem;flex-wrap:wrap}.engine-lines__row{display:flex;align-items:center;gap:.3rem;padding:.1rem .2rem;border-radius:var(--radius-sm);transition:var(--transition)}.engine-lines__row:hover{background:var(--bg-hover)}.engine-lines__eval{font-family:var(--font-mono);font-size:.7rem;font-weight:700;min-width:2.8rem;text-align:center;padding:.1rem .2rem;border-radius:var(--radius-sm)}.engine-lines__eval--white{background:#e8e4dd1f;color:var(--text-primary)}.engine-lines__eval--black{background:#18191fcc;color:var(--text-secondary)}.engine-lines__eval--even{background:var(--bg-tertiary);color:var(--text-muted)}.engine-lines__move{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary)}.h2h-page{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.h2h-page__title{font-family:var(--font-display);font-size:1.8rem;color:var(--text-primary);text-align:center}.h2h-page__selector{display:flex;align-items:center;gap:.75rem;justify-content:center;flex-wrap:wrap}.h2h-page__select{font-family:var(--font-body);font-size:.82rem;padding:.5rem .75rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;cursor:pointer;transition:var(--transition)}.h2h-page__select:hover{border-color:var(--border-light)}.h2h-page__select:focus{outline:none;border-color:var(--amber-dim)}.h2h-page__vs{font-family:var(--font-display);font-size:1.2rem;color:var(--text-muted);font-weight:600}.h2h-page__score{display:flex;align-items:center;padding:1.25rem;gap:1rem}.h2h-page__score-side{flex:1;text-align:center}.h2h-page__score-name{font-family:var(--font-display);font-size:1.1rem;color:var(--text-primary);font-weight:600;margin-bottom:.15rem}.h2h-page__score-elo{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.h2h-page__score-center{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:120px}.h2h-page__score-record{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:1.4rem;font-weight:700}.h2h-page__score-wins{color:var(--amber)}.h2h-page__score-draws{color:var(--text-muted)}.h2h-page__score-labels{display:flex;gap:.75rem;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.h2h-page__score-bar{display:flex;width:100%;height:6px;border-radius:3px;overflow:hidden;margin-top:.25rem}.h2h-page__score-bar-a{background:var(--text-primary);transition:width .3s ease}.h2h-page__score-bar-d{background:var(--text-muted);transition:width .3s ease}.h2h-page__score-bar-b{background:var(--bg-active);transition:width .3s ease}.h2h-page__score-total{font-size:.72rem;color:var(--text-muted)}.h2h-page__streak{margin-top:.35rem;font-size:.78rem;font-weight:600;color:var(--amber-bright)}.h2h-page__stats{padding:1rem}.opening-explorer-page{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.opening-explorer-page__title{font-family:var(--font-display);font-size:1.8rem;color:var(--text-primary)}.opening-explorer-page__subtitle{color:var(--text-muted);font-size:.85rem;margin-top:-.5rem}.opening-explorer-page__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:.5rem}.opening-explorer-page__table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.82rem}.opening-explorer-page__table th{text-align:left;padding:.5rem .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.opening-explorer-page__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.opening-explorer-page__th--sortable:hover{color:var(--amber)}.opening-explorer-page__table td{padding:.45rem .6rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}.opening-explorer-page__table tbody tr:hover{background:var(--bg-hover)}.opening-explorer-page__eco-link{font-family:var(--font-mono);font-weight:600;color:var(--amber);text-decoration:none;transition:var(--transition)}.opening-explorer-page__eco-link:hover{color:var(--amber-bright)}.opening-explorer-page__name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-explorer-page__result-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;min-width:80px}.opening-explorer-page__bar-w{background:var(--text-primary);transition:width .3s ease}.opening-explorer-page__bar-d{background:var(--text-muted);transition:width .3s ease}.opening-explorer-page__bar-b{background:var(--bg-active);transition:width .3s ease}.model-detail-page{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.model-detail-page__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.model-detail-page__name{font-family:var(--font-display);font-size:1.8rem;color:var(--text-primary);margin:0}.model-detail-page__elo{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--amber)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;text-align:center}.stat-card__value{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.stat-card__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:.15rem}.analysis-panel__export-btn{font-size:.72rem;padding:.2rem .5rem}@media(max-width:900px){.app-header{padding:.5rem .75rem;width:100%;box-sizing:border-box}.app-header__logo{font-size:1.15rem;gap:.3rem}.app-header__nav{gap:.2rem}.app-header__link{font-size:.75rem;padding:.3rem .5rem}.app-content{padding:1rem;width:100%;box-sizing:border-box;overflow-x:hidden}.game-viewer{overflow:hidden;max-width:100%}.chessboard-panel__board-container{width:100%!important;max-width:100%}.move-list{flex:none;max-height:250px;min-height:120px}.game-info{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;width:100%;box-sizing:border-box}.game-info__players{width:100%}.game-info__player-name{max-width:none}.game-info__meta{flex-wrap:wrap;gap:.5rem;width:100%}.table-talk-panel{flex:none;max-height:none;min-height:300px}.table-talk-chat{max-height:400px;overflow-y:auto}.table-talk-bubble{max-width:90%;word-break:break-word}.narration-panel{overflow:hidden;word-break:break-word}.narration-panel__meta{flex-wrap:wrap;gap:.5rem}.eval-bar{width:20px;flex-shrink:0}.game-list-page__header{flex-direction:column;align-items:flex-start;gap:.75rem}.game-card{grid-template-columns:1fr;gap:.5rem}.game-card__info{flex-direction:column;gap:.25rem}.new-game-dialog{width:95vw;max-width:440px}.cost-dashboard__charts{grid-template-columns:1fr!important}.cost-dashboard__charts>:first-child{grid-column:1!important}.hero__title{font-size:1.4rem}.hero__description{font-size:.82rem}.hero{padding:1.25rem .75rem 1rem}.leaderboard-page__title{font-size:1.4rem}.leaderboard-table--enhanced th:nth-child(4),.leaderboard-table--enhanced td:nth-child(4),.leaderboard-table--enhanced th:nth-child(6),.leaderboard-table--enhanced td:nth-child(6),.leaderboard-table--enhanced th:nth-child(7),.leaderboard-table--enhanced td:nth-child(7),.leaderboard-table--enhanced th:nth-child(8),.leaderboard-table--enhanced td:nth-child(8),.leaderboard-table--enhanced th:nth-child(9),.leaderboard-table--enhanced td:nth-child(9),.leaderboard-table--enhanced th:nth-child(10),.leaderboard-table--enhanced td:nth-child(10),.leaderboard-table--enhanced th:nth-child(11),.leaderboard-table--enhanced td:nth-child(11){display:none}.leaderboard__elo-bar,.leaderboard__spark{display:none}.leaderboard-mobile-caption{display:block}.game-controls{flex-wrap:wrap;gap:.15rem}.game-controls__btn{width:32px;height:30px;font-size:.8rem}.filter-btn{font-size:.72rem;padding:.3rem .6rem}.game-list-page__title{font-size:1.5rem}.win-prob-graph,.response-time-graph{overflow:hidden;max-width:100%}.panel{max-width:100%;overflow:hidden;box-sizing:border-box}.h2h-page__selector{flex-direction:column;gap:.5rem}.h2h-page__select{width:100%;min-width:unset}.h2h-page__score{flex-direction:column;gap:.75rem}.h2h-page__score-center{order:-1}.opening-explorer-page__name{max-width:140px}}@media(max-width:480px){.app-content{padding:.75rem}.app-header{padding:.4rem .5rem}.app-header__logo{font-size:1rem}.app-header__link{font-size:.68rem;padding:.25rem .4rem}.eval-bar{width:14px}.game-info{padding:.5rem;gap:.35rem}.game-info__players{flex-direction:column;gap:.25rem;font-size:.85rem}.game-info__vs{display:none}.game-info__meta{font-size:.72rem}.hero__title{font-size:1.2rem}.hero{padding:.75rem .5rem}.game-controls__btn{width:28px;height:26px;font-size:.72rem}.narration-panel{padding:.5rem}.narration-panel__text{font-size:.82rem}.table-talk-panel{padding:.35rem}}@media(pointer:coarse){.game-controls__btn{min-width:40px;min-height:40px}.filter-btn{min-height:38px}.app-header__link{display:inline-flex;align-items:center;min-height:40px}.game-settings__swatch{width:30px;height:30px}.info-dot__trigger{position:relative}.info-dot__trigger:after{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px}}@media(max-width:640px){input,select,textarea{font-size:16px!important}}@media(max-width:560px){.app-header{flex-wrap:wrap;row-gap:.4rem}.app-header__nav{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:.15rem}}@media(max-width:520px){.new-game-dialog__settings-grid{grid-template-columns:1fr}.game-settings__swatches{flex-wrap:wrap}}.game-embed{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg-deep);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;overflow:hidden}.game-embed--loading,.game-embed--error{align-items:center;justify-content:center;gap:1rem}.game-embed__error-text{font-size:1rem;color:var(--text-secondary)}.game-embed__header{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;min-height:0}.game-embed__players{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600}.game-embed__piece{font-size:1rem}.game-embed__piece--white{color:var(--text-primary)}.game-embed__piece--black{color:var(--amber)}.game-embed__vs{color:var(--text-muted);font-weight:400;font-size:.75rem}.game-embed__result{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--amber)}.game-embed__moves{font-weight:400;font-size:.75rem;color:var(--text-muted)}.game-embed__main{flex:1;display:flex;min-height:0;overflow:hidden}.game-embed__board{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.5rem}.game-embed__sidebar{flex:1;display:flex;flex-direction:column;min-width:180px;max-width:280px;overflow:hidden}.game-embed__sidebar .move-list{flex:1;min-height:0}.game-embed__sidebar .game-controls{flex-shrink:0;padding:.3rem .5rem}.game-embed__footer{display:flex;align-items:center;justify-content:space-between;padding:.3rem .75rem;background:var(--bg-card);border-top:1px solid var(--border);flex-shrink:0}.game-embed__link{color:var(--amber);text-decoration:none;font-size:.75rem;font-weight:500}.game-embed__link:hover{text-decoration:underline}.game-embed__branding{font-size:.65rem;color:var(--text-muted);letter-spacing:.03em}@media(max-width:600px){.game-embed__main{flex-direction:column}.game-embed__sidebar{max-width:none;max-height:200px}}.btn--danger{background:var(--blunder);color:#fff}.btn--danger:hover{filter:brightness(1.08)}.btn--danger:disabled{opacity:.5;pointer-events:none}.admin-strip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.admin-strip__label{color:var(--text-secondary);font-size:.85rem}.admin-strip__error{color:var(--blunder-text);font-size:.85rem}.game-card-wrap{position:relative}.game-card__admin{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);display:flex;align-items:center;gap:.3rem;z-index:2;opacity:0;transition:opacity var(--transition)}.game-card-wrap:hover .game-card__admin,.game-card__admin:focus-within{opacity:1}.game-card__admin-btn{font-size:.75rem;line-height:1.4;padding:.2rem .5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.game-card__admin-btn:hover{color:var(--text-primary);border-color:var(--border-light)}.game-card__admin-btn--danger{color:#fff;background:var(--blunder);border-color:var(--blunder)}.game-card__admin-btn:disabled{opacity:.5;cursor:default}@media(pointer:coarse){.game-card__admin{opacity:1}}.session-dialog{width:min(440px,calc(100vw - 2rem));padding:1.5rem;display:grid;gap:1rem}.session-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.tutor-choice{padding:1rem;border:1px solid var(--amber-dim);border-radius:var(--radius);background:var(--amber-glow)}.tutor-choice label{display:flex;align-items:center;gap:.65rem;font-weight:600;cursor:pointer}.tutor-choice input{accent-color:var(--amber);width:18px;height:18px}.tutor-choice p{margin:.6rem 0 0;color:var(--text-secondary);font-size:.85rem;line-height:1.5}:root{--app-header-h: 62px}.app-content:has(.game-viewer){max-width:1880px;padding-top:1rem;padding-bottom:1rem}.arena{--eval-w: 0px;--bar-h: 60px;--side-min: 300px;--chrome-h: 124px;--page-pad: 2.25rem;--board: min( calc(100vh - var(--app-header-h) - var(--chrome-h) - var(--page-pad)), calc(min(100vw, 1880px) - var(--side-min) - var(--eval-w) - 4rem), 1120px );display:grid;grid-template-columns:calc(var(--board) + var(--eval-w)) minmax(var(--side-min),560px);grid-template-areas:"board side" "board talk";grid-template-rows:auto 1fr;gap:1rem 1.25rem;align-items:start;justify-content:center}@supports (height: 100dvh){.arena{--board: min( calc(100dvh - var(--app-header-h) - var(--chrome-h) - var(--page-pad)), calc(min(100vw, 1880px) - var(--side-min) - var(--eval-w) - 4rem), 1120px )}}.arena--eval{--eval-w: calc(18px + .5rem) }.arena__board{grid-area:board;display:flex;flex-direction:column;gap:.5rem;min-width:0;position:sticky;top:calc(var(--app-header-h) + 1rem)}.arena__board-row{display:flex;gap:.5rem;align-items:stretch}.arena__board-row .chessboard-panel__board-container{flex:1;min-width:0;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000004d,0 0 0 1px rgb(var(--shadow-color) / .25),0 28px 60px -24px rgb(var(--shadow-color) / .7);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.arena .eval-bar{width:26px;border-radius:6px}.arena__side,.arena__talk{display:flex;flex-direction:column;gap:.75rem;min-width:0}.arena__side{grid-area:side}.arena__talk{grid-area:talk}@media(min-width:1500px){.arena--talk{grid-template-columns:calc(var(--board) + var(--eval-w)) minmax(300px,500px) minmax(300px,460px);grid-template-areas:"board side talk";grid-template-rows:auto}.arena--talk{--side-min: 640px}}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){:root{--app-header-h: 49px}.arena{--chrome-h: 172px;--below: 0px;--board: max(260px, min( calc(100vw - 2rem - var(--eval-w)), calc(100vh - var(--app-header-h) - var(--chrome-h) - var(--below) - 2rem) ));grid-template-columns:minmax(0,1fr);grid-template-areas:"board" "side" "talk";grid-template-rows:auto}@supports (height: 100dvh){.arena{--board: max(260px, min( calc(100vw - 2rem - var(--eval-w)), calc(100dvh - var(--app-header-h) - var(--chrome-h) - var(--below) - 2rem) ))}}.arena--tutor{--chrome-h: 112px;--below: 235px}.arena--tutor-open{--below: 385px}.tutor-card{padding:.75rem .8rem .85rem}.tutor-specials{margin-bottom:.6rem;gap:.3rem}.tutor-special{padding:.4rem .6rem;font-size:.8rem}button.tutor-special{min-height:40px}.arena__board{position:static;width:calc(var(--board) + var(--eval-w));max-width:100%;justify-self:center}}@media(max-width:600px){.arena,.arena--tutor{--board: calc(100vw - 1.5rem - var(--eval-w))}}.player-bar{display:flex;align-items:center;gap:.65rem;min-height:48px;padding:.3rem .55rem;border-radius:12px;background:linear-gradient(180deg,rgb(var(--ink) / .035),rgb(var(--ink) / .01));border:1px solid var(--border);transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.player-bar--to-move{border-color:#d4a8438c;background:linear-gradient(180deg,#d4a8431f,#d4a84308);box-shadow:0 0 26px -8px #f0c0508c}.player-bar__avatar{--avatar-bg: #ece6da;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--avatar-bg);color:#1b1d26}.player-bar__avatar--black{--avatar-bg: #1b1d26;color:#ece6da;box-shadow:inset 0 0 0 1px var(--border-light)}.player-bar--you .player-bar__avatar{box-shadow:0 0 0 2px var(--amber-dim)}.player-bar__avatar svg{width:20px;height:20px;fill:currentColor}.player-bar__eye{fill:var(--avatar-bg)}.player-bar__who{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}.player-bar__name{display:flex;align-items:baseline;gap:.45rem;min-width:0}.player-bar__label{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-bar__detail{font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.player-bar__captured{display:flex;align-items:center;min-height:22px;line-height:1;overflow:hidden;white-space:nowrap}.player-bar__piece{display:block;flex:none;width:22px;height:22px;margin-right:-9px}.player-bar__piece--last{margin-right:1px}.player-bar__advantage{margin-left:.55rem;font:600 .74rem var(--font-mono);color:var(--text-secondary)}.player-bar__status{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--amber-bright);background:#d4a84321}.player-bar__status--thinking{color:var(--text-secondary);background:rgb(var(--ink) / .06)}.player-bar__dots{display:inline-flex;gap:3px}.player-bar__dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:player-bar-dot 1.2s ease-in-out infinite}.player-bar__dots i:nth-child(2){animation-delay:.15s}.player-bar__dots i:nth-child(3){animation-delay:.3s}@keyframes player-bar-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.game-controls__group{display:inline-flex;align-items:center;gap:.2rem}@media(pointer:coarse){.game-settings__action--shortcuts{display:none}}.arena .game-controls__btn,.arena .game-controls__play-btn{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.game-controls__icon{width:18px;height:18px;fill:currentColor}.game-controls__icon .stroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.game-controls__pgn-btn{display:inline-flex;align-items:center;gap:.3rem}.game-controls__pgn-btn .game-controls__icon{width:15px;height:15px}@media(pointer:coarse){.arena .game-controls__btn,.arena .game-controls__play-btn{width:44px;height:44px}.move-list__footer .game-controls__live-btn,.move-list__footer .game-controls__pgn-btn{min-height:44px}}.arena__side .move-list{flex:none;max-height:min(44vh,440px);min-height:150px;border-radius:12px}.arena .move-list__header{border-radius:12px 12px 0 0;min-height:44px}.arena .move-cell{border-radius:6px;margin:2px;border-left:none}.arena .move-cell--selected{background:#d4a84329;box-shadow:inset 0 0 0 1px #d4a84373}@media(pointer:coarse){.arena .move-cell{min-height:40px}}.arena__side>.training-help-toggle{width:100%;min-height:44px;margin:0;border-radius:10px}.player-bar__actions{display:flex;gap:.4rem;flex:none;margin-left:auto}.player-bar__actions .btn{width:auto;min-height:36px;margin:0;padding:.3rem .8rem;border-radius:10px;font-size:.82rem;white-space:nowrap}@media(max-width:560px){.player-bar--actions{gap:.5rem}.player-bar--actions .player-bar__name{flex-direction:column;align-items:flex-start;gap:0}.player-bar--actions .player-bar__status{padding:.3rem .45rem}.player-bar--actions .player-bar__status-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.player-bar__actions{gap:.3rem}.player-bar__actions .btn{min-height:34px;padding:.25rem .5rem;font-size:.76rem}.player-bar--actions .player-bar__label,.player-bar--actions .player-bar__detail{max-width:100%;overflow:hidden;text-overflow:ellipsis}.player-bar .board-settings__toggle{width:34px;height:34px}}@media(max-width:420px){.player-bar--actions .player-bar__avatar{display:none}}.arena .game-summary{border-radius:12px}.arena .game-info{padding:.55rem .8rem}.arena .game-info__players{display:none}.arena .game-info__meta{flex-wrap:wrap;row-gap:.4rem}.tutor-card{--lamp-red: #ff5a52;--lamp-yellow: #ffcc4d;--lamp-green: #4ad07a;--tutor-blue: 82, 176, 220;padding:.9rem .95rem 1rem;border-radius:16px;background:radial-gradient(120% 140% at 0% 0%,rgba(212,168,67,.1),transparent 55%),var(--surface-raised);border:1px solid rgba(212,168,67,.3);box-shadow:0 14px 40px -20px rgb(var(--shadow-color) / .9)}.tutor-card__mark{display:inline-flex;flex-direction:column;gap:2px;padding:4px 3px;border-radius:6px;background:#0a0b10;box-shadow:inset 0 0 0 1px var(--border-light)}.tutor-card__mark-dot{display:block;width:6px;height:6px;border-radius:50%}.tutor-card__mark-dot--red{background:var(--lamp-red)}.tutor-card__mark-dot--yellow{background:var(--lamp-yellow)}.tutor-card__mark-dot--green{background:var(--lamp-green)}.tutor-card__hint,.tutor-card__idle{margin-top:.6rem;color:var(--text-secondary);font-size:.84rem;line-height:1.45}.tutor-card__idle{margin-top:0}.tutor-card__error{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:var(--blunder-text);font-size:.86rem}.ampel{display:grid;gap:.45rem;padding:.65rem;border-radius:14px;background:var(--ampel-bg);box-shadow:inset 0 0 0 1px var(--border-light),inset 0 3px 12px var(--ampel-inset)}.ampel__head,.ampel__row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem}.ampel__head span{text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ampel__head small{display:block;margin-top:1px;font-size:.7rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-muted)}.ampel__label{min-width:5.2rem;text-align:center;font-size:.86rem;font-weight:600;color:var(--text-secondary)}.ampel-lamp{--lamp: #2a2f40;--lamp-dark: #1a1d28;--lamp-glow: transparent;position:relative;display:flex;align-items:center;gap:.55rem;width:100%;min-height:48px;padding:.35rem .6rem .35rem .45rem;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-primary);text-align:left;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .12s ease}.ampel-lamp--red{--lamp: var(--lamp-red);--lamp-dark: #b3261e;--lamp-glow: rgba(255, 90, 82, .6)}.ampel-lamp--yellow{--lamp: var(--lamp-yellow);--lamp-dark: #c98a00;--lamp-glow: rgba(255, 204, 77, .5)}.ampel-lamp--green{--lamp: var(--lamp-green);--lamp-dark: #1f8a47;--lamp-glow: rgba(74, 208, 122, .35)}.ampel-lamp__bulb{flex:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55) 0 8%,transparent 10%),radial-gradient(circle at 50% 55%,var(--lamp) 0 58%,var(--lamp-dark) 100%);box-shadow:0 0 14px 2px var(--lamp-glow),inset 0 -3px 6px #00000059;animation:ampel-on .35s ease-out both}.ampel-lamp__word{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ampel-lamp--green .ampel-lamp__word{color:var(--text-secondary);font-weight:600}.ampel-lamp__count{margin-left:auto;padding:.1rem .45rem;border-radius:999px;font:600 .72rem var(--font-mono);color:var(--text-secondary);background:rgb(var(--ink) / .07)}.ampel-lamp:not(:disabled){cursor:pointer}.ampel-lamp:not(:disabled):active{transform:scale(.97)}@media(hover:hover){.ampel-lamp:not(:disabled):hover{border-color:var(--lamp)}}.ampel-lamp:disabled{cursor:default}.ampel-lamp--pressed{border-color:var(--lamp);background:color-mix(in srgb,var(--lamp) 16%,var(--bg-tertiary));box-shadow:inset 0 0 0 1px var(--lamp)}.ampel-lamp--loading{pointer-events:none}.ampel-lamp--loading .ampel-lamp__bulb{animation:ampel-wait 1.1s ease-in-out infinite}@keyframes ampel-on{0%{opacity:.2;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes ampel-wait{0%,to{opacity:.35}50%{opacity:.8}}.tutor-detail{--lamp: var(--lamp-yellow);margin-top:.75rem;padding:.7rem .7rem .6rem;border-radius:12px;background:rgb(var(--ink) / .03);border-left:3px solid var(--lamp)}.tutor-detail--red{--lamp: var(--lamp-red)}.tutor-detail__summary{margin-bottom:.45rem;font-weight:600;font-size:.92rem}.tutor-detail__list{list-style:none;display:grid;gap:.25rem}.tutor-detail__item{display:flex;align-items:flex-start;gap:.55rem;width:100%;min-height:44px;padding:.5rem .55rem;border-radius:10px;border:1px solid transparent;text-align:left;font-size:.86rem;line-height:1.4;color:var(--text-primary)}@media(hover:hover){.tutor-detail__item:hover{background:rgb(var(--ink) / .04)}}.tutor-detail__item--active{background:rgb(var(--ink) / .07);border-color:var(--border-light)}.tutor-detail__dot{flex:none;width:10px;height:10px;margin-top:.3rem;border-radius:50%;background:var(--lamp-yellow)}.tutor-detail__item--red .tutor-detail__dot{background:var(--lamp-red);box-shadow:0 0 8px #ff5a5299}.tutor-tag{display:inline-block;margin-right:.4rem;padding:.05rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.03em;vertical-align:1px;color:var(--tutor-tag-text, #9ad6f3);background:rgba(var(--tutor-blue),.16)}.tutor-specials{list-style:none;display:grid;gap:.4rem;margin-bottom:.8rem}.tutor-special{display:block;width:100%;padding:.5rem .65rem;border-radius:10px;text-align:left;font-size:.82rem;line-height:1.4;color:var(--text-primary);background:rgba(var(--tutor-blue),.08);border:1px solid rgba(var(--tutor-blue),.28)}button.tutor-special{min-height:44px;cursor:pointer}.tutor-special--active{background:rgba(var(--tutor-blue),.2);border-color:rgba(var(--tutor-blue),.7)}.tutor-special--castling_blocked{color:var(--text-secondary);background:transparent;border-color:var(--border)}.tutor-special--castling_blocked .tutor-tag{color:var(--text-secondary);background:rgb(var(--ink) / .06)}.tutor-special--last_move{background:#d4a84314;border-color:#d4a84352}.tutor-special--last_move .tutor-tag{color:var(--amber-bright);background:#d4a84329}.ampel__row--best{grid-template-columns:minmax(0,1fr);margin-top:.15rem}.ampel-best{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:46px;padding:.4rem .8rem;border-radius:999px;font-size:.92rem;font-weight:700;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-light);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .12s ease}.ampel-best:active{transform:scale(.98)}@media(hover:hover){.ampel-best:hover{border-color:var(--lamp-green)}}.ampel-best__icon{color:var(--lamp-green)}.ampel-best--pressed{border-color:var(--lamp-green);background:color-mix(in srgb,var(--lamp-green) 14%,var(--bg-tertiary));box-shadow:inset 0 0 0 1px var(--lamp-green)}.ampel-best__san{padding:.1rem .5rem;border-radius:999px;font:700 .82rem var(--font-mono);background:rgb(var(--ink) / .08)}.tutor-detail--best{--lamp: var(--lamp-green)}.tutor-detail__text{font-size:.86rem;line-height:1.4}.tutor-verdict{--verdict: var(--text-muted);display:grid;gap:.6rem;margin-bottom:.8rem;padding:.75rem;border-radius:14px;background:color-mix(in srgb,var(--verdict) 9%,var(--bg-tertiary));border:1px solid color-mix(in srgb,var(--verdict) 45%,transparent)}.tutor-verdict--best{--verdict: var(--best)}.tutor-verdict--excellent{--verdict: var(--excellent)}.tutor-verdict--good{--verdict: var(--good)}.tutor-verdict--inaccuracy{--verdict: var(--inaccuracy)}.tutor-verdict--mistake{--verdict: var(--mistake)}.tutor-verdict--blunder{--verdict: var(--blunder)}.tutor-verdict__main{display:flex;align-items:center;gap:.8rem}.tutor-verdict__score{flex:none;display:grid;place-items:center;align-content:center;width:68px;height:68px;border-radius:50%;background:var(--surface-raised);box-shadow:inset 0 0 0 4px var(--verdict);line-height:1}.tutor-verdict__score strong{font:700 1.7rem var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.tutor-verdict__score small{margin-top:2px;font-size:.66rem;color:var(--text-muted)}.tutor-verdict__wait{width:26px;height:26px;border-radius:50%;border:3px solid var(--border-light);border-top-color:var(--amber);animation:spin .9s linear infinite}.tutor-verdict__body{min-width:0;display:grid;gap:.15rem}.tutor-verdict__move{font-size:.84rem;color:var(--text-secondary)}.tutor-verdict__move b{font-family:var(--font-mono);color:var(--text-primary)}.tutor-verdict__label{font-size:1.15rem;font-weight:700;color:var(--verdict)}.tutor-verdict--good .tutor-verdict__label{color:var(--text-primary)}.tutor-verdict__win{font-size:.8rem;color:var(--text-secondary)}.tutor-verdict__retry{text-decoration:underline;color:var(--amber-bright);cursor:pointer}.tutor-verdict__bar{height:6px;border-radius:999px;overflow:hidden;background:rgb(var(--ink) / .08)}.tutor-verdict__bar span{display:block;height:100%;border-radius:inherit;background:var(--verdict);transition:width .4s ease}.tutor-verdict__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.tutor-verdict__actions .btn{min-height:44px;margin:0}.tutor-link{padding:0;font:inherit;text-decoration:underline;color:var(--amber-bright);cursor:pointer;background:none;border:0}.tutor-section{margin-top:.9rem}.tutor-section__title{margin:0 0 .45rem;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.tutor-section .tutor-specials{margin-bottom:0}.tutor-special__cta{display:block;margin-top:.3rem;font-size:.74rem;font-weight:700;color:var(--tutor-tag-text, #9ad6f3)}.tutor-review{--review: var(--border-light);display:grid;gap:.35rem;margin-bottom:.8rem;padding:.7rem;border-radius:12px;background:rgb(var(--ink) / .03);border-left:3px solid var(--review)}.tutor-review--drop{--review: var(--blunder)}.tutor-review--gain{--review: var(--best)}.tutor-review__title{font-size:.92rem}.tutor-review__title b{font-family:var(--font-mono)}.tutor-review__title span{color:var(--text-secondary)}.tutor-review__win{font-size:.86rem;color:var(--text-secondary)}.tutor-review__win b{color:var(--text-primary)}.tutor-review--drop .tutor-review__delta{color:var(--blunder-text);font-weight:700}.tutor-review--gain .tutor-review__delta{color:var(--best);font-weight:700}.tutor-review__label{font-size:.86rem;font-weight:600}.tutor-review__label b{font-family:var(--font-mono)}.tutor-review__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem}.tutor-review__actions .btn{min-height:44px;margin:0}.tutor-win__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.tutor-win__head span{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.tutor-win__head strong{font:700 1.1rem var(--font-mono)}.tutor-win__chart{position:relative;display:flex;align-items:stretch;gap:1px;height:72px;padding:2px;border-radius:8px;background:rgb(var(--ink) / .04)}.tutor-win__chart:after{content:"";position:absolute;left:2px;right:2px;top:50%;border-top:1px dashed var(--chart-grid, var(--border-light));pointer-events:none}.tutor-win__bar{position:relative;flex:1 1 0;min-width:2px;max-width:18px;padding:0;border:0;border-radius:2px;background:transparent;cursor:pointer}.tutor-win__bar:before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--value);border-radius:2px 2px 0 0;background:color-mix(in srgb,var(--text-secondary) 45%,transparent)}.tutor-win__bar--drop:before{background:var(--blunder)}.tutor-win__bar--gain:before{background:var(--best)}@media(hover:hover){.tutor-win__bar:hover{background:rgb(var(--ink) / .08)}}.tutor-win__bar--selected{background:#d4a84347;box-shadow:inset 0 0 0 1px var(--amber)}.tutor-settings{display:grid;gap:.35rem;margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--border)}.tutor-settings label{display:flex;align-items:center;gap:.5rem;min-height:32px;font-size:.84rem;color:var(--text-secondary);cursor:pointer}.tutor-settings input{width:18px;height:18px;accent-color:var(--amber)}@media(max-width:420px){.ampel{padding:.5rem;gap:.35rem}.ampel__label{min-width:4.3rem;font-size:.78rem}.ampel-lamp{gap:.4rem;padding-right:.45rem}.ampel-lamp__bulb{width:22px;height:22px}.ampel-lamp__count{display:none}}html{-webkit-text-size-adjust:100%}button,a,select,input,[role=button]{touch-action:manipulation}.app-header{padding-top:max(.75rem,env(safe-area-inset-top));padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right))}.app-content{padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.app-header__logo{white-space:nowrap}@media(max-width:900px){.app-header{padding-top:max(.5rem,env(safe-area-inset-top));padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.app-content{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.app-header__nav{overflow-x:auto;scrollbar-width:none}.app-header__nav::-webkit-scrollbar{display:none}}@media(max-width:480px){.app-content{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}}@media(max-width:560px){.app-header__nav{flex-wrap:nowrap}}@media(min-width:1100px){html{font-size:17px}}body{transition:background-color .25s ease,color .25s ease}.app-header{min-height:var(--app-header-h);background:color-mix(in srgb,var(--bg-primary) 86%,transparent)}.app-header__logo{font-weight:700}.app-header__nav{align-items:center}.app-header__link{border-radius:999px}@media(min-width:901px){.app-header__logo{font-size:1.7rem}.app-header__logo-icon{font-size:1.45rem}.app-header__nav{gap:.3rem}.app-header__link{padding:.45rem 1rem;font-size:.95rem}}.app-header__link--active{background:var(--amber-glow-strong);color:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.55rem 1.3rem;border-radius:10px;font-size:.95rem;font-weight:600;letter-spacing:.005em}.btn--sm{min-height:36px;padding:.4rem .95rem;font-size:.85rem;border-radius:9px}.btn--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--amber) 82%,#fff),var(--amber));box-shadow:0 8px 20px -12px var(--amber),inset 0 1px #ffffff47}.btn--primary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--amber) 70%,#fff),var(--amber))}.btn--ghost{background:rgb(var(--ink) / .035);border-color:var(--border-light);color:var(--text-primary)}.btn--ghost:hover{background:var(--bg-hover);border-color:var(--amber-dim)}.player-bar{min-height:54px;padding:.4rem .7rem;gap:.75rem}.arena .player-bar--top{min-height:var(--bar-h)}.player-bar__avatar{width:38px;height:38px}.player-bar__avatar svg{width:22px;height:22px}.player-bar__label{font-size:1.05rem}.player-bar__detail{font-size:.76rem}.player-bar--to-move{border-color:color-mix(in srgb,var(--amber) 60%,transparent)}.game-controls__icon{width:20px;height:20px}.arena .game-controls__btn:hover{background:var(--bg-hover)}.panel{border-radius:var(--radius-lg)}.app-header__nav>*{flex-shrink:0;white-space:nowrap}:root{--app-header-h: 74px}body{background-color:var(--bg-deep);background-image:none}h1,h2,h3{font-variation-settings:"SOFT" 100}.kinglet-script{font-family:var(--font-script);font-weight:600;font-size:1.45rem;line-height:1.1;color:var(--amber);transform:rotate(-4deg)}.app-header{gap:1.5rem;padding-top:max(.65rem,env(safe-area-inset-top));padding-bottom:.65rem;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);border-bottom:1px solid var(--border)}.app-header__logo{gap:.55rem;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-weight:700;color:var(--text-primary)}.app-header__logo:hover{color:var(--text-primary)}.app-header__logo-mascot{width:46px;height:auto;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.app-header__logo:hover .app-header__logo-mascot{transform:rotate(-8deg) scale(1.06)}.app-header__wordmark{font-size:1.95rem;letter-spacing:-.02em;line-height:1}.app-header__nav{flex:1;justify-content:center}.app-header__link{color:var(--text-secondary);font-weight:500}.app-header__link:hover{background:var(--bg-hover);color:var(--text-primary)}.app-header__link--active,.app-header__link--active:hover{background:#f4e4c4;color:var(--text-primary);font-weight:600}.app-header__actions{display:flex;align-items:center;gap:.5rem;min-width:46px;justify-content:flex-end}@media(max-width:900px){:root{--app-header-h: 62px}.app-header{gap:.75rem}.app-header__logo-mascot{width:38px}.app-header__wordmark{font-size:1.55rem}.app-header__nav{justify-content:flex-start}.app-header__actions{min-width:0}}@media(max-width:560px){:root{--app-header-h: 94px}.app-header{flex-wrap:wrap;row-gap:.4rem}.app-header__nav{order:3;flex-basis:100%}.app-header__link{padding:.35rem .8rem}}.panel{background:var(--bg-primary);border-color:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.panel--elevated{background:var(--bg-primary);box-shadow:0 24px 60px -28px rgb(var(--shadow-color) / .55)}.btn{border-radius:14px;font-weight:600}.btn--primary{color:#fffaf0;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));box-shadow:0 10px 22px -12px #8c5c14d9,inset 0 1px #ffffff4d}.btn--primary:hover{color:#fffaf0;background:linear-gradient(180deg,#d09c50,#93641a)}.btn--ghost{background:var(--bg-primary);border:1px solid var(--border-light);color:var(--text-primary)}.btn--ghost:hover{background:var(--bg-hover);border-color:var(--amber-dim);color:var(--text-primary)}.btn--lg{min-height:52px;padding:.7rem 1.7rem;font-size:1.05rem;border-radius:16px}.filter-btn{font-size:.85rem;padding:.4rem .95rem;background:var(--bg-primary)}.filter-btn--active{background:#f4e4c4;border-color:var(--amber-dim);color:var(--text-primary);font-weight:600}.speech-bubble{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1.1rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:20px;box-shadow:var(--shadow-card);font-size:.95rem;color:var(--text-secondary)}.speech-bubble strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.2rem;color:var(--text-primary)}.speech-bubble:after{content:"";position:absolute;width:18px;height:18px;background:inherit;border:inherit;border-top:0;border-left:0;border-radius:0 0 5px}.speech-bubble--down:after{bottom:-10px;left:50%;transform:translate(-50%) rotate(45deg)}.speech-bubble--right:after{right:-10px;top:50%;transform:translateY(-50%) rotate(-45deg)}.game-list-page{gap:1.5rem}.play-setup{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:2rem;padding:2rem 2.25rem;border-radius:var(--radius-xl);overflow:hidden}.play-setup__form{display:flex;flex-direction:column;gap:1.15rem;min-width:0}.play-setup__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.play-setup__title{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-top:-.6rem}.play-setup__lead{max-width:52ch;font-size:1.05rem;color:var(--text-secondary)}.play-setup__group{border:0;display:flex;flex-direction:column;gap:.5rem}.play-setup__label{font-weight:600;font-size:.95rem;color:var(--text-primary);margin-bottom:.1rem}.play-setup__help{font-size:.82rem;color:var(--text-muted)}.play-setup__error{color:var(--blunder-text);font-size:.9rem}.play-setup__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.25rem}.play-setup__host{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center}.play-setup__host .speech-bubble{margin-bottom:.6rem}.play-setup__mascot{width:min(400px,100%);height:auto;margin-top:-.5rem;filter:drop-shadow(0 18px 22px rgb(var(--shadow-color) / .22))}.play-setup__host .kinglet-script{margin-top:.4rem}.choice-row{display:flex;flex-wrap:wrap;gap:.5rem}.choice{position:relative;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.45rem 1rem .45rem .8rem;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-primary);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}.choice:hover{border-color:var(--amber-dim);color:var(--text-primary)}.choice:active{transform:scale(.97)}.choice input{position:absolute;opacity:0;pointer-events:none}.choice:has(input:focus-visible){outline:2px solid var(--amber-bright);outline-offset:2px}.choice--active{background:#f8ecd2;border-color:var(--caramel-top);color:var(--text-primary);font-weight:600;box-shadow:inset 0 0 0 1px var(--caramel-top)}.choice__glyph{font-size:1.3rem;line-height:1;color:var(--text-primary)}.choice__glyph--random{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;font-size:.8rem;font-weight:700;background:linear-gradient(90deg,#fffdf8 50%,#35261a 50%);color:var(--amber);box-shadow:inset 0 0 0 1px var(--border-light)}.switch-row{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;border-radius:16px;background:var(--success-bg);border:1px solid var(--success-border);cursor:pointer;max-width:560px}.switch-row__title{display:block;font-weight:600;color:var(--text-primary)}.switch-row__text{display:block;font-size:.86rem;color:var(--text-secondary)}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;position:relative;width:44px;height:26px;margin-top:.1rem;border-radius:999px;background:#d9ccb4;cursor:pointer;transition:background-color var(--transition)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #3c280a4d;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.switch:checked{background:var(--success)}.switch:checked:after{transform:translate(18px)}@media(max-width:860px){.play-setup{grid-template-columns:minmax(0,1fr);padding:1.5rem 1.25rem;gap:1rem}.play-setup__host{order:-1;flex-direction:row;align-items:flex-end;justify-content:flex-start}.play-setup__mascot{width:150px;margin:0;order:-1}.play-setup__host .speech-bubble{margin-bottom:1.5rem}.play-setup__host .speech-bubble--down:after{left:-10px;bottom:auto;top:50%;transform:translateY(-50%) rotate(135deg)}.play-setup__host .kinglet-script{display:none}}.game-list-page__header{flex-wrap:wrap;margin-top:.5rem}.game-list-page__title{font-size:1.7rem;font-weight:700}.game-list-page__tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.game-list-page__filter-select{background:var(--bg-primary);border-radius:999px}.game-card{border-radius:var(--radius-lg)}.game-card__player{font-family:var(--font-body);font-size:.95rem}.game-card:hover{background:var(--bg-primary);border-color:var(--amber-dim);transform:translateY(-1px)}.empty-state__mascot{width:140px;height:auto}.coming-soon{display:flex;align-items:center;gap:2.5rem;max-width:880px;margin:2rem auto;padding:2.5rem 3rem;border-radius:var(--radius-xl)}.coming-soon__mascot{width:240px;height:auto;flex:none}.coming-soon__body{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}.coming-soon__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.coming-soon__title{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;line-height:1.1;margin-top:-.5rem}.coming-soon__text{font-size:1.05rem;color:var(--text-secondary);max-width:46ch}.coming-soon__script{margin-top:.4rem}@media(max-width:700px){.coming-soon{flex-direction:column;text-align:center;padding:1.75rem 1.25rem;gap:1rem;margin-top:1rem}.coming-soon__mascot{width:170px}.coming-soon__body{align-items:center}}.coach-perch{position:relative;display:flex;align-items:center;min-height:72px;padding-right:104px;margin-bottom:.85rem}.coach-perch__bubble{position:relative;flex:1;min-width:0;padding:.65rem .9rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:16px}.coach-perch__bubble:after{content:"";position:absolute;right:-8px;top:50%;width:14px;height:14px;background:inherit;border:1px solid var(--border-light);border-left:0;border-bottom:0;border-radius:0 4px 0 0;transform:translateY(-50%) rotate(45deg)}.coach-perch__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.15rem;font-weight:700;line-height:1.2;color:var(--text-primary)}.coach-perch__text{margin-top:.1rem;font-size:.9rem;line-height:1.35;color:var(--text-secondary)}.coach-perch__mascot{position:absolute;right:-6px;bottom:-10px;width:112px;height:auto;pointer-events:none;animation:coach-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes coach-pop{0%{transform:translateY(8px) scale(.94);opacity:.4}to{transform:none;opacity:1}}.coach-perch--free{margin:1.6rem 0 0;min-height:64px}.coach-perch--free .coach-perch__bubble{background:var(--bg-primary);box-shadow:var(--shadow-card)}.coach-perch--free .coach-perch__mascot{bottom:-14px}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.coach-perch{min-height:52px;padding-right:78px;margin-bottom:.6rem}.coach-perch__mascot{width:82px}.coach-perch__title{font-size:1rem}.coach-perch__text{font-size:.82rem}.coach-perch__bubble{padding:.45rem .7rem}}.lang-menu{position:relative}.lang-menu__toggle{display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:0 .7rem;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--text-secondary);transition:background-color var(--transition),color var(--transition)}.lang-menu__toggle:hover,.lang-menu__toggle[aria-expanded=true]{color:var(--text-primary);background:var(--bg-hover)}.lang-menu__globe{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.lang-menu__chevron{font-size:.8rem;line-height:1;transform:translateY(-2px)}.lang-menu__list{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:170px;padding:.3rem;list-style:none;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card)}.lang-menu__item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;min-height:38px;padding:0 .7rem;border-radius:8px;font-size:.9rem;color:var(--text-secondary);text-align:left}.lang-menu__item:hover{background:var(--bg-hover);color:var(--text-primary)}.lang-menu__item--active{color:var(--text-primary);font-weight:600;background:var(--bg-tertiary)}.lang-menu__code{font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--text-muted)}.app-header__wordmark-sub{color:var(--amber)}.tutor-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.tutor-card__mark{background:#3a2a1c}.board-frame{border-radius:18px;background:repeating-linear-gradient(95deg,rgba(255,255,255,.035) 0 3px,transparent 3px 11px),linear-gradient(160deg,rgba(255,255,255,.12),transparent 45%,rgba(0,0,0,.14)),var(--frame-bg)}.board-frame__board{border-radius:6px}.arena__board-row .chessboard-panel__board-container{box-shadow:inset 0 1px #ffffff24,inset 0 -1px #0000004d,0 0 0 6px var(--bg-primary),0 0 0 7px var(--border),0 30px 60px -28px rgb(var(--shadow-color) / .75);border-radius:18px}.player-bar{background:var(--bg-primary);border-color:var(--border);border-radius:16px;box-shadow:0 1px 2px rgb(var(--shadow-color) / .05)}.player-bar--to-move{border-color:var(--success-border);background:linear-gradient(180deg,#f6faef,var(--bg-primary));box-shadow:0 0 0 1px var(--success-border),0 10px 24px -18px #4f8a47cc}.player-bar__status{color:var(--success);background:var(--success-bg)}.player-bar__detail{font-family:var(--font-body)}.player-bar__avatar{border-radius:12px}.player-bar__avatar--black{--avatar-bg: #3a2a1c;color:#f6ecd8}@media(max-width:600px){.arena__board-row .chessboard-panel__board-container{box-shadow:0 18px 40px -22px rgb(var(--shadow-color) / .75)}}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}#root>.app-content{width:100%;flex:1 0 auto}.app-footer{margin-top:2.5rem;border-top:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);padding:2.5rem max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left))}.app-footer__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:2rem}.app-footer__logo{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-primary);text-decoration:none}.app-footer__wordmark{font-family:var(--font-display);font-weight:700;font-size:1.45rem;letter-spacing:-.02em}.app-footer__claim{margin-top:.55rem;transform-origin:left center}.app-footer__tagline{margin-top:.8rem;max-width:36ch;font-size:.92rem;line-height:1.55}.app-footer__heading{margin-bottom:.75rem;font-family:var(--font-body);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.app-footer__col ul{list-style:none;display:flex;flex-direction:column;gap:.15rem}.app-footer__col a{display:inline-flex;align-items:center;min-height:32px;color:var(--text-secondary);text-decoration:none;font-size:.93rem}.app-footer__col a:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.app-footer__bottom{max-width:1200px;margin:2rem auto 0;padding-top:1.25rem;border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;font-size:.8rem;color:var(--text-muted)}.app-footer__bottom a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.app-footer__bottom a:hover{color:var(--text-primary)}.app-footer__motto{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}@media(max-width:900px){.app-footer__inner{grid-template-columns:repeat(3,minmax(0,1fr))}.app-footer__brand{grid-column:1 / -1}}@media(max-width:560px){.app-footer{padding-top:2rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.app-footer__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 1rem}.app-footer__bottom{flex-direction:column}}.legal-page{max-width:820px;margin:.5rem auto 0;padding:2.25rem 2.5rem;line-height:1.65;color:var(--text-secondary)}.legal-page__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.legal-page__title{margin-top:.35rem;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.15;color:var(--text-primary)}.legal-page__updated{margin-top:.4rem;font-size:.85rem;color:var(--text-muted)}.legal-page__notice{margin-top:1.25rem;padding:.75rem 1rem;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:.9rem}.legal-page__switch{color:var(--amber);font-weight:600;text-decoration:underline;text-underline-offset:2px}.legal-page__pending{padding:.6rem .9rem;border-left:3px solid var(--inaccuracy);background:#b98a0c14;border-radius:0 8px 8px 0;font-size:.9rem}.legal-page__controller{margin-top:1.75rem}.legal-page__controller h2,.legal-page__section h2{font-family:var(--font-display);font-size:1.25rem;line-height:1.3;color:var(--text-primary);margin-bottom:.6rem}.legal-page__section{margin-top:2rem;scroll-margin-top:8rem}.legal-page__section p+p,.legal-page__section p+div,.legal-page__section div+p,.legal-page__section ul+p,.legal-page__section p+ul,.legal-page__section p+address{margin-top:.75rem}.legal-page a{color:var(--amber);text-decoration:underline;text-underline-offset:2px}.legal-page__address{font-style:normal;line-height:1.7;color:var(--text-primary)}.legal-page__toc{margin-top:1.75rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.legal-page__toc ol{list-style:none;display:grid;gap:.2rem}.legal-page__toc a{text-decoration:none}.legal-page__toc a:hover{text-decoration:underline}.legal-page__table-wrap{margin-top:1rem;overflow-x:auto}.legal-page__table{width:100%;border-collapse:collapse;font-size:.88rem}.legal-page__table caption{text-align:left;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.legal-page__table th,.legal-page__table td{text-align:left;vertical-align:top;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.legal-page__table th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.legal-page__table code,.legal-page code{font-family:var(--font-mono);font-size:.82em;color:var(--text-primary);overflow-wrap:anywhere}.legal-page__credits{list-style:none;display:grid;gap:.35rem;margin-top:.75rem}.legal-page__credits li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .3rem}.legal-page__license{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.legal-page__hero{display:flex;align-items:center;gap:1.5rem;margin-top:1.5rem}.legal-page__hero .btn{text-decoration:none;color:var(--on-amber)}.legal-page__back{display:inline-block;margin-top:2.5rem;font-weight:600}@media(max-width:600px){.legal-page{padding:1.5rem 1.1rem}.legal-page__license{margin-left:0;width:100%}}.learn-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1180px;margin:0 auto}.learn-page--trainer{--side-w: clamp(320px, 30vw, 440px);--gap-x: 1.75rem;--board: min( calc(100vh - var(--app-header-h) - 6.5rem), calc(min(100vw, 1440px) - var(--side-w) - 5rem), 760px );max-width:calc(var(--board) + var(--gap-x) + var(--side-w))}@supports (height: 100dvh){.learn-page--trainer{--board: min( calc(100dvh - var(--app-header-h) - 6.5rem), calc(min(100vw, 1440px) - var(--side-w) - 5rem), 760px )}}.learn-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.learn-crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;font-size:.88rem;color:var(--text-muted)}.learn-crumbs li+li:before{content:"›";margin-right:.35rem}.learn-crumbs a{color:var(--text-secondary);font-weight:500}.learn-crumbs a:hover{color:var(--amber-bright)}.board-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:var(--board);max-width:100%;min-height:36px}.board-bar .learn-crumbs{min-width:0}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.board-bar{align-self:center}}.learn-crumbs [aria-current]{color:var(--text-primary);font-weight:600}.learn-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.75rem 3rem 1.75rem 2.25rem;border-radius:var(--radius-xl);overflow:hidden}.learn-hero__body{display:flex;flex-direction:column;gap:.9rem}.learn-hero__title{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-top:-.5rem}.learn-hero__lead{max-width:56ch;font-size:1.05rem;color:var(--text-secondary)}.learn-hero__mascot{width:170px;height:auto}.learn-phases{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.learn-phase{display:flex;flex-direction:column;gap:.4rem;height:100%;padding:1.35rem 1.4rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-primary);box-shadow:var(--shadow-card);color:var(--text-primary);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.learn-phase:hover{color:var(--text-primary);border-color:var(--amber-dim);transform:translateY(-2px)}.learn-phase:focus-visible{outline:2px solid var(--amber-bright);outline-offset:3px}.learn-phase__top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.45rem}.learn-phase__glyph{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim)}.learn-phase__glyph img{width:48px;height:48px;filter:drop-shadow(0 2px 2px rgb(var(--shadow-color) / .25))}.learn-phase__step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-light);font-size:.8rem;font-weight:700;color:var(--text-muted)}.learn-phase__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.5rem;font-weight:700;line-height:1.15}.learn-phase__text{flex:1;font-size:.95rem;color:var(--text-secondary)}.learn-phase__meta{margin-top:.6rem;font-weight:600;color:var(--amber)}.learn-phase--soon{background:var(--bg-secondary);box-shadow:none}.learn-phase--soon .learn-phase__glyph{background:var(--bg-tertiary);box-shadow:inset 0 0 0 1px var(--border-light)}.learn-phase--soon .learn-phase__glyph img{opacity:.55;filter:grayscale(.6)}.learn-phase--soon .learn-phase__meta{color:var(--text-muted);font-weight:500}.openings-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.5rem 2.5rem;padding:2rem 2.25rem;border-radius:var(--radius-xl)}.openings-head__intro{display:flex;flex-direction:column;gap:.9rem}.openings-head__modes{display:flex;flex-direction:column;gap:.6rem}.learn-steps__title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.learn-steps{list-style:none;display:flex;flex-direction:column;gap:.6rem}.learn-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .8rem;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--border);background:var(--bg-secondary)}.learn-step__num{grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:var(--on-amber);font-weight:700}.learn-step__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.1rem;font-weight:700}.learn-step__text{font-size:.88rem;color:var(--text-secondary)}.learn-step--link{color:inherit;text-decoration:none;transition:border-color var(--transition),background-color var(--transition)}.learn-step--link:hover{border-color:var(--amber-dim);background:#fbf1dc}.learn-step--link:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.openings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1rem}.opening-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.4rem 1.3rem;overflow:hidden}.opening-card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.opening-card__flag{width:48px;height:32px;filter:drop-shadow(0 4px 5px rgb(var(--shadow-color) / .28))}.learn-tag{padding:.15rem .6rem;border-radius:999px;background:var(--bg-tertiary);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.learn-tag--mono{font-family:var(--font-mono)}.opening-card__name{margin-top:.4rem;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.65rem;font-weight:700;line-height:1.1}.opening-card__variation{margin-top:-.25rem;font-size:.9rem;font-weight:500;color:var(--text-muted)}.opening-card__blurb{flex:1;color:var(--text-secondary)}.opening-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.opening-card__actions .btn{flex:1 1 auto;min-height:46px;border-radius:14px}.learn-random{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.4rem 1.3rem;border-radius:var(--radius-lg);border:1.5px dashed var(--amber-dim);background:linear-gradient(160deg,#fbf1dc,var(--bg-secondary) 65%)}.learn-random__mascot{width:96px;height:auto;margin:-.4rem 0 -.2rem -.3rem}.learn-random__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.65rem;font-weight:700;line-height:1.1}.learn-random__sub{flex:1;color:var(--text-secondary)}.learn-random__sides{border:0;display:flex;flex-direction:column;gap:.4rem;margin-top:.3rem}.learn-random__legend{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.learn-random .choice-row{gap:.4rem}.learn-random .choice{padding:.4rem .75rem .4rem .6rem;gap:.35rem;font-size:.92rem}.learn-random .btn--lg{margin-top:.5rem;min-height:46px;border-radius:14px;font-size:.95rem}@media(max-width:860px){.learn-hero{padding:1.5rem 1.25rem;gap:.5rem}.learn-hero__mascot{width:120px}.learn-phases{grid-template-columns:minmax(0,1fr)}.learn-phase{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem 1rem}.learn-phase__top{grid-row:span 3;margin:0}.learn-phase__step{display:none}.learn-phase__glyph{width:56px;height:56px;border-radius:18px}.learn-phase__glyph img{width:42px;height:42px}.learn-phase__meta{margin-top:.2rem}.openings-head{grid-template-columns:minmax(0,1fr);padding:1.5rem 1.25rem}}@media(max-width:480px){.learn-hero{grid-template-columns:minmax(0,1fr)}.learn-hero__mascot{display:none}}.trainer{display:grid;grid-template-columns:var(--board) var(--side-w);grid-template-areas:"board head" "board coach" "board panel";grid-template-rows:auto auto 1fr;gap:.9rem var(--gap-x);justify-content:center;align-items:start}.trainer__head{grid-area:head;display:flex;align-items:center;gap:.9rem}.trainer__flag{flex:none;width:66px;height:44px;filter:drop-shadow(0 5px 6px rgb(var(--shadow-color) / .3))}.trainer__heading{min-width:0}.trainer__mode{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#f8ecd2;color:var(--amber-bright)}.trainer__mode--quiz{background:var(--success-bg);color:#3f7338}.trainer__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:700;line-height:1.1}.trainer__sub{font-size:.9rem;color:var(--text-muted)}.trainer__coach{grid-area:coach}.trainer__coach .coach-perch--free{margin-top:.4rem;min-height:88px}.trainer__tip{margin-top:.9rem;padding:.5rem .8rem;border-radius:12px;background:var(--success-bg);border:1px solid var(--success-border);font-size:.86rem;color:var(--text-secondary)}.trainer__board{grid-area:board;position:sticky;top:calc(var(--app-header-h) + 1rem);min-width:0}.trainer-board{box-shadow:inset 0 1px #ffffff24,inset 0 -1px #0000004d,0 0 0 6px var(--bg-primary),0 0 0 7px var(--border),0 30px 60px -28px rgb(var(--shadow-color) / .75);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.trainer-board .board-frame__board:focus-visible{outline:3px solid var(--amber-bright);outline-offset:2px}@keyframes trainer-pulse{0%,to{box-shadow:inset 0 0 0 4px #4f8a47e6}50%{box-shadow:inset 0 0 0 7px #4f8a478c}}.trainer__panel{grid-area:panel;display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.15rem 1.2rem}.trainer-sides{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.trainer-side{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .75rem .9rem;border-radius:16px;border:1px solid var(--border-light);background:var(--bg-primary);font-weight:600;font-size:1rem;color:var(--text-primary);transition:background-color var(--transition),border-color var(--transition),transform var(--transition)}.trainer-side:hover{background:#f8ecd2;border-color:var(--caramel-top)}.trainer-side:active{transform:scale(.97)}.trainer-side:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px}.trainer-side__piece{width:56px;height:56px;filter:drop-shadow(0 3px 3px rgb(var(--shadow-color) / .3))}.trainer-progress{display:flex;flex-direction:column;gap:.4rem}.trainer-progress__label{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.trainer-progress__bar{height:10px;border-radius:999px;background:var(--bg-tertiary);box-shadow:inset 0 1px 2px rgb(var(--ink) / .12);overflow:hidden}.trainer-progress__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom));transition:width .45s cubic-bezier(.34,1.56,.64,1)}.trainer-actions{display:flex;flex-wrap:wrap;gap:.5rem}.trainer-actions .btn{flex:1 1 auto;min-height:44px;border-radius:14px}.trainer-actions .btn:disabled{opacity:.45;cursor:default}.trainer-actions__hint:not(:disabled){background:#fbf1dc;border-color:var(--amber-dim);color:var(--amber-bright)}.trainer-actions__hint:not(:disabled):hover{background:#f6e5c3}.trainer-result{display:flex;flex-direction:column;gap:.8rem}.trainer-result__stats{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.trainer-result__stat{padding:.3rem .75rem;border-radius:999px;background:var(--bg-tertiary);font-size:.88rem;font-weight:600;color:var(--text-secondary)}.trainer-result__stat--clean{background:var(--success-bg);color:#3f7338}.play-on{display:flex;flex-direction:column;gap:.65rem;padding:.9rem 1rem 1rem;border-radius:16px;background:#fbf4e4;border:1px solid var(--border)}.trainer-result .play-on{margin-top:.2rem}.play-on__title{font-size:1rem;font-weight:700;color:var(--text-primary)}.play-on__text{font-size:.9rem;color:var(--text-secondary)}.trainer-line{display:flex;flex-direction:column;gap:.5rem;padding-top:.9rem;border-top:1px solid var(--border)}.trainer-line__title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.trainer-line__empty{font-size:.88rem;color:var(--text-muted)}.trainer-line__list{list-style:none;display:flex;flex-direction:column;gap:.35rem;max-height:max(200px,calc(var(--board) - 390px));overflow-y:auto;padding-right:.2rem;scroll-behavior:smooth;overscroll-behavior:contain}.trainer-line__item{display:grid;grid-template-columns:auto 4.6rem minmax(0,1fr);align-items:baseline;gap:.5rem;padding:.45rem .65rem;border-radius:12px;border:1px solid transparent}.trainer-line__item--mine{background:var(--bg-tertiary)}.trainer-line__item--latest{border-color:var(--amber-dim);background:#fdf6e8;animation:trainer-line-in .35s ease-out}@keyframes trainer-line-in{0%{opacity:0}to{opacity:1}}.trainer-line__dot{width:10px;height:10px;border-radius:50%;transform:translateY(1px)}.trainer-line__dot--white{background:#fffdf8;box-shadow:inset 0 0 0 1.5px #b9a98f}.trainer-line__dot--black{background:#3a2a1c}.trainer-line__san{font-family:var(--font-mono);font-size:.85rem;font-weight:700;white-space:nowrap;color:var(--text-primary)}.trainer-line__why{font-size:.86rem;line-height:1.4;color:var(--text-secondary)}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.learn-page--trainer{--board: min( calc(100vw - 2rem) , 620px);max-width:none}.trainer{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "coach" "board" "panel";grid-template-rows:auto;gap:.75rem}.trainer__board{position:static;width:var(--board);max-width:100%;justify-self:center}.trainer__coach .coach-perch--free{min-height:64px;margin-top:0}.trainer__tip{margin-top:.6rem}.trainer-line__list{max-height:none}}@media(max-width:600px){.learn-page--trainer{--board: calc(100vw - 1.5rem) }.trainer__flag{width:52px;height:35px}.trainer-board{box-shadow:0 18px 40px -22px rgb(var(--shadow-color) / .75)}.trainer__panel{padding:.95rem}}.lesson-badge{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim)}.lesson-badge img{width:44px;height:44px;filter:drop-shadow(0 2px 2px rgb(var(--shadow-color) / .25))}.lesson-badge--card{width:64px;height:64px}.lesson-badge--card img{width:48px;height:48px}.lesson-idea{padding:.8rem .95rem .85rem;border-radius:14px;background:#fdf6e8;border:1px solid #f0dfbd}.lesson-idea__title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-bright)}.lesson-idea__list{margin:.45rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}.lesson-idea__list li{font-size:.9rem;line-height:1.45;color:var(--text-secondary)}.lesson-idea__list li::marker{color:var(--caramel-top)}.lesson-idea--folded{background:var(--bg-secondary);border-color:var(--border)}.lesson-idea--folded summary{cursor:pointer;list-style-position:inside}.lesson-idea--folded[open] summary{margin-bottom:.1rem}.lesson-prompt{padding:.7rem .9rem;border-radius:14px;background:var(--success-bg);border:1px solid var(--success-border);font-weight:500;line-height:1.45;color:var(--text-primary)}.playout-goal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem}.trainer-progress__bar--low .trainer-progress__fill{background:linear-gradient(90deg,#e6a04a,var(--mistake))}.playout-moves{font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--text-primary);word-spacing:.15rem}.lesson-finished{padding:.75rem .95rem;border-radius:14px;background:var(--success-bg);border:1px solid var(--success-border)}.lesson-finished__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.2rem;font-weight:700;color:#3f7338}.lesson-finished__text{font-size:.9rem;color:var(--text-secondary)}.learn-phase--rules,.category-glyph--rules{--cat-bg: var(--bg-tertiary);--cat-ring: var(--border-light)}.learn-phase--coordinates,.category-glyph--coordinates,.lesson-card--coordinates{--cat-bg: #e8eff3;--cat-ring: #bcd0dc}.learn-phase--tactics,.category-glyph--tactics,.lesson-card--tactics{--cat-bg: #f8ecd2;--cat-ring: var(--amber-dim)}.learn-phase--checkmates,.category-glyph--checkmates,.lesson-card--checkmates{--cat-bg: #f7e4dc;--cat-ring: #e3b7a5}.learn-phase--openings,.category-glyph--openings{--cat-bg: #f8ecd2;--cat-ring: var(--amber-dim)}.learn-phase--endgame,.category-glyph--endgame,.lesson-card--endgame{--cat-bg: var(--success-bg);--cat-ring: var(--success-border)}.category-glyph{background:var(--cat-bg, #f8ecd2);box-shadow:inset 0 0 0 1px var(--cat-ring, var(--amber-dim));flex:none}.lesson-card .lesson-badge{background:var(--cat-bg, #f8ecd2);box-shadow:inset 0 0 0 1px var(--cat-ring, var(--amber-dim))}.category-glyph--sm{width:44px;height:44px;border-radius:14px}.category-glyph--sm img{width:32px;height:32px}.category-glyph__tile{position:relative;display:grid;grid-template-columns:1fr 1fr;width:42px;height:42px;border-radius:7px;overflow:hidden;box-shadow:0 2px 4px rgb(var(--shadow-color) / .3),0 0 0 2px color-mix(in oklab,var(--board-dark) 55%,#2a1a0c)}.category-glyph__tile span:nth-child(1),.category-glyph__tile span:nth-child(4){background:var(--board-light)}.category-glyph__tile span:nth-child(2),.category-glyph__tile span:nth-child(3){background:var(--board-dark)}.category-glyph__tile b{position:absolute;inset:auto 0 50%;translate:0 50%;margin:0 auto;width:max-content;padding:.05rem .3rem;border-radius:6px;background:#fffaf0;font-family:var(--font-display);font-size:.82rem;font-weight:800;line-height:1.1;color:var(--text-primary);box-shadow:0 1px 2px rgb(var(--shadow-color) / .35)}.category-glyph--sm .category-glyph__tile{width:32px;height:32px;border-radius:6px}.category-glyph--sm .category-glyph__tile b{font-size:.68rem}.learn-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;border:1px dashed var(--border-light);background:var(--bg-primary);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.learn-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber-dim)}.learn-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;gap:0 1.25rem}.learn-group{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:.75rem;padding:.75rem .75rem .85rem;border-radius:var(--radius-xl);border:1px solid var(--border);background:linear-gradient(180deg,#f8efdf,var(--bg-tertiary) 7rem);box-shadow:inset 0 1px #ffffffb3}.learn-group__head{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem .6rem .85rem;border-bottom:1px solid var(--border-light)}.learn-group__num{flex:none;display:grid;place-items:center;width:30px;height:30px;margin-top:.15rem;border-radius:50%;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:var(--on-amber);font-weight:700;font-size:.9rem;box-shadow:0 3px 8px -3px rgb(var(--shadow-color) / .6)}.learn-group__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.3rem;font-weight:700;line-height:1.15}.learn-group__text{font-size:.88rem;color:var(--text-muted)}.learn-categories{list-style:none;display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:.75rem}.learn-categories li{display:flex}.learn-categories .learn-phase{flex:1}.learn-phase .learn-phase__glyph{background:var(--cat-bg, #f8ecd2);box-shadow:inset 0 0 0 1px var(--cat-ring, var(--amber-dim))}.learn-categories .learn-phase{position:relative}.learn-phase__top .learn-badge{position:absolute;top:1rem;right:1rem}.learn-phase--soon{border-style:dashed;border-color:var(--border-light);background:#ffffff80}.learn-phase--soon .learn-phase__name{color:var(--text-secondary)}.learn-faq{display:grid;gap:.6rem;margin-top:.5rem}.learn-faq__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.1rem;font-weight:700;color:var(--text-secondary)}.learn-faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.25rem;align-items:start}.learn-faq__item{border-bottom:1px solid var(--border-light)}.learn-faq__item summary{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .1rem;cursor:pointer;list-style:none;font-weight:600;font-size:.95rem}.learn-faq__item summary::-webkit-details-marker{display:none}.learn-faq__item summary:after{content:"+";flex:none;color:var(--amber);font-size:1.15rem;font-weight:600;line-height:1;transition:transform .15s ease}.learn-faq__item[open] summary:after{transform:rotate(45deg)}.learn-faq__item p{padding:0 .1rem .7rem;font-size:.9rem;color:var(--text-secondary)}.learn-faq__more{justify-self:start;font-size:.9rem;font-weight:600}@media(max-width:760px){.learn-faq__list{grid-template-columns:1fr}}.learn-continue{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem 1.25rem;padding:1rem 7.5rem 1rem 1.1rem;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--amber-dim);overflow:hidden}.learn-continue__title{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.learn-continue__what{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-top:.2rem}.learn-continue__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.35rem;font-weight:700;line-height:1.15}.learn-continue__go{min-height:46px;border-radius:14px;white-space:nowrap}.learn-continue__mascot{position:absolute;right:1rem;bottom:-6px;width:84px;height:auto}.category-head{display:flex;align-items:center;gap:.75rem}.category-head .learn-phase__glyph{width:52px;height:52px;border-radius:16px}.category-head .learn-phase__glyph img{width:38px;height:38px}.category-head .category-glyph__tile{width:36px;height:36px}.category-head .category-glyph__tile b{font-size:.74rem}.category-topics{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.category-topics a.learn-tag{display:inline-block;padding:.3rem .75rem;font-size:.8rem;color:var(--text-secondary);border:1px solid transparent;transition:border-color var(--transition),background-color var(--transition)}.category-topics a.learn-tag:hover{border-color:var(--amber-dim);background:#fbf1dc;color:var(--text-primary)}.learn-topic{display:flex;flex-direction:column;gap:.8rem;scroll-margin-top:calc(var(--app-header-h) + 1rem)}.learn-topic__head{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;padding:.4rem .25rem 0}.learn-topic__num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--caramel-top);color:var(--amber);font-size:.82rem;font-weight:700}.learn-topic__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.45rem;font-weight:700;line-height:1.15}.learn-topic__count{font-size:.85rem;font-weight:600;color:var(--text-muted)}.learn-topic__text{flex-basis:100%;font-size:.92rem;color:var(--text-secondary)}.learn-topics{display:flex;flex-direction:column;gap:2rem}.learn-topics .learn-topic__head{padding-bottom:.55rem;border-bottom:1px solid var(--border)}.learn-topic__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}@media(max-width:1100px){.learn-topic__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.learn-topic__cards{grid-template-columns:minmax(0,1fr)}}.learn-crosslinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:.75rem}.learn-crosslink{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.75rem 1rem .75rem .75rem;border-radius:var(--radius-lg);border:1px dashed var(--amber-dim);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition),background-color var(--transition),transform var(--transition)}.learn-crosslink:hover{color:var(--text-primary);background:var(--bg-primary);border-style:solid;transform:translateY(-1px)}.learn-crosslink .lesson-badge{width:50px;height:50px;border-radius:15px}.learn-crosslink .lesson-badge img{width:38px;height:38px}.learn-crosslink__body{display:flex;flex-direction:column;min-width:0}.learn-crosslink__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.15rem;font-weight:700}.learn-crosslink__home{font-size:.82rem;color:var(--text-muted)}.learn-crosslink__arrow,.learn-series__card:after{color:var(--amber);font-weight:700}.learn-series{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.75rem}.learn-series__card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.4rem .8rem;height:100%;padding:.85rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-primary);box-shadow:var(--shadow-card);color:var(--text-primary);transition:border-color var(--transition),transform var(--transition)}.learn-series__card:hover{color:var(--text-primary);border-color:var(--amber-dim);transform:translateY(-2px)}.learn-series__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--board-light) 50%,var(--board-dark) 50%);box-shadow:inset 0 0 0 1px rgb(var(--ink) / .12)}.learn-series__icon img{filter:drop-shadow(0 2px 2px rgb(var(--shadow-color) / .35))}.learn-series__body{display:flex;flex-direction:column;min-width:0}.learn-series__name{font-weight:700}.learn-series__meta{font-size:.82rem;color:var(--text-muted)}.learn-series__bar{grid-column:1 / -1;height:6px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.learn-series__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom))}.puzzle-series__title{scroll-margin-top:calc(var(--app-header-h) + 1rem)}.puzzle-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.puzzle-jump__card{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem .9rem;border:1px solid var(--border);border-radius:18px;background:var(--bg-secondary);box-shadow:0 6px 18px rgb(var(--shadow-color) / .06)}.puzzle-jump__head{display:flex;align-items:center;gap:.65rem;padding:0 0 .45rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.puzzle-jump__icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--board-light) 50%,var(--board-dark) 50%);box-shadow:inset 0 0 0 1px rgb(var(--ink) / .12)}.puzzle-jump__icon img{filter:drop-shadow(0 2px 2px rgb(var(--shadow-color) / .35))}.puzzle-jump__title{flex:1;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.2rem;font-weight:700}.puzzle-jump__total{font-size:.85rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.puzzle-jump__head:hover .puzzle-jump__title{color:var(--amber-bright)}.puzzle-jump__list{list-style:none;display:flex;flex-direction:column}.puzzle-jump__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem .75rem;padding:.45rem .5rem .5rem;border-radius:10px;color:var(--text-primary)}.puzzle-jump__row:hover{background:var(--bg-hover)}.puzzle-jump__row:hover .puzzle-jump__name{color:var(--amber-bright)}.puzzle-jump__name{font-size:.93rem;font-weight:600}.puzzle-jump__count{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.puzzle-jump__row--done .puzzle-jump__count{color:#3f7338}.puzzle-jump__bar{grid-column:1 / -1;height:4px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.puzzle-jump__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom))}.puzzle-jump__row--done .puzzle-jump__bar span{background:#6fa865}.puzzle-group__title{scroll-margin-top:calc(var(--app-header-h) + 1rem)}.puzzle-group{display:flex;flex-direction:column;gap:1.75rem;margin-top:1rem}.puzzle-group__head{padding:0 .25rem .6rem;border-bottom:2px solid var(--border)}.puzzle-group__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.75rem;font-weight:700;line-height:1.15}.puzzle-group__text{margin-top:.2rem;font-size:.95rem;color:var(--text-secondary)}.puzzle-series__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;padding:0 .25rem .75rem}.puzzle-series__head .puzzle-series__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.3rem;font-weight:700;line-height:1.2}.puzzle-series__text{flex-basis:100%;order:3;font-size:.9rem;color:var(--text-secondary)}.puzzle-series__head .collection-progress{margin:0;font-size:.85rem;color:var(--text-muted)}@media(max-width:760px){.puzzle-jump{grid-template-columns:minmax(0,1fr)}.puzzle-group__title{font-size:1.45rem}}.learn-back{padding:.25rem;font-weight:600}.learn-back a{color:var(--text-secondary)}.learn-back a:hover{color:var(--amber-bright)}.learn-soon{display:flex;flex-direction:column;gap:.55rem;padding:1.5rem 1.4rem 1.3rem;border-radius:var(--radius-lg);border:1.5px dashed var(--border-light);background:var(--bg-secondary)}.learn-soon__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.4rem;font-weight:700;color:var(--text-secondary)}.learn-soon__text{font-size:.92rem;color:var(--text-muted)}.learn-soon__list{list-style:none;display:flex;flex-direction:column;gap:.45rem;margin-top:.3rem}.learn-soon__list li{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:12px;background:var(--bg-primary);border:1px solid var(--border);font-weight:600;color:var(--text-secondary)}.naming__body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.1rem}.naming__list{padding-left:1.1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;color:var(--text-secondary)}.naming__list li::marker{color:var(--caramel-top);font-weight:700}.naming-diagram{padding:8px;border-radius:12px;background:linear-gradient(160deg,rgba(255,255,255,.12),transparent 45%,rgba(0,0,0,.14)),color-mix(in oklab,var(--board-dark) 55%,#2a1a0c);box-shadow:0 14px 26px -18px rgb(var(--shadow-color) / .9)}.naming-diagram__board{display:grid;grid-template-columns:18px repeat(4,38px);grid-template-rows:repeat(3,38px) 18px}.naming-diagram__sq{position:relative;display:grid;place-items:center;background:var(--board-dark)}.naming-diagram__sq--light{background:var(--board-light)}.naming-diagram__sq--file:after,.naming-diagram__sq--rank:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#4f8a4738}.naming-diagram__sq--target:after{background:#4f8a4773;box-shadow:inset 0 0 0 3px #4f8a47f2}.naming-diagram__sq b{position:relative;z-index:1;padding:0 .3rem;border-radius:6px;background:#fffaf0;font-family:var(--font-display);font-weight:800;font-size:.85rem;color:var(--text-primary)}.naming-diagram__label{display:grid;place-items:center;color:var(--board-light);font-size:.72rem;font-weight:700}.home-learn__glyph:has(.category-glyph__tile){background:#e8eff3;box-shadow:inset 0 0 0 1px #bcd0dc}.home-learn__glyph .category-glyph__tile{width:28px;height:28px;border-radius:6px}.home-learn__glyph .category-glyph__tile b{font-size:.62rem;padding:0 .2rem}.square-board__grid{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:6px;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.square-board__row{display:contents}.square-board__cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0}.square-board__grid--active .square-board__cell{cursor:pointer}@media(hover:hover){.square-board__grid--active .square-board__cell:hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fffaf029;box-shadow:inset 0 0 0 3px #ecbe5abf}}.square-board__grid{position:relative}.square-board__pieces{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.square-board__piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;transition:transform .24s cubic-bezier(.3,.7,.3,1);will-change:transform}.square-board__piece--drag{z-index:3;transition:none;filter:drop-shadow(0 6px 8px rgb(56 38 20 / .35))}.square-board__grid--dragging,.square-board__grid--dragging .square-board__cell{cursor:grabbing}.square-board__grid--draggable{touch-action:none}.square-board__cell--last{box-shadow:inset 0 0 0 999px #ecbe5a61}.square-board__cell--picked{box-shadow:inset 0 0 0 999px #6f9f2c6b}.square-board__dest{position:absolute;z-index:1;width:28%;height:28%;border-radius:50%;background:#38261438;pointer-events:none}.square-board__dest--capture{width:86%;height:86%;background:none;border:5px solid rgba(56,38,20,.22)}@media(prefers-reduced-motion:reduce){.square-board__piece{transition:none}}.square-board__cell--hint:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#4f8a4742;box-shadow:inset 2px 0 #4f8a4780,inset -2px 0 #4f8a4780;animation:square-hint .4s ease-out}.square-board__cell--cursor{z-index:1;box-shadow:inset 0 0 0 4px var(--amber-bright)}.square-board__flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;pointer-events:none}.square-board__flash--good{background:#6f9f2c80;box-shadow:inset 0 0 0 4px #4f8a47f2;animation:square-flash .7s ease-out forwards}.square-board__flash--bad{background:#cf3f3b6b;box-shadow:inset 0 0 0 4px #b92f2be6;animation:square-flash 1.1s ease-out forwards}.square-board__name{padding:.12em .5em;border-radius:999px;background:#fffaf0;font-family:var(--font-display);font-size:1em;font-weight:800;line-height:1.15;color:var(--text-primary);box-shadow:0 2px 6px rgb(var(--shadow-color) / .45);animation:square-name .35s cubic-bezier(.34,1.56,.64,1)}.square-board__flash--bad .square-board__name{color:var(--blunder-text);animation:square-name .35s cubic-bezier(.34,1.56,.64,1),square-shake .4s .05s ease-in-out}@keyframes square-flash{0%,65%{opacity:1}to{opacity:0}}@keyframes square-name{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes square-shake{0%,to{translate:0}25%{translate:-4px}75%{translate:4px}}@keyframes square-hint{0%{opacity:0}to{opacity:1}}.square-target{scroll-margin-top:calc(var(--app-header-h) + .75rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;border-radius:var(--radius-lg);border:1px solid var(--amber-dim);background:linear-gradient(150deg,#fbf1dc,var(--bg-primary) 70%);box-shadow:var(--shadow-card)}.square-target__main{display:flex;align-items:baseline;gap:.9rem}.square-target__label{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.square-target__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:clamp(2.6rem,4.6vw,3.6rem);font-weight:800;line-height:1;letter-spacing:.01em;color:var(--text-primary);animation:square-name .32s cubic-bezier(.34,1.56,.64,1)}.square-target--idle .square-target__name{color:var(--amber-dim)}.square-target--paused .square-target__name{opacity:.45}.square-target--done{background:linear-gradient(150deg,var(--success-bg),var(--bg-primary) 70%);border-color:var(--success-border)}.square-target--done .square-target__name{color:#3f7338}.square-target__go{min-height:50px;padding-inline:1.6rem;border-radius:14px;font-size:1rem}.square-target__clock{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;gap:0 .4rem;min-width:8.5rem}.square-target__seconds{font-family:var(--font-mono);font-size:2rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--text-primary)}.square-target__unit{font-size:.75rem;font-weight:600;color:var(--text-muted)}.square-target__bar{grid-column:1 / -1;height:8px;margin-top:.4rem;border-radius:999px;background:var(--bg-tertiary);box-shadow:inset 0 1px 2px rgb(var(--ink) / .12);overflow:hidden}.square-target__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom))}.square-target--low .square-target__seconds{color:var(--blunder-text)}.square-target--low .square-target__fill{background:linear-gradient(90deg,#e6a04a,var(--mistake))}.square-trainer .trainer__coach{display:flex;flex-direction:column;gap:.3rem}.square-stats{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.square-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .4rem;border-radius:14px;background:var(--bg-tertiary)}.square-stat__value{font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}.square-stat__label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.square-stat--good{background:var(--success-bg)}.square-stat--good .square-stat__value{color:#3f7338}.square-stat--bad{background:#fbeceb}.square-stat--bad .square-stat__value{color:var(--blunder-text)}.square-notice{display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border-radius:12px;background:#e8eff3;border:1px solid #bcd0dc;font-size:.86rem;font-weight:600;color:#2d4b5c}.square-notice--error{background:#fbeceb;border-color:#efc4c1;color:var(--blunder-text)}.square-icon{flex:none;vertical-align:-3px}@keyframes square-menu{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.square-settings{display:flex;flex-direction:column;gap:.85rem}.square-settings__group,.square-modes{border:0;display:flex;flex-direction:column;gap:.4rem;min-width:0}.square-settings__legend{margin-bottom:.4rem;font-size:.88rem;font-weight:600;color:var(--text-primary)}.square-settings .choice-row{gap:.4rem}.square-settings .choice{min-height:40px;padding:.35rem .85rem;font-size:.9rem}.square-settings__note{font-size:.8rem;color:var(--text-muted)}.square-settings .btn--lg{min-height:48px;border-radius:14px}.square-modes{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.square-modes legend{grid-column:1 / -1}.square-mode{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem .55rem;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-primary);cursor:pointer;transition:border-color var(--transition),background-color var(--transition),transform var(--transition)}.square-mode:hover{border-color:var(--amber-dim)}.square-mode:active{transform:scale(.98)}.square-mode input{position:absolute;opacity:0;pointer-events:none}.square-mode:has(input:focus-visible){outline:2px solid var(--amber-bright);outline-offset:2px}.square-mode__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-tertiary);color:var(--amber)}.square-mode__name{font-weight:700;color:var(--text-primary)}.square-mode__text{grid-column:1 / -1;font-size:.78rem;line-height:1.35;color:var(--text-muted)}.square-mode--active{background:#f8ecd2;border-color:var(--caramel-top);box-shadow:inset 0 0 0 1px var(--caramel-top)}.square-mode--active .square-mode__icon{background:#fffaf0}.square-record{padding-top:.85rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem}.square-record__title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.square-record__value{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}.square-record__value strong{font-family:var(--font-display);font-size:1.35rem;color:var(--amber-bright)}.square-record__value span,.square-record__none{font-size:.86rem;color:var(--text-secondary)}.square-record__note{font-size:.78rem;color:var(--text-muted)}@media(max-width:1100px){.learn-groups{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:1.25rem}.learn-group{grid-row:auto;grid-template-rows:none}.learn-categories{grid-row:auto;grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.learn-categories{grid-template-columns:minmax(0,1fr)}.learn-continue{grid-template-columns:auto minmax(0,1fr);padding-right:1.1rem}.learn-continue__go{grid-column:1 / -1}.learn-continue__mascot{display:none}.naming__body{grid-template-columns:minmax(0,1fr);justify-items:start}}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.square-target{padding:.65rem .95rem}.square-target__name{font-size:2.6rem}}@media(max-width:480px){.square-modes{grid-template-columns:minmax(0,1fr)}.square-target__clock{min-width:6.5rem}}.puzzles-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1180px;margin:0 auto}.puzzles-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:2.1rem 2.25rem;border-radius:var(--radius-xl);overflow:hidden}.puzzles-hero__body{display:flex;flex-direction:column;gap:.9rem}.puzzles-hero__note{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;margin-top:.2rem;padding:.4rem .85rem .4rem .65rem;border-radius:999px;background:var(--success-bg);border:1px solid var(--success-border);font-size:.88rem;font-weight:600;color:#3f7338}.puzzles-hero__note svg{flex:none}.storage-note{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;margin-top:.2rem;padding:.35rem .45rem .35rem .65rem;border:1px solid var(--success-border);border-radius:999px;background:var(--success-bg);font:inherit;font-size:.88rem;font-weight:600;color:#3f7338;cursor:pointer}.storage-note:hover,.storage-note[aria-expanded=true]{border-color:#3f7338}.storage-note svg{flex:none}.storage-note__more{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#3f7338;color:#fff;font-family:var(--font-display);font-size:.72rem;font-weight:700;font-style:italic}.storage-pop{position:fixed;inset:auto;margin:0;width:min(340px,calc(100vw - 24px));padding:.95rem 1.05rem 1rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-secondary);box-shadow:0 14px 36px rgb(var(--shadow-color) / .18);font-size:.9rem;line-height:1.45;color:var(--text-secondary)}.storage-pop p+p{margin-top:.5rem}.storage-pop__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.storage-pop__cta{margin-top:.8rem}.puzzles-hero__mascot{width:130px;height:auto}.puzzles-score__label{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.puzzles-score__value{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;color:var(--text-muted)}.puzzles-score__value strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:2.4rem;line-height:1;color:var(--text-primary)}.puzzles-score__bar{height:10px;border-radius:999px;background:var(--bg-tertiary);box-shadow:inset 0 1px 2px rgb(var(--ink) / .12);overflow:hidden}.puzzles-score__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f4c667,#d8962a);transition:width .6s ease}.puzzles-score__solved{font-size:.9rem;color:var(--text-secondary)}.puzzles-score__done{font-size:.9rem;font-weight:600;color:#3f7338}.puzzles-score__cta{margin-top:.35rem;min-height:48px}.star-row{display:inline-flex;align-items:center;gap:2px}.star{width:20px;height:20px;fill:var(--bg-tertiary);stroke:var(--border-light);stroke-width:1.2;stroke-linejoin:round}.star--on{fill:#f1b340;stroke:#c98a1e}.star--solo{width:30px;height:30px}.star-row--sm .star{width:17px;height:17px}.star-row--lg{gap:6px}.star-row--lg .star{width:44px;height:44px;filter:drop-shadow(0 4px 6px rgb(var(--shadow-color) / .25))}.star-row--lg .star:nth-child(2){transform:translateY(-8px)}.star-row--pop .star--on{animation:star-pop .55s cubic-bezier(.3,1.6,.5,1) both}.star-row--pop .star--on:nth-child(2){animation-delay:.15s}.star-row--pop .star--on:nth-child(3){animation-delay:.3s}@keyframes star-pop{0%{opacity:0;scale:.2;rotate:-40deg}to{opacity:1;scale:1;rotate:0deg}}.puzzle-level{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .6rem .15rem .5rem;border-radius:999px;background:var(--lvl-bg);color:var(--lvl-ink);font-size:.75rem;font-weight:700;white-space:nowrap}.puzzle-level__pips{display:inline-flex;gap:2px}.puzzle-level__pips span{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.22}.puzzle-level__pips span.on{opacity:1}.puzzle-level--easy{--lvl-bg: var(--success-bg);--lvl-ink: #3f7338}.puzzle-level--medium{--lvl-bg: #f8ecd2;--lvl-ink: var(--amber-bright)}.puzzle-level--hard{--lvl-bg: #fbe5dc;--lvl-ink: #a3401d}.puzzle-to-move{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.puzzle-to-move__dot{width:11px;height:11px;border-radius:50%}.puzzle-to-move__dot--white{background:#fffdf8;box-shadow:inset 0 0 0 1.5px #b9a98f}.puzzle-to-move__dot--black{background:#3a2a1c}.puzzle-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.puzzle-card{display:flex;flex-direction:column;height:100%;border-radius:var(--radius-lg);background:var(--bg-primary);border:1px solid var(--border);box-shadow:var(--shadow-card);color:var(--text-primary);overflow:hidden;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}a.puzzle-card{display:grid;grid-template-areas:"top" "board" "body";grid-template-rows:auto auto 1fr}a.puzzle-card:hover{color:var(--text-primary);border-color:var(--amber-dim);transform:translateY(-3px);box-shadow:0 1px 2px rgb(var(--shadow-color) / .06),0 24px 40px -24px rgb(var(--shadow-color) / .6)}a.puzzle-card:focus-visible{outline:2px solid var(--amber-bright);outline-offset:3px}.puzzle-card__top{grid-area:top;display:flex;align-items:center;gap:.5rem;padding:.8rem .85rem 0}.puzzle-card__num{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:var(--on-amber);font-family:var(--font-display);font-size:1.05rem;font-weight:700;box-shadow:0 6px 12px -7px #8c5c14e6,inset 0 1px #ffffff4d}.puzzle-card__seal{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:50%;background:var(--success);color:#fff;box-shadow:0 6px 12px -7px #285a1ee6}.puzzle-card__board{grid-area:board;padding:.7rem .85rem 0}.puzzle-card__body{grid-area:body;display:flex;flex-direction:column;gap:.35rem;padding:.8rem 1rem 1rem}.puzzle-card__title{flex:1;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.35rem;font-weight:700;line-height:1.15}.puzzle-card__body .puzzle-card__title{flex:none}.puzzle-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.7rem;border-top:1px dashed var(--border-light)}.puzzle-card__body .puzzle-to-move{margin-bottom:.3rem}.puzzle-card__cta{font-size:.92rem;font-weight:600;color:var(--amber);white-space:nowrap}.puzzle-card--solved .puzzle-card__cta{color:var(--text-muted)}.puzzle-card--soon{align-items:center;justify-content:center;gap:.4rem;min-height:240px;padding:1.5rem 1.25rem;text-align:center;background:var(--bg-secondary);border:2px dashed var(--border-light);box-shadow:none}.puzzle-card--soon .mascot{width:96px;height:auto;opacity:.9}.puzzle-card--soon .puzzle-card__title{flex:none;font-size:1.15rem}.puzzle-card__soon-body{display:flex;flex-direction:column;align-items:center;gap:.3rem}.puzzle-card__soon-text{font-size:.9rem;color:var(--text-muted);max-width:26ch}.mini-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px rgb(var(--ink) / .14),0 12px 24px -18px rgb(var(--shadow-color) / .9)}.mini-board__sq{display:grid;place-items:center;min-width:0;min-height:0;background:var(--sq-light)}.mini-board__sq--dark{background:var(--sq-dark)}.mini-board__sq img{display:block;width:90%;height:90%;object-fit:contain;pointer-events:none}.puzzle-rules{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.75rem;padding:.9rem 1.3rem;border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border)}.puzzle-rules__title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.puzzle-rules__list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.puzzle-rules__list li{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.puzzle-badge{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:var(--on-amber);font-family:var(--font-display);font-size:1.8rem;font-weight:700;box-shadow:0 12px 22px -12px #8c5c14e6,inset 0 1px #ffffff4d}.puzzle-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding-top:.9rem;border-top:1px solid var(--border)}.puzzle-strip__all{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.puzzle-strip__all:before{content:"‹ "}.puzzle-strip__all:hover{color:var(--amber-bright)}.puzzle-strip__pager{display:flex;align-items:center;gap:.25rem}.puzzle-strip__list{list-style:none;display:flex;gap:.3rem;margin:0 .15rem}.puzzle-strip__arrow{display:grid;place-items:center;width:26px;height:34px;border:none;border-radius:8px;background:none;font-size:1.15rem;font-weight:700;line-height:1;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition)}.puzzle-strip__arrow:hover:not(:disabled){background:var(--bg-primary);color:var(--amber-bright)}.puzzle-strip__arrow:disabled{opacity:.3;cursor:default}.puzzle-strip__dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--border-light);background:var(--bg-primary);font-size:.85rem;font-weight:700;color:var(--text-muted);transition:border-color var(--transition),background var(--transition)}.puzzle-strip__dot:hover{border-color:var(--amber-dim);color:var(--text-primary)}.puzzle-strip__dot--solved{background:var(--success-bg);border-color:var(--success-border);color:#3f7338}.puzzle-strip__dot--here{border-color:var(--caramel-bottom);color:var(--text-primary);box-shadow:0 0 0 3px var(--amber-glow-strong)}@media(max-width:480px){.puzzle-strip__pager{gap:.1rem}.puzzle-strip__list{gap:.2rem}.puzzle-strip__dot{width:30px;height:30px;font-size:.8rem}.puzzle-strip__arrow{width:20px}}@media(max-width:960px){.puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.puzzles-hero{padding:1.6rem 1.4rem}.puzzles-hero__mascot{width:96px}}@media(max-width:540px){.puzzles-hero{grid-template-columns:minmax(0,1fr)}.puzzles-hero__mascot{display:none}.puzzle-grid{grid-template-columns:minmax(0,1fr);gap:.8rem}a.puzzle-card{grid-template-columns:128px minmax(0,1fr);grid-template-areas:"board top" "board body";grid-template-rows:auto 1fr}.puzzle-card__board{align-self:center;padding:.7rem 0 .7rem .7rem}.puzzle-card__top{padding:.75rem .85rem 0 .95rem}.puzzle-card__num{width:28px;height:28px;border-radius:9px;font-size:.95rem}.puzzle-card__seal{width:24px;height:24px}.puzzle-card__body{gap:.25rem;padding:.45rem .85rem .75rem .95rem}.puzzle-card__title{font-size:1.15rem}.puzzle-card__foot{padding-top:.5rem}.puzzle-card--soon{flex-direction:row;min-height:0;padding:.9rem 1rem;gap:.75rem;text-align:left;justify-content:flex-start}.puzzle-card--soon .mascot{width:64px}.puzzle-card--soon .puzzle-card__soon-body{align-items:flex-start}.puzzle-rules{padding:.9rem 1rem}}@media(prefers-reduced-motion:reduce){.star-row--pop .star--on{animation:none}a.puzzle-card:hover{transform:none}}.strength{--thumb: 28px;max-width:580px}.strength__track{position:relative;display:flex;flex-direction:column}.strength__marks{position:relative;height:3.4rem;margin:0 calc(var(--thumb) / 2)}.strength__mark{position:absolute;bottom:.35rem;left:calc(var(--at) * 100%);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.15rem .3rem;border:0;border-radius:10px;background:none;font:inherit;color:var(--text-muted);cursor:pointer;transition:color var(--transition),transform var(--transition)}.strength__mark:hover{color:var(--text-primary)}.strength__glyph{font-size:1.45rem;line-height:1;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.strength__name{font-size:.78rem;font-weight:500;white-space:nowrap}.strength__mark--passed{color:var(--text-secondary)}.strength__mark--active{color:var(--text-primary)}.strength__mark--active .strength__glyph{transform:scale(1.3) translateY(-2px);color:var(--amber)}.strength__mark--active .strength__name{font-weight:700}.strength__range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--thumb);margin:0;background:transparent;cursor:pointer}.strength__range:focus{outline:none}.strength__range::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--caramel-top) 0 calc(var(--thumb) / 2 + var(--pct) * (100% - var(--thumb))),#eadfca 0);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .18)}.strength__range::-moz-range-track{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--caramel-top) 0 calc(var(--thumb) / 2 + var(--pct) * (100% - var(--thumb))),#eadfca 0);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .18)}.strength__range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--thumb);height:var(--thumb);margin-top:calc((10px - var(--thumb)) / 2);border-radius:50%;background:#fffdf8;border:3px solid var(--caramel-bottom);box-shadow:0 4px 10px -3px #7850148c;transition:transform .15s ease}.strength__range::-moz-range-thumb{width:var(--thumb);height:var(--thumb);box-sizing:border-box;border-radius:50%;background:#fffdf8;border:3px solid var(--caramel-bottom);box-shadow:0 4px 10px -3px #7850148c}.strength__range:active::-webkit-slider-thumb{transform:scale(1.12)}.strength__range:focus-visible::-webkit-slider-thumb{outline:2px solid var(--amber-bright);outline-offset:2px}.strength__range:focus-visible::-moz-range-thumb{outline:2px solid var(--amber-bright);outline-offset:2px}.strength__bubble-row{position:relative;height:2.4rem;margin-top:.35rem}.strength__bubble{position:absolute;top:0;left:calc(var(--pct) * 100%);transform:translate(calc(var(--pct) * -100%));display:inline-flex;align-items:baseline;gap:.4rem;padding:.3rem .8rem;border-radius:999px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim);white-space:nowrap;font-size:.9rem;color:var(--text-secondary);transition:left .2s ease,transform .2s ease}.strength__bubble strong{color:var(--text-primary)}.strength__glyph{position:relative;display:block}.strength__piece{display:block;width:1.85rem;height:1.85rem;opacity:.5;transition:opacity var(--transition)}.strength__mark:hover .strength__piece,.strength__mark--passed .strength__piece{opacity:.8}.strength__mark--active .strength__piece{opacity:1;filter:drop-shadow(0 3px 3px rgb(147 100 26 / .35))}.strength__tier{position:absolute;right:-.5rem;bottom:-.15rem;min-width:1.05rem;padding:.05rem .2rem;border:1.5px solid currentColor;border-radius:999px;background:var(--bg-card);font-size:.58rem;font-weight:800;line-height:1.1;font-family:Georgia,Times New Roman,serif;text-align:center}.strength__mark--active .strength__tier{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}.strength--many .strength__name{display:none}.strength--many .strength__marks{height:2.5rem}@media(max-width:480px){.strength__name{display:none}.strength__marks{height:2.4rem}.strength--many .strength__piece{width:1.5rem;height:1.5rem}.strength--many .strength__tier{right:-.4rem;font-size:.52rem}}@media(prefers-reduced-motion:reduce){.strength__bubble,.strength__glyph,.strength__piece{transition:none}}.play-setup__extras{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-top:-.4rem}.play-setup__extras li{padding:.15rem .65rem;border-radius:999px;background:var(--bg-tertiary);font-size:.8rem;font-weight:500;color:var(--text-secondary)}.play-setup__actions .btn--ghost{gap:.45rem}.play-options-overlay{background:#3a2a166b;padding:2rem 1rem}.play-options{position:relative;width:540px;max-width:100%;margin:auto 0;display:flex;flex-direction:column;gap:1.3rem;padding:1.75rem 1.9rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);animation:dialog-in .2s ease-out}.play-options:focus{outline:none}.play-options__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center}.play-options__mascot{width:72px;height:auto}.play-options__title{font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1.1;letter-spacing:-.01em}.play-options__lead{margin-top:.25rem;font-size:.92rem;color:var(--text-secondary)}.play-options__close{align-self:start;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition),color var(--transition)}.play-options__close:hover{background:var(--bg-hover);color:var(--text-primary)}.play-options__group{border:0;display:flex;flex-direction:column;gap:.5rem;min-width:0}.play-options__group:disabled{opacity:.5}.play-options__group:disabled .choice{cursor:not-allowed}.choice--compact{min-height:40px;padding:.35rem .95rem;font-size:.93rem}.switch-row--plain{max-width:none;background:var(--bg-secondary);border-color:var(--border)}.switch-row--disabled{opacity:.5;cursor:not-allowed}.switch-row--disabled .switch{cursor:not-allowed}.play-options__note{margin-top:-.4rem;padding:.6rem .85rem;border-radius:12px;background:var(--success-bg);border:1px solid var(--success-border);font-size:.86rem;color:var(--text-secondary)}.play-options__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem;padding-top:1.1rem;border-top:1px solid var(--border)}.play-options__actions .btn{min-height:44px;padding-inline:1.3rem}.play-options__custom{margin-right:auto;border:0;background:none;font:inherit;font-size:.86rem;font-weight:600;color:var(--amber);cursor:pointer}.play-options__custom:hover{color:var(--amber-bright);text-decoration:underline}@media(max-width:520px){.play-options{padding:1.4rem 1.2rem 1.2rem}.play-options__mascot{width:52px}.play-options__title{font-size:1.4rem}}.home-page{display:flex;flex-direction:column;gap:1.25rem}.home-greeting{display:flex;align-items:center;gap:.9rem;padding:.25rem .25rem 0}.home-greeting__title{font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}.home-greeting__lead{color:var(--text-secondary)}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"play play recent" "learn learn puzzles";gap:1.1rem}.home-tile{display:flex;flex-direction:column;gap:.9rem;min-width:0;padding:1.5rem 1.6rem}.home-tile--play{grid-area:play}.home-tile--learn{grid-area:learn}.home-tile--puzzles{grid-area:puzzles}.home-tile--recent{grid-area:recent}.home-tile__head{display:flex;flex-direction:column;gap:.2rem}.home-tile__title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1.15}.home-tile__title a{color:var(--text-primary)}.home-tile__title a:hover{color:var(--amber-bright)}.home-tile__text{font-size:.93rem;color:var(--text-secondary)}.home-tile__cta{margin-top:auto;min-height:44px}.home-tile--play{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.9rem 2.1rem;border-radius:var(--radius-xl);background:var(--bg-primary)}.home-play__body{display:flex;flex-direction:column;gap:.75rem;min-width:0}.home-play__title{font-family:var(--font-display);font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-top:-.4rem}.home-play__setup{display:flex;flex-direction:column;gap:.4rem;margin-top:.2rem}.home-play__setup-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.home-chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}.home-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:34px;padding:.25rem .8rem .25rem .65rem;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-primary);font-size:.88rem;font-weight:500;color:var(--text-secondary)}.home-chip .choice__glyph{font-size:1.1rem}.home-chip .choice__glyph--random{width:1.1rem;height:1.1rem}.home-chip--tutor{background:var(--success-bg);border-color:var(--success-border)}.home-play__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.home-play__mascot{width:210px;height:auto;margin-right:1.5rem}.home-learn{list-style:none;display:flex;flex-direction:column;gap:.45rem;margin-top:auto}.home-learn__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.55rem .8rem .55rem .55rem;border-radius:14px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition),background-color var(--transition),transform var(--transition)}.home-learn__row:hover{color:var(--text-primary);border-color:var(--amber-dim);background:var(--bg-primary);transform:translate(2px)}.home-learn__glyph{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim)}.home-learn__glyph img{width:30px;height:30px}.home-learn__name{font-weight:600}.home-learn__count{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.home-learn__arrow{color:var(--amber);font-weight:700}.home-puzzles{display:grid;grid-template-columns:116px minmax(0,1fr);gap:1rem;align-items:center}.home-puzzles__board{display:block;transition:transform var(--transition)}.home-puzzles__board:hover{transform:rotate(-2deg) scale(1.03)}.home-puzzles__score{display:flex;flex-direction:column;gap:.45rem;min-width:0}.home-puzzles__stars{display:flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-size:1.9rem;font-weight:700;line-height:1}.home-puzzles__stars .star{width:28px;height:28px}.home-puzzles__max{font-size:1rem;color:var(--text-muted);font-weight:600}.home-progress{height:8px;border-radius:999px;background:#eadfca;overflow:hidden}.home-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom))}.home-puzzles__solved{font-size:.85rem;color:var(--text-secondary)}.home-tile--recent{gap:.75rem}@property --recent-fade-top{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --recent-fade-bottom{syntax: "<length>"; inherits: false; initial-value: 0px;}.home-recent{--recent-fade-top: 0px;--recent-fade-bottom: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--recent-fade-top),#000 calc(100% - var(--recent-fade-bottom)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--recent-fade-top),#000 calc(100% - var(--recent-fade-bottom)),transparent 100%);transition:--recent-fade-top .2s ease,--recent-fade-bottom .2s ease}.home-recent[data-fade-top]{--recent-fade-top: 2.25rem}.home-recent[data-fade-bottom]{--recent-fade-bottom: 3rem}@media(prefers-reduced-motion:reduce){.home-recent{transition:none}}.home-recent{list-style:none;display:flex;flex-direction:column;gap:.4rem;flex:0 1 auto;min-height:0;max-height:460px;overflow-y:auto;margin-right:-.5rem;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--amber-dim) transparent}.home-recent__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .8rem;border-radius:14px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition),background-color var(--transition)}.home-recent__row:hover{color:var(--text-primary);border-color:var(--amber-dim);background:var(--bg-primary)}.home-recent__players{display:flex;flex-direction:column;gap:.1rem;min-width:0;font-size:.88rem}.home-recent__players>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-recent__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex:none}.home-recent__result{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.home-recent__result--none{font-family:var(--font-body);font-size:.78rem;font-weight:500;color:var(--text-muted)}.home-recent__time{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.home-recent__empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0;text-align:center;color:var(--text-secondary)}.home-recent__loading{display:grid;place-items:center;padding:2rem 0}.home-recent__all{align-self:flex-start;margin-top:auto;font-weight:600;color:var(--amber)}.home-recent__all:hover{color:var(--amber-bright)}.home-open__title{display:flex;align-items:center;gap:.6rem}.home-open__text{display:flex;align-items:center;gap:.5rem}.home-open__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:auto}.home-open__foot .home-recent__all{margin-top:0}.home-open__foot .btn{gap:.45rem}@media(min-width:1101px){.home-tile--recent{contain:size;min-height:420px}.home-recent{flex:1 1 0;max-height:none}.home-learn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"play play" "learn puzzles" "recent recent"}.home-recent{max-height:340px}}@media(max-width:720px){.home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"play" "learn" "puzzles" "recent"}.home-tile--play{grid-template-columns:minmax(0,1fr);padding:1.5rem 1.25rem}.home-play__mascot{display:none}.home-tile{padding:1.3rem 1.25rem}}.chip-menu{position:relative}.home-chip--button{font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),box-shadow var(--transition)}.home-chip--button:hover{border-color:var(--amber-dim);color:var(--text-primary)}.home-chip--button:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px}.home-chip--open{border-color:var(--caramel-top);box-shadow:inset 0 0 0 1px var(--caramel-top);color:var(--text-primary)}.home-chip__hint{color:var(--text-muted)}.home-chip__chevron{margin-left:.1rem;color:var(--text-muted);transition:transform .2s ease}.home-chip--open .home-chip__chevron{transform:rotate(180deg);color:var(--amber)}.home-chip__switch{position:relative;flex:none;width:30px;height:18px;border-radius:999px;background:#d9ccb4;transition:background-color var(--transition)}.home-chip__switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #3c280a4d;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.home-chip--tutor .home-chip__switch{background:var(--success)}.home-chip--tutor .home-chip__switch:after{transform:translate(12px)}.home-chip--tutor.home-chip--button:hover{border-color:var(--success)}.home-chip-help{position:relative;display:inline-flex}.home-chip-help .home-chip{padding-right:2.3rem}.home-chip-help__link{position:absolute;top:50%;right:.4rem;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;transform:translateY(-50%);font-size:.78rem;font-weight:700;line-height:1;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-light)}.home-chip-help__link:before{content:"";position:absolute;top:-11px;right:-5px;bottom:-11px;left:-5px}.home-chip-help__link:hover{color:var(--amber-bright);border-color:var(--amber-dim)}.chip-menu__pop{position:absolute;top:calc(100% + 8px);left:0;z-index:30;display:flex;flex-direction:column;gap:2px;min-width:240px;padding:.45rem;border-radius:18px;border:1px solid var(--border-light);background:var(--bg-primary);box-shadow:0 22px 48px -20px rgb(var(--shadow-color) / .55),0 2px 6px rgb(var(--shadow-color) / .08);transform-origin:top left;animation:chip-pop .16s ease-out}@keyframes chip-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.chip-menu__title{padding:.3rem .6rem .35rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.chip-menu__item{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto 16px;align-items:center;gap:.55rem;min-height:42px;padding:.35rem .6rem;border:0;border-radius:12px;background:none;font:inherit;font-size:.93rem;text-align:left;color:var(--text-primary);cursor:pointer}.chip-menu__item:hover,.chip-menu__item:focus-visible{background:var(--bg-hover);outline:none}.chip-menu__item--active{background:#f8ecd2;font-weight:600}.chip-menu__item--active:hover,.chip-menu__item--active:focus-visible{background:#f4e4c4}.chip-menu__icon{display:grid;place-items:center}.chip-menu__icon .choice__glyph{font-size:1.25rem}.chip-menu__hint{font-size:.8rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.chip-menu__check{color:var(--amber);visibility:hidden}.chip-menu__item--active .chip-menu__check{visibility:visible}@media(prefers-reduced-motion:reduce){.chip-menu__pop{animation:none}}.home-tile--play{overflow:visible}.wordmark{display:block;height:auto}.app-header__wordmark-img{width:236px;transform-origin:12% 40%;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.app-header__logo:hover .app-header__wordmark-img{transform:rotate(-2deg) scale(1.02)}.app-footer__wordmark-img{width:190px}@media(max-width:900px){.app-header__wordmark-img{width:176px}}@media(prefers-reduced-motion:reduce){.app-header__wordmark-img{transition:none}}.app-footer{--footer-text: #eadcc4;--footer-muted: #c7b194;--footer-gold: #e0b067;border-top:none;background:radial-gradient(120% 90% at 20% 0%,rgba(255,220,160,.09),transparent 60%),linear-gradient(180deg,#4f3524,#3e281a);color:var(--footer-text)}.app-footer__heading{color:var(--footer-gold)}.app-footer__col a{color:var(--footer-text)}.app-footer__col a:hover,.app-footer__bottom a:hover{color:#fff8ec}.app-footer__bottom{border-top-color:#eadcc433;color:var(--footer-muted)}.app-footer__bottom a{color:var(--footer-text)}.app-footer a:focus-visible{outline:2px solid var(--footer-gold);outline-offset:2px;border-radius:4px}#root{overflow-x:clip}.app-content:has(>.home-page){display:flex;flex-direction:column;padding-bottom:0}.app-content:has(>.home-page)+.app-footer{margin-top:0}.home-page{position:relative;isolation:isolate;flex:1 0 auto;padding-bottom:3rem}.home-backdrop{position:absolute;z-index:-1;left:50%;top:calc(-1 * var(--app-header-h) - 1.5rem);bottom:0;width:100vw;transform:translate(-50%);overflow:hidden;pointer-events:none;perspective:max(1800px,120vw);perspective-origin:50% 100%;-webkit-mask-image:linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.5) 48%,#000 90%);mask-image:linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.5) 48%,#000 90%)}.home-backdrop__board{position:absolute;left:50%;top:100%;width:max(10000px,600vw);height:max(10000px,600vw);transform-origin:50% 50%;background:repeating-conic-gradient(#f1e2cd 0,#f1e2cd 25%,#faf4eb 0,#faf4eb 50%) center / max(320px,40vw) max(320px,40vw);transform:translate(-50%,-50%) rotateX(64deg) rotate(45deg)}.home-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 45% 55% at 50% 45%,rgba(250,249,246,.75),transparent 75%),radial-gradient(ellipse 90% 70% at 50% 110%,rgba(236,214,182,.18),transparent 70%)}.analysis-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:analysis-spin 1s linear infinite;vertical-align:middle}@keyframes analysis-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.analysis-spinner{animation:none}}.eval-bar--missing{display:grid;place-items:center;background:var(--surface)}.engine-preparation{margin-block:1rem;padding:1rem}.engine-preparation p{margin-block:.5rem}.engine-preparation progress{display:block;width:100%;accent-color:#a87320;margin-block:.5rem}.engine-preparation small{display:block;font-variant-numeric:tabular-nums}.engine-preparation__actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.engine-preparation .analysis-spinner{margin-right:.5rem}.engine-preparation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:21;display:grid;place-items:center;padding:clamp(.6rem,4%,2rem);border-radius:18px;background:rgb(var(--ink) / .22);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:overlay-fade .25s ease-out}.engine-preparation--overlay{width:min(340px,100%);margin:0;padding:1rem 1.2rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:20px;box-shadow:0 24px 60px -28px rgb(var(--shadow-color) / .9)}.engine-preparation--overlay .engine-preparation__actions:empty{display:none}.piece-avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 1px rgb(var(--ink) / .12)}.piece-avatar svg{display:block}.piece-avatar img{display:block;width:100%;height:100%}.piece-avatar--unknown{background:var(--bg-tertiary);box-shadow:inset 0 0 0 1.5px var(--border-light);color:var(--text-muted)}.piece-avatar--user{background:var(--bg-tertiary);box-shadow:inset 0 0 0 1.5px var(--border-light)}.piece-avatar__user{fill:#b3a797}.piece-avatar__question{font-family:var(--font-display);font-weight:600;font-size:calc(1em + .1rem);line-height:1;transform:translateY(-.02em)}.account-menu{position:relative;display:flex}.account-chip{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;background:none;transition:transform var(--transition),box-shadow var(--transition)}.account-chip .piece-avatar{transition:box-shadow var(--transition)}.account-chip:hover .piece-avatar,.account-chip[aria-expanded=true] .piece-avatar{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--amber-dim)}.account-chip:hover .piece-avatar--unknown{color:var(--amber)}.account-chip:hover .piece-avatar__user{fill:#9c8f7d}.account-chip:active{transform:scale(.94)}.account-chip:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.account-chip--nudge:after{content:"";position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:var(--caramel-top);box-shadow:0 0 0 2px var(--bg-primary)}.account-menu__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:256px;padding:.4rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);animation:dialog-in .14s ease-out}.account-menu__who{display:flex;align-items:center;gap:.75rem;padding:.6rem .6rem .75rem;margin-bottom:.3rem;border-bottom:1px solid var(--border)}.account-menu__names{display:grid;min-width:0;gap:.1rem}.account-menu__names strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__names strong.account-menu__placeholder{color:var(--text-muted);font-style:italic;font-weight:500}.account-menu__names span{font-size:.76rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__item{display:flex;align-items:center;gap:.6rem;width:100%;min-height:40px;padding:0 .65rem;border-radius:9px;font-size:.9rem;color:var(--text-secondary);text-align:left}.account-menu__item svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.account-menu__item:hover{background:var(--bg-hover);color:var(--text-primary)}.account-menu__item--accent{color:var(--amber-bright);font-weight:600}.account-dialog{position:relative;display:grid;gap:1rem;width:min(420px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.75rem 1.6rem 1.4rem;border-radius:var(--radius-lg)}.account-dialog__close{position:absolute;top:.7rem;right:.7rem;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--text-muted)}.account-dialog__close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.account-dialog__close:hover{background:var(--bg-hover);color:var(--text-primary)}.account-dialog__head{display:grid;gap:.3rem;padding-right:1.5rem}.account-dialog__head--profile{grid-template-columns:auto 1fr;align-items:center;gap:1rem}.account-dialog__title{font-family:var(--font-display);font-size:1.45rem;font-weight:600;line-height:1.2;color:var(--text-primary)}.account-dialog__lead{font-size:.88rem;line-height:1.45;color:var(--text-secondary)}.account-dialog__avatar{box-shadow:0 0 0 3px var(--bg-primary),0 0 0 4px var(--border-light)}.account-legal{display:grid;gap:.65rem;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.account-legal__accept{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.account-legal__accept input{flex:0 0 auto;width:18px;height:18px;margin-top:.1rem;accent-color:var(--amber)}.account-legal a{color:var(--amber);text-decoration:underline;text-underline-offset:2px}.account-legal__privacy{font-size:.8rem}.account-google{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:44px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-primary);font-size:.92rem;font-weight:600;color:var(--text-primary);transition:background-color var(--transition),border-color var(--transition)}.account-google:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--amber-dim)}.account-google:disabled{opacity:.5}.account-google__logo{width:18px;height:18px}.account-divider{display:flex;align-items:center;gap:.75rem;font-size:.74rem;color:var(--text-muted)}.account-divider:before,.account-divider:after{content:"";flex:1;height:1px;background:var(--border)}.account-form{display:grid;gap:.45rem}.account-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.account-input{width:100%;min-height:44px;padding:0 .85rem;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-deep);font:inherit;font-size:.95rem;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.account-input::placeholder{color:var(--text-muted);opacity:.7}.account-input:focus{outline:none;background:var(--bg-primary);border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow-strong)}.account-input[readonly]{color:var(--text-secondary);background:var(--bg-tertiary)}.account-input[aria-invalid=true]{border-color:var(--blunder)}.account-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #cf3f3b29}.account-code{min-height:52px;text-align:center;font-family:var(--font-mono);font-size:1.45rem;letter-spacing:.45em;padding-left:1.3rem;font-variant-numeric:tabular-nums}.account-help{font-size:.78rem;line-height:1.45;color:var(--text-muted)}.account-alert{display:flex;gap:.45rem;padding:.55rem .7rem;border-radius:var(--radius-sm);background:#fbeceb;border:1px solid #f0cfcd;font-size:.82rem;line-height:1.4;color:var(--blunder-text)}.account-alert:before{content:"!";display:grid;place-items:center;flex:none;width:17px;height:17px;margin-top:.05rem;border-radius:50%;background:var(--blunder);color:#fff;font-size:.7rem;font-weight:800}.account-note{font-size:.82rem;font-weight:500;color:var(--success);margin-right:auto}.account-sent{font-size:.88rem;line-height:1.45;color:var(--text-secondary);overflow-wrap:anywhere}.account-submit{width:100%;min-height:44px;margin-top:.35rem;font-size:.95rem;font-weight:600}.account-resend{justify-self:center}.account-link{padding:0;background:none;border:0;font:inherit;font-size:.84rem;font-weight:600;color:var(--amber);text-decoration:underline;text-decoration-color:var(--amber-dim);text-underline-offset:3px;cursor:pointer}.account-link:hover:not(:disabled){color:var(--amber-bright);text-decoration-color:currentColor}.account-link:disabled{color:var(--text-muted);text-decoration:none;cursor:default}.account-link--danger{color:var(--blunder-text);text-decoration-color:#f0cfcd}.account-foot{justify-self:center;font-size:.8rem;color:var(--text-muted)}button.account-foot{color:var(--text-secondary);text-decoration:none}.account-dialog:has(.account-picker--animals){width:min(440px,calc(100vw - 2rem))}.account-profile{gap:.35rem}.account-profile__who{display:flex;align-items:flex-end;gap:.85rem}.account-profile__fields{display:grid;gap:.3rem;flex:1;min-width:0}.account-profile__email{overflow-wrap:anywhere}.account-avatar-preview{margin-left:auto;font-size:.78rem;font-weight:400;color:var(--text-muted)}.account-avatar-details{border:1px solid var(--border);border-radius:var(--radius);padding:.1rem .75rem;margin-top:.25rem}.account-avatar-details summary{display:flex;align-items:center;gap:.4rem;min-height:40px;cursor:pointer;list-style:none;font-size:.84rem;font-weight:600;color:var(--text-secondary)}.account-avatar-details summary::-webkit-details-marker{display:none}.account-avatar-details summary:before{content:"›";font-size:1.1rem;line-height:1;transition:transform var(--transition)}.account-avatar-details[open] summary:before{transform:rotate(90deg)}.account-avatar-details[open]{padding-bottom:.6rem}.account-rating{font-size:.85rem;color:var(--text-secondary)}.account-rating p{margin:0}.account-rating:empty{display:none}.account-avatar-fieldset{min-width:0;margin:0;padding:0;border:0}.account-avatar-fieldset legend{margin-bottom:.4rem}.account-avatar-fieldset:disabled{opacity:.65}.account-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:.3rem;margin-bottom:.5rem}.account-picker__item{position:relative;display:grid;place-items:center;min-width:0;min-height:44px;aspect-ratio:1;border-radius:12px;border:1.5px solid transparent;background:var(--bg-secondary);cursor:pointer;transition:border-color var(--transition),background-color var(--transition)}.account-picker__item .piece-avatar{width:90%!important;height:auto!important;aspect-ratio:1}.account-picker__item:hover{background:var(--bg-hover)}.account-picker__item:has(input:checked){border-color:var(--amber);background:var(--amber-glow);box-shadow:0 0 0 2px var(--amber-glow-strong)}.account-picker__item:has(input:focus-visible),.account-avatar-color:has(input:focus-visible){outline:2px solid var(--text-primary);outline-offset:2px}.account-avatar-radio{position:absolute;width:1px;height:1px;opacity:0}.account-avatar-colors{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem;margin-bottom:.35rem}.account-avatar-color{position:relative;display:grid;place-items:center;min-height:44px;border-radius:10px;cursor:pointer}.account-avatar-swatch{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgb(59 48 43 / .2);color:#3b302b;font-size:1rem;font-weight:700}.account-avatar-color:has(input:checked) .account-avatar-swatch{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.account-avatar-random{min-height:40px;font-size:.85rem}.account-form__row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.35rem}.account-save{min-height:42px;min-width:120px;font-weight:600}.account-more{border-top:1px solid var(--border);padding-top:.85rem}.account-more summary{cursor:pointer;font-size:.84rem;font-weight:600;color:var(--text-secondary);list-style:none;display:flex;align-items:center;gap:.4rem}.account-more summary::-webkit-details-marker{display:none}.account-more summary:before{content:"›";display:inline-block;font-size:1.1rem;line-height:1;transition:transform var(--transition)}.account-more[open] summary:before{transform:rotate(90deg)}.account-more[open] summary{margin-bottom:.6rem}.account-more__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.6rem}.account-more__actions .btn{font-size:.8rem;padding:.45rem .85rem}.account-delete{display:grid;gap:.45rem;margin-top:.85rem;padding:.85rem;border-radius:var(--radius);background:#fdf4f3;border:1px solid #f0cfcd;font-size:.82rem;line-height:1.45;color:var(--text-secondary)}.account-danger{font-weight:600;min-height:40px}.account-more__message{margin-top:.7rem}@media(max-width:420px){.account-dialog{padding:1.4rem 1.1rem 1.1rem}}.arena__board-stage{position:relative;flex:1;min-width:0;display:flex}.game-over-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:clamp(.6rem,4%,2rem);border-radius:18px;background:radial-gradient(ellipse at 50% 45%,rgb(var(--ink) / .18),rgb(var(--ink) / .42));-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:overlay-fade .35s ease-out}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.game-over-banner{--tone: var(--amber-glow-strong);position:relative;width:min(410px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:1.1rem 1.5rem 1rem;text-align:center;background:radial-gradient(ellipse 70% 150px at 50% 0,var(--tone),transparent 100%),var(--bg-primary);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 2px #fff9 inset,0 34px 80px -30px rgb(var(--shadow-color) / .9);animation:card-rise .5s cubic-bezier(.34,1.4,.64,1)}@keyframes card-rise{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}.game-over-banner--win{--tone: rgba(236, 190, 90, .45)}.game-over-banner--loss{--tone: rgba(160, 180, 205, .32)}.game-over-banner--draw{--tone: rgba(180, 205, 160, .38)}.game-over-banner--neutral{--tone: var(--amber-glow-strong)}.game-over-banner__close{position:absolute;top:.7rem;right:.7rem;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:#ffffffb3;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition)}.game-over-banner__close:hover{background:var(--bg-hover);color:var(--text-primary)}.game-over-banner__mascot{display:block;width:124px;height:auto;margin:0 auto -.2rem;animation:coach-pop .6s .15s cubic-bezier(.34,1.56,.64,1) both}.game-over-banner__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.75rem;font-weight:700;line-height:1.15;color:var(--text-primary)}.game-over-banner__termination{margin-top:.3rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.game-over-banner__text{margin:.55rem auto 0;max-width:30ch;font-size:.95rem;line-height:1.4;color:var(--text-secondary)}.game-over-banner__stats{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.game-over-banner__stat-value{color:var(--text-secondary);font-weight:600}.game-over-banner__analysis{margin-top:1rem;padding:.9rem 1rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:18px;text-align:left}.game-over-banner__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.85rem}.game-over-banner__actions .btn{flex:1 1 0;min-width:max-content;padding-inline:.9rem}.game-over-banner__link,.post-game__link{padding:0;border:0;background:none;font:inherit;font-size:.82rem;font-weight:600;color:var(--amber);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.game-over-banner__link{margin-top:.75rem;color:var(--text-muted)}.game-over-banner__link:hover,.post-game__link:hover{color:var(--amber-bright)}.post-game__link:disabled{opacity:.5;cursor:default}.arena__board-stage{container-type:inline-size}@container (max-width: 620px){.game-over-banner{padding:.75rem 1rem;border-radius:20px}.game-over-banner__mascot{width:88px;margin-bottom:-.1rem}.game-over-banner__title{font-size:1.4rem}.game-over-banner__text{display:none}.game-over-banner__analysis{margin-top:.65rem;padding:.7rem .8rem}.game-over-banner__analysis .post-game__text{font-size:.85rem}.game-over-banner__analysis .post-game__acc--big{font-size:1.9rem}.game-over-banner__actions{margin-top:.6rem}.game-over-banner__actions .btn{font-size:.85rem;padding-block:.45rem}.game-over-banner__link{margin-top:.5rem}}@container (max-width: 420px){.game-over-banner{padding:.6rem .8rem}.game-over-banner__close{top:.45rem;right:.45rem;width:30px;height:30px}.game-over-banner__mascot{width:56px}.game-over-banner__title{font-size:1.2rem}.game-over-banner__termination{margin-top:.15rem;font-size:.72rem}.game-over-banner__analysis{margin-top:.5rem;padding:.6rem}.game-over-banner__analysis .post-game__teaser-label{display:none}.game-over-banner__analysis .post-game__acc--big{font-size:1.6rem}.game-over-banner__analysis .post-game__cta{padding-block:.5rem}.game-over-banner__actions{flex-wrap:nowrap;margin-top:.5rem}.game-over-banner__link{display:none}.game-over-banner__actions .btn{min-width:0;font-size:.8rem;padding:.4rem .5rem}.game-over-banner__analysis .post-game__text{display:none}.game-over-banner__analysis .post-game__cta{margin-top:0}}.post-game{padding:1rem 1.1rem 1.05rem;border-radius:18px;box-shadow:var(--shadow-card);animation:coach-pop .45s cubic-bezier(.34,1.56,.64,1)}.post-game__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.post-game__text{margin-top:.25rem;font-size:.9rem;line-height:1.4;color:var(--text-secondary)}.post-game__error{margin-top:.4rem;font-size:.82rem;color:var(--blunder-text)}.post-game__cta{width:100%;margin-top:.8rem;padding-block:.65rem}.post-game__subtitle{margin:.9rem 0 .4rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.post-game__title+.post-game__subtitle{margin-top:.6rem}.post-game__progress{margin-top:.6rem}.post-game__progress-head{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.post-game__progress-head .analysis-spinner{color:var(--amber);flex:none}.post-game__progress-text{flex:1;min-width:0}.post-game__progress-pct{font-family:var(--font-mono);font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.post-game__progress-note{margin:.65rem 0 .4rem;font-size:.82rem;line-height:1.5;color:var(--text-secondary)}.post-game__bar{height:10px;margin:.55rem 0 .5rem;overflow:hidden;border-radius:999px;background:var(--bg-tertiary);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .15)}.post-game__bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom));transition:width .5s ease-out}.post-game__bar--queued .post-game__bar-fill{background:repeating-linear-gradient(-45deg,var(--amber-dim) 0 8px,var(--bg-active) 8px 16px);background-size:22.6px 100%;animation:bar-stripes 1s linear infinite}@keyframes bar-stripes{to{background-position:22.6px 0}}@media(prefers-reduced-motion:reduce){.post-game__bar--queued .post-game__bar-fill{animation:none}}.analysis-leave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:20px;background:rgb(var(--ink) / .42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .15s ease}.analysis-leave{position:relative;width:min(420px,100%);margin-top:56px;padding:72px 1.6rem 1.4rem;text-align:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 24px 60px rgb(var(--shadow-color) / .28),0 2px 6px rgb(var(--shadow-color) / .12);animation:dialog-in .2s ease-out}.analysis-leave:focus{outline:none}.analysis-leave__mascot{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:112px;height:auto;filter:drop-shadow(0 6px 10px rgb(var(--shadow-color) / .2))}.analysis-leave__title{margin:0 0 .45rem;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.4rem;font-weight:700;line-height:1.2;color:var(--text-primary)}.analysis-leave__text{margin:0 0 1.1rem;font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.analysis-leave__progress{display:flex;align-items:center;gap:.5rem;padding:0 .1rem;font-size:.86rem;text-align:left;color:var(--text-secondary)}.analysis-leave__progress .analysis-spinner{flex:none;color:var(--amber)}.analysis-leave__label{flex:1;min-width:0}.analysis-leave__actions{display:grid;gap:.5rem;margin-top:1.1rem}.analysis-leave__actions .btn{width:100%;justify-content:center}@media(prefers-reduced-motion:reduce){.analysis-leave,.analysis-leave-backdrop{animation:none}}.post-game__sides{display:grid;gap:.45rem}.post-game__side{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:.55rem;row-gap:.15rem;padding:.55rem .8rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-secondary)}.post-game__side--you{border-color:var(--amber-dim);background:var(--amber-glow)}.post-game__side-name{font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-game__dot{width:12px;height:12px;border-radius:50%}.post-game__dot--white{background:#fbf8f1;box-shadow:0 0 0 1px #bfae94}.post-game__dot--black{background:#3a2a1c}.post-game__acc{font-family:var(--font-display);font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.post-game__acc--high{color:var(--success)}.post-game__acc--mid{color:var(--amber)}.post-game__acc--low{color:var(--blunder-text)}.post-game__acc--big{font-size:2.4rem;line-height:1}.post-game__side .post-game__counts{grid-column:2 / -1}.post-game__counts{display:flex;flex-wrap:wrap;gap:.2rem .75rem;font-size:.8rem;color:var(--text-secondary)}.post-game__count{display:inline-flex;align-items:center;gap:.3rem}.post-game__count:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.post-game__count--blunder:before{background:var(--blunder)}.post-game__count--mistake:before{background:var(--mistake)}.post-game__count--inaccuracy:before{background:var(--inaccuracy)}.post-game__count--clean{color:var(--success);font-weight:600}.post-game__count--clean:before{background:var(--success)}.post-game__moments{display:grid;gap:.1rem;margin-inline:-.35rem}.post-game__more{display:block;margin-top:.3rem}.post-game__moments .critical-moment-item{padding:.4rem .5rem;font-size:.8rem}.post-game__hint{margin-top:.35rem;font-size:.78rem;color:var(--text-muted)}.post-game__source{margin-top:.85rem;padding-top:.6rem;border-top:1px dashed var(--border-light);font-size:.75rem;color:var(--text-muted)}.post-game__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.post-game__actions .btn{flex:1 1 auto}.post-game--none .post-game__actions{margin-top:.6rem}.post-game__teaser{display:grid;gap:.2rem}.post-game__teaser .post-game__text{margin:0;text-align:center}.post-game__teaser .post-game__cta{margin-top:.7rem}.post-game__teaser .post-game__counts{justify-content:center}.post-game__teaser-acc{display:grid;justify-items:center;gap:.25rem}.post-game__teaser-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.post-game__teaser-pair{font-size:.9rem;color:var(--text-secondary)}.post-game__teaser-pair .post-game__acc{font-size:1.1rem}.game-over-banner .post-game__progress{margin-top:0}.game-over-banner .post-game__progress .post-game__link{display:block;margin:0 auto}.age-notice{width:fit-content;max-width:100%;font-size:.8rem;color:var(--text-muted)}.age-notice__button{display:inline-flex;align-items:center;gap:.5rem;min-height:32px;padding:3px .7rem 3px 3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-primary);font:inherit;color:inherit;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.age-notice__button:hover,.age-notice--open .age-notice__button{border-color:var(--amber-dim);color:var(--text-secondary)}.age-notice__button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.age-notice__seal{display:inline-grid;place-items:center;flex:none;min-width:26px;height:26px;padding:0 .3rem;border-radius:999px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim);font:700 .72rem var(--font-mono);letter-spacing:-.02em;color:var(--amber-bright)}.age-notice__label{font-weight:500;white-space:nowrap}.age-notice__chevron{color:var(--text-muted);transition:transform var(--transition)}.age-notice--open .age-notice__chevron{transform:rotate(180deg)}.age-notice__pop{position:fixed;inset:auto;z-index:1000;display:none;flex-direction:column;gap:.45rem;width:min(380px,calc(100vw - 24px));margin:0;padding:.95rem 1.05rem 1rem;overflow:visible;border:1px solid var(--border-light);border-radius:18px;background:var(--bg-primary);box-shadow:0 22px 48px -20px rgb(var(--shadow-color) / .55),0 2px 6px rgb(var(--shadow-color) / .08);font-family:var(--font-body);font-size:.84rem;line-height:1.55;color:var(--text-secondary);animation:age-pop .18s ease-out}.age-notice--open .age-notice__pop{display:flex}.age-notice__pop:after{content:"";position:absolute;left:calc(var(--age-arrow, 18px) - 7px);width:14px;height:14px;background:inherit;border:1px solid var(--border-light);border-radius:0 0 4px}.age-notice__pop[data-placement=above]:after{bottom:-8px;border-top:0;border-left:0;transform:rotate(45deg)}.age-notice__pop[data-placement=below]:after{top:-8px;border-bottom:0;border-right:0;border-radius:4px 0 0;transform:rotate(45deg)}.age-notice__heading{display:flex;align-items:center;gap:.55rem;font-weight:600;line-height:1.35;color:var(--text-primary)}.age-notice__pop a{width:fit-content;margin-top:.1rem;font-weight:600}@keyframes age-pop{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.age-notice__pop{animation:none}}.guide-page{--lamp-red: #ff5a52;--lamp-yellow: #ffcc4d;--lamp-green: #4ad07a;--tutor-blue: 82, 176, 220;display:flex;flex-direction:column;gap:1.25rem;max-width:1180px;margin:0 auto}.guide-page .panel{padding:1.75rem 2.25rem;border-radius:var(--radius-xl)}.guide-hero.panel{padding:1.75rem 3rem 1.75rem 2.25rem}.guide-hero .learn-hero__title{max-width:18ch}.guide-hero .learn-hero__lead{max-width:62ch}.guide-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}.guide-actions .btn{text-decoration:none}.guide-page [id]{scroll-margin-top:calc(var(--app-header-h) + 1rem)}.guide-section{display:flex;flex-direction:column;gap:1.1rem}.guide-section__head{display:flex;flex-direction:column;gap:.45rem}.guide-section__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--text-primary)}.guide-section__lead{max-width:68ch;color:var(--text-secondary)}.guide-sub{margin-top:.6rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.guide-section:not(.panel){padding:.75rem .25rem 0}.guide-diffs{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.guide-page .guide-diff{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem 1.3rem 1.35rem;border-radius:var(--radius-lg)}.guide-diff__num{display:grid;place-items:center;width:34px;height:34px;margin-bottom:.3rem;border-radius:12px;font-family:var(--font-display);font-weight:700;color:var(--amber-bright);background:var(--amber-glow-strong)}.guide-diff__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.15rem;line-height:1.2}.guide-diff__text{font-size:.92rem;color:var(--text-secondary)}.guide-band{background:linear-gradient(180deg,var(--bg-primary),var(--bg-secondary))}.guide-questions{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"demo answer" "lists lists";gap:1.25rem 1.5rem;align-items:start}.guide-questions__demo{grid-area:demo}.guide-questions__demo .ampel{padding:.8rem}.guide-questions__hint{margin-top:.5rem;text-align:center;font-size:.82rem;color:var(--text-muted)}.guide-answer{--lamp: var(--lamp-yellow);grid-area:answer;display:flex;flex-direction:column;gap:.4rem;min-height:100%;padding:1.1rem 1.25rem;border-radius:16px;background:var(--bg-primary);border:1px solid var(--border-light);border-left:4px solid var(--lamp)}.guide-answer--red{--lamp: var(--lamp-red)}.guide-answer--green{--lamp: var(--lamp-green)}.guide-answer__side{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.guide-answer__q{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.3rem;font-weight:700;line-height:1.2}.guide-answer__why{color:var(--text-secondary)}.guide-answer__meaning{margin-top:.4rem;font-size:.8rem;font-weight:700;color:var(--text-muted)}.guide-answer__levels{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.guide-level{--lamp: var(--lamp-green);display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem .25rem .45rem;border-radius:999px;font-size:.84rem;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-light)}.guide-level b{color:var(--text-primary)}.guide-level--red{--lamp: var(--lamp-red)}.guide-level--yellow{--lamp: var(--lamp-yellow)}.guide-level__dot{width:11px;height:11px;border-radius:50%;background:var(--lamp);box-shadow:0 0 6px var(--lamp)}.guide-questions__lists{grid-area:lists;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guide-qlist{padding:1rem 1.1rem;border-radius:16px;background:var(--bg-primary);border:1px solid var(--border)}.guide-qlist__title{margin-bottom:.5rem;font-weight:700;color:var(--text-primary)}.guide-qlist__title small{margin-left:.5rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.guide-qlist ol{list-style:none;display:grid;gap:.25rem;counter-reset:q}.guide-qlist li{counter-increment:q}.guide-qlist__item{display:flex;align-items:baseline;gap:.6rem;width:100%;min-height:44px;padding:.55rem .7rem;border-radius:10px;border:1px solid transparent;text-align:left;font-size:.95rem;line-height:1.35;color:var(--text-primary);cursor:pointer}.guide-qlist__item:before{content:counter(q);flex:none;font:700 .8rem var(--font-mono);color:var(--amber)}@media(hover:hover){.guide-qlist__item:hover{background:var(--bg-hover)}}.guide-qlist__item--active{background:var(--amber-glow-strong);border-color:var(--amber-dim);font-weight:600}.guide-routine{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.guide-routine .learn-step{background:var(--bg-primary)}.guide-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guide-mode{display:flex;flex-direction:column;gap:.8rem;padding:1.2rem 1.3rem;border-radius:16px;background:var(--bg-primary);border:1px solid var(--border)}.guide-mode__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.25rem;font-weight:700;line-height:1.2}.guide-mode__title small{display:block;margin-top:.15rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--text-muted)}.guide-checks li.guide-checks__off{color:var(--text-muted);font-weight:400}.guide-checks li.guide-checks__off:before{content:"✕";color:var(--text-muted);background:var(--bg-tertiary);box-shadow:inset 0 0 0 1px var(--border-light)}.guide-mode{position:relative}.guide-why{position:relative;margin-top:auto;padding-top:.2rem}.guide-why__button{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.3rem .9rem .3rem .35rem;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--text-primary);background:var(--amber-glow);border:1px solid var(--amber-glow-strong);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.guide-why__button:hover,.guide-why__button[aria-expanded=true]{background:var(--amber-glow-strong);border-color:var(--amber-dim)}.guide-why__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:700;color:var(--on-amber);background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom))}.guide-why__pop{position:absolute;z-index:5;left:0;bottom:calc(100% + 10px);display:flex;gap:.75rem;width:min(380px,calc(100vw - 4rem));padding:.9rem 1rem;border-radius:16px;font-size:.9rem;line-height:1.5;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-light);box-shadow:0 22px 48px -20px rgb(var(--shadow-color) / .55),0 2px 6px rgb(var(--shadow-color) / .08);animation:age-pop .18s ease-out}.guide-why__pop:after{content:"";position:absolute;left:22px;bottom:-8px;width:14px;height:14px;background:inherit;border:1px solid var(--border-light);border-top:0;border-left:0;border-radius:0 0 4px;transform:rotate(45deg)}.guide-why__mascot{flex:none;width:56px;height:auto;align-self:flex-start}@media(prefers-reduced-motion:reduce){.guide-why__pop{animation:none}}.guide-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.25rem;align-items:center}.guide-feature--flip>.guide-feature__text{order:2}.guide-feature__text{display:flex;flex-direction:column;gap:.75rem}.guide-feature__text>p:not(.learn-eyebrow){color:var(--text-secondary)}.guide-checks{list-style:none;display:grid;gap:.4rem;margin-top:.2rem}.guide-checks li{position:relative;padding-left:1.7rem;font-weight:500;color:var(--text-primary)}.guide-checks li:before{content:"✓";position:absolute;left:0;top:.05rem;display:grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;font-size:.72rem;font-weight:700;color:var(--on-amber);background:var(--success)}.guide-mock{display:flex;flex-direction:column;gap:.75rem;padding:1.1rem;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 18px 40px -26px rgb(var(--shadow-color) / .55);transform:rotate(.6deg)}.guide-feature--flip .guide-mock{transform:rotate(-.6deg)}.guide-mock .tutor-verdict{margin:0}.guide-mock .btn{display:grid;place-items:center;min-height:44px;pointer-events:none}.guide-mock__best{display:grid;gap:.5rem}.guide-mock .ampel-best{cursor:default}.guide-mock__locked{opacity:.6}.guide-mock__note{text-align:center;font-size:.8rem;color:var(--text-muted)}.guide-chart{position:relative;display:flex;align-items:flex-end;gap:4px;height:130px;padding:.6rem .6rem 0;border-radius:14px;background:var(--bg-primary);border:1px solid var(--border)}.guide-chart__mid{position:absolute;left:.6rem;right:.6rem;bottom:calc(50% - .3rem);border-top:1px dashed var(--chart-grid)}.guide-chart__bar{flex:1;border-radius:4px 4px 0 0;background:var(--amber-dim)}.guide-chart__bar--after{background:var(--border-light)}.guide-chart__bar--drop{background:var(--blunder);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--blunder)}.guide-mock .tutor-review{margin:0}.guide-mock .tutor-review{background:var(--bg-primary)}.guide-mock .tutor-review__actions .btn{padding:.4rem .6rem;text-align:center;line-height:1.25}.guide-feature--flip{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.guide-end{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.75rem;background:radial-gradient(circle at 12% 30%,var(--amber-glow-strong),transparent 55%),var(--bg-primary)}.guide-end__body{display:flex;flex-direction:column;gap:.6rem}.guide-end__body>p{max-width:60ch;color:var(--text-secondary)}.guide-end__mascot{width:150px;height:auto}.home-guide{display:inline-flex;align-items:center;gap:.5rem;margin-top:.45rem;padding:.3rem .8rem .3rem .35rem;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-light);box-shadow:var(--shadow-card)}.home-guide:hover{color:var(--text-primary);border-color:var(--amber-dim)}.home-guide__lamps{display:inline-flex;gap:3px;padding:.3rem .45rem;border-radius:999px;background:var(--ampel-bg)}.home-guide__lamps i{width:8px;height:8px;border-radius:50%}.home-guide__lamps i:nth-child(1){background:#ff5a52}.home-guide__lamps i:nth-child(2){background:#ffcc4d}.home-guide__lamps i:nth-child(3){background:#4ad07a}.home-guide__arrow{color:var(--amber)}.play-setup__guide{font-size:.86rem;font-weight:600}@media(max-width:1000px){.guide-diffs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.guide-page .panel,.guide-hero.panel{padding:1.5rem 1.25rem}.guide-questions{grid-template-columns:minmax(0,1fr);grid-template-areas:"demo" "answer" "lists"}.guide-questions__lists,.guide-routine,.guide-modes{grid-template-columns:minmax(0,1fr)}.guide-feature,.guide-feature--flip{grid-template-columns:minmax(0,1fr);gap:1.5rem}.guide-feature--flip>.guide-feature__text{order:0}.guide-mock,.guide-feature--flip .guide-mock{transform:none}}@media(max-width:560px){.guide-diffs,.guide-end{grid-template-columns:minmax(0,1fr)}.guide-end__mascot{display:none}.guide-actions .btn{flex:1 1 100%}}.app-chrome{position:sticky;top:0;z-index:100}.app-chrome .app-header{position:static}.app-chrome .app-header{min-height:74px}@media(max-width:900px){.app-chrome .app-header{min-height:62px}}.learning-result{margin:.75rem 0;display:flex;gap:.6rem;align-items:center}.reward-icon{display:inline-block;flex:none;vertical-align:-.14em}.account-chip{display:inline-flex;align-items:center;gap:.45rem;width:auto;height:42px;padding:0 .85rem 0 3px;border:1px solid var(--border-light);border-radius:999px;background:var(--bg-primary);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.account-chip:hover,.account-chip[aria-expanded=true]{border-color:var(--amber-dim);box-shadow:0 0 0 3px var(--amber-glow)}.account-chip:hover .piece-avatar,.account-chip[aria-expanded=true] .piece-avatar{box-shadow:none}.account-chip__avatar{position:relative;display:grid}.account-chip__dot{position:absolute;top:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:var(--blunder);box-shadow:0 0 0 2px var(--bg-primary)}.account-chip__dot--nudge{background:var(--caramel-top)}.account-chip__stars{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;font-size:1rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.account-chip__stars .reward-icon{width:1.15em;height:1.15em}.account-menu__panel{width:300px}.account-menu__guest{display:grid;gap:.55rem;padding:.5rem .5rem .75rem;margin-bottom:.3rem;border-bottom:1px solid var(--border)}.account-menu__guest p{margin:0;font-size:.86rem;color:var(--text-secondary)}.account-menu__guest .btn{justify-content:center}.account-menu__actions{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--border)}.progress-summary{display:grid;gap:.65rem;padding:.5rem .5rem .6rem}.progress-summary__rank{display:flex;align-items:center;gap:.65rem}.progress-summary__rank strong{font-family:var(--font-display);font-size:1.1rem}.progress-summary__label{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.progress-summary__counts{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin:0}.progress-summary__counts dd{display:inline-flex;align-items:center;gap:.3rem;margin:0;font-weight:700;font-variant-numeric:tabular-nums}.progress-summary__counts .reward-icon{width:1.25em;height:1.25em}.progress-summary__open{justify-content:center}.rank-badge{position:relative;display:inline-flex;align-items:center;gap:.15rem;vertical-align:middle}.rank-badge img{display:block}.rank-badge--none img{opacity:.35;filter:grayscale(1)}.rank-badge__crowns{display:inline-flex;align-items:center;gap:.1rem;font-size:.78rem;font-weight:700;color:var(--amber-bright)}.rank-progress{display:grid;gap:.35rem}.rank-progress__next{margin:0;font-size:.88rem;color:var(--text-secondary)}.rank-progress__bar{height:10px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.rank-progress__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--caramel-top),var(--caramel-bottom));transition:width .4s ease}.rank-progress__missing{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary)}.rank-progress__missing--done{color:var(--success)}.rank-progress--compact .rank-progress__next,.rank-progress--compact .rank-progress__missing{font-size:.8rem}.new-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blunder);flex:none}.new-dot--nav{margin-left:.3rem;vertical-align:super}.new-badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--blunder);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.new-list{display:grid;gap:.2rem;margin:0;padding:0;list-style:none}.new-list a{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:8px;font-size:.88rem;font-weight:600;color:var(--text-primary)}.new-list a:hover{background:var(--bg-hover)}.new-list--menu{padding:0 .25rem .35rem;margin-bottom:.3rem;border-bottom:1px solid var(--border)}.new-list--page{margin:0 0 1rem}.collection-progress{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.jewel-mark{display:inline-flex;align-items:center;line-height:1}.toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:150;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast{position:relative;width:100%;padding:.75rem 2.2rem .75rem .9rem;background:var(--bg-primary);border:1px solid var(--amber-dim);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);font-size:.9rem;line-height:1.4;overflow-wrap:anywhere;pointer-events:auto;animation:dialog-in .2s ease-out}.toast__close{position:absolute;top:.3rem;right:.5rem;padding:.2rem;font-size:1.2rem;line-height:1;color:var(--text-muted);background:none}.maintenance-banner{background:#fff1c7;color:#49300a;border-color:#d8b04f}.maintenance-banner p{margin:.15rem 0 0;font-size:.85rem}.maintenance-banner{display:flex;align-items:center;gap:.75rem;padding-left:1.1rem;border-left:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.maintenance-banner:before{content:"";position:absolute;top:-1px;bottom:-1px;left:0;width:6px;background:#d8b04f}.maintenance-banner--alert:before{background:#c2410c}.maintenance-banner__body{min-width:0}.maintenance-banner__mascot{flex:none;width:76px;height:auto;transform-origin:50% 90%;animation:banner-wobble 1.4s ease-in-out .3s 2}@keyframes banner-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-7deg)}45%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}}@media(prefers-reduced-motion:reduce){.maintenance-banner__mascot{animation:none}}.learning-status{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;background:#fff9e6;border-color:#ddc98b}.rank-up{display:flex;align-items:center;gap:.8rem;padding-left:.75rem}.library-notice p{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary)}.library-notice__links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-weight:600}@media(max-width:600px){.toast-stack{right:.75rem;bottom:.75rem;width:calc(100vw - 1.5rem)}.toast{font-size:.82rem;padding:.6rem 2rem .6rem .75rem}.maintenance-banner{padding-left:.85rem}.maintenance-banner__mascot{width:56px}}.rank-up strong{font-family:var(--font-display);font-size:1.1rem}.rank-up p{margin:.15rem 0 0;font-size:.88rem;color:var(--text-secondary)}.progress-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1180px;margin:0 auto;width:100%}.progress-hero__guest{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;font-size:.9rem;color:var(--text-secondary)}.progress-rank__card{gap:.6rem;align-items:stretch;text-align:left}.progress-rank__name{display:flex;align-items:center;gap:.5rem;margin:0;font-family:var(--font-display);font-size:1.4rem}.progress-rank__help{margin:0;font-size:.78rem;color:var(--text-muted)}.progress-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.progress-total{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.75rem;align-items:center;padding:1rem 1.2rem;color:var(--text-secondary)}.progress-total .reward-icon{grid-row:span 2}.progress-total__value{font-family:var(--font-display);font-size:1.6rem;font-weight:600;line-height:1.1;color:var(--text-primary);font-variant-numeric:tabular-nums}.progress-help{display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;margin:-.4rem 0 0;padding:0;list-style:none;font-size:.85rem;color:var(--text-muted)}.progress-help li{display:inline-flex;align-items:center;gap:.4rem}.progress-help .reward-icon{width:1.2em;height:1.2em}.progress-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;align-items:start}.progress-section{padding:1.1rem 1.2rem}.progress-section__title{margin:0 0 .6rem;font-family:var(--font-display);font-size:1.2rem}.progress-section__text{margin:-.3rem 0 .6rem;font-size:.85rem;color:var(--text-muted)}.progress-list{display:grid;gap:.1rem;margin:0;padding:0;list-style:none}.progress-row,.progress-trainer{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.progress-row:last-child,.progress-trainer:last-child{border-bottom:none}.progress-row__name{font-weight:600;color:var(--text-primary)}.progress-row__meta{margin-left:auto;font-size:.82rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.progress-row--jewel .progress-row__name{color:var(--amber-bright)}.progress-records{display:grid;gap:.2rem;width:100%;margin:0;padding:0;list-style:none;font-size:.82rem}.progress-records li{display:flex;justify-content:space-between;gap:.5rem;color:var(--text-secondary)}@media(max-width:760px){.progress-areas{grid-template-columns:1fr}}@media(max-width:560px){.account-chip{height:38px;padding-right:.65rem;gap:.35rem}.account-menu__panel{position:fixed;top:calc(var(--app-header-h) + 4px);right:.75rem;left:.75rem;width:auto}}.square-board__cell--selected:after{content:"";position:absolute;z-index:2;top:9%;right:9%;bottom:9%;left:9%;border:3px solid var(--accent, #a95e35);border-radius:50%;pointer-events:none}.trainer-board--pick [data-square]{cursor:pointer}.check-wizard{display:flex;flex-direction:column;gap:.9rem}.check-wizard__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.check-wizard__notice{margin:0;padding:.55rem .8rem;border-radius:12px;background:var(--bg-tertiary);font-size:.86rem;color:var(--text-secondary)}.check-wizard__restart{align-self:flex-start;padding:.2rem 0;border:0;background:none;font-size:.85rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.check-wizard__restart:hover{color:var(--text-primary)}.check-side{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.25rem .75rem .25rem .4rem;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--text-secondary)}.check-side img{width:22px;height:22px}.check-steps{display:flex;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none}.check-steps__item{display:flex;align-items:center;gap:.35rem}.check-steps__item+.check-steps__item:before{content:"";width:14px;height:2px;border-radius:2px;background:var(--border-light)}.check-steps__dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--bg-primary);border:2px solid var(--border-light);color:var(--text-muted);transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.check-steps__item--current .check-steps__dot{border-color:var(--caramel-top);background:#fbf1dc;color:var(--amber-bright);box-shadow:0 0 0 4px var(--amber-glow-strong)}.check-steps__item--done .check-steps__dot{border-color:var(--success);background:var(--success);color:#fff}.check-steps__item--missed .check-steps__dot{border-color:var(--inaccuracy);background:#fbf1dc;color:var(--inaccuracy)}.check-steps__item--failed .check-steps__dot{border-color:var(--blunder);background:#fbe9e7;color:var(--blunder-text)}.check-card{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.05rem 1.05rem;border-radius:18px;background:var(--bg-primary);border:1px solid var(--border-light);box-shadow:var(--shadow-card);animation:check-card-in .3s ease-out;transition:border-color var(--transition),background-color var(--transition)}@keyframes check-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.check-card--right{border-color:var(--success-border);background:linear-gradient(180deg,var(--success-bg),var(--bg-primary) 70%)}.check-card--wrong{border-color:#efc9c5}.check-card__eyebrow{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-bright)}.check-card__prompt{margin:0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.22rem;font-weight:600;line-height:1.3;color:var(--text-primary)}.check-card__how{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.88rem;color:var(--text-secondary)}.check-card__icon{flex:none;color:var(--caramel-bottom)}.check-card__played{margin:0;font-family:var(--font-mono);font-size:.9rem;font-weight:700;color:#3f7338}.check-card__tip{margin:0;font-size:.86rem;color:var(--amber-bright)}.check-card__hint{margin:0;padding:.55rem .8rem;border-radius:12px;background:#fbf1dc;border:1px dashed var(--amber-dim);font-size:.88rem;color:var(--text-secondary)}.check-picks{min-height:2.2rem}.check-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.check-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .3rem;border-radius:999px;background:#fbf1dc;border:1px solid var(--amber-dim);font-size:.86rem;font-weight:600;color:var(--text-primary);animation:check-card-in .2s ease-out}.check-chip img{width:22px;height:22px}.check-chip span{padding-right:.25rem}.check-chip--right{background:var(--success-bg);border-color:var(--success-border);color:#3f7338}.check-chip--wrong{background:#fbe9e7;border-color:#efc9c5;color:var(--blunder-text)}.check-chip__remove{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:rgb(var(--ink) / .08);color:inherit;font-size:.95rem;line-height:1;cursor:pointer}.check-chip__remove:hover{background:rgb(var(--ink) / .16)}.check-chips__empty{margin:0;padding:.35rem 0;font-size:.86rem;color:var(--text-muted)}.check-chips__empty--none{font-weight:600;color:var(--text-secondary)}.check-options{display:grid;gap:.45rem}.check-option{display:flex;align-items:center;gap:.65rem;width:100%;padding:.7rem .85rem;border-radius:14px;text-align:left;background:var(--bg-secondary);border:1.5px solid var(--border-light);font:inherit;font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),transform var(--transition)}.check-option:hover:not(:disabled){background:#f8ecd2;border-color:var(--caramel-top)}.check-option:active:not(:disabled){transform:scale(.99)}.check-option:disabled{cursor:default}.check-option__box{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-light);background:var(--bg-primary);font-size:.8rem;font-weight:800;color:#fff}.check-options--many .check-option__box{border-radius:6px}.check-option--on{background:#fbf1dc;border-color:var(--caramel-top)}.check-option--on .check-option__box{border-color:var(--caramel-bottom);background:var(--caramel-bottom)}.check-option--right{background:var(--success-bg);border-color:var(--success-border)}.check-option--right .check-option__box{border-color:var(--success);background:var(--success)}.check-card__verdict{margin:0;font-size:.9rem;font-weight:700;animation:check-card-in .25s ease-out}.check-card__verdict--right{color:#3f7338}.check-card__verdict--wrong{font-weight:500;color:var(--blunder-text)}.check-summary{display:flex;flex-direction:column;gap:.65rem;padding:1rem 1.05rem;border-radius:18px;background:var(--success-bg);border:1px solid var(--success-border);animation:check-card-in .3s ease-out}.check-summary--failed{background:#fdf3f1;border-color:#efc9c5}.check-summary__title{margin:0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.25rem;font-weight:700;color:#3f7338}.check-summary--failed .check-summary__title{color:var(--blunder-text)}.check-summary__text{margin:0;font-size:.92rem;line-height:1.5;color:var(--text-secondary)}.check-summary__list{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.check-summary__list li{display:grid;gap:.1rem;padding:.5rem .7rem .5rem 2rem;border-radius:12px;background:#ffffffb3;position:relative}.check-summary__list li:before{content:"✓";position:absolute;left:.7rem;top:.5rem;font-weight:800;color:var(--success)}.check-summary__list li.check-summary__item--missed:before{content:"↺";color:var(--inaccuracy)}.check-summary__q{font-size:.85rem;color:var(--text-secondary)}.check-summary__a{font-size:.92rem;font-weight:700;color:var(--text-primary)}.check-summary__proof{margin:0;font-size:.86rem;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.check-card,.check-chip,.check-card__verdict,.check-summary{animation:none}}.lesson-card--rules .lesson-badge{background:var(--bg-hover)}.learning-board__progress{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0 1rem}.learning-board__steps{display:flex;gap:.45rem;margin:0;padding:0;list-style:none}.learning-board__steps li{width:14px;height:14px;border-radius:50%;background:var(--bg-tertiary);box-shadow:inset 0 0 0 2px var(--border);transition:background .25s,box-shadow .25s,transform .25s}.learning-board__steps li.is-done{background:#6f9f2c;box-shadow:none}.learning-board__steps li.is-current{background:#f0b23c;box-shadow:0 0 0 3px #fff6d4,0 0 0 4px #f0b23c;transform:scale(1.1)}.learning-board__moves{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.learning-board__progress .learning-board__moves{margin:0}.learning-board__rules{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none}.learning-board__rules li{padding:.3rem .7rem;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.learning-board__tools{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}.learning-board__link{padding:.2rem 0;border:0;background:none;font-size:.85rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.learning-board__link:hover{color:var(--text-primary)}.learning-board__target{position:absolute;z-index:1;width:34%;height:34%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe08a,#f0b23c);border:3px solid #fff6d4;box-shadow:0 2px 6px #38264455;pointer-events:none;animation:target-pop .35s cubic-bezier(.34,1.56,.64,1),target-pulse 1.8s .35s ease-in-out infinite}@keyframes target-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes target-pulse{0%,to{box-shadow:0 2px 6px #38264455,0 0 #f0b23c8c}60%{box-shadow:0 2px 6px #38264455,0 0 0 10px #f0b23c00}}@media(prefers-reduced-motion:reduce){.learning-board__target{animation:none}}.learning-board__palette{display:flex;gap:.4rem;flex-wrap:wrap}.learning-board__palette [aria-pressed=true]{outline:2px solid var(--amber)}.sponsor-plate{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.6rem .95rem .6rem .65rem;border:1px solid var(--border-light);border-radius:14px;background:linear-gradient(180deg,var(--bg-primary),var(--bg-secondary));color:var(--text-secondary);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.sponsor-plate:not(.sponsor-plate--live){border-style:dashed;border-color:var(--amber-dim)}.sponsor-plate:hover{border-color:var(--amber);box-shadow:var(--shadow-card);background:var(--bg-primary)}.sponsor-plate:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.sponsor-plate__seal{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:var(--on-amber);box-shadow:inset 0 1px #ffffff59,0 2px 6px rgb(var(--shadow-color) / .25)}.sponsor-plate__seal svg{width:22px;height:22px}.sponsor-plate__copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sponsor-plate__eyebrow,.sponsor-plate__label{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.sponsor-plate__text{font-size:.9rem;font-weight:600;line-height:1.3;color:var(--text-primary)}.sponsor-plate__text--short{display:none}.sponsor-plate__arrow{margin-left:auto;padding-left:.4rem;color:var(--amber);font-weight:700;transition:transform .15s ease}.sponsor-plate:hover .sponsor-plate__arrow{transform:translate(2px)}.sponsor-plate__logo{display:block;max-width:100%;height:auto;object-fit:contain}.sponsor-plate__tagline{font-size:.8rem;color:var(--text-muted)}.sponsor-plate--live{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.6rem .95rem}.sponsor-plate--home{flex-shrink:0;width:min(100%,400px);max-width:440px;margin-left:auto;padding-block:.75rem}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__logo{max-height:40px;max-width:240px}:is(.sponsor-plate--home,.sponsor-plate--page).sponsor-plate--live{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .9rem}:is(.sponsor-plate--home,.sponsor-plate--page).sponsor-plate--live .sponsor-plate__label{grid-column:1 / -1}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__tagline{padding-left:.9rem;border-left:1px solid var(--border-light);line-height:1.35}.home-greeting{flex-wrap:wrap}.home-greeting>div:first-child{flex:1 1 22rem;min-width:0}@media(max-width:760px){.sponsor-plate--home,.sponsor-plate--page{width:100%;margin-left:0;padding:.45rem .85rem .45rem .5rem;gap:.65rem}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__seal{width:30px;height:30px}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__seal svg{width:17px;height:17px}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__eyebrow{font-size:.6rem}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__text{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__logo{max-height:36px}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__text--long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:is(.sponsor-plate--home,.sponsor-plate--page) .sponsor-plate__text--short{display:block}}@media(min-width:761px){.home-greeting{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:1.1rem;padding-inline:0}.home-greeting>div:first-child{padding-left:.25rem}.sponsor-plate--home{width:100%;max-width:none;margin-left:0}}@media(min-width:1101px){.home-greeting{grid-template-columns:repeat(3,minmax(0,1fr))}.home-greeting>div:first-child{grid-column:span 2}}.sponsor-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem}.sponsor-row__center{grid-column:2}.sponsor-row__center .play-switch{margin:0}.sponsor-row>.sponsor-plate--page{grid-column:3;justify-self:end;width:min(100%,420px)}.play-page>.sponsor-row{margin-bottom:1.4rem}.ranking-page>.sponsor-row{margin-bottom:0}@media(max-width:1180px){.sponsor-row{display:flex;justify-content:space-between}.sponsor-row>.sponsor-plate--page{flex:0 1 420px;margin-left:auto}}@media(max-width:760px){.sponsor-row{flex-direction:column;align-items:stretch;gap:.75rem}.sponsor-row__center{width:100%}.sponsor-row>.sponsor-plate--page{flex:none;width:100%}}.page-head{display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:stretch;gap:1.1rem 1.25rem}.page-head__aside{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.page-head__aside>.sponsor-plate--page{width:100%}.page-head__aside>:last-child{flex:1;justify-content:center}.page-head__card{display:flex;flex-direction:column;gap:.55rem;padding:1.15rem 1.25rem 1.25rem;border-radius:20px;background:var(--bg-primary);border:1px solid var(--border-light);box-shadow:0 24px 48px -30px rgb(var(--shadow-color) / .7)}.page-head__card-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.learn-start .btn{width:100%;justify-content:center}@media(max-width:1100px){.page-head{grid-template-columns:minmax(0,1fr)}.page-head__aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.page-head__aside>.sponsor-plate--page{grid-column:2;grid-row:1}}@media(max-width:760px){.page-head__aside{display:flex;align-items:stretch}}.sponsor-plate--footer{width:fit-content;max-width:min(100%,320px);margin-top:1rem;background:var(--bg-primary)}.sponsor-plate--footer .sponsor-plate__seal{width:34px;height:34px}.sponsor-plate--footer .sponsor-plate__seal svg{width:19px;height:19px}.sponsor-plate--footer .sponsor-plate__text{font-size:.84rem}.sponsor-plate--footer .sponsor-plate__logo{max-height:32px}.sponsor-plate--footer.sponsor-plate--live{width:100%;padding-block:.5rem;gap:.25rem}.app-footer .sponsor-plate:not(.sponsor-plate--live){background:#fff8ec0f;border-color:#e0b06780}.app-footer .sponsor-plate:not(.sponsor-plate--live):hover{background:#fff8ec1c;border-color:var(--footer-gold);box-shadow:none}.app-footer .sponsor-plate__eyebrow,.app-footer .sponsor-plate__arrow{color:var(--footer-gold)}.app-footer .sponsor-plate__text{color:#fff8ec}.app-footer .sponsor-plate:focus-visible{outline-color:var(--footer-gold)}.sponsor-plate--game{width:100%;min-height:var(--bar-h, 60px);padding:.45rem .85rem .45rem .5rem;gap:.65rem;border-radius:16px}.sponsor-plate--game .sponsor-plate__seal{width:30px;height:30px}.sponsor-plate--game .sponsor-plate__seal svg{width:17px;height:17px}.sponsor-plate--game .sponsor-plate__eyebrow{font-size:.6rem}.sponsor-plate--game .sponsor-plate__text{font-size:.8rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sponsor-plate--game.sponsor-plate--live{flex-direction:row;align-items:center;gap:.75rem}.sponsor-plate--game .sponsor-plate__logo{max-height:34px;max-width:calc(100% - 5rem)}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.arena__side>.sponsor-plate--game{order:99}}.side-card{--lamp-red: #ff5a52;--lamp-yellow: #ffcc4d;--lamp-green: #4ad07a;--tutor-blue: 82, 176, 220;--side-panel-h: clamp(210px, 36vh, 400px);position:relative;display:flex;flex-direction:column;gap:.7rem;padding:.85rem .85rem 0;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.side-card--coach{margin-top:2.4rem}.side-card>.coach-perch{margin-bottom:0}.side-card--coach .coach-perch__mascot{bottom:-6px}.side-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:14px;background:var(--bg-tertiary);box-shadow:inset 0 0 0 1px var(--border),inset 0 2px 6px rgb(var(--shadow-color) / .08)}.side-tabs__glider{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:10px;background:var(--bg-primary);box-shadow:0 0 0 1px var(--border-light),0 1px 2px rgb(var(--shadow-color) / .12),0 6px 14px -8px rgb(var(--shadow-color) / .55);transition:transform .32s cubic-bezier(.34,1.32,.64,1)}.side-tabs--second .side-tabs__glider{transform:translate(100%)}.side-tabs__tab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:0;min-height:42px;padding:.3rem .6rem;border:0;border-radius:10px;background:none;font-size:.92rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.side-tabs__tab>span:not([class]){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-tabs__tab--on{color:var(--text-primary);cursor:default}@media(hover:hover){.side-tabs__tab:not(.side-tabs__tab--on):hover{color:var(--text-primary)}}.side-tabs__tab:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.side-tabs__icon{flex:none;width:18px;height:18px;color:var(--amber)}.side-tabs__tab:not(.side-tabs__tab--on) .side-tabs__icon{color:currentColor}.side-tabs__count{padding:.05rem .45rem;border-radius:999px;font:600 .72rem var(--font-mono);color:var(--text-secondary);background:rgb(var(--ink) / .07)}.side-tabs__tab--on .side-tabs__count{color:var(--amber-bright);background:#d4a8432e}.side-tabs__mark{flex:none;padding:3px 2.5px;gap:1.5px;border-radius:5px}.side-tabs__mark .tutor-card__mark-dot{width:5px;height:5px;transition:opacity .25s ease,box-shadow .25s ease,filter .25s ease}.side-tabs__tab:not(.side-tabs__tab--on) .side-tabs__mark .tutor-card__mark-dot{opacity:.55;filter:saturate(.4)}.side-tabs__tab--on .side-tabs__mark .tutor-card__mark-dot--red{box-shadow:0 0 5px var(--lamp-red)}.side-tabs__tab--on .side-tabs__mark .tutor-card__mark-dot--yellow{box-shadow:0 0 5px var(--lamp-yellow)}.side-tabs__tab--on .side-tabs__mark .tutor-card__mark-dot--green{box-shadow:0 0 5px var(--lamp-green)}@media(hover:hover){.side-tabs__tab:hover .side-tabs__mark .tutor-card__mark-dot{opacity:1;filter:none}}.side-tabs__dot{width:8px;height:8px;border-radius:50%;background:var(--caramel-top);box-shadow:0 0 0 3px #c8944838}.side-card__panel{min-height:var(--side-panel-h);animation:side-panel-in .24s ease-out}@keyframes side-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.arena__side .side-card .move-list{height:var(--side-panel-h);max-height:none;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;box-shadow:none}.side-card .move-list__header{background:var(--bg-secondary)}.side-card .tutor-panel{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.side-card .tutor-panel>.tutor-verdict{margin-top:0}.side-card .post-game{padding:.15rem .1rem .4rem;border:0;border-radius:0;background:none;box-shadow:none;animation:none}.side-card .post-game__title{font-size:1.15rem}.side-card>.tutor-review{margin:0}.side-card__footer.move-list__footer{margin:0 -.85rem;padding:.35rem .6rem;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--bg-secondary)}.side-card .tutor-settings{gap:.15rem}.tutor-switch{position:relative}.tutor-switch input{position:absolute;opacity:0;width:1px;height:1px}.tutor-switch__track{position:relative;flex:none;width:34px;height:20px;border-radius:999px;background:var(--border-light);transition:background .2s ease}.tutor-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(var(--shadow-color) / .35);transition:transform .22s cubic-bezier(.34,1.4,.64,1)}.tutor-switch input:checked+.tutor-switch__track{background:var(--caramel-top)}.tutor-switch input:checked+.tutor-switch__track:after{transform:translate(14px)}.tutor-switch input:focus-visible+.tutor-switch__track{outline:2px solid var(--amber);outline-offset:2px}.coach-perch--actions .coach-perch__bubble,.coach-perch--actions .coach-perch__bubble:after{border-color:#c8944899}.coach-perch--actions .coach-perch__bubble{box-shadow:0 0 0 4px #d4a8431f}.coach-perch__actions{display:grid;gap:.35rem;margin-top:.55rem}.coach-actions{display:flex;flex-wrap:wrap;gap:.45rem}.coach-actions .btn{flex:1 1 auto;width:auto;min-height:40px;margin:0;padding:.4rem .9rem;border-radius:10px;font-size:.88rem;white-space:nowrap}.coach-actions .btn--ghost{background:var(--bg-primary)}.coach-actions__never,.coach-actions__note{font-size:.78rem;line-height:1.35;color:var(--text-secondary)}.coach-actions__never.tutor-link{justify-self:start;color:var(--text-secondary)}.coach-perch__san{padding:0 .3rem;border-radius:6px;font-family:var(--font-mono);color:var(--text-primary);background:#d4a8432e}.arena__side>.sponsor-plate--game+.side-card--coach{margin-top:0}.arena__side>.sponsor-plate--game+.side-card--coach>.coach-perch{min-height:100px}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.side-card{--side-panel-h: clamp(180px, 30vh, 320px);padding:.7rem .7rem 0;gap:.55rem}.side-card__footer.move-list__footer{margin:0 -.7rem}.side-card--coach{margin-top:1.1rem}.side-card--coach>.coach-perch{min-height:40px;padding-right:66px}.side-card--coach>.coach-perch:not(.coach-perch--actions) .coach-perch__text{display:none}.side-card--coach .coach-perch__mascot{width:68px;bottom:-4px}.arena__side>.sponsor-plate--game+.side-card--coach{margin-top:1.1rem}.arena__side>.sponsor-plate--game+.side-card--coach>.coach-perch{min-height:40px}.side-tabs__tab{min-height:40px;font-size:.88rem}}@media(prefers-reduced-motion:reduce){.side-tabs__glider,.tutor-switch__track:after{transition:none}.side-card__panel{animation:none}}.learn-page--sponsored{position:relative}.learn-page--sponsored>.board-bar{min-height:var(--bar-h, 60px)}.learn-page--sponsored>.trainer-sponsor{position:absolute;top:0;right:0;width:var(--side-w)}.learn-page--trainer.learn-page--sponsored{--board: min( calc(100vh - var(--app-header-h) - 8rem), calc(min(100vw, 1440px) - var(--side-w) - 5rem), 760px )}@supports (height: 100dvh){.learn-page--trainer.learn-page--sponsored{--board: min( calc(100dvh - var(--app-header-h) - 8rem), calc(min(100vw, 1440px) - var(--side-w) - 5rem), 760px )}}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.learn-page--trainer.learn-page--sponsored{--board: min( calc(100vw - 2rem) , 620px)}.learn-page--sponsored>.board-bar{min-height:36px}.learn-page--sponsored>.trainer-sponsor{position:static;align-self:center;width:var(--board);max-width:100%}}@media(max-width:600px){.learn-page--trainer.learn-page--sponsored{--board: calc(100vw - 1.5rem) }}.sponsors-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1040px;margin:.5rem auto 0;color:var(--text-secondary);line-height:1.6}.sponsors-page>.panel{padding:2rem 2.25rem}.sponsors-page .btn{text-decoration:none;color:var(--on-amber);width:fit-content}.sponsors-h2{margin:.3rem 0 .5rem;font-family:var(--font-display);font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.2;color:var(--text-primary);letter-spacing:-.01em}.sponsors-section-head{max-width:62ch}.sponsors-hero{display:flex;align-items:center;gap:2rem;background:linear-gradient(135deg,var(--bg-primary),var(--bg-tertiary))}.sponsors-hero__copy{flex:1;min-width:0}.sponsors-hero__title{margin-top:.35rem;font-family:var(--font-display);font-size:clamp(2rem,4.6vw,2.9rem);line-height:1.08;letter-spacing:-.02em;color:var(--text-primary);max-width:18ch}.sponsors-hero__text{margin:.9rem 0 1.4rem;max-width:56ch;font-size:1.05rem}.sponsors-hero__mascot{flex-shrink:0}.sponsors-offer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.5rem 2rem;align-items:center}.sponsors-offer__why{margin-top:.75rem;font-size:.92rem;color:var(--text-muted)}.sponsors-offer__status{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;justify-self:end}.sponsors-offer__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-secondary);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary)}.sponsors-offer__badge--open{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.sponsors-offer__dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #4f8a472e}.sponsors-places{display:flex;flex-direction:column;gap:1rem;padding:1rem .25rem 0}.sponsors-places__list{list-style:none;display:flex;flex-direction:column;gap:1rem}.sponsors-place{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.75rem;align-items:center;padding:1.4rem}.sponsors-place:nth-child(2n) .sponsors-place__figure{order:2}.sponsors-place__figure{position:relative;margin:0}.sponsors-place__example{position:absolute;top:3px;right:8px;padding:0 .45rem;line-height:12px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border-light);font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.sponsors-place__label{display:flex;align-items:baseline;gap:.6rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.sponsors-place__num{font-family:var(--font-display);font-size:1.5rem;letter-spacing:0;color:var(--amber-dim)}.sponsors-place__title{margin:.2rem 0 .45rem;font-family:var(--font-display);font-size:1.3rem;line-height:1.25;color:var(--text-primary)}.sponsors-place__size{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.88rem}.sponsors-place__size strong{color:var(--text-primary)}.sponsors-note{max-width:80ch;font-size:.82rem;color:var(--text-muted)}.sponsor-sketch{display:flex;flex-direction:column;aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-deep);box-shadow:var(--shadow-card)}.sponsor-sketch i,.sponsor-sketch b{display:block;height:6px;border-radius:3px;background:var(--border-light)}.sponsor-sketch b{height:9px;width:62%;background:var(--text-muted);opacity:.45}.sponsor-sketch__bar{display:flex;gap:4px;align-items:center;height:18px;padding:0 8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.sponsor-sketch__bar i{width:6px;height:6px;border-radius:50%;background:var(--amber-dim)}.sponsor-sketch__spot{display:grid;place-items:center;min-height:26px;border:1.5px dashed var(--amber);border-radius:6px;background:var(--amber-glow-strong);color:var(--amber);font-size:.66rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.sponsor-sketch__home{flex:1;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto 1fr;gap:9px 6px;padding:10px 12px 12px}.sponsor-sketch__greeting{display:flex;flex-direction:column;justify-content:center;gap:5px}.sponsor-sketch__greeting i:last-child{width:70%}.sponsor-sketch__home .sponsor-sketch__spot{min-height:34px}.sponsor-sketch__tiles{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:6px}.sponsor-sketch__tile{border:1px solid var(--border);border-radius:6px;background:var(--bg-primary)}.sponsor-sketch__tile--wide{grid-column:span 2}.sponsor-sketch__footer-wrap{flex:1;display:flex;flex-direction:column}.sponsor-sketch__content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px;opacity:.55}.sponsor-sketch__content span{border:1px solid var(--border);border-radius:6px;background:var(--bg-primary)}.sponsor-sketch__footer{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;padding:10px 12px 12px;background:linear-gradient(180deg,#4f3524,#3e281a)}.sponsor-sketch__footer i{background:#eadcc447}.sponsor-sketch__footer b{background:#e0b067;opacity:.8}.sponsor-sketch__footer .sponsor-sketch__spot{border-color:#e0b067;background:#e0b06729;color:#f1cf95}.sponsor-sketch__brand{display:flex;flex-direction:column;gap:5px}.sponsor-sketch__brand b{width:48%}.sponsor-sketch__brand .sponsor-sketch__spot{margin-top:3px;width:82%}.sponsor-sketch__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-content:start}.sponsor-sketch__game{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 12px 12px;min-height:0}.sponsor-sketch__board{height:100%;aspect-ratio:1;border-radius:4px;background:repeating-conic-gradient(var(--board-dark) 0 25%,var(--board-light) 0 50%) 0 0 / 25% 25%;box-shadow:0 0 0 3px #7a5530}.sponsor-sketch__side{display:flex;flex-direction:column;gap:6px}.sponsor-sketch__side .sponsor-sketch__spot{min-height:22px}.sponsor-sketch__card{height:22%;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary)}.sponsor-sketch__card--moves{flex:1}.sponsors-fit__rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1.75rem;margin-top:1.5rem}.sponsors-fit__rule{padding-top:.75rem;border-top:2px solid var(--amber-dim)}.sponsors-fit__rule dt{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-primary)}.sponsors-fit__rule dd{margin:.35rem 0 0;font-size:.92rem}.sponsors-contact{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;background:linear-gradient(180deg,var(--bg-primary),var(--bg-tertiary))}.sponsors-contact>p:not(.legal-page__eyebrow){max-width:56ch}.sponsors-contact__meta{margin:.5rem 0 1rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.sponsors-contact__mail{margin-top:.6rem;font-size:.88rem}.sponsors-contact__mail a{color:var(--amber);text-decoration:underline;text-underline-offset:2px}@media(max-width:860px){.sponsors-offer{grid-template-columns:minmax(0,1fr)}.sponsors-offer__status{justify-self:start}.sponsors-place{grid-template-columns:minmax(0,1fr);gap:1.1rem}.sponsors-place:nth-child(2n) .sponsors-place__figure{order:0}.sponsors-fit__rules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sponsors-page>.panel{padding:1.5rem 1.1rem}.sponsors-hero{flex-direction:column-reverse;align-items:flex-start;gap:.5rem}.sponsors-hero__mascot{width:120px;height:auto}.sponsors-fit__rules{grid-template-columns:minmax(0,1fr)}.sponsors-place{padding:1rem}}.learning-board__variant{color:var(--text-muted);font-size:.78rem;line-height:1.6;margin:0 0 .8rem}.mini-game-controls{margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.mini-game-controls__side{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0 0 .9rem}.mini-game-controls__side legend{color:var(--text-muted);font-size:.75rem;font-weight:600;margin-bottom:.5rem}.mini-game-controls__choice{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex:1;min-height:44px;padding:.55rem .9rem;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text-primary);font:inherit;font-size:.85rem;cursor:pointer}.mini-game-controls__choice[aria-pressed=true]{border-color:var(--amber);background:var(--amber-glow)}.mini-game-controls__choice:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.mini-game-controls__stone{width:12px;height:12px;border-radius:50%;border:1px solid #77654e;background:#fff3dc}.mini-game-controls__stone--b{background:#43372f}.mini-game-controls__start{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text-muted);font-size:.75rem}.mini-game-links{display:grid;gap:.65rem;margin:.5rem 0 1.2rem;font-size:.8rem;line-height:1.5}.mini-game-links a{color:var(--text-muted);text-underline-offset:3px}.mini-game-links a:hover{color:var(--amber)}.game-fork{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.game-fork-origin{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.8rem 1rem;margin-bottom:1rem;font-size:.85rem}.game-fork-origin span{flex:1 1 240px}.game-fork__colors{border:0;padding:0;display:flex;flex-wrap:wrap;gap:1rem}.game-fork__colors label{display:flex;align-items:center;gap:.35rem}.promotion-picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20}.promotion-picker__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;padding:0;margin:0;cursor:default;background:#1e160c6b;border-radius:inherit}.promotion-picker__column{position:absolute;width:12.5%;display:flex;flex-direction:column;background:#fffaf0;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px var(--amber),0 10px 26px #0006;animation:promotion-pop .14s ease-out}.promotion-picker__column--top{top:0}.promotion-picker__column--bottom{bottom:0;flex-direction:column-reverse}.promotion-picker__piece{aspect-ratio:1;width:100%;padding:6%;border:0;margin:0;background:transparent;cursor:pointer;display:grid;place-items:center}.promotion-picker__piece img{width:100%;height:100%;pointer-events:none;transition:transform .12s ease}.promotion-picker__piece:hover{background:var(--amber-glow-strong)}.promotion-picker__piece:hover img{transform:scale(1.08)}.promotion-picker__piece:focus-visible{outline:3px solid var(--amber-bright);outline-offset:-3px;background:var(--amber-glow-strong)}@keyframes promotion-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.promotion-picker__column{animation:none}}.strength__now{display:none}.play-setup__tutor{display:contents}.switch-row__short{display:none}.info-tip{display:none;flex:none}.play-setup__extras{margin-top:0;flex-basis:100%}.play-setup__age{flex-basis:100%;margin-top:.4rem}.info-tip__button{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition),background-color var(--transition)}.info-tip__button:hover,.info-tip--open .info-tip__button{color:var(--amber);background:var(--bg-hover)}.info-tip__button:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.info-tip__pop{position:fixed;inset:auto;z-index:1000;display:none;width:min(320px,calc(100vw - 24px));margin:0;padding:.8rem .95rem .85rem;overflow:visible;border:1px solid var(--border-light);border-radius:16px;background:var(--bg-primary);box-shadow:0 22px 48px -20px rgb(var(--shadow-color) / .55),0 2px 6px rgb(var(--shadow-color) / .08);font-family:var(--font-body);font-size:.84rem;font-weight:400;line-height:1.55;letter-spacing:normal;text-align:left;text-transform:none;color:var(--text-secondary);animation:age-pop .18s ease-out}.info-tip--open .info-tip__pop{display:block}.info-tip__pop:after{content:"";position:absolute;left:calc(var(--tip-arrow, 24px) - 7px);width:14px;height:14px;background:inherit;border:1px solid var(--border-light)}.info-tip__pop[data-placement=above]:after{bottom:-8px;border-top:0;border-left:0;border-radius:0 0 4px;transform:rotate(45deg)}.info-tip__pop[data-placement=below]:after{top:-8px;border-bottom:0;border-right:0;border-radius:4px 0 0;transform:rotate(45deg)}.info-tip__pop a{display:block;width:fit-content;margin-top:.45rem;font-weight:600}@media(prefers-reduced-motion:reduce){.info-tip__pop{animation:none}}@media(min-width:761px)and (max-height:980px),(min-width:761px)and (max-width:860px)and (max-height:1120px){.app-chrome .app-header{min-height:62px}.app-header__wordmark-img{width:186px}.app-content:has(>.play-page){padding-top:clamp(.6rem,1.8vh,1.5rem);padding-bottom:1rem}.play-page>.sponsor-row{margin-bottom:clamp(.6rem,1.6vh,1.4rem)}.play-page .play-switch__item{min-height:40px}.play-page .sponsor-plate--page{padding:.4rem .85rem .4rem .5rem;gap:.65rem}.play-page .sponsor-plate--page .sponsor-plate__seal{width:30px;height:30px}.play-page .sponsor-plate--page .sponsor-plate__seal svg{width:17px;height:17px}.play-page .sponsor-plate--page .sponsor-plate__eyebrow{font-size:.6rem}.play-page .sponsor-plate--page .sponsor-plate__text{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-page .sponsor-plate--page .sponsor-plate__logo{max-height:32px}.play-page .sponsor-plate--page .sponsor-plate__text--long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.play-page .sponsor-plate--page .sponsor-plate__text--short{display:block}.play-setup{padding:clamp(1rem,3.4vh,2.25rem) 2.25rem;gap:1.5rem;overflow:clip}.play-setup__form{gap:clamp(.7rem,2.4vh,1.4rem)}.play-setup__eyebrow,.play-setup__lead{display:none}.play-setup__title{margin-top:0;font-size:clamp(1.7rem,2.6vw,2.2rem)}.play-setup .info-tip{display:inline-flex}.play-setup .play-setup__group{gap:.3rem}.play-setup .play-setup__group>legend{float:left;padding:0}.play-setup .play-setup__group:not(.strength){flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .9rem}.play-setup .choice{min-height:40px}.play-setup .strength>legend{display:flex;align-items:center;gap:.1rem;width:100%;min-height:32px;margin-bottom:0}.play-setup .strength__now{display:inline-flex;align-items:baseline;gap:.4rem;margin-left:auto;padding:.2rem .75rem;border-radius:999px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim);font-size:.85rem;font-weight:400;white-space:nowrap;color:var(--text-secondary)}.play-setup .strength__now strong{font-weight:700;color:var(--text-primary)}.play-setup .strength__bubble-row{display:none}.play-setup .strength .play-setup__help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.play-setup__tutor{display:flex;align-items:center;gap:.4rem;max-width:560px;padding:.45rem .5rem .45rem 1rem;border-radius:16px;background:var(--success-bg);border:1px solid var(--success-border)}.play-setup__tutor .switch-row{flex:1;min-width:0;max-width:none;padding:0;border:0;border-radius:0;background:none;align-items:center}.play-setup .switch-row__text{display:none}.play-setup .switch-row__short{display:block;font-size:.86rem;color:var(--text-secondary)}.play-setup__guide{display:none}.play-setup__actions{position:sticky;bottom:0;z-index:5;margin:-.75rem 0;padding:.75rem 0;background:linear-gradient(to bottom,transparent,var(--bg-primary) .75rem)}.play-setup__age{order:2;flex:none;margin:0 0 0 auto}.play-setup__age .age-notice__label{display:none}.play-setup__extras{order:3}.play-setup__host .speech-bubble{margin-bottom:.3rem;padding:.6rem .9rem}.play-setup__host .speech-bubble strong{font-size:1.1rem}.play-setup__host .kinglet-script{margin-top:.1rem;font-size:1.2rem}}@media(min-width:861px)and (max-height:980px){.play-setup{grid-template-columns:minmax(0,1.3fr) minmax(250px,1fr)}.play-setup__mascot{width:min(400px,100%,42vh);margin-top:0}}.learn-page--lesson{--side-w: clamp(330px, 36vw, 470px)}.board-bar__end{display:flex;align-items:center;gap:.6rem;flex:none}.board-bar__slot{display:contents}.btn__aside{font-weight:500;opacity:.85}.lesson-stage{display:grid;grid-template-columns:var(--board) var(--side-w);gap:.9rem var(--gap-x);justify-content:center;align-items:stretch}.lesson-stage__board{min-width:0;align-self:start}.lesson-stage__card{position:relative;min-width:0;min-height:26rem;container-type:inline-size}.lesson-stage__inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:.7rem;padding:.9rem 1.05rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.lesson-stage__head{display:flex;align-items:center;gap:.75rem}.lesson-badge--sm{width:44px;height:44px;border-radius:12px}.lesson-badge--sm img{width:30px;height:30px}.lesson-stage__heading{flex:1;min-width:0}.lesson-stage__title{margin:0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:700;line-height:1.1;color:var(--text-primary)}.lesson-stage__meta{margin:.15rem 0 0;font-size:.82rem;color:var(--text-muted)}.lesson-stage__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;margin:0 -.3rem;padding:.1rem .3rem .3rem}.lesson-stage__wait{margin:1rem 0;color:var(--text-muted)}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:14px}.mode-switch__item{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:38px;padding:0 .5rem;border-radius:10px;font-size:.92rem;font-weight:600;color:var(--text-muted);text-decoration:none;text-align:center;transition:background-color var(--transition),color var(--transition)}.mode-switch__item:hover{color:var(--text-primary)}.mode-switch__item--on{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px rgb(var(--shadow-color) / .22)}.mode-switch__item:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px}.mode-switch__item svg{flex:none}.coach-bubble__speech{display:flow-root;padding:.75rem .9rem .95rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:18px}.coach-bubble__mascot{float:right;width:66px;height:auto;margin:-.2rem -.35rem .2rem .6rem;animation:check-card-in .3s ease-out}.coach-bubble__top{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}.coach-bubble__lead{flex:1;min-width:0;margin:0;font-size:.84rem;color:var(--text-muted)}.coach-bubble__title{margin:0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:700;line-height:1.2;color:var(--text-primary)}.coach-bubble__how{display:flex;align-items:center;gap:.45rem;margin:.55rem 0 0;font-size:.92rem;color:var(--text-secondary)}.coach-bubble__tip{margin:.5rem 0 0;font-size:.86rem;color:var(--amber-bright)}.coach-bubble__feedback{margin-top:.7rem;padding:.6rem .8rem;border-radius:12px;font-size:.93rem;line-height:1.45;color:var(--text-primary);animation:check-card-in .25s ease-out}.coach-bubble__feedback strong{display:block;margin-bottom:.1rem}.coach-bubble__feedback--right{background:var(--success-bg);border:1px solid var(--success-border)}.coach-bubble__feedback--right strong{color:#3f7338}.coach-bubble__feedback--wrong{background:#fdf3f1;border:1px solid #efc9c5}.coach-bubble__feedback--wrong strong{color:var(--blunder-text)}.coach-bubble__feedback--hint{background:#fbf1dc;border:1px dashed var(--amber-dim);color:var(--text-secondary)}.idea-list{margin:.55rem 0 0;padding:0;list-style:none}.idea-list li+li{margin-top:.45rem}.idea-list li{display:flex;gap:.6rem;font-size:.9rem;line-height:1.4;color:var(--text-secondary)}.idea-list__n{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:.1rem;border-radius:50%;background:#f8ecd2;color:var(--amber-bright);font-size:.75rem;font-weight:700}.step-bars{display:flex;gap:5px;flex:none;margin:0;padding:0;list-style:none}.step-bars__item{width:20px;height:6px;border-radius:3px;background:var(--border-light);transition:background-color var(--transition)}.step-bars__item--current{background:var(--caramel-top)}.step-bars__item--done{background:var(--success)}.step-bars__item--missed{background:var(--inaccuracy)}.step-bars__item--failed{background:var(--blunder)}.task-pips{display:flex;gap:4px;flex:none;margin:0;padding:0;list-style:none}.task-pips__item{display:grid;place-items:center;min-width:26px;height:24px;padding:0 6px;border-radius:999px;border:1px solid var(--border);font-size:.72rem;font-weight:700;color:var(--text-muted);letter-spacing:-1px}.task-pips__item--current{border:1.5px solid var(--caramel-top);background:#fbf1dc;color:var(--amber-bright);letter-spacing:0}.task-pips__item--done{padding:0 4px;border-color:var(--success-border);background:var(--success-bg);color:#c8941c;font-size:.6rem;letter-spacing:-1.5px}.task-pips__item--todo{letter-spacing:0}.answer-area{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem}.answer-area__label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.answer-area__row{flex:1 1 12rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.answer-area__empty{flex:1 1 7rem;display:flex;align-items:center;min-height:42px;margin:0;padding:0 .85rem;border:1.5px dashed var(--border-light);border-radius:12px;font-size:.9rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.answer-area__none{min-height:42px;padding-inline:.85rem;border-radius:12px}.line-answer__moves{display:flex;flex:1;gap:.35rem;min-width:0;max-width:100%;margin:0;padding:0 0 .2rem;overflow-x:auto;list-style:none}.line-answer__moves li{flex:none;padding:.35rem .55rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);font-size:.88rem;font-weight:700}.line-answer__moves .line-answer__mine{border-color:var(--success-border);background:var(--success-bg)}.line-answer__moves .line-answer__reply{color:var(--text-secondary);font-weight:500}.line-recap{padding:.7rem .85rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-secondary)}.line-recap__label{margin:0 0 .45rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.line-recap__moves{display:flex;flex-wrap:wrap;gap:.4rem .7rem;margin:0;padding:0;list-style:none;font-weight:700}.check-shown{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.check-shown p{margin:0;font-weight:600}.lesson-stage__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--border)}.lesson-stage__actions .btn{min-height:44px;padding-inline:.85rem;border-radius:12px;font-size:.92rem}.lesson-action{display:inline-flex;align-items:center;gap:.45rem}.lesson-action--hint:not(:disabled){background:#fbf1dc;border-color:var(--amber-dim);color:var(--amber-bright)}.lesson-action--hint:disabled{opacity:.45}.lesson-action--restart{padding:.3rem .2rem;border:0;background:none;font:inherit;font-size:.85rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.lesson-action--restart:hover{color:var(--text-primary)}.lesson-stage__actions .lesson-action--main{margin-left:auto;min-height:48px;padding-inline:1.15rem;font-size:.98rem}.lesson-action--main:disabled{opacity:.4;box-shadow:none;cursor:default}@container (max-width: 400px){.lesson-action--idea{padding-inline:.7rem}.lesson-action--idea .lesson-action__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.coach-bubble__mascot{width:66px}}.lesson-sheet{position:absolute;left:0;right:0;bottom:0;z-index:3;max-height:calc(100% - 4.4rem);display:flex;flex-direction:column;gap:.8rem;padding:.45rem 1.1rem 1rem;background:var(--bg-primary);border-top:1px solid var(--border-light);border-radius:22px 22px 0 0;box-shadow:0 -16px 36px -18px rgb(var(--shadow-color) / .45);overflow-y:auto;animation:lesson-sheet-up .32s cubic-bezier(.2,.8,.2,1)}@keyframes lesson-sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.lesson-sheet__grip{flex:none;align-self:center;width:44px;height:5px;border-radius:3px;background:var(--border-light)}.lesson-sheet__head{display:flex;align-items:center;gap:.8rem}.lesson-sheet__mascot{flex:none;width:64px;height:auto}.lesson-sheet__heading{flex:1;min-width:0}.lesson-sheet__title{margin:0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:700;line-height:1.1;color:var(--text-primary)}.lesson-sheet__title:focus{outline:none}.lesson-sheet--failed .lesson-sheet__title{color:var(--blunder-text)}.lesson-sheet__close{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.lesson-sheet__close:hover{background:var(--bg-hover)}.lesson-sheet__body{display:flex;flex-direction:column;gap:.8rem}.lesson-sheet__lead{margin:0;font-weight:600;color:var(--text-primary)}.lesson-sheet__text{margin:0;font-size:1rem;line-height:1.5;color:var(--text-primary)}.lesson-sheet__note{margin:0;font-size:.86rem;line-height:1.45;color:var(--text-muted)}.lesson-sheet__body .idea-list{margin-top:0}.lesson-sheet__actions{position:sticky;bottom:0;margin-top:auto;display:flex;flex-direction:column;gap:.55rem;padding-top:.3rem;background:var(--bg-primary)}.lesson-sheet__actions .btn,.lesson-sheet__pair .btn{min-height:48px;width:100%}.lesson-sheet__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lesson-sheet-peek{position:absolute;left:0;right:0;bottom:0;z-index:3;min-height:52px;border:0;border-top:1px solid var(--border-light);border-radius:18px 18px 0 0;background:var(--bg-primary);box-shadow:0 -10px 24px -16px rgb(var(--shadow-color) / .5);font:inherit;font-weight:700;color:var(--text-primary);cursor:pointer}.sheet-badge{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .3rem;padding:.15rem .6rem;border-radius:999px;background:var(--success-bg);color:#3f7338;font-size:.82rem;font-weight:600}.sheet-badge--stars{flex-wrap:wrap;column-gap:.6rem;row-gap:.1rem;padding:0;background:none;color:var(--text-secondary);font-size:.92rem}.sheet-badge--stars strong{color:var(--text-primary)}.lesson-stars{display:inline-flex;gap:.3rem;color:#c8941c;font-size:.9rem;letter-spacing:0}.lesson-stars__off{color:var(--border-light)}.check-recap{display:flex;flex-direction:column;margin:0;padding:.1rem .85rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px}.check-recap__row{display:flex;align-items:baseline;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.check-recap__row:last-child{border-bottom:0}.check-recap__row dt{display:flex;gap:.45rem;font-size:.92rem;color:var(--text-secondary)}.check-recap__row dd{margin:0 0 0 auto;font-weight:700;text-align:right;color:var(--text-primary)}.check-recap__row--long{flex-direction:column;gap:.1rem}.check-recap__row--long dd{margin:0 0 0 1.35rem;text-align:left}.check-recap__mark{flex:none;font-weight:800;color:var(--success)}.check-recap__row--missed .check-recap__mark{color:var(--inaccuracy)}.next-lesson{display:flex;flex-direction:column;gap:.7rem;padding:.9rem;border:1px solid var(--border);border-radius:18px;background:var(--bg-secondary)}.next-lesson__head{display:flex;align-items:center;gap:.7rem}.next-lesson__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.next-lesson__name{margin:.1rem 0 0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.next-lesson__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.next-lesson__tile{display:flex;flex-direction:column;gap:.2rem;padding:.7rem;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-primary);text-decoration:none;transition:background-color var(--transition),border-color var(--transition)}.next-lesson__tile:hover{background:var(--bg-hover);border-color:var(--amber-dim);color:var(--text-primary)}.next-lesson__tile strong{display:flex;align-items:center;gap:.4rem;font-size:.95rem;white-space:nowrap}.next-lesson__tile>span{font-size:.82rem;color:var(--text-secondary)}.next-lesson__tile--primary{border-color:transparent;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:#fffaf0;box-shadow:0 10px 22px -12px #8c5c14d9}.next-lesson__tile--primary:hover{background:linear-gradient(180deg,#d09c50,#93641a);color:#fffaf0;border-color:transparent}.next-lesson__tile--primary>span{color:#fffaf0;opacity:.9}.next-lesson__tile:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px}@media(prefers-reduced-motion:reduce){.lesson-sheet,.coach-bubble__mascot,.coach-bubble__feedback{animation:none}}@media(max-width:900px),(orientation:portrait)and (max-width:1100px){.lesson-stage{grid-template-columns:minmax(0,1fr);gap:.75rem}.lesson-stage__board{width:var(--board);max-width:100%;justify-self:center}.lesson-stage__card{width:var(--board);max-width:100%;justify-self:center;min-height:0}.lesson-stage__inner{position:static;overflow:visible}.lesson-stage__body{overflow:visible}.lesson-stage__actions{position:sticky;bottom:0;z-index:4;margin:0 -1.1rem -1rem;padding:.7rem 1.1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--bg-primary);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.lesson-sheet,.lesson-sheet-peek{position:fixed;z-index:60}.lesson-sheet{max-height:82vh;max-height:82dvh;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@media(max-width:600px){.lesson-stage__inner{padding:.85rem .9rem;border-radius:var(--radius-lg)}.lesson-stage__actions{margin:0 -.9rem -.85rem;padding-inline:.9rem;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.lesson-stage__actions .btn{flex:1 1 auto;justify-content:center}.lesson-stage__actions .lesson-action--idea{flex:none}.coach-bubble__mascot{width:60px}}.lesson-stage .learning-board__tools{margin-top:0;gap:1rem}.lesson-stage .learning-board__moves{margin:0}.basic-rules{font-size:.85rem;color:var(--text-secondary)}.basic-rules summary{cursor:pointer;font-weight:600}.setup-palette{display:grid;gap:.4rem}.setup-palette__row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem}.setup-palette__row .btn{min-width:0;min-height:42px;padding:.2rem}.setup-palette [aria-pressed=true]{outline:2px solid var(--amber);background:var(--bg-secondary)}.setup-palette>button{justify-self:start}.notation-answer{min-width:0}.notation-answer .notation-line{flex-wrap:nowrap;overflow-x:auto;margin:.45rem 0 0;max-height:none;padding:3px}.notation-answer .notation-line li{flex:none;white-space:nowrap}.notation-language{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-secondary)}.notation-language select{max-width:12rem;min-width:0;padding:.3rem .5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}@container (max-width: 440px){.lesson-action--idea .lesson-action__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.puzzle-badge--sm{width:44px;height:44px;border-radius:12px;font-size:1.3rem}.lesson-stage .puzzle-strip{padding:4px 4px 4px .75rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-tertiary);flex-wrap:nowrap;gap:.5rem}.lesson-stage .puzzle-strip__dot{width:30px;height:30px;font-size:.8rem}.lesson-stage .puzzle-strip__all{white-space:nowrap}.puzzle-motif{display:flex;flex-direction:column;gap:.1rem}.puzzle-motif__label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.puzzle-motif__name{margin:0;font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.35rem;font-weight:700;line-height:1.15;color:var(--text-primary)}.opening-frame__flag{flex:none;width:52px;height:35px;filter:drop-shadow(0 4px 5px rgb(var(--shadow-color) / .28))}.coach-bubble__how--why{display:block;line-height:1.45}.opening-reply{display:block;margin-top:.3rem;padding-top:.3rem;font-size:.86rem;line-height:1.4;border-top:1px solid var(--success-border);color:var(--text-secondary)}.opening-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.opening-side{display:flex;align-items:center;gap:.55rem;min-height:60px;padding:.5rem .75rem;border:1px solid var(--border-light);border-radius:14px;background:var(--bg-primary);font:inherit;font-weight:700;color:var(--text-primary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.opening-side:hover{background:var(--bg-hover);border-color:var(--amber-dim)}.opening-side:focus-visible{outline:2px solid var(--amber-bright);outline-offset:2px}.opening-side img{flex:none}.opening-side--on{border-color:transparent;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));color:#fffaf0;box-shadow:0 10px 22px -12px #8c5c14d9}.opening-side--on:hover{background:linear-gradient(180deg,#d09c50,#93641a)}.opening-side__go{margin-left:auto}.frame-links{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin-top:-.6rem}.frame-links .lesson-action--restart{display:inline-flex;align-items:center;gap:.3rem}.frame-links .lesson-action--restart:disabled{opacity:.4;cursor:default}.opening-whys{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;font-size:.9rem;line-height:1.4;color:var(--text-secondary)}.opening-whys .move-notation,.opening-whys strong{font-weight:700;color:var(--text-primary)}.player-bar__avatar--profile{position:relative;background:none;box-shadow:none}.player-bar__avatar--profile .piece-avatar{border-radius:12px;overflow:hidden}.player-bar__avatar--profile:after{content:"";position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:50%;border:2px solid var(--bg-primary);background:#f6ecd8;box-shadow:0 0 0 1px var(--border)}.player-bar__avatar--black.player-bar__avatar--profile:after{background:#3a2a1c}.player-bar--you .player-bar__avatar--profile{box-shadow:none}.player-bar--you .player-bar__avatar--profile .piece-avatar{box-shadow:0 0 0 2px var(--amber-dim)}.pvp-clock{flex:none;min-width:5.2ch;padding:.15rem .6rem;border-radius:10px;border:1px solid var(--border);background:rgb(var(--ink) / .04);color:var(--text-secondary);font:600 1.45rem/1.25 var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;transition:color .2s ease,background .2s ease,border-color .2s ease}.pvp-clock--running{color:var(--text-primary);background:var(--success-bg);border-color:var(--success-border)}.pvp-clock--low{color:var(--blunder-text)}.pvp-clock--low.pvp-clock--running{background:#fdecea;border-color:#f2b8b2}.player-bar--clock{container:pvp-bar / inline-size}.pvp-label--short{display:none}@container pvp-bar (max-width: 660px){.player-bar__status{display:none}.player-bar__who .player-bar__name.player-bar__name{flex-direction:row;align-items:baseline;gap:.45rem}.player-bar__label{flex:0 1 auto;min-width:0}.player-bar__detail{flex:0 1000 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.pvp-label--long{display:none}.pvp-label--short{display:inline}.player-bar__actions{gap:.3rem}.player-bar__actions .btn{padding-inline:.6rem}}@container pvp-bar (max-width: 540px){.player-bar__who:has(~.player-bar__actions) .player-bar__detail{display:none}}@container pvp-bar (max-width: 440px){.player-bar__actions .btn{min-height:34px;padding:.25rem .45rem;font-size:.76rem}.pvp-clock{font-size:1.15rem;padding:.1rem .4rem}}@container pvp-bar (max-width: 380px){.player-bar__avatar:has(~.player-bar__actions){display:none}}.pvp-turn{--lamp-red: #ff5a52;--lamp-yellow: #ffcc4d;--lamp-green: #4ad07a;display:flex;flex-direction:column;gap:.75rem;padding:.9rem 1rem;border-radius:16px}.pvp-turn__block{display:flex;flex-direction:column;gap:.5rem}.pvp-turn__block+.pvp-turn__block,.pvp-turn__actions+.pvp-turn__block{padding-top:.75rem;border-top:1px solid var(--border-light)}.pvp-turn__title{display:flex;align-items:center;gap:.55rem;margin:0;font-size:1rem;font-weight:700}.pvp-turn__hint{margin:0;font-size:.85rem;line-height:1.45;color:var(--text-secondary)}.pvp-turn__actions{display:flex;flex-wrap:wrap;gap:.5rem}.pvp-turn__actions .btn{flex:1 1 auto;min-height:44px}.pvp-turn__error{margin:0;font-size:.86rem;color:var(--blunder-text)}.pvp-turn__notice{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--text-secondary)}.pvp-turn__notice .btn{margin-left:auto}.pvp-ampel .ampel-lamp{min-height:42px;cursor:default}.pvp-meta{margin:0;padding:0 .25rem;font-size:.8rem;color:var(--text-muted)}.post-game__actions .pvp-rematch-note{flex-basis:100%;margin:0}.game-over-banner__details{margin-top:.5rem;font-size:.88rem;color:var(--text-secondary)}.game-over-banner__details p{margin:.1rem 0 0}.pvp-card{padding:24px;border:1px solid #ded8ca;background:#fffdf7;border-radius:18px;box-shadow:0 4px 18px #42321a08}.pvp-card h2{margin-top:0}.pvp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:16px 0}.pvp-actions .btn{min-height:44px}.pvp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d281d88;z-index:1000;display:grid;place-items:center;padding:20px}.pvp-modal{max-width:470px}@media(max-width:760px){.pvp-card{padding:18px}}.play-switch{display:flex;width:fit-content;margin:0 auto 1.4rem;padding:5px;gap:4px;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .08)}.play-switch__item{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:0 1.4rem;border:0;border-radius:999px;background:none;font:inherit;font-size:1rem;font-weight:600;color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:background-color var(--transition),color var(--transition),box-shadow var(--transition)}.play-switch__item:hover{color:var(--text-primary)}.play-switch__item--active,.play-switch__item--active:hover{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px rgb(var(--shadow-color) / .12),0 8px 18px -10px rgb(var(--shadow-color) / .5)}.play-switch__item--active svg{color:var(--amber)}.play-switch__item:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.play-switch--small{margin:0 0 .2rem;padding:3px;gap:2px}.play-switch__short{display:none}.play-switch--small .play-switch__item{min-height:36px;padding:0 .95rem;gap:.4rem;font-size:.9rem}.pvp-live-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--success);animation:pvp-pulse 2s ease-out infinite}.pvp-live-dot--idle{background:var(--border-light);animation:none}@keyframes pvp-pulse{0%{box-shadow:0 0 #4f8a4773}70%,to{box-shadow:0 0 0 7px #4f8a4700}}.pvp-resume{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:760px;margin:0 auto 1.4rem;padding:.55rem .6rem .55rem 1.1rem;border-radius:18px;border:1px solid var(--amber-dim);background:#f8ecd2;box-shadow:var(--shadow-card)}.pvp-resume__text{flex:1 1 12rem;font-weight:600;color:var(--text-primary)}.pvp-resume__btn{min-height:42px}.home-resume{position:relative;max-width:none;margin:0 0 1.25rem}.pvp-badge,.pvp-tag{display:inline-flex;align-items:center;gap:.35rem;min-height:28px;padding:0 .7rem 0 .55rem;border-radius:999px;font-size:.8rem;white-space:nowrap}.pvp-badge{font-weight:600}.pvp-badge--rated{background:#f8ecd2;color:#6e4a0e;box-shadow:inset 0 0 0 1px var(--amber-dim)}.pvp-badge--rated svg{color:var(--amber)}.pvp-badge--training{background:var(--success-bg);color:#3d6d37;box-shadow:inset 0 0 0 1px var(--success-border)}.pvp-badge--own{padding:0 .75rem;background:var(--text-primary);color:var(--on-amber)}.pvp-tag{font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-light)}.pvp-tag strong{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.pvp-tag svg{color:var(--text-muted)}.pvp-tag__soft{color:var(--text-muted)}.pvp-tag .choice__glyph{font-size:1.05rem}.pvp-tag .choice__glyph--random{width:1rem;height:1rem}.pvp-provisional{padding:.05rem .45rem;border-radius:999px;background:var(--bg-tertiary);font-size:.7rem;font-weight:600;color:var(--text-muted)}.pvp-player-line{display:flex;align-items:center;gap:.75rem;min-width:0}.pvp-player-line__names{display:flex;flex-direction:column;min-width:0;line-height:1.3}.pvp-player-line__names strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.pvp-player-line__names>span{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .35rem;font-size:.82rem;color:var(--text-muted)}.pvp-nowrap{white-space:nowrap}.online-error{padding:.6rem .85rem;border-radius:12px;border:1px solid #f0cfcd;background:#fbeceb;font-size:.9rem;color:var(--blunder-text)}.online{--peek-w: clamp(18rem, 28%, 22rem);display:flex;flex-direction:column;gap:1.1rem}.online-split{display:grid;grid-template-columns:minmax(0,1fr) var(--peek-w);align-items:stretch;gap:1.1rem}.online--join .online-split{grid-template-columns:var(--peek-w) minmax(0,1fr);align-items:start}.online--join .online-peek{position:sticky;top:1rem}.online-pane{animation:pane-in .28s ease-out}@keyframes pane-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.online-create,.online-rooms{display:flex;flex-direction:column;gap:1rem;min-width:0;padding:1.35rem 1.6rem 1.45rem;border-radius:var(--radius-xl)}.online-create{container-type:inline-size}.online-dock__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.25rem}.online-dock__intro{display:flex;flex-direction:column;gap:.3rem;min-width:0}.online-create__title{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.95rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}.online-create__lead{color:var(--text-secondary)}.online-dock__tools{display:flex;align-items:center;gap:.75rem;margin-left:auto}.online-peek{gap:.8rem;padding:1.1rem 1.1rem 1.15rem;transition:border-color var(--transition),box-shadow var(--transition)}.online-peek:has(.online-peek__head:hover){border-color:var(--amber-dim)}.online-peek__head{display:flex;align-items:center;gap:.55rem;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;color:var(--text-primary);cursor:pointer}.online-peek__title{min-width:0;font-family:var(--font-display);font-size:1.3rem;font-weight:700;line-height:1.15}.online-peek__expand{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-left:auto;border-radius:11px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);transition:background-color var(--transition),color var(--transition),border-color var(--transition)}.online-peek__head:hover .online-peek__expand{border-color:var(--caramel-top);background:#f8ecd2;color:var(--amber)}.online-peek__head:focus-visible{outline:2px solid var(--amber);outline-offset:4px;border-radius:8px}.online-count{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:var(--amber);font:700 .85rem var(--font-display);color:#fff}.online-count--zero{background:var(--bg-tertiary);color:var(--text-muted)}.online-switch .online-count{min-width:1.35rem;height:1.35rem;margin-left:.4rem;font-size:.75rem}.online-peek__body{display:flex;flex-direction:column;gap:.7rem}.online-peek__label{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.online-peek__text{font-size:.9rem;line-height:1.45;color:var(--text-secondary)}.online-peek__tags{display:flex;flex-wrap:wrap;gap:.35rem}.online-peek__main{width:100%}.online-peek__link{align-self:center;padding:.2rem .4rem;border:0;background:none;font:inherit;font-size:.88rem;font-weight:600;color:var(--amber);cursor:pointer}.online-peek__link:hover{text-decoration:underline;text-underline-offset:3px}.online-peek__foot{align-self:stretch;gap:.45rem;margin-top:auto}.online-peek__empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .8rem;border:1.5px dashed var(--border-light);border-radius:18px;background:var(--bg-secondary);font-size:.92rem;line-height:1.4;text-align:center;color:var(--text-secondary)}.online-peek__empty .online-empty__mascot{height:auto}.online-switch{display:none;grid-template-columns:repeat(2,auto);justify-self:start;align-self:flex-start;gap:4px;padding:4px;border-radius:15px;border:1px solid var(--border);background:var(--bg-tertiary)}.online-switch__item{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 1.15rem;border:0;border-radius:11px;background:none;font:inherit;font-size:.93rem;font-weight:600;white-space:nowrap;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),box-shadow var(--transition)}.online-switch__item:hover{color:var(--text-primary)}.online-switch__item--active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px rgb(var(--shadow-color) / .18)}.online-switch__item:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(max-width:900px){.online-switch{display:inline-grid}.online-split,.online--join .online-split{grid-template-columns:minmax(0,1fr)}.online-peek{display:none}}.online-form{display:flex;flex-direction:column;gap:1.05rem}.online-form__note{font-size:.8rem;line-height:1.45;color:var(--text-muted)}.dock-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem 1.5rem}.dock-group{min-width:0;margin:0;padding:0;border:0}.dock-group>legend{padding:0;margin-bottom:.4rem}.dock-group>*+*{margin-top:.45rem}.dock-hint{width:0;min-width:100%;min-height:1.05rem;font-size:.78rem;line-height:1.35;color:var(--text-muted)}.online-create .info-tip{display:inline-flex}.seg{display:flex;gap:.35rem}.seg__item{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;padding:.3rem .5rem;border:1px solid var(--border-light);border-radius:14px;background:var(--bg-primary);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}.seg__item input{position:absolute;opacity:0;pointer-events:none}.seg__item:hover{border-color:var(--amber-dim);color:var(--text-primary)}.seg__item:active{transform:scale(.98)}.seg__item:has(input:focus-visible){outline:2px solid var(--amber-bright);outline-offset:2px}.seg__item--active{border-color:var(--caramel-top);background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--caramel-top);color:var(--text-primary)}.seg__icon{display:grid;place-items:center;flex:none;color:var(--text-muted)}.seg__item--active .seg__icon{color:var(--amber)}.seg__text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.seg__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:500;color:var(--text-muted)}.seg__item--active .seg__sub{color:var(--text-secondary)}.seg--time .seg__item{padding-inline:.3rem}.seg--time .seg__text{align-items:center}.seg__mono{font-family:var(--font-mono);font-size:1.02rem;font-weight:600;color:var(--text-primary)}.seg .choice__glyph{font-size:1.15rem}.seg .choice__glyph--random{width:1.15rem;height:1.15rem}.ampel-toggle{--lamp-red: #e0554e;--lamp-yellow: #f0b93a;--lamp-green: #4f9a57;display:flex;align-items:center;gap:.25rem}.ampel-toggle__label{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;min-height:42px;padding:.3rem .6rem;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-secondary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.ampel-toggle--on .ampel-toggle__label{background:var(--success-bg);border-color:var(--success-border)}.ampel-toggle--locked .ampel-toggle__label{cursor:not-allowed;background:var(--bg-tertiary);border-style:dashed}.ampel-toggle .switch{margin:0 0 0 auto}.ampel-toggle--locked .switch{opacity:.5;cursor:not-allowed}.ampel-toggle__label:has(.switch:focus-visible){outline:2px solid var(--amber-bright);outline-offset:2px}.ampel-toggle .ampel-switch__lamps{flex-direction:row;gap:3px;padding:4px 5px}.ampel-toggle .ampel-switch__lamps i{width:9px;height:9px}.ampel-toggle--on .ampel-switch__lamps i:nth-child(1){background:var(--lamp-red);box-shadow:0 0 6px var(--lamp-red)}.ampel-toggle--on .ampel-switch__lamps i:nth-child(2){background:var(--lamp-yellow);box-shadow:0 0 6px var(--lamp-yellow);transition-delay:.06s}.ampel-toggle--on .ampel-switch__lamps i:nth-child(3){background:var(--lamp-green);box-shadow:0 0 6px var(--lamp-green);transition-delay:.12s}.ampel-toggle__title{white-space:nowrap;font-weight:600;font-size:.9rem;color:var(--text-primary)}.dock-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem}.dock-foot .online-form__note{flex:1 1 16rem;margin:0}.online-form__submit{flex:0 0 auto;min-width:min(100%,16rem);margin-left:auto}@container (min-width: 560px){.dock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 1070px){.dock-grid{grid-template-columns:repeat(4,minmax(max-content,1fr));gap:1rem}}@container (max-width: 899px){.online-dock__age .age-notice__label{display:none}}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.option-card,.time-tile{position:relative;border:1px solid var(--border-light);background:var(--bg-primary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.option-card{display:flex;flex-direction:column;gap:.5rem;padding:.8rem .85rem;border-radius:16px}.option-card input,.time-tile input{position:absolute;opacity:0;pointer-events:none}.option-card:hover,.time-tile:hover{border-color:var(--amber-dim)}.option-card:active,.time-tile:active{transform:scale(.98)}.option-card:has(input:focus-visible),.time-tile:has(input:focus-visible){outline:2px solid var(--amber-bright);outline-offset:2px}.option-card--active,.time-tile--active{border-color:var(--caramel-top);background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--caramel-top)}.option-card__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--bg-tertiary);color:var(--text-secondary)}.option-card--active .option-card__icon{background:var(--bg-primary);color:var(--amber)}.option-card__text{display:flex;flex-direction:column;gap:.1rem}.option-card__title{font-weight:600;line-height:1.25;color:var(--text-primary)}.option-card__hint{font-size:.8rem;line-height:1.35;color:var(--text-muted)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.time-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border-radius:14px}.time-tile strong{font-family:var(--font-mono);font-size:1.05rem;font-weight:600;color:var(--text-primary)}.time-tile span{font-size:.75rem;color:var(--text-muted)}.time-tile--active span{color:var(--text-secondary)}@media(min-width:761px)and (max-height:980px){.online-dock__intro .play-setup__eyebrow,.online-create__lead{display:none}.online{gap:clamp(.6rem,1.6vh,1.1rem)}.online-create,.online-rooms{gap:clamp(.7rem,1.8vh,1rem);padding-block:clamp(.9rem,2.4vh,1.35rem)}.dock-foot{position:sticky;bottom:0;z-index:5;margin:-.6rem 0 -.7rem;padding:.6rem 0 .7rem;background:linear-gradient(to bottom,transparent,var(--bg-primary) .6rem)}}.online-gate{display:flex;align-items:center;gap:1.25rem;padding:.9rem 1.4rem;border-radius:20px;border:1px solid var(--border);background:var(--bg-secondary)}.online-gate__mascot{flex:none;height:auto}.online-gate__body{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem 1.5rem}.online-gate__body h2{grid-column:1;font-family:var(--font-display);font-size:1.3rem;font-weight:700;line-height:1.2}.online-gate__body p{grid-column:1;font-size:.93rem;color:var(--text-secondary)}.online-gate__body .btn{grid-column:2;grid-row:1 / span 2}.online-code{display:flex;align-items:center;gap:.5rem}.online-code__field{display:flex;align-items:center;gap:.55rem}.online-code__label{white-space:nowrap;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.online-code__field input{width:9.5rem;min-height:38px;border:1.5px solid var(--border-light);border-radius:12px;background:var(--bg-secondary);font:600 .98rem var(--font-mono);letter-spacing:.1em;text-align:center;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.online-code__field input::placeholder{color:#d6c8ae}.online-code__field input:focus{outline:none;border-color:var(--caramel-top);background:var(--bg-primary);box-shadow:0 0 0 4px var(--amber-glow-strong)}.online-code .btn{min-height:38px;padding:.3rem .95rem}.online-rooms{container-type:inline-size}.online-rooms__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.25rem}.online-rooms__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem}.online-rooms__title{font-family:var(--font-display);font-size:1.6rem;font-weight:700;line-height:1.15}.online-rooms__bar .online-rooms__title{font-size:1.45rem}.online-rooms__live{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--text-muted)}.online-rooms__filters{display:flex;flex-wrap:wrap;gap:.5rem .75rem}.online-rooms__loading{flex:1;display:grid;place-items:center;padding:3rem 0}.online-rooms__pager{display:flex;justify-content:space-between;gap:.5rem}.pill-toggle{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--border);background:var(--bg-tertiary)}.pill-toggle__item{min-height:32px;padding:0 .85rem;border:0;border-radius:999px;background:none;font:inherit;font-size:.84rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),box-shadow var(--transition)}.pill-toggle__item:hover{color:var(--text-primary)}.pill-toggle__item--active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px rgb(var(--shadow-color) / .18)}.pill-toggle__item:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:.6rem;list-style:none}.room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem 1rem;padding:.7rem .8rem .7rem .7rem;border-radius:16px;border:1px solid var(--border);background:var(--bg-secondary);animation:room-in .25s ease-out;transition:border-color var(--transition),background-color var(--transition)}.room-row:hover{border-color:var(--amber-dim);background:var(--bg-primary)}.room-row--own{border-color:var(--amber-dim);background:#fbf3e3}.room-row__tags{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:.35rem}.room-row__btn{min-height:42px;padding:.4rem 1.15rem}.room-list--peek{grid-template-columns:minmax(0,1fr);gap:.45rem}.room-row--mini{gap:.45rem .5rem;padding:.5rem .5rem .5rem .55rem;border-radius:14px}.room-row--mini .room-row__btn{min-height:36px;padding:.3rem .7rem;font-size:.86rem}.room-row--mini .pvp-player-line{gap:.5rem}.room-row--mini .pvp-player-line__names>.room-row__sub{gap:.25rem;font-size:.78rem}.room-row--mini .pvp-player-line__names strong{font-size:.95rem}.room-row--mini .pvp-player-line__names>.room-row__sub{flex-wrap:nowrap;overflow:hidden}.room-row__kind{display:inline-grid;place-items:center}.room-row__kind--rated{color:var(--amber)}.room-row__kind--training{color:var(--success)}@keyframes room-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.online-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:2.5rem 1rem;border:1.5px dashed var(--border-light);border-radius:20px;background:var(--bg-secondary);text-align:center}.online-empty__title{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.online-empty__text{max-width:36ch;margin-bottom:.5rem;font-size:.93rem;color:var(--text-secondary)}.online-empty--lobby{padding:1.4rem 1rem}.online-empty--lobby .online-empty__mascot{width:96px;height:auto}.online-empty__copy{display:flex;flex-direction:column;align-items:center;gap:.25rem}.online-empty--lobby .online-empty__text{max-width:40ch;margin-bottom:.4rem}@container (min-width: 640px){.online-empty--lobby{flex-direction:row;justify-content:center;gap:1.5rem;padding:1rem 1.5rem;text-align:left}.online-empty--lobby .online-empty__copy{align-items:flex-start}.online-empty--lobby .online-empty__text{margin:0}}.online-rules{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--border);font-size:.88rem;color:var(--text-secondary)}.online-rules summary{display:flex;align-items:center;gap:.5rem;list-style:none;font-weight:600;color:var(--text-primary);cursor:pointer}.online-rules summary::-webkit-details-marker{display:none}.online-rules summary:before{content:"i";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f8ecd2;font:700 .75rem var(--font-display);color:var(--amber)}.online-rules summary:after{content:"›";margin-left:auto;font-size:1.2rem;color:var(--text-muted);transition:transform var(--transition)}.online-rules[open] summary:after{transform:rotate(90deg)}.online-rules ul{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0 0 1.15rem;line-height:1.5}.invite-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.6rem;padding:1.7rem 2rem;border:1px solid var(--amber-dim);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--bg-primary) 50%,#fbf1dc);box-shadow:0 24px 60px -30px rgb(var(--shadow-color) / .6);outline:none;animation:invite-in .4s cubic-bezier(.34,1.56,.64,1)}.invite-card__who{align-self:start}.invite-card__who .piece-avatar{border-radius:50%;box-shadow:0 0 0 4px var(--bg-primary),0 0 0 6px var(--amber-dim)}.invite-card__envelope{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#f8ecd2;font-size:2rem;color:var(--amber)}.invite-card__body{display:flex;flex-direction:column;gap:.65rem;min-width:0}.invite-card__title{margin-top:-.45rem;font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;line-height:1.1;letter-spacing:-.01em}.invite-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.invite-card__text{color:var(--text-secondary)}.invite-card__text--error{color:var(--blunder-text)}.invite-card__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.2rem}.invite-card__mascot{width:150px;height:auto}@keyframes invite-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.room-page{max-width:980px;margin:0 auto}.room-back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.93rem;font-weight:600;color:var(--text-secondary)}.room-back:hover{color:var(--text-primary)}.room-page>.online-error{margin-bottom:1rem}.room-card{display:flex;flex-direction:column;gap:1.6rem;padding:2rem 2.25rem;border-radius:var(--radius-xl)}.room-card__head{display:flex;flex-direction:column;gap:.55rem}.room-card__title{margin-top:-.45rem;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.room-card__tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.room-card__until{margin-left:.3rem;font-size:.82rem;color:var(--text-muted)}.room-card__reason{text-align:center;font-size:.88rem;color:var(--text-secondary)}.room-card__foot{display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center}.room-card__hint{color:var(--text-secondary)}.room-card__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.room-card__actions .btn--primary{min-width:12rem}.room-invite{display:flex;flex-direction:column;gap:.75rem;padding:1.3rem 1.4rem;border:1.5px dashed var(--amber-dim);border-radius:20px;background:#fbf3e3}.room-invite__title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.room-invite__link{display:flex;flex-wrap:wrap;gap:.5rem}.room-invite__link input{flex:1 1 16rem;min-width:0;min-height:46px;padding:0 .9rem;border:1px solid var(--border-light);border-radius:14px;background:var(--bg-primary);font:500 .9rem var(--font-mono);color:var(--text-secondary)}.room-invite__link input:focus{outline:none;border-color:var(--caramel-top);box-shadow:0 0 0 3px var(--amber-glow-strong)}.room-invite__link .btn{min-height:46px}.room-invite__code{display:flex;flex-wrap:wrap;align-items:baseline;gap:.7rem;font-size:.88rem;color:var(--text-muted)}.room-invite__code output{font:600 1.45rem var(--font-mono);letter-spacing:.14em;color:var(--text-primary)}.room-invite__rotate{align-self:flex-start;padding:0;border:0;background:none;font:inherit;font-size:.84rem;color:var(--amber);text-decoration:underline;text-decoration-color:var(--amber-dim);text-underline-offset:3px;cursor:pointer}.room-invite__rotate:hover{color:var(--amber-bright)}.room-seats{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.room-seats__slot{position:relative;display:flex;min-width:0}.room-seats__vs{position:absolute;top:50%;left:-.8rem;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,var(--caramel-top),var(--caramel-bottom));font:700 .85rem var(--font-display);text-transform:uppercase;color:var(--on-amber);box-shadow:0 0 0 5px var(--bg-primary),0 8px 18px -8px #8c5c14cc;transform:translate(-50%,-50%)}.room-seat{flex:1;display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:0;padding:1.4rem 1.2rem 1.3rem;border:1px solid var(--border);border-radius:20px;background:var(--bg-secondary);text-align:center;transition:border-color var(--transition),background-color var(--transition)}.room-seat--ready{border-color:var(--success-border);background:linear-gradient(180deg,var(--success-bg),var(--bg-secondary))}.room-seat--empty{border:1.5px dashed var(--border-light);background:var(--bg-primary);justify-content:center}.room-seat__role{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.room-seat__me{padding:.05rem .5rem;border-radius:999px;background:var(--text-primary);letter-spacing:.04em;color:var(--on-amber)}.room-seat__name{margin-top:.2rem;font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.room-seat__elo{display:flex;align-items:center;gap:.35rem;font-size:.88rem;color:var(--text-muted)}.room-seat__status{display:inline-flex;align-items:center;gap:.3rem;margin-top:.2rem;padding:.2rem .75rem;border-radius:999px;background:var(--bg-tertiary);font-size:.8rem;font-weight:600;color:var(--text-muted)}.room-seat__status--ready{background:var(--success);color:#fff}.room-seat__elo-change{display:flex;gap:.35rem;margin-top:.35rem}.room-seat__delta{display:flex;flex-direction:column;align-items:center;min-width:4.4rem;padding:.3rem .4rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.room-seat__delta dt{font-size:.68rem;color:var(--text-muted)}.room-seat__delta dd{font:600 .95rem var(--font-mono);color:var(--text-secondary)}.room-seat__delta--up dd{color:var(--success)}.room-seat__delta--down dd{color:var(--blunder-text)}.room-seat__placeholder{animation:seat-breathe 2.4s ease-in-out infinite;opacity:.55}.room-seat__waiting{font-weight:600;color:var(--text-secondary)}@keyframes seat-breathe{50%{opacity:.25;transform:scale(.95)}}.home-play__count{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:var(--success);font-size:.78rem;font-weight:700;color:#fff}.home-play__waiting{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.chip-menu__icon svg{color:var(--text-secondary)}@media(max-width:960px){.invite-card__mascot{display:none}.invite-card{grid-template-columns:auto minmax(0,1fr)}}@media(max-width:640px){.play-switch{width:100%}.play-switch__item{flex:1;min-width:0;padding:0 .6rem;font-size:.95rem}.play-switch__long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.play-switch__short{display:inline}.online-create,.online-rooms,.room-card{padding:1.3rem 1.1rem;border-radius:var(--radius-lg)}.invite-card{grid-template-columns:1fr;gap:.9rem;padding:1.3rem 1.2rem}.room-seats{grid-template-columns:1fr;gap:1.5rem}.room-seats__vs{top:-.75rem;left:50%}.room-invite{padding:1.1rem}}@media(max-width:340px){.option-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.pvp-live-dot,.room-seat__placeholder,.room-row,.online-pane,.invite-card{animation:none}}.ranking-page{display:flex;flex-direction:column;gap:1.5rem;max-width:1080px;margin:0 auto}.ranking-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem 1.75rem;padding:1.9rem 2.1rem;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--bg-primary) 55%,#fbf1dc)}.ranking-hero__text{display:flex;flex-direction:column;gap:.6rem;min-width:0}.ranking-hero__title{margin-top:-.55rem;font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.7rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.ranking-hero__lead{max-width:40ch;color:var(--text-secondary)}.ranking-hero__mascot{height:auto;filter:drop-shadow(0 14px 18px rgb(var(--shadow-color) / .2))}.own-card{display:flex;flex-direction:column;gap:.8rem;padding:1.1rem 1.2rem 1.2rem;border:1px solid var(--border);border-radius:20px;background:var(--bg-primary);box-shadow:var(--shadow-card)}.own-card--loading{min-height:210px;background:linear-gradient(90deg,var(--bg-secondary),var(--bg-tertiary),var(--bg-secondary));background-size:200% 100%;animation:own-shimmer 1.4s linear infinite}@keyframes own-shimmer{to{background-position:-200% 0}}.own-card--guest{gap:.5rem}.own-card--guest p{font-size:.9rem;color:var(--text-secondary);margin-bottom:.3rem}.own-card--guest .btn{align-self:flex-start}.own-card__title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.2}.own-card__who{display:flex;align-items:center;gap:.7rem;min-width:0}.own-card__who>span{display:flex;flex-direction:column;min-width:0;line-height:1.25}.own-card__who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.own-card__label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.own-card__numbers{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.own-card__elo{font:700 2.2rem/1 var(--font-display);letter-spacing:-.02em;color:var(--text-primary)}.own-card__elo small,.podium__elo small{font:600 .85rem var(--font-body);letter-spacing:0;color:var(--text-muted)}.own-card__rank{padding:.2rem .7rem;border-radius:999px;background:#f8ecd2;box-shadow:inset 0 0 0 1px var(--amber-dim);font-size:.85rem;font-weight:700;color:#6e4a0e;white-space:nowrap}.own-card__progress{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;color:var(--text-muted)}.own-card__record{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}.own-card__play{width:100%}.record-text{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.record-text>span{color:var(--text-secondary)}.record-text .record-text__win{color:var(--success)}.record-text .record-text__loss{color:var(--blunder-text)}.record-bar{display:flex;width:100%;height:6px;overflow:hidden;border-radius:999px;background:var(--bg-tertiary)}.record-bar__win{background:var(--success)}.record-bar__draw{background:#cdbfa6}.record-bar__loss{background:#d9776f}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;list-style:none}.podium__place{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0;padding:1.6rem 1rem 1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-primary);box-shadow:var(--shadow-card);text-align:center}.podium__place--1{order:2;padding-top:2.2rem;padding-bottom:1.6rem;border-color:#e6c77c;background:linear-gradient(180deg,#fdf6e4,var(--bg-primary) 70%);box-shadow:0 24px 50px -28px #b08028bf}.podium__place--2{order:1}.podium__place--3{order:3}.podium__place--me{outline:2px solid var(--caramel-top);outline-offset:3px}.podium__medal{position:absolute;top:-16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:700 .95rem var(--font-display);color:#fff;box-shadow:0 0 0 4px var(--bg-deep),0 6px 12px -6px rgb(var(--shadow-color) / .8)}.podium__place--1 .podium__medal{width:40px;height:40px;top:-20px;font-size:1.1rem;background:linear-gradient(180deg,#f2c75c,#c8952a)}.podium__place--2 .podium__medal{background:linear-gradient(180deg,#cfcac0,#9d978b)}.podium__place--3 .podium__medal{background:linear-gradient(180deg,#dca577,#a86a3a)}.podium__place .piece-avatar{border-radius:50%;box-shadow:0 0 0 3px var(--bg-primary),0 0 0 5px var(--border-light)}.podium__place--1 .piece-avatar{box-shadow:0 0 0 3px var(--bg-primary),0 0 0 5px #e6c77c}.podium__name{max-width:100%;margin-top:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:1.2rem;font-weight:700}.podium__elo{font:700 1.5rem/1.1 var(--font-display);letter-spacing:-.01em}.podium__place--1 .podium__elo{font-size:1.8rem}.podium__record{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.ranking-list,.ranking-history{display:flex;flex-direction:column;gap:1rem;padding:1.6rem 1.7rem;border-radius:var(--radius-xl);container-type:inline-size}.ranking-list__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.ranking-search{display:flex;align-items:center;gap:.5rem;width:min(260px,100%);min-height:42px;padding:0 .9rem;border:1px solid var(--border-light);border-radius:999px;background:var(--bg-secondary);color:var(--text-muted);transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.ranking-search:focus-within{border-color:var(--caramel-top);background:var(--bg-primary);box-shadow:0 0 0 3px var(--amber-glow-strong)}.ranking-search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.93rem;color:var(--text-primary);outline:none}.ranking-search input::-webkit-search-cancel-button{cursor:pointer}.rank-list{display:flex;flex-direction:column;gap:.45rem;list-style:none}.rank-row{display:grid;grid-template-columns:2.6rem minmax(0,1fr) 4.5rem 4.5rem minmax(7rem,9rem);align-items:center;gap:1rem;padding:.55rem .9rem .55rem .6rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-secondary)}.rank-row--head{padding-top:0;padding-bottom:.1rem;border:0;background:none;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.rank-row--me{border-color:var(--amber-dim);background:#fbf3e3}.rank-row__rank{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--bg-tertiary);font:700 .9rem var(--font-display);color:var(--text-secondary)}.rank-row--head .rank-row__rank{background:none}.rank-row__player{display:flex;align-items:center;gap:.65rem;min-width:0}.rank-row__player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-row__elo{font:700 1.05rem var(--font-mono);color:var(--text-primary)}.rank-row__games{font-size:.9rem;color:var(--text-secondary)}.rank-row__record{display:flex;flex-direction:column;gap:.3rem}@container (max-width: 620px){.rank-row{grid-template-columns:2.4rem minmax(0,1fr) auto;gap:.35rem .75rem}.rank-row__games{display:none}.rank-row__record{grid-column:2 / -1;flex-direction:row;align-items:center;gap:.6rem}.rank-row--head{display:none}}.history-list{display:flex;flex-direction:column;gap:.45rem;list-style:none}.history-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto 4.5rem;align-items:center;gap:1rem;padding:.55rem .9rem .55rem .6rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition),background-color var(--transition),transform var(--transition)}.history-row:hover{border-color:var(--amber-dim);background:var(--bg-primary);color:var(--text-primary);transform:translate(2px)}.history-row__result{justify-self:start;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.history-row__result--win{background:var(--success-bg);color:#3d6d37;box-shadow:inset 0 0 0 1px var(--success-border)}.history-row__result--draw{background:var(--bg-tertiary);color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--border-light)}.history-row__result--loss{background:#fbeceb;color:var(--blunder-text);box-shadow:inset 0 0 0 1px #f0cfcd}.history-row__result--running{background:#f8ecd2;color:#6e4a0e;box-shadow:inset 0 0 0 1px var(--amber-dim)}.history-row__result--cancelled{background:none;color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border-light)}.history-row__opponent{display:flex;align-items:center;gap:.65rem;min-width:0}.history-row__opponent>span{display:flex;flex-direction:column;min-width:0;line-height:1.3}.history-row__opponent strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row__meta{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-muted)}.history-row__meta .choice__glyph{font-size:.95rem}.history-row__delta{justify-self:end;font:700 .95rem var(--font-mono);color:var(--text-secondary);white-space:nowrap}.history-row__delta--up{color:var(--success)}.history-row__delta--down{color:var(--blunder-text)}.history-row__delta--none{font:500 .78rem var(--font-body);color:var(--text-muted);white-space:normal;text-align:right}@container (max-width: 620px){.history-row{grid-template-columns:minmax(0,1fr) auto;gap:.45rem .75rem}.history-row__result{grid-row:1}.history-row__opponent{grid-column:1 / -1;grid-row:2}.history-row .pvp-badge{display:none}}@media(max-width:640px){.ranking-hero{grid-template-columns:1fr;padding:1.4rem 1.2rem;border-radius:var(--radius-lg)}.ranking-hero__mascot{display:none}.ranking-list,.ranking-history{padding:1.3rem 1.1rem;border-radius:var(--radius-lg)}.podium{gap:.5rem;margin-top:.6rem}.podium__place{padding:1.3rem .4rem .9rem;border-radius:var(--radius-lg)}.podium__place--1{padding-top:1.7rem}.podium__name{font-size:.95rem}.podium__elo,.podium__place--1 .podium__elo{font-size:1.15rem}.podium__record{display:none}.podium__place .piece-avatar{width:52px!important;height:52px!important}.podium__place .piece-avatar svg{width:100%;height:100%}}@media(prefers-reduced-motion:reduce){.own-card--loading{animation:none}}.own-card__record-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.82rem;color:var(--text-muted)}.rank-row--head .rank-row__games{font-size:inherit;color:inherit}.ampel-switch{--lamp-red: #e0554e;--lamp-yellow: #f0b93a;--lamp-green: #4f9a57;display:flex;align-items:center;gap:.9rem;margin-top:.15rem;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--border-light);background:var(--bg-secondary);cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.ampel-switch--on{background:var(--success-bg);border-color:var(--success-border)}.ampel-switch--locked{cursor:not-allowed;background:var(--bg-tertiary);border-style:dashed}.ampel-switch--locked .switch{opacity:.5;cursor:not-allowed}.ampel-switch:has(.switch:focus-visible){outline:2px solid var(--amber-bright);outline-offset:2px}.ampel-switch .switch{margin:0 0 0 auto}.ampel-switch__lamps{flex:none;display:flex;flex-direction:column;gap:3px;padding:5px 4px;border-radius:9px;background:#3a2c1e;box-shadow:inset 0 1px #ffffff14,0 4px 10px -6px #28190599}.ampel-switch__lamps i{width:10px;height:10px;border-radius:50%;background:#6b5a47;transition:background-color .25s ease,box-shadow .25s ease}.ampel-switch--on .ampel-switch__lamps i:nth-child(1){background:var(--lamp-red);box-shadow:0 0 6px var(--lamp-red)}.ampel-switch--on .ampel-switch__lamps i:nth-child(2){background:var(--lamp-yellow);box-shadow:0 0 6px var(--lamp-yellow);transition-delay:.06s}.ampel-switch--on .ampel-switch__lamps i:nth-child(3){background:var(--lamp-green);box-shadow:0 0 6px var(--lamp-green);transition-delay:.12s}.ampel-switch__text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ampel-switch__title{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:var(--text-primary)}.ampel-switch__title svg{color:var(--text-muted)}.ampel-switch__hint{font-size:.84rem;line-height:1.4;color:var(--text-secondary)}.pvp-tag__lamps{display:inline-flex;gap:2px}.pvp-tag__lamps i{width:6px;height:6px;border-radius:50%;background:#e0554e}.pvp-tag__lamps i:nth-child(2){background:#f0b93a}.pvp-tag__lamps i:nth-child(3){background:#4f9a57}.pvp-tag--off{color:var(--text-muted)}.pvp-tag--off .pvp-tag__lamps i{background:#d3c8b5}.option-card--disabled{opacity:.55;cursor:not-allowed}.option-card--disabled:hover{border-color:var(--border-light)}.option-card--disabled:active{transform:none}.room-start{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.25rem;align-items:center;padding:1rem;border-radius:18px;background:linear-gradient(180deg,#fbf3e3,#f6ecd9);border:1px solid #eadcbf}.room-start__text{display:flex;flex-direction:column;gap:.35rem;color:var(--text-secondary)}.room-start__text .play-setup__eyebrow{margin:0}.room-start__rule{font-size:.84rem;color:var(--text-muted)}.fork-dialog-overlay{background:#3a2a166b;padding:2rem 1rem}.fork-dialog{position:relative;width:880px;max-width:100%;margin:auto 0;display:flex;flex-direction:column;gap:1.3rem;padding:1.75rem 1.9rem 1.4rem;border:1px solid var(--border);border-radius:var(--radius-xl);animation:dialog-in .2s ease-out}.fork-dialog:focus{outline:none}.fork-dialog__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.fork-dialog__head .play-setup__eyebrow{margin:0}.fork-dialog__title{margin-top:.2rem;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,1.95rem);font-weight:700;line-height:1.1;letter-spacing:-.01em}.fork-dialog__lead{margin-top:.35rem;max-width:56ch;font-size:.93rem;color:var(--text-secondary)}.fork-dialog__body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.6rem;align-items:start}.fork-dialog__position{position:sticky;top:0;display:flex;flex-direction:column;gap:.95rem;padding:.9rem;border-radius:20px;background:linear-gradient(180deg,#fbf3e3,#f6ecd9);border:1px solid #eadcbf}.fork-dialog__board{padding:6px;border-radius:14px;background:#fffaf0;box-shadow:0 10px 24px -16px rgb(var(--shadow-color) / .8)}.fork-dialog__where{display:flex;flex-direction:column;gap:.5rem;min-width:0}.fork-dialog__where strong{font-size:.95rem;line-height:1.3;color:var(--text-primary)}.fork-dialog__turn{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .7rem .2rem .4rem;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-primary);font-size:.78rem;font-weight:600;color:var(--text-secondary)}.fork-dialog__turn-dot{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--text-primary)}.fork-dialog__turn--white .fork-dialog__turn-dot{background:#fff}.fork-dialog__turn--black .fork-dialog__turn-dot{background:var(--text-primary)}.fork-dialog__facts{list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--text-secondary)}.fork-dialog__facts li{display:flex;align-items:flex-start;gap:.45rem;line-height:1.35}.fork-dialog__facts li:before{content:"";flex:none;width:15px;height:15px;margin-top:.05rem;border-radius:50%;background:var(--success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat}.fork-dialog__settings{display:flex;flex-direction:column;gap:1.2rem;min-width:0}.fork-dialog__group{border:0;display:flex;flex-direction:column;gap:.5rem;min-width:0}.fork-dialog__group .play-setup__label{margin-bottom:0}.fork-dialog__panel{display:flex;flex-direction:column;gap:1.2rem;animation:fork-panel-in .22s ease-out}.fork-dialog__panel .strength,.fork-dialog__panel .switch-row{max-width:none}.fork-dialog__panel .play-setup__group{margin:0}.fork-dialog__more{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;margin-top:-.4rem;padding:.25rem 0;border:0;background:none;font:inherit;font-size:.88rem;font-weight:600;color:var(--amber);cursor:pointer}.fork-dialog__more:hover{color:var(--amber-bright)}.fork-dialog__more svg{transition:transform var(--transition)}.fork-dialog__more[aria-expanded=true] svg{transform:rotate(180deg)}.fork-dialog__more-body{display:flex;flex-direction:column;gap:1rem;margin-top:-.5rem;padding:1rem;border-radius:16px;background:var(--bg-secondary);border:1px solid var(--border);animation:fork-panel-in .18s ease-out}.fork-dialog__gate{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1.25rem;border-radius:18px;border:1px dashed var(--amber-dim);background:var(--bg-secondary);text-align:center;color:var(--text-secondary)}.fork-dialog__gate svg{color:var(--amber)}.fork-dialog__gate p{max-width:36ch}.fork-dialog__share{display:flex;gap:.75rem;padding:.85rem 1rem;border-radius:16px;background:#fdf3df;border:1px solid #efd29c;cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.fork-dialog__share input{flex:none;width:20px;height:20px;margin-top:.1rem;accent-color:var(--success)}.fork-dialog__share>span{display:flex;flex-direction:column;gap:.2rem;font-size:.86rem;line-height:1.4;color:var(--text-secondary)}.fork-dialog__share strong{font-size:.93rem;color:var(--text-primary)}.fork-dialog__share em{font-style:normal;font-weight:600;color:var(--text-primary)}.fork-dialog__share--on{background:var(--success-bg);border-color:var(--success-border)}.fork-dialog__note{padding:.65rem .9rem;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);font-size:.85rem;color:var(--text-secondary)}.fork-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem;padding-top:1.1rem;border-top:1px solid var(--border)}.fork-dialog__actions .btn{min-height:46px;padding-inline:1.35rem;gap:.45rem}@keyframes fork-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:760px){.fork-dialog-overlay{padding:1rem}.fork-dialog{padding:1.3rem 1.1rem 1.1rem;border-radius:var(--radius-lg);gap:1.1rem}.fork-dialog__body{grid-template-columns:1fr;gap:1.2rem}.fork-dialog__position{position:static;flex-direction:row;align-items:center;padding:.7rem}.fork-dialog__board{flex:none;width:118px;padding:4px;border-radius:10px}.room-start{grid-template-columns:108px minmax(0,1fr);gap:.9rem;padding:.8rem}}@media(max-width:420px){.fork-dialog__facts{display:none}.fork-dialog__board{width:96px}.fork-dialog__actions .btn--primary{flex:1 1 100%;justify-content:center;order:3}.fork-dialog__actions .btn--ghost{flex:1;justify-content:center}.fork-dialog .option-card{gap:.35rem;padding:.65rem .7rem}.fork-dialog .option-card__icon{width:28px;height:28px;border-radius:9px}.fork-dialog .option-card__hint{font-size:.75rem}.fork-dialog .choice-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.fork-dialog .choice{justify-content:center;padding-inline:.5rem}.fork-dialog .time-grid{gap:.35rem}}@media(prefers-reduced-motion:reduce){.fork-dialog__panel,.fork-dialog__more-body{animation:none}.ampel-switch__lamps i{transition:none}}
