*{box-sizing:border-box;user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}:root{--bg: #f8f7f4;--surface: #ffffff;--surface-hover: rgba(0, 0, 0, .04);--text: #1a1a1a;--text-muted: #999999;--accent: #15803d;--accent-light: #f0fdf4;--border: rgba(0, 0, 0, .08);--danger: #dc2626;--bottom-nav-height: 76px;--bottom-action-gap: 16px;--screen-bottom-space: calc(var(--bottom-nav-height) + var(--bottom-action-gap) + env(safe-area-inset-bottom, 0px));font-family:DM Sans,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.bottom-nav{position:fixed;bottom:0;left:0;right:0;min-height:var(--bottom-nav-height);display:flex;justify-content:space-around;align-items:center;background:var(--surface);border-top:1px solid var(--border);padding:8px 0 env(safe-area-inset-bottom);z-index:100;transform:translateY(0);opacity:1;visibility:visible;transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .22s ease,visibility 0s linear 0s;will-change:transform,opacity}.bottom-nav.bottom-nav--hidden{transform:translateY(calc(100% + env(safe-area-inset-bottom,0px) + 2px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .18s ease,visibility 0s linear .32s}.nav-item{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;color:var(--text-muted);text-decoration:none;transition:color .2s}.nav-item.active{color:var(--text)}.nav-label{font-size:11px;font-weight:600}.nav-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.nav-dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid var(--bg)}@media(prefers-reduced-motion:reduce){.bottom-nav,.bottom-nav.bottom-nav--hidden{transition-duration:1ms}}.home-screen{padding:24px 16px 90px;max-width:480px;margin:0 auto}.home-header{margin-bottom:24px}.home-header h1{font-size:1.8rem;font-weight:700;margin-bottom:4px;color:var(--text)}.home-handicap{color:var(--accent);font-size:.9rem;font-weight:500}.home-error{color:var(--danger);margin-bottom:12px;font-size:.9rem}.btn-primary{background:var(--text);color:var(--surface);border:none;border-radius:12px;padding:16px 24px;font-size:1rem;font-weight:700;cursor:pointer;width:100%;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-new-round{margin-bottom:28px}.home-last-round h2,.home-history h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px;font-weight:600}.round-card{background:var(--surface);border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 12px;margin-bottom:24px;box-shadow:0 1px 4px #00000012,0 4px 16px #0000000a}.round-card-course{font-weight:600;font-size:1rem;color:var(--text)}.round-card-date{color:var(--text-muted);font-size:.85rem;text-align:right}.round-card-score{color:var(--accent);font-size:.9rem;font-weight:600}.round-card-putts{color:var(--text-muted);font-size:.85rem;text-align:right}.rounds-list{list-style:none;display:flex;flex-direction:column;gap:8px}.rounds-list-item{display:flex;align-items:center;gap:8px;padding:12px;background:var(--surface);border-radius:10px;box-shadow:0 1px 3px #0000000d}.rounds-list-course{flex:1;font-size:.9rem;color:var(--text)}.rounds-list-date{color:var(--text-muted);font-size:.8rem}.rounds-list-score{color:var(--accent);font-weight:600;font-size:.9rem;min-width:32px;text-align:right}.home-empty{color:var(--text-muted);text-align:center;margin-top:40px;font-size:.95rem}.championship-card{display:flex;align-items:center;gap:14px;padding:16px;background:#4ade8014;border:1px solid rgba(74,222,128,.2);border-radius:14px;margin-bottom:16px;cursor:pointer}.champ-card-icon{font-size:1.5rem}.champ-card-body{flex:1}.champ-card-name{font-size:1rem;font-weight:700}.champ-card-meta{font-size:.8rem;color:#ffffff80;margin-top:2px}.champ-card-arrow{font-size:1.4rem;color:#ffffff4d}.training-dashboard{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.dashboard-card{background:var(--surface);border-radius:12px;padding:16px;border:1px solid var(--border)}.dashboard-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 6px;font-weight:600}.dashboard-layer{font-size:20px;font-weight:700;color:var(--accent);margin:0}.training-today{display:flex;flex-direction:column;gap:6px}.dashboard-exercise-name{font-size:16px;font-weight:600;color:var(--text);margin:0}.dashboard-exercise-meta{font-size:13px;color:var(--text-muted);margin:0}.btn-start-training{margin-top:8px;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;align-self:flex-start}.pending-section{display:flex;flex-direction:column;gap:8px}.pending-req{display:flex;justify-content:space-between;align-items:center}.pending-area{font-size:13px;color:var(--text)}.pending-levels{font-size:12px;color:var(--text-muted);font-weight:500}.btn-play-today{width:100%;padding:12px;background:transparent;border:1px solid var(--border);border-radius:12px;font-size:14px;font-weight:500;color:var(--text);font-family:inherit;cursor:pointer}.pdd-screen{display:flex;flex-direction:column;background:var(--bg);min-height:100%;max-width:520px;margin:0 auto}.pdd-identity{padding:20px 24px 8px;display:flex;align-items:center;gap:14px}.pdd-avatar{width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800}.pdd-identity-copy{min-width:0}.pdd-identity-copy>p{margin:0 0 1px;color:var(--text-muted);font-size:13px}.pdd-identity-copy h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:23px;line-height:1.15}.pdd-identity-meta{margin-top:7px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pdd-identity-meta span{padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:10px;font-weight:700}.pdd-identity-meta .pdd-handicap{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--accent)}.pdd-body{flex:1;overflow-y:auto;padding:16px 24px calc(96px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}.pdd-next-action{padding:20px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),var(--surface) 68%);display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;box-shadow:0 5px 20px #0000000f}.pdd-next-action-icon{width:46px;height:46px;border-radius:14px;background:var(--accent);color:#fff;display:grid;place-items:center}.pdd-next-action-copy{min-width:0}.pdd-next-action-copy .pdd-next-eyebrow{margin:1px 0 5px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.pdd-next-action-copy h2{margin:0;color:var(--text);font-size:20px;line-height:1.2}.pdd-next-action-copy>p:last-child{margin:7px 0 0;color:var(--text-muted);font-size:13px;line-height:1.45}.pdd-next-action-btn{grid-column:1 / -1;min-height:50px;padding:12px 16px;border:0;border-radius:14px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:15px;font-weight:800;cursor:pointer}.pdd-next-action--onboarding{border-color:color-mix(in srgb,#b7791f 40%,var(--border))}.pdd-week-card{background:var(--surface);border-radius:16px;padding:14px 16px;box-shadow:0 2px 8px #0000000d}.pdd-progress-link{margin:12px 0 0 auto;padding:4px 0;border:0;background:transparent;color:var(--accent);display:flex;align-items:center;gap:4px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.pdd-week-row{display:flex;justify-content:space-between;margin-bottom:10px}.pdd-week-label{font-size:13px;font-weight:600;color:var(--text)}.pdd-week-count{font-size:13px;color:var(--accent);font-weight:700}.pdd-week-bar-bg{height:6px;border-radius:99px;background:#f0efec;overflow:hidden;margin-bottom:12px}.pdd-week-bar-fill{height:100%;border-radius:99px;background:var(--accent);transition:width .4s ease}.pdd-week-days{display:flex;gap:4px}.pdd-day-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.pdd-day-dot{width:28px;height:28px;border-radius:50%;background:#f0efec;display:flex;align-items:center;justify-content:center}.pdd-day-dot.done{background:var(--accent)}.pdd-day-dot.today{background:var(--accent-light);border:2px solid var(--accent)}.pdd-day-dot.done.today{background:var(--accent);border:2px solid var(--accent)}.pdd-day-dot.missed{background:#fff;border:1px solid #dedbd4}.pdd-day-missed{color:var(--text-muted);font-size:13px;line-height:1;font-weight:700}.pdd-day-label{font-size:9px;color:var(--text-muted)}.pdd-day-label.today{color:var(--accent);font-weight:700}.pdd-main-card{background:var(--surface);border-radius:20px;padding:22px 20px;box-shadow:0 4px 20px #00000012;display:flex;flex-direction:column;gap:0}.pdd-main-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.pdd-area-badge{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--accent);text-transform:uppercase;background:var(--accent-light);padding:4px 10px;border-radius:99px}.pdd-duration{font-size:13px;color:var(--text-muted)}.pdd-exercise-name{font-size:21px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:8px}.pdd-exercise-desc{font-size:14px;color:var(--text-muted);line-height:1.5;margin-bottom:18px}.pdd-btn-primary{width:100%;height:56px;border-radius:16px;background:var(--accent);border:none;color:#fff;font-size:17px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 16px #15803d47;transition:all .2s;margin-top:4px}.pdd-secondary-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.pdd-secondary-item{width:100%;background:var(--surface);border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000a;cursor:pointer;border:none;text-align:left;font-family:DM Sans,sans-serif;margin-bottom:10px}.pdd-secondary-icon{width:40px;height:40px;border-radius:11px;background:var(--accent-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pdd-secondary-info{flex:1}.pdd-secondary-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px}.pdd-secondary-meta{font-size:12px;color:var(--text-muted)}.pdd-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;gap:16px;text-align:center}.pdd-empty-icon{width:72px;height:72px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center}.pdd-empty-title{font-size:22px;font-weight:700;color:var(--text)}.pdd-empty-sub{font-size:16px;color:var(--text-muted);line-height:1.5}.pdd-next-action-btn:focus-visible,.pdd-progress-link:focus-visible,.pdd-secondary-item:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}@media(max-width:360px){.pdd-identity,.pdd-body{padding-left:16px;padding-right:16px}.pdd-identity-meta span{font-size:9px}.pdd-next-action{padding:16px}}.pdd-next-lesson{width:100%;display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--border);border-radius:17px;background:var(--surface);color:var(--text);text-align:left}.pdd-next-lesson-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:var(--accent-light);color:var(--accent)}.pdd-next-lesson-copy{min-width:0;flex:1;display:grid}.pdd-next-lesson-copy small{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;font-size:.58rem;font-weight:850}.pdd-next-lesson-copy strong{text-transform:capitalize;font-size:.86rem}.pdd-next-lesson-copy>span{color:var(--text-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-home-screen{padding:24px 16px 90px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.th-header{display:flex;flex-direction:column;gap:4px}.th-header h1{font-size:1.8rem;font-weight:700;color:var(--text);margin:0}.th-badge{display:inline-block;background:var(--accent-light);color:var(--accent);font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;letter-spacing:.05em;text-transform:uppercase}.th-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.th-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0}.th-section-sub{font-size:.8rem;color:var(--text-muted);margin:-6px 0 0}.th-muted{font-size:.8rem;color:var(--text-muted);margin:0}.th-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.th-kpi-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.th-kpi-card.warn{background:#fffbeb;border-color:#fde68a}.th-kpi-value{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1}.th-kpi-value.accent{color:var(--accent)}.th-kpi-value.danger{color:var(--danger)}.th-kpi-label{font-size:.68rem;color:var(--text-muted)}.th-alert{display:flex;align-items:center;gap:10px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:12px 14px;cursor:pointer;text-align:left;width:100%;font-family:inherit}.th-alert-icon{font-size:1rem;flex-shrink:0}.th-alert-text{flex:1;font-size:.83rem;color:#92400e;line-height:1.45;margin:0}.th-alert-text strong{font-weight:700}.th-alert-arrow{font-size:1.2rem;color:#92400e;flex-shrink:0}.th-insight-cards{display:flex;gap:10px}.th-insight-card{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:12px 10px;border-radius:14px;border:1.5px solid var(--border);cursor:pointer;font-family:inherit;transition:transform .1s ease,box-shadow .1s ease;text-align:left;overflow:hidden}.th-insight-card--good{background:#f0fdf4;border-color:#86efac}.th-insight-card--warn{background:#fffbeb;border-color:#fcd34d}.th-insight-card:active{transform:scale(.97);box-shadow:none}.th-insight-icon-wrap{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.th-insight-icon-wrap--good{background:#bbf7d0;color:#15803d}.th-insight-icon-wrap--warn{background:#fde68a;color:#92400e}.th-insight-text{flex:1;min-width:0}.th-insight-label{font-size:.68rem;color:var(--text-muted);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.th-insight-value{font-size:.92rem;font-weight:700;color:var(--text);margin:0}.th-insight-chevron{color:var(--text-muted);flex-shrink:0}.th-progress-btn{background:none;border:none;padding:0;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px;width:100%;font-family:inherit}.th-completion-row{display:flex;justify-content:space-between;align-items:center}.th-completion-label{font-size:.88rem;color:var(--text);font-weight:500}.th-completion-pct{font-size:.88rem;font-weight:700;color:var(--accent)}.th-progress-bar-wrap{height:6px;width:100%;background:var(--border);border-radius:3px;overflow:hidden}.th-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.th-impact-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.th-impact-row:last-child{border-bottom:none}.th-impact-icon{font-size:1.3rem;flex-shrink:0}.th-impact-info{flex:1}.th-impact-title{font-size:.9rem;font-weight:600;color:var(--text);margin:0 0 3px}.th-impact-subtitle{font-size:.83rem;font-weight:600;margin:0}.th-impact-subtitle.positive{color:var(--accent)}.th-impact-subtitle.negative{color:var(--danger)}.th-show-more{display:block;width:100%;padding:8px 0;background:none;border:none;color:var(--accent);font-size:.85rem;font-weight:600;text-align:center;cursor:pointer}.th-show-more:hover{opacity:.75}.th-top-ex-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.th-top-ex-row:last-child{border-bottom:none}.th-top-ex-icon{font-size:1.1rem}.th-top-ex-title{flex:1;font-size:.88rem;color:var(--text)}.th-top-ex-rate{font-size:.85rem;font-weight:700;color:var(--accent)}.th-cta-btn{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px;font-size:.95rem;font-weight:600;cursor:pointer;width:100%;font-family:inherit}.th-cta-btn:active{opacity:.85}@keyframes th-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes th-fade-in{0%{opacity:0}to{opacity:1}}.th-overlay{position:fixed;inset:0;background:#0006;z-index:100;animation:th-fade-in .2s ease}.th-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-radius:24px 24px 0 0;padding:10px 20px 48px;z-index:101;max-height:78vh;overflow-y:auto;display:flex;flex-direction:column;animation:th-slide-up .28s cubic-bezier(.32,.72,0,1)}.th-sheet-handle{width:40px;height:4px;background:var(--border);border-radius:2px;align-self:center;margin:6px 0 16px;flex-shrink:0}.th-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px}.th-sheet-title-group{flex:1}.th-sheet-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 2px}.th-sheet-subtitle{font-size:.78rem;color:var(--text-muted);margin:0}.th-sheet-close{background:var(--bg);border:1px solid var(--border);border-radius:50%;width:32px;height:32px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.th-sheet-list{display:flex;flex-direction:column}.th-sheet-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.th-sheet-row:last-child{border-bottom:none}.th-sheet-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.th-sheet-info{flex:1;min-width:0}.th-sheet-name{font-size:.92rem;font-weight:600;color:var(--text);margin:0 0 2px}.th-sheet-meta{font-size:.78rem;color:var(--text-muted);margin:0}.th-sheet-days-badge{font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:20px;flex-shrink:0}.th-days-badge--high{background:#fee2e2;color:#dc2626}.th-days-badge--mid{background:#fffbeb;color:#92400e}.th-days-badge--low{background:var(--accent-light);color:var(--accent)}.th-sheet-pct-wrap{flex-shrink:0}.th-sheet-pct{font-size:.82rem;font-weight:700;color:var(--text-muted)}.th-sheet-pct.done{color:var(--accent)}.th-sheet-cta{background:var(--accent);color:#fff;border:none;border-radius:14px;padding:14px;font-size:.95rem;font-weight:600;cursor:pointer;width:100%;font-family:inherit;margin-top:20px}.th-sheet-cta:active{opacity:.85}.th-ci-sub{font-size:.8rem;color:var(--text-muted);margin:0 0 8px}.th-ci-loading{font-size:.88rem;color:var(--text-muted);text-align:center;padding:32px 0}.th-ci-level-block{display:flex;flex-direction:column;margin-bottom:8px}.th-ci-level-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:16px 0 4px;padding:0}.th-ci-level-block:first-of-type .th-ci-level-title{margin-top:0}.th-ci-empty{font-size:.82rem;color:var(--text-muted);font-style:italic;padding:8px 0 4px;margin:0}.th-lessons-entry{width:calc(100% - 32px);margin:0 16px 18px;padding:14px;display:flex;align-items:center;gap:12px;border:0;border-radius:18px;color:#fff;text-align:left;background:linear-gradient(135deg,#173d2a,#1d7046);box-shadow:0 10px 24px #15803d29}.th-lessons-entry-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:#ffffff21}.th-lessons-entry>span:nth-child(2){min-width:0;flex:1;display:grid}.th-lessons-entry small{color:#ffffffa6;text-transform:uppercase;font-size:.6rem;letter-spacing:.08em;font-style:normal}.th-lessons-entry strong{font-size:.96rem}.th-lessons-entry em{color:#ffffffb3;font-size:.7rem;font-style:normal}.ps-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:300}.ps-card{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-height:85vh;overflow-y:auto;padding:20px 16px 32px;display:flex;flex-direction:column;gap:12px}.ps-header{display:flex;justify-content:space-between;align-items:flex-start}.ps-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0}.ps-sub{font-size:.85rem;color:var(--text-muted);margin:2px 0 0}.ps-close{background:none;border:none;font-size:1.2rem;color:var(--text-muted);cursor:pointer;padding:4px}.ps-loading,.ps-empty{font-size:.9rem;color:var(--text-muted);text-align:center;padding:24px 0}.ps-error{color:var(--danger)}.ps-hole-list{display:flex;flex-direction:column;gap:2px}.ps-hole-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer}.ps-hole-summary{display:flex;align-items:center;gap:10px;padding:12px 14px}.ps-hole-num{font-size:.8rem;font-weight:600;color:var(--text-muted);min-width:52px}.ps-hole-par{font-size:.8rem;color:var(--text-muted);min-width:36px}.ps-hole-strokes{font-size:1rem;font-weight:700;flex:1}.ps-hole-label{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:20px}.ps-label-eagle{background:#dcfce7;color:#166534}.ps-label-birdie{background:#dcfce7;color:#15803d}.ps-label-par{background:var(--surface-hover);color:var(--text-muted)}.ps-label-bogey{background:#fef3c7;color:#b45309}.ps-label-double{background:#ffedd5;color:#c2410c}.ps-label-worse{background:#fee2e2;color:#dc2626}.ps-expand-icon{font-size:.75rem;color:var(--text-muted)}.ps-hole-detail{padding:12px 14px 16px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;background:var(--surface-hover)}.ps-detail-item{display:flex;flex-direction:column;gap:3px}.ps-detail-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ps-detail-value{font-size:.95rem;font-weight:600;color:var(--text)}.leaderboard-overlay{position:fixed;inset:0;background:var(--bg);z-index:200;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.leaderboard-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 20px 16px;border-bottom:1px solid var(--border)}.leaderboard-title{font-size:1.4rem;font-weight:700}.leaderboard-format{font-size:.85rem;color:var(--text-muted);margin-top:2px}.leaderboard-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px 8px}.leaderboard-list{flex:1;overflow-y:auto;padding:8px 0}.leaderboard-empty{text-align:center;color:var(--text-muted);margin-top:40px}.leaderboard-entry{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border)}.leaderboard-entry.first{background:var(--accent-light)}.leaderboard-entry--tappable{cursor:pointer}.leaderboard-entry--tappable:active{background:var(--surface-hover)}.entry-rank{font-size:1.1rem;font-weight:700;min-width:24px;color:var(--text-muted)}.leaderboard-entry.first .entry-rank{color:var(--accent)}.entry-info{flex:1}.entry-name{font-size:.95rem;font-weight:600}.entry-meta{font-size:.78rem;color:var(--text-muted);margin-top:2px}.entry-score{font-size:1rem;font-weight:700;color:var(--accent)}.group-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:200}.group-modal-card{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-height:85vh;overflow-y:auto;padding:20px 16px 32px;display:flex;flex-direction:column;gap:16px}.group-modal-header{display:flex;justify-content:space-between;align-items:flex-start}.group-modal-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0}.group-modal-sub{font-size:.85rem;color:var(--text-muted);margin:2px 0 0}.group-modal-close{background:none;border:none;font-size:1.2rem;color:var(--text-muted);cursor:pointer;padding:4px}.group-modal-loading,.group-modal-error{font-size:.9rem;color:var(--text-muted);text-align:center;padding:16px 0}.group-modal-error{color:var(--danger)}.group-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:10px}.group-table{border-collapse:collapse;min-width:100%;font-size:.8rem}.group-th-player{text-align:left;padding:8px 10px;background:var(--surface);color:var(--text-muted);font-weight:600;position:sticky;left:0;z-index:1;min-width:90px;border-right:1px solid var(--border)}.group-th-hole{padding:8px 6px;background:var(--surface);color:var(--text-muted);font-weight:600;text-align:center;min-width:30px}.group-par-row td{padding:4px 6px;background:var(--surface-hover);color:var(--text-muted);font-size:.75rem;text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.group-td-label{text-align:left;padding-left:10px;font-weight:600;position:sticky;left:0;background:var(--surface-hover);border-right:1px solid var(--border)}.group-td-par{font-weight:500}.group-player-row td{padding:6px;text-align:center;border-bottom:1px solid var(--border)}.group-td-name{text-align:left;padding-left:10px;font-weight:500;color:var(--text);position:sticky;left:0;background:var(--bg);border-right:1px solid var(--border)}.group-td-score{font-weight:500}.group-player-me{background:var(--accent-light)!important}.group-player-me .group-td-name{background:var(--accent-light)}.cell-under{color:var(--accent);font-weight:700}.cell-over{color:var(--danger)}.cell-par{color:var(--text-muted)}.group-summary{border:1px solid var(--border);border-radius:10px;overflow:hidden}.group-summary-table{width:100%;border-collapse:collapse;font-size:.85rem}.group-summary-table th{padding:8px 12px;background:var(--surface);color:var(--text-muted);font-weight:600;text-align:left}.group-summary-table td{padding:8px 12px;border-top:1px solid var(--border);color:var(--text)}.group-modal-refresh{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;width:100%;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer}.group-modal-refresh:active{background:var(--surface-hover)}.course-search-wrap{position:relative}.course-input-row{position:relative;display:flex;align-items:center}.course-input-row .play-input{flex:1;padding-right:36px}.course-input-row .spinner{position:absolute;right:12px;color:var(--text-muted);pointer-events:none}.course-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;list-style:none;padding:4px 0;z-index:100;box-shadow:0 8px 24px #0000001a}.course-dropdown-item{display:flex;flex-direction:column;padding:10px 14px;cursor:pointer;gap:2px}.course-dropdown-item:hover{background:var(--surface-hover)}.course-dropdown-name{font-size:.9rem;color:var(--text)}.course-dropdown-city{font-size:.75rem;color:var(--text-muted)}.hole-scorecard{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-top:20px;margin-bottom:20px}.hsc-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:12px 10px;background:var(--surface-hover)}.hsc-nav{width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-muted);display:grid;place-items:center;cursor:pointer}.hsc-nav:disabled{opacity:.2;cursor:default}.hsc-title{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px}.hsc-title-info{min-width:0;display:flex;flex-direction:column}.hsc-hole-number{color:var(--text);font-size:1.12rem;font-weight:750}.hsc-hole-count{color:var(--text-muted);font-size:.9rem}.hsc-team{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.7rem}.hsc-par-selector{display:flex;gap:4px}.hsc-par-selector button{width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:.78rem;cursor:pointer}.hsc-par-selector button.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:750}.hsc-par-selector button:disabled{cursor:default}.hsc-par-selector button:disabled:not(.active){opacity:.38}.hsc-total{padding:18px 20px 8px;color:var(--text);font-size:4rem;font-weight:800;line-height:1;text-align:center}.hsc-body{padding:8px 0}.hsc-basic>p{margin:2px 20px 8px;color:var(--text-muted);font-size:.78rem;text-align:center}.hsc-basic .hsc-row{border-bottom:0}.hsc-detailed{padding-bottom:4px}.hsc-ball-state{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:2px 20px 14px;color:var(--text-muted);font-size:.78rem}.hsc-ball-state strong{color:var(--text);font-size:.9rem}.hsc-shot-builder{min-height:146px;padding:16px;border-block:1px solid var(--border);background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.hsc-step-panel{position:relative;animation:hscStepIn .18s ease-out}.hsc-shot-kicker{display:block;margin-bottom:3px;color:var(--text-muted);font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.hsc-step-question{display:block;margin-bottom:13px;color:var(--text);font-size:.95rem}.hsc-step-back{position:absolute;top:-5px;right:0;display:inline-flex;align-items:center;gap:3px;padding:5px 0;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.7rem;cursor:pointer}.hsc-step-back+.hsc-shot-kicker{padding-right:122px}.hsc-club-trigger,.hsc-distance-grid button,.hsc-result-grid button,.hsc-context-grid button{min-height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:.78rem;cursor:pointer}.hsc-club-trigger{display:flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;padding:10px 14px;color:var(--text);font-weight:700}.hsc-club-trigger:not(:disabled):active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.hsc-short-game-required{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.hsc-short-game-trigger,.hsc-phase-switch{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--text);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.hsc-phase-switch{width:100%;min-height:38px;margin:-3px 0 10px;padding-block:6px;color:var(--accent);font-size:.7rem}.hsc-phase-text-button{min-height:44px;padding:5px 0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.hsc-short-game-trigger:disabled,.hsc-phase-switch:disabled,.hsc-phase-text-button:disabled{opacity:.45;cursor:default}.hsc-distance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hsc-distance-grid button{min-width:0;padding:7px 4px;color:var(--text);font-weight:650}.hsc-distance-grid button:not(:disabled):active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.hsc-distance-grid button.active{border-color:var(--accent);background:var(--accent);color:#fff}.hsc-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.hsc-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hsc-context-grid button{min-width:0;padding:9px 6px;border-color:color-mix(in srgb,var(--text-muted) 35%,var(--border));color:var(--text);font-weight:650}.hsc-result-grid button{min-width:0;padding:7px 5px;border-color:color-mix(in srgb,var(--text-muted) 35%,var(--border));color:var(--text);font-weight:650}.hsc-result-grid button:not(:disabled):active,.hsc-context-grid button:not(:disabled):active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.hsc-step-hint{margin:10px 0 0;color:var(--text-muted);font-size:.7rem;line-height:1.4}.hsc-hole-finished{display:flex;flex-direction:column;align-items:center;padding:16px 20px 18px;border-block:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.hsc-hole-finished strong{color:var(--accent);font-size:.95rem}.hsc-hole-finished span{margin-top:2px;color:var(--text-muted);font-size:.72rem}.hsc-shot-history{padding:8px 16px 2px}.hsc-shot-history-toggle{display:grid;width:100%;min-height:38px;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.69rem;font-weight:700;letter-spacing:.05em;text-align:left;text-transform:uppercase;cursor:pointer}.hsc-shot-history-toggle strong{color:var(--accent);font-size:.67rem}.hsc-shot-list{animation:hscHistoryIn .16s ease-out}.hsc-shot-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;border-top:1px solid var(--border)}.hsc-shot-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--bg);color:var(--text-muted);font-size:.7rem;font-weight:750}.hsc-shot-copy{display:flex;min-width:0;flex-direction:column}.hsc-shot-copy strong{color:var(--text);font-size:.8rem}.hsc-shot-copy small{margin-top:2px;overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.hsc-shot-actions{display:flex;align-items:center}.hsc-shot-edit,.hsc-shot-remove{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.hsc-shot-edit{color:var(--accent)}.hsc-shot-remove{color:var(--danger)}.hsc-shot-edit:hover,.hsc-shot-edit:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent)}.hsc-shot-remove:hover,.hsc-shot-remove:focus-visible{background:color-mix(in srgb,var(--danger) 10%,transparent)}.hsc-shot-edit:disabled,.hsc-shot-remove:disabled{opacity:.35}.hsc-shot-undo{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:10px;padding:0 8px 0 13px;border-radius:12px;background:color-mix(in srgb,var(--text) 92%,var(--surface));box-shadow:0 8px 22px #0f172a24;color:var(--surface);animation:hscUndoIn .15s ease-out}.hsc-shot-undo span{font-size:.72rem;font-weight:650}.hsc-shot-undo button{min-width:76px;min-height:36px;border:0;border-radius:9px;background:transparent;color:#86efac;font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}.hsc-picker-overlay{position:fixed;z-index:400;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top,0px);background:#00000085;animation:hscOverlayIn .16s ease-out}.hsc-picker-sheet{width:min(100%,480px);padding:9px 16px calc(20px + env(safe-area-inset-bottom,0px));border:1px solid var(--border);border-bottom:0;border-radius:22px 22px 0 0;background:var(--surface);box-shadow:0 -18px 60px #0003;animation:hscSheetIn .2s ease-out;overscroll-behavior:contain}.hsc-picker-handle{width:36px;height:4px;margin:0 auto 13px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 35%,transparent)}.hsc-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.hsc-picker-header h2{margin:0;color:var(--text);font-size:1.08rem}.hsc-picker-close{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;margin-top:-5px;padding:0;border:0;border-radius:50%;background:var(--surface-hover);color:var(--text-muted);cursor:pointer}.hsc-club-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hsc-club-grid button{min-width:0;min-height:50px;padding:7px 4px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.hsc-club-grid button.active{border-color:var(--accent);background:var(--accent);color:#fff}.hsc-club-empty{grid-column:1 / -1;padding:22px 12px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--text-muted);font-size:.86rem}.hsc-club-empty strong{color:var(--text);font-size:1rem}.hsc-club-empty a{color:var(--accent);font-weight:700}.hsc-phase-editor{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.hsc-phase-editor>span{display:block;margin-bottom:8px;color:var(--text-muted);font-size:.7rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.hsc-phase-editor>div,.hsc-technique-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hsc-phase-editor button,.hsc-technique-grid button,.hsc-short-distance-grid button{min-height:44px;padding:7px 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.hsc-phase-editor button.active,.hsc-technique-grid button.active,.hsc-short-distance-grid button.active{border-color:var(--accent);background:var(--accent);color:#fff}.hsc-short-game-fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}.hsc-short-game-fieldset legend{margin-bottom:9px;color:var(--text);font-size:.82rem;font-weight:700}.hsc-technique-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hsc-short-distance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hsc-custom-distance{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:6px 10px 6px 12px;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:.75rem}.hsc-custom-distance>span:last-child{display:flex;align-items:center;gap:5px;color:var(--text);font-weight:700}.hsc-custom-distance input{width:76px;min-height:36px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:.88rem;text-align:right}.hsc-short-game-save{width:100%;min-height:48px;border:0;border-radius:11px;background:var(--accent);color:#fff;font:inherit;font-size:.85rem;font-weight:750;cursor:pointer}.hsc-short-game-save:disabled{opacity:.38;cursor:default}.hsc-row{min-height:60px;padding:8px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.hsc-label{color:var(--text);font-size:.92rem}.hsc-counter{display:flex;align-items:center;gap:16px}.hsc-counter button{width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer}.hsc-counter button:disabled{opacity:.3;cursor:default}.hsc-counter>span{min-width:28px;color:var(--text);font-size:1rem;font-weight:650;text-align:center}.hsc-tee{flex:1;max-width:230px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.hsc-tee button{min-width:0;min-height:44px;padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:.82rem;cursor:pointer}.hsc-tee button.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:650}.hsc-tee button:disabled{cursor:default}.hsc-putts{border-top:1px solid var(--border)}.hsc-putts .hsc-row:last-child{border-bottom:0}.hsc-footer{min-height:56px;padding:10px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px}.hsc-result{flex:1}.hsc-result span{font-size:.78rem;font-weight:750;letter-spacing:.07em}.hsc-round-total{display:flex;align-items:baseline;gap:6px}.hsc-round-total small{color:var(--text-muted);font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.hsc-round-total strong{color:var(--text-muted);font-size:1.05rem}.hsc-round-total span{color:var(--accent);font-size:1.05rem;font-weight:750}.hsc-saving{color:var(--text-muted);font-size:.7rem}@keyframes hscSlideInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes hscSlideInLeft{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes hscStepIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes hscHistoryIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes hscUndoIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes hscOverlayIn{0%{background:#0000}to{background:#00000085}}@keyframes hscSheetIn{0%{transform:translateY(28px)}to{transform:translateY(0)}}.hsc-slide--right{animation:hscSlideInRight .18s ease-out}.hsc-slide--left{animation:hscSlideInLeft .18s ease-out}@media(max-width:390px){.hsc-header{padding-inline:6px}.hsc-title{gap:5px}.hsc-par-selector button{width:36px;height:38px}.hsc-row{padding-inline:14px}}@media(prefers-reduced-motion:reduce){.hsc-slide--right,.hsc-slide--left,.hsc-step-panel,.hsc-shot-list,.hsc-shot-undo,.hsc-picker-overlay,.hsc-picker-sheet{animation-duration:1ms}}.hole-completion-overlay{position:fixed;z-index:520;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top,0px);background:#0000007a;animation:holeCompletionOverlayIn .16s ease-out}.hole-completion-sheet{width:min(100%,480px);padding:9px 18px calc(18px + env(safe-area-inset-bottom,0px));border:1px solid var(--border);border-bottom:0;border-radius:24px 24px 0 0;background:var(--surface);box-shadow:0 -20px 64px #00000038;animation:holeCompletionSheetIn .19s ease-out}.hole-completion-handle{width:38px;height:4px;margin:0 auto 14px;border-radius:99px;background:color-mix(in srgb,var(--text-muted) 35%,transparent)}.hole-completion-header{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:10px}.hole-completion-check{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.hole-completion-header p,.hole-completion-round>p{margin:0;color:var(--text-muted);font-size:.62rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.hole-completion-header h2{margin:2px 0 0;color:var(--text);font-size:1.12rem;letter-spacing:-.025em}.hole-completion-header>button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.hole-completion-result{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:16px;border-radius:17px;background:color-mix(in srgb,var(--completion-tone) 9%,var(--surface))}.hole-completion-result--under{--completion-tone: #15803d}.hole-completion-result--even{--completion-tone: #64748b}.hole-completion-result--over{--completion-tone: #b45309}.hole-completion-result>div{display:flex;flex-direction:column}.hole-completion-result>div:last-child{align-items:flex-end}.hole-completion-result span{color:var(--text-muted);font-size:.66rem}.hole-completion-result>div:first-child strong{margin-top:2px;color:var(--completion-tone);font-size:1.35rem;letter-spacing:-.035em}.hole-completion-result>div:last-child strong{color:var(--text);font-size:1.65rem;letter-spacing:-.045em;line-height:1}.hole-completion-detail{display:flex;gap:7px;margin-top:9px}.hole-completion-detail span{padding:5px 8px;border-radius:99px;background:var(--bg);color:var(--text-muted);font-size:.61rem;font-weight:650}.hole-completion-round{margin-top:16px;padding-top:15px;border-top:1px solid var(--border)}.hole-completion-round>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:10px}.hole-completion-round span{display:flex;min-width:0;flex-direction:column;gap:3px;padding:9px;border-radius:11px;background:var(--bg)}.hole-completion-round small{color:var(--text-muted);font-size:.55rem}.hole-completion-round strong{color:var(--text);font-size:.88rem}.hole-completion-actions{display:flex;flex-direction:column;gap:3px;margin-top:16px}.hole-completion-primary,.hole-completion-review{min-height:50px;border:0;border-radius:13px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.hole-completion-primary{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff}.hole-completion-review{min-height:44px;background:transparent;color:var(--text-muted)}@keyframes holeCompletionOverlayIn{0%{background:#0000}to{background:#0000007a}}@keyframes holeCompletionSheetIn{0%{transform:translateY(28px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hole-completion-overlay,.hole-completion-sheet{animation-duration:1ms}}.round-report-screen{width:min(100%,760px);margin:0 auto;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.round-report-header{display:flex;align-items:center;gap:13px;margin:4px 0 12px}.round-report-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.round-report-header p,.round-report-section-title p{margin:0;color:var(--text-muted);font-size:.62rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.round-report-header h1{margin:1px 0;color:var(--text);font-size:1.45rem;letter-spacing:-.035em}.round-report-header>div>span{color:var(--text-muted);font-size:.78rem}.round-report-sync{display:flex;min-height:38px;align-items:center;gap:7px;margin-bottom:12px;padding:7px 10px;border:1px solid var(--border);border-radius:11px;color:var(--text-muted);font-size:.72rem}.round-report-sync--saved{color:#15803d}.round-report-sync--pending{color:#b45309}.round-report-sync--saving svg{animation:roundReportSpin .9s linear infinite}.round-report-sync button{min-height:30px;margin-left:auto;padding:4px 9px;border:0;border-radius:8px;background:color-mix(in srgb,currentColor 10%,transparent);color:inherit;font:inherit;font-weight:750;cursor:pointer}.round-report-hero,.round-report-card,.round-report-callout{border:1px solid var(--border);border-radius:17px;background:var(--surface)}.round-report-hero{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;padding:14px}.round-report-score{display:flex;min-height:118px;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.round-report-score span,.round-report-score small,.round-report-kpis small{color:var(--text-muted);font-size:.61rem}.round-report-score strong{margin:3px 0;color:var(--accent);font-size:2.25rem;letter-spacing:-.06em;line-height:1}.round-report-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.round-report-kpis>span{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:9px;border-radius:12px;background:var(--bg)}.round-report-kpis strong{margin-top:2px;color:var(--text);font-size:.92rem}.round-report-callout{display:flex;gap:10px;margin-top:12px;padding:13px;border-color:color-mix(in srgb,#b45309 24%,var(--border));background:color-mix(in srgb,#b45309 6%,var(--surface))}.round-report-callout>span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;background:color-mix(in srgb,#b45309 12%,var(--surface));color:#b45309}.round-report-callout h2,.round-report-section-title h2{margin:1px 0 0;color:var(--text);font-size:.94rem}.round-report-callout p{margin:4px 0 0;color:var(--text-muted);font-size:.72rem;line-height:1.42}.round-report-card{margin-top:12px;padding:14px}.round-report-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.round-report-section-title>strong{color:var(--accent);font-size:1.05rem}.round-report-section-title>span{color:var(--text-muted);font-size:.65rem}.round-report-coverage-bar,.round-report-phase-track{display:block;overflow:hidden;height:7px;margin-top:12px;border-radius:99px;background:var(--bg)}.round-report-coverage-bar>span,.round-report-phase-track>i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.round-report-coverage-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.round-report-coverage-list span,.round-report-tags span{padding:6px 8px;border-radius:99px;background:var(--bg);color:var(--text-muted);font-size:.65rem}.round-report-coverage-list strong,.round-report-tags strong{color:var(--text)}.round-report-note,.round-report-penalty-copy,.round-report-empty{margin:10px 0 0;color:var(--text-muted);font-size:.68rem;line-height:1.4}.round-report-phases{margin-top:13px}.round-report-phase+.round-report-phase{margin-top:10px}.round-report-phase>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text);font-size:.72rem}.round-report-phase>div strong{font-size:.68rem}.round-report-phase-track{height:6px;margin-top:5px}.round-report-outcome-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.round-report-outcome-summary>span{display:flex;min-width:0;flex-direction:column;align-items:center;padding:10px 4px;border-radius:11px;background:var(--bg)}.round-report-outcome-summary small{color:var(--text-muted);font-size:.59rem;text-align:center}.round-report-outcome-summary strong{margin-top:2px;color:var(--text);font-size:1rem}.round-report-outcome-phases{margin-top:10px}.round-report-outcome-phase{padding:10px 0;border-top:1px solid var(--border)}.round-report-outcome-phase>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.round-report-outcome-phase>div>span{display:flex;min-width:0;flex-direction:column}.round-report-outcome-phase>div>span:last-child{flex:0 0 auto;align-items:flex-end;text-align:right}.round-report-outcome-phase strong{color:var(--text);font-size:.72rem}.round-report-outcome-phase small{margin-top:2px;color:var(--text-muted);font-size:.6rem}.round-report-outcome-track{display:block;overflow:hidden;height:5px;margin-top:7px;border-radius:99px;background:var(--bg)}.round-report-outcome-track i{display:block;height:100%;border-radius:inherit;background:var(--text-muted);opacity:.55}.round-report-outcome-track.has-sample i{background:var(--accent);opacity:1}.round-report-sample-note{display:inline-block;margin-right:8px}.round-report-outcome-contexts{margin-top:4px}.round-report-outcome-contexts>strong{color:var(--text);font-size:.68rem}.round-report-outcome-contexts>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.round-report-outcome-contexts span{display:flex;flex-direction:column;padding:7px 9px;border-radius:10px;background:var(--bg);color:var(--text-muted);font-size:.62rem}.round-report-outcome-contexts span>strong{margin-top:2px;color:var(--text);font-size:.7rem}.round-report-outcome-contexts span>small{margin-top:1px;font-size:.52rem}.round-report-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.round-report-direction{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.round-report-direction span{display:flex;min-width:0;flex-direction:column;align-items:center;padding:9px 3px;border-radius:10px;background:var(--bg)}.round-report-direction small{color:var(--text-muted);font-size:.58rem}.round-report-direction strong{color:var(--text);font-size:.9rem}.round-report-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.round-report-clubs{margin-top:10px}.round-report-clubs>div,.round-report-hole-table>div{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border)}.round-report-clubs>div:first-child,.round-report-hole-table>div:first-child{border-top:0}.round-report-club-name,.round-report-club-result{display:flex;min-width:0;flex-direction:column}.round-report-club-name strong{color:var(--text);font-size:.74rem}.round-report-club-name small,.round-report-club-result small{margin-top:2px;color:var(--text-muted);font-size:.59rem}.round-report-club-result{flex:0 0 auto;align-items:flex-end;text-align:right}.round-report-club-result b{color:var(--text);font-size:.67rem}.round-report-hole-table{margin-top:8px}.round-report-hole-table>div{min-height:48px}.round-report-hole-table span{display:flex;flex-direction:column}.round-report-hole-table span:last-child{align-items:flex-end}.round-report-hole-table strong{color:var(--text);font-size:.76rem}.round-report-hole-table small{margin-top:2px;color:var(--text-muted);font-size:.61rem}.round-report-actions{position:sticky;bottom:0;z-index:3;margin-top:14px;padding:10px 0 calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--bg) 20%)}.round-report-actions button{width:100%;min-height:52px;border:0;border-radius:13px;background:var(--accent);color:#fff;font:inherit;font-size:.84rem;font-weight:750;cursor:pointer}@keyframes roundReportSpin{to{transform:rotate(360deg)}}@media(max-width:520px){.round-report-two-columns{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){.round-report-sync--saving svg{animation-duration:1ms}}.capture-mode-wrap{margin:12px 0 -8px}.capture-mode-switch{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:12px}.capture-mode-switch>span{color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.capture-mode-switch>div{display:grid;min-width:184px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.capture-mode-switch button{min-height:32px;padding:4px 10px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:650;cursor:pointer}.capture-mode-switch button.active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.capture-mode-switch button:disabled{cursor:default;opacity:.5}.capture-mode-notice{margin:3px 0 0;color:var(--text-muted);font-size:.7rem;line-height:1.35;text-align:right}.screen-action{min-height:44px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;gap:4px;font:600 14px/1 DM Sans,sans-serif;cursor:pointer;transition:color .16s ease,background .16s ease,transform .1s ease}.screen-action:hover{color:var(--text);background:var(--surface-hover)}.screen-action:active{transform:scale(.97)}.screen-action--inverse{color:#ffffffd6}.screen-action--inverse:hover{color:#fff;background:#ffffff1f}.screen-action--exit{color:var(--text-muted)}.screen-action--danger{color:var(--danger)}.screen-action--fixed-right{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:max(16px,calc((100vw - 480px)/2 + 16px));z-index:95;align-self:auto}@media(prefers-reduced-motion:reduce){.screen-action{transition-duration:1ms}}.play-screen{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto}.play-hub{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.play-hub-header h1{margin:0;color:var(--text);font-size:1.75rem}.play-hub-header p{margin:5px 0 0;color:var(--text-muted);font-size:.9rem}.play-hub-section{margin-top:28px}.play-hub-section h2{margin:0 0 10px;color:var(--text-muted);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.play-hub-section--next{margin-top:22px}.play-tournament-next{width:100%;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface));color:var(--text);display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;text-align:left;font:inherit;cursor:pointer}.play-tournament-next-icon{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}.play-tournament-next-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.play-tournament-next-copy small{color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.play-tournament-next-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.play-tournament-next-copy span{color:var(--text-muted);font-size:.76rem}.play-tournament-next-action{grid-column:2;color:var(--accent);display:flex;align-items:center;gap:3px;font-size:.78rem;font-weight:800}.play-hub-list{display:flex;flex-direction:column;gap:8px}.play-hub-round{width:100%;min-height:68px;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);display:flex;align-items:center;gap:10px;text-align:left;font:inherit;cursor:pointer}.play-hub-round--social{border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}.play-hub-tournament{align-items:flex-start}.play-hub-tournament .play-hub-round-icon{margin-top:3px}.play-hub-tournament .play-hub-round-info small{line-height:1.35}.play-hub-tournament-groups{display:flex;flex-direction:column;gap:18px}.play-hub-tournament-groups h3{margin:0 0 8px;color:var(--text);font-size:.86rem}.play-hub-round-icon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);display:grid;place-items:center}.play-hub-round-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.play-hub-round-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem}.play-hub-round-info small{color:var(--text-muted);font-size:.75rem}.play-hub-live{color:var(--accent);font-size:.68rem;white-space:nowrap}.play-hub-new{width:100%;min-height:52px;margin-top:18px;padding:12px 16px;border:0;border-radius:12px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:750;cursor:pointer}.play-hub-section--recent{margin-top:30px}.play-hub-empty{min-height:94px;padding:18px;border:1px dashed var(--border);border-radius:13px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.play-hub-empty p{margin:0;font-size:.85rem}.play-hub-empty--compact{min-height:76px;flex-direction:row}.play-hub-round:hover,.play-tournament-next:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.play-hub-round:focus-visible,.play-tournament-next:focus-visible,.play-hub-new:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px}.play-hub-loading{margin-top:28px;display:flex;flex-direction:column;gap:10px}.play-hub-loading span{height:68px;border-radius:13px;background:linear-gradient(90deg,var(--surface) 20%,var(--surface-hover) 50%,var(--surface) 80%);background-size:220% 100%;animation:playHubShimmer 1.2s ease-in-out infinite}@keyframes playHubShimmer{to{background-position:-220% 0}}.play-flow-header{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.play-exit-btn{min-height:44px;padding:0;border:0;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;text-align:left;display:inline-flex;align-items:center;gap:4px}.play-save-status{color:var(--text-muted);font-size:12px}.pars-loaded-badge{font-size:.8rem;color:var(--accent);margin-top:-4px}.play-title{font-size:1.6rem;margin-bottom:24px}.play-error{color:var(--danger);font-size:.9rem;margin-bottom:12px}.play-start-form{display:flex;flex-direction:column;gap:12px}.play-round-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.play-round-mode button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.play-round-mode button.active{color:var(--text);background:var(--surface-hover);box-shadow:0 1px 3px #0000001a}.play-capture-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px}.play-capture-mode button{display:flex;min-width:0;min-height:92px;flex-direction:column;align-items:flex-start;padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease}.play-capture-mode button strong{font-size:.9rem}.play-capture-mode button span{margin-top:5px;color:var(--text-muted);font-size:.72rem;line-height:1.35}.play-capture-mode button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.play-capture-mode button.active strong{color:var(--accent)}.play-capture-note{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.play-capture-note strong{font-size:.85rem}.play-capture-note span{margin-top:3px;color:var(--text-muted);font-size:.75rem}.play-mode-help{margin:-4px 0 2px;color:var(--text-muted);font-size:.82rem}.play-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.play-friends-picker{margin-top:4px;display:flex;flex-direction:column;gap:8px}.play-friends-heading{display:flex;align-items:center;justify-content:space-between}.play-friends-heading>span:last-child{color:var(--text-muted);font-size:.82rem}.play-player-row{width:100%;min-height:58px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);display:flex;align-items:center;gap:10px;text-align:left;font:inherit}button.play-player-row{cursor:pointer;transition:border-color .18s ease,background .18s ease}.play-player-row--self,.play-player-row.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.play-player-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:var(--surface-hover);color:var(--text);font-size:.85rem;font-weight:750}.play-player-row.selected .play-player-avatar,.play-player-row--self .play-player-avatar{background:var(--accent);color:#fff}.play-player-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.play-player-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.play-player-info strong small{color:var(--text-muted);font-weight:500}.play-player-info>small{color:var(--text-muted);font-size:.76rem}.play-player-check{width:20px;height:20px;flex:0 0 20px;border:1px solid var(--border);border-radius:6px;display:grid;place-items:center}.play-player-row.selected .play-player-check{border-color:var(--accent);background:var(--accent);color:#fff}.play-friends-empty{margin:0;padding:12px;border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);font-size:.85rem;text-align:center}.play-friends-empty p{margin:0 0 8px}.play-friends-empty button{min-height:36px;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:650;cursor:pointer}.play-course-static{font-size:1.05rem;font-weight:500;color:var(--text);margin:0}.play-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);font-size:1rem;outline:none;width:100%}.play-input:focus{border-color:var(--accent)}.play-hole-selector{display:flex;gap:12px}.play-hole-btn{flex:1;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.95rem;cursor:pointer;transition:all .2s}.play-hole-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}.scorecard{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:20px}.scorecard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface-hover)}.hole-number{font-size:1.2rem;font-weight:700;color:var(--text)}.hole-total{font-size:1rem;color:var(--text-muted)}.hole-par{font-size:.9rem;color:var(--accent)}.nav-arrow{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;width:44px;height:44px;padding:0;border-radius:8px;transition:color .2s}.nav-arrow:hover:not(:disabled){color:var(--text)}.nav-arrow:disabled{opacity:.2;cursor:not-allowed}.scorecard-title{display:flex;align-items:center;gap:8px}.scorecard-title-info{display:flex;flex-direction:column}.scorecard-team{font-size:.75rem;color:var(--text-muted)}.par-selector{display:flex;gap:6px;margin-left:4px}.par-btn{width:44px;height:44px;padding:0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all .15s}.par-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}.scorecard-body{padding:8px 0}.putt-distance-list{border-top:1px solid var(--border)}.putt-distance-list .score-row:last-child{border-bottom:none}.score-row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border)}.score-label{font-size:.95rem;color:var(--text)}.score-controls{display:flex;align-items:center;gap:16px}.score-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text);font-size:1.2rem;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}.score-btn:hover:not(:disabled){background:var(--surface-hover)}.score-btn:disabled{opacity:.3;cursor:not-allowed}.score-value{font-size:1.4rem;font-weight:700;min-width:28px;text-align:center;color:var(--text)}.fairway-toggle{display:flex;gap:8px}.fairway-btn{min-width:64px;min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .15s}.fairway-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.scorecard-footer{padding:14px 20px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--border)}.footer-hole-total,.footer-round-total{display:flex;flex-direction:column;align-items:center;gap:2px}.footer-round-total{margin-left:auto;flex-direction:row;gap:6px;align-items:baseline}.footer-hole-label,.footer-round-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.footer-hole-strokes{font-size:2rem;font-weight:800;line-height:1;color:var(--text)}.footer-round-strokes{font-size:1.1rem;font-weight:700;color:var(--text-muted)}.footer-diff{font-size:1.1rem;font-weight:700;color:var(--accent)}.saving-indicator{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.btn-finish{flex:2;padding:16px;border-radius:12px;border:2px solid var(--accent);background:transparent;color:var(--accent);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-finish:hover{background:var(--accent);color:#fff}.par-setup-grid{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.par-setup-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface-hover);border-radius:10px}.par-setup-hole{font-size:.95rem;color:var(--text);min-width:72px}.par-setup-footer{display:flex;flex-direction:column;gap:10px}.par-setup-total{text-align:center;color:var(--accent);font-size:1rem;font-weight:700}.btn-back{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.95rem;cursor:pointer}.play-actions{display:flex;gap:10px;margin-bottom:16px}.finish-confirm{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.finish-confirm p{font-size:.85rem;color:var(--text-muted);margin:0}.finish-confirm-btns{display:flex;gap:8px}.btn-next{width:100%;padding:16px;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-next:hover{opacity:.88}.next-hole-block{display:flex;flex-direction:column;gap:10px;width:100%}.btn-early-finish{background:transparent;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;text-align:center;padding:4px;text-decoration:underline;text-underline-offset:3px}.btn-finish--sm{flex:1;padding:10px;font-size:.85rem}.trophy-fab{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;width:52px;height:52px;border-radius:50%;border:none;background:var(--accent-light);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0006;z-index:50}.group-scorecard-fab{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom,0px));right:16px;width:52px;height:52px;border-radius:50%;border:none;background:var(--surface);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003;z-index:50}.scorecard-total-row{display:flex;align-items:center;justify-content:center;padding:20px 20px 8px}.scorecard-total-value{font-size:4rem;font-weight:800;line-height:1;color:var(--text);min-width:64px;text-align:center}.score-btn--lg{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.score-btn--lg:hover:not(:disabled){background:var(--surface-hover)}.score-btn--lg:disabled{opacity:.2;cursor:not-allowed}.score-row--compact{min-height:60px;padding:8px 20px}.score-btn--sm{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.score-btn--sm:hover:not(:disabled){background:var(--surface-hover)}.score-btn--sm:disabled{opacity:.3;cursor:not-allowed}.score-value--sm{font-size:1rem;font-weight:600;min-width:20px;text-align:center;color:var(--text)}.footer-label-badge{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.round-scorecard{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:20px;overflow-x:auto}.round-scorecard-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px}.round-scorecard-grid{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.rsc-row{display:flex;gap:2px}.rsc-cell{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:4px;flex:1}.rsc-cell--label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;flex:0 0 28px}.rsc-cell--num,.rsc-row--par .rsc-cell{color:var(--text-muted);font-size:.7rem}.rsc-cell--score{background:transparent;border:none;color:var(--text);font-weight:600;cursor:pointer;transition:opacity .15s}.rsc-cell--score:hover{opacity:.8}.rsc-cell--active{outline:2px solid var(--accent);outline-offset:-2px}@keyframes slideInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.scorecard-slide--right{animation:slideInRight .18s ease-out}.scorecard-slide--left{animation:slideInLeft .18s ease-out}.round-scorecard-total{font-size:.85rem;color:var(--text-muted);text-align:right;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.profile-screen{padding:24px 16px 90px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:4px}.profile-title{font-size:1.6rem;font-weight:700;margin-bottom:8px;color:var(--text)}.profile-username{font-size:1.1rem;font-weight:600;color:var(--text)}.profile-email{color:var(--text-muted);font-size:.9rem}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.stat-card{background:var(--surface);border-radius:12px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 4px #00000012}.stat-value{font-size:1.4rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-align:center;font-weight:600}.profile-section{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.unit-toggle{display:flex;gap:8px}.unit-toggle-btn{flex:1;padding:10px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.unit-toggle-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:600}.unit-toggle-btn:disabled{cursor:wait}.unit-save-status{min-height:20px;margin:6px 0 0;color:var(--accent);font-size:.8rem;font-weight:600}.profile-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:4px;font-weight:600}.mode-section{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.mode-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.mode-heading .profile-section-title{margin:0}.mode-current{padding:4px 8px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:.72rem;font-weight:700}.mode-current[data-mode=admin]{background:#f3e8ff;color:#6d28d9}.mode-current[data-mode=teacher]{background:#e0f2fe;color:#0369a1}.mode-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mode-option{min-width:0;min-height:42px;padding:8px 6px;border:1.5px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text-muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.mode-option.active[data-mode=student]{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.mode-option.active[data-mode=teacher]{border-color:#0284c7;background:#e0f2fe;color:#0369a1}.mode-option.active[data-mode=admin]{border-color:#7c3aed;background:#f3e8ff;color:#6d28d9}.profile-label{font-size:.82rem;color:var(--text-muted);margin-top:4px;font-weight:500}.profile-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-size:.95rem;outline:none;width:100%;box-shadow:0 1px 3px #0000000d}.profile-input:focus{border-color:var(--text)}.profile-input option{background:var(--surface);color:var(--text)}.profile-field-help{margin:-2px 0 2px;color:var(--text-muted);font-size:.78rem}.federation-sync-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.btn-federation-sync{border:1px solid var(--accent);border-radius:10px;padding:0 14px;background:var(--accent-light);color:var(--accent);font-weight:700;cursor:pointer}.btn-federation-sync:disabled{cursor:wait;opacity:.65}.federation-sync-result{margin:-2px 0 2px;color:var(--accent);font-size:.78rem;font-weight:600}.profile-error{color:var(--danger);font-size:.9rem}.club-bag-section{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.club-bag-section .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.club-bag-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.club-bag-heading>span{color:var(--accent);font-size:.78rem;font-weight:700;white-space:nowrap}.club-bag-list{display:flex;flex-direction:column}.club-bag-row{display:grid;grid-template-columns:minmax(72px,1fr) 112px 36px 36px;gap:6px;align-items:center;min-height:48px;border-top:1px solid var(--border)}.club-bag-row strong{font-size:.88rem}.club-bag-row label,.club-bag-add label{display:flex;align-items:center;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--bg)}.club-bag-row input,.club-bag-add input{min-width:0;width:100%;padding:9px 6px 9px 10px;border:0;background:transparent;color:var(--text);font:inherit}.club-bag-row label b,.club-bag-add label b{padding-right:8px;color:var(--text-muted);font-size:.72rem}.club-bag-row button,.club-bag-add button{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;cursor:pointer}.club-bag-save{border:1px solid var(--accent);color:var(--accent);background:var(--accent-light)}.club-bag-remove{border:1px solid var(--border);color:var(--danger);background:transparent}.club-bag-empty{margin:4px 0 8px;color:var(--text-muted);font-size:.86rem}.club-bag-add{display:grid;grid-template-columns:minmax(90px,1fr) minmax(110px,1fr) 40px;gap:7px;padding-top:10px;border-top:1px solid var(--border)}.club-bag-add select{min-width:0;border:1px solid var(--border);border-radius:9px;padding:9px;background:var(--bg);color:var(--text)}.club-bag-add button{width:40px;height:40px;border:0;background:var(--accent);color:#fff}@media(max-width:380px){.club-bag-row{grid-template-columns:minmax(60px,1fr) 96px 34px 34px;gap:4px}}.btn-save{width:100%;padding:14px;border-radius:12px;border:none;background:var(--text);color:var(--surface);font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-save:hover{opacity:.85}.btn-logout{margin-top:8px;width:100%;padding:14px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-logout:hover{border-color:var(--danger);color:var(--danger)}.btn-secondary{width:100%;padding:14px;border-radius:12px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;min-height:44px;cursor:pointer;transition:background .15s}.btn-secondary:active{background:var(--accent-light)}.academy-loading{display:flex;justify-content:center;padding:24px 0;color:var(--text-muted)}.academy-screen{padding:24px 16px 90px;max-width:480px;margin:0 auto}.academy-title{font-size:1.6rem;margin-bottom:20px}.academy-tabs{display:flex;gap:8px;margin-bottom:20px}.academy-tab{flex:1;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.95rem;cursor:pointer;transition:background .15s,color .15s}.academy-tab.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:700}.academy-error{color:var(--danger);font-size:.9rem;margin-bottom:12px}.academy-section{display:flex;flex-direction:column;gap:12px}.academy-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:8px}.academy-empty{color:var(--text-muted);font-size:.9rem}.invite-row{display:flex;gap:8px}.btn-sm{padding:14px 16px;white-space:nowrap}.pending-invites{display:flex;flex-direction:column;gap:6px}.invite-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface);border-radius:8px;font-size:.9rem}.invite-email{flex:1;font-size:.88rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-action-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:.78rem;color:var(--text-muted);cursor:pointer;margin-left:8px;flex-shrink:0;transition:opacity .15s}.invite-action-btn:hover{opacity:.7}.invite-action-btn:disabled{opacity:.4;cursor:default}.invite-action-btn.danger{color:var(--danger);border-color:var(--danger)}.invite-badge{font-size:.75rem;color:var(--text-muted)}.student-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border-radius:10px}.student-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.student-name{font-size:.95rem;font-weight:600}.student-hcp{font-size:.8rem;color:var(--text-muted)}.new-champ-form{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border-radius:12px}.champ-list{display:flex;flex-direction:column;gap:10px}.champ-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface);border-radius:12px;cursor:pointer;transition:background .15s}.champ-item:hover{background:var(--surface-hover)}.champ-name{font-size:1rem;font-weight:600}.champ-meta{font-size:.8rem;color:var(--text-muted);margin-top:2px}.champ-status{font-size:.75rem;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.06em}.champ-status.open{background:var(--accent-light);color:var(--accent)}.champ-status.active{background:#facc1526;color:#facc15}.champ-status.finished{background:var(--border);color:var(--text-muted)}.student-item--clickable{cursor:pointer;transition:background .15s;justify-content:space-between}.student-item--clickable:hover{background:var(--surface-hover)}.student-info{flex:1}.club-performance-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 1px 4px #0000000f}.club-performance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.club-performance-heading p{margin:0 0 3px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.club-performance-heading h2{margin:0;font-size:1rem}.club-performance-heading>span{color:var(--text-muted);font-size:.7rem;text-align:right}.club-performance-coverage,.club-performance-note,.club-performance-empty,.club-performance-neutral{color:var(--text-muted);font-size:.75rem;line-height:1.45}.club-performance-coverage{margin:10px 0 12px}.club-performance-empty{margin:14px 0}.club-performance-note{margin:12px 0 0}.club-performance-neutral{margin:0;padding:8px 10px;background:var(--bg);border-radius:8px}.club-performance-list{display:flex;flex-direction:column;gap:7px}.club-performance-item{border:1px solid var(--border);border-radius:11px;overflow:hidden}.club-performance-item summary{min-height:52px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.club-performance-item summary::-webkit-details-marker{display:none}.club-performance-item summary>span{display:flex;flex-direction:column;gap:2px}.club-performance-item summary strong{font-size:.86rem}.club-performance-item summary small{color:var(--text-muted);font-size:.68rem}.club-performance-use{align-items:flex-end}.club-performance-use strong{color:var(--accent)}.club-performance-detail{display:flex;flex-direction:column;gap:9px;padding:0 12px 12px}.club-performance-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.club-performance-outcomes span{background:var(--bg);border-radius:7px;padding:7px 4px;text-align:center;font-size:.64rem;color:var(--text-muted)}.club-performance-outcomes b{display:block;color:var(--text);font-size:.82rem}.club-performance-contexts{display:flex;flex-wrap:wrap;gap:5px}.club-performance-contexts span{padding:4px 7px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:.65rem;font-weight:700}.club-performance-phases{display:flex;flex-direction:column;gap:8px}.club-performance-phases>div{border-top:1px solid var(--border);padding-top:8px}.club-performance-phases>div>div{display:flex;justify-content:space-between;gap:8px;font-size:.7rem}.club-performance-phases>div>div span{color:var(--text-muted);text-align:right}.club-performance-phases small{display:block;margin-top:3px;color:var(--text-muted);font-size:.67rem;line-height:1.4}@media(max-width:380px){.club-performance-heading{flex-direction:column}.club-performance-heading>span{text-align:left}.club-performance-phases>div>div{flex-direction:column;gap:2px}.club-performance-phases>div>div span{text-align:left}}.penalty-stats-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 1px 4px #0000000f}.penalty-stats-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.penalty-stats-heading p{margin:0 0 3px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.penalty-stats-heading h2{margin:0;font-size:1rem}.penalty-stats-heading>span{color:var(--text-muted);font-size:.7rem;text-align:right}.penalty-stats-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.penalty-stats-summary>div{padding:11px;border-radius:10px;background:var(--bg)}.penalty-stats-summary strong{display:block;color:var(--text);font-size:1.2rem}.penalty-stats-summary span{color:var(--text-muted);font-size:.68rem}.penalty-stats-coverage,.penalty-stats-empty,.penalty-stats-note{color:var(--text-muted);font-size:.75rem;line-height:1.45}.penalty-stats-coverage{margin:10px 0}.penalty-stats-empty{margin:14px 0}.penalty-stats-note{margin:12px 0 0}.penalty-stats-types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.penalty-type{padding:5px 8px;border-radius:999px;background:var(--bg);color:var(--text);font-size:.67rem;font-weight:700}.penalty-type--red{background:#fee2e2;color:#991b1b}.penalty-type--yellow{background:#fef3c7;color:#92400e}.penalty-type--white{border:1px solid var(--border);background:var(--surface)}.penalty-stats-rounds{display:flex;flex-direction:column;border-top:1px solid var(--border)}.penalty-stats-round{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.penalty-stats-round>div{min-width:0;display:flex;flex-direction:column;gap:2px}.penalty-stats-round strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.penalty-stats-round small{color:var(--text-muted);font-size:.65rem}.penalty-stats-round>span{flex-shrink:0;color:var(--text-muted);font-size:.7rem;text-align:right}.penalty-stats-round>span.has-penalty{color:var(--danger);font-weight:800}@media(max-width:380px){.penalty-stats-heading{flex-direction:column}.penalty-stats-heading>span{text-align:left}.penalty-stats-round{align-items:flex-start}.penalty-stats-round>span{max-width:42%}}.round-context-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 1px 4px #0000000f}.round-context-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.round-context-heading p{margin:0 0 3px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.round-context-heading h2{margin:0;font-size:1rem}.round-context-heading>span{color:var(--text-muted);font-size:.7rem;text-align:right}.round-context-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:14px 0 10px;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--bg)}.round-context-filter button{min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.round-context-filter button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #00000014}.round-context-neutral,.round-context-reading,.round-context-note,.round-context-empty,.round-context-coverage{font-size:.72rem;line-height:1.45}.round-context-neutral{margin:0 0 10px;padding:9px 10px;border-radius:9px;background:var(--bg);color:var(--text-muted)}.round-context-reading{margin:0 0 10px;padding:9px 10px;border-radius:9px;background:var(--accent-light);color:var(--accent);font-weight:700}.round-context-note{margin:12px 0 0;color:var(--text-muted)}.round-context-empty{margin:14px 0 4px;color:var(--text-muted)}.round-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.round-context-grid.single{grid-template-columns:1fr}.round-context-item{min-width:0;padding:12px;border:1px solid var(--border);border-radius:11px}.round-context-item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.round-context-item-heading h3{margin:0;font-size:.82rem}.round-context-item-heading span{flex-shrink:0;color:var(--text-muted);font-size:.64rem}.round-context-score{display:flex;flex-direction:column;margin:12px 0}.round-context-score strong{color:var(--text);font-size:1.25rem}.round-context-score span{color:var(--text-muted);font-size:.62rem}.round-context-metrics{display:flex;flex-direction:column;gap:6px;margin:0}.round-context-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.round-context-metrics dt{color:var(--text-muted);font-size:.65rem}.round-context-metrics dd{margin:0;font-size:.69rem;font-weight:800;text-align:right}.round-context-coverage{margin:10px 0 0;color:var(--text-muted)}.round-context-criterion{display:block;margin-top:9px;color:var(--text-muted);font-size:.62rem;line-height:1.4}@media(max-width:430px){.round-context-heading{flex-direction:column}.round-context-heading>span{text-align:left}.round-context-grid{grid-template-columns:1fr}}.course-performance-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 1px 4px #0000000f}.course-performance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-performance-heading p{margin:0 0 3px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-performance-heading h2{margin:0;font-size:1rem}.course-performance-heading>span{color:var(--text-muted);font-size:.7rem;text-align:right}.course-performance-empty,.course-performance-note,.course-performance-coverage,.course-performance-neutral,.course-performance-consistency{color:var(--text-muted);font-size:.72rem;line-height:1.45}.course-performance-empty{margin:14px 0}.course-performance-note{margin:12px 0 0}.course-performance-coverage{margin:9px 0}.course-performance-neutral{margin:9px 0;padding:8px 10px;border-radius:8px;background:var(--bg)}.course-performance-consistency{margin:9px 0;padding:8px 10px;border-radius:8px;background:var(--accent-light);color:var(--accent)}.course-performance-selector{display:flex;flex-direction:column;gap:5px;margin-top:13px}.course-performance-selector span{color:var(--text-muted);font-size:.65rem;font-weight:700}.course-performance-selector select{width:100%;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:.75rem}.course-performance-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:13px;padding:12px;border-radius:11px;background:var(--bg)}.course-performance-summary>div:first-child{min-width:0;display:flex;flex-direction:column;gap:2px}.course-performance-summary>div:first-child span{overflow:hidden;font-size:.76rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.course-performance-summary>div:first-child strong{font-size:.72rem}.course-performance-summary small{color:var(--text-muted);font-size:.62rem}.course-performance-scores{flex-shrink:0;display:flex;gap:12px}.course-performance-scores span{display:flex;flex-direction:column;align-items:flex-end}.course-performance-scores strong{font-size:1rem}.course-performance-trend{margin:12px 0;padding:10px;border:1px solid var(--border);border-radius:10px}.course-performance-trend>strong{display:block;margin-bottom:8px;font-size:.73rem}.course-performance-trend>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.course-performance-trend>div span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:7px;background:var(--bg)}.course-performance-trend small{color:var(--text-muted);font-size:.58rem}.course-performance-trend b{font-size:.7rem}.course-performance-trend>small{display:block;margin-top:6px}.course-hole-list{display:flex;flex-direction:column;gap:6px}.course-hole-item{border:1px solid var(--border);border-radius:10px;overflow:hidden}.course-hole-item summary{min-height:48px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.course-hole-item summary::-webkit-details-marker{display:none}.course-hole-item summary>span{display:flex;flex-direction:column;gap:2px}.course-hole-item summary>span:last-child{align-items:flex-end}.course-hole-item summary strong{font-size:.78rem}.course-hole-item summary small{color:var(--text-muted);font-size:.62rem}.course-hole-detail{padding:0 11px 11px}.course-hole-distribution{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.course-hole-distribution span{padding:4px 7px;border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:.61rem}.course-hole-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.course-hole-metrics>span{min-width:0;display:flex;flex-direction:column;gap:2px;padding:6px 3px;border-radius:7px;background:var(--bg);text-align:center}.course-hole-metrics small{color:var(--text-muted);font-size:.55rem}.course-hole-metrics strong{font-size:.67rem}.course-hole-directions{margin:8px 0 0;color:var(--text-muted);font-size:.62rem;line-height:1.4}.course-hole-phases{display:flex;flex-direction:column;gap:6px;margin-top:9px}.course-hole-phases p{margin:0;padding-top:7px;border-top:1px solid var(--border);font-size:.64rem}.course-hole-phases strong,.course-hole-phases span{display:block}.course-hole-phases span{margin-top:2px;color:var(--text-muted)}@media(max-width:430px){.course-performance-heading{flex-direction:column}.course-performance-heading>span{text-align:left}.course-performance-summary{align-items:flex-start;flex-direction:column}.course-performance-scores{width:100%;justify-content:flex-start}.course-performance-scores span{align-items:flex-start}.course-hole-metrics{grid-template-columns:repeat(3,1fr)}}.technical-signal{--technical-signal-color: var(--text-muted);display:flex;min-width:0;align-items:flex-start;gap:8px;color:var(--technical-signal-color)}.technical-signal--green{--technical-signal-color: #15803d}.technical-signal--yellow{--technical-signal-color: #b45309}.technical-signal--red{--technical-signal-color: #c2413b}.technical-signal__dot{width:9px;height:9px;flex:0 0 auto;margin-top:3px;border:2px solid color-mix(in srgb,var(--technical-signal-color) 18%,var(--surface));border-radius:50%;background:var(--technical-signal-color);box-sizing:content-box}.technical-signal--unknown .technical-signal__dot{background:transparent;border-color:var(--text-muted);opacity:.65}.technical-signal__copy{display:flex;min-width:0;flex-direction:column}.technical-signal__copy strong{color:var(--technical-signal-color);font-size:12px;line-height:1.3}.technical-signal__copy small,.technical-signal__copy em{margin-top:2px;color:var(--text-muted);font-size:9px;font-style:normal;line-height:1.35}.technical-signal__copy em{font-weight:700}.technical-signal--compact{gap:6px}.technical-signal--compact .technical-signal__dot{width:7px;height:7px;margin-top:2px;border-width:1px}.technical-signal--compact .technical-signal__copy strong{font-size:10px}.technical-signal--compact .technical-signal__copy small,.technical-signal--compact .technical-signal__copy em{font-size:8px}.teacher-diagnosis{display:flex;flex-direction:column;gap:12px}.teacher-diagnosis-sources{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.teacher-diagnosis-sources div{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center}.teacher-diagnosis-sources strong{color:var(--text);font-size:1rem}.teacher-diagnosis-sources span{margin-top:2px;color:var(--text-muted);font-size:.56rem;line-height:1.25}.teacher-diagnosis-sources>i{width:1px;height:28px;background:var(--border)}.teacher-diagnosis-priority,.teacher-diagnosis-card,.teacher-diagnosis-detail{padding:15px;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:0 5px 18px #0f172a0a}.teacher-diagnosis-priority{border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.teacher-diagnosis-priority p,.teacher-diagnosis-heading p{margin:0;color:var(--text-muted);font-size:.58rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.teacher-diagnosis-priority h2{margin:4px 0 0;color:var(--text);font-size:1.12rem}.teacher-diagnosis-priority>span{display:block;margin-top:5px;color:var(--text-muted);font-size:.7rem;line-height:1.4}.teacher-priority-signal{width:fit-content;max-width:100%;margin-top:10px;padding:8px 9px;border-radius:9px;background:#ffffff9e}.teacher-diagnosis-priority button,.teacher-diagnosis-actions button{display:flex;min-height:42px;align-items:center;justify-content:center;gap:5px;margin-top:12px;border:0;border-radius:11px;background:var(--accent);color:#fff;font:inherit;font-size:.7rem;font-weight:750;cursor:pointer}.teacher-diagnosis-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.teacher-diagnosis-heading h2{margin:3px 0 0;color:var(--text);font-size:.98rem}.teacher-diagnosis-heading>span{color:var(--text-muted);font-size:.58rem;text-align:right}.teacher-diagnosis-period{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:12px;padding:3px;border-radius:11px;background:var(--bg)}.teacher-diagnosis-period button{min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.6rem;font-weight:700;cursor:pointer}.teacher-diagnosis-period button.active{background:var(--surface);box-shadow:0 2px 7px #0f172a12;color:var(--accent)}.teacher-composition-list{margin-top:12px}.teacher-composition-list>button{display:grid;width:100%;grid-template-columns:1fr auto;gap:5px 10px;padding:8px 0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.teacher-composition-list>button:first-child{border-top:0}.teacher-composition-list button>span{display:flex;align-items:center;gap:6px}.teacher-composition-list button>span:first-child i{width:7px;height:7px;border-radius:50%}.teacher-composition-list strong{font-size:.68rem}.teacher-composition-list small{color:var(--text-muted);font-size:.58rem}.teacher-composition-list b{font-size:.66rem}.teacher-composition-list em{grid-column:1 / -1;overflow:hidden;height:4px;border-radius:99px;background:var(--bg)}.teacher-composition-list em i{display:block;height:100%;border-radius:inherit}.teacher-diagnosis-empty{margin:15px 0 0;color:var(--text-muted);font-size:.68rem;line-height:1.4}.teacher-diagnosis-coverage{display:block;margin-top:8px;color:var(--text-muted);font-size:.58rem}.teacher-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.teacher-profile-grid button{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}.teacher-profile-grid button.active{border-color:color-mix(in srgb,var(--teacher-area) 42%,var(--border));background:color-mix(in srgb,var(--teacher-area) 7%,var(--surface))}.teacher-profile-grid button>span{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.6rem}.teacher-profile-grid button>span i{width:6px;height:6px;border-radius:50%;background:var(--teacher-area)}.teacher-profile-grid button>strong{margin-top:5px;font-size:.76rem}.teacher-profile-grid button>small{margin-top:5px;color:var(--text-muted);font-size:.55rem}.teacher-profile-grid .technical-signal{margin-top:7px}.teacher-diagnosis-detail{border-color:color-mix(in srgb,var(--accent) 18%,var(--border))}.teacher-evidence-grid{display:grid;gap:7px;margin-top:12px}.teacher-evidence-grid article{display:flex;flex-direction:column;padding:11px;border-radius:11px;background:var(--bg)}.teacher-evidence-grid article>span{color:var(--text-muted);font-size:.57rem;font-weight:700;text-transform:uppercase}.teacher-evidence-grid article>strong{margin-top:4px;color:var(--text);font-size:.78rem}.teacher-evidence-grid article>small{margin-top:3px;color:var(--text-muted);font-size:.59rem;line-height:1.35}.teacher-interpretation{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:11px;border:1px solid var(--border);border-left:3px solid var(--text-muted);border-radius:11px;background:var(--surface)}.teacher-interpretation--field{border-left-color:#2563eb}.teacher-interpretation--technical{border-left-color:#7c3aed}.teacher-interpretation--both{border-left-color:#d97706}.teacher-interpretation--none{border-left-color:#15803d}.teacher-interpretation>span{color:var(--text-muted);font-size:.55rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.teacher-interpretation>strong{color:var(--text);font-size:.76rem}.teacher-interpretation p{margin:0;color:var(--text-muted);font-size:.61rem;line-height:1.4}.teacher-interpretation-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:3px 0}.teacher-interpretation-signals span{display:flex;flex-direction:column;padding:7px;border-radius:8px;background:var(--bg);color:var(--text-muted);font-size:.54rem}.teacher-interpretation-signals b{margin-top:2px;color:var(--text);font-size:.6rem}.teacher-interpretation b{color:var(--text);font-size:.61rem;line-height:1.4}.teacher-interpretation small{margin-top:3px;color:var(--text-muted);font-size:.55rem;line-height:1.35}.teacher-diagnosis-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.teacher-diagnosis-actions button{width:100%}.teacher-diagnosis-actions button:last-child{border:1px solid var(--border);background:var(--surface);color:var(--text)}@media(min-width:560px){.teacher-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.student-stats-screen{padding:20px 16px 90px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.stats-back{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;margin-bottom:16px;padding:0}.stats-header{display:flex;flex-direction:column}.stats-student-info{display:flex;align-items:center;gap:12px}.stats-avatar{width:50px;height:50px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stats-name{font-size:1.25rem;font-weight:700;margin:0}.stats-meta{font-size:.8rem;color:var(--text-muted);margin:2px 0 0}.stats-warning{margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,#b45309 24%,var(--border));border-radius:11px;background:color-mix(in srgb,#b45309 6%,var(--surface));color:#92400e;font-size:.67rem;line-height:1.4}.weakness-row{display:flex;gap:6px;flex-wrap:wrap}.weakness-badge{font-size:.72rem;padding:4px 10px;border-radius:20px;font-weight:600}.weakness-badge.critical{background:#dc26261a;color:var(--danger)}.weakness-badge.warn{background:#f59e0b1f;color:#f59e0b}.weakness-badge.ok{background:var(--accent-light);color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kpi-card{background:var(--surface);border-radius:14px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 4px #0000000f}.kpi-value{font-size:1.5rem;font-weight:700;color:var(--accent);line-height:1}.kpi-value.danger{color:var(--danger)}.kpi-value.warn{color:#f59e0b}.kpi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-weight:600;text-align:center}.contextual-assignment-card{padding:16px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:0 5px 18px #0f172a0a}.contextual-assignment-card>div:first-child>p{margin:0;color:var(--accent);font-size:.58rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.contextual-assignment-card h2{margin:3px 0 0;color:var(--text);font-size:1rem}.contextual-assignment-card>div:first-child>span{display:block;margin-top:5px;color:var(--text-muted);font-size:.68rem;line-height:1.45}.contextual-assignment-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.contextual-assignment-skills button{position:relative;display:flex;min-width:0;min-height:62px;flex-direction:column;align-items:flex-start;padding:9px 18px 9px 9px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.contextual-assignment-skills strong{font-size:.65rem}.contextual-assignment-skills small{margin-top:3px;color:var(--text-muted);font-size:.52rem;line-height:1.25}.contextual-assignment-skills b{position:absolute;top:50%;right:7px;color:var(--text-muted);font-size:1rem;font-weight:500;transform:translateY(-50%)}.stats-tab-bar{display:flex;background:var(--surface);border-radius:14px;padding:4px;gap:2px;box-shadow:0 1px 4px #0000000f}.stats-tab-btn{flex:1;padding:9px 2px;border-radius:10px;border:none;background:transparent;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s;min-height:44px}.stats-tab-btn.active{background:var(--accent);color:#fff}.stats-tab-panel{display:none;flex-direction:column;gap:14px}.stats-tab-panel.active{display:flex}.teacher-tools{padding:15px;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:0 5px 18px #0f172a0a}.teacher-tools-heading p{margin:0;color:var(--text-muted);font-size:.58rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.teacher-tools-heading h2{margin:3px 0 0;color:var(--text);font-size:.98rem}.teacher-tools-heading span{display:block;margin-top:4px;color:var(--text-muted);font-size:.63rem}.teacher-tool-groups{display:grid;gap:9px;margin-top:13px}.teacher-tool-groups>div{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:8px}.teacher-tool-groups>div>strong{color:var(--text-muted);font-size:.62rem}.teacher-tool-groups>div>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.teacher-tool-groups button{min-height:38px;padding:6px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:.62rem;font-weight:700;cursor:pointer}.teacher-tool-groups button.active{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent)}.stats-card{background:var(--surface);border-radius:14px;padding:16px;box-shadow:0 1px 4px #0000000f}.stats-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-weight:700;margin-bottom:10px}.stats-chart-sub{font-size:.76rem;color:var(--text-muted);margin-bottom:8px}.dist-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}.dist-label{font-size:.77rem;color:var(--text-muted);width:50px;flex-shrink:0}.dist-bar-wrap{flex:1;background:var(--bg);border-radius:4px;height:10px;overflow:hidden}.dist-bar{height:100%;border-radius:4px;transition:width .4s}.dist-pct{font-size:.74rem;color:var(--text);font-weight:600;width:30px;text-align:right}.par-type-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.par-type-label{font-size:.82rem;font-weight:600;width:44px}.par-bar-wrap{flex:1;background:var(--bg);border-radius:4px;height:12px;overflow:hidden}.par-bar{height:100%;border-radius:4px}.par-val{font-size:.78rem;color:var(--text-muted);width:40px;text-align:right}.rounds-table{display:flex;flex-direction:column}.rt-header,.rt-row{display:grid;grid-template-columns:50px 1fr 44px 40px 40px;gap:4px;padding:8px 0;align-items:center}.rt-header{border-bottom:1px solid var(--border);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:700}.rt-row{border-bottom:1px solid var(--border);font-size:.8rem}.rt-row:last-child{border-bottom:none}.rt-score{font-weight:700;text-align:center}.rt-score.over{color:var(--danger)}.rt-score.under{color:var(--accent)}.rt-score.even{color:var(--text)}.rt-stat{text-align:center;color:var(--text-muted);font-size:.78rem}.rt-course{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-date{color:var(--text-muted);font-size:.78rem}.exercise-progress{margin-bottom:12px}.ex-progress-bar-wrap{background:var(--bg);border-radius:6px;height:8px;overflow:hidden;margin-top:6px}.exercise-item{background:var(--surface);border-radius:12px;padding:13px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px #0000000d}.ex-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.ex-icon.putting{background:#3b82f61a}.ex-icon.driving{background:#f59e0b1a}.ex-icon.iron{background:var(--accent-light)}.ex-icon.short_game{background:#8b5cf61a}.ex-title{font-size:.88rem;font-weight:600}.ex-meta{font-size:.74rem;color:var(--text-muted);margin-top:2px}.ex-status{margin-left:auto;flex-shrink:0;font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:6px}.ex-status.done{background:var(--accent-light);color:var(--accent)}.ex-status.pending{background:#f59e0b1a;color:#f59e0b}.ex-info{flex:1;min-width:0}.btn-complete{background:var(--accent-light);color:var(--accent);border:1px solid rgba(21,128,61,.2);border-radius:8px;padding:5px 10px;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap}.assign-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:100}.assign-sheet{background:var(--surface);border-radius:20px 20px 0 0;padding:24px 16px 40px;width:100%;max-width:480px;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.assign-sheet h3{font-size:1.1rem;font-weight:700}.library-item{background:var(--bg);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:10px;cursor:pointer}.library-item:hover{background:var(--surface-hover)}.lib-assign-btn{margin-left:auto;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:700;cursor:pointer}.metric-selector{display:flex;gap:6px;flex-wrap:wrap}.metric-btn{padding:6px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface);font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer}.metric-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.insight-box{background:var(--accent-light);border:1px solid rgba(21,128,61,.15);border-radius:12px;padding:12px 14px;font-size:.82rem;color:var(--accent);line-height:1.5}.insight-box.neutral{background:#f59e0b14;border-color:#f59e0b33;color:#92400e}.correlation-empty{display:flex;flex-direction:column}.correlation-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.correlation-progress-item{background:var(--bg);border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.corr-count{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1}.corr-label{font-size:.72rem;color:var(--text-muted)}.corr-hint{font-size:.68rem;color:var(--accent);font-weight:600;margin-top:2px}.stats-loading{color:var(--text-muted);font-size:.9rem;padding:40px 0;text-align:center}.stats-error{color:var(--danger);font-size:.9rem}.stats-empty{color:var(--text-muted);font-size:.88rem;padding:12px 0}.btn-primary-full{background:var(--text);color:#fff;border:none;border-radius:12px;padding:14px;width:100%;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer}.recharts-tooltip-wrapper{font-family:DM Sans,sans-serif!important}.week-card{background:var(--surface);border-radius:12px;padding:14px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 1px 4px #0000000d;border-left:3px solid var(--border)}.week-card.week-done{border-left-color:var(--accent);background:var(--accent-light)}.week-badge{width:32px;height:32px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:.8rem;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center}.week-card.week-done .week-badge{background:var(--accent);color:#fff}.week-body{flex:1;min-width:0}.week-area-select{font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600;border:1px solid var(--border);border-radius:8px;padding:5px 8px;background:var(--bg);color:var(--text);cursor:pointer;min-height:36px}.week-completed-toggle{display:flex;align-items:center;gap:5px;font-size:.78rem;cursor:pointer;color:var(--text-muted);font-weight:600}.week-completed-toggle input{width:16px;height:16px;cursor:pointer}.week-objective-input{width:100%;font-family:DM Sans,sans-serif;font-size:.85rem;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg);color:var(--text);resize:none;min-height:60px;box-sizing:border-box;line-height:1.4}.week-objective-input:focus{outline:none;border-color:var(--accent)}.plan-title-input{width:100%;font-family:DM Sans,sans-serif;font-size:.95rem;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg);color:var(--text);box-sizing:border-box;min-height:44px}.plan-title-input:focus{outline:none;border-color:var(--accent)}.carta-table{display:flex;flex-direction:column}.carta-row{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:4px 0;border-bottom:1px solid var(--border)}.carta-row:last-child{border-bottom:none}.carta-club{font-size:.88rem;font-weight:600}.carta-input{width:70px;font-family:DM Sans,sans-serif;font-size:.88rem;border:1px solid var(--border);border-radius:8px;padding:7px 8px;background:var(--bg);color:var(--text);text-align:right;min-height:36px}.carta-input:focus{outline:none;border-color:var(--accent)}.carta-smart{display:flex;flex-direction:column;gap:12px}.carta-confidence-card{display:flex;flex-direction:column;gap:6px}.carta-confidence-header{display:flex;justify-content:space-between;align-items:center}.carta-confidence-pct{font-size:1.1rem;font-weight:700;color:var(--accent)}.carta-confidence-bar-wrap{height:8px;background:var(--bg);border-radius:6px;overflow:hidden}.carta-confidence-bar{height:100%;background:var(--accent);border-radius:6px;transition:width .5s ease}.carta-confidence-sub{font-size:.75rem;color:var(--text-muted);margin:0}.carta-suggestion{display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--accent)}.carta-suggestion-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.carta-suggestion-body{display:flex;align-items:center;gap:12px}.carta-suggestion-club{font-size:1rem;font-weight:700;color:var(--text)}.carta-suggestion-gain{font-size:.78rem;color:var(--accent);font-weight:600;background:var(--accent-light);padding:2px 8px;border-radius:20px}.carta-suggestion-hint{font-size:.75rem;color:var(--text-muted);margin:0;font-style:italic}.carta-empty{text-align:center;padding:20px 16px}.carta-list{padding:0;overflow:hidden}.carta-section-divider{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text-muted);padding:8px 14px 4px;background:var(--bg)}.carta-row-smart{display:flex;align-items:center;justify-content:space-between;padding:0 14px;min-height:48px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.carta-row-smart:last-child{border-bottom:none}.carta-row-smart:hover{background:var(--surface-hover)}.carta-row-smart.inferred{background:#00000003}.carta-club-name{font-size:.9rem;color:var(--text);font-weight:500}.carta-row-right{display:flex;align-items:center;gap:8px}.carta-readonly-note{margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted);font-size:12px;line-height:1.45}.carta-distance{font-size:.92rem;font-weight:600;color:var(--text)}.carta-distance.inferred{color:var(--text-muted);font-weight:400}.carta-source-icon{font-size:.78rem;font-weight:700;color:var(--accent);min-width:14px;text-align:center}.carta-source-icon.inferred{color:var(--text-muted);font-style:italic}.carta-empty-val{font-size:.9rem;color:var(--text-muted)}.carta-saving{font-size:.8rem;color:var(--text-muted)}.carta-edit-inline{display:flex;align-items:center;gap:6px}.carta-edit-input{width:72px;padding:6px 10px;border-radius:8px;border:1.5px solid var(--accent);font-size:.9rem;font-family:inherit;text-align:right;background:var(--surface);color:var(--text)}.carta-save-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.carta-del-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg);color:var(--text-muted);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-secondary-full{width:100%;padding:12px;border-radius:12px;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;min-height:44px;font-family:inherit;transition:color .15s,border-color .15s}.btn-secondary-full:hover{color:var(--text);border-color:var(--text-muted)}.round-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:flex-end}.round-modal{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-height:80vh;overflow-y:auto;padding:20px 16px 32px}.round-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.round-modal-course{font-size:16px;font-weight:600;color:var(--text)}.round-modal-date{font-size:13px;color:var(--text-muted);margin-top:2px}.round-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.round-modal-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.round-modal-total{font-size:14px;color:var(--text-muted)}.round-modal-score{font-size:20px;font-weight:700}.round-modal-score.under{color:var(--accent)}.round-modal-score.even{color:var(--text-muted)}.round-modal-score.over{color:#dc2626}.round-modal-table{display:flex;flex-direction:column;gap:4px}.rm-header{display:grid;grid-template-columns:28px 36px 1fr 44px 36px 36px;gap:4px;font-size:11px;font-weight:600;color:var(--text-muted);padding:4px 8px}.rm-row{display:grid;grid-template-columns:28px 36px 1fr 44px 36px 36px;gap:4px;align-items:center;background:var(--surface);border-radius:8px;padding:7px 8px;font-size:13px}.rm-hole{font-weight:600;color:var(--text-muted)}.rm-par{color:var(--text-muted)}.rm-stat{color:var(--text-muted);text-align:center}.rm-score{font-weight:600;color:var(--text)}.rm-score.under{color:var(--accent)}.rm-score.even{color:var(--text-muted)}.rm-score.bogey{color:#f59e0b}.rm-score.over{color:#dc2626}.rm-diff{font-size:11px;font-weight:400;color:inherit}.rt-row--clickable{cursor:pointer}.rt-row--clickable:hover{background:var(--surface-hover);border-radius:8px}.learning-tab{padding:16px 0}.learning-profile-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;background:var(--surface);border-radius:12px;padding:14px;border:1px solid var(--border);margin-bottom:20px}.lp-stat{display:flex;flex-direction:column;gap:4px}.lp-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}.lp-value{font-size:13px;font-weight:600;color:var(--text)}.lp-section-title{font-size:13px;font-weight:700;color:var(--text);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.lp-areas{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.lp-area-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lp-area-name{font-size:13px;font-weight:500;color:var(--text);min-width:90px}.lp-area-controls{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.lp-current-level{font-size:12px;color:var(--text-muted)}.lp-level-select{padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;font-family:inherit}.lp-save-btn{padding:6px 12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}.lp-save-btn:disabled{opacity:.4;cursor:not-allowed}.lp-progression{background:var(--surface);border-radius:12px;padding:14px;border:1px solid var(--border)}.lp-ready{font-size:14px;color:var(--accent);font-weight:600;margin:0 0 12px}.lp-pending-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.lp-pending-item{display:flex;align-items:center;gap:8px}.lp-pending-area{font-size:13px;color:var(--text);font-weight:500;flex:1}.lp-pending-levels{font-size:12px;color:var(--text-muted)}.lp-critical-badge{font-size:10px;font-weight:700;color:var(--danger);border:1px solid var(--danger);padding:1px 6px;border-radius:10px}.lp-advance-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.lp-advance-btn:disabled{opacity:.5}.loading-inline{padding:20px;text-align:center;color:var(--text-muted);font-size:14px}.student-lesson-history{display:grid;gap:10px}.student-lesson-history-card{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.student-lesson-history-date{display:grid;align-content:start}.student-lesson-history-date strong{color:var(--accent);text-transform:capitalize}.student-lesson-history-date small{color:var(--text-muted);font-size:.68rem}.student-lesson-history-body h3{margin:0 0 7px;font-size:.88rem}.student-lesson-history-body>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:.72rem;color:var(--text-muted)}.student-lesson-history-body>div strong{color:var(--text)}.teacher-assign-screen{min-height:calc(100dvh - 74px);padding-bottom:calc(94px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 94% 0%,rgb(21 128 61 / 9%),transparent 30%),var(--bg)}.teacher-assign-header,.teacher-assign-body{width:min(100%,480px);margin:0 auto;padding-inline:20px}.teacher-assign-header{padding-top:10px}.teacher-assign-title-row{display:flex;align-items:center;gap:11px;margin-top:8px}.teacher-assign-title-row>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e5f4e9;color:#15803d}.teacher-assign-title-row p,.teacher-assign-section-heading p,.teacher-assign-sheet>p{margin:0;color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.teacher-assign-title-row h1{margin:1px 0 0;color:var(--text);font-size:24px;letter-spacing:-.035em}.teacher-assign-intro{margin:10px 0 0;color:var(--text-muted);font-size:12px;line-height:1.45}.teacher-assign-body{padding-top:17px}.teacher-assign-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.teacher-assign-skills button{min-height:38px;padding:5px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:10px;font-weight:750;cursor:pointer}.teacher-assign-skills button.active{background:var(--surface);box-shadow:0 2px 8px #0f172a14;color:#15803d}.teacher-assign-context{display:flex;min-height:40px;align-items:center;gap:6px;margin-top:10px;padding:8px 11px;border-radius:11px;background:color-mix(in srgb,#15803d 7%,var(--surface));color:var(--text-muted);font-size:9px}.teacher-assign-context strong{color:var(--text);font-size:10px}.teacher-assign-context i{font-style:normal}.teacher-assign-status,.teacher-assign-error{margin:10px 0 0;padding:10px 11px;border-radius:11px;font-size:10px;line-height:1.4}.teacher-assign-status{display:flex;align-items:center;gap:7px;background:color-mix(in srgb,#15803d 10%,var(--surface));color:#15803d}.teacher-assign-error{background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.teacher-assign-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:18px}.teacher-assign-section-heading h2{margin:3px 0 0;color:var(--text);font-size:17px}.teacher-assign-section-heading>span{color:var(--text-muted);font-size:10px}.teacher-assign-loading{display:grid;min-height:160px;place-items:center;color:var(--text-muted)}.teacher-assign-empty{padding:30px 0;color:var(--text-muted);font-size:12px;text-align:center}.teacher-assign-list{display:flex;flex-direction:column;gap:9px;margin-top:10px}.teacher-assign-card{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 5px 18px #0f172a0a}.teacher-assign-card-main{display:flex;align-items:flex-start;gap:11px}.teacher-assign-card-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;background:color-mix(in srgb,#15803d 9%,var(--surface))}.teacher-assign-card-main>div{min-width:0}.teacher-assign-card h3{margin:1px 0 0;color:var(--text);font-size:12px;line-height:1.3}.teacher-assign-card-main p{margin:4px 0 0;color:var(--text-muted);font-size:9px}.teacher-assign-card-main div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.teacher-assign-card-main div>div span{color:#15803d;font-size:9px;font-weight:700}.teacher-assign-card>button{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:5px;margin-top:11px;border:0;border-radius:11px;background:#15803d;color:#fff;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.teacher-assign-card>button.assigned{background:color-mix(in srgb,#15803d 9%,var(--surface));color:#15803d;cursor:default}.teacher-assign-overlay{position:fixed;z-index:530;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#00000075;animation:teacherAssignOverlayIn .16s ease-out}.teacher-assign-sheet{position:relative;width:min(100%,480px);padding:9px 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:23px 23px 0 0;background:var(--surface);box-shadow:0 -18px 56px #0003;animation:teacherAssignSheetIn .19s ease-out}.teacher-assign-sheet-handle{width:38px;height:4px;margin:0 auto 15px;border-radius:99px;background:color-mix(in srgb,var(--text-muted) 32%,transparent)}.teacher-assign-sheet-close{position:absolute;top:17px;right:16px;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.teacher-assign-sheet h2{max-width:calc(100% - 50px);margin:4px 0 0;color:var(--text);font-size:19px;letter-spacing:-.025em}.teacher-assign-sheet dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0}.teacher-assign-sheet dl div{padding:10px;border-radius:11px;background:var(--bg)}.teacher-assign-sheet dt{color:var(--text-muted);font-size:8px}.teacher-assign-sheet dd{overflow:hidden;margin:3px 0 0;color:var(--text);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.teacher-assign-sheet label{display:flex;justify-content:space-between;color:var(--text);font-size:10px;font-weight:700}.teacher-assign-sheet label span{color:var(--text-muted);font-weight:500}.teacher-assign-sheet textarea{width:100%;margin-top:7px;padding:11px;resize:none;border:1px solid var(--border);border-radius:11px;outline:none;background:var(--bg);color:var(--text);font:inherit;font-size:11px;line-height:1.4;box-sizing:border-box}.teacher-assign-sheet textarea:focus{border-color:#15803d}.teacher-assign-confirm{width:100%;min-height:50px;margin-top:13px;border:0;border-radius:13px;background:#15803d;color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.teacher-assign-confirm:disabled{opacity:.62}@keyframes teacherAssignOverlayIn{0%{background:#0000}}@keyframes teacherAssignSheetIn{0%{transform:translateY(28px)}}@media(prefers-reduced-motion:reduce){.teacher-assign-overlay,.teacher-assign-sheet{animation-duration:1ms}}.championship-screen{padding:16px 16px 90px;max-width:480px;margin:0 auto}.champ-back{background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:20px}.champ-hero{margin-bottom:24px}.champ-title{font-size:1.6rem;margin-bottom:6px}.champ-sub{font-size:.9rem;color:var(--text-muted);margin-bottom:4px}.champ-error{color:var(--danger);font-size:.9rem;margin-bottom:12px}.champ-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.champ-participants{font-size:.85rem;color:var(--text-muted)}.champ-invite-section{margin-top:4px}.btn-finish-championship{width:100%;padding:16px;border-radius:14px;border:1px solid rgba(239,68,68,.4);background:#ef44441a;color:var(--danger);font-size:1rem;font-weight:600;cursor:pointer}.champ-groups{margin-top:28px}.champ-groups-title{font-size:1.1rem;font-weight:600;margin-bottom:16px}.champ-group-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.champ-group-header{display:flex;justify-content:space-between;align-items:center}.champ-group-num{font-weight:600;font-size:.95rem}.champ-group-delete{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1rem;padding:4px}.champ-group-member{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:4px 0;border-bottom:1px solid var(--border)}.champ-chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:0 4px}.champ-tee-time{display:flex;flex-direction:column;gap:4px;margin-top:4px}.champ-tee-time-display{font-size:.85rem;color:var(--accent);font-weight:600;margin-top:4px}.champ-label-sm{font-size:.8rem;color:var(--text-muted);font-weight:500}.champ-unassigned{margin-bottom:12px}.champ-participant-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.champ-chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:.8rem;color:var(--text-muted)}.champ-add-trigger{background:none;border:1px dashed var(--border);border-radius:10px;color:var(--accent);font-size:.85rem;padding:8px 12px;cursor:pointer;width:100%;text-align:left;margin-top:4px}.champ-add-panel{margin-top:8px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.champ-add-chips{display:flex;flex-wrap:wrap;gap:6px}.group-chip{border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:.82rem;background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,color .15s}.group-chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.group-chip.taken,.group-chip.disabled{opacity:.4;pointer-events:none;font-style:italic;cursor:default}.exercises-screen{padding:20px 16px 90px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.ex-screen-title{font-size:1.5rem;font-weight:700;margin:0}.ex-screen-sub{font-size:.82rem;color:var(--text-muted);margin:2px 0 0}.ex-progress-card{background:var(--surface);border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f}.ex-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ex-progress-label{font-size:.9rem;font-weight:700}.ex-progress-count{font-size:.9rem;font-weight:700;color:var(--accent)}.ex-progress-bar-wrap{background:var(--bg);border-radius:6px;height:8px;overflow:hidden}.ex-progress-bar{height:100%;background:var(--accent);border-radius:6px;transition:width .4s}.ex-progress-foot{font-size:.72rem;color:var(--text-muted);margin-top:6px}.ex-filter-row{display:flex;gap:6px}.ex-pill{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.ex-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ex-section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-weight:700;padding:4px 0 2px}.ex-card{background:var(--surface);border-radius:14px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px #0000000d;border:none;width:100%;text-align:left;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .15s}.ex-card:active{background:var(--surface-hover)}.ex-card--pending{border-left:3px solid var(--accent)}.ex-card--done{opacity:.7}.ex-card-icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.ex-card-icon.putting{background:#3b82f61a}.ex-card-icon.driving{background:#f59e0b1a}.ex-card-icon.iron{background:var(--accent-light)}.ex-card-icon.short_game{background:#8b5cf61a}.ex-card-icon.done{filter:grayscale(.4)}.ex-card-info{flex:1;min-width:0}.ex-card-title{font-size:.9rem;font-weight:600;color:var(--text)}.ex-card-meta{font-size:.74rem;color:var(--text-muted);margin-top:2px}.ex-card-context{display:inline-flex;margin-top:5px;padding:2px 7px;border-radius:99px;background:var(--accent-light);color:var(--accent);font-size:.64rem;font-weight:700}.ex-card-arrow{font-size:1.2rem;color:var(--text-muted);flex-shrink:0}.ex-done-state{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.ex-checkmark{width:28px;height:28px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.ex-done-date{font-size:.62rem;color:var(--text-muted);margin-top:3px;white-space:nowrap}.ex-loading{color:var(--text-muted);font-size:.9rem;padding:40px 0;text-align:center}.ex-empty{color:var(--text-muted);font-size:.88rem;padding:20px 0;text-align:center}.ex-overlay{position:fixed;inset:0;background:#00000059;z-index:200;animation:fadeIn .2s}.ex-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-radius:22px 22px 0 0;padding:12px 20px 36px;z-index:201;max-height:85vh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.32,.72,0,1)}.ex-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 16px}.ex-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ex-sheet-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.ex-sheet-icon.putting{background:#3b82f61f}.ex-sheet-icon.driving{background:#f59e0b1f}.ex-sheet-icon.iron{background:var(--accent-light)}.ex-sheet-icon.short_game{background:#8b5cf61f}.ex-sheet-close{background:var(--bg);border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted)}.ex-sheet-title{font-size:1.15rem;font-weight:700;margin:0 0 10px}.ex-sheet-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.ex-meta-pill{background:var(--bg);border-radius:20px;padding:4px 10px;font-size:.74rem;font-weight:600;color:var(--text-muted)}.ex-meta-pill--context{background:var(--accent-light);color:var(--accent)}.ex-sheet-section{margin-bottom:16px}.ex-sheet-section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-muted);margin-bottom:6px}.ex-sheet-desc{font-size:.9rem;line-height:1.55;color:var(--text)}.ex-sheet-notes{background:var(--bg);border-radius:12px;padding:12px}.ex-sheet-footer{margin-top:8px}.ex-sheet-btn-done{width:100%;padding:14px;border-radius:14px;border:none;background:var(--accent);color:#fff;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s}.ex-sheet-btn-done:disabled{opacity:.6;cursor:not-allowed}.ex-sheet-completed{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;background:var(--accent-light);color:var(--accent);font-size:.95rem;font-weight:700}.ex-sheet-check{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.ex-log-prompt{font-size:.88rem;color:var(--text);margin-bottom:8px;line-height:1.4}.ex-log-input{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg);font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text);box-sizing:border-box;outline:none;transition:border-color .15s}.ex-log-input:focus{border-color:var(--accent)}.ex-log-result{display:flex;align-items:center;justify-content:space-between;background:var(--accent-light);border-radius:10px;padding:10px 14px}.ex-log-label{font-size:.8rem;color:var(--accent);font-weight:600}.ex-log-value{font-size:.9rem;font-weight:700;color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.my-stats-screen{padding:20px 16px 90px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.my-stats-back{background:none;border:none;color:var(--text-muted);font-size:.88rem;padding:0;cursor:pointer;text-align:left;margin-bottom:4px}.my-stats-header{display:flex;flex-direction:column}.my-stats-title{font-size:1.3rem;font-weight:700;margin:4px 0 0}.my-stats-sub{font-size:.8rem;color:var(--text-muted);margin:3px 0 0}.my-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.my-kpi-card{background:var(--surface);border-radius:14px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 4px #0000000f}.my-kpi-value{font-size:1.35rem;font-weight:700;color:var(--accent);line-height:1}.my-kpi-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;text-align:center}.my-stats-tab-bar{display:flex;background:var(--surface);border-radius:14px;padding:4px;gap:2px;box-shadow:0 1px 4px #0000000f}.my-stats-tab-btn{flex:1;padding:9px 4px;border-radius:10px;border:none;background:transparent;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s;min-height:44px}.my-stats-tab-btn.active{background:var(--accent);color:#fff}.my-stats-tab-panel{display:none;flex-direction:column;gap:14px}.my-stats-tab-panel.active{display:flex}.my-stats-card{background:var(--surface);border-radius:14px;padding:16px;box-shadow:0 1px 4px #0000000f}.my-stats-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-weight:700;margin-bottom:10px}.my-stats-chart-sub{font-size:.76rem;color:var(--text-muted);margin-bottom:8px}.my-stats-loading{color:var(--text-muted);font-size:.9rem;padding:40px 0;text-align:center}.my-stats-error{color:var(--danger);font-size:.9rem}.my-stats-empty{color:var(--text-muted);font-size:.88rem;padding:6px 0;line-height:1.5}.my-dist-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}.my-dist-label{font-size:.77rem;color:var(--text-muted);width:50px;flex-shrink:0}.my-dist-bar-wrap{flex:1;background:var(--bg);border-radius:4px;height:10px;overflow:hidden}.my-dist-bar{height:100%;border-radius:4px;transition:width .4s}.my-dist-pct{font-size:.74rem;color:var(--text);font-weight:600;width:30px;text-align:right}.my-par-type-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.my-par-type-label{font-size:.82rem;font-weight:600;width:44px}.my-par-bar-wrap{flex:1;background:var(--bg);border-radius:4px;height:12px;overflow:hidden}.my-par-bar{height:100%;border-radius:4px}.my-par-val{font-size:.78rem;color:var(--text-muted);width:40px;text-align:right}.my-rounds-table{display:flex;flex-direction:column}.my-rt-header,.my-rt-row{display:grid;grid-template-columns:50px 1fr 44px 40px 40px;gap:4px;padding:8px 0;align-items:center}.my-rt-header{border-bottom:1px solid var(--border);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:700}.my-rt-row{border-bottom:1px solid var(--border);font-size:.8rem}.my-rt-row:last-child{border-bottom:none}.my-rt-score{font-weight:700;text-align:center}.my-rt-score.over{color:var(--danger)}.my-rt-score.under{color:var(--accent)}.my-rt-score.even{color:var(--text)}.my-rt-stat{text-align:center;color:var(--text-muted);font-size:.78rem}.my-rt-course{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-rt-date{color:var(--text-muted);font-size:.78rem}.my-week-card{background:var(--surface);border-radius:12px;padding:14px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 1px 4px #0000000d;border-left:3px solid var(--border)}.my-week-card.completed{border-left-color:var(--accent);background:var(--accent-light)}.my-week-badge{width:32px;height:32px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.my-week-card.completed .my-week-badge{background:var(--accent);color:#fff}.my-week-body{flex:1;min-width:0}.my-area-pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.04em}.my-week-check{font-size:.68rem;font-weight:700;color:var(--accent)}.my-week-objective{font-size:.85rem;color:var(--text);line-height:1.5;margin-top:4px}.my-club-table{display:flex;flex-direction:column}.my-club-row{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 4px;border-bottom:1px solid var(--border)}.my-club-row:last-child{border-bottom:none}.my-club-row:nth-child(odd){background:var(--bg);border-radius:4px}.my-club-name{font-size:.88rem;font-weight:600}.my-club-yds{font-size:.88rem;color:var(--accent);font-weight:700}.my-latest-round-card{background:linear-gradient(135deg,var(--accent),#166534);color:#fff;border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.my-latest-round-card>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.my-latest-round-card span{font-size:.72rem;opacity:.82}.my-latest-round-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-latest-round-score{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.my-latest-round-score strong{font-size:1.45rem;line-height:1}.my-period-filter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--surface);border-radius:12px;padding:4px}.my-period-filter button{border:none;border-radius:9px;padding:9px 3px;background:transparent;color:var(--text-muted);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.my-period-filter button.active{background:var(--accent-light);color:var(--accent)}.my-area-performance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.my-area-performance-card{background:var(--surface);border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--border)}.my-area-performance-label{font-size:.72rem;font-weight:700;color:var(--text-muted)}.my-area-performance-card strong{font-size:1.2rem;color:var(--accent)}.my-area-performance-card small{color:var(--text-muted);font-size:.65rem}.my-putt-band-table{display:flex;flex-direction:column}.my-putt-band-row{display:grid;grid-template-columns:1fr 52px 62px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.8rem}.my-putt-band-row:last-child{border-bottom:none}.my-putt-band-row strong{text-align:center;color:var(--accent)}.my-putt-band-row small{text-align:right;color:var(--text-muted)}.admin-screen{padding:24px 16px 100px}.admin-title{font-size:22px;font-weight:600;color:var(--text);margin-bottom:24px}.admin-subtitle{font-size:16px;font-weight:600;color:var(--text);margin-bottom:12px}.admin-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px}.admin-stat-card{background:var(--surface);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--border)}.admin-stat-value{font-size:28px;font-weight:700;color:var(--accent)}.admin-stat-label{font-size:12px;color:var(--text-muted)}.admin-sections{display:flex;flex-direction:column;gap:12px}.admin-section-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:14px;font-size:16px;font-weight:500;color:var(--text);cursor:pointer;text-align:left;width:100%}.admin-section-card:hover{background:var(--surface-hover)}.admin-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;margin-bottom:16px;padding:0}.admin-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-add-btn{display:flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-list-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.admin-item-name{font-size:15px;font-weight:500;color:var(--text)}.admin-item-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.admin-delete-btn{background:none;border:none;color:var(--danger);cursor:pointer;padding:4px}.admin-edit-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.admin-item-actions{display:flex;align-items:center;gap:8px}.admin-catalog-note{color:var(--text-muted);font-size:13px;margin:-18px 0 20px}.admin-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px}.admin-skill-option{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:7px;padding:9px 10px}.admin-skill-option.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.admin-skill-option input{accent-color:var(--accent)}.admin-availability{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;gap:10px;margin-top:8px;padding:12px}.admin-availability input{accent-color:var(--accent);height:18px;width:18px}.admin-availability span{display:flex;flex-direction:column;gap:2px}.admin-availability b{color:var(--text);font-size:13px}.admin-availability small{color:var(--text-muted);font-size:11px}.admin-empty{color:var(--text-muted);text-align:center;margin-top:40px}.admin-form{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.admin-label{font-size:13px;font-weight:500;color:var(--text-muted)}.admin-input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:15px;background:var(--surface);color:var(--text);width:100%;box-sizing:border-box}.admin-resource-fields{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px;padding:14px;border:1px solid var(--border);border-radius:12px}.admin-resource-fields legend{padding:0 5px;color:var(--text);font-size:13px;font-weight:700}.admin-resource-help{color:var(--text-muted);font-size:11px;line-height:1.4}.admin-holes-toggle{display:flex;gap:10px}.admin-toggle-btn{flex:1;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font-size:14px}.admin-toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-holes-table{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.admin-holes-header{display:grid;grid-template-columns:48px 1fr 80px;gap:8px;font-size:12px;font-weight:500;color:var(--text-muted);padding:0 4px}.admin-holes-row{display:grid;grid-template-columns:48px 1fr 80px;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.admin-hcp-input{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:14px;background:var(--bg);color:var(--text);width:100%;box-sizing:border-box}.admin-save-btn{width:100%;margin-top:8px}.admin-error{color:var(--danger);font-size:14px;margin-bottom:12px}.admin-textarea{resize:vertical;font-family:inherit}.admin-ex-group{margin-bottom:20px}.admin-ex-category{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.admin-teacher-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden}.admin-teacher-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:none;border:none;width:100%;cursor:pointer;text-align:left}.admin-students-list{border-top:1px solid var(--border);padding:10px 16px;display:flex;flex-direction:column;gap:8px}.admin-student-row{display:flex;justify-content:space-between;align-items:center}.admin-student-name{font-size:14px;color:var(--text)}.admin-student-hcp,.admin-empty-small{font-size:13px;color:var(--text-muted)}.onb-screen{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;font-family:DM Sans,sans-serif;padding-bottom:0}.onb-prog-dots{display:flex;gap:6px;padding:20px 140px 0 24px}.onb-dot{flex:1;height:3px;border-radius:99px;background:var(--border);transition:background .3s}.onb-dot.filled{background:var(--accent)}.onb-welcome-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:72px 32px 112px;text-align:center}.onb-avatar{width:96px;height:96px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #15803d26}.onb-welcome-label{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--accent);text-transform:uppercase}.onb-welcome-title{font-size:28px;font-weight:700;color:var(--text);line-height:1.25;letter-spacing:-.5px}.onb-welcome-sub{font-size:18px;color:var(--text-muted);line-height:1.5}.onb-content{flex:1;padding:20px 24px 112px;overflow-y:auto}.onb-question-num{font-size:13px;color:var(--text-muted);font-weight:500;margin-bottom:8px}.onb-question{font-size:26px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:8px;letter-spacing:-.5px}.onb-sub{font-size:14px;color:var(--text-muted);margin-bottom:20px}.onb-cards{display:flex;flex-direction:column;gap:12px}.onb-card{width:100%;padding:18px 20px;border-radius:16px;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;transition:all .18s;box-shadow:0 2px 8px #0000000a;font-family:DM Sans,sans-serif}.onb-card.selected{background:var(--accent-light);border-color:var(--accent);box-shadow:0 4px 12px #15803d1f}.onb-card-icon{font-size:26px}.onb-card-label{font-size:17px;font-weight:700;color:var(--text)}.onb-card.selected .onb-card-label{color:var(--accent)}.onb-card-sub{font-size:14px;color:var(--text-muted);margin-top:2px}.onb-card.selected .onb-card-sub{color:var(--accent)}.onb-check{width:22px;height:22px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.onb-fac-list{display:flex;flex-direction:column;gap:10px}.onb-fac-item{width:100%;padding:14px 18px;border-radius:16px;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .18s;font-family:DM Sans,sans-serif;box-shadow:0 2px 8px #0000000a}.onb-fac-item.selected{background:var(--accent-light);border-color:var(--accent)}.onb-fac-label{flex:1;font-size:16px;font-weight:600;color:var(--text);text-align:left}.onb-fac-item.selected .onb-fac-label{color:var(--accent)}.onb-fac-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .18s}.onb-fac-check.checked{background:var(--accent);border-color:var(--accent)}.onb-hint-small{font-size:13px;color:var(--text-muted);text-align:center;margin-top:14px}.onb-assess-header{display:flex;justify-content:space-between;align-items:center;padding:20px 140px 0 24px}.onb-assess-counter{font-size:13px;color:var(--text-muted);font-weight:500}.onb-assess-area-badge{font-size:12px;color:var(--accent);font-weight:700;background:var(--accent-light);padding:4px 12px;border-radius:99px}.onb-assess-prompt{font-size:20px;font-weight:700;color:var(--text);text-align:center;margin-bottom:18px}.onb-assess-card{background:var(--surface);border:2px solid var(--border);border-radius:16px;padding:18px 20px;box-shadow:0 2px 8px #0000000a}.onb-assess-card-title{font-size:17px;font-weight:700;color:var(--text);margin:0 0 6px}.onb-assess-card-text{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0}.onb-steps{margin:14px 0 0;padding-left:20px;color:var(--text);font-size:14px;line-height:1.45}.onb-steps li+li{margin-top:8px}.onb-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.onb-score-btn{min-height:64px;border-radius:16px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:700 20px/1 DM Sans,sans-serif;cursor:pointer}.onb-score-btn.selected{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.onb-score-input{width:100%;min-height:56px;border-radius:16px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:700 18px/1 DM Sans,sans-serif;text-align:center;box-sizing:border-box}.onb-emoji-list{display:flex;flex-direction:column;gap:12px}.onb-emoji-btn{width:100%;height:72px;border-radius:16px;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 20px;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .18s;box-shadow:0 2px 8px #0000000a}.onb-emoji-btn:disabled{opacity:.6;cursor:default}.onb-emoji-btn.emoji-bad.selected{background:#fef2f2;border-color:#fca5a5;transform:scale(1.02)}.onb-emoji-btn.emoji-mid.selected{background:#fefce8;border-color:#fde047;transform:scale(1.02)}.onb-emoji-btn.emoji-good.selected{background:var(--accent-light);border-color:#86efac;transform:scale(1.02)}.onb-emoji-icon{font-size:28px}.onb-emoji-label{font-size:17px;font-weight:600;color:var(--text)}.onb-bottom{position:fixed;left:50%;bottom:env(safe-area-inset-bottom,0px);z-index:90;width:min(100%,480px);transform:translate(-50%);padding:12px 24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg)}.onb-btn-primary{width:100%;min-height:60px;padding:12px 18px;border-radius:16px;background:var(--accent);border:none;color:#fff;font-size:18px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 16px #15803d47;transition:all .2s;line-height:1.2;white-space:nowrap;box-sizing:border-box}.onb-btn-primary:disabled{background:var(--border);color:var(--text-muted);box-shadow:none;cursor:default}.onb-hint{font-size:13px;color:var(--text-muted)}.onb-error{color:var(--danger, #dc2626);font-size:14px;margin-top:12px;text-align:center}.onb-loading{margin:auto;color:var(--text-muted);font-weight:600}.onb-done{align-items:center;justify-content:center;gap:20px}.onb-done-check{width:96px;height:96px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #15803d59}.onb-done-title{font-size:30px;font-weight:700;color:var(--text)}.onb-done-sub{font-size:16px;color:var(--text-muted);text-align:center;line-height:1.5}.mg-screen{width:100%;max-width:480px;min-height:calc(100dvh - 48px);margin:0 auto;padding:22px 16px calc(var(--screen-bottom-space) + 24px);background:var(--bg);color:var(--text)}.mg-header{padding:0 4px}.mg-eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.mg-title{margin-top:4px;color:var(--text);font-size:28px;font-weight:750;letter-spacing:-.04em}.mg-sub{max-width:390px;margin-top:7px;color:var(--text-muted);font-size:14px;line-height:1.45}.mg-source-summary{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:14px;margin:20px 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.mg-source-summary>div{display:flex;align-items:baseline;gap:7px;min-width:0}.mg-source-summary strong{color:var(--text);font-size:20px}.mg-source-summary span:not(.mg-source-divider){color:var(--text-muted);font-size:11px;line-height:1.25}.mg-source-divider{width:1px;height:28px;background:var(--border)}.mg-warning{margin:0 0 14px;padding:11px 13px;border:1px solid color-mix(in srgb,#d97706 25%,var(--border));border-radius:12px;background:color-mix(in srgb,#d97706 8%,var(--surface));color:var(--text-muted);font-size:12px;line-height:1.4}.mg-priority-card{position:relative;margin-bottom:16px;padding:18px;overflow:hidden;border-radius:18px;background:var(--text);color:var(--surface)}.mg-priority-card:after{position:absolute;top:-38px;right:-30px;width:130px;height:130px;border-radius:50%;background:color-mix(in srgb,var(--accent) 42%,transparent);content:""}.mg-priority-kicker{position:relative;z-index:1;color:color-mix(in srgb,var(--surface) 70%,transparent);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.mg-priority-card h2{position:relative;z-index:1;max-width:78%;margin-top:5px;font-size:20px;letter-spacing:-.03em}.mg-priority-card p{position:relative;z-index:1;margin-top:5px;color:color-mix(in srgb,var(--surface) 68%,transparent);font-size:11px}.mg-priority-signal{width:fit-content;max-width:100%;margin-top:12px;padding:8px 10px;border-radius:10px;background:#ffffff9e}.mg-priority-card button{position:relative;z-index:1;display:inline-flex;min-height:38px;align-items:center;gap:3px;margin-top:16px;padding:0 13px;border:0;border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.mg-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mg-section-heading h2{font-size:16px;font-weight:750;letter-spacing:-.02em}.mg-section-heading p{margin-top:3px;color:var(--text-muted);font-size:11px;line-height:1.4}.mg-section-heading--cards{margin:22px 4px 10px}.mg-radar-card{margin-top:16px;padding:16px 16px 13px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 8px 28px #0f172a0a}.mg-composition-card{padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 8px 28px #0f172a0a}.mg-period-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:13px;padding:3px;border-radius:10px;background:var(--bg)}.mg-period-switch button{min-height:30px;padding:3px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-size:9px;font-weight:700;cursor:pointer}.mg-period-switch button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0f172a14}.mg-composition-main{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:center;gap:13px;margin-top:18px}.mg-donut{display:grid;width:132px;height:132px;place-items:center;border-radius:50%}.mg-donut:after{grid-area:1 / 1;width:82px;height:82px;border-radius:50%;background:var(--surface);content:""}.mg-donut>span{z-index:1;display:flex;grid-area:1 / 1;flex-direction:column;align-items:center;color:var(--text-muted);font-size:9px}.mg-donut strong{color:var(--text);font-size:22px;letter-spacing:-.04em}.mg-phase-list{display:flex;min-width:0;flex-direction:column}.mg-phase-list button{display:grid;min-width:0;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:39px;padding:4px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.mg-phase-list button:last-child{border-bottom:0}.mg-phase-dot{width:8px;height:8px;border-radius:50%}.mg-phase-list button>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.mg-phase-list strong,.mg-phase-list b{font-size:11px}.mg-phase-list small{margin-top:1px;color:var(--text-muted);font-size:9px}.mg-composition-sample{margin-top:13px;padding-top:11px;border-top:1px solid var(--border);color:var(--text-muted);font-size:9px;text-align:center}.mg-composition-empty{display:flex;align-items:center;flex-direction:column;padding:28px 16px 12px;color:var(--text-muted);text-align:center}.mg-composition-empty strong{margin-top:9px;color:var(--text);font-size:13px}.mg-composition-empty p{max-width:290px;margin-top:4px;font-size:10px;line-height:1.4}.mg-composition-empty button{min-height:36px;margin-top:12px;padding:0 12px;border:1px solid var(--accent);border-radius:9px;background:transparent;color:var(--accent);font:inherit;font-size:10px;font-weight:750;cursor:pointer}.mg-radar-wrap{display:flex;justify-content:center;height:300px;margin-top:2px}.mg-radar-wrap svg{width:min(100%,300px);height:100%;overflow:visible}.mg-radar-grid,.mg-radar-axis{fill:none;stroke:var(--border);stroke-width:1;pointer-events:none}.mg-radar-shape{fill:color-mix(in srgb,var(--accent) 13%,transparent);stroke:var(--accent);stroke-linejoin:round;stroke-width:2;pointer-events:none}.mg-radar-target{outline:none;cursor:pointer}.mg-radar-hit:focus-visible+.mg-radar-point{stroke:var(--text);stroke-width:3}.mg-radar-hit{fill:transparent;cursor:pointer}.mg-radar-point{stroke:var(--surface);stroke-width:3;pointer-events:none;transition:r .16s ease}.mg-radar-target:hover .mg-radar-point{r:7px}.mg-radar-label{fill:color-mix(in srgb,var(--text) 72%,var(--surface));font-family:DM Sans,sans-serif;font-size:11px;font-weight:750;cursor:pointer}.mg-radar-scale{display:flex;align-items:center;justify-content:center;gap:12px;margin:-8px 8px 0;color:var(--text-muted);font-size:8px;opacity:.78}.mg-radar-scale span+span{padding-left:12px;border-left:1px solid var(--border)}.mg-profile-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.mg-profile-signals>button{display:flex;min-width:0;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}.mg-profile-signals>button>span{font-size:10px;font-weight:800}.mg-radar-help{margin-top:8px;color:var(--text-muted);font-size:10px;text-align:center}.mg-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mg-area-card{display:flex;min-width:0;min-height:244px;flex-direction:column;padding:14px;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 8px 28px #0f172a0a;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.mg-area-card:active{transform:scale(.985)}.mg-area-card:focus-visible{outline:3px solid color-mix(in srgb,var(--area-color, var(--accent)) 25%,transparent);outline-offset:2px}.mg-area-top{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:7px}.mg-area-icon,.mg-panel-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--area-color) 12%,var(--surface));color:var(--area-color)}.mg-area-name{min-height:31px;font-size:14px;font-weight:750;line-height:1.12}.mg-area-chevron{color:var(--text-muted)}.mg-area-hcp{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:18px}.mg-area-hcp small{color:var(--text-muted);font-size:10px;font-weight:650}.mg-area-hcp strong{color:var(--text);font-size:27px;letter-spacing:-.04em}.mg-area-state{align-self:flex-start;margin-top:4px;padding:4px 7px;border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:9px;font-weight:700}.mg-area-confidence{display:flex;justify-content:space-between;gap:5px;margin-top:14px;color:var(--text-muted);font-size:9px}.mg-area-confidence span{display:inline-flex;align-items:center;gap:2px;min-width:0}.mg-confidence-track{width:100%;height:4px;margin-top:6px;overflow:hidden;border-radius:999px;background:var(--bg)}.mg-confidence-track>span{display:block;height:100%;border-radius:inherit;background:var(--area-color);transition:width .36s ease}.mg-field-snapshot{display:flex;flex-direction:column;margin:auto -14px -14px;padding:11px 14px 13px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--area-color) 4%,var(--surface))}.mg-field-snapshot small{color:var(--text-muted);font-size:9px;font-weight:650}.mg-field-snapshot strong{margin-top:2px;color:var(--text);font-size:15px}.mg-field-snapshot>span{margin-top:1px;overflow:hidden;color:var(--text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.mg-footnote{margin:15px 4px 0;color:var(--text-muted);font-size:11px;line-height:1.4}.mg-area-card--skeleton{justify-content:flex-start;cursor:default}.mg-skeleton{display:block;border-radius:7px;background:linear-gradient(90deg,var(--border),color-mix(in srgb,var(--border) 45%,var(--surface)),var(--border));background-size:200% 100%;animation:mg-shimmer 1.35s ease-in-out infinite}.mg-skeleton--heading{width:70%;height:30px}.mg-skeleton--value{width:52%;height:34px;margin-top:24px}.mg-skeleton--line{width:100%;height:8px;margin-top:22px}.mg-skeleton--field{width:100%;height:48px;margin-top:auto}@keyframes mg-shimmer{to{background-position:-200% 0}}.mg-backdrop{position:fixed;inset:0;z-index:80;border:0;background:#0f172a61;opacity:0;pointer-events:none;transition:opacity .24s ease}.mg-backdrop.visible{opacity:1;pointer-events:auto}.mg-panel{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));left:50%;z-index:90;width:min(100%,480px);max-height:min(72dvh,650px);padding:12px 20px 22px;overflow-y:auto;border-radius:24px;background:var(--surface);box-shadow:0 -12px 48px #0f172a2e;transform:translate(-50%,calc(100% + var(--bottom-nav-height) + env(safe-area-inset-bottom,0px)));visibility:hidden;transition:transform .32s cubic-bezier(.32,.72,0,1),visibility 0s linear .32s}.mg-panel.open{transform:translate(-50%);visibility:visible;transition:transform .32s cubic-bezier(.32,.72,0,1),visibility 0s}.mg-panel-handle{width:36px;height:4px;margin:0 auto 16px;border-radius:99px;background:var(--border)}.mg-panel-heading{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:10px}.mg-panel-icon{width:42px;height:42px;border-radius:13px}.mg-panel-heading div>span{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mg-panel-heading h2{margin-top:1px;font-size:22px;letter-spacing:-.03em}.mg-panel-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--bg);color:var(--text-muted);cursor:pointer}.mg-panel-description{margin-top:11px;color:var(--text-muted);font-size:13px}.mg-panel-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.mg-panel-summary>div{display:flex;min-width:0;flex-direction:column;padding:11px 9px;border-radius:12px;background:var(--bg)}.mg-panel-summary small{color:var(--text-muted);font-size:9px}.mg-panel-summary strong{margin-top:3px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mg-interpretation{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:13px;border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:13px;background:var(--bg)}.mg-interpretation--field{border-left-color:#2563eb}.mg-interpretation--technical{border-left-color:#7c3aed}.mg-interpretation--both{border-left-color:#d97706}.mg-interpretation--none{border-left-color:#15803d}.mg-interpretation>span{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mg-interpretation h3{margin:0;color:var(--text);font-size:14px;text-transform:none;letter-spacing:0}.mg-interpretation p{margin:0;color:var(--text-muted);font-size:11px;line-height:1.45}.mg-interpretation-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:3px 0}.mg-interpretation-signals span{display:flex;flex-direction:column;padding:7px;border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:9px}.mg-interpretation-signals b{margin-top:2px;color:var(--text);font-size:10px}.mg-interpretation>strong{color:var(--text);font-size:11px;line-height:1.4}.mg-interpretation>small{margin-top:2px;color:var(--text-muted);font-size:9px;line-height:1.4}.mg-panel-technical-signal{margin-top:10px;padding:11px;border-radius:11px;background:var(--bg)}.mg-panel-section{margin-top:20px}.mg-panel-section h3{margin-bottom:9px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.mg-panel-section-help{margin:-3px 0 7px;color:var(--text-muted);font-size:10px;line-height:1.4}.mg-tech-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.mg-tech-row>span{display:flex;min-width:0;flex-direction:column}.mg-tech-row strong{font-size:13px}.mg-tech-row>strong{flex:0 0 auto}.mg-tech-row small{margin-top:2px;color:var(--text-muted);font-size:10px}.mg-tech-row>.technical-signal{max-width:170px;text-align:right}.mg-tech-row>.technical-signal .technical-signal__copy{align-items:flex-end}.mg-subcategory-row{display:grid;width:100%;min-height:62px;grid-template-columns:minmax(0,1fr) minmax(118px,auto) 16px;align-items:center;gap:9px;padding:7px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.mg-subcategory-status{width:8px;height:8px;border-radius:50%;background:var(--text-muted);opacity:.45}.mg-subcategory-row--green .mg-subcategory-status{background:#15803d;opacity:1}.mg-subcategory-row--yellow .mg-subcategory-status{background:#d97706;opacity:1}.mg-subcategory-row--red .mg-subcategory-status{background:#dc2626;opacity:1}.mg-subcategory-copy,.mg-subcategory-diagnosis{display:flex;min-width:0;flex-direction:column}.mg-subcategory-copy strong,.mg-subcategory-diagnosis b{font-size:12px}.mg-subcategory-copy small,.mg-subcategory-diagnosis small{margin-top:2px;color:var(--text-muted);font-size:9px}.mg-subcategory-diagnosis{max-width:125px;align-items:flex-end;text-align:right}.mg-subcategory-diagnosis b{color:var(--text-muted)}.mg-subcategory-row--green .mg-subcategory-diagnosis b{color:#15803d}.mg-subcategory-row--yellow .mg-subcategory-diagnosis b{color:#b45309}.mg-subcategory-row--red .mg-subcategory-diagnosis b{color:#dc2626}.mg-subcategory-row>svg{color:var(--text-muted)}.mg-subcategory-row:focus-visible{border-radius:8px;outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.mg-variability-list{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.mg-variability-row{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border)}.mg-variability-row:last-child{border-bottom:0}.mg-variability-row>span{display:flex;min-width:0;flex-direction:column}.mg-variability-row strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mg-variability-row small{margin-top:2px;color:var(--text-muted);font-size:9px}.mg-variability-row b{flex:0 0 auto;color:#b45309;font-size:12px}.mg-panel-empty-detail{margin-top:16px;padding:11px 13px;border-radius:12px;background:var(--bg);color:var(--text-muted);font-size:11px;line-height:1.4;text-align:center}.mg-field-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.mg-field-detail>span:first-child{display:flex;flex-direction:column}.mg-field-detail strong{font-size:17px}.mg-field-detail small,.mg-field-detail>span:last-child{color:var(--text-muted);font-size:10px}.mg-panel-btn{width:100%;min-height:50px;margin-top:22px;border:0;border-radius:14px;background:var(--accent);color:#fff;font:inherit;font-size:15px;font-weight:750;cursor:pointer}@media(max-width:350px){.mg-screen{padding-inline:12px}.mg-area-grid{gap:8px}.mg-area-card{min-height:238px;padding:12px}.mg-field-snapshot{margin-inline:-12px;margin-bottom:-12px;padding-inline:12px}.mg-area-confidence{flex-direction:column;gap:3px}.mg-source-summary{gap:9px;padding-inline:12px}}@media(prefers-reduced-motion:reduce){.mg-area-card,.mg-confidence-track>span,.mg-backdrop,.mg-panel{transition-duration:1ms}.mg-skeleton{animation:none}}.putt-screen{min-height:calc(100dvh - 104px);padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 92% 2%,rgba(21,128,61,.09),transparent 31%),var(--bg)}.putt-header,.putt-body{width:min(100%,480px);margin:0 auto;padding-inline:20px}.putt-header{padding-top:10px}.putt-title-row{display:flex;align-items:center;gap:11px;margin-top:6px}.putt-title-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e5f4e9;color:#15803d}.putt-title-row p,.putt-share-card p,.putt-state-heading p{margin:0;color:var(--text-muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.putt-title-row h1{margin:1px 0 0;color:var(--text);font-size:28px;letter-spacing:-.045em;line-height:1}.putt-intro{max-width:360px;margin:11px 0 0;color:var(--text-muted);font-size:13px;line-height:1.45}.putt-body{display:flex;flex-direction:column;gap:12px;padding-top:18px}.putt-period-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.putt-period-switch button{min-height:36px;padding:0 4px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:10px;font-weight:700;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.putt-period-switch button.active{background:var(--surface);box-shadow:0 2px 8px #0f172a14;color:#15803d}.putt-period-switch button:disabled{cursor:default}.putt-warning{margin:0;padding:10px 12px;border-radius:11px;background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--text);font-size:11px;line-height:1.4}.putt-share-card,.putt-metric-card,.putt-distance-card,.putt-trend-card,.putt-state-card,.putt-reference-card,.putt-resources-card,.putt-assignment-card,.putt-training-card,.putt-empty{border:1px solid var(--border);background:var(--surface);box-shadow:0 8px 26px #0f172a0b}.putt-resources-card{padding:18px;border-radius:19px}.putt-resource-list{display:flex;flex-direction:column;gap:9px;margin-top:13px}.putt-resource-item{overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--bg)}.putt-resource-main{display:grid;grid-template-columns:82px minmax(0,1fr);gap:11px;align-items:center;padding:9px}.putt-resource-visual{position:relative;display:grid;place-items:center;width:82px;height:62px;overflow:hidden;border-radius:9px;background:var(--accent-light);color:var(--accent)}.putt-resource-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.putt-resource-visual i{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--surface) 88%,transparent);font-style:normal}.putt-resource-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.putt-resource-copy small{color:var(--accent);font-size:8px;font-weight:750;line-height:1.3}.putt-resource-copy strong{color:var(--text);font-size:12px;line-height:1.3}.putt-resource-copy span{overflow:hidden;color:var(--text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.putt-resource-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.putt-resource-actions a,.putt-resource-actions button{display:flex;min-height:40px;align-items:center;justify-content:center;gap:5px;border:0;background:var(--surface);color:var(--accent);font:inherit;font-size:9px;font-weight:750;text-decoration:none;cursor:pointer}.putt-resource-actions>:last-child{border-left:1px solid var(--border)}.putt-reference-card{padding:18px;border-radius:19px}.putt-reference-heading{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px}.putt-reference-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent-light);color:var(--accent)}.putt-reference-heading p,.putt-reference-heading h2{margin:0}.putt-reference-heading p{color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.putt-reference-heading h2{margin-top:2px;font-size:17px;letter-spacing:-.025em}.putt-reference-heading>b{color:var(--text-muted);font-size:10px}.putt-reference-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.putt-reference-values>div{display:flex;min-width:0;flex-direction:column;gap:4px;padding:11px;border-radius:11px;background:var(--bg)}.putt-reference-values span,.putt-reference-values small{color:var(--text-muted);font-size:8px;line-height:1.35}.putt-reference-values strong{color:var(--text);font-size:13px;line-height:1.25}.putt-reference-result{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding:10px 11px;border:1px solid var(--border);border-radius:10px}.putt-reference-result strong{color:var(--text);font-size:12px}.putt-reference-result span{color:var(--text-muted);font-size:9px;line-height:1.4}.putt-reference-note{margin:10px 0 0;color:var(--text-muted);font-size:9px;line-height:1.45}.putt-reference-card>a{display:inline-block;margin-top:7px;color:var(--accent);font-size:9px;font-weight:700}@media(max-width:360px){.putt-reference-values{grid-template-columns:1fr}}.putt-share-card{display:grid;grid-template-columns:minmax(116px,.75fr) minmax(0,1.25fr);gap:18px;align-items:center;min-height:170px;padding:20px;border-radius:22px}.putt-share-card>div:first-child{display:flex;min-width:0;flex-direction:column}.putt-share-card>div:first-child strong{margin-top:6px;color:#15803d;font-size:clamp(44px,13vw,60px);font-weight:800;letter-spacing:-.07em;line-height:.95}.putt-share-card--empty>div:first-child strong{color:var(--text-muted)}.putt-share-card>div:first-child span{max-width:126px;margin-top:7px;color:var(--text);font-size:11px;font-weight:700;line-height:1.25}.putt-share-detail{display:flex;min-width:0;flex-direction:column;gap:8px;padding-left:17px;border-left:1px solid var(--border)}.putt-share-detail span{color:var(--text);font-size:14px;font-weight:750}.putt-share-detail small{color:var(--text-muted);font-size:10px;line-height:1.45}.putt-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.putt-metric-card{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;min-height:120px;padding:15px;border-radius:17px;color:#15803d}.putt-metric-card strong{color:var(--text);font-size:24px;letter-spacing:-.04em;text-align:right}.putt-metric-card span,.putt-metric-card small{grid-column:1 / -1}.putt-distance-card{padding:18px;border-radius:19px}.putt-distance-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.putt-distance-heading p{margin:0;color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.putt-distance-heading h2{margin:3px 0 0;color:var(--text);font-size:17px;letter-spacing:-.025em}.putt-distance-heading>span{flex:0 0 auto;color:var(--text-muted);font-size:9px;font-weight:650}.putt-distance-help{margin:6px 0 0;color:var(--text-muted);font-size:10px}.putt-distance-list{display:flex;flex-direction:column;margin-top:13px}.putt-distance-row{position:relative;display:grid;grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);gap:8px 14px;padding:12px 0;border-top:1px solid var(--border)}.putt-distance-range,.putt-distance-result{display:flex;min-width:0;flex-direction:column}.putt-distance-range strong{color:var(--text);font-size:14px;letter-spacing:-.02em}.putt-distance-range small{margin-top:2px;color:var(--text-muted);font-size:8px}.putt-distance-result{align-items:flex-end;text-align:right}.putt-distance-result strong{color:#15803d;font-size:16px}.putt-distance-row--empty .putt-distance-result strong{color:var(--text-muted)}.putt-distance-row--initial .putt-distance-result strong{color:var(--text)}.putt-distance-result small{margin-top:2px;color:var(--text-muted);font-size:8px}.putt-distance-track{grid-column:1 / -1;height:4px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--border) 82%,var(--surface))}.putt-distance-track span{display:block;height:100%;border-radius:inherit;background:#15803d;transition:width .22s ease}.putt-distance-row--empty .putt-distance-track span{display:none}.putt-distance-row--initial .putt-distance-track span{background:var(--text-muted)}.putt-distance-sample{position:absolute;right:0;bottom:2px;padding-left:5px;background:var(--surface);color:var(--text-muted);font-size:7px;font-weight:650}.putt-distance-empty{margin:3px 0 0;padding:10px 11px;border-radius:10px;background:color-mix(in srgb,var(--border) 42%,var(--surface));color:var(--text-muted);font-size:9px;line-height:1.4;text-align:center}.putt-trend-card{padding:18px;border-radius:19px}.putt-trend-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.putt-trend-heading p{margin:0;color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.putt-trend-heading h2{margin:3px 0 0;color:var(--text);font-size:17px;letter-spacing:-.025em}.putt-trend-heading>span{color:var(--text-muted);font-size:9px;font-weight:650}.putt-trend-help{margin:6px 0 0;color:var(--text-muted);font-size:10px}.putt-trend-chart{width:100%;height:190px;margin-top:10px}.putt-trend-tooltip{display:flex;min-width:132px;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #0f172a1f}.putt-trend-tooltip span,.putt-trend-tooltip small{color:var(--text-muted);font-size:8px}.putt-trend-tooltip strong{color:var(--text);font-size:12px}.putt-trend-legend{display:flex;justify-content:center;gap:16px;margin-top:4px;color:var(--text-muted);font-size:8px}.putt-trend-legend span{display:inline-flex;align-items:center;gap:5px}.putt-trend-legend i{width:16px;height:2px;border-radius:99px;background:var(--text)}.putt-trend-legend span:last-child i{background:repeating-linear-gradient(to right,#15803d 0 5px,transparent 5px 8px)}.putt-trend-note{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border);color:var(--text-muted);font-size:8px;line-height:1.4;text-align:center}.putt-trend-empty{display:flex;align-items:center;min-height:112px;flex-direction:column;justify-content:center;margin-top:13px;padding:18px;border-radius:13px;background:color-mix(in srgb,var(--border) 38%,var(--surface));text-align:center}.putt-trend-empty strong{color:var(--text);font-size:12px}.putt-trend-empty span{max-width:260px;margin-top:4px;color:var(--text-muted);font-size:9px;line-height:1.4}.putt-metric-card span{margin-top:8px;color:var(--text);font-size:11px;font-weight:750}.putt-metric-card small{margin-top:2px;color:var(--text-muted);font-size:9px}.putt-state-card{--putt-state: var(--text-muted);padding:18px;border-radius:19px}.putt-state-card--green{--putt-state: #15803d}.putt-state-card--yellow{--putt-state: #c2820c}.putt-state-card--red{--putt-state: #c2413b}.putt-state-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.putt-state-heading h2{margin:4px 0 0;color:var(--putt-state);font-size:19px;letter-spacing:-.025em}.putt-state-dot{width:14px;height:14px;flex:0 0 auto;border:4px solid color-mix(in srgb,var(--putt-state) 18%,var(--surface));border-radius:50%;background:var(--putt-state);box-sizing:content-box}.putt-state-copy{margin:12px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}.putt-technical-signal{margin-top:14px;padding:12px;border-radius:12px;background:var(--bg)}.putt-assignment-card{padding:18px;border-radius:19px}.putt-assignment-groups{display:flex;flex-direction:column;gap:11px;margin-top:14px}.putt-assignment-group{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.putt-assignment-group-heading{display:flex;align-items:center;gap:10px;padding:10px 11px}.putt-assignment-group-heading>span:last-child{display:flex;min-width:0;flex-direction:column}.putt-assignment-group-heading strong{color:var(--text);font-size:11px}.putt-assignment-group-heading small{margin-top:2px;color:var(--text-muted);font-size:8px}.putt-assignment-list{border-top:1px solid var(--border);background:var(--surface)}.putt-assignment-list button{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.putt-assignment-list button:first-child{border-top:0}.putt-assignment-list button.completed{opacity:.68}.putt-assignment-list button>span{display:flex;min-width:0;flex-direction:column}.putt-assignment-list strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.putt-assignment-list small{margin-top:2px;color:var(--text-muted);font-size:8px}.putt-assignment-list em{margin-top:5px;color:var(--text);font-size:8px;font-style:normal;line-height:1.35}.putt-assignment-list b{flex:0 0 auto;color:#15803d;font-size:9px}.putt-assignment-list button.completed b{color:var(--text-muted)}.putt-assignment-all{display:flex;min-height:42px;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#15803d;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.putt-assignment-empty{display:flex;flex-direction:column;gap:3px;margin-top:13px;padding:13px;border-radius:12px;background:var(--bg)}.putt-assignment-empty strong{color:var(--text);font-size:11px}.putt-assignment-empty span{color:var(--text-muted);font-size:9px;line-height:1.4}.putt-state-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}.putt-state-stats span{display:flex;min-width:0;flex-direction:column;gap:3px}.putt-state-stats small{color:var(--text-muted);font-size:8px}.putt-state-stats strong{color:var(--text);font-size:11px;line-height:1.25}.putt-training-card{padding:18px;border-radius:19px}.putt-training-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.putt-training-heading p{margin:0;color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.putt-training-heading h2{margin:3px 0 0;color:var(--text);font-size:17px;letter-spacing:-.025em}.putt-training-heading>span{padding:5px 8px;border-radius:99px;background:color-mix(in srgb,#15803d 9%,var(--surface));color:#15803d;font-size:9px;font-weight:750}.putt-training-help{margin:9px 0 0;color:var(--text-muted);font-size:10px;line-height:1.45}.putt-training-list{display:flex;flex-direction:column;gap:7px;margin-top:14px}.putt-training-list button{display:grid;min-height:58px;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--border);border-radius:13px;background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}.putt-training-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,#15803d 10%,var(--surface));color:#15803d}.putt-training-list button>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}.putt-training-list strong{font-size:11px}.putt-training-list small{color:var(--text-muted);font-size:9px}.putt-training-list svg:last-child{color:var(--text-muted)}.putt-training-all{width:100%;min-height:44px;margin-top:9px;border:0;background:transparent;color:#15803d;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.putt-empty{padding:17px;border-radius:17px}.putt-empty strong{color:var(--text);font-size:13px}.putt-empty p{margin:4px 0 0;color:var(--text-muted);font-size:10px;line-height:1.4}.putt-empty button,.putt-exercises{display:flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:12px;background:#15803d;color:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.putt-empty button{width:100%;gap:7px;margin-top:13px}.putt-exercises{justify-content:space-between;padding:0 15px;text-align:left}.putt-exercises span{display:flex;flex-direction:column;gap:1px}.putt-exercises small{color:#ffffffb8;font-size:8px;font-weight:650}.putt-exercises strong{font-size:11px}.putt-sample-note{margin:1px 0 0;color:var(--text-muted);font-size:9px;text-align:center}@media(max-width:360px){.putt-header,.putt-body{padding-inline:16px}.putt-share-card{gap:12px;padding:17px}.putt-share-detail{padding-left:12px}}@media(prefers-reduced-motion:reduce){.putt-period-switch button,.putt-distance-track span{transition-duration:1ms}}.gaa-screen{min-height:calc(100dvh - 104px);padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 92% 2%,color-mix(in srgb,var(--gaa-color) 9%,transparent),transparent 31%),var(--bg)}.gaa-header,.gaa-body{width:min(100%,480px);margin:0 auto;padding-inline:20px}.gaa-header{padding-top:10px}.gaa-title-row{display:flex;align-items:center;gap:11px;margin-top:6px}.gaa-title-row>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--gaa-color) 10%,var(--surface));color:var(--gaa-color)}.gaa-title-row p,.gaa-section-heading p,.gaa-outcome-value p{margin:0;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gaa-title-row h1{margin:1px 0 0;color:var(--text);font-size:28px;letter-spacing:-.045em;line-height:1}.gaa-intro{max-width:390px;margin:11px 0 0;color:var(--text-muted);font-size:13px;line-height:1.45}.gaa-body{display:flex;flex-direction:column;gap:12px;padding-top:18px}.gaa-period-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.gaa-period-switch button{min-height:36px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:10px;font-weight:700;cursor:pointer}.gaa-period-switch button.active{background:var(--surface);box-shadow:0 2px 8px #0f172a14;color:var(--gaa-color)}.gaa-warning{margin:0;padding:10px 12px;border-radius:11px;background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--text);font-size:11px}.gaa-outcome-card,.gaa-metric-grid section,.gaa-card,.gaa-assignment,.gaa-actions{border:1px solid var(--border);background:var(--surface);box-shadow:0 8px 26px #0f172a0b}.gaa-outcome-card{display:grid;grid-template-columns:minmax(112px,.72fr) minmax(0,1.28fr);gap:16px;align-items:center;min-height:166px;padding:19px;border-radius:21px}.gaa-outcome-value{display:flex;min-width:0;flex-direction:column}.gaa-outcome-value>strong{margin-top:6px;color:var(--gaa-color);font-size:43px;letter-spacing:-.06em;line-height:.95}.gaa-outcome-value>span{margin-top:7px;color:var(--text);font-size:10px;font-weight:750}.gaa-outcome-evidence{display:flex;min-width:0;flex-direction:column;padding-left:16px;border-left:1px solid var(--border)}.gaa-outcome-evidence strong{color:var(--text);font-size:12px;line-height:1.35}.gaa-outcome-evidence span{margin-top:7px;color:var(--text-muted);font-size:9px;line-height:1.4}.gaa-outcome-evidence small{width:fit-content;margin-top:9px;padding:4px 7px;border-radius:99px;background:color-mix(in srgb,var(--gaa-color) 8%,var(--surface));color:var(--gaa-color);font-size:8px;font-weight:750}.gaa-card--empty .gaa-outcome-value>strong{color:var(--text-muted)}.gaa-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gaa-metric-grid section{display:flex;min-height:112px;flex-direction:column;padding:15px;border-radius:17px}.gaa-metric-grid span{color:var(--text-muted);font-size:9px;font-weight:700}.gaa-metric-grid strong{margin-top:auto;color:var(--text);font-size:25px;letter-spacing:-.04em}.gaa-metric-grid small{margin-top:4px;color:var(--text-muted);font-size:8px;line-height:1.35}.gaa-card{padding:18px;border-radius:19px}.gaa-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.gaa-section-heading h2{margin:3px 0 0;color:var(--text);font-size:17px;letter-spacing:-.025em}.gaa-section-heading>span{color:var(--text-muted);font-size:9px;font-weight:650}.gaa-help{margin:6px 0 0;color:var(--text-muted);font-size:10px}.gaa-breakdown-list{margin-top:12px}.gaa-breakdown-list button{display:grid;width:100%;min-height:64px;grid-template-columns:minmax(0,1fr) minmax(120px,auto) 18px;align-items:center;gap:8px;padding:8px 0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.gaa-breakdown-list button:first-child{border-top:0}.gaa-breakdown-list button>span{display:flex;min-width:0;flex-direction:column}.gaa-breakdown-list button>span strong{font-size:11px}.gaa-breakdown-list button>span small{margin-top:2px;color:var(--text-muted);font-size:8px}.gaa-breakdown-list svg{color:var(--text-muted)}.gaa-chart{width:100%;height:190px;margin-top:10px}.gaa-tooltip{display:flex;min-width:145px;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #0f172a1f}.gaa-tooltip span,.gaa-tooltip small{color:var(--text-muted);font-size:8px}.gaa-tooltip strong{color:var(--text);font-size:12px}.gaa-empty{display:flex;flex-direction:column;gap:3px;margin:13px 0 0;padding:13px;border-radius:12px;background:var(--bg);color:var(--text-muted);font-size:10px;line-height:1.4}.gaa-empty strong{color:var(--text);font-size:11px}.gaa-empty span{font-size:9px}.gaa-main-signal{margin-top:13px;padding:12px;border-radius:12px;background:var(--bg)}.gaa-technical-list{margin-top:9px}.gaa-technical-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.gaa-technical-list>div>strong{font-size:11px}.gaa-technical-list .technical-signal{max-width:180px;text-align:right}.gaa-technical-list .technical-signal__copy{align-items:flex-end}.gaa-interpretation{display:flex;flex-direction:column;gap:3px;margin-top:9px;padding:12px;border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:12px;background:var(--bg)}.gaa-interpretation--field{border-left-color:#2563eb}.gaa-interpretation--technical{border-left-color:#7c3aed}.gaa-interpretation--both{border-left-color:#d97706}.gaa-interpretation--none{border-left-color:#15803d}.gaa-interpretation>span{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gaa-interpretation>strong{color:var(--text);font-size:12px}.gaa-interpretation p{margin:0;color:var(--text-muted);font-size:10px;line-height:1.4}.gaa-interpretation small{margin-top:3px;color:var(--text);font-size:9px;font-weight:700;line-height:1.4}.gaa-assignment{display:flex;flex-direction:column;padding:17px;border-radius:17px;border-color:color-mix(in srgb,var(--gaa-color) 25%,var(--border));background:color-mix(in srgb,var(--gaa-color) 5%,var(--surface))}.gaa-assignment>span{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gaa-assignment>strong{margin-top:4px;color:var(--text);font-size:14px}.gaa-assignment>small{margin-top:3px;color:var(--text-muted);font-size:9px;line-height:1.4}.gaa-assignment button{display:flex;min-height:42px;align-items:center;justify-content:center;gap:6px;margin-top:12px;border:0;border-radius:11px;background:var(--gaa-color);color:#fff;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.gaa-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:16px}.gaa-actions button{min-height:45px;padding:7px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;font-size:9px;font-weight:750;cursor:pointer}.gaa-actions button:first-child{border-color:var(--gaa-color);background:var(--gaa-color);color:#fff}.gaa-coverage{margin:1px 0 0;color:var(--text-muted);font-size:9px;text-align:center}@media(max-width:360px){.gaa-header,.gaa-body{padding-inline:16px}.gaa-outcome-card{gap:12px;padding:16px}.gaa-outcome-evidence{padding-left:12px}}.plan-screen{padding:20px 16px 80px}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-regenerate{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:13px;font-family:inherit;cursor:pointer}.plan-assignments-card{width:100%;display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.plan-assignments-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:var(--accent-light);color:var(--accent)}.plan-assignments-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.plan-assignments-title{font-size:14px;font-weight:700}.plan-assignments-summary{overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.plan-assignments-count{min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.plan-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.plan-area-label{font-size:13px;font-weight:600;color:var(--text)}.plan-rec-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--accent-light);color:var(--accent)}.plan-reason{font-size:14px;color:var(--text-muted);margin:0 0 16px;line-height:1.5}.plan-section{margin-bottom:16px}.plan-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;margin:0 0 8px}.exercise-card{background:var(--surface);border-radius:12px;padding:16px;border:1px solid var(--border)}.exercise-card.main{border-color:var(--accent)}.exercise-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.exercise-area-badge{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:20px}.exercise-duration{font-size:12px;color:var(--text-muted)}.exercise-completed-badge{padding:3px 8px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:11px;font-weight:700}.plan-completion{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:18px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:14px;background:var(--accent-light)}.plan-completion-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}.plan-completion strong{font-size:14px}.plan-completion p{margin:2px 0 0;color:var(--text-muted);font-size:12px}.plan-completion button{border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.plan-next-action{display:flex;flex-direction:column;gap:6px;margin-top:20px;padding:16px;border-radius:14px;background:var(--text);color:var(--surface)}.plan-next-action>span{color:#ffffffad;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.plan-next-action>strong{font-size:15px}.plan-next-action>button{min-height:44px;margin-top:4px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}.plan-next-action--complete{background:var(--accent-light);color:var(--text)}.plan-next-action--complete>span{color:var(--accent)}@media(max-width:380px){.plan-completion{grid-template-columns:34px minmax(0,1fr)}.plan-completion button{grid-column:2;justify-self:start;padding:0}}.exercise-name{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px}.exercise-objective{font-size:13px;color:var(--text-muted);margin:0 0 12px;line-height:1.4}.exercise-target{font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-light);border-radius:10px;padding:10px 12px;margin:10px 0 12px;line-height:1.35}.btn-start-exercise{width:100%;min-height:44px;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1.2;white-space:nowrap;box-sizing:border-box}.plan-reason-secondary{font-size:13px;color:var(--text-muted);margin:8px 0 0}.plan-empty{text-align:center;padding:40px 0;color:var(--text-muted)}.btn-generate-plan{margin-top:12px;padding:12px 20px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer}.lib-screen{display:flex;flex-direction:column;background:var(--bg);min-height:100%}.lib-header{padding:16px 24px 0}.lib-title{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.5px}.lib-sub{font-size:14px;color:var(--text-muted);margin-top:4px}.lib-filters{display:flex;gap:8px;padding:14px 24px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.lib-filters::-webkit-scrollbar{display:none}.lib-filter-pill{height:34px;padding:0 14px;border-radius:99px;border:none;white-space:nowrap;background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 1px 4px #0000000f;flex-shrink:0;transition:all .18s}.lib-filter-pill.active{background:var(--accent);color:#fff;box-shadow:0 3px 10px #15803d40}.lib-skill-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 24px 14px}.lib-skill-filters button{min-height:38px;padding:6px 4px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:10px;font-weight:700;cursor:pointer}.lib-skill-filters button.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}.lib-list{flex:1;overflow-y:auto;padding:0 24px;display:flex;flex-direction:column;gap:10px}.lib-context-filter{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent);font:inherit;font-size:11px;font-weight:700;text-align:left;cursor:pointer}.lib-context-filter b{font-size:18px;font-weight:500;line-height:1}.lib-item{background:var(--surface);border:0;border-radius:16px;color:inherit;padding:14px 16px;display:flex;align-items:center;gap:14px;text-align:left;box-shadow:0 2px 8px #0000000d;cursor:pointer}.lib-item-icon{width:44px;height:44px;border-radius:12px;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.lib-item-info{flex:1;min-width:0}.lib-item-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lib-item-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px}.lib-item-dur{font-size:11px;color:var(--text-muted)}.lib-item-skill{color:var(--accent);font-size:10px;font-weight:700}.lib-empty{text-align:center;color:var(--text-muted);font-size:14px;padding:32px 0}@media(max-width:380px){.lib-skill-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.prg-screen{display:flex;flex-direction:column;background:var(--bg);min-height:100%}.prg-header{padding:16px 24px 0}.prg-title{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.5px}.prg-sub{font-size:14px;color:var(--text-muted);margin-top:4px}.prg-body{flex:1;overflow-y:auto;padding:16px 24px 0;display:flex;flex-direction:column;gap:16px}.prg-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.prg-stat-card{background:var(--surface);border-radius:16px;padding:14px 12px;box-shadow:0 2px 8px #0000000d;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.prg-stat-val-row{display:flex;align-items:center;justify-content:center;gap:3px}.prg-stat-val{font-size:26px;font-weight:700}.prg-stat-label{font-size:12px;font-weight:700;color:var(--text)}.prg-stat-sub{font-size:10px;color:var(--text-muted)}.prg-calendar-card{background:var(--surface);border-radius:16px;padding:16px;box-shadow:0 2px 8px #0000000d}.prg-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.prg-cal-title{font-size:14px;font-weight:700;color:var(--text);text-transform:capitalize}.prg-cal-count{font-size:12px;font-weight:600;color:var(--accent)}.prg-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.prg-cal-dow{font-size:9px;color:var(--text-muted);text-align:center;padding-bottom:4px;font-family:DM Sans,sans-serif}.prg-cal-day{aspect-ratio:1;border-radius:4px;background:#f0efec}.prg-cal-day.done{background:var(--accent)}.prg-areas-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.prg-areas{display:flex;flex-direction:column;gap:10px}.prg-area-card{background:var(--surface);border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px #0000000a}.prg-area-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.prg-area-name{font-size:13px;font-weight:600;color:var(--text)}.prg-area-lvl-txt{font-size:11px;font-weight:700}.prg-area-bar{display:flex;gap:4px}.prg-area-seg{flex:1;height:6px;border-radius:99px;transition:background .3s}.prg-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-family:DM Sans,sans-serif}.student-academy{min-height:100vh;min-height:100dvh;background:var(--bg)}.student-academy-nav{position:sticky;top:0;z-index:40;display:flex;max-width:480px;margin:0 auto;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.student-academy-nav__item{flex:1;min-width:0;padding:13px 4px 11px;border-bottom:2px solid transparent;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:color .18s ease,border-color .18s ease}.student-academy-nav__item.active{border-bottom-color:var(--accent);color:var(--accent)}@media(prefers-reduced-motion:reduce){.student-academy-nav__item{transition-duration:1ms}}.exi-screen{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);font-family:DM Sans,sans-serif}.exi-header{background:var(--accent);padding:16px 24px 28px;flex-shrink:0}.exi-nav-action{margin-bottom:12px}.exi-area-label{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#ffffffb3;text-transform:uppercase;display:block}.exi-title{font-size:24px;font-weight:700;color:#fff;margin-top:4px;line-height:1.2}.exi-meta{display:flex;gap:16px;margin-top:12px}.exi-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffffd9}.exi-body{flex:1;overflow-y:auto;padding:20px 24px calc(96px + env(safe-area-inset-bottom,0px))}.exi-resource-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:88px;margin-bottom:16px;padding:9px 11px 9px 9px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:0 2px 8px #0000000d}.exi-resource-visual{position:relative;display:grid;place-items:center;width:92px;height:68px;overflow:hidden;border-radius:11px;background:var(--accent-light);color:var(--accent)}.exi-resource-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.exi-resource-visual i{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--surface) 88%,transparent);font-style:normal}.exi-resource-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.exi-resource-copy small{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.exi-resource-copy strong{overflow:hidden;color:var(--text);font-size:13px;line-height:1.3;text-overflow:ellipsis}.exi-resource-copy span{color:var(--text-muted);font-size:9px;line-height:1.35}@media(max-width:350px){.exi-resource-card{grid-template-columns:72px minmax(0,1fr) auto}.exi-resource-visual{width:72px}}.exi-needs-card{background:var(--surface);border-radius:16px;padding:14px 16px;margin-bottom:20px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 2px 8px #0000000d}.exi-needs-icon{font-size:22px}.exi-needs-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}.exi-needs-desc{font-size:13px;color:var(--text-muted);line-height:1.6}.exi-steps-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.exi-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.exi-step{background:var(--surface);border-radius:16px;padding:16px;display:flex;gap:14px;box-shadow:0 2px 8px #0000000a}.exi-step-num{width:28px;height:28px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--accent);flex-shrink:0}.exi-step-text{font-size:13px;color:var(--text-muted);line-height:1.55;padding-top:4px}.exi-setup{background:var(--surface);border-radius:16px;padding:16px;font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.exi-result-card{background:var(--accent-light);border:1px solid rgba(21,128,61,.14);border-radius:16px;padding:16px;margin-top:18px;margin-bottom:14px}.exi-result-title{font-size:13px;font-weight:800;color:var(--accent);margin-bottom:6px}.exi-result-text{font-size:14px;color:var(--text);line-height:1.5;margin:0}.exi-target-text{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--surface);font-size:13px;line-height:1.45;font-weight:700;color:var(--accent)}.exi-result-criteria{font-size:13px;color:var(--text-muted);line-height:1.5;margin-top:8px}.exi-repetitions{display:flex;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;font-size:13px;color:var(--text-muted)}.exi-repetitions strong{color:var(--text);text-align:right}.exi-bottom{position:fixed;left:50%;bottom:env(safe-area-inset-bottom,0px);z-index:90;width:min(100%,480px);transform:translate(-50%);padding:12px 24px 16px;background:var(--bg)}.exi-btn-start{width:100%;height:60px;border-radius:16px;background:var(--accent);border:none;color:#fff;font-size:17px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 16px #15803d47}.ext-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg);font-family:DM Sans,sans-serif}.ext-topbar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 24px 0;flex-shrink:0}.ext-topbar-spacer{width:44px;height:44px;flex-shrink:0}.ext-area-badge{font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-light);padding:4px 14px;border-radius:99px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ext-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px calc(24px + env(safe-area-inset-bottom,0px));width:100%}.ext-exercise-name{font-size:18px;font-weight:600;color:var(--text);margin-bottom:28px;text-align:center;line-height:1.3}.ext-timer-wrap{position:relative;margin-bottom:28px}.ext-timer-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ext-timer-digits{font-size:52px;font-weight:700;color:var(--text);letter-spacing:-2px;font-variant-numeric:tabular-nums}.ext-timer-label{font-size:14px;color:var(--text-muted)}.ext-series-card{background:var(--surface);border-radius:16px;padding:14px 20px;width:100%;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.ext-series-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.ext-series-boxes{display:flex;gap:8px}.ext-series-box{flex:1;height:36px;border-radius:10px;background:#f0efec;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-muted);transition:all .4s;font-family:DM Sans,sans-serif}.ext-series-box.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.ext-controls{display:flex;gap:12px;width:100%}.ext-pause-btn{width:58px;height:58px;border-radius:14px;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.ext-done-btn{flex:1;height:58px;border-radius:14px;background:var(--accent);border:none;color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 16px #15803d47}.res-screen{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px calc(32px + env(safe-area-inset-bottom,0px));font-family:DM Sans,sans-serif}.res-content{width:100%;max-width:420px}.res-exercise-name{font-size:15px;color:var(--text-muted);text-align:center;margin-bottom:8px;font-weight:500}.res-prompt{font-size:26px;font-weight:700;color:var(--text);text-align:center;margin-bottom:18px;letter-spacing:-.5px}.res-target-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 2px 8px #0000000a}.res-target-card span{color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.res-target-card strong{color:var(--text);font-size:13px;text-align:right;line-height:1.35}.res-stepper-wrap{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:16px}.res-stepper-btn{width:52px;height:52px;border-radius:50%;border:2px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:all .15s;box-shadow:0 2px 8px #0000000f}.res-stepper-btn:active:not(:disabled){transform:scale(.93)}.res-stepper-btn:disabled{opacity:.3;cursor:default}.res-stepper-display{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;border:4px solid var(--accent);background:var(--surface);transition:border-color .3s;box-shadow:0 4px 20px #00000014}.res-stepper-value{font-size:42px;font-weight:800;line-height:1;transition:color .3s}.res-stepper-unit{font-size:12px;color:var(--text-muted);font-weight:500;margin-top:2px}.res-hint{font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:8px}.res-target-status{font-size:14px;font-weight:700;text-align:center;margin:8px 0 0}.res-target-status.met{color:var(--accent)}.res-target-status.pending{color:#f59e0b}.res-sa-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.res-sa-btn{width:100%;height:60px;border-radius:14px;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 20px;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s;box-shadow:0 2px 6px #0000000a}.res-sa-btn.selected{background:var(--accent-light);border-color:var(--accent)}.res-sa-num{width:28px;height:28px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-muted);flex-shrink:0;transition:all .15s}.res-sa-btn.selected .res-sa-num{background:var(--accent);color:#fff}.res-sa-label{font-size:16px;font-weight:600;color:var(--text)}.res-sa-btn.selected .res-sa-label{color:var(--accent)}.res-submit{width:100%;height:58px;border-radius:16px;background:var(--accent);border:none;color:#fff;font-size:17px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;margin-top:24px;transition:all .2s;box-shadow:0 4px 16px #15803d47}.res-submit:disabled{opacity:.6;cursor:default}.res-error{color:var(--danger, #dc2626);font-size:14px;text-align:center;margin-top:12px}.cel-screen{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;position:relative;overflow:hidden;font-family:DM Sans,sans-serif;gap:24px}.cel-confetti{position:absolute;top:-16px;border-radius:2px}.cel-check{width:96px;height:96px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #15803d59;animation:cel-pop .5s .1s ease both;opacity:0}.cel-text{text-align:center;animation:cel-up .5s .4s ease both;opacity:0}.cel-title{font-size:30px;font-weight:700;color:var(--text);margin-bottom:10px;letter-spacing:-.5px}.cel-sub{font-size:18px;color:var(--text);line-height:1.4;margin-bottom:8px}.cel-exercise{font-size:14px;color:var(--text);font-weight:700;margin-top:14px}.cel-result{margin-top:6px;font-size:14px;color:var(--text-muted)}.cel-actions{width:100%;animation:cel-up .5s .65s ease both;opacity:0;display:flex;flex-direction:column;align-items:center;gap:12px}.cel-btn{width:100%;height:60px;border-radius:16px;background:var(--accent);border:none;color:#fff;font-size:18px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 16px #15803d47}.cel-btn-secondary{width:100%;min-height:50px;border-radius:14px;border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);font:inherit;font-weight:700;cursor:pointer}.cel-btn-tertiary{min-height:42px;padding:0 16px;border:0;background:transparent;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.friends-screen,.social-game-screen{max-width:680px;margin:0 auto;padding:24px 16px 100px}.friends-title-row,.social-topbar,.leaderboard-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.friends-title-row h1,.social-game-screen h1{margin:0;font-size:1.75rem}.friends-title-row p{color:var(--text-muted);margin:4px 0 0;font-size:.9rem}.friends-new,.friends-primary{border:0;border-radius:12px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.friends-new{padding:11px 13px;white-space:nowrap}.friends-primary{padding:15px 20px;width:100%;margin-top:22px}.friends-primary:disabled{opacity:.45;cursor:default}.friends-section{margin-top:28px}.friends-section h2,.leaderboard-title h2,.group-card h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);margin:0 0 10px}.friend-row,.game-row,.friend-pick{width:100%;display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);padding:11px 12px;color:var(--text)}.friend-row:first-of-type,.game-row:first-child{border-radius:12px 12px 0 0}.friend-row:last-child,.game-row:last-child{border-radius:0 0 12px 12px}.friend-row:only-child,.game-row:only-child{border-radius:12px}.friend-row+.friend-row,.game-row+.game-row{border-top:0}.game-row{text-align:left;cursor:pointer;font:inherit}.friend-avatar{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-weight:800}.friend-info,.game-main,.player-name{display:flex;flex-direction:column;min-width:0;flex:1}.friend-info strong,.game-main strong,.player-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-info small,.game-main small,.player-name small{color:var(--text-muted);font-size:.75rem;margin-top:2px}.icon-accept,.icon-reject,.add-friend,.remove-friend{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;font-size:.78rem}.icon-accept,.add-friend{color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}.icon-reject,.remove-friend{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.relation-label{color:var(--text-muted);font-size:.76rem}.friends-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:0 12px;margin-bottom:8px}.friends-search input{flex:1;min-width:0;padding:13px 0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.friends-empty-card{text-align:center;border:1px dashed var(--border);border-radius:12px;padding:25px;color:var(--text-muted)}.friends-empty-card p,.friends-empty{margin:7px 0;color:var(--text-muted);font-size:.87rem}.friends-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface));padding:10px 12px;border-radius:9px;font-size:.85rem}.game-status{width:9px;height:9px;border-radius:50%;background:var(--text-muted)}.game-status.active{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.friends-back{background:none;color:var(--text-muted);border:0;padding:0;margin-bottom:18px;font:inherit;cursor:pointer}.friends-label{display:block;font-size:.78rem;color:var(--text-muted);font-weight:700;margin:20px 0 8px}.friends-help{color:var(--text-muted);font-size:.8rem;margin:-3px 0 9px}.friends-segmented{display:flex;gap:7px;margin-bottom:8px}.friends-segmented button{flex:1;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:11px;font:inherit;cursor:pointer}.friends-segmented button.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.par-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.par-cell{border:1px solid var(--border);border-radius:9px;padding:7px;background:var(--surface);display:flex;flex-direction:column;gap:4px}.par-cell span{color:var(--text-muted);font-size:.68rem}.par-cell select{border:0;background:transparent;color:var(--text);font:inherit;font-size:.82rem}.friend-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.friend-pick{border-radius:11px;cursor:pointer;font:inherit}.friend-pick.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.social-topbar button{border:0;background:none;color:var(--text-muted);display:flex;align-items:center;padding:0;font:inherit;cursor:pointer}.live-pill{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--text-muted)}.live-pill span{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.live-pill.active{color:var(--accent)}.live-pill.active span{background:var(--accent);animation:live-pulse 1.7s infinite}@keyframes live-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}}.social-game-screen h1{margin-top:18px}.sync-line{display:flex;gap:5px;align-items:center;color:var(--text-muted);font-size:.72rem;margin-top:5px}.pending-sync{border:0;background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:#d97706;border-radius:8px;padding:8px 10px;margin-top:9px;font:inherit;font-size:.76rem;cursor:pointer}.score-entry-card,.leaderboard-card,.group-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:20px;padding:15px}.hole-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center}.hole-heading button{border:0;background:transparent;color:var(--text);cursor:pointer;padding:8px}.hole-heading button:disabled{opacity:.2}.hole-heading div{display:flex;flex-direction:column}.hole-heading span{color:var(--text-muted);font-size:.64rem;letter-spacing:.14em}.hole-heading strong{font-size:2.25rem;line-height:1.05}.hole-heading small{color:var(--accent);font-weight:700}.score-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.score-control{background:var(--background);border-radius:12px;padding:11px;text-align:center}.score-control.compact{grid-column:span 2}.score-control label{display:block;color:var(--text-muted);font-size:.7rem;margin-bottom:9px}.score-control div{display:grid;grid-template-columns:36px 1fr 36px;align-items:center}.score-control button{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1.3rem;cursor:pointer}.score-control strong{font-size:1.65rem}.hole-total{text-align:center;color:var(--text-muted);font-size:.85rem}.hole-total strong{color:var(--text)}.hole-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.hole-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--border)}.hole-dots button.played{background:color-mix(in srgb,var(--accent) 45%,var(--border))}.hole-dots button.current{outline:2px solid var(--accent);outline-offset:2px}.finish-card{margin-top:17px}.completed-banner{margin-top:20px;border-radius:12px;padding:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));display:flex;gap:8px;align-items:center;font-size:.85rem}.leaderboard-title h2{margin:0;flex:1;color:var(--text);font-size:.9rem}.leaderboard-title>span{color:var(--text-muted);font-size:.72rem}.leaderboard-row{display:flex;align-items:center;gap:9px;padding:11px 3px;border-top:1px solid var(--border)}.leaderboard-row:first-of-type{margin-top:10px}.leaderboard-row.mine{background:color-mix(in srgb,var(--accent) 6%,transparent);margin-inline:-8px;padding-inline:11px;border-radius:8px}.rank{width:20px;text-align:center;color:var(--text-muted);font-weight:700}.player-score{display:flex;flex-direction:column;text-align:center;color:var(--accent)}.player-score small{font-size:.62rem;color:var(--text-muted)}.player-par{width:32px;text-align:right;font-weight:700}.group-card h2{display:flex;align-items:center;gap:6px;color:var(--text);font-size:.9rem}.group-table-wrap{overflow-x:auto}.group-card table{border-collapse:collapse;min-width:100%;font-size:.78rem}.group-card th,.group-card td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:center;white-space:nowrap}.group-card th:first-child{position:sticky;left:0;background:var(--surface);text-align:left;z-index:1}.group-card thead th{color:var(--text-muted);font-size:.7rem}.group-card thead small{display:block;font-size:.55rem}.group-card tr.mine th,.group-card tr.mine td{color:var(--accent)}.social-game-actions{margin-top:12px;display:flex;flex-direction:column;gap:4px}.finish-game,.cancel-game{width:100%;min-height:48px;border:0;background:none;padding:12px 18px;font:inherit;cursor:pointer}.finish-game{color:var(--text-muted)}.cancel-game{color:var(--danger)}@media(max-width:430px){.friends-title-row{align-items:flex-start}.friends-new{font-size:.78rem}.friend-picker{grid-template-columns:1fr}}.lessons-screen{max-width:760px;margin:0 auto;padding:22px 18px var(--screen-bottom-space)}.lessons-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.lessons-header h1{font-size:2rem;line-height:1;margin:2px 0 0;letter-spacing:-.04em}.lessons-eyebrow{margin:0;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lesson-icon-button{width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent)}.lessons-tabs{display:flex;overflow-x:auto;gap:7px;padding-bottom:8px;scrollbar-width:none}.lessons-tabs::-webkit-scrollbar{display:none}.lessons-tabs button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:8px 13px;background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:700}.lessons-tabs button.active{background:#173d2a;border-color:#173d2a;color:#fff}.lesson-week-picker{display:flex;align-items:center;justify-content:space-between;margin:12px 0 20px;padding:9px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.lesson-week-picker button{border:0;background:transparent;color:var(--text);width:34px;height:32px;display:grid;place-items:center}.lesson-week-picker span{display:flex;gap:7px;align-items:center;font-size:.83rem;font-weight:700}.lesson-day-list,.lesson-stack{display:grid;gap:13px}.lesson-day-block{display:grid;gap:8px}.lesson-day-block h2{margin:10px 3px 1px;text-transform:capitalize;font-size:.78rem;letter-spacing:.05em;color:var(--text-muted)}.lesson-session-card{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--border);background:var(--surface);border-radius:17px;padding:15px 13px;text-align:left;color:var(--text)}.lesson-session-time{color:var(--accent);font-weight:800;font-size:.88rem}.lesson-session-main{min-width:0;display:grid;gap:2px}.lesson-session-main strong,.lesson-group-copy strong{font-size:.93rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-session-main small,.lesson-group-copy small{color:var(--text-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-capacity{border-radius:999px;padding:4px 8px;background:#f1f3f2;color:var(--text-muted);font-size:.72rem;font-weight:800}.lesson-capacity.has-place{color:var(--accent);background:var(--accent-light)}.lesson-notice,.lesson-error{padding:11px 13px;border-radius:12px;font-size:.82rem;margin:0 0 14px}.lesson-notice{background:var(--accent-light);color:var(--accent)}.lesson-error{background:#fef2f2;color:var(--danger)}.lesson-empty{color:var(--text-muted);text-align:center;padding:28px}.lesson-empty-state{display:grid;place-items:center;padding:48px 20px;color:var(--text-muted);border:1px dashed var(--border);border-radius:18px}.lesson-empty-state span{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:var(--surface)}.lesson-empty-state p{margin:9px 0 0;font-size:.85rem}.lesson-primary-action,.lesson-secondary-action{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border-radius:14px;font-weight:750}.lesson-primary-action{border:0;background:var(--accent);color:#fff}.lesson-secondary-action{width:100%;margin-top:8px;border:1px solid var(--accent);background:transparent;color:var(--accent)}.lesson-request-actions{display:flex;gap:7px}.lesson-request-actions button,.lesson-member-row button{padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-size:.72rem;font-weight:750}.lesson-request-actions button:last-child,.lesson-member-row button:not(.danger){border-color:var(--accent);color:#fff;background:var(--accent)}.lesson-member-row{display:grid;grid-template-columns:1fr minmax(110px,1.3fr) auto auto;align-items:center;gap:6px;padding:7px 0}.lesson-member-row select{min-width:0;padding:7px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.lesson-member-row .danger{color:#9c2f2f}@media(max-width:560px){.lesson-member-row{grid-template-columns:1fr auto auto}.lesson-member-row strong,.lesson-member-row select{grid-column:1 / -1}}.lesson-group-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px;border-radius:17px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.lesson-group-card.inactive{opacity:.58}.lesson-group-icon,.lesson-plan-heading>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;color:var(--accent);background:var(--accent-light);border-radius:13px}.lesson-group-copy{display:grid;min-width:0;flex:1}.lesson-section-copy{color:var(--text-muted);font-size:.82rem;margin:0 2px 3px}.lesson-place-card{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px;border:1px solid var(--border);background:var(--surface);border-radius:17px}.lesson-place-card>div{display:grid}.lesson-place-card small{color:var(--text-muted);text-transform:capitalize}.lesson-place-count{color:var(--accent);background:var(--accent-light);padding:5px 9px;border-radius:999px;font-size:.73rem;font-weight:800;align-self:start}.lesson-place-card select{min-width:0;border:1px solid var(--border);background:var(--bg);border-radius:11px;padding:10px}.lesson-place-card button{border:0;border-radius:11px;color:#fff;background:var(--accent);font-weight:700}.lesson-place-card button:disabled{opacity:.45}.lesson-modal-layer{position:fixed;z-index:300;inset:0;padding:max(12px,env(safe-area-inset-top,0px)) 14px max(12px,env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;justify-content:center;background:#0a19126b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lesson-modal{width:min(100%,620px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;background:var(--surface);border-radius:24px 24px 18px 18px;padding:0;display:flex;flex-direction:column;box-shadow:0 20px 70px #0003}.lesson-modal-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px;display:grid;gap:15px}.lesson-modal header{display:flex;align-items:flex-start;justify-content:space-between}.lesson-modal header small,.lesson-plan-heading small{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.lesson-modal header h2,.lesson-plan-heading h2{margin:1px 0 0;font-size:1.25rem}.lesson-modal header button{border:0;background:transparent;color:var(--text-muted)}.lesson-modal label,.lesson-plan-card>label{display:grid;gap:6px;color:var(--text-muted);font-size:.76rem;font-weight:700}.lesson-modal input,.lesson-modal select,.lesson-plan-card input,.lesson-plan-card textarea{width:100%;min-width:0;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:11px 12px;font-size:.9rem}.lesson-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lesson-form-grid>label{min-width:0}.lesson-modal fieldset{border:1px solid var(--border);border-radius:14px;padding:10px 12px;max-height:230px;overflow:auto}.lesson-modal legend{padding:0 5px;color:var(--text-muted);font-size:.75rem;font-weight:800}.lesson-check{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:center;gap:10px!important;padding:9px 2px;color:var(--text)!important}.lesson-check input{width:18px!important;height:18px;accent-color:var(--accent);flex:0 0 auto}.lesson-check>span{display:grid}.lesson-check small{color:var(--text-muted);font-weight:500;text-transform:capitalize}.lesson-submit{flex:0 0 auto;border:0;min-height:48px;margin:0 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:14px;background:var(--accent);color:#fff;font-weight:800;font-size:.92rem}.lesson-submit:disabled{opacity:.5}.lesson-plan-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:17px;display:grid;gap:14px}.lesson-plan-heading{display:flex;align-items:center;gap:11px}.lesson-catalog-list{max-height:330px;overflow:auto;padding:0 4px;border:1px solid var(--border);border-radius:13px}.lesson-catalog-list .lesson-check{border-bottom:1px solid var(--border)}.lesson-catalog-list .lesson-check:last-child{border:0}.lesson-selected-count{color:var(--text-muted);font-size:.76rem;margin:-5px 0 0}@media(min-width:720px){.lessons-screen{padding-top:34px}.lesson-modal-layer{align-items:center}.lesson-modal{border-radius:24px}.lesson-day-list{grid-template-columns:1fr 1fr;align-items:start}}.lesson-detail-screen{min-height:100vh;background:var(--bg);padding-bottom:var(--screen-bottom-space)}.lesson-detail-hero{padding:18px 19px 27px;color:#fff;background:linear-gradient(145deg,#123523,#1a6640);border-radius:0 0 28px 28px}.lesson-back{display:flex;align-items:center;gap:7px;margin-bottom:22px;border:0;background:transparent;color:#ffffffc7;padding:2px 0}.lesson-detail-labels{display:flex;gap:7px}.lesson-detail-labels>span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:750}.lesson-detail-labels .lesson-status--completed{color:#bbf7d0}.lesson-detail-labels .lesson-status--cancelled{color:#fecaca}.lesson-detail-hero h1{margin:13px 0 2px;font-size:1.72rem;letter-spacing:-.035em}.lesson-detail-date{margin:0;text-transform:capitalize;font-size:.8rem;color:#ffffffb8}.lesson-detail-theme{margin-top:21px;border:1px solid rgba(255,255,255,.15);border-radius:15px;padding:12px 14px;background:#ffffff14;display:grid}.lesson-detail-theme small{color:#ffffffa6;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.lesson-detail-theme strong{font-size:.95rem}.lesson-detail-theme p{margin:4px 0 0;font-size:.76rem;color:#ffffffb3}.lesson-detail-body{max-width:720px;margin:0 auto;padding:18px;display:grid;gap:16px}.lesson-detail-loading{min-height:60vh;display:grid;place-content:center;justify-items:center;color:var(--text-muted)}.lesson-attendance-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:15px}.lesson-attendance-card>div:first-child{display:flex;gap:10px;align-items:center;color:var(--accent)}.lesson-attendance-card span{display:grid}.lesson-attendance-card small{color:var(--text-muted);font-size:.68rem}.lesson-attendance-card strong{color:var(--text)}.lesson-attendance-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.lesson-attendance-actions button{min-height:42px;border-radius:12px;font-weight:750}.lesson-attendance-actions .confirm{border:0;color:#fff;background:var(--accent)}.lesson-attendance-actions .decline{border:1px solid var(--border);color:var(--danger);background:transparent}.lesson-detail-section{background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:15px}.lesson-detail-section-title{display:flex;align-items:center;justify-content:space-between;padding:1px 1px 12px;border-bottom:1px solid var(--border)}.lesson-detail-section-title>div{display:flex;gap:8px;color:var(--accent);align-items:center}.lesson-detail-section-title h2{margin:0;color:var(--text);font-size:1rem}.lesson-detail-section-title>span{font-size:.72rem;font-weight:800;color:var(--text-muted)}.lesson-detail-section-title>button{border:0;border-radius:9px;padding:6px 9px;color:var(--accent);background:var(--accent-light);font-size:.69rem;font-weight:800}.lesson-exercise-list,.lesson-student-list{display:grid}.lesson-exercise-row{width:100%;display:flex;align-items:center;gap:11px;padding:13px 2px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;color:var(--text)}.lesson-exercise-row:last-child{border:0}.lesson-exercise-row:disabled{opacity:1;cursor:default}.lesson-exercise-state{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--text-muted);background:var(--bg)}.lesson-exercise-row.completed .lesson-exercise-state{color:#fff;background:var(--accent)}.lesson-exercise-copy{min-width:0;flex:1;display:grid}.lesson-exercise-copy strong{font-size:.86rem}.lesson-exercise-copy small{color:var(--text-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-exercise-copy em{color:var(--accent);font-size:.69rem;font-style:normal;font-weight:700}.lesson-exercise-open{color:var(--accent);font-size:.7rem;font-weight:800}.lesson-detail-empty{color:var(--text-muted);text-align:center;font-size:.8rem;padding:22px 5px 9px}.lesson-student-row{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.lesson-student-row:last-child{border:0}.lesson-student-profile{display:flex;gap:9px;align-items:center;min-width:0;border:0;background:transparent;text-align:left;padding:0;color:var(--text)}.lesson-student-profile>span:first-child{width:35px;height:35px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--accent-light);color:var(--accent);font-weight:800}.lesson-student-profile>span:last-child{min-width:0;display:grid}.lesson-student-profile strong{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-student-profile small{color:var(--text-muted);font-size:.67rem}.lesson-student-row select,.lesson-recovery-inline select{min-width:0;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:8px;font-size:.72rem}.lesson-recovery-inline{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:10px;padding:12px;border-radius:14px;background:var(--accent-light)}.lesson-recovery-inline>div{display:grid;grid-column:1 / -1}.lesson-recovery-inline strong{color:var(--accent);font-size:.82rem}.lesson-recovery-inline small{color:var(--text-muted);font-size:.7rem}.lesson-recovery-inline button{border:0;border-radius:10px;padding:8px 11px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:750}.lesson-recovery-inline button:disabled{opacity:.45}.lesson-detail-footer-actions{display:grid;grid-template-columns:auto 1fr;gap:9px}.lesson-detail-footer-actions button{min-height:46px;border-radius:13px;display:flex;justify-content:center;align-items:center;gap:7px;font-weight:800}.lesson-refresh{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);padding:0 13px}.lesson-close-session{border:0;color:#fff;background:#173d2a}.lesson-cancel-session{grid-column:1 / -1;min-height:38px!important;border:0;color:var(--danger);background:transparent;font-size:.75rem}@media(min-width:720px){.lesson-detail-hero{padding-left:max(24px,calc((100vw - 720px)/2));padding-right:max(24px,calc((100vw - 720px)/2))}}.student-lessons-screen{max-width:720px;margin:0 auto;padding:22px 18px var(--screen-bottom-space)}.student-lessons-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.student-lessons-header p{margin:0;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.student-lessons-header h1{margin:2px 0 0;font-size:2rem;line-height:1;letter-spacing:-.04em}.student-lessons-header button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--accent);background:var(--surface)}.student-lessons-header button:disabled{opacity:.5}.student-lessons-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border-radius:16px;background:#e9eeeb}.student-lessons-tabs button{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border:0;border-radius:12px;color:var(--text-muted);background:transparent;font-weight:750}.student-lessons-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 2px 9px #19322314}.student-lessons-tabs span{min-width:21px;padding:2px 6px;border-radius:99px;background:var(--accent-light);color:var(--accent);font-size:.68rem}.student-lessons-range{margin:13px 2px 18px;color:var(--text-muted);font-size:.76rem}.student-lessons-days,.student-lessons-day{display:grid;gap:10px}.student-lessons-day{margin-bottom:8px}.student-lessons-day h2{margin:9px 3px 0;color:var(--text-muted);font-size:.76rem;letter-spacing:.04em;text-transform:capitalize}.student-lesson-card,.student-place-card{width:100%;min-width:0;display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--border);border-radius:17px;color:var(--text);background:var(--surface);text-align:left}.student-lesson-time{width:58px;flex:0 0 auto;display:grid;justify-items:start;gap:3px;color:var(--accent);font-size:.78rem;font-weight:800}.student-lesson-copy{min-width:0;flex:1;display:grid;gap:2px}.student-lesson-copy strong,.student-lesson-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-lesson-copy strong{font-size:.9rem}.student-lesson-copy small{color:var(--text-muted);font-size:.71rem}.student-lesson-copy em{color:var(--accent);font-size:.69rem;font-style:normal;font-weight:750}.student-place-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:var(--accent-light)}.student-place-card.is-mine{border-color:var(--accent);background:color-mix(in srgb,var(--accent-light) 45%,var(--surface))}.student-slot-action{flex:0 0 auto;max-width:104px;padding:8px 10px;border:0;border-radius:10px;color:#fff;background:var(--accent);font-size:.7rem;font-weight:800}.student-slot-action.secondary{color:var(--accent);background:var(--accent-light)}.student-slot-action:disabled{opacity:.5}.student-credit-select{display:grid;gap:6px;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:.75rem;font-weight:750}.student-credit-select select{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.student-places-help{margin:0 2px 5px;padding:12px 13px;border-radius:13px;color:#386147;background:var(--accent-light);font-size:.78rem}.student-lessons-empty{display:grid;justify-items:center;padding:44px 20px;border:1px dashed var(--border);border-radius:18px;color:var(--text-muted);text-align:center}.student-lessons-empty strong{margin-top:9px;color:var(--text)}.student-lessons-empty p{margin:3px 0 0;font-size:.8rem}@media(min-width:720px){.student-lessons-screen{padding-top:34px}.student-lessons-days{grid-template-columns:1fr 1fr;align-items:start}.student-places-help,.student-lessons-empty{grid-column:1 / -1}}@media(max-width:430px){.student-lessons-tabs button{padding-inline:4px;font-size:.72rem}.student-place-card{align-items:flex-start;flex-wrap:wrap}.student-place-card .student-lesson-copy{min-width:calc(100% - 55px)}.student-slot-action{width:100%;max-width:none;margin-left:51px}}*{box-sizing:border-box;margin:0;padding:0}.app{min-height:100vh;background:var(--bg);color:var(--text)}.screen{max-width:480px;margin:0 auto;padding-bottom:var(--screen-bottom-space)}.loading,.screen-loading{display:grid;place-items:center;width:100%;min-height:calc(100vh - var(--bottom-nav-height));min-height:calc(100dvh - var(--bottom-nav-height));color:var(--text-muted)}.loading{position:fixed;inset:0 0 var(--bottom-nav-height) 0;z-index:50;width:auto;min-height:0;background:var(--bg)}.loading>.spinner{position:static;inset:auto;margin:0;align-self:center;justify-self:center}.loading>.page-spinner{position:static;margin:0;align-self:center;justify-self:center;animation:spin 1s linear infinite}.screen.screen-loading{display:grid;place-items:center;padding:0}.screen.screen-loading>.spinner{margin:auto;align-self:center;justify-self:center}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
