/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#17221e;--muted:#69736d;--paper:#f3efe6;--panel:#fffdf8;--line:#ded8cc;--forest:#2f5144;--forest-dark:#203a31;--sage:#dce6de;--amber:#c7843f;--amber-soft:#f4e4ce;--danger:#9f453c;--shadow:0 18px 50px #25312b17}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{background:radial-gradient(circle at 15% 0,#ffffffe6,transparent 33rem),var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #c7843f59}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.train-shell{min-height:100vh}.global-error-page{text-align:center;place-content:center;justify-items:center;gap:16px;width:min(560px,100% - 32px);min-height:100vh;margin:0 auto;display:grid}.global-error-page>span{font-size:48px}.global-error-page h1,.global-error-page p{margin:0}.global-error-page p{color:var(--muted);line-height:1.6}.global-error-page button{background:var(--forest);color:#fff;border:0;border-radius:10px;min-height:44px;padding:0 20px;font-weight:800}.startup-splash{z-index:2000;pointer-events:none;background:radial-gradient(circle at 50% 46%,#32a4ee2e,transparent 19rem),var(--paper);place-items:center;animation:startup-splash-exit 3.4s forwards;display:grid;position:fixed;inset:0;overflow:hidden}.startup-capture{width:min(78vw,430px);height:min(48vw,240px);min-height:180px;position:relative;transform:translate(-18%)}.startup-piece{will-change:transform,opacity;width:clamp(112px,24vw,176px);height:clamp(112px,24vw,176px);display:block;position:absolute;top:50%;transform:translateY(-50%)}.startup-piece svg{width:100%;height:100%;display:block}.startup-queen{z-index:2;animation:startup-queen-capture 3.4s cubic-bezier(.2,.8,.25,1) forwards;left:0}.startup-bishop{z-index:1;animation:startup-bishop-captured 3.4s ease-out forwards;right:0}.startup-impact{opacity:0;border:3px solid #46b6ffe6;border-radius:50%;width:18px;height:18px;animation:startup-impact-pulse 3.4s ease-out forwards;position:absolute;top:50%;right:24%;transform:translate(50%,-50%)scale(.2)}@keyframes startup-queen-capture{0%,22%{opacity:0;transform:translate(-28%,-50%)scale(.94)}32%{opacity:1}48%{transform:translate(88%,-50%)scale(1.04)rotate(0)}54%{transform:translate(106%,-50%)scale(1.1)rotate(4deg)}64%,88%{opacity:1;transform:translate(100%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(100%,-50%)scale(.97)}}@keyframes startup-bishop-captured{0%,48%{opacity:1;transform:translateY(-50%)scale(1)}55%{opacity:.82;transform:translate(34%,-62%)scale(.82)rotate(16deg)}66%,to{opacity:0;transform:translate(82%,-82%)scale(.38)rotate(34deg)}}@keyframes startup-impact-pulse{0%,47%{opacity:0;transform:translate(50%,-50%)scale(.2)}52%{opacity:.95}64%,to{opacity:0;transform:translate(50%,-50%)scale(5)}}@keyframes startup-splash-exit{0%,84%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.train-shell.is-fallback-fullscreen{z-index:1000;position:fixed;inset:0;overflow:auto}:fullscreen{overflow:auto}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#fffdf8d1;border-bottom:1px solid #2f514421;justify-content:space-between;min-height:76px;padding:12px clamp(20px,4vw,64px);position:sticky;top:0}.brand,.card-heading,.coach-loading,.decision-row,.history-heading,.move-summary,.opponent-row,.player-controls,.player-row,.topbar{align-items:center;display:flex}.brand{gap:12px}.brand-navigation{align-items:center;gap:8px;display:flex}button.brand{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.brand-copy{flex-direction:column;display:flex}.brand-mark{background:var(--forest);color:#fffdf8;border-radius:13px;place-items:center;width:44px;height:44px;font-size:26px;display:grid;box-shadow:0 8px 20px #2f514433}.brand div,.brand-copy{flex-direction:column;display:flex}.brand strong{letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:20px}.brand span:last-child,.opponent-row span,.player-row span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:12px}.player-controls{gap:12px}.player-level-label{color:var(--muted);font-size:13px}.level-display{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:10px;align-items:center;height:42px;padding:0 12px;display:flex}.level-display strong{color:var(--ink);font-size:13px;font-weight:700}.icon-button,.language-control{border:1px solid var(--line);height:42px;color:var(--ink);background:#ffffffc2;border-radius:10px}.language-control{cursor:pointer;min-width:64px;padding:0 10px;font-weight:800}.icon-button{place-items:center;width:42px;font-size:17px;display:grid}.icon-button:disabled,.language-control:disabled{cursor:not-allowed;opacity:.55}.ghost-button,.primary-button,.secondary-button{border:1px solid #0000;border-radius:10px;min-height:42px;padding:0 18px;font-weight:700;transition:transform .15s,background .15s,border-color .15s}.ghost-button,.secondary-button{border-color:var(--line);color:var(--ink);background:#ffffffc2}.ghost-button:hover,.secondary-button:hover{background:#fff;border-color:#bdb5a8}.primary-button{background:var(--forest);box-shadow:0 8px 18px #2f51442e}.primary-button:hover{background:var(--forest-dark);transform:translateY(-1px)}.danger-button{background:var(--danger);color:#fff;border:1px solid #913d35;border-radius:10px;min-height:42px;padding:0 18px;font-weight:700}.train-grid{grid-template-columns:minmax(420px,680px) minmax(360px,1fr);align-items:start;gap:clamp(28px,5vw,72px);width:min(1380px,100%);margin:0 auto;padding:clamp(24px,4vw,52px);display:grid}.board-column{min-width:0}.opponent-row,.player-row{gap:11px;padding:9px 3px}.opponent-row{margin-bottom:7px}.player-row{margin-top:7px}.opponent-row strong,.player-row strong{font-size:14px}.opponent-row>.board-player-copy,.player-row>.board-player-copy{white-space:nowrap;flex-direction:row;flex:auto;align-items:baseline;gap:8px;min-width:0;display:flex}.board-player-copy strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.board-player-copy span{flex:none}.avatar{letter-spacing:.05em;border-radius:11px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.computer-avatar{color:#fff;background:#26302c}.player-avatar{background:var(--amber-soft);color:#79491d}.material-status{justify-content:flex-end;align-items:center;gap:8px;min-width:92px;min-height:28px;margin-left:auto;display:flex}.opponent-row .captured-pieces,.player-row .captured-pieces{min-height:24px;color:var(--ink);letter-spacing:normal;text-transform:none;align-items:center;font-family:Arial Unicode MS,Segoe UI Symbol,sans-serif;font-size:20px;line-height:1;display:flex}.captured-piece-group{align-items:flex-end;display:inline-flex}.captured-piece-group+.captured-piece-group{margin-left:3px}.captured-piece-group>small{color:var(--muted);letter-spacing:normal;margin:0 0 1px -2px;font-family:Inter,Arial,sans-serif;font-size:9px;font-weight:800;line-height:1}.material-advantage{background:var(--sage);min-width:30px;color:var(--forest);text-align:center;border-radius:999px;padding:4px 7px;font-size:12px;line-height:1}.turn-dot{background:#c8c6bf;border-radius:50%;width:8px;height:8px;margin-left:8px}.board-frame{background:#283e35;border-radius:15px;padding:11px;position:relative;box-shadow:0 24px 60px #1f2f282e}.live-board-layout{min-width:0}.live-board-layout.has-evaluation{grid-template-columns:42px minmax(0,1fr);gap:10px;display:grid}.live-evaluation-bar{min-height:0}.game-history-navigation{grid-template-columns:38px minmax(62px,1fr) 38px;align-items:center;gap:6px;width:min(196px,52%);margin:7px auto 2px;display:grid}.game-history-navigation>span{color:var(--muted);text-align:center;font-size:11px;font-weight:700}.game-history-navigation .review-nav-button{height:32px;min-height:32px;font-size:16px}.status-line{border:1px solid var(--line);min-height:46px;color:var(--muted);background:#fffdf8b8;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:0 15px;font-size:13px;display:flex}.status-pulse{background:var(--amber);border-radius:50%;width:8px;height:8px}.status-line[data-phase=analyzing] .status-pulse,.status-line[data-phase=computer] .status-pulse{animation:pulse 1.25s ease-in-out infinite}.coach-column{gap:18px;min-width:0;display:grid}.coach-card,.history-card{background:var(--panel);box-shadow:var(--shadow);border:1px solid #2f51441f;border-radius:18px}.coach-card{flex-direction:column;min-height:460px;padding:clamp(22px,3vw,34px);display:flex;position:relative}.card-heading{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:22px}.coach-card.has-corner-verdict .card-heading{padding-right:116px}.eyebrow{color:var(--amber);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}.card-heading h1{letter-spacing:-.035em;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,3vw,34px);font-weight:500}.coach-corner-verdict{z-index:2;position:absolute;top:clamp(22px,3vw,34px);right:clamp(22px,3vw,34px)}.coach-guide-button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.coach-lifelines{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin-top:16px;padding:14px}@supports (color:color-mix(in lab,red,red)){.coach-lifelines{background:color-mix(in srgb,var(--panel) 78%,var(--accent) 22%)}}.coach-lifelines-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.coach-lifelines-heading strong{color:var(--ink);font-size:13px}.coach-lifelines-heading span{color:var(--muted);font-size:12px;font-weight:700}.coach-lifeline-buttons{grid-template-columns:repeat(3,minmax(54px,1fr));gap:9px;margin-top:10px;display:grid}.coach-lifeline-buttons button{border:1px solid var(--accent);min-height:48px}@supports (color:color-mix(in lab,red,red)){.coach-lifeline-buttons button{border:1px solid color-mix(in srgb,var(--accent) 60%,var(--line))}}.coach-lifeline-buttons button{background:var(--paper);color:var(--ink);cursor:pointer;border-radius:12px;font-size:24px;transition:transform .15s,border-color .15s,opacity .15s}.coach-lifeline-buttons button:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px)}.coach-lifeline-buttons button:disabled{cursor:not-allowed;opacity:.42}.coach-lifeline-buttons button.is-used{filter:grayscale();opacity:.28}.coach-lifeline-result{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.coach-lifeline-result>span,.coach-lifeline-status{color:var(--muted);font-size:12px;font-weight:700}.coach-lifeline-result ol{color:var(--ink);gap:5px;margin:8px 0 0;padding-left:24px;font-size:15px;font-weight:800;display:grid}.coach-lifeline-status{margin:10px 0 0}.coach-lifeline-status.is-error{color:var(--danger)}.lifeline-confirmation-card>span{color:var(--amber)}.coach-guide-button:hover{border-color:var(--accent);color:var(--accent)}.coach-game-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:auto;padding-top:20px;display:flex}.coach-game-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.coach-guide-footer{justify-content:flex-end;margin-top:10px;display:flex}.chess-guide-settings-button>span,.coach-guide-button>span{background:var(--accent);color:#07131f;border-radius:50%;place-items:center;width:19px;height:19px;font-weight:900;display:inline-grid}.verdict{background:var(--sage);color:var(--forest);border-radius:999px;flex:none;padding:7px 10px;font-size:11px;font-weight:800}.verdict-blunder,.verdict-mistake{color:var(--danger);background:#f4deda}.verdict-bad_move,.verdict-inaccuracy,.verdict-missed_mate,.verdict-slower_mate{background:var(--amber-soft);color:#86531f}.coach-empty,.coach-loading,.game-over-box{flex:1;justify-content:center;align-items:center;min-height:260px;display:flex}.coach-empty,.game-over-box{text-align:center;flex-direction:column}.empty-icon{background:var(--sage);width:54px;height:54px;color:var(--forest);border-radius:50%;place-items:center;font-size:24px;display:grid}.coach-empty h2,.game-over-box h2{margin:16px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.coach-empty p,.coach-loading p,.error-box p{color:var(--muted);margin:0;line-height:1.65}.coach-empty p{max-width:390px}.coach-loading{justify-content:flex-start;gap:18px}.coach-loading strong{margin-bottom:5px;font-family:Georgia,Times New Roman,serif;font-size:21px;display:block}.loader{border:3px solid var(--sage);border-top-color:var(--forest);border-radius:50%;flex:none;width:38px;height:38px;animation:spin .9s linear infinite}.coach-content{flex:1;padding-top:23px}.move-summary{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:10px;margin-bottom:18px;font-size:12px}.move-summary strong{color:var(--ink);text-transform:none;font-family:Georgia,Times New Roman,serif;font-size:22px}.move-summary small{color:var(--muted);letter-spacing:0;text-transform:none;margin-left:auto}.coach-content blockquote{color:#28342f;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(17px,2vw,22px);line-height:1.48}.coach-feedback{background:#0a162373;border:1px solid #7dabd133;border-radius:12px;margin-top:18px;padding:12px 14px}.coach-feedback>span{color:#b8c9d8;margin-bottom:9px;font-size:12px;font-weight:700;display:block}.coach-feedback>div{flex-wrap:wrap;gap:8px;display:flex}.coach-feedback button{color:#dceeff;font:inherit;cursor:pointer;background:#1e425e8c;border:1px solid #62acde59;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:750}.coach-feedback button.is-selected,.coach-feedback button:hover{color:#fff;background:#2d91cf52;border-color:#54b9f3}.coach-feedback small{color:#8fd7b5;margin-top:8px;font-size:11px;display:block}.legal-links{justify-content:center;gap:18px;margin:30px auto 4px;display:flex}.legal-links.is-compact{margin-top:18px}.legal-links button{color:#9fc5df;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:2px;font-size:12px;text-decoration:underline}.legal-overlay{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030a12d1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.legal-dialog{color:#eaf5ff;background:#122638;border:1px solid #79b4de4d;border-radius:20px;width:min(760px,100%);max-height:min(820px,92vh);padding:clamp(22px,4vw,38px);overflow:auto;box-shadow:0 28px 80px #00000073}.legal-dialog h1{color:#fff;margin:8px 0 4px;font-size:clamp(28px,5vw,44px)}.legal-dialog>small{color:#9cb3c6}.legal-document{gap:18px;margin:28px 0;display:grid}.legal-document h2{color:#fff;margin:0 0 6px;font-size:16px}.legal-document p{color:#c9d9e6;margin:0;font-size:13px;line-height:1.65}.lesson-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.lesson-grid>div{background:#f4f1e9;border-radius:12px;min-height:96px;padding:15px}.game-over-box>span,.lesson-grid span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.lesson-grid strong{font-size:13px;line-height:1.45}.decision-row{justify-content:flex-end;gap:10px;margin-top:24px}.error-box{background:#fff4f1;border:1px solid #e5c2bc;border-radius:12px;margin-top:24px;padding:18px}.error-box>strong{color:var(--danger);margin-bottom:6px;display:block}.game-over-box .primary-button{margin-top:18px}.game-over-actions{gap:10px;margin-top:20px;display:flex}.game-over-actions .primary-button{margin-top:0}.review-error{max-width:420px;color:var(--danger);margin-top:15px;font-size:13px}.review-error p{margin:0 0 7px}.review-error button{color:var(--danger);background:0 0;border:0;font-weight:800;text-decoration:underline}.history-card{padding:20px 22px}.history-heading{justify-content:space-between}.history-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.history-empty,.history-heading span{color:var(--muted);font-size:12px}.history-empty{margin:18px 0 2px}.move-list{max-height:190px;margin-top:15px;overflow:auto}.history-pgn-actions{align-items:center;gap:10px;margin-top:16px;display:flex}.history-pgn-actions .secondary-button{min-height:40px}.history-pgn-status{color:var(--muted);font-size:12px;font-weight:700}.history-pgn-status.is-error{color:var(--danger)}.move-row{border-top:1px solid #eee9df;grid-template-columns:34px 1fr 1fr;align-items:center;min-height:34px;font-size:13px;display:grid}.move-row span{color:var(--muted)}.level-announcement{z-index:60;pointer-events:none;background:#17221e1f;place-items:center;padding:20px;animation:level-overlay 1.8s both;display:grid;position:fixed;inset:0}.level-announcement-card{color:#fffdf8;text-align:center;background:#203a31f5;border:1px solid #ffffff80;border-radius:18px;min-width:min(330px,100vw - 40px);padding:26px 34px;animation:level-card 1.8s both;box-shadow:0 24px 70px #17221e47}.tactic-celebration{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 50% 35%,#f4e4ce52,#0000 28rem),#17221eb3;place-items:center;padding:20px;animation:tactic-overlay-in .22s both;display:grid;position:fixed;inset:0}.tactic-celebration-card{background:var(--panel);text-align:center;border:1px solid #ffffff80;border-radius:24px;flex-direction:column;align-items:center;width:min(480px,100vw - 40px);padding:34px;animation:tactic-card-in .36s cubic-bezier(.2,.85,.25,1.15) both;display:flex;box-shadow:0 32px 90px #0e1b1659}.tactic-celebration-icon{background:var(--forest);color:#fffdf8;border-radius:22px;place-items:center;width:72px;height:72px;margin-bottom:18px;font-size:42px;display:grid;box-shadow:0 14px 28px #2f514440}.tactic-celebration-card h2{letter-spacing:-.035em;margin:10px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,5vw,38px);font-weight:500}.tactic-celebration-card p{color:var(--muted);margin:0;font-size:16px;line-height:1.55}.tactic-celebration-card>strong{color:var(--forest);margin-top:13px;font-size:14px}.tactic-celebration-card .primary-button{min-width:150px;margin-top:24px}.opening-mastery-celebration{animation:tactic-overlay-in .22s both,opening-mastery-fade 5s both}.opening-mastery-star{color:#fff9dc;background:linear-gradient(145deg,#ffd76a,#f09b24);border-radius:50%;animation:opening-mastery-star 1s cubic-bezier(.2,.85,.25,1.15) infinite alternate;box-shadow:0 0 0 10px #ffca491f,0 18px 42px #f09b245c}@keyframes tactic-overlay-in{0%{opacity:0}}@keyframes tactic-card-in{0%{opacity:0;transform:translateY(18px)scale(.94)}}@keyframes opening-mastery-star{0%{filter:brightness(.96);transform:scale(.88)rotate(-8deg)}to{filter:brightness(1.16);transform:scale(1.14)rotate(8deg)}}@keyframes opening-mastery-fade{0%,92%{opacity:1}to{opacity:0}}.level-announcement-card small,.level-announcement-card span{display:block}.level-announcement-card span{color:#e8c9a5;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}.level-announcement-card strong{margin:8px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500;display:block}.level-announcement-card small{color:#fffdf8c7;font-size:13px}.opening-offer{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#17221e6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.opening-offer-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;width:min(540px,100vw - 40px);padding:30px;box-shadow:0 28px 80px #17221e4d}.opening-offer-card>span{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}.opening-offer-card h2{margin:9px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:500}.opening-offer-card p{color:var(--muted);margin:0;font-size:16px;line-height:1.6}.opening-offer-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.promotion-dialog-card{max-width:34rem}.promotion-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.promotion-options button{min-height:7rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:.8rem;place-items:center;gap:.35rem;padding:.75rem;display:grid}.promotion-options button:focus-visible,.promotion-options button:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.promotion-options button:focus-visible,.promotion-options button:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}}.promotion-options button>span{font-size:3rem;line-height:1}.promotion-options button>small{font-weight:700}.save-before-leaving-actions{flex-wrap:wrap}.resign-confirmation-card>span{color:var(--danger)}.review-grid{grid-template-columns:minmax(500px,760px) minmax(350px,1fr);align-items:start;gap:clamp(24px,4vw,54px);width:min(1420px,100%);margin:0 auto;padding:clamp(24px,3vw,44px);display:grid}.review-board-column,.review-sidebar{min-width:0}.review-heading{justify-content:flex-start;align-items:flex-end;gap:18px;min-height:62px;margin-bottom:16px;display:flex}.review-heading h1{letter-spacing:-.035em;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3vw,38px);font-weight:500}.review-board-layout{grid-template-columns:42px minmax(0,1fr);gap:10px;display:grid}.review-board-frame{min-width:0}.review-board-overlay{z-index:5;pointer-events:none;position:absolute;inset:11px}.board-move-mark{background:var(--forest);color:#fff;border:2px solid #fffdf8;border-radius:50%;place-items:center;width:27px;height:27px;font-size:12px;font-weight:900;display:grid;position:absolute;transform:translate(-100%);box-shadow:0 3px 9px #17221e52}.board-move-mark.mark-bad_move,.board-move-mark.mark-inaccuracy,.board-move-mark.mark-missed_mate,.board-move-mark.mark-slower_mate{color:#fff;background:#b8772d}.board-move-mark.mark-blunder,.board-move-mark.mark-mistake{background:var(--danger);color:#fff}.evaluation-bar{background:#222;border:3px solid #283e35;border-radius:10px;flex-direction:column;min-height:360px;display:flex;overflow:hidden;box-shadow:0 14px 30px #1f2f2824}.evaluation-black,.evaluation-white{flex:none;transition:height .24s;position:relative}.evaluation-black{color:#fff;background:#202622}.evaluation-white{color:#18221e;background:#f7f4ed}.evaluation-black strong,.evaluation-white strong{letter-spacing:-.02em;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.evaluation-black strong{top:7px}.evaluation-white strong{bottom:7px}.review-navigation{grid-template-columns:42px 52px minmax(72px,1fr) 52px 42px;align-items:center;gap:7px;margin:14px 0 0 52px;display:grid}.review-navigation>span{color:var(--muted);text-align:center;font-size:13px;font-weight:700}.review-nav-button{border:1px solid var(--line);background:var(--panel);height:42px;color:var(--ink);border-radius:9px;font-size:20px}.review-nav-button:hover:not(:disabled){border-color:var(--forest);color:var(--forest)}.review-nav-button:disabled{cursor:not-allowed;opacity:.38}.review-sidebar{gap:16px;padding-top:78px;display:grid}.review-moves-card,.review-quality-card,.review-result-card,.review-skills-card,.review-summary-card{background:var(--panel);box-shadow:var(--shadow);border:1px solid #2f51441f;border-radius:18px}.review-summary-card{min-height:245px;padding:26px}.review-summary-card h2{margin:16px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:500}.review-opponent-note,.review-summary-card>p{color:var(--muted);font-size:13px;line-height:1.55}.review-move-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-facts{grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0 0;display:grid}.review-facts>div{background:#f4f1e9;border-radius:11px;min-width:0;padding:13px}.review-facts dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800}.review-facts dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;overflow:hidden}.review-start-evaluation{color:var(--forest);margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:26px;display:inline-block}.review-moves-card,.review-quality-card,.review-skills-card{padding:20px 22px}.review-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.quality-count{background:#f4f1e9;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;min-width:0;min-height:84px;padding:10px;display:grid}.quality-count>span{background:var(--forest);color:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:25px;height:25px;font-size:10px;font-weight:900;display:grid}.quality-count>strong{align-self:end;font-family:Georgia,Times New Roman,serif;font-size:20px;line-height:1}.quality-count>small{color:var(--muted);overflow-wrap:anywhere;align-self:start;font-size:9px;font-weight:700;line-height:1.2}.quality-brilliant>span{background:#6f4b91}.quality-best_move>span,.quality-excellent_move>span,.quality-great_move>span{background:#347360}.quality-bad_move>span,.quality-inaccuracy>span{background:#b8772d}.quality-blunder>span,.quality-mistake>span{background:var(--danger)}.review-skills-card>p{color:var(--muted);margin:9px 0 15px;font-size:12px;line-height:1.45}.review-skill-list{gap:8px;display:grid}.review-skill-row{color:#eaf5ff;background:#0a16239e;border:1px solid #7dabd129;border-radius:10px;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:10px;min-height:52px;padding:0 12px 0 15px;font-size:13px;display:grid}.review-skill-row>span:first-child{color:#eaf5ff;overflow-wrap:anywhere;min-width:0;font-weight:750}.review-skill-row>strong{color:#fff;white-space:nowrap;background:#3e97d329;border-radius:7px;padding:5px 8px;font-size:13px}.skill-trend{color:#a9b9c9;background:#80a9cc24;border-radius:50%;place-items:center;width:25px;height:25px;font-size:17px;font-weight:900;display:grid}.skill-trend.trend-up{color:#63dda5;background:#2db67b33}.skill-trend.trend-down{color:#ff7f86;background:#ef5b6330}.skill-trend.trend-new,.skill-trend.trend-unavailable{color:#71869a;background:#80a9cc14}.review-move-list{max-height:330px;margin-top:14px;overflow-y:auto}.review-move-row{border-top:1px solid #eee9df;grid-template-columns:34px 1fr 1fr;align-items:stretch;min-height:42px;display:grid}.review-move-row>span{color:var(--muted);padding-top:13px;font-size:12px}.review-move-row button{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.review-move-row button.is-active,.review-move-row button:hover:not(:disabled){background:var(--sage)}.review-move-row button:disabled{cursor:default}.move-mark{color:var(--forest);font-weight:900}.mark-bad_move,.mark-inaccuracy,.mark-missed_mate,.mark-slower_mate{color:#9a671f}.mark-blunder,.mark-mistake{color:var(--danger)}.review-result-card{flex-direction:column;align-items:stretch;gap:12px;padding:20px 22px;display:flex}.review-result-card>span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800}.review-result-card>strong{font-family:Georgia,Times New Roman,serif;font-size:19px;line-height:1.35}.mode-hub,.profile-page,.saved-games-page{width:min(1180px,100% - 40px);margin:0 auto;padding:clamp(38px,6vw,74px) 0 80px}.mode-hub-home{padding-top:18px}.assessment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.assessment-choice{text-align:left}.assessment-elo-choice{cursor:default}.assessment-elo-control{color:var(--muted);gap:.45rem;margin-top:.35rem;font-size:.82rem;font-weight:700;display:grid}.assessment-elo-control input{border:1px solid var(--line);background:var(--panel-strong);width:100%;min-height:46px;color:var(--ink);font:inherit;border-radius:10px;padding:.7rem .85rem;font-size:1rem}.assessment-result{background:#0ea5e91a;border:1px solid #38bdf859;border-radius:12px;gap:.35rem;padding:1rem;display:grid}.assessment-result strong{color:var(--ink);font-size:1.15rem}@media (max-width:700px){.assessment-choice-grid{grid-template-columns:1fr}}.saved-games-heading{max-width:760px;margin:28px 0 30px}.saved-games-heading h1{margin:8px 0 12px;font-size:clamp(34px,5vw,54px);line-height:1.05}.saved-game-main p,.saved-games-heading p{color:var(--muted);margin:0}.saved-games-empty{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:18px;padding:32px}.saved-games-empty p{margin-top:0}.saved-games-list{gap:12px;display:grid}.saved-games-inline-error{color:var(--danger)}.saved-game-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:minmax(190px,1.2fr) minmax(340px,2fr) auto;align-items:center;gap:24px;padding:20px 22px;display:grid;box-shadow:0 8px 24px #00000014}.saved-game-main h2{margin:7px 0 5px;font-size:20px}.saved-game-status{background:var(--sage);color:var(--forest);text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.saved-game-status.status-abandoned,.saved-game-status.status-resigned{color:var(--danger);background:#be433926}.saved-game-facts{grid-template-columns:repeat(4,minmax(70px,1fr));gap:10px;margin:0;display:grid}.saved-game-facts div{background:var(--amber-soft);border-radius:10px;padding:9px 11px}.saved-game-facts dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.saved-game-facts dd{margin:4px 0 0;font-weight:800}@media (max-width:850px){.saved-game-card{grid-template-columns:1fr}.saved-game-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.mode-hero,.profile-hero{max-width:760px;margin-bottom:34px}.appearance-settings-card h1,.free-setup-card h1,.mode-hero h1,.profile-hero h1{letter-spacing:-.035em;margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,5vw,54px);font-weight:500}.free-setup-card>p,.mode-hero p,.profile-hero p,.profile-section-heading p{color:var(--muted);margin:0;font-size:16px;line-height:1.65}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.mode-card{border:1px solid var(--line);min-height:235px;color:var(--ink);text-align:left;background:#fffdf8e6;border-radius:18px;flex-direction:column;align-items:flex-start;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;box-shadow:0 10px 30px #25312b0b}.mode-card:hover{box-shadow:var(--shadow);border-color:#2f51446b;transform:translateY(-3px)}.mode-card-topline{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.mode-card-icon{background:var(--sage);width:48px;height:48px;color:var(--forest-dark);border-radius:14px;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:28px;display:grid}.mode-card-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:36px;height:36px}.mode-card-icon svg .mode-icon-fill{fill:currentColor;stroke:none;opacity:.42}.mode-card-icon svg .mode-chart-line-primary{stroke:#fff}.mode-card-icon svg .mode-chart-line-secondary{stroke:#8fd8ff}.mode-icon-punctuation{letter-spacing:-.1em;font-size:25px;font-weight:1000;line-height:1}.mode-status{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.mode-status.available{background:var(--sage);color:var(--forest)}.mode-card>strong{margin-top:22px;font-family:Georgia,Times New Roman,serif;font-size:23px}.mode-card>span:nth-of-type(2){color:var(--muted);margin-top:9px;font-size:14px;line-height:1.5}.mode-card>small{color:var(--forest);margin-top:auto;padding-top:18px;font-weight:800}.mode-setup-page{min-height:calc(100vh - 77px)}.mode-back-button,.profile-back{margin-bottom:24px}.compact-back-button,.mode-back-button,.opening-back-button,.profile-back{border-radius:8px;min-height:34px;padding:0 12px;font-size:.82rem}.game-mode-setup-page .mode-back-button{margin-left:max(0px,50% - 340px)}.settings-mode-setup-page .mode-back-button{margin-left:max(0px,50% - 490px)}.free-setup-card{width:min(680px,100%);padding:clamp(28px,5vw,52px)}.appearance-settings-card,.free-setup-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:22px;margin:20px auto 0}.appearance-settings-card{width:min(980px,100%);padding:clamp(28px,5vw,48px)}.appearance-settings-card>.eyebrow{vertical-align:top;margin:22px 0 0;display:inline-block}.appearance-settings-card>p{max-width:720px;color:var(--muted);margin:0;font-size:16px;line-height:1.65}.settings-leaderboard-card{border:1px solid #ffbf41;width:100%;margin:22px 0 8px;padding:18px 20px}@supports (color:color-mix(in lab,red,red)){.settings-leaderboard-card{border:1px solid color-mix(in srgb,#ffbf41 62%,var(--line))}}.settings-leaderboard-card{background:linear-gradient(135deg,#ffbf41,var(--panel));border-radius:14px}@supports (color:color-mix(in lab,red,red)){.settings-leaderboard-card{background:linear-gradient(135deg,color-mix(in srgb,#ffbf41 16%,var(--panel)),var(--panel))}}.settings-leaderboard-card{color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 14px;display:grid}.settings-leaderboard-card>span{grid-row:1/3;font-size:2rem}.settings-leaderboard-card>strong{font-size:1.05rem}.settings-leaderboard-card>small{color:var(--muted);line-height:1.45}.settings-leaderboard-card>b{color:var(--amber);grid-area:1/3/3;font-size:1.3rem}.settings-leaderboard-card:focus-visible,.settings-leaderboard-card:hover{border-color:#ffbf41;transform:translateY(-1px);box-shadow:0 10px 28px #ffbf4124}.online-page{width:min(1180px,100% - 40px);margin:0 auto;padding:38px 0 72px}.online-hero{border:1px solid var(--line);background:linear-gradient(140deg,var(--brand),var(--panel));border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 28px;padding:28px 30px;display:flex}@supports (color:color-mix(in lab,red,red)){.online-hero{background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 18%,var(--panel)),var(--panel))}}.online-hero h1{margin:5px 0 8px;font-size:clamp(2rem,5vw,3.4rem)}.online-hero p{max-width:680px;color:var(--muted);margin:0}.online-hero>button{min-width:150px}.online-wizard{border:1px solid var(--brand);background:var(--panel);border-radius:18px;grid-template-columns:1fr 1fr auto;align-items:end;gap:18px;margin-bottom:28px;padding:22px;display:grid}.online-wizard fieldset{border:0;gap:8px;min-width:0;padding:0;display:flex}.online-wizard legend{width:100%;margin-bottom:10px;font-weight:800}.online-wizard fieldset button{border:1px solid var(--line);background:var(--panel-soft);min-height:48px;color:var(--ink);border-radius:10px;flex:1}.online-wizard fieldset button.is-selected{border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.online-wizard fieldset button.is-selected{background:color-mix(in srgb,var(--brand) 18%,var(--panel))}}.online-wizard>div{gap:8px;display:flex}.online-wizard-error{grid-column:1/-1;margin:0}.online-section{margin-top:30px}.online-section>h2{margin:0 0 14px}.online-empty,.online-empty-row{border:1px dashed var(--line);color:var(--muted);background:var(--panel);border-radius:16px;padding:28px}.online-active-strip{scroll-snap-type:x proximity;grid-auto-columns:minmax(180px,calc(20% - 12.8px));grid-auto-flow:column;gap:16px;padding:2px 2px 14px;display:grid;overflow-x:auto}.online-game-card{scroll-snap-align:start;border:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;gap:6px;padding:12px;display:grid}.online-game-card.has-result{border-color:#45d483;box-shadow:0 0 0 2px #45d48324}.online-game-card>small,.online-game-card>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.online-game-card>.online-card-clock{color:var(--ink);font-variant-numeric:tabular-nums}.online-mini-board{aspect-ratio:1;border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;overflow:hidden;container-type:inline-size}.online-mini-board span{aspect-ratio:1;color:#101820;background:#dce8f4;place-items:center;min-width:0;font-size:clamp(.9rem,11cqi,1.75rem);line-height:1;display:grid}.online-mini-board span:nth-child(16n+11),.online-mini-board span:nth-child(16n+13),.online-mini-board span:nth-child(16n+15),.online-mini-board span:nth-child(16n+2),.online-mini-board span:nth-child(16n+4),.online-mini-board span:nth-child(16n+6),.online-mini-board span:nth-child(16n+8),.online-mini-board span:nth-child(16n+9){background:#3d78a8}.online-history-list{gap:9px;display:grid}.online-history-list article{border:1px solid var(--line);background:var(--panel);border-radius:12px;grid-template-columns:minmax(190px,1fr) auto minmax(130px,auto) auto;align-items:center;gap:18px;padding:14px 16px;display:grid}.online-history-list article>div{gap:3px;display:grid}.online-history-list article span{color:var(--muted);font-size:.88rem}.online-history-list article button{border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);border-radius:8px;padding:8px 12px}.online-load-more{margin-top:14px}.online-game-page{grid-template-columns:minmax(0,720px) minmax(300px,1fr);align-items:start;gap:28px;width:min(1180px,100% - 36px);margin:0 auto;padding:34px 0 70px;display:grid}.online-game-page>.mode-back-button{grid-column:1/-1}.online-game-board{min-width:0}.online-player-strip{justify-content:space-between;align-items:center;min-height:46px;padding:8px 4px;display:flex}.online-player-strip span{color:var(--muted)}.online-player-identity{align-items:center;gap:8px;min-width:0;display:flex}.online-player-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.online-player-identity .turn-dot{flex:none;margin-left:0}.online-player-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;margin-left:12px;font-size:.9rem;display:flex}.online-player-meta time{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.online-game-panel{border:1px solid var(--line);background:var(--panel);border-radius:18px;gap:18px;margin-top:46px;padding:24px;display:grid;position:sticky;top:92px}.online-game-panel h1{margin:-8px 0 0}.online-deadline,.online-result-summary,.online-suggestions{background:var(--panel-soft);border-radius:12px;gap:5px;padding:14px;display:grid}.online-deadline span,.online-result-summary span,.online-suggestions span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.online-deadline strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.online-search-message{border-left:3px solid var(--amber);background:var(--amber);padding:12px}@supports (color:color-mix(in lab,red,red)){.online-search-message{background:color-mix(in srgb,var(--amber) 10%,transparent)}}.online-coach-comment{gap:10px;display:grid}.online-coach-comment>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.online-coach-comment blockquote{border-left:3px solid var(--brand);background:var(--panel-soft);margin:0;padding:14px;line-height:1.55}.online-actions,.online-coach-comment>div,.online-draw-offer{flex-wrap:wrap;gap:8px;display:flex}.online-actions button,.online-draw-offer button{border:1px solid var(--line);background:var(--panel-soft);min-height:40px;color:var(--ink);border-radius:9px;padding:8px 12px}.online-actions button:disabled{opacity:.5}.online-error{color:#fca5a5;background:#7f1d1d2e;border:1px solid #f87171;border-radius:10px;padding:12px 14px}@media (min-width:901px){.board-column{justify-self:end;width:min(100%,max(320px,100dvh - 300px))}.coach-column{margin-top:60px}.opening-board-column,.tactics-exercise-board-column{justify-self:end;width:min(100%,max(380px,100dvh - 190px))}.online-game-board{justify-self:end;width:min(100%,max(300px,100dvh - 290px))}}@media (max-width:850px){.online-wizard{grid-template-columns:1fr}.online-active-strip{grid-auto-columns:minmax(170px,44vw)}.online-game-page{grid-template-columns:1fr}.online-game-panel{margin-top:0;position:static}}@media (max-width:600px){.online-game-page,.online-page{width:min(100% - 22px,1180px);padding-top:20px}.online-hero{align-items:stretch;padding:20px}.online-hero,.online-wizard fieldset{flex-direction:column}.online-history-list article{grid-template-columns:1fr auto}.online-history-list article>span{grid-column:1}.online-active-strip{grid-auto-columns:minmax(155px,68vw)}}.leaderboard-page{width:min(1120px,100% - 40px);margin:0 auto;padding:44px 0 76px}.leaderboard-back{margin-bottom:24px}.leaderboard-heading{align-items:center;gap:20px;margin-bottom:28px;display:flex}.leaderboard-heading h1{margin:6px 0 8px;font-size:clamp(2rem,5vw,3.4rem)}.leaderboard-heading p{color:var(--muted);margin:0}.leaderboard-trophy{background:#ffbf41;border-radius:18px;flex:none;width:72px;height:72px}@supports (color:color-mix(in lab,red,red)){.leaderboard-trophy{background:color-mix(in srgb,#ffbf41 18%,var(--panel))}}.leaderboard-trophy{place-items:center;font-size:2.5rem;display:grid}.leaderboard-periods{border:1px solid var(--line);background:var(--panel);border-radius:11px;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;display:flex}.leaderboard-categories button,.leaderboard-periods button{color:var(--muted);cursor:pointer;background:0 0;border:0}.leaderboard-periods button{border-radius:8px;padding:9px 18px;font-weight:800}.leaderboard-periods button.is-selected{background:var(--accent);color:#07131f}.leaderboard-layout{grid-template-columns:minmax(210px,280px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.leaderboard-categories{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:4px;padding:9px;display:grid}.leaderboard-categories button{text-align:left;border-radius:9px;padding:11px 13px;font-weight:750}.leaderboard-categories button.is-selected{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.leaderboard-categories button.is-selected{background:color-mix(in srgb,var(--accent) 18%,transparent)}}.leaderboard-categories button.is-selected{color:var(--ink)}.leaderboard-card{border:1px solid var(--line);background:var(--panel);min-height:470px;box-shadow:var(--shadow);border-radius:16px;padding:24px}.leaderboard-card h2{margin:0 0 18px}.leaderboard-state{min-height:310px;color:var(--muted);text-align:center;place-items:center;margin:0;display:grid}.leaderboard-state .secondary-button{margin-top:12px}.leaderboard-table{gap:7px;display:grid}.leaderboard-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:105px minmax(0,1fr) 90px;align-items:center;gap:12px;min-height:50px;padding:9px 14px;display:grid}.leaderboard-row>:last-child{text-align:right;font-weight:900}.leaderboard-table-heading{min-height:36px;color:var(--muted);text-transform:uppercase;border:0;font-size:.75rem;font-weight:800}.leaderboard-rank{align-items:center;gap:9px;display:flex}.leaderboard-rank b{min-width:20px;font-size:1.05rem}.leaderboard-rank i{font-size:1.25rem;font-style:normal}.leaderboard-row.is-podium{border-color:#ffbf41}@supports (color:color-mix(in lab,red,red)){.leaderboard-row.is-podium{border-color:color-mix(in srgb,#ffbf41 46%,var(--line))}}.leaderboard-row.is-podium{background:#ffbf4112}@media (max-width:760px){.leaderboard-page{width:min(100% - 20px,1120px);padding-top:24px}.leaderboard-heading{align-items:flex-start}.leaderboard-trophy{border-radius:13px;width:54px;height:54px;font-size:1.9rem}.leaderboard-layout{grid-template-columns:1fr}.leaderboard-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.leaderboard-card{min-height:420px;padding:14px}.leaderboard-row{grid-template-columns:76px minmax(0,1fr) 68px;padding-inline:9px}}@media (max-width:430px){.leaderboard-periods{width:100%}.leaderboard-periods button{flex:1;padding-inline:8px}.leaderboard-categories{grid-template-columns:1fr}.settings-leaderboard-card{padding-inline:14px}}.appearance-fieldset{border:0;min-width:0;margin:34px 0 0;padding:0}.appearance-fieldset legend{color:var(--ink);margin-bottom:14px;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:700}.settings-field-description{max-width:720px;color:var(--muted);margin:-5px 0 14px;font-size:14px;line-height:1.55}.chess-guide-settings-button{align-items:center;gap:9px;display:inline-flex}.chess-guide-overlay{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020912db;place-items:center;padding:clamp(12px,3vw,36px);display:grid;position:fixed;inset:0}.chess-guide-panel{width:min(1120px,100%);max-height:calc(100vh - clamp(24px,6vw,72px));color:var(--ink);background:linear-gradient(155deg,#1d3045,#101c2b);border:1px solid #73bcea47;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 90px #00060fa6}.chess-guide-header{border-bottom:1px solid #88abcc33;flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px clamp(20px,4vw,38px) 18px;display:flex}.chess-guide-header h1{color:#fff;margin:5px 0 0;font-size:clamp(25px,4vw,38px);line-height:1.1}.chess-guide-close{color:#eaf5ff;cursor:pointer;background:#0a16238c;border:1px solid #88abcc4d;border-radius:11px;flex:none;width:40px;height:40px;font-size:28px;line-height:1}.chess-guide-tabs{border-bottom:1px solid #88abcc33;flex:none;gap:8px;padding:12px clamp(20px,4vw,38px);display:flex;overflow-x:auto}.chess-guide-tabs button{min-height:38px;color:var(--muted);white-space:nowrap;cursor:pointer;background:#0a16236b;border:1px solid #88abcc3d;border-radius:9px;flex:none;padding:9px 13px;font-weight:800}.chess-guide-tabs button.is-selected{color:#fff;background:#4cbbff29;border-color:#4cbbff}.chess-guide-content{overscroll-behavior:contain;flex:auto;min-height:0;padding:24px clamp(20px,4vw,38px) 38px;overflow-y:auto}.chess-guide-introduction{max-width:820px;margin-bottom:28px}.chess-guide-introduction h2{color:#fff;margin:0 0 8px;font-size:clamp(23px,3vw,31px)}.chess-guide-definitions dd,.chess-guide-introduction p{color:var(--muted);line-height:1.58}.chess-guide-introduction p{margin:0}.chess-guide-group+.chess-guide-group{margin-top:30px}.chess-guide-group h3{color:#eaf5ff;margin:0 0 13px;font-size:18px}.chess-guide-definitions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.chess-guide-definitions>div{background:#0a16238c;border:1px solid #7dabd126;border-radius:11px;min-width:0;padding:15px 16px}.chess-guide-definitions dt{color:#fff;font-weight:850}.chess-guide-definitions dd{margin:6px 0 0;font-size:14px}.chess-guide-definitions code{color:#8fd7ff;background:#4cbbff1f;border-radius:6px;margin-top:9px;padding:4px 7px;font-size:12px;display:inline-block}@media (max-width:680px){.coach-guide-button{padding-inline:8px}.coach-guide-button>span{display:none}.chess-guide-overlay{padding:0}.chess-guide-panel{border:0;border-radius:0;width:100%;height:100%;max-height:none}.chess-guide-header{padding-top:max(18px,env(safe-area-inset-top))}.chess-guide-definitions{grid-template-columns:1fr}}.coach-timing-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.coach-timing-option{border:1px solid var(--line);color:#17221e;text-align:left;opacity:.76;background:#faf8f2;border-radius:14px;grid-template-columns:auto 1fr;gap:5px 12px;min-width:0;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s,opacity .15s;display:grid}.coach-timing-option:hover{border-color:#2f514473;transform:translateY(-2px)}.coach-timing-option.is-selected{border-color:var(--forest);opacity:1;background:#f5f8f4;box-shadow:inset 0 0 0 2px #2f514429}.coach-timing-option>span{background:var(--forest);color:#fff;border-radius:10px;grid-row:1/span 2;place-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:grid}.coach-timing-option strong{color:#1680d3;font-size:15px;line-height:1.25}.coach-timing-option small{color:#61716c;font-size:12px;line-height:1.45}.coach-timing-option em{color:#1680d3;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-style:normal;font-weight:800}.evaluation-bar-setting-option{width:min(100%,480px)}.appearance-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.appearance-option{border:1px solid var(--line);min-width:0;min-height:126px;color:var(--ink);text-align:left;background:#faf8f2;border-radius:14px;flex-direction:column;align-items:stretch;gap:9px;padding:11px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.appearance-option:hover{border-color:#2f514473;transform:translateY(-2px)}.appearance-option.is-selected{border-color:var(--forest);background:#f5f8f4;box-shadow:inset 0 0 0 2px #2f514429}.appearance-option strong{font-size:13px}.appearance-option small{color:var(--forest);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.problem-report-fieldset{border-top:1px solid var(--line);padding-top:28px}.problem-report-form{gap:18px;max-width:720px;display:grid}.problem-report-attachment,.problem-report-description{color:var(--ink);gap:8px;font-size:14px;font-weight:800;display:grid}.problem-report-description textarea{resize:vertical;border:1px solid var(--line);color:#111;caret-color:#111;width:100%;min-height:150px;font:inherit;background:#faf8f2;border-radius:12px;padding:14px 15px;font-weight:500;line-height:1.55}.problem-report-description textarea::placeholder{color:#656565;opacity:1}.problem-report-attachment input:focus-visible,.problem-report-description textarea:focus{outline-offset:2px;border-color:var(--forest);outline:3px solid #2f51442e}.problem-report-description>small{color:var(--muted);justify-self:end;font-size:11px;font-weight:600}.problem-report-attachment>span small{color:var(--muted);font-weight:500}.problem-report-attachment input{width:100%;color:var(--muted);background:#faf8f2;border:1px dashed #2f514466;border-radius:12px;padding:12px}.problem-report-attachment>small{color:var(--muted);font-size:11px;font-weight:600}.problem-report-selected-file{background:var(--sage);color:var(--forest-dark);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:13px;font-weight:700;display:flex}.problem-report-selected-file span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.problem-report-selected-file button{color:var(--forest-dark);cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.problem-report-actions{align-items:center;gap:16px;display:flex}.problem-report-message{margin:0;font-size:13px;font-weight:700;line-height:1.45}.problem-report-message.is-success{color:var(--forest)}.problem-report-message.is-error{color:var(--danger)}.board-theme-preview{aspect-ratio:2;border:1px solid #17221e29;border-radius:9px;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden;box-shadow:0 6px 14px #25312b1f}.board-theme-preview i{display:block}.piece-theme-preview{background:linear-gradient(135deg,#e9dfc9 0 50%,#597568 50% 100%);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;height:68px;padding:3px 9px;display:grid;box-shadow:inset 0 0 0 1px #17221e21}.piece-theme-preview svg{width:54px;max-width:100%;height:54px}.free-setup-card>.eyebrow,.placeholder-mode-card>.mode-status{margin-top:22px;display:inline-block}.free-level-control{color:var(--muted);background:#f3f0e9;border-radius:14px;grid-template-columns:1fr auto;gap:14px;margin-top:34px;padding:20px;display:grid}.free-level-number{border:1px solid var(--line);width:76px;color:var(--ink);text-align:center;background:#fff;border-radius:9px;padding:7px 9px;font-size:18px;font-weight:800}.free-level-slider{width:100%;accent-color:var(--forest);grid-column:1/-1}.free-level-summary{color:var(--muted);justify-content:space-between;margin:15px 0 22px;display:flex}.free-level-summary strong{color:var(--ink)}.game-color-fieldset{border:0;min-width:0;margin:26px 0 22px;padding:0}.game-color-fieldset legend{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700}.game-color-fieldset>p{color:var(--muted);margin:7px 0 14px;font-size:14px;line-height:1.5}.game-color-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.game-color-option{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#faf8f2;border-radius:14px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:2px 11px;padding:16px;display:grid}.game-color-option.is-selected,.game-color-option:hover{border-color:var(--forest);background:#f5f8f4}.game-color-option.is-selected{box-shadow:inset 0 0 0 2px #2f514429}.game-color-option>span{text-align:center;grid-row:1/3;font-family:Arial Unicode MS,Segoe UI Symbol,sans-serif;font-size:38px;line-height:1}.game-color-option>strong{font-size:14px}.game-color-option>small{color:var(--muted);font-size:11px;line-height:1.35}.mode-primary-action{width:100%}.profile-overview{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.profile-account{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.profile-account>div{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:18px 22px;display:flex}.profile-account span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.profile-account strong{overflow-wrap:anywhere;font-size:17px}.profile-account-settings{margin-top:0;margin-bottom:18px}.profile-account-forms{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.profile-account-forms form{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}@supports (color:color-mix(in lab,red,red)){.profile-account-forms form{background:color-mix(in srgb,var(--panel) 78%,var(--page))}}.profile-account-forms h3{margin:0 0 2px;font-size:18px}.profile-account-forms label{flex-direction:column;gap:7px;display:flex}.profile-account-forms label span{color:var(--muted);font-size:12px;font-weight:800}.profile-account-forms input{width:100%}.profile-account-forms small{min-height:34px;color:var(--muted);line-height:1.45}.profile-account-forms .secondary-button{width:100%;margin-top:auto}.profile-account-message{border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:12px 15px;font-weight:750}.profile-account-message.is-success{color:var(--success,#4caf6d);background:#4caf6d1a;border-color:#4caf6d80}.profile-account-message.is-error{color:var(--danger,#e55b5b);background:#e55b5b1a;border-color:#e55b5b80}.profile-account-deletion{border-color:var(--danger);margin-bottom:20px}@supports (color:color-mix(in lab,red,red)){.profile-account-deletion{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}}.profile-account-deletion{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.profile-account-deletion{background:color-mix(in srgb,var(--danger) 7%,var(--panel))}}.profile-account-deletion .danger-button{width:fit-content}.account-deletion-dialog{border:1px solid var(--danger);width:min(560px,100%);max-height:calc(100vh - 56px);padding:clamp(22px,5vw,36px)}@supports (color:color-mix(in lab,red,red)){.account-deletion-dialog{border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line))}}.account-deletion-dialog{background:var(--panel);border-radius:22px;overflow-y:auto;box-shadow:0 28px 80px #101b164d}.account-deletion-dialog h2{margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,5vw,36px);font-weight:500}.account-deletion-warning{border:1px solid var(--danger);margin:0 0 22px;padding:14px 16px}@supports (color:color-mix(in lab,red,red)){.account-deletion-warning{border:1px solid color-mix(in srgb,var(--danger) 45%,transparent)}}.account-deletion-warning{background:var(--danger);border-radius:12px}@supports (color:color-mix(in lab,red,red)){.account-deletion-warning{background:color-mix(in srgb,var(--danger) 10%,transparent)}}.account-deletion-warning{color:var(--danger);font-weight:750;line-height:1.55}.account-deletion-dialog form,.account-deletion-dialog label{flex-direction:column;gap:8px;display:flex}.account-deletion-dialog label span{color:var(--muted);font-size:12px;font-weight:800}.account-deletion-dialog input{width:100%}.account-deletion-dialog .profile-account-message{margin:8px 0 0}.account-deletion-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.solution-penalty-notice{color:var(--danger,#e55b5b);text-align:center;margin:-4px 0 0;font-size:13px;font-weight:800}.profile-overview article,.profile-section,.profile-skill-card,.profile-tactic-card{border:1px solid var(--line);background:var(--panel)}.profile-overview article{border-radius:16px;flex-direction:column;justify-content:space-between;min-height:120px;padding:22px;display:flex}.profile-overview span,.profile-skill-card span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.profile-overview strong{font-family:Georgia,Times New Roman,serif;font-size:34px}.profile-section{border-radius:20px;margin-top:18px;padding:clamp(22px,4vw,36px);box-shadow:0 12px 34px #25312b0b}.profile-section-heading{max-width:780px;margin-bottom:22px}.profile-section-heading h2{margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:28px}.profile-skill-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.profile-skill-card{border-radius:13px;flex-direction:column;justify-content:space-between;min-height:115px;padding:17px;display:flex}.profile-skill-card strong{color:var(--forest);font-size:24px}.profile-tactics-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.profile-tactic-card{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:82px;padding:15px 17px;display:flex}.profile-tactic-card div{flex-direction:column;gap:7px;display:flex}.profile-tactic-card div>span{color:var(--muted);font-size:12px}.profile-error-card{align-items:flex-start}.profile-error-card div{width:100%}.profile-error-card .profile-error-severity{line-height:1.55}.profile-tactic-count-button{color:var(--forest);font-size:inherit;background:0 0;border:0;border-bottom:1px solid;padding:0;font-weight:900}.profile-tactic-count-button:disabled{color:var(--muted);cursor:default;border-bottom-color:#0000;font-weight:400}.profile-tactic-card>b{background:var(--sage);min-width:58px;color:var(--forest-dark);text-align:center;border-radius:10px;padding:9px}.tactic-position-overlay{z-index:80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#17221e94;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.tactic-position-dialog{background:var(--panel);border-radius:22px;width:min(1040px,100%);max-height:calc(100vh - 56px);padding:clamp(22px,4vw,36px);overflow-y:auto;box-shadow:0 28px 80px #101b164d}.tactic-position-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.tactic-position-heading h2{margin:7px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,4vw,36px);font-weight:500}.tactic-position-heading p{max-width:680px;color:var(--muted);margin:0;line-height:1.55}.tactic-position-layout{grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);align-items:start;gap:24px;display:grid}.tactic-position-list{flex-direction:column;gap:8px;max-height:560px;display:flex;overflow-y:auto}.tactic-position-list button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:11px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.tactic-position-list button.is-active,.tactic-position-list button:hover{background:var(--sage);border-color:#2f514473}.tactic-position-list button span{color:var(--muted);font-size:12px}.tactic-position-board{justify-self:center;width:min(100%,580px)}.tactic-position-caption{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;justify-content:space-between;gap:12px;margin-top:10px;padding:12px 14px;display:flex}.tactic-position-caption span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.tactic-position-legacy-note{background:var(--amber-soft);color:#6b4b24;border-radius:13px;padding:22px;line-height:1.6}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes level-overlay{0%,to{opacity:0}12%,76%{opacity:1}}@keyframes level-card{0%{opacity:0;transform:translateY(12px)scale(.96)}14%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}@media (max-width:980px){.mode-grid,.profile-account-forms,.profile-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-options{grid-template-columns:repeat(3,minmax(0,1fr))}.train-grid{grid-template-columns:minmax(0,680px);justify-content:center}.coach-column{grid-row:1}.board-column{grid-row:2}.coach-card{min-height:390px}.review-grid{grid-template-columns:minmax(0,720px);justify-content:center}.review-sidebar{padding-top:0}}@media (max-width:640px){.mode-hub,.profile-page{width:min(100% - 24px,680px);padding-top:26px}.mode-grid,.profile-account,.profile-overview,.profile-skill-grid,.profile-tactics-grid{grid-template-columns:1fr}.mode-card{min-height:205px}.appearance-settings-card{padding:24px 18px}.appearance-options{grid-template-columns:repeat(2,minmax(0,1fr))}.game-color-options{grid-template-columns:1fr}.tactic-position-overlay{padding:10px}.tactic-position-dialog{max-height:calc(100vh - 20px)}.tactic-position-heading{flex-direction:column-reverse}.tactic-position-layout{grid-template-columns:1fr}.tactic-position-list{max-height:210px}.topbar{padding:10px;position:static}.brand div,.brand-copy,.player-level-label{display:none}.player-controls{gap:5px}.danger-button,.ghost-button,.primary-button,.secondary-button{padding:0 13px;font-size:13px}.level-display{padding:0 7px}.level-display strong{font-size:11px}.language-control{min-width:56px;padding:0 7px}.icon-button{justify-content:center;width:42px;padding:0}.train-grid{gap:15px;padding:14px}.coach-column{display:contents}.coach-card{grid-row:2;min-height:330px;padding:20px}.board-column{grid-row:1}.history-card{grid-row:3}.board-frame{border-radius:11px;padding:7px}.live-board-layout.has-evaluation{grid-template-columns:30px minmax(0,1fr);gap:6px}.card-heading{align-items:flex-start}.card-heading h1{font-size:25px}.coach-empty,.coach-loading,.game-over-box{min-height:200px}.lesson-grid{grid-template-columns:1fr}.decision-row{grid-template-columns:1fr 1fr;display:grid}.decision-row button:only-child{grid-column:1/-1}.opening-offer-card{padding:24px 20px}.opening-offer-card h2{font-size:25px}.game-over-actions,.opening-offer-actions{grid-template-columns:1fr;display:grid}.game-over-actions{width:100%}.review-grid{gap:15px;padding:14px}.review-heading{align-items:flex-start}.review-heading h1{font-size:28px}.review-heading .secondary-button{min-height:38px;padding:0 10px}.review-board-layout{grid-template-columns:30px minmax(0,1fr);gap:6px}.evaluation-bar{border-width:2px;min-height:240px}.evaluation-black strong,.evaluation-white strong{font-size:9px}.review-navigation{grid-template-columns:38px 44px minmax(58px,1fr) 44px 38px;margin-left:36px}.review-summary-card{min-height:0;padding:20px}.review-facts{grid-template-columns:1fr 1fr}.review-result-card{flex-wrap:wrap;align-items:flex-start}.review-result-card .primary-button{width:100%}}.tactics-exercise-page,.tactics-trainer-page{width:min(100% - 40px,1320px);margin:0 auto;padding:42px 0 64px}.tactics-page-heading{max-width:760px;margin-bottom:30px}.tactics-page-heading .secondary-button{margin-bottom:28px}.tactics-complete-page h1,.tactics-instruction-card h1,.tactics-page-heading h1{font-family:var(--font-serif),Georgia,serif;color:var(--ink);margin:8px 0 12px;font-size:clamp(2rem,4vw,3.15rem);font-weight:500}.tactics-complete-page p,.tactics-instruction-card>p,.tactics-page-heading p{color:var(--muted);line-height:1.65}.tactics-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tactics-category-card{border:1px solid var(--line);background:var(--paper);min-height:96px;color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #24302a0f}.tactics-category-card:hover:not(.is-planned){border-color:var(--green);transform:translateY(-1px)}.tactics-category-card>span{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:10px;place-items:center;font-size:1.15rem;display:grid}.tactics-category-card small,.tactics-category-card strong{z-index:1;position:relative}.tactics-category-card small{color:var(--muted);font-weight:700}.tactics-category-card i{background:var(--green);max-width:100%;height:4px;transition:width .18s;position:absolute;bottom:0;left:0}.tactics-category-card.is-planned{cursor:default;opacity:.68}.tactics-all-category-card{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.tactics-all-category-card{border-color:color-mix(in srgb,var(--accent) 58%,var(--line))}}.tactics-all-category-card{background:radial-gradient(circle at 92% 10%,var(--accent),transparent 9rem),var(--panel)}@supports (color:color-mix(in lab,red,red)){.tactics-all-category-card{background:radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 9rem),var(--panel)}}.tactics-sprint-duration-card{border:1px solid var(--line);background:var(--panel);width:min(820px,100%);box-shadow:var(--shadow);border-radius:18px;padding:clamp(24px,5vw,42px)}.tactics-sprint-duration-card h2{margin:0 0 20px}.tactics-sprint-duration-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.tactics-sprint-duration-option{border:1px solid var(--line);background:var(--panel);border-radius:12px;min-height:112px;padding:16px 12px}@supports (color:color-mix(in lab,red,red)){.tactics-sprint-duration-option{background:color-mix(in srgb,var(--panel) 76%,black)}}.tactics-sprint-duration-option{color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.tactics-sprint-duration-option strong{font-size:1.35rem}.tactics-sprint-duration-option small{color:var(--muted);font-weight:700}.tactics-sprint-duration-option.is-selected{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.tactics-sprint-duration-option.is-selected{background:color-mix(in srgb,var(--accent) 18%,var(--panel))}}.tactics-sprint-duration-option.is-selected{box-shadow:inset 0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.tactics-sprint-duration-option.is-selected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}}.tactics-sprint-duration-card>.primary-button{width:100%}.tactics-sprint-clock{border:1px solid var(--line);background:var(--panel);min-width:82px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:9px;padding:8px 12px;font-size:1.12rem;font-weight:900}.tactics-sprint-clock.is-ending{color:#ff747b;background:#68171f9e;border-color:#ff535bb8;animation:tactics-clock-pulse .9s ease-in-out infinite alternate}@keyframes tactics-clock-pulse{to{box-shadow:0 0 18px #ff434c4d}}.tactics-sprint-toolbar-score{white-space:nowrap}.tactics-sprint-result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,440px);margin:16px 0;display:grid}.tactics-sprint-result-stats>div{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:8px;padding:20px;display:grid}.tactics-sprint-result-stats span{color:var(--muted);font-weight:700}.tactics-sprint-result-stats strong{font-size:2.25rem}.tactics-sprint-new-record{font-size:1.15rem;font-weight:900;color:var(--accent)!important}.tactics-sprint-result-actions{gap:10px;width:min(100%,440px);display:grid}.tactics-exercise-page{grid-template-columns:minmax(460px,700px) minmax(300px,420px);justify-content:center;align-items:start;gap:52px;display:grid}.tactics-exercise-toolbar{grid-template-columns:auto minmax(100px,1fr) auto auto;align-items:center;gap:16px;margin-bottom:14px;display:grid}.tactics-exercise-toolbar strong{text-align:center}.tactics-exercise-toolbar>span{color:var(--muted);font-weight:700}.tactics-exercise-select{color:var(--muted);align-items:center;gap:9px;font-size:.78rem;display:flex}.tactics-exercise-select select{border:1px solid var(--line);background:var(--panel);min-width:126px;color:var(--ink);border-radius:9px;padding:9px 30px 9px 10px}.tactics-side-to-move{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:9px;width:fit-content;min-height:42px;margin:0 0 12px auto;padding:7px 14px 7px 8px;display:flex;box-shadow:0 8px 18px #00081233}.tactics-side-to-move>span{border-radius:6px;place-items:center;width:28px;height:28px;font-family:Arial Unicode MS,Segoe UI Symbol,sans-serif;font-size:22px;line-height:1;display:grid}.tactics-side-to-move.is-white>span{color:#142235;background:#eef5fc}.tactics-side-to-move.is-black>span{color:#f6f9fc;background:#0b1420;border:1px solid #b0cde747}.tactics-side-to-move strong{color:var(--ink);font-size:13px;font-weight:900}.tactics-board-frame{width:100%}.tactics-instruction-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;margin-top:56px;padding:34px;box-shadow:0 18px 42px #24302a14}.tactics-instruction-card h1{letter-spacing:-.035em;white-space:nowrap;font-size:clamp(1.25rem,2.4vw,2rem)}.tactics-progress-summary{background:var(--green-soft);border-radius:12px;justify-content:space-between;gap:16px;margin-top:26px;padding:16px 18px;display:flex}.tactics-turn-reminder{border-left:4px solid var(--green);background:#123149c7;border-radius:7px;flex-direction:column;gap:5px;margin-top:22px;padding:14px 16px;display:flex}.tactics-turn-reminder span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.tactics-turn-reminder strong{color:#fff;font-size:16px}.tactics-progress-summary span{color:var(--muted)}.tactics-motif-explanation{background:#14354e7a;border:1px solid #4cbbff3d;border-radius:10px;margin-top:18px;padding:15px 16px}.tactics-motif-explanation strong{color:var(--accent);margin-bottom:6px;display:block}.tactics-motif-explanation p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.tactics-feedback{border-radius:12px;margin-top:16px;padding:16px 18px}.tactics-feedback.is-incorrect{color:#8f3f35;background:#f8e7e3}.tactics-feedback.is-correct{color:#9ce2bd;background:#1f704e4d;border:1px solid #49bf9052}.tactics-feedback p{margin:6px 0 0;line-height:1.5}.tactics-feedback .primary-button{width:100%;margin-top:14px}.tactic-celebration-card .tactic-review-button{min-width:200px;margin-top:10px}.tactics-complete-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:68vh;display:flex}.tactics-complete-page p{max-width:560px;margin-bottom:24px}@media (max-width:980px){.tactics-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tactics-exercise-page{grid-template-columns:minmax(0,680px);gap:22px}.tactics-instruction-card{margin-top:0}}@media (max-width:620px){.tactics-exercise-page,.tactics-trainer-page{width:min(100% - 20px,1320px);padding-top:22px}.tactics-category-grid{grid-template-columns:1fr}.tactics-sprint-duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tactics-exercise-toolbar{grid-template-columns:auto 1fr}.tactics-sprint-clock,.tactics-sprint-toolbar-score{grid-row:2}.tactics-sprint-toolbar-score{grid-column:1}.tactics-sprint-clock{grid-column:2;justify-self:end}.tactics-exercise-select{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);display:grid}.tactics-exercise-select select{width:100%;min-width:0}.tactics-exercise-toolbar>span{text-align:right;grid-column:2}.tactics-instruction-card{padding:24px}}html[data-interface-theme=ocean]{--ui-page:#0e1723;--ui-page-deep:#0b131e;--ui-panel:#1b2b3d;--ui-panel-deep:#131f2e;--ui-control:#263b52;--ui-control-deep:#1a2a3d;--ui-accent:#2d70a8;--ui-accent-strong:#174f82;--ui-border:#80a9cc47;--ui-ink:#f7fbff;--ui-muted:#a5b7c9;--ui-glow:#248ee03d}html[data-interface-theme=forest]{--ui-page:#101c19;--ui-page-deep:#0b1512;--ui-panel:#1b3029;--ui-panel-deep:#12231e;--ui-control:#29483d;--ui-control-deep:#1a332a;--ui-accent:#39745f;--ui-accent-strong:#245442;--ui-border:#97d8bb47;--ui-ink:#f6fff9;--ui-muted:#abc7ba;--ui-glow:#49ac7f38}html[data-interface-theme=walnut]{--ui-page:#21140f;--ui-page-deep:#160d09;--ui-panel:#38251c;--ui-panel-deep:#291a13;--ui-control:#4d3225;--ui-control-deep:#352117;--ui-accent:#92562f;--ui-accent-strong:#63351f;--ui-border:#e7be944d;--ui-ink:#fffaf3;--ui-muted:#d5bca7;--ui-glow:#c67e453b}html[data-interface-theme=slate]{--ui-page:#171c1b;--ui-page-deep:#101413;--ui-panel:#28312e;--ui-panel-deep:#1d2522;--ui-control:#3a4642;--ui-control-deep:#29332f;--ui-accent:#5a7068;--ui-accent-strong:#394b45;--ui-border:#bed3cb45;--ui-ink:#fbfdfc;--ui-muted:#b8c5c0;--ui-glow:#7fa59733}html[data-interface-theme=burgundy]{--ui-page:#211217;--ui-page-deep:#160b0f;--ui-panel:#38202a;--ui-panel-deep:#29171f;--ui-control:#502b38;--ui-control-deep:#351d27;--ui-accent:#95445d;--ui-accent-strong:#64283b;--ui-border:#e6a4b54a;--ui-ink:#fff8fa;--ui-muted:#d5b2bd;--ui-glow:#b549693b}html[data-interface-theme]{--ink:var(--ui-ink);--muted:var(--ui-muted);--paper:var(--ui-page);--panel:var(--ui-panel);--line:var(--ui-border);--forest:var(--ui-accent);--forest-dark:var(--ui-accent-strong);--accent:var(--ui-accent);--amber:var(--ui-accent)}.train-shell[data-interface-theme],html[data-interface-theme] body{background:radial-gradient(circle at 22% -12%,var(--ui-glow),transparent 34rem),linear-gradient(180deg,var(--ui-page),var(--ui-page-deep));color:var(--ui-ink)}.train-shell[data-interface-theme] .topbar{border-bottom-color:var(--ui-border);background:var(--ui-page-deep)}@supports (color:color-mix(in lab,red,red)){.train-shell[data-interface-theme] .topbar{background:color-mix(in srgb,var(--ui-page-deep) 92%,transparent)}}.train-shell[data-interface-theme] .brand-mark,.train-shell[data-interface-theme] .empty-icon,.train-shell[data-interface-theme] .player-avatar,.train-shell[data-interface-theme] .tactic-celebration-icon{background:linear-gradient(145deg,var(--ui-accent),var(--ui-accent-strong));color:#fff}.train-shell[data-interface-theme] :is(.ghost-button,.secondary-button),.train-shell[data-interface-theme] :is(.language-control,.icon-button,.level-display){border-color:var(--ui-border);background:linear-gradient(180deg,var(--ui-control),var(--ui-control-deep));color:var(--ui-ink)}.train-shell[data-interface-theme] :is(.primary-button,.mode-card){border-color:var(--ui-accent)}@supports (color:color-mix(in lab,red,red)){.train-shell[data-interface-theme] :is(.primary-button,.mode-card){border-color:color-mix(in srgb,var(--ui-accent) 55%,transparent)}}.train-shell[data-interface-theme] :is(.primary-button,.mode-card){background:radial-gradient(circle at 96% 5%,#ffffff24,transparent 9rem),linear-gradient(145deg,var(--ui-accent),var(--ui-accent-strong));color:#fff}.train-shell[data-interface-theme] :is(.coach-card,.history-card,.review-summary-card,.review-moves-card,.review-quality-card,.review-skills-card,.review-result-card,.profile-overview article,.profile-section,.profile-skill-card,.profile-tactic-card,.free-setup-card,.appearance-settings-card,.tactic-position-dialog,.tactics-instruction-card,.tactics-category-card,.opening-card,.opening-heading,.opening-learning-panel){border-color:var(--ui-border);background:linear-gradient(155deg,var(--ui-panel),var(--ui-panel-deep));color:var(--ui-ink)}.train-shell[data-interface-theme] :is(.appearance-option,.game-color-option,.tactic-position-list button,.coach-timing-option,.free-level-number,.lesson-grid>div,.review-facts>div,.quality-count,.free-level-control,.tactics-progress-summary){border-color:var(--ui-border);background:var(--ui-panel-deep)}@supports (color:color-mix(in lab,red,red)){.train-shell[data-interface-theme] :is(.appearance-option,.game-color-option,.tactic-position-list button,.coach-timing-option,.free-level-number,.lesson-grid>div,.review-facts>div,.quality-count,.free-level-control,.tactics-progress-summary){background:color-mix(in srgb,var(--ui-panel-deep) 78%,black)}}.train-shell[data-interface-theme] :is(.appearance-option,.game-color-option,.tactic-position-list button,.coach-timing-option,.free-level-number,.lesson-grid>div,.review-facts>div,.quality-count,.free-level-control,.tactics-progress-summary){color:var(--ui-ink)}.train-shell[data-interface-theme] :is(.appearance-option.is-selected,.game-color-option.is-selected,.coach-timing-option.is-selected,.tactic-position-list button.is-active){border-color:var(--ui-accent);background:var(--ui-control)}@supports (color:color-mix(in lab,red,red)){.train-shell[data-interface-theme] :is(.appearance-option.is-selected,.game-color-option.is-selected,.coach-timing-option.is-selected,.tactic-position-list button.is-active){background:color-mix(in srgb,var(--ui-control) 88%,var(--ui-accent))}}.train-shell[data-interface-theme] :is(.eyebrow,.appearance-option small){color:var(--ui-accent)}.interface-theme-preview{border:1px solid;border-radius:9px;grid-template-columns:1.4fr 1fr 1fr;align-items:end;gap:6px;min-height:58px;padding:10px;display:grid;box-shadow:inset 0 1px #ffffff21}.interface-theme-preview i{border-radius:4px;height:18px;display:block}.interface-theme-preview i:first-child{height:32px}:root{--ink:#f4f7fb;--muted:#9fb0c3;--paper:#0e1723;--panel:#172434;--line:#8fb1d338;--forest:#299af0;--forest-dark:#1680d3;--sage:#203d58;--amber:#56baff;--amber-soft:#263d55;--danger:#f05c64;--accent:#56baff;--green:#49b9ff;--green-soft:#203f5c;--font-serif:"Trebuchet MS","Avenir Next","Segoe UI",sans-serif;--shadow:0 18px 46px #01081261}html{color-scheme:dark}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 22% -12%,#248ee038,#0000 34rem),radial-gradient(circle at 92% 20%,#3863b521,#0000 30rem),linear-gradient(#101a27,#0b131e);font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif}.tactics-page-heading .eyebrow,.tactics-page-heading .secondary-button{display:block}.appearance-fieldset legend,.brand strong,.game-color-fieldset legend,.history-heading h2,.mode-card-icon,.move-summary strong,.profile-overview strong,.quality-count>strong,.review-result-card>strong,.review-start-evaluation,.tactic-position-heading h2,blockquote,h1,h2,h3{font-family:inherit!important}button,input,select{letter-spacing:.01em}button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#4bb7ffc7}.train-shell.is-fallback-fullscreen{background:var(--paper)}:fullscreen{background:var(--paper)}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d1622eb;border-bottom-color:#7daedb2e;min-height:72px;box-shadow:0 8px 24px #00060f38}.brand-mark{color:#fff;background:linear-gradient(145deg,#38b6ff,#2277d9);border:1px solid #82d7ff4d;border-radius:9px;box-shadow:0 8px 24px #1a89e257}.brand-mark.brand-logo-mark,.train-shell[data-interface-theme] .brand-mark.brand-logo-mark{width:72px;height:44px;box-shadow:none;background:0 0;border:0;border-radius:0}.brand-logo-mark img{object-fit:contain;width:100%;height:auto}.brand strong{color:#fff;letter-spacing:.015em;font-size:21px;font-weight:900}.brand span:last-child,.opponent-row span,.player-row span{color:#8fa4b9;font-weight:700}.icon-button,.language-control,.level-display{color:#f8fbff;background:linear-gradient(#223246,#192638);border-color:#82a9cd40;border-radius:7px;box-shadow:inset 0 1px #ffffff0a}.icon-button:hover:not(:disabled),.language-control:hover{background:linear-gradient(#2a4058,#203047);border-color:#43aff7}.level-display strong{color:#fff}.danger-button,.ghost-button,.primary-button,.secondary-button{letter-spacing:.025em;border-radius:7px;min-height:43px;font-weight:900;box-shadow:0 7px 18px #00081240}.ghost-button,.secondary-button{color:#eaf4ff;background:linear-gradient(#26374b,#1b2a3d);border-color:#8ab1d642}.ghost-button:hover,.secondary-button:hover{color:#fff;background:linear-gradient(#304a63,#22364e);border-color:#3cabf4;transform:translateY(-1px)}.primary-button{color:#fff;text-shadow:0 1px 1px #002a5873;background:linear-gradient(#38b3f5,#2679d8);border-color:#69cdff59;box-shadow:0 9px 22px #1777d557,inset 0 1px #ffffff38}.primary-button:hover{background:linear-gradient(#53c5ff,#3189e8);box-shadow:0 11px 28px #1a89e270}.danger-button{background:linear-gradient(#f16a70,#c9404d);border-color:#ff7c826b}.danger-button:hover{background:linear-gradient(#ff7a80,#dc4d58)}.coach-resign-button{color:#ff8b91}.review-grid,.train-grid{position:relative}.opponent-row strong,.player-row strong{color:#f7fbff;font-weight:900}.computer-avatar,.player-avatar{color:#fff;background:linear-gradient(145deg,#26384b,#172535);border:1px solid #87bee238;border-radius:8px}.player-avatar{background:linear-gradient(145deg,#329fef,#235db5)}.material-advantage,.verdict{color:#8ed7ff;background:#214a68}.turn-dot[data-active=true]{background:#42c6ff;box-shadow:0 0 0 5px #42c6ff21,0 0 15px #42c6ff8c}.board-frame{background:linear-gradient(145deg,#20364a,#111e2c);border:1px solid #6dabcc40;border-radius:11px;box-shadow:0 25px 60px #00071173,0 0 0 1px #4aade614}.status-line{color:#a9b9c9;background:#152232e0;border-color:#7ea3c638;border-radius:8px}.status-pulse{background:#43baff;box-shadow:0 0 12px #43baff8c}.appearance-settings-card,.coach-card,.free-setup-card,.history-card,.profile-overview article,.profile-section,.profile-skill-card,.profile-tactic-card,.review-moves-card,.review-quality-card,.review-result-card,.review-skills-card,.review-summary-card,.tactic-position-dialog,.tactics-category-card,.tactics-instruction-card{color:var(--ink);box-shadow:var(--shadow);background:linear-gradient(155deg,#1b2b3dfa,#131f2efa);border-color:#80a9cc33}.coach-card,.history-card,.review-moves-card,.review-quality-card,.review-result-card,.review-skills-card,.review-summary-card{border-radius:11px}.card-heading{border-bottom-color:#88abcc33}.eyebrow{color:#4cbbff;letter-spacing:.15em;font-weight:900}.appearance-settings-card h1,.card-heading h1,.coach-empty h2,.coach-loading strong,.free-setup-card h1,.game-over-box h2,.history-heading h2,.mode-hero h1,.move-summary strong,.profile-hero h1,.profile-section-heading h2,.review-heading h1,.review-summary-card h2,.tactic-position-heading h2,.tactics-complete-page h1,.tactics-instruction-card h1,.tactics-page-heading h1{color:#fff;letter-spacing:-.025em;font-weight:900}.coach-content blockquote{color:#eef6ff;font-family:inherit;font-weight:600;line-height:1.52}.free-level-control,.lesson-grid>div,.quality-count,.review-facts>div,.tactics-progress-summary{background:#0a16239e;border:1px solid #7dabd121}.lesson-grid strong,.review-facts dd{color:#eaf5ff}.position-weakness-list{color:#eaf5ff;gap:7px;margin:7px 0 0;padding-left:18px;font-size:13px;font-weight:700;line-height:1.45;display:grid}.move-row{border-top-color:#80a3c526}.history-move-button,.move-row button{color:#eaf5ff}.loader{border-color:#4bbcff #244561 #244561}.error-box,.tactics-feedback.is-incorrect{color:#ffd2d5;background:#691f2a6b;border-color:#f05c645c}.coach-empty,.game-over-box{color:var(--ink)}.empty-icon,.tactic-celebration-icon{color:#fff;background:linear-gradient(145deg,#43bcff,#226ed0);box-shadow:0 12px 26px #1e82dc5c}.opening-offer,.tactic-celebration,.tactic-position-overlay{background:#020912c7}.opening-offer-card,.tactic-celebration-card{color:var(--ink);background:linear-gradient(155deg,#1d3045,#121f2f);border-color:#73bcea47}.level-announcement{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020a1461}.level-announcement-card{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff29,#0000 9rem),linear-gradient(145deg,#30a9edfa,#2e5ec1fa);border-color:#77d3ff75;border-radius:10px;box-shadow:0 24px 70px #000b1c7a,0 0 30px #2797e733}.level-announcement-card span{color:#d9f3ff}.level-announcement-card strong{letter-spacing:-.02em;font-family:inherit;font-weight:900}.level-announcement-card small{color:#ffffffd6}.mode-hub,.profile-page,.tactics-exercise-page,.tactics-trainer-page{color:var(--ink)}.mode-hero,.profile-hero,.tactics-page-heading{max-width:820px}.mode-hero h1,.profile-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.04}.appearance-settings-card>p,.free-setup-card>p,.mode-hero p,.profile-hero p,.profile-section-heading p,.tactics-complete-page p,.tactics-instruction-card>p,.tactics-page-heading p{color:var(--muted)}.mode-grid{gap:12px}.mode-card{color:#fff;background:radial-gradient(circle at 96% 5%,#ffffff29,#0000 9rem),linear-gradient(145deg,#39aee9,#3474d2);border-color:#89d3ff4d;border-radius:8px;min-height:216px;padding:22px;overflow:hidden;box-shadow:0 14px 30px #020c1c4d,inset 0 1px #fff3}.mode-card:nth-child(2n){background:radial-gradient(circle at 96% 5%,#ffffff26,#0000 9rem),linear-gradient(145deg,#309edc,#3a69c9)}.mode-card:has(.mode-status.planned){color:#b3c1d0;background:linear-gradient(145deg,#21334a,#182638);border-color:#82a4c32e}.mode-card:hover{border-color:#83d8ff;transform:translateY(-4px)scale(1.012);box-shadow:0 18px 38px #000a1975,0 0 24px #2b9fed29}.mode-card-icon{color:#fff;background:#042f613d;border:1px solid #ffffff3d;border-radius:8px;font-size:27px;box-shadow:inset 0 1px #ffffff1f}.mode-status.available{color:#fff;background:#04326057}.mode-status.planned{color:#93a6b8;background:#08111c61}.mode-card>strong{color:#fff;letter-spacing:.015em;font-family:inherit;font-weight:900}.mode-card>span:nth-of-type(2){color:#f5faffd6;font-weight:600}.mode-card>small{color:#fff;letter-spacing:.06em;text-transform:uppercase}.appearance-option,.game-color-option,.tactic-position-list button{color:var(--ink);background:#0b17249e;border-color:#87accf33}.appearance-option.is-selected,.appearance-option:hover,.game-color-option.is-selected,.game-color-option:hover,.tactic-position-caption,.tactic-position-list button.is-active,.tactic-position-list button:hover{color:var(--ink);background:#203e59;border-color:#46baff}.appearance-option.is-selected,.game-color-option.is-selected{box-shadow:inset 0 0 0 2px #45b7ff33,0 0 22px #1d82d51f}.free-level-number{color:#fff;background:#101e2d;border-color:#86b1d547}.free-level-slider{accent-color:#3eb7ff}.profile-overview article,.profile-section,.profile-skill-card,.profile-tactic-card{border-radius:10px}.profile-skill-card strong,.profile-tactic-count-button,.review-start-evaluation{color:#55c1ff}.profile-tactic-card>b{color:#a6e1ff;background:#214867}.review-nav-button{color:#dcecff;background:linear-gradient(#25384d,#18273a);border-color:#85b0d540;border-radius:7px}.review-nav-button:hover:not(:disabled){color:#75ceff;border-color:#46baff}.tactics-category-card{background:radial-gradient(circle at 100% 0,#ffffff1c,#0000 8rem),linear-gradient(145deg,#246fbd,#254f96);border-radius:8px}.tactics-category-card:hover:not(.is-planned){border-color:#75d2ff;transform:translateY(-3px);box-shadow:0 16px 34px #0009176b}.tactics-category-card>span{color:#fff;background:#0722435c;border-radius:7px}.tactics-category-card small{color:#c6e9ff}.tactics-category-card i{background:#61d0ff;box-shadow:0 0 14px #61d0ff8c}.tactics-category-card.is-planned{background:linear-gradient(145deg,#223246,#172536)}.tactics-progress-summary{border-radius:8px}.evaluation-bar{border-color:#162638;box-shadow:0 14px 34px #00050e6b}@media (max-width:760px){.topbar{background:#0f1926}.mode-card{min-height:190px}.mode-hero h1,.profile-hero h1{font-size:clamp(32px,10vw,44px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.startup-splash{visibility:visible}.startup-bishop,.startup-queen,.startup-splash{opacity:1;animation:none!important}.startup-capture{transform:none}.startup-queen{transform:translate(-8%,-50%)}.startup-bishop{transform:translateY(-50%)}.startup-impact{display:none}}.auth-overlay{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(circle at 50% 15%,#2c9def33,#0000 30rem),#030a13db;place-items:center;padding:28px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-overlay[data-android-viewport=true]{inset:auto 0;top:var(--auth-visual-viewport-top,0);height:var(--auth-visual-viewport-height,100dvh);overscroll-behavior:contain}.auth-overlay[data-android-keyboard=true]{place-items:start center;scroll-padding-block:12px}.auth-dialog{background:radial-gradient(circle at 100% 0,#36a4ee24,#0000 19rem),linear-gradient(155deg,#17283b,#101b2a 66%);border:1px solid #68c2ff52;border-radius:14px;width:min(100%,520px);padding:34px;position:relative;box-shadow:0 30px 90px #00040cad,inset 0 1px #ffffff0f}.auth-brand-mark{width:72px;height:44px;position:absolute;top:30px;right:30px;box-shadow:0 10px 25px #208de257}.auth-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.auth-dialog h1{color:#fff;max-width:390px;margin:10px 64px 10px 0;font-size:clamp(30px,5vw,42px);line-height:1.05}.auth-description{color:#aebed0;margin:0 0 24px;line-height:1.55}.auth-tabs{background:#050d178c;border:1px solid #82aed433;border-radius:9px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px;display:grid}.auth-tabs button{color:#91a4b8;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:42px;font-weight:900}.auth-tabs button.is-active{color:#fff;background:linear-gradient(#309fe6,#2576cc);box-shadow:0 7px 18px #1c77c74d}.auth-form{gap:16px;display:grid}.auth-form label{color:#cad7e4;gap:7px;font-size:13px;font-weight:900;display:grid}.auth-form input{color:#fff;width:100%;min-height:48px;font:inherit;background:#0a1522;border:1px solid #84add047;border-radius:8px;outline:none;padding:0 14px}.auth-form input:focus{border-color:#50c2ff;box-shadow:0 0 0 3px #3eb1f429}.auth-form label small{color:#7f93a8;font-size:11px;font-weight:600}.auth-form .auth-remember-option{cursor:pointer;align-items:center;gap:9px;width:fit-content;font-size:13px;font-weight:700;display:flex}.auth-form .auth-remember-option input{accent-color:#309fe6;cursor:pointer;width:18px;height:18px;min-height:18px;margin:0;padding:0}.auth-submit{border-radius:8px;width:100%;min-height:50px;margin-top:2px;font-size:15px}.auth-error{color:#ff9ca2;background:#721b2852;border:1px solid #ff676f66;border-radius:7px}.auth-error,.auth-success{margin:0;padding:11px 13px;font-size:13px}.auth-success{color:#a9e2ff;background:#19679147;border:1px solid #50c2ff66;border-radius:7px}.auth-text-button{color:#9bcbe8;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;font-size:13px;text-decoration:underline}.auth-divider{color:#71879b;text-transform:uppercase;align-items:center;gap:12px;margin:20px 0;font-size:11px;font-weight:900;display:flex}.auth-divider:after,.auth-divider:before{content:"";background:#84accf33;flex:1;height:1px}.auth-guest-button{color:#fff;text-align:left;cursor:pointer;background:#0b1826b8;border:1px solid #82aed43d;border-radius:8px;align-items:center;gap:13px;width:100%;padding:13px 15px;display:flex}.auth-guest-button:hover{background:#18334d;border-color:#4ebdff}.auth-guest-button>span:first-child{color:#76ceff;background:#243b52;border-radius:7px;flex:none;place-items:center;width:38px;height:38px;font-size:23px;display:grid}.auth-guest-button>span:last-child{gap:3px;display:grid}.auth-guest-button small{color:#8fa2b5;font-size:11px;font-weight:600}.auth-close{color:#8fa9c0;cursor:pointer;background:0 0;border:0;margin:18px auto 0;font-weight:800;display:block}.auth-loading{color:#b8c8d8;align-content:center;place-items:center;gap:18px;min-height:210px;display:grid}.account-status-loading,.auth-loading span{border:3px solid #5bb9f433;border-top-color:#54c2ff;border-radius:50%;width:30px;height:30px;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.account-control{color:#fff;background:#132334d1;border:1px solid #84afd33d;border-radius:8px;align-items:center;min-height:42px}.account-progress-cluster,.gamification-display,.points-counter,.streak-counter{align-items:center;display:flex}.account-progress-cluster{gap:7px}.gamification-display{gap:5px}.points-counter,.streak-counter{color:#dbeeff;white-space:nowrap;background:#132334d1;border:1px solid #84afd33d;border-radius:8px;gap:5px;min-height:42px;padding:0 10px;font-size:12px;position:relative}.points-counter>span{color:#59c7ff}.streak-counter>span{filter:saturate(.9)}.points-counter strong.is-updated{animation:point-total-bump .55s ease-out}.point-award-flight-layer{z-index:240;pointer-events:none;position:fixed;inset:0;overflow:hidden}.point-award-pawn{left:var(--flight-start-x);top:var(--flight-start-y);color:#f4fbff;opacity:0;filter:drop-shadow(0 4px 5px #030c16b8);animation:point-pawn-flight .72s cubic-bezier(.24,.72,.32,1) var(--flight-delay) forwards;font-size:clamp(25px,3.2vw,39px);line-height:1;position:fixed;transform:translate(-50%,-50%)}.point-award-pawn:nth-child(2n){color:#67cfff}@keyframes point-pawn-flight{0%{opacity:0;transform:translate(-50%,-50%)scale(.65)rotate(-8deg)}13%{opacity:.94;transform:translate(-50%,-50%)scale(1.08)rotate(4deg)}58%{opacity:.96;transform:translate(-50%,-50%) translate(var(--flight-mid-x),var(--flight-mid-y)) scale(.9)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--flight-x),var(--flight-y)) scale(.3)}}@keyframes point-total-bump{0%,to{color:inherit;transform:scale(1)}45%{color:#7fe3a1;transform:scale(1.16)}}@media (prefers-reduced-motion:reduce){.points-counter strong.is-updated{animation:none}}.account-control.is-authenticated{gap:8px;padding:4px 5px 4px 6px;display:flex}.account-control.is-guest{text-align:left;cursor:pointer;gap:8px;padding:4px 11px 4px 6px;display:flex}.account-control.is-guest>span:last-child{line-height:1.05;display:grid}.account-control small{color:#8298ad;letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:900}.account-avatar{color:#fff;background:linear-gradient(145deg,#43b9f8,#286fd0);border-radius:6px;flex:none;place-items:center;width:31px;height:31px;font-size:13px;font-weight:950;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.account-logout,.account-name{font-size:12px;font-weight:900}.account-logout{color:#a9bbcc;cursor:pointer;background:#ffffff0f;border:0;border-radius:5px;align-self:stretch;min-height:34px;padding:0 12px}.account-logout:hover{color:#ff9da4;background:#ef5a642e}.account-status-loading{width:22px;height:22px;display:inline-block}@media (max-width:980px){.account-control.is-guest small,.account-logout,.account-name{display:none}.account-control.is-authenticated,.account-control.is-guest{padding:4px}}@media (max-width:560px){.auth-overlay{align-items:start;padding:12px}.auth-dialog{padding:25px 20px}.auth-brand-mark{width:60px;height:36px;top:22px;right:20px}}.opening-trainer-page{width:min(1180px,100% - 40px);margin:0 auto;padding:54px 0 80px}.opening-heading{max-width:760px}.opening-back-button{margin-bottom:24px}.opening-heading h1{margin:8px 0 12px;font-size:clamp(2.2rem,5vw,4rem)}.opening-heading p{color:var(--muted);line-height:1.65}.opening-section-title{text-transform:uppercase;letter-spacing:.08em;margin:44px 0 18px;font-size:1.1rem}.opening-mode-picker{border:1px solid var(--line);background:var(--panel);border-radius:18px;margin-top:36px;padding:24px}.opening-mode-picker h2{margin:0 0 16px;font-size:1.1rem}.opening-mode-picker>div{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.opening-mode-picker button{border:1px solid var(--line);color:inherit;text-align:left;background:0 0;border-radius:13px;grid-template-columns:auto 1fr;gap:5px 12px;padding:18px;display:grid}.opening-mode-picker button>span{color:var(--accent);grid-row:1/3;font-size:1.5rem}.opening-mode-picker button small{color:var(--muted);line-height:1.4}.opening-mode-picker button.is-selected{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.opening-mode-picker button.is-selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}}.opening-mode-picker button{cursor:pointer}.opening-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;display:grid}.opening-card{border:1px solid var(--line);background:var(--panel);min-height:190px;color:inherit;text-align:left;border-radius:16px;flex-direction:column;gap:8px;padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}button.opening-card{cursor:pointer}button.opening-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 32px #00000029}button.opening-card.is-locked{cursor:not-allowed;opacity:.58}button.opening-card.is-locked:hover{border-color:var(--line);box-shadow:none;transform:none}.opening-card strong{font-size:1.08rem}.opening-card small,.opening-card>span:not(.opening-card-icon){color:var(--muted)}.opening-card-icon{color:var(--accent);font-size:4rem;line-height:1}.opening-themed-icon{width:4rem;height:4rem;color:var(--accent);fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 4rem}.opening-themed-icon [fill=currentColor]{fill:currentColor}.opening-image-icon{background:var(--accent);width:4rem;height:4rem;-webkit-mask-image:var(--opening-icon);mask-image:var(--opening-icon);flex:0 0 4rem;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.custom-opening-back-card .opening-card-icon{font-size:2rem}.opening-card>i{background:var(--muted);border-radius:999px;height:6px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.opening-card>i{background:color-mix(in srgb,var(--muted) 20%,transparent)}}.opening-card>i{margin-top:auto}.opening-card>i>b{border-radius:inherit;background:var(--accent);height:100%;display:block}.opening-card.is-planned{opacity:.54;min-height:135px}.custom-opening-card{padding:0;overflow:hidden}.custom-opening-card>button:first-child{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:8px;padding:22px;display:flex}.custom-opening-card>button:first-child:disabled{cursor:not-allowed}.custom-opening-edit{border:0;border-top:1px solid var(--line);background:var(--accent);min-height:40px}@supports (color:color-mix(in lab,red,red)){.custom-opening-edit{background:color-mix(in srgb,var(--accent) 8%,transparent)}}.custom-opening-edit{color:var(--accent);cursor:pointer;font-weight:800}.opening-exercise-page{grid-template-columns:minmax(420px,720px) minmax(300px,420px);align-items:start;gap:34px;width:min(1260px,100% - 40px);margin:0 auto;padding:44px 0 70px;display:grid}.opening-board-column{min-width:0}.opening-toolbar{align-items:center;gap:16px;margin-bottom:14px;display:flex}.opening-toolbar strong{margin-left:auto}.opening-toolbar>span{color:var(--muted)}.opening-line-select{color:var(--muted);align-items:center;gap:9px;font-size:.82rem;display:flex}.opening-line-select select{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:9px;padding:9px 30px 9px 10px}.opening-board-frame{width:100%}.opening-live-board-layout{min-width:0}.opening-live-board-layout.has-evaluation{grid-template-columns:42px minmax(0,1fr);gap:10px;display:grid}.opening-live-board-layout.has-evaluation>.opening-board-frame{min-width:0}.opening-evaluation-bar{min-height:0}.opening-instruction-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;min-height:360px;padding:30px}.opening-exercise-page>.opening-instruction-card:not(.custom-opening-form){flex-direction:column;min-height:calc(100% - 56px);margin-top:56px;display:flex}.custom-opening-editor>.custom-opening-form{margin-top:56px}.opening-instruction-card h1{margin:10px 0 26px;font-size:2.1rem}.opening-mode-switch{border:1px solid var(--line);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.opening-mode-switch button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 13px}.opening-mode-switch button.is-selected{background:var(--accent);color:#07131f;font-weight:700}.opening-mode-switch button:disabled{cursor:not-allowed;opacity:.45}.opening-mode-switch button.is-locked{cursor:pointer;opacity:.45}.opening-evaluation-toggle{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:0 0 20px;padding:11px 13px;display:grid}.opening-evaluation-toggle>span{color:var(--accent);font-size:1.25rem}.opening-evaluation-toggle>small{color:var(--muted)}.opening-evaluation-toggle.is-selected{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.opening-evaluation-toggle.is-selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.opening-variant-actions{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.opening-variant-actions .secondary-button{min-height:38px;padding:8px 12px}.opening-variant-actions .is-danger{border-color:#ff6470}@supports (color:color-mix(in lab,red,red)){.opening-variant-actions .is-danger{border-color:color-mix(in srgb,#ff6470 60%,var(--line))}}.opening-variant-actions .is-danger{color:#ff8790}.opening-progress{border-block:1px solid var(--line);justify-content:space-between;padding:14px 0;display:flex}.opening-test-live-stats,.opening-test-result-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.opening-test-live-stats{margin-bottom:16px}.opening-test-live-stats>div,.opening-test-result-stats>div{border:1px solid var(--line);background:var(--accent);border-radius:11px;padding:14px}@supports (color:color-mix(in lab,red,red)){.opening-test-live-stats>div,.opening-test-result-stats>div{background:color-mix(in srgb,var(--accent) 6%,transparent)}}.opening-test-live-stats>div,.opening-test-result-stats>div{gap:5px;display:grid}.opening-test-live-stats span,.opening-test-result-stats span{color:var(--muted);font-size:.78rem}.opening-test-live-stats strong,.opening-test-result-stats strong{color:var(--accent);font-size:1.6rem}.opening-test-result-stats{width:100%;margin:8px 0 4px}.opening-test-new-record{color:#62d49d;font-weight:800}.opening-test-celebration .tactic-celebration-card,.opening-test-summary .tactic-celebration-card{gap:12px}.opening-test-celebration .secondary-button,.opening-test-summary .secondary-button{width:100%}.move-help-button{border:1px solid #ffbf41;width:100%;min-height:46px;margin-top:16px;padding:0 18px}@supports (color:color-mix(in lab,red,red)){.move-help-button{border:1px solid color-mix(in srgb,#ffbf41 58%,var(--line))}}.move-help-button{color:inherit;cursor:pointer;background:#ffbf411a;border-radius:11px;justify-content:center;align-items:center;gap:9px;font-weight:800;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.move-help-button>span{color:#17212c;background:#ffbf41;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.move-help-button.is-active,.move-help-button:hover:not(:disabled){background:#ffbf412e;border-color:#ffbf41}.move-help-button:hover:not(:disabled){transform:translateY(-1px)}.move-help-button:disabled{cursor:not-allowed;opacity:.5}.opening-learning-hint{border:1px solid var(--accent);margin-top:20px;padding:18px}@supports (color:color-mix(in lab,red,red)){.opening-learning-hint{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line))}}.opening-learning-hint{background:var(--accent);border-radius:13px}@supports (color:color-mix(in lab,red,red)){.opening-learning-hint{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.opening-learning-hint span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;display:block}.opening-learning-hint strong{color:var(--accent);margin:5px 0 8px;font-size:1.65rem;display:block}.opening-learning-hint p{margin:0;line-height:1.55}.opening-feedback{border-radius:12px;margin-top:20px;padding:16px}.opening-feedback p{margin:6px 0 0}.opening-feedback.is-correct{color:#62d49d;background:#2d966426}.opening-feedback.is-wrong{color:#ff8188;background:#d2424929}.opening-moves{margin-top:26px}.opening-moves h2{font-size:1rem}.opening-moves ol{grid-template-columns:1fr 1fr;gap:7px;max-height:230px;padding:0;list-style:none;display:grid;overflow:auto}.opening-moves li{color:var(--muted)}.opening-moves li span{opacity:.7;font-size:.75rem}.custom-opening-form{gap:16px;display:grid}.custom-opening-form h1{margin-bottom:4px}.custom-opening-form label{color:var(--muted);gap:7px;font-size:.82rem;font-weight:700;display:grid}.custom-opening-form input,.custom-opening-form select,.custom-opening-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:9px;padding:11px 12px}.custom-opening-form textarea{resize:vertical;min-height:110px}.custom-opening-pgn{margin-top:0}.custom-opening-pgn ol{grid-template-columns:1fr 1fr}.custom-opening-pgn li button{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 10px}.custom-opening-pgn li button.is-current,.custom-opening-pgn li button:hover{border-color:var(--accent);color:var(--ink);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.custom-opening-pgn li button.is-current,.custom-opening-pgn li button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.custom-opening-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.custom-opening-notice{color:#62d49d;margin:0;font-weight:800}.custom-opening-comment{margin-top:12px}.mistake-trainer-empty{border:1px solid var(--line);background:var(--panel);border-radius:18px;max-width:760px;margin-top:28px;padding:34px}.mistake-trainer-empty h1{margin:10px 0 14px;font-size:clamp(2rem,5vw,3.5rem)}.mistake-trainer-empty p,.mistake-training-card>p{color:var(--muted);line-height:1.65}.mistake-replay-status{border:1px solid var(--line);border-radius:13px;gap:10px;margin-top:24px;padding:18px;display:grid}.mistake-replay-status span{color:var(--muted)}.mistake-replay-status i{background:var(--muted);border-radius:999px;height:7px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.mistake-replay-status i{background:color-mix(in srgb,var(--muted) 20%,transparent)}}.mistake-replay-status b{border-radius:inherit;background:var(--accent);height:100%;transition:width .7s;display:block}.mistake-training-card .opening-feedback.is-correct{gap:14px;display:grid}.mistake-training-card .opening-feedback.is-correct button{width:100%}.mistake-import-controls{gap:10px;margin-top:20px;display:grid}.mistake-import-controls>small,.mistake-import-controls>span{color:var(--muted)}.mistake-import-controls>button{width:100%}.mistake-import-limit{border:1px solid var(--danger);gap:10px;padding:13px;display:grid}@supports (color:color-mix(in lab,red,red)){.mistake-import-limit{border:1px solid color-mix(in srgb,var(--danger) 55%,transparent)}}.mistake-import-limit{background:var(--danger);border-radius:11px}@supports (color:color-mix(in lab,red,red)){.mistake-import-limit{background:color-mix(in srgb,var(--danger) 10%,transparent)}}.mistake-import-limit p{color:var(--ink);margin:0}.mistake-import-limit div{gap:8px;display:grid}.mistake-import-success{margin:0;font-weight:750;color:#62d49d!important}.mistake-import-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030c15c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.mistake-import-dialog{border:1px solid var(--line);background:var(--panel-strong);border-radius:20px;width:min(760px,100%);max-height:min(880px,100dvh - 40px);padding:clamp(22px,4vw,34px);overflow:auto;box-shadow:0 28px 90px #00000073}.mistake-import-dialog h2{margin:8px 0 10px;font-size:clamp(1.6rem,4vw,2.35rem)}.mistake-import-dialog>p{color:var(--muted);line-height:1.55}.mistake-import-dialog label{color:var(--muted);gap:7px;margin-top:15px;font-size:.82rem;font-weight:750;display:grid}.mistake-import-dialog input,.mistake-import-dialog select,.mistake-import-dialog textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:11px 12px}.mistake-import-dialog textarea{resize:vertical;min-height:240px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5}.mistake-pgn-files input{padding:9px}.mistake-import-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mistake-import-footer{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:22px;display:flex}.mistake-import-actions,.mistake-pgn-guides{flex-wrap:wrap;gap:10px;display:flex}.mistake-pgn-guides{justify-content:flex-start}.mistake-import-actions{justify-content:flex-end}.mistake-pgn-guide-overlay{z-index:130;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030c15d6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.mistake-pgn-guide-dialog{border:1px solid var(--line);background:var(--panel-strong);border-radius:20px;width:min(620px,100%);max-height:calc(100dvh - 40px);padding:clamp(22px,4vw,34px);overflow:auto;box-shadow:0 30px 90px #00000080}.mistake-pgn-guide-dialog h2{margin:8px 0 10px;font-size:clamp(1.5rem,4vw,2.2rem)}.mistake-pgn-guide-dialog p{color:var(--muted);line-height:1.55}.mistake-pgn-guide-dialog ol{gap:12px;margin:20px 0 24px;padding-left:24px;display:grid}.mistake-pgn-guide-dialog li{color:var(--ink);padding-left:6px;line-height:1.5}.mistake-pgn-guide-dialog .primary-button{margin-left:auto;display:block}.mistake-replay-navigation{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.mistake-replay-navigation button{border:1px solid var(--line);background:var(--panel);width:46px;min-height:36px;color:var(--ink);cursor:pointer;border-radius:9px;font-size:1.2rem;font-weight:800}.mistake-replay-navigation button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.mistake-replay-navigation button:disabled{cursor:not-allowed;opacity:.38}.mistake-replay-navigation span{min-width:52px;color:var(--muted);text-align:center;font-size:.84rem;font-weight:800}.mistake-analysis-wait{text-align:center;align-content:center;place-items:center;gap:12px;min-height:calc(100dvh - 130px);padding:24px;display:grid}.mistake-analysis-wait h1{margin:4px 0;font-size:clamp(2rem,5vw,3.6rem)}.mistake-analysis-wait>p{max-width:650px;color:var(--muted);margin:0 0 6px;line-height:1.6}.mistake-analysis-progress{background:var(--muted);border-radius:999px;width:min(520px,85vw);height:9px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.mistake-analysis-progress{background:color-mix(in srgb,var(--muted) 22%,transparent)}}.mistake-analysis-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--accent),#62d49d);height:100%;transition:width .35s;display:block}.pgn-analysis-scene{perspective:900px;width:min(620px,92vw);height:255px;margin-bottom:12px;position:relative}.pgn-side-board{transform-origin:bottom;border:9px solid var(--panel);grid-template-columns:repeat(2,1fr);width:230px;height:150px;display:grid;position:absolute;bottom:26px;left:50%;transform:translate(-50%)rotateX(58deg)rotate(-2deg)}@supports (color:color-mix(in lab,red,red)){.pgn-side-board{border:9px solid color-mix(in srgb,var(--panel) 70%,#8a5a38)}}.pgn-side-board{background:conic-gradient(from 90deg,#dce8f4 25%,#3d78a8 0 50%,#dce8f4 0 75%,#3d78a8 0);border-radius:8px;box-shadow:0 30px 35px #00000057}.pgn-side-board span{color:#101820;place-items:center;font-size:2rem;display:grid}.pgn-player{width:90px;height:165px;position:absolute;bottom:38px}.pgn-player-left{left:5%;transform:rotate(4deg)}.pgn-player-right{right:5%;transform:rotate(-4deg)scaleX(-1)}.pgn-player i{background:linear-gradient(145deg,#f2c29f,#a96f52);border-radius:50%;width:46px;height:46px;position:absolute;top:0;left:28px;box-shadow:inset -5px -5px #0000001f}.pgn-player b{background:linear-gradient(145deg,var(--accent),var(--accent));border-radius:45px 45px 18px 18px;position:absolute;inset:43px 0 0}@supports (color:color-mix(in lab,red,red)){.pgn-player b{background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 45%,#12263a))}}.pgn-player:after{content:"";z-index:2;transform-origin:8px;background:#d69a76;border-radius:999px;width:94px;height:18px;animation:pgn-player-move 2.2s ease-in-out infinite;position:absolute;top:82px;left:53px}.pgn-player-right:after{animation-delay:1.1s}.pgn-moving-piece{z-index:4;color:#101820;filter:drop-shadow(0 5px 4px #00000059);font-size:2.1rem;animation:pgn-piece-move 2.2s ease-in-out infinite;position:absolute;bottom:100px;left:calc(50% - 15px)}@keyframes pgn-player-move{0%,42%,to{transform:rotate(18deg)}18%,28%{transform:rotate(-20deg)translate(22px)}}@keyframes pgn-piece-move{0%,45%,to{transform:translate(-34px,9px)}18%,28%{transform:translate(32px,-15px)}55%,95%{transform:translate(32px,-15px)}70%,82%{transform:translate(-34px,9px)}}@media (max-width:900px){.opening-exercise-page{grid-template-columns:1fr}.custom-opening-editor .opening-board-frame,.opening-history-navigation,.opening-live-board-layout{width:min(100%,max(180px,100dvh - 190px));margin-inline:auto}.opening-exercise-page>.opening-instruction-card:not(.custom-opening-form),.opening-instruction-card{min-height:auto;margin-top:0}.custom-opening-editor>.custom-opening-form{margin-top:0}.opening-toolbar{flex-wrap:wrap}.opening-toolbar strong{margin-left:0}.opening-line-select{margin-left:auto}.opening-mode-picker>div{grid-template-columns:1fr}}@media (max-width:560px){.opening-live-board-layout.has-evaluation{grid-template-columns:30px minmax(0,1fr);gap:6px}.mistake-import-fields{grid-template-columns:1fr}.mistake-import-footer{flex-direction:column;align-items:stretch}.mistake-import-actions,.mistake-pgn-guides{grid-template-columns:1fr;display:grid}.pgn-analysis-scene{height:210px}.pgn-player{transform-origin:bottom;transform:scale(.78)}.pgn-player-right{transform:scaleX(-1)scale(.78)}.pgn-player-left{left:-2%}.pgn-player-right{right:-2%}.pgn-side-board{width:190px;height:125px}}@media (prefers-reduced-motion:reduce){.pgn-moving-piece,.pgn-player:after{animation:none}}.train-shell,body,html{max-width:100%;overflow-x:clip}[role=button],button,input,select{touch-action:manipulation}.mobile-coach-lifelines{display:none}.update-panel{border:1px solid var(--line);background:#07172657;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;display:grid}.update-panel>div:not(.update-actions){background:#ffffff0b;border-radius:10px;gap:4px;padding:12px;display:grid}.update-panel span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.update-actions,.update-panel p{grid-column:1/-1}.update-panel p{color:var(--muted);margin:0}.update-panel[data-available=true] p{color:#68d6a1}.update-actions{justify-content:flex-end;gap:10px;display:flex}.update-actions button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.45}@media (max-width:980px){.train-grid{width:min(760px,100%)}.board-column{grid-row:1}.coach-column{grid-row:2}.coach-card{min-height:0}.opening-exercise-page,.review-grid,.tactics-exercise-page{width:min(760px,100% - 28px)}}@media (max-width:700px){.profile-account-forms{grid-template-columns:1fr}.profile-account-settings{padding:20px}.account-logout{white-space:nowrap;min-height:36px;padding-inline:10px;display:block}.coach-game-actions{grid-template-columns:1fr 1fr;display:grid}.coach-game-actions>button:only-child{grid-column:1/-1}.desktop-coach-lifelines{display:none}.mobile-coach-lifelines{margin:14px 0 4px;display:block}.board-column,.coach-card{scroll-margin-top:76px}.topbar{grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:64px;padding:9px 10px;display:grid;position:sticky}.brand{min-width:0}.brand-mark{width:44px;height:44px}.brand-mark.brand-logo-mark,.train-shell[data-interface-theme] .brand-mark.brand-logo-mark{width:64px}.player-controls{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:flex-start;width:100%;min-width:0;overflow-x:auto}.player-controls::-webkit-scrollbar{display:none}.player-controls>*{flex:none}.mode-hub,.opening-trainer-page,.profile-page,.saved-games-page,.tactics-trainer-page{width:min(100% - 24px,680px);padding-top:24px;padding-bottom:48px}.mode-hub-home{padding-top:12px}.mode-hero,.opening-heading,.profile-hero,.saved-games-heading,.tactics-heading{margin-top:16px}.mode-hero h1,.opening-heading h1,.profile-hero h1,.saved-games-heading h1,.tactics-heading h1{overflow-wrap:anywhere}.review-grid,.train-grid{width:100%;padding:12px}.opponent-row,.player-row{gap:8px;min-width:0;padding-block:6px}.material-status{min-width:0;margin-left:auto}.opponent-row>.board-player-copy,.player-row>.board-player-copy{gap:5px}.board-player-copy strong{font-size:13px}.board-player-copy span{letter-spacing:.04em;font-size:10px}.profile-account,.review-heading,.saved-game-row{gap:12px}.review-heading{flex-wrap:wrap}.review-heading .secondary-button{margin-left:0}.opening-exercise-page,.tactics-exercise-page{gap:18px;width:calc(100% - 24px);padding-top:20px;padding-bottom:48px}.opening-exercise-page{overflow-x:clip}.opening-board-frame [data-square]{scroll-margin-block:76px 16px}.opening-toolbar>*{min-width:0}.opening-toolbar strong{overflow-wrap:anywhere}.opening-toolbar,.tactics-toolbar{align-items:stretch}.opening-line-select{width:100%;margin-left:0}.opening-line-select select{flex:1;min-width:0}.coach-card,.history-card,.opening-instruction-card,.review-card,.saved-games-empty,.tactics-instruction-card{padding:20px}.opening-instruction-card h1{font-size:clamp(1.65rem,8vw,2.1rem)}.opening-mode-switch{grid-template-columns:repeat(3,1fr);display:grid}.opening-mode-switch button{min-height:42px}.opening-moves ol{grid-template-columns:1fr}.profile-account,.saved-game-row{align-items:flex-start}}@media (max-width:520px){input,select,textarea{font-size:16px!important}.icon-button,.language-control,button{min-height:44px}.level-display{display:none}.mode-grid,.opening-grid,.profile-skill-grid,.profile-tactics-grid,.review-quality-grid,.skill-profile-list,.tactics-category-grid{grid-template-columns:minmax(0,1fr)}.mode-card,.opening-card,.tactics-category-card{min-height:0}.appearance-settings-card,.mode-card,.opening-card,.opening-mode-picker,.profile-panel,.tactics-category-card{padding:18px}.appearance-options,.coach-timing-options{grid-template-columns:1fr}.coach-timing-option{gap:4px 12px;padding:14px}.review-board-layout{grid-template-columns:24px minmax(0,1fr)}.review-navigation{grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;gap:6px}.decision-row,.game-over-actions,.opening-offer-actions{grid-template-columns:1fr}.decision-row>*,.game-over-actions>*,.opening-offer-actions>*{width:100%}.lesson-grid,.review-summary-grid,.update-panel{grid-template-columns:1fr}.update-actions,.update-panel p{grid-column:1}.update-actions{grid-template-columns:1fr;display:grid}.problem-report-actions{flex-direction:column;align-items:stretch}.problem-report-actions .primary-button{width:100%}}.annotated-chessboard{width:100%;position:relative}.board-legal-move-dot{z-index:10;pointer-events:none;background:#07141f38;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff0f}.board-annotation-arrows{z-index:12;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-annotation-arrow{fill:#ffa62beb;filter:drop-shadow(0 1px 1px #050c168c)}.board-annotation-state{display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}