*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}button{cursor:pointer;background:none;border:none}:root{--g700: #1a5c2a;--g600: #2d7a3a;--g500: #3d9e4d;--g400: #5ab96a;--g100: #e8f5ea;--o600: #c85c00;--o500: #e86e1a;--o100: #fdf0e6;--hit: #2d7a3a;--hit-bg: #e8f5ea;--miss: #c0392b;--miss-bg: #fdecea;--bg-base: #f5f4f0;--surface: #ffffff;--surface-alt: #f9f8f5;--border: #e0ddd8;--border-strong: #c8c4be;--surface-raised: var(--surface);--surface-hover: #ece8e1;--accent: var(--g700);--accent-hover: var(--g600);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--radius-xl: var(--r-xl);--o400: #f08a3c;--text-tertiary: var(--text-disabled);--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-disabled: #b0aca5;--text-inverse: #ffffff;--gold: #f59e0b;--gold-hi: #fcd34d;--gold-edge: #b45309;--overlay: rgba(26, 26, 26, .55);--scrim-light: rgba(0, 0, 0, .2);--scrim-heavy: rgba(0, 0, 0, .55);--glass-bg: rgba(10, 30, 15, .55);--glass-border: rgba(255, 255, 255, .22);--b500: #2563eb;--b100: #dbeafe;--v500: #8b5cf6;--warning: #d97706;--warning-bg: #fffbeb;--error: #dc2626;--error-bg: #fef2f2;--success: #16a34a;--success-bg: #f0fdf4;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-sm: 4px;--r-md: 8px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--sidebar-width: 220px;--header-height: 60px;--content-max: 1200px;--transition-fast: .12s ease;--transition-base: .2s ease}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-base);line-height:1.6}:focus-visible{outline:2px solid var(--b500);outline-offset:2px}h1{font-size:var(--text-3xl);font-weight:var(--fw-bold);line-height:1.2}h2{font-size:var(--text-2xl);font-weight:var(--fw-semibold);line-height:1.3}h3{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:1.4}h4{font-size:var(--text-lg);font-weight:var(--fw-medium);line-height:1.4}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-4);z-index:100;box-shadow:var(--shadow-sm)}.app-header__left{display:flex;align-items:center;gap:var(--sp-3)}.app-header__menu-btn{display:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--text-secondary);transition:background var(--transition-fast)}.app-header__menu-btn:hover{background:var(--bg-base)}.app-header__menu-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}@media (max-width: 768px){.app-header__menu-btn{display:flex}}.app-header__logo{display:flex;align-items:center;gap:var(--sp-2)}.app-header__brand{font-weight:var(--fw-bold);font-size:var(--text-lg);color:var(--g700)}.app-header__right{display:flex;align-items:center}.app-header__user{display:flex;align-items:center;gap:var(--sp-2)}.app-header__avatar{width:36px;height:36px;background:var(--g700);color:var(--text-inverse);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold);font-size:var(--text-sm)}.app-header__name{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}@media (max-width: 480px){.app-header__name{display:none}}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);background:var(--surface-alt);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;z-index:90;transition:transform var(--transition-base)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:85}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-backdrop{display:block}}.sidebar__content{padding:var(--sp-4) var(--sp-3);flex:1;overflow-y:auto}.sidebar__nav{display:flex;flex-direction:column;gap:var(--sp-1)}.sidebar__link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast);text-decoration:none}.sidebar__link:hover{background:var(--border);color:var(--text-primary);text-decoration:none}.sidebar__link--active,.sidebar__link--active:hover{background:var(--g100);color:var(--g700)}.sidebar__link--highlight{background:var(--g700);color:var(--text-inverse);margin-top:var(--sp-2)}.sidebar__link--highlight:hover{background:var(--g600);color:var(--text-inverse)}.sidebar__link:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.sidebar__icon{font-size:var(--text-lg);width:20px;text-align:center;flex-shrink:0}.sidebar__footer{padding:var(--sp-4) var(--sp-3);border-top:1px solid var(--border)}.sidebar__user{margin-bottom:var(--sp-3)}.sidebar__user-name{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.sidebar__user-email{display:block;font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__signout{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);transition:color var(--transition-fast),background var(--transition-fast)}.sidebar__signout:hover{color:var(--error);background:var(--error-bg)}.sidebar__signout:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.sidebar__dot{margin-left:auto;width:8px;height:8px;border-radius:var(--r-full);background:var(--o500);box-shadow:0 0 0 3px var(--o100)}.sidebar__link--section{color:var(--g700);font-weight:var(--fw-semibold)}.sidebar__subnav{list-style:none;margin:2px 0 4px;padding:0 0 0 calc(var(--sp-3) + 20px);display:flex;flex-direction:column;gap:1px}.sidebar__sublink{display:block;padding:6px var(--sp-3);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;border-left:2px solid var(--border);border-top-left-radius:0;border-bottom-left-radius:0;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__sublink:hover{background:var(--surface-hover);color:var(--text-primary);text-decoration:none}.sidebar__sublink--active{background:var(--g100);color:var(--g700);font-weight:var(--fw-semibold);border-left-color:var(--g600)}.sidebar__sublink:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.tour__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:1000}.tour__spotlight{position:fixed;z-index:1001;border:2px solid var(--o500);border-radius:var(--radius-md);box-shadow:0 0 0 9999px var(--overlay);pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tour__spotlight~.tour__card{z-index:1002}.tour__card{position:fixed;z-index:1002;width:min(360px,calc(100vw - 32px));background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 40px var(--overlay);padding:20px}.tour__card--centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tour__card:focus{outline:2px solid var(--b500);outline-offset:2px}.tour__step-count{margin:0 0 4px;font-size:12px;color:var(--text-secondary)}.tour__title{margin:0 0 8px;font-size:18px;line-height:1.3}.tour__body{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.tour__dots{display:flex;gap:6px;margin-bottom:14px}.tour__dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.tour__dot--active{background:var(--g600)}.tour__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tour__nav{display:flex;gap:8px}.tour__skip{background:none;border:none;padding:4px 2px;font-size:13px;color:var(--text-secondary);text-decoration:underline;cursor:pointer}.tour__btn{border-radius:var(--radius-md);padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent}.tour__btn--primary{background:var(--g700);color:var(--surface)}.tour__btn--primary:hover{background:var(--g600)}.tour__btn--ghost{background:none;border-color:var(--border-strong);color:inherit}.tour__skip:focus-visible,.tour__btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.tour__fab{position:fixed;right:18px;bottom:18px;z-index:900;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 2px 10px var(--overlay)}.tour__fab:hover{color:var(--g700);border-color:var(--g600)}.tour__fab:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.update-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;border-radius:999px;background:var(--g700);color:var(--text-inverse);font-size:14px;font-weight:600;box-shadow:var(--shadow-lg)}.update-banner__btn{border:none;border-radius:999px;padding:7px 14px;font-weight:800;font-size:13px;background:var(--surface);color:var(--g700);cursor:pointer;white-space:nowrap}.update-banner__btn:disabled{opacity:.75;cursor:default}.update-banner__btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;pointer-events:none;overflow:hidden}.confetti__piece{position:absolute;top:-20px;border-radius:2px;opacity:.95;animation:confettiBurstFall linear forwards}.confetti__piece--circle{border-radius:50%}.confetti__piece--rect{border-radius:1px}@keyframes confettiBurstFall{0%{transform:translate(0) rotate(0);opacity:1}85%{opacity:1}to{transform:translate(var(--drift),105vh) rotate(720deg);opacity:0}}.stars{display:inline-flex;align-items:center;gap:2px}.stars__star{border:none;background:none;padding:0 2px;cursor:pointer;line-height:1;font-size:24px;color:var(--border-strong);transition:transform var(--transition-fast),color var(--transition-fast)}.stars--sm .stars__star{font-size:18px}.stars__star--on{color:var(--gold)}.stars__star:hover:not(:disabled){transform:scale(1.15)}.stars__star:disabled{cursor:default}.stars__star:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:4px}.stars__word{margin-left:8px;font-size:13px;font-weight:700;color:var(--text-secondary);min-width:3em}.fb-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:12px 16px 0;padding:12px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow-sm);font-size:14px}.fb-banner--fixed{border-color:var(--hit);background:var(--hit-bg)}.fb-banner--done{border-color:var(--g600);background:var(--g100);justify-content:space-between}.fb-banner__text{display:flex;flex-direction:column;gap:2px;flex:1 1 280px;min-width:0}.fb-banner__note{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.fb-banner__actions,.fb-banner__reply{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fb-banner__reply{flex:1 1 320px}.fb-banner__input{flex:1 1 180px;min-width:0;font-size:16px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.fb-banner__btn{padding:8px 14px;font-size:14px;font-weight:700;border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--g700);background:var(--g700);color:var(--text-inverse);white-space:nowrap}.fb-banner__btn--ghost{background:var(--surface);color:var(--g700)}.fb-banner__btn:disabled{opacity:.55;cursor:default}.fb-banner__link{border:none;background:none;padding:4px;font-size:13px;font-weight:600;color:var(--g700);cursor:pointer;text-decoration:underline}.fb-banner__btn:focus-visible,.fb-banner__link:focus-visible,.fb-banner__input:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fb-banner__rate{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-weight:600}.fb-banner__msg{display:block;padding:6px 10px;margin-top:4px;border-left:3px solid var(--g600);background:var(--bg-base);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-primary)}.balloons{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;pointer-events:none;overflow:hidden}.balloons__b{position:absolute;margin-left:-14px;opacity:0;border-radius:50% 50% 46% 46%/55% 55% 45% 45%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),transparent 32%),var(--c);animation:balloonRise ease-in forwards}.balloons__b:before{content:"";position:absolute;left:50%;bottom:-4px;width:6px;height:5px;margin-left:-3px;background:var(--c);clip-path:polygon(50% 0,100% 100%,0 100%)}.balloons__b:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:120%;background:var(--text-secondary);opacity:.6}@keyframes balloonRise{0%{transform:translateY(20px) scale(.4);opacity:0}12%{opacity:1;transform:translate(0) scale(1)}35%{transform:translate(var(--sway),calc(var(--rise) * -.3)) scale(1)}65%{transform:translate(calc(var(--sway) * -1),calc(var(--rise) * -.65)) scale(1)}to{transform:translateY(calc(var(--rise) * -1)) scale(1);opacity:1}}.fbd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--overlay, rgba(0, 0, 0, .45))}.fbd{width:min(520px,100%);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.fbd__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fbd__title{margin:0;font-size:20px}.fbd__close{border:none;background:none;font-size:18px;cursor:pointer;color:var(--text-secondary)}.fbd__sub{margin:8px 0 14px;font-size:14px;color:var(--text-secondary);line-height:1.5}.fbd__kinds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.fbd__kind{font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary)}.fbd__kind--on{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.fbd__text{width:100%;font:inherit;font-size:16px;padding:10px 12px;resize:vertical;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text-primary)}.fbd__error{margin:8px 0 0;font-size:13px;color:var(--miss)}.fbd__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.fbd__btn{font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:9px 16px;border-radius:var(--r-md);border:1px solid var(--g700);background:var(--surface);color:var(--g700)}.fbd__btn--primary{background:var(--g700);color:var(--text-inverse)}.fbd__btn:disabled{opacity:.55;cursor:default}.fbd__sent{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.fbd__icon{font-size:40px}.fbd__close:focus-visible,.fbd__kind:focus-visible,.fbd__text:focus-visible,.fbd__btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.nps{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:12px 16px 0;padding:10px 16px;border-radius:var(--r-lg);border:1px solid var(--b500);background:var(--b100);box-shadow:var(--shadow-sm);transform-origin:center}.nps--pop{animation:npsPop .45s ease-in forwards}@keyframes npsPop{0%{transform:scale(1);opacity:1}40%{transform:scale(1.04);opacity:1}to{transform:scale(.6) translateY(-20px);opacity:0}}@media (prefers-reduced-motion: reduce){.nps--pop{animation:none;opacity:0}}.nps__q{font-size:15px;font-weight:700;color:var(--text-primary)}.nps__actions{display:flex;align-items:center;gap:8px}.nps__btn{font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:6px 18px;border-radius:999px;border:1px solid var(--g700);background:var(--surface);color:var(--g700)}.nps__btn--yes{background:var(--g700);color:var(--text-inverse)}.nps__later{border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:14px;padding:4px 6px}.nps__btn:focus-visible,.nps__later:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.app-shell{min-height:100vh;background:var(--bg-base)}.app-shell__main{margin-top:var(--header-height);margin-left:var(--sidebar-width);min-height:calc(100vh - var(--header-height));padding:var(--sp-8)}.app-shell .app-shell__main>*{margin-left:auto;margin-right:auto}@media (max-width: 768px){.app-shell__main{margin-left:0;padding:var(--sp-4)}}.app-shell__impersonation{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 16px;background:var(--o500);color:var(--text-inverse);font-size:13px;font-weight:600}.app-shell__impersonation-stop{border:1px solid var(--text-inverse);background:none;color:var(--text-inverse);border-radius:var(--radius-md);padding:2px 10px;font-size:12px;font-weight:700;cursor:pointer}.app-shell__impersonation-stop:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-weight:var(--fw-medium);border-radius:var(--r-md);border:2px solid transparent;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--sm{font-size:var(--text-sm);padding:var(--sp-1) var(--sp-3);height:32px}.btn--md{font-size:var(--text-base);padding:var(--sp-2) var(--sp-4);height:40px}.btn--lg{font-size:var(--text-lg);padding:var(--sp-3) var(--sp-6);height:52px}.btn--full{width:100%}.btn--primary{background:var(--g700);color:var(--text-inverse);border-color:var(--g700)}.btn--primary:hover:not(:disabled){background:var(--g600);border-color:var(--g600)}.btn--primary:active:not(:disabled){background:var(--g700)}.btn--secondary{background:var(--surface);color:var(--g700);border-color:var(--g700)}.btn--secondary:hover:not(:disabled){background:var(--g100)}.btn--ghost{background:transparent;color:var(--text-primary);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--border)}.btn--danger{background:var(--error);color:var(--text-inverse);border-color:var(--error)}.btn--danger:hover:not(:disabled){background:var(--miss);border-color:var(--miss)}.btn--hit{background:var(--hit);color:var(--text-inverse);border-color:var(--hit);font-size:var(--text-xl);font-weight:var(--fw-bold)}.btn--hit:hover:not(:disabled){background:var(--g700);border-color:var(--g700)}.btn--miss{background:var(--miss);color:var(--text-inverse);border-color:var(--miss);font-size:var(--text-xl);font-weight:var(--fw-bold)}.btn--miss:hover:not(:disabled){background:var(--error);border-color:var(--error)}.login-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background-color:var(--g700);background-size:cover;background-position:center}.login-backdrop__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}.login-backdrop__video--front{opacity:1}.login-backdrop__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 0%,var(--scrim-heavy) 100%),linear-gradient(180deg,var(--scrim-light),var(--scrim-light))}.login-backdrop{--login-card-reserve: 240px;--login-side-mid: calc((100% - var(--login-card-reserve)) / 2)}.login-backdrop__hud{position:absolute;top:var(--login-side-mid);transform:translateY(-50%);left:var(--sp-6);display:grid;gap:var(--sp-2);width:214px}.login-backdrop__card{display:grid;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-inverse);font-family:var(--font-sans)}.login-backdrop__card-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;opacity:.8}.login-backdrop__card-score{font-size:var(--text-4xl);font-weight:var(--fw-bold);line-height:1.05;font-variant-numeric:tabular-nums}.login-backdrop__card-score small{font-size:var(--text-base);opacity:.7;margin-left:2px}.login-backdrop__card--straight .login-backdrop__card-score{color:var(--o500);animation:login-backdrop-pop .6s ease-out}.login-backdrop__card-value{font-size:var(--text-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.login-backdrop__card-value small{font-size:var(--text-xs);font-weight:var(--fw-normal);opacity:.7}.login-backdrop__up{font-size:var(--text-xs);color:var(--g400);margin-left:var(--sp-1)}.login-backdrop__card--extra{display:none}@media (min-width: 900px) and (min-height: 800px){.login-backdrop__card--extra{display:grid}}.login-backdrop__bars{display:flex;align-items:flex-end;gap:4px;height:28px}.login-backdrop__bar{flex:1;min-height:3px;border-radius:2px 2px 0 0;background:var(--g400);animation:login-backdrop-grow .4s ease-out;transform-origin:bottom}.login-backdrop__bar:last-child{background:var(--o500)}.login-backdrop__stations{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-2)}.login-backdrop__station{display:grid;justify-items:center;gap:2px;opacity:.7;transition:opacity .3s ease}.login-backdrop__station--now{opacity:1}.login-backdrop__station-track{display:flex;align-items:flex-end;width:10px;height:36px;border-radius:3px;background:var(--glass-border);overflow:hidden}.login-backdrop__station-fill{width:100%;background:var(--g400)}.login-backdrop__station--now .login-backdrop__station-fill{background:var(--o500)}.login-backdrop__station-pct{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.login-backdrop__station-num{font-size:var(--text-xs);opacity:.7}.login-backdrop__spark{width:100%;height:30px;overflow:visible}.login-backdrop__spark polyline{fill:none;stroke:var(--g400);stroke-width:2;vector-effect:non-scaling-stroke}.login-backdrop__spark circle{fill:var(--o500)}.login-backdrop__dots{display:grid;grid-template-columns:repeat(25,6px);gap:3px;margin-top:var(--sp-1)}.login-backdrop__dot{width:6px;height:6px;border-radius:50%;background:var(--glass-border);transition:background .2s ease}.login-backdrop__dot--hit{background:var(--g400)}.login-backdrop__dot--next{background:var(--text-inverse);animation:login-backdrop-blink 1s ease-in-out infinite}.login-backdrop__last{position:absolute;top:var(--login-side-mid);transform:translateY(-50%);right:var(--sp-6);width:250px;display:none;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-inverse)}@media (min-width: 900px){.login-backdrop__last{display:grid}}.login-backdrop__last-wait{font-size:var(--text-sm);opacity:.75}.login-backdrop__last-body{display:grid;gap:var(--sp-2);animation:login-backdrop-refresh .6s ease-out}.login-backdrop__last-result{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.login-backdrop__last-hit{padding:1px var(--sp-2);border-radius:var(--r-full);background:var(--g500);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;animation:login-backdrop-pop .5s ease-out}.login-backdrop__last-rows{display:grid;gap:var(--sp-1);margin:0}.login-backdrop__last-row{display:flex;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-1);border-top:1px solid var(--glass-border);font-size:var(--text-sm)}.login-backdrop__last-row dt{opacity:.75}.login-backdrop__last-row dd{margin:0;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}@keyframes login-backdrop-refresh{0%{opacity:.2;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes login-backdrop-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes login-backdrop-blink{50%{opacity:.3}}@keyframes login-backdrop-grow{0%{transform:scaleY(0)}}@media (prefers-reduced-motion: reduce){.login-backdrop__video{transition:none}}@media (max-width: 640px){.login-backdrop{bottom:auto;height:50vh}.login-backdrop__hud{top:var(--sp-3);left:var(--sp-3);width:auto;transform:none}.login-backdrop__card{padding:var(--sp-2) var(--sp-3)}.login-backdrop__card-score{font-size:var(--text-2xl)}.login-backdrop__dots{grid-template-columns:repeat(25,5px);gap:2px}.login-backdrop__dot{width:5px;height:5px}.login-backdrop__shade{background:linear-gradient(180deg,var(--scrim-light) 60%,var(--g700) 100%)}}.login-page{min-height:100vh;background:var(--bg-base);display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.login-page__card{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-10) var(--sp-8);max-width:420px;width:100%;box-shadow:var(--shadow-lg);text-align:center}.login-page__logo{display:flex;justify-content:center;margin-bottom:var(--sp-4)}.login-page__title{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--g700);margin-bottom:var(--sp-2)}.login-page__subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--sp-8);line-height:1.5}.login-page__actions{margin-bottom:var(--sp-4)}.login-page__actions--pending{min-height:44px}.login-page__google-icon{display:inline-flex;width:20px;height:20px;background:var(--surface);color:var(--g700);border-radius:var(--r-sm);align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--text-sm)}.login-page__note{font-size:var(--text-sm);color:var(--text-secondary);background:var(--o100);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);text-align:left;margin-bottom:var(--sp-6);line-height:1.5}.login-page__register{font-size:var(--text-sm);color:var(--text-secondary)}.login-page__register-link{color:var(--g600);font-weight:var(--fw-medium);text-decoration:underline}.login-page__register-link:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.login-page__error{color:var(--red-600, #c0392b);font-weight:600}.login-page__legal{margin:18px 0 0;font-size:12px;color:var(--text-secondary);text-align:center}.login-page__legal a{color:var(--g700)}.login-page{align-items:flex-end;padding-bottom:var(--sp-8)}@media (min-width: 900px){.login-page__card{max-width:760px;padding:var(--sp-6) var(--sp-8);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo title    actions" "logo subtitle actions";column-gap:var(--sp-6);align-items:center;text-align:left}.login-page__card>*{grid-column:1 / -1}.login-page__logo{grid-area:logo;margin-bottom:0}.login-page__title{grid-area:title;align-self:end;margin-bottom:0}.login-page__subtitle{grid-area:subtitle;align-self:start;margin-bottom:0}.login-page__actions{grid-area:actions;width:320px;margin-bottom:0}.login-page__actions .login-page__note{margin:var(--sp-3) 0 0}.login-page__legal{margin-top:var(--sp-4)}}@media (max-width: 640px){.login-page{background:var(--g700);padding-bottom:var(--sp-4)}.login-page__card{padding:var(--sp-8) var(--sp-6)}}.register-page{min-height:100vh;background:var(--bg-base);display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.register-page__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-10) var(--sp-8);max-width:420px;width:100%;box-shadow:var(--shadow-md)}.register-page__logo{display:flex;justify-content:center;margin-bottom:var(--sp-4)}.register-page__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--sp-2);text-align:center}.register-page__subtitle{font-size:var(--text-base);color:var(--text-secondary);text-align:center;margin-bottom:var(--sp-8)}.register-page__form{display:flex;flex-direction:column;gap:var(--sp-5)}.register-page__field{display:flex;flex-direction:column;gap:var(--sp-1)}.register-page__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.register-page__input{padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);font-size:var(--text-base);background:var(--surface);color:var(--text-primary);transition:border-color var(--transition-fast)}.register-page__input:focus{outline:none;border-color:var(--b500);box-shadow:0 0 0 3px var(--b100)}.register-page__input--error{border-color:var(--error)}.register-page__input--error:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.register-page__error{font-size:var(--text-sm);color:var(--error)}.badge{display:inline-flex;align-items:center;font-weight:var(--fw-semibold);border-radius:var(--r-full);white-space:nowrap}.badge--sm{font-size:var(--text-xs);padding:2px var(--sp-2)}.badge--md{font-size:var(--text-sm);padding:var(--sp-1) var(--sp-3)}.badge--neutral{background:var(--border);color:var(--text-secondary)}.badge--primary{background:var(--g100);color:var(--g700)}.badge--hit{background:var(--hit-bg);color:var(--hit)}.badge--miss{background:var(--miss-bg);color:var(--miss)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.spinner{display:inline-block;border-radius:var(--r-full);border:2px solid var(--border);border-top-color:var(--g700);animation:spin .7s linear infinite}.spinner--sm{width:16px;height:16px}.spinner--md{width:24px;height:24px;border-width:3px}.spinner--lg{width:40px;height:40px;border-width:4px}.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:var(--sp-5);align-items:stretch}@media (max-width: 900px){.dgrid{grid-template-columns:minmax(0,1fr)}}.dgrid__item{display:flex;flex-direction:column;min-width:0}.dgrid__item--full{grid-column:1 / -1}.dgrid__content{flex:1;display:flex;flex-direction:column;min-width:0}.dgrid__content>section,.dgrid__content>div{flex:1;margin:0;box-sizing:border-box}.dgrid__item--edit{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-2);background:var(--bg-base)}.dgrid__item--edit .dgrid__content{max-height:220px;overflow:hidden;opacity:.85;-webkit-mask-image:linear-gradient(to bottom,black 65%,transparent);mask-image:linear-gradient(to bottom,black 65%,transparent)}.dgrid__content .miss-insights{margin-bottom:0}.dgrid__item--over{border-color:var(--b500);background:var(--b100)}.dgrid__item--dragging{opacity:.5}.dgrid__empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:var(--sp-5);min-height:96px;border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm)}.dgrid__tools{display:flex;align-items:center;gap:var(--sp-1);flex-wrap:wrap;padding:0 var(--sp-1) var(--sp-2)}.dgrid__handle{cursor:grab;font-size:18px;color:var(--text-secondary);padding:0 var(--sp-1);-webkit-user-select:none;user-select:none}.dgrid__title{flex:1;min-width:0;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.dgrid__tool{font:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer;min-width:32px;min-height:32px;padding:0 var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text-primary)}.dgrid__tool:disabled{opacity:.4;cursor:default}.dgrid__tool--remove{color:var(--miss)}.dgrid__tool:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.dgrid-bar{position:sticky;top:var(--sp-2);z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--b500);border-radius:var(--r-lg);background:var(--b100);box-shadow:var(--shadow-md)}.dgrid-bar:focus{outline:none}.dgrid-bar:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.dgrid-bar__text{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--text-primary)}.dgrid-bar__text span{color:var(--text-secondary)}.dgrid-bar__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.dgrid-bar__error{flex-basis:100%;margin:0;font-size:var(--text-sm);color:var(--miss)}.dgrid-btn{font:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--g700)}.dgrid-btn--primary{background:var(--g700);color:var(--text-inverse)}.dgrid-btn--ghost{background:var(--surface);color:var(--g700)}.dgrid-btn:disabled{opacity:.55;cursor:default}.dgrid-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.dgrid-tray{margin-top:var(--sp-6);padding:var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface)}.dgrid-tray__title{margin:0 0 var(--sp-3);font-size:var(--text-base)}.dgrid-tray__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.dgrid-tray__empty{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.dashboard{max-width:var(--content-max)}.dashboard__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-8);gap:var(--sp-4);flex-wrap:wrap}.dashboard__greeting{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--sp-1)}.dashboard__date{font-size:var(--text-base);color:var(--text-secondary)}.dashboard__new-btn{background:var(--g700);color:var(--text-inverse);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-weight:var(--fw-semibold);font-size:var(--text-base);text-decoration:none;transition:background var(--transition-fast);white-space:nowrap}.dashboard__new-btn:hover{background:var(--g600);text-decoration:none}.dashboard__new-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.dashboard__header-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.dashboard__customize-btn{font:inherit;font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);cursor:pointer;white-space:nowrap}.dashboard__customize-btn:hover:not(:disabled){border-color:var(--g700)}.dashboard__customize-btn:disabled{opacity:.5;cursor:default}.dashboard__customize-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.dashboard--custom .dashboard__stats{margin-bottom:var(--sp-6)}.dashboard__card--viz{padding:var(--sp-4) var(--sp-4) var(--sp-3)}.trap-viz-wrap{margin-top:var(--sp-2)}.trap-viz-thumb-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in;position:relative;border-radius:10px;overflow:hidden}.trap-viz-thumb-btn:hover .trap-viz-enlarge-hint{opacity:1}.trap-viz-enlarge-hint{position:absolute;bottom:10px;right:12px;background:#0000008c;color:#ffffffd9;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .15s;letter-spacing:.02em}.trap-viz{width:100%;height:auto;display:block;border-radius:10px;overflow:hidden}.trap-viz-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:tvBackdropIn .15s ease}@keyframes tvBackdropIn{0%{opacity:0}to{opacity:1}}.trap-viz-modal{position:relative;width:min(860px,92vw);background:var(--surface);border-radius:16px;padding:16px 16px 12px;box-shadow:0 24px 64px #0000008c;animation:tvModalIn .15s ease}@keyframes tvModalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.trap-viz-modal__close{position:absolute;top:10px;right:12px;z-index:1;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.trap-viz-modal__close:hover{background:var(--error-bg, #fef2f2);color:var(--error, #dc2626)}.trap-viz--large{border-radius:10px}.trap-viz-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;padding:10px 0 2px}.trap-viz-legend__chip{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.trap-viz-legend__swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.drills-section{margin-bottom:var(--sp-8)}.drills-section__head{margin-bottom:var(--sp-4)}.drills-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}@media (max-width: 900px){.drills-section__grid{grid-template-columns:1fr}}.drill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.drill-card--loading{min-height:160px;display:flex;align-items:center;justify-content:center}.drill-card__header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--b900, #0f2540);color:#fff}.drill-card__icon{font-size:22px;flex-shrink:0}.drill-card__title-block{flex:1;display:flex;flex-direction:column;gap:2px}.drill-card__type-label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;opacity:.65}.drill-card__name{font-size:var(--text-lg);font-weight:var(--fw-bold);line-height:1.2}.drill-card__badge{flex-shrink:0;font-size:11px;font-weight:var(--fw-semibold);background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:3px 10px;white-space:nowrap}.drill-card__why{padding:var(--sp-3) var(--sp-5);background:var(--b50, #eff6ff);border-bottom:1px solid var(--b100, #dbeafe);font-size:var(--text-sm);color:var(--b900, #1e3a5f);line-height:1.55}.drill-card__why-label{display:block;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--b500, #3b82f6);margin-bottom:3px}.drill-card__steps{flex:1;margin:0;padding:var(--sp-4) var(--sp-5);padding-left:calc(var(--sp-5) + 20px);display:flex;flex-direction:column;gap:var(--sp-2)}.drill-card__step{font-size:var(--text-sm);color:var(--text-primary);line-height:1.5}.drill-card__step::marker{color:var(--b500, #3b82f6);font-weight:var(--fw-bold)}.drill-card__tip{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);background:var(--g50, #f9fafb);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.55}.drill-card__tip-icon{flex-shrink:0;margin-top:1px}.dashboard__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-bottom:var(--sp-8)}@media (max-width: 900px){.dashboard__stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.dashboard__stats{grid-template-columns:1fr 1fr}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-1);box-shadow:var(--shadow-sm)}.stat-card__value{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--g700);line-height:1}.stat-card__label{font-size:var(--text-sm);color:var(--text-secondary)}.dashboard__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.dashboard__section-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:0}.dashboard__section-sub{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--sp-1);margin-bottom:var(--sp-4)}.dashboard__view-all{font-size:var(--text-sm);color:var(--g600);font-weight:var(--fw-medium)}.dashboard__view-all:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.dashboard__focus{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.focus{display:flex;flex-direction:column;gap:var(--sp-4)}.focus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.focus-item{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-base)}.dashboard__recent{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.sessions-table-wrap{overflow-x:auto;position:relative}.sessions-table{width:100%;font-size:var(--text-sm)}.sessions-table th{text-align:left;font-weight:var(--fw-semibold);color:var(--text-secondary);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);white-space:nowrap}.sessions-table td{padding:var(--sp-3);border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.sessions-table tbody tr:last-child td{border-bottom:none}.sessions-table tbody tr:hover{background:var(--bg-base)}.sessions-table__location{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sessions-table__action{color:var(--g600);font-weight:var(--fw-medium);white-space:nowrap}.sessions-table__action:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.sessions-table__actions{display:flex;gap:var(--sp-3);align-items:center}.sessions-table__action--analysis{color:var(--text-secondary);font-size:var(--text-xs)}.sessions-table__unset{color:var(--text-disabled)}.dashboard__body{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);align-items:start}.dashboard__recent--full{grid-column:1 / -1}@media (max-width: 960px){.dashboard__body{grid-template-columns:1fr}.dashboard__recent--full{grid-column:1}}.dashboard__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.stat-card--insight{padding:var(--sp-4) var(--sp-5)}.stat-card__insight-row{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-1)}.stat-card__insight-item{display:flex;align-items:baseline;gap:var(--sp-2)}.stat-card__insight-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;min-width:48px}.stat-card__insight-val{font-size:var(--text-base);font-weight:var(--fw-bold);font-family:var(--font-mono)}.stat-card__insight-item--good .stat-card__insight-val{color:var(--hit)}.stat-card__insight-item--bad .stat-card__insight-val{color:var(--miss)}.dash-station__bars{display:flex;flex-direction:column;gap:var(--sp-2)}.dash-station{display:flex;flex-direction:column;gap:var(--sp-4)}.dash-station__row{display:grid;grid-template-columns:22px 1fr 38px 34px 52px;align-items:center;gap:var(--sp-2)}.dash-station__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.dash-station__bar-wrap{position:relative;height:10px;background:var(--border);border-radius:var(--r-full)}.dash-station__avg{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--text-primary);opacity:.55;border-radius:1px}.dash-station__trend{font-size:var(--text-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.dash-station__trend--up{color:var(--hit)}.dash-station__trend--down{color:var(--miss)}.dash-station__legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:calc(-1 * var(--sp-2)) 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.dash-station__legend-tick{display:inline-block;width:2px;height:12px;background:var(--text-primary);opacity:.55;border-radius:1px}.dash-station__legend-sep{opacity:.6}.dash-station__subhead{margin:0 0 var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.dash-station__pos-note{margin:calc(-1 * var(--sp-1)) 0 var(--sp-2);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45}.dash-station__pos-cells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:var(--sp-2)}.dash-station__pos-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sp-2) var(--sp-1);border-radius:var(--r-md);border:1px solid var(--border);border-bottom-width:3px;background:var(--bg-base)}.dash-station__pos-cell--good{border-bottom-color:var(--hit)}.dash-station__pos-cell--ok{border-bottom-color:var(--warning)}.dash-station__pos-cell--low{border-bottom-color:var(--miss)}.dash-station__pos-n{font-size:var(--text-xs);color:var(--text-secondary)}.dash-station__pos-pct{font-size:var(--text-base);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.dash-station__takeaways{list-style:none;margin:0;padding:var(--sp-3) 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-2)}.dash-station__takeaway{display:grid;grid-template-columns:20px 1fr;gap:var(--sp-2);font-size:var(--text-sm);line-height:1.45;color:var(--text-primary)}.dash-station__bar{height:100%;border-radius:var(--r-full);transition:width .4s ease}.dash-station__bar-empty{width:0;height:100%}.dash-station__bar--good{background:var(--hit)}.dash-station__bar--ok{background:var(--warning)}.dash-station__bar--low{background:var(--miss)}.dash-skeet{display:flex;flex-direction:column;gap:var(--sp-4)}.dash-skeet__group-title{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 var(--sp-2)}.dash-skeet__cells{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.dash-skeet__cell{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-alt, var(--bg-base));border-left:4px solid var(--border-strong, var(--border))}.dash-skeet__cell--good{border-left-color:var(--hit)}.dash-skeet__cell--ok{border-left-color:var(--warning)}.dash-skeet__cell--low{border-left-color:var(--miss)}.dash-skeet__cell-label{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.dash-skeet__cell-pct{font-size:var(--text-xl);font-weight:var(--fw-bold);font-family:var(--font-mono)}.dash-skeet__cell--good .dash-skeet__cell-pct{color:var(--hit)}.dash-skeet__cell--low .dash-skeet__cell-pct{color:var(--miss)}.dash-skeet__cell-count{font-size:var(--text-xs);color:var(--text-secondary)}.dash-skeet__cell-hint{font-size:var(--text-xs);color:var(--text-disabled, var(--text-secondary))}.dash-station__pct{font-size:var(--text-xs);font-weight:var(--fw-bold);font-family:var(--font-mono);text-align:right;color:var(--g700)}.dash-station__pct--good{color:var(--hit)}.dash-station__pct--ok{color:var(--o600)}.dash-station__pct--low{color:var(--miss)}.dash-station__pct--none{color:var(--text-disabled)}.dash-station__count{font-size:var(--text-xs);color:var(--text-disabled);text-align:right;white-space:nowrap}.dash-station__empty{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.dash-equip__sections{display:flex;flex-direction:column;gap:var(--sp-4)}.dash-equip__section-label{display:block;font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:var(--sp-2)}.dash-equip__rows{display:flex;flex-direction:column;gap:var(--sp-2)}.dash-equip__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,38%) 36px 34px;align-items:center;gap:var(--sp-2)}.dash-equip__key{font-size:var(--text-xs);color:var(--text-primary);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-equip__bar-wrap{position:relative;height:6px;background:var(--border);border-radius:var(--r-full)}.dash-equip__avg{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text-primary);opacity:.5;border-radius:1px}.dash-equip__n{font-size:var(--text-xs);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.dash-equip__n-head{float:right;font-weight:var(--fw-normal);text-transform:none;letter-spacing:0}.dash-equip__row--small{opacity:.55}.dash-equip__best{color:var(--gold-edge, var(--o600))}.dash-equip__rec{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-base)}.dash-equip__rec--switch{border-left-color:var(--o500);background:var(--o100)}.dash-equip__rec--good{border-left-color:var(--hit);background:var(--hit-bg)}.dash-equip__rec--empty p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.dash-equip__rec--empty strong{font-size:var(--text-sm)}.dash-equip__rec-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.dash-equip__conf{text-transform:none;letter-spacing:0;font-weight:var(--fw-semibold);padding:1px var(--sp-2);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border)}.dash-equip__conf--strong{color:var(--hit);border-color:var(--hit)}.dash-equip__conf--early{color:var(--text-secondary)}.dash-equip__chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.dash-equip__chip{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);padding:2px var(--sp-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border)}.dash-equip__chip-label{margin-right:6px;font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.dash-equip__rec-stat{margin:0;font-size:var(--text-sm);color:var(--text-primary);line-height:1.5}.dash-equip__delta{color:var(--hit)}.dash-equip__rec-note{margin:0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.dash-equip__bar{height:100%;background:var(--g600);border-radius:var(--r-full);transition:width .3s ease}.dash-equip__pct{font-size:var(--text-xs);font-weight:var(--fw-bold);font-family:var(--font-mono);color:var(--g700);text-align:right}.dash-equip__empty{font-size:var(--text-sm);color:var(--text-secondary)}.focus-empty-msg{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.focus-item__station{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.focus-item__gain{margin-left:auto;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--hit);font-variant-numeric:tabular-nums}.focus-item__gain-unit{font-size:var(--text-xs);font-weight:var(--fw-normal);color:var(--text-secondary)}.focus-item__meter{display:block;height:4px;border-radius:var(--r-full);background:var(--border);overflow:hidden;margin-bottom:var(--sp-2)}.focus-item__meter>span{display:block;height:100%;border-radius:var(--r-full);background:var(--hit)}.focus__total{margin:0;padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-secondary)}.focus__total strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.focus__subhead{margin:0 0 var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.focus__strength-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--text-sm);line-height:1.45}.focus-item__station-label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--g700)}.focus-item__issue{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.perf-timeline{background:var(--surface-raised);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6) var(--sp-4);margin-bottom:var(--sp-6)}.perf-timeline__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-4)}.perf-timeline__legend{display:flex;gap:var(--sp-4);flex-wrap:wrap}.perf-timeline__legend-item{display:flex;align-items:center;gap:var(--sp-2);font-size:.8125rem;color:var(--text-secondary)}.perf-timeline__svg{width:100%;height:auto;display:block;overflow:visible}.miss-insights{margin-bottom:var(--sp-4)}.miss-insights__head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.miss-insights__title{font-size:var(--text-base);font-weight:var(--fw-semibold)}.miss-insights__sub{font-size:var(--text-xs);color:var(--text-secondary)}.miss-insights__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-3)}.miss-insight{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warning, #d97706);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-sm)}.miss-insight__stat-row{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:2px}.miss-insight__icon{font-size:var(--text-base)}.miss-insight__stat{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.miss-insight__stat-label{font-size:var(--text-xs);color:var(--text-secondary)}.miss-insight__title{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:0 0 var(--sp-1)}.miss-insight__detail{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;margin:0 0 var(--sp-2)}.miss-insight__focus{font-size:var(--text-xs);line-height:1.5;margin:0;padding:var(--sp-2);background:var(--bg-base);border-radius:var(--r-sm)}.miss-insight__focus strong{color:var(--g700)}.findings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.findings__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px}.findings__title{font-weight:800;font-size:15px}.findings__sub{font-size:12px;color:var(--text-secondary)}.findings__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.findings__item{display:flex;gap:12px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);border-left-width:4px}.findings__item--high{border-left-color:var(--miss);background:var(--miss-bg)}.findings__item--med{border-left-color:var(--o500);background:var(--o100)}.findings__icon{font-size:20px;line-height:1}.findings__headline{font-size:14px}.findings__detail{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.findings__fix{margin:6px 0 0;font-size:13px}.dashboard__card--wide{grid-column:1 / -1}@media (max-width: 960px){.dashboard__card--wide{grid-column:1}}.findings__item--good{border-left-color:var(--hit);background:var(--hit-bg)}.hcp__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3);margin:var(--sp-3) 0}.hcp__tile{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-base)}.hcp__tile-value{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.hcp__tile-label{font-size:12px;font-weight:700;color:var(--text-primary)}.hcp__tile-sub{font-size:11px;color:var(--text-secondary)}.hcp__cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--sp-5);margin-bottom:var(--sp-4)}@media (max-width: 760px){.hcp__cols{grid-template-columns:1fr}}.hcp__table-wrap{overflow-x:auto}.hcp__table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.hcp__table th{text-align:left;font-size:11px;color:var(--text-secondary);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.hcp__table td{padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.hcp__muted{color:var(--text-secondary);font-size:11px}.hcp__trend{display:flex;flex-direction:column;gap:var(--sp-2)}.hcp__trend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.hcp__trend-row{display:grid;grid-template-columns:84px 52px 1fr 36px;align-items:center;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}.hcp__trend-date{color:var(--g700);font-weight:600;text-decoration:none}.hcp__trend-date:hover{text-decoration:underline}.hcp__trend-date:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.hcp__trend-yd{color:var(--text-secondary)}.hcp__trend-bar-wrap{height:8px;border-radius:999px;background:var(--bg-base);border:1px solid var(--border);overflow:hidden}.hcp__trend-bar{display:block;height:100%;background:var(--o500)}.hcp__trend-val{text-align:right;font-weight:700}.hcp__insights{margin-top:var(--sp-2)}.pacing{margin-bottom:var(--sp-6)}.pacing__verdict{font-weight:600}.pacing__verdict--fade{color:var(--miss)}.pacing__verdict--finish-strong{color:var(--hit)}.pacing__verdict--steady{color:var(--text-secondary)}.pacing__chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-secondary);background:var(--bg-base);border:1px solid var(--border)}.pacing__chip--up{color:var(--hit);background:var(--hit-bg);border-color:var(--hit-bg)}.pacing__chip--down{color:var(--miss);background:var(--miss-bg);border-color:var(--miss-bg)}.pacing__drift{display:flex;flex-direction:column;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-4)}.pacing__bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-width:520px}.pacing__bar-row{display:grid;grid-template-columns:76px 1fr 48px;align-items:center;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}.pacing__bar-label{color:var(--text-secondary);font-weight:600}.pacing__bar-wrap{height:8px;border-radius:999px;background:var(--bg-base);border:1px solid var(--border);overflow:hidden}.pacing__bar{display:block;height:100%;background:var(--b500)}.pacing__bar-val{text-align:right;font-weight:700}.pacing__note{margin:var(--sp-3) 0 0;font-size:12px;color:var(--text-secondary)}.dash-dbl{display:flex;flex-direction:column;gap:var(--sp-4)}.dash-dbl__pairs-head{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2)}.dash-dbl__pairs-pct{font-size:var(--text-2xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.dash-dbl__pairs-label{font-size:var(--text-sm);color:var(--text-secondary)}.dash-dbl__pairbar{display:flex;height:12px;border-radius:var(--r-full);overflow:hidden;background:var(--border)}.dash-dbl__seg{display:block;height:100%;flex-basis:0}.dash-dbl__seg--both{background:var(--hit)}.dash-dbl__seg--one{background:var(--warning)}.dash-dbl__seg--none{background:var(--miss)}.dash-dbl__legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--text-secondary)}.dash-dbl__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.dash-dbl__dot--both{background:var(--hit)}.dash-dbl__dot--one{background:var(--warning)}.dash-dbl__dot--none{background:var(--miss)}.dash-dbl__table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.dash-dbl__table th,.dash-dbl__table td{padding:6px var(--sp-2);text-align:right;border-bottom:1px solid var(--border)}.dash-dbl__table th:first-child{text-align:left}.dash-dbl__table thead th{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--fw-semibold)}.dash-dbl__delta--bad{color:var(--miss);font-weight:var(--fw-bold)}.dash-dbl__delta--good{color:var(--hit)}.dash-dbl__note{margin:0;font-size:var(--text-sm);line-height:1.5}.dash-dbl__split{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--bg-base);border:1px solid var(--border)}.dash-dbl__split-val{font-size:var(--text-lg);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.dash-dbl__split-label{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.patch25{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold));border:2px solid var(--gold-edge);box-shadow:0 1px 4px var(--overlay);color:var(--g700);line-height:1;flex-shrink:0;position:relative}.patch25--md{width:44px;height:44px}.patch25--sm{width:32px;height:32px}.patch25__num{font-weight:800}.patch25--md .patch25__num{font-size:16px}.patch25--sm .patch25__num{font-size:12px}.patch25__word{font-weight:700;letter-spacing:.04em}.patch25--md .patch25__word{font-size:6px}.patch25--sm .patch25__word{font-size:4.5px}.patch25__count{position:absolute;bottom:-4px;right:-6px;background:var(--g700);color:var(--text-inverse);border-radius:999px;font-size:9px;font-weight:700;padding:1px 5px}.session-list{max-width:var(--content-max)}.session-list__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-6);flex-wrap:wrap;gap:var(--sp-4)}.session-list__title{font-size:var(--text-3xl);font-weight:var(--fw-bold);margin-bottom:var(--sp-1)}.session-list__subtitle{font-size:var(--text-base);color:var(--text-secondary)}.session-list__new-btn{background:var(--g700);color:var(--text-inverse);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-weight:var(--fw-semibold);font-size:var(--text-base);text-decoration:none;transition:background var(--transition-fast);white-space:nowrap}.session-list__new-btn:hover{background:var(--g600);text-decoration:none}.session-list__new-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.session-list__filters{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.session-list__search-wrap{flex:1;min-width:200px;max-width:380px}.session-list__search{width:100%;padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);background:var(--surface);color:var(--text-primary)}.session-list__search:focus{outline:none;border-color:var(--b500);box-shadow:0 0 0 3px var(--b100)}.session-list__filter-group{display:flex;gap:var(--sp-1)}.session-list__filter-btn{font-size:var(--text-sm);font-weight:var(--fw-medium);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);border:1.5px solid var(--border);color:var(--text-secondary);background:var(--surface);transition:all var(--transition-fast)}.session-list__filter-btn:hover{border-color:var(--g600);color:var(--g600)}.session-list__filter-btn--active{background:var(--g700);color:var(--text-inverse);border-color:var(--g700)}.session-list__filter-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.session-list__table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);overflow-x:auto}.session-list__table{width:100%;font-size:var(--text-sm)}.session-list__table th{text-align:left;font-weight:var(--fw-semibold);color:var(--text-secondary);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-base)}.session-list__table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);vertical-align:middle}.session-list__table tbody tr:last-child td{border-bottom:none}.session-list__table tbody tr:hover{background:var(--bg-base)}.session-list__date{white-space:nowrap;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-medium)}.session-list__location-cell{display:flex;flex-direction:column}.session-list__location{font-weight:var(--fw-medium);color:var(--text-primary)}.session-list__gun{font-size:var(--text-xs);color:var(--text-secondary)}.session-list__games{display:flex;flex-wrap:wrap;gap:4px}.session-list__game{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--surface-alt, var(--bg-subtle, var(--bg-base)));border:1px solid var(--border);color:var(--text-secondary)}.session-list__actions{display:flex;gap:var(--sp-3)}.session-list__action-link{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap;transition:color var(--transition-fast)}.session-list__action-link:hover,.session-list__action-link--primary{color:var(--g600)}.session-list__action-link:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.session-list__empty{text-align:center;padding:var(--sp-16);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-secondary)}.session-list__clear{margin-top:var(--sp-3);color:var(--g600);font-size:var(--text-sm);font-weight:var(--fw-medium);text-decoration:underline}.session-list__clear:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.session-list__action-btn{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap;transition:color var(--transition-fast);background:none;border:none;cursor:pointer;padding:0}.session-list__action-btn:hover{color:var(--g600)}.session-list__action-btn--danger:hover{color:var(--miss)}.session-list__action-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.sl-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-4);animation:fade-in .12s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sl-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;animation:modal-up .15s ease}.sl-modal--narrow{max-width:400px}@keyframes modal-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sl-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-5) 0}.sl-modal__title{font-size:var(--text-lg);font-weight:var(--fw-bold)}.sl-modal__close{color:var(--text-secondary);font-size:var(--text-base);line-height:1;background:none;border:none;cursor:pointer;padding:var(--sp-1);border-radius:var(--r-sm);transition:color var(--transition-fast)}.sl-modal__close:hover{color:var(--text-primary)}.sl-modal__close:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.sl-modal__form{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.sl-modal__body{padding:var(--sp-4) var(--sp-5)}.sl-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.sl-modal__field{display:flex;flex-direction:column;gap:var(--sp-1)}.sl-modal__label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.sl-modal__input{padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);background:var(--bg-base);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.sl-modal__input:focus{outline:none;border-color:var(--b500);box-shadow:0 0 0 3px var(--b100)}.sl-modal__error{font-size:var(--text-sm);color:var(--miss);background:var(--miss-bg);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md)}.sl-modal__confirm-text{font-size:var(--text-base);margin-bottom:var(--sp-3)}.sl-modal__confirm-sub{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.sl-modal__footer{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-5);border-top:1px solid var(--border)}.sl-modal__btn{padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;border:1.5px solid transparent;transition:all var(--transition-fast)}.sl-modal__btn:disabled{opacity:.55;cursor:default}.sl-modal__btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.sl-modal__btn--primary{background:var(--g700);color:var(--text-inverse);border-color:var(--g700)}.sl-modal__btn--primary:not(:disabled):hover{background:var(--g600);border-color:var(--g600)}.sl-modal__btn--ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.sl-modal__btn--ghost:not(:disabled):hover{border-color:var(--g600);color:var(--g600)}.sl-modal__btn--danger{background:var(--miss);color:#fff;border-color:var(--miss)}.sl-modal__btn--danger:not(:disabled):hover{filter:brightness(1.1)}.session-list__game--hcp{background:var(--o100);color:var(--o600)}.sl-modal__hint{font-size:var(--text-xs);color:var(--text-secondary)}.new-session{max-width:720px}.new-session__header{margin-bottom:var(--sp-6)}.new-session__title{font-size:var(--text-3xl);font-weight:var(--fw-bold)}.new-session__steps{display:flex;align-items:center;gap:0;margin-bottom:var(--sp-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm)}.new-session__step{display:flex;align-items:center;gap:var(--sp-2);flex:1;position:relative;color:var(--text-disabled)}.new-session__step+.new-session__step:before{content:"";display:block;width:32px;height:2px;background:var(--border);margin-right:var(--sp-2);flex-shrink:0}.new-session__step--done .new-session__step+.new-session__step:before{background:var(--g500)}.new-session__step--active{color:var(--text-primary)}.new-session__step--done{color:var(--g600)}.new-session__step-num{width:28px;height:28px;border-radius:var(--r-full);border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--fw-bold);flex-shrink:0;background:var(--surface)}.new-session__step--active .new-session__step-num{background:var(--g700);color:var(--text-inverse);border-color:var(--g700)}.new-session__step--done .new-session__step-num{background:var(--hit-bg);border-color:var(--hit);color:var(--hit)}.new-session__step-label{font-size:var(--text-sm);font-weight:var(--fw-medium);white-space:nowrap}.new-session__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.new-session__step-content{padding:var(--sp-8)}.new-session__step-title{font-size:var(--text-xl);font-weight:var(--fw-semibold);margin-bottom:var(--sp-6)}.new-session__form{display:flex;flex-direction:column;gap:var(--sp-5);margin-bottom:var(--sp-8)}.new-session__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media (max-width: 480px){.new-session__row{grid-template-columns:1fr}}.new-session__field{display:flex;flex-direction:column;gap:var(--sp-1)}.new-session__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.new-session__input{padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);font-size:var(--text-base);background:var(--surface);color:var(--text-primary);transition:border-color var(--transition-fast)}.new-session__input:focus{outline:none;border-color:var(--b500);box-shadow:0 0 0 3px var(--b100)}.new-session__input--error{border-color:var(--error)}.new-session__error{font-size:var(--text-sm);color:var(--error)}.new-session__import-tabs{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-5)}.new-session__import-tab{padding:var(--sp-2) var(--sp-4);font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:var(--r-md);border:1.5px solid var(--border);color:var(--text-secondary);background:var(--surface);transition:all var(--transition-fast)}.new-session__import-tab:hover{border-color:var(--g600);color:var(--g600)}.new-session__import-tab--active{background:var(--g100);border-color:var(--g700);color:var(--g700)}.new-session__import-tab:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.new-session__dropzone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-10);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast);cursor:pointer;margin-bottom:var(--sp-4)}.new-session__dropzone:hover,.new-session__dropzone--drag{border-color:var(--g600);background:var(--g100)}.new-session__dropzone-icon{font-size:3rem;display:block;margin-bottom:var(--sp-3)}.new-session__dropzone-text{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--sp-2)}.new-session__browse-btn{color:var(--g600);font-weight:var(--fw-medium);text-decoration:underline;display:inline}.new-session__browse-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.new-session__dropzone-hint{font-size:var(--text-sm);color:var(--text-secondary)}.new-session__file-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.new-session__file-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-md)}.new-session__file-check{width:16px;height:16px;accent-color:var(--g700);cursor:pointer}.new-session__file-label{display:flex;align-items:center;gap:var(--sp-2);flex:1;cursor:pointer}.new-session__file-icon{font-size:var(--text-lg)}.new-session__file-name{flex:1;font-size:var(--text-sm);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-session__file-size{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.new-session__file-item--group{flex-direction:column;align-items:stretch;gap:0}.new-session__date-row{display:flex;align-items:center;gap:var(--sp-2);width:100%}.new-session__rounds-toggle{flex-shrink:0;background:none;border:none;padding:2px 6px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--g700);cursor:pointer;white-space:nowrap}.new-session__rounds-toggle:hover{text-decoration:underline}.new-session__rounds{margin-top:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-alt, var(--bg-subtle, var(--bg-base)));border:1px solid var(--border)}.new-session__rounds-head{display:flex;align-items:center;margin-bottom:var(--sp-2)}.new-session__rounds-disc{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);font-weight:var(--fw-medium)}.new-session__rounds-select{padding:4px 8px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-base);font-size:var(--text-sm);cursor:pointer}.new-session__rounds-status{font-size:var(--text-sm);color:var(--text-secondary)}.new-session__rounds-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1, 4px)}.new-session__round-item{display:flex;align-items:center;gap:var(--sp-2);padding:4px 6px;border-radius:var(--r-sm)}.new-session__round-label{display:flex;align-items:center;gap:var(--sp-2);flex:1;cursor:pointer}.new-session__round-name{font-size:var(--text-sm);font-weight:var(--fw-medium);flex:1}.new-session__round-meta{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.new-session__rounds-hint{margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--text-secondary);font-style:italic}.new-session__file-remove{font-size:var(--text-sm);color:var(--text-secondary);width:24px;height:24px;border-radius:var(--r-sm);transition:background var(--transition-fast),color var(--transition-fast)}.new-session__file-remove:hover{background:var(--miss-bg);color:var(--miss)}.new-session__file-remove:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.new-session__usb{min-height:200px;display:flex;flex-direction:column}.new-session__usb-idle,.new-session__usb-detecting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-10);text-align:center;color:var(--text-secondary)}.new-session__usb-icon{font-size:3rem}.new-session__usb-device{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--hit-bg);border:1px solid var(--hit);border-radius:var(--r-md);margin-bottom:var(--sp-4);font-size:var(--text-sm)}.new-session__usb-serial{color:var(--text-secondary);font-size:var(--text-xs);margin-left:auto}.new-session__usb-instruction{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--sp-2)}.new-session__usb-instruction-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.new-session__select-all{flex-shrink:0;background:none;border:none;padding:0;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--g700);cursor:pointer}.new-session__select-all:hover{text-decoration:underline}.new-session__usb-hidden{color:var(--text-tertiary, var(--text-secondary));font-style:italic}.new-session__upload-steer{display:flex;align-items:flex-start;gap:var(--space-2, 8px);margin-bottom:var(--space-3, 12px);padding:10px 14px;border-radius:10px;font-size:var(--text-sm, .9rem);line-height:1.4;background:var(--surface-alt, #f0f0ee);border:1px solid var(--border);color:var(--text-secondary)}.new-session__upload-steer--active{background:color-mix(in srgb,var(--g700) 8%,var(--bg-base));border-color:var(--g500);color:var(--text-primary, inherit)}.new-session__upload-steer strong{color:var(--text-primary, inherit)}.new-session__upload-steer-btn{flex-shrink:0;margin-left:auto;align-self:center;padding:6px 12px;border-radius:8px;border:none;background:var(--g700);color:#fff;font-weight:var(--fw-semibold);font-size:var(--text-sm, .9rem);cursor:pointer;white-space:nowrap}.new-session__upload-steer-btn:hover{background:var(--g600, var(--g700))}.new-session__upload-steer-link{background:none;border:none;padding:0;font:inherit;font-weight:var(--fw-semibold);color:var(--g700);cursor:pointer;text-decoration:underline}.new-session__usb-toggle{background:none;border:none;padding:0;font:inherit;font-style:italic;color:var(--g700);cursor:pointer}.new-session__usb-toggle:hover{text-decoration:underline}.new-session__usb-badge{flex-shrink:0;margin-left:var(--space-2, 8px);padding:1px 8px;border-radius:999px;font-size:var(--text-xs, .72rem);font-weight:var(--fw-semibold);font-style:normal;background:var(--surface-alt, #eee);color:var(--text-secondary);border:1px solid var(--border)}.new-session__confirm{display:flex;flex-direction:column;gap:var(--sp-6);margin-bottom:var(--sp-8)}.new-session__confirm-section{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}.new-session__confirm-label{font-size:var(--text-base);font-weight:var(--fw-semibold);margin-bottom:var(--sp-3)}.new-session__confirm-dl{display:flex;flex-direction:column;gap:var(--sp-1)}.new-session__confirm-dl>div{display:flex;gap:var(--sp-3);font-size:var(--text-sm)}.new-session__confirm-dl dt{min-width:80px;color:var(--text-secondary)}.new-session__confirm-dl dd{font-weight:var(--fw-medium)}.new-session__confirm-files{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--text-sm);color:var(--text-secondary)}.new-session__confirm-files li:before{content:"🎥 "}.new-session__footer{display:flex;justify-content:flex-end;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border)}.new-session__attach{margin:0 0 var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--g600);background:var(--g100);color:var(--text-primary);font-size:var(--text-sm);line-height:1.5}.new-session__attach-note{margin:0 0 var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary)}.new-session__cancel{margin-right:auto;align-self:center;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--g700)}.new-session__cancel:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.new-session__hint{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.atfm__scopes{display:flex;gap:8px;margin-bottom:14px}.atfm__scope{flex:1;padding:9px 10px;font-size:13px;font-weight:600;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer}.atfm__scope--on{border-color:var(--g600);background:var(--g100);color:var(--g700)}.atfm__error{color:var(--miss);font-size:13px;font-weight:600}.atfm__done{text-align:center;padding:10px 0}.atfm__hint{font-size:13px;color:var(--text-secondary)}.atfm__scope:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.review{display:flex;flex-direction:column;height:calc(100vh - var(--header-height, 64px));overflow:hidden}.review__topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;flex-wrap:wrap;gap:var(--sp-3)}.review__topbar-left{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.review__topbar-right{display:flex;align-items:center;gap:var(--sp-3)}.review__back{color:var(--g600);font-size:var(--text-sm);font-weight:var(--fw-medium);text-decoration:none}.review__back:hover{text-decoration:underline}.review__back:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.review__title{font-size:var(--text-xl);font-weight:var(--fw-bold)}.review__date{font-size:var(--text-sm);color:var(--text-secondary);background:var(--border);padding:2px var(--sp-2);border-radius:var(--r-sm)}.review__progress{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.review__analysis-btn{font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);border:1.5px solid var(--g600);color:var(--g600);background:transparent;cursor:pointer;transition:all var(--transition-fast)}.review__analysis-btn:hover{background:var(--g600);color:var(--text-inverse)}.review__body{display:grid;grid-template-columns:220px 1fr 340px;flex:1;overflow:hidden}@media (max-width: 1100px){.review__body{grid-template-columns:190px 1fr 280px}}@media (max-width: 860px){.review__body{grid-template-columns:1fr;overflow-y:auto}.review__rounds-panel{border-right:none!important;border-bottom:1px solid var(--border)!important}.review__controls-col{border-left:none!important;border-top:1px solid var(--border)!important}}.review__rounds-panel{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-base);overflow:hidden;min-height:0}.review__rounds-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.review__rounds-title{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.review__rounds-list{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-1)}.review__round-card{display:flex;align-items:center;flex-shrink:0;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.review__round-card:hover{border-color:var(--g500)}.review__round-card--active{border-color:var(--g700);background:color-mix(in srgb,var(--g700) 6%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--g700) 20%,transparent)}.review__round-card--perfect{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 6%,var(--surface))}.review__round-card--perfect:hover{border-color:#d97706}.review__round-card--active.review__round-card--perfect{border-color:#d97706;background:color-mix(in srgb,#f59e0b 10%,var(--surface));box-shadow:0 0 0 2px #f59e0b4d}.review__round-card-crown{animation:crownFloat 2.2s ease-in-out infinite;display:inline-block}@keyframes crownFloat{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(5deg)}}.review__round-card-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:var(--sp-3) var(--sp-3);background:none;border:none;cursor:pointer;text-align:left}.review__round-card-name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.3}.review__round-card--active .review__round-card-name{color:var(--g700)}.review__round-card-meta,.review__round-card-progress{font-size:var(--text-xs);color:var(--text-secondary)}.review__round-card-progress strong{color:var(--g700);font-weight:var(--fw-bold)}.review__round-card-unstarted{color:var(--text-secondary);font-style:italic}.review__round-card-equip{font-size:10px;color:var(--text-muted, var(--text-secondary));margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8;max-width:100%}.review__round-card-station{flex-shrink:0;font-size:11px;font-weight:var(--fw-bold);color:var(--g700);background:color-mix(in srgb,var(--g700) 10%,transparent);border:1px solid color-mix(in srgb,var(--g700) 25%,transparent);border-radius:var(--r-sm);padding:3px 7px;margin-right:var(--sp-2);white-space:nowrap}.review__round-card-actions{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-2) var(--sp-2) 0;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.review__round-card:hover .review__round-card-actions,.review__round-card--active .review__round-card-actions{opacity:1;pointer-events:auto}.review__round-action{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);line-height:1}.review__round-action:hover{border-color:var(--g500);background:var(--surface)}.review__round-action--danger:hover{border-color:var(--miss);background:color-mix(in srgb,var(--miss) 10%,var(--surface));color:var(--miss)}.review__round-action:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--b500);outline-offset:2px}.review__add-round-btn{flex-shrink:0;margin:var(--sp-2) var(--sp-2) var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1.5px dashed var(--border);background:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--transition-fast);text-align:center}.review__add-round-btn:not(:disabled):hover{border-color:var(--g600);color:var(--g600);background:color-mix(in srgb,var(--g600) 5%,transparent)}.review__add-round-btn:disabled{opacity:.5;cursor:default}.review__add-round-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.review__player-col{display:flex;flex-direction:column;gap:var(--sp-3);overflow-y:auto;padding:var(--sp-4)}.review__no-round{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;padding:var(--sp-12)}.review__shot-nav{display:flex;align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);flex-shrink:0}.review__nav-btn{font-size:var(--text-base);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--bg-base);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.review__nav-btn:disabled{opacity:.35;cursor:default}.review__nav-btn:not(:disabled):hover{border-color:var(--g600);color:var(--g600)}.review__nav-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.review__shot-info{flex:1;display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.review__shot-label{font-size:var(--text-base);font-weight:var(--fw-semibold);font-family:var(--font-mono)}.review__shot-meta{font-size:var(--text-sm);color:var(--text-secondary)}.review__station-selector{display:flex;align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);flex-shrink:0}.review__station-selector-label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-right:var(--sp-1);white-space:nowrap}.review__station-btn{flex:1;height:40px;font-size:var(--text-base);font-weight:var(--fw-bold);border-radius:var(--r-md);border:2px solid var(--border);color:var(--text-secondary);background:var(--bg-base);cursor:pointer;transition:all var(--transition-fast);min-width:40px}.review__station-btn:hover{border-color:var(--g600);color:var(--g600)}.review__station-btn--active{background:var(--g700);color:var(--text-inverse);border-color:var(--g700)}.review__station-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.sight{display:flex;flex-direction:column;gap:var(--sp-2)}.sight__hint{font-size:var(--text-sm);color:var(--text-secondary);margin:0;padding:var(--sp-3) 0}.sight__stage{position:relative;width:100%;background:#000;border-radius:var(--r-md);overflow:hidden}.sight__frame{display:block;width:100%;height:100%;object-fit:cover}.sight__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.sight__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap}.sight__lead{font-size:var(--text-sm);color:var(--text-primary)}.sight__lead--none{color:var(--text-secondary)}.sight__toggle{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.sight__legend{display:flex;gap:var(--sp-4);font-size:var(--text-xs);color:var(--text-secondary)}.sight__legend span{display:inline-flex;align-items:center;gap:var(--sp-1)}.sight__key{width:12px;height:3px;border-radius:2px;display:inline-block}.sight__key--clay{background:#fb923c}.sight__key--bead{background:#fff;border:1px solid var(--border-strong)}.review__bookmark-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--text-disabled);padding:0 var(--sp-1);transition:color var(--transition-fast),transform var(--transition-fast)}.review__bookmark-btn:hover:not(:disabled){transform:scale(1.15);color:var(--warning)}.review__bookmark-btn--on{color:var(--warning)}.review__bookmark-btn:disabled{opacity:.4;cursor:default}.review__autodetect{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;flex-shrink:0}.review__autodetect-btn{padding:var(--sp-2) var(--sp-4);font-size:var(--text-sm);font-weight:var(--fw-semibold);border-radius:var(--r-md);border:1.5px solid var(--g500);background:color-mix(in srgb,var(--g500) 10%,var(--surface));color:var(--g700);cursor:pointer;transition:all var(--transition-fast)}.review__autodetect-btn:not(:disabled):hover{background:color-mix(in srgb,var(--g500) 18%,var(--surface));transform:translateY(-1px)}.review__autodetect-btn:disabled{opacity:.7;cursor:default}.review__autodetect-summary{font-size:var(--text-sm);color:var(--text-secondary)}.cv{display:flex;flex-direction:column;gap:var(--sp-2)}.cv__stage{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--r-lg);overflow:hidden}.cv__stage:fullscreen{aspect-ratio:auto;width:100vw;height:100vh;border-radius:0}.cv__video{position:absolute;background:#000}.cv__video--main{top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.cv__novideo{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:var(--text-sm)}.cv__bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:linear-gradient(to bottom,#0000008c,#0000);z-index:4;pointer-events:none}.cv__bar-right{pointer-events:auto}.cv__bar-right{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.cv__speeds{display:flex;gap:2px;background:#00000059;border-radius:var(--r-full);padding:3px}.cv__speed{border:none;background:transparent;color:#ffffffd9;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:4px 8px;border-radius:var(--r-full);cursor:pointer;font-variant-numeric:tabular-nums}.cv__speed--on{background:#fffffff2;color:#111}.cv__icon-btn{border:none;background:#00000073;color:#fff;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:5px 10px;border-radius:var(--r-md);cursor:pointer}.cv__icon-btn:hover{background:#000000a6}.review__tag-row{display:flex;gap:var(--sp-4);padding:var(--sp-3);border-radius:var(--r-lg);border:2px solid var(--border);background:var(--surface);transition:border-color .2s,background .2s;flex-shrink:0}.review__missing-btn{margin-top:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px dashed var(--border-strong, var(--border));background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;flex-shrink:0}.review__missing-btn:not(:disabled):hover{border-color:var(--warning, var(--miss));color:var(--text-primary)}.review__missing-btn:disabled{opacity:.5;cursor:default}.review__tag-row--hit{border-color:var(--hit);background:color-mix(in srgb,var(--hit) 8%,var(--surface))}.review__tag-row--miss{border-color:var(--miss);background:color-mix(in srgb,var(--miss) 8%,var(--surface))}.review__tag-btn{flex:1;padding:var(--sp-4);font-size:var(--text-lg);font-weight:var(--fw-bold);border-radius:var(--r-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);letter-spacing:.04em}.review__tag-btn:disabled{opacity:.5;cursor:default}.review__tag-btn--hit{background:var(--hit);color:#fff;border-color:var(--hit)}.review__tag-btn--hit:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--hit) 40%,transparent)}.review__tag-btn--miss{background:var(--miss);color:#fff;border-color:var(--miss)}.review__tag-btn--miss:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--miss) 40%,transparent)}.review__tag-btn--skip{background:var(--bg-base);color:var(--text-secondary);border-color:var(--border);flex:0 0 auto;padding:var(--sp-4) var(--sp-5)}.review__tag-btn--skip:not(:disabled):hover{background:var(--border);color:var(--text-primary);transform:translateY(-1px)}.review__tag-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.review__controls-col{display:flex;flex-direction:column;gap:0;border-left:1px solid var(--border);background:var(--surface);overflow-y:auto}.review__section{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--border)}.review__section:last-of-type{border-bottom:none}.review__section--flex{flex:1;min-height:0}.review__section-title{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em}.review__station-grid{display:flex;flex-direction:column;gap:var(--sp-2)}.review__station-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--bg-base);transition:border-color var(--transition-fast)}.review__station-card--current{border-color:var(--g600);background:color-mix(in srgb,var(--g600) 6%,var(--bg-base))}.review__station-card-num{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);width:24px}.review__station-card-score{font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font-mono);min-width:40px;color:var(--text-primary)}.review__station-bar-wrap{flex:1;height:6px;background:var(--border);border-radius:var(--r-full);overflow:hidden}.review__station-bar{height:100%;background:var(--hit);border-radius:var(--r-full);transition:width var(--transition-base)}.review__shot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-1)}.review__shot-dot{position:relative;aspect-ratio:1;border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--bg-base);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);transition:all var(--transition-fast)}.review__shot-dot:hover{border-color:var(--g600);color:var(--g600)}.review__shot-dot--active{border:2.5px solid #2563eb!important;background:#2563eb!important;color:#fff!important;transform:scale(1.22);box-shadow:0 0 0 4px #2563eb38;z-index:1;animation:shotActivePulse 1.4s ease-in-out infinite}@keyframes shotActivePulse{0%,to{box-shadow:0 0 0 4px #2563eb38}50%{box-shadow:0 0 0 8px #2563eb14}}.review__shot-dot--hit{background:color-mix(in srgb,var(--hit) 15%,var(--bg-base));border-color:var(--hit);color:var(--hit)}.review__shot-dot--miss{background:color-mix(in srgb,var(--miss) 15%,var(--bg-base));border-color:var(--miss);color:var(--miss)}.review__shot-dot--skip{background:var(--border);border-color:var(--g400, #aaa);color:var(--text-secondary);opacity:.6}.review__shot-dot-num{font-size:10px;font-weight:var(--fw-bold);line-height:1}.review__shot-seq{display:flex;flex-direction:column;gap:var(--sp-1)}.review__shot-row{display:flex;align-items:center;gap:var(--sp-2)}.review__shot-row-station{flex-shrink:0;width:26px;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);text-align:right}.review__shot-row-items{display:flex;flex-wrap:wrap;gap:4px;flex:1}.review__shot-chip{display:flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg-base);cursor:pointer;font-size:var(--text-xs);color:var(--text-primary);transition:all var(--transition-fast)}.review__shot-chip:hover{border-color:var(--g600)}.review__shot-chip-num{font-weight:var(--fw-bold);color:var(--text-secondary);font-variant-numeric:tabular-nums}.review__shot-chip-target{white-space:nowrap}.review__shot-chip--hit{background:color-mix(in srgb,var(--hit) 14%,var(--bg-base));border-color:var(--hit)}.review__shot-chip--miss{background:color-mix(in srgb,var(--miss) 14%,var(--bg-base));border-color:var(--miss)}.review__shot-chip--skip{opacity:.5}.review__shot-chip--missing{border-style:dashed;border-color:var(--warning, var(--miss));background:color-mix(in srgb,var(--warning, var(--miss)) 10%,var(--bg-base));color:var(--text-secondary);font-style:italic}.review__shot-chip--missing .review__shot-chip-num{color:var(--warning, var(--miss));font-style:normal}.review__shot-chip--active{border:2px solid #2563eb;box-shadow:0 0 0 3px #2563eb33;color:#2563eb}.review__shot-chip--active .review__shot-chip-num{color:#2563eb}.review__shot-chip--double{border-style:dashed}.review__shot-birds{display:inline-flex;gap:2px;margin-left:2px}.review__shot-bird{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:.6rem;font-weight:700;line-height:1;border:1px solid var(--g500);color:var(--g700)}.review__shot-bird--hit{background:var(--hit);border-color:var(--hit);color:#fff}.review__shot-bird--miss{background:var(--miss);border-color:var(--miss);color:#fff}.review__shot-bird--none{background:transparent}.review__double-badges{display:inline-flex;gap:6px}.review__tag-double{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.review__tag-bird{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:var(--surface-alt);border:1px solid var(--border)}.review__tag-bird-label{font-size:.8rem;font-weight:600;color:var(--g700);min-width:62px}.review__tag-btn--sm{padding:6px 10px;font-size:.85rem;flex:0 0 auto}.review__tag-btn--sel{box-shadow:0 0 0 2px currentColor inset;font-weight:700}.review__thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--sp-2)}.review__thumb-item{position:relative;border:2px solid transparent;border-radius:var(--r-sm);padding:0;cursor:pointer;background:none;transition:border-color .15s}.review__thumb-item:hover,.review__thumb-item:focus-visible{border-color:var(--g600);outline:none}.review__thumb-item--active{border-color:var(--g700)!important}.review__thumb-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--r-sm) - 2px);display:block}.review__thumb-badge{position:absolute;top:2px;right:2px;font-size:10px;line-height:1;background:#0000008c;border-radius:var(--r-sm);padding:1px 2px}.review__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-16);color:var(--text-secondary)}.review__spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--g700);border-radius:50%;animation:spin .8s linear infinite}.review__error{padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4);align-items:flex-start}.review__error-detail{font-size:var(--text-sm);color:var(--text-secondary)}.rv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--sp-4)}.rv-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xl, 0 20px 60px rgba(0,0,0,.35));width:100%;max-width:440px;animation:modal-in .15s ease}.rv-modal--narrow{max-width:360px}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:none}}.rv-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.rv-modal__title{font-size:var(--text-base);font-weight:var(--fw-bold)}.rv-modal__close{width:28px;height:28px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.rv-modal__close:hover{background:var(--border)}.rv-modal__body{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.rv-modal__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.rv-modal__input{width:100%;padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--bg-base);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.rv-modal__input:focus{outline:none;border-color:var(--g600)}.rv-modal__section-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);margin-top:var(--sp-1);margin-bottom:calc(-1 * var(--sp-1))}.rv-modal__section-hint{font-size:11px;font-weight:var(--fw-regular, 400);color:var(--text-muted, var(--text-secondary))}.rv-modal__checkbox{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-alt, var(--bg-base));cursor:pointer}.rv-modal__checkbox input{width:16px;height:16px;margin-top:2px;accent-color:var(--g700);cursor:pointer;flex-shrink:0}.rv-modal__checkbox>span{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm)}.rv-modal__checkbox-hint{font-size:11px;color:var(--text-muted, var(--text-secondary))}.rv-modal__fields-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-3)}.rv-modal__field{display:flex;flex-direction:column;gap:var(--sp-1)}.rv-modal__footer{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border)}.rv-modal__btn{padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-fast);border:1.5px solid transparent}.rv-modal__btn:disabled{opacity:.5;cursor:default}.rv-modal__btn--ghost{background:transparent;border-color:var(--border);color:var(--text-secondary)}.rv-modal__btn--ghost:not(:disabled):hover{background:var(--border);color:var(--text-primary)}.rv-modal__btn--primary{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.rv-modal__btn--primary:not(:disabled):hover{filter:brightness(1.1)}.rv-modal__btn--danger{background:var(--miss);border-color:var(--miss);color:#fff}.rv-modal__btn--danger:not(:disabled):hover{filter:brightness(1.1)}.rv-modal__btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.clay-viz{display:flex;flex-direction:column;gap:var(--sp-2)}.clay-viz__svg-wrap{display:flex;flex-direction:column;gap:6px}.clay-viz__svg{width:100%;height:auto;display:block;border-radius:8px;border:1px solid rgba(0,200,220,.25);overflow:hidden}.clay-viz__svg--crosshair{cursor:crosshair}.clay-viz__svg--crosshair:hover{border-color:#fbbf2473}.clay-viz__legend{display:flex;gap:var(--sp-4)}.clay-viz__legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.clay-viz__legend-swatch{width:12px;height:8px;border-radius:50%;display:inline-block}.clay-viz__legend-swatch--clay{background:#f97316;border:1.5px solid #fbbf24}.clay-viz__legend-swatch--aim{background:none;border:1.5px solid #ffffff;border-radius:50%;width:10px;height:10px}.clay-viz__stats{display:flex;gap:var(--sp-5);padding:var(--sp-2) var(--sp-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.clay-viz__stat{display:flex;flex-direction:column;gap:2px}.clay-viz__stat-label{font-size:10px;font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.clay-viz__stat-value{font-size:14px;font-weight:var(--fw-semibold);color:var(--text-primary)}.clay-viz__btn{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.clay-viz__btn:hover:not(:disabled){border-color:var(--b500);background:color-mix(in srgb,var(--b500) 6%,var(--surface));color:var(--b500)}.clay-viz__btn--loading{opacity:.6;cursor:wait}.clay-viz__hint{font-size:11px;color:var(--text-secondary);text-align:center;margin:0;padding:var(--sp-1) 0}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;animation:celebFadeIn .2s ease}@keyframes celebFadeIn{0%{opacity:0}to{opacity:1}}.celebration__piece{position:absolute;top:-16px;border-radius:2px;animation:confettiFall linear forwards;pointer-events:none;will-change:transform,opacity}.celebration__piece--circle{border-radius:50%}.celebration__piece--rect{border-radius:1px}@keyframes confettiFall{0%{transform:translateY(0) rotate(0) translate(0);opacity:1}80%{opacity:1}to{transform:translateY(110vh) rotate(720deg) translate(var(--drift, 0px));opacity:.15}}.celebration__firework{position:absolute;width:44px;height:44px;border-radius:50%;border:3px solid;pointer-events:none;animation:fireworkExpand 1.4s ease-out forwards;animation-iteration-count:3;opacity:0}@keyframes fireworkExpand{0%{transform:scale(0);opacity:.85}to{transform:scale(6);opacity:0}}.celebration__card{position:relative;z-index:1;background:#fff;border-radius:28px;padding:48px 80px;text-align:center;box-shadow:0 40px 100px #00000073,0 0 0 1px #ffffff1a;animation:celebCardIn .5s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}@keyframes celebCardIn{0%{transform:scale(.4) translateY(40px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.celebration__crown{font-size:84px;line-height:1;display:block;margin-bottom:8px;animation:crownEntrance .6s cubic-bezier(.34,1.56,.64,1) .3s both}@keyframes crownEntrance{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.celebration__title{font-size:46px;font-weight:900;letter-spacing:-.02em;line-height:1.05;margin-bottom:8px;background:linear-gradient(135deg,#f59e0b,#ef4444 45%,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.celebration__score{font-size:26px;font-weight:700;color:#1e293b;letter-spacing:.08em;margin-bottom:20px}.celebration__hint{font-size:13px;color:#94a3b8;letter-spacing:.02em}.review__add-round-btn--undo{margin-right:var(--sp-2)}.review__shot-chip--missing{display:inline-flex;align-items:center;gap:var(--sp-1);cursor:default}.review__shot-chip-score{display:inline-flex;gap:2px;margin-left:var(--sp-1)}.review__mini-btn{padding:1px var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;font-style:normal;line-height:1.4}.review__mini-btn:hover{background:var(--bg-base)}.review__mini-btn:disabled{opacity:.5;cursor:default}.review__mini-btn--hit{border-color:var(--hit);color:var(--hit)}.review__mini-btn--hit:hover{background:var(--hit-bg)}.review__mini-btn--miss{border-color:var(--miss);color:var(--miss)}.review__mini-btn--miss:hover{background:var(--miss-bg)}.review__addshot{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--text-sm);color:var(--text-secondary)}.review__addshot-label{cursor:help}.review__import-banner{margin:8px 16px 0;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--o100);color:var(--text-primary);font-size:13px}.review__import-banner--error{background:var(--miss-bg);color:var(--miss)}.review__import-banner--warn{background:var(--warning-bg);border-color:var(--warning)}.review__import-banner--hint{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--b100);border-color:var(--b500)}.review__banner-actions{display:inline-flex;gap:8px;margin-left:auto}.review__banner-btn{font:inherit;font-size:12px;font-weight:var(--fw-semibold);cursor:pointer;padding:4px 10px;border-radius:var(--radius-md);border:1px solid var(--g700);background:var(--surface);color:var(--g700)}.review__banner-btn--primary{background:var(--g700);color:var(--text-inverse)}.review__banner-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.review__tag-bird--both{border-top:1px dashed var(--border);padding-top:6px}.review__analysis-chip{font-size:12px;font-weight:var(--fw-medium);color:var(--g700);background:var(--g100);border-radius:999px;padding:3px 10px;white-space:nowrap}.review__start-stations{display:flex;gap:10px;justify-content:center;margin:14px 0 6px}.review__start-station-btn{width:52px;height:52px;font-size:20px;font-weight:700;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer}.review__start-station-btn:hover{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.review__start-station-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.cv__tag{display:flex;gap:6px}.cv__tag-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;border-radius:999px;border:1px solid transparent;cursor:pointer;color:var(--text-inverse)}.cv__tag-btn kbd{font-size:10px;padding:0 4px;border-radius:4px;background:var(--overlay);border:1px solid var(--border-strong)}.cv__tag-btn--hit{background:var(--hit)}.cv__tag-btn--miss{background:var(--miss)}.cv__tag-btn--on{outline:2px solid var(--text-inverse);outline-offset:1px}.cv__tag-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.cv__video::-webkit-media-controls-fullscreen-button{display:none!important}.review__attach-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;background:var(--g100);border-color:var(--g600)}.review__attach-btn{padding:6px 12px;border-radius:var(--radius-md);background:var(--g700);color:var(--text-inverse);font-weight:700;text-decoration:none;white-space:nowrap}.review__attach-btn:hover{background:var(--g600)}.review__attach-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.review__round-card-hcp{color:var(--o600);font-weight:var(--fw-semibold)}.analysis{max-width:var(--content-max)}.analysis__header{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-6);align-items:start;margin-bottom:var(--sp-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.analysis__header{grid-template-columns:1fr}}.analysis__nav{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}.analysis__back{font-size:var(--text-sm);color:var(--g600);font-weight:var(--fw-medium)}.analysis__back:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.analysis__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);margin-bottom:var(--sp-1)}.analysis__date{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--sp-3)}.analysis__meta-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.analysis__tag{font-size:var(--text-xs);padding:2px var(--sp-2);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text-secondary)}.analysis__score-badge{display:flex;flex-direction:column;align-items:center;background:var(--g700);color:var(--text-inverse);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-6);min-width:100px}.analysis__score-num{font-size:var(--text-3xl);font-weight:var(--fw-bold);font-family:var(--font-mono);line-height:1}.analysis__score-pct{font-size:var(--text-lg);font-weight:var(--fw-semibold);opacity:.85}.analysis__tabs{display:flex;gap:0;margin-bottom:var(--sp-6);border-bottom:2px solid var(--border)}.analysis__tab{font-size:var(--text-base);font-weight:var(--fw-medium);padding:var(--sp-3) var(--sp-5);color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition-fast),border-color var(--transition-fast);background:none}.analysis__tab:hover{color:var(--text-primary)}.analysis__tab--active{color:var(--g700);border-bottom-color:var(--g700);font-weight:var(--fw-semibold)}.analysis__tab:focus-visible{outline:2px solid var(--b500);outline-offset:-2px}.analysis__panel{display:flex;flex-direction:column;gap:var(--sp-6)}.analysis__overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}@media (max-width: 768px){.analysis__overview-stats{grid-template-columns:repeat(2,1fr)}}.analysis__kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1);box-shadow:var(--shadow-sm)}.analysis__kpi-value{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--hit);line-height:1}.analysis__kpi-value--miss{color:var(--miss)}.analysis__kpi-label{font-size:var(--text-sm);color:var(--text-secondary)}.analysis__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm)}.analysis__card-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1)}.analysis__card-sub{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--sp-4)}.analysis__mock-note{font-style:italic;color:var(--warning)}.focus-list{display:flex;flex-direction:column;gap:var(--sp-3)}.focus-item{padding:var(--sp-3) var(--sp-4);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-md)}.focus-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.focus-item p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.analysis__timing-grid{display:flex;flex-direction:column;gap:var(--sp-3)}.analysis__timing-card{display:flex;align-items:center;gap:var(--sp-4)}.analysis__timing-station{font-size:var(--text-sm);font-weight:var(--fw-medium);min-width:72px}.analysis__timing-value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--fw-bold);min-width:50px;color:var(--o600)}.analysis__timing-bar-wrap{flex:1;height:8px;background:var(--border);border-radius:var(--r-full);overflow:hidden}.analysis__timing-bar{height:100%;background:var(--o500);border-radius:var(--r-full)}.analysis__station-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-4)}@media (max-width: 900px){.analysis__station-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.analysis__station-grid{grid-template-columns:1fr 1fr}}.analysis__station-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--sp-3)}.analysis__station-header{display:flex;align-items:center;justify-content:space-between}.analysis__station-title{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.analysis__station-score{display:flex;align-items:baseline;gap:2px;justify-content:center}.analysis__station-hits{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--hit);line-height:1}.analysis__station-slash{font-size:var(--text-xl);color:var(--text-secondary)}.analysis__station-total{font-size:var(--text-xl);color:var(--text-secondary);font-weight:var(--fw-medium)}.analysis__station-bar-wrap{height:6px;background:var(--miss-bg);border-radius:var(--r-full);overflow:hidden}.analysis__station-bar{height:100%;background:var(--hit);border-radius:var(--r-full)}.analysis__station-trend{display:flex;align-items:center;gap:var(--sp-2)}.analysis__station-trend-label{font-size:var(--text-xs);color:var(--text-secondary)}.analysis__station-breakdown{display:flex;gap:var(--sp-3);font-size:var(--text-xs);color:var(--text-secondary)}.analysis__breakdown-hit{color:var(--hit)}.analysis__breakdown-miss{color:var(--miss)}.analysis__videos{display:flex;flex-direction:column;gap:var(--sp-4)}.analysis__video-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--sp-3)}.analysis__video-icon{font-size:2rem}.analysis__video-title{font-size:var(--text-lg);font-weight:var(--fw-semibold)}.analysis__video-desc{font-size:var(--text-sm);color:var(--text-secondary)}.analysis__video-stub{background:var(--bg-base);border:1.5px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--sp-5);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);color:var(--text-secondary);font-weight:var(--fw-medium)}.analysis__stub-note{font-size:var(--text-xs);color:var(--text-disabled);text-align:center;font-weight:var(--fw-normal);font-style:italic}.analysis__video-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.analysis__video-list h3{font-size:var(--text-base);font-weight:var(--fw-semibold);margin-bottom:var(--sp-3)}.analysis__video-list ul{display:flex;flex-direction:column;gap:var(--sp-2)}.analysis__video-file{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm)}.analysis__video-filename{font-weight:var(--fw-medium);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis__video-order{font-size:var(--text-xs);color:var(--text-secondary)}.analysis__video-review-link{color:var(--g600);font-weight:var(--fw-medium);font-size:var(--text-sm);white-space:nowrap}.analysis__video-review-link:focus-visible{outline:2px solid var(--b500);outline-offset:2px;border-radius:var(--r-sm)}.analysis__error{padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4)}.analysis__timing-chart{display:flex;align-items:flex-end;gap:4px;height:120px;padding:var(--sp-3) 0 var(--sp-2);border-bottom:1px solid var(--border);overflow-x:auto}.analysis__timing-bar-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:24px;height:100%}.analysis__timing-bar-fill{width:16px;background:var(--accent);border-radius:3px 3px 0 0;transition:height .3s ease}.analysis__timing-bar-item--fast .analysis__timing-bar-fill{background:var(--hit)}.analysis__timing-bar-item--slow .analysis__timing-bar-fill{background:var(--miss)}.analysis__timing-bar-label{font-size:10px;color:var(--text-tertiary);margin-top:4px}.analysis__timing-legend{display:flex;gap:var(--sp-4);margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--text-secondary)}.analysis__timing-legend-item--fast{color:var(--hit)}.analysis__timing-legend-item--slow{color:var(--miss)}.analysis__score-filtered{font-size:var(--text-xs);opacity:.75;letter-spacing:.05em;text-transform:uppercase;margin-top:var(--sp-1)}.analysis__filters{display:flex;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:var(--sp-5);box-shadow:var(--shadow-sm)}.analysis__filter-group{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.analysis__filter-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.analysis__filter-chips{display:flex;gap:var(--sp-1);flex-wrap:wrap}.analysis__filter-chip{font-size:var(--text-xs);padding:3px var(--sp-3);border-radius:var(--r-full);border:1.5px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.analysis__filter-chip:hover{border-color:var(--g500);color:var(--g700)}.analysis__filter-chip--active{background:var(--g700);border-color:var(--g700);color:var(--text-inverse);font-weight:var(--fw-semibold)}.analysis__timing-bar-result{font-size:8px;margin-bottom:1px;color:var(--text-secondary)}.analysis__timing-bar-item--fast .analysis__timing-bar-result{color:var(--hit)}.analysis__timing-bar-item--slow .analysis__timing-bar-result{color:var(--miss)}.analysis__timing-analyze{margin-bottom:var(--sp-4)}.analysis__timing-analyze-btn{display:inline-flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--g700);color:var(--text-inverse);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:filter var(--transition-fast)}.analysis__timing-analyze-btn:hover{filter:brightness(1.1)}.analysis__timing-analyze-count{font-size:var(--text-xs);opacity:.8;background:#fff3;padding:1px 6px;border-radius:var(--r-full)}.analysis__timing-progress{display:flex;flex-direction:column;gap:var(--sp-2)}.analysis__timing-progress-header{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary)}.analysis__timing-progress-err{color:var(--miss);font-size:var(--text-xs)}.analysis__timing-progress-bar{height:8px;background:var(--border);border-radius:var(--r-full);overflow:hidden}.analysis__timing-progress-fill{height:100%;background:var(--g600);border-radius:var(--r-full);transition:width .2s ease}.analysis__timing-analyze-btn--rerun{background:var(--surface);color:var(--g700);border:1px solid var(--border)}.analysis__timing-analyze-btn--rerun:hover{filter:brightness(.96)}.analysis__timing-analyze-done{font-size:var(--text-sm);color:var(--hit);font-weight:var(--fw-medium);display:flex;align-items:center;gap:var(--sp-2)}.analysis__timing-rerun-link{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.analysis__timing-rerun-link:hover{color:var(--g700)}.analysis__equip-grid{display:flex;flex-direction:column;gap:var(--sp-5)}.analysis__equip-group{display:flex;flex-direction:column;gap:var(--sp-2)}.analysis__equip-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:var(--sp-1)}.analysis__equip-row{display:grid;grid-template-columns:140px 1fr 44px 54px;align-items:center;gap:var(--sp-3)}.analysis__equip-key{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis__equip-bar-wrap{height:8px;background:var(--border);border-radius:var(--r-full);overflow:hidden}.analysis__equip-bar{height:100%;background:var(--g600);border-radius:var(--r-full);transition:width .3s ease}.analysis__equip-pct{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--g700);text-align:right}.analysis__equip-count{font-size:var(--text-xs);color:var(--text-secondary);text-align:right;white-space:nowrap}.analysis__station-timing{display:flex;align-items:center;gap:var(--sp-2);margin-top:calc(-1 * var(--sp-1))}.analysis__station-timing-val,.analysis__station-timing-std{font-size:var(--text-xs);color:var(--text-secondary)}.analysis__station-timing-std--good{color:var(--hit)}.analysis__station-timing-std--warn{color:var(--miss)}.holdpoint{display:flex;flex-direction:column;gap:var(--sp-5)}.holdpoint__intro{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--sp-3) var(--sp-4);background:var(--warning-bg);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);border-radius:var(--r-md)}.holdpoint__station{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm)}.holdpoint__station-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-3)}.holdpoint__station-title-row{display:flex;align-items:center;gap:var(--sp-3)}.holdpoint__station-title{font-size:var(--text-base);font-weight:var(--fw-semibold)}.holdpoint__station-timing{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.holdpoint__stat{display:flex;align-items:center;gap:var(--sp-1)}.holdpoint__stat-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.holdpoint__stat-value{font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font-mono)}.holdpoint__stat-value--good{color:var(--hit)}.holdpoint__stat-value--warn{color:var(--miss)}.holdpoint__load-btn{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:4px var(--sp-3);border-radius:var(--r-full);background:var(--g700);color:var(--text-inverse);cursor:pointer;transition:filter var(--transition-fast);white-space:nowrap}.holdpoint__load-btn:hover{filter:brightness(1.1)}.holdpoint__load-btn--close{background:transparent;border:1.5px solid var(--border-strong);color:var(--text-secondary)}.holdpoint__load-btn--close:hover{background:var(--border);filter:none}.holdpoint__empty{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.holdpoint__frames-wrap{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-2)}.holdpoint__frames{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.frame-thumb{position:relative;width:140px;border-radius:var(--r-md);overflow:hidden;border:2px solid var(--border);background:var(--bg-base);flex-shrink:0}.frame-thumb--hit{border-color:var(--hit)}.frame-thumb--miss{border-color:var(--miss)}.frame-thumb__canvas{display:none;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.frame-thumb__canvas--visible{display:block}.frame-thumb__overlay{width:100%;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);color:var(--text-secondary)}.frame-thumb__overlay--dim{background:var(--bg-base)}.frame-thumb__spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--g600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.frame-thumb__footer{display:flex;align-items:center;justify-content:space-between;padding:3px var(--sp-2);background:#0009;position:absolute;bottom:16px;left:0;right:0}.frame-thumb__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.frame-thumb__dot--hit{background:var(--hit)}.frame-thumb__dot--miss{background:var(--miss)}.frame-thumb__dot--untagged{background:var(--text-secondary)}.frame-thumb__time{font-family:var(--font-mono);font-size:10px;color:#fff}.frame-thumb__num{position:absolute;top:4px;left:5px;font-size:10px;font-weight:var(--fw-bold);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);line-height:1}.frame-thumb--clickable{cursor:pointer;transition:transform .12s,box-shadow .12s}.frame-thumb--clickable:hover{transform:scale(1.04);box-shadow:0 4px 16px #00000059;z-index:1}.frame-thumb--clickable:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.frame-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.frame-lightbox__panel{background:var(--surface);border-radius:var(--r-xl, 12px);box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;max-width:min(90vw,960px);width:100%;overflow:hidden}.frame-lightbox__topbar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);min-height:44px}.frame-lightbox__counter{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);font-variant-numeric:tabular-nums}.frame-lightbox__info{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary);flex:1}.frame-lightbox__result{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px 10px;border-radius:var(--r-full)}.frame-lightbox__result--hit{background:var(--g100);color:var(--g700, #15803d);border:1px solid var(--g300, #86efac)}.frame-lightbox__result--miss{background:var(--r100, #fee2e2);color:var(--r700, #b91c1c);border:1px solid var(--r300, #fca5a5)}.frame-lightbox__close{margin-left:auto;background:none;border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-base);color:var(--text-secondary);padding:2px 10px;line-height:1.6;transition:all .12s}.frame-lightbox__close:hover{background:var(--surface-hover, rgba(0,0,0,.06));color:var(--text-primary)}.frame-lightbox__canvas-wrap{position:relative;background:#000;display:flex;align-items:center;justify-content:center;min-height:200px}.frame-lightbox__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006}.frame-lightbox__canvas{width:100%;height:auto;display:block;max-height:70vh;object-fit:contain}.frame-lightbox__nav{display:flex;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);gap:var(--sp-3)}.frame-lightbox__nav-btn{padding:var(--sp-2) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-md);background:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary);transition:all .12s}.frame-lightbox__nav-btn:hover:not(:disabled){background:var(--surface-hover, rgba(0,0,0,.05));border-color:var(--border-strong)}.frame-lightbox__nav-btn:disabled{opacity:.35;cursor:default}.frame-overlay{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--bg-base);border:1.5px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.frame-overlay__header{display:flex;align-items:center;gap:var(--sp-3)}.frame-overlay__label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.frame-overlay__btn{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:3px var(--sp-3);border-radius:var(--r-full);border:1.5px solid var(--g600);color:var(--g700);cursor:pointer;transition:all var(--transition-fast)}.frame-overlay__btn:hover{background:var(--g100)}.frame-overlay__status{font-size:var(--text-xs);color:var(--text-secondary)}.frame-overlay__status--err{color:var(--miss)}.frame-overlay__hint{font-size:var(--text-xs);color:var(--text-secondary);font-style:italic}.frame-overlay__canvas{display:none;width:100%;max-width:480px;height:auto;border-radius:var(--r-sm)}.frame-overlay__canvas--visible{display:block}.stn-timing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-3);margin-bottom:var(--sp-3)}@media (max-width: 1100px){.stn-timing-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.stn-timing-grid{grid-template-columns:repeat(2,1fr)}}.stn-timing-card{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.stn-timing-card--empty{opacity:.45}.stn-timing-card__header{display:flex;flex-direction:column;gap:2px}.stn-timing-card__station-label{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--g700);line-height:1}.stn-timing-card__description{font-size:10px;color:var(--text-secondary);line-height:1.3}.stn-timing-card__status{font-size:10px;font-weight:var(--fw-semibold);padding:1px 5px;border-radius:var(--r-full);width:fit-content;margin-top:2px}.stn-timing-card__status--good{background:color-mix(in srgb,var(--hit) 15%,transparent);color:var(--hit)}.stn-timing-card__status--early{background:color-mix(in srgb,var(--b500) 15%,transparent);color:var(--b500)}.stn-timing-card__status--late{background:color-mix(in srgb,var(--o500) 15%,transparent);color:var(--o500)}.stn-timing-card__no-data{font-size:var(--text-xs);color:var(--text-disabled);text-align:center;padding:var(--sp-6) 0}.stn-timing-chart{position:relative;height:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.stn-timing-chart__zone{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--hit) 12%,transparent);border-top:1px solid color-mix(in srgb,var(--hit) 30%,transparent);border-bottom:1px solid color-mix(in srgb,var(--hit) 30%,transparent);z-index:1;pointer-events:none}.stn-timing-chart__line{position:absolute;left:0;right:0;height:2px;z-index:3;pointer-events:none}.stn-timing-chart__line--avg{background:var(--o500)}.stn-timing-chart__line--avg.stn-timing-chart__line--good{background:color-mix(in srgb,var(--hit) 70%,var(--o500))}.stn-timing-chart__line--avg.stn-timing-chart__line--early{background:var(--b500)}.stn-timing-chart__line--optimal{height:1px;background:repeating-linear-gradient(to right,color-mix(in srgb,var(--hit) 60%,transparent) 0,color-mix(in srgb,var(--hit) 60%,transparent) 4px,transparent 4px,transparent 8px)}.stn-timing-chart__bars{position:absolute;bottom:0;left:0;right:0;top:0;display:flex;align-items:flex-end;gap:2px;padding:0 3px;z-index:2}.stn-timing-chart__bar-slot{flex:1;min-width:3px;height:100%;display:flex;align-items:flex-end;cursor:default}.stn-timing-chart__bar{width:100%;border-radius:2px 2px 0 0;min-height:3px;transition:filter .15s ease,opacity .15s ease}.stn-timing-chart__bar--optimal{background:var(--g400)}.stn-timing-chart__bar--early{background:var(--b500);opacity:.7}.stn-timing-chart__bar--late{background:var(--o400);opacity:.7}.stn-timing-chart__bar--miss,.stn-timing-chart__bar--optimal.stn-timing-chart__bar--miss{opacity:.3}.stn-timing-chart__bar--early.stn-timing-chart__bar--miss,.stn-timing-chart__bar--late.stn-timing-chart__bar--miss{opacity:.25}.stn-timing-chart__bar-slot:hover .stn-timing-chart__bar{filter:brightness(1.25);opacity:1!important}.stn-timing-card__stats{display:flex;flex-direction:column;gap:4px}.stn-timing-card__stat-row{display:flex;justify-content:space-between;align-items:baseline;font-size:11px}.stn-timing-card__stat-label{color:var(--text-secondary)}.stn-timing-card__stat-val{font-weight:var(--fw-semibold);font-family:var(--font-mono);color:var(--text-primary)}.stn-timing-card__stat-val--good{color:var(--hit)}.stn-timing-card__stat-val--early{color:var(--b500)}.stn-timing-card__stat-val--late{color:var(--o500)}.stn-timing-card__stat-val--warn{color:var(--warning, var(--o500))}.stn-timing-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--sp-2)}.stn-timing-legend__item{display:flex;align-items:center;gap:5px}.stn-timing-legend__swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.stn-timing-legend__swatch--optimal{background:var(--g400)}.stn-timing-legend__swatch--early{background:var(--b500);opacity:.7}.stn-timing-legend__swatch--late{background:var(--o400);opacity:.7}.stn-timing-legend__swatch--miss{background:var(--g400);opacity:.3}.analysis__empty-state{color:var(--text-secondary);padding:var(--sp-8);text-align:center}.by-round{display:flex;flex-direction:column;gap:var(--sp-3)}.by-round__intro{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--sp-2);line-height:1.5}.by-round__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-3)}.by-round__toolbar .by-round__intro{flex:1;min-width:260px;margin-bottom:0}.by-round__all{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.by-round__all-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--g600);color:#fff;border:none;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background .12s;white-space:nowrap}.by-round__all-btn:hover{background:var(--g700)}.by-round__all-btn:disabled{opacity:.5;cursor:default}.by-round__all-count{font-size:var(--text-xs);background:#ffffff38;padding:1px 7px;border-radius:999px}.by-round__all-progress{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);color:var(--text-secondary)}.by-round__all-bar{width:140px;height:6px;background:var(--surface-alt);border-radius:999px;overflow:hidden}.by-round__all-bar-fill{height:100%;background:var(--g600);transition:width .2s}.by-round__all-done{font-size:var(--text-sm);color:var(--g700);font-weight:var(--fw-medium)}.round-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .15s}.round-card--expanded{box-shadow:var(--shadow-md)}.round-card__header{width:100%;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.round-card__header:hover{background:var(--surface-hover, rgba(0,0,0,.03))}.round-card__title-row{display:flex;align-items:center;justify-content:space-between}.round-card__round-num{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary)}.round-card__chevron{font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0}.round-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.round-card__tag{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--r-full);background:var(--g100, #f3f4f6);color:var(--text-secondary);border:1px solid var(--border)}.round-card__tag--partial{background:var(--o100, #fff7ed);color:var(--o600, #c2410c);border-color:var(--o200, #fed7aa)}.round-card__tag--done{background:var(--g100, #f0fdf4);color:var(--g700, #15803d);border-color:var(--g200, #bbf7d0)}.round-card__body{border-top:1px solid var(--border);padding:var(--sp-4) var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.round-card__analyze-row{display:flex;flex-direction:column;gap:var(--sp-2)}.round-card__analyze-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--b600, #2563eb);color:#fff;border:none;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background .12s;align-self:flex-start}.round-card__analyze-btn:hover{background:var(--b700, #1d4ed8)}.round-card__analyze-count{font-size:var(--text-xs);opacity:.8;font-weight:var(--fw-normal)}.round-card__analyze-note{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4;margin:0}.round-card__progress{display:flex;flex-direction:column;gap:var(--sp-1)}.round-card__progress-label{font-size:var(--text-sm);color:var(--text-secondary)}.round-card__progress-bar{height:6px;background:var(--g200, #e5e7eb);border-radius:var(--r-full);overflow:hidden}.round-card__progress-fill{height:100%;background:var(--b500, #3b82f6);border-radius:var(--r-full);transition:width .2s}.round-card__start-stn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-secondary, #f3f4f6);border-radius:var(--r-md, 6px);margin-bottom:8px}.round-card__start-stn-label{font-size:11px;color:var(--text-secondary, #6b7280);font-weight:500;white-space:nowrap;margin-right:2px}.round-card__start-stn-btn{padding:2px 8px;font-size:11px;font-weight:600;border:1.5px solid var(--border, #d1d5db);border-radius:4px;background:#fff;color:var(--text-primary, #374151);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.round-card__start-stn-btn:hover{background:#e5e7eb;border-color:#9ca3af}.round-card__start-stn-btn--active{background:var(--b800, #1e3a5f);border-color:var(--b800, #1e3a5f);color:#fff}.round-card__start-stn-saving{font-size:11px;color:var(--text-secondary, #6b7280);font-style:italic}.round-card__shots-header{display:grid;grid-template-columns:32px 40px 70px 1fr;gap:var(--sp-3);padding:var(--sp-1) var(--sp-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.round-card__shots{display:flex;flex-direction:column;gap:2px}.shot-row{display:grid;grid-template-columns:32px 40px 70px 1fr;gap:var(--sp-3);align-items:center;padding:var(--sp-2) var(--sp-2);border-radius:var(--r-sm);font-size:var(--text-sm);transition:background .1s}.shot-row:hover{background:var(--surface-hover, rgba(0,0,0,.02))}.shot-row--hit{border-left:3px solid var(--g500, #22c55e)}.shot-row--miss{border-left:3px solid var(--r500, #ef4444)}.shot-row--untagged{border-left:3px solid var(--g300, #d1d5db)}.shot-row__num{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--fw-medium);text-align:center}.shot-row__station{font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.shot-row__result{display:flex;align-items:center}.shot-row__badge{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px 8px;border-radius:var(--r-full)}.shot-row__badge--hit{background:var(--g100);color:var(--g700, #15803d)}.shot-row__badge--miss{background:var(--r100, #fee2e2);color:var(--r700, #b91c1c)}.shot-row__badge--none{color:var(--text-secondary)}.shot-row__analysis{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.shot-row__metric{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);padding:2px 8px;border-radius:var(--r-full);background:var(--g100, #f9fafb);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.shot-row__metric--na{color:var(--text-secondary);border-style:dashed;background:transparent}.shot-row__metric--good{background:var(--g100, #f0fdf4);border-color:var(--g300, #86efac);color:var(--g700, #15803d)}.shot-row__metric--warn{background:var(--o100, #fff7ed);border-color:var(--o300, #fdba74);color:var(--o700, #c2410c)}.shot-row__metric-label{font-weight:var(--fw-medium);opacity:.7}.shot-row__metric-val{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.shot-row__type{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px 10px;border-radius:var(--r-full);white-space:nowrap}.shot-row__type--through{background:var(--g100, #f0fdf4);border:1px solid var(--g400, #4ade80);color:var(--g700, #15803d)}.shot-row__type--at{background:var(--o100, #fff7ed);border:1px solid var(--o400, #fb923c);color:var(--o700, #c2410c)}.by-round__legend{margin:0 0 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:10px 14px}.by-round__legend-title{cursor:pointer;font-size:13px;font-weight:700;color:var(--text-secondary)}.by-round__legend-list{margin:10px 0 2px;display:grid;gap:8px}.by-round__legend-list div{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13px}.by-round__legend-list dt{font-weight:700}.by-round__legend-list dd{margin:0;color:var(--text-secondary)}.shot-row--clickable{cursor:pointer}.shot-row--clickable:hover{background:var(--g100)}.shot-row--clickable:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.shot-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:16px}.shot-modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:14px}.shot-modal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:15px}.shot-modal__close{border:none;background:none;font-size:16px;cursor:pointer;color:var(--text-secondary)}.shot-modal__close:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.shot-modal__result--hit{color:var(--hit)}.shot-modal__result--miss{color:var(--miss)}.shot-modal__video{width:100%;border-radius:var(--radius-md);background:var(--text-primary)}.shot-modal__metrics{margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:14px}.shot-modal__metrics p{margin:0}.shot-modal__na{color:var(--text-secondary)}.shot-modal__swing{display:flex;align-items:flex-end;gap:10px;margin-top:4px}.shot-modal__swing-label{font-size:12px;color:var(--text-secondary)}.shot-modal__swing-bars{display:inline-flex;align-items:flex-end;gap:3px;height:36px}.shot-modal__swing-bar{width:10px;background:var(--g500);border-radius:2px 2px 0 0;display:inline-block}.round-card__hold{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;font-size:13px}.round-card__hold-label{font-weight:700;color:var(--text-secondary)}.round-card__hold-chip{border-radius:999px;padding:3px 10px;font-weight:700;font-size:12px;border:1px solid var(--border-strong)}.round-card__hold-chip--tight{background:var(--hit-bg);color:var(--hit);border-color:var(--hit)}.round-card__hold-chip--ok{background:var(--bg-base);color:var(--text-secondary)}.round-card__hold-chip--loose{background:var(--miss-bg);color:var(--miss);border-color:var(--miss)}.round-card__hcp{color:var(--o600);font-weight:700}.pacing-card__bars{list-style:none;margin:0 0 var(--sp-3);padding:0;display:flex;flex-direction:column;gap:var(--sp-2);max-width:520px}.pacing-card__row{display:grid;grid-template-columns:150px 1fr 52px;align-items:center;gap:var(--sp-3);font-size:var(--text-sm)}.pacing-card__label{font-weight:var(--fw-semibold)}.pacing-card__sub{color:var(--text-secondary);font-weight:var(--fw-normal);font-size:var(--text-xs)}.pacing-card__bar-wrap{height:8px;background:var(--border);border-radius:var(--r-full);overflow:hidden}.pacing-card__bar{display:block;height:100%;background:var(--b500);border-radius:var(--r-full)}.pacing-card__pct{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--fw-bold);text-align:right}.pacing-card__compare,.pacing-card__rounds{font-size:var(--text-sm);margin:0 0 var(--sp-2)}.pacing-card__note{font-size:var(--text-xs);color:var(--text-secondary);margin:var(--sp-2) 0 0}@media (max-width: 480px){.pacing-card__row{grid-template-columns:100px 1fr 44px}}.break-card__bars{list-style:none;margin:0 0 var(--sp-3);padding:0;display:flex;flex-direction:column;gap:var(--sp-2);max-width:520px}.break-card__row{display:grid;grid-template-columns:150px 1fr 40px;align-items:center;gap:var(--sp-3);font-size:var(--text-sm)}.break-card__label{font-weight:var(--fw-semibold)}.break-card__sub{color:var(--text-secondary);font-weight:var(--fw-normal);font-size:var(--text-xs)}.break-card__bar-wrap{height:8px;background:var(--border);border-radius:var(--r-full);overflow:hidden}.break-card__bar{display:block;height:100%;border-radius:var(--r-full);background:var(--hit)}.break-card__bar--chip{background:var(--warning)}.break-card__count{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--fw-bold);text-align:right}.break-card__table{border-collapse:collapse;font-size:var(--text-sm);margin:var(--sp-2) 0;max-width:100%}.break-card__caption{text-align:left;font-weight:var(--fw-semibold);font-size:var(--text-xs);color:var(--text-secondary);padding-bottom:var(--sp-1)}.break-card__table th,.break-card__table td{padding:4px var(--sp-3) 4px 0;text-align:right;border-bottom:1px solid var(--border)}.break-card__table th[scope=col]{font-weight:var(--fw-medium);color:var(--text-secondary);font-size:var(--text-xs)}.break-card__table th[scope=row],.break-card__table th:first-child{text-align:left}.break-card__note{font-size:var(--text-xs);color:var(--text-secondary);margin:var(--sp-2) 0 0}.shot-modal__break-trace{color:var(--text-secondary);font-size:var(--text-xs)}@media (max-width: 480px){.break-card__row{grid-template-columns:100px 1fr 32px}.break-card__table{font-size:var(--text-xs)}}.competitions{max-width:1100px;margin:0 auto;padding:var(--sp-6) var(--sp-6) var(--sp-10)}.competitions__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap}.competitions__title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--sp-1);line-height:1.2}.competitions__sub{font-size:.875rem;color:var(--text-secondary);margin:0}.competitions__header-actions{display:flex;gap:var(--sp-3);flex-shrink:0;align-items:center}.competitions__btn{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .1s}.competitions__btn:active{transform:scale(.97)}.competitions__btn--import{background:var(--surface-raised);color:var(--text-primary);border:1.5px solid var(--border)}.competitions__btn--import:hover{background:var(--surface-hover)}.competitions__btn--add{background:var(--accent);color:#fff}.competitions__btn--add:hover{background:var(--accent-hover, #1d4ed8)}.competitions__error{color:var(--error, #ef4444);background:color-mix(in srgb,var(--error, #ef4444) 10%,transparent);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:.875rem}.comp-profile{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-6);padding:var(--sp-5) var(--sp-6);background:var(--surface-raised);border-radius:var(--radius-lg);border:1.5px solid var(--border);margin-bottom:var(--sp-5);cursor:pointer;transition:border-color .15s,box-shadow .15s;flex-wrap:wrap}.comp-profile:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.comp-profile__ata{font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--sp-1)}.comp-profile__name{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--sp-1)}.comp-profile__member{font-size:.8125rem;color:var(--text-secondary)}.comp-profile__right{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}.comp-profile__hdcp-yards{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.comp-profile__hdcp-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.comp-profile__hdcp-val{font-size:1.5rem;font-weight:700;color:var(--accent)}.comp-profile__lifetime{display:flex;gap:var(--sp-6)}.comp-profile__lt-item{display:flex;flex-direction:column;align-items:center;gap:2px}.comp-profile__lt-num{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.comp-profile__lt-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.comp-profile__edit-btn{position:absolute;top:var(--sp-3);right:var(--sp-3);background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.4;transition:opacity .15s;padding:var(--sp-1)}.comp-profile:hover .comp-profile__edit-btn{opacity:.8}.comp-annual{display:flex;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap}.comp-annual__card{flex:1;min-width:160px;background:var(--surface-raised);border-radius:var(--radius-lg);border:1.5px solid var(--border);padding:var(--sp-4) var(--sp-5)}.comp-annual__card--overall{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--surface-raised))}.comp-annual__year{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-3)}.comp-annual__card--overall .comp-annual__year{color:var(--accent)}.comp-annual__row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.comp-annual__row:last-child{margin-bottom:0}.comp-annual__event{font-size:.8125rem;color:var(--text-secondary);flex:1}.comp-annual__shot{font-size:.8125rem;color:var(--text-secondary)}.comp-annual__avg{font-size:.9rem;font-weight:700;color:var(--text-primary);min-width:50px;text-align:right}.comp-table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1.5px solid var(--border);background:var(--surface-raised)}.comp-table{width:100%;border-collapse:collapse;font-size:.875rem}.comp-table thead tr{border-bottom:1.5px solid var(--border)}.comp-table th{padding:var(--sp-3) var(--sp-4);text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap}.comp-table__score-hdr,.comp-table__avg-hdr,.comp-table__class-hdr{text-align:center}.comp-table__row{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);transition:background .1s}.comp-table__row:last-child{border-bottom:none}.comp-table__row:hover{background:var(--surface-hover)}.comp-table td{padding:var(--sp-3) var(--sp-4);color:var(--text-primary);vertical-align:middle}.comp-table__date{white-space:nowrap;font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.comp-table__place{font-weight:600;max-width:260px}.comp-table__score,.comp-table__avg,.comp-table__class{text-align:center}.comp-table__avg{font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.comp-table__class{font-size:.8125rem;color:var(--text-secondary)}.comp-table__dash{color:var(--text-disabled, #9ca3af)}.comp-table__actions{white-space:nowrap;text-align:right;width:1%}.comp-table__action-btn{background:none;border:none;cursor:pointer;padding:var(--sp-1) var(--sp-2);font-size:.875rem;opacity:.5;transition:opacity .15s;border-radius:var(--radius-sm)}.comp-table__action-btn:hover{opacity:1;background:var(--surface-hover)}.comp-table__action-btn--del:hover{background:color-mix(in srgb,#ef4444 15%,transparent)}.comp-score{display:inline-block;min-width:36px;padding:2px 8px;border-radius:99px;font-weight:700;font-size:.875rem;text-align:center;font-variant-numeric:tabular-nums}.comp-score--hit{background:color-mix(in srgb,#10b981 15%,transparent);color:#059669}.comp-score--warning{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#d97706}.comp-score--miss{background:color-mix(in srgb,#ef4444 15%,transparent);color:#dc2626}.comp-empty{text-align:center;padding:var(--sp-12) var(--sp-6);color:var(--text-secondary);background:var(--surface-raised);border-radius:var(--radius-lg);border:1.5px dashed var(--border);font-size:.9375rem;line-height:1.9}.comp-empty strong{color:var(--text-primary)}.comp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.comp-modal{background:var(--surface);border-radius:var(--radius-xl, 16px);border:1.5px solid var(--border);width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 48px #0000004d;animation:modalIn .18s ease-out}.comp-modal--wide{max-width:680px}.comp-modal--narrow{max-width:400px}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.comp-modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border)}.comp-modal__title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.comp-modal__close{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--text-secondary);padding:var(--sp-1);border-radius:var(--radius-sm);transition:background .1s,color .1s}.comp-modal__close:hover{background:var(--surface-hover);color:var(--text-primary)}.comp-modal__body{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.comp-modal__section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);margin:var(--sp-5) 0 var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.comp-modal__row{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-3)}.comp-modal__row--2{grid-template-columns:1fr 1fr}.comp-modal__row--3{grid-template-columns:1fr 1fr 1fr}.comp-modal__field{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3)}.comp-modal__label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.comp-modal__input{padding:var(--sp-2) var(--sp-3);background:var(--surface-raised);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:.9375rem;color:var(--text-primary);transition:border-color .15s;width:100%;box-sizing:border-box}.comp-modal__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.comp-modal__actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border)}.comp-modal__btn{padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .1s}.comp-modal__btn:active{transform:scale(.97)}.comp-modal__btn:disabled{opacity:.5;cursor:not-allowed}.comp-modal__btn--cancel{background:var(--surface-alt);color:var(--text-primary);border:1.5px solid var(--border-strong)}.comp-modal__btn--cancel:hover{background:var(--surface-hover)}.comp-modal__btn--save{background:var(--accent);color:#fff}.comp-modal__btn--save:hover:not(:disabled){background:var(--accent-hover, #1d4ed8)}.comp-modal__btn--danger{background:#ef4444;color:#fff}.comp-modal__btn--danger:hover:not(:disabled){background:#dc2626}.import-modal__instructions{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--sp-3)}.import-modal__sample-btn{display:block;margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:color-mix(in srgb,var(--accent) 10%,var(--surface-raised));border:1.5px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:var(--radius-md);color:var(--accent);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.import-modal__sample-btn:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface-raised))}.import-modal__textarea{width:100%;padding:var(--sp-3);background:var(--surface-raised);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-primary);font-family:ui-monospace,monospace;resize:vertical;box-sizing:border-box;margin-bottom:var(--sp-4)}.import-modal__textarea:focus{outline:none;border-color:var(--accent)}.import-modal__error{color:var(--error, #ef4444);font-size:.875rem;margin-bottom:var(--sp-3)}.import-preview__title{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);margin:0 0 var(--sp-3)}.import-preview__profile{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--sp-1)}.import-preview__lifetime{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--sp-4)}.import-preview__annual{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.import-preview__year-chip{display:inline-block;padding:var(--sp-1) var(--sp-3);background:color-mix(in srgb,var(--accent) 8%,var(--surface-raised));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:99px;font-size:.8125rem;color:var(--text-primary)}.import-preview__count{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--sp-3)}.import-preview__table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.import-preview__table{width:100%;border-collapse:collapse;font-size:.8125rem}.import-preview__table th{padding:var(--sp-2) var(--sp-3);background:var(--surface-raised);text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.import-preview__table td{padding:var(--sp-2) var(--sp-3);color:var(--text-primary);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.import-preview__table tr:last-child td{border-bottom:none}.import-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:var(--sp-5)}.import-tabs__btn{padding:var(--sp-2) var(--sp-5);background:none;border:none;font-size:.9375rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.import-tabs__btn:hover{color:var(--text-primary)}.import-tabs__btn--active{color:var(--accent);border-bottom-color:var(--accent)}.import-pdf__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-6);border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;background:var(--surface-raised);transition:border-color .15s,background .15s;position:relative;margin-bottom:var(--sp-3)}.import-pdf__drop:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface-raised))}.import-pdf__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.import-pdf__icon{font-size:2.5rem;line-height:1}.import-pdf__primary{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0;text-align:center}.import-pdf__secondary{font-size:.8125rem;color:var(--text-secondary);margin:0}.import-pdf__hint{font-size:.8125rem;color:var(--text-secondary);margin-bottom:var(--sp-4);text-align:center}.comp-table__place-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-2);font-size:inherit;font-weight:600;color:var(--text-primary);padding:0;text-align:left;width:100%}.comp-table__place-btn:hover{color:var(--accent)}.comp-table__expand-icon{font-size:.65rem;color:var(--text-secondary);flex-shrink:0}.comp-table__row--expanded{background:color-mix(in srgb,var(--accent) 4%,var(--surface-raised))}.club-info-row__td{padding:0!important;border-bottom:2px solid color-mix(in srgb,var(--accent) 20%,var(--border))!important}.club-info{display:flex;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:color-mix(in srgb,var(--accent) 3%,var(--surface));align-items:flex-start;animation:clubInfoSlide .18s ease-out}@keyframes clubInfoSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.club-info--loading{font-size:.875rem;color:var(--text-secondary);font-style:italic;padding:var(--sp-4) var(--sp-5)}.club-info__img-wrap{flex-shrink:0;width:140px;height:90px;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-raised)}.club-info__img{width:100%;height:100%;object-fit:cover}.club-info__details{flex:1;min-width:0}.club-info__name{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--sp-2)}.club-info__contacts{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.club-info__contact{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:.875rem;color:var(--accent);text-decoration:none;padding:var(--sp-1) var(--sp-3);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:99px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);transition:background .15s}.club-info__contact:hover{background:color-mix(in srgb,var(--accent) 16%,transparent);text-decoration:none}.club-info__no-contact{font-size:.875rem;color:var(--text-secondary);font-style:italic}@media (max-width: 700px){.competitions{padding:var(--sp-4)}.comp-profile{flex-direction:column}.comp-profile__lifetime{gap:var(--sp-4)}.comp-modal__row--2,.comp-modal__row--3{grid-template-columns:1fr}.comp-table__class,.comp-table__class-hdr{display:none}}.bookmarks{max-width:860px;margin:0 auto;padding:var(--sp-6)}.bookmarks--loading{display:flex;justify-content:center;padding:var(--sp-16)}.bookmarks__header{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-5)}.bookmarks__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin:0}.bookmarks__count{font-size:var(--text-sm);color:var(--text-secondary)}.bookmarks__error{color:var(--miss)}.bookmarks__empty{text-align:center;padding:var(--sp-12) var(--sp-6);color:var(--text-secondary);background:var(--surface);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg)}.bookmarks__empty-hint{font-size:var(--text-sm);margin-top:var(--sp-2)}.bookmarks__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.bm-card{display:flex;align-items:stretch;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.bm-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.bm-card__main{flex:1;text-align:left;background:none;border:none;cursor:pointer;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.bm-card__top{display:flex;align-items:center;gap:var(--sp-3)}.bm-card__shot{font-weight:var(--fw-bold);color:var(--text-primary);font-size:var(--text-lg)}.bm-card__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--text-sm);color:var(--text-secondary)}.bm-card__novideo{font-style:italic}.bm-card__actions{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);border-left:1px solid var(--border)}.bm-card__open{padding:var(--sp-2) var(--sp-3);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--g700);background:color-mix(in srgb,var(--g500) 10%,var(--surface));border:1.5px solid var(--g500);border-radius:var(--r-md);cursor:pointer}.bm-card__open:hover{background:color-mix(in srgb,var(--g500) 18%,var(--surface))}.bm-card__del{padding:var(--sp-2);font-size:var(--text-base);background:none;border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer}.bm-card__del:hover{border-color:var(--miss);background:var(--miss-bg)}.bm-badge{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px var(--sp-2);border-radius:var(--r-full)}.bm-badge--hit{color:var(--hit);background:var(--hit-bg)}.bm-badge--miss{color:var(--miss);background:var(--miss-bg)}.bm-badge--skip{color:var(--text-secondary);background:var(--bg-base)}.bm-badge--none{color:var(--text-secondary);background:var(--surface-alt);border:1px solid var(--border)}.bm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.bm-modal{background:var(--surface);border-radius:var(--r-lg);border:1.5px solid var(--border);box-shadow:var(--shadow-lg);max-width:420px;width:100%;padding:var(--sp-6)}.bm-modal__title{margin:0 0 var(--sp-3);font-size:var(--text-xl);color:var(--text-primary)}.bm-modal__body{margin:0 0 var(--sp-5);color:var(--text-secondary);line-height:1.5}.bm-modal__footer{display:flex;justify-content:flex-end;gap:var(--sp-3)}.bm-btn{padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-weight:var(--fw-semibold);cursor:pointer;border:1.5px solid transparent}.bm-btn--ghost{background:var(--surface-alt);color:var(--text-primary);border-color:var(--border-strong)}.bm-btn--ghost:hover{background:var(--bg-base)}.bm-btn--danger{background:var(--miss);color:#fff}.bm-btn--danger:hover:not(:disabled){filter:brightness(1.08)}.bm-btn:disabled{opacity:.6;cursor:default}.label{padding:var(--sp-5);max-width:1400px;margin:0 auto}.label__head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.label__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:0}.label__select{padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);font-size:var(--text-sm);min-width:240px}.label__stat{font-size:var(--text-sm);color:var(--text-secondary)}.label__delvid{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1.5px solid var(--border-strong);background:var(--surface-alt);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.label__delvid:disabled{opacity:.5;cursor:default}.label__train{margin-left:auto;font-size:var(--text-sm);color:var(--g700);font-weight:var(--fw-semibold);background:color-mix(in srgb,var(--g500) 10%,var(--surface));border:1.5px solid color-mix(in srgb,var(--g500) 40%,var(--surface));border-radius:var(--r-md);padding:var(--sp-1) var(--sp-3)}.label__addbar{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.label__addbtn{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:none;background:var(--g600);color:#fff;font-weight:var(--fw-semibold);cursor:pointer}.label__addbtn:disabled{opacity:.5;cursor:default}.label__addhint{font-size:var(--text-sm);color:var(--text-secondary)}.label__model{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md)}.label__model-title{font-weight:var(--fw-semibold);font-size:var(--text-sm)}.label__model-metrics{font-size:var(--text-sm);color:var(--text-secondary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.label__model-metrics b{color:var(--g700);font-size:var(--text-base)}.label__model-sep{opacity:.4}.label__model-none{color:var(--text-secondary)}.label__model-when{font-size:var(--text-xs);opacity:.7;margin-left:6px}.label__model-prog{font-size:var(--text-sm);color:var(--g700);font-weight:var(--fw-medium);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.label__model-btn{margin-left:auto;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:1.5px solid var(--g500);background:color-mix(in srgb,var(--g500) 12%,var(--surface));color:var(--g700);font-weight:var(--fw-semibold);cursor:pointer;font-size:var(--text-sm)}.label__model-btn:disabled{opacity:.5;cursor:default}.label__shotbtn{font-weight:var(--fw-semibold)}.label__shotbtn:disabled{opacity:.4;cursor:default}.label__model-actions{margin-left:auto;display:flex;gap:var(--sp-2)}.label__model-btn2{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1.5px solid var(--border-strong);background:var(--surface-alt);color:var(--text-primary);font-weight:var(--fw-semibold);cursor:pointer;font-size:var(--text-sm)}.label__model-btn2:disabled{opacity:.5;cursor:default}.label__testmodal{width:min(760px,94vw)}.label__testresult{display:flex;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4) 0}.label__teststat{display:flex;flex-direction:column}.label__teststat b{font-size:var(--text-2xl);color:var(--g700);font-variant-numeric:tabular-nums}.label__teststat b.label__teststat--warn{color:var(--miss)}.label__teststat span{font-size:var(--text-sm);color:var(--text-secondary)}.label__teststat em{font-style:normal;opacity:.7}.label__testnote{font-size:var(--text-sm);color:var(--text-secondary);padding:0 var(--sp-4);margin:var(--sp-2) 0}.label__testframes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-3);padding:var(--sp-2) var(--sp-4) var(--sp-4);overflow-y:auto}.label__testframe{margin:0}.label__testframe img{width:100%;border-radius:var(--r-sm);display:block;background:#000}.label__testframe figcaption{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px;font-variant-numeric:tabular-nums}.label__modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.label__modal{width:min(620px,92vw);max-height:80vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-lg);border:1.5px solid var(--border);box-shadow:0 12px 40px #0000004d}.label__modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.label__modal-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0}.label__modal-x{border:none;background:none;font-size:var(--text-lg);cursor:pointer;color:var(--text-secondary)}.label__modal-path{padding:var(--sp-2) var(--sp-4);font-size:var(--text-xs);color:var(--text-secondary);font-family:var(--font-mono, monospace);word-break:break-all;background:var(--surface-alt)}.label__browse{list-style:none;margin:0;padding:var(--sp-2);overflow-y:auto}.label__browse-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);border:none;background:none;cursor:pointer;border-radius:var(--r-sm);font-size:var(--text-sm)}.label__browse-row:hover{background:var(--surface-alt)}.label__browse-up{color:var(--text-secondary)}.label__browse-file{font-weight:var(--fw-medium)}.label__browse-size{margin-left:auto;color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.label__browse-empty{padding:var(--sp-3);color:var(--text-secondary);font-size:var(--text-sm)}.label__main{display:grid;grid-template-columns:1fr 240px;gap:var(--sp-4);align-items:start}.label__stage-wrap{display:flex;flex-direction:column;gap:var(--sp-2)}.label__zoombar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.label__zoombar>button{padding:var(--sp-1) var(--sp-3);border:1.5px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-alt);font-size:var(--text-sm);cursor:pointer;min-width:36px}.label__zoombar>button:disabled{opacity:.4;cursor:default}.label__zoomlevel{font-size:var(--text-sm);font-variant-numeric:tabular-nums;min-width:38px;text-align:center}.label__snaptoggle{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);cursor:pointer;margin-left:var(--sp-2)}.label__stage{position:relative;width:100%;background:#000;border-radius:var(--r-md);overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.label__zoom{position:relative}.label__video{display:block;width:100%;height:100%;object-fit:fill}.label__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.label__snapping{position:absolute;top:8px;left:8px;background:#000000b3;color:#ffd9b0;font-size:var(--text-sm);padding:4px 10px;border-radius:var(--r-md);pointer-events:none}.label__box{fill:#f973161f;stroke:#f97316;stroke-width:2;cursor:pointer}.label__box--draft{fill:#f9731614;stroke-dasharray:4 3;pointer-events:none}.label__scrub{display:flex;align-items:flex-end;gap:var(--sp-3)}.label__track{position:relative;flex:1}.label__range{width:100%;display:block}.label__time{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:110px;text-align:right}.label__marks{position:relative;height:12px}.label__mark{position:absolute;top:0;transform:translate(-50%);width:11px;height:12px;padding:0;border:none;background:none;cursor:pointer}.label__mark:after{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:2px;height:12px;background:var(--g600);border-radius:1px}.label__mark:hover:after{background:var(--miss);width:3px}.label__markhint{font-size:var(--text-xs);color:var(--text-secondary);margin:2px 0 0}.label__steps{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.label__steps button{padding:var(--sp-1) var(--sp-3);border:1.5px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-alt);font-size:var(--text-sm);cursor:pointer}.label__steps button:hover{background:var(--bg-base)}.label__hint{font-size:var(--text-xs);color:var(--text-secondary);margin-left:var(--sp-2)}.label__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.label__save{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:none;background:var(--g600);color:#fff;font-weight:var(--fw-semibold);cursor:pointer}.label__save:disabled{opacity:.5;cursor:default}.label__neg,.label__clear{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:1.5px solid var(--border-strong);background:var(--surface-alt);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm)}.label__neg:disabled,.label__clear:disabled{opacity:.5;cursor:default}.label__error{color:var(--miss);font-size:var(--text-sm);margin:0}.label__exp{font-size:var(--text-sm);color:var(--g700);margin:0}.label__exp code{font-size:var(--text-xs);word-break:break-all}.label__list{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);max-height:70vh;overflow-y:auto}.label__list-title{font-size:var(--text-base);font-weight:var(--fw-semibold);margin:0 0 var(--sp-2)}.label__list-empty{font-size:var(--text-sm);color:var(--text-secondary)}.label__list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.label__list-item{display:flex;align-items:center;gap:var(--sp-1)}.label__list-jump{flex:1;text-align:left;padding:var(--sp-1) var(--sp-2);border:none;background:none;cursor:pointer;border-radius:var(--r-sm);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.label__list-jump:hover{background:var(--surface-alt)}.label__list-del{border:none;background:none;cursor:pointer;padding:var(--sp-1)}.label__empty{color:var(--text-secondary)}@media (max-width: 900px){.label__main{grid-template-columns:1fr}}.progress{padding:var(--sp-5);max-width:1400px;margin:0 auto}.progress__head{margin-bottom:var(--sp-4)}.progress__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:0 0 var(--sp-1)}.progress__sub{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.progress__error{color:var(--miss)}.progress__empty{color:var(--text-secondary);font-size:var(--text-sm)}.progress__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.progress-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .12s,box-shadow .12s;color:inherit;font:inherit}.progress-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.progress-tile--selected{border-color:var(--g600);box-shadow:0 0 0 2px color-mix(in srgb,var(--g600) 25%,transparent)}.progress-tile__top{display:flex;align-items:center;gap:var(--sp-2)}.progress-tile__icon{font-size:var(--text-base)}.progress-tile__name{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.progress-tile__value-row{display:flex;align-items:baseline;gap:var(--sp-2)}.progress-tile__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.progress-tile__delta{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.progress-tile__delta--good{color:var(--g700)}.progress-tile__delta--bad{color:var(--miss)}.progress-tile__meta{font-size:var(--text-xs);color:var(--text-secondary)}.progress-tile__nodata{font-size:var(--text-xs);color:var(--text-secondary);padding:var(--sp-2) 0;line-height:1.4}.progress-tile__spark{width:100%;height:30px;color:var(--b500);margin-top:2px}.progress-tile__spark--empty{height:30px}.progress-detail{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.progress-detail__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 0 var(--sp-1)}.progress-detail__desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--sp-3);line-height:1.5;max-width:720px}.progress-detail__table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.progress-detail__table th{text-align:left;font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border)}.progress-detail__table td{padding:var(--sp-2);border-bottom:1px solid var(--border);vertical-align:top}.progress-detail__session{font-weight:var(--fw-semibold);text-decoration:none;color:var(--g700)}.progress-detail__session:hover{text-decoration:underline}.progress-detail__loc{display:block;font-size:var(--text-xs);color:var(--text-secondary)}.progress-detail__val{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.progress-detail__ctx{color:var(--text-secondary)}.progress-detail__chips{display:flex;flex-wrap:wrap;gap:4px}.progress-detail__chip{font-size:var(--text-xs);padding:2px 8px;border-radius:999px;text-decoration:none;border:1px solid var(--border-strong);color:var(--text-primary);white-space:nowrap}.progress-detail__chip:hover{background:var(--surface-alt)}.progress-detail__chip--miss{border-color:color-mix(in srgb,var(--miss) 45%,transparent);color:var(--miss)}.progress-detail__chip--hit{border-color:color-mix(in srgb,var(--g600) 45%,transparent);color:var(--g700)}.progress-detail__more,.progress-detail__none{font-size:var(--text-xs);color:var(--text-secondary)}@media (max-width: 700px){.progress{padding:var(--sp-3)}.progress-detail__table{display:block;overflow-x:auto}}.reels{padding:var(--sp-6);max-width:1180px;margin:0 auto}.reels__head{margin-bottom:var(--sp-5)}.reels__title{font-size:var(--text-3xl);font-weight:var(--fw-bold);margin:0}.reels__sub{color:var(--text-secondary);margin:var(--sp-2) 0 0}.reels__layout{display:grid;grid-template-columns:1.35fr .95fr;gap:var(--sp-5);align-items:start}@media (max-width: 900px){.reels__layout{grid-template-columns:1fr}}.reels__pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.reels__builder{position:sticky;top:var(--sp-6)}@media (max-width: 900px){.reels__builder{position:static}}.reels__selects{display:flex;gap:var(--sp-3);flex-wrap:wrap}.reels__field{display:flex;flex-direction:column;gap:var(--sp-2);flex:1;min-width:160px}.reels__field--round{flex:0 0 130px}.reels__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.reels__label-hint{text-transform:none;letter-spacing:0;font-weight:var(--fw-normal);color:var(--text-tertiary)}.reels__select,.reels__caption{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-base);color:var(--text-primary);font:inherit}.reels__filters{display:flex;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-3)}.reels__chip{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer}.reels__chip--on{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.reels__empty,.reels__hint{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--sp-6) 0;text-align:center}.reels__hint{padding:var(--sp-4) 0}.reels__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--sp-3)}.reels__tile-wrap{position:relative}.reels__tile-preview{position:absolute;top:var(--sp-2);right:var(--sp-2);width:28px;height:28px;border-radius:var(--r-sm);border:none;background:#0000008c;color:#fff;font-size:var(--text-sm);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.reels__tile-preview:hover{background:#000000c7}.reels__tile-reeled{position:absolute;top:var(--sp-2);left:50%;transform:translate(-50%);background:var(--hit);color:#fff;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.02em;padding:2px 7px;border-radius:var(--r-full);white-space:nowrap}.reels__tile{position:relative;display:block;width:100%;padding:0;border:2px solid var(--border);border-radius:var(--r-md);background:var(--bg-base);cursor:pointer;overflow:hidden;text-align:left}.reels__tile--picked{border-color:var(--g700)}.reels__thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-alt)}.reels__tile-order{position:absolute;top:var(--sp-2);left:var(--sp-2);width:22px;height:22px;border-radius:var(--r-full);background:var(--g700);color:var(--text-inverse);font-size:var(--text-xs);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center}.reels__tile-meta{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--text-xs);color:var(--text-secondary)}.reels__dot{width:8px;height:8px;border-radius:var(--r-full);flex-shrink:0}.reels__dot--hit{background:var(--hit)}.reels__dot--miss{background:var(--miss)}.reels__builder-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 0 var(--sp-3);display:flex;align-items:baseline;gap:var(--sp-2)}.reels__count{font-size:var(--text-sm);font-weight:var(--fw-normal);color:var(--text-tertiary)}.reels__order{list-style:none;margin:0 0 var(--sp-4);padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.reels__order-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-base)}.reels__order-n{width:20px;text-align:center;font-weight:var(--fw-bold);font-size:var(--text-sm);color:var(--g700)}.reels__order-label{flex:1;display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm)}.reels__order-actions{display:flex;gap:var(--sp-1)}.reels__order-actions button{width:26px;height:26px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs)}.reels__order-actions button:disabled{opacity:.4;cursor:default}.reels__order-x{color:var(--miss)}.reels__opts{display:flex;gap:var(--sp-3);margin:var(--sp-4) 0}.reels__opts .reels__field{flex:1}.reels__overlays{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);margin:0 0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.reels__overlays legend{padding:0 var(--sp-2)}.reels__switch{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);cursor:pointer}.reels__switch input{width:16px;height:16px;accent-color:var(--g700);cursor:pointer}.reels__caption{resize:vertical;margin-top:var(--sp-2)}.reels__handle{margin-top:var(--sp-1)}.reels__build-row{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4)}.reels__progress{margin-top:var(--sp-3)}.reels__progress-head{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--sp-2)}.reels__progress-pct{font-weight:var(--fw-semibold);color:var(--g700);font-variant-numeric:tabular-nums}.reels__progress-track{height:8px;border-radius:var(--r-full);background:var(--surface-alt);overflow:hidden}.reels__progress-bar{height:100%;background:var(--g700);border-radius:var(--r-full);transition:width .3s ease}.reels__error{color:var(--miss);background:var(--miss-bg);border-radius:var(--r-md);padding:var(--sp-3);margin-top:var(--sp-3);font-size:var(--text-sm)}.reels__result{margin-top:var(--sp-4);border-top:1px solid var(--border);padding-top:var(--sp-4)}.reels__preview{width:100%;max-height:460px;border-radius:var(--r-md);background:var(--text-primary);display:block}.reels__result-meta{display:flex;gap:var(--sp-3);margin:var(--sp-3) 0;font-size:var(--text-sm);color:var(--text-secondary)}.reels__badge{background:var(--warning-bg);color:var(--warning);border-radius:var(--r-full);padding:0 var(--sp-2);font-size:var(--text-xs)}.reels__result-actions{display:flex;gap:var(--sp-3);align-items:center}.reels__saved-note{margin-top:var(--sp-3);width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer;font-size:var(--text-sm);color:var(--hit)}.reels__saved-note strong{color:var(--text-primary)}.reels__saved-note:hover{text-decoration:underline}.reels__dl{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);background:var(--g700);color:var(--text-inverse);text-decoration:none;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.reels__trending-note{margin:var(--sp-3) 0 0;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-alt);border:1px solid var(--border);border-left:3px solid var(--warning);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.reels__trending-note strong{color:var(--text-primary)}.reels__filters-spacer{flex:1}.reels__chip:disabled{opacity:.45;cursor:default}.reels__field--template{margin-bottom:var(--sp-3)}.reels__template-hint{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.reels__library{margin-top:var(--sp-6)}.reels__library-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 0 var(--sp-4);display:flex;align-items:baseline;gap:var(--sp-2)}.reels__lib-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-4)}.reels__lib-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.reels__lib-thumb{position:relative;border:none;padding:0;cursor:pointer;background:var(--text-primary);aspect-ratio:9 / 16;max-height:260px;overflow:hidden}.reels__lib-thumb video{width:100%;height:100%;object-fit:cover;display:block}.reels__lib-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);background:#00000026;opacity:.9}.reels__lib-dur{position:absolute;bottom:var(--sp-2);right:var(--sp-2);background:#000000a8;color:#fff;font-size:var(--text-xs);padding:1px 6px;border-radius:var(--r-sm);font-variant-numeric:tabular-nums}.reels__lib-meta{padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:2px;flex:1}.reels__lib-when{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.reels__lib-sub{font-size:var(--text-xs);color:var(--text-secondary)}.reels__lib-actions{display:flex;border-top:1px solid var(--border)}.reels__lib-btn{flex:1;text-align:center;padding:var(--sp-2);background:none;border:none;cursor:pointer;text-decoration:none;color:var(--text-secondary);font-size:var(--text-sm)}.reels__lib-btn+.reels__lib-btn{border-left:1px solid var(--border)}.reels__lib-btn:hover{background:var(--surface-hover)}.reels__lib-btn--del:hover{color:var(--miss)}.reels__modal-caption{font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;max-height:120px;overflow-y:auto;margin:0}.reels__modal-actions--spread{justify-content:space-between}.reels__modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000000a8;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.reels__modal{position:relative;background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-4);max-width:min(440px,92vw);width:100%;display:flex;flex-direction:column;gap:var(--sp-3)}.reels__modal-close{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:1;width:30px;height:30px;border-radius:var(--r-full);border:none;background:#0000008c;color:#fff;cursor:pointer;font-size:var(--text-sm)}.reels__modal-video{width:100%;max-height:70vh;border-radius:var(--r-md);background:var(--text-primary);display:block}.reels__modal-meta{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);flex-wrap:wrap}.reels__modal-reeled{color:var(--hit);font-weight:var(--fw-semibold);font-size:var(--text-xs)}.reels__modal-actions{display:flex;justify-content:flex-end}.reels__tile:focus-visible,.reels__chip:focus-visible,.reels__select:focus-visible,.reels__caption:focus-visible,.reels__switch input:focus-visible,.reels__order-actions button:focus-visible,.reels__dl:focus-visible,.reels__tile-preview:focus-visible,.reels__modal-close:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.settings{max-width:860px;margin:0 auto;padding:24px 16px 48px}.settings__title{font-size:24px;margin:0 0 16px}.settings__status{margin:0 0 12px;font-size:14px;font-weight:600}.settings__status--ok{color:var(--hit)}.settings__status--err{color:var(--miss)}.settings__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px}.settings__card--muted{background:var(--surface-alt)}.settings__card-title{margin:0 0 6px;font-size:18px}.settings__card-sub{margin:0 0 16px;font-size:13px;color:var(--text-secondary)}.settings__field{margin-bottom:14px}.settings__label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.settings__readonly{margin:0;font-size:14px;color:var(--text-secondary)}.settings__input{flex:1;padding:8px 12px;font-size:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.settings__select{padding:6px 10px;font-size:13px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.settings__meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.settings__meta-group{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.settings__meta-title{margin:0 0 10px;font-size:15px}.settings__meta-empty{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}.settings__meta-row{display:flex;gap:8px;align-items:center}.settings__chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 10px}.settings__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:13px;background:var(--bg-base);border:1px solid var(--border);border-radius:999px}.settings__chip--default{border-color:var(--g600);background:var(--g100)}.settings__chip-star{color:var(--o500)}.settings__chip-remove{border:none;background:none;cursor:pointer;font-size:12px;color:var(--text-secondary);padding:2px 4px}.settings__chip-remove:hover{color:var(--miss)}.settings__default-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--text-secondary)}.settings__input:focus-visible,.settings__select:focus-visible,.settings__chip-remove:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.settings__tiers{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:6px 0 12px}.plan{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px 16px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.plan--popular{border-color:var(--g600);box-shadow:0 4px 18px var(--overlay)}.plan--chosen{border-color:var(--g700);background:var(--g100)}.plan__ribbon{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--o500);color:var(--text-inverse);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 12px;white-space:nowrap}.plan__icon{font-size:28px;line-height:1}.plan__name{margin:0;font-size:16px}.plan__price{margin:0;font-size:20px;display:flex;align-items:baseline;gap:6px}.plan__price-note{font-size:12px;color:var(--text-secondary);font-weight:400}.plan__value{margin:-4px 0 10px;font-size:12px;font-weight:700;color:var(--o500)}.plan__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-secondary);flex:1}.plan__cta{margin-top:8px;padding:10px;font-size:14px;font-weight:700;border-radius:var(--radius-md);border:1px solid var(--g600);background:var(--surface);color:var(--g700);cursor:pointer}.plan__cta--on{background:var(--g700);color:var(--text-inverse)}.plan__cta:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.plan__fine{margin:0;font-size:12px;color:var(--text-secondary)}.fbb__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:var(--sp-3)}.fbb__lanes{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:var(--sp-3);overflow-x:auto;padding-bottom:var(--sp-2)}.fbb-muted{color:var(--text-secondary);font-size:12px}.fbb-lane{display:flex;flex-direction:column;gap:var(--sp-2);min-height:160px;padding:var(--sp-2);border-radius:var(--r-lg);background:var(--bg-base);border:1px solid var(--border);transition:background var(--transition-fast),border-color var(--transition-fast)}.fbb-lane--over{border-color:var(--b500);background:var(--b100)}.fbb-lane__head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px}.fbb-lane__title{font-size:13px;font-weight:800}.fbb-lane__count{min-width:22px;padding:0 6px;border-radius:999px;text-align:center;font-size:12px;font-weight:700;background:var(--surface);border:1px solid var(--border)}.fbb-lane--new .fbb-lane__count{border-color:var(--o500);color:var(--o600)}.fbb-lane__hint{margin:-4px 4px 0;font-size:11px;color:var(--text-secondary)}.fbb-lane__cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.fbb-lane__more{align-self:center}.fbb-card{width:100%;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border);border-left:3px solid var(--b500);background:var(--surface);color:var(--text-primary);font:inherit;box-shadow:var(--shadow-sm)}.fbb-card--bug{border-left-color:var(--miss)}.fbb-card:hover{border-color:var(--border-strong)}.fbb-card:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-card__top{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.fbb-card__type{font-size:11px;font-weight:700;color:var(--text-secondary)}.fbb-card__title{font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fbb-card__who{font-size:12px;color:var(--text-secondary)}.fbb-card__tags,.fbb-card__foot{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:11px;color:var(--text-secondary)}.fbb-card__foot{gap:8px}.fbb-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface-alt, var(--bg-base));border:1px solid var(--border);color:var(--text-secondary)}.fbb-chip--ai{border-color:var(--g600);color:var(--g700);background:var(--g100)}.fbb-chip--busy{border-color:var(--b500);color:var(--b500)}.fbb-chip--warn{border-color:var(--warning);color:var(--warning)}.fbb-chip--reply{border-color:var(--o500);color:var(--o600);background:var(--o100)}.fbb-chip--tag button{border:none;background:none;padding:0;margin:0;cursor:pointer;color:inherit;font-size:10px;line-height:1}.fbb-chip--tag button:focus-visible{outline:2px solid var(--b500);outline-offset:1px}.fbb-link{border:none;background:none;padding:0;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--g700);text-decoration:underline;text-align:left}.fbb-link--danger{color:var(--miss)}.fbb-link:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;background:var(--overlay, rgba(0, 0, 0, .45))}.fbb-dialog{width:min(860px,100%);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.fbb-dialog:focus{outline:none}.fbb-dialog__head{display:flex;align-items:flex-start;gap:10px}.fbb-dialog__title{margin:0;flex:1;font-size:20px;line-height:1.3}.fbb-dialog__close{border:none;background:none;font-size:18px;cursor:pointer;color:var(--text-secondary);padding:2px 6px}.fbb-dialog__close:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-dialog__by{margin:-8px 0 0}.fbb-dialog__row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-start}.fbb-dialog__details{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.fbb-dialog__foot{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:var(--sp-3)}.fbb-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--text-secondary)}.fbb-field--grow{flex:1 1 260px}.fbb-input{font:inherit;font-size:14px;font-weight:400;color:var(--text-primary);padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface)}textarea.fbb-input{resize:vertical;width:100%}.fbb-input:focus-visible{outline:2px solid var(--b500);outline-offset:1px}.fbb-btn{font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--g700)}.fbb-btn--primary{background:var(--g700);color:var(--text-inverse)}.fbb-btn:disabled{opacity:.5;cursor:default}.fbb-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-fixed{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end;padding:var(--sp-3);border-radius:var(--r-md);background:var(--hit-bg)}.fbb-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;min-height:38px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface)}.fbb-tags__input{border:none;outline:none;font:inherit;font-size:13px;min-width:80px;flex:1;background:transparent;color:var(--text-primary)}.fbb-triage{display:flex;flex-direction:column;gap:6px;padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--g600);background:var(--g100);font-size:13px}.fbb-triage--busy{border-color:var(--b500);background:var(--b100)}.fbb-triage--warn{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;border-color:var(--warning);background:var(--warning-bg)}.fbb-triage__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fbb-triage__rerun{margin-left:auto;font-size:12px}.fbb-triage__summary{margin:0}.fbb-triage__similar{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.fbb-triage__meta{margin:0;font-size:11px}.fbb-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--g700)}.fbb-context{display:grid;gap:4px;font-size:12px;margin-top:6px}.fbb-context>div{display:grid;grid-template-columns:100px 1fr;gap:8px}.fbb-context span{color:var(--text-secondary);font-weight:700}.fbb-context code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.fbb-comments{display:flex;flex-direction:column;gap:var(--sp-2);border-top:1px solid var(--border);padding-top:var(--sp-3)}.fbb-tabs{display:flex;gap:4px}.fbb-tab{font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.fbb-tab--on{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.fbb-tab:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-comments__hint{margin:0}.fbb-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.fbb-thread__empty{margin:4px 0}.fbb-msg{padding:10px 12px;border-radius:var(--r-md);background:var(--bg-base);border:1px solid var(--border);font-size:13px}.fbb-msg--user{background:var(--o100);border-color:var(--o500)}.fbb-msg--agent{background:var(--g100);border-color:var(--g600)}.fbb-msg__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px}.fbb-msg__del{margin-left:auto;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:12px}.fbb-msg__del:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-msg__text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.fbb-rich p{margin:0 0 4px;line-height:1.5;overflow-wrap:anywhere}.fbb-rich ul{margin:0 0 6px;padding-left:18px}.fbb-rich li{line-height:1.5;overflow-wrap:anywhere}.fbb-rich__gap{height:6px}.fbb-compose{display:flex;flex-direction:column;gap:6px}.fbb-compose__actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-3);flex-wrap:wrap}@media (max-width: 640px){.fbb-dialog{padding:var(--sp-4)}.fbb-context>div{grid-template-columns:1fr}}.fbb-card--general{border-left-color:var(--g600)}.fbb-rating{margin:0;padding:8px 12px;border-radius:var(--r-md);background:var(--bg-base);font-size:13px}.fbb-rating strong{color:var(--text-primary)}.fbb-msg__seen{margin:6px 0 0;font-size:11px;color:var(--text-secondary)}.fbb-msg__seen--yes{color:var(--b500);font-weight:600}.fbb-thread__tools{display:flex;justify-content:flex-end}.fbb-msg__toggle{border:none;background:none;padding:0 2px;cursor:pointer;color:var(--text-secondary);font-size:12px;line-height:1}.fbb-msg__toggle:focus-visible,.fbb-msg__preview:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-msg__preview{display:block;width:100%;text-align:left;border:none;background:none;padding:0;cursor:pointer;font:inherit;font-size:13px;color:var(--text-secondary);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fbb-msg--folded{padding-bottom:8px}.fbb-act{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface)}.fbb-act[open]{gap:var(--sp-2)}.fbb-act>*:not(summary){margin-top:var(--sp-2)}.fbb-act__summary{cursor:pointer;font-weight:800;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fbb-act__summary:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.fbb-act__hint{margin:0}.fbb-act__text{font-size:13px;line-height:1.5}.fbb-act__go{display:flex;justify-content:flex-end}.fbb-build{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--r-md);background:var(--b100);border:1px solid var(--b500);font-size:13px}.fbb-build--staged,.fbb-build--deployed{background:var(--g100);border-color:var(--g600)}.fbb-build--failed{background:var(--warning-bg);border-color:var(--warning)}.fbb-build__links{display:flex;flex-wrap:wrap;gap:4px 14px}.fbb-build .fbb-btn{align-self:flex-start;margin-top:4px}.fbb-draft{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:12px;color:var(--text-secondary)}.fbb-draft__stale{color:var(--o600)}.fbb-spec{display:flex;flex-direction:column;gap:4px;font-size:12px}.fbb-spec__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.fbb-spec__item{line-height:1.45;overflow-wrap:anywhere}.fbb-spec__item code{font-size:11px;margin-right:4px}.fbb-spec__item--factory{padding:4px 8px;border-radius:var(--r-sm);background:var(--warning-bg)}.fbb-build__stuck{font-size:12px;color:var(--text-secondary)}.fbb-live{font-weight:700;color:var(--text-secondary)}.fbb-live--on{color:var(--hit)}.fx{position:relative;aspect-ratio:16 / 10;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(160deg,var(--g100),var(--surface-alt));border:1px solid var(--border);isolation:isolate;container-type:inline-size;filter:saturate(.7);opacity:.9;transition:filter var(--transition-base),opacity var(--transition-base)}.fx--thumb{width:152px;flex-shrink:0}.fx--playing{filter:none;opacity:1}.fx__stage{position:absolute;top:0;right:0;bottom:0;left:0}.fx__video{width:100%;height:100%;object-fit:cover;display:block;background:var(--text-primary)}.fx:not(.fx--playing) *,.fx:not(.fx--playing) *:before,.fx:not(.fx--playing) *:after{animation:none!important}.fxd{position:absolute;top:0;right:0;bottom:0;left:0}.fxd__bar{position:absolute;top:6%;left:6%;right:6%;height:10%;display:flex;align-items:center;justify-content:space-between}.fxd__hello{width:34%;height:55%;border-radius:var(--r-sm);background:var(--text-primary);opacity:.75}.fxd__new{font-size:clamp(7px,1.6cqw,11px);font-weight:var(--fw-bold);color:var(--text-inverse);background:var(--g700);border-radius:var(--r-sm);padding:2px 8px}.fxd__stats{position:absolute;top:20%;left:6%;right:6%;height:9%;display:grid;grid-template-columns:repeat(3,1fr);gap:4%}.fxd__stats span{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border)}.fxd__grid{position:absolute;top:34%;left:6%;right:6%;bottom:6%;animation:fxd-grid 8s infinite}.fxd__tile{position:absolute;box-sizing:border-box;padding:3% 4%;display:flex;align-items:flex-start;overflow:hidden;white-space:nowrap;font-size:clamp(6px,1.5cqw,10px);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.fxd__tile--a{top:0;left:0;width:100%;height:28%}.fxd__tile--b{top:34%;left:0;width:48%;height:30%;animation:fxd-b 8s infinite}.fxd__tile--c{top:34%;left:52%;width:48%;height:30%;animation:fxd-c 8s infinite;z-index:2}.fxd__tile--d{top:70%;left:0;width:48%;height:30%;animation:fxd-d 8s infinite}.fxd__cursor{position:absolute;z-index:4;width:10px;height:14px;top:46%;left:80%;background:var(--text-primary);clip-path:polygon(0 0,0 100%,30% 72%,55% 100%,70% 92%,45% 65%,85% 62%);opacity:0;animation:fxd-cursor 8s infinite}.fxd__toast{position:absolute;left:50%;bottom:8%;transform:translate(-50%,140%);font-size:clamp(7px,1.6cqw,11px);font-weight:var(--fw-bold);color:var(--text-inverse);background:var(--g700);border-radius:var(--r-full);padding:3px 10px;white-space:nowrap;opacity:0;animation:fxd-toast 8s infinite}@keyframes fxd-c{0%,18%{left:52%;transform:none;box-shadow:var(--shadow-sm)}22%{left:52%;transform:scale(1.05) rotate(-1.5deg);box-shadow:var(--shadow-lg)}32%{left:0;transform:scale(1.05) rotate(-1.5deg);box-shadow:var(--shadow-lg)}36%,93%{left:0;transform:none;box-shadow:var(--shadow-sm)}94%,to{left:52%}}@keyframes fxd-b{0%,24%{left:0}32%,93%{left:52%}94%,to{left:0}}@keyframes fxd-d{0%,44%{width:48%;border-color:var(--border)}46%{border-color:var(--b500)}58%{width:100%;border-color:var(--b500)}62%,93%{width:100%;border-color:var(--border)}94%,to{width:48%}}@keyframes fxd-cursor{0%,12%{top:46%;left:80%;opacity:0}18%{top:46%;left:76%;opacity:1}32%{top:46%;left:24%;opacity:1}42%{top:84%;left:46%;opacity:1}58%{top:84%;left:97%;opacity:1}66%,to{top:84%;left:97%;opacity:0}}@keyframes fxd-toast{0%,64%{transform:translate(-50%,160%);opacity:0}68%,86%{transform:translate(-50%);opacity:1}90%,to{transform:translate(-50%,160%);opacity:0}}@keyframes fxd-grid{0%,89%{opacity:1}92%,95%{opacity:0}to{opacity:1}}.fxh{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--g100),var(--surface-alt))}.fxh__house{position:absolute;top:8%;left:50%;width:14%;height:10%;transform:translate(-50%);background:var(--g600);border-radius:var(--r-sm)}.fxh__clay{position:absolute;top:12%;left:50%;width:3.2%;aspect-ratio:1;border-radius:50%;background:var(--o500);opacity:0;animation:fxh-clay 3s infinite ease-out}.fxh__line{position:absolute;left:14%;right:30%;height:0;border-top:2px dashed var(--border-strong)}.fxh__line em{position:absolute;left:0;top:-1.6em;font-style:normal;font-size:clamp(7px,1.6cqw,11px);font-weight:var(--fw-semibold);color:var(--text-secondary)}.fxh__line--16{top:40%}.fxh__line--20{top:62%}.fxh__line--24{top:84%}.fxh__shooter{position:absolute;left:50%;top:40%;width:5%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:var(--b500);box-shadow:0 0 0 4px var(--b100);animation:fxh-shooter 9s infinite}.fxh__chip{position:absolute;right:5%;top:40%;transform:translateY(-50%);display:grid;padding:4px 10px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:clamp(7px,1.7cqw,12px);white-space:nowrap;animation:fxh-chip 9s infinite}.fxh__yd{grid-area:1 / 1;font-weight:var(--fw-bold);opacity:0;color:var(--text-primary)}.fxh__yd--16{opacity:1;animation:fxh-yd16 9s infinite}.fxh__yd--20{animation:fxh-yd20 9s infinite;color:var(--o600)}.fxh__yd--24{animation:fxh-yd24 9s infinite;color:var(--o600)}@keyframes fxh-shooter{0%,28%{top:40%}36%,61%{top:62%}69%,94%{top:84%}97%{top:84%;opacity:0}98%{top:40%;opacity:0}to{top:40%;opacity:1}}@keyframes fxh-chip{0%,28%{top:40%}36%,61%{top:62%}69%,96%{top:84%}to{top:40%}}@keyframes fxh-yd16{0%,30%{opacity:1}33%,97%{opacity:0}to{opacity:1}}@keyframes fxh-yd20{0%,30%{opacity:0}34%,63%{opacity:1}66%,to{opacity:0}}@keyframes fxh-yd24{0%,63%{opacity:0}67%,96%{opacity:1}99%,to{opacity:0}}@keyframes fxh-clay{0%{transform:translate(0) scale(.6);opacity:0}10%{opacity:1}60%{transform:translate(-420%,-60%) scale(1);opacity:1}70%{transform:translate(-480%,-70%) scale(1.4);opacity:0}to{opacity:0}}.fxp{position:absolute;top:12%;right:10%;bottom:12%;left:10%;display:flex;flex-direction:column;justify-content:center;gap:9%}.fxp__row{display:grid;grid-template-columns:18% 1fr 12%;align-items:center;gap:3%;font-size:clamp(8px,2cqw,13px)}.fxp__label{font-weight:var(--fw-semibold);color:var(--text-secondary)}.fxp__val{font-weight:var(--fw-bold);text-align:right;font-variant-numeric:tabular-nums}.fxp__track{height:clamp(8px,2.6cqw,16px);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);overflow:hidden}.fxp__bar{display:block;height:100%;width:var(--w);background:var(--b500);animation:fxp-grow 6s infinite}.fxp__bar--1{animation-delay:.25s}.fxp__bar--2{animation-delay:.5s;background:var(--miss)}.fxp__chip{align-self:center;padding:3px 10px;border-radius:var(--r-full);font-size:clamp(8px,1.8cqw,12px);font-weight:var(--fw-bold);color:var(--miss);background:var(--miss-bg);animation:fxp-chip 6s infinite}@keyframes fxp-grow{0%{width:0}25%,88%{width:var(--w)}96%,to{width:0}}@keyframes fxp-chip{0%,38%{opacity:0;transform:scale(.6)}46%{opacity:1;transform:scale(1.08)}50%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(.6)}}.fxn{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.fxn__card{position:relative;width:40%;aspect-ratio:4 / 3;display:grid;place-items:center;font-size:clamp(20px,9cqw,56px);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);animation:fxn-float 5s ease-in-out infinite}.fxn__badge{position:absolute;top:-10%;right:-10%;padding:2px 8px;border-radius:var(--r-full);font-size:clamp(7px,1.8cqw,12px);font-weight:var(--fw-bold);color:var(--text-inverse);background:var(--o500);animation:fxn-badge 5s infinite}.fxn__spark{position:absolute;color:var(--gold);font-size:clamp(8px,3cqw,18px);animation:fxn-twinkle 2.5s infinite}.fxn__spark--0{top:18%;left:22%}.fxn__spark--1{top:24%;right:20%;animation-delay:.5s}.fxn__spark--2{bottom:20%;left:26%;animation-delay:1s}.fxn__spark--3{bottom:16%;right:24%;animation-delay:1.5s}.fxn__spark--4{top:50%;left:12%;animation-delay:2s}@keyframes fxn-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6%)}}@keyframes fxn-badge{0%,70%,to{transform:scale(1)}76%{transform:scale(1.25)}82%{transform:scale(.95)}}@keyframes fxn-twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}.fxt{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--b100),var(--g100))}.fxt__house{position:absolute;left:50%;bottom:14%;width:16%;height:10%;transform:translate(-50%);background:var(--g600);border-radius:var(--r-sm)}.fxt__clay{position:absolute;left:50%;bottom:22%;width:5%;aspect-ratio:1;border-radius:50%;background:var(--o500)}.fxt__clay--a{left:30%;bottom:66%;animation:fxt-a 6s infinite ease-out}.fxt__clay--b{left:66%;bottom:58%;animation:fxt-b 6s infinite ease-out}.fxt__burst{position:absolute;width:12%;aspect-ratio:1;border-radius:50%;border:2px dashed var(--o500);opacity:0}.fxt__burst--a{left:26%;bottom:62%;animation:fxt-burst-a 6s infinite}.fxt__burst--b{left:62%;bottom:54%;animation:fxt-burst-b 6s infinite}.fxt__chips{position:absolute;left:6%;top:8%;display:flex;gap:4%;width:60%}.fxt__chip{padding:2px 8px;border-radius:var(--r-full);font-size:clamp(7px,1.7cqw,12px);color:var(--hit);background:var(--hit-bg);opacity:0;white-space:nowrap}.fxt__chip--a{animation:fxt-chip-a 6s infinite}.fxt__chip--b{animation:fxt-chip-b 6s infinite}.fxt__split{position:absolute;right:6%;top:8%;padding:2px 8px;border-radius:var(--r-full);font-size:clamp(7px,1.7cqw,12px);font-weight:var(--fw-bold);color:var(--text-primary);background:var(--surface);border:1px solid var(--border)}@keyframes fxt-a{0%{left:47%;bottom:22%;opacity:1;transform:scale(.6)}25%{left:30%;bottom:66%;opacity:1;transform:scale(1)}27%,90%{left:30%;bottom:66%;opacity:0}to{left:47%;bottom:22%;opacity:0}}@keyframes fxt-b{0%{left:50%;bottom:22%;opacity:1;transform:scale(.6)}25%{left:60%;bottom:52%;opacity:1;transform:scale(.9)}40%{left:66%;bottom:58%;opacity:1;transform:scale(1)}42%,90%{left:66%;bottom:58%;opacity:0}to{left:50%;bottom:22%;opacity:0}}@keyframes fxt-burst-a{0%,24%{opacity:0;transform:scale(.4)}27%{opacity:1;transform:scale(1)}35%,to{opacity:0;transform:scale(1.4)}}@keyframes fxt-burst-b{0%,39%{opacity:0;transform:scale(.4)}42%{opacity:1;transform:scale(1)}50%,to{opacity:0;transform:scale(1.4)}}@keyframes fxt-chip-a{0%,26%{opacity:0}30%,92%{opacity:1}to{opacity:0}}@keyframes fxt-chip-b{0%,41%{opacity:0}45%,92%{opacity:1}to{opacity:0}}.admin{max-width:1480px;margin:0 auto;padding:24px 16px 48px}.admin__title{font-size:24px;margin:0 0 16px}.admin__tabs{display:flex;gap:8px;margin-bottom:16px}.admin__tab{padding:8px 16px;font-size:14px;font-weight:600;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-secondary);cursor:pointer}.admin__tab--active{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.admin__error{color:var(--miss);font-weight:600;font-size:14px}.admin__hint{color:var(--text-secondary);font-size:13px}.admin__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px}.admin__card-title{margin:0 0 10px;font-size:18px}.admin__table-wrap{overflow-x:auto}.admin__table{width:100%;border-collapse:collapse;font-size:14px}.admin__table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:8px 12px;border-bottom:1px solid var(--border-strong)}.admin__table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.admin__actions{display:flex;gap:10px;flex-wrap:wrap}.admin__link{border:none;background:none;padding:2px 0;font-size:13px;font-weight:600;color:var(--g600);cursor:pointer;text-decoration:underline}.admin__link--danger{color:var(--miss)}.admin__confirm{margin-top:14px;padding:14px;border:1px solid var(--miss);border-radius:var(--radius-md);background:var(--miss-bg);font-size:14px}.admin__confirm-actions{display:flex;gap:10px;margin-top:10px}.admin__invite-row{display:flex;gap:8px;margin-bottom:12px}.admin__input{flex:1;max-width:340px;padding:8px 12px;font-size:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.admin__invites{list-style:none;margin:0;padding:0}.admin__invite{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.admin__invite-meta{color:var(--text-secondary);font-size:12px}.admin__flags{list-style:none;margin:0;padding:0}.admin__flag{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.admin__flag-desc{margin:2px 0 0;font-size:13px;color:var(--text-secondary)}.admin__switch{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.admin__seg{display:inline-flex;flex-shrink:0;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.admin__seg-opt{position:relative;cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:13px;font-weight:600;color:var(--text-secondary)}.admin__seg-opt+.admin__seg-opt{border-left:1px solid var(--border-strong)}.admin__seg-opt input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.admin__seg-opt:has(input:focus-visible){outline:2px solid var(--b500);outline-offset:-2px;z-index:1}.admin__seg-opt--on.admin__seg-opt--off{background:var(--bg-base);color:var(--text-primary)}.admin__seg-opt--on.admin__seg-opt--admins{background:var(--b100);color:var(--b500)}.admin__seg-opt--on.admin__seg-opt--all{background:var(--g700);color:var(--text-inverse)}@media (max-width: 640px){.admin__flag{flex-direction:column;align-items:flex-start}}.admin__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:14px}.admin__tile{display:flex;flex-direction:column;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base)}.admin__tile-value{font-size:26px;font-weight:700}.admin__tile-label{font-size:12px;color:var(--text-secondary)}.admin__tile-sub{font-size:11px;color:var(--text-tertiary, var(--text-secondary));margin-top:2px}.admin__tile--warn{border-color:var(--warning)}.admin__tile--warn .admin__tile-value{color:var(--warning)}.admin__card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.admin__card-head .admin__card-title{margin:0}.admin__subhead{margin:18px 0 8px;font-size:14px;font-weight:700;color:var(--text-secondary)}.admin__bars{display:flex;align-items:flex-end;gap:3px;height:90px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base)}.admin__bar{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end}.admin__bar-fill{display:block;width:100%;min-height:2px;border-radius:2px 2px 0 0;background:var(--o500)}.admin__bars-axis{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--text-secondary)}.admin__tab:focus-visible,.admin__link:focus-visible,.admin__input:focus-visible,.admin__switch input:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.admin__note-cell{min-width:180px;max-width:280px;white-space:pre-wrap;overflow-wrap:break-word;font-size:13px;color:var(--text-secondary)}a.admin__link{text-decoration:none}.admin__input--narrow{flex:0 0 auto;width:auto}.admin__pulse-months{display:flex;align-items:flex-end;gap:8px;height:120px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base)}.admin__pulse-month{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.admin__pulse-stack{width:100%;max-width:48px;min-height:2px;display:flex;flex-direction:column;border-radius:4px 4px 0 0;overflow:hidden}.admin__pulse-yes{background:var(--hit)}.admin__pulse-no{background:var(--miss)}.admin__pulse-label{font-size:11px;color:var(--text-secondary)}.admin__why{white-space:normal;max-width:420px}.admin__stars{color:var(--gold);letter-spacing:1px;white-space:nowrap}.admin__dist{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;max-width:420px}.admin__dist-row{display:grid;grid-template-columns:40px 1fr 32px;align-items:center;gap:8px;font-size:13px}.admin__dist-label{color:var(--text-secondary);font-weight:700}.admin__dist-bar-wrap{height:10px;border-radius:999px;background:var(--bg-base);border:1px solid var(--border);overflow:hidden}.admin__dist-bar{display:block;height:100%;background:var(--gold)}.admin__dist-count{text-align:right;font-variant-numeric:tabular-nums}.admin__rn{border-bottom:1px solid var(--border)}.admin__rn .admin__invite{border-bottom:0}.admin__rn .admin__invite>span:first-child{flex:1;min-width:0}.admin__rn-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:var(--sp-5);padding:var(--sp-3) 0 var(--sp-5)}.admin__rn-fields{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--sp-2) var(--sp-3);align-items:center}.admin__rn-fields .admin__input{max-width:none}.admin__rn-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.admin__rn-desc{resize:vertical;font:inherit;font-size:14px}.admin__rn-buttons{grid-column:2;display:flex;gap:var(--sp-2)}.admin__rn-preview{display:flex;flex-direction:column;gap:var(--sp-2)}@media (max-width: 760px){.admin__rn-editor,.admin__rn-fields{grid-template-columns:minmax(0,1fr)}.admin__rn-buttons{grid-column:1}}.admin__card--attention{border-color:var(--o500);box-shadow:0 0 0 1px var(--o100)}.feedback{max-width:640px;margin:0 auto;padding:24px 16px 48px}.feedback__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.feedback__card--sent{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.feedback__sent-icon{font-size:40px}.feedback__title{margin:0 0 4px;font-size:22px}.feedback__sub{margin:0 0 18px;font-size:14px;color:var(--text-secondary)}.feedback__types{display:flex;gap:10px;margin-bottom:18px}.feedback__type{flex:1;padding:12px;font-size:14px;font-weight:600;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer}.feedback__type--active{border-color:var(--g600);background:var(--g100);color:var(--g700)}.feedback__label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}.feedback__input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.feedback__textarea{resize:vertical;font-family:inherit}.feedback__error{color:var(--miss);font-size:13px;font-weight:600;margin:10px 0 0}.feedback__footer{margin-top:18px;display:flex;justify-content:flex-end}.feedback__type:focus-visible,.feedback__input:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.feedback__mine{margin-top:16px}.feedback__mine-title{margin:0 0 10px;font-size:18px}.feedback__mine-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.feedback__mine-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px}.feedback__mine-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.feedback__status{font-size:12px;font-weight:800;border-radius:999px;padding:2px 10px;background:var(--surface-hover);color:var(--text-secondary);white-space:nowrap}.feedback__status--triaging,.feedback__status--in_progress{background:var(--o100);color:var(--o500)}.feedback__status--fixed{background:var(--hit-bg);color:var(--hit)}.feedback__status--confirmed{background:var(--g100);color:var(--g700)}.feedback__thread{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.feedback__msg{font-size:13px;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.feedback__msg-from{font-weight:800;color:var(--g700)}.feedback__msg--user .feedback__msg-from{color:var(--text-secondary)}.feedback__rate{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.feedback__reply{display:flex;gap:8px;align-items:center;margin-top:8px}.feedback__reply .feedback__input{flex:1;margin:0}.share{max-width:1060px;margin:0 auto;padding:24px 16px 48px}.share__title{margin:0 0 4px;font-size:24px}.share__sub{margin:0 0 18px;font-size:14px;color:var(--text-secondary);max-width:640px}.share__error{color:var(--miss);font-weight:600;font-size:14px}.share__notice{color:var(--g700);font-weight:600;font-size:14px}.share__layout{display:grid;grid-template-columns:300px 1fr;gap:20px}@media (max-width: 760px){.share__layout{grid-template-columns:1fr}}.share__new{display:flex;gap:8px;margin-bottom:12px}.share__input{flex:1;min-width:0;padding:8px 12px;font-size:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.share__input--narrow{flex:0 0 130px}.share__cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.share__card{width:100%;text-align:left;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:4px}.share__card--active{border-color:var(--g600);background:var(--g100)}.share__card--closed{opacity:.65}.share__card-name{font-weight:700;font-size:14px;display:flex;gap:8px;align-items:center}.share__card-meta{font-size:12px;color:var(--text-secondary)}.share__detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;min-height:300px}.share__detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.share__detail-name{margin:0;font-size:20px}.share__detail-actions{display:flex;gap:8px}.share__closed-note{margin:10px 0 0;padding:8px 12px;font-size:13px;border-radius:var(--radius-md);background:var(--o100)}.share__section-title{margin:22px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.share__items{list-style:none;margin:0 0 10px;padding:0}.share__item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.share__item-actions{display:flex;gap:10px;align-items:center}.share__x{border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:13px;padding:2px 6px}.share__x:hover{color:var(--miss)}.share__linkbtn{border:1px solid var(--border-strong);background:var(--bg-base);border-radius:999px;font-size:12px;font-weight:600;padding:3px 10px;cursor:pointer}.share__add-row{display:flex;gap:8px;align-items:center}.share__empty{font-size:13px;color:var(--text-secondary);list-style:none}.share__comments{list-style:none;margin:0;padding:0}.share__comment{padding:10px 0;border-bottom:1px solid var(--border)}.share__comment-head{display:flex;gap:8px;align-items:center;font-size:13px}.share__comment-time{margin-left:auto;color:var(--text-secondary);font-size:12px}.share__comment-text{margin:4px 0 0;font-size:14px;white-space:pre-wrap}.share__input:focus-visible,.share__x:focus-visible,.share__linkbtn:focus-visible,.share__card:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.shared{max-width:860px;margin:0 auto;padding:20px 16px 60px;background:var(--bg-base)}.shared__loading{text-align:center;color:var(--text-secondary);padding:60px 0}.shared__banner{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(120deg,var(--g700) 0%,var(--g600) 55%,var(--o600) 130%);color:var(--text-inverse);padding:22px 24px;margin-bottom:22px;box-shadow:0 8px 30px var(--overlay)}.shared__banner-glow{position:absolute;top:-60px;right:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--gold-hi),transparent 70%);opacity:.35;pointer-events:none}.shared__banner-body{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.shared__banner-badge{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--overlay);border-radius:999px;padding:3px 12px}.shared__banner-title{margin:2px 0 0;font-size:26px;line-height:1.15}.shared__banner-sub{margin:0;font-size:14px;max-width:560px;opacity:.95}.shared__banner-cta{margin-top:8px;display:inline-block;background:var(--surface);color:var(--g700);font-weight:800;font-size:14px;padding:9px 18px;border-radius:999px;text-decoration:none}.shared__banner-cta:hover{background:var(--gold-hi)}.shared__banner-fine{font-size:11px;opacity:.8}.shared__header{margin-bottom:18px}.shared__title{margin:0 0 4px;font-size:24px}.shared__meta{margin:0;font-size:14px;color:var(--text-secondary)}.shared__group{margin-bottom:26px}.shared__group-title{font-size:17px;margin:0 0 10px}.shared__round-title{font-size:14px;color:var(--text-secondary);margin:14px 0 10px}.shared__shot{display:grid;grid-template-columns:300px 1fr;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;margin-bottom:12px}@media (max-width: 640px){.shared__shot{grid-template-columns:1fr}}.shared__shot-media{position:relative}.shared__thumb-btn{position:relative;display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.shared__thumb{width:100%;display:block;border-radius:var(--radius-md)}.shared__no-video{display:flex;align-items:center;justify-content:center;height:120px;width:100%;color:var(--text-secondary);font-size:13px;background:var(--bg-base);border-radius:var(--radius-md)}.shared__play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--text-inverse);background:var(--overlay);opacity:0;transition:opacity .15s ease}.shared__thumb-btn:hover .shared__play,.shared__thumb-btn:focus-visible .shared__play{opacity:1}.shared__video{width:100%;border-radius:var(--radius-md)}.shared__shot-side{display:flex;flex-direction:column;gap:8px;min-width:0}.shared__shot-head{display:flex;align-items:center;gap:10px;font-size:14px}.shared__shot-station{color:var(--text-secondary);font-weight:700;font-size:12px}.shared__result{font-size:12px;font-weight:800}.shared__result--hit{color:var(--hit)}.shared__result--miss{color:var(--miss)}.shared__shot-comments{list-style:none;margin:0;padding:0;font-size:13px;display:flex;flex-direction:column;gap:4px}.shared__comment-row{display:flex;gap:8px;margin-top:auto}.shared__input{flex:1;min-width:0;padding:8px 12px;font-size:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.shared__textarea{resize:vertical;font-family:inherit}.shared__send{padding:8px 16px;font-size:13px;font-weight:700;border:none;border-radius:var(--radius-md);background:var(--g700);color:var(--text-inverse);cursor:pointer}.shared__send:disabled{opacity:.5;cursor:default}.shared__general{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.shared__gone{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 20px}.shared__footer{margin-top:26px;text-align:center;font-size:12px;color:var(--text-secondary)}.shared__footer a{color:var(--g700);font-weight:700}.shared__input:focus-visible,.shared__send:focus-visible,.shared__thumb-btn:focus-visible,.shared__banner-cta:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.focus{max-width:480px;margin:0 auto;padding:20px 16px 48px;display:flex;flex-direction:column;gap:14px}.focus__greet{margin:0;font-size:24px}.focus__sub{margin:-8px 0 0;font-size:14px;color:var(--text-secondary)}.focus__last{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-decoration:none;color:var(--text-primary)}.focus__last-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.focus__last-main{font-size:15px;font-weight:700}.focus__last-score{font-size:14px;color:var(--g700);font-weight:700}.focus__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.focus__item{display:flex;gap:12px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--border);border-left-width:4px;background:var(--surface)}.focus__item--high{border-left-color:var(--miss);background:var(--miss-bg)}.focus__item--med{border-left-color:var(--o500);background:var(--o100)}.focus__item--good{border-left-color:var(--hit);background:var(--hit-bg)}.focus__item-icon{font-size:22px;line-height:1}.focus__item-title{font-size:14px;display:block}.focus__item-fix{margin:6px 0 0;font-size:13px;color:var(--text-secondary)}.focus__clear{padding:14px;border-radius:var(--radius-lg);background:var(--g100);font-size:14px;font-weight:600}.focus__drill{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:12px 14px}.focus__drill-head{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:15px}.focus__drill-name{font-weight:700}.focus__drill-badge{font-size:11px;font-weight:700;background:var(--g100);color:var(--g700);border-radius:999px;padding:3px 10px;white-space:nowrap}.focus__drill-why{margin:10px 0 8px;font-size:13px;color:var(--text-secondary)}.focus__drill-steps{margin:0;padding-left:20px;font-size:13px;display:flex;flex-direction:column;gap:6px}.focus__actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.focus__btn{display:block;text-align:center;padding:15px;font-size:16px;font-weight:700;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);text-decoration:none}.focus__btn--primary{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.focus__fullsite{margin-top:8px;border:none;background:none;font-size:13px;color:var(--text-secondary);text-decoration:underline;cursor:pointer;padding:10px}.focus__btn:focus-visible,.focus__fullsite:focus-visible,.focus__drill-head:focus-visible,.focus__last:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.focus__phone-note{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);font-size:13px;color:var(--text-secondary)}.focus__phone-note p{margin:0}@media (max-width: 700px){.focus__phone-note{display:none}}.focus__phone{flex-shrink:0;width:34px;height:58px;border:2px solid var(--text-primary);border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-base)}.focus__phone:before{content:"";position:absolute;top:3px;left:50%;transform:translate(-50%);width:10px;height:2px;border-radius:2px;background:var(--text-primary)}.focus__phone:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:8px;height:2px;border-radius:2px;background:var(--text-primary)}.focus__phone-screen{font-size:15px}.focus__resume{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:10px 0 4px;padding:12px 14px;border:2px solid var(--g700);border-radius:var(--radius-lg);background:var(--g100);color:var(--text-primary);text-decoration:none}.focus__resume-label{grid-column:1;font-size:12px;font-weight:800;color:var(--miss);text-transform:uppercase;letter-spacing:.04em}.focus__resume-main{grid-column:1;font-size:16px;font-weight:800}.focus__resume-cta{grid-column:2;grid-row:1 / span 2;align-self:center;font-weight:800;color:var(--g700)}.focus__resume:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.rewards{max-width:640px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:16px}.rewards__title{margin:0;font-size:24px}.rewards__sub{margin:-8px 0 0;font-size:14px;color:var(--text-secondary)}.rewards__flash{margin:0;font-size:13px;font-weight:700;color:var(--g700)}.rewards__hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px;border-radius:var(--radius-lg);background:linear-gradient(120deg,var(--g700),var(--g600));color:var(--text-inverse)}.rewards__hero-num{font-size:34px;font-weight:800}.rewards__hero-label{font-size:13px;opacity:.9}.rewards__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.rewards__card-title{margin:0 0 4px;font-size:16px;font-weight:600}.rewards__card-sub{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.rewards__link-row{display:flex;gap:8px;align-items:center}.rewards__link{flex:1;min-width:0;padding:9px 12px;background:var(--bg-base);border:1px dashed var(--border-strong);border-radius:var(--radius-md);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rewards__btn{padding:9px 16px;font-size:13px;font-weight:700;border:none;border-radius:var(--radius-md);background:var(--g700);color:var(--text-inverse);cursor:pointer}.rewards__shares{display:flex;gap:10px;flex-wrap:wrap}.rewards__share{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer}.rewards__share--earned{border-color:var(--g600);background:var(--g100)}.rewards__share-icon{font-size:22px}.rewards__share-label{font-size:13px;font-weight:700}.rewards__share-state{font-size:11px;color:var(--text-secondary)}.rewards__ledger{list-style:none;margin:0;padding:0;font-size:14px}.rewards__ledger li{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border)}.rewards__ledger-days{font-weight:800;color:var(--g700)}.rewards__ledger-date{margin-left:auto;font-size:12px;color:var(--text-secondary)}.rewards__btn:focus-visible,.rewards__share:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.invite-qr{max-width:420px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;align-items:center;text-align:center}.invite-qr__title{margin:0;font-size:24px}.invite-qr__sub{font-size:14px;color:var(--text-secondary);margin:8px 0 20px}.invite-qr__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 20px 12px;box-shadow:var(--shadow-md, none)}.invite-qr__canvas{display:block;border-radius:var(--radius-md)}.invite-qr__link{margin:10px 0 2px;font-size:12px;color:var(--text-secondary);word-break:break-all}.invite-qr__copy{margin-top:16px;padding:12px 22px;font-size:14px;font-weight:700;color:var(--g700);background:var(--surface);border:1px solid var(--g600);border-radius:var(--radius-md);cursor:pointer}.invite-qr__copy:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.invite-qr__perk{margin-top:18px;font-size:14px;color:var(--text-primary);background:var(--g100);border-radius:var(--radius-md);padding:12px 14px}.invite-qr__footer{margin-top:24px;display:flex;gap:18px}.invite-qr__back{font-size:13px;font-weight:700;color:var(--g700);text-decoration:none}.field{max-width:460px;margin:0 auto;padding:16px 16px 32px;display:flex;flex-direction:column;gap:12px}.field__title{margin:0;font-size:22px}.field__sub{margin:0;font-size:14px;color:var(--text-secondary)}.field__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field__head .field__sync{margin-left:auto}.field__card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}.field__label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--text-secondary)}.field__input{font-size:16px;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.field__more summary{cursor:pointer;font-size:14px;color:var(--g700);font-weight:700;padding:4px 0}.field__more[open]{display:flex;flex-direction:column;gap:10px}.field__picker{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.field__picker-btn{padding:12px 0;font-size:15px;font-weight:800;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer}.field__picker-btn--on{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.field__primary,.field__secondary{display:block;text-align:center;text-decoration:none;padding:15px;font-size:16px;font-weight:800;border-radius:var(--radius-md);cursor:pointer}.field__primary{background:var(--g700);color:var(--text-inverse);border:none}.field__primary:disabled{opacity:.5}.field__secondary{background:var(--surface);color:var(--g700);border:1px solid var(--g600)}.field__secondary:disabled{color:var(--text-disabled);border-color:var(--border)}.field__secondary--sm{padding:10px;font-size:14px;flex:1}.field__back{font-size:13px;font-weight:700;color:var(--g700);text-decoration:none;text-align:center}.field__sync{font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px}.field__sync--saved{background:var(--g100);color:var(--g700)}.field__sync--saving{background:var(--surface-hover);color:var(--text-secondary)}.field__sync--offline{background:var(--warning-bg);color:var(--warning)}.field__round{font-size:18px;font-weight:800}.field__running{font-size:18px;font-weight:800;color:var(--g700)}.field__now{margin:0;font-size:20px;text-align:center}.field__now-sub{display:block;font-size:12px;color:var(--text-secondary)}.field__grid{display:flex;flex-direction:column;gap:4px}.field__grid-row{display:grid;grid-template-columns:36px repeat(5,1fr);gap:4px;align-items:center;padding:3px 4px;border-radius:var(--radius-md)}.field__grid-row--current{background:var(--g100)}.field__grid-stn{font-size:12px;font-weight:800;color:var(--text-secondary)}.field__dot{height:30px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:800}.field__dot--hit{background:var(--hit-bg, var(--g100));color:var(--hit);border-color:var(--hit);cursor:pointer}.field__dot--miss{background:var(--miss-bg);color:var(--miss);border-color:var(--miss);cursor:pointer}.field__dot:focus-visible,.field__hit:focus-visible,.field__miss:focus-visible,.field__picker-btn:focus-visible,.field__primary:focus-visible,.field__secondary:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.field__tap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.field__hit,.field__miss{min-height:132px;font-size:30px;font-weight:900;letter-spacing:.06em;border:none;border-radius:var(--radius-lg);color:var(--text-inverse);cursor:pointer;touch-action:manipulation}.field__hit{background:var(--hit)}.field__miss{background:var(--miss)}.field__hit:active,.field__miss:active{transform:scale(.98)}.field__row{display:flex;gap:10px}.field__big-score{margin:0;text-align:center;font-size:56px;font-weight:900;color:var(--g700)}.field__big-score--perfect{color:var(--gold, var(--g700))}.field__perfect{margin:-6px 0 0;text-align:center;font-weight:800}.field__rounds{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.field__rounds li{display:flex;justify-content:space-between;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.field__next-steps{font-size:14px;background:var(--g100);border-radius:var(--radius-md);padding:12px 14px}.field__geo{display:flex;flex-direction:column;gap:6px;margin-top:-4px}.field__geo-btn{align-self:flex-start;padding:8px 12px;font-size:14px;font-weight:700;border:1px solid var(--g600);border-radius:999px;background:var(--surface);color:var(--g700);cursor:pointer}.field__geo-btn:focus-visible,.field__geo-chip:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.field__geo-status{font-size:13px;color:var(--g700);font-weight:600}.field__geo-status--err{color:var(--warning)}.field__geo-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.field__geo-hint{font-size:12px;color:var(--text-secondary)}.field__geo-chip{font-size:13px;padding:6px 10px;border-radius:999px;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary)}.field__geo-chip span{color:var(--text-secondary);margin-left:4px}.field__hcp{color:var(--o600);font-weight:700}.field__tap--pairs{grid-template-columns:1fr 1fr}.field__pairbtn{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;border-radius:var(--radius-lg);color:var(--text-inverse);cursor:pointer;touch-action:manipulation}.field__pairbtn-mark{font-size:30px;font-weight:900;letter-spacing:.08em;line-height:1}.field__pairbtn-sub{font-size:13px;font-weight:700;opacity:.9}.field__pairbtn--hit{background:var(--hit)}.field__pairbtn--one{background:var(--warning)}.field__pairbtn--miss{background:var(--miss)}.field__pairbtn:active{transform:scale(.98)}.field__pairbtn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.field__dot--pair{display:grid;grid-template-columns:1fr 1fr;padding:0;overflow:hidden;cursor:pointer}.field__dot--pair.field__dot--empty{cursor:default}.field__half{display:grid;place-items:center;font-size:12px}.field__half--hit{background:var(--hit-bg);color:var(--hit)}.field__half--miss{background:var(--miss-bg);color:var(--miss)}.field__half+.field__half{border-left:1px solid var(--border)}.field__picker-btn--wide{flex:1}.whats-new{max-width:820px;margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-12)}.whats-new__head{margin-bottom:var(--sp-4)}.whats-new__title{margin:0;font-size:var(--text-3xl)}.whats-new__sub{color:var(--text-secondary);margin:var(--sp-2) 0 0;max-width:60ch}.whats-new__empty{color:var(--text-secondary)}.wn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.wn-tag{font-size:var(--text-xs);font-weight:var(--fw-bold);white-space:nowrap;padding:2px var(--sp-2);border-radius:var(--r-full);background:var(--g100);color:var(--g700)}.wn-tag--feature{background:var(--o100);color:var(--o600)}.wn-tag--fix{background:var(--hit-bg);color:var(--hit)}.wn-new{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-inverse);background:var(--b500);padding:2px var(--sp-2);border-radius:var(--r-full)}.wn-hidden{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.wn-date{margin-left:auto;font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.wn-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.wn-btn{display:inline-flex;align-items:center;gap:var(--sp-1);font:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);text-decoration:none;cursor:pointer;padding:5px var(--sp-3);border-radius:var(--r-md);border:1px solid var(--g700);transition:background var(--transition-fast)}.wn-btn--primary{background:var(--g700);color:var(--text-inverse)}.wn-btn--primary:hover{background:var(--g600)}.wn-btn--ghost{background:var(--surface);color:var(--g700)}.wn-btn--ghost:hover{background:var(--g100);text-decoration:none}.wn-btn:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.wn-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.wn-filter{font:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;padding:6px var(--sp-3);border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary)}.wn-filter--on{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.wn-filter__n{font-weight:var(--fw-normal);opacity:.75}.wn-filter:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.wn-month__title{margin:var(--sp-6) 0 var(--sp-3);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.wn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.wn-card{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.wn-card:hover,.wn-card:focus-within{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.wn-card--hidden{border-style:dashed}.wn-card__body{flex:1;min-width:0}.wn-card__title{margin:var(--sp-2) 0 0;font-size:var(--text-base);line-height:1.35}.wn-card__desc{margin:var(--sp-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}@media (max-width: 520px){.wn-card{gap:var(--sp-3);padding:var(--sp-3)}.wn-card .fx--thumb{width:88px}}.wn-fix{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.wn-fix__title{font-size:var(--text-sm);color:var(--text-primary)}.wn-fix__desc{font-size:var(--text-xs);color:var(--text-secondary)}.stc{max-width:480px;margin:0 auto;padding:20px 16px 48px;display:flex;flex-direction:column;gap:14px}.stc__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.stc__title{margin:0;font-size:22px}.stc__back{font-size:13px;color:var(--g700);font-weight:700;text-decoration:none}.stc__picker{display:flex;gap:8px}.stc__stn{flex:1;min-height:52px;font-size:20px;font-weight:800;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer}.stc__stn--on{background:var(--g700);border-color:var(--g700);color:var(--text-inverse)}.stc__stats{display:flex;flex-wrap:wrap;gap:8px}.stc__stat{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.stc__focus{margin:0;padding:14px;border-radius:var(--radius-lg);border-left:4px solid var(--o500);background:var(--o100);font-size:14px;font-weight:600}.stc__section{margin:4px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.stc__clips{display:flex;flex-direction:column;gap:10px}.stc__clip{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.stc__clip--hit{border-left:4px solid var(--hit)}.stc__clip--miss{border-left:4px solid var(--miss)}.stc__thumb-btn{position:relative;display:block;width:100%;padding:0;border:none;background:none;cursor:pointer}.stc__thumb{width:100%;display:block}.stc__play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--text-inverse);background:var(--overlay);opacity:.85}.stc__clip-tag{position:absolute;left:10px;bottom:10px;font-size:12px;font-weight:800;color:var(--text-inverse);background:var(--overlay);border-radius:999px;padding:3px 10px}.stc__video{width:100%;display:block}.stc__empty{font-size:14px;color:var(--text-secondary);padding:14px;background:var(--surface);border-radius:var(--radius-lg)}.stc__stn:focus-visible,.stc__thumb-btn:focus-visible,.stc__back:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.stc__finding{margin:0;padding:10px 14px;border-radius:var(--radius-lg);border-left:4px solid var(--warning);background:var(--warning-bg);font-size:14px}.plans-page{max-width:900px;margin:0 auto;padding:24px 16px 48px}.plans-page__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plans-page__title{margin:0;font-size:24px}.plans-page__back{font-size:13px;color:var(--g700);font-weight:700;text-decoration:none}.plans-page__sub{font-size:14px;color:var(--text-secondary);margin:6px 0 18px}.plans-page__table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.plans-page__table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}.plans-page__table th,.plans-page__table td{padding:10px 12px;text-align:center}.plans-page__feature-col{width:36%}.plans-page__table th.plans-page__tier{vertical-align:bottom;position:relative;padding-top:36px}.plans-page__tier--popular{background:var(--g100)}.plans-page__flag{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--o500);color:var(--text-inverse);border-radius:999px;padding:2px 10px;white-space:nowrap}.plans-page__tier-name{display:block;font-size:15px}.plans-page__tier-price{display:block;font-size:18px;font-weight:800}.plans-page__tier-note{display:block;font-size:11px;color:var(--text-secondary);font-weight:400}.plans-page__tier-value{display:block;margin-top:4px;font-size:11px;font-weight:700;color:var(--o500)}.plans-page__group td{text-align:left;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding-top:16px;border-bottom:1px solid var(--border-strong)}.plans-page__feature{text-align:left!important;color:var(--text-primary);border-bottom:1px solid var(--border)}.plans-page__table tbody td{border-bottom:1px solid var(--border)}.plans-page__col--popular{background:var(--g100)}.plans-page__yes{color:var(--hit);font-weight:800}.plans-page__no{color:var(--text-disabled)}.plans-page__limit{font-size:13px}.plans-page__cta-row td{border-bottom:none;padding:14px 10px}.plans-page__cta{width:100%;padding:10px;font-size:13px;font-weight:700;border:1px solid var(--g600);border-radius:var(--radius-md);background:var(--surface);color:var(--g700);cursor:pointer}.plans-page__cta--on{background:var(--g700);color:var(--text-inverse)}.plans-page__cta:focus-visible{outline:2px solid var(--b500);outline-offset:2px}.join__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.join__title{margin:0;font-size:24px}.join__sub{margin:0;font-size:14px;color:var(--text-secondary);max-width:460px}.join__cta{margin-top:8px;padding:14px 26px;font-size:16px;font-weight:800;border:none;border-radius:999px;background:var(--g700);color:var(--text-inverse);cursor:pointer}.join__cta:disabled{opacity:.5;cursor:default}.join__fine{margin:0;font-size:12px;color:var(--text-secondary)}.join__cta:focus-visible{outline:2px solid var(--b500);outline-offset:2px}
