.onboarding-root{min-height:100dvh;background:var(--color-background);color:var(--color-text-primary)}.onboarding-content{display:flex;flex-direction:column;justify-content:flex-start;min-height:100dvh;max-width:480px;margin:0 auto;padding:var(--space-32) var(--space-24)}.onboarding-content--centered{justify-content:center}.onboarding-art{display:none}.onboarding-screen{display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--space-16)}.onboarding-gateway{flex:0 0 auto}.onboarding-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;min-height:34px}.onboarding-head-brand{font-family:var(--font-family-display);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.onboarding-head-counter{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.08em;color:var(--color-text-secondary)}.onboarding-head-rule{flex:0 0 auto;height:1px;margin-top:var(--space-8);background:var(--color-border)}.onboarding-brand{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-display);line-height:1.1}.onboarding-tagline,.onboarding-copy{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body, 1rem)}.onboarding-pseudo .onboarding-slide-in{padding-top:clamp(30px,8vh,66px)}.onboarding-pseudo .onboarding-title{margin:8px 0 0}.onboarding-pseudo .onboarding-copy{margin:12px 0 0;font-size:15px;line-height:1.42}.onboarding-kicker{margin:0;font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.12em;color:var(--color-warning)}.onboarding-title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h1);line-height:1.2}.onboarding-provider{display:flex;gap:var(--space-8);margin-top:20px}.onboarding-provider-option{flex:1;min-height:44px;border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.onboarding-provider-option.is-selected{border-color:var(--color-border-strong);font-weight:var(--font-weight-bold)}.onboarding-field-label{display:block;margin-top:36px;margin-bottom:8px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.onboarding-field{vertical-align:top;min-height:54px;padding:0 14px;border-radius:var(--radius-input);border:1.3px solid var(--color-border-strong);background:var(--color-background);color:var(--color-text-primary);font-size:17px}.onboarding-notice{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.onboarding-secondary-cta{min-height:48px;margin-top:var(--space-8);padding:0 var(--space-16);border-radius:var(--radius-button);background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-strong);font-size:1rem}.onboarding-secondary-cta:disabled{opacity:.6}.onboarding-back{align-self:flex-start;min-width:44px;min-height:44px;background:transparent;color:var(--color-text-primary);border:none;font-size:1.5rem}.onboarding-link{display:inline;padding:0;background:transparent;color:inherit;border:none;font:inherit;font-weight:var(--font-weight-bold);text-decoration:underline;overflow-wrap:anywhere}.onboarding-field--code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.onboarding-question .onboarding-slide-in{padding-top:clamp(38px,10vh,78px)}.onboarding-question .onboarding-title{font-size:clamp(29px,7.5vw,38px);line-height:1.04}.onboarding-question-options{display:flex;flex-direction:column;margin-top:26px;gap:10px}.onboarding-question-option{display:flex;align-items:center;gap:var(--space-12);min-height:60px;padding:12px 14px;border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);border:1.2px solid var(--color-border);text-align:left;font-size:1rem}.onboarding-question-option-label{font-size:15.5px}@media (max-height: 720px){.onboarding-question .onboarding-slide-in{padding-top:28px}.onboarding-question-options{margin-top:18px;gap:8px}.onboarding-question-option{min-height:54px;padding:9px 12px}}.onboarding-question-option-badge{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--color-surface);font-size:19px;line-height:1}.onboarding-question-option-label{flex:1}.onboarding-cta{min-height:55px;margin-top:auto;padding:0 var(--space-16);font-size:17px;font-weight:var(--font-weight-bold);border-radius:var(--radius-button);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);border:1px solid var(--charte-color-fill-action)}.onboarding-cta:disabled{opacity:.45}.onboarding-cta--arrow{display:flex;align-items:center;justify-content:space-between}.onboarding-landscape-blocker{display:none}.onboarding-landscape-blocker h2{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h2);color:var(--color-text-primary)}.onboarding-landscape-blocker p{margin:var(--space-8) 0 0;color:var(--color-text-secondary)}@media (orientation: landscape) and (max-height: 600px){:root:not([data-shell=native]) .onboarding-landscape-blocker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--space-24);text-align:center;background:var(--color-background)}:root:not([data-shell=native]) body .onboarding-root .onboarding-content{display:none}}.interstitial-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-16);width:100%;min-height:100dvh;padding:var(--space-32) var(--space-24);border:none;border-radius:0;text-align:center;background:var(--color-background);color:var(--color-text-primary);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.interstitial-icon{font-size:3rem;line-height:1}.interstitial-icon--pop{animation:onboarding-pop .3s ease both}.interstitial-loader-dots{display:inline-flex;gap:var(--space-8)}.interstitial-loader-dots span{width:10px;height:10px;border-radius:50%;background:var(--color-text-primary);animation:interstitial-loader-bounce 1.2s ease-in-out infinite}.interstitial-loader-dots span:nth-child(2){animation-delay:.15s}.interstitial-loader-dots span:nth-child(3){animation-delay:.3s}@keyframes interstitial-loader-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.interstitial-title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h1);color:var(--color-text-primary)}.interstitial-copy{margin:0;max-width:320px;font-size:var(--font-size-body, 1rem);color:var(--color-text-secondary)}.interstitial-progress{width:100%;max-width:240px;height:4px;border-radius:2px;background:var(--color-border);overflow:hidden}.interstitial-progress-fill{height:100%;width:0%;background:var(--color-text-primary);animation-name:interstitial-progress-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes interstitial-progress-fill{0%{width:0%}to{width:100%}}.interstitial-hint{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.onboarding-free-position{gap:var(--space-12)}.onboarding-free-hint{margin:0;min-height:2.8em;line-height:1.4;text-align:center;color:var(--color-text-secondary);font-size:.875rem}.onboarding-free-skip{width:100%;min-height:50px;border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-secondary);font-size:1rem;font-weight:var(--font-weight-bold)}.onboarding-profile{gap:var(--space-16)}.onboarding-profile-phrase{margin:0;padding:18px 20px;border-left:3px solid var(--charte-color-fill-coach-border);background:var(--charte-color-fill-coach-option-bg);text-align:left;line-height:1.65;color:var(--charte-color-fill-coach-text)}.onboarding-slide-in{animation:onboarding-slide-in .32s cubic-bezier(.2,.8,.2,1) both}@keyframes onboarding-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes onboarding-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.onboarding-slide-in,.interstitial-icon--pop{animation:none}}.onboarding-root{font-family:var(--font-family)}.onboarding-brand{font-size:30px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:1.25}.onboarding-tagline{font-size:13px;line-height:var(--charte-line-height-prose)}.onboarding-head-brand{font-size:var(--charte-font-size-brand-sidebar);font-weight:var(--font-weight-black);letter-spacing:var(--charte-letter-spacing-brand)}.onboarding-head-counter{font-size:var(--charte-font-size-eyebrow);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase}.onboarding-kicker{margin-bottom:10px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}.onboarding-title,.onboarding-question .onboarding-title,.interstitial-title,.onboarding-landscape-blocker h2{font-size:30px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:1.25}.onboarding-pseudo .onboarding-title,.onboarding-profile .onboarding-title,.onboarding-email-code .onboarding-title,.onboarding-free-position .onboarding-title{margin:0 0 16px}.onboarding-copy,.onboarding-pseudo .onboarding-copy,.interstitial-copy,.onboarding-notice,.interstitial-hint,.onboarding-free-hint,.onboarding-landscape-blocker p{font-size:13px;line-height:var(--charte-line-height-prose);color:var(--color-text-secondary)}.onboarding-pseudo .onboarding-copy{margin:0 0 24px}.onboarding-notice-error{color:var(--color-danger)}.onboarding-provider{display:inline-flex;gap:3px;margin-top:0;padding:var(--charte-space-segment);border-radius:var(--radius-button);background:var(--color-surface-elevated)}.onboarding-provider-option{flex:none;min-height:var(--charte-size-segment-item);padding:var(--space-8) var(--space-16);border:0;border-radius:var(--charte-radius-segment-item);background:transparent;color:var(--color-text-primary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.onboarding-provider-option.is-selected{border:0;background:var(--color-surface);font-weight:var(--font-weight-semibold);box-shadow:var(--charte-shadow-segment)}.onboarding-field-label{font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.onboarding-field{min-height:0;padding:13px 14px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);font-size:16px}.onboarding-field--code{font-size:30px;letter-spacing:12px}.onboarding-secondary-cta,.onboarding-free-skip{min-height:44px;margin-top:var(--space-16);padding:var(--charte-space-button-y) var(--charte-space-button-x);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.onboarding-cta{min-height:44px;padding:var(--charte-space-button-y) var(--charte-space-button-x);border-radius:var(--radius-button);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.onboarding-cta--arrow{justify-content:center;gap:var(--space-8)}.onboarding-question-options{margin-top:12px;gap:12px}.onboarding-question-option{gap:var(--charte-space-14);min-height:64px;padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);font-size:var(--charte-font-size-button)}.onboarding-question-option:hover{background:var(--color-surface-elevated)}.onboarding-question-option-badge{flex-basis:30px;width:30px;height:30px;border-radius:var(--charte-radius-tag);background:var(--color-surface-elevated);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.onboarding-question-option-label{font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.interstitial-copy{max-width:420px}@media (min-width: 768px){.onboarding-brand,.onboarding-title,.onboarding-question .onboarding-title,.interstitial-title{font-size:var(--charte-font-size-32);line-height:var(--charte-line-height-h1)}.onboarding-pseudo .onboarding-title,.onboarding-profile .onboarding-title,.onboarding-email-code .onboarding-title,.onboarding-free-position .onboarding-title{margin:0 0 18px}.onboarding-question-option{min-height:54px}body .onboarding-art-brand{font-size:var(--charte-font-size-brand-sidebar);letter-spacing:var(--charte-letter-spacing-brand)}}.radar-chart{display:block;width:100%;max-width:320px;height:auto;margin:0 auto;overflow:visible}.radar-chart-ring,.radar-chart-spoke{fill:none;stroke:var(--color-border-strong);stroke-width:2}.radar-chart-area{fill:var(--charte-color-fill-coach-border);fill-opacity:.25;stroke:var(--charte-color-ink);stroke-width:6;stroke-linejoin:round}.radar-chart-vertex{fill:var(--color-accent)}.radar-chart-label{fill:var(--color-text-secondary);font-family:var(--font-family-body, inherit);font-size:30px;font-weight:700}.radar-chart-label[data-radar-missing=true]{fill:var(--color-text-tertiary);opacity:.55;font-style:italic}.account-prompt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-12) var(--space-12) calc(env(safe-area-inset-bottom,0px) + var(--space-24));background:#00000073}.account-prompt-sheet{position:relative;width:100%;max-width:480px;max-height:calc(100dvh - var(--space-48));overflow-y:auto;padding:var(--space-24) var(--space-24) var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-lg);outline:none;animation:sheet-up .32s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion: reduce){.account-prompt-sheet{animation:none}}.account-prompt-close{position:absolute;top:var(--space-12);right:var(--space-12);width:38px;height:38px;border:0;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:22px;line-height:1;cursor:pointer}.account-prompt-title{margin:0 48px var(--space-12) 0;font-family:var(--font-family-display);font-size:22px;line-height:1.3}.account-prompt-copy{margin:0 0 var(--space-12);line-height:1.55}.account-prompt-data{margin:0 0 var(--space-16);color:var(--color-text-secondary);font-size:13px;line-height:1.55}.account-prompt-notice{margin:0 0 var(--space-16);color:var(--color-danger);font-size:14px;font-weight:var(--font-weight-bold)}.account-prompt-actions{display:flex;flex-direction:column;gap:var(--space-8)}.account-prompt-google,.account-prompt-later{min-height:52px;padding:0 var(--space-16);border-radius:var(--radius-button);font:inherit;font-size:16px;font-weight:var(--font-weight-bold);cursor:pointer}.account-prompt-google{border:1px solid var(--charte-color-fill-action);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.account-prompt-google:disabled{opacity:.45;cursor:default}.account-prompt-later{margin-top:var(--space-8);border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary)}.account-prompt-link{min-height:40px;border:0;background:none;color:var(--color-text-primary);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}.account-prompt-note{margin:var(--space-12) 0 0;color:var(--color-text-secondary);font-size:12px;line-height:1.6;text-align:center}.account-email-code-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;overflow-y:auto}body .app .exercise-screen{--exercise-bubble-bg: #ffffff;--exercise-bubble-ink: #22221f;--exercise-bubble-text: #53544d;--exercise-halo: var(--charte-color-accent);--exercise-halo-retry: #e75b4c;--exercise-line-retry: #b7664f;--exercise-line-good: #47845d;--exercise-progress-done: #42865a;--exercise-rescue-bg: #fff4b8;--exercise-rescue-line: #d9c975;--exercise-rescue-option-line: #b8ab71;--exercise-rescue-ink: #22221f}body .app .exercise-screen .session-header .exercise-meta-motif,body .app .exercise-screen .session-header .exercise-meta-sep,body .app .exercise-screen .exercise-progress-bar .exercise-meta-progress,body .app .exercise-screen .exercise-rescue-qcm .exercise-feedback-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header{margin:0 0 18px}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-row{gap:12px}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back{flex:1 1 auto;justify-content:flex-start;min-width:0;min-height:36px;gap:12px;margin:0;padding:0;font-size:22px;font-weight:var(--font-weight-black);letter-spacing:-.6px;line-height:1.2;color:var(--color-text-primary)}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back:hover{background:transparent}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back>span:first-child{display:grid;place-items:center;flex:none;box-sizing:border-box;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);font-size:16px;font-weight:var(--font-weight-regular);letter-spacing:0;line-height:1}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-icon{width:20px;height:20px}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back>span:last-child{min-width:0;margin:0;overflow:hidden;font-size:22px;font-weight:var(--font-weight-black);letter-spacing:-.6px;text-transform:none}body .app .exercise-screen .session-header .session-header-back .exercise-meta,body .app .exercise-screen .session-header .session-header-back .exercise-meta-activity{margin:0;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:1.2;text-transform:none}body .app .exercise-screen .session-header .session-header-context{display:none}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-row .session-timer{margin-left:auto;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--color-text-secondary);font:12px ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-row .session-timer:hover{background:none;box-shadow:none}body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-row .session-timer-value{font:inherit;font-variant-numeric:tabular-nums}body .app .exercise-screen .exercise-coach-card{align-items:center;gap:12px;width:100%;min-height:96px;margin:0 0 8px;padding:0;box-sizing:border-box;border:0;border-radius:0;background:transparent;color:var(--exercise-bubble-text)}body .app .exercise-screen .exercise-coach-card-avatar{position:relative;display:block;flex:0 0 48px;align-self:center;box-sizing:border-box;width:48px;height:64px;padding:0;border-radius:0;background:transparent;isolation:isolate}body .app .exercise-screen .exercise-coach-card-avatar:before{content:"";position:absolute;top:5px;left:0;z-index:-1;width:48px;height:48px;border-radius:50%;background:var(--exercise-halo);transition:background-color .25s ease}body .app .exercise-screen .exercise-coach-card--error .exercise-coach-card-avatar:before{background:var(--exercise-halo-retry)}body .app .exercise-screen .exercise-coach-card-avatar .coach-portrait-image{display:block;width:100%;height:64px}body .app .exercise-screen .exercise-coach-card .exercise-instruction{flex:1;box-sizing:border-box;min-width:0;min-height:90px;margin:0;padding:12px 15px;border:1.5px solid var(--exercise-bubble-ink);border-radius:14px 14px 14px 3px;background:var(--exercise-bubble-bg);color:var(--exercise-bubble-text);font-size:14px;font-weight:var(--font-weight-regular);letter-spacing:0;line-height:1.5;transition:border-color .25s ease}body .app .exercise-screen .exercise-coach-card .exercise-instruction strong{font-weight:var(--font-weight-semibold)}body .app .exercise-screen .exercise-coach-card--error .exercise-instruction{border-color:var(--exercise-line-retry);background:var(--exercise-bubble-bg);color:var(--exercise-bubble-text)}body .app .exercise-screen .exercise-coach-card--success .exercise-instruction{border-color:var(--exercise-line-good);background:var(--exercise-bubble-bg);color:var(--exercise-bubble-text)}@media (prefers-reduced-motion: reduce){body .app .exercise-screen .exercise-coach-card-avatar:before,body .app .exercise-screen .exercise-coach-card .exercise-instruction{transition:none}}body .app .exercise-screen .exercise-progress-bar{gap:6px;margin:0 0 9px}body .app .exercise-screen .exercise-progress-segment{height:3px;border-radius:3px;background:var(--color-border)}body .app .exercise-screen .exercise-progress-segment-done{background:var(--exercise-progress-done)}body .app .exercise-screen .exercise-board-wrapper{margin-top:0}body .app .exercise-screen .exercise-side-indicator{justify-content:flex-start;gap:7px;min-height:36px;margin:5px 0 0;padding:0;font-size:11px;font-weight:var(--font-weight-regular);line-height:1.4;color:var(--color-text-secondary);white-space:nowrap}body .app .exercise-screen .exercise-side-row{gap:10px;min-height:36px;margin-top:5px}body .app .exercise-screen .exercise-side-row .exercise-side-indicator{min-height:0;margin:0}body .app .exercise-screen .exercise-side-dot{width:11px;height:11px;border:1px solid #333333}body .app .exercise-screen .exercise-side-dot-w{background:#fff}body .app .exercise-screen .exercise-side-dot-b{background:#222}body .app .exercise-screen .exercise-start-replay{min-height:36px;padding:6px 0 6px 8px;border:0;border-radius:0;background:transparent;color:var(--color-text-primary);font-size:11px;font-weight:var(--font-weight-regular);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}body .app .exercise-screen .exercise-start-replay:hover{background:transparent}body .app .exercise-screen .exercise-start-replay-note{max-width:55%;font-size:10px}body .app .exercise-screen{--exercise-response-reserve: 0px}@media (min-height: 800px){body .app .exercise-screen{--exercise-response-reserve: 224px}}body .app .exercise-screen .exercise-dynamic-zone{gap:11px;margin-top:8px;min-height:var(--exercise-response-reserve)}body .app .exercise-screen .exercise-after-actions{display:flex;flex-direction:column;flex-wrap:nowrap;gap:11px}body .app .exercise-screen .exercise-why-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:11px}body .app .exercise-screen .exercise-why-actions>:only-child{grid-column:1 / -1}body .app .exercise-screen .exercise-why-actions .exercise-after-action--primary{padding:13px 10px;font-size:13px}body .app .exercise-screen .exercise-after-action{flex:none;width:100%;box-sizing:border-box;min-width:0;min-height:44px;padding:13px 15px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-regular);text-align:center}body .app .exercise-screen .exercise-after-action:hover:not(:disabled){border-color:var(--color-text-primary);background:var(--color-surface)}body .app :is(.exercise-screen,.mental-challenge-screen) .exercise-feedback-cta,body .app .exercise-screen .exercise-after-action--primary,body .app .exercise-screen .exercise-after-action--primary:hover{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:48px;margin:0 0 5px;padding:14px 18px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 14px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);opacity:1}body .app :is(.exercise-screen,.mental-challenge-screen) .exercise-feedback-cta:hover,body .app .exercise-screen .exercise-after-action--primary:hover:not(:disabled){background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action-text);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}body .app :is(.exercise-screen,.mental-challenge-screen) .exercise-feedback-cta:active,body .app .exercise-screen .exercise-after-action--primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .app :is(.exercise-screen,.mental-challenge-screen) .exercise-feedback-cta:focus-visible,body .app .exercise-screen .exercise-after-action--primary:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}body .app :is(.exercise-screen,.mental-challenge-screen) .exercise-feedback-cta-arrow{display:none}body .app .exercise-screen .exercise-feedback-frame{gap:11px}body .app .exercise-screen .exercise-feedback-frame>.exercise-feedback-cta{order:1}body .app .exercise-screen .exercise-feedback-frame>.exercise-after-slot{order:2}body .app .exercise-screen .exercise-feedback-frame>.exercise-vote-panel{order:3}body .app .exercise-screen .exercise-vote-panel{gap:9px;min-height:0;margin:2px 0 9px;padding:0;border:0;border-radius:0;background:transparent}body .app .exercise-screen .exercise-vote-question,body .app .exercise-screen .exercise-vote-thanks{font-size:11px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}body .app .exercise-screen .exercise-vote-thumb{width:38px;height:38px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-primary);font-size:17px}body .app .exercise-screen .exercise-vote-thumb:hover:not(:disabled):not(.exercise-vote-thumb-selected){border-color:var(--color-text-primary);background:var(--color-surface)}body .app .exercise-screen .exercise-vote-thumb.exercise-vote-thumb-selected,body .app .exercise-screen .exercise-vote-thumb.exercise-vote-thumb-selected:disabled:hover{border-color:var(--charte-color-fill-coach-border);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}body .app .exercise-screen{--exercise-progress-todo-focus: #45473e}html[data-board-focus=on] body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back,html[data-board-focus=on] body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back>span:last-child,html[data-board-focus=on] body .app .exercise-screen .session-header .session-header-back .exercise-meta,html[data-board-focus=on] body .app .exercise-screen .session-header .session-header-back .exercise-meta-activity{color:var(--charte-color-board-focus-ink)}html[data-board-focus=on] body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-back>span:first-child{color:var(--color-text-primary)}html[data-board-focus=on] body .app :is(.exercise-screen,.mental-challenge-screen) .session-header .session-header-row .session-timer,html[data-board-focus=on] body .app .exercise-screen .exercise-vote-question,html[data-board-focus=on] body .app .exercise-screen .exercise-vote-thanks{color:var(--charte-color-board-focus-muted)}html[data-board-focus=on] body .app .exercise-screen .exercise-start-replay{color:var(--charte-color-board-focus-ink)}html[data-board-focus=on] body .app .exercise-screen .exercise-progress-segment:not(.exercise-progress-segment-done){background:var(--exercise-progress-todo-focus)}body .app .exercise-screen .exercise-feedback-block.exercise-rescue-qcm{min-height:0;margin:0;padding:14px;border:1px solid var(--exercise-rescue-line);border-radius:12px;background:var(--exercise-rescue-bg);color:var(--exercise-rescue-ink)}body .app .exercise-screen .exercise-rescue-qcm .exercise-feedback-body{margin:0 0 11px;font-size:13px;line-height:1.45;color:var(--exercise-rescue-ink)}body .app .exercise-screen .exercise-rescue-qcm .comprehension-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}body .app .exercise-screen .exercise-rescue-qcm .comprehension-choice{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px 4px;border:1px solid var(--exercise-rescue-option-line);border-radius:8px;background:#fff;color:var(--exercise-rescue-ink);font-size:16px;font-weight:var(--font-weight-regular);white-space:nowrap}body .app .exercise-screen .exercise-rescue-qcm .comprehension-choice:hover:not(:disabled){border-color:var(--exercise-rescue-ink);background:#fffbed;opacity:1}body .app .exercise-screen .exercise-illegal-notice{box-sizing:border-box;min-height:36px;margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--color-danger)}body .app .exercise-screen .exercise-illegal-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes exercise-board-shake-a{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}to{transform:translate(0)}}@keyframes exercise-board-shake-b{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}to{transform:translate(0)}}body .app .exercise-screen .exercise-board-wrapper--shake-a{animation:exercise-board-shake-a .22s ease-out}body .app .exercise-screen .exercise-board-wrapper--shake-b{animation:exercise-board-shake-b .22s ease-out}@media (prefers-reduced-motion: reduce){body .app .exercise-screen .exercise-board-wrapper--shake-a,body .app .exercise-screen .exercise-board-wrapper--shake-b{animation:none}}.analysis-screen{--analysis-bubble-ink: #22221f;--analysis-gauge-black: #252727;--analysis-gauge-line: #66716d;--analysis-gauge-white: #f9faf8;--analysis-curve-white: #ffffff;--analysis-gauge-pending-a: #636967;--analysis-gauge-pending-b: #777d7b;--analysis-chip-text: #ffffff;--analysis-chip-bad: #ae3d2f;--analysis-chip-warn: #a96808;--analysis-chip-good: #317345;--analysis-chip-brilliant: #147a86}body .analysis-screen .analysis-topbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:40px}body .analysis-screen .analysis-back-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-primary);font:var(--font-weight-bold) 22px / 1 var(--font-family);cursor:pointer}body .analysis-screen .analysis-back-icon:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:2px}body .analysis-screen .analysis-quit{display:inline-flex;align-items:center;gap:10px;margin:0;padding:0 8px 0 0;border:0;background:none;color:var(--color-text-primary);font:var(--font-weight-bold) 16px / 1.2 var(--font-family);cursor:pointer}body .analysis-screen .analysis-quit:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:2px;border-radius:22px}body .analysis-screen .analysis-title{margin:0;font-size:22px;font-weight:var(--font-weight-bold);letter-spacing:-.6px;text-align:left}body .analysis-screen .analysis-chip{display:inline-grid;place-items:center;flex:none;min-width:22px;height:22px;margin:0;padding:2px 4px;border-radius:5px;color:var(--analysis-chip-text);font-size:12px;font-weight:800;line-height:1;vertical-align:baseline}body .analysis-screen .analysis-chip--blunder,body .analysis-screen .analysis-chip--mistake{background:var(--analysis-chip-bad)}body .analysis-screen .analysis-chip--inaccuracy{background:var(--analysis-chip-warn)}body .analysis-screen .analysis-chip--good{background:var(--analysis-chip-good)}body .analysis-screen .analysis-chip--brilliant{background:var(--analysis-chip-brilliant)}body .analysis-screen .analysis-move .analysis-chip{min-width:17px;height:18px;margin:0 0 0 3px;padding:1px 3px;font-size:10px}body .analysis-screen .analysis-board{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:stretch}body .analysis-screen .analysis-board-main{min-width:0}body .analysis-screen .analysis-gauge-slot{position:relative;min-height:0}body .analysis-screen .analysis-gauge{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;overflow:hidden;border:1px solid var(--analysis-gauge-line);border-radius:5px;background:var(--analysis-gauge-black)}body .analysis-screen .analysis-gauge--pending{background:repeating-linear-gradient(135deg,var(--analysis-gauge-pending-a) 0 5px,var(--analysis-gauge-pending-b) 5px 10px)}body .analysis-screen .analysis-gauge-white{position:absolute;left:0;right:0;display:block;background:var(--analysis-gauge-white);transition:height .3s ease}body .analysis-screen .analysis-gauge-label{position:absolute;left:-2px;right:-2px;z-index:1;transform:none;color:var(--analysis-chip-text);font:700 9px/1.2 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.3px;text-align:center;white-space:nowrap}body .analysis-screen .analysis-gauge-label--bottom{top:auto;bottom:5px}body .analysis-screen .analysis-gauge-label--top{top:5px;bottom:auto}body .analysis-screen .analysis-gauge-label--on-white{color:var(--analysis-bubble-ink)}body .analysis-screen .analysis-moves{gap:5px;min-height:44px;padding:9px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}body .analysis-screen .analysis-move{display:inline-flex;align-items:center;gap:3px;min-height:0;padding:5px;border-radius:5px;background:transparent;font-size:13px;font-variant-numeric:tabular-nums}body .analysis-screen .analysis-move--current,body .analysis-screen .analysis-move--current:hover{background:var(--charte-color-accent);color:var(--analysis-bubble-ink)}body .analysis-screen .analysis-move--current .analysis-move-number{color:var(--analysis-bubble-ink)}body .analysis-screen .analysis-curve{border:1px solid var(--analysis-gauge-line);border-radius:8px}body .analysis-screen .analysis-curve-bg{fill:var(--analysis-gauge-black)}body .analysis-screen .analysis-curve-white{fill:var(--analysis-curve-white)}body .analysis-screen .analysis-curve-mid{stroke:var(--analysis-gauge-line)}body .analysis-screen .analysis-nav{display:flex;gap:8px}body .analysis-screen .analysis-nav-button{display:grid;place-items:center;flex:1;height:42px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary)}body .analysis-screen .analysis-nav-button:disabled{opacity:.3}body .analysis-screen .analysis-nav-button--reference{border-color:var(--color-text-primary)}body .analysis-screen .analysis-close{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 16px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}body .analysis-screen .analysis-close:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .analysis-screen .analysis-close:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}:root[data-theme=dark] body .analysis-screen .analysis-close{border-color:var(--charte-color-accent);box-shadow:0 5px #b49a31}:root[data-theme=dark] body .analysis-screen .analysis-close:active{box-shadow:0 2px #b49a31}@media (prefers-reduced-motion: reduce){body .analysis-screen .analysis-gauge-white,body .analysis-screen .analysis-close{transition:none}body .analysis-screen .analysis-close:active{transform:none}}body .analysis-screen .analysis-curve-frame{position:relative}body .analysis-screen .analysis-curve-mark{position:absolute;width:10px;height:10px;border:1.5px solid var(--analysis-chip-text);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}body .analysis-screen .analysis-curve-mark--blunder,body .analysis-screen .analysis-curve-mark--mistake{background:var(--analysis-chip-bad)}body .analysis-screen .analysis-curve-mark--good{background:var(--analysis-chip-good)}body .analysis-screen .analysis-curve-mark--brilliant{background:var(--analysis-chip-brilliant)}body .app .mental-challenge-screen{--mental-card: #eeeee7;--mental-correct-border: #408259;--mental-correct-bg: #eff7ef;--mental-correct-ink: #225d37;--mental-wrong-border: #bd6758;--mental-wrong-bg: #fbefeb;--mental-wrong-ink: #973d30;--mental-hover-bg: rgba(255, 214, 0, .07);--mental-bubble-bg: #ffffff;--mental-bubble-ink: #22221f;--mental-bubble-text: #53544d;--mental-bubble-good: #47845d;--mental-bubble-retry: #b7664f;--mental-halo-retry: #e75b4c;width:100%;max-width:620px;margin-inline:auto;gap:0}:root[data-theme=dark] body .app .mental-challenge-screen{--mental-card: #292b26;--mental-correct-border: #629f75;--mental-correct-bg: #263d2e;--mental-correct-ink: #b7e8c4;--mental-wrong-border: #c8806c;--mental-wrong-bg: #432d28;--mental-wrong-ink: #ffc1b0}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) body .app .mental-challenge-screen{--mental-card: #292b26;--mental-correct-border: #629f75;--mental-correct-bg: #263d2e;--mental-correct-ink: #b7e8c4;--mental-wrong-border: #c8806c;--mental-wrong-bg: #432d28;--mental-wrong-ink: #ffc1b0}}body .app .mental-challenge-screen .mental-challenge-coach-card{display:flex;align-items:center;gap:13px;margin:20px 0 30px;padding:0;border:0;border-radius:0;background:transparent}body .app .mental-challenge-screen .mental-challenge-coach-card .exercise-coach-card-avatar{position:relative;isolation:isolate;flex:0 0 64px;width:64px;height:64px;padding:0;border-radius:50%;background:transparent;align-self:center}body .app .mental-challenge-screen .mental-challenge-coach-card .exercise-coach-card-avatar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:50%;background:var(--charte-color-accent);transition:background-color .25s ease}body .app .mental-challenge-screen .mental-challenge-coach-card[data-outcome=retry] .exercise-coach-card-avatar:before{background:var(--mental-halo-retry)}body .app .mental-challenge-screen .mental-challenge-coach-card .exercise-coach-card-avatar .coach-avatar{width:100%;height:100%}body .app .mental-challenge-screen .mental-challenge-coach-card .mental-challenge-coach-text{display:block;flex:1;min-width:0;min-height:90px;margin:0;padding:18px;border:1.5px solid var(--mental-bubble-ink);border-radius:17px 17px 17px 3px;background:var(--mental-bubble-bg);color:var(--mental-bubble-text);font-size:16px;font-weight:var(--font-weight-regular);line-height:1.55;letter-spacing:0;scroll-margin-top:20px;overflow-wrap:anywhere}body .app .mental-challenge-screen .mental-challenge-coach-card[data-outcome=good] .mental-challenge-coach-text{border-color:var(--mental-bubble-good)}body .app .mental-challenge-screen .mental-challenge-coach-card[data-outcome=retry] .mental-challenge-coach-text{border-color:var(--mental-bubble-retry)}body .app .mental-challenge-screen .knowledge-mental-challenge{display:flex;flex-direction:column;margin-bottom:20px}body .app .mental-challenge-screen .knowledge-tag{align-self:flex-start;display:block;margin:0 0 12px;padding:0;border-radius:0;background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-regular);letter-spacing:.2px;transition:color 1.8s ease-in-out .15s}html[data-board-focus=on] body .app .mental-challenge-screen .knowledge-tag{color:var(--charte-color-board-focus-muted)}body .app .mental-challenge-screen .knowledge-question{margin:0 0 20px;font-size:27px;line-height:1.3;letter-spacing:-.6px;text-wrap:balance;transition:color 1.8s ease-in-out .15s}body .app .mental-challenge-screen .knowledge-context{margin:0 0 20px;padding:18px 20px;background:var(--mental-card);border:1px solid var(--color-border);border-radius:12px}body .app .mental-challenge-screen .knowledge-context .context-detail{margin:0;font-size:13px;line-height:1.65;color:var(--color-text-secondary)}body .app .mental-challenge-screen .knowledge-context .sequence{margin:0;color:var(--color-text-primary);font-size:19px;font-weight:600;line-height:1.85;font-variant-numeric:tabular-nums;word-spacing:3px;overflow-wrap:anywhere}body .app .mental-challenge-screen .knowledge-context .context-detail+.sequence{margin-top:9px}body .app .mental-challenge-screen .knowledge-options{display:grid;gap:10px}body .app .mental-challenge-screen .knowledge-option{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:13px;align-items:center;width:100%;min-height:66px;padding:15px 18px;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);font-size:16px;font-weight:var(--font-weight-regular);line-height:1.5;text-align:left;transition:border-color .15s,background-color .15s}body .app .mental-challenge-screen .knowledge-option:not(:disabled):hover{border-color:var(--charte-color-ink);background:var(--mental-hover-bg)}body .app .mental-challenge-screen .knowledge-option:disabled{cursor:default;opacity:1}body .app .mental-challenge-screen .knowledge-option .answer-letter{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--color-border);border-radius:50%;background:transparent;color:var(--color-text-secondary);font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace}body .app .mental-challenge-screen .knowledge-option .answer-copy{min-width:0;font-size:16px;line-height:1.5}body .app .mental-challenge-screen .knowledge-option .answer-status{font-size:11px;font-weight:700;white-space:nowrap}body .app .mental-challenge-screen .knowledge-option--correct,body .app .mental-challenge-screen .knowledge-option--correct:disabled{border-color:var(--mental-correct-border);background:var(--mental-correct-bg);color:var(--mental-correct-ink)}body .app .mental-challenge-screen .knowledge-option--correct .answer-letter{border-color:var(--mental-correct-border);background:transparent;color:var(--mental-correct-ink)}body .app .mental-challenge-screen .knowledge-option--chosen-wrong,body .app .mental-challenge-screen .knowledge-option--chosen-wrong:disabled{border-color:var(--mental-wrong-border);background:var(--mental-wrong-bg);color:var(--mental-wrong-ink)}body .app .mental-challenge-screen .knowledge-option--chosen-wrong .answer-letter{border-color:var(--mental-wrong-border);background:transparent;color:var(--mental-wrong-ink)}body .app .mental-challenge-screen .knowledge-option--locked,body .app .mental-challenge-screen .knowledge-option--locked:disabled{color:var(--color-text-secondary)}body .app .mental-challenge-screen .memory-start{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0 0 5px;padding:15px 18px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 15px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}body .app .mental-challenge-screen .memory-start:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}body .app .mental-challenge-screen .memory-start:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .app .mental-challenge-screen .memory-start:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}@media (max-width: 767.98px){body .app .mental-challenge-screen .mental-challenge-coach-card{gap:12px;margin:10px 0 23px}body .app .mental-challenge-screen .mental-challenge-coach-card .exercise-coach-card-avatar{flex-basis:48px;width:48px;height:48px}body .app .mental-challenge-screen .mental-challenge-coach-card .mental-challenge-coach-text{min-height:82px;padding:12px 15px;border-radius:14px 14px 14px 3px;font-size:14px;line-height:1.5}body .app .mental-challenge-screen .knowledge-mental-challenge{margin-bottom:16px}body .app .mental-challenge-screen .knowledge-tag{margin-bottom:10px;font-size:11px}body .app .mental-challenge-screen .knowledge-question{margin-bottom:17px;font-size:23px}body .app .mental-challenge-screen .knowledge-context{margin-bottom:16px;padding:15px 16px}body .app .mental-challenge-screen .knowledge-context .sequence{font-size:17px;line-height:1.8;word-spacing:1px}body .app .mental-challenge-screen .knowledge-option{grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:62px;padding:13px 14px}body .app .mental-challenge-screen .knowledge-option .answer-copy{font-size:15px}body .app .mental-challenge-screen .knowledge-option .answer-status{grid-column:2;margin-top:-5px}}@media (prefers-reduced-motion: reduce){body .app .mental-challenge-screen .knowledge-option,body .app .mental-challenge-screen .memory-start,body .app .mental-challenge-screen .knowledge-tag,body .app .mental-challenge-screen .knowledge-question,body .app .mental-challenge-screen .mental-challenge-coach-card .exercise-coach-card-avatar:before{transition:none}}.dojo-activities{display:grid;gap:var(--charte-space-14)}.dojo-activity{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text-primary)}.dojo-activity-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 0 var(--charte-space-14);border-radius:var(--charte-radius-icon-tile);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:25px}.dojo-activity h2{margin:0 0 10px;font-size:19px;line-height:var(--charte-line-height-h2);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h2)}.dojo-activity p{margin:0 0 15px;max-width:390px;font-size:var(--font-size-small);line-height:var(--line-height-body);color:var(--color-text-secondary)}.dojo-activity-action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);width:100%;min-height:38px;margin-top:auto;padding:13px 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent;color:inherit;font:var(--font-weight-semibold) var(--charte-font-size-button) var(--font-family);text-align:left;text-decoration:none;box-shadow:none;cursor:pointer}.dojo-activity-action:hover{background:transparent;text-decoration:underline}.dojo-activity-action:disabled{opacity:.5;cursor:default;text-decoration:none}.dojo-activity-feature{background:var(--charte-color-fill-feature);border-color:var(--charte-color-fill-feature-border);color:var(--charte-color-fill-feature-text)}.dojo-activity-feature p{color:var(--charte-color-fill-feature-muted)}.dojo-activity-feature .dojo-activity-icon{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.dojo-activity-feature .dojo-activity-action{border-top-color:var(--charte-color-fill-feature-border)}.dojo-activity-coach .coach-avatar{width:31px;height:38px}.dojo-activity-coach .dojo-activity-icon{background:var(--color-coach-avatar-tile)}.dojo-activity p.dojo-activity-openings-due{position:absolute;top:27px;right:22px;margin:0;padding:5px 9px;border-radius:var(--charte-radius-tag);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap}.dojo-activity p.dojo-activity-study-waiting:last-child{margin:0}.dojo-activity-action+.dojo-activity-action{margin-top:0}@media (min-width:768px){.dojo-activity{min-height:245px;padding:28px 30px 22px}.dojo-activity-icon{width:54px;height:54px;margin-bottom:21px}.dojo-activity h2{font-size:22px}.dojo-activity p{margin-bottom:24px;font-size:13px}.dojo-activity-action{min-height:44px;padding-top:16px}.dojo-activity p.dojo-activity-openings-due{top:31px;right:26px}}.learning-card-priority{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border:1px solid var(--color-accent);border-radius:9px;background:var(--color-surface)}.learning-card-priority-label{font-size:var(--font-size-caption);font-weight:700;color:var(--color-text-primary)}.learning-card-priority-reason{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.learning-card-details{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.opening-family-progress{margin:var(--space-8) 0 0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.opening-family-priority{display:flex;flex-direction:column;gap:2px;margin:var(--space-8) 0 0;padding:6px 10px;border:1px solid var(--color-accent);border-radius:9px;background:var(--color-surface)}.opening-family-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.opening-action{min-height:44px;padding:10px 12px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-background);color:var(--color-text-primary);font:600 14px var(--font-family);cursor:pointer}.opening-action-learn{border-color:var(--color-accent)}.opening-action:disabled{opacity:.5;cursor:default}.training-review-end{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);text-align:center}.dojo-activity-feature.dojo-activity-announce{box-shadow:0 0 0 2px var(--charte-color-fill-coach-border)}.dojo-activity p.dojo-activity-notice{max-width:none;margin:0 0 15px;padding:var(--space-16) var(--charte-space-20);border-radius:var(--charte-radius-notice);font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.dojo-activity p.dojo-activity-notice-ready{background:var(--charte-color-fill-success-soft);color:var(--charte-color-fill-success-soft-text)}@media (min-width:768px){.dojo-activity p.dojo-activity-notice{margin-bottom:24px}}.dojo-activity-account{align-self:flex-start;min-height:44px;margin:0 0 var(--space-8);padding:0;border:0;background:transparent;color:var(--charte-color-fill-feature-text);font:var(--font-weight-semibold) var(--charte-font-size-button) var(--font-family);text-decoration:underline;cursor:pointer}.dojo-activity p.dojo-session-card-label{margin:0 0 6px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--charte-color-fill-feature-muted)}.dojo-activity p.dojo-session-card-reason{margin-bottom:6px}.dojo-activity p.dojo-session-card-duration{margin-bottom:15px;font-weight:var(--font-weight-semibold);color:var(--charte-color-fill-feature-text)}.dojo-session-card-actions{display:flex;align-items:center;gap:var(--space-12);margin-top:auto;padding-top:13px;border-top:1px solid var(--charte-color-fill-feature-border)}.dojo-session-card-actions .dojo-activity-action{flex:1;margin-top:0;padding-top:0;border-top:0}.dojo-session-card-change{min-height:38px;padding:0 var(--space-16);border:1px solid var(--charte-color-fill-feature-border);border-radius:var(--charte-radius-tag);background:transparent;color:var(--charte-color-fill-feature-text);font:var(--font-weight-semibold) var(--charte-font-size-button) var(--font-family);cursor:pointer}.dojo-session-card-change:hover{text-decoration:underline}.dojo-v1{--dojo-bubble-bg: #ffffff;--dojo-bubble-ink: #22221f;--dojo-bubble-text: #53544d;gap:0}body .app .dojo-v1 .dojo-welcome{display:grid;grid-template-columns:minmax(0,1fr) 91px;grid-template-rows:auto auto;gap:0 17px;align-items:center;margin:0 0 35px}body .app .dojo-v1 .dojo-speech{position:relative;grid-column:1;grid-row:1;padding:20px 19px;border:1.5px solid var(--dojo-bubble-ink);border-radius:18px;background:var(--dojo-bubble-bg);color:var(--dojo-bubble-ink);box-shadow:0 4px #22221f08}body .app .dojo-v1 .dojo-speech:before{content:"";position:absolute;right:-8px;bottom:48px;width:14px;height:14px;background:var(--dojo-bubble-bg);border-top:1.5px solid var(--dojo-bubble-ink);border-right:1.5px solid var(--dojo-bubble-ink);transform:rotate(45deg)}body .app .dojo-v1 .dashboard-greeting{margin:0 0 10px;font-family:var(--font-family);font-size:25px;line-height:1.2;letter-spacing:-.8px;font-weight:var(--font-weight-bold);color:var(--dojo-bubble-ink)}body .app .dojo-v1 .dojo-wave{display:inline-block;font-size:21px;transform:rotate(-12deg)}body .app .dojo-v1 .dojo-brief{margin:0;max-width:510px;font-size:15px;line-height:1.6;font-weight:var(--font-weight-regular);color:var(--dojo-bubble-text)}body .app .dojo-v1 .dashboard-games-count-number,body .app .dojo-v1 .dashboard-cold-landing-number{font-size:inherit;font-weight:var(--font-weight-bold);color:var(--dojo-bubble-ink);font-variant-numeric:tabular-nums}body .app .dojo-v1 .dojo-portrait{position:relative;grid-column:2;grid-row:1;align-self:center;height:117px;isolation:isolate}body .app .dojo-v1 .dojo-halo{position:absolute;top:1px;left:50%;width:95px;height:95px;border-radius:50%;background:var(--charte-color-accent);transform:translate(-50%);z-index:0}body .app .dojo-v1 .coach-portrait-image{position:relative;display:block;width:100%;height:100%;transform:scaleX(-1);z-index:1}body .app .dojo-v1 .dojo-session-actions{grid-column:1 / -1;grid-row:2;margin-top:20px}body .app .dojo-v1 .dojo-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:17px 21px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 16px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}body .app .dojo-v1 .dojo-primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}body .app .dojo-v1 .dojo-primary:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .app .dojo-v1 .dojo-primary:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}body .app .dojo-v1 .dojo-session-note{margin:12px 0 0;font-size:var(--font-size-small);line-height:var(--line-height-body);color:var(--color-text-secondary)}body .app .dojo-v1 .dojo-activity-account{display:inline;min-height:0;margin:0;color:var(--color-text-primary)}body .app .dojo-v1 p.dojo-activity-notice{margin:12px 0 0}body .app .dojo-v1 .dojo-alternatives{margin:0}body .app .dojo-v1 .dojo-section-head{display:flex;align-items:center;gap:22px;margin:0 0 5px}body .app .dojo-v1 .dojo-section-head h2{margin:0;font-family:var(--font-family);font-size:25px;font-weight:var(--font-weight-bold);letter-spacing:-.8px;white-space:nowrap;color:var(--color-text-primary)}body .app .dojo-v1 .dojo-section-head h2 span{color:var(--charte-color-accent)}body .app .dojo-v1 .dojo-head-line{width:100%;height:1px;background:var(--color-border)}body .app .dojo-v1 .dojo-activities{display:grid;grid-template-columns:minmax(0,1fr);gap:0}body .app .dojo-v1 .dojo-activity{position:static;display:block;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--color-text-primary)}body .app .dojo-v1 .dojo-activity-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:21px;width:100%;min-height:44px;padding:22px 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background .18s,box-shadow .18s}body .app .dojo-v1 .dojo-activity-row:hover,body .app .dojo-v1 .dojo-activity-row:focus-visible{background:#ffd60012;box-shadow:-10px 0 #ffd60012,10px 0 #ffd60012;outline:none;text-decoration:none}body .app .dojo-v1 .dojo-activity-row:active{background:#ffd60026}body .app .dojo-v1 .dojo-activity-row:disabled{cursor:default;opacity:.5}body .app .dojo-v1 .dojo-activity-picto{width:43px;height:46px;color:var(--color-text-primary)}body .app .dojo-v1 .dojo-activity-text{display:block;min-width:0}body .app .dojo-v1 .dojo-activity h2{margin:0 0 5px;font-size:17px;line-height:1.3;letter-spacing:-.35px;font-weight:var(--font-weight-bold)}body .app .dojo-v1 .dojo-activity p{margin:0;max-width:none;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}body .app .dojo-v1 .dojo-activity-openings-due,body .app .dojo-v1 .play-challenge-badge{position:static;justify-self:end;margin:0;padding:5px 9px;border-radius:var(--charte-radius-tag);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap}body .app .dojo-v1 .dojo-activity-coach .dojo-activity-icon{width:43px;height:46px;margin:0;font-size:0}@media (max-width: 400px){body .app .dojo-v1 .dojo-welcome{grid-template-columns:minmax(0,1fr) 73px;gap:0 15px}body .app .dojo-v1 .dojo-speech{padding:18px 16px}body .app .dojo-v1 .dashboard-greeting{font-size:23px}body .app .dojo-v1 .dojo-brief{font-size:14px}body .app .dojo-v1 .dojo-portrait{height:99px}body .app .dojo-v1 .dojo-halo{width:80px;height:80px}body .app .dojo-v1 .dojo-wave{font-size:18px}body .app .dojo-v1 .dojo-activity-row{gap:15px}body .app .dojo-v1 .dojo-activity h2{font-size:16px}}@media (min-width: 768px){body .app .dojo-v1 .dojo-welcome{grid-template-columns:minmax(0,1fr) 165px;gap:0 30px;margin-bottom:43px}body .app .dojo-v1 .dojo-speech{padding:25px 29px;border-radius:21px}body .app .dojo-v1 .dojo-speech:before{right:-10px;bottom:40px;width:18px;height:18px}body .app .dojo-v1 .dashboard-greeting{margin-bottom:11px;font-size:31px;letter-spacing:-1.25px}body .app .dojo-v1 .dojo-wave{font-size:28px}body .app .dojo-v1 .dojo-brief{font-size:17px}body .app .dojo-v1 .dojo-portrait{height:174px}body .app .dojo-v1 .dojo-halo{top:5px;width:148px;height:148px}body .app .dojo-v1 .dojo-session-actions{grid-column:1;max-width:530px}body .app .dojo-v1 .dojo-primary{padding:17px 22px;font-size:17px}body .app .dojo-v1 .dojo-section-head{gap:28px;margin-bottom:12px}body .app .dojo-v1 .dojo-section-head h2{font-size:28px}body .app .dojo-v1 .dojo-activities{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:49px}body .app .dojo-v1 .dojo-activity-row{grid-template-columns:52px minmax(0,1fr) auto;gap:19px;padding:27px 0}body .app .dojo-v1 .dojo-activity-picto,body .app .dojo-v1 .dojo-activity-coach .dojo-activity-icon{width:48px;height:48px}body .app .dojo-v1 .dojo-activity h2{margin-bottom:8px}.app-desktop .dojo-v1 .dojo-welcome,.app-desktop .dojo-v1 .coach-learning-card,.app-desktop .dojo-v1 .dojo-alternatives{grid-column:1 / -1}}:root[data-theme=dark] body .app .dojo-v1 .dojo-primary{border-color:var(--charte-color-accent);box-shadow:0 5px #b49a31}:root[data-theme=dark] body .app .dojo-v1 .dojo-primary:hover{box-shadow:0 7px #b49a31}:root[data-theme=dark] body .app .dojo-v1 .dojo-primary:active{box-shadow:0 2px #b49a31}@media (prefers-reduced-motion: reduce){body .app .dojo-v1 .dojo-primary,body .app .dojo-v1 .dojo-activity-row{transition:none}body .app .dojo-v1 .dojo-primary:hover,body .app .dojo-v1 .dojo-primary:active{transform:none}}body .app .dojo-v1 .dojo-place-race{display:flex;flex-direction:column;gap:6px;width:100%;max-width:260px;margin-top:8px;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}body .app .dojo-v1 .dojo-place-lane{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:center;font-size:12px;color:var(--dojo-bubble-text)}body .app .dojo-v1 .dojo-place-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .app .dojo-v1 .dojo-place-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--dojo-bubble-text) 18%,transparent);overflow:hidden}body .app .dojo-v1 .dojo-place-fill{display:block;height:100%;border-radius:999px}body .app .dojo-v1 .dojo-place-fill-me{background:var(--dojo-bubble-ink);width:var(--place-me);animation:dojo-place-run 1.8s ease-out both}body .app .dojo-v1 .dojo-place-fill-friend{background:var(--dojo-bubble-text);width:var(--place-friend)}@keyframes dojo-place-run{0%{width:calc(var(--place-friend) - 12%)}to{width:var(--place-me)}}@media (prefers-reduced-motion: reduce){body .app .dojo-v1 .dojo-place-fill-me{animation:none}}.session-theme-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-12) var(--space-12) calc(env(safe-area-inset-bottom,0px) + var(--space-48));background:#00000073}.session-theme-sheet{position:relative;width:100%;max-width:480px;max-height:calc(100dvh - var(--space-48) - var(--space-48));overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-24) var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-background);color:var(--color-text-primary);box-shadow:var(--shadow-lg);outline:none;animation:sheet-up .32s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion: reduce){.session-theme-sheet{animation:none}}.session-theme-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:var(--space-12)}.session-theme-heading-text{min-width:0}.session-theme-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-primary);font-size:22px;line-height:1;cursor:pointer}.session-theme-close:hover{background:var(--color-border)}.session-theme-title{margin:0;font-family:var(--font-family-display);font-size:23px;letter-spacing:-.6px;line-height:1.2}.session-theme-duration{margin:5px 0 0;font-size:12px;color:var(--color-text-secondary)}.session-theme-question{margin:5px 0 20px;font-size:15px;color:var(--color-text-secondary)}.session-theme-options{display:grid;gap:11px;margin:0;padding:0;list-style:none}.session-theme-option{display:grid;grid-template-columns:32px minmax(0,1fr) 21px;align-items:center;gap:13px;width:100%;min-height:56px;padding:14px;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.session-theme-option-icon{width:32px;height:39px;color:var(--color-text-primary)}.session-theme-option-text{display:grid;gap:4px;min-width:0}.session-theme-option-mark{width:21px;height:21px;border:1.5px solid var(--color-border);border-radius:50%;background:var(--color-background)}.session-theme-option-current{border-color:var(--charte-color-ink);background:#ffd60013;box-shadow:inset 0 0 0 .5px var(--charte-color-ink)}.session-theme-option-current .session-theme-option-mark{border-color:var(--charte-color-ink);background:var(--charte-color-ink);box-shadow:inset 0 0 0 5px var(--charte-color-accent)}.session-theme-option:disabled{cursor:default;opacity:.55}.session-theme-option:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:3px}.session-theme-option-title{font-weight:var(--font-weight-bold);font-size:14px}.session-theme-option-detail{font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.session-theme-start{display:flex;align-items:center;justify-content:center;width:100%;margin:24px 0 6px;padding:17px 21px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 16px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}.session-theme-start:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}.session-theme-start:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}@media (prefers-reduced-motion: reduce){.session-theme-start,.session-theme-start:hover,.session-theme-start:active{transition:none;transform:none}}.coach-library-shell{padding-left:23px;padding-right:23px}.coach-sessions-page .coach-sessions-back{border:0;background:none;color:var(--color-text-secondary);padding:var(--space-4) 0;min-height:30px;margin-bottom:var(--space-24);cursor:pointer;font:inherit;font-size:var(--charte-font-size-button);font-weight:var(--font-weight-regular)}.coach-sessions-page .coach-sessions-back:hover{background:none;text-decoration:underline}.coach-library-heading{margin:0 0 34px}.coach-library-heading>.coach-avatar{background:none;border-radius:0;width:40px;height:40px;padding:0}.coach-library-heading h1{font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);line-height:var(--charte-line-height-h1);letter-spacing:var(--charte-letter-spacing-h1);margin:12px 0 10px;color:var(--color-text-primary)}.coach-library-heading p{font-size:var(--font-size-body);line-height:var(--charte-line-height-prose);color:var(--color-text-secondary);max-width:630px}.coach-prepare-button{width:auto;min-height:var(--tap-target-min);border:1px solid var(--charte-color-fill-action);border-radius:var(--radius-button);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-semibold) var(--charte-font-size-button)/1.4 var(--font-family);padding:var(--charte-space-button-y) var(--charte-space-button-x);cursor:pointer;margin-bottom:26px}.coach-preparation button:disabled{opacity:.5;cursor:default}.coach-preparation ul{padding:0;list-style:none;margin:0 0 var(--space-24)}.coach-preparation ul li{margin-top:var(--space-12);padding:var(--space-16) var(--charte-space-20);border-radius:var(--charte-radius-notice);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:var(--font-size-small);line-height:var(--charte-line-height-prose)}.coach-preparation ul time{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.coach-preparation>[role=status]{margin:0 0 var(--space-24);padding:var(--space-16) var(--charte-space-20);border-radius:var(--charte-radius-notice);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:var(--font-size-small);line-height:var(--charte-line-height-prose)}.coach-preparation [role=alert]{margin-block:var(--space-16);padding:var(--space-16) var(--charte-space-20);border-radius:var(--charte-radius-notice);background:var(--color-danger-quiet);color:var(--color-danger);font-size:var(--font-size-small);line-height:var(--charte-line-height-prose)}.coach-library-title{margin:26px 0 16px}.coach-library-title h2{font-size:var(--font-size-h2);letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2);margin:0}.coach-library-empty{font-size:var(--font-size-small);margin:0 0 var(--charte-space-20);color:var(--color-text-secondary)}.coach-sessions-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}.coach-session-card{position:relative;display:flex;flex-direction:column;min-height:235px;border:1px solid var(--color-border);border-radius:var(--charte-radius-icon-tile);background:var(--color-surface);padding:18px;text-decoration:none;color:inherit;transition:border-color var(--duration-fast) var(--easing-standard)}.coach-session-card:hover{border-color:var(--color-text-primary);transform:none;box-shadow:none}.coach-session-card time{font-size:9px;color:var(--color-text-secondary);padding-right:var(--space-32)}.coach-session-card>.coach-avatar{width:35px;height:35px;margin:18px 0 0;background:none;border-radius:0;padding:0}.coach-session-card h2{font-size:15px;line-height:1.5;letter-spacing:0;font-weight:var(--font-weight-bold);margin:14px 0;overflow-wrap:anywhere}.coach-session-open{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);min-height:var(--tap-target-min);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold);margin-top:auto;color:var(--color-text-primary)}.coach-session-completed{position:absolute;top:16px;right:14px;display:inline-flex;align-items:center;padding:5px 9px;border-radius:var(--charte-radius-tag);background:var(--charte-color-fill-success-soft);color:var(--charte-color-fill-success-soft-text);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-semibold);line-height:1.4}.coach-session-add,.coach-session-decoration{width:100%;height:100%;min-height:235px;border:1px dashed var(--color-border);border-radius:var(--charte-radius-icon-tile);background:var(--charte-color-surface-soft);display:grid;place-items:center;padding:0}.coach-session-add{cursor:pointer;color:var(--color-text-primary)}.coach-session-add:hover{background:var(--charte-color-surface-soft);border-color:var(--color-text-primary)}.coach-session-add span{display:grid;place-items:center;font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);width:var(--tap-target-min);height:var(--tap-target-min);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface)}.coach-session-decoration{opacity:.45}.coach-sessions-page>[role=alert],.coach-sessions-page>p:not([role=status]){text-align:center;padding:var(--space-64) var(--space-24);border:1px dashed var(--color-border);border-radius:var(--radius-card);color:var(--color-text-secondary);max-width:none;margin:0 0 var(--space-24)}.coach-sessions-page>[role=alert] p{color:var(--color-text-primary);font-size:var(--font-size-body);margin:0 auto var(--charte-space-20);max-width:500px}.coach-sessions-page>[role=status]{color:var(--color-text-secondary);font-size:var(--font-size-small)}@media (max-width:350px){.coach-library-shell{padding-left:16px;padding-right:16px}.coach-session-card{padding:16px 12px}}.variant-preview{--variant-preview-wood: #1d120c;--variant-preview-wood-grain: rgb(75 45 25 / .1);--variant-preview-frame: #0f0a07;--variant-preview-frame-line: #693d1f;--variant-preview-square-dark: #4c2b19;--variant-preview-square-light: #744626;--variant-preview-halo: 255 145 42;--variant-preview-vignette: 0 0 0;--variant-preview-piece-shadow: rgb(0 0 0 / .5);--variant-preview-light: 255 145 42;position:relative;display:grid;place-items:center;width:min(100%,320px);aspect-ratio:1 / 1;margin:0 auto;overflow:hidden;border-radius:var(--radius-card);background-color:var(--variant-preview-wood);background-image:repeating-linear-gradient(93deg,var(--variant-preview-wood-grain) 0 1px,transparent 1px 11px)}.variant-preview:before,.variant-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.variant-preview:before{background:radial-gradient(ellipse at 50% 38%,rgb(var(--variant-preview-light) / .14) 0%,transparent 62%)}.variant-preview:after{background:radial-gradient(ellipse at 50% 50%,transparent 52%,rgb(var(--variant-preview-vignette) / .45) 78%,rgb(var(--variant-preview-vignette) / .82) 100%)}.variant-preview-board{width:78%;opacity:1;transition:opacity .25s ease-in-out}.variant-preview-board-faded{opacity:0}.variant-preview .board-frame{padding:2px;background:var(--variant-preview-frame);border:2px solid var(--variant-preview-frame-line);border-radius:7px;box-shadow:none}.variant-preview .board-wrap{width:100%}.variant-preview .board-coords{display:none}.variant-preview .board-cg .cm-chessboard .board .square.white{fill:var(--variant-preview-square-light)}.variant-preview .board-cg .cm-chessboard .board .square.black{fill:var(--variant-preview-square-dark)}.variant-preview .board-cg .cm-chessboard .pieces>g{filter:drop-shadow(0 2px 1.5px var(--variant-preview-piece-shadow))}.variant-preview .board-mark.board-mark-last-move{display:none}.variant-preview .board-mark.board-mark-last-move-halo{display:inline}.variant-preview .board-halo-stop-0{stop-color:rgb(var(--variant-preview-halo) / .55)}.variant-preview .board-halo-stop-1{stop-color:rgb(var(--variant-preview-halo) / .3)}.variant-preview .board-halo-stop-2{stop-color:transparent}.variant-preview .board-mark.board-mark-check{display:none}.opening-library-screen{gap:0}.opening-filters{display:flex;flex-wrap:wrap;gap:var(--space-8);margin:var(--space-4) 0 var(--charte-space-20)}.opening-filter{display:inline-flex;align-items:center;gap:var(--charte-space-6);min-height:var(--tap-target-min);padding:var(--space-8) var(--charte-space-14);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);background:var(--color-background);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill)}.opening-filter:hover{background:var(--color-surface)}.opening-filter-active,.opening-filter-active:hover{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.opening-library-empty{margin:0;padding:var(--space-48) 0;text-align:center;font-size:var(--font-size-small);color:var(--color-text-secondary)}.opening-library-screen .opening-family-list{gap:0;border-top:1px solid var(--color-border)}.opening-library-screen .opening-family-list>li{border-bottom:1px solid var(--color-border)}.opening-row{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;gap:var(--space-12);width:100%;min-height:var(--tap-target-min);padding:var(--charte-space-20) 0;text-align:left;background:transparent;color:var(--color-text-primary);border:none;border-radius:0}.opening-row:hover{background:transparent}.opening-row:hover .opening-row-name{text-decoration:underline;text-underline-offset:4px}.opening-row-body{display:flex;flex-direction:column;min-width:0}.opening-row-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading)}.opening-row-desc{margin:5px 0 10px;font-size:var(--font-size-caption);line-height:var(--line-height-caption);color:var(--color-text-secondary)}.opening-row-progress{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-8);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.opening-row-priority,.opening-course-screen .opening-family-priority{display:flex;flex-direction:column;gap:2px;margin:var(--space-8) 0 0;padding:6px 10px;border:1px solid var(--color-accent);border-radius:9px;background:var(--color-surface)}.opening-row-chevron{align-self:center;font-size:1.25rem;line-height:1;color:var(--color-text-secondary)}.opening-course-screen{gap:0}.opening-kicker{margin:0;font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary)}.opening-course-intro{padding:var(--charte-space-20) 0 0}.opening-course-title{margin:var(--space-8) 0 var(--space-12);font-size:clamp(1.75rem,8vw,1.9375rem);font-weight:var(--font-weight-black);line-height:1.12;letter-spacing:-.03em}.opening-course-desc{margin:0;font-size:var(--font-size-small);line-height:1.6;color:var(--color-text-secondary)}.opening-course-progress{margin:15px 0 0;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.opening-course-meta{list-style:none;display:flex;flex-direction:column;gap:2px;margin:var(--space-4) 0 0;padding:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.opening-course-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:var(--charte-space-20) 0 var(--space-8);font-size:var(--font-size-small);border-radius:var(--radius-button)}.opening-section-bar{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-12);margin:30px 0 var(--space-12)}.opening-section-title{margin:0;font-size:var(--charte-font-size-20);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.opening-section-count{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.opening-chapters{display:flex;flex-direction:column}.opening-chapter{border-top:1px solid var(--color-border)}.opening-chapter-heading{margin:0;font-size:inherit;font-weight:inherit}.opening-chapter-toggle{display:flex;align-items:center;gap:var(--space-12);width:100%;min-height:var(--tap-target-min);padding:19px 0;text-align:left;background:transparent;color:var(--color-text-primary);border:none;border-radius:0}.opening-chapter-toggle:hover{background:transparent}.opening-chapter-copy{flex:1;min-width:0}.opening-chapter-name{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);line-height:1.35}.opening-chapter-count{display:block;margin-top:var(--space-4);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.opening-chapter-chevron{flex-shrink:0;width:1.125rem;height:1.125rem;color:var(--color-text-secondary);transition:transform var(--duration-base) var(--easing-standard)}.opening-chapter-toggle[aria-expanded=true] .opening-chapter-chevron{transform:rotate(180deg)}.opening-chapter-content{padding:3px 0 18px 30px}.opening-modal{padding-bottom:max(var(--space-24),env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.opening-modal:focus{outline:none}.opening-modal-title{margin:var(--charte-space-14) 36px var(--space-8) 0;font-size:clamp(1.375rem,6vw,1.6875rem);line-height:var(--line-height-heading);letter-spacing:-.02em}.opening-modal-sub{margin:0 0 var(--charte-space-20);font-size:var(--font-size-small);color:var(--color-text-secondary)}.opening-modal-text{margin:0 0 var(--charte-space-20);font-size:var(--font-size-small);line-height:1.6;color:var(--color-text-secondary)}.opening-preview-modal .variant-preview{margin:0 auto}.opening-options{display:grid;gap:var(--space-12)}.opening-option{display:flex;align-items:center;justify-content:space-between;gap:13px;width:100%;min-height:var(--tap-target-min);padding:var(--space-16);text-align:left;background:var(--color-background);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-button)}.opening-option:hover{background:var(--color-background);border-color:var(--color-accent)}.opening-option-copy{display:block;min-width:0}.opening-option-copy strong{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.opening-option-copy small{display:block;margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.opening-option-chevron{font-size:1.25rem;line-height:1;color:var(--color-text-secondary)}.opening-option-primary,.opening-option-primary:hover{background:var(--charte-color-fill-coach);border-color:var(--charte-color-fill-coach-border);color:var(--charte-color-fill-coach-text)}.opening-option-primary .opening-option-copy small,.opening-option-primary .opening-option-chevron{color:var(--charte-color-fill-coach-text)}.opening-option:disabled,.opening-option:disabled:hover{opacity:.55;border-color:var(--color-border)}.opening-dialog-actions{display:grid;gap:10px}.opening-dialog-actions button{width:100%;min-height:48px}.opening-row:focus-visible,.opening-filter:focus-visible,.opening-chapter-toggle:focus-visible,.opening-understand:focus-visible,.opening-work:focus-visible,.opening-understand-cta:focus-visible,.opening-breadcrumbs button:focus-visible,.opening-reading summary:focus-visible,.opening-preview-caption button:focus-visible,.opening-option:focus-visible,.opening-modal-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width: 350px){.opening-chapter-content{padding-left:var(--space-24)}}@media (prefers-reduced-motion: reduce){.opening-chapter-chevron{transition:none}}.app-openings-manual .learning-screen{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-12);row-gap:var(--space-12)}.app-openings-manual .learning-screen>*{grid-column:1 / -1}.app-openings-manual .learning-screen>.breadcrumb{grid-column:1;margin:0;font-family:var(--font-family);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.app-openings-manual .learning-screen>.learning-progress:not(.learning-progress-review){grid-column:2;margin:0;text-align:right}.opening-library-screen .opening-row{row-gap:5px;column-gap:13px;padding:22px 0}.opening-library-screen .opening-row-name{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);line-height:1.4}.opening-library-screen .opening-row-desc{margin:6px 0;font-size:var(--charte-font-size-eyebrow);line-height:1.6}.opening-library-screen .opening-row-progress{gap:6px;margin-top:var(--space-8);font-size:var(--charte-font-size-eyebrow);line-height:1.5}.opening-library-screen .opening-row-chevron{font-size:var(--font-size-body)}@media (min-width: 768px){.opening-library-screen .opening-row-name{font-size:var(--font-size-h3)}.opening-library-screen .opening-row-desc,.opening-library-screen .opening-row-progress{font-size:var(--font-size-caption)}}@media (min-width: 900px){.app-desktop .opening-library-screen .opening-row{column-gap:var(--charte-space-20)}.app-desktop .opening-library-screen .opening-row-progress{margin-top:0}}.opening-course-screen .opening-kicker{font-size:var(--charte-font-size-eyebrow);letter-spacing:var(--charte-letter-spacing-eyebrow)}.opening-course-screen .opening-course-title{margin:10px 0 0;font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}.opening-course-screen .opening-course-desc{margin:var(--space-16) 0;font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}.opening-course-screen .opening-course-progress{margin:0;font-size:var(--charte-font-size-button);font-weight:var(--font-weight-bold);line-height:var(--charte-line-height-prose)}.opening-course-screen .opening-course-meta{margin:0;font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}.opening-course-screen .opening-course-cta{margin:var(--space-16) 0 0;min-height:44px;font-size:var(--charte-font-size-button)}.opening-course-screen .opening-section-bar{align-items:center;margin:26px 0 var(--space-16)}.opening-course-screen .opening-section-title{font-size:var(--font-size-h2);letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2)}@media (min-width: 768px){.opening-course-screen .opening-course-title{font-size:30px}}.opening-course-screen .opening-chapters{gap:var(--space-12)}.opening-course-screen .opening-chapter{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--charte-radius-notice)}.opening-course-screen .opening-chapter-toggle{gap:var(--space-16);padding:17px 15px}.opening-course-screen .opening-chapter-name{font-size:var(--charte-font-size-button);line-height:1.5}.opening-course-screen .opening-chapter-count{margin-top:6px;font-size:var(--charte-font-size-eyebrow)}@media (min-width: 768px){.opening-course-screen .opening-chapter-toggle{padding:var(--charte-space-20)}}.opening-modal .opening-modal-title{margin:5px 36px 14px 0;font-size:24px;letter-spacing:var(--charte-letter-spacing-h2)}.opening-modal .opening-modal-sub,.opening-modal .opening-modal-text{font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}.opening-modal .opening-options{gap:var(--charte-space-14)}.opening-modal .opening-option{gap:var(--space-16);min-height:75px;padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--charte-radius-notice);background:var(--color-surface);color:var(--color-text-primary)}.opening-modal .opening-option:hover{background:var(--color-surface);border-color:var(--color-text-secondary)}.opening-modal .opening-option-primary,.opening-modal .opening-option-primary:hover{background:var(--color-surface-elevated);border-color:var(--color-border);color:var(--color-text-primary)}.opening-modal .opening-option-primary .opening-option-copy small,.opening-modal .opening-option-primary .opening-option-chevron{color:var(--color-text-secondary)}.opening-modal .opening-option-copy strong{font-size:var(--font-size-body);font-weight:var(--font-weight-bold)}.opening-modal .opening-option-copy small{margin-top:6px;font-size:var(--font-size-caption)}.opening-modal .opening-option-chevron{font-size:var(--font-size-body)}.opening-modal .opening-dialog-actions{margin-top:var(--space-24)}.opening-library-screen,.opening-family-screen{--opening-tag-easy-bg: #edf5ef;--opening-tag-easy-text: #286246;--opening-tag-medium-bg: #fff3d7;--opening-tag-medium-text: #865800;--opening-tag-hard-bg: #fbecea;--opening-tag-hard-text: #a14337;--opening-chapter-open-bg: #fff8d5;--opening-status-learned: #2f7356;--opening-card-shadow: color-mix(in srgb, var(--color-text-primary) 3%, transparent);--opening-rail-bg: var(--charte-color-celebration-bg)}:root[data-theme=dark] .opening-library-screen,:root[data-theme=dark] .opening-family-screen{--opening-tag-easy-bg: #293e31;--opening-tag-easy-text: #a7d2b3;--opening-tag-medium-bg: #443b23;--opening-tag-medium-text: #e7c581;--opening-tag-hard-bg: #462d29;--opening-tag-hard-text: #edb0a5;--opening-chapter-open-bg: #45412a;--opening-status-learned: #92c4a6;--opening-rail-bg: #141611}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .opening-library-screen,:root:not([data-theme=light]) .opening-family-screen{--opening-tag-easy-bg: #293e31;--opening-tag-easy-text: #a7d2b3;--opening-tag-medium-bg: #443b23;--opening-tag-medium-text: #e7c581;--opening-tag-hard-bg: #462d29;--opening-tag-hard-text: #edb0a5;--opening-chapter-open-bg: #45412a;--opening-status-learned: #92c4a6;--opening-rail-bg: #141611}}.opening-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body .opening-library-screen .opening-filters{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:4px;margin:0 0 19px;padding:5px;border-radius:12px;background:var(--opening-rail-bg)}body .opening-library-screen .opening-filter,body .opening-library-screen .opening-filter:hover{justify-content:center;min-height:40px;padding:10px 5px;border:0;border-radius:8px;background:transparent;color:var(--charte-color-celebration-muted);font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap}body .opening-library-screen .opening-filter:hover{color:var(--charte-color-celebration-text)}body .opening-library-screen .opening-filter-active,body .opening-library-screen .opening-filter-active:hover{background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.opening-library-screen .opening-family-list{display:grid;gap:12px;border-top:0}.opening-library-screen .opening-family-list>li{border-bottom:0}.opening-library-screen .opening-row{grid-template-columns:minmax(0,1fr) 61px 12px;align-items:center;column-gap:10px;row-gap:0;padding:17px 15px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 3px 0 var(--opening-card-shadow)}.opening-library-screen .opening-row:hover{border-color:var(--color-text-secondary);background:var(--color-surface)}.opening-library-screen .opening-row:hover .opening-row-name{text-decoration:none}.opening-library-screen .opening-row-name{font-size:17px;font-weight:var(--font-weight-bold);line-height:1.3;letter-spacing:-.25px}.opening-library-screen .opening-row-desc{margin:6px 0 0;font-size:11px;font-weight:var(--font-weight-regular);line-height:1.5}.opening-library-screen .opening-row-progress{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 7px;margin-top:12px}.opening-row-camp{font-size:10px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.opening-row-camp:before{content:"·";margin-right:7px}.opening-library-screen .opening-row-aside{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:10px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.opening-library-screen .opening-row-chevron{grid-column:3;font-size:var(--font-size-body)}.opening-progress{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 7px;font-size:10px;font-weight:var(--font-weight-regular);line-height:1.5;color:var(--color-text-secondary)}.opening-progress-track{flex-shrink:0;width:36px;height:5px;border-radius:4px;background:var(--color-border);overflow:hidden}.opening-progress-track i{display:block;height:100%;background:var(--charte-color-accent)}.opening-tag{grid-column:2;justify-self:center;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:var(--font-weight-semibold);line-height:1.3;white-space:nowrap}.opening-tag-easy{background:var(--opening-tag-easy-bg);color:var(--opening-tag-easy-text)}.opening-tag-medium{background:var(--opening-tag-medium-bg);color:var(--opening-tag-medium-text)}.opening-tag-hard{background:var(--opening-tag-hard-bg);color:var(--opening-tag-hard-text)}.opening-breadcrumbs{margin:-7px 0 18px;font-size:11px;line-height:1.65;color:var(--color-text-secondary)}.opening-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin:0;padding:0;list-style:none}.opening-breadcrumbs li{display:flex;align-items:baseline;min-width:0}.opening-breadcrumbs li+li:before{content:"/";margin:0 9px;opacity:.65}.opening-breadcrumbs button{min-height:0;padding:4px 0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}.opening-breadcrumbs button:hover{background:none;color:var(--color-text-primary)}.opening-breadcrumbs [aria-current=page]{color:var(--color-text-primary)}.opening-course-screen .opening-course-intro{padding:19px 19px 20px;border:1px solid var(--color-border);border-top:4px solid var(--charte-color-accent);border-radius:14px;background:var(--color-surface);box-shadow:0 3px 0 var(--opening-card-shadow)}.opening-course-screen .opening-course-desc{margin:10px 0 13px;color:var(--color-text-primary);font-size:14px}.opening-course-intro .opening-progress{display:flex;margin:0 0 22px;font-size:11px}.opening-course-intro .opening-progress-track{width:54px}.opening-course-screen .opening-course-cta,.opening-understand-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0 0 5px;padding:13px 19px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-size:15px;font-weight:var(--font-weight-bold);line-height:1.2;box-shadow:0 5px 0 var(--charte-color-fill-action-text);transition:transform .15s,box-shadow .15s}.opening-course-screen .opening-course-cta:hover,.opening-understand-cta:hover{background:var(--charte-color-fill-action);transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}.opening-course-screen .opening-course-cta:active,.opening-understand-cta:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}:root[data-theme=dark] .opening-course-screen .opening-course-cta,:root[data-theme=dark] .opening-understand-cta{border-color:var(--charte-color-accent);box-shadow:0 5px #b49a31}:root[data-theme=dark] .opening-course-screen .opening-course-cta:hover,:root[data-theme=dark] .opening-understand-cta:hover{box-shadow:0 7px #b49a31}:root[data-theme=dark] .opening-course-screen .opening-course-cta:active,:root[data-theme=dark] .opening-understand-cta:active{box-shadow:0 2px #b49a31}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .opening-course-screen .opening-course-cta,:root:not([data-theme=light]) .opening-understand-cta{border-color:var(--charte-color-accent);box-shadow:0 5px #b49a31}:root:not([data-theme=light]) .opening-course-screen .opening-course-cta:hover,:root:not([data-theme=light]) .opening-understand-cta:hover{box-shadow:0 7px #b49a31}:root:not([data-theme=light]) .opening-course-screen .opening-course-cta:active,:root:not([data-theme=light]) .opening-understand-cta:active{box-shadow:0 2px #b49a31}}.opening-next-step{margin:17px 0 0;font-size:12px;line-height:1.65;color:var(--color-text-secondary)}.opening-next-step strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.opening-course-screen .opening-course-meta{margin:5px 0 0;font-size:12px;line-height:1.65}.opening-course-screen .opening-section-bar{margin:28px 0 15px}.opening-course-screen .opening-chapter{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 2px 0 var(--opening-card-shadow)}.opening-course-screen .opening-chapter-toggle{justify-content:space-between;gap:11px;padding:17px 16px;border:0;border-radius:0;background:var(--color-surface);font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.45}.opening-course-screen .opening-chapter-toggle[aria-expanded=true],.opening-course-screen .opening-chapter-toggle[aria-expanded=true]:hover{background:var(--opening-chapter-open-bg)}.opening-course-screen .opening-chapter-name{font-size:14px}.opening-course-screen .opening-chapter-count{margin-top:5px;font-size:11px}.opening-course-screen .opening-chapter-content{padding:0}.opening-variant{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;padding:16px;border-top:1px solid var(--color-border)}.opening-variant-name{margin:0;font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.5}.opening-variant-status{display:block;margin-top:6px;font-size:11px;line-height:1.5;color:var(--opening-status-learned)}.opening-variant-status-next{color:var(--color-text-secondary)}.opening-variant .scope-variant-badges{margin-top:8px;gap:var(--space-8)}.opening-variant .scope-badge{padding:0;background:none;font-size:11px}.opening-variant-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:center}.opening-understand,.opening-work{min-height:42px;padding:12px 10px;border-radius:8px;font-size:12px;line-height:1.3}.opening-understand,.opening-understand:hover{border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.opening-understand:hover{border-color:var(--color-text-primary)}.opening-work,.opening-work:hover{border:1px solid #d6b500;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-weight:var(--font-weight-bold)}.opening-work:hover{border-color:#b39800}.opening-course-screen .opening-chapter-action{display:block;width:100%;min-height:44px;padding:12px 16px;border:0;border-top:1px solid var(--color-border);border-radius:0;background:var(--charte-color-surface-soft);color:var(--color-text-secondary);font-size:11px;font-weight:var(--font-weight-semibold);text-align:left;text-decoration:underline;text-underline-offset:4px}.opening-course-screen .opening-chapter-action:hover{background:var(--charte-color-surface-soft);color:var(--color-text-primary)}.opening-chapter-action:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.opening-understanding{max-width:620px;margin:0 auto;padding-bottom:85px}.opening-understanding-title{margin:6px 0 20px;font-size:23px;line-height:1.3;letter-spacing:-.6px;text-wrap:balance}.opening-line-preview{max-width:410px;margin:0 auto 20px}.opening-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;color:var(--color-text-secondary);font-size:12px}.opening-preview-caption button,.opening-preview-caption button:hover{min-height:32px;padding:6px 0;border:0;border-radius:0;background:none;color:inherit;font-size:12px;font-weight:var(--font-weight-regular);text-decoration:underline;text-underline-offset:3px}.opening-understanding-goal{margin:0 0 20px;padding-left:15px;border-left:3px solid var(--charte-color-accent);font-size:14px;line-height:1.7}.opening-reading{overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.opening-reading details+details{border-top:1px solid var(--color-border)}.opening-reading summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px;font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.4;cursor:pointer;list-style:none}.opening-reading summary::-webkit-details-marker{display:none}.opening-reading-chevron{flex:0 0 18px;width:18px;height:18px;transform:rotate(90deg);transition:transform var(--duration-base) var(--easing-standard)}.opening-reading details[open] .opening-reading-chevron{transform:rotate(-90deg)}.opening-reading-content{padding:0 18px 18px}.opening-reading-content p,.opening-reading-content li{margin:0;font-size:13px;line-height:1.8}.opening-reading-content ul{margin:0;padding-left:18px}.opening-reading-content li+li{margin-top:9px}.opening-reading-empty{margin:25px 0;font-size:14px;color:var(--color-text-secondary)}.opening-understanding-bottom{position:fixed;z-index:20;right:0;bottom:0;left:0;margin:0;padding:12px max(18px,calc((100vw - 524px)/2)) calc(17px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -5px 20px color-mix(in srgb,var(--color-text-primary) 4%,transparent);pointer-events:none}.opening-understanding-bottom .opening-understand-cta{pointer-events:auto}@media (prefers-reduced-motion: reduce){.opening-understand-cta,.opening-course-screen .opening-course-cta,.opening-reading-chevron{transition:none}.opening-understand-cta:hover,.opening-understand-cta:active,.opening-course-screen .opening-course-cta:hover,.opening-course-screen .opening-course-cta:active{transform:none}}body .app .session-assessment-screen.session-finish-screen.session-bilan-screen{--bilan-bubble-bg: #ffffff;--bilan-bubble-ink: #22221f;--bilan-bubble-text: #53544d;--bilan-good: #317245;display:block;min-height:0;padding:0;text-align:left}:root[data-theme=dark] body .app .session-bilan-screen{--bilan-good: #92d5a9}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) body .app .session-bilan-screen{--bilan-good: #92d5a9}}body .app .session-bilan-screen .session-bilan{width:100%;max-width:620px;margin:0 auto;padding:0 0 24px}body .app .session-bilan-screen .session-bilan-header{display:flex;align-items:center;margin-bottom:24px}body .app .session-bilan-screen .session-bilan-title{margin:0;font-size:25px;letter-spacing:-.6px;color:var(--color-text-primary)}body .app .session-bilan-screen .session-bilan-coach{display:flex;align-items:center;gap:13px;margin:28px 0 0}body .app .session-bilan-screen .session-bilan-coach-picture{position:relative;isolation:isolate;flex:0 0 64px;width:64px;height:64px;align-self:center}body .app .session-bilan-screen .session-bilan-coach-picture:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:50%;background:var(--charte-color-accent)}body .app .session-bilan-screen .session-bilan-coach-picture .coach-avatar{width:100%;height:100%}body .app .session-bilan-screen .session-bilan-coach p{flex:1;min-width:0;min-height:83px;margin:0;padding:18px;display:flex;align-items:center;border:1.5px solid var(--bilan-bubble-ink);border-radius:17px 17px 17px 3px;background:var(--bilan-bubble-bg);color:var(--bilan-bubble-text);font-size:16px;line-height:1.55}body .app .session-bilan-screen .session-bilan-score{margin:35px 0;text-align:center}body .app .session-bilan-screen .session-bilan-score strong{display:block;font-size:66px;letter-spacing:-3px;color:var(--color-text-primary);font-variant-numeric:tabular-nums}body .app .session-bilan-screen .session-bilan-score small{font-size:26px;letter-spacing:-1px;color:var(--color-text-secondary)}body .app .session-bilan-screen .session-bilan-score>span{display:block;font-size:13px;color:var(--color-text-secondary)}body .app .session-bilan-screen .session-bilan-score>.session-bilan-duration{margin-top:6px;font-size:12px;font-variant-numeric:tabular-nums}body .app .session-bilan-screen .session-bilan-duration--alone{margin:28px 0 0;font-size:12px;color:var(--color-text-secondary);text-align:center}body .app .session-bilan-screen .session-bilan-results{margin:0 0 28px;padding:0;list-style:none;border-top:1px solid var(--color-border)}body .app .session-bilan-screen .session-bilan-results li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--color-border)}body .app .session-bilan-screen .session-bilan-results strong{font-size:14px;color:var(--color-text-primary)}body .app .session-bilan-screen .session-bilan-results li>span{font-size:11px}body .app .session-bilan-screen .session-bilan-results b{margin-right:7px;font-size:16px;font-variant-numeric:tabular-nums}body .app .session-bilan-screen .session-bilan-good{color:var(--bilan-good)}body .app .session-bilan-screen .session-bilan-review{color:var(--color-text-secondary)}body .app .session-bilan-screen .session-bilan-note{margin:0 0 24px;font-size:13px;line-height:1.6;color:var(--color-text-secondary)}body .app .session-bilan-screen .session-bilan-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0 0 5px;padding:15px 18px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 15px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}body .app .session-bilan-screen .session-bilan-primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}body .app .session-bilan-screen .session-bilan-primary:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .app .session-bilan-screen .session-bilan-primary:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}@media (max-width: 767.98px){body .app .session-bilan-screen .session-bilan-header{margin-bottom:18px}body .app .session-bilan-screen .session-bilan-title{font-size:22px}body .app .session-bilan-screen .session-bilan-coach{gap:12px;margin-top:15px}body .app .session-bilan-screen .session-bilan-coach-picture{flex-basis:48px;width:48px;height:48px}body .app .session-bilan-screen .session-bilan-coach p{min-height:64px;padding:12px 15px;border-radius:14px 14px 14px 3px;font-size:14px;line-height:1.5}body .app .session-bilan-screen .session-bilan-score{margin:28px 0}body .app .session-bilan-screen .session-bilan-score strong{font-size:55px}body .app .session-bilan-screen .session-bilan-primary{padding:14px;font-size:14px}}@media (max-width: 767.98px) and (max-height: 700px){body .app .session-bilan-screen .session-bilan-header{margin-bottom:12px}body .app .session-bilan-screen .session-bilan-coach{margin-top:8px}body .app .session-bilan-screen .session-bilan-score{margin:16px 0}body .app .session-bilan-screen .session-bilan-score strong{font-size:46px}body .app .session-bilan-screen .session-bilan-results{margin-bottom:16px}body .app .session-bilan-screen .session-bilan-results li{padding:10px 0}body .app .session-bilan-screen .session-bilan-note{margin-bottom:14px}}@media (prefers-reduced-motion: reduce){body .app .session-bilan-screen .session-bilan-primary{transition:none}}body .app .studies-screen .study-weekly{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:13px;align-items:center;margin:0;padding:19px 17px;border:1px solid var(--color-border);border-top:4px solid var(--charte-color-accent);border-radius:15px;background:var(--color-surface);box-shadow:0 3px 0 var(--color-surface-elevated)}body .app .studies-screen .study-weekly .study-banner{display:block;min-width:0;padding:0;border:0;border-radius:0;background:transparent}body .app .studies-screen .study-weekly .study-banner-title{margin:0 0 10px;font-size:10px;font-weight:var(--font-weight-semibold);line-height:1.4;letter-spacing:0;color:var(--color-text-secondary)}body .app .studies-screen .study-weekly .study-banner-subtitle{margin:0 0 9px;font-size:21px;font-weight:var(--font-weight-bold);line-height:1.2;letter-spacing:-.5px;color:var(--color-text-primary)}body .app .studies-screen .study-weekly .study-banner-rules{margin:0 0 17px;font-size:11px;line-height:1.7;color:var(--color-text-secondary)}body .app .studies-screen .study-weekly .study-shortcut{display:flex;align-items:center;justify-content:center;width:100%;min-height:45px;margin:0 0 5px;padding:11px 12px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 12px / 1.2 var(--font-family);text-align:center;box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}body .app .studies-screen .study-weekly .study-shortcut:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}body .app .studies-screen .study-weekly .study-shortcut:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .app .studies-screen .study-weekly .study-shortcut:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}body .app .studies-screen .study-weekly-board{align-self:start;width:100%;margin-top:19px;pointer-events:none}body .app .studies-screen .study-weekly-board .board-frame{padding:0;box-shadow:none}body .app .studies-screen .study-weekly-board .board-coords{display:none}body .app .studies-screen .study-collection-heading{display:block;margin:27px 0 0}body .app .studies-screen .study-collection-heading h2{margin:0 0 10px;font-size:19px;line-height:1.2;letter-spacing:0}body .app .studies-screen .study-collection-heading .studies-collection-count{margin:0;font-size:12px;color:var(--color-text-secondary)}body .app .studies-screen .study-collection-heading .studies-collection-count strong{font-size:inherit;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}body .app .studies-screen .studies-progress{height:4px;margin:11px 0 21px;border-radius:4px;background:var(--color-border)}body .app .studies-screen .studies-progress-fill{background:var(--charte-color-accent)}body .app .studies-screen .studies-shelf{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:17px;row-gap:25px;margin:0}body .app .studies-screen .study-slot{min-width:0;padding:0;text-align:center}body .app .studies-screen .study-cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;aspect-ratio:3 / 4;padding:13px 8px 12px 13px;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:3px 11px 11px 3px;background:var(--charte-color-surface-soft);color:var(--color-text-secondary);box-shadow:3px 3px 0 var(--color-border),5px 5px #22221f08;font:inherit;text-align:center;cursor:default;transition:transform .15s}body .app .studies-screen .study-cover:before{content:"";position:absolute;top:0;bottom:0;left:7px;border-left:1px solid rgb(34 34 31 / 10%)}body .app .studies-screen .study-cover-current,body .app .studies-screen .study-cover-available{border-color:#c5a900;background:var(--charte-color-accent);color:#22221f;box-shadow:3px 3px #e6c541,5px 5px #22221f14}body .app .studies-screen .study-cover-solved{border-color:#8ab69a;background:#c5e0cc;color:#22221f;box-shadow:3px 3px #9cbea6,5px 5px #22221f14}body .app .studies-screen .study-cover-openable{cursor:pointer}body .app .studies-screen .study-cover-openable:hover{transform:translateY(-2px);box-shadow:3px 3px #e6c541,5px 5px #22221f14}body .app .studies-screen .study-cover-openable:focus-visible{outline:3px solid var(--color-text-primary);outline-offset:3px}body .app .studies-screen .study-cover-top{position:static;font-size:7px;font-weight:var(--font-weight-bold);letter-spacing:.6px;line-height:1.2}body .app .studies-screen .study-cover-art{position:static;width:47%;height:auto;margin:10px 0;opacity:1}body .app .studies-screen .study-cover-future .study-cover-art{opacity:.2;filter:grayscale(1)}body .app .studies-screen .study-cover-number{position:static;font-size:21px;font-weight:650;letter-spacing:-1px;line-height:1}body .app .studies-screen .study-cover-lock{position:absolute;right:8px;bottom:13px;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}body .app .studies-screen .study-book-name{display:block;margin-top:13px;font-size:11px;font-weight:var(--font-weight-semibold);line-height:1.3;color:var(--color-text-primary)}body .app .studies-screen .study-book-status{display:block;margin-top:5px;font-size:10px;line-height:1.3;color:var(--color-text-secondary)}@media (prefers-reduced-motion: reduce){body .app .studies-screen .study-cover,body .app .studies-screen .study-weekly .study-shortcut{transition:none}body .app .studies-screen .study-cover-openable:hover,body .app .studies-screen .study-weekly .study-shortcut:hover,body .app .studies-screen .study-weekly .study-shortcut:active{transform:none}}body .app .study-screen{--study-bubble-bg: #ffffff;--study-bubble-ink: #22221f;--study-bubble-text: #53544d;--study-halo: var(--charte-color-accent);--study-halo-retry: #e75b4c;--study-line-retry: #b7664f;--study-line-good: #47845d;--study-mark-bg: #fff7cd;--study-mark-line: #d4c466;--study-mark-used-bg: #f9e6e1;--study-mark-used-line: #e1b0a6;--study-mark-used-ink: #ad493b}body .app .study-screen .study-header{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;margin-bottom:16px}body .app .study-screen .study-icon-button{width:40px;height:40px;border:1px solid var(--color-border);border-radius:50%;background:transparent}body .app .study-screen .study-header-label span{font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:0;line-height:1.3;color:var(--color-text-secondary)}body .app .study-screen .study-header-label strong{display:block;margin-top:2px;font-size:18px;font-weight:var(--font-weight-bold);line-height:1.2;letter-spacing:-.3px;color:var(--color-text-primary)}body .app .study-screen .study-share-button{min-height:0;padding:9px 11px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font-size:11px;font-weight:var(--font-weight-semibold);line-height:1.2}html[data-board-focus=on] body .app .study-screen .study-header-label strong{color:var(--charte-color-board-focus-ink)}html[data-board-focus=on] body .app .study-screen .study-header-label span{color:var(--charte-color-board-focus-muted)}body .app .study-screen .study-coach-card{display:flex;align-items:center;gap:12px;width:100%;min-height:96px;margin:0 0 8px;padding:0;box-sizing:border-box;border:0;border-radius:0;background:transparent}body .app .study-screen .study-coach-avatar{position:relative;display:block;flex:0 0 48px;align-self:center;box-sizing:border-box;width:48px;height:64px;padding:0;overflow:visible;border-radius:0;background:transparent;isolation:isolate}body .app .study-screen .study-coach-avatar:before{content:"";position:absolute;top:5px;left:0;z-index:-1;width:48px;height:48px;border-radius:50%;background:var(--study-halo);transition:background-color .25s ease}body .app .study-screen .study-coach-error .study-coach-avatar:before{background:var(--study-halo-retry)}body .app .study-screen .study-coach-avatar .coach-portrait-image{display:block;width:100%;height:64px}body .app .study-screen .study-coach-message{flex:1;box-sizing:border-box;min-width:0;min-height:90px;margin:0;padding:12px 15px;border:1.5px solid var(--study-bubble-ink);border-radius:14px 14px 14px 3px;background:var(--study-bubble-bg);color:var(--study-bubble-text);font-size:14px;font-weight:var(--font-weight-regular);line-height:1.5;transition:border-color .25s ease}body .app .study-screen .study-coach-error .study-coach-message{border-color:var(--study-line-retry);background:var(--study-bubble-bg);color:var(--study-bubble-text)}body .app .study-screen .study-coach-success .study-coach-message{border-color:var(--study-line-good);background:var(--study-bubble-bg);color:var(--study-bubble-text)}body .app .study-screen .study-turn-row{gap:7px;margin:12px 0 0;padding:0;font-size:11px;font-weight:var(--font-weight-regular)}body .app .study-screen .study-turn-dot{width:8px;height:8px;border:1px solid #8e9288;background:#fff}body .app .study-screen .study-save-retry{width:100%;min-height:44px;margin:14px 0 0;padding:10px 14px;border:1px solid var(--color-border-strong);border-radius:11px;background:var(--color-surface);color:var(--color-text-primary);font:var(--font-weight-semibold) 13px / 1.2 var(--font-family);cursor:pointer}body .app .study-screen .study-save-retry:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:3px}body .app .study-screen .study-attempts-card{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:14px 16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}body .app .study-screen .study-attempts-copy strong{display:block;font-size:13px;font-weight:var(--font-weight-bold);line-height:1.3}body .app .study-screen .study-attempts-copy span{display:block;margin-top:7px;font-size:11px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}body .app .study-screen .study-attempts-row{gap:6px}body .app .study-screen .study-attempt-mark{display:grid;place-items:center;width:26px;height:28px;border:1px solid var(--study-mark-line);border-radius:5px;background:var(--study-mark-bg)}body .app .study-screen .study-attempt-mark:before{display:none}body .app .study-screen .study-attempt-used{border-color:var(--study-mark-used-line);background:var(--study-mark-used-bg)}body .app .study-screen .study-attempt-used:after{content:"×";position:static;display:block;width:auto;height:auto;background:transparent;transform:none;font-size:23px;font-style:normal;line-height:1;color:var(--study-mark-used-ink)}body .app .study-screen .study-hints-block{margin-top:24px}body .app .study-screen .study-hints-header{align-items:center;margin-bottom:12px}body .app .study-screen .study-hints-header h2{font-size:18px;line-height:1.2}body .app .study-screen .study-hints-count{font-size:10px;font-weight:var(--font-weight-regular)}body .app .study-screen .study-hint-list{gap:9px}body .app .study-screen .study-hint{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}body .app .study-screen .study-hint-copy strong{font-size:13px;font-weight:var(--font-weight-semibold)}body .app .study-screen .study-hint-copy small{margin-top:5px;font-size:11px;color:var(--color-text-secondary)}body .app .study-screen .study-hint-icon{display:grid;place-items:center;color:var(--color-text-primary)}body .app .study-screen .study-hint-icon svg{width:16px;height:16px}body .app .study-screen .study-hint-expanded .study-hint-icon{transform:rotate(180deg)}body .app .study-screen .study-hint-text{grid-column:1 / -1;margin:2px 0 0;font-size:13px;line-height:1.7;color:var(--color-text-primary)}body .app .study-screen .study-hint:disabled:not(.study-hint-locked){cursor:default;opacity:.6}body .app .study-screen .study-hint-locked,body .app .study-screen .study-hint-locked:disabled{border-style:dashed;border-color:var(--color-border-strong);background:var(--color-background);opacity:1}body .app .study-screen .study-hint-locked .study-hint-copy strong,body .app .study-screen .study-hint-locked .study-hint-icon{color:var(--color-text-secondary)}@media (prefers-reduced-motion: reduce){body .app .study-screen .study-coach-avatar:before,body .app .study-screen .study-coach-message{transition:none}}@media (max-width: 767.98px){body .play-app{padding-left:16px;padding-right:16px}body .play-screen{max-width:480px}}body .play-screen{position:relative;gap:7px}body .play-screen .play-player,body .play-screen .play-player-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:3px 0}body .play-screen .play-identity{flex:1 1 auto;min-width:0;gap:4px}body .play-screen .play-name{font-size:14px;line-height:1.2}body .play-screen .play-subtitle{font-size:11px;line-height:1.2}body .play-screen .play-clock{flex:none;min-width:72px;padding:8px 10px;border-radius:7px;background:var(--color-surface);color:var(--color-text-primary);font-size:19px;font-weight:var(--font-weight-bold);line-height:1.2}body .play-screen .play-clock-active{border-color:var(--charte-color-accent);background:var(--color-surface);color:var(--color-text-primary);box-shadow:inset 0 -2px var(--charte-color-accent)}body .play-screen .play-clock-low{color:var(--color-danger)}body .play-screen .play-clock-low.play-clock-active{border-color:var(--color-danger);background:var(--color-surface);color:var(--color-danger);box-shadow:inset 0 -2px var(--color-danger)}body .play-screen .play-board-row{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:stretch;width:min(100%,calc(100dvh - 196px));justify-self:center;align-self:center}body .play-screen.play-screen-no-eval .play-board-row{grid-template-columns:25px minmax(0,1fr)}body .play-screen .play-board-frame{grid-column:2;grid-row:1;width:100%;justify-self:stretch;align-self:start}body .play-screen .play-eval{--play-eval-dark: #252727;--play-eval-light: #f9faf8;grid-column:1;grid-row:1;min-height:0}body .play-screen .play-eval-vertical .play-eval-bar{width:100%;min-height:120px;border-color:#66716d;border-radius:5px}body .play-screen .play-eval-vertical .play-eval-readout{margin-left:-8px;margin-right:-8px;width:calc(100% + 16px)}body .play-screen .play-actions{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:9px;min-height:44px}body .play-screen .game-controls{display:flex;align-items:center;gap:10px;min-height:44px}body .play-screen .play-options-button{flex:0 1 auto;gap:0;min-height:44px;padding:10px 15px;border-radius:8px;font-size:13px}body .play-screen .play-clip-button span{margin-right:5px;font-size:8px}body .play-screen .friend-emotes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;padding:3px 5px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}html[data-board-focus=on] body .play-screen .friend-emotes{border-color:var(--charte-color-board-focus-line);background:var(--charte-color-board-focus-surface)}body .play-screen .friend-emotes button{min-width:0;min-height:0;height:42px;padding:0;border:0;border-radius:8px;background:none;box-shadow:none;font-size:24px;line-height:1;touch-action:manipulation}body .play-screen .friend-emotes button:disabled{opacity:.4;cursor:default}body .play-screen .friend-emotes button:active:not(:disabled){transform:scale(.9)}@media (hover: hover){body .play-screen .friend-emotes button:hover:not(:disabled){background:var(--color-surface-elevated)}}body .play-screen .friend-emote-slot{position:absolute;right:88px;z-index:7;pointer-events:none}body .play-screen .play-player-top .friend-emote-slot{top:4px}body .play-screen .play-player-bottom .friend-emote-slot{bottom:3px}body .play-screen .friend-emote-bubble{position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface-elevated);box-shadow:0 3px 12px #00000021;font-size:31px;line-height:1;animation:game-emote-pop .23s ease-out both}@keyframes game-emote-pop{0%{opacity:0;transform:translateY(5px) scale(.65)}to{opacity:1;transform:translateY(0) scale(1)}}body .play-screen .solo-game-notice{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:6;margin:0;padding:11px 15px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-elevated);color:var(--color-text-primary);box-shadow:0 4px 20px #0003;font-size:13px;line-height:1.5;text-align:center}body .play-screen .play-moves{display:none;align-items:center;gap:10px;min-height:25px;max-height:34px;padding:3px 10px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;scrollbar-width:thin}body .play-screen .play-moves:empty{display:none}body .play-screen .play-moves li{flex:none}body .play-screen .play-moves .play-moves-number{opacity:.6}body .play-options-sheet{padding:var(--space-24) 22px 20px}body .play-options-sheet .play-options-head{padding:0 44px 14px 0;border-bottom:1px solid var(--color-border)}body .play-options-sheet .play-options-title{margin:0;font-family:var(--font-family-display);font-size:20px;line-height:1.2}body .play-options-sheet .game-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--color-border)}body .play-options-sheet .play-options-head+.game-option{border-top:0}body .play-options-sheet .game-option>span{min-width:0}body .play-options-sheet .game-option strong{display:block;font-size:14px}body .play-options-sheet .game-option small{display:block;margin-top:6px;color:var(--color-text-secondary);font-size:12px;line-height:1.4}body .play-options-sheet .game-switch,body .profile-sound-option .game-switch{position:relative;flex:0 0 48px;width:48px;height:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:none;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-options-sheet .game-switch:before,body .profile-sound-option .game-switch:before{content:"";position:absolute;top:9.5px;left:3px;width:42px;height:25px;border-radius:20px;background:var(--color-border-strong)}body .play-options-sheet .game-switch:after,body .profile-sound-option .game-switch:after{content:"";position:absolute;top:13.5px;left:7px;width:17px;height:17px;border-radius:50%;background:var(--charte-color-panel);transition:transform .1s ease-out}body .play-options-sheet .game-switch[aria-checked=true]:before,body .profile-sound-option .game-switch[aria-checked=true]:before{background:var(--charte-color-accent)}body .play-options-sheet .game-switch[aria-checked=true]:after,body .profile-sound-option .game-switch[aria-checked=true]:after{background:var(--charte-color-ink);transform:translate(17px)}body .play-options-sheet .game-switch:hover,body .profile-sound-option .game-switch:hover,body .play-options-sheet .game-switch:active,body .profile-sound-option .game-switch:active{background:none}body .play-options-sheet .game-switch:focus-visible,body .profile-sound-option .game-switch:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}body .play-options-sheet .game-option-actions{display:grid;gap:11px;margin:18px 0 3px}body .play-options-sheet .game-option-actions button{width:100%;min-height:47px}body .play-backdrop-result{background:#15181285;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body .play-sheet.play-result-sheet{max-width:510px;padding:26px 25px 25px;border-radius:19px;animation:game-result-rise .42s cubic-bezier(.16,1,.3,1) both}body .play-result-sheet .play-eyebrow{margin:0 0 12px;font-size:10px;letter-spacing:.14em}body .play-result-sheet .play-result-title{margin:0 0 4px;font-size:clamp(24px,5.8vw,31px);line-height:1.2;letter-spacing:-.7px}body .play-result-sheet .play-result-reason{margin:0 0 25px;font-size:13px}body .play-result-sheet .play-clips{margin:0 0 25px}body .play-result-sheet .play-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body .play-result-sheet .play-sheet-actions button{min-width:0;justify-self:stretch;text-align:center}body .play-result-sheet .play-sheet-actions .primary-action{grid-column:1 / -1;min-height:52px;margin:0 0 5px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;font:var(--font-weight-bold) 16px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);opacity:1;transition:transform .15s,box-shadow .15s}body .play-result-sheet .play-sheet-actions .primary-action:active{transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .play-result-sheet .play-sheet-actions .primary-action:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}:root[data-theme=dark] body .play-result-sheet .play-sheet-actions .primary-action{border-color:var(--charte-color-accent);box-shadow:0 5px #b49a31}:root[data-theme=dark] body .play-result-sheet .play-sheet-actions .primary-action:active{box-shadow:0 2px #b49a31}body .play-result-sheet .play-sheet-actions .secondary-action{min-height:46px}@keyframes game-result-rise{0%{opacity:0;transform:translateY(90px)}to{opacity:1;transform:translateY(0)}}body .play-analysis .analysis-screen>.analysis-board~*{order:1}body .play-analysis .analysis-screen>.analysis-topbar{order:-2}body .play-analysis .analysis-screen>.play-analysis-opponent{order:-1}body .play-analysis .analysis-screen>.analysis-board{width:min(100%,calc(100dvh - 196px))}body .play-analysis .analysis-screen>.play-analysis-me{order:0}body .play-analysis .analysis-screen .play-analysis-person{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:3px 0}body .play-analysis .analysis-screen .play-identity{display:grid;gap:4px;min-width:0}body .play-analysis .analysis-screen .play-name{overflow:hidden;font-size:14px;font-weight:var(--font-weight-bold);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}body .play-analysis .analysis-screen .play-subtitle{font-size:11px;line-height:1.2;color:var(--color-text-secondary)}@media (prefers-reduced-motion: reduce){body .play-sheet.play-result-sheet,body .play-screen .friend-emote-bubble{animation:none}body .play-options-sheet .game-switch:after,body .profile-sound-option .game-switch:after,body .play-screen .friend-emotes button:active:not(:disabled){transition:none;transform:none}body .play-options-sheet .game-switch[aria-checked=true]:after,body .profile-sound-option .game-switch[aria-checked=true]:after{transform:translate(17px)}}body .play-setup .play-setup-card{padding:24px;border-radius:15px}body .play-setup .play-setup-notice{margin:0 0 14px;padding:12px 14px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;line-height:1.5}body .play-setup .play-challenges{margin-bottom:14px}body .play-setup .cfg-challenge-title{margin:0 0 12px;font-size:15px;font-weight:var(--font-weight-bold)}body .play-setup .play-challenge-list{gap:12px}body .play-setup .play-challenge-row{gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-background)}body .play-setup .play-challenge-text{font-size:14px;font-weight:var(--font-weight-bold);overflow-wrap:anywhere}body .play-setup .play-challenge-actions{display:flex;gap:8px}body .play-setup .cfg-button{flex:1 1 0;min-width:0;min-height:44px;padding:12px 14px;border-radius:9px;font:inherit;font-size:13px;font-weight:var(--font-weight-bold);box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-button-accept{border:1px solid var(--charte-color-fill-action-text);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}body .play-setup .cfg-button-decline{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-weight:var(--font-weight-regular, 400)}body .play-setup .cfg-button:disabled{opacity:.45;cursor:default}body .play-setup .cfg-segment{display:flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-border)}body .play-setup .cfg-segment button{display:flex;flex:1 1 0;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:12px 6px;border:0;border-radius:7px;background:none;color:var(--color-text-primary);font:inherit;font-size:13px;box-shadow:none;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-segment button[aria-pressed=true]{background:var(--color-surface);font-weight:var(--font-weight-bold);box-shadow:0 2px 4px #0000000a}body .play-setup .cfg-segment button:focus-visible{outline:2px solid var(--charte-color-accent);outline-offset:2px}body .play-setup .cfg-segment-picto{flex:none;width:20px;height:20px}body .play-setup .cfg-setting{min-width:0;margin:20px 0 0;padding:0;border:0}body .play-setup .cfg-setting>legend,body .play-setup .cfg-label{display:block;padding:0;margin:0 0 10px;color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-bold)}body .play-setup .cfg-radio-row{display:flex;gap:8px}body .play-setup .cfg-radio-row label{position:relative;display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:12px 6px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-radio-row input{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}body .play-setup .cfg-radio-row label:has(input:checked){border-color:var(--charte-color-fill-action-text);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-weight:var(--font-weight-bold)}body .play-setup .cfg-radio-row label:has(input:focus-visible){outline:2px solid var(--color-text-primary);outline-offset:3px}body .play-setup .cfg-level{margin-top:20px}body .play-setup .cfg-level-menu{position:relative}body .play-setup .cfg-level-menu summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font-size:15px;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-level-menu summary::-webkit-details-marker{display:none}body .play-setup .cfg-level-menu summary svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body .play-setup .cfg-level-menu[open] summary{border-color:var(--color-text-primary)}body .play-setup .cfg-level-menu[open] summary svg{transform:rotate(180deg)}body .play-setup .cfg-level-menu summary:focus-visible{outline:2px solid var(--charte-color-accent);outline-offset:3px}body .play-setup .cfg-level-options{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:5;display:grid;gap:2px;padding:6px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);box-shadow:0 8px 20px #00000021}body .play-setup .cfg-level-options button{min-height:44px;padding:11px 12px;border:0;border-radius:7px;background:none;color:var(--color-text-primary);font:inherit;font-size:14px;text-align:left;box-shadow:none;transition:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-level-options button[aria-pressed=true]{background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-weight:var(--font-weight-bold)}body .play-setup .cfg-level-options button:hover:not([aria-pressed=true]){background:var(--color-background)}body .play-setup .cfg-friends{min-width:0;margin:20px 0 0;padding:0;border:0}body .play-setup .cfg-friends>legend{padding:0;margin:0 0 7px;font-size:13px;font-weight:var(--font-weight-bold)}body .play-setup .cfg-friend-list{max-height:220px;overflow:auto;overscroll-behavior:contain}body .play-setup .cfg-friend-pick{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:13px;margin:8px 0;padding:12px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-friend-pick:has(input:checked){border-color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-text-primary)}body .play-setup .cfg-friend-pick:has(input:focus-visible){outline:2px solid var(--charte-color-accent)}body .play-setup .cfg-friend-pick input{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:20px;min-width:20px;height:20px;margin:0;padding:0;border:1.5px solid var(--color-text-secondary);border-radius:50%;background:var(--color-surface)}body .play-setup .cfg-friend-pick input:checked{border-color:var(--color-text-primary)}body .play-setup .cfg-friend-pick input:checked:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-text-primary)}body .play-setup .cfg-friend-name{min-width:0;overflow:hidden;font-size:15px;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}body .play-setup .cfg-avatar{display:grid;flex:none;place-items:center;width:38px;height:38px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-background);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-bold)}body .play-setup .cfg-add-friend{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-size:13px;font-weight:var(--font-weight-semibold);box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-add-friend span{font-size:23px;font-weight:400;line-height:1}body .play-setup .cfg-note{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.6}body .play-setup .cfg-option{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:13px 0 0;border-top:1px solid var(--color-border)}body .play-setup .cfg-option-copy{min-width:0}body .play-setup .cfg-option-copy strong{display:block;font-size:14px}body .play-setup .cfg-option-copy small{display:block;margin-top:6px;color:var(--color-text-secondary);font-size:12px;line-height:1.4}body .play-setup .cfg-switch{position:relative;flex:0 0 48px;width:48px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:8px;background:none;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body .play-setup .cfg-switch:before{content:"";position:absolute;top:9.5px;left:3px;width:42px;height:25px;border-radius:20px;background:var(--color-border)}body .play-setup .cfg-switch:after{content:"";position:absolute;top:13.5px;left:7px;width:17px;height:17px;border-radius:50%;background:var(--color-surface);transition:transform .1s ease-out}body .play-setup .cfg-switch[aria-checked=true]:before{background:var(--charte-color-fill-action)}body .play-setup .cfg-switch[aria-checked=true]:after{background:var(--charte-color-fill-action-text);transform:translate(17px)}body .play-setup .cfg-switch:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}body .play-setup .cfg-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:24px;padding:16px 20px;border:1.7px solid var(--charte-color-fill-action-text);border-radius:11px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:var(--font-weight-bold) 15px / 1.2 var(--font-family);box-shadow:0 5px 0 var(--charte-color-fill-action-text);cursor:pointer;transition:transform .15s,box-shadow .15s}body .play-setup .cfg-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 var(--charte-color-fill-action-text)}body .play-setup .cfg-primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--charte-color-fill-action-text)}body .play-setup .cfg-primary:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:5px}body .play-setup .cfg-primary:disabled{opacity:.45;cursor:default;transform:none}:root[data-theme=dark] body .play-setup .cfg-primary{border-color:var(--charte-color-accent);box-shadow:0 5px #b49a31}:root[data-theme=dark] body .play-setup .cfg-primary:hover:not(:disabled){box-shadow:0 7px #b49a31}:root[data-theme=dark] body .play-setup .cfg-primary:active:not(:disabled){box-shadow:0 2px #b49a31}body .play-setup .play-waiting-card{display:block;padding:24px;text-align:center}body .play-setup .invite-faceoff{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:10px;margin:10px 0 0;text-align:center}body .play-setup .invite-person{display:grid;justify-items:center;gap:12px;min-width:0}body .play-setup .invite-avatar{display:grid;place-items:center;width:68px;height:68px;border:1px solid var(--charte-color-fill-action-text);border-radius:50%;background:var(--color-background);color:var(--color-text-primary);font-size:22px;font-weight:var(--font-weight-bold)}body .play-setup .invite-person:first-child .invite-avatar{background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}body .play-setup .invite-person strong{max-width:100%;font-size:16px;overflow-wrap:anywhere}body .play-setup .invite-vs{color:var(--color-text-secondary);font-size:11px;font-weight:var(--font-weight-bold)}body .play-setup .invite-status{margin:28px 0 0;font-size:19px;font-weight:var(--font-weight-bold);text-align:center}body .play-setup .invite-settings{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;color:var(--color-text-secondary);font-size:12px}body .play-setup .invite-wait{display:block;margin:20px auto 0}body .play-setup .invite-cancel{display:block;min-height:44px;margin:18px auto 0;padding:12px;border:0;background:none;color:var(--color-text-primary);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;box-shadow:none;cursor:pointer}body .play-setup .invite-cancel:disabled{opacity:.45;cursor:default}body .play-setup .invite-share{display:block;width:100%;min-height:44px;margin:20px 0 0;padding:12px 14px;border:1px solid var(--charte-color-fill-action-text);border-radius:9px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:inherit;font-size:14px;font-weight:var(--font-weight-bold);box-shadow:none;cursor:pointer;touch-action:manipulation}body .play-setup .invite-share-notice{margin:8px 0 0;color:var(--color-text-secondary);font-size:12px}.game-versus{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;overflow:hidden;background:var(--charte-color-ink);color:#22221f}.game-versus-half{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.game-versus-left{background:#ffd600;clip-path:polygon(0 0,64% 0,46% 100%,0 100%);transform:translate(-105%);animation:game-panel-in .56s cubic-bezier(.16,.78,.24,1) forwards}.game-versus-right{background:#22221f;color:#fff;clip-path:polygon(64% 0,100% 0,100% 100%,46% 100%);transform:translate(105%);animation:game-panel-in .56s cubic-bezier(.16,.78,.24,1) forwards}.game-versus-half strong{position:absolute;max-width:39vw;font-size:clamp(25px,6.4vw,60px);font-weight:800;letter-spacing:-1.2px;line-height:1.05;overflow-wrap:anywhere;opacity:0;animation:game-name-in .38s .4s ease-out forwards}.game-versus-left strong{bottom:59%;left:5vw;text-align:left;transform:translate(-25px)}.game-versus-right strong{top:59%;right:5vw;text-align:right;transform:translate(25px)}.game-versus-cut{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:#fff;stroke-width:.5;stroke-dasharray:110;stroke-dashoffset:110;opacity:0;pointer-events:none;animation:game-cut .45s .63s ease-out forwards}.game-versus-vs{position:absolute;top:50%;left:55%;z-index:2;color:#fff;font-size:clamp(50px,10vw,88px);font-style:italic;font-weight:900;letter-spacing:-4px;text-shadow:2px 3px 0 #22221f;opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(.4);animation:game-vs-in .5s .72s ease-out forwards}.game-versus-skip{position:absolute;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:3;min-height:44px;padding:12px 20px;border:1px solid rgb(255 255 255 / 44%);border-radius:8px;background:none;color:#fff;font:inherit;font-size:12px;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.game-versus-skip:focus-visible{outline:2px solid #ffd600;outline-offset:3px}.game-versus-fade{animation:game-versus-out .36s forwards}@keyframes game-panel-in{to{transform:translate(0)}}@keyframes game-name-in{to{opacity:1;transform:translate(0)}}@keyframes game-cut{0%{opacity:0;stroke-dashoffset:110}25%{opacity:1}80%{opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}@keyframes game-vs-in{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(.4)}45%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1.15)}to{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}}@keyframes game-versus-out{to{opacity:0}}@media (prefers-reduced-motion: reduce){.game-versus-half,.game-versus-half strong,.game-versus-cut,.game-versus-vs{animation-duration:.01ms;animation-delay:0s}.game-versus-fade{animation:none}body .play-setup .cfg-switch:after{transition:none}body .play-setup .cfg-primary{transition:none}}.game-versus-reduced .game-versus-half,.game-versus-reduced .game-versus-half strong,.game-versus-reduced .game-versus-cut,.game-versus-reduced .game-versus-vs{animation-duration:.01ms;animation-delay:0s}@media (max-width: 700px){body .play-setup .play-setup-card{padding:20px}}.challenge-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border:2px solid var(--charte-color-fill-action-text);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary)}.challenge-banner-text{flex:1 1 160px;min-width:0;margin:0;font-size:14px;font-weight:var(--font-weight-bold)}.challenge-banner-actions{display:flex;flex:1 1 180px;gap:8px}.challenge-banner-accept,.challenge-banner-decline{flex:1 1 0;min-height:40px;padding:8px 12px;border-radius:9px;font:inherit;font-size:13px;font-weight:var(--font-weight-bold);box-shadow:none;cursor:pointer;touch-action:manipulation}.challenge-banner-accept{border:1px solid var(--charte-color-fill-action-text);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.challenge-banner-decline{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.challenge-banner button:disabled{opacity:.45;cursor:default}body .app .clip-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:15px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface)}body .app .clip-card-preview{position:relative;display:block;width:100%;aspect-ratio:1;align-self:start;padding:0;margin:0;overflow:hidden;border:0;border-radius:9px;background:var(--board-dark);cursor:pointer}body .app .clip-mini-board{display:grid;width:100%;height:100%;grid-template-columns:repeat(8,minmax(0,1fr))}body .app .clip-mini-square{display:grid;place-items:center;aspect-ratio:1}body .app .clip-mini-square.is-light{background:var(--board-light)}body .app .clip-mini-square.is-dark{background:var(--board-dark)}body .app .clip-mini-square.is-last{box-shadow:inset 0 0 0 50px #ffd60059}body .app .clip-mini-piece{width:100%;height:100%;display:block}body .app .clip-card-disc{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--charte-color-ink);border-radius:50%;background:var(--charte-color-accent);color:var(--charte-color-fill-action-text);box-shadow:0 2px 0 var(--charte-color-ink);transform:translate(-50%,-50%);transition:transform .15s ease}body .app .clip-card-disc svg{width:18px;height:18px;margin-left:2px;fill:currentColor}body .app .clip-card-preview:hover .clip-card-disc,body .app .clip-card-preview:focus-visible .clip-card-disc{transform:translate(-50%,-50%) scale(1.08)}body .app .clip-card-duration{position:absolute;right:5px;bottom:5px;padding:3px 4px;border-radius:4px;background:#22221fd9;color:#fff;font:10px ui-monospace,monospace}body .app .clip-card-copy{min-width:0;align-self:center}body .app .clip-card-kicker{display:block;font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.03em;color:var(--color-text-secondary)}body .app .clip-card-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body .app .clip-card-title{margin:8px 0;font-family:var(--font-family-display);font-size:17px;line-height:1.3;letter-spacing:-.3px;overflow-wrap:anywhere}body .app .clip-card-subtitle{margin:0 0 7px;font-size:12px;line-height:1.4;color:var(--color-text-secondary);overflow-wrap:anywhere}body .app .clip-card-subtitle strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}body .app .clip-card-date{font-size:11px;color:var(--color-text-secondary)}body .app .clip-card-footer{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--color-border)}body .app .clip-card-footer>span{font-size:10px;color:var(--color-text-secondary)}body .app .clip-card-extra{grid-column:1 / -1}body .app .clip-card-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:9px 0;border:0;background:none;color:var(--color-text-primary);font-size:11px;text-align:left;cursor:pointer}body .app .clip-card-action.is-muted{color:var(--color-text-secondary)}body .app .clip-card-action:disabled{cursor:default;opacity:.6}@media (prefers-reduced-motion: reduce){body .app .clip-card-disc{transition:none}body .app .clip-card-preview:hover .clip-card-disc,body .app .clip-card-preview:focus-visible .clip-card-disc{transform:translate(-50%,-50%)}}body .app .clip-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}body .app .clip-card{position:relative}body .app .clip-card-title-button{all:unset;display:block;cursor:pointer;font:inherit;color:inherit}body .app .clip-card-title-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:15px}body .app .clip-card-title-button:focus-visible:after{outline:2px solid var(--charte-color-ink);outline-offset:2px}body .app .clip-card-preview,body .app .clip-card-footer,body .app .clip-card-extra{position:relative;z-index:1}body .app .replays-page{width:100%;max-width:none}body .app .replays-heading{margin:0 0 22px}body .app .replays-eyebrow{display:block;margin:0 0 9px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary)}body .app .replays-title{display:flex;align-items:center;gap:13px;margin:0;font-family:var(--font-family-display);font-size:29px;line-height:1.15;letter-spacing:-1px}body .app .replays-count{padding:6px 9px;border-radius:8px;background:var(--charte-color-accent);color:var(--charte-color-fill-action-text);font-size:13px;letter-spacing:0}body .app .replays-tabs{display:flex;gap:22px;margin:0 0 22px;border-bottom:1px solid var(--color-border)}body .app .replays-tabs button{position:relative;min-height:44px;padding:0 0 13px;border:0;background:none;color:var(--color-text-secondary);font-size:13px;line-height:1.4;cursor:pointer}body .app .replays-tabs button[aria-pressed=true]{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}body .app .replays-tabs button[aria-pressed=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:var(--charte-color-accent)}body .app .replays-loading{margin:0;padding:28px 0;text-align:center;font-size:14px;color:var(--color-text-secondary)}body .app .replays-empty{padding:40px 25px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);text-align:center}body .app .replays-empty h2{margin:0 0 8px;font-family:var(--font-family-display);font-size:22px;letter-spacing:-.5px}body .app .replays-empty p{margin:0 auto 20px;max-width:34ch;font-size:14px;line-height:1.6;color:var(--color-text-secondary)}body .app .replays-footnote{margin:24px 0 0;text-align:center;font-size:11px;line-height:1.6;color:var(--color-text-secondary)}body .app .replays-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 14px}body .app .replays-shared{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}body .app .replays-extra{grid-column:1 / -1;display:grid;gap:8px}body .app .replays-extra .play-my-clips-notice{margin:0}body .app .play-community{width:100%}body .app .play-community .community-heading{margin:0 0 22px}body .app .play-community .community-heading .play-setup-title{margin-bottom:0;font-size:29px;letter-spacing:-1px}body .app .play-community .community-demo{margin:0 0 18px;padding:9px 12px;border:1px dashed var(--color-border-strong);border-radius:9px;background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:11px;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;text-align:center}body .app .play-community .community-state{margin:0;padding:32px 22px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text-secondary);font-size:14px;line-height:1.6;text-align:center}body .app .play-community .community-state p{max-width:350px;margin:0 auto 18px}body .app .play-community .community-state p:last-child{margin-bottom:0}body .app .play-community .community-state h2{margin:0 0 8px;font-family:var(--font-family-display);font-size:21px;letter-spacing:-.5px;color:var(--color-text-primary)}body .app .play-community .community-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body .app .play-gallery .gallery-month{display:flex;align-items:center;gap:14px;padding:20px 18px;margin-bottom:22px;border:1px solid color-mix(in srgb,var(--charte-color-fill-action-text) 28%,var(--charte-color-accent));border-radius:15px;background:var(--charte-color-accent);color:var(--charte-color-fill-action-text)}body .app .play-gallery .gallery-month-icon{flex-shrink:0}body .app .play-gallery .gallery-month-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}body .app .play-gallery .gallery-month-kicker{display:block;font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}body .app .play-gallery .gallery-month h2{margin:6px 0 8px;font-family:var(--font-family-display);font-size:21px;letter-spacing:-.7px;text-wrap:balance}body .app .play-gallery .gallery-month p{margin:0;font-size:12px;line-height:1.5}body .app .play-gallery .gallery-filters{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:22px}body .app .play-gallery .community-tabs{display:flex;flex:1 0 100%;order:1;gap:19px;margin:0;border-bottom:1px solid var(--color-border)}body .app .play-gallery .community-tabs button{position:relative;padding:0 0 13px;border:0;background:none;color:var(--color-text-secondary);font-size:12px;line-height:1.4;cursor:pointer}body .app .play-gallery .community-tabs button[aria-pressed=true]{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}body .app .play-gallery .community-tabs button[aria-pressed=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:var(--charte-color-accent)}body .app .play-gallery .gallery-month-picker{display:block;width:100%}body .app .play-gallery .gallery-month-picker select{width:100%;min-height:40px;padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:12px;text-transform:capitalize}body .app .play-gallery .clip-card-footer{flex-wrap:nowrap}body .app .play-gallery .gallery-card-by{display:flex;flex:1;align-items:center;gap:8px;min-width:0}body .app .play-gallery .gallery-author{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--color-text-secondary)}body .app .play-gallery .gallery-author strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}body .app .play-gallery .gallery-leader{display:flex;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;white-space:nowrap;font-size:9px;font-weight:var(--font-weight-bold)}body .app .play-gallery .gallery-leader svg{width:15px;height:15px;fill:var(--charte-color-accent);stroke:var(--color-text-primary);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}body .app .play-gallery .clip-vote{display:flex;flex-shrink:0;align-items:center;justify-content:center;gap:8px;min-width:70px;min-height:42px;padding:9px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-background);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-bold);cursor:pointer}body .app .play-gallery .clip-vote svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}body .app .play-gallery .clip-vote.voted{border-color:var(--charte-color-fill-action-text);background:var(--charte-color-accent);color:var(--charte-color-fill-action-text)}body .app .play-gallery .clip-vote.voted svg{fill:currentColor}body .app .play-gallery .clip-vote:disabled{cursor:default}body .app .play-gallery .clip-vote:disabled:not(.voted){opacity:.7}body .app .play-gallery .clip-list>li{display:block;min-width:0}body .app .play-ranking .rank-personal{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px 21px;margin-bottom:22px;border:1px solid color-mix(in srgb,var(--charte-color-fill-action-text) 28%,var(--charte-color-accent));border-radius:15px;background:var(--charte-color-accent);color:var(--charte-color-fill-action-text)}body .app .play-ranking .rank-personal>div+div{padding-left:20px;border-left:1px solid color-mix(in srgb,var(--charte-color-fill-action-text) 19%,transparent)}body .app .play-ranking .rank-personal span{font-size:12px}body .app .play-ranking .rank-personal strong{display:block;margin-top:8px;font-family:var(--font-family-display);font-size:33px;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}body .app .play-ranking .rank-personal small{font-size:20px;vertical-align:super;letter-spacing:0}body .app .play-ranking .rank-personal .rank-distance{grid-column:1 / -1;padding-top:15px;border-top:1px solid color-mix(in srgb,var(--charte-color-fill-action-text) 15%,transparent);font-size:11px}body .app .play-ranking .rank-table{overflow:hidden;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface)}body .app .play-ranking .rank-table-head,body .app .play-ranking .rank-row{display:grid;grid-template-columns:32px minmax(0,1fr) 59px;align-items:center;gap:11px;padding:12px 13px}body .app .play-ranking .rank-table-head{background:var(--color-background);color:var(--color-text-secondary);font-size:10px;letter-spacing:.08em;text-transform:uppercase}body .app .play-ranking .rank-table-head>span:last-child{text-align:right}body .app .play-ranking .rank-row{min-height:63px;border-top:1px solid var(--color-border)}body .app .play-ranking .rank-row.is-me{background:color-mix(in srgb,var(--charte-color-accent) 10%,transparent);box-shadow:inset 4px 0 var(--charte-color-accent)}body .app .play-ranking .rank-number{font-size:13px;color:var(--color-text-secondary);text-align:center}body .app .play-ranking .rank-medal{display:block;width:31px;height:38px;margin:auto;--rank-medal-ink: var(--charte-color-fill-action-text)}body .app .play-ranking .rank-medal-1{color:#ffd600}body .app .play-ranking .rank-medal-2{color:#c7cbd1}body .app .play-ranking .rank-medal-3{color:#d6a16a}body .app .play-ranking .rank-medal-ribbon{fill:currentColor;opacity:.35}body .app .play-ranking .rank-medal-disc{fill:currentColor;stroke:var(--rank-medal-ink);stroke-width:1.3}body .app .play-ranking .rank-medal-ring{fill:none;stroke:var(--rank-medal-ink);stroke-width:.7}body .app .play-ranking .rank-medal text{fill:var(--rank-medal-ink);font-family:Arial,sans-serif;font-size:16px;font-weight:700}body .app .play-ranking .rank-name{display:flex;align-items:center;gap:8px;min-width:0}body .app .play-ranking .rank-name strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}body .app .play-ranking .rank-name small{font-size:9px;color:var(--color-text-secondary)}body .app .play-ranking .rank-avatar{display:grid;flex-shrink:0;place-items:center;width:27px;height:27px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-background);font-size:9px}body .app .play-ranking .rank-elo{font-size:14px;letter-spacing:-.3px;font-variant-numeric:tabular-nums;text-align:right}body .app .play-ranking .rank-scopes{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin-bottom:16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface)}body .app .play-ranking .rank-scope{min-height:36px;padding:6px 10px;border:0;border-radius:999px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:700;cursor:pointer}body .app .play-ranking .rank-scope.is-active{background:var(--charte-color-accent);color:var(--charte-color-fill-action-text)}body .app .play-ranking .rank-scope:focus-visible{outline:2px solid var(--charte-color-accent);outline-offset:2px}body .app .play-ranking .rank-no-points{margin:0 0 16px;padding:14px 16px;border:1px dashed var(--color-border);border-radius:15px;color:var(--color-text-secondary);font-size:13px}body .app .play-ranking .rank-scale{margin:14px 0 0;color:var(--color-text-secondary);font-size:11px;line-height:1.5}.play-setup{max-width:640px;margin:0 auto;padding:var(--space-8) 0 var(--space-48)}.play-eyebrow{margin:0 0 6px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}.play-setup-title{margin:0 0 var(--space-16);font-family:var(--font-family-display);font-size:26px;line-height:var(--charte-line-height-h1);letter-spacing:var(--charte-letter-spacing-h1)}.play-setup-card{padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.play-setup-label{margin:22px 0 10px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}.play-setup-label:first-child{margin-top:0}.play-setup-note{margin:10px 0 0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.play-segment{display:flex;width:100%}.play-segment button{flex:1 1 0}.play-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.play-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.play-choice{min-height:52px;padding:7px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-semibold);line-height:1.2;cursor:pointer}.play-choice:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.play-choice-active,.play-choice-active:hover{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background)}.play-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-elevated)}.play-toggle-copy{display:grid;gap:2px;min-width:0}.play-toggle-copy strong{font-size:14px;font-weight:var(--font-weight-semibold)}.play-toggle-copy small{font-size:var(--font-size-small);color:var(--color-text-secondary)}.play-switch{position:relative;flex:0 0 auto;width:46px;height:26px;min-height:0;margin:9px 0;padding:0;border:0;border-radius:999px;background:var(--color-border-strong);box-shadow:none;cursor:pointer;transition:background .18s}.play-switch:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:999px}.play-switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--charte-color-panel);box-shadow:0 1px 3px #00000040;transition:transform .18s}.play-switch-on{background:var(--color-text-primary)}.play-switch-on .play-switch-knob{transform:translate(20px)}.play-start{width:100%;margin-top:25px;min-height:var(--tap-target-min)}.play-app{min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom))}.play-screen{display:flex;flex-direction:column;gap:8px;width:100%;max-width:560px;margin:0 auto}.play-player{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px}.play-player-bottom{grid-template-columns:34px minmax(0,1fr) auto auto}.play-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-bold)}.play-identity{display:grid;gap:1px;min-width:0}.play-name{overflow:hidden;font-size:15px;font-weight:var(--font-weight-bold);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.play-subtitle{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.play-clock{min-width:64px;padding:6px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);font-family:var(--font-family-mono);font-size:18px;font-weight:var(--font-weight-black);line-height:1.2;text-align:center;font-variant-numeric:tabular-nums}.play-clock-active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background)}.play-clock-low.play-clock-active{background:var(--color-danger);border-color:var(--color-danger);color:var(--charte-color-panel)}.play-board-row{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:7px;align-items:stretch}.play-screen-no-eval .play-board-row{grid-template-columns:minmax(0,1fr)}.play-board-frame{width:min(100%,calc(100dvh - 230px));justify-self:center;align-self:start}.play-board-frame .board-wrap{width:100%}.play-eval{--play-eval-dark:var(--charte-color-ink);--play-eval-light:#f4f5f7;display:flex;flex-direction:column;gap:4px;min-width:0}.play-eval-vertical{align-items:center;height:100%}.play-eval-readout{min-height:14px;font-size:10px;font-weight:var(--font-weight-bold);line-height:14px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.play-eval-vertical .play-eval-readout{width:100%;margin-left:-8px;margin-right:-8px}.play-eval-bar{position:relative;flex:1 1 auto;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--play-eval-dark)}.play-eval-vertical .play-eval-bar{width:18px;min-height:120px}.play-eval-white{position:absolute;left:0;right:0;bottom:0;background:var(--play-eval-light);transition:height .4s ease,width .4s ease}.play-eval-flipped.play-eval-vertical .play-eval-white{top:0;bottom:auto}.play-eval-horizontal .play-eval-bar{height:12px;min-height:0;border-radius:7px}.play-eval-horizontal .play-eval-white{top:0;bottom:0;right:auto;height:100%}.play-eval-horizontal .play-eval-readout{text-align:left;font-size:13px}.play-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:32px}.play-options-button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--charte-radius-tag);background:var(--color-surface);color:var(--color-text-primary);font-size:11px;font-weight:var(--font-weight-semibold);box-shadow:none}.play-notice{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.play-moves{display:none;margin:0;padding:0;list-style:none}.play-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-12) var(--space-12) calc(env(safe-area-inset-bottom,0px) + var(--space-24));background:#00000073}.play-sheet{position:relative;width:100%;max-width:480px;max-height:calc(100dvh - var(--space-48) - var(--space-48));overflow-y:auto;padding:var(--space-24) var(--space-16) var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-lg);outline:none;animation:sheet-up .32s cubic-bezier(.2,.8,.2,1)}@keyframes play-sheet-rise{0%{translate:0 24px;opacity:0}}.play-sheet-close{position:absolute;top:var(--space-12);right:var(--space-12);width:var(--charte-size-close-button);height:var(--charte-size-close-button);min-height:0;padding:0;border:0;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:22px;line-height:1;box-shadow:none;cursor:pointer}.play-options-sheet{padding-top:calc(var(--space-24) + var(--charte-size-close-button))}.play-sheet-actions{display:grid;gap:var(--space-8)}.play-sheet-actions button{width:100%;min-height:var(--tap-target-min)}.play-danger{color:var(--color-danger);border-color:var(--color-danger-quiet)}.play-result-title{margin:0 0 4px;font-family:var(--font-family-display);font-size:24px;line-height:1.15}.play-result-reason{margin:0 0 var(--space-16);font-size:var(--font-size-small);color:var(--color-text-secondary)}.versus-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;overflow:hidden;background:var(--charte-color-ink);pointer-events:none}.versus-half{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.versus-half-left{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);clip-path:polygon(0 0,64% 0,46% 100%,0 100%);transform:translate(-105%);animation:versus-panel-left .56s cubic-bezier(.16,.78,.24,1) forwards}.versus-half-right{background:var(--charte-color-ink);color:#fff;clip-path:polygon(64% 0,100% 0,100% 100%,46% 100%);transform:translate(105%);animation:versus-panel-right .56s cubic-bezier(.16,.78,.24,1) forwards}.versus-name{position:absolute;max-width:40vw;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;font-size:clamp(24px,6.4vw,54px);font-weight:var(--font-weight-black);letter-spacing:-1px;line-height:1.05;opacity:0;animation:versus-name-in .38s .4s ease-out forwards}.versus-half-left .versus-name{left:5vw;bottom:58%;text-align:left;transform:translate(-18px)}.versus-half-right .versus-name{right:5vw;top:58%;text-align:right;transform:translate(18px)}.versus-cut{position:absolute;z-index:4;left:50%;top:50%;width:140vw;height:3px;background:linear-gradient(90deg,transparent,#ffffff 12%,#ffffff 88%,transparent);box-shadow:0 0 10px #fff,0 0 28px var(--charte-color-fill-coach);transform:translate(-50%,-50%) rotate(-10deg) scaleX(0);opacity:0;animation:versus-cut .45s .63s ease-out forwards}.versus-vs{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-10deg) scale(.4);font-size:clamp(28px,8vw,70px);font-weight:var(--font-weight-black);font-style:italic;color:#fff;text-shadow:0 0 16px #ffffff,0 0 32px var(--charte-color-fill-coach);opacity:0;animation:versus-vs .5s .72s ease-out forwards}.versus-intro-fade{animation:versus-fade .36s forwards}@keyframes versus-panel-left{to{transform:translate(0)}}@keyframes versus-panel-right{to{transform:translate(0)}}@keyframes versus-name-in{to{opacity:1;transform:translate(0)}}@keyframes versus-cut{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scaleX(0)}30%{opacity:1}80%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scaleX(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scaleX(1)}}@keyframes versus-vs{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(.4)}45%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1.18)}to{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}}@keyframes versus-fade{to{opacity:0}}.versus-intro-reduced .versus-half,.versus-intro-reduced .versus-name,.versus-intro-reduced .versus-cut,.versus-intro-reduced .versus-vs{animation-duration:.01ms;animation-delay:0s}@media (prefers-reduced-motion:reduce){.versus-half,.versus-name,.versus-cut,.versus-vs{animation-duration:.01ms!important;animation-delay:0s!important}.play-sheet{animation:none}.play-eval-white,.play-switch,.play-switch-knob{transition:none}}.play-analysis{display:contents}.play-friend-pick{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}.play-friend-select{width:100%;min-height:var(--tap-target-min);padding:0 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:var(--font-weight-semibold)}.play-friend-add{width:44px;min-height:var(--tap-target-min);padding:0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font-size:22px;line-height:1;box-shadow:none}.play-friend-empty{margin:0}.play-challenges{margin-bottom:14px}.play-challenge-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.play-challenge-row{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:var(--color-surface-2, rgba(127, 127, 127, .08))}.play-challenge-text{margin:0;font-weight:600}.play-challenge-actions{display:flex;gap:8px;flex-wrap:wrap}.play-challenge-actions .primary-action,.play-challenge-actions .secondary-action{flex:1 1 120px;min-height:40px}.play-setup-notice{margin:0 0 12px}.play-challenge-badge{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--color-accent, #e8a33d);color:var(--color-on-accent, #1a1a1a)}.dojo-activity-play{position:relative}.play-waiting-card{display:grid;justify-items:center;gap:16px;text-align:center;padding:24px 16px}.play-waiting-text{margin:0;font-size:1.05rem}.play-waiting-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--color-border, rgba(127, 127, 127, .35));border-top-color:var(--color-accent, #e8a33d);animation:play-spin .9s linear infinite}@keyframes play-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.play-waiting-spinner{animation:none}}.play-wait-sheet{display:grid;justify-items:center;gap:14px;text-align:center}.play-versus{position:relative}.play-emotes{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:150px}.play-emote{min-width:32px;min-height:32px;padding:0 4px;border:0;border-radius:8px;background:var(--color-surface-2, rgba(127, 127, 127, .1));font-size:1.1rem;line-height:1;cursor:pointer}.play-emote:disabled{opacity:.4;cursor:default}.play-emote-bubble{position:absolute;left:72px;padding:6px 12px;border-radius:14px;background:var(--color-surface, #fff);box-shadow:0 4px 14px #0000002e;font-size:1.6rem;line-height:1;animation:play-emote-pop .25s ease-out;z-index:3}.play-emote-bubble-opponent{top:8px}.play-emote-bubble-me{bottom:110px}@keyframes play-emote-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.play-draw-offer{position:absolute;left:50%;bottom:96px;transform:translate(-50%);width:min(92%,420px);padding:12px 14px;border-radius:14px;background:var(--color-surface, #fff);box-shadow:0 6px 20px #00000038;z-index:4}.play-draw-offer p{margin:0 0 10px;font-weight:600;text-align:center}.play-clip-button:disabled{opacity:.45;cursor:default}.play-clip-button span{color:var(--color-danger)}.play-clip-button-done span{color:var(--color-success)}.play-clips{margin:0 0 var(--space-16)}.play-clips-list{display:grid;gap:var(--space-8);margin:var(--space-8) 0 0;padding:0;list-style:none}.play-clips-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated)}.play-clips-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.play-clips-replay{flex:none;min-height:var(--tap-target-min);padding:0 var(--space-12);font-size:var(--font-size-small)}.play-clip-backdrop{align-items:center;background:#000c}.play-clip-sheet{max-width:min(560px,100%);padding:var(--space-16) var(--space-12) var(--space-12)}.play-clip-title{margin:0 0 var(--space-12);font-size:var(--font-size-body)}.play-clip-board{position:relative;width:min(100%,calc(100dvh - 296px));margin:0 auto var(--space-8)}.play-clip-card-slot{display:flex;justify-content:center;min-height:calc(var(--font-size-small) * 1.5 + var(--space-4) * 2);margin:0 0 var(--space-12)}.play-clip-card{margin:0;max-width:100%;padding:var(--space-4) var(--space-12);font-size:var(--font-size-small);border-radius:var(--radius-card);background:var(--charte-color-ink);color:#fff;font-weight:var(--font-weight-semibold);text-align:center;animation:play-sheet-rise .24s ease-out}.play-clip-viewport{overflow:hidden;border-radius:inherit}.play-clip-zoom{transition:transform .45s ease-in-out}.play-clip-zoom--on{transform:scale(1.6)}.play-clip-board--shake-a{animation:play-clip-shake-a .32s ease-in-out}.play-clip-board--shake-b{animation:play-clip-shake-b .32s ease-in-out}@keyframes play-clip-shake-a{0%,to{transform:translate(0)}20%{transform:translate(-4px,1px)}40%{transform:translate(4px,-1px)}60%{transform:translate(-3px)}80%{transform:translate(2px,1px)}}@keyframes play-clip-shake-b{0%,to{transform:translate(0)}20%{transform:translate(-4px,1px)}40%{transform:translate(4px,-1px)}60%{transform:translate(-3px)}80%{transform:translate(2px,1px)}}.play-clip-waiting{margin:0;align-self:center;font-size:var(--font-size-small);color:var(--color-text-secondary)}@media (prefers-reduced-motion: reduce){.play-clip-zoom{transition:none}.play-clip-zoom--on{transform:none}.play-clip-board--shake-a,.play-clip-board--shake-b{animation:none}}.play-clips-keep{margin:var(--space-8) 0 0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.play-clips-guest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-8)}.play-clips-guest p{margin:0;flex:1 1 12rem;min-width:0}.play-clips-guest button{flex:none;min-height:var(--tap-target-min);padding:0 var(--space-12);font-size:var(--font-size-small)}.play-my-clips-list{display:grid;gap:var(--space-12);margin:var(--space-16) 0 0;padding:0;list-style:none}.play-my-clips-item{display:grid;gap:var(--space-8);padding:var(--space-16)}.play-my-clips-label{margin:0;font-weight:var(--font-weight-semibold);min-width:0}.play-my-clips-date{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.play-my-clips-confirm{display:grid;gap:var(--space-8)}.play-my-clips-confirm p{margin:0;font-size:var(--font-size-small)}.play-my-clips-actions{display:flex;flex-wrap:wrap;gap:var(--space-8)}.play-my-clips-actions button{flex:1 1 9rem;min-height:var(--tap-target-min)}.play-my-clips-back{width:100%;margin-top:var(--space-16);min-height:var(--tap-target-min)}.play-my-clips-notice{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.play-public-clip{min-height:100dvh;background:var(--color-background)}.play-public-clip-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px;text-align:center}.play-public-clip-text{margin:0;max-width:32ch;color:var(--color-text-primary)}:root{--badge-seal-ink: #22221f;--badge-seal-ring-soft: #22221f45;--badge-seal-ring-mid: #22221f80;--badge-seal-locked-glyph: #94958d;--badge-seal-locked-outer: #c7c9c0;--badge-seal-locked-inner: #eceee7;--badge-seal-locked-ring: #c4c7bc;--badge-seal-lock-ink: #7d8074;--badge-seal-earned-border: #c9be74;--badge-seal-earned-shadow: #22221f08}:root[data-theme=dark]{--badge-seal-earned-border: #8f803b}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--badge-seal-earned-border: #8f803b}}body .success-screen .badge-summary{display:flex;align-items:baseline;justify-content:flex-start;gap:9px;margin:0 0 18px;font-size:12px;color:var(--color-text-secondary)}body .success-screen .badge-summary strong{font-size:17px;font-weight:var(--font-weight-bold);letter-spacing:-.4px;color:var(--color-text-primary)}body .success-screen .badge-summary span{margin-left:0;font-size:12px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary);white-space:nowrap}body .success-screen .badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}body .success-screen .badge-tile{position:relative;display:grid;place-items:center;min-width:0;min-height:84px;padding:12px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:none;isolation:isolate;transition:transform .18s,border-color .18s,box-shadow .18s}body .success-screen .badge-tile.is-earned{border-color:var(--badge-seal-earned-border);box-shadow:0 3px 0 var(--badge-seal-earned-shadow)}body .success-screen .badge-tile:hover{background:var(--color-surface);border-color:var(--color-text-primary);box-shadow:0 5px #22221f0b;transform:translateY(-3px)}body .success-screen .badge-tile:focus-visible,body .badge-sheet .badge-sheet-close:focus-visible{outline:3px solid var(--charte-color-accent);outline-offset:3px}body .success-screen .badge-lock{position:absolute;right:6%;bottom:8%;z-index:4;display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--badge-seal-locked-outer);border-radius:50%;background:#fff;color:var(--badge-seal-lock-ink);box-shadow:none}body .success-screen .badge-lock svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}body .badge-seal.badge-medal{--seal-shape: polygon(50% 0%, 84% 8%, 96% 25%, 94% 73%, 78% 91%, 50% 100%, 22% 91%, 6% 73%, 4% 25%, 16% 8%);--seal-outer: var(--badge-seal-ink);--seal-inner: var(--charte-color-accent);--seal-ring-color: var(--badge-seal-ring-soft);position:relative;display:grid;place-items:center;box-sizing:border-box;width:61px;max-width:100%;height:auto;max-height:none;aspect-ratio:1 / 1.1;margin:0;color:var(--badge-seal-ink);filter:none;opacity:1;transform:none;transition:none;isolation:isolate}body .badge-seal.badge-medal:before,body .badge-seal.badge-medal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;clip-path:var(--seal-shape);background:var(--seal-outer);box-shadow:none}body .badge-seal.badge-medal:after{top:2px;right:2px;bottom:2px;left:2px;z-index:-1;background:var(--seal-inner)}body .badge-seal.badge-medal .badge-seal-ring{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:1px solid var(--seal-ring-color);border-radius:35% 35% 42% 42%;pointer-events:none}body .badge-seal.badge-medal[data-variant="2"]{--seal-shape: polygon(50% 0%, 78% 7%, 96% 24%, 98% 68%, 80% 90%, 50% 100%, 20% 90%, 2% 68%, 4% 24%, 22% 7%);--seal-ring-color: var(--badge-seal-ring-mid)}body .badge-seal.badge-medal[data-variant="2"] .badge-seal-ring{top:10%;right:10%;bottom:10%;left:10%;border:3px double var(--seal-ring-color)}body .badge-seal.badge-medal[data-variant="3"]{--seal-shape: polygon(50% 0%, 69% 9%, 89% 5%, 96% 29%, 100% 50%, 93% 72%, 82% 96%, 50% 100%, 18% 96%, 7% 72%, 0% 50%, 4% 29%, 11% 5%, 31% 9%);--seal-ring-color: var(--badge-seal-ink)}body .badge-seal.badge-medal[data-variant="3"] .badge-seal-ring{top:11%;right:11%;bottom:11%;left:11%;border:2px solid var(--seal-ring-color);border-radius:50%}body .badge-seal.badge-medal[data-variant="4"]{--seal-shape: polygon(50% 0%, 75% 10%, 95% 22%, 99% 52%, 89% 83%, 50% 100%, 11% 83%, 1% 52%, 5% 22%, 25% 10%);--seal-ring-color: var(--badge-seal-ink)}body .badge-seal.badge-medal[data-variant="4"] .badge-seal-ring{top:10%;right:10%;bottom:10%;left:10%;border:3px double var(--seal-ring-color);border-radius:50%}body .badge-seal.badge-medal .badge-seal-glyph{position:static;z-index:auto;width:47%;height:47%;transform:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}body .badge-seal.badge-medal .badge-seal-question{font-size:29px;font-weight:var(--font-weight-bold);color:inherit}body .badge-seal.badge-medal[data-state=locked]{--seal-outer: var(--badge-seal-locked-outer);--seal-inner: var(--badge-seal-locked-inner);--seal-ring-color: var(--badge-seal-locked-ring);color:var(--badge-seal-locked-glyph)}body .success-screen .badge-tile:hover .badge-seal.badge-medal{transform:none}body .badge-sheet{inset:auto 0 0;box-sizing:border-box;width:100%;max-width:none;max-height:92dvh;margin:0 auto;padding:30px 26px calc(30px + env(safe-area-inset-bottom,0px));border:1px solid var(--color-border);border-bottom:0;border-radius:24px 24px 0 0;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 20px 80px #0003;overflow:auto;text-align:center}body .badge-sheet::backdrop{background:#15160f70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}body .badge-sheet .badge-sheet-body{position:static;padding:0;text-align:center}body .badge-sheet .badge-sheet-handle{position:absolute;top:9px;left:calc(50% - 16px);display:block;width:32px;height:4px;margin:0;border-radius:3px;background:var(--color-border)}body .badge-sheet .badge-sheet-close{position:absolute;top:12px;right:14px;display:grid;place-items:center;width:36px;height:36px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:var(--color-background);color:var(--color-text-primary);font-size:27px;font-weight:400;line-height:1}body .badge-sheet .badge-seal.badge-medal{width:116px;margin:8px auto 24px}body .badge-sheet .badge-seal.badge-medal .badge-seal-question{font-size:29px}body .badge-sheet .badge-sheet-kicker{margin:0 0 10px;font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:1.3px;text-transform:uppercase;color:var(--color-text-secondary)}body .badge-sheet .badge-sheet-title{margin:0 0 17px;font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:-.6px;line-height:1.2;color:var(--color-text-primary)}body .badge-sheet .badge-sheet-goal{max-width:none;margin:0 0 19px;font-size:14px;line-height:1.7;color:var(--color-text-secondary)}body .badge-sheet .badge-sheet-goal strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}body .badge-sheet .badge-sheet-status{display:inline-flex;align-items:center;margin:0;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--charte-radius-tag);background:transparent;font-size:12px;font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}body .badge-sheet .badge-sheet-status.is-earned{border-color:var(--charte-color-accent);background:var(--charte-color-accent);color:var(--charte-color-fill-action-text)}body .badge-sheet .badge-sheet-progress{margin:25px 0 0;padding-top:23px;border-top:1px solid var(--color-border);text-align:left}body .badge-sheet .badge-sheet-progress-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:11px;font-weight:var(--font-weight-regular);line-height:1.5;color:var(--color-text-primary)}body .badge-sheet .badge-sheet-progress-top strong{font-size:inherit;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}body .badge-sheet .badge-sheet-track{height:7px;margin-top:0;border-radius:10px;background:var(--color-border);overflow:hidden}body .badge-sheet .badge-sheet-track span{display:block;height:100%;border-radius:inherit;background:var(--charte-color-accent)}body .badge-sheet .badge-sheet-note{margin:22px 0 0;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}body .badge-celebration-medallion .badge-seal.badge-medal{width:132px}body .badge-celebration-other-seal .badge-seal.badge-medal{width:38px}@media (max-width: 360px){body .success-screen .badge-grid{gap:7px}body .success-screen .badge-tile{min-height:74px;padding:10px 4px}body .success-screen .badge-tile .badge-seal.badge-medal{width:52px}body .success-screen .badge-lock{width:18px;height:18px;right:6%}}@media (min-width: 768px){body .success-screen .badge-summary{margin-bottom:21px;font-size:14px}body .success-screen .badge-summary strong{font-size:19px}body .success-screen .badge-summary span{font-size:14px}body .app-desktop .success-screen .badge-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}body .success-screen .badge-tile{min-height:114px;padding:17px 8px;border-radius:13px}body .success-screen .badge-tile .badge-seal.badge-medal{width:74px}body .success-screen .badge-lock{right:9%;bottom:10%;width:21px;height:21px}body .success-screen .badge-lock svg{width:13px;height:13px}body .badge-sheet{top:0;right:0;bottom:0;left:0;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:34px 29px;border-bottom:1px solid var(--color-border);border-radius:22px}body .badge-sheet .badge-sheet-handle{display:none}}@media (prefers-reduced-motion: reduce){body .success-screen .badge-tile{transition:none}body .success-screen .badge-tile:hover{transform:none}}body .stats-screen{gap:0}body .stats-screen .stats-filters-row{display:flex;flex-wrap:nowrap;justify-content:stretch;gap:12px;margin:15px 0 0}body .stats-screen .stats-filters-row>*{flex:1 1 0;min-width:0}body .stats-screen .stats-segmented,body .stats-screen .stats-cadence-toggle{display:flex;flex-wrap:nowrap;gap:4px;max-width:none;padding:4px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-border)}body .stats-screen .stats-segmented button,body .stats-screen .stats-cadence-toggle button{flex:1 1 0;min-width:0;min-height:44px;padding:12px 6px;border:1px solid transparent;border-radius:7px;background:transparent;box-shadow:none;color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-semibold);white-space:nowrap}body .stats-screen .stats-segmented button.active,body .stats-screen .stats-cadence-toggle button.active{border-color:var(--color-text-primary);background:var(--color-surface);box-shadow:0 2px 4px #0000000a;color:var(--color-text-primary);font-weight:var(--font-weight-bold)}body .stats-screen .stats-segmented button:hover:not(.active),body .stats-screen .stats-cadence-toggle button:hover:not(.active){background:transparent;color:var(--color-text-primary)}body .stats-screen .stats-section,body .stats-screen .stats-section+.stats-section{min-width:0;margin:18px 0 0;padding:24px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:0 3px #22221f05}body .stats-screen .stats-section-head{align-items:baseline;gap:12px;margin:0 0 20px}body .stats-screen .stats-section-head h2{margin:0;font-size:17px;font-weight:var(--font-weight-bold);letter-spacing:-.3px;line-height:1.3}body .stats-screen .stats-section-note{font-size:12px;color:var(--color-text-secondary)}body .stats-screen .stats-panel{min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}body .stats-screen .stats-desktop-grid>.stats-panel+.stats-panel{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}body .stats-screen .stats-summary-grid,body .stats-screen .stats-kpi-row,body .stats-screen .stats-game-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;margin:0;overflow:visible;border:0;border-radius:0;background:transparent}body .stats-screen .stats-kpi-row,body .stats-screen .stats-game-result{margin:0 0 8px}body .stats-screen .stats-metric,body .stats-screen .stats-kpi,body .stats-screen .stats-result{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent}body .stats-screen .stats-metric-value,body .stats-screen .stats-kpi strong,body .stats-screen .stats-result strong{order:1;display:block;min-width:0;margin:0 0 7px;font-size:22px;font-weight:var(--font-weight-bold);letter-spacing:-.8px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--color-text-primary)}body .stats-screen .stats-metric-label,body .stats-screen .stats-kpi span,body .stats-screen .stats-result span{order:2;display:block;margin:0;font-size:11px;font-weight:var(--font-weight-regular);letter-spacing:0;line-height:1.5;text-transform:none;color:var(--color-text-secondary)}body .stats-screen .stats-metric-detail{order:3;margin:2px 0 0;font-size:11px;line-height:1.5;color:var(--color-text-secondary)}body .stats-screen .stats-simple-row{align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid var(--color-border);font-size:13px}body .stats-screen .stats-simple-row:last-child{border-bottom:0}body .stats-screen .stats-simple-row span:first-child,body .stats-screen .stats-simple-row strong{font-size:13px}body .stats-screen .stats-simple-row strong{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-primary)}body .stats-screen .stats-progress-line{margin-top:0}body .stats-screen .stats-progress-line-head{align-items:baseline;font-size:13px}body .stats-screen .stats-progress-line-head strong{font-size:13px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}body .stats-screen .stats-track{height:7px;margin:10px 0 21px;border-radius:10px;background:var(--color-border)}body .stats-screen .stats-fill{border-radius:10px;background:var(--charte-color-accent)}body .stats-screen .stats-fill.stats-fill-red{background:var(--color-danger)}body .stats-screen .stats-phase-title{margin:0 0 4px;font-size:15px;font-weight:var(--font-weight-bold)}body .stats-screen .stats-phase-row{grid-template-columns:76px minmax(0,1fr) 36px;gap:10px;margin-top:10px}body .stats-screen .stats-phase-row .stats-track{margin:0}body .stats-screen .stats-phase-row span{font-size:12px;color:var(--color-text-secondary)}body .stats-screen .stats-phase-row strong{font-size:13px;font-variant-numeric:tabular-nums}body .stats-screen .stats-evolution-note{font-size:11px;color:var(--color-text-secondary)}body .stats-screen .stats-rating-strip{margin:0 0 20px}body .stats-screen .stats-rating{min-width:0}body .stats-screen .stats-rating-label{font-size:12px;color:var(--color-text-secondary)}body .stats-screen .stats-rating-value{margin:6px 0 2px;font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}body .stats-screen .stats-rating-delta,body .stats-screen .stats-rating-delta.stats-rating-delta-down{margin:0 0 6px;font-size:12px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}body .stats-screen .stats-rating-sub,body .stats-screen .stats-rating-empty{font-size:11px;color:var(--color-text-secondary)}body .stats-screen .stats-chart-head{flex-direction:column;align-items:stretch;gap:12px;margin:0}body .stats-screen .stats-chart-head strong{font-size:15px;font-weight:var(--font-weight-bold)}body .stats-screen .stats-chart{height:auto;margin:15px 0 0}body .stats-screen .stats-chart svg{display:block;height:130px}body .stats-screen .stats-chart-area{fill:var(--charte-color-accent);opacity:.25;stroke:none}body .stats-screen .stats-chart-line{fill:none;stroke:var(--color-text-primary);stroke-width:2;vector-effect:non-scaling-stroke}body .stats-screen .stats-chart-caption{margin-top:8px;font-size:11px;color:var(--color-text-secondary)}@media (max-width: 700px){body .stats-screen .stats-filters-row{flex-wrap:wrap}body .stats-screen .stats-filters-row>*{flex-basis:100%}body .stats-screen .stats-section,body .stats-screen .stats-section+.stats-section{padding:20px}}@media (max-width: 400px){body .stats-screen .stats-summary-grid,body .stats-screen .stats-kpi-row,body .stats-screen .stats-game-result{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){body .stats-screen .stats-section,body .stats-screen .stats-section+.stats-section{padding:24px}body .stats-screen .stats-desktop-grid>.stats-panel+.stats-panel{margin-top:0;padding-top:0;border-top:0}}body .profile-screen .profile-identity{display:flex;align-items:center;gap:17px;min-width:0;margin:0 0 7px}body .profile-screen .person-avatar{display:grid;place-items:center;flex-shrink:0;width:66px;height:66px;overflow:hidden;border:1px solid var(--charte-color-fill-action-text);border-radius:50%;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-size:23px;font-weight:var(--font-weight-bold);object-fit:cover}body .profile-screen .profile-identity-name{min-width:0;margin:0;font-size:28px;font-weight:var(--font-weight-bold);letter-spacing:-.6px;line-height:1.2;overflow-wrap:anywhere;color:var(--color-text-primary)}body .profile-screen .profile-section.profile-section-stats,body .profile-screen .profile-section.profile-section-notebook,body .profile-screen .profile-section.profile-section-credits{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}body .profile-screen .profile-section.profile-section-stats{margin:0 0 8px}body .profile-screen .profile-notebook-open{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:0;padding:21px 24px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);box-shadow:0 3px #22221f05;color:var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-bold);text-align:left}body .profile-screen .profile-notebook-open:hover{border-color:var(--color-text-primary)}body .profile-screen .profile-notebook-open .profile-notebook-open-label{flex:1;min-width:0;text-align:left}body .profile-screen .profile-stats-open .profile-stats-open-icon{width:32px;height:32px;flex-shrink:0;color:var(--color-text-primary)}body .profile-screen .profile-segments,body .profile-screen .theme-switcher,body .profile-screen .skin-switcher{display:flex;flex-wrap:nowrap;gap:4px;width:100%;max-width:none;margin:0;padding:4px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-border)}body .profile-screen .profile-segments button,body .profile-screen .theme-switcher .theme-switcher-pill,body .profile-screen .skin-switcher .skin-switcher-pill{flex:1 1 0;min-width:0;min-height:44px;padding:12px 6px;border:1px solid transparent;border-radius:7px;background:transparent;box-shadow:none;color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-semibold);white-space:nowrap}body .profile-screen .profile-segments button.active,body .profile-screen .theme-switcher .theme-switcher-pill-active,body .profile-screen .skin-switcher .skin-switcher-pill-active{border-color:var(--color-text-primary);background:var(--color-surface);box-shadow:0 2px 4px #0000000a;color:var(--color-text-primary);font-weight:var(--font-weight-bold)}body .profile-screen .profile-segments button:hover:not(.active),body .profile-screen .theme-switcher .theme-switcher-pill:hover:not(.theme-switcher-pill-active),body .profile-screen .skin-switcher .skin-switcher-pill:hover:not(.skin-switcher-pill-active){background:transparent;color:var(--color-text-primary)}body .profile-screen .profile-section,body .profile-screen .profile-section+.profile-section{gap:0;padding:24px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:0 3px #22221f05}body .profile-screen .profile-section.profile-section-stats,body .profile-screen .profile-section.profile-section-notebook,body .profile-screen .profile-section.profile-section-credits,body .profile-screen .profile-section+.profile-section.profile-section-notebook,body .profile-screen .profile-section+.profile-section.profile-section-credits{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}body .profile-screen .profile-section-title{margin:0 0 20px;font-size:17px;font-weight:var(--font-weight-bold);letter-spacing:-.3px;line-height:1.3}body .profile-screen .friends-invite-title,body .profile-screen .friends-subtitle{margin:0 0 11px;font-size:15px;font-weight:var(--font-weight-bold);line-height:1.4}body .profile-screen .player-accounts-settings-input,body .profile-screen .friends-search-input{min-height:44px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-background);color:var(--color-text-primary);font-size:15px}body .profile-screen .player-accounts-settings-input:focus-visible,body .profile-screen .friends-search-input:focus-visible{outline:2px solid var(--charte-color-accent);outline-offset:2px}body .profile-screen .friends-add-lead,body .profile-screen .player-accounts-settings-hint,body .profile-screen .friends-hint{font-size:13px;line-height:1.65;color:var(--color-text-secondary)}body .profile-screen .friends-add-head strong,body .profile-screen .profile-appearance-label{font-size:12px;font-weight:var(--font-weight-semibold)}body .profile-screen .friends-add-row button,body .profile-screen .friends-row-actions .friends-challenge,body .profile-screen .friends-request-row .friends-row-actions button:first-child,body .profile-screen .sync-bar-signin{min-height:44px;padding:12px 17px;border:1px solid var(--charte-color-fill-action-text);border-radius:8px;background:var(--charte-color-fill-action);box-shadow:none;color:var(--charte-color-fill-action-text);font-size:13px;font-weight:var(--font-weight-bold);white-space:nowrap}body .profile-screen .friends-invite-button,body .profile-screen .friends-request-row .friends-row-actions button:last-child{min-height:44px;padding:12px 17px;border:1px solid var(--color-text-primary);border-radius:8px;background:transparent;box-shadow:none;color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-semibold);white-space:nowrap}body .profile-screen .friends-add-row{align-items:center;gap:10px;margin-top:9px}body .profile-screen .friends-add-row .friends-search-input{flex:1 1 0;min-width:0;width:100%}body .profile-screen .friends-add-row button{flex:none}body .profile-screen .friends-settings>.friends-add,body .profile-screen .friends-settings>.friends-requests,body .profile-screen .friends-settings>.friends-list,body .profile-screen .friends-settings>.friends-hint:last-child:not(:only-child){margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}body .profile-screen .friends-settings>.friends-list{padding-top:9px}body .profile-screen .friends-notice{margin-top:12px;font-size:12px;line-height:1.6;color:var(--color-text-secondary)}body .profile-screen .friends-list{gap:0;margin:0;padding:0;list-style:none}body .profile-screen .friends-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:11px 0;border-bottom:1px solid var(--color-border);font-size:15px;line-height:1.35}body .profile-screen .friends-row:last-child{border-bottom:0}body .profile-screen .friends-row-actions{display:contents}body .profile-screen .friends-avatar{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-background);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-bold)}body .profile-screen .friends-name{min-width:0;overflow:hidden;font-size:15px;font-weight:var(--font-weight-semibold)}body .profile-screen .friends-handle{max-width:100%;min-width:0}body .profile-screen .friends-handle-username{min-width:0}body .profile-screen .friends-handle-secondary{font-size:12px;font-weight:var(--font-weight-regular)}body .profile-screen .friends-row-actions .friends-challenge,body .profile-screen .friends-request-row .friends-row-actions button{min-height:40px;padding-top:10px;padding-bottom:10px}body .profile-screen .friends-row-actions .friends-remove{width:34px;min-width:0;min-height:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--color-text-secondary);font-size:24px;font-weight:var(--font-weight-regular);line-height:1}body .profile-screen .friends-row-actions .friends-remove:hover{color:var(--color-text-primary)}body .profile-screen .friends-request-row{grid-template-columns:40px minmax(0,1fr)}body .profile-screen .friends-request-row .friends-row-actions{display:flex;flex-wrap:wrap;grid-column:2;gap:8px}body .profile-screen .profile-appearance-group+.profile-appearance-group{margin-top:20px}body .profile-screen .profile-appearance-label{margin:0 0 8px;color:var(--color-text-primary)}body .profile-screen .sync-bar-anon{flex-wrap:wrap;gap:12px}@media (max-width: 700px){body .profile-screen .profile-section,body .profile-screen .profile-section+.profile-section{padding:20px}body .profile-screen .profile-section.profile-section-stats,body .profile-screen .profile-section.profile-section-notebook,body .profile-screen .profile-section.profile-section-credits,body .profile-screen .profile-section+.profile-section.profile-section-notebook,body .profile-screen .profile-section+.profile-section.profile-section-credits{padding:0}body .profile-screen .friends-row{gap:9px}body .profile-screen .friends-row-actions .friends-challenge{padding:10px 13px}body .profile-screen .friends-add-row{gap:8px}body .profile-screen .friends-add-row button{padding:13px}}@media (max-width: 400px){body .profile-screen .profile-identity-name{font-size:24px}}@media (max-width: 360px){body .profile-screen .friends-row{grid-template-columns:36px minmax(0,1fr) auto auto}body .profile-screen .friends-request-row{grid-template-columns:36px minmax(0,1fr)}body .profile-screen .friends-avatar{width:36px;height:36px}}@media (min-width: 768px){body .app-desktop .profile-screen{display:flex;flex-direction:column;max-width:740px;margin-inline:auto;gap:18px}body .profile-screen .profile-section,body .profile-screen .profile-section+.profile-section{padding:24px}body .profile-screen .profile-section.profile-section-stats,body .profile-screen .profile-section.profile-section-notebook,body .profile-screen .profile-section.profile-section-credits,body .profile-screen .profile-section+.profile-section.profile-section-notebook,body .profile-screen .profile-section+.profile-section.profile-section-credits{padding:0}}body .profile-screen .replay-opt-out-text,body .profile-screen .replay-opt-out-error{margin:0 0 var(--space-12);color:var(--color-text-secondary)}body .profile-screen .replay-opt-out-error{margin:var(--space-8) 0 0}body .profile-screen .replay-opt-out-toggle{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-button);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-primary);cursor:pointer}body .profile-screen .replay-opt-out-toggle:disabled{cursor:progress;opacity:.7}body .profile-screen .replay-opt-out-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}body .journal-screen{gap:0}body .journal-screen .journal-header{gap:0;margin-bottom:26px}body .journal-screen .journal-intro{margin:9px 0 0;max-width:none;font-size:13px;line-height:1.6;color:var(--color-text-secondary)}body .journal-screen .journal-aside{margin-top:26px;padding:23px;border:1px solid var(--charte-color-line);border-radius:var(--charte-radius-container);background:var(--charte-color-panel)}body .journal-screen .journal-aside-title{margin:0 0 22px;font-size:16px;font-weight:var(--font-weight-bold);letter-spacing:-.4px;line-height:1.4;color:var(--color-text-primary)}body .journal-screen .journal-ratings-platform+.journal-ratings-platform{margin-top:22px;padding-top:22px;border-top:1px solid var(--charte-color-line)}body .journal-screen .journal-ratings-platform-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:13px;font-weight:var(--font-weight-bold);line-height:1.4;color:var(--color-text-primary)}body .journal-screen .journal-ratings-platform-title svg{flex-shrink:0;width:22px;height:22px;color:var(--color-text-primary)}body .journal-screen .journal-ratings-platform .journal-ratings{display:grid;grid-template-columns:repeat(var(--journal-rating-columns, 3),minmax(0,1fr));gap:12px;margin:0;padding:0;border:0}body .journal-screen .journal-ratings>.journal-rating{display:block;min-width:0;padding:0;border:0;text-align:left}body .journal-screen .journal-rating-label{display:block;margin-bottom:8px;font-size:11px;font-weight:var(--font-weight-regular);line-height:1.6;color:var(--color-text-secondary)}body .journal-screen .journal-rating-value{display:block;margin:0;font-size:22px;font-weight:var(--font-weight-bold);line-height:1.15;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}body .journal-screen .journal-context{margin:22px 0 0;padding-top:17px;border-top:1px solid var(--charte-color-line);font-family:var(--font-family-mono);font-size:11px;line-height:1.6;color:var(--color-text-secondary)}body .journal-screen .journal-filters{display:flex;flex-wrap:wrap;gap:7px;max-width:none;margin:0 0 5px;padding:0 0 18px;border:0;border-bottom:1px solid var(--charte-color-line);border-radius:0;background:transparent}body .journal-screen .journal-filters .journal-filter{min-height:40px;padding:10px 17px;border:1px solid transparent;border-radius:20px;background:transparent;box-shadow:none;font-size:13px;font-weight:var(--font-weight-regular);color:var(--color-text-primary)}body .journal-screen .journal-filters .journal-filter:hover{border-color:var(--charte-color-line);background:transparent;color:var(--color-text-primary)}body .journal-screen .journal-filters .journal-filter--active,body .journal-screen .journal-filters .journal-filter--active:hover{border-color:transparent;background:var(--charte-color-accent);color:var(--charte-color-fill-action-text);font-weight:var(--font-weight-bold)}body .journal-screen .journal-note-list>.journal-note{display:grid;grid-template-columns:37px minmax(0,1fr);align-items:start;gap:13px;padding:24px 0;border-bottom:1px solid var(--charte-color-line)}body .journal-screen .journal-author-badge{display:flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:36px;height:42px;border-radius:0;background:transparent;align-self:start}body .journal-screen .journal-coach-avatar-picto{display:block;width:100%;height:100%}body .journal-screen .journal-author-badge--chesskata{width:34px;height:34px;border:1px solid var(--color-text-primary);border-radius:var(--charte-radius-secondary);background:var(--charte-color-accent);color:var(--charte-color-fill-action-text)}body .journal-screen .journal-author-badge--chesskata svg{width:20px;height:26px;fill:currentColor}body .journal-screen .journal-note-body{min-width:0}body .journal-screen .journal-note-byline{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:1px 0 7px}body .journal-screen .journal-note-author{margin:0;font-size:11px;font-weight:var(--font-weight-bold);line-height:normal;color:var(--color-text-primary)}body .journal-screen .journal-note-unread{display:inline-block;padding:3px 6px;border-radius:4px;background:color-mix(in srgb,var(--charte-color-accent) 21%,transparent);color:var(--color-text-primary);font-size:9px;font-weight:var(--font-weight-bold);letter-spacing:.3px;line-height:normal;text-transform:none}body .journal-screen .journal-note-date-row{display:block;margin:0 0 11px;font-size:10px;font-weight:var(--font-weight-regular);letter-spacing:0;line-height:normal;text-transform:none;color:var(--color-text-secondary)}body .journal-screen .journal-note-title{margin:0;font-size:14px;font-weight:var(--font-weight-regular);line-height:1.8;overflow-wrap:anywhere;color:var(--color-text-primary)}body .journal-screen .journal-note--team .journal-note-title{font-family:var(--font-family-mono);font-size:12px;color:var(--color-text-secondary)}body .journal-screen .journal-end{margin:23px 0;font-size:11px;text-align:center;color:var(--color-text-secondary)}@media (min-width: 768px){body .journal-screen,body .app-desktop .journal-screen{display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:auto auto auto auto 1fr;column-gap:34px;row-gap:0;align-items:start;max-width:875px;margin-inline:auto}body .journal-screen .journal-header{display:contents}body .journal-screen .journal-title{grid-column:1;grid-row:1}body .journal-screen .journal-intro{grid-column:1;grid-row:2;margin-bottom:30px;font-size:15px}body .journal-screen .journal-filters{grid-column:1;grid-row:3}body .journal-screen>.journal-note-list,body .journal-screen>.empty-state,body .journal-screen>.loading-state{grid-column:1;grid-row:4}body .journal-screen>.journal-end{grid-column:1;grid-row:5;align-self:start}body .journal-screen .journal-aside{grid-column:2;grid-row:1 / span 5;align-self:start;position:sticky;top:24px;margin-top:0;padding:25px}body .journal-screen .journal-aside-title{margin-bottom:25px}body .journal-screen .journal-ratings-platform+.journal-ratings-platform{margin-top:25px;padding-top:23px}body .journal-screen .journal-ratings-platform-title{margin-bottom:19px}body .journal-screen .journal-context{margin-top:24px}body .journal-screen .journal-note-list>.journal-note{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:27px 0}body .journal-screen .journal-author-badge{width:42px;height:46px}body .journal-screen .journal-author-badge--chesskata{width:39px;height:39px}body .journal-screen .journal-note-author{font-size:12px}body .journal-screen .journal-note-date-row{font-size:11px}body .journal-screen .journal-note-title{font-size:15px}body .journal-screen .journal-note--team .journal-note-title{font-size:13px}}:root{--kata-excellent-badge-bg: #e5f3e9;--kata-excellent-badge-border: #a9d2b6;--kata-excellent-badge-text: #226340}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--kata-excellent-badge-bg: #243e30;--kata-excellent-badge-border: #4b785b;--kata-excellent-badge-text: #a4dfb9}}:root[data-theme=dark]{--kata-excellent-badge-bg: #243e30;--kata-excellent-badge-border: #4b785b;--kata-excellent-badge-text: #a4dfb9}body .kata-tree .kata-tree-coach{display:grid;grid-template-columns:57px minmax(0,1fr);gap:17px;align-items:center;margin:0 0 22px}body .kata-tree .kata-tree-coach .kata-tree-avatar,body .kata-panel .kata-panel-coach .kata-tree-avatar{display:block;box-sizing:border-box;width:100%;height:auto;padding:0;border:0;border-radius:0;background:transparent}body .kata-tree .kata-tree-coach .kata-tree-coach-body{min-width:0}body .kata-tree .kata-tree-coach .kata-tree-coach-body p{--kata-bubble-bg: #ffffff;--kata-bubble-ink: #22221f;--kata-bubble-text: #53544d;position:relative;margin:0;padding:17px 18px;border:1.5px solid var(--kata-bubble-ink);border-radius:16px;background:var(--kata-bubble-bg);color:var(--kata-bubble-text);font-size:14px;line-height:1.65;overflow-wrap:anywhere}body .kata-tree .kata-tree-coach .kata-tree-coach-body p:before{content:"";position:absolute;top:calc(50% - 8px);left:-8px;width:14px;height:14px;border-bottom:1.5px solid var(--kata-bubble-ink);border-left:1.5px solid var(--kata-bubble-ink);background:var(--kata-bubble-bg);transform:rotate(45deg)}body .kata-tree .kata-tree-coach .kata-tree-coach-body p strong{font-weight:700;color:var(--kata-bubble-ink)}body .kata-tree .kata-tree-coach .kata-tree-coach-body p.kata-tree-loading{height:auto;min-height:46px;width:auto}body .kata-tree .kata-diagnosis{margin:0 0 27px;overflow:hidden;border:1px solid var(--charte-color-line);border-radius:13px;background:var(--charte-color-panel);box-shadow:none}body .kata-tree .kata-diagnosis-toggle{gap:14px;min-height:76px;padding:15px 17px;border-radius:0}body .kata-tree .kata-diagnosis-text{gap:6px}body .kata-tree .kata-diagnosis-title{font-size:13px;font-weight:700;line-height:1.55;letter-spacing:0}body .kata-tree .kata-diagnosis-summary{font-size:11px;line-height:1.6;color:var(--charte-color-text-secondary)}body .kata-tree .kata-diagnosis-chevron{flex:0 0 auto;width:20px;height:20px;color:var(--charte-color-text-secondary);transition:transform .2s}body .kata-tree .kata-diagnosis.is-open .kata-diagnosis-chevron{transform:rotate(180deg)}body .kata-tree .kata-diagnosis-body{padding:0 17px 19px;border-top:1px solid var(--charte-color-line)}body .kata-tree .kata-diagnosis-source{margin:19px 0 22px;font:11px/1.8 ui-monospace,monospace;color:var(--charte-color-text-secondary)}body .kata-tree .kata-diagnosis-phase{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(7ch,max-content);gap:10px;align-items:center;min-height:0;margin:16px 0;font-size:11px}body .kata-tree .kata-diagnosis-phase-label{font-size:inherit;color:inherit}body .kata-tree .kata-diagnosis-phase-value{min-width:0;font-size:13px;font-weight:700;text-align:right;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}body .kata-tree .kata-diagnosis-track{height:7px;border-radius:4px;background:var(--charte-color-background)}body .kata-tree .kata-diagnosis-fill{border-radius:4px;background:var(--color-text-primary)}body .kata-tree .kata-diagnosis-phase--dominant .kata-diagnosis-fill{background:var(--charte-color-kata-weak)}body .kata-tree .kata-diagnosis-rate{gap:20px;margin:22px 0 0;padding-top:18px;font-size:11px;line-height:1.6;color:inherit}body .kata-tree .kata-diagnosis-rate strong{font-size:inherit;font-weight:700}body .kata-tree .kata-list-head{margin:0}body .kata-tree .kata-list-title{margin:0 0 10px;font-size:25px;font-weight:700;letter-spacing:-.7px}body .kata-tree .kata-list-sub{max-width:550px;margin:0;font-size:11px;line-height:1.7}body .kata-tree .kata-family{margin:19px 0 0;overflow:hidden;border:1px solid var(--charte-color-line);border-radius:12px;background:var(--charte-color-panel)}body .kata-tree .kata-family--loading{height:120px}body .kata-tree .kata-family-head{align-items:center;gap:7px 12px;margin:0;padding:14px 12px;background:var(--charte-color-kata-header)}body .kata-tree .kata-family-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.3px}body .kata-tree .kata-family-icon{flex:0 0 auto;width:22px;height:25px;color:var(--color-text-primary)}body .kata-tree .kata-family-count{display:block;font-size:10px;line-height:1.4;color:var(--charte-color-text-secondary)}body .kata-tree .kata-rows{border-top:1px solid var(--charte-color-line);background:transparent}body .kata-tree .kata-row{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;gap:8px;align-items:center;min-height:50px;padding:9px 12px}body .kata-tree .kata-opening>.kata-row{grid-template-columns:minmax(0,1fr) auto 38px 15px}body .kata-tree .kata-row:hover,body .kata-tree .kata-row:focus,body .kata-tree .kata-variant:hover,body .kata-tree .kata-variant:focus{background:color-mix(in srgb,var(--color-text-primary) 4%,transparent)}body .kata-tree .kata-row-name{grid-column:1;grid-row:1;overflow:visible;font-size:13px;font-weight:650;line-height:1.4;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}body .kata-tree .kata-row .kata-status{grid-column:2;grid-row:1;justify-self:start;align-self:center;padding:0;border-radius:0;background:transparent;font-size:9px;font-weight:650;line-height:1.4;letter-spacing:0;text-transform:none;white-space:nowrap}body .kata-tree .kata-row .kata-status--weak{color:var(--charte-color-kata-weak-text)}body .kata-tree .kata-row-pct{grid-column:3;grid-row:1;min-width:0;font-size:15px;font-weight:700;letter-spacing:-.2px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}body .kata-tree .kata-row--weak .kata-row-pct{color:var(--charte-color-kata-weak-text)}body .kata-tree .kata-row .kata-row-chevron{grid-column:4;grid-row:1;width:15px;height:15px;color:var(--charte-color-text-secondary);transition:transform .2s}body .kata-tree .kata-opening.is-open>.kata-row .kata-row-chevron{transform:rotate(180deg)}body .kata-tree .kata-variants{margin:0 12px 9px 18px;padding:0 0 0 15px;border-top:0;border-left:1px solid var(--charte-color-line)}body .kata-tree .kata-variants>li+li{border-top:1px solid var(--charte-color-line)}body .kata-tree .kata-variant{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center;min-height:42px;padding:10px 0;font-size:12px;line-height:1.5}body .kata-tree .kata-variant-name{min-width:0;font-size:12px;color:var(--color-text-primary);overflow-wrap:anywhere}body .kata-tree .kata-variant-pct{grid-column:2;font-size:12px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}body .kata-tree .kata-row--excellent .kata-row-name,body .kata-tree .kata-row--excellent .kata-row-pct,body .kata-tree .kata-variant--excellent .kata-variant-pct,body .kata-panel .kata-panel-title--excellent,body .kata-panel .kata-panel-stat--excellent .kata-panel-score{color:var(--charte-color-kata-excellent)}body .kata-tree .kata-row .kata-status.kata-status--excellent,body .kata-panel .kata-status.kata-status--excellent{display:inline-flex;align-items:center;gap:3px;padding:4px 5px;border:1px solid var(--kata-excellent-badge-border);border-radius:6px;background:var(--kata-excellent-badge-bg);box-shadow:0 2px color-mix(in srgb,var(--charte-color-kata-excellent) 7%,transparent);color:var(--kata-excellent-badge-text);font-size:9px;font-weight:750}body .kata-tree .kata-status--excellent svg,body .kata-panel .kata-status--excellent svg{flex:0 0 auto;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body .kata-panel{padding:21px 24px calc(20px + env(safe-area-inset-bottom,0px));background:var(--charte-color-background)}body .kata-panel .kata-panel-handle{width:34px;height:4px;margin:0 auto 6px;border-radius:3px}body .kata-panel .kata-panel-top{display:grid;grid-template-columns:minmax(0,1fr);gap:0}body .kata-panel .kata-panel-top>div{grid-row:2;min-width:0}body .kata-panel .kata-panel-close{grid-row:1;justify-self:end;width:35px;height:35px;margin-bottom:5px;background:var(--charte-color-panel)}body .kata-panel .kata-status{display:flex;width:fit-content;padding:0;border-radius:0;background:transparent;font-size:10px;font-weight:650;line-height:1.4;letter-spacing:0;text-transform:none}body .kata-panel .kata-status--weak{color:var(--charte-color-kata-weak-text)}body .kata-panel .kata-status--strong{color:var(--charte-color-text-secondary)}body .kata-panel .kata-status.kata-status--excellent{display:flex}body .kata-panel .kata-panel-title{margin:16px 0 22px;font-size:26px;line-height:1.2;letter-spacing:-.7px;overflow-wrap:anywhere}body .kata-panel .kata-panel-stat{display:flex;align-items:center;gap:15px;margin:0 0 24px;font-size:13px;font-weight:400;line-height:1.6;color:var(--charte-color-text-secondary)}body .kata-panel .kata-panel-score{font-size:42px;font-weight:700;line-height:1;letter-spacing:-2px;color:var(--color-text-primary)}body .kata-panel .kata-panel-score small{font-size:21px;font-weight:400;letter-spacing:0}body .kata-panel .kata-panel-score-text{max-width:170px}body .kata-panel .kata-panel-proof{margin:0;padding:20px 0;border-top:1px solid var(--charte-color-line);font-size:13px;line-height:1.8}body .kata-panel .kata-panel-coach{grid-template-columns:39px minmax(0,1fr);gap:13px;align-items:start;margin:10px 0 28px;padding:18px;border-radius:12px;background:var(--charte-color-panel)}body .kata-panel .kata-panel-coach b{margin:0;font-size:11px}body .kata-panel .kata-panel-coach p{margin:7px 0 0;font-size:13px;line-height:1.7}body .kata-panel .kata-panel-actions{flex-direction:column;gap:0;margin-top:0}body .kata-panel .kata-panel-actions .kata-panel-primary{flex:0 0 auto;justify-content:center;min-height:0;padding:17px 15px;border:0;border-radius:12px;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-size:15px;font-weight:700}body .kata-panel .kata-panel-actions .kata-panel-secondary{width:100%;min-height:0;margin-top:8px;padding:18px 10px;border:0;background:none;font-size:12px;font-weight:400;text-align:center;text-decoration:underline;text-underline-offset:4px}@media (min-width: 768px){body .kata-tree .kata-tree-coach{grid-template-columns:82px minmax(0,1fr);gap:24px;margin-bottom:25px}body .kata-tree .kata-tree-coach .kata-tree-coach-body p{padding:21px 24px;border-radius:18px;font-size:16px;line-height:1.65}body .kata-tree .kata-diagnosis-toggle{gap:20px;padding:17px 20px}body .kata-tree .kata-diagnosis-title{font-size:14px}body .kata-tree .kata-diagnosis-summary{font-size:12px}body .kata-tree .kata-diagnosis-body{padding:0 23px 23px}body .kata-tree .kata-diagnosis-phase{grid-template-columns:80px minmax(0,1fr) minmax(7ch,max-content);font-size:12px}body .kata-tree .kata-diagnosis-rate{font-size:12px}body .kata-tree .kata-list-title{font-size:27px}body .kata-tree .kata-list-sub{font-size:12px}body .kata-tree .kata-family{margin-top:22px}body .kata-tree .kata-family-head{gap:7px 14px;padding:15px}body .kata-tree .kata-family-title{gap:10px;font-size:16px}body .kata-tree .kata-family-count{font-size:11px}body .kata-tree .kata-row{grid-template-columns:minmax(0,1fr) auto 47px;gap:11px;padding:9px 15px}body .kata-tree .kata-opening>.kata-row{grid-template-columns:minmax(0,1fr) auto 47px 17px}body .kata-tree .kata-row-name{font-size:14px}body .kata-tree .kata-row .kata-status{font-size:10px}body .kata-tree .kata-row-pct{font-size:16px}body .kata-tree .kata-row .kata-row-chevron{width:17px;height:17px}body .kata-tree .kata-variants{margin-right:15px}body .kata-tree .kata-row .kata-status.kata-status--excellent{padding:5px 7px;gap:4px;font-size:10px}body .kata-tree .kata-status--excellent svg{width:15px;height:15px}body div.kata-panel{padding:30px}body .kata-panel .kata-panel-close{width:40px;height:40px;margin-bottom:28px}body .kata-panel .kata-panel-title{margin-top:17px;font-size:29px;letter-spacing:-.7px}body .kata-panel .kata-panel-score{font-size:48px}body .kata-panel .kata-panel-coach p{font-size:14px}body .kata-panel .kata-panel-actions .kata-panel-primary{margin-top:0}}@media (prefers-reduced-motion: reduce){body .kata-tree .kata-diagnosis-chevron,body .kata-tree .kata-row .kata-row-chevron{transition:none}}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:optional;src:url(/assets/fraunces-variable-DihXLNYH.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:optional;src:url(/assets/fraunces-italic-500-BEbM7Mn6.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:optional;src:url(/assets/ibmplexsans-variable-IvpUvPa2.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:optional;src:url(/assets/ibmplexsans-italic-400-CZTNEAuW.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400 800;font-display:optional;src:url(/assets/montserrat-variable-l_AIctKy.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:400;font-display:optional;src:url(/assets/montserrat-italic-400-CnlIvBC9.woff2) format("woff2")}:root{color-scheme:light;--color-background: var(--charte-color-background);--color-surface: var(--charte-color-panel);--color-surface-elevated: var(--charte-color-surface-subtle);--color-border: var(--charte-color-line);--color-border-strong: var(--charte-color-text-muted);--color-text-primary: var(--charte-color-ink);--color-text-secondary: var(--charte-color-text-secondary);--color-text-tertiary: var(--charte-color-text-secondary);--color-accent: var(--charte-color-ink);--color-accent-hover: var(--charte-color-ink);--color-accent-quiet: rgba(24, 25, 31, .08);--color-accent-contrast: var(--charte-color-background);--color-success: #1f6e46;--color-success-quiet: rgba(31, 110, 70, .1);--color-warning: #92620b;--color-warning-quiet: rgba(146, 98, 11, .12);--color-danger: #a4302a;--color-danger-quiet: rgba(164, 48, 42, .1);--color-danger-quiet-soft: rgba(164, 48, 42, .08);--color-focus: var(--charte-color-ink);--color-brass: var(--charte-color-ink);--color-brass-quiet: rgba(24, 25, 31, .08);--color-walnut: var(--charte-color-ink);--color-board-frame-bg: var(--charte-color-panel);--color-board-frame-border: var(--charte-color-line);--board-frame-width: 6px;--board-light: var(--skin-board-square-light);--board-dark: var(--skin-board-square-dark);--skin-board-square-light: #e9eef2;--skin-board-square-dark: #5b7a90;--skin-piece-filter: none;--skin-nav-accent-bar: var(--charte-color-fill-coach);--color-coach-surface: var(--charte-color-surface-subtle);--color-coach-avatar-backdrop: transparent;--coach-avatar-backdrop-padding: 0px;--coach-avatar-backdrop-radius: 0;--color-coach-avatar-tile: var(--color-surface-elevated);--nav-coach-icon-padding: 0px;--color-coach-border: var(--color-accent);--color-coach-text: var(--color-accent-hover);--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--layout-content-max-width: 1264px;--layout-sidebar-width-wide: 224px;--layout-sidebar-width-medium: 190px;--layout-sidebar-width-narrow: 168px;--layout-page-padding-top-wide: 44px;--layout-page-padding-x-wide: 48px;--layout-page-padding-top-medium: 32px;--layout-page-padding-x-medium: 28px;--layout-page-padding-top-narrow: 30px;--layout-page-padding-x-narrow: 24px;--layout-page-padding-top-ultra: 58px;--layout-sidebar-padding-top: 36px;--layout-sidebar-padding-x: 20px;--layout-sidebar-padding-bottom: 20px;--layout-sidebar-padding-top-medium: 28px;--layout-sidebar-padding-x-medium: 14px;--layout-sidebar-padding-top-narrow: 30px;--layout-sidebar-padding-x-narrow: 10px;--layout-sidebar-padding-bottom-narrow: 16px;--layout-sidebar-brand-gap: 52px;--layout-sidebar-brand-gap-medium: 42px;--layout-sidebar-item-height: 50px;--layout-sidebar-item-padding-x: 15px;--layout-sidebar-avatar-size: 39px;--layout-grid-gap: 22px;--layout-grid-gap-wide: 28px;--layout-dojo-art-size: 112px;--layout-text-scene-max-width: 680px;--layout-dialog-width: 540px;--layout-dialog-width-wide: 780px;--layout-dialog-viewport-gap: 80px;--layout-opening-progress-width: 180px;--layout-course-intro-width: 300px;--layout-course-intro-width-medium: 250px;--layout-course-gap: 36px;--layout-stage-max-width: 1280px;--layout-stage-max-width-ultra: 1380px;--layout-stage-head-max-width: 1060px;--layout-stage-padding-top: 64px;--layout-stage-padding-top-short: 50px;--layout-stage-padding-x: 32px;--layout-stage-padding-x-narrow: 22px;--layout-board-column-max: 640px;--layout-board-column-max-medium: 570px;--layout-board-column-max-ultra: 720px;--layout-panel-min: 300px;--layout-panel-max: 360px;--layout-panel-max-medium: 350px;--layout-panel-width-narrow: 310px;--layout-panel-max-ultra: 370px;--layout-stage-gap: 36px;--layout-stage-gap-medium: 25px;--layout-stage-gap-narrow: 24px;--layout-stage-gap-ultra: 48px;--layout-board-height-offset: 184px;--layout-board-height-offset-short: 150px;--layout-board-height-offset-ultra: 195px;--layout-onboarding-max-width: 1080px;--layout-onboarding-main-max: 520px;--layout-onboarding-art-width: 360px;--layout-onboarding-art-width-medium: 300px;--layout-onboarding-art-width-narrow: 240px;--layout-onboarding-gap: 90px;--layout-onboarding-gap-medium: 45px;--layout-onboarding-gap-narrow: 30px;--layout-onboarding-padding-top: 94px;--layout-onboarding-padding-top-medium: 74px;--layout-onboarding-padding-x: 40px;--layout-onboarding-padding-x-medium: 35px;--layout-onboarding-art-min-height: 480px;--layout-onboarding-art-min-height-medium: 450px;--layout-onboarding-art-padding: 48px;--layout-onboarding-art-padding-narrow: 30px;--layout-onboarding-avatar-size: 215px;--layout-onboarding-avatar-size-narrow: 170px;--layout-onboarding-watermark-size: 210px;--radius-card: var(--charte-radius-container);--radius-button: var(--charte-radius-button);--radius-modal: var(--charte-radius-modal);--radius-input: var(--charte-radius-button);--radius-pill: var(--charte-radius-pill);--shadow-sm: none;--shadow-md: var(--charte-shadow-segment);--shadow-lg: var(--charte-shadow-modal);--font-family-display: var(--charte-font-family);--font-family: var(--charte-font-family);--font-family-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--font-size-display: 2.5rem;--font-size-h1: 2.125rem;--font-size-h2: 1.3125rem;--font-size-h3: 1rem;--font-size-body: .875rem;--font-size-small: .75rem;--font-size-caption: .6875rem;--line-height-display: 1.1;--line-height-heading: var(--charte-line-height-h1);--line-height-body: 1.5;--line-height-caption: 1.35;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 800;--duration-fast: .15s;--duration-base: .2s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--tap-target-min: 44px;--charte-font-family: Arial, Helvetica, sans-serif;--charte-color-ink: #22221f;--charte-color-text-secondary: #6d6d66;--charte-color-text-muted: #9c9c93;--charte-color-surface-subtle: #f0efe9;--charte-color-surface-subtle-alt: #e8e7e0;--charte-color-background: #faf9f4;--charte-color-panel: #ffffff;--charte-color-surface-soft: #f5f4ee;--charte-color-line: #deded5;--charte-color-fill-error-soft: #fff0ee;--charte-color-fill-error-soft-text: #a4302a;--charte-radius-container: 16px;--charte-radius-pill: 999px;--charte-radius-secondary: 12px;--charte-radius-tertiary: 8px;--charte-radius-button: 10px;--charte-radius-segment-item: 7px;--charte-radius-tag: 6px;--charte-radius-modal: 20px;--charte-radius-icon-tile: 14px;--charte-radius-board-frame: 8px;--charte-radius-notice: 12px;--charte-letter-spacing-h1: -1.25px;--charte-letter-spacing-h2: -.55px;--charte-letter-spacing-brand: -.9px;--charte-letter-spacing-eyebrow: 1.8px;--charte-font-size-eyebrow: .625rem;--charte-font-size-button: .75rem;--charte-line-height-h1: 1.22;--charte-line-height-h2: 1.3;--charte-line-height-prose: 1.65;--charte-space-card: 26px;--charte-space-card-compact: 24px;--charte-space-button-y: 12px;--charte-space-button-x: 18px;--charte-space-segment: 4px;--charte-size-segment-item: 36px;--charte-size-close-button: 38px;--charte-size-icon-tile: 48px;--charte-size-avatar: 39px;--charte-size-coach-avatar: 62px;--charte-font-size-brand: 1.5rem;--charte-font-size-brand-sidebar: 1.375rem;--charte-font-size-nav-caption: .5625rem;--charte-font-size-nav-label: .5625rem;--charte-font-size-nav-badge: .5rem;--charte-size-bottom-nav: 69px;--charte-size-nav-icon: 23px;--charte-size-nav-accent-width: 24px;--charte-size-nav-accent-height: 3px;--charte-size-nav-badge: 14px;--charte-size-nav-badge-sidebar: 19px;--charte-size-brand-tile-width: 32px;--charte-size-brand-tile-height: 38px;--charte-shadow-segment: 0 1px 5px rgba(0, 0, 0, .07);--charte-shadow-modal: 0 30px 110px rgba(0, 0, 0, .2);--charte-color-accent: #ffd600;--charte-font-size-20: 1.25rem;--charte-font-size-32: 2rem;--charte-font-size-36: 2.25rem;--charte-font-size-66: 4.125rem;--charte-line-height-tight: 1.25;--charte-space-6: 6px;--charte-space-14: 14px;--charte-space-20: 20px;--charte-contour-hairline: inset 0 0 0 1px var(--charte-color-surface-subtle-alt);--charte-contour-active: inset 0 0 0 2px var(--charte-color-ink);--charte-contour-selected: inset 0 0 0 3px var(--charte-color-accent);--charte-color-fill-coach: #ffe28a;--charte-color-fill-coach-text: var(--charte-color-ink);--charte-color-fill-error: var(--color-danger);--charte-color-fill-error-text: var(--color-accent-contrast);--charte-color-fill-success: var(--color-success);--charte-color-fill-success-text: var(--color-accent-contrast);--charte-color-fill-action: #ffd600;--charte-color-fill-action-text: #22221f;--charte-color-fill-success-soft: #eef8ec;--charte-color-fill-success-soft-text: var(--charte-color-ink);--charte-color-fill-success-soft-border: #c8e3c4;--charte-color-fill-coach-border: #e8c960;--charte-color-fill-coach-option-bg: #fff9db;--charte-color-fill-coach-option-border: #b7a24c;--charte-color-celebration-bg: #21221f;--charte-color-celebration-text: #f4f3ed;--charte-color-celebration-muted: #b5b5a9;--charte-color-celebration-line: #45473e;--charte-color-fill-feature: #fff9e8;--charte-color-fill-feature-border: #ead7a2;--charte-color-fill-feature-text: #18191f;--charte-color-fill-feature-muted: #555965;--charte-color-fill-pill-yellow: #fff2c9;--charte-color-fill-pill-yellow-text: #63511b;--charte-color-track-gold: #d8ac31;--charte-color-kata-strong: #f4cf52;--charte-color-kata-strong-soft: #fff6c9;--charte-color-kata-avatar-disc: #fff6c9;--charte-color-kata-strong-text: #17181d;--charte-color-kata-strong-number: #9c7a12;--charte-color-kata-weak: #ba644b;--charte-color-kata-weak-soft: #fbf0ec;--charte-color-kata-weak-text: #a74336;--charte-color-kata-header: #f0efe9;--charte-color-kata-excellent: #28724d;--charte-color-halo-error: #e75b4c;--charte-color-board-focus-bg: #21221f;--charte-color-board-focus-ink: #f4f3ed;--charte-color-board-focus-muted: #b5b5a9;--charte-color-board-focus-surface: #2d2e2a;--charte-color-board-focus-line: #43443e;--charte-font-size-dojo-title-mobile: 1.5625rem;--charte-letter-spacing-dojo-title-mobile: -.75px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-background: #21221f;--color-surface: #30312c;--color-surface-elevated: #3a3b34;--color-border: #45473e;--color-border-strong: #5a5c52;--color-text-primary: #f4f3ed;--color-text-secondary: #b5b5a9;--color-text-tertiary: #9b9b90;--color-accent: #f4f3ed;--color-accent-hover: #ffffff;--color-accent-quiet: rgba(244, 243, 237, .1);--color-accent-contrast: #21221f;--charte-color-panel: #30312c;--charte-color-surface-soft: #2a2b27;--charte-color-line: #45473e;--charte-color-fill-error-soft: #3c2426;--charte-color-fill-error-soft-text: #ffb7ac;--charte-color-fill-success-soft: #193529;--charte-color-fill-success-soft-text: #94dbab;--charte-color-fill-success-soft-border: #2a5a42;--charte-color-fill-feature: #fff5d5;--charte-color-fill-feature-border: #ddc587;--charte-color-fill-feature-muted: #474a57;--charte-color-kata-strong: #f0c54b;--charte-color-kata-strong-soft: #3a3115;--charte-color-kata-avatar-disc: #f3e4ad;--charte-color-kata-strong-text: #f5f6fa;--charte-color-kata-strong-number: #f0c54b;--charte-color-kata-weak: #dc957e;--charte-color-kata-weak-soft: #352925;--charte-color-kata-weak-text: #f1baa8;--charte-color-kata-header: #3a3b34;--charte-color-kata-excellent: #89cda7;--color-success: #94dbab;--color-success-quiet: #193529;--color-warning: #d9a94a;--color-warning-quiet: rgba(217, 169, 74, .16);--color-danger: #ffb7ac;--color-danger-quiet: #3c2426;--color-danger-quiet-soft: rgba(60, 36, 38, .6);--color-focus: #94dbab;--color-brass: #d9a94a;--color-brass-quiet: rgba(217, 169, 74, .16);--color-walnut: #c98f5e;--color-board-frame-bg: #30312c;--color-coach-surface: #3a3b34;--color-coach-avatar-backdrop: var(--charte-color-surface-subtle);--coach-avatar-backdrop-padding: 5px 10px;--coach-avatar-backdrop-radius: 50%;--color-coach-avatar-tile: var(--charte-color-surface-subtle);--nav-coach-icon-padding: 2px 4px;--color-coach-border: #45473e;--color-coach-text: #f4f3ed}}:root[data-theme=dark]{color-scheme:dark;--color-background: #21221f;--color-surface: #30312c;--color-surface-elevated: #3a3b34;--color-border: #45473e;--color-border-strong: #5a5c52;--color-text-primary: #f4f3ed;--color-text-secondary: #b5b5a9;--color-text-tertiary: #9b9b90;--color-accent: #f4f3ed;--color-accent-hover: #ffffff;--color-accent-quiet: rgba(244, 243, 237, .1);--color-accent-contrast: #21221f;--charte-color-panel: #30312c;--charte-color-surface-soft: #2a2b27;--charte-color-line: #45473e;--charte-color-fill-error-soft: #3c2426;--charte-color-fill-error-soft-text: #ffb7ac;--charte-color-fill-success-soft: #193529;--charte-color-fill-success-soft-text: #94dbab;--charte-color-fill-success-soft-border: #2a5a42;--charte-color-fill-feature: #fff5d5;--charte-color-fill-feature-border: #ddc587;--charte-color-fill-feature-muted: #474a57;--charte-color-kata-strong: #f0c54b;--charte-color-kata-strong-soft: #3a3115;--charte-color-kata-avatar-disc: #f3e4ad;--charte-color-kata-strong-text: #f5f6fa;--charte-color-kata-strong-number: #f0c54b;--charte-color-kata-weak: #dc957e;--charte-color-kata-weak-soft: #352925;--charte-color-kata-weak-text: #f1baa8;--charte-color-kata-header: #3a3b34;--charte-color-kata-excellent: #89cda7;--color-success: #94dbab;--color-success-quiet: #193529;--color-warning: #d9a94a;--color-warning-quiet: rgba(217, 169, 74, .16);--color-danger: #ffb7ac;--color-danger-quiet: #3c2426;--color-danger-quiet-soft: rgba(60, 36, 38, .6);--color-focus: #94dbab;--color-brass: #d9a94a;--color-brass-quiet: rgba(217, 169, 74, .16);--color-walnut: #c98f5e;--color-board-frame-bg: #30312c;--color-coach-surface: #3a3b34;--color-coach-avatar-backdrop: var(--charte-color-surface-subtle);--coach-avatar-backdrop-padding: 5px 10px;--coach-avatar-backdrop-radius: 50%;--color-coach-avatar-tile: var(--charte-color-surface-subtle);--nav-coach-icon-padding: 2px 4px;--color-coach-border: #45473e;--color-coach-text: #f4f3ed}@media (max-width: 767px){:root{--font-size-h1: 1.625rem}}:root[data-skin=cyberpunk]{--skin-board-square-light: #e6e9ff;--skin-board-square-dark: #3b2d6e;--skin-piece-filter: none;--skin-nav-accent-bar: #00e5ff}:root[data-skin=cyberpunk] [data-badge-family=training]{--badge-bright: #fff7a8;--badge-tone: #ffd400;--badge-deep: #7a6400}:root[data-skin=cyberpunk] [data-badge-family=studies]{--badge-bright: #b8ffe8;--badge-tone: #00d6a3;--badge-deep: #005c47}:root[data-skin=cyberpunk] [data-badge-family=regularity]{--badge-bright: #c8f4ff;--badge-tone: #00b7e0;--badge-deep: #005a73}:root[data-skin=cyberpunk] [data-badge-family=journey]{--badge-bright: #ffc8f0;--badge-tone: #ff3fb3;--badge-deep: #7a0b56}@media (min-width: 768px){.app-desktop{--layout-sidebar-width: var(--layout-sidebar-width-wide);--layout-page-padding-top: var(--layout-page-padding-top-wide);--layout-page-padding-x: var(--layout-page-padding-x-wide);min-height:100dvh}.app-desktop-main{margin-left:var(--layout-sidebar-width);min-height:100dvh}.app-desktop .app{max-width:var(--layout-content-max-width);margin:0 auto;padding:var(--layout-page-padding-top) var(--layout-page-padding-x) var(--space-64)}.app-desktop .app-with-tabs{min-height:100dvh;padding-bottom:var(--space-64)}.app-desktop .app-page-header{margin-bottom:34px}.app-desktop .app-page-header .subtitle{margin:0;color:var(--color-text-primary);font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}.side-nav{position:fixed;top:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;width:var(--layout-sidebar-width);padding:var(--layout-sidebar-padding-top) var(--layout-sidebar-padding-x) var(--layout-sidebar-padding-bottom);overflow-y:auto;background:var(--color-background);border-right:1px solid var(--color-border);color:var(--color-text-primary)}.side-nav-brand{display:flex;align-items:center;gap:var(--space-8);margin:0 var(--space-4) var(--layout-sidebar-brand-gap);font-family:var(--font-family-display);font-size:var(--charte-font-size-brand-sidebar);font-weight:var(--font-weight-black);letter-spacing:var(--charte-letter-spacing-brand);line-height:var(--line-height-heading)}.side-nav-brand-icon{display:grid;place-items:center;width:var(--space-32);height:calc(var(--space-32) + var(--charte-space-6));border-radius:var(--charte-radius-tertiary);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);flex:none}.side-nav-brand-icon svg{width:var(--space-24);height:var(--space-24)}.side-nav-caption{margin:0 var(--layout-sidebar-item-padding-x) var(--space-12);font-size:var(--charte-font-size-nav-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);color:var(--color-text-secondary)}.side-nav-list{display:flex;flex-direction:column;gap:var(--space-8)}.side-nav-item{position:relative;display:flex;align-items:center;gap:var(--charte-space-14);min-height:var(--layout-sidebar-item-height);padding:var(--space-12) var(--layout-sidebar-item-padding-x);border:none;border-radius:var(--radius-button);background:transparent;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer}.side-nav-item:hover{background:var(--charte-color-surface-soft)}.side-nav-item-active,.side-nav-item-active:hover{background:var(--color-surface-elevated);font-weight:var(--font-weight-bold)}.side-nav-item-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:var(--space-4);height:var(--space-24);border-radius:var(--space-4);background:var(--skin-nav-accent-bar)}.side-nav-icon{width:var(--space-24);height:var(--space-24);flex:none}.side-nav-badge{display:grid;place-items:center;margin-left:auto;min-width:var(--charte-size-nav-badge-sidebar);height:var(--charte-size-nav-badge-sidebar);padding:0 var(--space-4);border-radius:50%;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);line-height:1}.side-nav-bottom{margin-top:auto;padding-top:var(--charte-space-20);border-top:1px solid var(--color-border)}.side-nav-item .nav-face{display:flex;align-items:center;gap:var(--charte-space-14);width:100%;min-height:var(--space-24);backface-visibility:hidden;transform-origin:50% 50%}.side-nav-item{perspective:350px}.side-nav-badge{background:var(--charte-color-ink);color:var(--charte-color-background)}.side-nav-destination{margin-top:var(--space-8);padding-top:calc(var(--space-12) + var(--space-8));border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-button) var(--radius-button)}.app-desktop .app-page{transform-origin:50% 220px;backface-visibility:hidden}.side-nav-profile{display:flex;align-items:center;gap:var(--space-12);width:100%;min-height:var(--tap-target-min);padding:var(--space-8);border:none;border-radius:var(--radius-button);background:transparent;color:var(--color-text-primary);font-family:var(--font-family);text-align:left;cursor:pointer}.side-nav-profile:hover{background:var(--charte-color-surface-soft)}.side-nav-avatar{display:grid;place-items:center;flex:none;width:var(--layout-sidebar-avatar-size);height:var(--layout-sidebar-avatar-size);overflow:hidden;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-text-primary)}.side-nav-avatar .profile-avatar-image{width:100%;height:100%;object-fit:cover}.side-nav-avatar .profile-avatar-initials{font-size:var(--font-size-small);font-weight:var(--font-weight-black)}.side-nav-avatar .profile-avatar-fallback-icon{width:var(--space-24);height:var(--space-24)}.side-nav-profile-text{display:flex;flex-direction:column;min-width:0}.side-nav-profile-text strong{overflow:hidden;font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap}.side-nav-profile-text small{font-size:var(--charte-font-size-eyebrow);color:var(--color-text-secondary)}.side-nav-profile-chevron{margin-left:auto;color:var(--color-text-secondary)}.side-nav-item:focus-visible,.side-nav-profile:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}}@media (min-width: 768px) and (max-width: 1199px){.app-desktop{--layout-sidebar-width: var(--layout-sidebar-width-medium);--layout-page-padding-top: var(--layout-page-padding-top-medium);--layout-page-padding-x: var(--layout-page-padding-x-medium)}.side-nav{padding:var(--layout-sidebar-padding-top-medium) var(--layout-sidebar-padding-x-medium) var(--layout-sidebar-padding-bottom)}.side-nav-brand{margin-bottom:var(--layout-sidebar-brand-gap-medium)}}@media (min-width: 768px) and (max-width: 899px){.app-desktop{--layout-sidebar-width: var(--layout-sidebar-width-narrow);--layout-page-padding-top: var(--layout-page-padding-top-narrow);--layout-page-padding-x: var(--layout-page-padding-x-narrow)}.side-nav{padding:var(--layout-sidebar-padding-top-narrow) var(--layout-sidebar-padding-x-narrow) var(--layout-sidebar-padding-bottom-narrow)}.side-nav-brand{font-size:var(--font-size-h3)}.side-nav-item{gap:var(--space-8);padding:var(--space-12) var(--space-12);font-size:var(--font-size-caption)}}@media (min-width: 1700px){.app-desktop{--layout-page-padding-top: var(--layout-page-padding-top-ultra)}}@media (min-width: 768px){.app-desktop .dashboard{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-24);row-gap:var(--space-4);align-items:center;max-width:none}.app-desktop .dashboard-eyebrow,.app-desktop .dashboard-greeting,.app-desktop .dashboard-games-count,.app-desktop .dashboard-cold-landing{grid-column:1}.app-desktop .dashboard-greeting{margin-top:0}.app-desktop .dashboard-intro-art{display:block;grid-column:2;grid-row:1 / span 3;align-self:center}.app-desktop .dashboard-intro-art .coach-avatar{width:var(--layout-dojo-art-size);height:var(--layout-dojo-art-size)}.app-desktop .dashboard .coach-learning-card,.app-desktop .dashboard .dojo-activities{grid-column:1 / -1}.app-desktop .dashboard .dojo-activities{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-grid-gap);margin-top:0}.app-desktop .dashboard-games-count,.app-desktop .dashboard-cold-landing{margin-bottom:34px}.app-desktop .dashboard .coach-learning-card+.dojo-activities{margin-top:0}.app-desktop .badge-grid{gap:var(--charte-space-14)}body .app-desktop .app .studies-screen .studies-shelf{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--space-24);row-gap:var(--space-32)}body .app-desktop .app .studies-screen .study-weekly{grid-template-columns:minmax(0,1fr) 165px;gap:30px;padding:25px 27px}body .app-desktop .app .studies-screen .study-weekly .study-banner-title{margin-bottom:10px;font-size:11px}body .app-desktop .app .studies-screen .study-weekly .study-banner-subtitle{margin-bottom:12px;font-size:25px}body .app-desktop .app .studies-screen .study-weekly .study-banner-rules{margin-bottom:19px;font-size:13px}body .app-desktop .app .studies-screen .study-weekly .study-shortcut{width:max-content;max-width:100%;padding:13px 17px;font-size:14px}body .app-desktop .app .studies-screen .study-weekly-board{margin-top:0}body .app-desktop .app .studies-screen .study-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:30px 0 13px}body .app-desktop .app .studies-screen .study-collection-heading h2{margin:0;font-size:20px}body .app-desktop .app .studies-screen .studies-progress{margin-bottom:24px}.app-desktop .journal-screen{max-width:none;margin-inline:0}}@media (min-width: 900px){.app-desktop .journal-screen{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);column-gap:var(--layout-grid-gap-wide);row-gap:var(--space-16);align-items:start}.app-desktop .journal-header{display:contents}.app-desktop .journal-title{grid-column:1;grid-row:1}.app-desktop .journal-intro{grid-column:1;grid-row:2}.app-desktop .journal-filters{grid-column:1;grid-row:3}.app-desktop .journal-note-list,.app-desktop .journal-screen>.empty-state,.app-desktop .journal-screen>.loading-state{grid-column:1;grid-row:4}.app-desktop .journal-aside{grid-column:2;grid-row:1 / span 4;align-self:start}.app-desktop .stats-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12)}.app-desktop .profile-screen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-24);align-items:start}.app-desktop .profile-screen .profile-section-account{grid-column:1;grid-row:1}.app-desktop .profile-screen .profile-section-chess-accounts{grid-column:1;grid-row:2}.app-desktop .profile-screen .profile-section-appearance{grid-column:1;grid-row:3}.app-desktop .profile-screen .profile-section-coach-panel{grid-column:1;grid-row:4}.app-desktop .profile-screen .profile-section-friends{grid-column:2;grid-row:1 / span 3}.app-desktop .profile-screen .profile-section-delete-account{grid-column:2;grid-row:4}.app-desktop .profile-screen .profile-section-credits{grid-column:1 / -1;grid-row:5}}@media (min-width: 1200px){body .app-desktop .app .studies-screen .studies-shelf{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:26px;row-gap:var(--space-32)}.app-desktop .badge-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--charte-space-14)}}@media (min-width: 768px){.app-desktop .app-page-header>h1{display:none}.app-desktop .app-page-header .back-to-home{margin-bottom:var(--space-16)}.app.app-text-scene{max-width:var(--layout-text-scene-max-width);margin:var(--space-32) auto}.app-desktop .opening-library-screen .opening-family-list{grid-template-columns:minmax(0,1fr)}.app-desktop .opening-library-screen .opening-row{grid-template-columns:minmax(0,1fr) 76px var(--space-16);column-gap:var(--space-16);padding:var(--space-24) var(--charte-space-20)}.app-desktop .opening-library-screen .opening-row-name{font-size:var(--font-size-h3)}.app-desktop .opening-library-screen .opening-row-desc,.app-desktop .opening-library-screen .opening-progress{font-size:var(--font-size-caption)}.app-desktop .opening-progress-track{width:54px}.app-desktop .opening-tag{font-size:var(--font-size-caption)}.app-desktop .opening-variant{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-16);padding:18px var(--charte-space-20)}.app-desktop .opening-variant-actions{display:flex}.app-desktop .opening-course-screen .opening-chapter-toggle{padding:var(--charte-space-20)}.app-desktop .opening-course-screen .opening-chapter-action{padding:var(--space-12) var(--charte-space-20)}.app-desktop .opening-understanding{padding-bottom:0}.app-desktop .opening-understanding-bottom{position:static;margin-top:var(--space-24);padding:0;border-top:0;background:none;box-shadow:none}.app-desktop .opening-understanding-title{font-size:var(--font-size-h1)}.app-desktop .opening-line-preview{max-width:410px}body .exercise-vote-sheet.opening-modal{padding:var(--space-32)}body .exercise-vote-sheet-overlay{align-items:center;padding:var(--space-16)}body .exercise-vote-sheet{width:min(var(--layout-dialog-width),calc(100vw - var(--space-32)));max-height:calc(100dvh - var(--layout-dialog-viewport-gap));padding-top:var(--space-32);border-radius:var(--radius-modal)}body .exercise-vote-sheet-handle{display:none}body .exercise-vote-sheet.opening-preview-modal,body .exercise-vote-sheet.study-preview-sheet{width:min(var(--layout-dialog-width-wide),calc(100vw - var(--space-32)))}body .coach-language-admin{max-width:var(--layout-content-max-width);padding:var(--layout-page-padding-top-wide) var(--layout-page-padding-x-wide) var(--space-64)}}@media (min-width: 900px){.app-desktop .opening-course-screen{display:grid;grid-template-columns:var(--layout-course-intro-width-medium) minmax(0,1fr);column-gap:var(--space-24);align-items:start}.app-desktop .opening-course-screen>.opening-breadcrumbs{grid-column:1 / -1;grid-row:1}.app-desktop .opening-course-intro{grid-column:1;grid-row:2 / span 2;position:sticky;top:var(--space-24)}.app-desktop .opening-section-bar{grid-column:2;grid-row:2;margin-top:0}.app-desktop .opening-chapters{grid-column:2;grid-row:3}}@media (min-width: 1200px){.app-desktop .opening-course-screen{grid-template-columns:var(--layout-course-intro-width) minmax(0,1fr);column-gap:var(--layout-course-gap)}}@media (min-width: 768px){body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs){--layout-board-column-max-current: var(--layout-board-column-max);--layout-panel-min-current: var(--layout-panel-min);--layout-panel-max-current: var(--layout-panel-max);--layout-stage-gap-current: var(--layout-stage-gap);--layout-board-height-offset-current: var(--layout-board-height-offset);width:100%;max-width:var(--layout-stage-max-width);min-height:100dvh;margin:0 auto;padding:var(--layout-stage-padding-top) var(--layout-stage-padding-x) var(--space-24)}body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs)>.app-header{width:100%;max-width:var(--layout-stage-head-max-width);margin:0 auto var(--space-24)}body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs):not(:has(.board-frame)){max-width:var(--layout-text-scene-max-width);padding-top:var(--space-48)}body .app:not(.app-page)>.training-screen:has(>.board-frame,>.exercise-board-wrapper,>.summary-sticky-board),body .app:not(.app-page)>.study-screen{display:grid;grid-template-columns:minmax(0,var(--layout-board-column-max-current)) minmax(var(--layout-panel-min-current),var(--layout-panel-max-current));column-gap:var(--layout-stage-gap-current);row-gap:0;justify-content:center;align-items:start;width:100%}body .app:not(.app-page)>.training-screen>.board-frame,body .app:not(.app-page)>.training-screen>.exercise-board-wrapper,body .app:not(.app-page)>.training-screen>.summary-sticky-board,body .app:not(.app-page)>.study-screen>.board-frame{grid-column:1;grid-row:1 / span 40;justify-self:center;width:min(100%,calc(100dvh - var(--layout-board-height-offset-current)));margin-top:0}body .app:not(.app-page)>.training-screen>.exercise-board-wrapper>.board-frame{width:100%}body .app:not(.app-page) .board-frame .board-wrap{width:100%}body .app:not(.app-page)>.training-screen>.session-header,body .app:not(.app-page)>.study-screen>.study-header{grid-column:1 / -1;grid-row:1;width:100%;max-width:var(--layout-stage-head-max-width);justify-self:center;margin-bottom:var(--space-24)}body .app:not(.app-page)>.training-screen:has(>.session-header)>.board-frame,body .app:not(.app-page)>.training-screen:has(>.session-header)>.exercise-board-wrapper,body .app:not(.app-page)>.study-screen>.board-frame{grid-row:2 / span 40}body .app:not(.app-page)>.training-screen>:not(.board-frame):not(.exercise-board-wrapper):not(.summary-sticky-board):not(.session-header),body .app:not(.app-page)>.study-screen>:not(.board-frame):not(.study-header){grid-column:2;min-width:0;width:100%}body .app:not(.app-page)>.training-screen>:not(.board-frame):not(.exercise-board-wrapper):not(.summary-sticky-board):not(.session-header)+:not(.board-frame):not(.exercise-board-wrapper):not(.summary-sticky-board),body .app:not(.app-page)>.training-screen>.board-frame+*,body .app:not(.app-page)>.training-screen>.exercise-board-wrapper+*,body .app:not(.app-page)>.training-screen>.summary-sticky-board+*,body .app:not(.app-page)>.study-screen>:not(.study-header)+:not(.board-frame){margin-top:var(--space-12)}}@media (min-width: 768px) and (max-width: 1199px){body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs){--layout-board-column-max-current: var(--layout-board-column-max-medium);--layout-panel-max-current: var(--layout-panel-max-medium);--layout-stage-gap-current: var(--layout-stage-gap-medium)}}@media (min-width: 768px) and (max-width: 899px){body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs){--layout-panel-min-current: var(--layout-panel-width-narrow);--layout-panel-max-current: var(--layout-panel-width-narrow);--layout-stage-gap-current: var(--layout-stage-gap-narrow);padding-left:var(--layout-stage-padding-x-narrow);padding-right:var(--layout-stage-padding-x-narrow)}}@media (min-width: 1700px){body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs){--layout-board-column-max-current: var(--layout-board-column-max-ultra);--layout-panel-max-current: var(--layout-panel-max-ultra);--layout-stage-gap-current: var(--layout-stage-gap-ultra);--layout-board-height-offset-current: var(--layout-board-height-offset-ultra);max-width:var(--layout-stage-max-width-ultra)}}@media (min-width: 768px) and (max-height: 700px){body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs){--layout-board-height-offset-current: var(--layout-board-height-offset-short);padding-top:var(--layout-stage-padding-top-short)}body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs)>.app-header,body .app:not(.app-page)>.training-screen>.session-header,body .app:not(.app-page)>.study-screen>.study-header{margin-bottom:var(--space-12)}}@media (min-width: 768px){body .onboarding-content{--layout-onboarding-art-width-current: var(--layout-onboarding-art-width);--layout-onboarding-gap-current: var(--layout-onboarding-gap);display:grid;grid-template-columns:var(--layout-onboarding-art-width-current) minmax(0,var(--layout-onboarding-main-max));column-gap:var(--layout-onboarding-gap-current);align-items:center;justify-content:center;max-width:var(--layout-onboarding-max-width);min-height:100dvh;padding:var(--layout-onboarding-padding-top) var(--layout-onboarding-padding-x) var(--space-48)}body .onboarding-content>.onboarding-screen,body .onboarding-content>.interstitial-card{flex:initial;min-height:0;min-width:0}body .onboarding-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--layout-onboarding-art-min-height);padding:var(--layout-onboarding-art-padding);border-radius:var(--space-24);background:var(--color-surface);overflow:hidden}body .onboarding-art:before{content:"棋";position:absolute;top:var(--space-4);font-family:serif;font-size:var(--layout-onboarding-watermark-size);line-height:1;opacity:.035}body .onboarding-art-brand{position:relative;margin-bottom:var(--space-48);font-family:var(--font-family-display);font-size:var(--charte-font-size-20);font-weight:var(--font-weight-black);letter-spacing:-.04em;color:var(--color-text-primary)}body .onboarding-art .coach-avatar{position:relative;width:var(--layout-onboarding-avatar-size);height:var(--layout-onboarding-avatar-size)}body .onboarding-content:has(>.onboarding-free-position){grid-template-columns:minmax(0,var(--layout-board-column-max)) minmax(var(--layout-panel-min),var(--layout-panel-max));column-gap:var(--layout-stage-gap);row-gap:0;align-items:start;max-width:var(--layout-stage-max-width)}body .onboarding-content:has(>.onboarding-free-position)>.onboarding-art{display:none}body .onboarding-content>.onboarding-free-position{display:contents}body .onboarding-free-position>.onboarding-head,body .onboarding-free-position>.onboarding-head-rule{grid-column:1 / -1}body .onboarding-free-position>.onboarding-head-rule{margin-bottom:var(--space-24)}body .onboarding-free-position>.board-frame{grid-column:1;grid-row:3 / span 40;justify-self:center;width:min(100%,calc(100dvh - var(--layout-board-height-offset)))}body .onboarding-free-position>.board-frame .board-wrap{width:100%}body .onboarding-free-position>:not(.onboarding-head):not(.onboarding-head-rule):not(.board-frame){grid-column:2;min-width:0}body .onboarding-free-position>.board-frame~:not(.board-frame){margin-top:var(--space-12)}}@media (min-width: 768px) and (max-width: 1199px){body .onboarding-content{--layout-onboarding-art-width-current: var(--layout-onboarding-art-width-medium);--layout-onboarding-gap-current: var(--layout-onboarding-gap-medium);padding:var(--layout-onboarding-padding-top-medium) var(--layout-onboarding-padding-x-medium) var(--space-32)}body .onboarding-art{min-height:var(--layout-onboarding-art-min-height-medium)}}@media (min-width: 768px) and (max-width: 899px){body .onboarding-content{--layout-onboarding-art-width-current: var(--layout-onboarding-art-width-narrow);--layout-onboarding-gap-current: var(--layout-onboarding-gap-narrow)}body .onboarding-art{padding:var(--layout-onboarding-art-padding-narrow)}body .onboarding-art .coach-avatar{width:var(--layout-onboarding-avatar-size-narrow);height:var(--layout-onboarding-avatar-size-narrow)}}@media (min-width: 768px){body .app:not(.app-page)>.variant-intro-screen>.variant-intro-start{align-self:stretch;width:100%}}@media (min-width: 768px){body .coach-sessions-list{gap:var(--charte-space-20)}body .coach-session-card{min-height:260px;padding:var(--charte-space-card)}body .coach-session-card time{font-size:var(--font-size-caption)}body .coach-session-card>.coach-avatar{width:40px;height:40px;margin-top:var(--space-24)}body .coach-session-card h2{font-size:19px;margin:var(--charte-space-20) 0 var(--space-24)}body .coach-session-add,body .coach-session-decoration{min-height:260px}body .lab-screen,body .games-import-section,body .games-list-section,body .best-self-stat,body .best-self-proof-card,body .coach-panel{padding:var(--charte-space-card)}body .lab-kind-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body .lab-profile-select{max-width:360px}body .lab-launch{width:auto;align-self:flex-start}body .games-screen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-24);align-items:start}body .best-self-hero-row{gap:var(--space-24)}body .coach-language-admin-entry{padding:var(--charte-space-card)}body .coach-language-admin-metrics{grid-template-columns:repeat(3,1fr)}body .coach-language-admin-metric{padding:22px}body .coach-language-admin-metric span{font-size:var(--font-size-caption)}body .coach-language-admin-metric strong{font-size:28px}}@media (min-width: 1200px){body .coach-sessions-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){body [data-testid=beta-invites-admin]>form.coach-language-admin-entry{flex-direction:row;align-items:center;gap:10px}body [data-testid=beta-invites-admin]>form.coach-language-admin-entry>input{flex:1 1 200px;width:auto;min-width:0}body [data-testid=beta-invites-admin]>form.coach-language-admin-entry>button{flex:0 0 auto}}@media (min-width: 768px){.app-desktop .celebration-screen{left:var(--layout-sidebar-width)}}@media (min-width: 768px){body .app:not(.app-page):not(.app-text-scene):not(.app-with-tabs):not(:has(.board-frame)):has(.session-finish-screen){max-width:calc(880px + 2 * var(--layout-stage-padding-x))}body .app .session-finish-screen .session-finish-body{justify-content:flex-start;width:min(880px,100%);padding-top:var(--space-24)}body .app .session-finish-screen .session-finish-grid{grid-template-columns:1.05fr .95fr;gap:18px}}@media (min-width: 768px){.app-desktop .kata-tree{width:100%;max-width:760px;margin-inline:auto}body .kata-panel{top:74px;right:24px;bottom:24px;left:auto;width:470px;max-height:none;padding:22px;border:1px solid var(--charte-color-line);border-radius:22px;animation-name:kata-panel-in}body .kata-panel .kata-panel-handle{display:none}}@keyframes kata-panel-in{0%{transform:translate(110%)}to{transform:translate(0)}}@media (min-width: 768px){body .account-prompt-backdrop{align-items:center;padding:var(--space-32)}body .account-prompt-sheet{max-width:540px;padding:var(--space-32)}}@media (min-width: 768px){body .analysis-screen>*{max-width:560px}body .analysis-screen>.analysis-board{width:min(100%,calc(100dvh - 24rem))}}@media (min-width: 768px){body .success-sheet{left:50%;right:auto;width:min(100% - var(--space-32),560px);margin-left:calc(min(100% - var(--space-32),560px)/-2)}body .success-sheet.success-sheet--anchored{left:var(--success-sheet-left);width:var(--success-sheet-width);margin-left:0}body .success-sheet.success-sheet--beside{bottom:var(--success-sheet-bottom);border-radius:var(--radius-modal);box-shadow:var(--shadow-lg)}}@media (min-width: 768px){body .session-theme-backdrop{align-items:center;padding:var(--space-32)}}@media (min-width: 768px){body .play-app{padding:var(--layout-stage-padding-top) var(--layout-stage-padding-x) var(--space-24)}body .app.play-app .play-screen{display:grid;grid-template-columns:minmax(0,var(--layout-board-column-max-current)) minmax(var(--layout-panel-min-current),var(--layout-panel-max-current));grid-template-rows:auto auto auto auto;column-gap:var(--layout-stage-gap-current);row-gap:var(--space-8);justify-content:center;align-items:start;max-width:none}body .app.play-app .play-screen>.play-player,body .app.play-app .play-screen>.play-board-row,body .app.play-app .play-screen>.play-actions{grid-column:1}body .app.play-app .play-screen>.play-player{min-height:38px}body .app.play-app .play-screen>.play-actions{min-height:36px}body .app.play-app .play-screen .game-controls{min-height:36px}body .app.play-app .play-screen .play-options-button{min-height:36px;padding:0 15px}body .app.play-app .play-screen .play-clock{padding:4px 10px}body .app.play-app .play-screen>.play-moves{display:block;grid-column:2;grid-row:1 / span 4;max-height:calc(100dvh - var(--layout-board-height-offset-current));overflow-x:visible;overflow-y:auto;padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);font-size:var(--font-size-small);line-height:1.7;white-space:normal}body .app.play-app .play-screen>.play-moves .play-moves-number{color:var(--color-text-secondary);opacity:1}body .play-backdrop{align-items:center;padding:var(--space-32)}body .play-analysis .analysis-screen>*{max-width:var(--layout-board-column-max)}}@media (min-width: 768px) and (max-width: 1199px){body .play-analysis .analysis-screen>*{max-width:var(--layout-board-column-max-medium)}}@media (min-width: 768px) and (max-width: 899px){body .play-analysis .analysis-screen>*{max-width:calc(100vw - 2 * var(--layout-stage-padding-x-narrow) - var(--layout-stage-gap-narrow) - var(--layout-panel-width-narrow))}}@media (min-width: 1700px){body .play-analysis .analysis-screen>*{max-width:var(--layout-board-column-max-ultra)}}@media (min-width: 768px){body .app:not(.app-page) .exercise-screen .exercise-dynamic-zone{min-height:200px}}@media (min-width: 768px){body .app.play-app:has(.replays-page,.play-community):not(.app-page):not(.app-text-scene):not(.app-with-tabs){max-width:none}body .app .clip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body .app .clip-card{grid-template-columns:104px minmax(0,1fr);gap:17px;padding:17px}}@media (min-width: 768px){body .app .play-community{max-width:960px}body .app .play-community .community-heading{margin-bottom:25px}body .app .play-community .community-heading .play-setup-title{font-size:34px}body .app .play-gallery .gallery-month{gap:20px;padding:23px 25px;margin-bottom:25px}body .app .play-gallery .gallery-month-icon svg{width:44px;height:44px}body .app .play-gallery .gallery-month h2{font-size:23px}body .app .play-gallery .gallery-filters{flex-wrap:nowrap;gap:22px}body .app .play-gallery .community-tabs{flex:1;order:0;gap:22px}body .app .play-gallery .community-tabs button{font-size:13px}body .app .play-gallery .gallery-month-picker{width:auto}body .app .play-gallery .gallery-month-picker select{width:auto;max-width:160px}body .app .play-ranking .rank-personal{padding:24px 28px;margin-bottom:25px}body .app .play-ranking .rank-personal>div+div{padding-left:30px}body .app .play-ranking .rank-personal strong{font-size:38px}body .app .play-ranking .rank-table-head,body .app .play-ranking .rank-row{grid-template-columns:48px minmax(0,1fr) 70px;gap:17px;padding:12px 24px}body .app .play-ranking .rank-row{min-height:70px}body .app .play-ranking .rank-name{gap:12px}body .app .play-ranking .rank-name strong{font-size:14px}body .app .play-ranking .rank-name small{font-size:10px}body .app .play-ranking .rank-avatar{width:32px;height:32px;font-size:10px}body .app .play-ranking .rank-elo{font-size:16px}}@media (min-width: 768px){body .app .replays-page{max-width:960px}body .app .replays-heading{margin-bottom:25px}body .app .replays-title{font-size:34px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-body);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,figure{margin:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--charte-color-accent);outline-offset:2px;border-radius:var(--radius-input)}button,.course-card,.scope-row,a{-webkit-tap-highlight-color:transparent}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select){font:inherit;font-size:var(--font-size-body);padding:var(--charte-space-button-y) var(--charte-space-14);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-primary)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.dashboard-intro-art{display:none}.app{max-width:480px;margin:0 auto;padding:var(--space-24) var(--space-16) var(--space-48);animation:fade-in var(--duration-base) var(--easing-standard)}.app-header{position:relative;margin-bottom:var(--space-16)}.app-header h1{font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1);color:var(--color-text-primary)}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--charte-space-14)}.app-brand{display:flex;align-items:center;gap:9px;font-size:var(--charte-font-size-brand);font-weight:var(--font-weight-black);letter-spacing:var(--charte-letter-spacing-brand);line-height:var(--line-height-heading)}.app-brand-icon{display:grid;place-items:center;flex:none;width:var(--charte-size-brand-tile-width);height:var(--charte-size-brand-tile-height);border-radius:var(--charte-radius-tertiary);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.app-brand-icon svg{width:var(--space-24);height:var(--space-24)}.brand-home-link,.brand-home-link:hover{display:inline-flex;align-items:center;gap:inherit;min-height:0;margin:0;padding:0;border:0;border-radius:var(--charte-radius-tertiary);background:transparent;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer}.brand-home-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.profile-avatar-button{flex:0 0 auto;width:var(--tap-target-min);height:var(--tap-target-min);display:grid;place-items:center;overflow:hidden;padding:0;border:none;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-text-primary)}.profile-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-initials{font-size:.8125rem;font-weight:var(--font-weight-black);line-height:1;letter-spacing:.02em}.profile-avatar-fallback-icon{width:1.375rem;height:1.375rem}.app:has(.dashboard) .app-header h1{font-size:clamp(1.6875rem,7vw,1.8125rem);line-height:1;font-weight:var(--font-weight-black);letter-spacing:-1px}.back-to-home{margin-bottom:var(--space-8);padding:var(--space-4) var(--space-8);min-height:auto;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background:transparent;color:var(--color-text-secondary);border:none}.back-to-home:hover{background:var(--color-accent-quiet);color:var(--color-text-primary)}.subtitle{margin:var(--space-4) 0 0;color:var(--color-accent);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.session-timer{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:var(--space-4);min-height:var(--tap-target-min);min-width:var(--tap-target-min);padding:var(--space-4) var(--space-8);background:var(--color-surface-elevated);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;box-shadow:var(--charte-contour-hairline)}.session-timer:hover{color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-border-strong);transform:none}.session-timer-value{font-weight:var(--font-weight-medium)}.session-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}.session-header-back{display:inline-flex;align-items:center;gap:var(--space-8);margin-bottom:0;padding:var(--space-4) var(--space-8);min-height:var(--tap-target-min);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);background:transparent;color:var(--color-text-primary);border:none}.session-header-back:hover{background:var(--color-accent-quiet)}.session-header-row .session-timer{position:static;flex-shrink:0}.session-header-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.session-header-icon{width:1.1em;height:1.1em}.session-header-icon-review-badge{position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--color-accent);border:1px solid var(--color-surface)}.session-header-context{margin:var(--space-4) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);min-height:60vh;text-align:center;padding:0 var(--space-24);animation:fade-in var(--duration-base) var(--easing-standard)}.loading-state-message{margin:0;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.loading-state-detail{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.training-material-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);min-height:60vh;text-align:center;padding:0 var(--space-24);animation:fade-in var(--duration-base) var(--easing-standard)}.training-material-notice-title{margin:0;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary);max-width:32ch}.training-material-notice-body{margin:0;font-size:var(--font-size-body);color:var(--color-text-secondary);max-width:40ch}.training-material-notice-detail{margin:0;font-size:var(--font-size-small);color:var(--color-text-tertiary);max-width:44ch}.training-material-notice-actions{display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:320px;margin-top:var(--space-12)}.breadcrumb{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--color-text-tertiary);margin-bottom:var(--space-12)}.side-to-move{margin:var(--space-12) 0 0;font-size:var(--font-size-body);color:var(--color-text-secondary)}.exercise-status-zone{margin:var(--space-12) 0 0;min-height:1.25em;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-status-zone[data-phase=refused]{color:var(--color-danger)}.exercise-meta{display:flex;align-items:center;gap:var(--space-4);white-space:nowrap;overflow:hidden;text-transform:uppercase;letter-spacing:.04em}.exercise-screen .exercise-meta{margin:clamp(.375rem,2vw,.5rem) 0 0;font-size:clamp(.6875rem,2.9vw,.75rem);font-weight:var(--font-weight-bold);line-height:1.2}.exercise-meta-motif{flex:none;color:var(--color-warning)}.exercise-meta-activity{flex:none}.exercise-meta-sep{flex:none;color:var(--color-text-tertiary)}.exercise-meta-progress{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exercise-coach-card{display:flex;align-items:center;gap:var(--space-8);margin:clamp(.375rem,2vw,.5rem) 0 0;padding:18px 20px;width:100%;box-sizing:border-box;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);border-radius:4px 14px 14px;border:1px solid var(--charte-color-fill-coach-border)}.exercise-coach-card--error{background:var(--charte-color-fill-error-soft);border-color:var(--color-danger-quiet);color:var(--charte-color-fill-error-soft-text)}.exercise-coach-card--success{background:var(--charte-color-fill-success-soft);border-color:var(--charte-color-fill-success-soft-border);color:var(--charte-color-fill-success-soft-text)}.exercise-coach-card-avatar{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.exercise-coach-card .exercise-instruction{flex:1;min-width:0;display:flex;align-items:center;margin:0;min-height:calc(3 * 1.35 * clamp(.875rem,3.6vw,.9375rem));font-size:clamp(.875rem,3.6vw,.9375rem);font-weight:var(--font-weight-medium);color:inherit;line-height:1.35;letter-spacing:-.45px}.exercise-progress-bar{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-12);width:100%}.exercise-progress-segment{flex:1 1 0;height:5px;border-radius:var(--radius-pill);background:var(--color-border)}.exercise-progress-segment-done{background:var(--color-success)}.training-screen.exercise-screen{gap:0}.exercise-principle-screen{display:flex;flex-direction:column;min-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - var(--space-48))}.exercise-principle-content{flex:1;display:flex;flex-direction:column;justify-content:center}.exercise-principle-card{padding:var(--space-24) var(--space-16);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);border:1px solid var(--charte-color-fill-coach-border);border-radius:var(--radius-card)}.exercise-principle-headline{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:var(--space-12);align-items:start}.exercise-principle-avatar{width:2.75rem;height:2.75rem;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#ffffffa3}.exercise-principle-avatar .coach-avatar{width:2.25rem;height:2.25rem}.exercise-principle-copy{min-width:0}.exercise-principle-eyebrow{margin:0 0 .4375rem;font-size:.6875rem;line-height:1;font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase}.exercise-principle-text.exercise-closing-motif{margin:0;font-size:1rem;line-height:1.4;font-style:normal;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.exercise-principle-context{margin:.125rem 0 0;padding-top:var(--space-12);border-top:1px solid rgb(0 0 0 / 18%);font-size:.875rem;line-height:1.45;font-weight:var(--font-weight-regular)}.exercise-principle-card>.exercise-principle-context:first-child{padding-top:0;border-top:none}.exercise-principle-continue{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:3.5rem;margin-top:var(--space-12);padding:0 1rem;font-size:.9375rem;font-weight:750;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);border:none;border-radius:var(--radius-input)}.exercise-principle-continue span:last-child{font-size:1.25rem;line-height:1;font-weight:var(--font-weight-regular)}.exercise-principle-continue:hover{opacity:.9}.exercise-board-wrapper{margin-top:clamp(.5rem,2vw,.625rem);width:100%}.exercise-side-indicator{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-8) 0 0;font-size:var(--font-size-caption);line-height:1;color:var(--color-text-secondary)}.exercise-side-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%}.exercise-side-dot-w{background:var(--color-background);border:1.2px solid var(--color-border-strong)}.exercise-side-dot-b{background:var(--color-text-primary);border:1.2px solid var(--color-text-primary)}.exercise-dynamic-zone{display:flex;flex-direction:column;gap:var(--space-8);margin-top:clamp(.375rem,2vw,.5rem)}.exercise-dynamic-zone .exercise-status-zone,.exercise-dynamic-zone .feedback{margin-top:0}.exercise-dynamic-zone .comprehension-choices{flex-direction:row;flex-wrap:wrap}.exercise-dynamic-zone .comprehension-choice{flex:1 1 0;width:auto;min-width:0;min-height:var(--tap-target-min);text-align:center;padding-left:var(--space-8);padding-right:var(--space-8);background:var(--charte-color-fill-coach-option-bg);border-color:var(--charte-color-fill-coach-option-border);color:var(--charte-color-fill-coach-text);font-weight:var(--font-weight-bold)}.exercise-dynamic-zone .comprehension-choice:hover:not(:disabled){background:var(--charte-color-fill-coach-option-bg);opacity:.85}.exercise-feedback-block .comprehension-choices{margin-top:.5rem}.exercise-feedback-block{display:flex;flex-direction:column;gap:0;min-height:2.75rem;padding:.5rem .75rem;border-radius:var(--radius-input)}.exercise-feedback-frame{display:flex;flex-direction:column;gap:.375rem}.coach-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.coach-avatar img{width:100%;height:100%;object-fit:contain;display:block}.coach-avatar--sm{width:1rem;height:1rem}.coach-avatar--md{width:1.5rem;height:1.5rem}.coach-avatar--lg{width:1.75rem;height:1.75rem}.exercise-feedback-pictogram{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-right:var(--space-8);border-radius:50%;font-size:.6875rem;font-weight:var(--font-weight-bold);vertical-align:-.1em}.exercise-feedback-avatar{margin-right:var(--space-8);vertical-align:-.15em}.exercise-feedback-title{margin:0;font-weight:var(--font-weight-black);font-size:.8125rem;line-height:1.2}.exercise-feedback-body{margin:.25rem 0 0;font-size:.75rem;line-height:1.25}.exercise-feedback-block.exercise-feedback-block--error-soft{background:var(--color-danger-quiet-soft);border:1px solid var(--color-danger-quiet);border-left:4px solid var(--color-danger)}.exercise-feedback-block.exercise-feedback-block--coach{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);border:1px solid var(--charte-color-fill-coach-border)}.exercise-feedback-block.exercise-feedback-block--success{background:var(--charte-color-fill-success-soft);color:var(--charte-color-fill-success-soft-text);border:1px solid var(--charte-color-fill-success-soft-border)}.exercise-feedback-block--success .exercise-feedback-pictogram{background:var(--charte-color-fill-success);color:var(--charte-color-fill-success-text)}.exercise-feedback-block.exercise-feedback-block--error-solid{background:var(--color-danger-quiet-soft);color:var(--color-text-primary);border:1px solid var(--color-danger-quiet)}.exercise-feedback-block--error-solid .exercise-feedback-pictogram{background:var(--charte-color-fill-error);color:var(--charte-color-fill-error-text)}.exercise-feedback-cta{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:3.25rem;padding:0 1rem;font-size:.9375rem;font-weight:750;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);border-color:var(--charte-color-fill-action)}.exercise-feedback-cta-arrow{font-size:1.25rem;line-height:1;font-weight:var(--font-weight-regular)}.exercise-feedback-cta:hover{background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);opacity:.9}.exercise-vote-panel{display:flex;align-items:center;gap:var(--space-12);min-height:56px;margin-top:var(--space-8);padding:0 var(--space-12);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-input)}.exercise-vote-question,.exercise-vote-thanks{margin:0;flex:1;min-width:0;font-weight:var(--font-weight-semibold);font-size:.75rem;color:var(--color-text-primary)}.exercise-vote-q-title{margin:0;font-weight:var(--font-weight-semibold);font-size:.75rem;color:var(--color-text-primary)}.exercise-vote-q-glose{margin:0;font-size:.6875rem;color:var(--color-text-primary);opacity:.85}.exercise-vote-thumbs{display:flex;gap:var(--space-8);margin-left:auto;flex-shrink:0}.exercise-vote-thumb{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-target-min);height:var(--tap-target-min);background:var(--color-border);color:var(--color-text-primary);border:none;border-radius:var(--radius-input);font-size:1.75rem}.exercise-vote-thumb:hover:not(:disabled){background:var(--color-border-strong)}.exercise-vote-thumb-selected{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.exercise-vote-thumb:disabled:not(.exercise-vote-thumb-selected){opacity:.6}.exercise-vote-thumb-selected:disabled{opacity:1}@media (hover: hover){.exercise-vote-thumb-selected:disabled:hover{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}}.exercise-vote-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#00000073}.exercise-vote-sheet{position:relative;width:100%;max-width:480px;max-height:min(80vh,640px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-24) var(--space-16) var(--space-16);background:var(--charte-color-background);color:var(--charte-color-ink);border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:var(--shadow-md)}.exercise-vote-sheet-handle{position:absolute;top:var(--space-8);left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:var(--radius-pill);background:var(--color-border-strong);opacity:.6}.exercise-vote-sheet-close{position:absolute;top:var(--space-8);right:var(--space-8);display:inline-flex;align-items:center;justify-content:center;width:var(--charte-size-close-button);height:var(--charte-size-close-button);padding:0;background:var(--color-surface-elevated);color:var(--color-text-primary);border:none;border-radius:50%;font-size:22px;line-height:1}.exercise-vote-down-form{display:flex;flex-direction:column;gap:var(--space-8);color:var(--charte-color-ink)}.exercise-vote-options{display:flex;flex-direction:column;gap:var(--space-8)}.exercise-vote-option{display:flex;align-items:center;gap:var(--space-8);width:100%;text-align:left;white-space:normal;min-height:var(--tap-target-min);padding:var(--space-8) var(--space-12);background:transparent;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius-input);font-size:.75rem}.exercise-vote-option:hover:not(:disabled){background:#0000000a}.exercise-vote-option-selected{border-color:var(--color-accent)}.exercise-vote-option-mark{flex:none;display:inline-block;width:18px;height:18px;border:2px solid var(--color-border-strong);background:transparent}.exercise-vote-option-mark--checkbox{border-radius:4px}.exercise-vote-option-mark--radio{border-radius:50%}.exercise-vote-option-mark--checked{border-color:var(--color-accent);background:var(--color-accent);position:relative}.exercise-vote-option-mark--checkbox.exercise-vote-option-mark--checked:after{content:"";position:absolute;left:4px;top:0;width:5px;height:9px;border:solid var(--color-accent-contrast);border-width:0 2px 2px 0;transform:rotate(45deg)}.exercise-vote-option-mark--radio.exercise-vote-option-mark--checked:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--color-accent-contrast);border-radius:50%;transform:translate(-50%,-50%)}.exercise-vote-reason-detail{width:100%;min-height:var(--tap-target-min);padding:var(--space-8) var(--space-12);background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-input);font-size:.75rem}.exercise-vote-submit{align-self:stretch;min-height:var(--tap-target-min);padding:0 var(--space-16);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);border:1px solid var(--charte-color-fill-action);border-radius:var(--radius-input);font-weight:var(--font-weight-semibold)}.exercise-vote-submit:disabled{opacity:.5}.exercise-qcm-choices,.exercise-qcm-verdict{display:flex;flex-direction:column;gap:var(--space-8)}.exercise-qcm-choices .comprehension-question{margin:0}.learning-progress{margin:0 0 var(--space-8);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.learning-progress-review{margin:0 0 var(--space-12);padding:var(--space-8) var(--space-12);border-radius:var(--radius-input);border-left:3px solid var(--color-accent);background:var(--color-accent-quiet)}.learning-progress-counter{margin:0;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-accent);letter-spacing:.02em}.learning-progress-hint{margin:var(--space-4) 0 0;font-size:var(--font-size-small);color:var(--color-text-secondary)}button{font-family:inherit;font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold);line-height:1.4;min-height:var(--tap-target-min);padding:var(--charte-space-button-y) var(--charte-space-button-x);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard)}button:hover{background:var(--color-surface-elevated)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default;transform:none}@media (hover: hover){button:disabled:hover{background:var(--color-surface)}}.primary-action,.kata-feedback-btn,.start-course-btn{background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-weight:var(--font-weight-semibold);border-color:var(--charte-color-fill-action)}.primary-action:hover,.kata-feedback-btn:hover,.start-course-btn:hover{background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);opacity:.85}.secondary-action{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.secondary-action:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.file-action{display:inline-flex;align-items:center;justify-content:center}.file-action input{display:none}.learning-card,.kata-feedback-card,.course-card,.scope-row,.kata-row,.progression-stat,.home-module{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard)}.dashboard-section{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--charte-contour-hairline),var(--shadow-sm);transition:background-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard)}.learning-card-status,.opening-family-status,.kata-row-eco,.home-module-badge{display:inline-flex;align-items:center;gap:var(--space-4);padding:5px 9px;border-radius:var(--charte-radius-tag);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-semibold);line-height:1.4;background:var(--color-surface-elevated);color:var(--color-text-primary);width:fit-content}.empty-state{text-align:center;padding:var(--space-64) var(--space-24);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-card);animation:fade-in var(--duration-base) var(--easing-standard)}.empty-state h2{font-size:var(--font-size-h2);margin-bottom:var(--space-8)}.feedback{margin-top:var(--space-16);padding:var(--space-12) var(--space-16);border-radius:var(--radius-input);background:var(--color-surface-elevated);color:var(--color-text-primary);border-left:3px solid var(--color-border);animation:slide-up var(--duration-base) var(--easing-standard)}.feedback-correct{border-left-color:var(--color-success);background:var(--color-success-quiet)}.feedback-incorrect{border-left-color:var(--color-danger);background:var(--color-danger-quiet)}.feedback-checking{border-left-color:var(--color-warning);background:var(--color-warning-quiet);color:var(--color-text-secondary)}.feedback-insight,.feedback-hint,.feedback-explain,.feedback-transposition,.feedback-explore,.feedback-defer{border-left-color:var(--color-accent);background:var(--color-accent-quiet)}.feedback p{margin:0 0 var(--space-8);line-height:var(--line-height-body)}.feedback-best-move{font-family:var(--font-family-mono);color:var(--color-text-secondary)}.exercise-closing-motif{margin:0;font-size:1rem;line-height:1.4;font-style:italic;font-weight:var(--font-weight-regular)}.feedback p:last-child{margin-bottom:0}.comprehension-context{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.comprehension-question{font-weight:var(--font-weight-semibold)}.comprehension-choices{display:flex;flex-direction:column;gap:var(--space-8)}.comprehension-choice{width:100%;text-align:left;white-space:normal;background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border)}.comprehension-choice:hover:not(:disabled){background:var(--color-border-strong)}.comprehension-choice-chosen{border-color:var(--color-accent)}@media (max-width: 767px){.comprehension-screen{--comprehension-chrome: 358px;gap:var(--space-8)}.comprehension-screen .board-wrap{width:min(100%,calc(100dvh - var(--comprehension-chrome)))}.comprehension-screen .comprehension-question{margin-top:0}.comprehension-screen .comprehension-choices{gap:var(--space-4)}.comprehension-screen .comprehension-choice{padding:6px var(--space-12);line-height:1.3}}.move-list{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-12);margin-top:var(--space-16);padding:var(--space-12) var(--space-16);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);font-size:var(--font-size-small)}.move-list-pair{display:inline-flex;gap:var(--space-4)}.move-number{color:var(--color-text-tertiary)}.move-current{font-weight:var(--font-weight-bold);color:var(--color-accent)}.move-repeated{color:var(--color-warning);text-decoration:underline wavy var(--color-warning);text-underline-offset:2px}.board-frame{padding:var(--board-frame-width);background:var(--color-board-frame-bg);border:0;border-radius:var(--charte-radius-board-frame);box-shadow:0 0 0 1px var(--color-board-frame-border)}.board-wrap{position:relative;width:min(100%,480px);aspect-ratio:1 / 1;margin:0 auto}.board-cg{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none;line-height:0}.board-coords{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.board-coord{position:absolute;width:12.5%;height:12.5%;display:flex;font-size:11px;font-weight:var(--font-weight-medium);line-height:1;-webkit-user-select:none;user-select:none}.board-coord-file{bottom:0;align-items:flex-end;justify-content:flex-end;padding:0 3px 2px 0}.board-coord-rank{left:0;align-items:flex-start;justify-content:flex-start;padding:2px 0 0 3px}.board-coord-dark{color:#fffc}.board-coord-light{color:#484848cc}.home-screen{display:flex;flex-direction:column;gap:var(--space-16)}.home-module{padding:var(--space-16)}.home-module h2{margin:0 0 var(--space-8);font-size:var(--font-size-h3)}.home-module-disabled{opacity:.55}.home-module-badge{margin:0}.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.course-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);width:100%;padding:var(--space-12) var(--space-16);text-align:left}.course-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-elevated)}.course-card-name{font-weight:var(--font-weight-semibold)}.course-card-preview{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.progress-actions{display:flex;gap:var(--space-8)}.training-scope-screen{display:flex;flex-direction:column;gap:var(--space-16);animation:fade-in var(--duration-base) var(--easing-standard)}.training-scope-screen h2,.scope-chapter h3{font-size:var(--font-size-h3)}.scope-chapter{display:flex;flex-direction:column;gap:var(--space-8)}.scope-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);width:100%;padding:var(--space-12) var(--space-16);text-align:left}.scope-row:hover{border-color:var(--color-border-strong);background:var(--color-surface-elevated)}.scope-title{font-weight:var(--font-weight-semibold)}.scope-preview,.scope-stats{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.scope-preview{font-family:var(--font-family-mono)}.scope-variant-badges{display:flex;flex-wrap:wrap;gap:var(--space-8)}.scope-badge{display:inline-flex;align-items:center;gap:var(--space-4);padding:0 var(--space-8);border-radius:var(--radius-pill);font-size:var(--font-size-caption);color:var(--color-text-secondary);background:var(--color-surface-elevated)}.scope-badge-icon{width:1em;height:1em;flex-shrink:0}.scope-badge-trap{color:var(--color-warning);background:var(--color-warning-quiet)}.scope-badge-hidden-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scope-variant-item{display:flex;flex-direction:column;gap:var(--space-8)}.scope-variant-line{display:flex;align-items:stretch;gap:var(--space-8)}.scope-variant-line .scope-row-variant{flex:1 1 0;width:auto;min-width:0}.scope-variant-preview-toggle{flex:0 0 auto;align-self:flex-start;display:grid;place-items:center;width:var(--tap-target-min);height:var(--tap-target-min);padding:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);color:var(--color-text-secondary)}.scope-variant-preview-toggle[aria-expanded=true]{background:var(--color-accent-quiet);border-color:var(--color-accent);color:var(--color-text-primary)}.scope-variant-preview-icon{width:1.5rem;height:1.5rem}.scope-variant-preview-panel{animation:fade-in var(--duration-base) var(--easing-standard)}.opening-library-screen{display:flex;flex-direction:column;gap:var(--space-16);animation:fade-in var(--duration-base) var(--easing-standard)}.opening-library-intro{font-size:var(--font-size-small);color:var(--color-text-secondary)}.opening-family-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-12)}.learning-card{display:flex;flex-direction:column;gap:var(--space-8);width:100%;padding:var(--space-16);text-align:left;color:var(--color-text-primary);border-left:3px solid var(--color-accent)}.learning-card:not(.learning-card-disabled):hover{border-color:var(--color-border-strong);border-left-color:var(--color-accent);background:var(--color-surface-elevated);transform:translateY(-1px);box-shadow:var(--shadow-md)}.learning-card-disabled{opacity:.55;cursor:default}.learning-card-header{display:flex;align-items:flex-start;gap:var(--space-12)}.learning-card-icon{font-size:var(--font-size-h2);line-height:1;flex-shrink:0}.learning-card-meta{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.learning-card-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-body)}.learning-card-desc{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.learning-card-stats{display:flex;align-items:center;gap:var(--space-12)}.learning-card-difficulty{display:flex;gap:var(--space-4)}.difficulty-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-border-strong)}.difficulty-dot-filled{background:var(--color-accent)}.learning-card-count{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-family:var(--font-family-mono)}.learning-card-progress{height:4px;border-radius:var(--radius-pill);background:var(--color-surface-elevated);overflow:hidden}.learning-card-progress-bar{height:100%;background:var(--color-success);border-radius:var(--radius-pill);transition:width var(--duration-base) var(--easing-standard)}.learning-card-status-available{color:var(--color-accent);background:var(--color-accent-quiet)}.learning-card-status-in-progress{color:var(--color-text-primary)}.learning-card-status-done{color:var(--color-success);background:var(--color-success-quiet)}.learning-card-status-soon{color:var(--color-text-tertiary)}.family-italian{border-left-color:#c67c2f}.family-scottish{border-left-color:#2fa563}.family-queens-gambit{border-left-color:#b5892f}.family-london{border-left-color:#5b8def}.family-spanish{border-left-color:#d1685a}.family-black-e4{border-left-color:#e0736f}.family-caro{border-left-color:#a582d6}.family-scandinavian{border-left-color:#3fa6d6}.family-pirc{border-left-color:#8fb15c}.family-sicilian{border-left-color:#5b8def}.family-french{border-left-color:#4fae7e}.family-slav{border-left-color:#b98f5e}.family-kings-indian{border-left-color:#c9557a}.family-nimzo{border-left-color:#5c9fc9}.opening-family-screen{display:flex;flex-direction:column;gap:var(--space-24);animation:fade-in var(--duration-base) var(--easing-standard)}.opening-family-header{display:flex;align-items:flex-start;gap:var(--space-12)}.opening-family-icon{font-size:var(--font-size-h1);line-height:1;padding:var(--space-8) var(--space-12);border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent)}.opening-family-title{margin:0 0 var(--space-4);font-size:var(--font-size-h2)}.opening-family-desc{font-size:var(--font-size-small);color:var(--color-text-secondary)}.opening-family-status{margin-top:var(--space-8)}.kata-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.kata-row{padding:var(--space-12) var(--space-16)}.kata-row-clickable{cursor:pointer}.kata-row-clickable:hover{border-color:var(--color-border-strong);background:var(--color-surface-elevated)}.kata-row-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.kata-row-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-small)}.kata-row-meta{display:flex;gap:var(--space-8);margin-top:var(--space-4)}.kata-row-difficulty{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.kata-row-mnemonic{margin:var(--space-8) 0 0;font-size:var(--font-size-small);font-style:italic;color:var(--color-text-secondary);line-height:var(--line-height-body)}.opening-family-soon{font-style:italic;font-size:var(--font-size-small);color:var(--color-text-tertiary)}.dashboard{display:flex;flex-direction:column;width:100%;max-width:430px;margin:0 auto;gap:var(--space-4);animation:fade-in var(--duration-base) var(--easing-standard)}.app:has(.dashboard){padding-left:clamp(18px,5vw,22px);padding-right:clamp(18px,5vw,22px)}.dashboard-section{padding:var(--space-16)}.dashboard-section-title{margin:0 0 var(--space-12);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.dashboard-section-compact{padding:var(--space-12) var(--space-16)}.dashboard-greeting{margin:0;margin-top:clamp(28px,10vw,41px);font-family:var(--font-family-display);font-size:clamp(1.8125rem,7.5vw,1.9375rem);line-height:1;font-weight:var(--font-weight-black);letter-spacing:-.9px;color:var(--color-text-primary)}.dashboard-games-count{margin:14px 0 0;font-size:clamp(.9375rem,4vw,1rem);line-height:1.3;font-weight:var(--font-weight-regular);color:var(--color-text-primary)}.dashboard-games-count-number{color:var(--color-text-secondary);font-size:clamp(1.1875rem,5vw,1.25rem);font-weight:var(--font-weight-black);font-variant-numeric:tabular-nums}.dashboard-cold-landing{margin:14px 0 0;font-size:clamp(.9375rem,4vw,1rem);line-height:1.3;font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.dashboard-cold-landing-number{color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.dashboard-library-link{justify-content:flex-start;text-align:left;background:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}.dashboard-library-link:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.more-screen{display:flex;flex-direction:column;gap:var(--space-16);animation:fade-in var(--duration-base) var(--easing-standard)}.progression-summary{padding:var(--space-16)}.progression-summary-title{margin:0 0 var(--space-12);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.progression-summary-stats{display:flex;gap:var(--space-16)}.progression-summary-stat{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);flex:1;min-width:0}.progression-summary-value{font-family:var(--font-family-display);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.progression-summary-label{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.repertoire-overview{padding:var(--space-16)}.repertoire-overview-title{margin:0 0 var(--space-12);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.repertoire-list{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}.repertoire-row{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-4);border-bottom:1px solid var(--color-border)}.repertoire-row:last-child{border-bottom:none}.repertoire-row-icon{flex-shrink:0}.repertoire-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.repertoire-status{flex-shrink:0;font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap}.repertoire-status-solid{color:var(--color-success)}.repertoire-status-progressing{color:var(--color-warning)}.repertoire-status-discover{color:var(--color-text-tertiary)}.sync-bar{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12);border-radius:var(--radius-card);font-size:var(--font-size-caption);background:var(--color-surface);box-shadow:var(--charte-contour-hairline)}.sync-bar-anon,.sync-bar-auth{border-color:var(--color-border)}.sync-bar-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}.sync-bar-avatar-initial{display:grid;place-items:center;background:#d7e4f4;color:#283e62;font-size:var(--font-size-body);font-weight:700}.sync-bar-person{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.sync-bar-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sync-bar-status{color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.sync-bar-signout{flex:none}.sync-bar-hint{color:var(--color-text-secondary);flex:1}.sync-bar-error{color:var(--color-danger);font-size:var(--font-size-caption)}.sync-bar-signout{min-height:auto;padding:var(--space-4) var(--space-8);font-size:var(--font-size-caption);background:transparent;color:var(--color-text-tertiary);border-color:var(--color-border);flex-shrink:0}.sync-bar-signout:hover{color:var(--color-danger);border-color:var(--color-danger);background:transparent}.sync-bar-signin{min-height:auto;padding:var(--space-4) var(--space-12);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background:var(--color-surface-elevated);color:var(--color-text-primary);box-shadow:var(--charte-contour-hairline);flex-shrink:0}.sync-bar-signin:hover{background:var(--color-border-strong)}.coach-learning-card{padding:var(--space-4) var(--space-16);border-radius:var(--radius-input);background:var(--color-surface);box-shadow:var(--charte-contour-hairline)}.coach-learning-onboarding-title{margin:0 0 var(--space-4);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.coach-learning-onboarding-promise{margin:0 0 var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.coach-learning-platform{margin-bottom:var(--space-4)}.coach-learning-onboarding-label{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.coach-learning-status{display:flex;flex-direction:column;gap:var(--space-4)}.coach-learning-status-text{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--line-height-body)}.coach-learning-status-text strong{color:var(--color-text-primary)}.coach-learning-status-up-to-date{background:var(--charte-color-fill-success);box-shadow:var(--shadow-sm)}.coach-learning-status-up-to-date .coach-learning-status-text,.coach-learning-status-up-to-date .coach-learning-status-text strong{color:var(--charte-color-fill-success-text)}.coach-learning-dismiss{align-self:flex-start;min-height:auto;padding:var(--space-4) var(--space-12);font-size:var(--font-size-caption);background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.coach-learning-dismiss:hover{background:var(--color-surface-elevated)}.coach-card{position:relative;display:flex;flex-direction:column;gap:0;min-height:348px;padding:clamp(1.75rem,7vw,2.1875rem) clamp(1.0625rem,4.5vw,1.1875rem) 20px;margin-top:clamp(3rem,13vw,3.75rem);background:var(--charte-color-fill-coach);border-radius:var(--radius-card);box-shadow:var(--shadow-md);animation:slide-up var(--duration-base) var(--easing-standard)}.coach-voice{padding:var(--space-12) var(--space-16);background:var(--color-coach-surface);box-shadow:inset 4px 0 0 0 var(--color-coach-border);border-radius:var(--radius-input);color:var(--color-coach-text)}.sequence-advice-label{margin:0;font-size:.8125rem;font-weight:var(--font-weight-black);text-transform:uppercase;letter-spacing:.04em}.sequence-advice-principle{display:flex;flex-direction:column;gap:0}.coach-voice.sequence-advice-principle{padding:0;background:none;box-shadow:none;border-radius:0}.sequence-advice-principle .sequence-advice-label{color:var(--color-coach-text)}.sequence-advice-headline{margin:1.125rem 0 0;font-family:var(--font-family-display);font-size:clamp(2.125rem,8.7vw,2.5rem);font-weight:var(--font-weight-black);line-height:1.02;color:var(--color-coach-text)}.sequence-advice-reflexe{margin-top:var(--space-24);padding:var(--space-16);background:var(--charte-color-fill-coach);border-radius:var(--radius-card)}.sequence-advice-reflexe-label{color:var(--charte-color-fill-coach-text)}.sequence-advice-reflexe-text{margin:var(--space-8) 0 0 0;font-size:1rem;line-height:1.45;color:var(--charte-color-fill-coach-text)}.coach-card-debug-toggle{position:absolute;top:var(--space-4);right:var(--space-4);width:var(--tap-target-min);height:var(--tap-target-min);padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);color:var(--charte-color-fill-coach-text);box-shadow:none;opacity:.5}.coach-card-debug-toggle svg{width:1.1rem;height:1.1rem}.coach-card-debug-toggle:hover{opacity:1;border-color:var(--charte-color-fill-coach-text);background:transparent;transform:none}.coach-card-top-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-12)}.coach-card-top-row-with-debug-toggle{padding-right:var(--space-32)}.coach-card-label{margin:0;font-size:clamp(.75rem,3.2vw,.8125rem);line-height:1;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--charte-color-fill-coach-text)}@media (max-width: 350px){.coach-card-label{max-width:150px}}.coach-card-headline{margin:clamp(2.125rem,9vw,2.4375rem) 0 0;max-width:280px;font-family:var(--font-family-display);font-size:clamp(2.1875rem,9.5vw,2.4375rem);font-weight:var(--font-weight-black);line-height:.96;letter-spacing:-1.4px;color:var(--charte-color-fill-coach-text)}.coach-card-why-now{margin:21px 0 0;max-width:310px;font-family:var(--font-family-display);font-size:clamp(.9375rem,4vw,1rem);line-height:1.35;font-weight:var(--font-weight-medium);color:var(--charte-color-fill-coach-text)}.coach-card-cta{align-self:stretch;display:flex;align-items:center;justify-content:space-between;margin-top:clamp(2rem,9vw,2.4375rem);min-height:55px;padding:0 var(--space-16);font-size:17px;font-weight:var(--font-weight-bold);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);border-color:var(--charte-color-fill-action)}.coach-card-cta:hover{background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);opacity:.9}.coach-shortcut{margin-top:23px;width:100%;min-height:78px;padding:14px var(--space-16);display:flex;align-items:center;gap:13px;background:var(--color-surface);border:1.2px solid var(--color-border);border-radius:var(--radius-input);text-align:left;cursor:pointer}.coach-shortcut:hover{background:var(--color-surface-elevated)}.coach-shortcut-icon{flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.coach-shortcut-label{flex:1;min-width:0;font-size:14.5px;line-height:1.2;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.coach-shortcut-arrow{flex:0 0 auto;font-size:23px;line-height:1;color:var(--color-text-tertiary)}.coach-panel{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-16);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);font-family:var(--font-family-mono);font-size:var(--font-size-caption);animation:slide-up var(--duration-base) var(--easing-standard)}.coach-panel-header{display:flex;align-items:center;justify-content:space-between}.coach-panel-title{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.coach-panel-close{min-height:auto;min-width:auto;padding:var(--space-4) var(--space-8);background:transparent;border:1px solid var(--color-border);color:var(--color-text-tertiary)}.coach-panel-section h3{margin:0 0 var(--space-4);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent)}.coach-panel-section p,.coach-panel-section ul{margin:0;color:var(--color-text-secondary);line-height:var(--line-height-body)}.coach-panel-section ul{padding-left:var(--space-16)}.coach-panel-section code{font-family:var(--font-family-mono);color:var(--color-text-primary);background:var(--color-surface-elevated);padding:0 var(--space-4);border-radius:var(--charte-radius-tertiary)}.coach-panel-dosage-settings-hint{font-size:var(--font-size-caption)}.coach-panel-dosage-settings-list{display:flex;flex-direction:column;gap:var(--space-12);list-style:none;padding-left:0!important}.coach-panel-dosage-settings-row{display:flex;flex-direction:column;gap:var(--space-4)}.coach-panel-dosage-settings-row label{color:var(--color-text-primary)}.coach-panel-dosage-settings-description{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin:0}.coach-panel-dosage-settings-controls{display:flex;align-items:center;gap:var(--space-8)}.coach-panel-dosage-settings-range-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:0}.coach-panel-dosage-settings-controls input[type=range]{flex:1;min-width:0}.coach-panel-dosage-settings-default-marker{position:absolute;top:2px;bottom:2px;width:2px;background:var(--color-danger);pointer-events:none;transform:translate(-1px)}.coach-panel-dosage-settings-controls input[type=number]{flex:0 0 56px;width:56px;min-height:auto;padding:var(--space-4);font-family:var(--font-family-mono);font-size:var(--font-size-caption);background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-input)}.coach-panel-dosage-settings-reset{align-self:flex-start;min-height:auto;padding:var(--space-4) var(--space-8);background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.coach-panel-dosage-settings-reset:disabled{opacity:.5;cursor:default}.coach-panel-calibration select{font-family:var(--font-family-mono);font-size:var(--font-size-caption);min-height:auto;padding:var(--space-4) var(--space-8);background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-input)}.session-transition{display:flex;align-items:center;justify-content:center;min-height:60vh;animation:fade-in var(--duration-base) var(--easing-standard)}.session-transition-text{margin:0;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.session-duration-picker{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.session-duration-picker-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:auto;margin:0;padding:var(--space-4) var(--space-24) var(--space-4) var(--space-12);font-family:inherit;font-size:clamp(.9375rem,4vw,.96875rem);font-weight:var(--font-weight-black);background:transparent;color:var(--charte-color-fill-coach-text);border:1px solid rgba(24,25,31,.35);border-radius:var(--radius-pill)}.session-duration-picker-select:hover{background:#18191f14}.session-duration-picker-caret{position:absolute;right:var(--space-8);pointer-events:none;font-size:var(--font-size-caption);color:var(--charte-color-fill-coach-text)}.progression-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.progression-stat{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12);background:var(--color-surface-elevated)}.progression-stat-value{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-accent);line-height:1}.progression-stat-label{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:var(--line-height-caption)}.dashboard-other-modes{display:flex;flex-direction:column;gap:var(--space-8)}.mode-card{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard);width:100%}.mode-card:not(.mode-card-disabled):hover{background:var(--color-surface-elevated);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.mode-card-disabled{opacity:.5;cursor:default}.mode-card-icon{font-size:var(--font-size-h2);line-height:1;flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-input)}.mode-card-tactics .mode-card-icon,.mode-card-endgames .mode-card-icon{background:var(--charte-color-surface-subtle-alt);color:var(--charte-color-ink)}.mode-card-content{display:flex;flex-direction:column;gap:var(--space-2, 2px);flex:1;min-width:0}.mode-card-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-small);color:var(--color-text-primary)}.mode-card-desc{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.mode-card-arrow{font-size:var(--font-size-body);color:var(--color-text-tertiary);flex-shrink:0}.mode-card-badge{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--color-surface-elevated);color:var(--color-text-tertiary);flex-shrink:0}.kata-feedback-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);padding:var(--space-32) var(--space-24);text-align:center;box-shadow:var(--shadow-md);animation:pop-in var(--duration-base) var(--easing-standard)}.kata-feedback-check{font-size:var(--font-size-display);color:var(--color-success);line-height:1}.kata-feedback-title{font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold)}.kata-feedback-variant{font-size:var(--font-size-body);color:var(--color-text-secondary);font-style:italic}.kata-feedback-stats{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:center}.kata-feedback-xp{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.kata-feedback-family{font-size:var(--font-size-small);color:var(--color-text-secondary)}.kata-feedback-progress{font-size:var(--font-size-small);color:var(--color-text-tertiary)}.kata-feedback-stats>span:not(:first-child):before{content:"· "}.kata-feedback-nav{display:flex;flex-direction:column;gap:var(--space-8);width:100%;margin-top:var(--space-8)}.kata-feedback-nav button{width:100%}.kata-feedback-secondary-actions{display:flex;gap:var(--space-8);width:100%}.kata-feedback-secondary-actions button{width:auto;flex:1;min-width:0}.session-assessment-screen{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);padding:var(--space-32) var(--space-24);text-align:center;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--charte-contour-hairline),var(--shadow-md);animation:pop-in var(--duration-base) var(--easing-standard)}.session-assessment-close{font-size:var(--font-size-small);color:var(--color-text-tertiary)}.session-assessment-score{display:flex;align-items:baseline;gap:var(--space-4)}.session-assessment-score-value{font-family:var(--font-family-display);font-size:var(--charte-font-size-66);font-weight:var(--font-weight-bold);color:var(--color-accent)}.session-assessment-score-max{font-size:var(--font-size-body);color:var(--color-text-tertiary)}.session-assessment-progression{margin-left:var(--space-8);font-size:var(--font-size-small);color:var(--color-success);animation:pop-in var(--duration-base) var(--easing-standard) .15s backwards}.session-assessment-qualitative{font-size:var(--font-size-body);color:var(--color-text-secondary);max-width:40ch}.session-assessment-axes{display:flex;gap:var(--space-24)}.session-assessment-axis{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.session-assessment-axis-label{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.session-assessment-axis-value{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.session-assessment-reward{display:flex;gap:var(--space-12);align-items:center}.session-assessment-xp{font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-brass);animation:pop-in var(--duration-base) var(--easing-standard) .3s backwards}.session-assessment-mastered{font-size:var(--font-size-small);color:var(--color-text-secondary)}.session-assessment-list{width:100%;text-align:left}.session-assessment-list h3{font-size:var(--font-size-small);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.session-assessment-list ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--font-size-small);color:var(--color-text-secondary)}.session-assessment-done{width:100%;margin-top:var(--space-8)}.session-assessment-feedback{display:flex;flex-direction:column;align-items:center;gap:var(--space-8)}.session-assessment-feedback-prompt{margin:0;font-size:var(--font-size-small);color:var(--color-text-tertiary)}.session-assessment-feedback-choices{display:flex;gap:var(--space-8);flex-wrap:wrap;justify-content:center}.session-assessment-feedback-choice{min-height:var(--tap-target-min);padding:var(--space-4) var(--space-16);font-size:var(--font-size-small);background:var(--color-surface-elevated);color:var(--color-text-secondary);box-shadow:var(--charte-contour-hairline)}.session-assessment-feedback-choice:hover{box-shadow:var(--charte-contour-selected);color:var(--color-accent)}.session-assessment-feedback-thanks{margin:0;font-size:var(--font-size-small);color:var(--color-text-tertiary)}.variant-intro-screen{display:flex;flex-direction:column;gap:var(--space-12);animation:fade-in var(--duration-base) var(--easing-standard)}.variant-intro-title{margin:var(--space-4) 0 0;font-size:var(--font-size-h2)}@media (max-width: 767px){.variant-intro-screen .variant-intro-sequence{order:-1}}.variant-intro-sequence{margin:0;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.variant-intro-goal{font-weight:var(--font-weight-semibold);color:var(--color-accent)}.variant-intro-description{line-height:var(--line-height-body);color:var(--color-text-secondary)}.variant-intro-start{align-self:flex-start;margin-top:var(--space-8)}.summary-sticky-board{position:sticky;top:0;z-index:10;background:var(--color-background);padding:var(--space-8) 0 var(--space-12);border-bottom:1px solid var(--color-border)}.summary-sticky-board .board-wrap{width:min(100%,240px)}@media (min-width: 412px){.summary-sticky-board .board-wrap{width:min(100%,260px)}}@media (min-width: 768px){.summary-sticky-board .board-wrap{width:min(100%,300px)}}.summary-status{margin:var(--space-8) 0 var(--space-16);font-size:var(--font-size-h2)}.summary-status-acquis{color:var(--color-success)}.summary-status-fragile{color:var(--color-warning)}.summary-status-non_acquis{color:var(--color-danger)}.summary-hard-moves ul{margin:var(--space-4) 0 var(--space-16);padding-left:var(--space-24)}.summary-line{margin-top:var(--space-16)}.summary-line-label{margin:0 0 var(--space-8);font-size:var(--font-size-small);color:var(--color-text-secondary)}.summary-line-legend{display:flex;align-items:center;gap:var(--space-8);margin-top:var(--space-8);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.strategic-insights{margin-top:var(--space-24);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.strategic-insights-title{margin:0 0 var(--space-12);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.strategic-section{margin-bottom:var(--space-16)}.strategic-section-label{margin:0 0 var(--space-4);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.strategic-section-text{margin:0;font-size:var(--font-size-body)}.strategic-section-list{margin:0;padding-left:var(--space-24);font-size:var(--font-size-body)}.training-screen,.tactics-screen{display:flex;flex-direction:column;gap:var(--space-12);animation:fade-in var(--duration-base) var(--easing-standard)}.app:has(.training-screen) .app-header,.app:has(.tactics-screen) .app-header{margin-bottom:var(--space-8)}.app:has(.training-screen) .app-header h1,.app:has(.tactics-screen) .app-header h1{font-size:var(--font-size-h3)}.app:has(.training-screen) .subtitle,.app:has(.tactics-screen) .subtitle{display:none}@media (max-width: 767px){.app:has(.training-screen),.app:has(.tactics-screen){padding-left:var(--space-8);padding-right:var(--space-8)}}.app:has(.training-screen),.app:has(.tactics-screen){padding-top:var(--space-12)}.breadcrumb,.learning-progress,.learning-progress-review{margin-bottom:var(--space-8)}@media (max-width: 359px){.app{padding:var(--space-16) var(--space-12) var(--space-32)}.app-header h1{font-size:var(--font-size-h2)}.board-wrap{width:min(100%,340px)}.kata-feedback-card{padding:var(--space-24) var(--space-16)}}@media (min-width: 412px){.board-wrap{width:min(100%,420px)}}@media (min-width: 768px){.app{max-width:640px;padding:var(--space-32) var(--space-24) var(--space-64)}.board-wrap{width:min(100%,480px)}.opening-family-list,.course-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.progression-grid{grid-template-columns:repeat(4,1fr)}.kata-feedback-nav{flex-direction:row-reverse;justify-content:flex-start}.kata-feedback-nav button{width:auto}}@media (max-height: 700px){.app:has(.training-screen),.app:has(.tactics-screen){padding-top:var(--space-8);padding-bottom:var(--space-16)}.training-screen,.tactics-screen{gap:var(--space-8)}.move-list,.feedback{margin-top:var(--space-8);padding:var(--space-8) var(--space-12)}.summary-sticky-board{padding:var(--space-4) 0 var(--space-8)}.summary-sticky-board .board-wrap{width:min(100%,190px)}}.summary-closing{margin:0;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.summary-key-idea{margin-top:var(--space-8)}.summary-key-idea-label{margin:0 0 var(--space-4);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.summary-key-idea-text{margin:0;font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-secondary)}.summary-continue{margin-top:var(--space-16);width:100%}.summary-detail{margin-top:var(--space-24)}.summary-detail-toggle{cursor:pointer;font-size:var(--font-size-small);color:var(--color-text-tertiary);padding:var(--space-8) 0}.summary-detail-toggle:hover{color:var(--color-text-secondary)}.summary-detail[open] .summary-detail-toggle{margin-bottom:var(--space-8)}.decision-exercise-context{margin:0;font-size:var(--font-size-small);color:var(--color-text-secondary)}.why-now.coach-voice,.decision-exercise-context.coach-voice{font-family:var(--font-family-display);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-coach-text)}.coach-panel-lab-link,.coach-panel-games-link{align-self:flex-start;background:var(--color-accent-quiet);color:var(--color-accent);border-color:var(--color-accent);font-size:var(--font-size-caption);min-height:auto;padding:var(--space-4) var(--space-12)}.coach-panel-maintenance{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-12);border-top:1px solid var(--color-border)}.coach-panel-maintenance-label{margin:0;font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.lab-screen{display:flex;flex-direction:column;gap:var(--space-16);animation:fade-in var(--duration-base) var(--easing-standard)}.lab-eyebrow{margin:0;font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.lab-field-label{margin:0 0 var(--space-8);font-size:var(--font-size-small);color:var(--color-text-secondary)}.lab-kind-choices{display:flex;flex-direction:column;gap:var(--space-8)}.lab-kind-choice{width:100%;text-align:left;background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border)}.lab-kind-choice-selected{border-color:var(--color-accent);background:var(--color-accent-quiet);color:var(--color-accent)}.lab-profile-select{width:100%;background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-input);padding:var(--space-8) var(--space-12)}.lab-launch{width:100%}.lab-unavailable{margin:0;padding:var(--space-12) var(--space-16);background:var(--color-warning-quiet);border-left:3px solid var(--color-warning);border-radius:var(--radius-input);color:var(--color-text-primary);line-height:var(--line-height-body)}.lab-mode-toggle{display:flex;gap:var(--space-8)}.lab-mode-toggle .lab-kind-choice{width:auto;flex:1;text-align:center}.lab-composer-kinds{display:flex;flex-direction:column;gap:var(--space-8)}.lab-composer-kind-option{display:flex;align-items:center;gap:var(--space-8);min-height:var(--tap-target-min);padding:var(--space-8) var(--space-12);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-input);color:var(--color-text-primary)}.lab-composer-debug{margin:0;padding:var(--space-8) var(--space-12);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-input);color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.games-screen{display:flex;flex-direction:column;gap:var(--space-24);animation:fade-in var(--duration-base) var(--easing-standard)}.games-import-section{display:flex;flex-direction:column;gap:var(--space-8)}.games-pgn-input{width:100%;min-height:120px;padding:var(--space-12);background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid transparent;box-shadow:var(--charte-contour-hairline);border-radius:var(--radius-input);font-family:monospace;font-size:var(--font-size-small);resize:vertical}.games-username-label{display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--font-size-small);color:var(--color-text-secondary)}.games-username-input{width:100%;min-height:var(--tap-target-min);padding:var(--space-8) var(--space-12);background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid transparent;box-shadow:var(--charte-contour-hairline);border-radius:var(--radius-input)}.games-summary{margin:0;padding:var(--space-8) var(--space-12);background:var(--color-surface);border-left:3px solid var(--color-accent);border-radius:var(--radius-input);color:var(--color-text-secondary);font-size:var(--font-size-small)}.games-list-section{display:flex;flex-direction:column;gap:var(--space-8)}.games-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.games-list-item{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-12);background:var(--color-surface-elevated);box-shadow:var(--charte-contour-hairline);border-radius:var(--radius-input);font-size:var(--font-size-small)}.games-list-source{color:var(--color-text-tertiary)}.games-list-opponent{flex:1;color:var(--color-text-primary)}.games-list-outcome{text-transform:uppercase;font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.games-list-outcome-win{color:var(--color-success)}.games-list-outcome-loss{color:var(--color-danger)}.games-list-status{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.settings-menu{position:absolute;top:var(--space-4);right:var(--space-4)}.settings-menu-toggle{width:var(--tap-target-min);height:var(--tap-target-min);padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);color:var(--color-text-tertiary);font-size:var(--font-size-small);box-shadow:none;opacity:.6}.settings-menu-toggle:hover,.settings-menu-toggle[aria-expanded=true]{opacity:1;border-color:var(--color-border);background:var(--color-surface-elevated);transform:none}.settings-menu-panel{position:absolute;top:calc(100% + var(--space-8));right:0;z-index:10;min-width:200px;padding:var(--space-16);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--charte-contour-hairline),var(--shadow-md);animation:pop-in var(--duration-base) var(--easing-standard)}.settings-menu-label{margin:0 0 var(--space-8);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.theme-switcher,.skin-switcher{display:flex;flex-wrap:wrap;gap:var(--space-8)}.theme-switcher-pill,.skin-switcher-pill{min-height:var(--tap-target-min);padding:var(--space-4) var(--space-12);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background:var(--color-surface-elevated);color:var(--color-text-secondary);box-shadow:var(--charte-contour-hairline);border-radius:var(--radius-pill)}.theme-switcher-pill:hover,.skin-switcher-pill:hover{box-shadow:inset 0 0 0 1px var(--color-border-strong);color:var(--color-text-primary)}.theme-switcher-pill-active,.skin-switcher-pill-active{background:var(--color-accent-quiet);color:var(--color-accent);box-shadow:var(--charte-contour-selected)}.settings-menu-label-accounts{margin-top:var(--space-16)}.player-accounts-settings{display:flex;flex-direction:column;gap:var(--space-8)}.player-accounts-settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.player-accounts-settings-platform{font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap}.player-accounts-settings-linked,.player-accounts-settings-unlinked{display:flex;align-items:center;gap:var(--space-4);min-width:0}.player-accounts-settings-username{font-size:var(--font-size-caption);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.player-accounts-settings-input{min-width:0;width:110px;font-size:var(--font-size-caption)}.friends-settings{display:flex;flex-direction:column;gap:var(--space-12)}.friends-invite{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}.friends-hint{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.friends-link-button{padding:0;border:none;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.friends-search{display:flex;flex-direction:column;gap:var(--space-4)}.friends-search-row{display:flex;align-items:center;gap:var(--space-4);min-width:0}.friends-platforms{display:flex;gap:var(--space-4)}.friends-platform{display:inline-flex;align-items:center;justify-content:center;opacity:.45}.friends-platform-active{opacity:1;outline:2px solid currentColor}.friends-search-input{flex:1;min-width:0;font-size:var(--font-size-caption)}.friends-add{display:flex;flex-direction:column;gap:var(--space-12)}.friends-add-platform{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--profile-card-surface, var(--color-background))}.friends-add-head{display:flex;align-items:center;gap:var(--space-8);font-size:var(--font-size-caption)}.friends-add-row{display:flex;gap:var(--space-8)}.friends-add-row button{flex:none}.friends-add-hint{margin:0}.player-accounts-settings-icon,.friends-add-head .friends-handle-icon{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:9px;font-size:1rem;background:#e8f0df;color:#3a662b}.player-accounts-settings-icon[data-platform=lichess],.friends-add-head .friends-handle-icon[data-platform=lichess]{background:#e9e9ed;color:#29323f}.player-accounts-settings-head{display:flex;align-items:center;gap:var(--space-8);flex:1;min-width:0}.friends-notice{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-8);font-size:var(--font-size-caption);color:var(--color-text-primary)}.friends-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.friends-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-width:0}.friends-row-actions{display:flex;gap:var(--space-4)}.friends-name{display:flex;flex-direction:column;min-width:0}.friends-handle{display:inline-flex;align-items:center;gap:var(--space-4);color:var(--color-text-primary);min-width:0}.friends-handle-icon{display:inline-flex;flex-shrink:0}.friends-handle-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-handle-secondary{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.friend-invite-banner{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) var(--space-16);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.friend-invite-banner-title{margin:0;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.friend-invite-banner-text{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.friend-invite-banner-close{align-self:flex-start}.player-accounts-settings-hint{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.best-self-screen{display:flex;flex-direction:column;gap:var(--space-24);animation:fade-in var(--duration-base) var(--easing-standard)}.best-self-loading{margin:0;color:var(--color-text-secondary)}.best-self-title{margin:0;font-size:var(--font-size-h2);color:var(--color-text-primary);line-height:var(--line-height-heading)}.best-self-hint,.best-self-progress{margin:0;color:var(--color-text-secondary);line-height:var(--line-height-body)}.best-self-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);padding:var(--space-24) var(--space-16);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--charte-contour-hairline),inset 3px 0 0 0 var(--charte-color-accent),var(--shadow-md);text-align:center;animation:slide-up var(--duration-base) var(--easing-standard)}.best-self-hero-row{display:flex;align-items:center;justify-content:center;gap:var(--space-24);width:100%}.best-self-stat{display:flex;flex-direction:column;gap:var(--space-4)}.best-self-stat-label{margin:0;font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.best-self-stat-value{margin:0;font-size:var(--charte-font-size-32);font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.best-self-stat-value-target{color:var(--color-accent);font-size:var(--charte-font-size-66)}.best-self-delta{margin:var(--space-4) 0 0;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-success);font-variant-numeric:tabular-nums}.best-self-tagline{margin:var(--space-8) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-small);max-width:32ch}.best-self-proofs{display:flex;flex-direction:column;gap:var(--space-12)}.best-self-proof-card{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-12) var(--space-16);background:var(--color-surface-elevated);box-shadow:var(--charte-contour-hairline);border-radius:var(--radius-card)}.best-self-proof-header{display:flex;align-items:center;gap:var(--space-8);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.best-self-proof-icon{font-size:var(--font-size-h3)}.best-self-proof-body{display:flex;align-items:center;gap:var(--space-16)}.best-self-proof-board{flex-shrink:0}.best-self-proof-board .board-wrap{width:min(100%,96px)}.best-self-proof-details{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.best-self-proof-score{margin:0;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-small)}.best-self-proof-meta,.best-self-footnote{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}@media (max-width: 420px){.best-self-hero-row{gap:var(--space-16)}.best-self-stat-value-target{font-size:var(--font-size-h1)}.best-self-proof-body{flex-wrap:wrap}}.app-with-tabs{padding-bottom:calc(var(--space-64) + var(--space-16) + var(--space-24) + env(safe-area-inset-bottom,0px))}.app-with-tabs{min-height:100dvh;background:var(--color-background)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;gap:0;background:var(--color-surface);border-top:1px solid var(--color-border);padding:5px max(6px,env(safe-area-inset-left,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-right,0px));box-shadow:none}.tab-bar-item{flex:1;max-width:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:var(--tap-target-min);padding:var(--space-4);background:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-button);font-family:var(--font-family)}.tab-bar-item:hover{background:transparent;color:var(--color-text-primary)}.tab-bar-item-active,.tab-bar-item-active:hover{color:var(--color-text-primary)}.tab-bar-icon-wrap{position:relative;display:inline-flex}.tab-bar-icon{width:var(--charte-size-nav-icon);height:var(--charte-size-nav-icon)}.nav-coach-icon{display:inline-grid;place-items:center;box-sizing:border-box;padding:var(--nav-coach-icon-padding);border-radius:50%;background:var(--color-coach-avatar-backdrop)}.nav-coach-icon .coach-avatar{width:100%;height:100%}.tab-bar-item:not(.tab-bar-item-active) .nav-coach-icon,.side-nav-item:not(.side-nav-item-active) .nav-coach-icon{opacity:.62}.tab-bar-badge{position:absolute;top:-4px;right:-8px;display:inline-flex;align-items:center;justify-content:center;min-width:var(--charte-size-nav-badge);height:var(--charte-size-nav-badge);padding:0 3px;border-radius:50%;background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-size:var(--charte-font-size-nav-badge);font-weight:var(--font-weight-bold);line-height:1}.tab-bar-label{font-size:var(--charte-font-size-nav-label);font-weight:var(--font-weight-semibold)}.tab-bar-item-active .tab-bar-label{font-weight:var(--font-weight-semibold)}.tab-bar{min-height:calc(var(--charte-size-bottom-nav) + env(safe-area-inset-bottom,0px))}.tab-bar-item{position:relative}.tab-bar-item-active:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:var(--charte-size-nav-accent-width);height:var(--charte-size-nav-accent-height);border-radius:0 0 3px 3px;background:var(--skin-nav-accent-bar)}@media (min-width: 768px){.tab-bar{max-width:640px;margin:0 auto;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);border-radius:var(--radius-card) var(--radius-card) 0 0}}.cadence-selector-compact{position:relative;display:inline-flex;align-items:center;gap:var(--space-4);flex-shrink:0;min-height:var(--tap-target-min);padding:var(--space-4) var(--space-24) var(--space-4) var(--space-8);background:var(--color-surface-elevated);border-radius:var(--radius-pill);box-shadow:var(--charte-contour-hairline);color:var(--color-text-secondary)}.cadence-selector-compact-disabled{color:var(--color-text-tertiary)}.cadence-selector-compact-icon{font-size:var(--font-size-caption);line-height:1}.cadence-selector-compact-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.cadence-selector-compact-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:auto;margin:0;padding:0;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background:transparent;color:var(--color-text-primary);border:none;max-width:5.5rem}.app:has(.dashboard) .cadence-selector-compact{min-width:84px;min-height:38px;padding:0 var(--space-24) 0 9px}.app:has(.dashboard) .cadence-selector-compact-label,.app:has(.dashboard) .cadence-selector-compact-select{font-size:14px;font-weight:var(--font-weight-bold)}.cadence-selector-compact-caret{position:absolute;right:var(--space-8);pointer-events:none;font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.profile-screen{display:flex;flex-direction:column;gap:var(--space-24)}.profile-section{display:flex;flex-direction:column;gap:var(--space-12)}.profile-section+.profile-section{padding-top:var(--space-24);border-top:1px solid var(--color-border)}.profile-section-credits{margin-top:var(--space-8)}.profile-section-title{font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.profile-section-credits{gap:0}.profile-credits-line,.profile-credits-pieces{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.profile-credits-line a,.profile-credits-pieces a{color:inherit}.profile-coach-panel-toggle{width:100%;min-height:60px;padding:var(--space-12) var(--space-16);display:flex;align-items:center;gap:13px;background:var(--color-surface);border:1.2px solid var(--color-border);border-radius:var(--radius-input);text-align:left;cursor:pointer}.profile-admin-links{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-8)}.profile-coach-panel-toggle:hover{background:var(--color-surface-elevated)}.profile-admin-link{box-sizing:border-box;width:100%;min-height:60px;padding:var(--space-12) var(--space-16);display:flex;align-items:center;gap:13px;background:var(--color-surface);border:1.2px solid var(--color-border);border-radius:var(--radius-input);text-decoration:none}.profile-admin-link:hover{background:var(--color-surface-elevated)}.profile-admin-link-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.profile-admin-link-icon svg{width:1.1rem;height:1.1rem}.profile-admin-link-label{flex:1;min-width:0;font-size:14.5px;line-height:1.2;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.profile-coach-panel-toggle-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.profile-coach-panel-toggle-icon svg{width:1.1rem;height:1.1rem}.profile-coach-panel-toggle-label{flex:1;min-width:0;font-size:14.5px;line-height:1.2;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.coach-insights-screen{display:flex;flex-direction:column;gap:var(--space-24)}.coach-insights-header{display:flex;flex-direction:column;gap:var(--space-4)}.coach-insights-heading{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-coach-text)}.coach-insights-subtitle{margin:0;font-size:var(--font-size-small);color:var(--color-coach-text)}.coach-insights-section{display:flex;flex-direction:column;gap:var(--space-12)}.coach-insights-section-title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.coach-insight-list{display:flex;flex-direction:column;gap:var(--space-12);margin:0;padding:0;list-style:none}.coach-insight-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) var(--space-16);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--charte-contour-hairline),inset 3px 0 0 0 var(--color-border-strong),var(--shadow-sm)}.coach-insight-card-strength{box-shadow:var(--charte-contour-hairline),inset 3px 0 0 0 var(--color-success),var(--shadow-sm)}.coach-insight-card-blind-spot{box-shadow:var(--charte-contour-hairline),inset 3px 0 0 0 var(--color-brass),var(--shadow-sm)}.coach-insight-context{margin:0;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.coach-insight-title{margin:0;font-size:var(--charte-font-size-20);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.coach-insight-detail{margin:0;font-size:var(--font-size-small);line-height:var(--line-height-body);color:var(--color-text-secondary)}.journal-screen{display:flex;flex-direction:column;gap:var(--space-24)}.journal-header{display:flex;flex-direction:column;gap:var(--space-4)}.journal-title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h3);line-height:var(--line-height-heading);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.journal-intro{margin:0;font-size:var(--font-size-small);line-height:var(--line-height-body);color:var(--color-text-secondary)}.journal-ratings{display:grid;grid-template-columns:repeat(var(--journal-rating-columns, 3),minmax(0,1fr));margin-top:var(--space-16);padding-block:var(--space-8);border-top:1px solid var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-elevated)}.journal-rating{display:flex;flex-direction:column;gap:var(--space-4);padding-inline:var(--space-12);text-align:center}.journal-rating+.journal-rating{border-left:1px solid var(--color-surface-elevated)}.journal-rating-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.journal-rating-value{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.journal-context{margin:var(--space-8) 0 0;font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.journal-filters{display:flex;gap:var(--space-8)}.journal-filter{padding:var(--space-4) var(--space-12);border:none;border-radius:var(--radius-pill);background:transparent;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);cursor:pointer}.journal-filter--active{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.journal-note-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.journal-note{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-24) 0;border-bottom:1px solid var(--color-surface-elevated)}.journal-note-body{flex:1;min-width:0}.journal-note-author{margin:0;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.journal-note-date-row{display:flex;align-items:center;gap:var(--space-8);margin-top:var(--space-4);margin-bottom:var(--space-8);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-tertiary)}.journal-note-unread{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--color-accent-quiet);color:var(--color-accent);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.02em;text-transform:uppercase}.journal-note-title{margin:0;font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.journal-author-badge{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.02em}.journal-author-badge--coach{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.journal-author-badge--chesskata{background:var(--charte-color-fill-action);color:var(--charte-color-fill-coach)}@media (min-width: 768px){.journal-screen{max-width:32rem;margin-inline:auto}}.progress-tab-screen{display:flex;flex-direction:column;gap:var(--space-32)}.progress-tab-section{display:flex;flex-direction:column;gap:var(--space-12)}.progress-tab-hint{margin:0;color:var(--color-text-secondary);line-height:var(--line-height-body)}.progress-tab-trend{margin:0;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.progress-tab-trend-up{color:var(--color-success)}.progress-tab-trend-down{color:var(--color-danger)}.progress-tab-trend-detail{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.progress-tab-focus-list{display:flex;flex-direction:column;gap:var(--space-12);margin:0;padding:0;list-style:none}.progress-tab-focus-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) var(--space-16);background:var(--color-surface-elevated);border-radius:var(--radius-card);box-shadow:var(--charte-contour-hairline),inset 3px 0 0 0 var(--color-warning)}.progress-tab-focus-title{margin:0;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-small)}.progress-tab-focus-meta{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.cm-chessboard .board .square.white{fill:var(--board-light)}.cm-chessboard .board .square.black{fill:var(--board-dark)}.cm-chessboard .board .square{cursor:pointer;shape-rendering:crispEdges}.cm-chessboard .board .border{fill:none;stroke-width:0}.cm-chessboard .pieces>g,.cm-chessboard-draggable-piece{filter:var(--skin-piece-filter)}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer,.cm-chessboard .interactive-top-layer{pointer-events:none}.cm-chessboard-draggable-piece{position:absolute;top:0;left:0;z-index:1000;pointer-events:none}.board-mark>:not([fill]){fill:transparent}.board-mark.board-mark-last-move>rect{fill:#9bc70069}.board-mark.board-mark-last-move-halo{display:none}.board-mark.board-mark-selected>rect{fill:#14551e80}.board-mark.board-mark-dest>circle{fill:#14551e80}.board-mark.board-mark-dest-capture>path{fill:#1455004d}.board-mark.board-mark-dest-hover>rect{fill:#14551e4d}.board-shapes{opacity:.6}.board-arrow.board-shape-yellow,.board-circle.board-shape-yellow>circle{stroke:#e68f00}.board-arrow-head.board-shape-yellow{fill:#e68f00}.board-arrow.board-shape-red,.board-circle.board-shape-red>circle{stroke:#882020}.board-arrow-head.board-shape-red{fill:#882020}.board-arrow.board-shape-green,.board-circle.board-shape-green>circle{stroke:#15781b}.board-arrow-head.board-shape-green{fill:#15781b}.board-arrow.board-shape-blue,.board-circle.board-shape-blue>circle{stroke:#003088}.board-arrow-head.board-shape-blue{fill:#003088}@keyframes exercise-refused-square-flash{0%{fill:#a4302a00}35%{fill:#a4302a8c}to{fill:#a4302a00}}.board-mark.square-refused-flash-1>rect,.board-mark.square-refused-flash-2>rect,.board-mark.square-refused-flash-3>rect{fill:#a4302a00;animation:exercise-refused-square-flash .5s ease-out 1}.app:has(.exercise-screen){font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app:has(.exercise-screen) .session-header-back{min-height:2rem;min-width:0;padding:var(--space-4);font-size:1.375rem;line-height:1}.app:has(.exercise-screen) .session-header-back span:last-child{min-width:0;overflow:hidden;margin:0;font-size:clamp(.6875rem,2.9vw,.75rem);font-weight:var(--font-weight-bold)}.app:has(.exercise-screen) .session-header-row .session-timer{min-height:auto;min-width:auto;padding:0;background:none;border-radius:0;box-shadow:none;font-size:.9375rem;font-weight:var(--font-weight-semibold)}.app:has(.exercise-screen) .session-header-row .session-timer:hover{background:none;box-shadow:none}.app:has(.exercise-screen) .session-header-row .session-timer-value{font-weight:var(--font-weight-semibold)}.app:has(.exercise-screen) .app-header{margin-bottom:0}.app:has(.exercise-screen){width:100%;min-height:100dvh;padding-top:max(8px,env(safe-area-inset-top))}@media (max-width: 767px){.app:has(.exercise-screen){max-width:430px}}.app:has(.sequence-advice-screen){padding-bottom:1.75rem}@media (max-width: 767px){.app:has(.sequence-advice-screen){padding-left:clamp(.875rem,4vw,1.125rem);padding-right:clamp(.875rem,4vw,1.125rem)}}.stats-screen{display:flex;flex-direction:column;gap:var(--space-8)}.stats-header{display:flex;flex-direction:column;gap:var(--space-4)}.stats-header h1{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h1);line-height:var(--line-height-heading);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stats-header-meta{margin:0;font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-filters{display:grid;gap:var(--space-8);margin-top:var(--space-16)}.stats-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface)}.stats-segmented button{height:38px;border:0;border-radius:var(--radius-button);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .14s ease,color .14s ease}.stats-segmented button:hover:not(.active){color:var(--color-text-primary)}.stats-segmented button.active{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);box-shadow:0 1px 3px #0000001f}.stats-segmented-platform button{font-weight:var(--font-weight-bold)}.stats-section{margin-top:var(--space-32)}.stats-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-16);margin-bottom:var(--space-12)}.stats-section-head h2{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stats-section-note{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.stats-metric{min-height:100px;padding:var(--space-16);border-radius:var(--radius-card);background:var(--color-surface)}.stats-metric-label{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-metric-value{margin-top:var(--space-4);font-size:var(--font-size-h2);font-weight:var(--font-weight-black);color:var(--color-text-primary)}.stats-metric-detail{margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-panel{border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--charte-contour-hairline);padding:var(--space-16)}.stats-rating-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--color-surface-elevated);padding-bottom:var(--space-12)}.stats-rating+.stats-rating{border-left:1px solid var(--color-surface-elevated);padding-left:var(--space-12)}.stats-rating-label{font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.stats-rating-value{margin-top:var(--space-4);font-size:var(--font-size-h2);font-weight:var(--font-weight-black);color:var(--color-text-primary)}.stats-rating-delta{margin-top:var(--space-4);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-success)}.stats-rating-delta-down{color:var(--color-danger)}.stats-rating-sub{margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-rating-empty{margin-top:var(--space-8);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-chart-head{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-16)}.stats-chart-head strong{font-size:var(--font-size-small);color:var(--color-text-primary)}.stats-cadence-toggle{display:flex;gap:var(--space-8)}.stats-cadence-toggle button{border:0;background:none;font-size:var(--font-size-caption);color:var(--color-text-tertiary);padding:var(--space-4) 0;cursor:pointer}.stats-cadence-toggle button.active{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.stats-chart{height:150px;margin-top:var(--space-8)}.stats-chart svg{width:100%;height:100%}.stats-chart-line{fill:none;stroke:var(--color-text-primary);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.stats-chart-area{fill:var(--charte-color-fill-coach);opacity:.12}.stats-chart-dot{fill:var(--charte-color-fill-coach);stroke:var(--color-text-primary);stroke-width:1.5}.stats-chart-caption{display:flex;justify-content:space-between;margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-chart-empty{margin-top:var(--space-16);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-kpi-row{display:grid;grid-template-columns:repeat(3,1fr)}.stats-kpi{padding:var(--space-4) var(--space-8) 0 0}.stats-kpi+.stats-kpi{border-left:1px solid var(--color-surface-elevated);padding-left:var(--space-12)}.stats-kpi strong{display:block;font-size:var(--font-size-h3);color:var(--color-text-primary)}.stats-kpi span{font-size:var(--font-size-caption);color:var(--color-text-tertiary);display:block;margin-top:var(--space-4)}.stats-spark{margin-top:var(--space-16);height:62px;display:flex;align-items:end;gap:var(--space-4)}.stats-bar{flex:1;min-width:3px;border-radius:4px 4px 1px 1px;background:var(--color-surface-elevated)}.stats-bar-hot{background:var(--charte-color-fill-coach)}.stats-spark-caption{display:flex;justify-content:space-between;margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-simple-row{display:flex;justify-content:space-between;gap:var(--space-16);padding:var(--space-12) 0;border-bottom:1px solid var(--color-surface-elevated)}.stats-simple-row:last-child{border-bottom:0}.stats-simple-row span:first-child{font-size:var(--font-size-small);color:var(--color-text-secondary)}.stats-simple-row strong{font-size:var(--font-size-small);color:var(--color-text-primary)}.stats-progress-line{margin-top:var(--space-12)}.stats-progress-line-head{display:flex;justify-content:space-between;gap:var(--space-16);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.stats-track{height:6px;background:var(--color-surface-elevated);border-radius:var(--radius-pill);margin-top:var(--space-8);overflow:hidden}.stats-fill{height:100%;background:var(--color-text-primary);border-radius:var(--radius-pill)}.stats-fill-red{background:var(--color-danger)}.stats-game-result{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.stats-result{padding:var(--space-12);border-radius:var(--radius-input);background:var(--color-surface-elevated);text-align:left}.stats-result strong{font-size:var(--font-size-h3);color:var(--color-text-primary)}.stats-result span{display:block;margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-result-win{background:var(--charte-color-fill-success-soft)}.stats-result-win strong,.stats-result-win span{color:var(--charte-color-fill-success-soft-text)}.stats-result-loss{background:var(--color-surface-elevated)}.stats-phase-title{display:block;font-size:var(--font-size-small);color:var(--color-text-primary);margin-bottom:var(--space-4)}.stats-phase-row{display:grid;grid-template-columns:92px 1fr 42px;align-items:center;gap:var(--space-8);margin-top:var(--space-12)}.stats-phase-row span{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.stats-phase-row strong{font-size:var(--font-size-caption);text-align:right;color:var(--color-text-primary)}.stats-evolution-note{margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.stats-desktop-grid>.stats-panel+.stats-panel{margin-top:var(--space-16)}@media (min-width: 768px){.stats-desktop-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-16)}.stats-desktop-grid.stats-desktop-grid-equal{grid-template-columns:1fr 1fr}.stats-desktop-grid>.stats-panel+.stats-panel{margin-top:0}.stats-period{max-width:22rem}}.katana-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;overflow:hidden;background:#000;pointer-events:auto}.katana-slice{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;will-change:transform}.katana-snapshot{position:absolute;top:0;right:0;bottom:0;left:0}.katana-snapshot-frame{position:absolute}.katana-transition .katana-snapshot-frame>*{margin:0;animation:none;pointer-events:none}body .app .katana-transition .katana-snapshot-frame *,body .app .katana-transition .katana-snapshot-frame *:before,body .app .katana-transition .katana-snapshot-frame *:after{animation:none}.katana-slice-top{clip-path:polygon(0 0,100% 0,100% 38%,0 60%)}.katana-slice-bottom{clip-path:polygon(0 60%,100% 38%,100% 100%,0 100%)}.katana-transition--cut .katana-slice-top{animation:katana-slice-top .44s .11s cubic-bezier(.5,.02,.7,.3) forwards}.katana-transition--cut .katana-slice-bottom{animation:katana-slice-bottom .44s .11s cubic-bezier(.5,.02,.7,.3) forwards}@keyframes katana-slice-top{to{transform:translate(-50px,-116%)}}@keyframes katana-slice-bottom{to{transform:translate(50px,116%)}}.katana-slash{position:absolute;z-index:5;left:-12%;top:54%;width:124%;height:4px;background:linear-gradient(90deg,transparent,#fff 9%,var(--charte-color-fill-coach) 45%,#fff 88%,transparent);box-shadow:0 0 12px #fff,0 0 30px var(--charte-color-fill-coach);transform:rotate(-12deg) scaleX(0);transform-origin:left center;opacity:0}.katana-transition--cut .katana-slash{animation:katana-slash .2s ease-out forwards}@keyframes katana-slash{0%{transform:rotate(-12deg) scaleX(0);opacity:1}72%{transform:rotate(-12deg) scaleX(1);opacity:1}to{transform:rotate(-12deg) scaleX(1);opacity:0}}.katana-transition--fade{opacity:0;transition:opacity .1s ease}.katana-transition--reduced{opacity:0;transition:opacity .05s ease}.katana-transition--reduced.katana-transition--cut{opacity:1}.katana-transition--reduced.katana-transition--fade{opacity:0;transition:opacity .07s ease}.studies-collection-count{margin:var(--space-24) 0 var(--space-8);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.studies-collection-count strong{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.studies-progress{height:5px;margin-bottom:var(--space-24);overflow:hidden;border-radius:var(--radius-pill);background:var(--color-border)}.studies-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--charte-color-fill-coach)}.studies-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--space-12);row-gap:var(--space-32);margin:0;padding:0;list-style:none}.study-slot{position:relative;min-width:0}.study-cover{position:relative;display:block;width:100%;aspect-ratio:.72;overflow:hidden;border-radius:2px 8px 8px 2px;background:var(--study-cover-color, var(--color-surface-elevated));color:var(--study-cover-art-color, var(--color-text-primary));box-shadow:var(--shadow-md)}.study-cover-spine{position:absolute;inset:0 auto 0 0;width:10%;border-right:1px solid rgb(25 22 18 / 22%);background:linear-gradient(90deg,#1814104f,#ffffff29 48%,#100f0e24)}.study-cover-kicker{position:absolute;top:8%;right:7%;left:14%;text-align:center;font-size:clamp(.375rem,1.8vw,.6875rem);font-weight:var(--font-weight-bold);letter-spacing:.16em;text-transform:uppercase;opacity:.76}.study-cover-art{position:absolute;top:16%;right:9%;bottom:17%;left:13%;width:78%;height:67%;opacity:.78}.study-cover-number{position:absolute;right:6%;bottom:6%;left:13%;text-align:center;font-size:clamp(.5625rem,2.4vw,.875rem);font-weight:var(--font-weight-bold);letter-spacing:.07em}.study-cover-status{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--charte-color-ink);color:var(--charte-color-background);font-size:.75rem;font-weight:var(--font-weight-bold)}.study-slot-current .study-cover{box-shadow:0 0 0 3px var(--charte-color-fill-coach),var(--shadow-md)}.study-current-label{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);max-width:calc(100% - 8px);padding:5px 7px;border-radius:var(--radius-pill);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);font-size:clamp(.4375rem,1.8vw,.625rem);line-height:1;font-weight:var(--font-weight-bold);text-align:center;white-space:nowrap}.study-cover-future{box-shadow:none;filter:grayscale(1);opacity:.72}.study-cover-future .study-cover-kicker{opacity:.3}.study-cover-future .study-cover-art{opacity:.18}.study-cover-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.studies-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-12);margin:var(--space-32) 0 0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.studies-legend-item{display:inline-flex;align-items:center;gap:var(--space-4)}.studies-legend-dot{width:8px;height:8px;border-radius:50%}.studies-legend-dot-solved{background:var(--charte-color-ink)}.studies-legend-dot-available{border:1.5px solid var(--color-border-strong);background:var(--color-surface)}.studies-legend-dot-future{background:var(--color-border-strong)}.badge-summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-8);margin:0 2px var(--space-16)}.badge-summary strong{font-size:var(--font-size-body);font-weight:780;letter-spacing:-.35px;color:var(--color-text-primary)}.badge-summary span{font-size:var(--font-size-caption);font-weight:620;color:var(--color-text-secondary);white-space:nowrap}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 9px}.badge-tile{min-width:0;min-height:82px;width:100%;padding:5px 2px;border:1px solid transparent;border-radius:16px;background:transparent;display:grid;place-items:center;position:relative;isolation:isolate;cursor:pointer;transition:background .16s ease,transform .16s ease}.badge-tile:hover{background:#f5f2ea;transform:translateY(-2px)}.badge-tile:focus-visible,.badge-sheet-close:focus-visible{outline:3px solid var(--color-text-primary);outline-offset:2px}.badge-medal{width:min(82%,75px);aspect-ratio:1 / 1.1;max-height:82px;display:grid;place-items:center;position:relative;color:var(--badge-deep);filter:drop-shadow(0 3px 3px #24221b24);transition:transform .16s ease}.badge-tile:hover .badge-medal{transform:scale(1.04)}.badge-medal:before,.badge-medal:after,.badge-medal-inner{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(50% 0%,84% 8%,96% 25%,94% 73%,78% 91%,50% 100%,22% 91%,6% 73%,4% 25%,16% 8%)}.badge-medal:before{background:linear-gradient(144deg,var(--badge-bright) 0%,var(--badge-tone) 50%,var(--badge-deep) 100%)}.badge-medal:after{top:5%;right:5%;bottom:5%;left:5%;background:linear-gradient(160deg,#fffdfa,#fff8e7 54%,#f4e9d1);box-shadow:inset 0 0 0 1px #ffffffbf}.badge-medal-inner{top:15%;right:15%;bottom:15%;left:15%;z-index:1;border:1px solid #ffffffc4;opacity:.7;clip-path:polygon(50% 0%,82% 10%,96% 32%,91% 73%,72% 91%,50% 100%,25% 90%,8% 73%,5% 30%,18% 10%)}.badge-medal[data-variant="2"]:before{clip-path:polygon(50% 0%,78% 7%,96% 24%,98% 68%,80% 90%,50% 100%,20% 90%,2% 68%,4% 24%,22% 7%)}.badge-medal[data-variant="2"] .badge-medal-inner,.badge-medal[data-variant="2"]>.badge-medal-inner{top:12%;right:12%;bottom:12%;left:12%;border:2px double currentColor;opacity:.38}.badge-medal[data-variant="3"]:before{clip-path:polygon(50% 0%,69% 9%,89% 5%,96% 29%,100% 50%,93% 72%,82% 96%,50% 100%,18% 96%,7% 72%,0% 50%,4% 29%,11% 5%,31% 9%)}.badge-medal[data-variant="3"] .badge-medal-inner{top:11%;right:11%;bottom:11%;left:11%;border:2px solid currentColor;opacity:.35}.badge-medal[data-variant="4"]:before{clip-path:polygon(50% 0%,75% 10%,95% 22%,99% 52%,89% 83%,50% 100%,11% 83%,1% 52%,5% 22%,25% 10%)}.badge-medal[data-variant="4"] .badge-medal-inner{top:10%;right:10%;bottom:10%;left:10%;border:2px solid currentColor;opacity:.42}.badge-medal svg{position:relative;z-index:2;width:44%;height:44%;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.badge-medal[data-variant="2"] svg{transform:rotate(-5deg)}.badge-medal[data-variant="3"] svg{transform:scale(1.08)}.badge-medal.is-locked{--badge-tone: #b5bbc4;--badge-deep: #818b97;--badge-bright: #e3e6e9;color:#9aa2ad;filter:none;opacity:.56}.badge-medal.is-locked:after{background:linear-gradient(155deg,#fcfcfd,#dfe2e6)}.badge-medal.is-locked .badge-medal-inner{opacity:.42}.badge-medal.is-mystery{--badge-tone: #929aa5;--badge-deep: #67717d;--badge-bright: #d6dbe0;opacity:.8}.badge-medal-question{position:relative;z-index:2;font-size:30px;font-weight:700;color:#6a7480}.badge-lock{position:absolute;z-index:4;right:8%;bottom:7%;width:19px;height:19px;border-radius:50%;background:#f6f7f8;border:1px solid #aab0b8;color:#6d7580;display:grid;place-items:center;box-shadow:0 1px 3px #252d3324}.badge-lock svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.badge-sheet{width:min(calc(100vw - 22px),438px);max-height:min(86svh,680px);margin:auto auto max(10px,env(safe-area-inset-bottom));padding:0;border:none;border-radius:24px 24px 19px 19px;background:#fffdfa;color:#1e2530;box-shadow:0 20px 70px #11192866;overflow:auto}.badge-sheet::backdrop{background:#151a26a8}.badge-sheet-body{padding:12px 24px 23px;text-align:center;position:relative}.badge-sheet-handle{display:block;width:36px;height:4px;background:#e3e1db;border-radius:4px;margin:0 auto 14px}.badge-sheet-close{position:absolute;top:12px;right:15px;width:var(--charte-size-close-button);height:var(--charte-size-close-button);padding:0;border:none;background:var(--color-surface-elevated);color:var(--color-text-primary);border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.badge-sheet-body .badge-medal{width:126px;height:139px;max-height:none;aspect-ratio:auto;margin:14px auto 15px;filter:drop-shadow(0 6px 7px #271f2034)}.badge-sheet-body .badge-medal svg{width:50px;height:50px;stroke-width:1.5}.badge-sheet-body .badge-medal.is-locked{filter:none;opacity:.7}.badge-sheet-body .badge-medal-question{font-size:54px;color:#7d8590}.badge-sheet-kicker{color:var(--badge-deep);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;margin:4px 0 8px}.badge-sheet-title{font-size:23px;letter-spacing:-.6px;line-height:1.2;margin:0 0 7px;color:#1e2530}.badge-sheet-goal{color:#555c67;font-size:14px;line-height:1.45;margin:0 auto;max-width:305px}.badge-sheet-status{display:inline-flex;align-items:center;margin:20px auto 0;border:1px solid #ded9ce;padding:7px 12px;border-radius:999px;color:#444e57;background:#f7f4ec;font-size:12px;font-weight:780}.badge-sheet-status.is-earned{background:#f8edc9;border-color:#e8d695;color:#755719}.badge-sheet-progress{margin:22px 0 3px;text-align:left}.badge-sheet-progress-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:710;font-size:13px;color:#1e2530}.badge-sheet-progress-top strong{font-size:15px;font-variant-numeric:tabular-nums}.badge-sheet-track{width:100%;height:8px;background:#ececef;border-radius:10px;overflow:hidden;margin-top:10px}.badge-sheet-track span{display:block;height:100%;border-radius:10px;background:var(--badge-tone)}.badge-sheet-note{font-size:11px;line-height:1.4;color:#7a828c;margin:11px 0 0}[data-badge-family=training]{--badge-bright: #ffeba8;--badge-tone: #d9ae59;--badge-deep: #76571e}[data-badge-family=studies]{--badge-bright: #d9e9bd;--badge-tone: #88a38a;--badge-deep: #3d694d}[data-badge-family=regularity]{--badge-bright: #dae6f3;--badge-tone: #8198b8;--badge-deep: #465e85}[data-badge-family=journey]{--badge-bright: #f5d9c1;--badge-tone: #b68b80;--badge-deep: #744a4d}@media (max-width: 350px){.badge-grid{gap:9px 5px}.badge-tile{min-height:74px;padding:3px 0}.badge-lock{width:17px;height:17px;right:4%}}@media (prefers-reduced-motion: reduce){.badge-tile,.badge-medal{transition-duration:.01ms}}.badge-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-24) var(--space-24) max(var(--space-24),env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 50% 38%,#fffdf4,#f6f0e2 55%,#e8e2d4);color:#20252d;text-align:center;animation:badge-celebration-enter .26s ease-out both}@keyframes badge-celebration-enter{0%{opacity:0}to{opacity:1}}.badge-celebration-halo{position:absolute;top:38%;left:50%;width:0;height:0;pointer-events:none}.badge-celebration-ray{position:absolute;width:3px;height:148px;border-radius:3px;background:linear-gradient(to top,#e8b84700,#e8b84766 45%,#e8b84700);transform:rotate(var(--ray-angle)) translateY(-176px);transform-origin:top center;animation:badge-celebration-ray 2.6s ease-in-out infinite alternate}@keyframes badge-celebration-ray{0%{opacity:.35}to{opacity:.9}}.badge-celebration-kicker{position:relative;margin:0;color:var(--badge-deep, #785c21);font-size:10px;font-weight:850;letter-spacing:1.3px;text-transform:uppercase}.badge-celebration-medallion{position:relative;width:168px;height:180px;margin:var(--space-16) auto var(--space-12);animation:badge-celebration-seal .42s cubic-bezier(.2,.9,.3,1.3) both}.badge-celebration-medallion svg{width:82px;height:82px}.badge-celebration-medallion.rating-medallion svg{width:64px;height:64px;transform:translateY(-18px)}.badge-celebration-medallion .rank-number{bottom:40px;font-size:28px}@keyframes badge-celebration-seal{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.badge-celebration-title{position:relative;margin:0;font-size:26px;letter-spacing:-.8px;line-height:1.1}.badge-celebration-level{position:relative;margin:var(--space-4) 0 var(--space-12);color:var(--badge-deep, #785c21);font-size:12px;font-weight:750}.badge-celebration-desc{position:relative;max-width:30ch;margin:0 0 var(--space-8);color:#545c65;font-size:13px;line-height:1.5}.badge-celebration-others{margin-top:var(--space-16);width:min(100%,320px)}.badge-celebration-others p{margin:0 0 var(--space-8);font-size:var(--font-size-caption);color:#6b6252}.badge-celebration-others-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.badge-celebration-others-list li{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:var(--space-8);text-align:left}.badge-celebration-other-seal{grid-row:1 / span 2;display:grid;place-items:center}.badge-celebration-other-seal .badge-medal{width:38px;height:42px;max-height:none;aspect-ratio:auto;filter:none}.badge-celebration-other-seal .badge-medal svg{width:40%;height:40%}.badge-celebration-other-name{font-size:var(--font-size-caption);font-weight:700;color:#2f2a22}.badge-celebration-other-goal{font-size:11px;color:#6b6252}.badge-celebration-continue{position:relative;margin-top:var(--space-16);min-width:190px}.badge-history-notice{display:flex;align-items:center;gap:var(--space-8);margin:0 0 var(--space-12);padding:var(--space-8) var(--space-12);border:1px solid #ead6a9;border-radius:var(--radius-card);background:#fffbf1;color:#545c65;font-size:12px;line-height:1.4;text-align:left}.badge-history-notice span{flex:1}.badge-history-dismiss{display:grid;flex:none;place-items:center;width:32px;height:32px;margin:-4px -4px -4px 0;border:0;background:none;color:#8a7647;font-size:22px;font-weight:300;line-height:1;cursor:pointer}.badge-history-dismiss:hover{color:#785c21}@media (max-width: 355px){.badge-grid{gap:8px}.badge-card{min-height:210px;padding:10px 7px}.medallion{width:94px;height:102px;margin-top:21px}.medallion svg{width:45px;height:45px}.rating-medallion svg{width:36px;height:36px;transform:translateY(-10px)}.rank-number{bottom:21px;font-size:15px}.badge-card .name{font-size:11.5px}.badge-card .value{font-size:10px}.level-tag{right:6px;font-size:9px}.detail-medallion{width:128px;height:138px}.detail-medallion.rating-medallion svg{width:52px;height:52px}.detail-medallion .rank-number{bottom:31px;font-size:22px}}.app:has(.study-screen){padding-top:max(var(--space-8),env(safe-area-inset-top))}.study-screen{display:flex;flex-direction:column}.study-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:var(--space-8);min-height:44px;margin-bottom:var(--space-8)}.study-icon-button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-button);background:transparent;color:var(--color-text-primary);font-size:20px;cursor:pointer}.study-icon-button:hover{background:var(--color-surface)}.study-icon-button svg{width:22px;height:22px}.study-header-label{min-width:0;text-align:center}.study-header-label span{display:block;overflow:hidden;color:var(--color-text-secondary);font-size:10px;font-weight:700;letter-spacing:.13em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.study-header-label strong{display:block;margin-top:2px;font-size:13px;font-weight:800}.study-coach-card{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:var(--space-12);min-height:72px;margin-bottom:var(--space-8);padding:var(--space-8) var(--space-12);border:1px solid transparent;border-radius:var(--radius-card);background:var(--color-surface);transition:background var(--duration-base) var(--easing-standard),border-color var(--duration-base) var(--easing-standard)}.study-coach-error{border-color:var(--color-danger);background:var(--color-danger-quiet-soft)}.study-coach-success{border-color:var(--charte-color-fill-success-soft-border);background:var(--charte-color-fill-success-soft)}.study-coach-avatar{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--charte-color-fill-coach)}.study-coach-message{margin:0;font-size:12.5px;font-weight:600;line-height:1.35}.study-coach-success .study-coach-message{color:var(--charte-color-fill-success-soft-text)}.study-coach-error .study-coach-message{color:var(--color-danger)}.study-turn-row{display:flex;align-items:center;gap:var(--space-8);margin:var(--space-8) 0 0;padding:0 var(--space-4);color:var(--color-text-secondary);font-size:10px;font-weight:650}.study-turn-dot{width:9px;height:9px;border:1px solid var(--color-text-primary);border-radius:50%;background:var(--charte-color-background)}.study-attempts-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-12);margin-top:var(--space-8);padding:11px var(--space-12);border-radius:var(--radius-button);background:var(--color-surface)}.study-attempts-copy strong{display:block;font-size:11px}.study-attempts-copy span{display:block;margin-top:2px;color:var(--color-text-secondary);font-size:9px;font-weight:650}.study-attempts-locked{background:var(--color-danger-quiet-soft)}.study-attempts-locked .study-attempts-copy strong{color:var(--color-danger)}.study-attempts-row{display:flex;align-items:center;gap:7px}.study-attempt-mark{position:relative;width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--color-text-primary);border-radius:var(--radius-input);background:var(--color-background);transition:background var(--duration-base) var(--easing-standard),border-color var(--duration-base) var(--easing-standard)}.study-attempt-mark:before,.study-attempt-mark:after{content:"";position:absolute;width:16px;height:2px;border-radius:99px;background:transparent;transform:rotate(45deg);transition:background var(--duration-base) var(--easing-standard)}.study-attempt-mark:after{transform:rotate(-45deg)}.study-attempt-used{border-color:var(--color-danger);background:var(--color-danger-quiet-soft)}.study-attempt-used:before,.study-attempt-used:after{background:var(--color-danger)}.study-hints-block{margin-top:var(--space-24)}.study-hints-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-12);margin-bottom:9px}.study-hints-header h2{margin:0;font-size:17px;line-height:1.15;letter-spacing:-.02em}.study-hints-count{color:var(--color-text-secondary);font-size:9px;font-weight:700}.study-hint-list{display:grid;gap:7px}.study-hint{width:100%;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-background);color:var(--color-text-primary);text-align:left;cursor:pointer}.study-hint:hover:not(:disabled){background:var(--color-surface)}.study-hint:disabled{cursor:default;border-color:var(--color-border-strong);border-style:dashed;background:var(--color-background);color:var(--color-text-secondary);opacity:.72}.study-hint-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface);font-size:11px;font-weight:800}.study-hint-number svg{width:15px;height:15px}.study-hint-opened .study-hint-number{background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}.study-hint-copy strong{display:block;font-size:11px}.study-hint-copy small{display:block;margin-top:2px;color:var(--color-text-secondary);font-size:9px}.study-hint-action{color:var(--color-text-secondary);font-size:9px;font-weight:750}.study-hint-text{grid-column:2 / 4;margin:2px 0 0;color:var(--color-text-secondary);font-size:11px;line-height:1.42}@media (max-width: 350px){.study-coach-card{grid-template-columns:38px 1fr;padding-inline:var(--space-8)}.study-coach-avatar{width:38px;height:38px}}.study-preview-kicker{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.study-preview-title{margin:0 0 var(--space-12);font-size:20px;letter-spacing:-.025em}.study-preview-board{width:min(100%,300px);margin:0 auto var(--space-16)}.study-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.study-preview-open{width:100%}.study-share-notice{position:fixed;left:50%;bottom:calc(var(--space-24) + env(safe-area-inset-bottom));z-index:140;width:max-content;max-width:calc(100% - var(--space-32));margin:0;padding:11px var(--space-12);border-radius:var(--radius-button);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font-size:10px;font-weight:750;transform:translate(-50%)}.study-cover-openable{padding:0;border:0;font:inherit;text-align:inherit;cursor:pointer}.profile-screen{--proto-page: var(--color-background);--proto-card: var(--color-surface);--proto-ink: var(--color-text-primary);--proto-muted: var(--color-text-secondary);--proto-line: var(--color-border);--proto-soft: var(--color-surface-elevated);--proto-field-line: var(--color-border);--proto-danger: var(--color-danger);--proto-shadow: none;font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--proto-ink)}.profile-screen button,.profile-screen input{font-family:inherit}.profile-screen .profile-section+.profile-section{padding-top:20px;border-top:1px solid var(--proto-line)}.profile-screen .profile-section-title{font-size:18px;line-height:1.2;letter-spacing:-.35px;font-weight:700;color:var(--proto-ink)}.profile-screen .player-accounts-settings-linked button,.profile-screen .player-accounts-settings-unlinked button,.profile-screen .friends-add-row button,.profile-screen .friends-invite-button{min-height:39px;padding:8px 14px;border:1px solid var(--proto-line);border-radius:11px;background:var(--proto-soft);color:var(--proto-ink);font-size:13px;font-weight:650;box-shadow:none}.profile-screen .friends-invite-button{background:var(--proto-ink);border-color:var(--proto-ink);color:var(--proto-page)}.profile-screen .player-accounts-settings-linked button.player-accounts-settings-remove{background:transparent;color:var(--proto-danger)}.profile-screen .player-accounts-settings-linked button:disabled,.profile-screen .player-accounts-settings-unlinked button:disabled,.profile-screen .friends-add-row button:disabled,.profile-screen .friends-invite-button:disabled{opacity:.45}.profile-screen .player-accounts-settings-input,.profile-screen .friends-search-input{min-height:41px;padding:9px 12px;border:1px solid var(--proto-field-line);border-radius:11px;background:var(--proto-card);color:var(--proto-ink);font-size:14px;box-shadow:none}.profile-screen .sync-bar{gap:11px;padding:11px 12px;border-radius:16px;background:var(--proto-soft);box-shadow:none}.profile-screen .sync-bar-name{font-weight:650;color:var(--proto-ink)}.profile-screen .sync-bar-status{font-size:12px;color:var(--proto-muted)}.profile-screen .sync-bar-signout{min-height:44px;padding:8px 10px;border:1px solid var(--proto-line);border-radius:11px;background:var(--proto-card);color:var(--proto-ink);font-size:12px;font-weight:650;box-shadow:none}.profile-screen .profile-section-chess-accounts .player-accounts-settings{gap:10px}.profile-screen .profile-section-chess-accounts .player-accounts-settings-row{flex-direction:column;align-items:stretch;gap:0;padding:14px;border:1px solid var(--proto-line);border-radius:17px;background:var(--proto-card);box-shadow:var(--proto-shadow)}.profile-screen .profile-section-chess-accounts .player-accounts-settings-platform{flex:1;font-size:15px;font-weight:700;color:var(--proto-ink)}.profile-screen .profile-section-chess-accounts .player-accounts-settings-username{max-width:45%;font-size:14px;color:var(--proto-muted)}.profile-screen .profile-section-chess-accounts .player-accounts-settings-linked,.profile-screen .profile-section-chess-accounts .player-accounts-settings-unlinked{gap:9px;margin-top:13px;justify-content:flex-end}.profile-screen .profile-section-chess-accounts .player-accounts-settings-input{flex:1;width:auto}.profile-screen .friends-add-platform{gap:0;padding:14px;border:1px solid var(--proto-line);border-radius:17px;background:var(--proto-card);box-shadow:var(--proto-shadow)}.profile-screen .friends-add-head{gap:9px;font-size:15px}.profile-screen .friends-add-head strong{font-size:15px;font-weight:700;color:var(--proto-ink)}.profile-screen .friends-add-lead{margin:5px 0 12px;font-size:12px;color:var(--proto-muted)}.profile-screen .friends-add-row{gap:8px}.profile-screen .friends-invite{gap:0;padding:15px;border:1px solid var(--proto-line);border-radius:17px;background:var(--proto-soft)}.profile-screen .friends-invite-title{margin:0 0 4px;font-size:15px;font-weight:720;color:var(--proto-ink)}.profile-screen .friends-invite-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.profile-screen .friends-hint{margin-top:12px;font-size:13px;line-height:1.45;color:var(--proto-muted)}.profile-screen .friends-link-button{font-size:13px;color:var(--proto-muted)}.profile-screen .friends-subtitle{margin:0 0 11px;font-size:15px;font-weight:720;color:var(--proto-ink)}.profile-screen .theme-switcher,.profile-screen .skin-switcher{flex-wrap:nowrap;gap:8px}.profile-screen .theme-switcher-pill,.profile-screen .skin-switcher-pill{flex:1;min-height:41px;padding:8px 10px;border:1px solid transparent;border-radius:12px;background:var(--proto-soft);color:var(--proto-ink);font-size:13px;font-weight:600;box-shadow:none}.profile-screen .theme-switcher-pill-active,.profile-screen .skin-switcher-pill-active{background:var(--proto-ink);color:var(--proto-page);border-color:var(--proto-ink);box-shadow:none}.profile-appearance-group+.profile-appearance-group{margin-top:14px}.profile-appearance-label{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--proto-ink)}.badge-celebration-medallion .badge-medal{width:132px;height:146px;max-height:none;aspect-ratio:auto;filter:drop-shadow(0 8px 10px #2a201b3d)}.badge-celebration-medallion .badge-medal svg{width:52px;height:52px;stroke-width:1.5}.profile-delete-account-open,.profile-delete-account-cancel,.profile-delete-account-confirm{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-button);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-primary);cursor:pointer}.profile-export-data{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-12)}.profile-export-data-explanation,.profile-export-data-error{margin:0;color:var(--color-text-secondary)}.profile-export-data-button{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-button);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-primary);cursor:pointer}.profile-export-data-button:disabled{cursor:progress;opacity:.7}.profile-export-data-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.profile-delete-account-open{color:var(--color-danger);border-color:var(--color-danger)}.profile-delete-account{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-16);border:1px solid var(--color-danger);border-radius:var(--radius-card);background:var(--color-danger-quiet-soft)}.profile-delete-account-explanation,.profile-delete-account-label{margin:0;color:var(--color-text-primary)}.profile-delete-account-input{font:inherit;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-input);background:var(--color-surface, transparent);color:var(--color-text-primary)}.profile-delete-account-error{margin:0;color:var(--color-danger)}.profile-delete-account-actions{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:flex-end}.profile-delete-account-confirm{border-color:var(--color-danger);color:var(--color-danger);font-weight:700}.profile-delete-account-confirm:disabled,.profile-delete-account-cancel:disabled{opacity:.5;cursor:not-allowed}.profile-delete-account-open:focus-visible,.profile-delete-account-cancel:focus-visible,.profile-delete-account-confirm:focus-visible,.profile-delete-account-input:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.age-declaration-screen{max-width:480px;margin:0 auto;padding:var(--space-32) var(--space-16);display:flex;flex-direction:column;gap:var(--space-16);color:var(--color-text-primary)}.age-declaration-title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-h3)}.age-declaration-explanation,.age-declaration-error{margin:0}.age-declaration-error{color:var(--color-danger)}.age-declaration-choices{display:flex;flex-direction:column;gap:var(--space-8)}.age-declaration-choice{font:inherit;font-weight:700;min-height:44px;padding:var(--space-8) var(--space-16);border-radius:var(--radius-button);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-primary);text-align:left;cursor:pointer}.age-declaration-choice:disabled{opacity:.5;cursor:not-allowed}.age-declaration-choice:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.board-promotion{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;background:color-mix(in srgb,var(--color-text-primary) 46%,transparent);border-radius:inherit}.board-promotion-sheet{width:min(92%,320px);padding:var(--space-16);display:grid;gap:var(--space-12);background:var(--color-surface-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-card);box-shadow:0 10px 30px #1822351f;text-align:center}.board-promotion-title{margin:0;font-size:15px;font-weight:650;color:var(--color-text-primary)}.board-promotion-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8)}@media (max-width: 360px){.board-promotion-choices{grid-template-columns:repeat(2,1fr)}}.board-promotion-choice{min-height:44px;padding:var(--space-8) 0;display:grid;gap:2px;place-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-input);color:var(--color-text-primary);cursor:pointer}.board-promotion-choice:hover{background:var(--color-surface-elevated)}.board-promotion-choice:focus-visible{outline:3px solid var(--color-text-primary);outline-offset:2px}.board-promotion-glyph{font-size:28px;line-height:1}.board-promotion-glyph.is-white{color:var(--color-surface);-webkit-text-stroke:1.4px var(--color-text-primary);text-shadow:none}.board-promotion-glyph.is-black{color:var(--color-text-primary)}.board-promotion-name{font-size:11px;line-height:1.2;color:var(--color-text-secondary)}.board-promotion-cancel{min-height:36px;padding:0 var(--space-12);justify-self:center;background:transparent;border:0;font-size:13px;color:var(--color-text-secondary);cursor:pointer;text-decoration:underline}.board-promotion-cancel:focus-visible{outline:3px solid var(--color-text-primary);outline-offset:2px}.profile-segments{display:flex;width:100%;margin:0 0 var(--space-16)}.profile-segments button{flex:1 1 0}.friends-row-actions .friends-challenge{background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.journal-filters,.opening-filters,.stats-segmented,.theme-switcher,.skin-switcher{display:inline-flex;flex-wrap:wrap;gap:3px;padding:var(--charte-space-segment);max-width:100%;border:0;border-radius:var(--radius-button);background:var(--color-surface-elevated)}.journal-filters .journal-filter,.opening-filters .opening-filter,.stats-segmented button,.theme-switcher .theme-switcher-pill,.skin-switcher .skin-switcher-pill{min-height:var(--charte-size-segment-item);height:auto;padding:var(--space-8) var(--space-16);border:0;border-radius:var(--charte-radius-segment-item);background:transparent;box-shadow:none;color:var(--color-text-secondary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold);white-space:nowrap}.journal-filters .journal-filter:hover,.opening-filters .opening-filter:hover,.stats-segmented button:hover:not(.active),.theme-switcher .theme-switcher-pill:hover,.skin-switcher .skin-switcher-pill:hover{background:transparent;box-shadow:none;color:var(--color-text-primary)}.journal-filters .journal-filter--active,.opening-filters .opening-filter-active,.opening-filters .opening-filter-active:hover,.stats-segmented button.active,.theme-switcher .theme-switcher-pill-active,.skin-switcher .skin-switcher-pill-active{background:var(--color-text-primary);color:var(--color-background);font-weight:var(--font-weight-bold);box-shadow:none}.exercise-principle-eyebrow,.sequence-advice-label,.summary-key-idea-label,.lab-eyebrow,.best-self-stat-label,.stats-rating-label,.coach-panel-maintenance-label,.study-preview-kicker,.onboarding-root .onboarding-kicker{font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);line-height:1.4;text-transform:uppercase;color:var(--color-text-secondary)}.app-header .subtitle{margin:0;color:var(--color-text-primary);font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}.app-header .page-intro{margin:9px 0 0;max-width:630px;font-size:var(--font-size-small);line-height:var(--charte-line-height-prose);color:var(--color-text-secondary)}.app-with-tabs .app-header .app-header-row+.subtitle{margin-top:var(--space-24)}.app-header .back-to-home{margin:0 0 var(--charte-space-20);padding:var(--space-4) 0;min-height:30px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.app-header .back-to-home:hover{background:transparent;color:var(--color-text-secondary);text-decoration:underline}.app-header .app-brand+.subtitle{margin-top:var(--space-16)}.app-with-tabs .app-space-page>.app-header{margin-bottom:var(--space-24)}@media (min-width: 768px){.app-header .page-intro{margin-top:10px;font-size:var(--font-size-body)}.app-header .back-to-home{margin-bottom:var(--space-24);font-size:var(--charte-font-size-button)}.app-with-tabs .app-space-page>.app-header{margin-bottom:34px}}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:var(--charte-radius-tag);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap}.pill-good{background:var(--charte-color-fill-success-soft);color:var(--charte-color-fill-success-soft-text)}.dashboard-eyebrow{margin:0 0 10px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);line-height:1.4;text-transform:uppercase;color:var(--color-text-secondary)}.dashboard .dashboard-greeting{margin:0 0 12px;font-size:var(--charte-font-size-dojo-title-mobile);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-dojo-title-mobile);line-height:var(--charte-line-height-h1)}.dashboard .dashboard-games-count,.dashboard .dashboard-cold-landing{margin:0;max-width:245px;font-size:var(--font-size-caption);line-height:var(--charte-line-height-prose);color:var(--color-text-secondary)}.dashboard .dashboard-games-count-number,.dashboard .dashboard-cold-landing-number{font-size:inherit;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dashboard .coach-learning-card{margin:var(--space-16) 0 var(--space-24);padding:var(--space-16) var(--charte-space-20);border-radius:var(--charte-radius-notice);background:var(--color-surface-elevated);box-shadow:none}.dashboard .coach-learning-status-text{font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}.dashboard .coach-learning-status-up-to-date{background:var(--charte-color-fill-success-soft)}.dashboard .coach-learning-status-up-to-date .coach-learning-status-text,.dashboard .coach-learning-status-up-to-date .coach-learning-status-text strong{color:var(--charte-color-fill-success-soft-text)}@media (min-width: 768px){.dashboard .dashboard-greeting{font-size:var(--font-size-h1);letter-spacing:var(--charte-letter-spacing-h1)}.dashboard .dashboard-games-count,.dashboard .dashboard-cold-landing{max-width:none;font-size:var(--font-size-body)}}.journal-screen .journal-title{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}.journal-screen .journal-intro{margin-top:9px;max-width:630px;font-size:var(--font-size-caption);line-height:var(--charte-line-height-prose)}.journal-screen .journal-header{gap:0;margin-bottom:var(--space-24)}.journal-screen .journal-aside{margin-top:var(--space-16);padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--charte-color-surface-soft)}.journal-aside-title{margin:0;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4}.journal-screen .journal-ratings{margin:15px 0;padding:0;border:0}.journal-screen .journal-rating{gap:0;padding:0 15px;border-right:1px solid var(--color-border);text-align:left}.journal-screen .journal-rating:first-child{padding-left:0}.journal-screen .journal-rating:last-child{border-right:0}.journal-screen .journal-rating+.journal-rating{border-left:0}.journal-screen .journal-rating-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:1.6}.journal-screen .journal-rating-value{margin:6px 0;font-size:23px;letter-spacing:var(--charte-letter-spacing-h2)}.journal-ratings-platform-title{display:flex;align-items:center;gap:var(--space-8);margin:15px 0 0;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:1.6;color:var(--color-text-secondary)}.journal-ratings-platform-title svg{flex:none;width:16px;height:16px}.journal-ratings-platform+.journal-ratings-platform{border-top:1px solid var(--color-border)}.journal-screen .journal-ratings-platform .journal-ratings{margin:var(--space-8) 0 15px}.journal-screen .journal-context{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.journal-screen .journal-filters{margin-bottom:var(--space-24)}.journal-screen .journal-note{gap:var(--space-12);padding:28px 0;border-bottom:1px solid var(--color-border)}.journal-screen .journal-note:first-child{padding-top:10px}.journal-screen .journal-note-author{font-size:var(--charte-font-size-button)}.journal-screen .journal-note-date-row{margin:2px 0 0;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);letter-spacing:0;text-transform:none;color:var(--color-text-secondary)}.journal-screen .journal-note-unread{padding:5px 9px;border-radius:var(--charte-radius-tag);background:var(--charte-color-fill-pill-yellow);color:var(--charte-color-fill-pill-yellow-text);font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-semibold);letter-spacing:0;line-height:1.4;text-transform:none}.journal-screen .journal-note-title{margin-top:var(--space-12);font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}.journal-screen .journal-author-badge{flex-basis:40px;width:40px;height:40px}@media (min-width: 768px){.journal-screen .journal-intro{margin-top:10px;font-size:var(--font-size-body)}.journal-screen .journal-header{margin-bottom:34px}.journal-screen .journal-aside{margin-top:0;padding:var(--charte-space-card)}.journal-screen .journal-ratings{margin:18px 0}.journal-screen .journal-ratings-platform-title{margin-top:18px}.journal-screen .journal-ratings-platform .journal-ratings{margin:10px 0 18px}.journal-screen .journal-rating{padding:0 22px}.journal-screen .journal-rating:first-child{padding-left:0}.journal-screen .journal-rating-value{font-size:27px}.journal-screen .journal-note{gap:17px}.journal-screen .journal-note-title{font-size:var(--font-size-body)}}.studies-screen .study-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--charte-color-surface-soft)}.study-banner-title{margin:0;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4}.study-banner-subtitle{margin:6px 0 0;font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose);color:var(--color-text-secondary)}.studies-screen .study-shortcut{margin:0;width:auto}.studies-screen .studies-collection-count{margin:20px 0 0;font-size:13px;color:var(--color-text-primary)}.studies-screen .studies-collection-count strong{font-size:17px}.studies-screen .studies-progress{height:6px;margin:9px 0 17px;border-radius:8px;background:var(--color-surface-elevated)}.studies-screen .studies-progress-fill{background:var(--charte-color-track-gold)}.studies-screen .studies-shelf{column-gap:var(--space-16);row-gap:var(--space-24);margin-top:var(--space-24)}.studies-screen .study-cover{aspect-ratio:.73;border:1px solid var(--color-border-strong);border-radius:3px 10px 10px 3px;box-shadow:5px 5px 0 var(--color-surface-elevated)}.studies-screen .study-cover-openable:hover{transform:translateY(-4px);box-shadow:6px 9px 0 var(--color-surface-elevated)}.studies-screen .study-slot-current .study-cover{box-shadow:5px 5px 0 var(--color-surface-elevated)}.studies-screen .study-slot{padding-bottom:27px}.studies-screen .study-current-label{bottom:0;max-width:100%;padding:0;border-radius:0;background:transparent;color:var(--color-text-secondary);font-size:9px;font-weight:var(--font-weight-regular);line-height:15px}.studies-screen .study-cover-future{filter:none;opacity:1}.studies-screen .studies-legend{gap:22px;margin-top:var(--space-16)}@media (min-width: 768px){.studies-screen .study-banner{gap:var(--space-16);padding:var(--charte-space-card)}.studies-screen .studies-collection-count{margin-top:26px}.studies-screen .studies-shelf{column-gap:var(--space-24);row-gap:var(--space-24);margin-top:var(--space-32)}}.stats-screen .stats-header{gap:0;margin-bottom:var(--space-24)}.stats-screen .stats-header h1{font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}.stats-screen .stats-header-meta{margin-top:9px;font-size:var(--font-size-caption);line-height:var(--charte-line-height-prose);color:var(--color-text-secondary)}.stats-screen .stats-filters{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--charte-space-14);margin:0 0 28px}.stats-screen .stats-segmented{display:inline-flex;grid-auto-flow:unset}.stats-screen .stats-section{margin-top:0}.stats-screen .stats-section+.stats-section{margin-top:26px}.stats-screen .stats-section-head{align-items:center;margin:0 0 var(--space-16)}.stats-screen .stats-section-head h2{font-size:var(--font-size-h2);letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2)}.stats-screen .stats-section-note{color:var(--color-text-secondary)}.stats-screen .stats-summary-grid{gap:1px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--charte-radius-icon-tile);background:var(--color-border)}.stats-screen .stats-metric{min-height:0;padding:18px 14px;border-radius:0;background:var(--color-surface)}.stats-screen .stats-metric-label{margin-bottom:10px;font-size:var(--charte-font-size-eyebrow);color:var(--color-text-secondary)}.stats-screen .stats-metric-value{margin:0 0 7px;font-size:25px;font-weight:var(--font-weight-bold);letter-spacing:-1px;line-height:1.2}.stats-screen .stats-metric-detail{margin:0;font-size:9px;color:var(--color-text-secondary)}.stats-screen .stats-panel{padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:none}.stats-screen .stats-rating-strip{margin:0 0 15px;padding:0;border:0}.stats-screen .stats-rating{padding:0 15px;border-right:1px solid var(--color-border)}.stats-screen .stats-rating:first-child{padding-left:0}.stats-screen .stats-rating:last-child{border-right:0}.stats-screen .stats-rating+.stats-rating{border-left:0;padding-left:15px}.stats-screen .stats-rating-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);letter-spacing:0;text-transform:none;color:var(--color-text-secondary)}.stats-screen .stats-rating-value{margin:6px 0;font-size:23px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h2)}.stats-screen .stats-rating-delta{margin:0 0 6px;font-size:var(--font-size-caption)}.stats-screen .stats-rating-sub,.stats-screen .stats-rating-empty{margin:0;font-size:var(--font-size-caption);line-height:1.6;color:var(--color-text-secondary)}.stats-screen .stats-chart-head{flex-wrap:wrap;gap:var(--space-16);margin-top:0}.stats-screen .stats-chart-head strong{font-size:var(--font-size-h3);line-height:1.4}.stats-screen .stats-cadence-toggle{display:inline-flex;flex-wrap:wrap;gap:3px;padding:var(--charte-space-segment);max-width:100%;border-radius:var(--radius-button);background:var(--color-surface-elevated)}.stats-screen .stats-cadence-toggle button{min-height:var(--charte-size-segment-item);padding:var(--space-8) var(--space-16);border-radius:var(--charte-radius-segment-item);color:var(--color-text-primary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold);white-space:nowrap}.stats-screen .stats-cadence-toggle button.active{background:var(--color-surface);font-weight:var(--font-weight-semibold);box-shadow:var(--charte-shadow-segment)}.stats-screen .stats-chart{height:180px;margin:var(--charte-space-20) 0 10px}.stats-screen .stats-chart-area{opacity:.25}.stats-screen .stats-chart-line{stroke-width:2.5}.stats-screen .stats-chart-caption{margin-top:0;color:var(--color-text-secondary)}.stats-screen .stats-kpi-row,.stats-screen .stats-game-result{display:flex;flex-wrap:wrap;gap:30px;margin:12px 0 18px}.stats-screen .stats-kpi,.stats-screen .stats-result{padding:0;border:0;border-radius:0;background:transparent}.stats-screen .stats-kpi+.stats-kpi{border-left:0;padding-left:0}.stats-screen .stats-kpi strong,.stats-screen .stats-result strong{display:block;font-size:24px;line-height:1.2}.stats-screen .stats-kpi span,.stats-screen .stats-result span{margin-top:0;font-size:var(--charte-font-size-eyebrow);color:var(--color-text-secondary)}.stats-screen .stats-result-win strong,.stats-screen .stats-result-win span{color:inherit}.stats-screen .stats-result-win strong{color:var(--color-text-primary)}.stats-screen .stats-result-win span{color:var(--color-text-secondary)}.stats-screen .stats-simple-row{align-items:center;padding:13px 0;border-bottom:1px solid var(--color-border)}.stats-screen .stats-simple-row:last-child{border-bottom:0}.stats-screen .stats-simple-row span:first-child,.stats-screen .stats-simple-row strong{font-size:var(--charte-font-size-button)}.stats-screen .stats-simple-row span:first-child{color:var(--color-text-primary)}.stats-screen .stats-progress-line{margin-top:0}.stats-screen .stats-progress-line-head{align-items:center;font-size:var(--font-size-caption)}.stats-screen .stats-progress-line-head strong{font-size:var(--charte-font-size-button);color:var(--color-text-primary)}.stats-screen .stats-track{margin:9px 0 17px;border-radius:8px}.stats-screen .stats-fill{border-radius:8px}.stats-screen .stats-desktop-grid>.stats-panel+.stats-panel{margin-top:var(--space-24)}@media (min-width: 768px){.stats-screen .stats-header{margin-bottom:34px}.stats-screen .stats-header-meta{margin-top:10px;font-size:var(--font-size-body)}.stats-screen .stats-metric{padding:22px}.stats-screen .stats-metric-label{font-size:var(--font-size-caption)}.stats-screen .stats-metric-value{font-size:28px}.stats-screen .stats-metric-detail{font-size:var(--charte-font-size-eyebrow)}.stats-screen .stats-panel{padding:var(--charte-space-card)}.stats-screen .stats-rating-strip{margin-bottom:18px}.stats-screen .stats-rating{padding:0 22px}.stats-screen .stats-rating:first-child{padding-left:0}.stats-screen .stats-rating+.stats-rating{padding-left:22px}.stats-screen .stats-rating-value{font-size:27px}.stats-screen .stats-desktop-grid{gap:var(--space-24)}.stats-screen .stats-desktop-grid>.stats-panel+.stats-panel{margin-top:0}}.success-screen .badge-summary{display:block;margin:0 0 26px;font-size:13px;color:var(--color-text-primary)}.success-screen .badge-summary strong{font-size:17px;font-weight:var(--font-weight-bold);letter-spacing:0}.success-screen .badge-summary span{margin-left:.3em;font-size:13px;font-weight:var(--font-weight-regular);color:var(--color-text-primary)}.success-screen .badge-grid{gap:8px}.success-screen .badge-tile{min-height:0;padding:12px 5px;border:1px solid var(--color-border);border-radius:var(--charte-radius-notice);background:var(--color-surface)}.success-screen .badge-tile:hover{border-color:var(--color-text-secondary);background:var(--color-surface);transform:none}@media (min-width: 768px){.success-screen .badge-tile{padding:20px 9px 15px}}.profile-screen{gap:18px}.profile-screen .profile-section{gap:0;padding:var(--charte-space-20);border:1px solid var(--proto-line);border-radius:var(--radius-card);background:var(--proto-card)}.profile-screen .profile-section+.profile-section{padding-top:var(--charte-space-20);border-top:1px solid var(--proto-line)}.profile-screen .profile-section-title{margin:0 0 22px;font-size:17px;letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2)}.profile-screen .profile-section-credits,.profile-screen .profile-section-credits+.profile-section{padding:0;border:0;background:transparent}.profile-screen .sync-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-12);padding:0;border-radius:0;background:transparent}.profile-screen .sync-bar-avatar{width:var(--charte-size-avatar);height:var(--charte-size-avatar)}.profile-screen .sync-bar-avatar-initial{background:var(--proto-soft);color:var(--proto-ink);font-weight:var(--font-weight-black)}.profile-screen .sync-bar-name{font-size:var(--font-size-body);font-weight:var(--font-weight-bold)}.profile-screen .sync-bar-status{font-size:var(--font-size-caption)}.profile-screen .sync-bar-connected{margin-left:auto}.profile-screen .sync-bar-signout{grid-column:1 / -1;justify-self:start;width:auto;min-height:40px;margin-top:var(--space-4);padding:9px 12px;border-radius:var(--radius-button);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.profile-screen .player-accounts-settings-linked button,.profile-screen .player-accounts-settings-unlinked button,.profile-screen .friends-add-row button,.profile-screen .friends-invite-button,.profile-screen .friends-row-actions button,.profile-screen .profile-delete-account-open,.profile-screen .profile-delete-account-cancel,.profile-screen .profile-delete-account-confirm{min-height:40px;padding:9px 12px;border:1px solid var(--proto-line);border-radius:var(--radius-button);background:var(--proto-card);color:var(--proto-ink);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);box-shadow:none}.profile-screen .player-accounts-settings-linked button.player-accounts-settings-remove{background:var(--proto-card);color:var(--proto-ink)}.profile-screen .friends-invite-button{background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.profile-screen .profile-delete-account-open,.profile-screen .profile-delete-account-confirm{width:fit-content;border-color:var(--proto-danger);color:var(--proto-danger)}.profile-screen .profile-section-chess-accounts .player-accounts-settings{gap:0}.profile-screen .profile-section-chess-accounts .player-accounts-settings-row{padding:var(--charte-space-20) 0;border:0;border-bottom:1px solid var(--proto-line);border-radius:0;background:transparent}.profile-screen .profile-section-chess-accounts .player-accounts-settings-row:first-child{padding-top:0}.profile-screen .profile-section-chess-accounts .player-accounts-settings-row:last-of-type{padding-bottom:0;border-bottom:0}.profile-screen .profile-section-chess-accounts .player-accounts-settings-platform{font-size:var(--font-size-body)}.profile-screen .profile-section-chess-accounts .player-accounts-settings-username{font-size:var(--charte-font-size-button)}.profile-screen .profile-section-chess-accounts .player-accounts-settings-linked,.profile-screen .profile-section-chess-accounts .player-accounts-settings-unlinked{justify-content:flex-start;gap:10px;margin-top:var(--space-12)}.profile-screen .player-accounts-settings-hint{margin-top:var(--space-12)}.profile-screen .friends-settings{gap:0}.profile-screen .friends-invite{padding:0;border:0;border-radius:0;background:transparent}.profile-screen .friends-invite-title,.profile-screen .friends-subtitle{margin:0 0 var(--space-12);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4}.profile-screen .friends-add,.profile-screen .friends-requests,.profile-screen .friends-settings>.friends-list,.profile-screen .friends-settings>.friends-hint:last-child{margin-top:18px}.profile-screen .friends-add{gap:18px}.profile-screen .friends-add-platform{gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.profile-screen .friends-add-head,.profile-screen .friends-add-head strong{font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.profile-screen .friends-add-lead{margin:4px 0 0;font-size:var(--font-size-caption)}.profile-screen .friends-add-row{gap:10px;margin-top:9px}.profile-screen .friends-list{gap:0}.profile-screen .friends-row{padding:13px 0;border-bottom:1px solid var(--proto-line);font-size:var(--charte-font-size-button)}.profile-screen .friends-row:last-child{border-bottom:0}.profile-screen .friends-row-actions{gap:10px}.profile-screen .friends-hint{margin-top:var(--space-8);font-size:var(--font-size-caption)}.profile-screen .profile-appearance-group+.profile-appearance-group{margin-top:18px}.profile-screen .profile-appearance-label{margin:0 0 9px;font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.profile-screen .profile-sound-option{display:flex;align-items:center;justify-content:space-between;gap:18px}.profile-screen .profile-sound-option strong{font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.profile-screen .profile-coach-panel-toggle{width:auto;min-height:44px;padding:0;gap:var(--space-8);border:0;border-radius:0;background:transparent}.profile-screen .profile-coach-panel-toggle:hover{background:transparent;text-decoration:underline}.profile-screen .profile-coach-panel-toggle-icon{flex-basis:23px;width:23px;height:23px;border-radius:0;background:transparent;color:var(--proto-ink)}.profile-screen .profile-coach-panel-toggle-label{flex:none;font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.profile-screen .profile-credits-line{text-align:center;font-size:var(--charte-font-size-eyebrow)}@media (min-width: 768px){.profile-screen .profile-section{padding:var(--charte-space-card-compact)}.profile-screen .profile-section+.profile-section{padding-top:var(--charte-space-card-compact)}}body .app .session-header .session-header-back{gap:var(--space-16);min-height:40px;padding:0;font-size:15px;font-weight:var(--font-weight-bold);line-height:1.3}body .app .session-header .session-header-back:hover{background:transparent}body .app .session-header .session-header-back>span:first-child{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-button);font-size:var(--charte-font-size-20);font-weight:var(--font-weight-regular);line-height:1}body .app .session-header .session-header-back>span:last-child{margin:0;overflow:hidden;font-size:15px;font-weight:var(--font-weight-bold);letter-spacing:0;text-transform:none}body .app .session-header .session-header-icon{width:1.1em;height:1.1em}body .app .session-header .session-header-context{margin:6px 0 0 56px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}body .app .session-header .session-header-row .session-timer{min-height:auto;min-width:auto;padding:10px var(--charte-space-14);border-radius:9px;background:var(--color-surface-elevated);color:var(--color-text-secondary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-regular);box-shadow:none}body .app .session-header .session-header-row .session-timer-value{font-weight:var(--font-weight-regular)}body .app .exercise-coach-card{align-items:flex-end;gap:var(--space-8);padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text-primary)}body .app .exercise-coach-card-avatar{flex-basis:48px;width:48px;height:48px;box-sizing:border-box;padding:var(--coach-avatar-backdrop-padding);border-radius:var(--coach-avatar-backdrop-radius);background:var(--color-coach-avatar-backdrop)}body .app .exercise-coach-card-avatar .coach-avatar{width:100%;height:100%}body .app .exercise-coach-card .exercise-instruction{min-height:calc(3 * 1.65 * 12px + 24px + 2px);padding:12px 15px;border:1px solid var(--charte-color-fill-coach-border);border-radius:4px 14px 14px;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-regular);letter-spacing:0;line-height:var(--charte-line-height-prose)}body .app .exercise-coach-card--error,body .app .exercise-coach-card--success{background:transparent;border-color:transparent}body .app .exercise-coach-card--error .exercise-instruction{background:var(--charte-color-fill-error-soft);border-color:var(--color-danger-quiet);color:var(--charte-color-fill-error-soft-text)}body .app .exercise-coach-card--success .exercise-instruction{background:var(--charte-color-fill-success-soft);border-color:var(--charte-color-fill-success-soft-border);color:var(--charte-color-fill-success-soft-text)}body .app .exercise-progress-bar{gap:6px;margin-top:var(--space-12)}body .app .exercise-progress-bar .exercise-meta-progress{position:static;width:auto;height:auto;margin:0 5px 0 0;overflow:visible;clip:auto;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-regular);letter-spacing:0;text-transform:none;color:var(--color-text-secondary);white-space:nowrap}body .app .exercise-progress-segment{height:5px;border-radius:5px;background:var(--color-surface-elevated)}body .app .exercise-progress-segment-done{background:var(--color-text-primary)}body .app .exercise-side-indicator,body .app .study-turn-row{justify-content:center;gap:7px;margin:12px 0 0;padding:0;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-regular);line-height:1.4;color:var(--color-text-secondary)}body .app .exercise-side-dot,body .app .study-turn-dot{width:8px;height:8px;border:1px solid var(--color-text-secondary);background:var(--color-surface)}body .app .exercise-side-dot-b{border-color:var(--color-text-primary);background:var(--color-text-primary)}body .app .exercise-feedback-block{min-height:0;padding:var(--charte-space-14) var(--space-16);border-radius:var(--charte-radius-notice);font-size:13px;line-height:var(--charte-line-height-prose)}body .app .exercise-feedback-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4}body .app .exercise-feedback-body{margin-top:var(--space-8);font-size:13px;line-height:var(--charte-line-height-prose)}body .app .exercise-feedback-frame{gap:var(--space-16)}body .app .exercise-feedback-cta,body .app .exercise-principle-continue,body .app .sequence-advice-cta,body .app .variant-intro-start,body .app .summary-continue,body .app .session-assessment-done,body .app .kata-feedback-btn{justify-content:center;gap:var(--space-8);width:100%;min-height:44px;padding:var(--charte-space-button-y) var(--charte-space-button-x);border-radius:var(--radius-button);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}body .app .exercise-feedback-cta-arrow,body .app .exercise-principle-continue span:last-child{font-size:var(--charte-font-size-button)}body .app .learning-screen>.breadcrumb{margin:0;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}body .app .learning-screen>.learning-progress{margin:0;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-regular);letter-spacing:0;color:var(--color-text-secondary)}body .app .learning-screen>.side-to-move{margin-top:var(--space-8);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4;color:var(--color-text-primary)}body .app .move-list{gap:5px 8px;margin-top:var(--space-16);padding:15px;border:0;border-radius:var(--radius-button);background:var(--charte-color-surface-soft);font-size:var(--charte-font-size-button);line-height:2.1}body .app .move-current{padding:1px 5px;border-radius:4px;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);font-weight:var(--font-weight-regular)}body .app .variant-intro-eyebrow{margin:0;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}body .app .variant-intro-title{font-size:22px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2)}body .app .variant-intro-goal.coach-voice{padding:0;background:transparent;box-shadow:none;border-radius:0;font-size:13px;font-weight:var(--font-weight-semibold);line-height:var(--charte-line-height-prose);color:var(--color-text-primary)}body .app .variant-intro-description{font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose);color:var(--color-text-secondary)}body .app .variant-intro-sequence{font-size:var(--charte-font-size-eyebrow);color:var(--color-text-secondary)}body .app .variant-intro-start{align-self:stretch}body .app .study-header{grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-16);margin-bottom:var(--space-16);text-align:left}body .app .study-icon-button{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:transparent}body .app .study-header-label{text-align:left}body .app .study-header-label span{font-size:15px;font-weight:var(--font-weight-bold);letter-spacing:0;text-transform:none;color:var(--color-text-primary)}body .app .study-header-label strong{margin-top:6px;font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}body .app .study-share-button{min-height:40px;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);box-shadow:none}body .app .study-coach-card{grid-template-columns:48px minmax(0,1fr);align-items:end;gap:var(--space-8);min-height:0;margin-bottom:var(--space-12);padding:0;border:0;border-radius:0;background:transparent}body .app .study-coach-avatar{width:48px;height:48px;box-sizing:border-box;padding:var(--coach-avatar-backdrop-padding);border-radius:var(--coach-avatar-backdrop-radius);background:var(--color-coach-avatar-backdrop)}body .app .study-coach-avatar .coach-avatar{width:100%;height:100%}body .app .study-coach-message{padding:12px 15px;border:1px solid var(--charte-color-fill-coach-border);border-radius:4px 14px 14px;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-regular);line-height:var(--charte-line-height-prose)}body .app .study-coach-error .study-coach-message{background:var(--charte-color-fill-error-soft);border-color:var(--color-danger-quiet);color:var(--charte-color-fill-error-soft-text)}body .app .study-coach-success .study-coach-message{background:var(--charte-color-fill-success-soft);border-color:var(--charte-color-fill-success-soft-border);color:var(--charte-color-fill-success-soft-text)}body .app .study-attempts-card{margin-top:var(--space-16);padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}body .app .study-attempts-copy strong{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4}body .app .study-attempts-copy span{margin-top:4px;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}body .app .study-attempts-locked{background:var(--color-surface)}body .app .study-attempt-mark{width:24px;height:6px;border:0;border-radius:2px;background:var(--charte-color-track-gold)}body .app .study-attempt-mark:before,body .app .study-attempt-mark:after{display:none}body .app .study-attempt-used{background:var(--color-border)}body .app .study-hints-block{margin-top:var(--charte-space-20)}body .app .study-hints-header h2{font-size:var(--font-size-h3);letter-spacing:0}body .app .study-hints-count{font-size:var(--font-size-caption);color:var(--color-text-secondary)}body .app .study-hint{padding:15px;border-radius:var(--radius-button);background:var(--color-surface)}body .app .study-hint:disabled{border-style:solid;border-color:var(--color-border);background:var(--color-surface);opacity:1}body .app .study-hint-copy strong{font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}body .app .study-hint-copy small,body .app .study-hint-action{font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-regular)}body .app .study-hint-text{font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}body .app .sequence-advice-headline{margin-top:var(--space-12);font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1);color:var(--color-text-primary)}body .app .sequence-advice-reflexe{margin-top:var(--space-24);padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--charte-color-surface-soft)}body .app .sequence-advice-reflexe-label{color:var(--color-text-secondary)}body .app .sequence-advice-reflexe-text{margin-top:10px;font-size:var(--font-size-body);line-height:var(--charte-line-height-prose);color:var(--color-text-primary)}body .app .exercise-principle-card{padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text-primary)}body .app .exercise-principle-avatar{background:var(--color-coach-avatar-backdrop)}body .app .exercise-principle-text{font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}body .app .exercise-principle-context{margin-top:var(--space-16);padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--charte-color-surface-soft);color:var(--color-text-primary)}body .app .session-assessment-screen{align-items:stretch;gap:var(--space-16);padding:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}body .app .session-assessment-close{font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1);color:var(--color-text-primary)}body .app .session-assessment-score{margin:9px 0}body .app .session-assessment-score-value{font-size:56px;font-weight:var(--font-weight-black);letter-spacing:-3px;line-height:1.15;color:var(--color-text-primary)}body .app .session-assessment-score-max{font-size:var(--charte-font-size-20);color:var(--color-text-primary)}body .app .session-assessment-qualitative{max-width:none;margin-bottom:var(--space-8);font-size:var(--font-size-body);line-height:var(--charte-line-height-prose)}body .app .session-assessment-axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16)}body .app .session-assessment-axis{align-items:flex-start;gap:10px;padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}body .app .session-assessment-axis-label{font-size:var(--font-size-caption);color:var(--color-text-secondary)}body .app .session-assessment-axis-value{font-size:var(--font-size-h2);letter-spacing:var(--charte-letter-spacing-h2)}body .app .session-assessment-list{padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--charte-color-surface-soft)}body .app .session-assessment-list h3{margin-bottom:var(--space-8);font-size:var(--font-size-h3);color:var(--color-text-primary)}body .app .session-assessment-list ul{font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}body .app .session-assessment-feedback{align-items:flex-start;margin:10px 0}body .app .session-assessment-feedback-prompt{font-size:var(--charte-font-size-button);color:var(--color-text-primary)}body .app .session-assessment-feedback-choices{justify-content:flex-start;gap:10px}body .app .session-assessment-feedback-choice{min-height:44px;padding:var(--charte-space-button-y) var(--charte-space-button-x);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold);box-shadow:none}body .app .session-assessment-feedback-choice:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary);box-shadow:none}body .app .session-assessment-done{margin-top:var(--space-8)}body .app .kata-feedback-card{align-items:flex-start;gap:var(--space-12);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}body .app .kata-feedback-check{margin-bottom:var(--space-16);font-size:40px;color:var(--color-text-primary)}body .app .kata-feedback-title{font-size:27px;font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1)}body .app .kata-feedback-variant{font-size:var(--font-size-body);font-style:normal;color:var(--color-text-primary)}body .app .kata-feedback-stats{justify-content:flex-start;font-size:var(--charte-font-size-button)}body .app .kata-feedback-nav{gap:var(--space-12);margin-top:var(--space-16)}body .app .kata-feedback-secondary-actions{gap:var(--space-12)}body .app .kata-feedback-secondary-actions button{min-height:44px;font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}@media (min-width: 768px){body .app .exercise-coach-card-avatar,body .app .study-coach-avatar{flex-basis:58px;width:58px;height:58px}body .app .study-coach-card{grid-template-columns:58px minmax(0,1fr)}body .app .exercise-coach-card .exercise-instruction,body .app .study-coach-message{min-height:102.35px;padding:18px;font-size:13px}body .app .exercise-side-indicator,body .app .study-turn-row{margin-top:15px;font-size:var(--font-size-caption)}body .app .exercise-feedback-block{padding:22px}body .app .study-attempts-card,body .app .sequence-advice-reflexe,body .app .exercise-principle-context,body .app .session-assessment-axis,body .app .session-assessment-list{padding:var(--charte-space-card)}body .app .sequence-advice-headline,body .app .exercise-principle-text,body .app .session-assessment-close,body .app .kata-feedback-title{font-size:var(--charte-font-size-32)}body .app .session-assessment-score-value{font-size:80px;letter-spacing:-5px}}body .app .session-header .session-header-back .exercise-meta{font-size:15px;font-weight:var(--font-weight-bold);letter-spacing:0;text-transform:none}.lab-eyebrow{font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}.lab-field-label{margin:0 0 9px;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.lab-screen{gap:18px;padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);max-width:750px}.lab-kind-choices{gap:10px}.lab-kind-choice{text-align:center;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.lab-kind-choice-selected{border-color:var(--color-text-primary);background:var(--charte-color-surface-soft);color:var(--color-text-primary)}.lab-profile-select{padding:var(--charte-space-button-y) var(--charte-space-14);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);font-size:var(--font-size-body)}.lab-unavailable{padding:var(--space-16) var(--charte-space-20);background:var(--color-danger-quiet);border-left:0;border-radius:var(--charte-radius-notice);color:var(--color-danger);font-size:var(--font-size-small);line-height:var(--charte-line-height-prose)}.lab-mode-toggle{display:inline-flex;gap:3px;padding:var(--charte-space-segment);border-radius:var(--radius-button);background:var(--color-surface-elevated);margin-bottom:var(--space-16)}.lab-mode-toggle .lab-kind-choice{min-height:var(--charte-size-segment-item);padding:var(--space-8) var(--space-16);border:0;border-radius:var(--charte-radius-segment-item);background:transparent;color:var(--color-text-secondary)}.lab-mode-toggle .lab-kind-choice-selected{background:var(--color-text-primary);color:var(--color-background);font-weight:var(--font-weight-bold);box-shadow:none}.games-screen{gap:18px}.games-column{display:flex;flex-direction:column;gap:18px;min-width:0}.games-import-section,.games-list-section{gap:var(--space-12);padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.games-import-section>.lab-field-label:first-child,.games-list-section>.lab-field-label:first-child{margin:0 0 var(--space-4);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2)}.games-pgn-input,.games-username-input{padding:var(--charte-space-button-y) var(--charte-space-14);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);box-shadow:none;font-family:inherit;font-size:var(--font-size-body)}.games-username-label{gap:9px;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.games-input-row{display:flex;gap:10px}.games-input-row .games-username-input{flex:1;min-width:0}.games-import-section>.primary-action,.games-import-section>.secondary-action{align-self:flex-start;width:auto}.games-summary{padding:var(--space-16) var(--charte-space-20);background:var(--color-surface-elevated);border-left:0;border-radius:var(--charte-radius-notice);color:var(--color-text-primary);font-size:var(--font-size-small);line-height:var(--charte-line-height-prose)}.games-list{gap:0}.games-list-item{padding:13px 0;background:transparent;box-shadow:none;border-radius:0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-small)}.games-list-item:last-child{border-bottom:0}.games-list-outcome{text-transform:none;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.games-list-outcome-win,.games-list-outcome-loss{color:var(--color-text-primary)}.best-self-screen{gap:var(--space-24)}.best-self-hero{align-items:stretch;gap:18px;padding:0;background:transparent;border-radius:0;box-shadow:none;text-align:left}.best-self-hero-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.best-self-stat{gap:14px;padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.best-self-stat-label{font-size:var(--font-size-caption);text-transform:none;letter-spacing:0;color:var(--color-text-secondary)}.best-self-stat-value,.best-self-stat-value-target{font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h1);line-height:var(--charte-line-height-h1);color:var(--color-text-primary)}.best-self-tagline{margin:0;max-width:none;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-h2);line-height:var(--charte-line-height-h2);color:var(--color-text-primary)}.best-self-proofs{gap:18px}.best-self-proof-card{gap:15px;padding:var(--charte-space-20);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:none}.best-self-proof-header{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:1.4}.best-self-proof-board .board-wrap{width:min(100%,130px)}.best-self-proof-score{font-size:var(--font-size-small);font-weight:var(--font-weight-regular)}.best-self-proof-meta,.best-self-footnote{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.best-self-screen>.secondary-action{align-self:flex-start}.coach-panel{gap:18px;padding:var(--charte-space-20);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);font-family:var(--font-family);font-size:var(--font-size-small)}.coach-panel-title{font-size:var(--font-size-h3)}.coach-panel-close{min-height:40px;padding:9px 12px;border-radius:var(--radius-button);font-size:var(--font-size-caption);color:var(--color-text-primary)}.coach-panel-section h3,.coach-panel-maintenance-label{font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--charte-letter-spacing-eyebrow);color:var(--color-text-secondary)}.coach-panel-lab-link,.coach-panel-games-link{min-height:var(--tap-target-min);padding:var(--charte-space-button-y) var(--charte-space-button-x);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.coach-panel-lab-link:hover,.coach-panel-games-link:hover{background:var(--color-surface-elevated)}.coach-panel input[type=range]{accent-color:var(--color-text-primary)}body .app .exercise-principle-content{width:100%;max-width:760px;margin:0 auto;padding:22px 0}body .app .exercise-principle-card{padding:22px 18px;border:1px solid var(--charte-color-fill-coach-border);border-radius:var(--radius-card);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text)}body .app .exercise-principle-headline{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}body .app .exercise-principle-eyebrow{margin:0;font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--charte-color-fill-coach-text)}body .app .exercise-principle-title{margin:7px 0 0;font-size:27px;line-height:1.08;font-weight:var(--font-weight-bold);letter-spacing:-.035em;color:var(--charte-color-fill-coach-text)}body .app .exercise-principle-text.exercise-closing-motif{min-height:132px;margin:0;font-size:17px;line-height:1.55;font-weight:550;font-style:normal;letter-spacing:0;color:var(--charte-color-fill-coach-text)}body .app .exercise-principle-typing-rest{color:transparent}body .app .exercise-principle-cursor{display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:-.08em;background:var(--charte-color-fill-coach-text);animation:exercise-principle-blink .7s steps(1) infinite}@keyframes exercise-principle-blink{50%{opacity:0}}body .app .exercise-principle-context{margin:14px 0 0;padding-top:12px;border-top:1px solid rgb(0 0 0 / 18%);font-size:14px;line-height:1.45;color:var(--charte-color-fill-coach-text)}body .app .exercise-principle-card>.exercise-principle-context:first-child{padding-top:0;border-top:none}body .app .exercise-principle-continue{margin-top:12px}@media (prefers-reduced-motion: reduce){body .app .exercise-principle-cursor{animation:none}}.celebration-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;flex-direction:column;overflow-y:auto;background:var(--charte-color-celebration-bg);color:var(--charte-color-celebration-text)}.celebration-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px max(24px,env(safe-area-inset-bottom));text-align:center}.celebration-kicker{margin:0;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--charte-color-celebration-muted)}.celebration-title{margin:10px 0 14px;font-size:clamp(44px,12vw,76px);line-height:.92;font-weight:800;letter-spacing:-.06em;color:var(--charte-color-celebration-text)}.celebration-visual{display:grid;place-items:center;font-size:76px;line-height:1}.celebration-copy{max-width:520px;margin-top:6px;font-size:15px;line-height:1.5;color:var(--charte-color-celebration-muted)}.celebration-copy p{margin:0}.celebration-actions{margin-top:20px}.celebration-screen .celebration-continue{min-width:126px;min-height:44px;padding:11px 16px;border:1px solid var(--charte-color-fill-coach);border-radius:var(--radius-button);background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);font:inherit;font-size:var(--charte-font-size-button);font-weight:650;cursor:pointer}.celebration-screen.badge-celebration{align-items:stretch;justify-content:flex-start;gap:0;padding:0;background:var(--charte-color-celebration-bg);color:var(--charte-color-celebration-text);text-align:center;animation:none}.celebration-screen.badge-celebration .badge-celebration-medallion{width:120px;height:128px;margin:4px auto 0}.celebration-screen .badge-celebration-title{margin:0;font-size:inherit;font-weight:700;letter-spacing:0;color:var(--charte-color-celebration-text)}.celebration-screen .badge-celebration-level{margin:0;font-size:inherit;font-weight:inherit;color:var(--charte-color-celebration-muted)}.celebration-screen .badge-celebration-others{width:min(100%,320px);margin-top:16px}.celebration-screen .badge-celebration-others p,.celebration-screen .badge-celebration-other-goal{color:var(--charte-color-celebration-muted)}.celebration-screen .badge-celebration-other-name{color:var(--charte-color-celebration-text)}.celebration-screen .badge-celebration-continue{position:static;margin-top:0}body .app .session-assessment-screen.session-finish-screen{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;color:var(--color-text-primary);animation:none}@media (max-width: 767.98px){body .app .session-assessment-screen.session-finish-screen{min-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - var(--space-48))}}body .app .session-finish-body{flex:1;display:flex;flex-direction:column;justify-content:center;width:min(760px,100%);margin:0 auto;padding:18px 0 24px}body .app .session-finish-kicker{margin:0;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-secondary);animation:session-finish-rise-small .35s ease both}body .app .session-finish-title{margin:8px 0 18px;font-size:clamp(38px,11vw,66px);line-height:.95;font-weight:800;letter-spacing:-.055em;color:var(--color-text-primary);animation:session-finish-rise .46s 80ms ease both}body .app .session-finish-grid{display:grid;grid-template-columns:1fr;gap:16px}body .app .session-finish-score-card,body .app .session-finish-stat{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}body .app .session-finish-score-card{padding:18px}body .app .session-finish-score-wrap{display:flex;align-items:center;gap:16px}body .app .session-finish-ring-wrap{position:relative;flex:0 0 126px;width:126px;height:126px}body .app .session-finish-ring{width:100%;height:100%;transform:rotate(-90deg)}body .app .session-finish-ring circle{fill:none;stroke-width:10}body .app .session-finish-ring-track{stroke:var(--charte-color-surface-subtle)}body .app .session-finish-ring-value{stroke:var(--charte-color-fill-coach);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,0,0,1)}body .app .session-finish-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}body .app .session-finish-ring-value-text{font-size:32px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}body .app .session-finish-ring-label{font-size:10px;font-weight:700;color:var(--color-text-secondary)}body .app .session-finish-score-copy{flex:1;min-width:0}body .app .session-finish-score-copy strong{display:block;margin-bottom:6px;font-size:18px}body .app .session-finish-score-copy span{font-size:13px;line-height:1.45;color:var(--color-text-secondary)}body .app .session-finish-bar-block{margin-top:14px}body .app .session-finish-bar-head{display:flex;justify-content:space-between;margin-bottom:7px;font-size:11px;font-weight:700;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}body .app .session-finish-bar-track{height:8px;overflow:hidden;border-radius:999px;background:var(--charte-color-surface-subtle)}body .app .session-finish-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--charte-color-fill-coach),#89d59c);transition:width 1s cubic-bezier(.2,0,0,1)}body .app .session-finish-stat-row{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:10px}body .app .session-finish-stat{min-width:0;padding:13px 7px;text-align:center;animation:session-finish-rise .36s ease both}body .app .session-finish-stat-value{font-size:21px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}body .app .session-finish-stat-label{margin-top:4px;font-size:9px;color:var(--color-text-secondary)}body .app .session-finish-stat--errors .session-finish-stat-value{color:var(--color-danger)}body .app .session-finish-note{margin:16px 0 0;font-size:13px;line-height:1.45;color:var(--color-text-secondary);animation:session-finish-rise-small .36s .79s ease both}body .app .session-finish-action{margin-top:16px}body .app .session-finish-action .session-assessment-done{width:auto;min-width:126px}@keyframes session-finish-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes session-finish-rise-small{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-height: 700px){body .app .session-finish-body{justify-content:flex-start}body .app .session-finish-title{margin-bottom:10px;font-size:38px}body .app .session-finish-ring-wrap{flex-basis:108px;width:108px;height:108px}body .app .session-finish-ring-value-text{font-size:27px}}@media (prefers-reduced-motion: reduce){body .app .session-finish-kicker,body .app .session-finish-title,body .app .session-finish-stat,body .app .session-finish-note{animation:none}body .app .session-finish-ring-value,body .app .session-finish-bar-fill{transition:none}}.exercise-feedback-frame--concealed>:not(.exercise-after-slot){display:none}.exercise-after-actions{display:flex;flex-wrap:wrap;gap:.5rem}.exercise-after-action{flex:1 1 8rem;min-height:var(--tap-target-min);padding:var(--charte-space-button-y) var(--charte-space-button-x);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--charte-font-size-button);font-weight:var(--font-weight-semibold)}.exercise-after-action:hover{background:var(--color-surface-elevated)}.opening-preview-plans .strategic-insights{border-top-color:var(--charte-color-surface-subtle);color:var(--charte-color-ink)}.opening-preview-plans .strategic-section-label{color:var(--charte-color-text-secondary)}.kata-tree{display:flex;flex-direction:column;margin:0 0 32px}.kata-tree-coach{display:grid;grid-template-columns:48px 1fr;gap:var(--space-8);align-items:end;margin:4px 0 18px}.kata-tree-coach .kata-tree-avatar{width:48px;height:48px;padding:4px}.kata-tree-coach .kata-tree-coach-body p{padding:12px 15px;border:1px solid var(--charte-color-fill-coach-border);border-radius:4px 14px 14px;background:var(--charte-color-fill-coach);color:var(--charte-color-fill-coach-text);font-size:var(--charte-font-size-button);line-height:var(--charte-line-height-prose)}.kata-tree-coach .kata-tree-coach-body p.kata-tree-loading{height:46px;width:auto;padding:0}.kata-tree-coach-body b,.kata-panel-coach b{display:block;margin-bottom:3px;font-size:12px;color:var(--color-text-primary)}.kata-tree-coach p,.kata-panel-coach p,.targeted-summary-coach p{margin:0;font-size:14px;line-height:1.45;color:var(--color-text-primary)}.kata-tree-avatar{display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--charte-color-kata-strong);border-radius:50%;background:var(--charte-color-kata-avatar-disc)}.kata-tree-avatar.coach-avatar{padding:6px;box-sizing:border-box}.kata-tree-loading{height:14px;width:70%;border-radius:7px;background:var(--charte-color-surface-soft)}.kata-status{display:inline-block;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.kata-status--strong{background:var(--charte-color-kata-strong-soft);color:var(--charte-color-kata-strong-text)}.kata-status--weak{background:var(--charte-color-kata-weak-soft);color:var(--charte-color-kata-weak-text)}.kata-diagnosis{margin:0 0 22px;border:1px solid var(--charte-color-line);border-radius:18px;background:var(--charte-color-panel);box-shadow:var(--charte-shadow-segment)}.kata-diagnosis-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:0;padding:13px 14px;border:0;border-radius:18px;background:transparent;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.kata-diagnosis-toggle:disabled{cursor:default;opacity:1}.kata-diagnosis-text{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.kata-diagnosis-title{font-size:15px;font-weight:850;line-height:1.25;letter-spacing:-.02em}.kata-diagnosis-summary{font-size:12px;line-height:1.35;color:var(--color-text-secondary)}.kata-diagnosis-summary.kata-tree-loading{height:12px;width:60%}.kata-diagnosis-body{padding:0 14px 14px}.kata-diagnosis-source{margin:0 0 6px;font-size:11px;color:var(--color-text-secondary)}.kata-diagnosis-phase{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;min-height:34px}.kata-diagnosis-phase-label{font-size:12px;color:var(--color-text-secondary)}.kata-diagnosis-phase-value{min-width:36px;font-size:12px;font-weight:850;text-align:right}.kata-diagnosis-track{height:8px;overflow:hidden;border-radius:999px;background:var(--charte-color-surface-soft)}.kata-diagnosis-fill{display:block;height:100%;border-radius:999px;background:var(--color-text-primary)}.kata-diagnosis-rate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:10px;border-top:1px solid var(--charte-color-line);font-size:12px;color:var(--color-text-secondary)}.kata-diagnosis-rate strong{font-size:16px;font-weight:900;color:var(--color-text-primary)}.kata-row-chevron{flex:0 0 auto;width:12px;height:12px;color:var(--color-text-secondary);transition:transform .18s ease}.kata-diagnosis-toggle:hover,.kata-diagnosis-toggle:focus,.kata-row:hover,.kata-row:focus,.kata-variant:hover,.kata-variant:focus{background:transparent}.kata-diagnosis.is-open .kata-diagnosis-chevron,.kata-opening.is-open>.kata-row .kata-row-chevron{transform:rotate(90deg)}.kata-list-head{margin:0 2px 10px}.kata-list-title{margin:0;font-size:20px;font-weight:900;letter-spacing:-.035em;color:var(--color-text-primary)}.kata-list-sub,.kata-list-note,.kata-family-help{margin:4px 0 0;font-size:12px;line-height:1.4;color:var(--color-text-secondary)}.kata-family{margin-bottom:12px;overflow:hidden;border:1px solid var(--charte-color-line);border-radius:18px;background:var(--charte-color-surface-soft)}.kata-family--tactics{background:color-mix(in srgb,var(--charte-color-kata-strong-soft) 55%,var(--charte-color-panel))}.kata-family--mental{background:color-mix(in srgb,var(--charte-color-kata-weak-soft) 55%,var(--charte-color-panel))}.kata-family--loading{height:120px}.kata-family-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;padding:12px 14px 10px}.kata-family-title{margin:0;font-size:16px;font-weight:900;letter-spacing:-.025em;color:var(--color-text-primary)}.kata-family-count{font-size:11px;color:var(--color-text-secondary)}.kata-family-help{margin:-4px 14px 10px;font-size:11px}.kata-rows,.kata-variants{margin:0;padding:0;list-style:none}.kata-rows{border-top:1px solid var(--charte-color-line);background:var(--charte-color-panel)}.kata-rows>li+li{border-top:1px solid var(--charte-color-line)}.kata-row{display:flex;align-items:center;gap:9px;width:100%;min-height:50px;padding:0 14px;border:0;border-radius:0;background:transparent;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.kata-row-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%}.kata-row-dot--strong{background:var(--charte-color-kata-strong)}.kata-row-dot--weak{background:var(--charte-color-kata-weak)}.kata-row-name{flex:1;min-width:0;overflow:hidden;font-size:14px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.kata-row .kata-status{padding:5px 7px}.kata-row-pct{min-width:40px;font-size:14px;font-weight:900;text-align:right}.kata-variants{padding:0 14px 6px 31px;border-top:1px dashed var(--charte-color-line)}.kata-variants>li+li{border-top:1px dashed var(--charte-color-line)}.kata-variant{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.kata-variant-name{flex:1;min-width:0;font-size:13px;color:var(--color-text-secondary)}.kata-variant-pct{font-size:13px;font-weight:850}.kata-variant--weak .kata-variant-pct{color:var(--charte-color-kata-weak-text)}.kata-variant--strong .kata-variant-pct{color:var(--charte-color-kata-strong-text)}.kata-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0006}.kata-panel{position:fixed;right:0;bottom:0;left:0;z-index:70;max-height:88dvh;overflow-y:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--charte-color-line);border-radius:24px 24px 0 0;background:var(--charte-color-panel);color:var(--color-text-primary);box-shadow:var(--charte-shadow-modal);animation:kata-panel-up .25s ease}@keyframes kata-panel-up{0%{transform:translateY(105%)}to{transform:translateY(0)}}.kata-panel-handle{width:46px;height:5px;margin:0 auto 14px;border-radius:999px;background:var(--charte-color-line)}.kata-panel-top{display:flex;justify-content:space-between;gap:10px}.kata-panel-title{margin:7px 0 0;font-size:30px;letter-spacing:-.055em}.kata-panel-stat{margin:4px 0 0;font-size:14px;font-weight:800}.kata-panel-close{flex:0 0 auto;display:grid;place-items:center;box-sizing:border-box;width:38px;height:38px;min-height:0;padding:0;border:1px solid var(--charte-color-line);border-radius:50%;background:var(--charte-color-surface-soft);color:var(--color-text-primary);line-height:0;cursor:pointer}.kata-panel-close svg{display:block;width:14px;height:14px}.kata-panel-proof{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.kata-panel-coach{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start;margin-top:16px;padding:14px;border:1px solid var(--charte-color-line);border-radius:18px;background:linear-gradient(135deg,var(--charte-color-surface-soft),color-mix(in srgb,var(--charte-color-kata-strong-soft) 25%,var(--charte-color-surface-soft)))}.kata-panel-coach .kata-tree-avatar{width:64px;height:64px}.kata-panel-actions,.targeted-summary-actions{display:flex;gap:8px;margin-top:14px}.kata-panel-actions button,.targeted-summary-actions button{min-height:46px;padding:11px 14px;border:1px solid var(--charte-color-line);border-radius:12px;background:var(--charte-color-surface-soft);color:var(--color-text-primary);font:inherit;font-weight:850;cursor:pointer}.kata-panel-actions .kata-panel-primary,.targeted-summary-actions .targeted-summary-primary{flex:1;border-color:var(--charte-color-fill-action);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}@media (prefers-reduced-motion: reduce){.kata-panel{animation:none}.kata-row-chevron{transition:none}}.targeted-summary{display:flex;justify-content:center;padding:32px 16px}.targeted-summary-card{width:min(520px,100%);padding:24px 20px;border:1px solid var(--charte-color-line);border-radius:22px;background:var(--charte-color-panel);color:var(--color-text-primary);box-shadow:var(--charte-shadow-segment)}.targeted-summary-kicker{font-size:var(--charte-font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-secondary)}.targeted-summary-title{margin:7px 0 0;font-size:var(--charte-font-size-32);font-weight:900;letter-spacing:-.05em}.targeted-summary-score{display:flex;flex-direction:column;gap:4px;margin-top:18px}.targeted-summary-score b{font-size:36px;letter-spacing:-.05em}.targeted-summary-score span{font-size:14px;color:var(--color-text-secondary)}.targeted-summary-coach{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;margin-top:18px}.exercise-screen--behind-analysis{display:none}.analysis-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-8);padding:calc(var(--space-12) + env(safe-area-inset-top,0px)) var(--space-16) calc(var(--space-16) + env(safe-area-inset-bottom,0px));background:var(--color-background);color:var(--color-text-primary)}.analysis-screen>*,.notebook-screen>*{width:100%;max-width:480px;margin-inline:auto}.analysis-screen>*{flex-shrink:0}.analysis-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-8);min-height:var(--tap-target-min)}.analysis-back,.analysis-gauge-toggle{min-height:var(--tap-target-min);padding:0;border:0;background:none;color:var(--color-text-secondary);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.analysis-back{justify-self:start}.analysis-gauge-toggle{justify-self:end;font-size:var(--font-size-caption);text-decoration:underline}.analysis-title{margin:0;font-size:1rem;font-weight:var(--font-weight-bold, 700);text-align:center}.analysis-gauge{position:relative;height:1.125rem;border:1px solid var(--charte-color-ink);border-radius:var(--radius-button);background:var(--charte-color-ink);overflow:hidden}.analysis-gauge-white{display:block;height:100%;background:var(--charte-color-background);transition:width .35s ease}.analysis-gauge-label{position:absolute;top:50%;left:var(--space-8);transform:translateY(-50%);color:var(--charte-color-ink);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.analysis-gauge-label--dark{color:var(--charte-color-background)}.analysis-gauge--hidden{border-color:transparent;background:var(--color-surface-elevated)}.analysis-gauge--hidden>*{visibility:hidden}.analysis-board{width:100%}.analysis-curve{display:block;width:100%;height:2.75rem;border-radius:var(--radius-button);overflow:hidden}.analysis-curve-bg{fill:var(--charte-color-ink)}.analysis-curve-white{fill:var(--charte-color-background)}.analysis-curve-mid{stroke:var(--charte-color-text-muted);stroke-width:.3;stroke-dasharray:1 1}.analysis-curve-current{stroke:var(--charte-color-accent);stroke-width:2}.analysis-curve-hit{fill:transparent;cursor:pointer}.analysis-landmark{flex:none;margin:0 0 0 auto;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.analysis-landmark--variation{color:var(--color-success)}.analysis-moves{display:flex;align-items:center;gap:var(--space-4, 4px);min-height:var(--tap-target-min);overflow-x:auto;scrollbar-width:none;white-space:nowrap}.analysis-move{flex:none;min-height:2rem;padding:0 var(--space-8);border:0;border-radius:var(--radius-button);background:var(--color-surface-elevated);color:var(--color-text-primary);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.analysis-move-number{margin-right:.15em;color:var(--color-text-secondary);font-weight:var(--font-weight-regular, 400)}.analysis-move--variation{color:var(--color-success)}.analysis-move--current,.analysis-move--current:hover{background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.analysis-move--current .analysis-move-number{color:var(--charte-color-fill-action-text)}.analysis-move-paren{flex:none;color:var(--color-text-secondary)}.analysis-actions{display:flex;flex-direction:column;gap:var(--space-8)}.analysis-not-saved{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-caption)}.analysis-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-8)}.analysis-nav-button{height:48px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:1rem;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.analysis-nav-button:active:not(:disabled){background:var(--color-surface-elevated)}.analysis-nav-button:disabled{opacity:.35;cursor:default}.notebook-screen{display:flex;flex-direction:column;gap:var(--space-12)}.notebook-empty{margin:0;color:var(--color-text-secondary)}.notebook-list{display:flex;flex-direction:column;gap:var(--space-8);margin:0;padding:0;list-style:none}.notebook-row{position:relative;overflow:hidden;border-radius:var(--radius-button);background:var(--color-danger)}.notebook-row-delete{position:absolute;inset:0 0 0 auto;width:72px;border:0;background:none;color:var(--charte-color-fill-error-text);font:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);cursor:pointer}.notebook-row-main{position:relative;display:flex;align-items:center;gap:var(--space-12);width:100%;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;touch-action:pan-y;transition:transform .18s ease}.notebook-thumb{flex:none;width:3.25rem;height:3.25rem;border-radius:6px}.notebook-thumb-light{fill:var(--board-light)}.notebook-thumb-dark{fill:var(--board-dark)}.notebook-row-text{flex:1;min-width:0}.notebook-row-title,.notebook-row-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-row-meta{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.notebook-row-score{flex:none;padding:2px 6px;border:1px solid var(--charte-color-ink);border-radius:5px;background:var(--charte-color-background);color:var(--charte-color-ink);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.notebook-row-score--dark{background:var(--charte-color-ink);color:var(--charte-color-background)}.profile-notebook-open{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--tap-target-min);padding:var(--space-12) var(--space-16);border:1.2px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer}@media (prefers-reduced-motion: reduce){.analysis-gauge-white,.notebook-row-main{transition:none}}.board-success-mark{position:absolute;z-index:3;width:12.5%;height:12.5%;pointer-events:none;animation:success-mark-pop .35s cubic-bezier(.3,1.6,.5,1) both}.board-move-seal{position:absolute;z-index:3;width:12.5%;height:12.5%;pointer-events:none}.board-move-seal-stamp{position:absolute;bottom:6%;left:6%;padding:.18em .24em .12em;border-radius:2px;transform:rotate(-10deg);color:#fff;font-size:clamp(9px,2.4vw,13px);font-weight:var(--font-weight-bold);line-height:1;box-shadow:0 0 0 1.5px #ffffffd9,0 1px 3px #00000059}.board-move-seal--bad .board-move-seal-stamp{background:#b3261e}.board-move-seal--warn .board-move-seal-stamp{background:#8a5a00}.board-move-seal--good .board-move-seal-stamp{background:#1f6e46}.board-success-mark-dot{position:absolute;top:-18%;right:-18%;display:grid;place-items:center;width:52%;height:52%;border-radius:50%;background:var(--charte-color-fill-success);color:var(--charte-color-fill-success-text);box-shadow:0 1px 3px #00000059;font-size:clamp(9px,2.6vw,14px);font-weight:var(--font-weight-bold);line-height:1}@keyframes success-mark-pop{0%{transform:scale(0)}to{transform:scale(1)}}.success-sheet{position:fixed;left:0;right:0;bottom:0;z-index:120;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--radius-modal) var(--radius-modal) 0 0;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 -6px 20px #0000002e;animation:success-sheet-rise .42s cubic-bezier(.2,.9,.3,1) both}.success-sheet--after-check{animation-delay:.35s}@keyframes success-sheet-rise{0%{transform:translateY(105%)}to{transform:translateY(0)}}.success-sheet-band{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);font-size:1rem;font-weight:var(--font-weight-bold)}.success-sheet--success .success-sheet-band{background:var(--charte-color-fill-success);color:var(--charte-color-fill-success-text)}.success-sheet--neutral .success-sheet-band{background:var(--color-surface-elevated);color:var(--color-text-primary)}.success-sheet-band-icon{display:grid;flex:none;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--charte-color-fill-success-text);color:var(--charte-color-fill-success);font-size:var(--font-size-small);font-style:normal}.success-sheet-body{display:grid;gap:var(--space-12);padding:var(--space-12) var(--space-16) var(--space-16)}.success-sheet-message{margin:0;font-size:var(--font-size-body)}.success-sheet-figures{display:flex;flex-wrap:wrap;gap:var(--space-8)}.success-sheet-figure{padding:var(--space-8) var(--space-12);border-radius:var(--radius-button);background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:var(--font-size-body);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.success-sheet-actions{display:grid;gap:var(--space-8)}.success-sheet-primary,.success-sheet-secondary{min-height:var(--tap-target-min);border-radius:var(--radius-button);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer}.success-sheet-primary{border:0;background:var(--charte-color-fill-success);color:var(--charte-color-fill-success-text)}.success-sheet-secondary{border:0;background:transparent;color:var(--color-text-secondary)}.success-sheet-primary:focus-visible,.success-sheet-secondary:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.board-success-mark,.success-sheet{animation:none}}.exercise-why{display:flex;flex-direction:column;gap:.5rem}.exercise-why-actions{flex-wrap:nowrap}.exercise-why-actions .exercise-after-action{min-width:0}.exercise-after-action--primary,.exercise-after-action--primary:hover{background:var(--charte-color-fill-action);border-color:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text)}.exercise-after-action:disabled{opacity:.6;cursor:progress}.board-mark.board-mark-premove>rect,.board-mark.board-mark-selected-premove>rect{fill:#141e5573}.analysis-move-badge{display:inline-block;margin-left:.3em;padding:0 .35em;border-radius:var(--radius-button);font-weight:var(--font-weight-bold, 700);font-size:.85em;line-height:1.5;vertical-align:.05em}.analysis-move-badge--blunder,.analysis-move-badge--mistake{background:var(--color-danger-quiet);color:var(--color-danger)}.analysis-move-badge--inaccuracy{background:var(--color-warning-quiet);color:var(--color-warning)}.analysis-move-badge--good,.analysis-move-badge--brilliant{background:var(--color-success-quiet);color:var(--color-success)}.analysis-move-symbol{margin-left:.1em;font-weight:var(--font-weight-bold, 700)}.analysis-move--bad:not(.analysis-move--current){color:var(--color-danger)}.analysis-move--warn:not(.analysis-move--current){color:var(--color-warning)}.analysis-move--good:not(.analysis-move--current){color:var(--color-success)}.analysis-move--bad:not(.analysis-move--current) .analysis-move-number,.analysis-move--warn:not(.analysis-move--current) .analysis-move-number,.analysis-move--good:not(.analysis-move--current) .analysis-move-number{color:var(--color-text-secondary)}.exercise-side-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-4)}body .app .exercise-side-row .exercise-side-indicator{justify-content:flex-start;margin:0}.exercise-start-replay{flex:0 0 auto;min-height:var(--tap-target-min);padding:0 var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.exercise-start-replay:hover{background:var(--color-surface-elevated)}.exercise-start-replay:disabled{opacity:.6;cursor:progress}.exercise-start-replay-note{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary);text-align:right}.tab-bar{display:grid;grid-template-columns:repeat(var(--tab-bar-entries, 4),minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:3px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--color-background);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #22221f05}.tab-bar-with-destination{grid-template-columns:repeat(var(--tab-bar-entries, 4),minmax(0,1fr)) minmax(68px,1.05fr)}.tab-bar-item,.tab-bar-destination{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:none;min-width:0;min-height:63px;padding:2px 3px 7px;gap:5px;border:none;border-radius:9px;background:transparent;color:var(--color-text-primary);font-family:var(--font-family);font-size:11px;font-weight:var(--font-weight-medium);line-height:1.2;cursor:pointer}.tab-bar-item:hover,.tab-bar-destination:hover{background:#ffd60013;color:var(--color-text-primary)}.tab-bar-item-active,.tab-bar-item-active:hover{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.tab-bar-item-active:before{content:"";position:absolute;top:auto;bottom:0;left:50%;transform:translate(-50%);width:15px;height:3px;border-radius:3px;background:var(--charte-color-accent)}.tab-bar .nav-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:49px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:50% 50%}.tab-bar-item,.tab-bar-destination{perspective:350px}.tab-bar-icon{width:31px;height:32px;flex-shrink:0;fill:none;stroke:none}.tab-bar-icon-coach{width:35px;height:34px;margin-top:-2px}.tab-bar-label{font-size:11px;font-weight:inherit}.tab-bar-item-active .tab-bar-label{font-weight:inherit}.tab-bar-mode{display:flex;align-items:center;margin-left:4px;padding-left:9px;border-left:1px solid var(--color-border)}.tab-bar-destination{gap:10px;padding-top:5px;font-weight:var(--font-weight-semibold)}.tab-bar-destination .nav-face{gap:10px}.tab-bar-badge{background:var(--charte-color-ink);color:var(--charte-color-background)}.app-space-page{transform-origin:50% 240px;backface-visibility:hidden;-webkit-backface-visibility:hidden}body.space-turning{overflow-x:clip}body.space-turning .app-space-page,body.space-turning .app-page,body.space-turning .nav-face{will-change:transform,opacity}.profile-stats-open{display:flex;align-items:center;gap:var(--space-12)}.profile-stats-open-icon{width:28px;height:28px;flex-shrink:0;color:var(--color-text-primary)}.profile-stats-open .profile-notebook-open-label{flex:1;text-align:left}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grip{width:39px;height:5px;margin:12px auto 7px;border-radius:9px;background:var(--color-border)}@media (max-width: 767px){body .session-theme-backdrop,body .account-prompt-backdrop,body .play-backdrop{padding:0}body .session-theme-sheet,body .account-prompt-sheet,body .play-sheet{max-width:620px;max-height:calc(100dvh - 25px);border:0;border-radius:25px 25px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 80px #00000021}body .account-prompt-sheet:before,body .play-sheet:before{content:"";display:block;width:39px;height:5px;margin:-8px auto 12px;border-radius:9px;background:var(--color-border)}}.exercise-vote-sheet,.badge-sheet[open]{animation:sheet-up .32s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion: reduce){.exercise-vote-sheet,.badge-sheet[open]{animation:none}}html[data-board-focus] body{transition:background-color 1.8s ease-in-out .15s}html[data-board-focus=on] body{background-color:var(--charte-color-board-focus-bg)}html[data-board-focus=on] body .app :is(.session-header-title,.variant-intro-goal,.study-header-label span,.side-to-move,.study-icon-button,.study-header-label,.study-hints-header h2,.play-name,.play-eval-readout,.exercise-instruction:not(.exercise-coach-card *),.knowledge-question){color:var(--charte-color-board-focus-ink)}html[data-board-focus=on] body .app :is(.session-header-back,.session-header-back span,.session-header-context,.variant-intro-sequence,.variant-intro-eyebrow,.variant-intro-description,.learning-screen .breadcrumb,.learning-progress,.study-header-label strong,.study-turn-row,.study-hints-count,.play-subtitle,.exercise-meta,.exercise-meta-progress,.exercise-side-indicator,.exercise-side-indicator-text){color:var(--charte-color-board-focus-muted)}body .analysis-screen.analysis-screen--from-dimmed{animation:analysis-screen-undim 1.8s ease-in-out .15s backwards}@keyframes analysis-screen-undim{0%{background-color:var(--charte-color-board-focus-bg)}to{background-color:var(--color-background)}}html[data-board-focus=on] body .app :is(.exercise-feedback-block.exercise-feedback-block--error-soft,.exercise-feedback-block.exercise-feedback-block--error-solid){background:var(--charte-color-fill-error-soft);color:var(--charte-color-fill-error-soft-text)}@media (prefers-reduced-motion: reduce){html[data-board-focus] body{transition:none}body .analysis-screen.analysis-screen--from-dimmed{animation:none}}.back-arrow{display:block;width:20px;height:20px;flex:none}.rare-bravo .celebration-title{font-size:clamp(34px,9vw,56px);line-height:1;letter-spacing:-.04em}.rare-bravo-star{display:inline-block;color:var(--charte-color-fill-coach);animation:rare-bravo-pop .9s cubic-bezier(.2,1.4,.4,1) both,rare-bravo-glow 2.4s ease-in-out .9s infinite}@keyframes rare-bravo-pop{0%{transform:scale(.2) rotate(-40deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes rare-bravo-glow{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (prefers-reduced-motion: reduce){.rare-bravo-star{animation:none}}.tester-feedback-pill{position:fixed;top:calc(env(safe-area-inset-top,0px) + 76px);z-index:1100;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 2px 8px #0000002e;opacity:.92;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.tester-feedback-pill.is-right{right:6px}.tester-feedback-pill.is-left{left:6px}.tester-feedback-pill:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (min-width: 768px){.tester-feedback-pill{top:calc(env(safe-area-inset-top,0px) + 12px)}.tester-feedback-pill.is-right{right:12px}.tester-feedback-pill.is-left{left:12px}}.tester-feedback-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#12151c2e;cursor:crosshair}.tester-feedback-veil-bar{position:absolute;top:calc(env(safe-area-inset-top,0px) + 8px);left:50%;transform:translate(-50%);width:min(92vw,420px);padding:10px 14px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 4px 16px #0003;cursor:default}.tester-feedback-veil-text{margin:0 0 6px;font-weight:700}.tester-feedback-veil-actions{display:flex;gap:16px}.tester-feedback-link{padding:6px 0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.tester-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#12151c52}.tester-feedback-dot{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border:3px solid var(--color-surface);border-radius:50%;background:var(--charte-color-accent);box-shadow:0 0 0 2px var(--charte-color-accent)}.tester-feedback-sheet{position:absolute;left:0;right:0;bottom:0;max-height:88dvh;overflow-y:auto;padding:18px 16px calc(env(safe-area-inset-bottom,0px) + 16px);border-radius:18px 18px 0 0;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 -6px 24px #0003;animation:tester-feedback-rise .18s ease-out}@media (min-width: 768px){.tester-feedback-sheet{left:50%;right:auto;width:480px;transform:translate(-50%)}}@keyframes tester-feedback-rise{0%{translate:0 24px;opacity:0}}@media (prefers-reduced-motion: reduce){.tester-feedback-sheet{animation:none}}.tester-feedback-title{margin:0 0 4px;font-size:1.15rem}.tester-feedback-hint{margin:0 0 8px;color:var(--color-text-secondary);font-size:.85rem}.tester-feedback-group{margin:12px 0 0;padding:0;border:0}.tester-feedback-group legend,.tester-feedback-field>span{display:block;margin-bottom:6px;font-size:.85rem;font-weight:700}.tester-feedback-chips{display:flex;flex-wrap:wrap;gap:8px}.tester-feedback-chip{min-height:36px;padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:.9rem;cursor:pointer}.tester-feedback-sheet .tester-feedback-chip[aria-pressed=true],.tester-feedback-sheet .tester-feedback-chip[aria-pressed=true]:hover,.tester-feedback-sheet .tester-feedback-chip[aria-pressed=true]:focus{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.tester-feedback-annotation{min-width:44px;font-weight:800}.tester-feedback-field{display:block;margin-top:12px}.tester-feedback-field input,.tester-feedback-field textarea{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-background);color:var(--color-text-primary);font:inherit;font-size:16px}.tester-feedback-image{display:flex;align-items:center;gap:12px;margin-top:10px}.tester-feedback-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border)}.tester-feedback-error{margin:10px 0 0;color:var(--charte-color-fill-error-soft-text)}.tester-feedback-actions{display:flex;gap:10px;margin-top:16px}.tester-feedback-primary,.tester-feedback-secondary{flex:1;min-height:46px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.tester-feedback-primary{border:0;background:var(--color-accent);color:var(--color-accent-contrast)}.tester-feedback-primary:disabled{opacity:.45;cursor:default}.tester-feedback-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.tester-feedback-toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:1100;transform:translate(-50%);margin:0;padding:10px 16px;border-radius:12px;background:var(--color-accent);color:var(--color-accent-contrast);font-weight:700;box-shadow:0 4px 16px #0003}.tester-feedback-moves{margin:0;padding:0;list-style:none}.tester-feedback-move{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 0;border-top:1px solid var(--color-border)}.tester-feedback-move:first-child{border-top:0}.tester-feedback-move-number{font-weight:700;white-space:nowrap}.tester-feedback-move-annotation{margin-left:6px}.tester-feedback-move-message{overflow-wrap:anywhere}.tester-feedback-move-status{grid-column:2;color:var(--color-text-secondary);font-size:.85rem}.analytics-consent-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;background:#12151c52}.analytics-consent-sheet{position:absolute;left:0;right:0;bottom:0;max-height:88dvh;overflow-y:auto;padding:20px 16px calc(env(safe-area-inset-bottom,0px) + 16px);border-radius:18px 18px 0 0;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 -6px 24px #0003}@media (min-width: 768px){.analytics-consent-sheet{left:50%;right:auto;width:480px;transform:translate(-50%)}}.analytics-consent-title{margin:0 0 8px;font-size:1.15rem}.analytics-consent-text{margin:0 0 16px;line-height:1.45}.analytics-consent-actions{display:flex;flex-direction:column;gap:8px}.analytics-consent-button{min-height:46px;padding:0 16px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.analytics-consent-accept{border:0;background:var(--color-accent);color:var(--color-accent-contrast)}.analytics-consent-refuse{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.native-update{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + var(--space-16)) var(--space-16) calc(env(safe-area-inset-bottom,0px) + var(--space-16));background:var(--color-background);color:var(--color-text-primary)}.native-update-card{width:100%;max-width:420px;padding:var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-lg);text-align:center}.native-update-title{margin:0 0 var(--space-12);font-family:var(--font-family-display);font-size:22px;line-height:1.3}.native-update-copy{margin:0 0 var(--space-24);font-size:15px;line-height:1.5;color:var(--color-text-secondary)}.native-update-button{width:100%;min-height:52px;padding:0 var(--space-16);border:1px solid var(--charte-color-fill-action);border-radius:var(--radius-button);background:var(--charte-color-fill-action);color:var(--charte-color-fill-action-text);font:inherit;font-size:16px;font-weight:var(--font-weight-bold);cursor:pointer}
