@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;700&display=swap");:root{--bg:#fff;--surface:#fff;--surface-muted:#f6f7f8;--surface-amber:#ffe3a0;--surface-amber-muted:#ffe29a;--surface-amber-rich:#ffcf6b;--surface-amber-honey:#f9b53e;--text:#111216;--text-muted:#5b6066;--border:#e6e7ea;--border-amber:#d28a16;--border-amber-soft:rgba(210,138,22,.65);--surface-fern:#cfe8c4;--surface-fern-muted:#bee5b0;--border-fern:#3e7b47;--fern-ink:#1b3c18;--pattern-fern-light:hsla(0,0%,100%,.55);--pattern-fern-dark:hsla(91,23%,54%,.38);--repertoire-white-surface:#f8fbff;--repertoire-white-gradient:linear-gradient(135deg,#f8fbff,#eef2ff);--repertoire-white-accent:#4f46e5;--repertoire-black-surface:#f4f4f5;--repertoire-black-gradient:linear-gradient(135deg,#f4f4f5,#e4e4e7);--repertoire-black-accent:#1f2937;--repertoire-reserve-surface:#fff7e6;--repertoire-reserve-gradient:linear-gradient(135deg,#fff7e6,#ffe3b3);--repertoire-reserve-accent:#f59e0b;--repertoire-import-surface:#ecfdf5;--repertoire-import-gradient:linear-gradient(135deg,#ecfdf5,#d1fae5);--repertoire-import-accent:#10b981;--amber:#ffc107;--amber-ink:#111216;--sq-light:#f7edd3;--sq-dark:#ddb25a;--radius:16px;--space:12px;--shadow-1:0 1px 2px rgba(17,18,22,.06),0 8px 24px rgba(17,18,22,.06)}body{background:var(--bg);color:var(--text)}html{font-family:Rubik,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-weight:800;font-size:clamp(24px,2.2vw,36px)}h2{font-weight:700;font-size:clamp(18px,1.6vw,24px)}p{font-size:clamp(14px,1.1vw,16px);line-height:1.45}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;box-sizing:border-box;border-radius:12px;border:1px solid rgba(17,18,22,.12);background:var(--surface);color:var(--text);font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;min-height:40px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.btn-primary{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}.btn-secondary{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.btn-compact{min-height:0;padding:8px 14px;font-size:.95rem}.btn-danger{background:#f44336;border-color:#f44336;color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border-color:rgba(17,18,22,.16)}.btn-wide{width:100%}.btn:disabled{opacity:.55;cursor:default;pointer-events:none}@media (hover:hover){.btn:hover:not(:disabled){background:var(--surface-muted);border-color:rgba(17,18,22,.2);box-shadow:0 10px 24px rgba(17,18,22,.08);transform:translateY(-1px)}.btn-primary:hover:not(:disabled){background:#e6b007;border-color:#e6b007;color:var(--amber-ink)}.btn-danger:hover:not(:disabled){background:#d7372b;border-color:#d7372b;color:#fff}.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:rgba(17,18,22,.2);color:var(--text)}}.btn:focus-visible{outline:2px solid #ffcd38;outline-offset:2px}.btn-back-circle{width:28px;height:28px;min-height:auto;padding:0;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}@media (hover:hover){.btn-back-circle:hover:not(:disabled){background:#e6b007;border-color:#e6b007;color:var(--amber-ink)}}.btn-back-circle:focus-visible{outline:2px solid #ffcd38;outline-offset:2px;background:#e6b007;border-color:#e6b007;color:var(--amber-ink)}.section{position:relative;display:flex;flex-direction:column;gap:clamp(12px,2vw,20px);background-color:var(--surface);background-image:none;background-repeat:no-repeat;background-size:cover;background-position:50%;border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);padding:clamp(20px,4vw,32px);margin-bottom:clamp(18px,4vw,32px);box-shadow:0 12px 32px rgba(17,18,22,.05);overflow:hidden;--section-accent:var(--border);--section-overlay:none;--section-overlay-opacity:0}.section:before{content:"";position:absolute;inset:0;background-image:var(--section-overlay);opacity:var(--section-overlay-opacity);pointer-events:none;z-index:0}.section:after{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:var(--section-accent);z-index:1}.section>*{position:relative;z-index:2}.section>.desc{color:var(--text-muted);margin-top:-4px;margin-bottom:0}.section-white{--section-accent:var(--border);--section-overlay:none;--section-overlay-opacity:0;background-color:color-mix(in srgb,var(--surface) 85%,var(--surface-muted) 15%);border-color:var(--border)}.section-white .desc{color:var(--text-muted)}.section-recent-games{--section-accent:var(--repertoire-reserve-accent);--section-overlay:var(--repertoire-reserve-gradient);--section-overlay-opacity:0.7;background-color:color-mix(in srgb,var(--surface) 70%,var(--repertoire-reserve-surface) 30%);border-color:color-mix(in srgb,var(--repertoire-reserve-accent) 25%,var(--repertoire-reserve-surface) 75%);color:color-mix(in srgb,var(--text) 80%,var(--repertoire-reserve-accent) 20%)}.section-recent-games .desc{color:color-mix(in srgb,var(--text-muted) 70%,var(--repertoire-reserve-accent) 30%)}.repertoire-sync-pulse{display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background-color:currentColor;animation:repertoireSyncPulse 1.4s ease-in-out infinite;transform-origin:center;opacity:.85}@keyframes repertoireSyncPulse{0%{transform:scale(.8);opacity:.45}50%{transform:scale(1.1);opacity:1}to{transform:scale(.8);opacity:.45}}.section-black{--section-accent:var(--repertoire-black-accent);--section-overlay:var(--repertoire-black-gradient);--section-overlay-opacity:0.7;background-color:color-mix(in srgb,var(--surface) 70%,var(--repertoire-black-surface) 30%);border-color:color-mix(in srgb,var(--repertoire-black-accent) 20%,var(--repertoire-black-surface) 80%)}.section-black .desc{color:color-mix(in srgb,var(--text-muted) 70%,var(--repertoire-black-accent) 30%)}.section-amber{--section-accent:var(--repertoire-reserve-accent);--section-overlay:var(--repertoire-reserve-gradient);--section-overlay-opacity:0.7;background-color:color-mix(in srgb,var(--surface) 70%,var(--repertoire-reserve-surface) 30%);border-color:color-mix(in srgb,var(--repertoire-reserve-accent) 25%,var(--repertoire-reserve-surface) 75%);color:color-mix(in srgb,var(--text) 80%,var(--repertoire-reserve-accent) 20%)}.section-amber .desc{color:color-mix(in srgb,var(--text-muted) 70%,var(--repertoire-reserve-accent) 30%)}.section-reserve{--section-accent:var(--repertoire-white-accent);--section-overlay:var(--repertoire-white-gradient);--section-overlay-opacity:0.7;background-color:color-mix(in srgb,var(--surface) 70%,var(--repertoire-white-surface) 30%);border-color:color-mix(in srgb,var(--repertoire-white-accent) 25%,var(--repertoire-white-surface) 75%);color:color-mix(in srgb,var(--text) 80%,var(--repertoire-white-accent) 20%)}.section-reserve .desc{color:color-mix(in srgb,var(--text-muted) 75%,var(--repertoire-white-accent) 25%)}.section-import{--section-accent:var(--repertoire-import-accent);--section-overlay:var(--repertoire-import-gradient);--section-overlay-opacity:0.7;background-color:color-mix(in srgb,var(--surface) 70%,var(--repertoire-import-surface) 30%);border-color:color-mix(in srgb,var(--repertoire-import-accent) 30%,var(--repertoire-import-surface) 70%);color:color-mix(in srgb,var(--text) 75%,var(--repertoire-import-accent) 25%)}.section-import .desc{color:color-mix(in srgb,var(--text-muted) 70%,var(--repertoire-import-accent) 30%)}.section-amber-soft{background:#fff4dc;border-color:rgba(244,193,95,.45);color:var(--text)}.brand-card{width:160px;height:160px;border-radius:50%;border:1px solid var(--border);box-shadow:var(--shadow-1);display:flex;align-items:center;justify-content:center;margin:0 auto}.board{width:100%;max-width:clamp(280px,80vw,720px);aspect-ratio:1/1;margin:0 auto}.shell-header{display:none;align-items:center;justify-content:space-between;padding:0 24px;height:56px;border-bottom:1px solid var(--border)}@media(min-width:768px){.shell-header{display:flex}}.shell-main{max-width:1280px;margin:0 auto;padding:16px}.shell-grid{display:grid;grid-gap:16px;gap:16px}@media(min-width:768px){.shell-grid{grid-template-columns:minmax(520px,640px) minmax(280px,1fr)}}@media(min-width:1024px){.shell-grid{grid-template-columns:280px minmax(560px,720px) minmax(320px,1fr)}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;display:flex;justify-content:space-around;align-items:center;background:var(--surface);border-top:1px solid var(--border)}@media(min-width:768px){.bottom-nav{display:none}}.home-hero{position:relative;max-width:680px;margin:clamp(48px,12vw,128px) auto;padding:clamp(22px,5vw,32px);border-radius:calc(var(--radius) + 18px);border:1px solid rgba(221,178,90,.3);background:#ffb54d;box-shadow:0 18px 52px rgba(240,172,36,.14),var(--shadow-1);text-align:center}.auth-hero{padding:clamp(24px,6vw,40px)}.auth-panel{gap:clamp(32px,7vw,40px)}.auth-panel,.home-hero__brand{display:flex;flex-direction:column;align-items:center}.home-hero__brand{text-align:center;width:100%}.auth-panel__body{width:min(100%,420px);display:flex;flex-direction:column;gap:clamp(16px,4vw,22px);align-items:stretch}.auth-form__title{margin:0;font-size:clamp(22px,3.2vw,26px);font-weight:700;text-align:center}.auth-form__subtitle{margin:0;color:rgba(17,18,22,.68);font-size:clamp(14px,1.6vw,16px);line-height:1.55;text-align:center}.auth-form{gap:14px}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:6px;text-align:left;font-weight:600;color:rgba(17,18,22,.82)}.auth-form input{padding:12px 14px;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--surface);font-family:inherit;font-size:clamp(16px,1.4vw,18px);transition:border-color .18s ease,box-shadow .18s ease}@supports (-webkit-touch-callout:none){.auth-form input{font-size:16px}}.auth-form input:focus{outline:none;border-color:var(--border-amber);box-shadow:0 0 0 4px rgba(255,193,7,.16)}.auth-form__message{border-radius:calc(var(--radius) - 6px);padding:12px 14px;font-size:clamp(13px,1.3vw,15px);line-height:1.5;text-align:center;font-weight:500}.auth-form__message--success{background:var(--surface-fern);border:1px solid hsla(91,23%,54%,.4);color:var(--fern-ink)}.auth-form__message--error{background:#fdecef;border:1px solid rgba(220,38,38,.24);color:#7f1d1d}.auth-form__message--info{background:var(--surface-amber-muted);border:1px solid rgba(221,178,90,.35);color:rgba(71,50,14,.78)}.auth-form__note{margin:-4px 0 0;color:rgba(17,18,22,.6);font-size:clamp(12px,1.1vw,14px)}.auth-form__submit{width:100%;display:inline-flex;justify-content:center}.auth-form__hint{text-align:center;color:rgba(17,18,22,.68);font-size:clamp(13px,1.2vw,15px);line-height:1.6}.auth-form__hint a{color:var(--amber);font-weight:600;text-decoration:none}.auth-form__hint a:hover{text-decoration:underline}.home-hero__panel{position:relative;padding:clamp(40px,11vw,68px) clamp(24px,8vw,56px);border-radius:calc(var(--radius) + 10px);background:#fdfbf8;border:2px solid var(--border-amber);box-shadow:0 16px 38px rgba(17,18,22,.08);color:var(--text)}.home-hero__badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 18px;border-radius:999px;background:var(--surface-amber-muted);border:1px solid rgba(17,18,22,.08);color:rgba(17,18,22,.76);font-size:clamp(12px,1.1vw,14px);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.home-hero__logo{width:clamp(120px,22vw,160px);height:auto;margin:24px auto 0}.home-hero__title{margin:24px 0 12px;font-size:clamp(32px,5vw,44px);font-weight:700;letter-spacing:-.01em}.home-hero__subtitle{max-width:460px;margin:0 auto;color:rgba(17,18,22,.7);font-size:clamp(16px,2vw,19px);line-height:1.55;min-height:clamp(72px,13vw,88px);text-align:center}.home-hero__actions{display:flex;flex-direction:column;gap:14px;margin:clamp(28px,6vw,40px) auto 0;width:min(100%,520px)}.home-hero__action{width:100%;padding:clamp(10px,1.4vw,12px) 22px;border-radius:999px;font-size:clamp(15px,1.4vw,17px);font-weight:600;font-family:inherit;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:.5em;box-shadow:0 12px 24px rgba(17,18,22,.12)}@media (min-width:640px){.home-hero__actions{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px}.home-hero__action{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 16px);min-width:220px}}.btn.home-hero__action{font-size:clamp(15px,1.4vw,17px);line-height:1.2}.home-hero__action-icon{font-size:1.2em;line-height:1}.home-hero__notice{margin-top:18px;padding:16px 20px;border-radius:18px;background:rgba(99,179,237,.18);border:1px solid rgba(99,179,237,.38);color:rgba(17,18,22,.78);font-size:clamp(13px,1.2vw,15px);line-height:1.6}.modal-overlay{position:fixed;inset:0;background:rgba(17,18,22,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:clamp(20px,5vw,40px);z-index:1000}.modal-shell{position:relative;width:min(100%,440px);max-height:90vh;display:flex;flex-direction:column}.modal-shell--wide{width:min(100%,540px)}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow-1),0 28px 68px rgba(17,18,22,.18);padding:clamp(24px,5vw,32px);max-height:90vh;overflow-y:auto}.modal-header{display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(16px,4vw,24px)}.modal-title{margin:0;font-size:clamp(22px,3vw,26px);font-weight:700}.modal-subtitle{margin:0;color:var(--text-muted);font-size:clamp(14px,1.6vw,16px);line-height:1.6}.modal-close{position:absolute;top:12px;right:18px;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .2s ease,box-shadow .2s ease}.modal-close:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(17,18,22,.12)}.modal-close:focus-visible{outline:2px solid #ffcd38;outline-offset:2px}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:clamp(12px,4vw,20px)}.modal-callout{border-radius:calc(var(--radius) - 4px);padding:16px 18px;border:1px solid var(--border);background:var(--surface-muted);font-size:clamp(13px,1.2vw,15px);line-height:1.6;color:var(--text);margin-bottom:clamp(18px,4vw,24px)}.modal-callout--info{background:var(--surface-amber-muted);border-color:rgba(221,178,90,.35);color:rgba(71,50,14,.78)}.modal-empty{border-radius:calc(var(--radius) - 6px);border:1px dashed var(--border);padding:18px;text-align:center;color:var(--text-muted);font-size:clamp(13px,1.2vw,15px)}.modal-status{margin-top:12px;font-size:13px;line-height:1.6;border-radius:calc(var(--radius) - 6px);padding:10px 14px;border:1px solid transparent}.modal-status--error{background:#fdecef;border-color:rgba(220,38,38,.24);color:#7f1d1d}.modal-status--success{background:var(--surface-fern);border-color:hsla(91,23%,54%,.35);color:var(--fern-ink)}.modal-status--muted{background:transparent;border:0;color:var(--text-muted);padding:0}.backup-list{list-style:none;margin:clamp(12px,3vw,18px) 0 0;padding:0;gap:14px}.backup-item,.backup-list{display:flex;flex-direction:column}.backup-item{border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--surface-muted);box-shadow:0 12px 26px rgba(17,18,22,.08);padding:16px;gap:12px}.backup-item__header{display:flex;flex-direction:column;gap:4px}.backup-item__meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--text-muted)}.backup-item__title{font-weight:600;font-size:15px;color:var(--text)}.backup-item__date{font-size:13px;color:var(--text-muted)}.backup-item__size{font-size:13px}.backup-item__actions{display:flex;flex-wrap:wrap;gap:10px}.backup-item__actions .btn{flex:1 1 200px}.settings-panel{gap:clamp(20px,5vw,28px)}.settings-field,.settings-panel{display:flex;flex-direction:column}.settings-field{gap:16px;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--surface-muted);padding:18px;box-shadow:0 12px 26px rgba(17,18,22,.06)}.settings-field__row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}.settings-field__label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;font-weight:600;color:var(--text)}.settings-field__title{font-size:15px}.settings-field__description{font-size:13px;color:var(--text-muted);font-weight:400;line-height:1.5}.settings-field__value{display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--text)}.settings-help{width:32px;height:32px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.settings-help:hover{background:var(--surface-muted);border-color:rgba(17,18,22,.16);transform:translateY(-1px)}.settings-help:focus-visible{outline:2px solid #ffcd38;outline-offset:2px}.settings-slider{width:100%;accent-color:var(--amber)}.settings-select{padding:6px 12px;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;font-weight:500;line-height:1.4;cursor:pointer}.settings-select:focus-visible{outline:2px solid #ffcd38;outline-offset:2px}.settings-tooltip{background:var(--surface-amber-muted);border:1px solid rgba(221,178,90,.35);border-radius:calc(var(--radius) - 6px);padding:14px;font-size:clamp(13px,1.2vw,15px);line-height:1.6;color:rgba(71,50,14,.78)}.home-hero__notice strong{display:block;margin-bottom:6px;font-weight:700;color:rgba(17,18,22,.85)}@media (min-width:720px){.home-hero__actions{flex-direction:row}.home-hero__action{flex:1 1 auto}}.training-history,.training-shell{--training-accent:color-mix(in srgb,var(--surface-amber-honey) 60%,var(--amber) 40%);--training-accent-soft:color-mix(in srgb,var(--surface-amber) 65%,transparent 35%);--training-surface:color-mix(in srgb,var(--surface) 88%,var(--surface-amber) 12%);--training-surface-muted:color-mix(in srgb,var(--surface-muted) 74%,var(--surface-amber-muted) 26%);--training-border:color-mix(in srgb,var(--border) 68%,var(--surface-amber-honey) 32%);--training-glow:color-mix(in srgb,var(--surface-amber-rich) 25%,transparent 75%)}.training-shell{min-height:100vh;background:color-mix(in srgb,var(--bg) 92%,var(--training-surface-muted) 8%);padding:clamp(24px,7vw,64px) 0}.training-shell__inner{max-width:960px;margin:0 auto;padding:0 clamp(16px,4.5vw,28px);display:flex;flex-direction:column;gap:clamp(18px,4vw,28px)}.training-back{display:inline-flex;align-items:center;gap:6px}.training-header{display:flex;flex-direction:column;gap:8px;align-items:stretch}.training-header__primary{display:flex;align-items:center;gap:16px;width:100%;flex-wrap:wrap}.training-header__title-group{display:inline-flex;align-items:center;gap:12px;flex:1 1 240px;min-width:0}.training-header__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--training-surface) 88%,var(--training-accent) 12%);border:1px solid color-mix(in srgb,var(--training-border) 70%,var(--training-accent) 30%);letter-spacing:.08em;font-size:12px;font-weight:700;text-transform:uppercase;color:color-mix(in srgb,var(--text) 75%,var(--training-accent) 25%)}.training-header__title{margin:0;font-size:clamp(22px,6vw,30px)}.training-header__subtitle{margin:0;max-width:620px;color:var(--text-muted)}.training-header__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-items:center;flex:0 0 auto}@media (max-width:600px){.training-header__primary{flex-wrap:wrap;align-items:flex-start}.training-header__actions{width:100%;justify-content:flex-start}}.training-stack{gap:clamp(20px,4vw,28px)}.training-card,.training-stack{display:flex;flex-direction:column}.training-card{background:var(--training-surface);border:1px solid var(--training-border);border-radius:calc(var(--radius) + 2px);padding:clamp(20px,3.6vw,28px);box-shadow:0 18px 42px color-mix(in srgb,var(--training-accent) 10%,transparent 90%),0 1px 2px color-mix(in srgb,var(--text) 6%,transparent 94%);gap:clamp(16px,3vw,24px)}.training-card__header{display:flex;flex-direction:column;gap:6px}.training-card__title{margin:0}.training-card__subtitle{margin:0;color:var(--text-muted);line-height:1.6}.training-mode{display:flex;flex-direction:column;gap:12px}.training-mode__label{font-weight:600;color:var(--text)}.training-mode__options{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.training-mode__option{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--surface-muted);border:1px solid rgba(17,18,22,.08);font-weight:600}.training-mode__notice{margin:0;color:var(--text-muted);font-size:14px;line-height:1.5}.training-select{background:var(--training-surface);color:var(--text);border:1px solid color-mix(in srgb,var(--training-border) 85%,transparent 15%);border-radius:12px;padding:10px 14px;min-width:220px;font-weight:500;box-shadow:0 10px 28px color-mix(in srgb,var(--training-accent) 10%,transparent 90%)}.training-repertoires{display:flex;flex-direction:column;gap:clamp(18px,3vw,26px)}.training-repertoire__header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.training-repertoire__title{display:inline-flex;align-items:center;gap:10px}.training-repertoire__name{margin:0}.training-repertoire__side-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;letter-spacing:.01em;border:1px solid transparent}.training-repertoire__side-badge--white{background:color-mix(in srgb,var(--training-surface) 80%,var(--bg) 20%);color:var(--text);border-color:color-mix(in srgb,var(--training-border) 40%,transparent 60%)}.training-repertoire__side-badge--black{background:color-mix(in srgb,var(--text) 85%,transparent 15%);color:var(--bg);border-color:color-mix(in srgb,var(--text) 65%,transparent 35%)}.training-repertoire__body{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between}.training-repertoire__controls{display:flex;flex-direction:column;gap:8px;flex:1 1 260px}.training-repertoire__label{font-weight:600;color:var(--text)}.training-repertoire__actions{display:flex;flex-shrink:0}.training-repertoire__cta{min-width:220px}.training-empty{margin:0;text-align:center;color:var(--text-muted)}.training-card--compact{padding:clamp(16px,3.6vw,22px);gap:12px}.training-session{--training-metric-acc:#16a34a;--training-metric-pos:#0ea5e9;display:flex;flex-direction:column;gap:12px}.training-session--summary{padding:clamp(12px,3vw,18px) clamp(14px,3.4vw,22px);gap:clamp(12px,3vw,18px)}.training-session__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.training-session__title{font-size:clamp(15px,3.8vw,18px);font-weight:600}.training-session__exit{margin-left:auto;white-space:nowrap}.training-session__meta{display:inline-flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-muted)}.training-session__meta-item{display:inline-flex;align-items:baseline;gap:4px}.training-session__meta-label{letter-spacing:.08em;text-transform:uppercase}.training-session__meta-value{font-weight:600;color:var(--text)}.training-session__metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.training-session__metric{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--training-surface-muted) 80%,transparent 20%);border:1px solid color-mix(in srgb,var(--training-border) 70%,transparent 30%)}.training-session__metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.training-session__metric-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.training-session__metric-value{font-size:16px;font-weight:600;color:var(--text)}.training-session__metric-helper{font-size:11px;color:color-mix(in srgb,var(--text-muted) 85%,var(--training-metric-pos) 15%)}.training-session__metric-track{position:relative;width:100%;height:6px;border-radius:999px;background:color-mix(in srgb,var(--training-surface-muted) 70%,var(--training-border) 30%);overflow:hidden}.training-session__metric-fill{position:absolute;inset:0;border-radius:999px;transform-origin:left center;background:var(--training-metric-pos);transition:width .3s ease}.training-session__metric--acc .training-session__metric-helper{color:color-mix(in srgb,var(--text-muted) 85%,var(--training-metric-acc) 15%)}.training-session__metric--acc .training-session__metric-fill{background:var(--training-metric-acc)}.training-session__history-note{margin:0;color:var(--text-muted);font-size:12px}@media (max-width:520px){.training-session__metric{padding:10px}}.training-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--training-surface-muted) 88%,var(--training-accent) 12%);border:1px solid color-mix(in srgb,var(--training-border) 60%,var(--training-accent) 40%);font-weight:600;font-size:13px;color:color-mix(in srgb,var(--text) 82%,var(--training-accent) 18%)}.training-chip strong{font-weight:700}.training-card--board{gap:12px}.training-board{width:100%;max-width:clamp(280px,78vw,640px);margin:0 auto}.training-board__status{margin:0;text-align:center;color:var(--text-muted);font-size:14px}.training-feedback{border-radius:calc(var(--radius) - 4px);border:1px solid color-mix(in srgb,var(--training-border) 65%,transparent 35%);background:color-mix(in srgb,var(--training-surface-muted) 90%,var(--training-accent) 10%);padding:clamp(16px,3vw,22px);display:grid;grid-gap:6px;gap:6px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--bg) 70%,transparent 30%)}.training-feedback__title{margin:0;font-weight:700}.training-feedback__detail{margin:0}.training-feedback__note{margin:4px 0 0;color:color-mix(in srgb,var(--text-muted) 80%,var(--training-accent) 20%)}.training-feedback--pending{border-style:dashed}.training-summary__metrics{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.training-summary__review{margin-top:24px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--training-border) 70%,var(--training-accent) 30%);display:flex;flex-direction:column;gap:16px}.training-summary__review-header{display:flex;flex-direction:column;gap:4px}.training-summary__review-title{margin:0;font-size:18px;font-weight:600}.training-summary__review-description{margin:0;color:var(--text-muted)}.training-summary__review-layout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.training-summary__review-board{flex:0 0 280px;max-width:100%}.training-summary__review-board .board{width:min(320px,100%);margin:0 auto}.training-summary__review-table{flex:1 1;min-width:220px}.training-summary__review-empty{margin:0;color:var(--text-muted)}.training-summary__review-button{padding:6px 12px;font-size:13px}.training-summary__review-actions-column{width:110px}.training-table--compact td,.training-table--compact th{padding:8px 10px;font-size:13px}.training-summary__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.training-summary__note{margin:0;padding:10px 14px;border-radius:12px;color:color-mix(in srgb,var(--text) 80%,var(--training-accent) 20%);background:color-mix(in srgb,var(--training-surface-muted) 92%,var(--training-accent) 8%);border:1px solid color-mix(in srgb,var(--training-border) 60%,var(--training-accent) 40%);text-align:center}.training-table__wrapper{overflow-x:auto}.training-table{width:100%;border-collapse:collapse;background:var(--training-surface);border-radius:calc(var(--radius) - 4px);overflow:hidden}.training-table td,.training-table th{padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--training-border) 70%,transparent 30%);text-align:left;font-size:14px}.training-table thead{background:var(--training-surface-muted)}.training-table__pending{color:var(--text-muted)}.training-summary__link{border-color:color-mix(in srgb,var(--training-border) 60%,var(--training-accent) 40%);color:color-mix(in srgb,var(--text) 75%,var(--training-accent) 25%);background:color-mix(in srgb,var(--training-surface) 85%,var(--training-accent) 15%)}.training-summary__link:hover{border-color:color-mix(in srgb,var(--training-border) 45%,var(--training-accent) 55%);background:color-mix(in srgb,var(--training-surface) 78%,var(--training-accent) 22%);color:color-mix(in srgb,var(--text) 70%,var(--training-accent) 30%)}@media (max-width:640px){.training-summary__review-layout{flex-direction:column}.training-summary__review-board{width:100%}.training-summary__review-actions-column{width:auto}.training-repertoire__actions,.training-repertoire__cta{width:100%}.training-mode__option{width:100%;justify-content:center}}.training-history{color:var(--text)}.training-history--page{background:var(--bg);min-height:100vh}.training-history--page .training-history__container{max-width:960px;margin:0 auto;padding:48px 20px 64px;display:flex;flex-direction:column;gap:clamp(20px,4vw,28px)}.training-history--panel{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}.training-history__backdrop{position:absolute;inset:0;background:rgba(17,18,22,.45)}.training-history__dialog{position:relative;width:min(960px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;border-radius:calc(var(--radius) + 6px);box-shadow:0 24px 64px rgba(17,18,22,.25)}.training-history__container{position:relative;background:var(--training-surface);border:1px solid var(--training-border);border-radius:calc(var(--radius) + 6px);box-shadow:0 22px 48px color-mix(in srgb,var(--training-accent) 14%,transparent 86%),0 1px 0 color-mix(in srgb,var(--text) 6%,transparent 94%);padding:clamp(24px,4vw,32px);display:flex;flex-direction:column;gap:clamp(18px,3vw,24px);overflow:hidden}.training-history__header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--training-border) 65%,transparent 35%)}.training-history__title{margin:0;color:var(--text)}.training-history__subtitle{margin:4px 0 0;color:var(--text-muted);max-width:520px}.training-history__controls{display:flex;flex-wrap:wrap;gap:12px}.training-history__section{background:var(--training-surface-muted);border:1px solid color-mix(in srgb,var(--training-border) 70%,transparent 30%);border-radius:calc(var(--radius) + 4px);padding:clamp(20px,3vw,26px);box-shadow:0 16px 32px color-mix(in srgb,var(--training-accent) 10%,transparent 90%)}.training-history__analytics,.training-history__section,.training-history__summary{display:flex;flex-direction:column;gap:18px}.training-history__summary-card{display:flex;flex-direction:column;gap:14px;background:var(--training-surface);border:1px solid color-mix(in srgb,var(--training-border) 55%,transparent 45%);border-radius:calc(var(--radius) + 4px);padding:clamp(16px,2.5vw,22px);box-shadow:0 12px 28px color-mix(in srgb,var(--training-accent) 14%,transparent 86%)}.training-history__summary-card--compact{max-width:360px}.training-history__summary-title{margin:0;color:var(--text)}.training-history__summary-description{margin:0;color:var(--text-muted)}.training-history__summary-empty{margin:0;color:color-mix(in srgb,var(--text-muted) 70%,var(--training-accent) 30%)}.training-history__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin:0}.training-history__metrics--stacked{grid-template-columns:1fr}.training-history__metrics-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb,var(--training-surface-muted) 85%,var(--training-accent-soft) 15%)}.training-history__metrics-item dt{font-size:.85rem;font-weight:600;color:var(--text-muted)}.training-history__metrics-item dd{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.training-history__latest-session{display:flex;flex-direction:column;gap:12px}.training-history__chart{display:flex;flex-direction:column;justify-content:center;background:var(--training-surface);border:1px solid color-mix(in srgb,var(--training-border) 65%,transparent 35%);border-radius:calc(var(--radius) + 4px);padding:clamp(16px,2.5vw,20px);min-height:260px;box-shadow:0 12px 28px color-mix(in srgb,var(--training-accent) 12%,transparent 88%)}.training-history__chart .recharts-responsive-container{flex:1 1 auto;width:100%!important;min-height:220px}.training-history__chart--empty{align-items:center;justify-content:center;text-align:center;color:color-mix(in srgb,var(--text-muted) 70%,var(--training-accent) 30%);border:1px dashed color-mix(in srgb,var(--training-border) 60%,transparent 40%)}.training-history__chart-tooltip{display:flex;flex-direction:column;gap:4px;background:color-mix(in srgb,var(--training-surface) 90%,var(--training-accent-soft) 10%);border:1px solid color-mix(in srgb,var(--training-border) 70%,transparent 30%);border-radius:12px;padding:10px 12px;color:var(--text);box-shadow:0 10px 20px color-mix(in srgb,var(--training-accent) 18%,transparent 82%)}.training-history__chart-tooltip-title{font-weight:600}.training-history__chart-tooltip-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.training-history__select{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.training-history__control label,.training-history__select label{font-weight:600}.training-history__control select,.training-history__select select{-webkit-appearance:none;appearance:none;background:var(--training-surface);border:1px solid color-mix(in srgb,var(--training-border) 60%,var(--training-accent) 40%);border-radius:12px;padding:8px 12px;min-width:220px;color:var(--text);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--bg) 70%,transparent 30%),0 6px 14px color-mix(in srgb,var(--training-accent) 12%,transparent 88%)}.training-history__chart-container{display:flex;flex-direction:column;gap:18px}.training-history__chart-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.training-history__control{display:flex;flex-direction:column;gap:6px}.training-history__chart-scroll{overflow-x:auto;padding-bottom:4px}.training-history__chart-surface{min-width:100%}.training-history__section-head{display:flex;flex-direction:column;gap:4px}.training-history__section-head h3{margin:0;color:var(--text)}.training-history__section-head p{margin:0;color:var(--text-muted)}.training-history__placeholder{text-align:center;padding:24px 12px;border-radius:calc(var(--radius) + 4px);border:1px dashed color-mix(in srgb,var(--training-border) 55%,transparent 45%);color:color-mix(in srgb,var(--text-muted) 70%,var(--training-accent) 30%);background:var(--training-surface-muted)}.training-history__placeholder--error{color:color-mix(in srgb,#8b1f1f 80%,var(--training-accent) 20%);background:rgba(255,233,224,.92);border-color:rgba(198,40,40,.35)}@media (max-width:720px){.training-history__dialog{width:calc(100% - 24px);max-height:calc(100% - 24px)}}@media (min-width:980px){.training-history__analytics{flex-direction:row;align-items:stretch}.training-history__chart{flex:1 1}.training-history__summary{flex-direction:row;align-items:stretch}.training-history__summary-card{flex:0 0 320px}.training-history__summary .training-history__chart-container{flex:1 1}.training-history__analytics .training-history__summary-card{flex:0 0 320px;max-width:320px}}.cloud-backup-banner{position:fixed;right:clamp(16px,4vw,32px);bottom:clamp(20px,6vw,40px);width:min(420px,calc(100% - 32px));background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);box-shadow:0 26px 52px rgba(17,18,22,.24);padding:clamp(18px,4vw,24px);display:flex;flex-direction:column;gap:12px;color:var(--text);z-index:1200}@media (max-width:600px){.cloud-backup-banner{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 32px)}}.cloud-backup-banner__title{margin:0;font-size:clamp(16px,2.4vw,18px);font-weight:700}.cloud-backup-banner__message{margin:0;font-size:clamp(13px,1.8vw,15px);line-height:1.6;color:var(--text-muted)}.cloud-backup-banner__message strong{color:var(--text)}.cloud-backup-banner__error{margin:0;font-size:13px;line-height:1.6;border-radius:calc(var(--radius) - 6px);padding:8px 12px;background:#fdecef;border:1px solid rgba(220,38,38,.24);color:#7f1d1d}.cloud-backup-banner__actions{display:flex;flex-wrap:wrap;gap:12px}.cloud-backup-banner__actions .btn{flex:1 1 160px}.page-header{justify-content:space-between;flex-wrap:wrap;margin-bottom:32px}.page-header,.page-header__brand{display:flex;align-items:center;gap:12px}.page-header__brand{flex:1 1 auto;min-width:0}.page-header__title{margin:0;font-size:clamp(1.5rem,3.6vw,2rem);font-weight:700;color:var(--text)}.page-header__actions{display:flex;align-items:center;gap:12px;margin-left:auto}.page-header__cta{font-size:.95rem;white-space:nowrap}.page-header__toggle{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text);font-weight:600;line-height:1;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;min-height:40px}.page-header__toggle-icon{font-size:1.25rem;line-height:1}.page-header__toggle-label{display:none;font-size:.95rem}@media (min-width:768px){.page-header__toggle-label{display:inline}}@media (hover:hover){.page-header__toggle:hover{background:var(--surface);border-color:rgba(17,18,22,.28);transform:translateY(-1px)}}.page-header__toggle:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.app-sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:stretch;justify-content:flex-start;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1200}.app-sidebar-overlay--open{opacity:1;pointer-events:auto}.app-sidebar{width:min(360px,88vw);max-width:380px;background:var(--surface);color:var(--text);height:100%;box-shadow:0 32px 64px rgba(15,23,42,.32);transform:translateX(-100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:clamp(20px,4vw,28px);border-right:1px solid var(--border)}.app-sidebar-overlay--open .app-sidebar{transform:translateX(0)}@media (min-width:1024px){.app-sidebar-overlay{align-items:center}.app-sidebar{border-radius:0 18px 18px 0;height:auto;max-height:calc(100vh - 48px);margin:24px 0}}.app-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.app-sidebar__brand{display:flex;align-items:center;gap:14px;padding:8px 14px;border-radius:16px;background:rgba(255,191,0,.12);border:1px solid rgba(255,191,0,.32);box-shadow:inset 0 0 0 1px rgba(255,191,0,.08)}.app-sidebar__brand-logo-wrap{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--surface);border:1px solid rgba(255,191,0,.3);box-shadow:0 10px 20px rgba(255,191,0,.16)}.app-sidebar__brand-logo{width:32px;height:32px;object-fit:contain}.app-sidebar__brand-text{display:flex;flex-direction:column;gap:2px;line-height:1.2}.app-sidebar__brand-name{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text)}.app-sidebar__brand-name--accent{position:relative;color:var(--amber)}.app-sidebar__brand-name--accent:after{content:"";position:absolute;inset:auto 0 -4px;height:3px;border-radius:999px;background:rgba(255,191,0,.6)}.app-sidebar__brand-tagline{font-size:.8rem;color:var(--text-muted)}.app-sidebar__close{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text);font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}@media (hover:hover){.app-sidebar__close:hover{background:var(--surface);border-color:rgba(17,18,22,.28);transform:translateY(-1px)}}.app-sidebar__close:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.app-sidebar__close-label{display:none;font-size:.85rem}@media (min-width:1024px){.app-sidebar__close-label{display:inline}}.app-sidebar__body{flex:1 1;display:flex;flex-direction:column;gap:16px}.app-sidebar__nav{display:grid;grid-gap:12px;gap:12px}.app-sidebar__action{width:100%;justify-content:flex-start;font-size:.98rem}.app-sidebar__action.btn-ghost{background:var(--surface-muted);color:var(--text);border-color:var(--border)}.app-sidebar__footer{margin-top:24px;font-size:.85rem;color:var(--text-muted)}.app-sidebar__footer p{margin:0}