@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/gh/antijingoist/open-dyslexic@master/compiled/OpenDyslexic-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg:#0d0d0d;--color-surface:#161616;--color-surface-alt:#1e1e1e;--color-surface-hover:#262626;--color-border:#272727;--color-border-hover:#484848;--color-primary:#8b5cf6;--color-primary-hover:#a78bfa;--color-primary-glow:#8b5cf640;--color-primary-dim:#8b5cf61a;--color-success:#10b981;--color-success-glow:#10b9814d;--color-success-dim:#10b9811a;--color-error:#ef4444;--color-error-glow:#ef44444d;--color-error-dim:#ef44441a;--color-text-primary:#efefef;--color-text-secondary:#858585;--color-text-muted:#747474;--color-calibra:#06b6d4;--color-calibra-dim:#06b6d41a;--color-recalibra:#8b5cf6;--color-recalibra-dim:#8b5cf61a;--color-excalibra:#f97316;--color-excalibra-dim:#f973161a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:26px;--radius-full:9999px;--font:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-md:15px;--font-size-lg:19px;--font-size-xl:28px;--font-size-2xl:42px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--shadow-sm:0 1px 4px #00000080;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 32px #000000b3;--shadow-glow-primary:0 0 20px var(--color-primary-glow);--shadow-glow-success:0 0 20px var(--color-success-glow);--shadow-glow-error:0 0 20px var(--color-error-glow);--transition-fast:.1s ease;--transition-normal:.2s ease;--transition-slow:.35s ease;--max-width:480px;--header-height:56px}html[data-theme=light]{--color-bg:#f2f2f2;--color-surface:#fff;--color-surface-alt:#e8e8e8;--color-surface-hover:#dedede;--color-border:#d8d8d8;--color-border-hover:#b0b0b0;--color-text-primary:#111;--color-text-secondary:#555;--color-text-muted:#888;--shadow-sm:0 1px 4px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f}html[data-dyslexic=true]{--font:"OpenDyslexic", sans-serif}html[data-colorblind=true]{--color-success:#3b82f6;--color-success-glow:#3b82f64d;--color-success-dim:#3b82f61f;--color-error:#f59e0b;--color-error-glow:#f59e0b4d;--color-error-dim:#f59e0b1a}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;background-image:radial-gradient(at 50% 0,#643cc812 0%,#0000 55%);line-height:1.5}button{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.header{z-index:10;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);height:var(--header-height);background:#0d0d0de0;align-items:center;display:flex;position:sticky;top:0}.header__inner{width:100%;max-width:var(--max-width);padding:0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 auto;display:flex;position:relative}.header__btn{border-radius:var(--radius-sm);color:#858585;cursor:pointer;width:34px;height:34px;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:#161616;border:1px solid #272727;flex-shrink:0;justify-content:center;align-items:center;display:flex}.header__btn:hover{color:#efefef;background:#262626;border-color:#484848}.header__actions{align-items:center;gap:var(--space-2);justify-content:flex-end;min-width:34px;display:flex}.header__spacer{width:34px}.header__title{flex-direction:column;align-items:center;gap:3px;display:flex}.header__logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.5px;background:linear-gradient(135deg,#a78bfa 0%,#06b6d4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;line-height:1}.header__mode{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:1.5px;text-transform:uppercase;color:var(--mode-color);line-height:1}.header__lang{align-items:center;gap:2px;display:flex}.header__lang-btn{font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.5px;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:2px 6px}.header__lang-btn:hover{color:var(--color-text-secondary)}.header__lang-btn--active{color:var(--color-text-primary);border-color:var(--color-border-hover);background:var(--color-surface-alt)}.datepicker-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;padding:var(--space-4);background:#000000b8;justify-content:center;align-items:flex-end;animation:.22s overlay-in;display:flex;position:fixed;inset:0}@media (height>=600px){.datepicker-overlay{align-items:center}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.datepicker-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:360px;box-shadow:var(--shadow-lg);flex-direction:column;gap:0;animation:.3s cubic-bezier(.34,1.42,.64,1) modal-in;display:flex;overflow:hidden}@keyframes modal-in{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.datepicker-modal__header{padding:var(--space-5) var(--space-5) var(--space-4);justify-content:space-between;align-items:center;display:flex}.datepicker-modal__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.datepicker-modal__close{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-alt);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.datepicker-modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.datepicker-nav{padding:0 var(--space-4) var(--space-3);justify-content:space-between;align-items:center;display:flex}.datepicker-nav__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.datepicker-nav__btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-alt);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.datepicker-nav__btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.datepicker-nav__btn:disabled{opacity:.25;cursor:default}.datepicker-grid{padding:0 var(--space-4) var(--space-4);grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.datepicker-weekday{text-align:center;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);padding-bottom:var(--space-2)}.datepicker-cell{aspect-ratio:1;border-radius:var(--radius-sm);cursor:default;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:3px 0;display:flex}.datepicker-cell--empty{pointer-events:none}.datepicker-cell--available{cursor:pointer;background:var(--color-surface-alt);border-color:var(--color-border)}.datepicker-cell--available:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);box-shadow:inset 0 0 0 40px #ffffff0a}.datepicker-cell--disabled .datepicker-cell__day{color:var(--color-text-muted);opacity:.35}.datepicker-cell--today{background:#ffffff12!important;border-color:#ffffff73!important}.datepicker-cell--selected{border-color:var(--color-text-primary)!important;border-width:2px!important}.datepicker-cell__day{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1}.datepicker-cell--today .datepicker-cell__day{color:var(--color-text-primary)}.datepicker-cell--selected .datepicker-cell__day{color:#fff}.datepicker-cell__dots{align-items:center;gap:2px;width:80%;display:flex}.datepicker-cell__dot{background:color-mix(in srgb, var(--dot-color) 20%, transparent);border-radius:2px;flex:1;height:4px}.datepicker-cell__dot--done{background:var(--dot-color)}.datepicker-cell__dot--failed{background:color-mix(in srgb, var(--dot-color) 40%, transparent)}.datepicker-legend{justify-content:center;gap:var(--space-4);padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--color-border);display:flex}.datepicker-legend__item{align-items:center;gap:5px;display:flex}.datepicker-legend__dot{border-radius:2px;flex-shrink:0;width:14px;height:4px}.datepicker-legend__label{color:var(--color-text-muted);font-size:11px}.mode-selector{align-items:center;gap:var(--space-6);padding:var(--space-10) var(--space-4) var(--space-8);min-height:calc(100vh - var(--header-height));flex-direction:column;display:flex}.mode-selector__hero{text-align:center}.mode-selector__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-2px;background:linear-gradient(135deg,#a78bfa 0%,#06b6d4 100%);-webkit-text-fill-color:transparent;margin:0 0 var(--space-3);-webkit-background-clip:text;background-clip:text;line-height:1}.mode-selector__subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;line-height:1.65}.mode-selector__stats{align-items:center;gap:var(--space-4);width:100%;max-width:var(--max-width);display:flex}.mode-selector__streak{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px var(--space-3);flex-shrink:0;align-items:center;gap:5px;display:flex}.mode-selector__streak-icon{color:#f97316;width:14px;height:14px}.mode-selector__streak-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.mode-selector__streak-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.mode-selector__progress{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.mode-selector__progress-text{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.mode-selector__progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:4px;overflow:hidden}.mode-selector__progress-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);background:linear-gradient(90deg,#a78bfa,#06b6d4)}.mode-selector__modes{width:100%;max-width:var(--max-width);gap:var(--space-3);flex-direction:column;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.mode-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-5);text-align:left;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);gap:var(--space-2);animation:slideUp var(--transition-slow) both;flex-direction:column;display:flex}.mode-card--anim-0{animation-delay:0s}.mode-card--anim-1{animation-delay:70ms}.mode-card--anim-2{animation-delay:.14s}.mode-card{border-left-color:var(--mode-color);background:linear-gradient(90deg, color-mix(in srgb, var(--mode-color) 5%, transparent) 0%, var(--color-surface) 50%)}.mode-card:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--mode-color) 10%, transparent) 0%, var(--color-surface-alt) 60%);border-color:color-mix(in srgb, var(--mode-color) 35%, transparent);border-left-color:var(--mode-color);box-shadow:0 6px 24px color-mix(in srgb, var(--mode-color) 10%, transparent)}.mode-card--done{opacity:.65}.mode-card:active{opacity:.85}.mode-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.mode-card__label{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--mode-color)}.mode-card__done-badge{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success);background:var(--color-success-dim);padding:3px var(--space-2);border-radius:var(--radius-full);display:flex}.mode-card__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.mode-card__streak{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0}.mode-card__meta{margin-top:var(--space-1);justify-content:space-between;align-items:center;display:flex}.mode-card__dots{align-items:center;gap:4px;display:flex}.mode-card__dot{background:color-mix(in srgb, var(--mode-color) 30%, transparent);border:1px solid color-mix(in srgb, var(--mode-color) 55%, transparent);border-radius:3px;width:9px;height:9px}.mode-card__mini-grid{flex-direction:column;gap:2px;display:flex}.mode-card__mini-row{gap:2px;display:flex}.mode-card__mini-cell{border-radius:2px;width:7px;height:7px}.mode-card__mini-cell--correct{background:var(--color-success)}.mode-card__mini-cell--wrong{background:var(--color-error);opacity:.5}.mode-card__difficulty{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-full);color:var(--mode-color);background:color-mix(in srgb, var(--mode-color) 12%, transparent)}.mode-selector__past-banner{align-items:center;gap:var(--space-2);width:100%;max-width:var(--max-width);background:var(--color-primary-dim);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);animation:.25s banner-in;display:flex}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mode-selector__past-back{border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-3);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;background:0 0;margin-left:auto}.mode-selector__past-back:hover{background:var(--color-primary-dim)}.mode-selector__calendar{align-items:center;gap:var(--space-2);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);display:flex}.mode-selector__calendar:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.mode-selector__footer{align-items:center;gap:var(--space-3);width:100%;max-width:var(--max-width);flex-direction:column;display:flex}.mode-selector__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;margin:0}.mode-selector__countdown{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.mode-selector__share-btn{align-items:center;gap:var(--space-2);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);display:flex}.mode-selector__share-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);box-shadow:0 4px 16px #0000004d}.lives{align-items:center;gap:var(--space-2);display:flex}.lives__dot{width:16px;height:16px;transition:color var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal)}.lives__dot--active{filter:drop-shadow(0 0 4px var(--color-error-glow))}.lives__dot--lost{color:var(--color-border);opacity:.5;transform:scale(.75)}.sortable-item{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:62px;display:flex;position:relative}.sortable-item:hover:not(.sortable-item--disabled){background:var(--color-surface-alt);border-color:var(--color-border-hover)}.sortable-item--dragging{cursor:grabbing;background:var(--color-surface-hover);border-color:var(--color-primary);box-shadow:var(--shadow-glow-primary), var(--shadow-md);z-index:100;scale:1.02}.sortable-item--disabled{cursor:default}.sortable-item--win{border-color:var(--color-success);background:var(--color-success-dim);animation:.5s forwards item-win}.sortable-item--gameover{border-color:var(--color-error);background:var(--color-error-dim)}.sortable-item__index{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-align:center;min-width:20px}.sortable-item__label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;flex:1}.sortable-item__right{justify-content:center;align-items:center;min-width:20px;display:flex}.sortable-item__drag-handle{color:var(--color-text-muted);transition:color var(--transition-fast);align-items:center;display:flex}.sortable-item:hover .sortable-item__drag-handle{color:var(--color-border-hover)}.sortable-item__result-dot{border-radius:var(--radius-full);flex-shrink:0;width:9px;height:9px}.sortable-item__result-dot--correct{background:var(--color-success);box-shadow:0 0 6px var(--color-success-glow)}.sortable-item__result-dot--wrong{background:var(--color-error);box-shadow:0 0 6px var(--color-error-glow)}.sortable-item__confirmed-badge{border-radius:var(--radius-full);background:var(--color-success);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.sortable-item__confirmed-badge--pop{animation:.3s cubic-bezier(.36,.07,.19,.97) both badge-pop}@keyframes badge-pop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.sortable-item--result-correct{border-color:var(--color-success);background:var(--color-success-dim)}.sortable-item--result-wrong{border-color:var(--color-error);background:var(--color-error-dim)}.sortable-item--confirmed{border-color:#10b98159}.sortable-item--locked{cursor:default;z-index:2;background:var(--color-surface-alt)!important}@keyframes item-shake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes item-win{0%{transform:scale(1)}30%{transform:scale(1.04)}60%{transform:scale(.98)}to{transform:scale(1)}}.sortable-item--shake{animation:.7s item-shake}.gameboard{padding:var(--space-5) var(--space-4);gap:var(--space-4);max-width:var(--max-width);width:100%;min-height:calc(100vh - var(--header-height));flex-direction:column;margin:0 auto;padding-bottom:110px;display:flex}.gameboard__topbar{padding:0 var(--space-1);justify-content:space-between;align-items:center;display:flex}.gameboard__instruction-wrap{flex-direction:column;gap:2px;display:flex}.gameboard__instruction-row{align-items:center;gap:var(--space-2);display:flex}.gameboard__instruction{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.gameboard__instruction strong{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.gameboard__criteria{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;margin:0}.gameboard__criteria strong{color:var(--color-text-primary)}.gameboard__tooltip-wrap{align-items:center;display:flex;position:relative}.gameboard__tooltip-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-alt);width:16px;height:16px;color:var(--color-text-muted);font-size:10px;font-weight:var(--font-weight-bold);cursor:default;transition:border-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.gameboard__tooltip-wrap:hover .gameboard__tooltip-btn{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.gameboard__tooltip{background:var(--color-surface-alt);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);min-width:190px;padding:var(--space-3);box-shadow:var(--shadow-md);z-index:20;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}.gameboard__tooltip-wrap:hover .gameboard__tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.gameboard__tooltip-title{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.gameboard__tooltip-example{flex-direction:column;gap:3px;display:flex}.gameboard__tooltip-item{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);padding:4px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);display:flex}.gameboard__tooltip-item--marked{border-color:var(--color-success);background:var(--color-success-dim)}.gameboard__tooltip-number{font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-success);text-align:center;flex-shrink:0;width:10px}.gameboard__tooltip-number--mid{color:var(--color-border-hover)}.gameboard__tooltip-item--first .gameboard__tooltip-arrow{color:var(--color-success)}.gameboard__tooltip-item--last .gameboard__tooltip-arrow{color:var(--color-error)}.gameboard__tooltip-tag{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-success);background:var(--color-success-dim);border-radius:var(--radius-full);margin-left:auto;padding:1px 6px}.gameboard__tooltip-criteria{margin:var(--space-2) 0 0 0;color:var(--color-text);border-top:1px solid var(--color-border);padding-top:var(--space-2);font-size:12px}.gameboard__tooltip-criteria strong{color:var(--color-text)}.gameboard__feedback{text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);animation:.2s feedback-in}@keyframes feedback-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gameboard__feedback--win{background:var(--color-success-dim);color:var(--color-success);border:1px solid #10b98140}.gameboard__feedback--wrong,.gameboard__feedback--gameover{background:var(--color-error-dim);color:var(--color-error);border:1px solid #ef444440}.gameboard__list{gap:var(--space-2);flex-direction:column;display:flex}.gameboard__list--locked{pointer-events:none}.gameboard__footer{padding:var(--space-4) var(--space-4) var(--space-6);background:linear-gradient(to top, var(--color-bg) 65%, transparent);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.gameboard__confirm{width:100%;max-width:var(--max-width);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:.4px;cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);color:#fff;border:none}.gameboard__confirm:disabled{opacity:.35;cursor:default;box-shadow:none!important;transform:none!important}.gameboard__confirm:not(:disabled):active{transform:scale(.98)}.gameboard__confirm{background:linear-gradient(135deg, var(--mode-color), var(--mode-color-end));box-shadow:0 4px 20px color-mix(in srgb, var(--mode-color) 30%, transparent)}.gameboard__confirm:not(:disabled):hover{box-shadow:0 6px 28px color-mix(in srgb, var(--mode-color) 50%, transparent)}.result{gap:var(--space-5);padding:var(--space-6) var(--space-4) var(--space-12);max-width:var(--max-width);flex-direction:column;width:100%;margin:0 auto;animation:.35s result-in;display:flex}@keyframes result-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.result__header{text-align:center;padding-top:var(--space-4)}.result__outcome{align-items:center;gap:var(--space-2);flex-direction:column;display:inline-flex}.result__outcome-icon{font-size:52px;line-height:1;animation:.5s cubic-bezier(.36,.07,.19,.97) both outcome-bounce}@keyframes outcome-bounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.result__outcome-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.5px}.result__outcome--win .result__outcome-text{color:var(--color-success)}.result__outcome--lose .result__outcome-text{color:var(--color-text-secondary)}.result__grid{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);flex-direction:column;display:flex}.result__grid-row{gap:var(--space-1);display:flex}.result__grid-cell{font-size:22px;animation:.3s both cell-reveal}@keyframes cell-reveal{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.result__criteria{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.result__criteria-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2)}.result__criteria-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-1)}.result__criteria-source{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.result__items{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.result__items-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-4)}.result__items-list{gap:var(--space-2);flex-direction:column;display:flex}.result__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-sm);border:1px solid #0000;animation:.35s both item-reveal;display:flex}@keyframes item-reveal{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.result__item-rank{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-align:center;min-width:20px}.result__item-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1}.result__item-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.result__item:first-child .result__item-value{color:var(--mode-color)}.result__actions{gap:var(--space-3);flex-direction:column;display:flex}.result__share{width:100%;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:opacity var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);color:#fff;border:none;display:flex}.result__share:active{transform:scale(.98)}.result__share{background:linear-gradient(135deg, var(--mode-color), var(--mode-color-end));box-shadow:0 4px 20px color-mix(in srgb, var(--mode-color) 30%, transparent)}.result__share:hover{box-shadow:0 6px 28px color-mix(in srgb, var(--mode-color) 50%, transparent)}.result__share-image{width:100%;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);display:flex}.result__share-image:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-border-hover);color:var(--color-text-primary)}.result__share-image:disabled{opacity:.5;cursor:default}.result__next,.result__home{width:100%;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.result__next:hover,.result__home:hover{background:var(--color-surface-alt);border-color:var(--color-border-hover);color:var(--color-text-primary)}.result__countdown{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);padding-bottom:var(--space-4)}.result__countdown-time{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.tutorial-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;padding:var(--space-4);background:#000000bf;justify-content:center;align-items:flex-end;animation:.22s overlay-in;display:flex;position:fixed;inset:0}@media (height>=620px){.tutorial-overlay{align-items:center}}.tutorial-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:var(--max-width);box-shadow:var(--shadow-lg), 0 0 60px #8b5cf61a;flex-direction:column;max-height:92dvh;animation:.32s cubic-bezier(.34,1.42,.64,1) modal-in;display:flex;overflow:hidden}.tutorial-modal__scroll{padding:var(--space-5) var(--space-5) 0;gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.tutorial-modal__footer{padding:var(--space-4) var(--space-5) var(--space-5);flex-shrink:0}.tutorial-modal__header{justify-content:space-between;align-items:center;display:flex}.tutorial-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.tutorial-modal__close{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-alt);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tutorial-modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.tutorial-modal__body{gap:var(--space-3);flex-direction:column;display:flex}.tutorial-section{gap:var(--space-2);opacity:0;flex-direction:column;animation:.3s forwards section-in;display:flex}@keyframes section-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tutorial-section__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.tutorial-section__label strong{color:var(--color-text-primary)}.tutorial-section__num{border-radius:var(--radius-full);background:var(--color-primary-dim);border:1px solid var(--color-primary);width:20px;height:20px;color:var(--color-primary);font-size:11px;font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorial-demo{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.demo-items{flex-direction:column;gap:6px;display:flex}.demo-item{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px var(--space-3);min-height:42px;transition:border-color .15s,background .15s;display:flex}.demo-item--active{border-color:var(--color-primary);background:var(--color-primary-dim);box-shadow:0 2px 12px var(--color-primary-glow)}.demo-item--correct{border-color:var(--color-success);background:var(--color-success-dim)}.demo-item--wrong{border-color:var(--color-error);background:var(--color-error-dim)}.demo-item--confirmed{background:var(--color-surface-alt);border-color:#10b98159}.demo-item__index{font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-align:center;min-width:16px}.demo-item__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;flex:1}.demo-item__handle{color:var(--color-text-muted);align-items:center;display:flex}.demo-swap-arrow{color:var(--color-primary);justify-content:center;animation:1.4s ease-in-out infinite swap-pulse;display:flex}@keyframes swap-pulse{0%,to{opacity:.7;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}.demo-dot{border-radius:var(--radius-full);flex-shrink:0;width:9px;height:9px}.demo-dot--correct{background:var(--color-success);box-shadow:0 0 6px var(--color-success-glow)}.demo-dot--wrong{background:var(--color-error);box-shadow:0 0 6px var(--color-error-glow)}.demo-badge{border-radius:var(--radius-full);background:var(--color-success);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.tutorial-demo__hint{color:var(--color-text-muted);align-items:center;gap:5px;margin:0;font-size:11px;display:flex}.tutorial-demo__hint strong{color:var(--color-text-secondary)}.tutorial-demo--lives{justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);flex-direction:row}.demo-heart{color:var(--color-error);filter:drop-shadow(0 0 6px var(--color-error-glow));opacity:0;animation:.35s cubic-bezier(.34,1.56,.64,1) forwards heart-pop}@keyframes heart-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.tutorial-settings-list{gap:var(--space-2);flex-direction:column;display:flex}.tutorial-setting{align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);display:flex}.tutorial-setting--highlight{background:var(--color-primary-dim);border-color:#8b5cf666}.tutorial-setting__icon{color:var(--color-text-muted);flex-shrink:0;margin-top:1px;display:flex}.tutorial-setting--highlight .tutorial-setting__icon{color:var(--color-primary)}.tutorial-setting__text{flex-direction:column;gap:2px;display:flex}.tutorial-setting__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tutorial-setting__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.tutorial-modal__footer .tutorial-modal__btn{width:100%;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:.4px;cursor:pointer;color:#fff;transition:box-shadow var(--transition-fast), transform var(--transition-fast);opacity:0;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border:none;animation:.3s .5s forwards section-in;box-shadow:0 4px 20px #8b5cf64d}.tutorial-modal__btn:hover{box-shadow:0 6px 28px #8b5cf680}.tutorial-modal__btn:active{transform:scale(.98)}.settings-overlay{z-index:200;padding:var(--space-6) var(--space-4);background:#0009;justify-content:center;align-items:center;animation:.15s settings-overlay-in;display:flex;position:fixed;inset:0}@keyframes settings-overlay-in{0%{opacity:0}to{opacity:1}}.settings-modal{background:var(--color-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-xl);width:100%;max-width:360px;animation:.2s cubic-bezier(.34,1.42,.64,1) settings-modal-in;overflow:hidden}@keyframes settings-modal-in{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-modal__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.settings-modal__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.settings-modal__close{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-alt);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.settings-modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.settings-modal__body{padding:var(--space-3) var(--space-5) var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.settings-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row__text{flex-direction:column;flex:1;gap:2px;display:flex}.settings-row__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.settings-row__desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.settings-toggle{border-radius:var(--radius-full);border:1.5px solid var(--color-border-hover);background:var(--color-surface-alt);cursor:pointer;width:44px;height:26px;transition:background var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;position:relative}.settings-toggle:after{content:"";border-radius:var(--radius-full);background:var(--color-text-muted);width:18px;height:18px;transition:transform var(--transition-fast), background var(--transition-fast);position:absolute;top:2px;left:2px}.settings-toggle--on{background:var(--color-success);border-color:var(--color-success)}.settings-toggle--on:after{background:#fff;transform:translate(18px)}.stats-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;padding:var(--space-4);background:#000000bf;justify-content:center;align-items:flex-end;animation:.22s stats-overlay-in;display:flex;position:fixed;inset:0}@media (height>=620px){.stats-overlay{align-items:center}}@keyframes stats-overlay-in{0%{opacity:0}to{opacity:1}}.stats-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:var(--max-width);box-shadow:var(--shadow-lg), 0 0 60px #8b5cf61a;flex-direction:column;max-height:92dvh;animation:.32s cubic-bezier(.34,1.42,.64,1) stats-modal-in;display:flex;overflow:hidden}@keyframes stats-modal-in{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.stats-modal__scroll{padding:var(--space-5) var(--space-5) 0;gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.stats-modal__header{justify-content:space-between;align-items:center;display:flex}.stats-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.stats-modal__close{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-alt);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stats-modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.stats-section__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0}.stats-overall__cards{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-2);flex-direction:column;align-items:center;gap:3px;display:flex}.stat-card__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.stat-card__label{color:var(--color-text-muted);text-align:center;font-size:10px;line-height:1.3}.stats-divider{background:var(--color-border);height:1px}.stats-mode{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.stats-mode__header{align-items:center;gap:var(--space-2);display:flex}.stats-mode__badge{padding:3px var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border:1.5px solid;align-items:center;display:inline-flex}.stats-mode__cards{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.stats-mode__cards .stat-card{background:var(--color-surface)}.stats-mode__dist{gap:var(--space-1);flex-direction:column;display:flex}.stats-mode__dist-title{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-1)}.dist-row{align-items:center;gap:var(--space-2);display:flex}.dist-row__num{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-align:center;flex-shrink:0;width:10px}.dist-row__bar-wrap{flex:1}.dist-row__bar{background:var(--color-primary);border-radius:var(--radius-sm);min-width:24px;height:20px;padding-right:var(--space-2);justify-content:flex-end;align-items:center;transition:width .5s cubic-bezier(.34,1.2,.64,1);display:flex}.dist-row__count{font-size:11px;font-weight:var(--font-weight-bold);color:#fff}.stats-modal__footer{padding:var(--space-4) var(--space-5) var(--space-5);flex-shrink:0}.stats-modal__btn{width:100%;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);border:1.5px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast)}.stats-modal__btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app{background:var(--color-bg);min-height:100vh}.app__loading{min-height:calc(100vh - var(--header-height));justify-content:center;align-items:center;display:flex}.app__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app__error{justify-content:center;align-items:center;gap:var(--space-4);min-height:calc(100vh - var(--header-height));padding:var(--space-6);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-md);flex-direction:column;display:flex}.app__error-btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast)}.app__error-btn:hover{background:var(--color-surface-alt);color:var(--color-text-primary)}
