:root{--background:#09090d;--surface:#121219;--surface-raised:#181820;--border:#ffffff1a;--border-strong:#ffffff2e;--text:#f7f2f4;--muted:#a99ca4;--primary:#f4a7b9;--primary-strong:#ff7fa0;--blue:#7dd3fc;--purple:#c4b5fd;--amber:#f6c453;--danger:#ef4444;--warning:#f59e0b;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px), var(--background);color:var(--text);background-size:42px 42px;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh}.site-nav,.workspace-header{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#09090de0;justify-content:space-between;align-items:center;gap:18px;padding:14px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{border-radius:var(--radius);background:var(--primary);color:#271018;letter-spacing:0;justify-content:center;align-items:center;width:34px;height:34px;font-weight:900;display:inline-flex}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:12px}.nav-actions,.header-status{color:var(--muted);align-items:center;gap:14px;font-size:14px;display:flex}.header-status button,.primary-link,.secondary-link,.primary-button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 13px;font-weight:800;display:inline-flex}.primary-link,.primary-button,.header-status button{background:var(--primary);color:#261018}.secondary-link{border-color:var(--border-strong);color:var(--text);background:#ffffff0a}.hero-product{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:24px;width:min(1520px,100% - 32px);margin:0 auto;padding:48px 0 34px;display:grid}.hero-copy{gap:18px;padding-top:18px;display:grid}.eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.hero-copy h1{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.04}.hero-copy p:not(.eyebrow){color:#cbbfc6;max-width:62ch;margin:0;font-size:1.05rem;line-height:1.68}.hero-actions,.analysis-controls,.sample-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-demo,.embedded-product,.workspace-shell{min-width:0}.architecture-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(1520px,100% - 32px);margin:0 auto 42px;display:grid}.architecture-band article,.coach-pane,.board-pane,.analysis-pane,.input-panel,.expert-card,.coach-card,.summary-card,.progress-card,.moment-detail,.moment-list button,.stat-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#181820f0,#121219e6)}.architecture-band article{gap:10px;padding:18px;display:grid}.architecture-band svg{color:var(--primary)}.architecture-band h2,.expert-card h2,.coach-card h2,.summary-card h2,.moment-detail h2{letter-spacing:0;margin:0;font-size:1rem}.architecture-band p,.expert-card p,.coach-card p,.summary-card p,.moment-detail p,.progress-card p{color:#bfb3ba;margin:0;font-size:.92rem;line-height:1.58}.workspace-shell{min-height:100vh}.workspace-grid,.embedded-grid{grid-template-columns:minmax(250px,.86fr) minmax(420px,1.42fr) minmax(300px,.98fr);gap:10px;height:calc(100vh - 64px);padding:10px;display:grid}.embedded-grid{grid-template-columns:minmax(230px,.8fr) minmax(360px,1.2fr) minmax(260px,.85fr);height:auto;min-height:760px;padding:0}.coach-pane,.board-pane,.analysis-pane{min-height:0;padding:12px;overflow:auto}.coach-pane,.analysis-pane{flex-direction:column;gap:12px;display:flex}.board-pane{align-content:start;gap:10px;display:grid}.pane-heading,.status-line{color:var(--text);align-items:center;gap:8px;font-weight:900;display:flex}.status-line{border:1px solid var(--border);border-radius:var(--radius);color:#e6dce1;background:#ffffff09;justify-content:flex-start;min-height:38px;padding:10px 12px;font-size:13px}.segmented,.expert-tabs,.mobile-tabs{flex-wrap:wrap;gap:6px;display:flex}.segmented button,.expert-tabs button,.mobile-tabs button,.sample-row button{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);background:#ffffff09;padding:8px 10px}.segmented button.selected,.expert-tabs button.selected,.mobile-tabs button.selected,.sample-row button:hover{color:var(--text);background:#f4a7b924;border-color:#f4a7b999}.expert-tabs{flex-direction:column}.expert-tabs button{text-align:left}.expert-card,.coach-card,.summary-card,.moment-detail,.progress-card{gap:10px;padding:14px;display:grid}.expert-card ul,.training-list{color:#d9cdd4;gap:7px;margin:0;padding-left:18px;display:grid}.expert-card strong,.coach-card strong,.coach-card b{color:var(--primary);line-height:1.5}.chat-box{gap:10px;min-height:180px;display:grid}.chat-messages{align-content:start;gap:8px;min-height:90px;max-height:220px;display:grid;overflow:auto}.chat-messages p{border-radius:var(--radius);color:#dbcfd6;background:#ffffff0b;margin:0;padding:10px}.chat-messages p.user{color:var(--text);background:#f4a7b929}.input-row{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.input-row input,.analysis-controls input,.input-panel textarea,.analysis-pane textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:#0000003d}.input-row input{min-height:40px;padding:0 10px}.input-row button{border:1px solid var(--border);border-radius:var(--radius);color:#251018;background:var(--primary)}.input-panel{gap:10px;padding:12px;display:grid}.input-panel textarea,.analysis-pane textarea{resize:vertical;min-height:110px;padding:10px;line-height:1.5}.upload-box{border-radius:var(--radius);width:fit-content;min-height:38px;color:var(--primary);border:1px dashed #f4a7b980;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:inline-flex;position:relative}.upload-box input{opacity:0;position:absolute;inset:0}.analysis-controls{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff09;padding:10px}.analysis-controls label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.analysis-controls input{width:74px;min-height:34px;padding:0 8px}.board-frame{border:1px solid var(--border);border-radius:var(--radius);background:#0000003d;justify-content:center;padding:12px;display:flex}.move-controls{justify-content:center;align-items:center;gap:12px;display:flex}.move-controls button{border:1px solid var(--border);border-radius:var(--radius);width:38px;height:38px;color:var(--text);background:#ffffff0a;justify-content:center;align-items:center;display:inline-flex}.move-controls span{min-width:86px;color:var(--muted);text-align:center}.moves-table{border:1px solid var(--border);border-radius:var(--radius);gap:4px;max-height:260px;padding:8px;display:grid;overflow:auto}.move-row{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;display:grid}.move-row>span{color:var(--muted);font-size:12px}.move-btn{border-radius:var(--radius);color:#ddd2d8;background:#ffffff0a;border:1px solid #0000;justify-content:space-between;align-items:center;gap:6px;min-width:0;min-height:34px;padding:7px 9px;display:flex}.move-btn.selected{background:#f4a7b926;border-color:#f4a7b9b8}.move-btn small{color:var(--background);background:var(--primary);border-radius:999px;padding:2px 6px;font-size:10px}.move-btn.blunder small,.quality.blunder{background:var(--danger);color:#fff}.move-btn.mistake small,.quality.mistake{background:var(--warning);color:#201207}.move-btn.inaccuracy small,.quality.inaccuracy{background:var(--amber);color:#1d1605}.quality{color:#231018;background:var(--primary);border-radius:999px;width:fit-content;padding:3px 8px;font-size:11px;font-weight:900;display:inline-flex}.moment-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.moment-detail dl div,.stat-card{padding:10px}.moment-detail dt,.stat-card span{color:var(--muted);font-size:12px}.moment-detail dd,.stat-card strong{color:var(--text);margin:3px 0 0;font-weight:900}.moment-list{gap:8px;display:grid}.moment-list button{text-align:left;color:var(--text);gap:6px;padding:12px;display:grid}.moment-list button.selected{background:#f4a7b91f;border-color:#f4a7b9a3}.moment-list small,.muted{color:var(--muted)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.eval-chart{border:1px solid var(--border);border-radius:var(--radius);background:#0000002e;width:100%;min-height:150px}.chart-zero{stroke:#ffffff2e;stroke-dasharray:4 4}.chart-line{fill:none;stroke:var(--primary);stroke-width:3px}.chart-dot{fill:var(--blue);cursor:pointer}.chart-dot.blunder{fill:var(--danger)}.chart-dot.mistake{fill:var(--warning)}.chart-dot.inaccuracy{fill:var(--amber)}.chart-cursor{stroke:var(--purple);stroke-width:2px}.progress-card div{justify-content:space-between;gap:12px;display:flex}.progress-track{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--blue));height:100%;display:block}.mobile-tabs{display:none}.tab-panel{gap:12px;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.hero-product,.workspace-grid,.embedded-grid{grid-template-columns:1fr;height:auto}.architecture-band{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-pane,.analysis-pane{max-height:none}}@media (max-width:760px){.site-nav,.workspace-header{padding:12px}.nav-actions{display:none}.hero-product{width:min(100% - 20px,720px);padding-top:26px}.hero-copy h1{font-size:2.3rem}.architecture-band{grid-template-columns:1fr;width:min(100% - 20px,720px)}.workspace-grid,.embedded-grid{padding:8px}.coach-pane{order:3}.analysis-pane{order:2}.mobile-tabs{z-index:2;background:var(--surface);padding-bottom:4px;display:flex;position:sticky;top:0}.analysis-pane .tab-panel{display:none}.analysis-pane .tab-panel.active{display:grid}.input-panel textarea{min-height:150px}.stat-grid,.moment-detail dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}
