@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Outfit:wght@300;400;500;600;700;800&family=Roboto+Flex:opsz,wght@8..144,300..900&family=Noto+Sans+SC:wght@300;400;500;700;900&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap";:root{--md-sys-color-primary:#6750a4;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#eaddff;--md-sys-color-on-primary-container:#21005d;--md-sys-color-secondary:#625b71;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#e8def8;--md-sys-color-on-secondary-container:#1d192b;--md-sys-color-tertiary:#7d5260;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#ffd8e4;--md-sys-color-on-tertiary-container:#31111d;--md-sys-color-error:#b3261e;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#f9dedc;--md-sys-color-on-error-container:#410e0b;--md-sys-color-background:#fef7ff;--md-sys-color-on-background:#1d1b20;--md-sys-color-surface:#fef7ff;--md-sys-color-on-surface:#1d1b20;--md-sys-color-surface-variant:#e7e0ec;--md-sys-color-on-surface-variant:#49454f;--md-sys-color-outline:#79747e;--md-sys-color-outline-variant:#cac4d0;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f7f2fa;--md-sys-color-surface-container:#f3edf7;--md-sys-color-surface-container-high:#ece6f0;--md-sys-color-surface-container-highest:#e6e1e5;--md-sys-color-red-team:#ba1a1a;--md-sys-color-on-red-team:#fff;--md-sys-color-red-team-container:#ffdad6;--md-sys-color-on-red-team-container:#410002;--md-sys-color-blue-team:#0a5ca8;--md-sys-color-on-blue-team:#fff;--md-sys-color-blue-team-container:#d4e3ff;--md-sys-color-on-blue-team-container:#001c3a;--md-sys-color-purple-l4:#8e24aa;--md-sys-color-on-purple-l4:#fff;--md-sys-color-purple-l4-container:#f3e5f5;--md-sys-color-on-purple-l4-container:#2a0033;--md-sys-color-yellow-point:#825500;--md-sys-color-on-yellow-point:#fff;--md-sys-color-yellow-point-container:#ffdda1;--md-sys-color-on-yellow-point-container:#2a1800;--md-sys-shape-corner-none:0px;--md-sys-shape-corner-extra-small:4px;--md-sys-shape-corner-small:8px;--md-sys-shape-corner-medium:12px;--md-sys-shape-corner-large:16px;--md-sys-shape-corner-extra-large:28px;--md-sys-shape-corner-full:9999px;--md-sys-typescale-font-brand:"Outfit", sans-serif;--md-sys-typescale-font-plain:"Roboto Flex", "Noto Sans SC", sans-serif;--md-sys-motion-easing-emphasized:cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-decelerate:cubic-bezier(.05, .7, .1, 1);--md-sys-motion-easing-accelerate:cubic-bezier(.3, 0, .8, .15);--bg:var(--md-sys-color-background);--surface:var(--md-sys-color-surface-container-lowest);--surface-high:var(--md-sys-color-surface-container-high);--soft:var(--md-sys-color-surface-container-low);--ink:var(--md-sys-color-on-background);--muted:var(--md-sys-color-on-surface-variant);--line:var(--md-sys-color-outline-variant);--outline:var(--md-sys-color-outline);--blue:var(--md-sys-color-primary);--blue-container:var(--md-sys-color-primary-container);--on-blue-container:var(--md-sys-color-on-primary-container);--red:var(--md-sys-color-red-team);--teamblue:var(--md-sys-color-blue-team);--purple:var(--md-sys-color-purple-l4);--yellow:var(--md-sys-color-yellow-point);--success:#16a34a;--radius-lg:var(--md-sys-shape-corner-large);--radius-xl:var(--md-sys-shape-corner-extra-large);--shadow-card:0 4px 12px #0000000d, 0 1px 3px #00000005}[data-theme=dark]{--md-sys-color-primary:#d0bcff;--md-sys-color-on-primary:#381e72;--md-sys-color-primary-container:#4f378b;--md-sys-color-on-primary-container:#eaddff;--md-sys-color-secondary:#ccc2dc;--md-sys-color-on-secondary:#332d41;--md-sys-color-secondary-container:#4a4458;--md-sys-color-on-secondary-container:#e8def8;--md-sys-color-tertiary:#efb8c8;--md-sys-color-on-tertiary:#492532;--md-sys-color-tertiary-container:#633b48;--md-sys-color-on-tertiary-container:#ffd8e4;--md-sys-color-error:#f2b8b5;--md-sys-color-on-error:#601410;--md-sys-color-error-container:#8c1d18;--md-sys-color-on-error-container:#f9dedc;--md-sys-color-background:#141218;--md-sys-color-on-background:#e6e0e9;--md-sys-color-surface:#141218;--md-sys-color-on-surface:#e6e0e9;--md-sys-color-surface-variant:#49454f;--md-sys-color-on-surface-variant:#cac4d0;--md-sys-color-outline:#938f99;--md-sys-color-outline-variant:#49454f;--md-sys-color-surface-container-lowest:#0f0d13;--md-sys-color-surface-container-low:#1d1b20;--md-sys-color-surface-container:#211f26;--md-sys-color-surface-container-high:#2b2930;--md-sys-color-surface-container-highest:#36343b;--md-sys-color-red-team:#ffb4ab;--md-sys-color-on-red-team:#690005;--md-sys-color-red-team-container:#93000a;--md-sys-color-on-red-team-container:#ffdad6;--md-sys-color-blue-team:#a2c9ff;--md-sys-color-on-blue-team:#00315e;--md-sys-color-blue-team-container:#004786;--md-sys-color-on-blue-team-container:#d2e4ff;--md-sys-color-purple-l4:#f48fb1;--md-sys-color-on-purple-l4:#560027;--md-sys-color-purple-l4-container:#880e4f;--md-sys-color-on-purple-l4-container:#ffd1e8;--md-sys-color-yellow-point:#ffb958;--md-sys-color-on-yellow-point:#452b00;--md-sys-color-yellow-point-container:#633f00;--md-sys-color-on-yellow-point-container:#ffdda1;--shadow-card:0 4px 24px #0006, 0 1px 8px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;outline-color:var(--md-sys-color-primary)}html{scroll-behavior:smooth}body{background:var(--md-sys-color-background);color:var(--md-sys-color-on-background);font-family:var(--md-sys-typescale-font-plain);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}#root{min-height:100vh}button,a,input{font-family:inherit}button{cursor:pointer;text-align:center;vertical-align:middle;transition:all .2s var(--md-sys-motion-easing-emphasized);background:0 0;border:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}a{color:inherit;text-decoration:none}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle}.brand{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-on-background);align-items:center;gap:12px;font-size:20px;font-weight:700;display:inline-flex}.brand-mark{width:32px;height:32px;color:var(--md-sys-color-on-primary);background:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-medium);place-items:center;font-family:Georgia,serif;font-size:18px;font-weight:700;display:grid}.brand b{color:var(--md-sys-color-primary);font-weight:800}.site-header,.app-header{justify-content:space-between;align-items:center;max-width:1200px;height:72px;margin:auto;padding:0 24px;display:flex}.site-header nav,.app-header>div{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:20px;font-size:14px;display:flex}.site-header nav a{border-radius:var(--md-sys-shape-corner-full);padding:8px 12px;font-weight:500;transition:background .15s}.site-header nav a:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary)}.primary,.secondary,.tonal,.danger,.text-button{text-align:center;vertical-align:middle;box-sizing:border-box;justify-content:center;align-items:center;line-height:1;display:inline-flex}.primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--md-sys-shape-corner-full);height:44px;padding:0 24px;font-size:14px;font-weight:600;box-shadow:0 1px 3px #0000001a}.primary:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 92%, white);box-shadow:0 2px 6px #00000026}.primary:active{transform:scale(.97)}.primary:disabled{background:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);color:color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);box-shadow:none;cursor:not-allowed;transform:none}.secondary{border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-full);background:0 0;height:44px;padding:0 24px;font-size:14px;font-weight:600}.secondary:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)}.secondary:active{transform:scale(.97)}.secondary:disabled{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);color:color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);cursor:not-allowed;transform:none}.tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:var(--md-sys-shape-corner-full);height:44px;padding:0 24px;font-size:14px;font-weight:600}.tonal:hover{background:color-mix(in srgb, var(--md-sys-color-secondary-container) 92%, black)}.tonal:active{transform:scale(.97)}.danger{border:1px solid var(--md-sys-color-error);color:var(--md-sys-color-error);border-radius:var(--md-sys-shape-corner-full);height:44px;padding:0 24px;font-size:14px;font-weight:600}.danger:hover{background:color-mix(in srgb, var(--md-sys-color-error) 8%, transparent)}.danger.solid{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border:none}.danger.solid:hover{background:color-mix(in srgb, var(--md-sys-color-error) 92%, white)}.text-button{color:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-full);height:44px;padding:0 16px;font-size:14px;font-weight:600}.text-button:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)}.icon-button{border-radius:var(--md-sys-shape-corner-full);width:40px;height:40px;color:var(--md-sys-color-on-surface);background:0 0}.icon-button:hover{background:var(--md-sys-color-surface-container-high)}.full{width:100%;height:48px;margin-bottom:14px;font-size:15px;font-weight:700}.landing{background:radial-gradient(circle at 85% 15%, var(--md-sys-color-primary-container) 0%, transparent 40%), radial-gradient(circle at 15% 85%, var(--md-sys-color-secondary-container) 0%, transparent 35%), var(--md-sys-color-background);min-height:100vh}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:60px auto 100px;padding:0 24px;display:grid}.eyebrow{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-primary);font-family:var(--md-sys-typescale-font-brand);letter-spacing:.1em;background:var(--md-sys-color-surface-container-low);margin-bottom:20px;padding:6px 16px;font-size:12px;font-weight:600;display:inline-flex}.hero h1{font-family:var(--md-sys-typescale-font-brand);letter-spacing:-2px;color:var(--md-sys-color-on-background);margin:0 0 24px;font-size:clamp(38px,5.5vw,64px);font-weight:800;line-height:1.15}.hero h1 em{color:var(--md-sys-color-primary);font-style:normal;position:relative}.hero h1 em:after{content:"";background:color-mix(in srgb, var(--md-sys-color-primary) 20%, transparent);z-index:-1;border-radius:4px;width:100%;height:8px;position:absolute;bottom:4px;left:0}.hero p{color:var(--md-sys-color-on-surface-variant);max-width:500px;margin-bottom:32px;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.hero-actions .primary,.hero-actions .secondary{min-height:48px;padding:0 32px;font-size:15px}.timer-visual{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);width:100%;max-width:400px;box-shadow:var(--shadow-card);justify-self:center;padding:24px}.visual-nav{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.visual-nav i{background:var(--success);border-radius:50%;width:8px;height:8px;margin-left:auto}.visual-clock{border-radius:var(--md-sys-shape-corner-full);background:conic-gradient(var(--md-sys-color-primary) 0 75%, var(--md-sys-color-outline-variant) 75% 100%);place-items:center;width:220px;height:220px;margin:32px auto 20px;display:grid;position:relative;box-shadow:inset 0 2px 8px #0000000f}.visual-clock:before{content:"";border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-lowest);position:absolute;inset:12px}.visual-clock div{z-index:1;text-align:center}.visual-clock b{letter-spacing:-3px;color:var(--md-sys-color-on-background);font:500 48px DM Mono,monospace;display:block}.visual-clock small{color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:500}.timer-visual>p{text-align:center;color:var(--md-sys-color-on-surface-variant);margin:12px 0 24px;font-size:15px;font-weight:600}.timer-visual>button{border-radius:var(--md-sys-shape-corner-full);width:100%;height:48px;color:var(--md-sys-color-on-primary);background:var(--md-sys-color-primary);font-weight:600}.visual-marks{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);justify-content:space-between;margin-top:16px;padding:12px 16px;font-size:13px;display:flex}.features{background:var(--md-sys-color-surface-container-low);padding:100px 24px}.section-label{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:700}.feature-grid{grid-template-columns:repeat(3,1fr);gap:40px;max-width:1200px;margin-top:40px;margin-left:auto;margin-right:auto;display:grid}.feature{background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);padding:32px;transition:transform .2s,box-shadow .2s}.feature:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.feature>span{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-primary);font-size:14px;font-weight:700}.feature h3{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-on-background);margin:16px 0 12px;font-size:20px;font-weight:700}.feature p{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:14px;line-height:1.6}.workflow,.promo{justify-content:space-between;align-items:center;gap:60px;max-width:1200px;margin:auto;padding:100px 24px;display:flex}.workflow h2,.promo h2{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-on-background);margin:12px 0;font-size:36px;font-weight:800}.workflow ol{width:440px;max-width:100%;margin:0;padding:0;list-style:none}.workflow li{border-bottom:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-background);padding:20px 0;font-size:16px;font-weight:500}.workflow li span{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-primary);margin-right:20px;font-size:14px;font-weight:700}.promo{align-items:stretch}.promo-copy{flex-direction:column;flex:1;justify-content:center;display:flex}.promo-copy p:last-child{color:var(--md-sys-color-on-surface-variant);margin:16px 0 0;font-size:16px;line-height:1.6}.promo-card{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);width:100%;max-width:380px;box-shadow:var(--shadow-card);align-content:start;gap:20px;padding:32px;display:grid}.promo-card>div{border-bottom:1px solid var(--md-sys-color-outline-variant);padding-bottom:16px}.promo-card>div:last-of-type{border-bottom:0;padding-bottom:0}.promo-card span{color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.promo-card strong{color:var(--md-sys-color-on-background);font-size:18px;font-weight:700}.promo-card a.primary{min-height:48px;margin-top:12px;font-weight:600}footer{border-top:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:32px 24px;font-size:14px;display:flex}footer .text-button{font-weight:600}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell .app-header{border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);max-width:100%}.workspace{flex:1;grid-template-columns:240px 1fr;gap:24px;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:grid}.sidebar{flex-direction:column;align-self:start;gap:8px;display:flex;position:sticky;top:24px}.sidebar-item{border-radius:var(--md-sys-shape-corner-full);height:56px;color:var(--md-sys-color-on-surface-variant);justify-content:flex-start;gap:12px;padding:0 24px;font-size:14px;font-weight:600}.sidebar-item:hover{background:var(--md-sys-color-surface-container-high)}.sidebar-item.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.sidebar-item .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24}.sidebar-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 600, "GRAD" 0, "opsz" 24}.workspace-main{width:100%;max-width:860px;margin:0 auto}.bottom-nav{z-index:10;height:80px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--md-sys-color-surface-container);border-top:1px solid var(--md-sys-color-outline-variant);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav>button{height:100%;color:var(--md-sys-color-on-surface-variant);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.bottom-nav .material-symbols-outlined{border-radius:var(--md-sys-shape-corner-full);padding:4px 20px;transition:all .2s}.bottom-nav .active{color:var(--md-sys-color-on-surface);font-weight:700}.bottom-nav .active .material-symbols-outlined{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-variation-settings:"FILL" 1}.timer-card,.marks-card,.score-panel,.share-card,.history-card,.record-editor,.empty-state,.auth-card{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--shadow-card);padding:24px}.timer-layout{grid-template-columns:1.3fr .7fr;gap:16px;display:grid}.timer-card{flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:40px;display:flex}.timer-card h2{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-on-background);margin:24px 0 20px;font-size:22px;font-weight:700}.ring{--progress:100%;aspect-ratio:1;border-radius:var(--md-sys-shape-corner-full);background:conic-gradient(var(--md-sys-color-primary) var(--progress), var(--md-sys-color-outline-variant) 0);place-items:center;width:min(58vw,260px);display:grid;position:relative;box-shadow:0 4px 20px #0000000d}.ring:before{content:"";background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-full);position:absolute;inset:12px}.ring>div{z-index:1;text-align:center}.ring strong{letter-spacing:-3px;color:var(--md-sys-color-on-background);font-family:DM Mono,monospace;font-size:clamp(48px,6vw,64px);font-weight:500;line-height:1;display:block}.ring small{color:var(--md-sys-color-on-surface-variant);margin-top:4px;font-size:14px;font-weight:700;display:inline-block}.timer-actions{gap:12px;width:100%;max-width:320px;display:flex}.timer-actions button{flex:1;min-height:48px}.timer-actions button .material-symbols-outlined{margin-right:6px}.marks-card{flex-direction:column;display:flex}.card-title{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.card-title h3{font-family:var(--md-sys-typescale-font-brand);margin:0;font-size:16px;font-weight:700}.clear-marks-btn{color:var(--md-sys-color-error);gap:4px;padding:6px 12px;font-size:13px;font-weight:600}.clear-marks-btn:hover{background:color-mix(in srgb, var(--md-sys-color-error) 8%, transparent)}.marks{max-height:380px;margin:0;padding:0;list-style:none;overflow-y:auto}.marks li{border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;font-size:14px;display:flex}.marks b{color:var(--md-sys-color-primary);font-family:DM Mono,monospace;font-size:15px}.empty{color:var(--md-sys-color-on-surface-variant);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 0;display:flex}.empty .material-symbols-outlined{opacity:.5;margin-bottom:12px;font-size:48px}.empty p{margin:0;font-size:14px}.inline-note{color:var(--md-sys-color-on-surface-variant);margin-top:16px;font-size:12px}.score-page{gap:20px;display:grid}.score-top{justify-content:space-between;align-items:center;display:flex}.score-top h1{font-family:var(--md-sys-typescale-font-brand);margin:4px 0 0;font-size:28px;font-weight:800}.score-summary{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.score-value{text-align:center;border-right:1px solid var(--md-sys-color-outline-variant);padding:16px}.score-value:last-child{border-right:0}.score-value span{color:var(--md-sys-color-on-surface-variant);font-size:12px;font-weight:700;display:block}.score-value strong{font-family:DM Mono,monospace;font-size:32px;font-weight:500}.score-value.red{color:var(--md-sys-color-red-team);background:color-mix(in srgb, var(--md-sys-color-red-team) 5%, transparent)}.score-value.blue{color:var(--md-sys-color-blue-team);background:color-mix(in srgb, var(--md-sys-color-blue-team) 5%, transparent)}.score-value.purple{color:var(--md-sys-color-purple-l4);background:color-mix(in srgb, var(--md-sys-color-purple-l4) 5%, transparent)}.score-layout{grid-template-columns:repeat(2,1fr);align-items:start;gap:16px;display:grid}.score-panel{padding:24px}.score-panel h2{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-on-background);margin:0 0 16px;font-size:18px;font-weight:700}.score-panel.red{border:1px solid color-mix(in srgb, var(--md-sys-color-red-team) 30%, var(--md-sys-color-outline-variant))}.score-panel.red h2{color:var(--md-sys-color-red-team)}.score-panel.blue{border:1px solid color-mix(in srgb, var(--md-sys-color-blue-team) 30%, var(--md-sys-color-outline-variant))}.score-panel.blue h2{color:var(--md-sys-color-blue-team)}.score-panel.shared{grid-column:span 2}.counter{border-top:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.counter-controls{align-items:center;gap:12px;display:flex}.counter-controls button{border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-high);width:32px;height:32px;color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant)}.counter-controls button:hover{background:var(--md-sys-color-surface-container-highest)}.counter-controls button .material-symbols-outlined{font-size:18px}.counter-controls b{text-align:center;width:24px;color:var(--md-sys-color-on-surface);font-family:DM Mono,monospace;font-size:16px}.field{flex-direction:column;gap:6px;width:100%;margin:16px 0;display:flex}.field span{color:var(--md-sys-color-primary);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.field input{border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-container-lowest);height:48px;color:var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-small);padding:0 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary);border-width:2px;outline:none}.password-field{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.password-field input{width:100%}.password-field button{height:48px}.mark-editor{margin:20px 0}.mark-add{grid-template-columns:1.2fr 2fr auto;gap:12px;margin:12px 0;display:grid}.mark-add input{border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-container-lowest);height:40px;color:var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-small);padding:0 12px;font-size:14px}.mark-add input:focus{border-color:var(--md-sys-color-primary);outline:none}.score-note{color:var(--md-sys-color-on-surface-variant);margin-top:12px;font-size:13px}.history-page{gap:16px;display:grid}.history-top{justify-content:space-between;align-items:center;display:flex}.history-top h1{font-family:var(--md-sys-typescale-font-brand);margin:4px 0 0;font-size:28px;font-weight:800}.history-actions{align-items:center;gap:10px;display:flex}.multi-select-bar{border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.multi-select-bar strong{font-size:15px;font-weight:700}.history-list{gap:12px;display:grid}.history-card{cursor:pointer;background:var(--md-sys-color-surface-container-low);transition:all .2s var(--md-sys-motion-easing-emphasized);padding:18px 24px}.history-card:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline);transform:translateY(-2px)}.history-card.selectable:hover{transform:none}.history-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-card-title{flex:1;align-items:flex-start;gap:12px;display:flex}.history-card-meta{align-items:center;gap:8px;display:flex}.pill{border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-high);height:24px;color:var(--md-sys-color-on-surface-variant);align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.history-score-badge{border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-primary-container);height:24px;color:var(--md-sys-color-on-primary-container);align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.history-card-top h3{font-family:var(--md-sys-typescale-font-brand);margin:8px 0 4px;font-size:18px;font-weight:700}.history-card-top p{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:13px}.history-card-icon-actions{gap:6px;display:flex}.history-card-icon-actions .icon-button{width:36px;height:36px;color:var(--md-sys-color-on-surface-variant)}.history-card-icon-actions .icon-button:hover{color:var(--md-sys-color-primary)}.history-card-icon-actions .danger-icon:hover{color:var(--md-sys-color-error);background:color-mix(in srgb, var(--md-sys-color-error) 8%, transparent)}.select-dot{width:24px;height:24px;color:var(--md-sys-color-outline);place-items:center;margin-top:4px;display:grid}.select-dot.on{color:var(--md-sys-color-primary)}.history-breakdown{border-top:1px solid var(--md-sys-color-outline-variant);text-align:center;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;padding-top:16px;display:grid}.history-breakdown.two{grid-template-columns:1fr 1fr}.history-breakdown span{color:var(--md-sys-color-on-surface-variant);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.history-breakdown b{font-family:DM Mono,monospace;font-size:16px;font-weight:800}.history-breakdown .red b{color:var(--md-sys-color-red-team)}.history-breakdown .blue b{color:var(--md-sys-color-blue-team)}.history-breakdown .purple b{color:var(--md-sys-color-purple-l4)}.history-edit-hint{justify-content:flex-end;align-items:center;gap:4px;width:100%;margin-top:12px;font-size:13px;font-weight:500;display:flex}.history-card.selected{background:color-mix(in srgb, var(--md-sys-color-primary-container) 35%, var(--md-sys-color-surface-container-low));border-color:var(--md-sys-color-primary)}.v5-grid-row{border-top:1px solid var(--md-sys-color-outline-variant);grid-template-columns:60px repeat(3,1fr);align-items:center;gap:8px;padding:10px 0;display:grid}.v5-grid-row>span{color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:700}.check-row{border-top:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);cursor:pointer;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-extra-small)}.score-panel .subhead{font-family:var(--md-sys-typescale-font-brand);margin-top:24px;font-size:16px;font-weight:700}.record-editor-head{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;display:flex}.record-editor-head h1{font-family:var(--md-sys-typescale-font-brand);margin:6px 0 4px;font-size:24px;font-weight:800}.score-summary.two-col{grid-template-columns:1fr 1fr}.record-editor-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.auth-page{background:radial-gradient(circle at 50% 0%, var(--md-sys-color-primary-container) 0%, transparent 60%), var(--md-sys-color-background);min-height:100vh}.auth-header{height:72px}.auth-header-actions{align-items:center;gap:12px;display:flex}.auth-panel{justify-items:center;gap:24px;max-width:440px;margin:40px auto 100px;padding:0 24px;display:grid}.auth-brand-block{text-align:center}.auth-logo{background:var(--md-sys-color-primary);width:64px;height:64px;color:var(--md-sys-color-on-primary);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:0 8px 16px color-mix(in srgb, var(--md-sys-color-primary) 30%, transparent);place-items:center;margin:0 auto 16px;font-family:Georgia,serif;font-size:32px;font-weight:700;display:grid}.auth-brand-block h1{font-family:var(--md-sys-typescale-font-brand);letter-spacing:.05em;margin:0;font-size:24px;font-weight:800}.auth-brand-block p{color:var(--md-sys-color-on-surface-variant);margin:4px 0 0;font-size:14px}.auth-card{width:100%}.auth-card h2{font-family:var(--md-sys-typescale-font-brand);margin:0 0 20px;font-size:20px;font-weight:700}.auth-tabs{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-full);grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px;padding:4px;display:grid}.auth-tabs button{border-radius:var(--md-sys-shape-corner-full);height:36px;color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:600}.auth-tabs button:hover{background:var(--md-sys-color-surface-container-high)}.auth-tabs .active{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-primary);box-shadow:0 1px 3px #00000014}.turnstile-box{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);margin:16px 0;padding:16px}.turnstile-label{color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;justify-content:space-between;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.turnstile-target{justify-content:center;min-height:65px;display:flex}.pow-progress{width:100%;margin:12px 0}.pow-bar{background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full);height:6px;overflow:hidden}.pow-bar i{background:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-full);height:100%;transition:width .2s;display:block}.pow-progress p{color:var(--md-sys-color-on-surface-variant);text-align:center;margin:6px 0 0;font-size:12px}.auth-config-hint{color:var(--md-sys-color-on-surface-variant);text-align:center;margin:16px 0 8px;font-size:11px}.guest-skip{text-align:center;width:100%;margin-top:12px;font-size:13px;font-weight:600}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);width:100%;max-width:360px;animation:modal-enter .3s var(--md-sys-motion-easing-emphasized);padding:24px;box-shadow:0 24px 48px #0003}.modal-card h3{font-family:var(--md-sys-typescale-font-brand);color:var(--md-sys-color-on-surface);margin:0 0 12px;font-size:20px;font-weight:700}.modal-card p{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:14px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.modal-actions button{min-height:36px}.modal-actions button .material-symbols-outlined{margin-right:4px;font-size:18px}@keyframes modal-enter{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.share-page{background:radial-gradient(circle at 50% 0%, var(--md-sys-color-primary-container) 0%, transparent 70%), var(--md-sys-color-background);min-height:100vh}.share-wrap{place-items:center;padding:40px 24px;display:grid}.share-card{text-align:center;width:100%;max-width:440px}.share-card h1{font-family:var(--md-sys-typescale-font-brand);margin:12px 0 8px;font-size:24px;font-weight:800}.share-remark{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:15px}.share-card time{color:var(--md-sys-color-on-surface-variant);margin:6px 0 20px;font-size:12px;display:block}.share-card hr{border:0;border-top:1px solid var(--md-sys-color-outline-variant);margin:20px 0}.total{background:linear-gradient(135deg, var(--md-sys-color-primary-container) 0%, var(--md-sys-color-secondary-container) 100%);border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);padding:24px}.total span{color:var(--md-sys-color-on-primary-container);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:13px;font-weight:700;display:block}.total strong{color:var(--md-sys-color-on-primary-container);font-family:DM Mono,monospace;font-size:48px;font-weight:500}.share-scores{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.share-scores.two{grid-template-columns:1fr 1fr}.share-scores>div{border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);padding:12px}.share-scores>div span{color:var(--md-sys-color-on-surface-variant);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.share-scores b{font-family:DM Mono,monospace;font-size:24px;font-weight:700}.share-scores.two b{font-size:28px}.share-scores .red{color:var(--md-sys-color-red-team);border-color:color-mix(in srgb, var(--md-sys-color-red-team) 20%, var(--md-sys-color-outline-variant))}.share-scores .blue{color:var(--md-sys-color-blue-team);border-color:color-mix(in srgb, var(--md-sys-color-blue-team) 20%, var(--md-sys-color-outline-variant))}.share-scores .purple{color:var(--md-sys-color-purple-l4);border-color:color-mix(in srgb, var(--md-sys-color-purple-l4) 20%, var(--md-sys-color-outline-variant))}.share-card .primary.full{min-height:48px;margin-top:16px;font-weight:600}.loading{text-align:center;color:var(--md-sys-color-on-surface-variant);padding:24px;font-size:14px}.loading span{background:var(--md-sys-color-primary);border-radius:50%;width:8px;height:8px;margin-left:6px;animation:1s infinite pulse;display:inline-block}.inline-banner{border-radius:var(--md-sys-shape-corner-medium);max-width:1200px;margin:16px auto 0;padding:12px 20px;font-size:14px;font-weight:500}.inline-banner.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:1px solid var(--md-sys-color-error)}.success-text{color:var(--success)!important}.error-text{color:var(--md-sys-color-error)!important}@keyframes pulse{50%{opacity:.3;transform:scale(.7)}}@media (width<=960px){.workspace{grid-template-columns:1fr;padding:16px 16px 100px}.sidebar{display:none}.bottom-nav{display:flex}.timer-layout{grid-template-columns:1fr}.hero{grid-template-columns:1fr;gap:40px;margin:40px auto 60px}.hero h1{letter-spacing:-1px;font-size:42px}.feature-grid{grid-template-columns:1fr;gap:24px}.workflow,.promo{flex-direction:column;gap:32px;padding:60px 24px}.workflow ol{width:100%}.promo-card{max-width:100%}}@media (width<=600px){.site-header,.app-header{padding:0 16px}.site-header nav a{display:none}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions button,.hero-actions a{width:100%}.score-layout{grid-template-columns:1fr}.score-panel.shared{grid-column:auto}.score-summary{grid-template-columns:repeat(3,1fr)}.score-value strong{font-size:24px}.v5-grid-row{grid-template-columns:1fr;gap:4px}.mark-add{grid-template-columns:1fr}.history-top,.score-top,.record-editor-head,.record-editor-actions{flex-direction:column;align-items:stretch;gap:12px}.history-actions,.history-actions button{width:100%}.multi-select-bar{text-align:center;flex-direction:column;align-items:stretch;gap:12px}}
