:root{--tc-primary: #555555;--tc-highlight: #e3b866;--tc-highlight-trans: rgba(227, 184, 102, .75);--tc-background-dark: #302e2b;--tc-background-light: #262522;--tc-background-lighter: #31302d;--tc-text: #e9e9e9;--tc-dull-text: #b0b0b0;--tc-placeholder: #b0b0b0;--tc-off-white: #d8dbd8;--tc-border: rgba(255, 255, 255, .14);--tc-border-strong: rgba(227, 184, 102, .38);--tc-danger: #f08f8f;--tc-success: #2fbf71;color:var(--tc-text);background:var(--tc-background-dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@font-face{font-family:Ionicons;font-display:block;src:url(/fonts/Ionicons.ttf) format("truetype")}*{box-sizing:border-box}body{background:var(--tc-background-dark);margin:0}a{color:inherit}.app-shell{min-height:100vh}.mobile-app-gate{display:none}.topbar{align-items:center;background:var(--tc-background-light);border-bottom:1px solid var(--tc-border);display:grid;gap:24px;grid-template-columns:auto 1fr;height:64px;padding:0 24px}.topbar-left{align-items:center;display:flex;gap:12px;min-width:0}.app-back-button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--tc-text);cursor:pointer;display:inline-flex;justify-content:center;min-height:36px;min-width:37px;padding:6px 10px 6px 3px}.header-back-button{flex:0 0 auto}.brand{align-items:center;display:flex;font-weight:800;gap:10px;text-decoration:none}.brand img{border-radius:8px;height:32px;width:32px}.nav-links{align-items:center;display:flex;gap:14px;font-size:14px;font-weight:700;grid-column:2;justify-content:flex-end;justify-self:end}.nav-links a{text-decoration:none}.ionicon{background-color:currentColor;display:inline-block;height:18px;-webkit-mask:var(--ionicon-url) center / contain no-repeat;mask:var(--ionicon-url) center / contain no-repeat;width:18px}.training-menu{position:relative}.training-menu-trigger{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:800;padding:0}.training-menu-panel{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:12px;box-shadow:0 16px 36px #00000047;display:none;gap:2px;left:50%;min-width:190px;padding:8px;position:absolute;top:calc(100% + 14px);transform:translate(-50%);z-index:30}.training-menu:hover .training-menu-panel,.training-menu:focus-within .training-menu-panel,.training-menu.open .training-menu-panel{display:grid}.training-menu-panel a{border-radius:8px;color:var(--tc-text);padding:10px 12px}.training-menu-panel a:hover{background:var(--tc-background-lighter)}.signed-in{color:var(--tc-dull-text);font-weight:800}.nav-button,.text-button{background:none;border:0;color:var(--tc-highlight);cursor:pointer;font:inherit;font-weight:800;padding:0}@media(min-width:900px){.app-shell{display:grid;grid-template-columns:184px minmax(0,1fr)}.topbar{align-content:start;align-items:stretch;border-bottom:0;border-right:1px solid var(--tc-border);display:flex;flex-direction:column;gap:18px;grid-column:1;grid-row:1;height:100vh;justify-content:flex-start;padding:18px 12px;position:sticky;top:0;z-index:20}.topbar-left{align-items:center;flex-direction:row;gap:10px;justify-content:space-between}.brand{flex-direction:column;font-size:12px;gap:0;text-align:center}.brand img{border-radius:14px;height:54px;width:54px}.brand span{display:none}.header-back-button{min-height:36px;min-width:37px}.nav-links{align-items:stretch;flex-direction:column;gap:8px;grid-column:auto;justify-content:flex-start;justify-self:stretch;flex:1;text-align:left;width:100%}.nav-links a,.training-menu-trigger,.nav-button{align-items:center;background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:9px;color:var(--tc-text);display:flex;font-size:13px;font-weight:900;gap:10px;justify-content:flex-start;line-height:1.15;min-height:42px;padding:10px 12px;text-align:left;width:100%}.nav-links .ionicon{color:var(--tc-dull-text);flex:0 0 auto;height:19px;width:19px}.header-back-button .ionicon{height:22px;width:22px}.nav-links a:hover,.nav-links a:focus-visible,.training-menu-trigger:hover,.training-menu-trigger:focus-visible,.nav-button:hover,.nav-button:focus-visible{background:var(--tc-background-lighter);border-color:var(--tc-border-strong);box-shadow:none;color:var(--tc-text)}.nav-links a.active{border-color:var(--tc-border-strong);color:var(--tc-highlight)}.nav-links a.active .ionicon{color:var(--tc-highlight)}.nav-button{margin-top:auto}.training-menu-panel{left:calc(100% + 10px);top:0;transform:none}.workspace,.center-page.policy-page{grid-column:2}.session-play-layout .board-shell-full .web-board,.analysis-review-layout .board-shell-full .web-board{width:min(100%,calc(100vh - 32px),1080px)}.home-shell{display:block}.home-shell .topbar{align-items:center;border-bottom:1px solid var(--tc-border);border-right:0;display:grid;gap:24px;grid-template-columns:auto 1fr;height:64px;padding:0 24px;position:static}.home-shell .topbar-left{align-items:center;flex-direction:row;gap:12px}.home-shell .brand{flex-direction:row;font-size:inherit;gap:10px;text-align:left}.home-shell .brand img{border-radius:8px;height:32px;width:32px}.home-shell .brand span{display:inline}.home-shell .header-back-button{border-radius:9px;min-height:auto;width:auto}.home-shell .nav-links{align-items:center;flex:initial;flex-direction:row;gap:14px;grid-column:2;justify-content:flex-end;justify-self:end;text-align:left;width:auto}.home-shell .nav-links a,.home-shell .training-menu-trigger,.home-shell .nav-button{background:none;border:0;box-shadow:none;color:inherit;display:inline;font-size:14px;min-height:auto;padding:0;width:auto}.home-shell .nav-button{margin-top:0}}.workspace{margin:0 auto;max-width:1560px;padding:18px 20px 24px;width:100%}.panel{padding:8px 0}.panel-header{margin:0 auto 24px;max-width:760px;text-align:center}.settings-menu-icon:before,.dashboard-menu-icon:before,.game-analysis-action-icon:before{color:currentColor;font-family:Ionicons;font-size:18px;font-weight:400;line-height:1}.book:before{content:""}.bolt:before{content:""}.flash:before{content:""}.eye:before{content:""}.eye-off:before{content:""}.chart:before{content:""}.analytics:before{content:""}.grid:before{content:""}.gear:before{content:""}.settings:before{content:""}.person:before{content:""}.palette:before{content:""}.piece:before{content:""}.bell:before{content:""}.doc:before{content:""}.logout:before{content:""}.active-playing .panel-header{display:none}.eyebrow{color:var(--tc-highlight);font-size:13px;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}h1{font-size:clamp(32px,4vw,44px);letter-spacing:0;line-height:1;margin:0;overflow-wrap:anywhere}.lede{color:var(--tc-dull-text);font-size:18px;line-height:1.5;max-width:720px}.status-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}.secondary-grid{margin-top:6px}.status-grid div{border-top:3px solid var(--tc-highlight);padding:14px 0}.status-grid span{color:var(--tc-dull-text);display:block;font-size:13px;margin-bottom:6px}.status-grid strong{font-size:17px}.dashboard{display:flex;flex-direction:column;gap:18px;margin:28px auto;max-width:1120px;width:100%}.dashboard-menu-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-menu-card{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;color:var(--tc-text);display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr) 20px;min-height:82px;padding:14px;text-decoration:none}.dashboard-menu-icon{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;display:inline-flex;height:38px;justify-content:center;width:38px}.dashboard-menu-icon .ionicon{height:22px;width:22px}.dashboard-menu-card span:nth-child(2){display:grid;gap:4px}.dashboard-menu-card strong{color:var(--tc-text);font-size:16px}.dashboard-menu-card small{color:var(--tc-dull-text);font-size:13px;font-weight:700;line-height:1.25}.dashboard-menu-card i{color:var(--tc-dull-text);font-style:normal;font-size:24px}.dashboard-empty{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:14px;color:var(--tc-dull-text);font-weight:800;margin:28px auto;max-width:760px;padding:18px;text-align:center;width:100%}.main-home{display:grid;gap:18px;margin:28px auto;max-width:1040px;width:100%}.main-home-hero{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:18px;display:flex;flex-direction:column;padding:28px;text-align:center}.main-home-logo{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:20px;display:grid;height:86px;margin-bottom:14px;place-items:center;width:86px}.main-home-logo img{border-radius:16px;height:68px;width:68px}.main-home-hero h1{font-size:clamp(34px,5vw,58px);max-width:720px}.main-home-hero p:not(.eyebrow){color:var(--tc-dull-text);font-size:16px;font-weight:700;line-height:1.5;margin:14px 0 0;max-width:620px}.main-home-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}.main-home-feature-actions{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;max-width:820px;width:100%}.main-home-feature-button{align-items:center;background:var(--tc-highlight);border:1px solid var(--tc-highlight);border-radius:16px;color:#fff;display:grid;gap:14px;grid-template-columns:58px minmax(0,1fr);min-height:108px;padding:16px;text-align:left;text-decoration:none;transition:filter .14s ease,transform .14s ease}.main-home-feature-button.exchange{background:var(--tc-background-lighter);border-color:var(--tc-border-strong)}.main-home-feature-button:hover,.main-home-feature-button:focus-visible{filter:brightness(1.06);transform:translateY(-2px)}.main-home-feature-button img{border-radius:14px;height:58px;object-fit:cover;width:58px}.main-home-feature-button span{display:grid;gap:4px}.main-home-feature-button small,.main-home-feature-button em{color:inherit;font-style:normal;font-weight:800;opacity:.82}.main-home-feature-button small{font-size:11px;text-transform:uppercase}.main-home-feature-button strong{font-size:17px}.main-home-feature-button em{font-size:12px;line-height:1.35}.main-home-mobile{background:var(--tc-background-dark);border:1px solid var(--tc-border);border-radius:14px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;max-width:820px;padding:12px 16px;width:100%}.main-home-mobile-app{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;padding:10px}.main-home-mobile-app>span{color:var(--tc-dull-text);font-size:12px;font-weight:800;margin-right:auto}.main-home-mobile a{align-items:center;background:var(--tc-background-lighter);border:1px solid var(--tc-border-strong);border-radius:999px;color:var(--tc-text);display:inline-flex;font-size:12px;font-weight:900;gap:5px;padding:7px 9px;text-decoration:none}.main-home-mobile a:hover,.main-home-mobile a:focus-visible{border-color:var(--tc-highlight);outline:none}.main-home-mobile .ionicon{height:15px;width:15px}.store-coming-soon{align-items:center;color:var(--tc-dull-text);display:inline-flex;font-size:11px;font-weight:800;gap:5px;opacity:.72}.main-home-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.main-home-grid.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.main-home-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:14px;color:var(--tc-text);display:grid;gap:8px;min-height:112px;padding:18px;text-decoration:none}.main-home-card strong{font-size:18px}.main-home-card span{color:var(--tc-dull-text);font-size:13px;font-weight:800;line-height:1.35}.main-home-card.muted-card{opacity:.74}.dashboard-hero{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.due-actions-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.due-action{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);display:flex;font-size:13px;font-weight:900;justify-content:center;min-height:42px;padding:9px 10px;text-decoration:none}.due-action.disabled{opacity:.5;pointer-events:none}.dashboard-hero div,.metric-card,.time-row{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;padding:14px}.dashboard-hero span,.metric-card span,.time-row span{color:#667085;color:var(--tc-dull-text);display:block;font-size:13px;font-weight:800;margin-bottom:6px}.dashboard-hero strong{display:block;font-size:42px;line-height:1}.dashboard-hero p,.metric-card p{color:var(--tc-dull-text);margin:8px 0 0}.section-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.section-row h2{font-size:18px;margin:0}.help-icon-button{align-items:center;background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:999px;color:var(--tc-highlight);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:900;height:30px;justify-content:center;line-height:1;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:30px}.help-icon-button:hover{background:var(--tc-background-dark);border-color:#ffffff2e;transform:translateY(-1px)}.segmented{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:999px;display:flex;padding:4px}.segmented button{background:transparent;border:0;border-radius:6px;color:var(--tc-dull-text);cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:7px 10px;text-transform:capitalize}.segmented button.selected{background:var(--tc-highlight);color:#fff}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card strong{display:block;font-size:28px;line-height:1}.time-grid{display:grid;gap:10px}.time-row{display:grid;gap:12px;grid-template-columns:120px 1fr}.time-row strong{font-size:15px}.time-bar{align-self:center;background:var(--tc-background-dark);border-radius:999px;height:10px;overflow:hidden}.time-bar i{background:var(--tc-highlight);display:block;height:100%}.study-time-chart{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;display:flex;gap:16px;justify-content:space-between;padding:16px}.study-time-donut{align-items:center;display:grid;flex:0 0 154px;height:154px;justify-items:center;position:relative;width:154px}.study-time-donut svg{display:block}.study-time-center{align-items:center;display:flex;flex-direction:column;justify-content:center;position:absolute}.study-time-center strong{color:var(--tc-text);font-size:16px;font-weight:800}.study-time-center span,.study-time-legend-row span{color:var(--tc-dull-text);font-size:11px;margin-top:2px}.study-time-legend{display:flex;flex:1;flex-direction:column;gap:10px}.study-time-legend-row{align-items:center;display:flex}.study-time-legend-row i{border-radius:999px;flex:0 0 10px;height:10px;margin-right:10px;width:10px}.study-time-legend-row div{display:flex;flex:1;flex-direction:column}.study-time-legend-row strong{color:var(--tc-text);font-size:13px;font-weight:700}.study-time-empty{background:var(--tc-background-dark);border-radius:14px;color:var(--tc-dull-text);font-size:13px;padding:18px 14px;text-align:center}.feature-page{display:flex;flex-direction:column;gap:18px;margin:28px auto;max-width:1120px;width:100%}.puzzle-board-wrap{display:flex;justify-content:center;position:relative;width:100%}.puzzle-session-page{gap:12px;margin:0;max-width:none}.puzzle-session-page .feature-head{align-items:center;gap:12px}.puzzle-session-page .feature-head h1{font-size:clamp(24px,3vw,34px)}.puzzle-session-page .feature-head .lede{margin-top:8px}.session-play-layout,.analysis-review-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(660px,1fr) minmax(300px,380px);justify-items:center;justify-content:center;margin-inline:auto;max-width:1420px;width:100%}.analysis-review-layout{grid-template-columns:minmax(660px,1fr) minmax(340px,430px)}.blindfold-puzzle-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(520px,1fr) minmax(280px,350px);justify-items:center;justify-content:center;margin-inline:auto;max-width:1120px;width:100%}.analysis-board-column{display:grid;gap:12px;width:fit-content}.play-history-column{display:flex;flex-direction:column;gap:12px;min-width:0;position:sticky;top:88px}.play-history-placeholder{min-height:1px;pointer-events:none;visibility:hidden}.session-play-layout .puzzle-board-wrap,.analysis-review-layout .puzzle-board-wrap,.analysis-board-column,.session-play-layout .board-panel{justify-content:center}@media(min-width:900px){.session-play-layout .puzzle-board-wrap,.analysis-review-layout .puzzle-board-wrap,.analysis-board-column,.session-play-layout .board-panel{justify-self:end}.session-side,.analysis-side,.session-play-layout>.board-sidebar{justify-self:center}}.session-play-layout .board-head,.analysis-review-layout .board-head{display:none}.session-play-layout .board-shell-full .web-board,.analysis-review-layout .board-shell-full .web-board{width:min(100%,calc(100vh - 88px),1040px)}.session-side,.analysis-side,.session-play-layout>.board-sidebar{display:flex;flex-direction:column;gap:12px;max-width:380px;position:sticky;top:88px;width:100%}.analysis-side{max-width:430px}.session-side>*,.analysis-side>*,.session-play-layout>.board-sidebar>*{width:100%}.session-strip.vertical{grid-template-columns:1fr}.blindfold-chart-card,.blindfold-form-card,.blindfold-history-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;padding:16px;position:relative}.blindfold-info{color:var(--tc-highlight);font-size:15px;font-weight:900;margin:0 0 14px}.blindfold-table{display:flex;flex-direction:column;gap:8px}.blindfold-table-head,.blindfold-table-row{align-items:center;display:grid;gap:10px;grid-template-columns:72px minmax(0,1fr) 72px minmax(0,1fr)}.blindfold-table-head{color:var(--tc-dull-text);font-size:12px;font-weight:900;text-transform:uppercase}.blindfold-table-row{background:var(--tc-background-lighter);border-radius:10px;min-height:42px;padding:10px 12px}.blindfold-table-row strong{background:var(--tc-background-dark);border:1px solid var(--tc-border);border-radius:8px;color:var(--tc-text);display:inline-flex;font-size:14px;justify-content:center;min-height:28px;padding:5px 8px}.blindfold-table-row strong img{display:block;height:28px;object-fit:contain;width:28px}.blindfold-table-row span{color:var(--tc-text);font-size:14px;font-weight:800;overflow-wrap:anywhere}.blindfold-form-card{display:flex;flex-direction:column;gap:12px}.blindfold-form-card label{color:var(--tc-text);display:flex;flex-direction:column;font-size:13px;font-weight:900;gap:7px}.blindfold-form-card input{background:#fff;border:1px solid var(--tc-off-white);border-radius:7px;color:var(--tc-background-dark);font:inherit;font-size:18px;min-height:48px;padding:10px 12px}.blindfold-puzzle-input{background:transparent;border:0;border-radius:0;margin-top:14px;padding:0}.blindfold-peek-board{margin:12px auto 16px;max-width:520px}.blindfold-history-card h2{font-size:16px;margin:0 0 10px}.puzzle-flash{animation:puzzle-flash-fade .56s ease forwards;border-radius:18px;inset:0;pointer-events:none;position:absolute;z-index:20}.puzzle-board-wrap>.puzzle-flash{aspect-ratio:1;border-radius:8px;bottom:auto;right:auto;width:min(100%,calc(100vh - 88px),1040px)}.puzzle-transition-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#262522ad;border-radius:8px;color:#fff;display:flex;flex-direction:column;font-size:13px;font-weight:800;gap:10px;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:19}.puzzle-board-wrap>.puzzle-transition-overlay{aspect-ratio:1;bottom:auto;right:auto;width:min(100%,calc(100vh - 88px),1040px)}.puzzle-transition-spinner{animation:puzzle-transition-spin .7s linear infinite;border:3px solid rgba(255,255,255,.25);border-radius:50%;border-top-color:var(--tc-highlight);height:30px;width:30px}.puzzle-is-entering .web-board,.puzzle-is-entering .blindfold-info,.puzzle-is-entering .blindfold-table{animation:puzzle-board-enter .24s ease-out both}@keyframes puzzle-transition-spin{to{transform:rotate(360deg)}}@keyframes puzzle-board-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes puzzle-flash-fade{0%{opacity:0}18%{opacity:1}72%{opacity:1}to{opacity:0}}.feature-head{align-items:center;display:flex;gap:16px;justify-content:space-between}.puzzle-lobby{margin-inline:auto;max-width:760px;width:100%}.puzzle-hero,.puzzle-section{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;padding:16px}.puzzle-hero h1{font-size:24px;line-height:1.2}.puzzle-hero p:last-child{color:var(--tc-dull-text);line-height:1.5;margin:10px 0 0}.puzzle-section h2{font-size:16px;margin:0 0 10px}.puzzle-mode-stack{display:flex;flex-direction:column;gap:12px}.puzzle-mode-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:14px;color:var(--tc-text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:6px;padding:16px;text-align:left}.puzzle-mode-card.selected{background:var(--tc-highlight);border-color:var(--tc-highlight);color:#fff}.puzzle-mode-card strong{font-size:16px}.puzzle-mode-card span{color:var(--tc-dull-text);font-size:13px;line-height:1.4}.puzzle-mode-card.selected span{color:#ffffffe6}.chip-wrap{display:flex;flex-wrap:wrap;gap:10px}.puzzle-chip{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:999px;color:var(--tc-text);cursor:pointer;font:inherit;font-size:14px;font-weight:800;padding:10px 14px}.puzzle-chip.selected{background:var(--tc-highlight);border-color:var(--tc-highlight);color:#fff}.setting-hint{color:var(--tc-dull-text);font-size:13px;line-height:1.45;margin:12px 0 0}.difficulty-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.difficulty-header-row strong{font-size:26px;line-height:1}.difficulty-header-row span{color:var(--tc-highlight);font-size:13px;font-weight:900;text-transform:uppercase}.slider-scale-row{color:var(--tc-dull-text);display:flex;font-size:11px;font-weight:800;justify-content:space-between;margin-bottom:8px}.puzzle-slider{accent-color:var(--tc-highlight);width:100%}.puzzle-start-button{align-items:center;display:flex;justify-content:center;min-height:48px;text-decoration:none}.puzzle-summary-strip{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-summary-strip div{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:12px;padding:12px}.puzzle-summary-strip span{color:var(--tc-dull-text);display:block;font-size:12px;font-weight:900;margin-bottom:4px;text-transform:uppercase}.mode-grid,.control-grid,.session-strip{display:grid;gap:12px}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-option{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;color:var(--tc-text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:7px;min-height:112px;padding:14px;text-align:left}.mode-option.selected{background:var(--tc-highlight);border-color:var(--tc-highlight);color:#fff}.mode-option span{color:var(--tc-dull-text);font-size:13px;line-height:1.35}.mode-option.selected span{color:#302e2bbf}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-card,.toggle-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:14px;color:var(--tc-text);display:flex;flex-direction:column;font-size:13px;font-weight:800;gap:10px;padding:14px}.control-card select,.control-card input[type=range]{accent-color:#2f855a;accent-color:var(--tc-highlight);font:inherit;min-height:36px;width:100%}.toggle-card{align-items:center;flex-direction:row}.toggle-card input{accent-color:#2f855a;accent-color:var(--tc-highlight);height:18px;width:18px}.session-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.session-strip div{border-top:3px solid var(--tc-highlight);padding-top:12px}.session-strip span{color:var(--tc-dull-text);display:block;font-size:13px;margin-bottom:5px}.session-strip strong{overflow-wrap:anywhere}.endgame-meta-card{display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.endgame-meta-card.compact{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;padding:6px}.endgame-meta-card>div{align-items:center;border-right:1px solid var(--tc-border);display:flex;flex-direction:column;gap:4px;min-width:0;padding:2px 6px;text-align:center}.endgame-meta-card>div:last-child{border-right:0}.endgame-meta-card span{color:var(--tc-dull-text);font-size:12px;font-weight:900;text-transform:uppercase}.endgame-meta-card strong{font-size:13px;font-weight:900}.endgame-meta-card small{color:var(--tc-dull-text);font-size:11px;font-weight:800}.endgame-meta-card .due-now{color:#f1948a}.endgame-target-card{background:#f5c5421f;border:1px solid rgba(245,197,66,.36);border-radius:12px;display:grid;gap:3px;padding:10px 12px}.endgame-target-card span{color:var(--tc-highlight);font-size:12px;font-weight:900;text-transform:uppercase}.endgame-target-card strong{color:var(--tc-text);font-size:22px;font-weight:900;line-height:1.1;text-transform:capitalize}.inline-title-row{align-items:center;display:flex;gap:10px}.inline-title-row h1{margin:0}.endgame-hero{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;display:flex;justify-content:space-between;padding:16px}.endgame-hero h1{font-size:24px;margin:0}.endgame-hero p{color:var(--tc-dull-text);font-size:14px;font-weight:800;margin:6px 0 0}.due-help-modal{max-width:min(620px,calc(100vw - 32px));width:min(620px,calc(100vw - 32px))}.due-help-modal>p{line-height:1.45;margin-top:12px}.due-help-list{display:grid;gap:10px;margin:14px 0}.due-help-row{align-items:center;background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:10px;display:flex;gap:10px;padding:10px}.due-help-row i{border-radius:999px;flex:0 0 10px;height:10px;width:10px}.due-help-row span,.due-help-note{display:grid;gap:3px}.due-help-row strong,.due-help-note strong{color:var(--tc-text);font-size:13px;font-weight:900}.due-help-row small,.due-help-note span{color:var(--tc-dull-text);font-size:12px;font-weight:700;line-height:1.4}.due-help-note{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:10px;padding:10px}.recent-dots{align-items:center;display:flex;gap:4px;justify-content:center;min-height:18px}.recent-dots i{border-radius:999px;display:block;height:8px;width:8px}.recent-dots .success{background:#58d68d}.recent-dots .fail{background:#f1948a}.level-list{display:flex;flex-direction:column;gap:10px}.endgame-due-panel{display:grid;gap:8px;margin-bottom:14px}.endgame-due-title{color:var(--tc-text);font-size:14px;font-weight:900}.endgame-due-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.endgame-due-chip{background:var(--tc-background-light);border:2px solid var(--tc-border);border-radius:10px;color:var(--tc-text);display:grid;flex:0 0 auto;gap:3px;min-width:124px;padding:8px 10px;text-decoration:none;transition:background .14s ease,transform .14s ease}.endgame-due-chip:hover,.endgame-due-chip:focus-visible{background:var(--tc-background-lighter);outline:none;transform:translateY(-1px)}.endgame-due-chip span{font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.endgame-due-chip strong{font-size:12px}.level-card{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;color:var(--tc-text);display:grid;gap:12px;grid-template-columns:minmax(160px,1fr) repeat(3,92px) 72px;padding:14px;position:relative;text-decoration:none}.level-card.locked{opacity:.62}.level-card h2{font-size:17px;margin:0 0 4px}.level-card p,.level-card small{color:var(--tc-dull-text);margin:0}.level-card span{color:var(--tc-dull-text);display:block;font-size:12px;font-weight:800;margin-bottom:4px}.level-card a,.surface-action{color:var(--tc-highlight);font-weight:900;text-decoration:none}.endgame-puzzle-preview{background:var(--tc-background-dark);border:1px solid var(--tc-border-strong);border-radius:12px;box-shadow:0 18px 46px #0000006b;display:grid;gap:8px;padding:10px;pointer-events:none;position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);width:212px;z-index:20}.endgame-puzzle-preview .board-shell,.endgame-puzzle-preview .board-shell-full,.endgame-puzzle-preview .board-panel{display:block;margin:0;padding:0}.endgame-puzzle-preview .web-board{border-radius:6px;box-shadow:0 1px 2px #00000080;width:190px}.endgame-puzzle-preview .board-square{cursor:default}.endgame-puzzle-preview .square-label{display:none}.endgame-puzzle-preview span{color:var(--tc-dull-text);font-size:12px;font-weight:900;margin:0;text-align:center}.clickable-surface{cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.clickable-surface:hover,.clickable-surface:focus-visible{background:var(--tc-background-lighter);border-color:var(--tc-border-strong);box-shadow:0 10px 28px #0000002e;outline:none;transform:translateY(-1px)}.endgame-puzzle-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(66px,66px));justify-content:center}.endgame-puzzle-cell{align-items:center;background:var(--tc-background-light);border:1px solid rgba(255,255,255,.14);border-radius:14px;color:var(--tc-text);display:flex;flex-direction:column;height:66px;justify-content:space-between;padding:8px 5px;position:relative;text-decoration:none}.endgame-puzzle-cell.due{border-color:#d64545;border-width:2px}.endgame-puzzle-cell strong{font-size:18px;font-weight:900;line-height:1}.endgame-stars{color:var(--tc-dull-text);display:flex;font-size:11px;gap:1px;line-height:1}.endgame-stars .filled{color:#f5c542}.endgame-puzzle-cell i{background:#d64545;border-radius:999px;height:8px;position:absolute;right:5px;top:5px;width:8px}.inline-form{margin-bottom:6px}.form-actions{align-items:center;display:flex;gap:12px}.openings-layout{display:grid;gap:18px;grid-template-columns:280px minmax(0,1fr);margin-inline:auto;max-width:1120px;width:100%}.openings-loading-page{min-height:min(560px,calc(100vh - 150px));place-content:center}.openings-loading,.openings-lines-loading{align-items:center;color:var(--tc-dull-text);display:flex;justify-content:center}.openings-loading{flex-direction:column;gap:10px;text-align:center}.openings-loading strong{color:var(--tc-text);font-size:20px}.openings-lines-loading{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:14px;gap:10px;min-height:96px}.openings-loading-spinner{animation:openings-loading-spin .7s linear infinite;border:3px solid var(--tc-border);border-radius:50%;border-top-color:var(--tc-highlight);height:30px;width:30px}@keyframes openings-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.puzzle-transition-spinner,.openings-loading-spinner,.puzzle-is-entering .web-board,.puzzle-is-entering .blindfold-info,.puzzle-is-entering .blindfold-table{animation:none}}.repertoire-list,.line-list{display:flex;flex-direction:column;gap:10px}.repertoire-card,.line-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;color:var(--tc-text);font:inherit;padding:14px}.repertoire-card{cursor:pointer;display:flex;flex-direction:column;gap:12px;min-height:98px;text-align:left}.repertoire-card.selected{background:var(--tc-background-lighter);border-color:var(--tc-highlight);box-shadow:inset 0 0 0 1px var(--tc-highlight)}.repertoire-card div{display:flex;justify-content:space-between;gap:10px}.repertoire-card span,.line-card span,.lines-panel p{color:#667085;color:var(--tc-dull-text);font-size:13px}.repertoire-card.selected span{color:var(--tc-dull-text)}.lines-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.opening-summary-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;display:grid;gap:14px;padding:16px}.opening-summary-card h2{font-size:20px;margin:0 0 6px}.opening-summary-card p{margin:0}.opening-summary-metrics{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.opening-summary-metrics div{background:var(--tc-background-lighter);border-radius:12px;padding:12px;text-align:center}.opening-summary-metrics strong{color:var(--tc-text);display:block;font-size:26px;line-height:1}.opening-summary-metrics span{color:var(--tc-dull-text);display:block;font-size:12px;font-weight:900;margin-top:6px;text-transform:uppercase}.opening-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.opening-color-badge,.opening-meta-pill,.opening-due-pill{background:var(--tc-background-dark);border:1px solid var(--tc-border);border-radius:999px;color:var(--tc-dull-text);display:inline-flex;font-size:12px;font-weight:900;justify-content:center;padding:4px 9px}.opening-meta-pill{align-items:center;min-width:72px}.line-card{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;text-align:left}.line-card.due{border-width:2px}.line-card div{display:flex;flex-direction:column;gap:4px}.line-card a{color:var(--tc-highlight);font-weight:900;text-decoration:none}.line-card strong{align-items:baseline;display:flex;gap:6px}.line-index{color:var(--tc-dull-text)}.opening-stars{color:var(--tc-dull-text);display:inline-flex;font-size:13px;gap:1px;line-height:1}.opening-stars .filled{color:#f5c542}.line-actions-row{display:flex;gap:12px;justify-content:flex-end}.muted{color:var(--tc-dull-text);font-size:13px;font-weight:800}.game-analysis-home{margin-top:0}.game-analysis-header{border-bottom:1px solid var(--tc-border);padding:18px 0 14px}.game-analysis-header-top,.game-analysis-header-bottom{align-items:center;display:flex;gap:12px;justify-content:space-between}.game-analysis-header h1{font-size:28px;line-height:1.1;margin:0}.game-platform-pill{background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:var(--tc-text);font-size:12px;font-weight:900;padding:7px 12px}.game-analysis-header-bottom{margin-top:10px}.game-analysis-header-bottom p{color:var(--tc-dull-text);flex:1;font-size:13px;font-weight:800;margin:0}.game-analysis-action-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.game-analysis-action-card{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;color:var(--tc-text);cursor:pointer;display:grid;font:inherit;gap:12px;grid-template-columns:38px minmax(0,1fr) 18px;min-height:70px;padding:14px 16px;text-align:left;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.game-analysis-action-card:hover{background:var(--tc-background-lighter);border-color:var(--tc-border-strong);transform:translateY(-1px)}.game-analysis-action-card.import{background:var(--tc-off-white);border-color:transparent;color:var(--tc-background-dark)}.game-analysis-action-card.import:hover{background:#fff}.game-analysis-action-icon{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:999px;display:inline-flex;height:34px;justify-content:center;width:34px}.game-analysis-action-card.import .game-analysis-action-icon{background:#00000014;border-color:transparent}.game-analysis-action-card span:nth-child(2){display:grid;gap:3px}.game-analysis-action-card strong{font-size:15px;font-weight:900}.game-analysis-action-card small{color:var(--tc-dull-text);font-size:12px;font-weight:800}.game-analysis-action-card.import small{color:#000000a3}.game-analysis-action-card i{color:currentColor;font-size:22px;font-style:normal;line-height:1}.analysis-list{display:flex;flex-direction:column;gap:10px}.analysis-card{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;display:flex;gap:14px;justify-content:space-between;padding:14px}.analysis-card.black-game{border-left:4px solid #34312f}.analysis-card.white-game{border-left:4px solid #f1f1f1}.analysis-card div{display:flex;flex-direction:column;gap:4px}.analysis-card span{color:var(--tc-dull-text);font-size:13px}.analysis-card a{color:var(--tc-highlight);font-weight:900;text-decoration:none}.link-button{background:transparent;border:0;color:var(--tc-highlight);cursor:pointer;font:inherit;font-weight:900;padding:0}.analysis-import-card textarea{min-height:180px}.analysis-controls{justify-content:flex-start}.analysis-engine-panel{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-engine-panel article{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:12px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px}.analysis-engine-panel span{color:var(--tc-dull-text);font-size:12px;font-weight:900;text-transform:uppercase}.analysis-engine-panel strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-engine-panel .rating-5{border-color:#2ecc71}.analysis-engine-panel .rating-4{border-color:#7bd88f}.analysis-engine-panel .rating-3{border-color:#f1c40f}.analysis-engine-panel .rating-2{border-color:#f39c12}.analysis-engine-panel .rating-1{border-color:#e74c3c}.stockfish-lines-card{display:grid;gap:9px}.analysis-return-row{display:flex;justify-content:flex-end}.stockfish-lines-head,.stockfish-line-row{align-items:center;display:flex;gap:10px}.stockfish-lines-head{justify-content:space-between}.stockfish-lines-head span{color:var(--tc-dull-text);font-size:12px;font-weight:900}.stockfish-line-row{background:var(--tc-background-lighter);border-radius:8px;min-width:0;padding:8px}.stockfish-line-row strong{color:var(--tc-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stockfish-eval{border-radius:5px;font-size:12px;font-weight:900;min-width:58px;padding:4px 8px;text-align:center}.stockfish-eval.white{background:#fff;color:#111}.stockfish-eval.black{background:#111;color:#fff}.analysis-side .analysis-engine-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-side .analysis-engine-panel article,.analysis-side .analysis-summary-card{padding:12px}.analysis-side .analysis-summary-head,.analysis-side .analysis-accuracy-row{grid-template-columns:1fr}.analysis-stars{color:var(--tc-dull-text);display:inline-flex;gap:1px}.analysis-stars button{background:transparent;border:0;color:inherit;cursor:default;font:inherit;font-size:18px;line-height:1;padding:0 1px}.analysis-stars.interactive button{cursor:pointer;font-size:36px;transition:transform .12s ease}.analysis-stars.interactive button:hover{transform:scale(1.08)}.analysis-stars .filled{color:var(--tc-highlight)}.analysis-scope-actions,.review-options-grid{display:grid;gap:10px}.game-review-card{display:grid;gap:14px}.under-board-review-card{width:min(100%,calc(100vh - 120px),820px)}.under-board-review-card .analysis-stars{justify-content:center}.under-board-review-card h2,.under-board-review-card .muted{text-align:center}.game-review-card h2,.game-review-card h3{margin:0}.game-review-card textarea{min-height:92px}.rating-panels-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.rating-panels-row div,.discrepancy-grid div{background:var(--tc-background-lighter);border-radius:10px;padding:12px}.rating-panels-row span,.discrepancy-grid span{color:var(--tc-dull-text);display:block;font-size:12px;font-weight:900;margin-bottom:6px;text-transform:uppercase}.discrepancy-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.discrepancy-grid strong{display:block;font-size:24px}.analysis-summary-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:16px}.analysis-summary-head,.analysis-accuracy-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-summary-head div,.analysis-accuracy-row div{background:var(--tc-background-lighter);border-radius:10px;padding:12px}.analysis-summary-card span{color:var(--tc-dull-text);display:block;font-size:12px;font-weight:900;margin-bottom:5px;text-transform:uppercase}.analysis-summary-card strong{color:var(--tc-text)}.analysis-chart-toggle{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-chart-toggle button{background:var(--tc-background-dark);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);cursor:pointer;font:inherit;font-size:12px;font-weight:800;padding:10px}.analysis-chart-toggle button.selected{background:var(--tc-highlight);border-color:var(--tc-highlight);color:#fff}.analysis-chart-surface{background:var(--tc-background-dark);border:1px solid var(--tc-border);border-radius:16px;display:grid;gap:8px;padding:12px}.analysis-chart-surface h3{color:var(--tc-text);font-size:15px;margin:0}.analysis-chart-surface svg{display:block;height:auto;width:100%}.analysis-chart-legend{display:flex;flex-wrap:wrap;gap:8px 10px}.analysis-chart-legend span{align-items:center;color:var(--tc-dull-text);display:inline-flex;font-size:11px;font-weight:700;gap:6px}.analysis-chart-legend i{border-radius:999px;display:inline-block;height:10px;width:10px}.analysis-chart-legend i.line{height:2px;width:14px}.chart-grid-line{stroke:#ffffff14;stroke-width:1}.eval-line{fill:none;stroke:var(--tc-text);stroke-width:2.5}.analysis-chart-empty{align-items:center;color:var(--tc-dull-text);display:flex;font-size:13px;font-weight:700;height:140px;justify-content:center}.analysis-quality-table{display:flex;flex-direction:column;gap:8px}.analysis-quality-header,.analysis-quality-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 70px 70px}.analysis-quality-header{color:var(--tc-dull-text);font-size:12px;font-weight:900;text-transform:uppercase}.analysis-quality-header span,.analysis-quality-row span{margin:0}.analysis-quality-row{background:var(--tc-background-lighter);border-radius:10px;padding:10px 12px}.analysis-quality-row span{align-items:center;color:var(--tc-text);display:flex;flex-direction:row;font-size:13px;gap:8px;text-transform:none}.quality-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.quality-dot.rating-5{background:green}.quality-dot.rating-4{background:#32cd32}.quality-dot.rating-3{background:#ffdf00}.quality-dot.rating-2{background:orange}.quality-dot.rating-1{background:red}.settings-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-menu{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));width:100%}.settings-menu-row{align-content:space-between;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);cursor:pointer;display:grid;font:inherit;gap:12px;grid-template-columns:44px minmax(0,1fr);min-height:128px;padding:18px;text-align:left;transition:background .14s ease,border-color .14s ease,transform .14s ease}.settings-menu-row:hover{background:var(--tc-background-lighter);border-color:#ffffff47;transform:translateY(-1px)}.settings-menu-row.danger .settings-menu-icon{background:var(--tc-highlight);color:var(--tc-background-dark)}.settings-menu-icon{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;display:inline-flex;font-size:16px;font-weight:900;height:42px;justify-content:center;width:42px}.settings-menu-icon .ionicon{height:20px;width:20px}.settings-menu-copy{display:grid;gap:4px;min-width:0}.settings-menu-copy strong{color:var(--tc-text);font-size:18px;line-height:1.1}.settings-menu-copy span{color:var(--tc-text-muted);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:normal}.settings-menu-arrow{color:var(--tc-text-muted);font-size:28px;font-weight:300;grid-column:1 / -1;justify-self:end;line-height:1}.settings-section-title{grid-column:1 / -1}.settings-section-title h2{color:var(--tc-text);font-size:22px;margin:0}.settings-wide{grid-column:1 / -1}.theme-grid,.piece-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.theme-card,.piece-card{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:10px;min-height:92px;padding:12px;text-align:left}.theme-card.selected,.piece-card.selected{border-color:var(--tc-highlight);box-shadow:inset 0 0 0 1px var(--tc-highlight)}.theme-card strong,.piece-card strong{align-self:flex-start;background:var(--tc-highlight);border-radius:999px;color:var(--tc-background-dark);font-size:11px;font-weight:900;padding:4px 8px}.theme-title,.piece-card>span:first-child{font-size:14px;font-weight:900}.theme-swatches,.piece-preview{display:flex;flex-wrap:wrap;gap:7px}.theme-swatches i{border:1px solid rgba(255,255,255,.22);border-radius:999px;display:inline-block;height:26px;width:26px}.piece-preview img{background:#ffffff14;border:1px solid var(--tc-border);border-radius:8px;height:34px;object-fit:contain;padding:3px;width:34px}.auth-card h2{font-size:18px;margin:0 0 4px}.auth-card a{color:var(--tc-highlight);font-weight:900;text-decoration:none}.auth-card a.button{color:#fff}.auth-card a.button.subtle{color:var(--tc-text)}.contact-modal-backdrop{padding:24px}.contact-modal{max-height:82vh;max-width:520px;overflow-y:auto;padding:26px 18px 20px;position:relative;width:min(92vw,520px)}.contact-modal>h2,.contact-modal>p{text-align:center}.contact-modal>h2{font-size:24px;margin:0 0 6px}.contact-modal>p{margin:0 24px 14px}.contact-modal-close{background:transparent;border:0;color:var(--tc-text);cursor:pointer;font-size:28px;line-height:1;padding:4px 8px;position:absolute;right:12px;top:10px}.contact-modal-form-card,.contact-modal-info-card{background:var(--tc-background-dark);border:1px solid var(--tc-border);border-radius:16px;padding:14px}.contact-modal-form-card{display:grid;gap:12px}.contact-modal-form-card label{color:var(--tc-text);display:grid;font-size:13px;font-weight:800;gap:8px}.contact-modal-form-card input,.contact-modal-form-card textarea{background:#fff;border:1px solid var(--tc-off-white);border-radius:5px;color:var(--tc-background-dark);font:inherit;outline:none;padding:10px;width:100%}.contact-modal-form-card input{min-height:50px}.contact-modal-form-card textarea{line-height:1.45;min-height:150px;resize:vertical}.contact-modal-form-card input::placeholder,.contact-modal-form-card textarea::placeholder{color:#777;opacity:1}.contact-modal-form-card input:focus,.contact-modal-form-card textarea:focus{border-color:var(--tc-highlight);box-shadow:0 0 0 2px var(--tc-highlight-trans)}.contact-modal-form-card .button{justify-self:center;margin-top:2px}.contact-modal-info-card{align-items:center;display:grid;gap:6px;margin-top:12px;text-align:center}.contact-modal-info-card span{color:var(--tc-dull-text)}.contact-modal-info-card a{color:var(--tc-text);font-size:16px;font-weight:800;text-decoration:underline}.settings-toggle{background:var(--tc-background-dark);margin:0}.danger-zone{border-color:#f08f8f73}.board-shell{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(420px,1fr) minmax(220px,280px)}.board-shell-full{display:block;width:100%}.board-shell-full .web-board{width:min(100%,calc(100vh - 88px),960px)}.board-panel{background:transparent;border:0;border-radius:0;padding:0;position:relative;width:100%}.board-head{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:10px}.board-head h1{font-size:clamp(20px,2.4vw,30px)}.board-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:10px}.board-actions button{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:9px 12px}.promotion-popover button{background:#f0f0f0;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 2px 5px #0000002e;cursor:pointer;padding:10px}.web-board{--board-dark: #acacac;--board-last-move: rgba(0, 0, 0, .24);--board-legal-dark: rgba(255, 255, 255, .5);--board-legal-light: rgba(0, 0, 0, .5);--board-light: #d1d1d1;--board-selected: rgba(227, 184, 102, .75);aspect-ratio:1;border:2px solid rgba(0,0,0,.35);border-radius:8px;container-type:inline-size;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));overflow:hidden;position:relative;touch-action:none;width:min(100%,calc(100vh - 88px),960px)}.board-square{align-items:center;border:0;cursor:pointer;display:flex;justify-content:center;min-width:0;min-height:0;padding:0;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.board-square.light{background-color:var(--board-light)}.board-square.dark{background-color:var(--board-dark)}.board-square.last-move:before,.board-square.selected:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.board-square.last-move:before{background:var(--board-last-move)}.board-square.selected:before{background:var(--board-selected)}.board-square.drag-target{box-shadow:inset 0 0 0 2px #0000002e,inset 0 3px 5px #0003,inset 0 -3px 5px #00000024;z-index:4}.annotation-square{border:7px solid var(--annotation-square);border-radius:4px;box-sizing:border-box;inset:0;opacity:.9;pointer-events:none;position:absolute;z-index:3}.annotation-sticker{align-items:center;background:var(--sticker-bg);border:1px solid rgba(48,46,43,.18);border-radius:4px;box-shadow:0 1px 3px #00000029;color:var(--sticker-color);display:flex;font-size:clamp(12px,2.4vw,22px);font-weight:700;height:46%;justify-content:center;line-height:1;pointer-events:none;position:absolute;right:-4%;top:-4%;width:46%;z-index:6}.annotation-layer{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%;z-index:5}.board-square.legal:not(.capture):after{background:var(--board-legal-light);border-radius:999px;content:"";height:30%;position:absolute;width:30%;z-index:3}.board-square.dark.legal:not(.capture):after{background:var(--board-legal-dark)}.board-square.capture{--capture-corner: var(--board-legal-light);background-image:linear-gradient(135deg,var(--capture-corner) 0 50%,transparent 50%),linear-gradient(225deg,var(--capture-corner) 0 50%,transparent 50%),linear-gradient(45deg,var(--capture-corner) 0 50%,transparent 50%),linear-gradient(315deg,var(--capture-corner) 0 50%,transparent 50%);background-position:top left,top right,bottom left,bottom right;background-repeat:no-repeat;background-size:24% 24%}.board-square.dark.capture{--capture-corner: var(--board-legal-dark)}.board-square img{height:93%;object-fit:contain;pointer-events:none;position:relative;transition:transform .15s ease,opacity .12s ease;width:93%;z-index:2}.drag-piece{height:clamp(84px,11.5vw,122px);object-fit:contain;pointer-events:none;position:fixed;transform:translate(-50%,-50%) scale(1.06);width:clamp(84px,11.5vw,122px);z-index:999}.square-label{color:var(--board-dark);font-size:clamp(9px,1.45vw,16px);font-weight:600;line-height:1;position:absolute;z-index:4}.file-label{bottom:4px;right:4px}.rank-label{left:4px;top:4px}.board-square.dark .square-label{color:var(--board-light)}@container (max-width: 300px){.square-label{display:none}}.promotion-popover{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 12px 34px #00000052;display:flex;gap:10px;left:50%;padding:18px 14px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:12}.promotion-backdrop{background:#00000080;border:0;border-radius:8px;cursor:pointer;inset:0;padding:0;position:absolute;z-index:11}.promotion-popover img{height:44px;width:44px}.board-sidebar{display:flex;flex-direction:column;gap:10px}.board-sidebar .auth-card{padding:14px}.session-title-card h2,.board-status-card h2{font-size:20px;line-height:1.15}.session-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.session-meta-row span{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:999px;color:var(--tc-dull-text);font-size:12px;font-weight:800;padding:5px 8px}.puzzle-session-status{display:flex;flex-direction:column;gap:4px;margin:0}.puzzle-session-status strong{color:var(--tc-text);font-size:15px}.session-title-card .board-actions,.board-status-card .board-actions{margin-top:12px}.blindfold-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(360px,390px)}.blindfold-setup-hero,.blindfold-preview-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px}.blindfold-setup-hero{margin-bottom:18px;padding:18px}.blindfold-setup-hero h1{font-size:26px;margin:4px 0 8px}.blindfold-setup-hero p:last-child{color:var(--tc-dull-text);margin:0}.blindfold-preview-card{margin-top:14px;overflow:hidden;padding:10px}.blindfold-board{width:min(100%,620px)}.blindfold-board.preview,.blindfold-web-preview{margin:0 auto;max-width:360px}.blindfold-web-preview .board-panel,.blindfold-web-preview .web-board{width:100%}.blindfold-no-board{align-items:center;aspect-ratio:1;background:var(--tc-background-light);border:2px solid var(--tc-border-strong);border-radius:14px;color:var(--tc-text);display:flex;flex-direction:column;justify-content:center;max-width:620px;width:min(100%,620px)}.blindfold-no-board.preview{margin:0 auto;max-width:360px;min-height:180px}.blindfold-no-board strong{font-size:28px}.blindfold-no-board span{color:var(--tc-dull-text);margin-top:8px}.blindfold-marker{border-radius:999px;display:block;height:42%;position:relative;width:42%;z-index:1}.blindfold-marker.white{background:#f4f4f4;border:2px solid rgba(48,46,43,.32)}.blindfold-marker.black{background:#363431;border:2px solid rgba(255,255,255,.28)}.blindfold-marker.neutral{background:#d8d8d8;border:2px solid rgba(48,46,43,.24)}.piece-colorless{filter:grayscale(1);opacity:.92}.status-row{align-items:start;display:flex;gap:10px;justify-content:space-between}.status-row h2{font-size:16px;line-height:1.25;margin:0 0 12px}.status-row span{color:var(--tc-dull-text);font-size:12px;font-weight:800;white-space:nowrap}.peek-active{background:var(--tc-highlight);color:#fff}.blindfold-keyboard{display:flex;flex-direction:column;gap:8px}.blindfold-key-row{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(30px,1fr))}.blindfold-key-row button{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:8px;color:var(--tc-text);cursor:pointer;font:inherit;font-size:12px;font-weight:800;min-height:36px;padding:8px 4px}.blindfold-key-row button:disabled{cursor:not-allowed;opacity:.5}.blindfold-key-row .primary-key{background:var(--tc-highlight);color:#fff;grid-column:span 5}.blindfold-moves{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}.blindfold-moves div{align-items:center;display:grid;gap:8px;grid-template-columns:34px 1fr 1fr}.blindfold-moves span{color:var(--tc-dull-text);font-size:12px;font-weight:800}.blindfold-moves strong{background:var(--tc-background-lighter);border-radius:8px;font-size:13px;min-height:28px;padding:6px 8px}.web-modal-backdrop{align-items:center;background:#00000094;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.web-modal{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;box-shadow:0 20px 60px #00000059;color:var(--tc-text);max-width:420px;padding:20px;width:min(100%,420px)}.web-modal h2{margin:0 0 8px}.web-modal p{color:var(--tc-dull-text);margin:0 0 16px}.pgn-import-modal{max-width:min(620px,calc(100vw - 32px));width:min(620px,calc(100vw - 32px))}.pgn-import-modal label{color:var(--tc-dull-text);display:grid;font-size:12px;font-weight:900;gap:8px;margin-bottom:14px;text-transform:uppercase}.pgn-import-modal input,.pgn-import-modal textarea{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);font:inherit;padding:12px;text-transform:none}.pgn-import-modal textarea{min-height:220px;resize:vertical}.help-modal{max-width:min(560px,calc(100vw - 32px));padding:22px;width:min(560px,calc(100vw - 32px))}.help-modal h2{color:var(--tc-highlight);margin-bottom:16px}.help-modal-list{display:grid;gap:10px;margin-bottom:18px}.help-modal-list p{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-dull-text);line-height:1.45;margin:0;padding:12px 14px}.help-modal-list strong{color:var(--tc-text)}.annotation-modal{max-height:calc(100vh - 36px);max-width:min(1180px,calc(100vw - 32px));overflow:auto;padding:24px;width:min(1180px,calc(100vw - 32px))}.annotation-modal>.section-row{margin-bottom:16px}.annotation-modal>.section-row .button{padding-inline:22px}.engine-summary-modal{max-height:calc(100vh - 32px);max-width:min(900px,calc(100vw - 32px));overflow:auto;width:min(900px,calc(100vw - 32px))}.engine-summary-modal .summary-mode{border:0;box-shadow:none;padding:0}.annotation-modal-layout{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(480px,1fr) minmax(300px,360px)}.annotation-tools{display:flex;flex-direction:column;gap:10px}.annotation-mode-row,.annotation-chip-row,.annotation-sticker-row{display:grid;gap:8px}.annotation-mode-row{grid-template-columns:repeat(4,minmax(0,1fr))}.annotation-mode-row button,.annotation-sticker-row button{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:8px;color:var(--tc-text);cursor:pointer;font:inherit;font-size:12px;font-weight:800;min-height:34px;text-transform:capitalize}.annotation-mode-row button.selected,.annotation-sticker-row button.selected,.annotation-chip-row button.selected{border-color:var(--tc-highlight);box-shadow:0 0 0 2px var(--tc-highlight-trans)}.annotation-chip-row{grid-template-columns:repeat(4,32px);margin-top:10px}.annotation-chip-row button{border:1px solid rgba(48,46,43,.25);border-radius:999px;cursor:pointer;height:32px;width:32px}.annotation-sticker-row{align-items:center;grid-template-columns:repeat(6,34px);margin-top:10px}.annotation-sticker-row button{background:#fff;border-color:#fff;color:#000;font-size:18px;min-height:34px}.annotation-sticker-row .annotation-sticker-more{border-radius:999px;font-size:18px}.annotation-sticker-picker{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;display:grid;gap:10px;max-height:280px;overflow:auto;padding:10px}.annotation-sticker-categories{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.annotation-sticker-categories button{background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:var(--tc-text);cursor:pointer;flex:0 0 auto;font:inherit;font-size:12px;font-weight:800;padding:6px 11px}.annotation-sticker-categories button.selected{background:var(--tc-highlight);color:#fff}.annotation-sticker-grid{display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.annotation-sticker-grid button{align-items:center;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center}.annotation-sticker-grid button.selected{border-color:var(--tc-highlight);box-shadow:0 0 0 2px var(--tc-highlight-trans)}.annotation-note-card textarea{background:#fff;border:1px solid var(--tc-off-white);border-radius:10px;color:var(--tc-background-dark);font:inherit;min-height:130px;padding:10px 12px;resize:vertical}.annotation-note-card label{display:grid;gap:7px}.annotation-sideline-note{border-top:1px solid var(--tc-border);padding-top:10px}.annotation-sideline-note.selected{background:var(--tc-background-lighter);border:1px solid var(--tc-border-strong);border-radius:12px;padding:10px}.annotation-sideline-note>span{align-items:center;display:flex;justify-content:space-between}.annotation-sideline-actions{display:inline-flex;gap:10px}.annotation-sideline-note button{background:none;border:0;color:var(--tc-highlight);cursor:pointer;font:inherit;font-size:12px;font-weight:900;padding:0}.annotation-sideline-note textarea{min-height:64px}.opening-completion-modal{max-width:560px;width:min(560px,calc(100vw - 32px))}.add-line-modal{display:grid;gap:18px;max-height:calc(100vh - 36px);max-width:min(920px,calc(100vw - 32px));overflow:auto;padding:24px;width:min(840px,calc(100vw - 32px))}.add-line-modal .section-row{align-items:center;gap:14px;margin:0}.add-line-modal .section-row h2,.add-line-modal .segmented{margin:0}.add-line-modal label{color:var(--tc-text);display:grid;font-size:13px;font-weight:900;gap:9px}.add-line-modal input,.add-line-modal textarea{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);font:inherit;outline:none;padding:12px 14px;width:100%}.add-line-modal input{min-height:46px}.add-line-modal textarea{line-height:1.45;min-height:180px;resize:vertical}.add-line-modal input:focus,.add-line-modal textarea:focus{border-color:var(--tc-highlight);box-shadow:0 0 0 3px #e3b86629}.add-line-board{display:grid;gap:12px}.add-line-board .web-board{width:min(100%,520px)}.add-line-modal .board-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.add-line-modal .button{margin-top:0}.summary-hero-card{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:14px;display:grid;gap:6px;margin:14px 0;padding:18px;text-align:center}.summary-hero-card span,.summary-meta-row span{color:var(--tc-dull-text);font-size:12px;font-weight:800;text-transform:uppercase}.summary-hero-card strong{color:var(--tc-highlight);font-size:42px;line-height:1}.summary-hero-card p{margin:0}.summary-meta-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.summary-meta-row div{background:var(--tc-background);border:1px solid var(--tc-border);border-radius:12px;display:grid;gap:4px;padding:12px}.summary-meta-row strong{overflow-wrap:anywhere}.modal-actions{align-items:stretch;display:grid;grid-template-columns:1fr}.session-strip.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.move-list{display:flex;flex-wrap:wrap;gap:8px}.move-pill{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:8px;color:var(--tc-text);font-size:13px;font-weight:800;padding:6px 8px}.board-tools-card{max-height:260px;overflow:auto}.move-history-card{max-height:none}.history-controls{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}.history-controls button{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:7px;color:var(--tc-text);cursor:pointer;font-size:12px;font-weight:900;min-height:32px}.history-controls button:hover,.history-controls button:focus-visible{border-color:var(--tc-highlight);box-shadow:0 0 0 1px var(--tc-highlight-trans)}.history-controls button:disabled{cursor:not-allowed;opacity:.45}.history-controls button:disabled:hover{border-color:var(--tc-border);box-shadow:none}.move-history-table-wrap{border:1px solid var(--tc-border);border-radius:8px;max-height:220px;overscroll-behavior:contain;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;touch-action:pan-y}.move-history-table{border-collapse:collapse;font-size:13px;width:100%}.move-history-table tr{border-bottom:1px solid rgba(255,255,255,.06)}.move-history-table td{padding:0;width:42%}.move-history-table .move-number{color:var(--tc-dull-text);font-weight:900;padding:7px 8px;text-align:right;width:16%}.move-history-table button{background:transparent;border:0;color:var(--tc-text);cursor:pointer;font:inherit;font-weight:800;min-height:32px;padding:7px 8px;text-align:left;width:100%}.move-history-table button:hover,.move-history-table button:focus-visible,.move-history-table button.selected{background:var(--tc-highlight-trans);color:var(--tc-background-dark)}.move-history-table button:disabled{cursor:default}.move-history-table button:disabled:hover{background:transparent;color:var(--tc-text)}.button.disabled{opacity:.45;pointer-events:none}.notes-textarea{background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:8px;color:var(--tc-text);font:inherit;min-height:150px;padding:10px;resize:vertical;width:100%}.analysis-move-list{display:grid;gap:7px;max-height:220px;overflow:auto}.leading-move-list{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.leading-move-list button,.analysis-move-list button{align-items:center;background:var(--tc-background-lighter);border:1px solid var(--tc-border);border-radius:8px;color:var(--tc-text);cursor:pointer;display:grid;gap:8px;grid-template-columns:34px 1fr;padding:8px;text-align:left}.leading-move-list button:hover,.leading-move-list button:focus-visible,.analysis-move-list button.active{border-color:var(--tc-highlight);box-shadow:0 0 0 1px var(--tc-highlight-trans)}.leading-move-list span,.analysis-move-list span{color:var(--tc-dull-text);font-size:12px;font-weight:900}.leading-move-list strong,.analysis-move-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-card textarea{background:#fff;border:1px solid var(--tc-off-white);border-radius:5px;color:var(--tc-background-dark);font:inherit;min-height:92px;padding:10px 12px;resize:vertical}.center-page{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:24px;text-align:center}.center-page.policy-page{justify-content:flex-start;text-align:left}.center-page p{color:var(--tc-dull-text);line-height:1.5;max-width:520px}.policy-document{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:18px;max-width:860px;padding:28px;width:min(100%,860px)}.policy-document h1{font-size:34px;margin:0 0 10px}.policy-document h2{font-size:20px;margin:28px 0 10px}.policy-document p{max-width:none}.policy-date{font-size:13px;font-weight:900;margin:4px 0}.policy-bullet{padding-left:22px;position:relative}.policy-bullet:before{color:var(--tc-highlight);content:"-";font-weight:900;left:6px;position:absolute}.button{background:var(--tc-highlight);border:0;border-radius:14px;color:#fff;cursor:pointer;font-weight:800;margin-top:12px;padding:12px 18px;text-decoration:none}.button:disabled{cursor:wait;opacity:.7}.button.subtle{background:var(--tc-background-lighter);color:var(--tc-text)}.button-full{width:100%}.subtle-link{color:var(--tc-dull-text);margin-top:16px}.auth-page{align-items:center;display:grid;gap:36px;grid-template-columns:minmax(0,1fr) 360px;margin:0 auto;max-width:980px;min-height:100vh;padding:32px 24px}.auth-card{background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:16px;display:flex;flex-direction:column;gap:14px;padding:20px}.auth-card label{color:var(--tc-text);display:flex;flex-direction:column;font-size:13px;font-weight:800;gap:7px}.auth-card input,.auth-card select{background:#fff;border:1px solid var(--tc-off-white);border-radius:5px;color:var(--tc-background-dark);font:inherit;min-height:44px;padding:10px 12px}.checklist{display:flex;flex-wrap:wrap;gap:8px}.checklist span{background:var(--tc-background-lighter);border-radius:999px;color:var(--tc-dull-text);font-size:12px;font-weight:800;padding:6px 9px}.checklist .pass{background:#2fbf712e;color:#7ee2a9}.form-error,.form-message{border-radius:8px;font-size:14px;font-weight:800;margin:0;padding:10px 12px}.form-error{background:#fff1f2;color:#b42318}.form-message{background:#ecfdf3;color:#027a48}@media(max-width:760px){.mobile-app-gate{align-items:center;background:radial-gradient(circle at top,rgba(227,184,102,.16),transparent 38%),var(--tc-background-dark);display:flex;inset:0;justify-content:center;padding:22px;position:fixed;z-index:9999}.mobile-app-gate-card{align-items:center;background:var(--tc-background-light);border:1px solid var(--tc-border);border-radius:18px;box-shadow:0 24px 70px #0006;display:flex;flex-direction:column;gap:18px;max-width:390px;padding:28px 22px;text-align:center;width:100%}.mobile-app-gate-icon{border-radius:22px;box-shadow:0 14px 36px #0000004d;height:86px;width:86px}.mobile-app-gate-wordmark{color:var(--tc-text);font-size:30px;font-weight:900;letter-spacing:-.04em}.mobile-app-gate-copy{display:grid;gap:10px}.mobile-app-gate-copy h1{color:var(--tc-text);font-size:25px;font-weight:900;line-height:1.1;margin:0}.mobile-app-gate-copy p{color:var(--tc-dull-text);font-size:15px;font-weight:700;line-height:1.45;margin:0}.mobile-app-gate-actions{display:grid;gap:10px;width:100%}.mobile-app-gate-actions a,.mobile-app-gate-actions span{align-items:center;border-radius:10px;display:flex;font-weight:900;justify-content:center;min-height:48px;padding:12px 16px}.mobile-app-gate-actions a{background:var(--tc-highlight);border:1px solid var(--tc-highlight);color:#fff;text-decoration:none}.mobile-app-gate-actions span{background:var(--tc-background-lighter);border:1px solid var(--tc-border);color:var(--tc-dull-text)}.app-shell{display:grid;grid-template-columns:112px minmax(0,1fr)}.home-shell{display:block}.topbar{align-content:start;align-items:stretch;border-bottom:0;border-right:1px solid var(--tc-border);display:flex;flex-direction:column;gap:14px;grid-column:1;grid-row:1;height:100vh;justify-content:flex-start;padding:14px 10px;position:sticky;top:0;z-index:20}.topbar-left{align-items:center;flex-direction:row;justify-content:center}.brand span{display:none}.nav-links{align-items:stretch;flex-direction:column;flex-wrap:nowrap;gap:8px;grid-column:auto;width:100%}.nav-links a,.training-menu-trigger,.nav-button{align-items:center;background:#ffffff08;border:1px solid var(--tc-border);border-radius:12px;color:var(--tc-text);display:flex;font-size:12px;font-weight:900;justify-content:center;min-height:40px;padding:8px;text-align:center;width:100%}.workspace{grid-template-columns:1fr;grid-column:2;padding:20px 16px}.home-shell .workspace{grid-column:auto}.settings-menu{grid-template-columns:1fr}.settings-menu-row{align-items:center;grid-template-columns:38px minmax(0,1fr) 24px;min-height:64px;padding:14px}.settings-menu-icon{font-size:14px;height:34px;width:34px}.settings-menu-copy strong{font-size:16px}.settings-menu-copy span{font-size:13px;white-space:nowrap}.settings-menu-arrow{grid-column:auto}.status-grid,.dashboard-hero,.dashboard-menu-grid,.main-home-feature-actions,.main-home-mobile,.main-home-grid,.main-home-grid.compact,.due-actions-row,.metric-grid,.time-row,.mode-grid,.control-grid,.session-strip,.session-play-layout,.analysis-review-layout,.blindfold-puzzle-layout,.level-card,.openings-layout,.settings-grid,.board-shell,.blindfold-layout,.blindfold-play-layout{grid-template-columns:1fr}.board-head{flex-direction:column}.play-history-column,.session-side,.analysis-side,.session-play-layout>.board-sidebar{position:static}.session-play-layout .puzzle-board-wrap,.analysis-review-layout .puzzle-board-wrap,.session-play-layout .board-panel{justify-content:center}.session-play-layout .puzzle-board-wrap,.analysis-review-layout .puzzle-board-wrap,.analysis-board-column,.session-play-layout .board-panel{order:1}.session-side,.analysis-side,.session-play-layout>.board-sidebar{order:2}.play-history-column{order:3}.blindfold-table-head,.blindfold-table-row{grid-template-columns:48px minmax(0,1fr)}.blindfold-table-head span:nth-child(3),.blindfold-table-head span:nth-child(4){display:none}.line-card,.analysis-card,.repertoire-card div,.form-actions{align-items:flex-start;flex-direction:column}.line-card,.opening-actions,.opening-summary-metrics{grid-template-columns:1fr}.line-actions-row{justify-content:flex-start}.feature-head{flex-direction:column}.study-time-chart{align-items:flex-start;flex-direction:column}.auth-page{grid-template-columns:1fr}}
