@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=DM+Mono:wght@400;500&display=swap";:root{--primary: #E85D2A;--primary-dark: #C44B1C;--primary-light: rgba(232, 93, 42, .08);--primary-glow: rgba(232, 93, 42, .14);--primary-alpha40: rgba(232, 93, 42, .4);--success: #1DB954;--success-light: rgba(29, 185, 84, .1);--warning: #F5A623;--warning-light: rgba(245, 166, 35, .1);--danger: #E53935;--danger-light: rgba(229, 57, 53, .1);--text: #1A1D23;--text-secondary: #8A8880;--text-tertiary: #B0ADA6;--bg: #FAFAF8;--surface: #FFFFFF;--surface-soft: #F3F3F0;--surface-hover: #EAEAE6;--sidebar-bg: #1A1D23;--sidebar-surface: rgba(255, 255, 255, .06);--sidebar-hover: rgba(255, 255, 255, .1);--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-strong: #FFFFFF;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-active-bg: rgba(232, 93, 42, .15);--border: #E5E4E0;--border-strong: #D4D3CD;--overlay: rgba(26, 29, 35, .6);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08);--shadow-dropdown: 0 12px 32px rgba(0, 0, 0, .12), 0 2px 6px rgba(0, 0, 0, .04);--shadow-modal: 0 24px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .06);--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-xxl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 10px;--radius-full: 9999px;--text-display: 36px;--text-h1: 26px;--text-h2: 19px;--text-h3: 16px;--text-body: 15px;--text-secondary-size: 14px;--text-caption: 12px;--text-overline: 11px;--text-micro: 10px;--text-button: 14px;--tag-slate: #64748B;--tag-blue: #3B82F6;--tag-emerald: #10B981;--tag-amber: #F59E0B;--tag-rose: #F43F5E;--tag-violet: #8B5CF6;--tag-cyan: #06B6D4;--tag-orange: #F97316;--tag-lime: #84CC16;--tag-fuchsia: #D946EF;--event-practice: #3B82F6;--event-game: #1DB954;--event-other: #64748B}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-body);line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11" 1}h1,h2,h3,p{margin:0}h1{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-h1);font-weight:600;letter-spacing:-.03em;line-height:1.1}h2{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-h2);font-weight:600;letter-spacing:-.02em;line-height:1.2}h3{font-family:DM Sans,sans-serif;font-size:var(--text-h3);font-weight:600;letter-spacing:-.01em;line-height:1.26}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app{width:100%;min-height:100vh}.centered{display:grid;place-items:center;padding:var(--sp-lg)}.muted{color:var(--text-secondary)}.muted.small,.text-caption{font-size:var(--text-caption)}.error{color:var(--danger);font-weight:500;font-size:var(--text-secondary-size)}.ok{color:var(--success);font-weight:600}.overline{font-family:DM Mono,monospace;font-size:var(--text-overline);font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary)}.mono{font-family:DM Mono,SF Mono,monospace}.stack{display:grid;gap:var(--sp-md)}.text-caption{font-size:var(--text-caption)}label,.field-group{display:grid;gap:6px;font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}input,select,textarea{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:44px;padding:10px 14px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}@media(max-width:600px){input,textarea,select{font-size:16px!important}}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}select.sm{background-position:right 10px center;padding-right:32px;padding-left:12px;min-height:36px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--text-tertiary);font-weight:400}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}input.sm,select.sm,textarea.sm{min-height:36px;padding:6px 12px;font-size:14px}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:var(--sp-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;min-height:unset;padding:0;accent-color:var(--primary)}button{font-family:DM Sans,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-sm);border:none;background:none;color:inherit;border-radius:var(--radius-md);padding:0;cursor:pointer;font-size:inherit;font-weight:500;white-space:nowrap;letter-spacing:.02em;transition:all .14s ease}button[type=submit],.btn-primary{background:var(--primary);color:#fff;min-height:44px;padding:10px 24px;font-size:15px}button[type=submit]:hover,.btn-primary:hover{background:var(--primary-dark)}button:active{transform:none;box-shadow:none}button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}button.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text);min-height:44px;padding:10px 24px;font-size:15px}button.ghost:hover{background:var(--surface-soft);transform:none;box-shadow:none}button.secondary{background:transparent;border:1px solid var(--primary);color:var(--primary);min-height:44px;padding:10px 24px;font-size:15px}button.secondary:hover{background:var(--primary-light);transform:none;box-shadow:none}button.destructive{background:var(--danger-light);color:var(--danger);min-height:44px;padding:10px 24px;font-size:15px}button.destructive:hover{background:var(--danger);color:#fff;transform:none;box-shadow:none}button.sm{background:var(--primary);color:#fff;min-height:34px;padding:6px 16px;font-size:13px}button.sm:hover{background:var(--primary-dark)}button.ghost.sm{background:transparent;border:1px solid var(--border-strong);color:var(--text);min-height:34px;padding:6px 16px;font-size:13px}button.ghost.sm:hover{background:var(--surface-soft)}button.secondary.sm{background:transparent;border:1px solid var(--primary);color:var(--primary);min-height:34px;padding:6px 16px;font-size:13px}button.secondary.sm:hover{background:var(--primary-light)}button.destructive.sm{background:var(--danger-light);color:var(--danger);min-height:34px;padding:6px 16px;font-size:13px}button.destructive.sm:hover{background:var(--danger);color:#fff}button.xs{min-height:26px;padding:3px 10px;font-size:var(--text-caption)}.button-row{display:flex;gap:var(--sp-sm);align-items:center}a.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:var(--radius-md);min-height:44px;padding:10px 24px;font-family:DM Sans,sans-serif;font-weight:500;font-size:15px;letter-spacing:.02em;text-decoration:none;transition:all .14s ease}a.btn:hover{background:var(--primary-dark);text-decoration:none;transform:none;box-shadow:none}a.btn.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text)}a.btn.ghost:hover{background:var(--surface-soft);transform:none;box-shadow:none}.panel,.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);box-shadow:none;border:1px solid var(--border)}.card:hover{box-shadow:var(--shadow-card-hover)}.card.interactive{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.card.interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.panel>*+*{margin-top:var(--sp-md)}.panel>.section-heading{margin-top:0}.panel>.section-heading+*{margin-top:var(--sp-sm)}.pill{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:3px 10px;font-family:DM Sans,sans-serif;font-size:var(--text-overline);font-weight:500;line-height:1.4;white-space:nowrap;letter-spacing:.02em}.pill-practice{background:#3b82f61f;color:#2563eb}.pill-game{background:#1db9541f;color:#15803d}.pill-other{background:#64748b1f;color:#475569}.pill-head_coach{background:#3b82f61f;color:#2563eb}.pill-assistant_coach{background:#06b6d41f;color:#0e7490}.pill-manager{background:#8b5cf61f;color:#7c3aed}.pill-player{background:var(--surface-soft);color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);padding:2px 8px;font-family:DM Mono,SF Mono,monospace;font-size:var(--text-micro);font-weight:700;letter-spacing:.03em}.badge-captain{background:#fef3c7;color:#a16207}.badge-admin{background:#ede9fe;color:#6d28d9}.badge-beta{background:#ede9fe;color:#7c3aed;vertical-align:middle}@keyframes card-enter{0%{opacity:0}to{opacity:1}}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--text-secondary-size)}th,td{text-align:left;padding:12px var(--sp-sm);border-bottom:1px solid var(--border)}th{font-family:DM Mono,monospace;font-size:var(--text-overline);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap}tr.clickable{cursor:pointer;transition:background .1s ease}tr.clickable:hover td{background:var(--surface-soft)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.section-heading h3{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-secondary-size);font-weight:600;padding-bottom:var(--sp-xs);border-bottom:2px solid var(--primary);display:inline-block;letter-spacing:-.01em}.section-count{font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);color:var(--text-tertiary);font-weight:500}.list{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-sm)}.list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-sm)}.list li:hover{border-color:var(--border-strong)}.landing-page{min-height:100vh;background:#fff;animation:fade-in .3s ease both}.landing-content{position:relative;z-index:1}.landing-body{background:#fff}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;max-width:1200px;margin:0 auto;position:relative}.landing-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.landing-logo:hover{text-decoration:none}.landing-logo-icon{width:34px;height:34px;border-radius:8px;background:var(--primary);display:flex;align-items:center;justify-content:center}.landing-logo-icon span{font-family:DM Mono,monospace;font-weight:500;font-size:11px;color:#fff;letter-spacing:-.5px}.landing-logo-text{font-family:DM Sans,sans-serif;font-weight:700;font-size:17px;color:var(--text);letter-spacing:-.2px}.landing-logo-text span{color:var(--primary)}.landing-logo-dark .landing-logo-icon{background:var(--sidebar-bg)}.landing-logo-dark .landing-logo-text{color:var(--text)}.landing-nav-right{display:flex;gap:28px;align-items:center}.landing-nav-link{font-family:DM Sans,sans-serif;font-weight:500;font-size:14px;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.landing-nav-link:hover{color:var(--text);text-decoration:none}.lp-login-link{font-family:DM Sans,sans-serif;font-weight:600;font-size:14px;color:var(--text);text-decoration:none;padding:8px 20px;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);transition:all .15s ease}.lp-login-link:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);text-decoration:none}.landing-nav-light .landing-nav-link{color:var(--text-secondary)}.landing-nav-light .landing-nav-link:hover{color:var(--text)}.landing-signin-btn-light{font-family:DM Sans,sans-serif;font-weight:600;font-size:14px;padding:8px 20px;border-radius:8px;background:var(--sidebar-bg);color:#fff;text-decoration:none;transition:opacity .15s ease;border:none}.landing-signin-btn-light:hover{opacity:.85;color:#fff;text-decoration:none}.lp-btn-primary{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-weight:700;font-size:16px;padding:16px 36px;border-radius:10px;border:none;background:var(--primary);color:#fff;text-decoration:none;letter-spacing:-.2px;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 20px #e85d2a59}.lp-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 28px #e85d2a73;color:#fff;text-decoration:none}.lp-btn-lg{font-size:17px;padding:18px 44px}.lp-btn-dark{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-weight:700;font-size:16px;padding:16px 36px;border-radius:var(--radius-md);border:none;background:var(--primary);color:#fff;text-decoration:none;letter-spacing:-.2px;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 20px #e85d2a59}.lp-btn-dark:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 28px #e85d2a73;color:#fff;text-decoration:none}.lp-btn-outline{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-weight:600;font-size:16px;padding:15px 36px;background:transparent;color:var(--text);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-decoration:none;letter-spacing:-.2px}.lp-btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:translateY(-1px);text-decoration:none}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-fade-up{opacity:0;animation:heroFadeUp .5s ease-out forwards;animation-delay:var(--delay, 0ms)}@keyframes lpFadeUp{to{opacity:1;transform:translateY(0)}}.lp-hero-fade-up{opacity:0;transform:translateY(24px);animation:lpFadeUp .8s cubic-bezier(.16,1,.3,1) forwards}.lp-hero-fade-up:nth-child(1){animation-delay:0s}.lp-hero-fade-up:nth-child(2){animation-delay:.1s}.lp-hero-fade-up:nth-child(3){animation-delay:.2s}.lp-hero-fade-up:nth-child(4){animation-delay:.3s}.lp-hero-fade-up:nth-child(5){animation-delay:.4s}.lp-hero-fade-up:nth-child(6){animation-delay:.5s}@media(prefers-reduced-motion:reduce){.lp-hero-fade-up{opacity:1;transform:none;animation:none}}.lp-reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.lp-revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.lp-reveal{opacity:1;transform:none;transition:none}}.lp-hero-wrap{background:var(--bg);position:relative;overflow:hidden}.lp-hero-wrap:before{content:"";position:absolute;bottom:-20%;left:50%;width:120%;height:60%;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(232,93,42,.06) 0%,transparent 70%);pointer-events:none}.lp-hero{max-width:1200px;margin:0 auto;padding:80px 48px 64px;display:flex;flex-direction:column;align-items:center;text-align:center}.lp-hero h1{font-family:DM Sans,sans-serif;font-weight:800;font-size:72px;line-height:1.04;letter-spacing:-3px;color:var(--text);margin-bottom:24px;max-width:900px}.lp-hero-sub{font-family:DM Sans,sans-serif;font-weight:400;font-size:20px;line-height:1.6;color:var(--text-secondary);max-width:520px;margin-bottom:36px}.lp-hero-ctas{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.lp-hero-micro{font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;color:var(--text-secondary);letter-spacing:.2px;text-align:center}.lp-hero-mockup{max-width:700px;width:100%;margin:48px auto 0;border-radius:14px;overflow:hidden;background:var(--sidebar-bg);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 80px #00000040,0 0 0 1px #ffffff0a}.lp-mockup-bar{display:flex;align-items:center;gap:7px;padding:14px 18px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.lp-mockup-dot{width:9px;height:9px;border-radius:50%;background:#ffffff1f}.lp-mockup-title{font-family:DM Sans,sans-serif;font-weight:600;font-size:13px;color:#fff9;margin-left:8px}.lp-mockup-body{padding:12px;display:flex;flex-direction:column;gap:6px}.lp-mockup-block{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--radius-md);border-left:3px solid}.lp-block-left{display:flex;flex-direction:column;gap:2px;min-width:0}.lp-block-name{font-family:DM Sans,sans-serif;font-weight:600;font-size:13px;color:#ffffffe0}.lp-block-detail{font-family:DM Sans,sans-serif;font-weight:400;font-size:11px;color:#ffffff4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-block-dur{font-family:DM Mono,monospace;font-weight:500;font-size:12px;color:#fff6;flex-shrink:0;margin-left:16px}.lp-block-warmup{background:#e85d2a14;border-color:var(--primary)}.lp-block-drill{background:#3b82f614;border-color:#3b82f6}.lp-block-film{background:#8b5cf614;border-color:#8b5cf6}.lp-block-scrimmage{background:#1db95414;border-color:#1db954}.lp-block-condition{background:#f5a62314;border-color:#f5a623}.lp-mockup-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid rgba(255,255,255,.06);font-family:DM Mono,monospace;font-size:11px;color:#ffffff4d}.lp-mockup-shared{color:var(--primary);font-family:DM Sans,sans-serif;font-weight:500;font-size:12px}.lp-waitlist-form{display:flex;flex-direction:column;gap:10px;max-width:420px}.lp-waitlist-label{font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;color:#00000073;letter-spacing:.3px;text-align:left}.lp-waitlist-input{font-family:DM Sans,sans-serif;font-size:15px;padding:12px 16px;border-radius:10px;border:1.5px solid rgba(0,0,0,.12);background:#0000000a;color:var(--text);outline:none;transition:border-color .2s}.lp-waitlist-input::placeholder{color:#00000059}.lp-waitlist-input:focus{border-color:var(--primary)}.lp-waitlist-textarea{font-family:DM Sans,sans-serif;font-size:14px;padding:10px 16px;border-radius:10px;border:1.5px solid rgba(0,0,0,.12);background:#0000000a;color:var(--text);outline:none;resize:vertical;min-height:48px;transition:border-color .2s}.lp-waitlist-textarea::placeholder{color:#0000004d}.lp-waitlist-textarea:focus{border-color:var(--primary)}.lp-waitlist-success{font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;color:var(--primary)}.lp-features-dark .lp-waitlist-form{margin:0 auto}.lp-features-dark .lp-waitlist-input,.lp-features-dark .lp-waitlist-textarea{background:#ffffff14;border-color:#ffffff26;color:#fff}.lp-features-dark .lp-waitlist-label{color:#ffffff8c}.lp-features-dark .lp-waitlist-input::placeholder,.lp-features-dark .lp-waitlist-textarea::placeholder{color:#ffffff59}.lp-features-dark .lp-waitlist-input:focus,.lp-features-dark .lp-waitlist-textarea:focus{border-color:var(--primary)}.lp-features-dark .lp-waitlist-success{color:#4ade80}.lp-final-cta .lp-waitlist-form{margin:0 auto}.lp-final-cta .lp-waitlist-input,.lp-final-cta .lp-waitlist-textarea{background:#0000000a;border-color:#0000001f;color:var(--text)}.lp-final-cta .lp-waitlist-label{color:#00000073}.lp-final-cta .lp-waitlist-input::placeholder,.lp-final-cta .lp-waitlist-textarea::placeholder{color:#00000059}.lp-final-cta .lp-waitlist-input:focus,.lp-final-cta .lp-waitlist-textarea:focus{border-color:var(--primary)}.lp-final-cta .lp-waitlist-success{color:var(--primary)}.lp-proof-bar{background:var(--surface-soft);padding:20px 48px}.lp-proof-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:32px}.lp-proof-label{font-family:DM Sans,sans-serif;font-weight:500;font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap}.lp-proof-logos{display:flex;align-items:center;gap:24px}.lp-proof-logo{font-family:DM Sans,sans-serif;font-weight:700;font-size:14px;color:var(--text-secondary);letter-spacing:-.3px;opacity:.5}.lp-proof-divider{width:1px;height:16px;background:var(--border)}.lp-features-dark{background:var(--sidebar-bg);padding:120px 48px}.lp-section-header{text-align:center;margin-bottom:64px}.lp-section-label{font-family:DM Mono,monospace;font-size:var(--text-overline);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--primary);margin-bottom:16px}.lp-section-title{font-size:48px;font-weight:800;letter-spacing:-2px;color:#fff;margin-bottom:16px}.lp-section-subtitle{font-size:18px;color:#ffffff80;max-width:540px;margin:0 auto}.lp-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1100px;margin:0 auto}.lp-card-grid-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:24px auto 0}.lp-feature-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:40px;transition:all .2s ease}.lp-feature-card:hover{background:#ffffff12;border-color:#ffffff1f}.lp-feature-card-label{font-family:DM Mono,monospace;font-size:var(--text-overline);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--primary);margin-bottom:12px}.lp-feature-card-title{font-size:28px;font-weight:700;color:#fff;margin-bottom:12px;letter-spacing:-.5px}.lp-feature-card-desc{font-size:16px;color:#ffffff80;line-height:1.6;margin-bottom:24px}.lp-feature-card-compact{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:32px;transition:all .2s ease}.lp-feature-card-compact:hover{background:#ffffff12;border-color:#ffffff1f}.lp-feature-card-icon{font-size:32px;margin-bottom:16px}.lp-feature-mockup{margin-top:8px;border-radius:var(--radius-md);overflow:hidden;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.lp-steps-section{padding:120px 24px;background:var(--surface)}.lp-steps-container{display:flex;gap:64px;max-width:1100px;margin:0 auto;justify-content:center}.lp-step{text-align:center;flex:1;max-width:300px}.lp-step-number{font-family:DM Mono,monospace;font-size:64px;font-weight:500;color:var(--border);margin-bottom:16px;line-height:1}.lp-step-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:8px}.lp-step-desc{font-size:16px;color:var(--text-secondary);line-height:1.5}.lp-quote-section{max-width:1200px;margin:0 auto;padding:48px 48px 96px}.lp-quote-inner{background:var(--sidebar-bg);border-radius:14px;padding:56px 64px;position:relative;overflow:hidden;max-width:960px;margin:0 auto}.lp-quote-inner:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary)}.lp-quote-inner:after{content:"";position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px;pointer-events:none}.lp-quote{font-family:DM Sans,sans-serif;font-weight:500;font-size:24px;color:#ffffffd9;line-height:1.6;letter-spacing:-.3px;margin-bottom:32px;max-width:800px;position:relative;z-index:1}.lp-quote-attr{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.lp-quote-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#F5A623);flex-shrink:0}.lp-quote-name{font-family:DM Sans,sans-serif;font-weight:600;font-size:15px;color:#fff;display:block}.lp-quote-role{font-family:DM Sans,sans-serif;font-size:13px;color:#fff6;display:block}.lp-final-cta{padding:120px 24px;text-align:center;background:var(--bg)}.lp-final-cta h2{font-family:DM Sans,sans-serif;font-size:56px;font-weight:800;letter-spacing:-2px;color:var(--text);margin-bottom:24px;max-width:700px;margin-left:auto;margin-right:auto}.lp-final-cta p{font-size:18px;color:var(--text-secondary);margin-bottom:40px}.lp-final-cta-inner{max-width:700px;margin:0 auto}.lp-final-cta-title{font-family:DM Sans,sans-serif;font-weight:800;font-size:56px;color:#0f1117;line-height:1.1;letter-spacing:-2px;margin-bottom:24px}.lp-final-cta-sub{font-family:DM Sans,sans-serif;font-weight:400;font-size:18px;color:var(--text-secondary);margin-bottom:40px;line-height:1.5}.landing-footer{border-top:1px solid var(--border);max-width:1200px;margin:0 auto;padding:40px 48px}.landing-footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.landing-footer-links{display:flex;gap:28px}.landing-footer-links a{font-family:DM Sans,sans-serif;font-weight:400;font-size:13px;color:var(--text-secondary);text-decoration:none}.landing-footer-links a:hover{color:var(--text)}.landing-footer-copy{font-family:DM Mono,monospace;font-size:11px;color:var(--text-tertiary);letter-spacing:.5px}.signin-hero-section{padding-bottom:56px}.signin-hero{text-align:center;padding:40px 24px 0;max-width:520px;margin:0 auto}.lp-signin-h1{font-family:DM Sans,sans-serif;font-weight:800;font-size:44px;color:#fff;letter-spacing:-1.5px;line-height:1.1}.lp-signin-h1 .headline-accent{color:var(--primary);font-style:italic}.signin-hero .lp-eyebrow{font-family:DM Sans,sans-serif;font-weight:500;font-size:13px;letter-spacing:3px;color:var(--primary);text-transform:uppercase;margin-bottom:16px}.landing-form-wrap{max-width:420px;margin:0 auto;padding:32px 24px 80px}.landing-hero-primary{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-weight:700;font-size:16px;padding:16px 36px;border-radius:10px;border:none;background:var(--primary);color:#fff;text-decoration:none;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 20px #e85d2a59}.landing-hero-primary:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.landing-eyebrow{font-family:DM Sans,sans-serif;font-weight:500;font-size:13px;letter-spacing:3px;color:var(--primary);text-transform:uppercase;margin-bottom:20px}.auth-panel{display:grid;gap:var(--sp-lg);width:min(440px,100%)}.auth-panel h2{font-family:DM Sans,sans-serif;font-size:var(--text-h1);letter-spacing:-.03em}.auth-panel .muted{font-size:var(--text-secondary-size);line-height:1.5;color:var(--text-secondary)}.auth-divider{display:flex;align-items:center;gap:16px;color:var(--text-tertiary);font-size:13px;font-weight:500}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,border-color .15s ease}.google-btn:hover{background:var(--surface-soft);border-color:var(--text-tertiary);transform:none}.google-btn:disabled{opacity:.5;cursor:not-allowed}.date-mask-wrap{position:relative}.date-mask-input{color:transparent;caret-color:var(--text);width:100%}.date-mask-template{position:absolute;inset:0;display:flex;align-items:center;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);pointer-events:none}.date-mask-filled{color:var(--text)}.date-mask-placeholder{color:var(--text-tertiary)}.auth-step-indicator{display:flex;gap:var(--sp-sm);justify-content:center}.auth-step-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);transition:background .2s ease,transform .2s ease}.auth-step-dot.active{background:var(--primary);transform:scale(1.3)}.auth-step-dot.done{background:var(--success)}.app-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;animation:fade-in .35s ease both}.sidebar{background:var(--sidebar-bg);border-right:none;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar:after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.sidebar>*{position:relative;z-index:1}.sidebar-brand{padding:var(--sp-lg) var(--sp-md) var(--sp-md)}.sidebar-logo{display:flex;align-items:center;gap:10px}.sidebar-logo-icon{width:30px;height:30px;border-radius:8px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-icon span{font-family:DM Mono,monospace;font-weight:500;font-size:10px;color:#fff;letter-spacing:-.5px}.sidebar-logo-text{font-family:DM Sans,sans-serif;font-weight:700;font-size:17px;color:#f5f4f0;letter-spacing:-.2px}.sidebar-logo-text span{color:var(--primary)}.sidebar-team{padding:0 var(--sp-sm) var(--sp-sm);position:relative;z-index:10}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--sp-sm)}.sidebar-bottom{padding:var(--sp-sm);border-top:1px solid var(--sidebar-border)}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--text-secondary-size);font-weight:500;text-decoration:none;transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong);text-decoration:none}.nav-link.active{background:var(--sidebar-active-bg);color:var(--primary);font-weight:600;position:relative}.nav-beta-badge{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#ede9fe;color:#7c3aed;padding:1px 5px;border-radius:8px;margin-left:auto}.nav-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--primary);border-radius:2px}.nav-icon{width:18px;height:18px;flex-shrink:0;color:currentColor}.main-area{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg);background-image:radial-gradient(circle,rgba(0,0,0,.04) 1px,transparent 1px);background-size:24px 24px;position:relative}.page-header{margin-bottom:var(--sp-lg)}.page-header-overline{font-family:DM Mono,monospace;font-weight:500;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--primary);display:block;margin-bottom:4px}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md)}.page-header-row h2{margin:0}.topbar{height:56px;background:#fafaf8d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-lg);position:relative;z-index:2}.topbar-left,.topbar-right{display:flex;align-items:center}.topbar-left{gap:12px}.topbar-right{gap:var(--sp-sm);position:relative}.topbar-team-name{font-family:DM Sans,sans-serif;font-weight:700;font-size:var(--text-secondary-size);letter-spacing:-.01em}.topbar-profile{display:flex;align-items:center;gap:10px;text-decoration:none;padding:4px 12px 4px 4px;border-radius:var(--radius-full);border:1px solid var(--border);transition:background .15s ease,border-color .15s ease;background:none;cursor:pointer;font:inherit;color:inherit}.topbar-profile:hover{background:var(--surface-soft);border-color:var(--border-strong);text-decoration:none}.topbar-profile-open{background:var(--surface);border-color:var(--border)}.profile-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;min-width:160px;padding:4px;z-index:100}.profile-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:none;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:500;color:var(--text);cursor:pointer;transition:background .15s ease}.profile-dropdown-item:hover{background:var(--surface-soft)}.profile-dropdown-logout{color:var(--danger)}.topbar-profile-avatar{width:32px;height:32px;border-radius:50%;font-family:DM Mono,monospace;font-weight:500;font-size:var(--text-caption);display:flex;align-items:center;justify-content:center;flex-shrink:0}.topbar-profile-name{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.profile-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-secondary);font-family:DM Mono,monospace;font-weight:500;font-size:var(--text-caption);display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--border);transition:background .15s ease}.sidebar-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;min-height:unset;padding:0;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;flex-direction:column;gap:4px}.sidebar-toggle:hover{background:var(--surface-soft)}.hamburger-line{display:block;width:18px;height:2px;background:var(--text);border-radius:1px;transition:transform .2s ease,opacity .2s ease}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:90;background:var(--overlay);animation:backdrop-fade-in .2s ease forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.profile-icon:hover{background:var(--surface-hover);text-decoration:none}.page-content{flex:1;min-height:0;padding:var(--sp-lg);display:flex;flex-direction:column;animation:page-enter .3s cubic-bezier(.16,1,.3,1) both;position:relative;overflow:auto;z-index:1;view-transition-name:page-content}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(page-content){animation:vt-fade-out .2s ease both}::view-transition-new(page-content){animation:vt-fade-in .25s ease both}::view-transition-old(root),::view-transition-new(root){animation:none}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.team-picker{position:relative;width:100%}.team-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);background:var(--sidebar-surface);border:1px solid var(--sidebar-border);border-radius:var(--radius-md);padding:10px 12px;min-height:unset;font-size:var(--text-caption);font-weight:600;color:var(--sidebar-text-strong);cursor:pointer;text-align:left;box-shadow:none;transition:background .12s ease,border-color .12s ease}.team-picker-trigger:hover{background:var(--sidebar-hover);border-color:#e85d2a4d}.team-picker-trigger-info{display:flex;flex-direction:column;min-width:0}.team-picker-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-picker-meta{font-size:var(--text-micro);font-weight:400;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.team-picker-chevron{font-size:10px;color:var(--sidebar-text);flex-shrink:0}.team-picker-dropdown{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);z-index:200;overflow:hidden;animation:dropdown-in .18s cubic-bezier(.16,1,.3,1)}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.team-picker-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);padding:12px var(--sp-md);background:transparent;border:none;min-height:unset;font-size:var(--text-secondary-size);color:var(--text);cursor:pointer;text-align:left;transition:background 80ms ease;border-radius:0}.team-picker-option:hover{background:var(--surface-soft);transform:none}.team-picker-option.active{background:var(--primary-light)}.team-picker-option-info{display:flex;flex-direction:column;gap:2px;min-width:0}.team-picker-option-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-picker-option-meta{font-size:var(--text-caption);color:var(--text-secondary)}.team-picker-check{color:var(--primary);font-weight:700;flex-shrink:0}.team-picker-footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm);padding:10px var(--sp-md);border-top:1px solid var(--border)}.link-btn{background:transparent;border:none;color:var(--primary);font-size:var(--text-caption);font-weight:600;cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);min-height:unset;transition:background .1s ease}.link-btn:hover{background:var(--primary-light);transform:none}.onboarding-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.onboarding-back-link{display:inline-flex;align-items:center;gap:6px;color:#fff9;font-size:14px;text-decoration:none;margin-bottom:32px;transition:color .15s}.onboarding-back-link:hover{color:#fff}.onboarding-mobile-logo{display:none}.onboarding-split-brand{background:#0f1117;display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.onboarding-split-brand:before{content:"";position:absolute;bottom:-40%;left:50%;width:140%;transform:translate(-50%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,transparent 70%);pointer-events:none}.onboarding-split-brand-inner{position:relative;z-index:1;max-width:400px}.onboarding-split-brand .landing-logo{margin-bottom:40px}.onboarding-split-brand .landing-logo-text{color:#fff}.onboarding-split-headline{font-family:DM Sans,sans-serif;font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:#fff;margin-bottom:32px}.onboarding-split-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.onboarding-split-features li{font-family:DM Sans,sans-serif;font-size:16px;color:#ffffffb3;padding-left:28px;position:relative;line-height:1.5}.onboarding-split-features li:before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--primary);opacity:.25}.onboarding-split-features li:after{content:"";position:absolute;left:4.5px;top:10.5px;width:7px;height:7px;border-radius:50%;background:var(--primary)}.onboarding-split-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;overflow-y:auto;overflow-x:hidden;min-width:0}.onboarding-split-form .sign-out-link{margin-top:var(--sp-xl)}.onboarding-split-form .onboarding-panel{border:none;box-shadow:none;padding:0;background:transparent;width:min(440px,100%);box-sizing:border-box}@media(max-width:900px){.onboarding-split{grid-template-columns:1fr;min-height:100vh}.onboarding-split-brand{display:none}.onboarding-mobile-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.onboarding-mobile-logo .onboarding-back-link{position:absolute;top:var(--sp-md);left:var(--sp-md);color:var(--text-secondary);margin:0}.onboarding-split-form{padding:40px 24px;justify-content:center;align-items:center;position:relative}.onboarding-split-form .onboarding-panel{max-width:420px}}.onboarding-panel{width:min(560px,100%)}.modal-content .onboarding-panel{border:none;box-shadow:none;padding:0;background:transparent;width:100%}.onboarding-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.onboarding-mode-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;min-width:0;overflow:hidden;border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:center;font-family:DM Sans,sans-serif;color:var(--text);white-space:normal}.onboarding-mode-desc,.onboarding-mode-title{max-width:100%;word-wrap:break-word}.onboarding-mode-card:hover{border-color:var(--primary);background:var(--primary-light)}.onboarding-mode-card:hover .onboarding-mode-icon{background:var(--primary);color:#fff}.onboarding-mode-icon{width:48px;height:48px;border-radius:12px;background:var(--surface-soft);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.onboarding-mode-title{font-size:16px;font-weight:600;color:var(--text)}.onboarding-mode-desc{font-size:13px;color:var(--text-secondary);line-height:1.4}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.role-card{padding:20px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.role-card:hover{border-color:var(--primary);background:var(--primary-light)}.role-card.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.sign-out-link{margin-top:var(--sp-md);font-size:var(--text-secondary-size)}.onboarding-tabs{display:flex;gap:var(--sp-xs);border-bottom:1px solid var(--border);padding-bottom:var(--sp-sm)}.tab-btn{height:42px;min-width:100px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer;min-height:unset;transition:color .12s ease,border-color .12s ease;letter-spacing:-.01em}.tab-btn:hover{color:var(--text);background:transparent;transform:none}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.onboarding-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:var(--sp-md) 0 var(--sp-sm)}.onboarding-step-item{display:flex;align-items:center;gap:var(--sp-xs)}.onboarding-step-circle{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-caption);font-weight:600;border:2px solid var(--border-strong);color:var(--text-tertiary);background:var(--surface);flex-shrink:0;transition:all .2s ease}.onboarding-step-circle.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.onboarding-step-circle.completed{border-color:var(--primary);background:var(--primary);color:#fff}.onboarding-step-label{font-size:var(--text-caption);font-weight:500;color:var(--text-tertiary);transition:color .2s ease}.onboarding-step-label.active,.onboarding-step-label.completed{color:var(--primary)}.onboarding-step-line{width:32px;height:2px;background:var(--border-strong);margin:0 var(--sp-sm);flex-shrink:0;transition:background .2s ease}.onboarding-step-line.completed{background:var(--primary)}.onboarding-nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-md);padding-top:var(--sp-lg)}.onboarding-nav .onboarding-back{margin-right:auto}.onboarding-back{background:none;border:none;color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:var(--text-button);font-weight:500;cursor:pointer;padding:var(--sp-sm) var(--sp-md);min-height:unset;height:auto;box-shadow:none;transform:none;letter-spacing:normal}.onboarding-back:hover{color:var(--text);background:none;box-shadow:none;transform:none}.invite-screen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-md);padding:var(--sp-lg) 0}.invite-screen-icon{margin-bottom:var(--sp-xs)}.invite-screen-title{font-size:var(--text-h1);font-weight:700;color:var(--text);margin:0}.invite-screen-desc{font-size:var(--text-body);color:var(--text-secondary);max-width:360px;margin:0}.invite-screen-code-wrap{background:var(--surface-soft);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md) var(--sp-xl)}.invite-screen-code{font-family:DM Mono,monospace;font-size:28px;font-weight:500;letter-spacing:.25em;color:var(--text)}.invite-screen-copy{background:var(--surface-soft);border:1.5px solid var(--border-strong);color:var(--text);font-family:DM Sans,sans-serif;font-size:var(--text-button);font-weight:600;padding:var(--sp-sm) var(--sp-lg);border-radius:var(--radius-md);cursor:pointer;min-height:42px;transition:background .12s ease}.invite-screen-copy:hover{background:var(--surface-hover)}.invite-screen-continue{width:100%;max-width:320px;background:var(--primary);color:#fff;font-family:DM Sans,sans-serif;font-size:var(--text-button);font-weight:600;padding:10px 24px;min-height:44px;border-radius:var(--radius-md);cursor:pointer}.invite-screen-continue:hover{background:var(--primary-dark)}.setup-checklist{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);margin-bottom:var(--sp-md)}.setup-checklist-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.setup-checklist-title{font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.setup-checklist-progress{font-family:DM Mono,monospace;font-size:var(--text-caption);color:var(--text-tertiary)}.setup-checklist-bar{height:2px;background:var(--surface-soft);border-radius:var(--radius-full);overflow:hidden;margin-bottom:4px}.setup-checklist-bar-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1)}.setup-checklist-items{display:flex;flex-direction:column}.setup-checklist-item{display:flex;align-items:center;gap:var(--sp-sm);padding:6px 2px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.setup-checklist-item:not(:last-child){border-bottom:1px solid var(--surface-soft)}.setup-checklist-item:hover:not(.done){background:var(--surface-soft)}.setup-checklist-item.done{cursor:default}.setup-checklist-check{width:16px;height:16px;min-width:16px;min-height:unset;padding:0;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;color:transparent;cursor:pointer;transition:all .15s}.setup-checklist-check:hover{border-color:var(--primary)}.setup-checklist-check.checked{border-color:var(--success);background:var(--success);color:#fff}.setup-checklist-label{flex:1;font-size:var(--text-secondary-size);color:var(--text)}.setup-checklist-item.done .setup-checklist-label{color:var(--text-tertiary);text-decoration:line-through}.setup-checklist-arrow{color:var(--text-tertiary);flex-shrink:0;transition:color .12s,transform .12s}.setup-checklist-item:hover:not(.done) .setup-checklist-arrow{color:var(--primary);transform:translate(2px)}.setup-checklist-skip{display:block;font-size:var(--text-caption);color:var(--text-tertiary);cursor:pointer;text-align:center;padding-top:6px}.setup-checklist-skip:hover{color:var(--text-secondary)}.custom-select{position:relative}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:400;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s ease;text-align:left;box-shadow:none;transform:none;letter-spacing:normal}.custom-select-trigger:hover{background:var(--surface);box-shadow:none;transform:none}.custom-select-trigger:active{transform:none;box-shadow:none}.custom-select-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.custom-select-trigger.open{border-color:var(--primary)}.custom-select-trigger .placeholder{color:var(--text-tertiary)}.custom-select-trigger .chevron{font-size:10px;color:var(--text-tertiary);margin-left:8px}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);list-style:none;margin:4px 0 0;padding:4px 0;z-index:10}.custom-select-dropdown li{padding:8px 12px;cursor:pointer;font-size:14px}.custom-select-dropdown li:hover{background:var(--surface-soft)}.custom-select-dropdown li.active{background:var(--primary-light);color:var(--primary);font-weight:600}.invite-code-input{font-size:28px!important;font-weight:700;letter-spacing:6px;text-align:center;padding:16px 14px!important;min-height:60px!important}.invite-preview{padding:12px var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);font-size:var(--text-secondary-size)}.sport-combo{position:relative}.sport-combo input{width:100%;box-sizing:border-box}.sport-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);list-style:none;margin:4px 0 0;padding:4px 0;z-index:10}.sport-dropdown li{padding:8px 12px;cursor:pointer;font-size:14px}.sport-dropdown li:hover,.sport-dropdown li.active{background:var(--primary-light);color:var(--primary)}.season-picker{display:flex;gap:8px}.season-select-combo{position:relative;flex:1}.season-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:400;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s ease;text-align:left;box-shadow:none;transform:none;letter-spacing:normal}.season-trigger:hover{background:var(--surface);box-shadow:none;transform:none}.season-trigger:active{transform:none;box-shadow:none}.season-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.season-trigger.open{border-color:var(--primary)}.season-trigger .placeholder{color:var(--text-tertiary)}.season-trigger .chevron{font-size:10px;color:var(--text-tertiary);margin-left:8px}.season-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);list-style:none;margin:4px 0 0;padding:4px 0;z-index:10}.season-dropdown-hint{padding:6px 12px;font-size:12px;color:var(--text-tertiary);font-weight:500}.season-dropdown li:not(.season-dropdown-hint){display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:14px}.season-dropdown li:not(.season-dropdown-hint):hover{background:var(--surface-soft)}.season-dropdown li.active{background:var(--primary-light);color:var(--primary);font-weight:600}.season-dropdown .checkmark{color:var(--primary);font-weight:700}.season-year-select{min-width:100px;flex-shrink:0}.modal-overlay,.modal-backdrop{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:var(--sp-lg);animation:backdrop-in .2s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-content,.modal-panel{position:relative;background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);width:100%;max-width:480px;max-height:90vh;overflow:visible;display:grid;gap:var(--sp-md);box-shadow:var(--shadow-modal);border:1px solid var(--border);animation:modal-enter .28s cubic-bezier(.16,1,.3,1) both}@keyframes modal-enter{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-panel h3{font-family:DM Sans,sans-serif;font-size:var(--text-body);font-weight:700}.modal-close{position:absolute;top:var(--sp-sm);right:var(--sp-sm);width:32px;min-height:32px;padding:0;font-size:18px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);z-index:1}.modal-close:hover{background:var(--surface-soft);color:var(--text);transform:none}.home-page{display:grid;gap:var(--sp-lg);margin-top:calc(-1 * var(--sp-lg));margin-left:calc(-1 * var(--sp-lg));margin-right:calc(-1 * var(--sp-lg));overflow-x:hidden}.home-page>:not(.cover-banner){max-width:984px;width:100%;margin-left:auto;margin-right:auto;padding-left:var(--sp-lg);padding-right:var(--sp-lg);box-sizing:border-box}.home-page>:last-child{margin-bottom:var(--sp-lg)}.cover-banner{position:relative;height:260px;overflow:hidden;background:var(--surface)}.cover-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.cover-banner-default{position:absolute;inset:0;background:linear-gradient(135deg,#2a2d33,#1a1d23)}.cover-banner-default:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.04) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.03) 0%,transparent 40%)}.cover-banner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-family:DM Sans,sans-serif;font-weight:500;font-size:14px;letter-spacing:.02em;opacity:0;transition:opacity .2s;cursor:pointer;z-index:2}.cover-banner-admin{cursor:pointer}.cover-banner-admin:hover .cover-banner-overlay,.cover-banner-admin:focus-visible .cover-banner-overlay{opacity:1}.cover-banner:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 60%,transparent 100%);pointer-events:none;z-index:1}.cover-banner-info{position:absolute;bottom:var(--sp-lg);left:var(--sp-xl);display:flex;flex-direction:column;gap:6px;background:#00000073;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--sp-md) var(--sp-lg);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);z-index:2}.cover-banner-name{font-family:DM Sans,sans-serif;font-size:32px;font-weight:600;color:#fff;line-height:1.2}.cover-banner-meta{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.cover-banner-record{font-family:DM Mono,monospace;font-size:16px;font-weight:500;color:#ffffffe6;letter-spacing:1px}.cover-banner-detail{font-family:DM Sans,sans-serif;font-size:var(--text-caption);font-weight:500;color:#ffffff8c;text-transform:capitalize}.cover-banner-detail:before{content:"·";margin-right:var(--sp-sm)}.game-result-badge{font-family:var(--font-mono);font-size:13px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.result-win{background:var(--success-light);color:var(--success)}.result-loss{background:var(--danger-light);color:var(--danger)}.result-tie{background:var(--warning-light);color:var(--warning)}.home-quick-links{display:flex;gap:var(--sp-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100vw}.home-quick-links::-webkit-scrollbar{display:none}.home-quick-link{display:flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:600;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-sm) var(--sp-md);white-space:nowrap;flex-shrink:0;transition:border-color .12s ease,box-shadow .12s ease}.home-quick-link svg{color:var(--text-secondary)}.home-quick-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.home-two-col{display:grid;grid-template-columns:minmax(0,640px) 320px;gap:var(--sp-lg);align-items:start}.home-main-col{min-width:0}.home-sidebar-col{display:flex;flex-direction:column;gap:var(--sp-md);position:sticky;top:72px}.home-sidebar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-lg)}.home-sidebar-card-title{display:block;font-family:DM Sans,sans-serif;font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:var(--sp-md)}.home-event-list{display:flex;flex-direction:column;gap:var(--sp-md)}.home-event-day-group{display:flex;flex-direction:column;gap:var(--sp-sm)}.home-event-day-label{font-size:var(--text-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.home-event-card{display:block;background:var(--surface-soft);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md);text-decoration:none;transition:background .12s ease;color:inherit}.home-event-card:hover{background:var(--surface-hover);text-decoration:none}.home-event-card-header{display:flex;align-items:center;gap:var(--sp-sm)}.home-event-card-title{flex:1;font-size:var(--text-secondary-size);font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-event-card-details{display:flex;flex-direction:column;gap:2px;padding-top:4px;padding-left:16px}.home-event-card-time{font-size:var(--text-caption);color:var(--text-secondary)}.home-event-card-location{font-size:var(--text-caption);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-empty-state{text-align:center;padding:var(--sp-xl) var(--sp-lg);display:flex;flex-direction:column;align-items:center;gap:var(--sp-xs)}.home-empty-state-sm{padding:var(--sp-md) 0}.home-empty-title{font-family:DM Sans,sans-serif;font-size:var(--text-body);font-weight:600;color:var(--text)}.home-empty-desc{font-size:var(--text-secondary-size);color:var(--text-secondary)}.home-empty-action{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:600;color:var(--primary);text-decoration:none;margin-top:var(--sp-sm)}.home-empty-action:hover{text-decoration:underline}.home-upcoming-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md) var(--sp-lg)}.home-upcoming-title{display:block;font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:var(--sp-sm)}.home-upcoming-list{display:flex;flex-direction:column;gap:var(--sp-sm)}.home-upcoming-group{display:flex;flex-direction:column}.home-upcoming-day{font-size:var(--text-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;padding-bottom:4px}.home-upcoming-event{display:flex;align-items:center;gap:var(--sp-sm);padding:6px 0}.home-upcoming-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.home-upcoming-dot.dot-practice{background:var(--event-practice)}.home-upcoming-dot.dot-game{background:var(--event-game)}.home-upcoming-dot.dot-other{background:var(--event-other)}.home-upcoming-event-title{flex:1;font-size:var(--text-secondary-size);font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-upcoming-event-time{font-size:var(--text-caption);color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.game-result-badge.sm{font-size:var(--text-caption);padding:1px 6px}.home-feed-section{display:flex;justify-content:center}.home-feed-inner{width:100%;max-width:560px}@media(max-width:980px){.home-two-col{grid-template-columns:1fr}.home-sidebar-col{display:none}}.calendar-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--sp-lg);align-items:start}.cal-subscribe-wrap{position:relative}.cal-subscribe-popover{position:absolute;top:calc(100% + 8px);right:0;width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;padding:var(--sp-md);z-index:30}.cal-subscribe-title{font-family:DM Sans,sans-serif;font-weight:700;font-size:15px;color:var(--text);margin-bottom:4px}.cal-subscribe-desc{font-size:13px;color:var(--text-secondary);line-height:1.4;margin:0 0 12px}.cal-subscribe-url-row{display:flex;gap:8px;margin-bottom:12px}.cal-subscribe-url{flex:1;min-width:0;font-size:12px;font-family:DM Mono,monospace;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.cal-subscribe-links{display:flex;flex-direction:column;gap:4px}.cal-subscribe-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:14px;color:var(--text);text-decoration:none;transition:background 80ms ease}.cal-subscribe-link:hover{background:var(--surface-soft);text-decoration:none}.cal-subscribe-link svg{color:var(--text-secondary);flex-shrink:0}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-md)}.cal-header h2{font-family:DM Sans,sans-serif;font-size:var(--text-h2)}.cal-month-picker{position:absolute;top:100%;left:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);padding:var(--sp-sm);z-index:50;width:240px}.cal-month-picker-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-xs) var(--sp-xs)}.cal-month-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.cal-month-picker-btn{padding:8px 6px;min-height:unset;font-size:var(--text-caption);font-weight:500;background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s ease;display:block;width:100%;text-align:center}.cal-month-picker-btn:hover{background:var(--surface-soft);transform:none}.cal-month-picker-btn.current{color:var(--primary);font-weight:700}.cal-month-picker-btn.active{background:var(--primary);color:#fff}.cal-month-picker-btn.active:hover{background:var(--primary-dark)}.cal-nav{display:flex;gap:6px}.cal-nav button{min-height:36px;padding:6px 14px;font-size:14px;border-radius:var(--radius-sm)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px}.cal-weekday{text-align:center;font-family:DM Mono,SF Mono,monospace;font-size:var(--text-overline);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;padding:var(--sp-sm) 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.cal-cell{background:var(--surface);min-height:88px;padding:var(--sp-sm);cursor:pointer;transition:background .1s ease}.cal-cell:hover{background:var(--surface-soft)}.cal-cell.empty{background:var(--bg);cursor:default}.cal-cell.empty:hover{background:var(--bg)}.cal-cell.today .cal-day-num{background:var(--primary);color:#fff;border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700}.cal-cell.selected,.cal-cell.selected:hover{background:var(--primary-light)}.cal-day-num{font-family:DM Sans,sans-serif;font-size:var(--text-caption);font-weight:600;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-xs)}.cal-month-title{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);padding:2px 6px;margin:-2px -6px;transition:background .1s ease}.cal-month-title:after{content:"";display:inline-block;width:8px;height:8px;border-right:2px solid var(--text-tertiary);border-bottom:2px solid var(--text-tertiary);transform:rotate(45deg);margin-left:8px;vertical-align:2px;transition:transform .1s ease}.cal-month-title:hover{background:var(--surface-soft)}.cal-events{display:flex;flex-direction:column;gap:2px}.cal-event-pill{font-size:10px;font-weight:600;line-height:1;padding:2px 5px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;text-transform:capitalize}.cal-dots{display:none;gap:3px;flex-wrap:wrap}.cal-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}@media(max-width:1100px){.cal-event-pill{display:none}.cal-dots{display:flex}}.location-input-wrap{position:relative}.location-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;max-height:300px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;z-index:20;padding:4px 0}.location-row{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:background 80ms ease}.location-row:hover,.location-row.highlighted{background:var(--surface-soft)}.location-row-icon{flex-shrink:0;color:var(--text-tertiary);display:flex;align-items:center}.location-row-text{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-divider{height:1px;background:var(--border);margin:4px 0}.location-google-attr{padding:6px 14px 4px;font-size:11px;color:var(--text-tertiary)}.event-panel{display:grid;gap:var(--sp-md);align-content:start}.event-panel-header{display:flex;align-items:center;justify-content:space-between}.event-panel-header h3{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:700}.event-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-sm)}.event-list-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px var(--sp-md);cursor:pointer;display:grid;gap:4px;transition:border-color .15s ease,box-shadow .15s ease;position:relative}.event-list-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-md) 0 0 var(--radius-md);background:var(--primary);opacity:0;transition:opacity .15s ease}.event-list-item:hover{border-color:var(--primary);box-shadow:var(--shadow-card)}.event-list-item:hover:before{opacity:1}.event-list-item-title{font-size:14px;font-weight:600}.event-list-item-meta{font-size:var(--text-caption);color:var(--text-secondary);display:flex;gap:var(--sp-sm)}.upcoming-section{margin-top:var(--sp-lg);padding-top:var(--sp-lg);border-top:2px solid var(--border);display:grid;gap:var(--sp-md)}.upcoming-title{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text)}.upcoming-day-group{display:grid;gap:var(--sp-xs)}.upcoming-day-label{font-size:var(--text-caption);font-weight:600;color:var(--text-tertiary)}.event-type-badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:2px 10px;font-family:DM Mono,SF Mono,monospace;font-size:var(--text-micro);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.event-type-badge.practice{background:var(--event-practice)}.event-type-badge.game{background:var(--event-game)}.event-type-badge.other{background:var(--event-other)}.event-type-picker{display:flex;gap:6px}.event-type-picker-btn{flex:1;padding:8px 12px;border-radius:var(--radius-sm);font-family:DM Mono,monospace;font-size:var(--text-caption);font-weight:500;text-transform:uppercase;letter-spacing:.5px;border:2px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.event-type-picker-btn:hover{border-color:var(--border-strong);background:var(--surface-soft)}.event-type-picker-btn.practice.active{border-color:var(--event-practice);background:#3b82f614;color:var(--event-practice)}.event-type-picker-btn.game.active{border-color:var(--event-game);background:#1db95414;color:var(--event-game)}.event-type-picker-btn.other.active{border-color:var(--event-other);background:#64748b14;color:var(--event-other)}.event-detail-header{display:flex;align-items:center;gap:var(--sp-sm)}.event-detail-header h3{font-family:DM Sans,sans-serif;font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.event-detail-rows{display:grid;gap:var(--sp-md)}.event-detail-row{display:grid;gap:2px;overflow:hidden;word-break:break-word}.event-detail-row .overline{margin-bottom:0}.event-detail-notes{font-size:var(--text-secondary-size);line-height:1.5;white-space:pre-wrap;word-break:break-word;margin:0}@media(max-width:900px){.calendar-page{grid-template-columns:1fr}}.roster-page{display:grid;gap:var(--sp-lg)}.invite-drawer{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);width:100%;max-width:420px;box-shadow:var(--shadow-modal);animation:modal-enter .28s cubic-bezier(.16,1,.3,1) both}.invite-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-lg)}.invite-drawer-header h3{font-size:var(--text-h2);font-weight:700;margin:0}.invite-drawer-section{display:flex;flex-direction:column;gap:var(--sp-sm)}.invite-drawer-label{font-size:var(--text-caption);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.invite-email-group{display:flex}.invite-email-input{flex:1;border:1px solid var(--border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);padding:var(--sp-sm) var(--sp-md);font-size:var(--text-body);outline:none;background:var(--bg);color:var(--text);min-width:0}.invite-email-input:focus{border-color:var(--primary)}.invite-email-input::placeholder{color:var(--text-tertiary)}.invite-send-btn{min-height:unset;padding:var(--sp-sm) var(--sp-lg);font-size:var(--text-secondary-size);font-weight:600;border-radius:0 var(--radius-sm) var(--radius-sm) 0;white-space:nowrap}.invite-result{font-size:var(--text-caption);margin:0}.invite-result.success{color:var(--success)}.invite-result.error{color:var(--danger)}.invite-drawer-divider{height:1px;background:var(--border);margin:var(--sp-lg) 0}.invite-code-display{display:flex;align-items:center;justify-content:space-between;background:var(--surface-soft);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md)}.invite-code{font-family:DM Mono,monospace;font-size:var(--text-h2);font-weight:600;letter-spacing:2px;color:var(--text)}.invite-code-copy{min-height:unset;padding:4px 10px;font-size:var(--text-caption);font-weight:600;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.invite-code-copy:hover{background:var(--surface);color:var(--text)}.invite-code-copy.copied{background:var(--success);color:#fff;border-color:var(--success)}.invite-drawer-actions{display:flex;gap:var(--sp-sm);margin-top:var(--sp-lg)}.invite-secondary-link{flex:1;font-size:var(--text-caption);font-weight:600;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-xs) var(--sp-sm);min-height:36px;cursor:pointer;text-decoration:none;text-align:center;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.invite-secondary-link:hover{color:var(--text);background:var(--surface);border-color:var(--border-strong);text-decoration:none}.roster-member-summary{font-size:var(--text-secondary-size);color:var(--text-secondary);font-weight:500;padding:0 var(--sp-xs)}.roster-edit-icon{display:none}tr.roster-row-readonly{position:relative}tr.roster-row-readonly .roster-readonly-hint{display:none;position:absolute;top:50%;right:var(--sp-md);transform:translateY(-50%);background:var(--text);color:#fff;font-size:var(--text-micro);font-weight:500;padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:10}tr.roster-row-readonly:hover .roster-readonly-hint{display:block}.roster-page td:nth-child(1){padding-right:0}.roster-page td:nth-child(2){width:100%;padding-left:var(--sp-xs)}.roster-name-cell{display:flex;align-items:center;gap:var(--sp-xs)}.roster-role-cell{display:flex;align-items:center;gap:6px}.modal-remove-section{padding-top:var(--sp-md);border-top:1px solid var(--border)}.remove-confirm-row{display:flex;align-items:center;gap:var(--sp-sm)}.remove-confirm-text{font-size:var(--text-caption);color:var(--text-secondary);flex:1}.member-avatar{width:36px;height:36px;border-radius:var(--radius-md);background:var(--primary-glow);color:var(--primary);font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.member-avatar img{width:100%;height:100%;object-fit:cover}.video-library-page{display:grid;gap:var(--sp-lg)}.video-toolbar{display:flex;flex-direction:column;gap:var(--sp-sm)}.video-toolbar-top{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.video-search{flex:1;min-width:200px}.video-filters{display:flex;gap:4px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--border)}.video-filter-btn{background:var(--surface-soft);border:1.5px solid transparent;border-radius:var(--radius-sm);padding:6px 14px;font-family:DM Sans,sans-serif;font-size:var(--text-caption);font-weight:500;color:var(--text-secondary);cursor:pointer;min-height:unset;transition:all .15s ease}.video-filter-btn:hover{background:var(--surface);border-color:var(--border);transform:none}.video-filter-btn.active{background:var(--primary-light);color:var(--primary);border-color:var(--primary-alpha40);font-weight:600}.video-stats{display:flex;align-items:center}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-md)}.video-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border);cursor:pointer;transition:transform .2s cubic-bezier(.25,.46,.45,.94),box-shadow .2s ease}.video-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.video-card-thumb{position:relative;aspect-ratio:16 / 9;background:var(--sidebar-bg);overflow:hidden}.video-card-thumb img{width:100%;height:100%;object-fit:cover}.video-card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#ffffff40}.video-card-duration{position:absolute;bottom:8px;right:8px;background:#000c;color:#fff;font-family:DM Mono,SF Mono,monospace;font-size:12px;font-weight:500;padding:2px 8px;border-radius:var(--radius-sm)}.video-card-info{padding:var(--sp-sm) var(--sp-md) var(--sp-md);display:grid;gap:var(--sp-xs)}.video-card-title{font-size:var(--text-secondary-size);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-card-meta{display:flex;align-items:center;gap:var(--sp-sm)}.video-detail{display:grid;gap:var(--sp-lg)}.video-detail-player{border-radius:var(--radius-lg);overflow:hidden;background:#000}.video-player{width:100%;aspect-ratio:16 / 9;object-fit:contain;display:block}.video-player-placeholder{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--text-secondary-size)}.video-detail-info{display:grid;gap:var(--sp-sm)}.video-detail-header{display:flex;align-items:center;gap:var(--sp-sm)}.video-detail-header h2{font-family:DM Sans,sans-serif;font-size:22px;font-weight:700}.video-detail-meta{display:flex;gap:var(--sp-md);font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);color:var(--text-secondary)}.video-detail-description{font-size:var(--text-secondary-size);line-height:1.5;white-space:pre-wrap;margin:0}.video-clips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-sm)}.video-view-toggle{display:flex;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}.video-view-toggle-btn{background:var(--surface);border:none;border-radius:0;min-height:36px;padding:6px 12px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--text-tertiary);cursor:pointer;transition:background .15s ease,color .15s ease}.video-view-toggle-btn:hover{background:var(--surface-soft);color:var(--text-secondary);transform:none}.video-view-toggle-btn.active{background:var(--primary-light);color:var(--primary)}.video-view-toggle-btn+.video-view-toggle-btn{border-left:1.5px solid var(--border-strong)}@media(max-width:640px){.video-toolbar-top{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.video-search{order:-1;width:100%;min-width:0}.video-toolbar-top .btn{flex:1}.video-toolbar-top select{flex-shrink:0}}.video-list{display:grid;gap:var(--sp-sm)}.video-list-row{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.video-list-row:hover{background:var(--surface-soft)}.video-list-row-thumb{position:relative;width:80px;height:50px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--sidebar-bg)}.video-list-row-thumb img{width:100%;height:100%;object-fit:cover}.video-list-row-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#ffffff40}.video-list-row-title{flex:1;min-width:0;font-size:var(--text-secondary-size);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-list-row-category{flex-shrink:0}.video-list-row-duration{flex-shrink:0;font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);color:var(--text-secondary);min-width:48px;text-align:right}.video-list-row-date{flex-shrink:0;font-size:var(--text-caption);color:var(--text-tertiary);min-width:80px;text-align:right}@media(max-width:640px){.video-list-row{flex-wrap:wrap;gap:var(--sp-xs) var(--sp-sm);padding:var(--sp-sm)}.video-list-row-thumb{width:64px;height:40px}.video-list-row-title{flex:1;min-width:0}.video-list-row-category,.video-list-row-date{display:none}.video-list-row-duration{min-width:auto}}.video-detail-actions{display:flex;align-items:center;justify-content:space-between}.delete-confirm-overlay{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:var(--sp-lg);animation:backdrop-in .2s ease both}.delete-confirm-panel{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);width:100%;max-width:420px;display:grid;gap:var(--sp-md);border:1px solid var(--border);box-shadow:var(--shadow-modal);animation:modal-enter .28s cubic-bezier(.16,1,.3,1) both}.delete-confirm-panel h3{font-family:DM Sans,sans-serif;font-size:var(--text-body);font-weight:700}.delete-confirm-panel p{font-size:var(--text-secondary-size);color:var(--text-secondary);line-height:1.5;margin:0}.delete-confirm-panel .warning-text{color:var(--warning);font-weight:600;font-size:var(--text-caption)}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:var(--sp-sm);margin-top:var(--sp-sm)}.empty-state-heading{font-family:DM Sans,sans-serif;font-size:var(--text-h2);font-weight:700;color:var(--text);margin-bottom:var(--sp-xs)}.empty-state-large-icon{display:none}.settings-page{max-width:640px;margin:0 auto;width:100%;display:grid;gap:var(--sp-lg)}.settings-section{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);display:grid;gap:var(--sp-md)}.settings-section h3{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:700;padding-bottom:var(--sp-sm);border-bottom:1px solid var(--border)}.settings-section.danger{border:1.5px solid var(--danger-light)}.settings-section.danger h3{color:var(--danger);border-bottom-color:var(--danger-light)}.settings-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;min-height:40px;gap:var(--sp-md)}.settings-label{font-size:var(--text-secondary-size);font-weight:600;color:var(--text-secondary);flex-shrink:0}.settings-value{font-size:var(--text-secondary-size);text-align:right}.settings-value-btn{background:var(--surface);border:1px dashed var(--border);color:var(--text);padding:6px 12px;min-height:unset;font-size:var(--text-secondary-size);font-weight:400;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s ease,background .12s ease}.settings-value-btn:hover{border-color:var(--primary);border-style:solid;background:var(--primary-light);transform:none}.settings-name-input{width:200px}.settings-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;min-width:0}.settings-row .button-row{flex-wrap:wrap}.settings-photo-row{display:flex;flex-direction:column;align-items:center;gap:var(--sp-xs);padding:var(--sp-md) 0}.settings-avatar-btn{position:relative;width:72px;height:72px;border-radius:50%;border:2px solid var(--border);padding:0;background:var(--surface-soft);cursor:pointer;overflow:visible;flex-shrink:0;transition:border-color .15s ease}.settings-avatar-btn:hover{border-color:var(--primary);transform:none}.settings-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.settings-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;overflow:hidden;font-family:DM Mono,monospace;font-size:24px;font-weight:600;color:var(--text-secondary)}.settings-avatar-badge{position:absolute;bottom:0;right:0;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:2px solid var(--surface)}.settings-photo-info{display:flex;flex-direction:column;gap:4px}.topbar-profile-photo{object-fit:cover}.settings-links{display:grid;gap:12px}.settings-links a{font-size:var(--text-secondary-size);color:var(--primary);display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) 0;transition:opacity .15s ease}.settings-links a:hover{opacity:.8;text-decoration:none}.confirm-input{font-family:DM Mono,SF Mono,monospace;font-size:var(--text-body);letter-spacing:.1em;text-align:center}.blocking-teams-list{margin:0;padding-left:var(--sp-lg);display:grid;gap:var(--sp-xs)}.blocking-teams-list li{font-size:var(--text-secondary-size);color:var(--text)}.drills-page{display:grid;gap:var(--sp-md)}.drills-toolbar{display:flex;align-items:center;gap:var(--sp-sm)}.drills-search{flex:1;min-height:40px;background-color:var(--card-bg);border-color:var(--border)}.drills-sort-select{min-height:40px;min-width:unset;width:auto;padding:0 28px 0 10px;font-size:var(--text-secondary-size);background-color:var(--card-bg);border-color:var(--border)}.drills-view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.drills-view-toggle button{border-radius:0;border:none;min-height:36px;padding:6px 12px;display:flex;align-items:center;justify-content:center}.drills-view-toggle button.active{background:var(--primary);color:#fff}.drills-view-toggle button.active:hover{background:var(--primary-dark)}.drills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-md)}.drill-grid-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.drill-grid-card:hover{border-color:var(--primary);box-shadow:var(--shadow-card-hover)}.drill-grid-card-name{font-weight:600;font-size:var(--text-secondary-size);margin-bottom:4px}.drill-grid-card-meta{display:flex;align-items:center;gap:6px;font-size:var(--text-caption);color:var(--text-secondary)}.drill-list-row{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.drill-list-row:hover{border-color:var(--primary);box-shadow:var(--shadow-card)}.drill-list-row-name{font-weight:600;font-size:var(--text-secondary-size)}.drill-list-row-right{display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0}.drill-list-row-duration{font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);color:var(--text-secondary)}.drill-form-modal{max-width:560px;overflow:visible}.tag-create-row{padding-bottom:var(--sp-sm);border-bottom:1px solid var(--border)}.tag-manage-btn{width:28px;height:28px;min-height:unset;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1.5px dashed var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:border-color .12s ease,color .12s ease}.tag-manage-btn:hover{border-color:var(--primary);color:var(--primary);background:transparent;transform:none}.tag-manager-row{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) 0}.practice-page{display:flex;flex-direction:column;height:100%;gap:0;flex:1}.practice-list-page{max-width:760px}.plans-toolbar{display:flex;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.plans-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit}.plans-search{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md);font-size:var(--text-secondary-size);font-family:inherit;outline:none;background:var(--surface);color:var(--text)}.plans-search:focus{border-color:var(--primary)}.plans-search::placeholder{color:var(--text-tertiary)}.plan-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .15s ease,border-color .15s ease}.plan-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--border-strong)}.plan-card-title{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:700}.pb-plan-draft-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:var(--primary);background:#e85d2a14;border:1px solid rgba(232,93,42,.2);border-radius:var(--radius-sm);padding:1px 8px;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;margin-left:8px}.plan-card-meta{font-size:var(--text-caption);color:var(--text-secondary);margin-top:4px}.plan-editor{max-width:700px;margin:0 auto;padding:var(--sp-lg);flex:1;min-height:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.builder-topbar{display:flex;align-items:center;gap:12px;padding:12px var(--sp-md);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.builder-topbar-transparent{display:flex;align-items:center;justify-content:space-between;padding:0 0 var(--sp-md)}.builder-heading{font-family:DM Sans,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.5px;margin:0;color:var(--text)}.builder-topbar-actions{display:flex;align-items:center;gap:10px}.save-status{font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);margin-left:auto;color:var(--text-tertiary);font-weight:500}.save-status.saving{color:var(--warning)}.save-status.saved{color:var(--success)}.save-status.error{color:var(--danger)}.drill-drawer-backdrop{position:fixed;inset:0;background:#0000004d;z-index:199}.drill-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--surface);z-index:200;display:flex;flex-direction:column;box-shadow:var(--shadow-dropdown);transform:translate(100%);transition:transform .2s ease}.drill-drawer.open{transform:translate(0)}.drill-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-md);border-bottom:1px solid var(--border);flex-shrink:0}.drill-drawer-header h3{font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:700}.drill-drawer-search{padding:12px var(--sp-md);border-bottom:1px solid var(--border);flex-shrink:0}.drill-drawer-search input{width:100%;min-height:40px}.tag-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px var(--sp-md);border-bottom:1px solid var(--border);flex-shrink:0}.tag-filter-pill{border-radius:var(--radius-sm);padding:6px 14px;font-size:var(--text-caption);font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);min-height:unset;transition:all .15s ease}.tag-filter-pill:hover{background:var(--surface);border-color:var(--border);transform:none}.tag-filter-pill.active{background:var(--primary-light);color:var(--primary);border-color:var(--primary-alpha40);font-weight:600}.drill-bank-list{list-style:none;padding:var(--sp-sm);margin:0;flex:1;overflow-y:auto}.drill-row{display:flex;align-items:center;gap:var(--sp-sm);padding:10px var(--sp-sm);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none;transition:background .1s ease}.drill-row:hover{background:var(--surface-soft)}.drill-row-name{flex:1;font-weight:500}.drill-row-duration{color:var(--text-tertiary);font-family:DM Mono,SF Mono,monospace;font-size:var(--text-caption);white-space:nowrap}.drill-row-add{color:var(--primary);font-size:var(--text-caption);font-weight:600;opacity:0;transition:opacity .1s ease}.drill-row:hover .drill-row-add{opacity:1}.plan-timeline-header{display:grid;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.plan-timeline-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-caption);color:var(--text-secondary)}.plan-title-input{font-family:DM Sans,sans-serif!important;font-size:var(--text-h2)!important;font-weight:700;border-color:transparent!important;background:transparent!important;box-shadow:none!important;padding:6px var(--sp-sm)!important;min-height:unset!important;border-radius:var(--radius-sm)!important;letter-spacing:-.02em;width:100%}.plan-title-input:hover,.plan-title-input:focus{border-color:var(--border)!important;background:var(--surface-soft)!important;box-shadow:none!important}.timeline-items{min-height:120px}.timeline-empty{border:2px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--sp-xl) var(--sp-md);text-align:center;color:var(--text-tertiary);font-size:var(--text-secondary-size);margin:var(--sp-sm) 0;transition:border-color .15s ease,background .15s ease}.timeline-empty.is-over{border-color:var(--primary);background:var(--primary-light)}.timeline-block{display:flex;align-items:stretch;border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:var(--sp-sm);overflow:hidden;cursor:pointer;background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease,transform 80ms ease}.timeline-block:hover{border-color:var(--primary);box-shadow:var(--shadow-card)}.timeline-block.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.timeline-block.is-dragging{opacity:.5}.timeline-block-accent{width:3px;background:var(--border-strong);flex-shrink:0;cursor:grab}.timeline-block-body{flex:1;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}.timeline-block-name{font-size:var(--text-secondary-size);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-block-meta{font-size:var(--text-caption);color:var(--text-secondary)}.timeline-block-remove{padding:0 12px;background:transparent;border:none;color:var(--text-tertiary);font-size:16px;cursor:pointer;min-height:unset;border-radius:0;display:flex;align-items:center;transition:color .1s ease}.timeline-block-remove:hover{color:var(--danger);background:transparent;transform:none}.drill-detail-modal-backdrop{position:fixed;inset:0;background:#0000004d;z-index:299;display:flex;align-items:center;justify-content:center}.drill-detail-modal{background:var(--surface);border-radius:var(--radius-lg);max-width:500px;width:calc(100% - 2rem);max-height:80vh;overflow:visible;z-index:300;box-shadow:var(--shadow-modal);display:flex;flex-direction:column}.detail-panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--sp-lg) var(--sp-lg) 0;flex-shrink:0}.detail-panel-body{padding:var(--sp-lg);flex:1;overflow:visible;display:grid;gap:var(--sp-md);align-content:start}.detail-panel-body>label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-panel-body>label input,.detail-panel-body>label textarea{border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;padding:10px 12px!important;font-size:13px;font-family:inherit;background:var(--surface-soft)!important;color:var(--text);outline:none;min-height:unset!important;box-shadow:none!important;transition:border-color .15s,background .15s}.detail-panel-body>label input:focus,.detail-panel-body>label textarea:focus{border-color:var(--primary)!important;background:var(--surface)!important;box-shadow:none!important}.timeline-block-expanded{padding:var(--sp-sm) 12px 0;display:grid;gap:var(--sp-sm);border-top:1px solid var(--border)}.timeline-block-expanded label{font-size:var(--text-caption);display:grid;gap:2px}.timeline-block-expanded input,.timeline-block-expanded textarea{font-size:var(--text-caption);min-height:32px;padding:4px 8px}.timeline-block-expanded textarea{resize:vertical;min-height:48px}.timeline-block-drag-overlay{box-shadow:0 4px 16px #00000026}.drill-drawer-empty{list-style:none;padding:var(--sp-md);text-align:center}.drill-drawer-empty-text{font-size:var(--text-caption);color:var(--text-tertiary)}.plan-notes-textarea{font-size:var(--text-caption);resize:vertical}.plan-total-duration{font-family:DM Mono,SF Mono,monospace;font-weight:600}.timeline-footer{padding:var(--sp-md) 0 0}.pb-custom-item-btn{width:100%;padding:10px 16px;border:2px dashed rgba(232,93,42,.3);border-radius:var(--radius-md);background:#e85d2a08;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.pb-custom-item-btn:hover{border-color:var(--primary);background:#e85d2a0f;transform:none}.plan-doc-header{display:grid;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.plan-doc-meta{display:flex;gap:var(--sp-xs);font-size:var(--text-caption);color:var(--text-secondary);padding-bottom:var(--sp-md);border-bottom:1px solid var(--border);margin-bottom:var(--sp-sm)}.plan-doc-items{min-height:40px}.doc-item{display:flex;align-items:flex-start;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background 80ms ease;position:relative}.doc-item:hover{background:var(--surface-soft);margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px;border-radius:var(--radius-sm)}.doc-item--editing{background:var(--primary-light);margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px;border-radius:var(--radius-sm);cursor:default}.doc-item--dragging{opacity:.4}.doc-item--drag-overlay{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000026;padding:10px 12px}.doc-item-time{width:36px;flex-shrink:0;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;padding-top:3px;text-align:right}.doc-item-grip{flex-shrink:0;width:16px;opacity:0;color:var(--text-tertiary);cursor:grab;padding-top:3px;transition:opacity .1s ease}.doc-item:hover .doc-item-grip{opacity:.4}.doc-item-grip:active{cursor:grabbing}.doc-item-number{width:24px;flex-shrink:0;font-size:var(--text-caption);color:var(--text-tertiary);padding-top:2px;text-align:right}.doc-item-content{flex:1;min-width:0}.doc-item-headline{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-sm)}.doc-item-name{font-weight:600;font-size:14px;color:var(--text)}.doc-item-name.linked{color:var(--primary);cursor:pointer}.doc-item-name.linked:hover{text-decoration:underline;text-underline-offset:2px}.doc-item-duration{font-size:13px;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.doc-item-details{font-size:13px;color:var(--text-secondary);margin-top:2px;line-height:1.4}.doc-item-remove{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);font-size:16px;cursor:pointer;opacity:0;transition:opacity .1s ease,color .1s ease;padding:0}.doc-item:hover .doc-item-remove{opacity:1}.doc-item-remove:hover{color:var(--danger)}.doc-item:focus-within .doc-item-remove{opacity:1}.doc-item-remove:focus-visible{outline:2px solid var(--primary);outline-offset:2px;opacity:1}.doc-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--radius-sm)}.doc-item-edit-fields{display:grid;gap:6px;width:100%}.doc-item-name-input{font-family:DM Sans,sans-serif;font-weight:600;font-size:14px;color:var(--text);background:transparent;border:none;border-bottom:1px solid var(--border-strong);padding:0 0 2px;outline:none;width:100%}.doc-item-name-input:focus{border-color:var(--primary)}.doc-item-duration-edit{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.doc-item-duration-input{width:48px;font-size:13px;font-variant-numeric:tabular-nums;text-align:right;background:transparent;border:none;border-bottom:1px solid var(--border-strong);padding:0 0 2px;outline:none;color:var(--text)}.doc-item-duration-input:focus{border-color:var(--primary)}.doc-item-duration-unit{font-size:13px;color:var(--text-secondary)}.doc-item-ledby-input,.doc-item-notes-input{font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-secondary);background:transparent;border:none;border-bottom:1px solid var(--border);padding:2px 0;outline:none;width:100%;resize:none}.doc-item-ledby-input:focus,.doc-item-notes-input:focus{border-color:var(--primary)}.doc-add-row{position:relative;margin-top:var(--sp-md)}.doc-add-row input{width:100%;font-family:DM Sans,sans-serif;font-size:14px;color:var(--text);background:transparent;border:none;border-bottom:1px solid transparent;padding:10px 0;outline:none}.doc-add-row input::placeholder{color:var(--text-tertiary)}.doc-add-row input:focus{border-bottom-color:var(--border)}.drill-picker{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;max-height:280px;overflow-y:auto;z-index:20;padding:4px 0}.drill-picker-row{display:flex;align-items:center;gap:var(--sp-sm);padding:8px 12px;cursor:pointer;transition:background 80ms ease}.drill-picker-row.highlighted{background:var(--surface-soft)}.drill-picker-row-name{font-size:14px;font-weight:500;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-picker-row-duration{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.drill-picker-row-tags{display:flex;gap:4px;flex-shrink:0}.drill-picker-empty{padding:12px;font-size:13px;color:var(--text-tertiary);text-align:center}.drill-picker-browse{padding:8px 12px;font-size:13px;color:var(--primary);cursor:pointer;border-top:1px solid var(--border)}.drill-picker-browse:hover{background:var(--surface-soft)}.doc-empty-state{padding:var(--sp-lg) 0;font-size:14px;color:var(--text-tertiary);line-height:1.5}.doc-empty-state strong{color:var(--text-secondary)}.difficulty-stars{display:flex;gap:3px}.difficulty-star{width:10px;height:10px;border-radius:2px}.new-drill-form{padding:var(--sp-md);border-top:1px solid var(--border);background:var(--surface-soft)}.new-drill-form-fields{display:grid;gap:10px}.drill-form-row{display:grid;grid-template-columns:1fr auto;gap:var(--sp-md);align-items:start}.drill-form-field-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px}.drill-form-category{position:relative}.drill-form-combo{display:flex;align-items:center;min-height:38px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;gap:6px;transition:border-color .15s,background .15s}.drill-form-combo:hover{border-color:var(--border-strong)}.drill-form-combo.open{border-color:var(--primary);background:var(--surface)}.drill-form-combo-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.drill-form-combo-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#e85d2a14;color:var(--primary);border:1px solid rgba(232,93,42,.15);border-radius:var(--radius-sm);font-size:12px;font-weight:600;white-space:nowrap}.drill-form-combo-chip-x{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer;color:var(--primary);min-height:unset;opacity:.5;transition:opacity .1s}.drill-form-combo-chip-x:hover{opacity:1;transform:none}.pb-drill-card-tags{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end;margin-left:auto;flex-shrink:0}.drill-form-combo-input{flex:1;border:none!important;background:transparent!important;font-size:13px;color:var(--text);outline:none!important;box-shadow:none!important;min-height:unset!important;height:100%;padding:0!important;font-weight:600;border-radius:0!important}.drill-form-combo-input::placeholder{color:var(--text-tertiary);font-weight:400}.drill-form-combo-chevron{flex-shrink:0;color:var(--text-tertiary);transition:transform .15s,color .15s}.drill-form-combo.open .drill-form-combo-chevron{transform:rotate(180deg)}.drill-form-combo-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;border-radius:50%;color:var(--text-tertiary);cursor:pointer;min-height:unset;padding:0;flex-shrink:0;transition:color .1s}.drill-form-combo-clear:hover{color:var(--text)}.drill-form-category-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid rgba(232,93,42,.2);border-radius:var(--radius-sm);box-shadow:0 8px 20px #0000001a;z-index:50}.drill-form-category-list{max-height:200px;overflow-y:auto;padding:6px}.drill-form-category-option{width:100%;display:flex;align-items:center;padding:10px 14px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);text-align:left;min-height:unset;transition:background .1s,color .1s}.drill-form-category-option:hover{background:var(--surface-soft)}.drill-form-category-option.selected{background:#e85d2a0f;color:var(--primary);font-weight:600}.drill-form-category-option.create-option{color:var(--primary);font-weight:600;font-size:13px;border-top:1px solid var(--border);border-radius:0;margin-top:2px;padding-top:10px}.drill-form-create-plus{font-size:16px;font-weight:700;margin-right:4px}.drill-form-category-empty{padding:14px 10px;font-size:13px;color:var(--text-tertiary);text-align:center}.drill-form-duration{display:flex;flex-direction:column;margin:0;gap:0}.drill-form-duration .drill-form-field-label{margin-bottom:4px}.drill-form-duration .duration-input-wrap{height:38px}.duration-input-wrap{display:flex;align-items:center;justify-content:center;height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:0 12px;gap:4px;transition:border-color .15s,background .15s}.duration-input-wrap:focus-within{border-color:var(--primary);background:var(--surface)}.duration-input{width:28px;height:100%;padding:0!important;font-size:13px;font-weight:600;border:none!important;border-radius:0!important;background:transparent!important;color:var(--text);text-align:center;min-height:unset!important;box-shadow:none!important;outline:none!important;-moz-appearance:textfield!important}.duration-input::-webkit-outer-spin-button,.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-input-unit{font-size:12px;color:var(--text-tertiary);font-weight:500}.drill-form-actions button{flex:1}.custom-item-form{padding:var(--sp-lg) var(--sp-md) var(--sp-md);margin-top:var(--sp-sm);border-top:1px solid var(--border);display:grid;gap:var(--sp-md)}.custom-item-form-row{display:grid;grid-template-columns:1fr auto;gap:var(--sp-md);align-items:start}.custom-item-form-actions button{flex:1}.drill-form-subtitle{font-size:12px;color:var(--text-tertiary);margin:4px 0 0;line-height:1.4}.detail-panel-title{font-family:DM Sans,sans-serif;font-size:var(--text-h2);font-weight:700;margin:0}.detail-panel-close{min-height:28px;padding:2px 10px;font-size:12px}.detail-text{font-size:var(--text-caption);line-height:1.5;white-space:pre-wrap}.coaching-points-list{margin:0;padding-left:18px}.coaching-points-list li{font-size:var(--text-caption);line-height:1.5}.drill-tag-pill{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:1px 8px;font-size:9px;font-weight:600}.detail-panel-actions{margin-top:var(--sp-sm)}.detail-row-label{margin-bottom:4px}.roster-you-label{margin-left:var(--sp-xs)}.detail-panel-actions button{flex:1}.pill-capitalize{text-transform:capitalize}.tag-wrap{display:flex;flex-wrap:wrap;gap:4px}.tag-swatches{display:flex;gap:6px;flex-wrap:wrap}.tag-swatch{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s ease,border-color .1s ease}.tag-swatch:hover{transform:scale(1.15)}.tag-swatch.selected{border-color:var(--text)}.spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.spinner.lg{width:32px;height:32px;border-width:3px}.loading-text{display:flex;align-items:center;justify-content:center;gap:var(--sp-sm);color:var(--text-secondary);font-family:DM Mono,SF Mono,monospace;font-size:var(--text-secondary-size);text-align:center;padding:var(--sp-xl) 0;letter-spacing:.02em}.loading-text:before{content:"";width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.branded-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-lg);animation:fade-in .4s ease both}.branded-loading-logo{width:64px;height:64px;background:var(--primary);border-radius:var(--radius-md);display:grid;place-items:center;color:#fff;font-family:DM Mono,monospace;font-size:22px;font-weight:500;letter-spacing:-.02em}.branded-loading-bar{width:120px;height:3px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.branded-loading-bar:after{content:"";display:block;width:40%;height:100%;background:var(--primary);border-radius:var(--radius-full);animation:loading-slide 1.2s ease-in-out infinite}@keyframes loading-slide{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(-100%)}}.empty-state{text-align:center;padding:var(--sp-xxl) var(--sp-lg);color:var(--text-tertiary)}.empty-state-icon{font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:var(--sp-sm)}.empty-state p{font-size:var(--text-secondary-size);margin-bottom:var(--sp-lg)}.legal-page{max-width:720px;margin:0 auto;padding:48px 48px 80px}.legal-page h1{font-size:var(--text-display);margin-bottom:var(--sp-sm)}.legal-effective{font-size:var(--text-secondary-size);color:var(--text-secondary);margin-bottom:var(--sp-xl)}.legal-toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-lg);margin-bottom:var(--sp-xxl)}.legal-toc h2{font-size:var(--text-h3);margin-bottom:var(--sp-md)}.legal-toc ol{margin:0;padding-left:var(--sp-lg);display:grid;gap:var(--sp-sm)}.legal-toc a{font-size:var(--text-secondary-size);color:var(--primary);text-decoration:none}.legal-toc a:hover{text-decoration:underline}.legal-page section{margin-bottom:var(--sp-xxl)}.legal-page section h2{font-size:var(--text-h2);margin-bottom:var(--sp-md);padding-top:var(--sp-md)}.legal-page section h3{font-size:var(--text-h3);margin-top:var(--sp-lg);margin-bottom:var(--sp-sm)}.legal-page section p{font-size:var(--text-body);line-height:1.7;color:var(--text);margin-bottom:var(--sp-md)}.legal-page section ul{padding-left:var(--sp-lg);margin-bottom:var(--sp-md)}.legal-page section ul li{font-size:var(--text-body);line-height:1.7;color:var(--text);margin-bottom:var(--sp-xs)}.pricing-hero{background:#0f1117;position:relative;overflow:hidden;padding:80px 24px;text-align:center}.pricing-hero:before{content:"";position:absolute;bottom:-40%;left:50%;width:140%;height:80%;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(232,93,42,.1) 0%,transparent 70%);pointer-events:none}.pricing-title{font-family:DM Sans,sans-serif;font-size:42px;font-weight:700;color:#fff;margin:0 0 12px;position:relative}.pricing-subtitle{font-size:17px;color:#fff9;margin:0;position:relative}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:980px;margin:-48px auto 0;padding:0 24px 80px;position:relative;z-index:1}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px 28px 28px;display:flex;flex-direction:column;transition:box-shadow .2s}.pricing-card:hover{box-shadow:var(--shadow-card-hover)}.pricing-card-popular{border:2px solid var(--primary);position:relative;box-shadow:0 8px 32px #e85d2a1f}.pricing-popular-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:12px;font-weight:600;padding:4px 14px;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.02em}.pricing-card-name{font-family:DM Sans,sans-serif;font-size:20px;font-weight:700;color:var(--text);margin:0 0 4px;text-align:center}.pricing-card-desc{font-size:13px;color:var(--text-secondary);margin:0 0 24px;text-align:center;line-height:1.4;min-height:36px}.pricing-card-price{font-family:DM Mono,monospace;font-size:44px;font-weight:500;color:var(--primary);line-height:1;height:44px;display:flex;align-items:baseline;justify-content:center;margin-bottom:4px}.pricing-card-price-period{font-family:DM Sans,sans-serif;font-size:15px;font-weight:400;color:var(--text-tertiary)}.pricing-card-billed{font-size:13px;color:var(--text-tertiary);margin-bottom:24px;text-align:center}.pricing-limits{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--surface-soft);border-radius:var(--radius-md);padding:14px 8px;margin-bottom:24px;text-align:center}.pricing-limit-value{display:block;font-family:DM Mono,monospace;font-size:16px;font-weight:500;color:var(--text);line-height:1.2;white-space:nowrap}.pricing-limit-label{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.pricing-includes{list-style:none;padding:0;margin:0;flex:1}.pricing-includes li{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:var(--text)}.pricing-check-icon{width:14px;height:14px;flex-shrink:0;color:var(--success)}.pricing-card-popular .pricing-check-icon{color:var(--primary)}.pricing-cta{display:block;width:100%;padding:13px 0;border:none;border-radius:var(--radius-md);font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:all .15s;margin-top:24px}.pricing-cta-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #e85d2a40}.pricing-cta-primary:hover{background:var(--primary-dark);box-shadow:0 4px 14px #e85d2a4d}.pricing-cta-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.pricing-cta-secondary:hover{background:var(--surface-soft)}.pricing-cta-coming-soon{background:none;color:var(--text-tertiary);font-weight:500;cursor:default}@media(max-width:900px){.pricing-grid{grid-template-columns:1fr;max-width:400px}.pricing-title{font-size:32px}.pricing-hero{padding:60px 20px}}@media(max-width:600px){.pricing-title{font-size:26px}.pricing-card{padding:24px 20px 20px}}.contact-page{max-width:440px;margin:0 auto;padding:48px 48px 80px}.contact-page h1{font-size:var(--text-display);margin-bottom:var(--sp-sm)}.contact-subtitle{font-size:var(--text-body);color:var(--text-secondary);margin-bottom:var(--sp-xl);line-height:1.6}.contact-form{display:grid;gap:var(--sp-lg)}.contact-form label{display:grid;gap:6px;font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.contact-form .required{color:var(--danger)}.contact-form textarea{resize:vertical;min-height:140px}.contact-char-count{font-size:var(--text-caption);color:var(--text-tertiary);text-align:right;font-weight:400}.contact-success{text-align:center;padding:80px 0}.contact-success h1{margin-bottom:var(--sp-md)}.contact-success p{font-size:var(--text-body);color:var(--text-secondary);margin-bottom:var(--sp-xl);line-height:1.6}.contact-success .landing-hero-primary{display:inline-flex}@media(max-width:768px){.legal-page,.contact-page{padding:32px 24px 64px}}@media print{.sidebar,.topbar,.builder-topbar .back-btn,.timeline-block-remove,.drill-drawer,.drill-drawer-backdrop,.drill-detail-modal,.drill-detail-modal-backdrop,.timeline-footer{display:none!important}.app-layout{grid-template-columns:1fr}.plan-editor{max-width:100%;padding:0}.timeline-block{break-inside:avoid}body{background:#fff}.page-content{padding:0}.main-area{background-image:none}}@media(max-width:1200px){.app-layout{grid-template-columns:1fr}.sidebar-toggle{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:100;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-dropdown)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{display:block}}@media(max-width:768px){.topbar-profile-name{display:none}.topbar-profile{padding:0;border:none}.topbar-profile-avatar{width:36px;height:36px}.cover-banner{height:160px}.cover-banner-name{font-size:22px}.cover-banner-record{font-size:14px}.cover-banner-info{left:var(--sp-md);bottom:var(--sp-md)}.page-content{padding:var(--sp-md)}.home-page{margin-top:calc(-1 * var(--sp-md));margin-left:calc(-1 * var(--sp-md));margin-right:calc(-1 * var(--sp-md))}.home-page>:not(.cover-banner){padding-left:var(--sp-md);padding-right:var(--sp-md)}}@media(max-width:980px){.two-col{grid-template-columns:1fr}}@media(max-width:768px){.drill-drawer{width:100vw}.drill-detail-modal{max-width:100%;max-height:100vh;border-radius:0}}@media(max-width:480px){.modal-overlay,.modal-backdrop{padding:var(--sp-xs)}.modal-content,.modal-panel{max-width:100%;border-radius:var(--radius-md)}.upload-modal{min-height:0;max-height:100vh;border-radius:var(--radius-md)}.upload-modal-header{padding:var(--sp-sm) var(--sp-md)}.upload-step-details{padding:var(--sp-md)}.upload-dropzone-circle{width:88px;height:88px}.upload-dropzone-circle svg{width:36px;height:36px}.page-header h1,.page-header h2{font-size:22px}.video-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.video-filter-btn{flex-shrink:0}}@media(max-width:900px){.lp-hero h1{font-size:52px!important;letter-spacing:-2px!important}.lp-hero{padding:48px 24px 56px}.lp-hero-sub{font-size:17px}.landing-nav,.lp-proof-bar{padding:16px 24px}.lp-proof-inner{flex-direction:column;gap:12px;text-align:center}.lp-proof-logos{flex-wrap:wrap;justify-content:center}.lp-card-grid,.lp-card-grid-bottom{grid-template-columns:1fr}.lp-steps-container{flex-direction:column;align-items:center;gap:48px}.lp-section-title{font-size:40px}.lp-final-cta h2,.lp-final-cta-title{font-size:44px}.lp-final-cta-sub{font-size:16px}.lp-quote-section{padding:32px 24px 64px}.lp-quote-inner{padding:36px 32px}.lp-quote{font-size:20px}.landing-footer{padding:32px 24px}.landing-footer-inner{justify-content:center;text-align:center}.landing-form-wrap{padding:32px 24px 60px}.signin-hero .lp-signin-h1{font-size:36px}.landing-nav-right{gap:16px}.landing-nav-right .landing-nav-link{font-size:13px}}@media(max-width:480px){.lp-hero h1{font-size:40px!important;letter-spacing:-1.5px!important}.lp-hero-ctas{flex-direction:column;width:100%}.lp-btn-dark,.lp-btn-outline{width:100%;text-align:center}.lp-features-dark{padding:80px 16px}.lp-feature-card{padding:28px}.lp-section-title{font-size:32px}.lp-final-cta h2,.lp-final-cta-title{font-size:36px}.lp-steps-section{padding:80px 16px}}.post-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.post-avatar-fallback{display:grid;place-items:center;background:var(--primary);color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px}.post-avatar-brand{display:grid;place-items:center;background:var(--sidebar-bg);color:#fff;font-size:14px;font-weight:700;letter-spacing:-.5px;border-radius:var(--radius-sm)}.welcome-post-body{padding:var(--sp-sm) var(--sp-lg) var(--sp-md)}.welcome-post-body h3{font-size:var(--text-h2);font-weight:700;color:var(--text);margin:0 0 var(--sp-xs)}.welcome-post-body>p{font-size:var(--text-secondary-size);color:var(--text-secondary);margin:0 0 var(--sp-md);line-height:1.5}.welcome-steps{display:flex;flex-direction:column;gap:2px}.welcome-step{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-xs);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.welcome-step:hover:not(.done){background:var(--surface-soft)}.welcome-step.done{cursor:default;opacity:.5}.welcome-step-icon{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);display:grid;place-items:center;flex-shrink:0}.welcome-step.done .welcome-step-icon{background:var(--surface-soft);color:var(--text-tertiary)}.welcome-step-text{flex:1;min-width:0}.welcome-step-text strong{display:block;font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.welcome-step.done .welcome-step-text strong{text-decoration:line-through;color:var(--text-tertiary)}.welcome-step-text span{font-size:var(--text-caption);color:var(--text-tertiary);line-height:1.4}.welcome-step-arrow{color:var(--text-tertiary);flex-shrink:0;transition:color .12s,transform .12s}.welcome-step:hover:not(.done) .welcome-step-arrow{color:var(--primary);transform:translate(2px)}.welcome-cta{display:block;width:100%;text-align:center;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-secondary-size);font-weight:600;cursor:pointer;text-decoration:none;min-height:unset;transition:background .15s}.welcome-cta:hover{background:var(--primary-dark)}.post-composer-trigger{display:flex;align-items:center;gap:var(--sp-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md) var(--sp-lg);cursor:pointer;transition:border-color .12s ease;margin-bottom:var(--sp-md)}.post-composer-trigger:hover{border-color:var(--border-strong)}.post-composer-placeholder{flex:1;color:var(--text-tertiary);font-size:var(--text-body);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-full);padding:var(--sp-sm) var(--sp-lg);transition:background .12s ease}.post-composer-trigger:hover .post-composer-placeholder{background:var(--border)}.post-composer-overlay{position:fixed;inset:0;z-index:1000;background:#00000073;display:grid;place-items:center}.post-composer-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column}.post-composer-modal-header{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--sp-lg) var(--sp-xl)}.post-composer-modal-title{font-size:var(--text-h3);font-weight:700;color:var(--text)}.post-composer-modal-header .post-composer-close{position:absolute;right:var(--sp-lg)}.post-composer-modal-divider{height:1px;background:var(--border)}.post-composer-modal-author{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-lg) var(--sp-xl) 0}.post-composer-label{font-size:var(--text-body);font-weight:600;color:var(--text)}.post-composer-close{background:var(--surface-soft);border:none;width:36px;height:36px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;min-height:auto;line-height:1;transition:background .12s ease}.post-composer-close:hover{background:var(--border);color:var(--text)}.post-composer-textarea{display:block;width:100%;min-height:160px;padding:var(--sp-md) var(--sp-xl);border:none;outline:none;box-shadow:none;resize:none;font-family:DM Sans,sans-serif;font-size:18px;line-height:1.6;color:var(--text);background:transparent;border-radius:0}.post-composer-textarea:focus{border:none;box-shadow:none}.post-composer-textarea::placeholder{color:var(--text-tertiary)}.post-composer-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-sm) var(--sp-xl) var(--sp-lg);gap:var(--sp-sm)}.post-composer-toolbar{display:flex;gap:var(--sp-xs)}.composer-tool-btn{width:36px;height:36px;min-height:unset;padding:0;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.composer-tool-btn:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.composer-tool-btn:disabled{opacity:.3;cursor:default}label.composer-tool-btn{cursor:pointer}.composer-tool-btn--labeled{width:auto;padding:0 var(--sp-sm);gap:4px;font-size:var(--text-caption);font-weight:500}.composer-image-previews{display:flex;gap:var(--sp-sm);padding:0 var(--sp-xl) var(--sp-sm);overflow-x:auto}.composer-image-preview{position:relative;width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background-color:var(--surface-soft);border:1px solid var(--border)}.composer-image-preview img{width:100%;height:100%;object-fit:cover}.composer-image-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;min-height:unset;padding:0;border-radius:50%;background:#0009;color:#fff;border:none;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.composer-image-remove:hover{background:#000c}.composer-poll{margin:0 var(--sp-xl) var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft)}.composer-poll-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-sm)}.composer-poll-title{font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.composer-poll-remove{min-height:unset;padding:0;width:24px;height:24px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px}.composer-poll-remove:hover{color:var(--text);background:none}.composer-poll-question{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-sm);font-size:var(--text-secondary-size);font-family:inherit;margin-bottom:var(--sp-sm);outline:none}.composer-poll-question:focus{border-color:var(--primary)}.composer-poll-option{display:flex;gap:var(--sp-xs);margin-bottom:var(--sp-xs)}.composer-poll-option input{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px var(--sp-sm);font-size:var(--text-secondary-size);font-family:inherit;outline:none}.composer-poll-option input:focus{border-color:var(--primary)}.composer-poll-opt-remove{min-height:unset;padding:0;width:24px;height:24px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px}.composer-poll-opt-remove:hover{color:var(--danger);background:none}.composer-poll-add{margin-top:var(--sp-xs);font-size:var(--text-caption)}.composer-poll-multi{display:flex;align-items:center;gap:var(--sp-sm);margin-top:var(--sp-sm);font-size:var(--text-caption);color:var(--text-secondary);cursor:pointer}.composer-poll-multi input[type=checkbox]{accent-color:var(--primary)}.composer-error{display:flex;align-items:center;justify-content:space-between;margin:0 var(--sp-xl);padding:var(--sp-sm) var(--sp-md);background:var(--danger-light);border:1px solid rgba(229,57,53,.2);border-radius:var(--radius-sm);font-size:var(--text-caption);color:var(--danger)}.composer-error button{min-height:unset;padding:0;width:20px;height:20px;background:none;border:none;color:var(--danger);cursor:pointer;font-size:14px}.composer-error button:hover{background:none;opacity:.7}.composer-attachments{display:flex;flex-direction:column;gap:var(--sp-xs);padding:0 var(--sp-xl) var(--sp-sm)}.composer-attachment{display:flex;align-items:center;gap:var(--sp-sm);padding:6px var(--sp-sm);background:var(--surface-soft);border-radius:var(--radius-sm);font-size:var(--text-caption);color:var(--text-secondary)}.composer-attachment-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500}.composer-attachment-size{flex-shrink:0;color:var(--text-tertiary)}.composer-attachment-remove{min-height:unset;padding:0;width:20px;height:20px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;flex-shrink:0}.composer-attachment-remove:hover{color:var(--danger);background:none}.post-composer-submit{background:var(--primary);border:none;border-radius:var(--radius-full);font-size:var(--text-secondary-size);font-weight:600;color:#fff;cursor:pointer;padding:var(--sp-sm) var(--sp-lg);min-height:auto;transition:background .12s ease,opacity .12s ease}.post-composer-submit:hover:not(:disabled){background:var(--primary-dark)}.post-composer-submit:disabled{background:var(--surface-soft);color:var(--text-secondary);opacity:.5;cursor:default}.post-feed{display:flex;flex-direction:column}.post-uploading-bar{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);font-size:var(--text-caption);color:var(--text-secondary);background:var(--primary-light);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:1px solid var(--border);border-bottom:none;margin-top:var(--sp-md)}.post-uploading-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--sp-md)}.post-header{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg) 0}.post-header-text{flex:1;display:flex;flex-direction:column}.post-author{font-size:var(--text-body);font-weight:600;color:var(--text)}.post-time{font-family:DM Mono,monospace;font-size:var(--text-caption);color:var(--text-tertiary)}.post-content{padding:var(--sp-sm) var(--sp-lg) var(--sp-md);font-size:var(--text-body);line-height:1.55;color:var(--text);margin:0;white-space:pre-wrap;word-break:break-word}.post-link{color:var(--primary);text-decoration:none}.post-link:hover{text-decoration:underline}.post-image-wrap{padding:0 var(--sp-lg) var(--sp-md)}.post-image{width:100%;max-height:400px;object-fit:cover;border-radius:var(--radius-sm);display:block}.post-image-grid{display:grid;gap:4px;padding:0 var(--sp-lg) var(--sp-md)}.post-image-grid-1{grid-template-columns:1fr}.post-image-grid-2{grid-template-columns:1fr 1fr}.post-image-grid-2 .post-image{aspect-ratio:1}.post-image-grid-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.post-image-grid-3 .post-image:first-child{grid-row:1 / 3;aspect-ratio:2 / 3;height:100%}.post-image-grid-3 .post-image:nth-child(2),.post-image-grid-3 .post-image:nth-child(3){aspect-ratio:1}.post-image-grid-4{grid-template-columns:1fr 1fr}.post-image-grid-4 .post-image{aspect-ratio:1}.post-attachments{display:flex;flex-direction:column;gap:4px;padding:0 var(--sp-lg) var(--sp-md)}.post-attachment-chip{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);border:1px solid var(--border);text-decoration:none;color:inherit;transition:background-color .15s}.post-attachment-chip:hover{background-color:var(--bg-hover)}.post-attachment-name{flex:1;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-attachment-size{font-size:.75rem;color:var(--text-tertiary)}.post-link-previews{padding:0 var(--sp-lg) var(--sp-md)}.post-link-preview-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s}.post-link-preview-card:hover{box-shadow:0 2px 8px #00000014}.post-link-preview-image{width:100%;height:160px;object-fit:cover}.post-link-preview-text{display:flex;flex-direction:column;gap:2px;padding:var(--sp-sm)}.post-link-preview-site{font-size:.7rem;text-transform:uppercase;color:var(--text-tertiary)}.post-link-preview-title{font-size:.9rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-link-preview-desc{font-size:.8rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-poll{padding:var(--sp-sm) var(--sp-lg) var(--sp-md);display:flex;flex-direction:column;gap:6px}.post-poll-question{font-weight:600;font-size:.95rem;margin-bottom:4px}.post-poll-option{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-sm);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:border-color .12s,background .12s}.post-poll-option:hover{border-color:var(--border-strong);background:var(--surface-soft)}.post-poll-option.voted{border-color:var(--primary);background:var(--primary-light)}.post-poll-bar{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-light, rgba(59, 130, 246, .1));transition:width .3s ease}.post-poll-label{position:relative;font-size:.9rem}.post-poll-pct{position:relative;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.post-poll-footer{font-size:.75rem;color:var(--text-tertiary);margin-top:2px}.post-action-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-sm) var(--sp-lg);border-top:1px solid var(--border)}.post-action-bar-left{display:flex;gap:var(--sp-lg)}.post-action-text{background:none;border:none;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:600;color:var(--text-secondary);cursor:pointer;padding:var(--sp-sm) 0;min-height:auto;border-radius:0;letter-spacing:normal}.post-action-text:hover{background:none;color:var(--text)}.post-action-text:active{background:none}.post-action-text.active{color:var(--primary)}.post-action-bar-right{display:flex;align-items:center;gap:var(--sp-md)}.post-count{font-size:var(--text-caption);color:var(--text-secondary)}.post-menu-wrap{position:relative}.post-menu-btn{background:none;border:none;padding:var(--sp-xs) var(--sp-sm);font-size:16px;font-weight:700;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);min-height:auto;line-height:1;letter-spacing:1px}.post-menu-btn:hover,.post-menu-btn:active{background:var(--surface-soft);color:var(--text-secondary)}.post-menu{position:absolute;right:0;top:100%;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);min-width:160px;padding:var(--sp-xs) 0}.post-menu button{display:block;width:100%;text-align:left;padding:var(--sp-sm) var(--sp-md);background:none;border:none;font-size:var(--text-secondary-size);color:var(--text);cursor:pointer;min-height:auto}.post-menu button:hover{background:var(--surface-soft)}.post-menu button.danger{color:var(--danger)}.post-edit-wrap{padding:var(--sp-sm) var(--sp-lg) var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-sm)}.post-edit-wrap textarea{font-family:DM Sans,sans-serif;font-size:var(--text-body);line-height:1.5;resize:vertical}.post-edit-actions{display:flex;justify-content:flex-end;gap:var(--sp-sm)}.post-comments-inline{padding:0 var(--sp-lg) var(--sp-md);border-top:1px solid var(--border)}.comment-row{display:flex;gap:var(--sp-sm);padding:var(--sp-sm) 0;align-items:flex-start}.comment-row .post-avatar{width:32px;height:32px;font-size:12px}.comment-body{flex:1;min-width:0}.comment-author{font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.comment-text{font-size:var(--text-secondary-size);color:var(--text);margin:2px 0 0;line-height:1.45;word-break:break-word}.comment-time{font-family:DM Mono,monospace;font-size:var(--text-caption);color:var(--text-tertiary);flex-shrink:0;white-space:nowrap;padding-top:2px}.comment-delete{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px 4px;font-size:14px;border-radius:var(--radius-sm);min-height:auto;line-height:1;flex-shrink:0;opacity:0;transition:opacity .12s ease}.comment-row:hover .comment-delete{opacity:1}.comment-delete:hover,.comment-delete:active{background:none;color:var(--danger)}.comment-input-row{display:flex;gap:var(--sp-sm);align-items:center;padding-top:var(--sp-sm)}.comment-input-row input{flex:1;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-full);padding:var(--sp-xs) var(--sp-md);font-size:var(--text-secondary-size);outline:none}.comment-input-row input:focus{border-color:var(--border-strong)}.comment-send-btn{background:none;border:none;font-family:DM Sans,sans-serif;font-size:var(--text-secondary-size);font-weight:600;color:var(--primary);cursor:pointer;padding:var(--sp-xs) var(--sp-sm);min-height:auto}.comment-send-btn:hover,.comment-send-btn:active{background:none}.comment-send-btn:disabled{color:var(--text-tertiary);cursor:default}.full-width{width:100%}.confirm-overlay{position:fixed;inset:0;z-index:1100;background:#00000073;display:grid;place-items:center}.confirm-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:0 8px 32px #0003;padding:var(--sp-xl);text-align:center}.confirm-message{font-size:var(--text-body);font-weight:600;color:var(--text);margin:0 0 var(--sp-xl)}.confirm-actions{display:flex;gap:var(--sp-sm)}.confirm-cancel{flex:1;background:var(--surface-soft);border:1px solid var(--border);color:var(--text);font-weight:600;border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md)}.confirm-cancel:hover{background:var(--border)}.confirm-delete{flex:1;background:var(--danger);color:#fff;font-weight:600;border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md)}.confirm-delete:hover{opacity:.9}.notification-bell-wrap{position:relative}.notification-bell-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;position:relative;padding:0;min-height:auto;box-shadow:var(--shadow-card);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.notification-bell-btn:hover{background:var(--surface-soft);border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.notification-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:var(--radius-full);background:var(--danger);color:#fff;font-family:DM Sans,sans-serif;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}.notification-panel{position:absolute;top:calc(100% + 4px);right:0;width:360px;max-height:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:200;display:flex;flex-direction:column;overflow:hidden}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border);flex-shrink:0}.notification-panel-title{font-family:DM Sans,sans-serif;font-size:var(--text-body);font-weight:700;color:var(--text)}.notification-mark-all{background:none;border:none;font-family:DM Sans,sans-serif;font-size:var(--text-caption);font-weight:600;color:var(--primary);cursor:pointer;padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);min-height:auto}.notification-mark-all:hover{background:var(--primary-light)}.notification-panel-list{overflow-y:auto;flex:1}.notification-empty{padding:var(--sp-xl);text-align:center;font-size:var(--text-secondary-size);color:var(--text-tertiary)}.notification-item{display:flex;align-items:flex-start;gap:var(--sp-sm);width:100%;padding:var(--sp-md) var(--sp-lg);border:none;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;font-family:DM Sans,sans-serif;min-height:auto;transition:background .12s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--surface-soft)}.notification-unread{background:var(--primary-light)}.notification-unread:hover{background:var(--primary-glow)}.notification-item-icon{flex-shrink:0;color:var(--text-secondary);margin-top:2px}.notification-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-item-message{font-size:var(--text-secondary-size);font-weight:500;color:var(--text);line-height:1.35}.notification-item-preview{font-size:var(--text-caption);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item-time{font-size:var(--text-caption);color:var(--text-tertiary)}.notification-unread-dot{flex-shrink:0;width:8px;height:8px;border-radius:var(--radius-full);background:var(--primary);margin-top:6px}@media(max-width:768px){.notification-panel{width:300px;right:-40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.print-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) var(--sp-lg);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.print-back-link{color:var(--text-secondary);text-decoration:none;font-size:var(--text-secondary-size);font-weight:500}.print-back-link:hover{color:var(--text)}.print-btn{background:var(--primary);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius-md);font-size:var(--text-button);font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif}.print-btn:hover{background:var(--primary-dark)}.printable-flyer{max-width:680px;margin:0 auto;padding:0 48px 40px;background:#fff;font-family:DM Sans,sans-serif;color:var(--text)}.flyer-accent-bar{height:6px;background:var(--primary);margin:0 -48px 40px}.flyer-hero{text-align:center;margin-bottom:8px}.flyer-team-name{font-size:36px;font-weight:800;margin:0 0 4px;letter-spacing:-1px;color:var(--text)}.flyer-team-meta{font-size:15px;color:var(--text-secondary);margin:0}.flyer-headline{text-align:center;font-size:17px;color:var(--text-secondary);margin:0 0 28px}.flyer-join-row{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:36px}.flyer-join-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px solid var(--border-strong);border-radius:var(--radius-lg)}.flyer-join-qr-card{padding:20px 28px}.flyer-join-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-tertiary)}.flyer-join-code{font-size:44px;font-weight:800;letter-spacing:6px;color:var(--text);font-family:DM Mono,monospace}.flyer-steps-section{margin-bottom:36px}.flyer-steps-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin:0 0 16px}.flyer-steps-grid{display:grid;gap:12px}.flyer-step{display:flex;align-items:flex-start;gap:14px}.flyer-step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.flyer-step-text{font-size:15px;line-height:1.5;color:var(--text-secondary);margin:2px 0 0}.flyer-step-text strong{color:var(--text)}.flyer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border)}.flyer-footer-brand{display:flex;align-items:center;gap:8px}.flyer-logo-icon{width:28px;height:28px;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center}.flyer-logo-icon span{color:#fff;font-size:10px;font-weight:700;letter-spacing:-.5px}.flyer-footer-text{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.5px}.flyer-footer-text span{color:var(--primary)}.flyer-footer-url{font-size:14px;font-weight:600;color:var(--text-secondary)}.team-switch-skeleton{animation:fade-in .2s ease both}.switch-fade-in{animation:switch-fade .35s ease both}@keyframes switch-fade{0%{opacity:0}to{opacity:1}}.nav-link-skeleton{display:flex;align-items:center;gap:var(--sp-sm);padding:10px 12px}.topbar-profile-name-skeleton{display:none}@media(min-width:769px){.topbar-profile-name-skeleton{display:block}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,#0000000f,#0000001a,#0000000f 80%);background-size:800px 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-line{height:14px;border-radius:4px}.skeleton-line-sm{height:10px;border-radius:3px}.skeleton-line-lg{height:20px;border-radius:4px}.skeleton-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.skeleton-card-thumb{aspect-ratio:16 / 9;background:currentColor;opacity:.06;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-card-body{padding:var(--sp-sm) var(--sp-md) var(--sp-md);display:grid;gap:8px}.skeleton-row{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.skeleton-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-md)}.skeleton-stack{display:grid;gap:var(--sp-sm)}.skeleton-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.skeleton-cal-cell{aspect-ratio:1;background:currentColor;opacity:.04;border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-composer{height:80px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.skeleton-post{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:var(--sp-md) var(--sp-lg);display:grid;gap:12px}.skeleton-stack>:nth-child(2) .skeleton,.skeleton-grid>:nth-child(2) .skeleton-card-thumb{animation-delay:.15s}.skeleton-stack>:nth-child(3) .skeleton,.skeleton-grid>:nth-child(3) .skeleton-card-thumb{animation-delay:.3s}@media print{.no-print{display:none!important}body{margin:0;padding:0;background:#fff}.printable-flyer{max-width:none;padding:0 40px 24px;margin:0;box-shadow:none}.flyer-accent-bar{margin-left:-40px;margin-right:-40px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.flyer-step-num,.flyer-logo-icon{-webkit-print-color-adjust:exact;print-color-adjust:exact}.flyer-join-card{border-color:#333}.flyer-join-code{color:#000}@page{margin:.5in;size:letter}}.upload-modal{max-width:960px;max-height:90vh;min-height:600px;padding:0;gap:0;display:flex;flex-direction:column}.upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border);flex-shrink:0}.upload-modal-heading{font-family:DM Sans,sans-serif;font-size:var(--text-lg);font-weight:700;color:var(--text);margin:0}.upload-modal .modal-close{position:static;flex-shrink:0}.upload-step-select{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;background:var(--surface-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg);cursor:pointer;position:relative}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-md);padding:var(--sp-xxl) var(--sp-lg)}.upload-dropzone-circle{width:120px;height:120px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-sm)}.upload-dropzone-circle svg{color:var(--text-tertiary)}.upload-dropzone:hover .upload-dropzone-circle,.upload-dropzone-active .upload-dropzone-circle{background:var(--surface)}.upload-dropzone:hover .upload-dropzone-circle svg,.upload-dropzone-active .upload-dropzone-circle svg{color:var(--text-secondary)}.stats-page-header{display:flex;align-items:center;gap:var(--sp-md)}.stats-header-actions{display:flex;align-items:center;gap:var(--sp-sm)}.stats-table-wrap{overflow-x:auto;position:relative;border:1px solid var(--border);border-radius:var(--radius-md)}.stats-table{width:100%;border-collapse:collapse;font-size:var(--text-secondary-size)}.stats-table th{position:sticky;top:0;z-index:1;background:var(--surface);font-family:DM Mono,monospace;font-size:var(--text-overline);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;text-align:center;padding:10px 6px;min-width:56px;max-width:72px;border-bottom:2px solid var(--border);white-space:nowrap}.stats-table td{text-align:center;padding:0;border-bottom:1px solid var(--border);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent);vertical-align:middle;background:var(--bg)}.stats-table td:last-child{border-right:none}.stats-table tbody tr:hover td,.stats-table tbody tr:hover .player-col{background:var(--surface-soft)}.stats-table .player-col{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;min-width:160px;max-width:200px;padding:6px var(--sp-sm);white-space:nowrap;border-right:2px solid var(--border)}.stats-table thead .player-col{z-index:3}.stats-table .dnp-col{min-width:40px;max-width:40px;text-align:center;background:var(--surface);border-right:2px solid var(--border)}.player-cell{display:flex;align-items:center;gap:var(--sp-xs)}.jersey-num{font-family:DM Mono,monospace;font-size:var(--text-caption);color:var(--text-tertiary);min-width:28px}.stat-input{width:100%;height:36px;padding:0 4px;text-align:center;border:none;border-radius:0;background:transparent;font-size:var(--text-secondary-size);font-family:DM Mono,monospace;transition:background 80ms ease;-moz-appearance:textfield;cursor:text}.stat-input::placeholder{color:var(--text-tertiary);opacity:.4}.stat-input::-webkit-outer-spin-button,.stat-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stat-input:focus{outline:none;background:var(--primary-light);box-shadow:inset 0 0 0 2px var(--primary)}.upload-dropzone-text{font-size:var(--text-body);color:var(--text-secondary);margin:0}.upload-dropzone-hint{font-size:var(--text-caption);color:var(--text-tertiary);margin:0}.upload-select-files-btn{margin-top:var(--sp-sm);border-radius:20px}.upload-error{color:var(--danger);font-size:var(--text-sm);margin:0}.upload-terms{font-size:var(--text-caption);color:var(--text-tertiary);margin:0;padding:0 var(--sp-lg) var(--sp-lg);text-align:center;position:absolute;bottom:0;left:0;right:0}.upload-terms a{color:var(--text-secondary);text-decoration:underline}.upload-step-details{display:grid;gap:var(--sp-md);padding:var(--sp-lg);overflow-y:auto;flex:1}.upload-file-preview{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm);background:var(--surface-soft);border-radius:var(--radius-md)}.upload-thumbnail{width:96px;height:54px;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-soft);flex-shrink:0}.upload-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.upload-file-info{display:flex;flex-direction:column;gap:2px;min-width:0}.upload-file-name{font-size:var(--text-sm);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-file-meta{font-size:var(--text-caption);color:var(--text-tertiary)}.upload-file-duration{font-size:var(--text-body);font-weight:600;color:var(--text)}.upload-file-size{font-size:var(--text-caption);color:var(--text-tertiary)}.upload-form{display:grid;gap:var(--sp-md)}.upload-label{display:flex;flex-direction:column;gap:var(--sp-xs);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);position:relative}.upload-label .required{color:var(--danger)}.upload-input{padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--text);background:var(--surface);font-family:DM Sans,sans-serif}.upload-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.upload-textarea{padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--text);background:var(--surface);font-family:DM Sans,sans-serif;resize:vertical;min-height:60px}.upload-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.upload-category-picker{display:flex;gap:6px}.upload-category-btn{flex:1;padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--text-secondary-size);font-weight:500;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.upload-category-btn:hover{border-color:var(--border-strong);background:var(--surface-soft)}.upload-category-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.upload-char-count{position:absolute;right:0;top:0;font-size:var(--text-caption);color:var(--text-tertiary);font-weight:400}.upload-event-picker{position:relative}.upload-event-search{width:100%;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--text);background:var(--surface);box-sizing:border-box}.upload-event-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.upload-event-dropdown{position:absolute;left:0;right:0;bottom:100%;margin-bottom:4px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-dropdown);box-shadow:0 4px 12px #0000001a;z-index:10}.upload-event-empty{padding:var(--sp-md);text-align:center;color:var(--text-tertiary);font-size:var(--text-secondary-size);margin:0}.upload-event-item{display:flex;align-items:center;gap:var(--sp-sm);width:100%;padding:var(--sp-sm) var(--sp-md);border:none;background:transparent;cursor:pointer;text-align:left;font-size:var(--text-secondary-size);color:var(--text);transition:background .1s ease}.upload-event-item:not(:last-child){border-bottom:1px solid var(--border)}.upload-event-item:hover{background:var(--surface-soft)}.upload-event-selected{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary-light);font-size:var(--text-secondary-size)}.upload-event-check{color:var(--primary);flex-shrink:0}.upload-event-selected-date{font-size:var(--text-caption);color:var(--text-tertiary);flex-shrink:0}.upload-event-selected-title{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-event-clear{border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:18px;line-height:1;padding:0 2px;flex-shrink:0}.upload-event-clear:hover{color:var(--text)}.upload-event-date{font-size:var(--text-caption);color:var(--text-tertiary);min-width:52px;flex-shrink:0}.upload-event-title{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-event-opponent{font-size:var(--text-caption);color:var(--text-secondary);flex-shrink:0}.upload-form-actions{display:flex;justify-content:flex-end;gap:var(--sp-sm);padding-top:var(--sp-sm)}.upload-step-progress{display:grid;gap:var(--sp-md);text-align:center;padding:var(--sp-xxl) var(--sp-lg);flex:1;align-content:center}.upload-progress-area{display:grid;gap:var(--sp-xs)}.upload-progress-bar-track{width:100%;height:8px;background:var(--surface-soft);border-radius:4px;overflow:hidden}.upload-progress-bar-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.upload-progress-info{display:flex;justify-content:space-between;align-items:center}.upload-progress-percent{font-size:var(--text-lg);font-weight:700;color:var(--text)}.upload-progress-eta,.upload-progress-detail{font-size:var(--text-caption);color:var(--text-tertiary)}.upload-error-icon{color:var(--danger);display:flex;justify-content:center}.upload-error-message{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.upload-step-success{display:grid;gap:var(--sp-md);text-align:center;padding:var(--sp-xxl) var(--sp-lg);flex:1;align-content:center}.upload-success-icon{color:var(--success);display:flex;justify-content:center}.upload-success-title{font-size:var(--text-body);color:var(--text-secondary);margin:0}.upload-banner{position:relative;display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--primary-light);border-bottom:1px solid var(--border);font-size:var(--text-sm);animation:banner-slide-in .2s ease both}@keyframes banner-slide-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.upload-banner-content{display:flex;align-items:center;gap:var(--sp-sm);flex:1;min-width:0}.upload-banner-icon{color:var(--primary);flex-shrink:0}.upload-banner-filename{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.upload-banner-status{color:var(--text-secondary);white-space:nowrap}.upload-banner-eta{color:var(--text-tertiary);white-space:nowrap}.upload-banner-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--surface-soft)}.upload-banner-bar-fill{height:100%;background:var(--primary);transition:width .3s ease}.upload-banner-cancel{flex-shrink:0;width:24px;min-height:24px;padding:0;font-size:16px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.upload-banner-cancel:hover{background:var(--surface-soft);color:var(--text);transform:none}.upload-toast{position:fixed;top:var(--sp-md);right:var(--sp-md);display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--surface);border:1px solid var(--success);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);z-index:200;cursor:pointer;animation:toast-in .3s cubic-bezier(.16,1,.3,1) both;max-width:380px}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.upload-toast-icon{color:var(--success);flex-shrink:0}.upload-toast-text{font-size:var(--text-sm);color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-toast-dismiss{flex-shrink:0;width:24px;min-height:24px;padding:0;font-size:16px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.upload-toast-dismiss:hover{background:var(--surface-soft);color:var(--text);transform:none}.stat-input:hover:not(:focus):not(:disabled){background:var(--surface-hover)}.stat-input-text{max-width:100px}.stat-cell-readonly{font-family:DM Mono,monospace;font-size:var(--text-secondary-size);color:var(--text)}.stats-table tr.dnp-row td:not(.player-col):not(.dnp-col){opacity:.3;pointer-events:none}.stats-table tr.dnp-row .player-col{opacity:.5}.stats-table .totals-row td{position:sticky;bottom:0;background:var(--surface);font-weight:700;font-family:DM Mono,monospace;border-top:2px solid var(--border);border-bottom:none;padding:8px 4px}.stats-table tfoot tr:hover td{background:var(--surface)}.stats-table .totals-row .player-col{z-index:3}.stats-summary-card{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background .1s ease,border-color .1s ease}.stats-summary-card:hover{background:var(--surface-soft);border-color:var(--border-strong)}.stats-summary-info{flex:1;display:flex;flex-direction:column;gap:2px}.stats-summary-arrow{color:var(--text-tertiary);font-size:18px}.customize-panel{display:grid;gap:var(--sp-md)}.customize-hint{margin:0;font-size:var(--text-caption);color:var(--text-tertiary)}.customize-list{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.customize-item{display:flex;align-items:center;gap:var(--sp-sm);padding:10px var(--sp-md);background:var(--surface)}.customize-item-off{background:var(--surface-soft)}.customize-item-off .customize-item-abbrev,.customize-item-off .customize-item-name{opacity:.4}.customize-item-reorder{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.customize-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:16px;padding:0;border:none;background:none;color:var(--text-tertiary);cursor:pointer;border-radius:3px}.customize-arrow:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.customize-arrow:disabled{opacity:.15;cursor:default}.customize-item-abbrev{font-family:DM Mono,monospace;font-size:var(--text-caption);font-weight:600;color:var(--text);background:var(--surface-soft);padding:2px 8px;border-radius:var(--radius-sm);min-width:44px;text-align:center;letter-spacing:.5px;flex-shrink:0}.customize-item-name{flex:1;font-size:var(--text-secondary-size);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customize-item-type{font-size:var(--text-caption);color:var(--text-tertiary);flex-shrink:0}.customize-item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.customize-item-delete:hover{color:var(--danger);background:var(--danger-light)}.customize-item-confirm{display:flex;gap:var(--sp-xs);flex-shrink:0}.ss-toggle{position:relative;flex-shrink:0;cursor:pointer}.ss-toggle input{position:absolute;opacity:0;width:0;height:0}.ss-toggle-track{display:block;width:36px;height:20px;border-radius:10px;background:var(--border-strong);transition:background .15s ease;position:relative}.ss-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .15s ease}.ss-toggle input:checked+.ss-toggle-track{background:var(--primary)}.ss-toggle input:checked+.ss-toggle-track:after{transform:translate(16px)}.customize-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-xs);padding:10px;border:2px dashed var(--border);border-radius:var(--radius-md);background:none;color:var(--text-secondary);font-size:var(--text-secondary-size);font-weight:500;cursor:pointer;transition:all .1s ease}.customize-add-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.customize-add-form{display:grid;gap:var(--sp-sm);padding:var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}.customize-add-inputs{display:flex;gap:var(--sp-sm)}.customize-add-inputs input:first-child{flex:1}.customize-add-abbrev{width:80px;text-transform:uppercase;font-family:DM Mono,monospace;text-align:center;letter-spacing:1px}.customize-add-actions{display:flex;gap:var(--sp-sm)}.ss-type-picker{display:flex;gap:4px}.ss-type-btn{flex:1;padding:6px 8px;font-size:var(--text-caption);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .1s ease;font-weight:500}.ss-type-btn:hover{border-color:var(--border-strong)}.ss-type-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.game-home-away{display:flex;flex-direction:column;gap:var(--sp-xs)}.form-label-text{font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.home-away-toggle{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.home-away-btn{padding:var(--sp-sm) var(--sp-md);font-size:var(--text-secondary-size);font-weight:500;background:var(--surface);color:var(--text-secondary);border:none;cursor:pointer;transition:all .15s;text-align:center}.home-away-btn:first-child{border-right:1px solid var(--border)}.home-away-btn.active{background:var(--primary-light);color:var(--primary);font-weight:600}.home-away-btn:hover:not(.active){background:var(--surface-soft)}.game-score-row{display:flex;align-items:center;gap:var(--sp-md);justify-content:center}.game-score-team{display:flex;flex-direction:column;align-items:center;gap:var(--sp-xs);flex:1}.game-score-label{font-size:var(--text-secondary-size);font-weight:600;color:var(--text);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.game-score-input{width:72px;text-align:center;font-size:var(--text-h2);font-weight:700;padding:var(--sp-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;-moz-appearance:textfield}.game-score-input::-webkit-inner-spin-button,.game-score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.game-score-input:focus{border-color:var(--primary)}.game-score-divider{font-size:var(--text-h1);font-weight:300;color:var(--text-tertiary);padding-top:var(--sp-lg)}.time-picker{position:relative}.time-picker-input{width:100%;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-body);font-family:inherit;background:var(--surface);color:var(--text);cursor:pointer;outline:none}.time-picker-input:focus{border-color:var(--primary)}.time-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);z-index:100}.time-picker-option{padding:var(--sp-sm) var(--sp-md);font-size:var(--text-body);cursor:pointer;color:var(--text)}.time-picker-option:hover{background:var(--surface-soft)}.time-picker-option.selected{color:var(--primary);font-weight:600;background:#e85d2a0f}.time-picker-empty{padding:var(--sp-sm) var(--sp-md);font-size:var(--text-secondary-size);color:var(--text-tertiary);font-style:italic}.cal-date-picker{position:relative}.cal-date-picker label{cursor:pointer}.cal-date-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-body);background:var(--surface);color:var(--text);font-weight:500;cursor:pointer;transition:border-color .15s;min-height:44px}.cal-date-trigger svg{color:var(--text-tertiary);flex-shrink:0;transition:color .15s}.cal-date-trigger:hover{border-color:var(--primary)}.cal-date-trigger:hover svg,.cal-date-trigger.open svg{color:var(--primary)}.cal-date-trigger.open{border-color:var(--primary)}.cal-date-picker .pb-calendar{left:0;right:auto;min-width:280px}.ai-chat{display:flex;flex-direction:column;height:calc(100vh - 60px);height:calc(100dvh - 60px);margin:calc(-1 * var(--sp-lg));overflow:hidden}.ai-chat-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--sp-lg);padding-bottom:var(--sp-md);border-bottom:1px solid var(--border);flex-shrink:0}.ai-chat-header h1{font-size:var(--text-h1);font-weight:700;margin:0}.ai-new-chat{font-size:var(--text-secondary-size);color:var(--text-secondary);padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface)}.ai-new-chat:hover{background:var(--surface-soft);color:var(--text)}.ai-messages{flex:1;overflow-y:auto;padding:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-md)}.ai-message{display:flex;gap:var(--sp-sm);max-width:800px}.ai-message-user{align-self:flex-end;flex-direction:row-reverse}.ai-message-assistant{align-self:flex-start}.ai-message-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.ai-message-content{padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-md);line-height:1.55;font-size:var(--text-body)}.ai-message-user .ai-message-content{background:var(--primary);color:#fff;border-bottom-right-radius:var(--sp-xs)}.ai-message-user .ai-message-content p{margin:0}.ai-message-assistant .ai-message-content{background:var(--surface-soft);color:var(--text);border-bottom-left-radius:var(--sp-xs)}.ai-message-assistant .ai-message-content p{margin:0 0 var(--sp-sm)}.ai-message-assistant .ai-message-content p:last-child{margin-bottom:0}.ai-message-assistant .ai-message-content ul,.ai-message-assistant .ai-message-content ol{margin:0 0 var(--sp-sm);padding-left:var(--sp-lg)}.ai-message-assistant .ai-message-content li{margin-bottom:var(--sp-xs)}.ai-message-assistant .ai-message-content table{border-collapse:collapse;width:100%;margin:var(--sp-sm) 0;font-size:var(--text-secondary-size)}.ai-message-assistant .ai-message-content th,.ai-message-assistant .ai-message-content td{border:1px solid var(--border);padding:var(--sp-xs) var(--sp-sm);text-align:left}.ai-message-assistant .ai-message-content th{background:var(--surface);font-weight:600}.ai-message-assistant .ai-message-content code{background:var(--surface);padding:1px 4px;border-radius:3px;font-family:DM Mono,monospace;font-size:.9em}.ai-message-assistant .ai-message-content pre{background:var(--surface);padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-sm);overflow-x:auto;margin:var(--sp-sm) 0}.ai-message-assistant .ai-message-content pre code{background:none;padding:0}.ai-message-assistant .ai-message-content strong{font-weight:600}.ai-message-assistant .ai-message-content h1,.ai-message-assistant .ai-message-content h2,.ai-message-assistant .ai-message-content h3{font-weight:600;margin:var(--sp-md) 0 var(--sp-sm)}.ai-message-assistant .ai-message-content h1:first-child,.ai-message-assistant .ai-message-content h2:first-child,.ai-message-assistant .ai-message-content h3:first-child{margin-top:0}.ai-tool-badges{display:flex;flex-wrap:wrap;gap:var(--sp-xs);margin-top:var(--sp-sm)}.ai-tool-badge{font-size:var(--text-caption);padding:2px 8px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-weight:500}.ai-action-link{display:inline-flex;align-items:center;gap:4px;margin-top:var(--sp-sm);padding:6px 12px;font-size:var(--text-secondary-size);font-weight:600;color:var(--primary);background:var(--primary-light);border:1px solid transparent;border-radius:var(--radius-sm);text-decoration:none;transition:all .15s}.ai-action-link:hover{background:var(--primary-glow);border-color:var(--primary)}.ai-thinking{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--surface-soft);border-radius:var(--radius-md);border-bottom-left-radius:var(--sp-xs);color:var(--text-secondary);font-size:var(--text-secondary-size)}.ai-thinking-dots{display:flex;gap:4px}.ai-thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);animation:ai-dot-pulse 1.4s ease-in-out infinite}.ai-thinking-dots span:nth-child(2){animation-delay:.2s}.ai-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-thinking-label{font-style:italic}.ai-confirm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);min-width:280px;max-width:400px;box-shadow:var(--shadow-card)}.ai-confirm-preview{background:var(--surface-soft);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md);margin-bottom:var(--sp-md);font-size:var(--text-secondary-size)}.ai-confirm-preview-title{font-weight:600;color:var(--text);margin-bottom:4px}.ai-confirm-preview-notes{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.4;margin-bottom:4px}.ai-confirm-preview-items{display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-xs)}.ai-confirm-preview-item{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:var(--text-caption);color:var(--text);border-bottom:1px solid var(--border)}.ai-confirm-preview-item:last-child{border-bottom:none}.ai-confirm-preview-dur{font-family:DM Mono,monospace;color:var(--text-tertiary);font-size:var(--text-caption)}.ai-confirm-preview-total{font-family:DM Mono,monospace;font-size:var(--text-caption);color:var(--text-secondary);text-align:right;margin-top:var(--sp-xs);font-weight:600}.ai-confirm-preview-meta{display:flex;flex-wrap:wrap;gap:var(--sp-sm);font-size:var(--text-caption);color:var(--text-secondary)}.ai-confirm-form{display:flex;flex-direction:column;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.ai-confirm-form label.ai-form-field{display:flex;flex-direction:column;gap:2px;font-size:var(--text-secondary-size);font-weight:600;color:var(--text)}.ai-confirm-form .ai-form-field input,.ai-confirm-form .ai-form-field textarea{font-weight:400;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-sm);font-size:var(--text-secondary-size);font-family:inherit;background:var(--surface);color:var(--text);outline:none;resize:vertical}.ai-confirm-form .ai-form-field input:focus,.ai-confirm-form .ai-form-field textarea:focus{border-color:var(--primary)}.ai-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm)}.ai-confirm-actions{display:flex;gap:var(--sp-sm)}.ai-confirm-approve{flex:1;padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-sm);background:var(--primary);color:#fff;border:none;font-weight:600;font-size:var(--text-secondary-size);cursor:pointer;transition:background .15s}.ai-confirm-approve:hover{background:var(--primary-dark)}.ai-confirm-reject{flex:1;padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-secondary);border:1px solid var(--border);font-weight:500;font-size:var(--text-secondary-size);cursor:pointer;transition:background .15s}.ai-confirm-reject:hover{background:var(--surface-hover);color:var(--text)}.ai-input-bar{display:flex;align-items:flex-end;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md) calc(var(--sp-sm) + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.ai-input{flex:1;resize:none;border:1px solid var(--border);border-radius:20px;padding:10px var(--sp-md);font-size:var(--text-secondary-size);font-family:inherit;line-height:1.4;background:var(--bg);color:var(--text);min-height:40px;max-height:160px;overflow:hidden;box-sizing:border-box;outline:none}.ai-input:focus{border-color:var(--primary)}.ai-input:disabled{opacity:.5;cursor:not-allowed}.ai-input::placeholder{color:var(--text-tertiary)}.ai-send-btn{width:32px;height:32px;min-height:unset;padding:0;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.ai-send-btn:hover:not(:disabled){background:var(--primary-dark)}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;padding:var(--sp-xxl);gap:var(--sp-sm)}.ai-empty-icon{color:var(--text-tertiary);margin-bottom:var(--sp-sm)}.ai-empty-title{font-size:var(--text-h2);font-weight:600;color:var(--text);margin:0}.ai-empty-sub{font-size:var(--text-body);color:var(--text-secondary);margin:0;max-width:400px}.ai-quick-actions{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin-top:var(--sp-lg);justify-content:center;max-width:500px}.ai-quick-action{padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:var(--text-secondary-size);cursor:pointer;transition:all .15s;white-space:nowrap}.ai-quick-action:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.ai-error{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);background:var(--danger-light);border:1px solid rgba(229,57,53,.2);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-secondary-size)}.ai-error p{margin:0;flex:1}.ai-gate{display:flex;align-items:center;justify-content:center;padding:var(--sp-xxl);color:var(--text-secondary);font-size:var(--text-body)}@media(max-width:768px){.ai-chat{height:calc(100vh - 56px);height:calc(100dvh - 56px);margin:calc(-1 * var(--sp-md))}.ai-chat-header,.ai-messages{padding:var(--sp-md)}.ai-input-bar{padding:var(--sp-sm) var(--sp-md)}.ai-message{max-width:100%}.ai-quick-actions{flex-direction:column;align-items:stretch}.ai-quick-action{white-space:normal;text-align:center}.ai-confirm-card{min-width:unset;max-width:100%}}.playbook-page{padding:0}.playbook-search{position:relative;margin-bottom:var(--sp-lg);max-width:340px}.playbook-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.playbook-search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;background:var(--surface);color:var(--text);transition:border-color .15s}.playbook-search-input:focus{outline:none;border-color:var(--text-secondary)}.playbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-lg)}.playbook-card-skeleton{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}.card-add-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;border:2px dashed var(--border);border-radius:var(--radius-md);background:none;color:var(--text-tertiary);cursor:pointer;font-size:.82rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.card-add-placeholder:hover{border-color:var(--text-tertiary);color:var(--text-secondary);background:var(--bg)}.playbook-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden;position:relative}.playbook-card:hover{border-color:var(--text-tertiary);box-shadow:0 4px 16px #00000012;transform:translateY(-1px)}.playbook-card-thumb{height:140px;background:#fafafa;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.playbook-card-thumb svg{width:100%;height:100%;display:block}.playbook-card-thumb-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fafafa}.playbook-card-info{padding:12px 14px;position:relative}.playbook-card-menu-wrap{position:absolute;top:6px;right:6px}.playbook-card-menu-btn{background:none;border:none;padding:2px 6px;font-size:.85rem;letter-spacing:1px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);line-height:1;opacity:0;transition:opacity .15s,background .15s,color .15s}.playbook-card:hover .playbook-card-menu-btn{opacity:1}.playbook-card-menu-btn:hover{background:var(--surface-soft);color:var(--text-secondary)}.playbook-card-menu{position:absolute;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001a;padding:4px;min-width:100px;z-index:10}.playbook-card-menu button{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;font-size:.82rem;cursor:pointer;border-radius:var(--radius-sm);color:var(--text)}.playbook-card-menu button:hover{background:var(--surface-soft)}.playbook-card-menu button.danger{color:var(--danger)}.playbook-card-name{display:block;font-weight:600;font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playbook-card-meta{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:3px}.playbook-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px}.playbook-empty-icon{color:var(--text-tertiary);opacity:.5;margin-bottom:var(--sp-md)}.playbook-empty-title{font-size:1.1rem;font-weight:600;color:var(--text);margin:0}.playbook-empty-sub{font-size:.875rem;color:var(--text-tertiary);margin-top:6px;max-width:320px}.playbook-empty-text{color:var(--text-secondary)}.playbook-modal-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.playbook-modal{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-width:380px;width:90%;box-shadow:0 20px 60px #00000026;animation:slideUp .2s ease}.playbook-modal h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text)}.playbook-modal p{margin:0 0 20px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.playbook-modal-actions{display:flex;gap:8px;justify-content:flex-end}.btn-secondary{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--bg)}.btn-danger{padding:8px 16px;border:none;border-radius:var(--radius-md);background:var(--danger);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#c62828}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.play-designer-page{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden;margin:calc(-1 * var(--sp-lg))}.play-designer-loading,.play-designer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:var(--sp-md);color:var(--text-secondary)}.play-designer-body{display:flex;flex:1;min-height:0;overflow:hidden}.play-toolbar{display:flex;align-items:center;gap:4px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.play-toolbar-tools,.play-toolbar-styles,.play-toolbar-actions{display:flex;gap:2px}.play-toolbar-spacer{flex:1}.play-toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 6px}.play-toolbar-btn{display:flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;font-size:.75rem;transition:all .12s;position:relative;flex-shrink:0}.play-toolbar-btn:hover:not(:disabled){color:var(--text);background:var(--bg)}.play-toolbar-btn.active{color:var(--text);background:var(--bg);border-color:var(--border)}.play-toolbar-btn:disabled{opacity:.45;cursor:default}.play-toolbar-name{font-size:.82rem;font-weight:600;color:var(--text);background:none;border:none;padding:4px 6px;cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;transition:background .12s}.play-toolbar-name:hover{background:var(--bg)}.play-toolbar-name-input{font-size:.82rem;font-weight:600;color:var(--text);background:var(--surface);border:1.5px solid var(--primary);border-radius:var(--radius-sm);padding:3px 6px;outline:none;width:160px;box-shadow:0 0 0 2px var(--primary-light)}.play-toolbar-label{font-size:.72rem;font-weight:500}.play-toolbar-kbd{font-size:.6rem;font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:0 4px;line-height:1.5;opacity:.7}.play-toolbar-btn.active .play-toolbar-kbd{opacity:1}.play-toolbar-style-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;transition:all .12s}.play-toolbar-style-btn:hover{color:var(--text);background:var(--bg)}.play-toolbar-style-btn.active{color:var(--primary);background:var(--primary-light, rgba(59,130,246,.1))}.play-toolbar-line-preview{display:inline-block;width:24px;height:0;border-top:2px solid currentColor}.play-toolbar-line-preview.dashed{border-top-style:dashed}.play-toolbar-line-preview.wavy{border-top-style:dotted}.play-toolbar-bg-picker{position:relative}.play-toolbar-bg-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;z-index:100;padding:4px;display:flex;flex-direction:column;gap:1px}.play-toolbar-bg-option{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text);cursor:pointer;font-size:.8rem;text-align:left;transition:background .1s}.play-toolbar-bg-option:hover{background:var(--bg)}.play-toolbar-bg-option.active{background:var(--bg);font-weight:600}.play-canvas-container{flex:1;min-width:0;min-height:0;background:#eaeaea;overflow:hidden;position:relative}.play-canvas-text-input{position:absolute;background:#fff;border:2px solid #2563EB;border-radius:4px;padding:4px 8px;font-size:16px;font-family:Inter,system-ui,sans-serif;color:#1a1a1a;outline:none;min-width:120px;box-shadow:0 2px 12px #2563eb26;z-index:10;transform:translate(-4px,-4px)}.play-canvas-text-input::placeholder{color:#bbb}.play-canvas-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;font-size:.75rem;padding:5px 14px;border-radius:20px;pointer-events:none;animation:fadeIn .15s ease;z-index:10}.frame-sidebar{width:148px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);flex-shrink:0}.frame-sidebar-header{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.frame-sidebar-title{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.frame-sidebar-count{font-size:.65rem;font-weight:600;color:var(--text-tertiary);background:var(--bg);border-radius:10px;padding:1px 7px}.frame-sidebar-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.frame-sidebar-item{border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s;overflow:hidden;background:var(--bg)}.frame-sidebar-item:hover{border-color:var(--text-tertiary)}.frame-sidebar-item.active{border-color:var(--primary);background:var(--primary-light)}.pb-meta{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 28px;margin-bottom:var(--sp-lg);display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center;box-shadow:var(--shadow-card);transition:border-color .2s}.pb-meta.is-over{border-color:#fca5a5;background:snow}.pb-meta-main{min-width:0}.pb-title-input{width:100%;border:none;background:transparent;font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text);padding:4px 8px;margin:-4px -8px 10px;border-radius:8px;outline:none;transition:background .15s}.pb-title-input:hover{background:var(--surface-soft)}.pb-title-input:focus{background:var(--surface-soft);box-shadow:inset 0 0 0 1.5px var(--primary)}.pb-title-input::placeholder{color:var(--text-tertiary);font-weight:600}.pb-meta-fields{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:14px;margin-top:4px}.pb-field{display:flex;flex-direction:column;gap:3px;padding:8px 16px;border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;transition:background .15s,border-color .15s;position:relative;min-width:0}.pb-field:hover{border-color:var(--primary);background:#e85d2a08}.pb-field:focus-within{border-color:var(--primary);background:var(--surface)}.pb-field-label{font-size:9px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px}.pb-field:focus-within .pb-field-label,.pb-field-open .pb-field-label{color:var(--primary)}.pb-field-open{border-color:var(--primary);background:var(--surface)}.pb-field-value{font-weight:600;font-size:13px;color:var(--text);letter-spacing:-.1px}.pb-field-time,.pb-field-date{min-width:130px;padding-right:32px}.pb-field-chevron,.pb-field-icon{position:absolute;right:10px;bottom:10px;color:var(--text-tertiary);transition:transform .15s,color .15s;pointer-events:none}.pb-field-open .pb-field-chevron{transform:rotate(180deg);color:var(--primary)}.pb-field-open .pb-field-icon,.pb-field-date:hover .pb-field-icon{color:var(--primary)}.pb-field-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:140px;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000001a;z-index:60;padding:4px}.pb-field-dropdown::-webkit-scrollbar{width:4px}.pb-field-dropdown::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.pb-field-option{display:block;width:100%;padding:8px 12px;border:none;background:none;font-size:13px;font-weight:500;color:var(--text);text-align:left;cursor:pointer;border-radius:var(--radius-sm);min-height:unset;transition:background .1s}.pb-field-option:hover{background:var(--surface-soft);transform:none}.pb-field-option.selected{color:var(--primary);font-weight:600;background:#e85d2a0f}.pb-calendar{position:absolute;top:calc(100% + 4px);left:0;width:280px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000001a;z-index:60;padding:12px}.pb-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.pb-cal-title{font-size:13px;font-weight:700;color:var(--text)}.pb-cal-nav{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:0;min-height:unset;transition:border-color .1s,color .1s}.pb-cal-nav:hover{border-color:var(--primary);color:var(--primary);transform:none}.pb-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.pb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.pb-cal-day{width:100%;aspect-ratio:1;display:grid;place-items:center;background:none;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text);cursor:pointer;padding:0;min-height:unset;transition:background .1s,color .1s}.pb-cal-day:hover{background:var(--surface-soft);transform:none}.pb-cal-day.today{font-weight:700;color:var(--primary)}.pb-cal-day.selected{background:var(--primary);color:#fff;font-weight:700}.pb-cal-day.selected:hover{background:#d14e1f}.pb-field input,.pb-field select{border:none!important;background:transparent!important;outline:none!important;box-shadow:none!important;padding:0!important;min-height:unset!important;font-weight:600;font-size:13px;color:var(--text);cursor:pointer;min-width:0;font-family:inherit;letter-spacing:-.1px;border-radius:0!important}.pb-field select{padding-right:20px!important;background-position:right 0 center!important}.pb-field .range-dash{color:var(--text-tertiary);font-weight:500;margin:0 2px}.pb-progress{padding-left:28px;border-left:1px solid var(--border);align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:10px}.pb-progress-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-sm)}.pb-progress-label{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.pb-progress-stat{font-size:12px;color:var(--text-secondary);font-weight:500;font-variant-numeric:tabular-nums}.pb-progress-stat strong{color:var(--text);font-weight:700;font-size:15px}.pb-meta.is-over .pb-progress-stat strong{color:#b91c1c}.pb-progress-bar{height:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;overflow:hidden}.pb-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#ff8c42);border-radius:999px;transition:width .3s ease}.pb-progress-fill.is-over{background:linear-gradient(90deg,#ef4444,#f87171)}.pb-progress-foot{font-size:11px;color:var(--text-tertiary);font-weight:500;display:flex;gap:6px;align-items:center}.pb-dot{opacity:.5}.pb-over-banner{display:none;align-items:center;gap:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:var(--sp-md);animation:pb-banner-slide .3s cubic-bezier(.2,.9,.3,1.2)}.pb-timeline-wrap.is-over .pb-over-banner{display:flex}@keyframes pb-banner-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.pb-over-icon{width:30px;height:30px;border-radius:50%;background:#fee2e2;color:#b91c1c;display:grid;place-items:center;font-size:15px;font-weight:700;flex-shrink:0}.pb-over-text{display:flex;flex-direction:column;gap:4px;min-width:0}.pb-over-text strong{font-size:13px;font-weight:700;color:#991b1b;letter-spacing:-.1px}.pb-over-text span{font-size:12px;color:#b91c1c;opacity:.85;line-height:1.4}.pb-body{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-lg);align-items:start}.pb-timeline-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 24px;box-shadow:var(--shadow-card);transition:border-color .2s,background .2s}.pb-timeline-wrap.is-over{border-color:#fca5a5;background:snow}.pb-timeline-wrap.is-over .pb-timeline-header h2{color:#b91c1c}.pb-timeline-wrap.is-over .pb-block{border-color:#fecaca}.pb-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-md)}.pb-timeline-header h2{font-size:16px;font-weight:700;letter-spacing:-.3px;margin:0;color:var(--text)}.pb-timeline-actions{display:flex;align-items:center;gap:4px}.pb-timeline-actions button:disabled{opacity:.25}.pb-timeline-actions button svg{display:block}.pb-timeline{display:flex;flex-direction:column;gap:12px;padding:8px;margin:-8px;min-height:100px;border-radius:var(--radius-sm);transition:background .15s}.pb-timeline-drop-active{background:#e85d2a0d}.pb-block{position:relative;display:grid;grid-template-columns:110px 1fr;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:grab;transition:all .15s;overflow:hidden}.pb-block:hover{border-color:#e85d2a4d;background:#e85d2a05}.pb-block:active{cursor:grabbing}.pb-block.dragging{opacity:.25;background:var(--primary-light);border-color:var(--primary);border-style:dashed}.pb-block-time{font-size:12px;color:var(--primary);font-weight:600;font-variant-numeric:tabular-nums;padding:16px 0 16px 18px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--border);opacity:.7;gap:2px}.pb-block-time-dur{font-size:11px;color:var(--text-tertiary);font-weight:500}.pb-block-body{min-width:0;padding:14px 18px 14px 16px}.pb-block-body h3{margin:0 0 4px;font-size:14px;font-weight:700;letter-spacing:-.3px;color:var(--text)}.pb-block-desc{margin:0 0 8px;font-size:12px;color:var(--text-secondary);line-height:1.5}.pb-block-meta{display:flex;gap:12px;font-size:11px;color:var(--text-tertiary);font-weight:600;align-items:center;margin-top:6px}.pb-block-meta .tag{font-size:10px;font-weight:700;padding:3px 10px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.pb-block-duration{display:none}.pb-block-delete{position:absolute;top:10px;right:10px;width:22px;height:22px;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--text-tertiary);font-size:16px;line-height:1;opacity:0;transition:all .15s;display:grid;place-items:center;min-height:unset}.pb-block:hover .pb-block-delete{opacity:.7}.pb-block-delete:hover{opacity:1!important;background:#fee2e2;color:#b91c1c}.pb-block-expanded{cursor:default;border-color:var(--primary);background:var(--surface)}.pb-block-expanded:hover{background:var(--surface)}.pb-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm);margin-top:var(--sp-sm);padding-top:var(--sp-sm);border-top:1px solid var(--border)}.pb-edit-field{display:flex;flex-direction:column;gap:2px}.pb-edit-field.full-width{grid-column:1 / -1}.pb-edit-field label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.pb-edit-field input,.pb-edit-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-family:inherit;background:var(--surface-soft);outline:none;transition:border-color .15s,background .15s}.pb-edit-field input:focus,.pb-edit-field textarea:focus{border-color:var(--primary);background:var(--surface)}.pb-block-drill-link{font-size:inherit;color:var(--text);font-weight:inherit;cursor:pointer}.pb-block-drill-link:hover{color:var(--primary)}.pb-drill-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 20px;position:sticky;top:20px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.pb-drill-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-sm)}.pb-new-drill-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;min-height:unset;transition:background .15s}.pb-new-drill-btn:hover{background:#d14e1f;transform:none}.pb-drill-panel-header h2{font-size:16px;font-weight:700;letter-spacing:-.3px;margin:0;color:var(--text)}.pb-tag-filters{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border);align-items:center}.pb-tag-edit-btn{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;padding:0;min-height:unset;transition:color .15s,border-color .15s}.pb-tag-edit-btn:hover{color:var(--primary);border-color:#e85d2a4d;transform:none}.pb-drill-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;padding:12px 4px 0 0}.pb-drill-list::-webkit-scrollbar{width:6px}.pb-drill-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.pb-drill-card{background:#00000004;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;cursor:grab;transition:all .15s}.pb-drill-card:hover{border-color:#e85d2a66;background:#e85d2a08;transform:translateY(-1px);box-shadow:0 2px 8px #e85d2a14}.pb-drill-card:active{cursor:grabbing}.pb-drill-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}.pb-drill-card-name{font-size:13px;font-weight:600;letter-spacing:-.2px;transition:color .15s}.pb-drill-card:hover .pb-drill-card-name{color:var(--primary)}.pb-drill-card .mini-tag{font-size:9px;padding:2px 7px;border-radius:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.pb-drill-card-desc{margin:0 0 6px;font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.pb-drill-card-desc.no-desc{font-style:italic;color:var(--text-tertiary)}.pb-drill-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-tertiary);font-weight:600}.pb-drill-card-duration{font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:3px}.clock-icon{display:inline-block;vertical-align:middle;opacity:.6}.pb-drill-edit-btn{background:transparent;border:none;padding:4px;border-radius:6px;color:var(--text-tertiary);cursor:pointer;min-height:unset;line-height:1;opacity:0;transition:opacity .15s,background .15s,color .15s;display:flex;align-items:center;justify-content:center}.pb-drill-card:hover .pb-drill-edit-btn{opacity:1}.pb-drill-edit-btn:hover{background:var(--surface);color:var(--text)}.pb-drill-empty{text-align:center;padding:var(--sp-lg);color:var(--text-tertiary);font-size:var(--text-secondary-size)}.pb-empty-state{padding:48px 24px;text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-tertiary);transition:all .15s}.pb-empty-state-clickable{pointer-events:none;cursor:default}.pb-empty-mobile{display:none}@media(max-width:768px){.pb-empty-state-clickable{pointer-events:auto;cursor:pointer}.pb-empty-desktop{display:none}.pb-empty-mobile{display:block}}.pb-empty-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#e85d2a0f;border:1.5px dashed rgba(232,93,42,.3);display:grid;place-items:center;font-size:22px;color:var(--primary)}.pb-empty-state h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text)}.pb-empty-state p{margin:0 auto;font-size:13px;color:var(--text-tertiary);max-width:300px;line-height:1.5}.pb-timeline-drop-active .pb-empty-state{border-color:var(--primary);background:var(--primary-light)}.frame-sidebar-thumb{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:4px 4px 0 0;overflow:hidden}.frame-sidebar-thumb svg{display:block;width:100%;height:auto}.frame-sidebar-meta{display:flex;align-items:center;justify-content:space-between;padding:4px 8px}.frame-sidebar-number{font-size:.7rem;font-weight:600;color:var(--text-secondary);font-family:var(--font-mono)}.frame-sidebar-actions{display:flex;gap:2px}.frame-sidebar-action-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;transition:color .12s,background .12s}.frame-sidebar-action-btn:hover{color:var(--text);background:var(--bg)}.frame-sidebar-action-btn.delete:hover{color:var(--danger);background:var(--danger-light)}.frame-sidebar-add{margin:8px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:none;color:var(--text-tertiary);cursor:pointer;font-size:.75rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:4px}.frame-sidebar-add:hover{color:var(--text-secondary);border-color:var(--text-tertiary);background:var(--bg)}@media(max-width:768px){.play-designer-page{height:calc(100vh - 52px);margin:calc(-1 * var(--sp-md))}.play-toolbar{overflow-x:auto;padding:4px 6px;gap:2px}.play-toolbar-label,.play-toolbar-kbd{display:none}.play-toolbar-name{max-width:100px;font-size:.75rem}.play-toolbar-name-input{width:100px;font-size:.75rem}.play-toolbar-btn{padding:5px 7px}.play-toolbar-divider{margin:0 3px;height:20px}.frame-sidebar{width:56px}.frame-sidebar-header{padding:6px}.frame-sidebar-title{font-size:.6rem}.frame-sidebar-count{display:none}.frame-sidebar-list{padding:4px;gap:4px}.frame-sidebar-thumb svg{height:36px}.frame-sidebar-meta{padding:2px 4px}.frame-sidebar-actions{display:none}.playbook-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-md)}.playbook-card-thumb{height:100px}}.pb-timeline-drop-active .pb-empty-state h3,.pb-timeline-drop-active .pb-empty-state p{color:var(--primary)}.pb-timeline-drop-active .pb-empty-icon{border-color:var(--primary);color:var(--primary);background:var(--surface)}.pb-drop-hint{display:none;padding:18px;border:2px dashed var(--primary);background:var(--primary-light);border-radius:var(--radius-md);color:var(--primary);text-align:center;font-weight:600;font-size:13px;pointer-events:none;margin-top:var(--sp-sm)}.pb-timeline-drop-active .pb-drop-hint{display:block}.pb-add-block{margin-top:4px;padding:14px;background:transparent;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;font-weight:500;font-size:13px;width:100%;text-align:center;transition:all .15s;min-height:unset}.pb-add-block:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}@keyframes pb-block-drop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}@keyframes pb-block-remove{to{opacity:0;transform:translate(16px)}}.pb-block.is-new{animation:pb-block-drop .35s cubic-bezier(.2,.9,.3,1.2)}.pb-block.removing{animation:pb-block-remove .18s ease-in forwards}@media(max-width:1100px){.pb-body,.pb-meta{grid-template-columns:1fr}.pb-progress{padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:var(--sp-md)}.pb-drill-panel{position:static;max-height:none}}.pb-drill-fab{display:none;align-items:center;gap:6px;position:fixed;bottom:24px;right:20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px 20px;font-size:15px;font-weight:600;box-shadow:0 4px 14px #00000040;cursor:pointer;z-index:50;transition:transform .15s ease}.pb-drill-fab:active{transform:scale(.95)}.pb-block-reorder-btns{display:none;position:absolute;bottom:10px;right:10px;gap:2px;align-items:center}.pb-block-reorder-btn{width:24px;height:24px;display:grid;place-items:center;background:transparent;border:none;border-radius:0;cursor:pointer;color:var(--text-tertiary);padding:0;min-height:unset;transition:color .1s}.pb-block-reorder-btn:active{color:var(--primary)}.pb-block-reorder-btn:disabled{opacity:.2;cursor:default}.pb-block-delete-mobile{color:var(--text-tertiary)}.pb-block-delete-mobile:active{color:#dc2626}.pb-sheet-backdrop{position:fixed;inset:0;background:#0006;z-index:100;animation:pb-sheet-fade-in .2s ease both}@keyframes pb-sheet-fade-in{0%{opacity:0}to{opacity:1}}.pb-sheet{position:fixed;bottom:0;left:0;right:0;height:82vh;background:var(--surface);border-radius:16px 16px 0 0;z-index:101;display:flex;flex-direction:column;animation:pb-sheet-slide-up .3s cubic-bezier(.16,1,.3,1) both}@keyframes pb-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pb-sheet-handle{display:none}.pb-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-md) var(--sp-md) var(--sp-sm);flex-shrink:0}.pb-sheet-header h2{font-size:18px;font-weight:700;margin:0}.pb-sheet-close{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid rgba(232,93,42,.2);background:#e85d2a0a;cursor:pointer;display:grid;place-items:center;color:var(--primary);padding:0;min-height:unset;transition:background .15s}.pb-sheet-close:hover{background:#e85d2a1a;transform:none}.pb-sheet-filters{display:flex;flex-wrap:wrap;gap:6px;padding:var(--sp-sm) var(--sp-md);flex-shrink:0}.pb-sheet-list{flex:1;overflow-y:auto;padding:var(--sp-md);display:flex;flex-direction:column;gap:10px}.pb-sheet-footer{padding:var(--sp-sm) var(--sp-md);padding-bottom:max(var(--sp-sm),env(safe-area-inset-bottom));flex-shrink:0;border-top:1px solid var(--border)}@media(max-width:768px){.pb-drill-panel{display:none}.pb-body{grid-template-columns:1fr}.pb-timeline-wrap{padding-bottom:80px}.pb-drill-fab{display:flex}.pb-block-time-dur{display:block}.pb-block-duration{display:none!important}.pb-block-reorder-btns{display:flex;position:static;grid-column:1 / -1;justify-content:flex-end;padding:4px 12px 6px;border-top:1px solid var(--border);gap:6px}.pb-block-delete{display:none}.custom-item-form .drill-form-category-dropdown{bottom:calc(100% + 4px);top:auto}.custom-item-form .drill-form-category-list{max-height:160px}.pb-drill-edit-btn{opacity:1}.pb-sheet-list .pb-drill-card{cursor:pointer;touch-action:manipulation}.pb-sheet-list .pb-drill-edit-btn{opacity:1}}.pb-edit-modal{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);width:100%;max-width:480px;box-shadow:var(--shadow-modal);animation:modal-enter .28s cubic-bezier(.16,1,.3,1) both}.pb-edit-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-lg)}.pb-edit-modal-header h3{font-size:var(--text-h2);font-weight:700;margin:0}.pb-edit-modal-form{display:flex;flex-direction:column;gap:var(--sp-md)}.pb-edit-modal-field{display:flex;flex-direction:column;gap:4px}.pb-edit-modal-field label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.pb-edit-modal-field input,.pb-edit-modal-field textarea{border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;padding:10px 12px!important;font-size:13px;font-family:inherit;background:var(--surface-soft)!important;color:var(--text);outline:none;min-height:unset!important;box-shadow:none!important;transition:border-color .15s,background .15s}.pb-edit-modal-field input:focus,.pb-edit-modal-field textarea:focus{border-color:var(--primary)!important;background:var(--surface)!important;box-shadow:none!important}.pb-edit-modal-field .readonly-value{font-size:14px;font-weight:500;color:var(--text);padding:4px 0}.pb-edit-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md)}.pb-edit-modal-tags{display:flex;gap:var(--sp-xs);flex-wrap:wrap}.pb-edit-modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-sm);margin-top:var(--sp-md)}.pb-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--sidebar-bg);color:#fff;padding:10px 20px;border-radius:var(--radius-full);font-size:var(--text-secondary-size);font-weight:600;box-shadow:0 8px 24px #0003;z-index:9999;opacity:0;transition:transform .3s cubic-bezier(.2,.9,.3,1.2),opacity .3s;pointer-events:none}.pb-toast.show{transform:translate(-50%) translateY(0);opacity:1}.pb-save-modal{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-lg);width:100%;max-width:520px;box-shadow:var(--shadow-modal);animation:modal-enter .28s cubic-bezier(.16,1,.3,1) both}.pb-save-check{width:52px;height:52px;margin:0 auto var(--sp-md);color:var(--success)}.pb-save-check svg{width:100%;height:100%}.pb-save-modal h2{text-align:center;font-size:var(--text-h1);font-weight:700;margin:0 0 var(--sp-xs)}.pb-save-sub{text-align:center;color:var(--text-secondary);font-size:var(--text-secondary-size);margin:0 0 var(--sp-lg)}.pb-summary-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);margin-bottom:var(--sp-lg)}.pb-summary-card h3{font-size:var(--text-h2);font-weight:700;margin:0 0 var(--sp-xs)}.pb-summary-meta{font-size:var(--text-caption);color:var(--text-secondary);margin-bottom:var(--sp-md)}.pb-summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pb-summary-list li{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border)}.pb-summary-list li:last-child{border-bottom:none}.pb-summary-block-body{display:flex;align-items:center;gap:var(--sp-sm)}.pb-summary-tag-label{font-size:10px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;display:block}.pb-summary-dur{font-family:DM Mono,monospace;font-size:12px;color:var(--text-tertiary)}.pb-summary-footer{font-size:var(--text-caption);color:var(--text-secondary);text-align:center;padding-top:var(--sp-sm);border-top:1px solid var(--border);margin-top:var(--sp-sm)}.pb-save-actions{display:flex;gap:var(--sp-sm);justify-content:center;margin-top:var(--sp-lg);flex-wrap:wrap}.pb-event-picker{margin-top:var(--sp-md);border-top:1px solid var(--border);padding-top:var(--sp-md)}.pb-event-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-sm)}.pb-event-picker-header h3{font-size:14px;font-weight:700;margin:0}.pb-event-picker-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.pb-event-picker-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);cursor:pointer;text-align:left;min-height:unset;transition:border-color .15s;width:100%}.pb-event-picker-item:hover{border-color:var(--primary);transform:none}.pb-event-picker-title{font-size:13px;font-weight:600;color:var(--text)}.pb-event-picker-date{font-size:11px;color:var(--text-tertiary)}.pb-event-picker-create{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 12px;border:2px dashed rgba(232,93,42,.3);border-radius:var(--radius-sm);background:#e85d2a08;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;min-height:unset;transition:border-color .15s,background .15s}.pb-event-picker-create:hover{border-color:var(--primary);background:#e85d2a0f;transform:none}.pb-pdf-overlay{background:#141414b3}.pb-pdf-shell{background:var(--surface-soft);width:100%;max-width:800px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-modal);animation:modal-enter .28s cubic-bezier(.16,1,.3,1) both;display:flex;flex-direction:column;max-height:90vh}.pb-pdf-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-md) var(--sp-lg);background:var(--surface);border-bottom:1px solid var(--border)}.pb-pdf-toolbar-title{font-weight:600;font-size:var(--text-secondary-size)}.pb-pdf-toolbar-actions{display:flex;gap:var(--sp-sm)}.pb-pdf-page{background:#fff;margin:var(--sp-lg) auto;padding:.5in .5in .75in;max-width:7.5in;width:100%;min-height:10in;border-radius:var(--radius-sm);box-shadow:0 2px 12px #00000014;overflow-y:auto;flex:1;position:relative;box-sizing:border-box}.pb-pdf-title{font-size:24px;font-weight:700;margin:0 0 2px;letter-spacing:-.5px}.pb-pdf-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-md);margin-bottom:var(--sp-lg);padding-bottom:var(--sp-lg);border-bottom:1px solid var(--border)}.pb-pdf-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.pb-pdf-value{font-size:14px;font-weight:600;color:var(--text)}.pb-pdf-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-sm)}.pb-pdf-section-head h2{font-size:16px;font-weight:700;margin:0}.pb-pdf-summary-line{font-size:12px;color:var(--text-secondary)}.pb-pdf-block{display:grid;grid-template-columns:100px 1fr auto;gap:var(--sp-md);padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.pb-pdf-block-time{font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.pb-pdf-block-name{font-weight:600}.pb-pdf-block-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.pb-pdf-block-dur{font-size:12px;font-weight:400;color:var(--text-tertiary)}.pb-pdf-notes-section{margin-top:var(--sp-lg)}.pb-pdf-notes-section h2{font-size:16px;font-weight:700;margin:0}.pb-pdf-brand{font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;color:var(--primary);letter-spacing:.5px;margin-bottom:var(--sp-md)}.pb-insert-line{position:fixed;height:3px;background:#e85d2a;border-radius:2px;z-index:9999;pointer-events:none}.pb-insert-line:before{content:"";position:absolute;top:-4px;left:-4px;width:11px;height:11px;background:#e85d2a;border-radius:50%}@media print{@page{margin:0;size:letter}html,body{margin:0!important;padding:0!important}body>*:not(.modal-overlay){display:none!important}.modal-overlay{position:static;background:none;padding:0;margin:0}.pb-pdf-shell{max-height:none;box-shadow:none;overflow:visible;margin:0;padding:0}.pb-pdf-toolbar{display:none}.pb-pdf-page{margin:0;padding:.5in .5in .75in;max-width:none;width:auto;min-height:11in;box-shadow:none;border-radius:0;overflow:visible;box-sizing:border-box}.pb-pdf-notes-section{break-inside:avoid;min-height:20vh}.pb-pdf-block{break-inside:avoid}}
