.app-shell{flex-direction:column;gap:20px;max-width:1120px;margin:0 auto;padding:32px 20px 48px;display:flex}.splash-shell{flex-direction:column;gap:32px;max-width:560px;min-height:100dvh;margin:0 auto;padding:48px 24px 40px;display:flex}.splash-header{text-align:center}.splash-header h1{margin:8px 0 10px;font-size:2.2rem}:root{--duotone-active-grayscale:0;--duotone-active-contrast:1.05;--duotone-active-brightness:1.02;--duotone-active-tint-opacity:0;--duotone-inactive-grayscale:1;--duotone-inactive-contrast:1.15;--duotone-inactive-brightness:.85;--duotone-inactive-tint-opacity:.55}.home-shell{height:100dvh;position:relative;overflow:hidden}.home-topbar{z-index:10;padding:var(--space-4) var(--space-4) var(--space-8);pointer-events:none;background:linear-gradient(#0a0e12e6 0%,#0a0e1200 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.home-topbar>*{pointer-events:auto}.home-title-group{flex-direction:column;gap:2px;display:flex}.home-title{font-size:1.1rem;font-weight:var(--font-weight-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-primary)}.home-tagline{font-size:.72rem;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.avatar-button{border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;text-decoration:none;transition:border-color .15s,color .15s;display:grid}.avatar-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.avatar-button svg{width:20px;height:20px}.avatar-button-photo{padding:0;overflow:hidden}.avatar-button-photo img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.cluster-scene{height:100%;padding:0 var(--space-4) 84px;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:relative;overflow:hidden}.cluster-label{z-index:0;text-align:center;padding:0 var(--space-2);text-transform:uppercase;letter-spacing:-.02em;color:var(--color-border);-webkit-user-select:none;user-select:none;pointer-events:none;justify-content:center;align-items:center;font-size:clamp(3rem,17vw,6.5rem);font-weight:900;line-height:.85;display:flex;position:absolute;inset:0}@supports (-webkit-text-stroke:1px black) or (text-stroke:1px black){.cluster-label{color:#0000;-webkit-text-stroke:1.5px var(--color-border);text-stroke:1.5px var(--color-border)}}.cluster{z-index:1;touch-action:pan-y;width:100%;height:70vh;max-height:640px;position:relative}.cluster-slot{font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:block;position:absolute}.cluster-figure-wrap{isolation:isolate;height:100%;line-height:0;display:inline-block;position:relative}.cluster-figure{width:auto;height:100%;max-width:var(--figure-max-width,80vw);object-fit:contain;filter:grayscale(calc(var(--duotone-inactive-grayscale) + (var(--duotone-active-grayscale) - var(--duotone-inactive-grayscale)) * var(--active-amount,0))) contrast(calc(var(--duotone-inactive-contrast) + (var(--duotone-active-contrast) - var(--duotone-inactive-contrast)) * var(--active-amount,0))) brightness(calc(var(--duotone-inactive-brightness) + (var(--duotone-active-brightness) - var(--duotone-inactive-brightness)) * var(--active-amount,0)));display:block}.cluster-figure-tint{background:linear-gradient(190deg, var(--color-accent) 0%, var(--color-bg) 80%);mix-blend-mode:color;opacity:calc(var(--duotone-inactive-tint-opacity) + (var(--duotone-active-tint-opacity) - var(--duotone-inactive-tint-opacity)) * var(--active-amount,0));pointer-events:none;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.cluster-caption{z-index:1;align-items:center;gap:var(--space-1);text-align:center;padding-top:var(--space-3);flex-direction:column;display:flex;position:relative}.cluster-tagline{color:var(--color-text-secondary);font-size:.95rem}.cluster-tap-hint{color:var(--color-text-secondary);opacity:.6;font-size:.72rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.14em}.carousel-dots{left:0;right:0;bottom:var(--space-6);z-index:10;justify-content:center;align-items:center;gap:20px;display:flex;position:absolute}.carousel-dots:before{content:"";background:var(--color-border);z-index:0;width:86px;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dot{z-index:1;border-radius:var(--radius-pill);background:var(--color-border);width:6px;height:6px;transition:background .2s,box-shadow .2s;position:relative}.dot.active{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent-muted)}@media (orientation:landscape){.cluster-scene{padding:0 0 0 var(--space-6);flex-direction:row;justify-content:flex-start;align-items:center}.cluster{flex-shrink:0;width:56vw;height:80vh}.cluster-label{text-align:right;padding:0 var(--space-8) 0 0;justify-content:flex-end;font-size:clamp(1.75rem,6vw,3.25rem)}.cluster-caption{right:var(--space-8);text-align:right;align-items:flex-end;max-width:40vw;padding-top:0;position:absolute;bottom:18%}}.splash-footer{justify-content:center;padding-top:8px;display:flex}.profile-button{color:#105991;background:#fff;border:1.5px solid #105991;border-radius:50px;align-items:center;gap:8px;padding:11px 24px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.profile-button:hover{color:#fff;background:#105991}.profile-content{flex-direction:column;gap:20px;display:flex}.profile-card{text-align:center;background:#ffffffe6;border:1px solid #d9dde2;border-radius:18px;padding:28px}.profile-avatar-photo{object-fit:cover;background:#eef5fc;border:3px solid #fff;border-radius:50%;width:96px;height:96px;margin:0 auto 12px;display:block;box-shadow:0 4px 14px #10599140}.profile-card h2,.profile-section h3{color:#16324a}.profile-meta{color:#5c7490;margin:4px 0 0;font-size:.9rem}.profile-section{background:#ffffffe6;border:1px solid #d9dde2;border-radius:18px;padding:20px}.profile-section h3{margin:0 0 10px}.empty-hint{color:#6b8099;margin:0;font-size:.9rem}.session-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.session-item{background:#fbfdff;border:1px solid #e4e9ef;border-radius:12px;padding:12px 14px}.session-item-main{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.session-item-sport{color:#16324a;font-weight:700}.session-item-date{color:#7c93a8;font-size:.8rem}.session-item-detail{flex-direction:column;gap:2px;margin-top:4px;display:flex}.session-item-match{color:#105991;font-size:.85rem;font-weight:600}.session-item-note{color:#5c7490;font-size:.82rem}.analyze-shell{background:var(--color-bg);height:100dvh;color:var(--color-text-primary);position:relative;overflow:hidden}.analyze-topbar{z-index:10;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-8);pointer-events:none;background:linear-gradient(#0a0e12e6 0%,#0a0e1200 100%);display:flex;position:absolute;top:0;left:0;right:0}.analyze-topbar>*{pointer-events:auto}.topbar-title{min-width:0;font-size:1rem;font-weight:var(--font-weight-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mic-indicator{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.mic-dot{border-radius:var(--radius-pill);background:var(--color-text-secondary);opacity:.6;width:10px;height:10px;transition:background .2s,opacity .2s}.mic-dot.listening{background:var(--color-accent);opacity:1;animation:1.6s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 var(--color-accent-muted)}50%{box-shadow:0 0 0 8px #0000}}.mic-toast{top:calc(100% + var(--space-2));width:max-content;max-width:220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);opacity:0;pointer-events:none;font-size:.78rem;line-height:1.3;transition:opacity .25s,transform .25s;position:absolute;right:0;transform:translateY(-4px);box-shadow:0 8px 24px #00000059}.mic-toast.visible{opacity:1;transform:translateY(0)}.precamera-prompt{z-index:1;justify-content:center;align-items:center;gap:var(--space-6);min-height:100dvh;padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;display:flex;position:relative}.primary-button{background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-pill);font-size:1rem;font-weight:var(--font-weight-semibold);cursor:pointer;border:none;padding:14px 32px;transition:transform .15s,box-shadow .15s}.primary-button:hover{box-shadow:0 0 24px var(--color-accent-muted)}.primary-button:active{transform:scale(.97)}.secondary-text-button{color:var(--color-text-secondary);font-size:.85rem;font-weight:var(--font-weight-semibold);text-underline-offset:3px;cursor:pointer;text-decoration:underline;display:inline-block}.sr-only-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.precamera-status{max-width:320px;color:var(--color-text-secondary);opacity:.8;font-size:.85rem}.onboarding-steps{gap:var(--space-2);text-align:left;flex-direction:column;width:100%;max-width:300px;margin:0;padding:0;list-style:none;display:flex}.onboarding-step{align-items:center;gap:var(--space-3);display:flex}.onboarding-step-icon{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.onboarding-step-icon svg{width:15px;height:15px}.onboarding-step-text{color:var(--color-text-secondary);font-size:.82rem;line-height:1.3}.viewfinder{background:#000;position:absolute;inset:0;overflow:hidden}.viewfinder-stage{position:absolute;inset:0}.score-pills{right:var(--space-3);z-index:5;gap:var(--space-2);flex-direction:column;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.score-pill{min-width:64px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e12b8;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.score-pill-label{font-size:.65rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.score-pill-value{font-size:1.1rem;font-weight:var(--font-weight-heading);color:var(--color-text-primary)}.score-pill-scale{font-size:.62em;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.score-pill-good .score-pill-value{color:var(--color-score-good)}.score-pill-okay .score-pill-value{color:var(--color-score-okay)}.score-pill-bad .score-pill-value{color:var(--color-score-bad)}.viewfinder-controls{z-index:5;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4) var(--space-8);text-align:center;background:linear-gradient(#0a0e1200 0%,#0a0e12e0 100%);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.viewfinder-status{max-width:320px;min-height:1.2em;padding:0 var(--space-2);color:var(--color-text-secondary);text-shadow:0 1px 4px #000000d9;font-size:.85rem}.session-button{border-radius:var(--radius-pill);background:var(--color-accent);width:72px;height:72px;color:var(--color-bg);cursor:pointer;border:none;flex-shrink:0;place-items:center;transition:background .2s,transform .15s,box-shadow .2s;display:grid;box-shadow:0 8px 24px #00000073}.session-button:active{transform:scale(.95)}.session-button-icon{width:22px;height:22px}.session-button-icon-stop{background:var(--color-bg);border-radius:5px;width:20px;height:20px}.session-button-icon-record{border-radius:var(--radius-pill);background:var(--color-danger);width:26px;height:26px}.session-button-stop{background:var(--color-danger);animation:1.4s ease-in-out infinite session-pulse}@keyframes session-pulse{0%,to{box-shadow:0 0 #f871718c,0 8px 24px #00000073}50%{box-shadow:0 0 0 14px #f8717100,0 8px 24px #00000073}}.session-button-busy{background:var(--color-surface-raised);color:var(--color-text-secondary);cursor:not-allowed;box-shadow:none}.session-button:disabled{cursor:not-allowed}.session-button-caption{font-size:.78rem;font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.sheet-scrim{z-index:7;cursor:pointer;background:#00000073;border:none;margin:0;padding:0;animation:.25s ease-out sheet-scrim-fade-in;position:absolute;inset:0}@keyframes sheet-scrim-fade-in{0%{opacity:0}to{opacity:1}}.results-sheet{z-index:8;gap:var(--space-4);height:92vh;padding:var(--space-3) var(--space-4) var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;transition:transform .25s ease-out,height .25s ease-out;animation:.3s ease-out sheet-slide-up;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -16px 40px #00000080}.results-sheet.dragging{transition:none}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.results-sheet-drag-handle{padding:var(--space-2) 0;margin:calc(var(--space-2) * -1) 0 calc(var(--space-2) * -1);cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;display:flex}.results-sheet-drag-handle:active{cursor:grabbing}.results-sheet-handle{border-radius:var(--radius-pill);background:var(--color-border);flex-shrink:0;width:40px;height:4px}.results-sheet-scores{gap:var(--space-3);flex-shrink:0;grid-template-columns:repeat(3,1fr);display:grid}.results-sheet-scores.results-sheet-scores-4{grid-template-columns:repeat(4,1fr)}.results-sheet-score{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.results-sheet-score-value{font-size:2.1rem;font-weight:var(--font-weight-heading);color:var(--color-text-primary);line-height:1}.results-sheet-score-value.score-good{color:var(--color-score-good)}.results-sheet-score-value.score-okay{color:var(--color-score-okay)}.results-sheet-score-value.score-bad{color:var(--color-score-bad)}.results-sheet-score-label{font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.results-sheet-body{gap:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.results-sheet-suggestions{gap:var(--space-2);flex-direction:column;flex-shrink:0;margin:0;padding:0;list-style:none;display:flex}.results-sheet-suggestions li{padding-left:var(--space-4);color:var(--color-text-secondary);font-size:.88rem;line-height:1.4;position:relative}.results-sheet-suggestions li:before{content:"";border-radius:var(--radius-pill);background:var(--color-accent);width:5px;height:5px;position:absolute;top:.5em;left:0}.results-sheet-again{width:100%;margin:var(--space-3) 0 var(--space-2);flex-shrink:0}@media (orientation:landscape){.score-pills{top:88px;transform:none}.viewfinder-controls{padding:var(--space-4) var(--space-4) var(--space-6)}.results-sheet{padding:var(--space-3) var(--space-6) var(--space-4)}}.brand-logo{background:#000;border-radius:20px;width:96px;height:96px;margin:0 0 16px;display:block;box-shadow:0 10px 24px #15293f2e}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#0f5e9c;margin:0 0 6px;font-size:.84rem;font-weight:700}.subtitle{max-width:640px;margin:8px 0 0}button{color:#fff;cursor:pointer;background:linear-gradient(#1c73b4,#105991);border:1px solid #105991;border-radius:10px;padding:9px 14px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.45}.serve-video,.overlay,.replay-canvas,.replay-video,.recording-canvas{width:100%;height:100%;position:absolute;inset:0}.serve-video{object-fit:cover;z-index:1;background:#000;display:block}.overlay{pointer-events:none;z-index:2}.replay-canvas,.recording-canvas{pointer-events:none;z-index:3;opacity:0}.replay-canvas.visible{opacity:1}.replay-video{z-index:4;opacity:1;object-fit:cover;background:#000}.empty-state{text-align:center;color:#3f5970;background:#f6fbff;border:2px dashed #b8cadb;border-radius:12px;place-items:center;min-height:300px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0;display:grid}.metric-grid article{background:#f6fbff;border:1px solid #dce8f3;border-radius:10px;padding:10px}.metric-grid h3{margin:0 0 4px;font-size:.88rem}.metric-grid p{color:#0e5d98;margin:0;font-size:1.35rem;font-weight:700}.frames{color:#38546e;margin:0 0 10px}.similarity-viz{background:linear-gradient(#f8fbff,#fefefe);border:1px solid #dbe7f3;border-radius:12px;margin:0 0 14px;padding:12px}.similarity-viz h3{margin:0;font-size:.95rem}.similarity-meta{color:#45627d;margin:4px 0 10px;font-size:.84rem}.timeline-heatmap{background:#eef5fc;border:1px solid #cbdceb;border-radius:10px;align-items:flex-end;gap:2px;height:84px;padding:8px 6px;display:flex;overflow-x:auto}.timeline-bin{opacity:.95;border-radius:999px;width:3px;min-width:3px}.timeline-bin.active{outline-offset:1px;outline:2px solid #06355d}.similarity-legend{color:#5d748b;justify-content:space-between;margin-top:6px;font-size:.78rem;display:flex}.timeline-scrubber{gap:4px;margin-top:10px;display:grid}.timeline-scrubber label{color:#3f5c76;font-size:.8rem}.timeline-scrubber input[type=range]{accent-color:#0f5e9c;width:100%}.scrub-card{background:linear-gradient(#f4f9ff,#fff);border:1px solid #cfe0f1;border-radius:10px;margin-top:10px;padding:8px}.scrub-card header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.scrub-card h4{margin:0;font-size:.86rem}.scrub-card header p{color:#0f5e9c;margin:0;font-weight:700}.compare-legend{color:#4e6681;flex-wrap:wrap;gap:10px 14px;margin-top:10px;font-size:.76rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-line{border-top:2px solid #4f6175;width:20px;display:inline-block}.legend-you{border-top-style:solid}.legend-reference{border-top-style:dashed}.legend-chip{background:linear-gradient(135deg,#d93a2f,#f2b829,#26a84a);border:1px solid #7a8ea3;border-radius:50%;width:10px;height:10px;display:inline-block}.checkpoint-grid{gap:10px;margin-top:12px;display:grid}.checkpoint-card{background:#fff;border:1px solid #d7e5f2;border-radius:10px;padding:8px}.checkpoint-card header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.checkpoint-card h4{margin:0;font-size:.86rem}.checkpoint-card header p{color:#0f5e9c;margin:0;font-weight:700}.checkpoint-sides{grid-template-columns:1fr 1fr;gap:8px;display:grid}.checkpoint-side{background:#f9fcff;border:1px solid #e4edf6;border-radius:8px;padding:6px}.checkpoint-side p{color:#4e6681;margin:0 0 4px;font-size:.75rem}.checkpoint-skeleton{aspect-ratio:1;width:100%;display:block}ul{margin:0;padding-left:18px}@media (width<=980px){.app-shell{padding:20px 14px 32px}.metric-grid{grid-template-columns:1fr}}.ai-coach-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(140deg, #7c5cff24 0%, #0a0e1200 55%), var(--color-surface);flex-direction:column;flex-shrink:0;display:flex}.ai-coach-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ai-coach-header h3{color:var(--color-text-primary);margin:0;font-size:1.02rem;line-height:1.3}.ai-coach-model{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);margin:4px 0 0;font-size:.7rem}.ai-coach-speak{border-radius:var(--radius-pill);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-primary);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;display:grid}.ai-coach-speak svg{width:20px;height:20px}.ai-coach-speak.speaking{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 10px var(--color-accent-muted)}.ai-coach-analysis{color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.45}.ai-coach-drills{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ai-coach-drills li{padding-left:var(--space-4);color:var(--color-text-secondary);font-size:.86rem;line-height:1.4;position:relative}.ai-coach-drills li:before{content:"";border-radius:var(--radius-pill);background:var(--color-accent);width:5px;height:5px;position:absolute;top:.5em;left:0}.ai-coach-encouragement{color:var(--color-text-primary);margin:0;font-size:.88rem;font-style:italic}.ai-coach-loading{align-items:center;gap:var(--space-3);display:flex}.ai-coach-loading p{color:var(--color-text-secondary);margin:0;font-size:.88rem}.ai-coach-pulse{border-radius:var(--radius-pill);background:var(--color-accent);width:10px;height:10px;animation:1.1s ease-in-out infinite ai-coach-pulse}@keyframes ai-coach-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.6)}}.ai-coach-error{color:var(--color-text-secondary);margin:0;font-size:.86rem;line-height:1.4}.fireworks-key-row{gap:var(--space-2);margin-top:var(--space-2);display:flex}.fireworks-key-input{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);min-width:0;color:var(--color-text-primary);flex:1;padding:10px 14px;font-size:.9rem}.fireworks-key-input::placeholder{color:var(--color-text-secondary)}.results-sheet-no-ref{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px dashed var(--color-border);color:var(--color-text-secondary);flex-shrink:0;margin:0;font-size:.8rem;line-height:1.4}:root{--color-bg:#0a0e12;--color-surface:#12171d;--color-surface-raised:#1a2129;--color-border:#262e38;--color-accent:#22d3ee;--color-accent-strong:#67e8f9;--color-accent-muted:#22d3ee26;--color-score-good:#34d399;--color-score-okay:#fbbf24;--color-score-bad:#f87171;--color-danger:#f87171;--color-text-primary:#f5f7fa;--color-text-secondary:#8b96a5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--font-sans:"SF Pro Text", "Segoe UI", system-ui, -apple-system, sans-serif;--font-weight-heading:800;--font-weight-semibold:600;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary)}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100svh;margin:0}#root{min-height:100svh}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:var(--font-weight-heading)}
