@media (prefers-color-scheme:dark){:root:not([data-shell=ait]):not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#101813;--color-surface:#18231c;--color-surface-raised:#202d25;--color-border:#3c4a40;--color-border-strong:#637167;--color-text:#f5f1e8;--color-text-muted:#bec9c0;--color-primary-50:#20362a;--color-primary-100:#294737;--color-primary-200:#3a624b;--color-primary-300:#78ad89;--color-primary-500:#83c198;--color-primary-600:#9bd0aa;--color-primary-700:#b9dfc4;--color-primary-900:#e1f0e5;--color-accent-100:#4d2a21;--color-accent-400:#ff9a78;--color-accent-600:#ffb198;--color-success:#99d6ad;--color-warning:#f2c66f;--color-danger:#ffaaa3;--color-info:#9dd3e6;--color-sky-100:#223d47;--color-sky-500:#8fc9dc;--color-paper:#28352d;--color-paper-ink:#f4efe4;--color-brand-page:#fffaf0;--color-brand-ink:#173f2f;--color-on-light:#14241a;--color-on-light-muted:#46564b;--color-focus:#a8dced}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary-50:#edf4ee;--color-primary-100:#d9e8dc;--color-primary-200:#b9d4bf;--color-primary-300:#8fb79b;--color-primary-500:#3f7757;--color-primary-600:#2d6043;--color-primary-700:#204e37;--color-primary-900:#102f24;--color-action:#173f2f;--color-action-hover:#245a42;--color-on-action:#fff;--color-accent-100:#ffe4db;--color-accent-400:#ef7f5b;--color-accent-600:#a33d2c;--color-success:#245f40;--color-warning:#805100;--color-danger:#a12f2a;--color-info:#245f78;--color-bg:#f4f1e8;--color-surface:#ebe7dc;--color-surface-raised:#fffdf7;--color-border:#d7d0bf;--color-border-strong:#a9a08b;--color-text:#18221c;--color-text-muted:#4f5b53;--color-text-inverse:#fff;--color-on-accent:#3d170e;--color-on-primary-muted:#dbeadf;--color-primary-glass:#ffffff1f;--color-primary-glass-border:#ffffff4d;--color-share-start:#f8f1df;--color-share-end:#d9e8dc;--color-share-ink:#153526;--color-on-light:#14241a;--color-on-light-muted:#46564b;--color-overlay:#0000008c;--color-focus:#1c6685;--color-sky-100:#dceef3;--color-sky-500:#3d839c;--color-paper:#fffaf0;--color-paper-ink:#27352d;--color-brand-page:#fffaf0;--color-brand-ink:#173f2f;--font-sans:"Pretendard Variable", Pretendard, system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;--text-xs:.875rem;--text-sm:1rem;--text-base:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--leading-tight:1.25;--leading-normal:1.6;--weight-regular:400;--weight-medium:600;--weight-bold:750;--font-scale:1.125;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--touch-min:44px;--touch-score:56px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-full:999px;--shadow-sm:0 2px 0 #142d200a, 0 8px 24px #142d2012;--shadow-md:0 18px 48px #142d2024;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, 0, 0, 1);--content-max:1120px;--reading-max:720px;--score-max:560px;--header-h:64px;--tabbar-h:72px}:root[data-font-scale=normal]{--font-scale:1}:root[data-font-scale=large]{--font-scale:1.125}:root[data-font-scale=xlarge]{--font-scale:1.25}@media (prefers-color-scheme:dark){:root:not([data-shell=ait]):not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#101813;--color-surface:#18231c;--color-surface-raised:#202d25;--color-border:#3c4a40;--color-border-strong:#637167;--color-text:#f5f1e8;--color-text-muted:#bec9c0;--color-primary-50:#20362a;--color-primary-100:#294737;--color-primary-200:#3a624b;--color-primary-300:#78ad89;--color-primary-500:#83c198;--color-primary-600:#9bd0aa;--color-primary-700:#b9dfc4;--color-primary-900:#e1f0e5;--color-accent-100:#4d2a21;--color-accent-400:#ff9a78;--color-accent-600:#ffb198;--color-success:#99d6ad;--color-warning:#f2c66f;--color-danger:#ffaaa3;--color-info:#9dd3e6;--color-sky-100:#223d47;--color-sky-500:#8fc9dc;--color-paper:#28352d;--color-paper-ink:#f4efe4;--color-brand-page:#fffaf0;--color-brand-ink:#173f2f;--color-on-light:#14241a;--color-on-light-muted:#46564b;--color-focus:#a8dced}}:root[data-theme=light],:root[data-shell=ait]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]:not([data-shell=ait]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#101813;--color-surface:#18231c;--color-surface-raised:#202d25;--color-border:#3c4a40;--color-border-strong:#637167;--color-text:#f5f1e8;--color-text-muted:#bec9c0;--color-primary-50:#20362a;--color-primary-100:#294737;--color-primary-200:#3a624b;--color-primary-300:#78ad89;--color-primary-500:#83c198;--color-primary-600:#9bd0aa;--color-primary-700:#b9dfc4;--color-primary-900:#e1f0e5;--color-accent-100:#4d2a21;--color-accent-400:#ff9a78;--color-accent-600:#ffb198;--color-success:#99d6ad;--color-warning:#f2c66f;--color-danger:#ffaaa3;--color-info:#9dd3e6;--color-sky-100:#223d47;--color-sky-500:#8fc9dc;--color-paper:#28352d;--color-paper-ink:#f4efe4;--color-brand-page:#fffaf0;--color-brand-ink:#173f2f;--color-on-light:#14241a;--color-on-light-muted:#46564b;--color-focus:#a8dced}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px;font-family:var(--font-sans);font-size:calc(100% * var(--font-scale));-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);margin:0}button,input,select,textarea{color:inherit;font:inherit}button,a[role=button],[data-touch]{min-height:var(--touch-min);min-width:var(--touch-min)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.num,.score,table td{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{background:var(--color-bg)}body{min-width:320px;min-height:100vh}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{letter-spacing:-.025em}h1{font-size:clamp(2rem,7vw,3.4rem);line-height:1.12}h2{font-size:var(--text-xl);line-height:1.3}p{color:var(--color-text-muted)}svg{stroke-width:2px;width:1.35em;height:1.35em}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-frame{min-height:100vh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--color-bg) 88%, transparent);border-bottom:1px solid var(--color-border);min-height:var(--header-h);z-index:20;position:sticky;top:0}.topbar__inner{align-items:center;gap:var(--space-3);max-width:var(--content-max);min-height:var(--header-h);padding:0 var(--space-4);grid-template-columns:48px 1fr auto;margin:0 auto;display:grid}.topbar__title{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.topbar__title span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.topbar__title h1{font:inherit;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.topbar__actions{justify-content:flex-end;align-items:center;min-width:44px;display:flex}.page{max-width:var(--content-max);padding:var(--space-6) var(--space-4) var(--space-8);margin:0 auto}.page--narrow{max-width:var(--score-max)}.brand{align-items:center;gap:var(--space-3);display:inline-flex}.brand__symbol{background:var(--color-action);border:3px solid var(--color-primary-100);color:var(--color-on-action);border-radius:44% 56% 46% 54%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;font-weight:800;display:inline-flex;transform:rotate(-6deg)}.brand--compact .brand__symbol{width:38px;height:38px}.button{border-radius:var(--radius-md);font-weight:var(--weight-bold);align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-5);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;justify-content:center;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)scale(.99)}.button--primary{background:var(--color-action);color:var(--color-on-action)}.button--primary:hover{background:var(--color-action-hover)}.button--secondary{background:var(--color-surface-raised);border-color:var(--color-border-strong);color:var(--color-primary-700)}.button--ghost{color:var(--color-primary-700);background:0 0}.button--danger{background:var(--color-danger);color:var(--color-text-inverse)}.full-button{width:100%}.icon-button{border-radius:var(--radius-full);color:var(--color-text);background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-button--danger{color:var(--color-danger)}.text-button,.inline-link{color:var(--color-primary-700);font-weight:var(--weight-bold);align-items:center;gap:var(--space-1);padding:var(--space-2);background:0 0;display:inline-flex}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.chip{background:var(--color-surface);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);min-height:30px;padding:0 var(--space-3);align-items:center;display:inline-flex}.chip--success{background:var(--color-primary-100);color:var(--color-primary-700)}.chip--warning{background:color-mix(in srgb, var(--color-accent-400) 24%, var(--color-surface));color:var(--color-warning)}.chip--info{background:color-mix(in srgb, var(--color-info) 12%, var(--color-surface));color:var(--color-info)}.eyebrow{color:var(--color-primary-700);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;margin-bottom:var(--space-2);text-transform:uppercase;display:block}.muted,.version{color:var(--color-text-muted);font-size:var(--text-sm)}.lead{color:var(--color-text);font-size:var(--text-lg)}.notice{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);display:flex}.notice svg{flex:none}.notice div{display:grid}.notice span{color:var(--color-text-muted)}.notice--offline{border-color:var(--color-info)}.notice--warning{border-color:var(--color-warning)}.notice--info{border-color:var(--color-info)}.notice--success{border-color:var(--color-success)}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--color-bg) 92%, transparent);border-top:1px solid var(--color-border);min-height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:4px max(var(--space-2), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--space-2), env(safe-area-inset-left));z-index:30;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.onboarding{min-height:100vh;padding:max(var(--space-5), env(safe-area-inset-top)) var(--space-5) max(var(--space-5), env(safe-area-inset-bottom));grid-template-rows:auto minmax(280px,1fr) auto auto;display:grid}.onboarding__top,.onboarding__footer{justify-content:space-between;align-items:center;display:flex}.onboarding__visual{justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.onboarding__visual svg{color:var(--color-text-inverse);z-index:2;width:96px;height:96px;position:relative}.onboarding__orb{background:linear-gradient(145deg, var(--color-primary-500), var(--color-action));border:16px solid var(--color-primary-50);border-radius:46% 54% 43% 57%;width:min(58vw,320px);height:min(58vw,320px);position:absolute;transform:rotate(-8deg)}.onboarding__copy{margin:0 auto var(--space-6);max-width:min(900px, calc(100vw - var(--space-6)));text-align:center}.onboarding__copy h1{text-wrap:balance}.onboarding__copy p{max-width:560px;margin:0 auto}.dots{gap:var(--space-2);display:flex}.dots span{background:var(--color-border-strong);border-radius:var(--radius-full);height:8px;transition:width var(--duration-base);width:8px}.dots span.is-active{background:var(--color-primary-700);width:28px}.hero{background:radial-gradient(circle at 88% 20%, color-mix(in srgb, var(--color-accent-400) 28%, transparent) 0 13%, transparent 14%), linear-gradient(135deg, var(--color-primary-50), color-mix(in srgb, var(--color-primary-100) 70%, var(--color-bg)));border:1px solid var(--color-primary-100);align-items:end;gap:var(--space-6);margin-bottom:var(--space-6);border-radius:28px;grid-template-columns:minmax(0,1fr) auto;padding:clamp(1.5rem,5vw,3.5rem);display:grid;position:relative;overflow:hidden}.hero,.hero h1{color:var(--color-on-light)}.hero .eyebrow{color:var(--color-action)}.hero h1{margin-bottom:var(--space-3);white-space:pre-line;font-size:clamp(2.1rem,6vw,4rem)}.hero p{color:var(--color-on-light-muted);max-width:560px;margin:0}.hero__cta{white-space:nowrap;min-height:64px}.hero__passport{background:var(--color-surface-raised);border:1px solid var(--color-primary-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);text-align:right;grid-template-columns:auto auto;align-self:center;align-items:center;display:grid}.hero__passport-seal{background:var(--color-primary-700);color:var(--color-text-inverse);height:60px;margin-right:var(--space-3);border-radius:50%;grid-row:1/3;justify-content:center;align-items:center;width:60px;display:flex;transform:rotate(-7deg)}.hero__passport strong{color:var(--color-on-light);font-size:var(--text-2xl);line-height:1}.hero__passport small{color:var(--color-on-light-muted)}.hero__actions{gap:var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.value-section{margin-bottom:var(--space-6)}.value-section__heading{margin-top:var(--space-4)}.value-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.value-grid .card{gap:var(--space-2);display:grid}.value-grid svg{color:var(--color-primary-700);width:32px;height:32px}.value-grid p{font-size:var(--text-sm);margin:0}.value-section__import{margin-top:var(--space-3)}.metric-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.metric-grid .card{align-items:baseline;gap:var(--space-1);flex-wrap:wrap;display:flex}.metric__label{color:var(--color-text-muted);font-size:var(--text-sm);flex-basis:100%}.metric__value{font-size:var(--text-2xl)}.metric__suffix{color:var(--color-text-muted)}.metric-grid--two{grid-template-columns:repeat(2,1fr)}.section-heading{margin:var(--space-8) 0 var(--space-4);justify-content:space-between;align-items:end;display:flex}.section-heading h2{margin-bottom:0}.record-list{gap:var(--space-3);display:grid}.resume-card{background:color-mix(in srgb, var(--color-primary-50) 72%, var(--color-surface));border-color:var(--color-primary-200);align-items:center;gap:var(--space-4);margin-top:var(--space-5);justify-content:space-between;display:flex}.resume-card h2{margin-block:var(--space-1)}.resume-card p,.collection-teaser__goal{color:var(--color-text-muted);margin:0}.collection-teaser__next{color:var(--color-primary-700);font-size:var(--text-sm);font-weight:var(--weight-bold);align-items:center;gap:var(--space-1);margin:var(--space-2) 0 0;display:flex}.collection-teaser__goal{font-size:var(--text-sm);margin-top:var(--space-2)}.record-trend{margin-bottom:var(--space-4)}.trend-bars{align-items:end;gap:var(--space-2);height:180px;margin-block:var(--space-4);padding-block-start:var(--space-2);display:flex;overflow-x:auto}.trend-bar{flex-direction:column;flex:0 0 44px;justify-content:end;align-self:stretch;align-items:center;min-width:44px;display:flex}.trend-bar>span{background:var(--color-brand);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:24px;min-height:12px;max-height:140px}.trend-bar>small{color:var(--color-text-muted);font-size:var(--text-xs);margin-block-start:var(--space-1)}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:520px}.table-scroll th,.table-scroll td{border-block-end:1px solid var(--color-border);padding:var(--space-2);text-align:start}.record-row{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);align-items:center;gap:var(--space-3);padding:var(--space-4);text-align:left;grid-template-columns:auto 1fr auto auto;width:100%;display:grid}.record-row__date{background:var(--color-surface);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-bold);justify-content:center;align-items:center;width:58px;height:52px;display:flex}.record-row__main,.record-row__score{display:grid}.record-row small{color:var(--color-text-muted)}.record-row__score{text-align:right}.record-row__score strong{font-size:var(--text-xl)}.collection-teaser{align-items:center;gap:var(--space-6);margin-top:var(--space-6);grid-template-columns:auto 1fr;display:grid}.collection-teaser__ring{background:conic-gradient(var(--color-primary-600) var(--progress), var(--color-primary-100) 0);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:relative}.collection-teaser__ring:after{background:var(--color-surface-raised);content:"";border-radius:50%;position:absolute;inset:12px}.collection-teaser__ring span{font-size:var(--text-xl);font-weight:var(--weight-bold);z-index:2;position:relative}.empty-state{padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-state__icon{background:var(--color-primary-50);color:var(--color-primary-700);height:72px;margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;width:72px;display:flex}.empty-state__icon svg{width:32px;height:32px}.loading-state{color:var(--color-text-muted);align-items:center;gap:var(--space-3);justify-content:center;min-height:240px;display:flex}.loading-state__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary-700);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-state__spinner{border-right-color:var(--color-primary-700);animation:none}}.search-field{background:var(--color-surface);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:0 var(--space-3);border:2px solid #0000;display:flex}.search-field:focus-within{border-color:var(--color-primary-700)}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:56px}.search-field button{background:0 0}.action-strip{gap:var(--space-3);display:flex}.action-strip>*{flex:1}.subheading{margin-top:var(--space-6)}.source-notice{background:var(--color-surface);border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-3)}.course-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.course-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);align-items:center;gap:var(--space-3);padding:var(--space-4);text-align:left;grid-template-columns:auto 1fr auto;display:grid}.course-card__stamp{background:var(--color-surface);border:2px dashed var(--color-border-strong);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.course-card__stamp.is-visited{background:var(--color-action);color:var(--color-on-action);border-style:solid}.course-card__stamp:has(svg){background:var(--color-action);color:var(--color-on-action);border-style:solid}.course-card__content{display:grid}.course-card small{color:var(--color-text-muted)}.segmented{background:var(--color-surface);border-radius:var(--radius-md);gap:var(--space-2);padding:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.segmented button{border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-3);background:0 0;border:2px solid #0000;display:grid}.segmented button small{color:var(--color-text-muted)}.segmented button.is-active{background:var(--color-surface-raised);border-color:var(--color-primary-700);box-shadow:var(--shadow-sm)}.segmented--small{grid-template-columns:repeat(3,1fr)}.check-list{gap:var(--space-2);display:grid}.check-list label{border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3);display:flex}.check-list input{opacity:0;position:absolute}.check-list__box{border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:28px;height:28px;display:flex}.check-list input:checked+.check-list__box{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}.sticky-action{bottom:var(--space-4);margin-top:var(--space-6);z-index:10;display:flex;position:sticky}.sticky-action .button{box-shadow:var(--shadow-md);flex:1;min-height:60px}.participant-tabs{gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-1);display:flex;overflow-x:auto}.participant-tabs button{background:var(--color-surface);border-radius:var(--radius-full);color:var(--color-text-muted);font-weight:var(--weight-bold);padding:0 var(--space-4);flex:1 0 auto}.participant-tabs button.is-active{background:var(--color-action);color:var(--color-on-action)}.score-panel{background:linear-gradient(180deg, var(--color-primary-50), var(--color-surface-raised) 35%);border:1px solid var(--color-primary-100);margin-bottom:var(--space-4);padding:var(--space-6);text-align:center;border-radius:28px}.score-panel__meta{gap:var(--space-2);justify-content:center;display:flex}.score-stepper{align-items:center;gap:var(--space-4);grid-template-columns:var(--touch-score) 1fr var(--touch-score);margin:var(--space-6) 0;display:grid}.score-stepper button,.mini-stepper button{background:var(--color-surface-raised);border:2px solid var(--color-primary-700);color:var(--color-primary-700);height:var(--touch-score);width:var(--touch-score);border-radius:50%;justify-content:center;align-items:center;display:flex}.score-stepper output{font-size:clamp(4rem,24vw,7rem);font-weight:var(--weight-bold);line-height:1}.score-stepper output small{font-size:var(--text-lg)}.penalty-row{border-top:1px solid var(--color-border);padding-top:var(--space-4);text-align:left;justify-content:space-between;align-items:center;display:flex}.penalty-row>div:first-child{display:grid}.penalty-row small{color:var(--color-text-muted)}.mini-stepper{align-items:center;gap:var(--space-3);display:flex}.mini-stepper button{width:44px;height:44px}.mini-stepper output{font-size:var(--text-xl);text-align:center;min-width:2ch}.hole-progress{margin:var(--space-5) 0;grid-template-columns:repeat(9,1fr);gap:6px;display:grid}.hole-progress button{background:var(--color-border);border-radius:var(--radius-full);min-width:0;min-height:8px}.hole-progress button.is-active{background:var(--color-primary-700)}.score-navigation,.stacked-actions,.dialog-actions{gap:var(--space-3);display:flex}.score-navigation>*,.dialog-actions>*{flex:1}.stacked-actions{flex-direction:column}.upload-card{margin-bottom:var(--space-4);text-align:center;border-style:dashed;flex-direction:column;align-items:center;display:flex}.upload-card__icon{background:var(--color-primary-50);color:var(--color-primary-700);height:96px;margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;width:96px;display:flex}.upload-card__icon svg{width:44px;height:44px}.upload-card__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.result-hero,.handicap-hero,.season-hero{background:linear-gradient(150deg, var(--color-primary-50), var(--color-surface-raised));border:1px solid var(--color-primary-100);margin-bottom:var(--space-4);padding:var(--space-8) var(--space-4);text-align:center;border-radius:28px;flex-direction:column;align-items:center;display:flex}.result-hero>.score,.handicap-hero>strong{font-size:clamp(5rem,25vw,8rem);line-height:1}.stamp-badge{background:var(--color-accent-400);border:2px solid var(--color-warning);border-radius:var(--radius-full);color:var(--color-on-accent);font-weight:var(--weight-bold);align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-2) var(--space-4);display:flex}.conquest-reveal{background:linear-gradient(135deg, var(--color-primary-900), var(--color-primary-600));color:var(--color-text-inverse);align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-5);border-radius:28px;grid-template-columns:auto 1fr auto;display:grid;position:relative;overflow:hidden}.conquest-reveal .eyebrow,.conquest-reveal p{color:var(--color-on-primary-muted)}.conquest-reveal h2,.conquest-reveal p{margin:0}.conquest-reveal__seal{background:var(--color-accent-400);border:5px double var(--color-on-accent);color:var(--color-on-accent);border-radius:50%;justify-content:center;align-items:center;width:86px;height:86px;display:flex;transform:rotate(-8deg)}.leaderboard{display:grid}.leaderboard>div{border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-3);grid-template-columns:36px 1fr auto auto;min-height:56px;display:grid}.leaderboard__rank{background:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.leaderboard small{color:var(--color-text-muted)}.hole-summary{gap:var(--space-2);grid-template-columns:repeat(9,minmax(36px,1fr));display:grid;overflow-x:auto}.hole-summary>div{background:var(--color-surface);border-radius:var(--radius-sm);min-width:42px;padding:var(--space-2);flex-direction:column;align-items:center;display:flex}.hole-summary small,.hole-summary span{color:var(--color-text-muted);font-size:.75rem}.collection-header{background:linear-gradient(135deg, var(--color-primary-50), var(--color-surface-raised));border-radius:28px;padding:clamp(1.5rem,5vw,3rem)}.collection-header__stats{gap:var(--space-2);margin-top:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.collection-header__stats span{background:color-mix(in srgb, var(--color-surface-raised) 76%, transparent);border:1px solid var(--color-primary-100);border-radius:var(--radius-md);padding:var(--space-3);display:grid}.collection-header__stats strong{color:var(--color-primary-700);font-size:var(--text-xl)}.collection-header__stats small{color:var(--color-text-muted)}.collection-header__goal{color:var(--color-primary-700);font-weight:var(--weight-bold)}.progress-track{background:var(--color-primary-100);border-radius:var(--radius-full);height:14px;margin:var(--space-4) 0;overflow:hidden}.progress-track span{background:var(--color-primary-700);border-radius:inherit;height:100%;display:block}.view-toggle,.filter-tabs{background:var(--color-surface);border-radius:var(--radius-md);gap:var(--space-2);margin:var(--space-5) 0;padding:var(--space-2);display:flex}.view-toggle button,.filter-tabs button{border-radius:var(--radius-sm);color:var(--color-text-muted);font-weight:var(--weight-bold);align-items:center;gap:var(--space-2);background:0 0;flex:1;justify-content:center;display:flex}.view-toggle button.is-active,.filter-tabs button.is-active{background:var(--color-surface-raised);box-shadow:var(--shadow-sm);color:var(--color-primary-700)}.province-map{background:radial-gradient(circle at 56% 42%, var(--color-primary-50), transparent 58%), var(--color-surface);padding:var(--space-3);overflow:hidden}.province-map__art{contain:layout paint;width:min(100%,480px);max-width:100%;height:auto;min-height:360px;max-height:590px;margin:0 auto;display:block}.province-map__coast{fill:color-mix(in srgb, var(--color-primary-100) 68%, var(--color-surface-raised));stroke:var(--color-primary-200);stroke-linejoin:round;stroke-width:5px}.province-map__island{fill:var(--color-primary-100);stroke:var(--color-primary-300);stroke-width:2px}.province-map__region{cursor:pointer;outline:none}.province-map__region path{fill:var(--color-surface-raised);stroke:var(--color-border-strong);stroke-linejoin:round;stroke-width:3px;transform-box:fill-box;transform-origin:50%;transition:fill .16s,stroke .16s,transform .16s}.province-map__region.is-unavailable{cursor:not-allowed}.province-map__region.is-unavailable path{fill:var(--color-surface);stroke:var(--color-border);stroke-dasharray:5 3}.province-map__region:hover:not(.is-unavailable) path,.province-map__region:focus-visible path{stroke:var(--color-primary-700);stroke-width:5px;transform:scale(1.04)}.province-map__region text{pointer-events:none;-webkit-user-select:none;user-select:none}.province-map__name{fill:var(--color-primary-900);font-size:14px;font-weight:var(--weight-bold)}.province-map__count{fill:var(--color-text-muted);font-size:11px;font-weight:var(--weight-bold)}.province-map__region.is-visited .province-map__name,.province-map__region.is-visited .province-map__count{fill:var(--color-on-action)}.province-map__region.is-unavailable .province-map__name,.province-map__region.is-unavailable .province-map__count{fill:var(--color-text-muted)}.province-map__check{fill:var(--color-on-action);font-size:18px;font-weight:var(--weight-bold)}.province-map__legend{align-items:center;gap:var(--space-3);margin-top:calc(var(--space-2) * -1);flex-wrap:wrap;justify-content:center;display:flex}.province-map__legend span{color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-1);display:inline-flex}.province-map__legend i{background:var(--color-primary-100);border:1px solid var(--color-primary-500);border-radius:4px;width:12px;height:12px;display:inline-block}.province-map__legend i.is-visited{background:var(--color-action);border-color:var(--color-action)}.province-map__legend i.is-unavailable{background:var(--color-surface);border-color:var(--color-border);border-style:dashed}.province-map__hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-3) 0 0;text-align:center}.collection-list-filter{background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);justify-content:space-between;display:flex}.collection-list-filter h2,.collection-list-filter p{margin:0}.collection-list-filter h2{color:var(--color-primary-900);font-size:var(--text-lg)}.collection-list-filter p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.collection-list-filter button{background:var(--color-surface-raised);border:1px solid var(--color-primary-300);border-radius:var(--radius-sm);color:var(--color-primary-700);font-weight:var(--weight-bold);padding:var(--space-2) var(--space-3);flex:none}.course-detail-hero{align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.course-detail-hero__stamp{background:var(--color-action);border:8px double var(--color-primary-100);color:var(--color-on-action);font-size:var(--text-2xl);font-weight:var(--weight-bold);border-radius:50%;flex:none;justify-content:center;align-items:center;width:112px;height:112px;display:flex;transform:rotate(-4deg)}.course-detail-hero h1{font-size:var(--text-2xl);margin:var(--space-2) 0}.course-detail-hero p{align-items:center;gap:var(--space-1);margin:0;display:flex}.hole-form{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.hole-form label{background:var(--color-surface);border-radius:var(--radius-md);gap:var(--space-2);padding:var(--space-3);display:grid}.hole-form select,.field input,.inline-form input{background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:48px;padding:0 var(--space-3)}.records-hero{background:linear-gradient(135deg, var(--color-action), var(--color-primary-900));color:var(--color-text-inverse);border-radius:28px;padding:clamp(1.5rem,5vw,3rem)}.records-hero .eyebrow,.records-hero p{color:var(--color-on-primary-muted)}.quick-links{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.quick-links button{background:var(--color-primary-glass);border:1px solid var(--color-primary-glass-border);border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:var(--text-sm);align-items:center;gap:var(--space-1);flex-direction:column;justify-content:center;display:flex}.insight-card{background:linear-gradient(145deg, var(--color-action), var(--color-primary-900));color:var(--color-text-inverse)}.insight-card>svg,.season-hero>svg,.handicap-hero>svg{width:48px;height:48px}.insight-card p{color:var(--color-on-primary-muted)}.analysis-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.analysis-grid .card{flex-direction:column;display:flex}.analysis-value{font-size:var(--text-3xl)}.analysis-grid dl{border-top:1px solid var(--color-border);margin:var(--space-4) 0 0;padding-top:var(--space-3)}.analysis-grid dl>div{justify-content:space-between;display:flex}.analysis-grid dd{font-weight:var(--weight-bold)}.sample-empty{color:var(--color-text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:180px;display:flex}.handicap-hero>strong{margin:var(--space-3) 0}.season-hero{background:linear-gradient(145deg, color-mix(in srgb, var(--color-accent-400) 28%, var(--color-surface)), var(--color-surface-raised))}.explain-list,.policy-list{color:var(--color-text-muted);gap:var(--space-3);padding-left:var(--space-5);display:grid}.inline-form{gap:var(--space-2);display:flex}.inline-form input{flex:1;min-width:0}.inline-form select{background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:48px;padding-inline:var(--space-3)}.field-error{color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-2)}.management-list{gap:var(--space-3);margin-top:var(--space-4);display:grid}.management-list .card{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto;display:grid}.management-list .card>div:nth-child(2){display:grid}.management-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:end;display:flex}.management-list .full-span{grid-column:1/-1}.merge-preview,.destructive-preview{background:var(--color-surface-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.merge-preview p,.destructive-preview p{margin-block-start:0}.management-list span{color:var(--color-text-muted);font-size:var(--text-sm)}.avatar{background:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.avatar--gold{background:color-mix(in srgb, var(--color-accent-400) 30%, var(--color-surface));color:var(--color-warning)}.field{gap:var(--space-2);margin-bottom:var(--space-3);display:grid}.share-card{aspect-ratio:4/5;background:radial-gradient(circle at 85% 12%, var(--color-accent-400) 0 8%, transparent 8.5%), linear-gradient(145deg, var(--color-share-start), var(--color-share-end));border:12px solid var(--color-text-inverse);box-shadow:var(--shadow-md);color:var(--color-share-ink);margin-bottom:var(--space-5);border-radius:32px;flex-direction:column;justify-content:center;padding:10%;display:flex;position:relative;overflow:hidden}.share-card__brand{position:absolute;top:7%;left:8%}.share-card__score{align-items:baseline;gap:var(--space-2);display:flex}.share-card__score strong{font-size:clamp(6rem,30vw,11rem);line-height:.9}.share-card__stamp{border:3px solid var(--color-primary-700);border-radius:var(--radius-full);color:var(--color-primary-700);font-size:.85rem;font-weight:var(--weight-bold);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex;position:absolute;bottom:7%;right:8%;transform:rotate(-4deg)}.share-card--collection h1{margin-block:var(--space-4) var(--space-2);font-size:clamp(1.6rem,7vw,2.8rem);line-height:1.25}.share-card--collection .share-card__score{margin-top:var(--space-5)}.share-card--collection .share-card__score strong{font-size:clamp(5rem,26vw,9rem)}.share-fields{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-2);margin-block:var(--space-4);padding:var(--space-3);display:grid}.share-fields legend{font-weight:var(--weight-bold);padding-inline:var(--space-2)}.share-fields label{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.share-fields input{width:22px;height:22px}.share-fields+.muted+.full-button+.full-button{margin-block-start:var(--space-2)}.settings-section{margin-bottom:var(--space-6)}.settings-row{padding:var(--space-3) 0}.settings-row+.settings-row{border-top:1px solid var(--color-border)}.settings-row--stack{gap:var(--space-3);display:grid}.settings-row--stack>div:first-child{display:grid}.settings-row span,.toggle-row small{color:var(--color-text-muted)}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-row>span{display:grid}.toggle-row input{accent-color:var(--color-primary-700);width:48px;height:28px}.menu-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.menu-button{background:var(--color-surface-raised);color:var(--color-text);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;grid-template-columns:auto 1fr auto;width:100%;display:grid}.menu-button+.menu-button{border-top:1px solid var(--color-border)}.menu-button>span{background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-primary-700);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.version{text-align:center}.data-actions{gap:var(--space-3);display:grid}.data-actions .card,.danger-zone .card{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto;display:grid}.data-actions .card>svg,.danger-zone .card>svg{color:var(--color-primary-700);width:32px;height:32px}.data-actions .card>div,.danger-zone .card>div{display:grid}.data-actions span,.danger-zone span{color:var(--color-text-muted)}.file-button{cursor:pointer}.file-button input{display:none}.danger-zone{margin-top:var(--space-8)}.danger-zone .card{border-color:color-mix(in srgb, var(--color-danger) 45%, var(--color-border))}.danger-zone .card>svg{color:var(--color-danger)}.dialog-backdrop{background:var(--color-overlay);padding:var(--space-4);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:480px;padding:var(--space-6);width:100%}.dialog>svg{color:var(--color-danger);width:40px;height:40px}.trash-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.trash-row>div{display:grid}.trash-row .management-actions{display:flex}.trash-row .full-span{flex:1 0 100%}@media (width<=760px){.page{padding-top:var(--space-4)}.hero{grid-template-columns:1fr;align-items:stretch}.hero__passport{justify-self:start}.value-grid,.conquest-reveal{grid-template-columns:1fr}.conquest-reveal .button{width:100%}.metric-grid,.analysis-grid{grid-template-columns:1fr}.metric-grid .card{grid-template-columns:1fr auto auto;display:grid}.metric__label{flex-basis:auto}.collection-teaser{grid-template-columns:1fr}.resume-card{flex-direction:column;align-items:stretch}.collection-teaser__ring{width:112px;height:112px}.course-detail-hero{align-items:flex-start}.course-detail-hero__stamp{width:80px;height:80px}.hole-form{grid-template-columns:repeat(2,1fr)}.data-actions .card,.danger-zone .card{grid-template-columns:auto 1fr;align-items:stretch}.data-actions .button,.danger-zone .button{grid-column:1/-1}}@media (width<=420px){.topbar__inner{padding:0 var(--space-3)}.page{padding-left:var(--space-3);padding-right:var(--space-3)}.record-row{grid-template-columns:auto 1fr auto}.record-row__score{display:none}.course-detail-hero{display:grid}.inline-form,.score-navigation,.dialog-actions{flex-direction:column}.province-map{padding:var(--space-2)}.province-map__name{font-size:13px}.province-map__count{font-size:10px}.collection-list-filter{flex-direction:column;align-items:flex-start}}.skip-link{z-index:1000;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-inverse);background:var(--color-primary-700);border-radius:var(--radius-md);transform:translateY(calc(-100% - var(--space-6)));position:fixed}.skip-link:focus-visible{transform:translateY(0)}body{background:linear-gradient(90deg, color-mix(in srgb, var(--color-border) 30%, transparent) 1px, transparent 1px) 0 0 / 32px 32px, var(--color-bg)}.app-frame{isolation:isolate}.topbar{background:color-mix(in srgb, var(--color-paper) 92%, transparent);border-bottom-color:color-mix(in srgb, var(--color-border-strong) 42%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--color-surface-raised) 80%, transparent)}.topbar__inner{grid-template-columns:48px minmax(0,1fr) auto}.topbar__title span{font-weight:var(--weight-bold);letter-spacing:.035em}.brand{gap:.7rem}.brand__symbol{background:var(--color-action);border:1px solid color-mix(in srgb, var(--color-primary-100) 58%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-on-action) 10%, transparent);border-radius:13px;width:46px;height:46px;padding:7px;transform:none}.brand__symbol svg,.passport-stamp svg{width:100%;height:100%;display:block;overflow:visible}.brand-symbol__page{fill:var(--color-brand-page);stroke:none}.brand-symbol__flag{fill:none;stroke:var(--color-accent-400);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.brand-symbol__ball{fill:var(--color-brand-page);stroke:var(--color-action);stroke-width:2px}.brand__wordmark{line-height:1.05;display:grid}.brand__wordmark strong{letter-spacing:-.055em;font-size:1.22rem}.brand__wordmark small{color:var(--color-text-muted);letter-spacing:.12em;margin-top:.3rem;font-size:.55rem;font-weight:750}.brand--compact .brand__symbol{border-radius:11px;width:38px;height:38px;padding:5px}.button{box-shadow:0 2px 0 color-mix(in srgb, var(--color-primary-900) 18%, transparent);border-radius:14px;min-height:56px;padding-inline:clamp(1rem,4vw,1.6rem)}.button--primary{background:var(--color-action)}.button--secondary{background:var(--color-paper);border-color:color-mix(in srgb, var(--color-primary-700) 45%, var(--color-border))}.card{background:var(--color-surface-raised);border-color:color-mix(in srgb, var(--color-border-strong) 54%, transparent);box-shadow:var(--shadow-sm)}.eyebrow{letter-spacing:.075em}.bottom-nav{background:color-mix(in srgb, var(--color-paper) 94%, transparent);border:1px solid color-mix(in srgb, var(--color-border-strong) 54%, transparent);box-shadow:0 -12px 38px color-mix(in srgb, var(--color-primary-900) 10%, transparent);border-radius:22px 22px 0 0;max-width:620px;left:50%;transform:translate(-50%)}.bottom-nav__item{margin:5px 2px;position:relative}.bottom-nav__item svg{width:1.45rem;height:1.45rem}.bottom-nav__item.is-active{background:var(--color-action);color:var(--color-on-action)}.onboarding{background:radial-gradient(circle at 75% 18%, color-mix(in srgb, var(--color-accent-400) 18%, transparent) 0 12%, transparent 12.5%), var(--color-bg);grid-template-rows:auto minmax(330px,1fr) auto auto}.onboarding__visual{overflow:visible}.onboarding__passport{background:var(--color-action);border:1px solid color-mix(in srgb, var(--color-primary-100) 32%, transparent);box-shadow:-8px 10px 0 var(--color-accent-400), var(--shadow-md);color:var(--color-on-action);height:min(68vw,350px);min-height:270px;max-height:350px;transition:transform var(--duration-slow) var(--ease-out);z-index:2;border-radius:18px 28px 28px 18px;align-content:space-between;width:min(52vw,270px);padding:2rem;display:grid;position:relative;transform:rotate(-4deg)}.onboarding__passport:before{border:1px solid color-mix(in srgb, var(--color-on-action) 30%, transparent);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:10px}.onboarding__passport>svg{justify-self:center;width:104px;height:104px}.onboarding__passport-title{letter-spacing:.16em;font-size:.72rem;font-weight:800;line-height:1.45}.onboarding__passport>small{color:var(--color-on-primary-muted);letter-spacing:.08em;text-align:center;font-weight:750}.onboarding__stamp-row{justify-content:center;gap:.45rem;display:flex}.onboarding__stamp-row span{border:2px dashed color-mix(in srgb, var(--color-on-action) 42%, transparent);color:color-mix(in srgb, var(--color-on-action) 48%, transparent);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;display:flex}.onboarding__stamp-row span.is-earned{background:var(--color-accent-400);border-color:var(--color-accent-400);color:var(--color-on-accent)}.onboarding__route{border-top:3px dashed var(--color-primary-300);width:min(78vw,480px);position:absolute;top:72%;left:50%;transform:translate(-50%)rotate(8deg)}.onboarding__route i{background:var(--color-sky-500);border:4px solid var(--color-bg);border-radius:50%;width:18px;height:18px;position:absolute;top:-10px}.onboarding__route i:nth-child(2){left:48%}.onboarding__route i:nth-child(3){right:0}.hero{background:var(--color-action);border:1px solid color-mix(in srgb, var(--color-primary-100) 25%, transparent);box-shadow:var(--shadow-md);color:var(--color-on-action);isolation:isolate;border-radius:18px 38px 38px 18px;align-items:center;padding-top:clamp(3.6rem,8vw,5rem)}.hero:before{border:1px solid color-mix(in srgb, var(--color-on-action) 18%, transparent);border-radius:inherit;content:"";pointer-events:none;z-index:-1;position:absolute;inset:12px}.hero:after{background:var(--color-accent-400);content:"";width:8px;position:absolute;top:0;bottom:0;left:0}.hero__folio{color:var(--color-on-primary-muted);letter-spacing:.14em;font-size:.72rem;font-weight:750;position:absolute;top:1.5rem;left:clamp(1.5rem,5vw,3.5rem)}.hero,.hero h1,.hero .eyebrow{color:var(--color-on-action)}.hero p{color:var(--color-on-primary-muted)}.hero__passport{background:var(--color-brand-page);box-shadow:-8px 9px 0 var(--color-accent-400), 0 20px 40px color-mix(in srgb, var(--color-primary-900) 34%, transparent);color:var(--color-brand-ink);text-align:left;border:0;border-radius:10px 20px 20px 10px;grid-template-columns:1fr auto;align-content:start;width:210px;min-height:246px;padding:1.35rem;display:grid;position:relative;transform:rotate(3deg)}.hero__passport:after{border:1px solid var(--color-border);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:8px}.hero__passport>svg{width:66px;height:66px;margin-top:1rem}.hero__passport .brand-symbol__page{fill:var(--color-primary-100)}.hero__passport .brand-symbol__ball{fill:var(--color-action)}.hero__passport-topline,.hero__passport-number{color:var(--color-on-light-muted);letter-spacing:.13em;grid-column:1/-1;font-size:.55rem;font-weight:800}.hero__passport-seal{border:3px double var(--color-accent-600);color:var(--color-accent-600);background:0 0;flex-direction:column;align-self:center;align-items:center;width:70px;height:70px;margin:1rem 0 0;display:flex;transform:rotate(-8deg)}.hero__passport-seal b{font-size:1.55rem;line-height:1}.hero__passport-seal small{color:inherit;letter-spacing:.08em;font-size:.52rem}.hero__passport>strong{color:var(--color-brand-ink);grid-column:1/-1;align-self:end;margin:.8rem 0;font-size:1.05rem;line-height:1.3}.hero__actions .button--secondary{border-color:color-mix(in srgb, var(--color-on-action) 55%, transparent);color:var(--color-on-action);background:0 0}.hero__cta{background:var(--color-accent-400);color:var(--color-on-accent)}.metric-grid{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:0;overflow:hidden}.metric-grid .card{box-shadow:none;border:0;border-radius:0;position:relative}.metric-grid .card+.card{border-left:1px dashed var(--color-border-strong)}.metric__value{color:var(--color-primary-700);font-size:clamp(2.2rem,6vw,3.25rem)}.value-grid .card:nth-child(2){background:var(--color-primary-50)}.value-grid .card:nth-child(3){background:var(--color-sky-100)}.resume-card{background:var(--color-sky-100);border-color:color-mix(in srgb, var(--color-sky-500) 55%, transparent)}.collection-teaser{background:var(--color-paper);border-radius:18px 34px 34px 18px;position:relative}.collection-teaser:before{border-left:2px dashed var(--color-border-strong);content:"";position:absolute;top:1rem;bottom:1rem;left:1rem}.collection-teaser__ring{box-shadow:inset 0 0 0 8px var(--color-paper)}.empty-state__icon{background:var(--color-paper);border:2px dashed var(--color-primary-300);box-shadow:none}.course-grid{gap:.8rem}.course-card{background:var(--color-surface-raised);border-color:color-mix(in srgb, var(--color-border-strong) 55%, transparent);box-shadow:var(--shadow-sm);border-radius:16px 28px 28px 16px;position:relative;overflow:hidden}.course-card:after{border-left:1px dashed var(--color-border-strong);content:"";position:absolute;top:0;bottom:0;right:3.3rem}.course-card__stamp{border:3px double var(--color-primary-700);color:var(--color-primary-700);background:0 0;transform:rotate(-6deg)}.course-card__stamp.is-visited{background:var(--color-accent-100);border-color:var(--color-accent-600);color:var(--color-accent-600)}.course-card__stamp:has(svg){background:var(--color-accent-100);border-color:var(--color-accent-600);color:var(--color-accent-600)}.search-field{background:var(--color-paper);border-width:2px;border-radius:18px}.segmented,.view-toggle,.filter-tabs{background:var(--color-surface);border:1px solid var(--color-border)}.segmented button.is-active,.view-toggle button.is-active,.filter-tabs button.is-active{background:var(--color-action);color:var(--color-on-action)}.score-panel{background:var(--color-paper);border:2px solid var(--color-primary-700);box-shadow:8px 9px 0 var(--color-primary-100);border-radius:18px 30px 30px 18px;padding-top:4.5rem;position:relative;overflow:hidden}.score-panel:before{border-bottom:1px dashed var(--color-border-strong);content:"";position:absolute;top:3.5rem;left:0;right:0}.score-panel__folio{color:var(--color-text-muted);letter-spacing:.09em;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 2.4rem);font-size:.68rem;font-weight:800;position:absolute;top:1.2rem;left:1.2rem;overflow:hidden}.score-stepper output{color:var(--color-action)}.score-stepper button,.mini-stepper button{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action);box-shadow:0 5px 0 color-mix(in srgb, var(--color-primary-900) 28%, transparent)}.score-stepper button:disabled,.mini-stepper button:disabled{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-muted)}.hole-progress button{border-radius:4px;min-height:12px}.hole-progress button.is-complete{background:var(--color-primary-300)}.hole-progress button.is-active{background:var(--color-accent-400);box-shadow:0 0 0 2px var(--color-accent-100)}.conquest-reveal{background:var(--color-action);border:1px solid color-mix(in srgb, var(--color-on-action) 22%, transparent);box-shadow:8px 9px 0 var(--color-accent-400);border-radius:18px 30px 30px 18px}.conquest-reveal__seal{background:var(--color-brand-page);color:var(--color-accent-600);border:0;width:98px;height:98px}.passport-stamp{color:var(--color-accent-600);border:3px double;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:88px;height:88px;display:flex;transform:rotate(-8deg)}.passport-stamp svg{width:42px;height:42px}.passport-stamp .brand-symbol__page{fill:var(--color-primary-100)}.passport-stamp small{color:currentColor;letter-spacing:.08em;font-size:.48rem;font-weight:850}.result-hero,.season-hero,.handicap-hero{background:var(--color-paper);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm);border-radius:18px 34px 34px 18px;position:relative}.result-hero:before{border:2px dashed var(--color-primary-300);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:12px}.result-hero__folio{color:var(--color-text-muted);letter-spacing:.08em;margin-top:.4rem;font-size:.68rem;font-weight:750}.result-hero>.score{color:var(--color-action);text-shadow:3px 3px 0 var(--color-primary-100)}.stamp-badge{background:var(--color-accent-100);border-color:var(--color-accent-600);color:var(--color-accent-600);transform:rotate(-2deg)}.collection-header{background:var(--color-action);border:1px solid color-mix(in srgb, var(--color-on-action) 22%, transparent);box-shadow:var(--shadow-md);color:var(--color-on-action);border-radius:18px 38px 38px 18px;padding-top:clamp(4rem,8vw,5.5rem);position:relative}.collection-header:before{border:1px solid color-mix(in srgb, var(--color-on-action) 20%, transparent);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:12px}.collection-header__serial{color:var(--color-on-primary-muted);letter-spacing:.12em;font-size:.68rem;font-weight:750;position:absolute;top:1.5rem;left:clamp(1.5rem,5vw,3rem)}.collection-header .eyebrow,.collection-header p,.collection-header__goal{color:var(--color-on-primary-muted)}.collection-header__stats span{background:color-mix(in srgb, var(--color-on-action) 8%, transparent);border-color:color-mix(in srgb, var(--color-on-action) 24%, transparent)}.collection-header__stats strong,.collection-header__stats small{color:var(--color-on-action)}.collection-header .button--secondary{background:var(--color-accent-400);border-color:var(--color-accent-400);color:var(--color-on-accent)}.progress-track{background:color-mix(in srgb, var(--color-on-action) 18%, transparent);height:16px}.progress-track span{background:var(--color-accent-400)}.province-map{background:linear-gradient(90deg, color-mix(in srgb, var(--color-border) 42%, transparent) 1px, transparent 1px) 0 0 / 24px 24px, var(--color-paper);box-shadow:var(--shadow-md);border-radius:18px 34px 34px 18px}.province-map__coast{fill:var(--color-surface);stroke:var(--color-border-strong)}.province-map__region.is-available path{fill:var(--color-paper);stroke:var(--color-primary-500)}.province-map__region.is-visited path{fill:var(--color-accent-400);stroke:var(--color-accent-600)}.province-map__region.is-visited .province-map__name,.province-map__region.is-visited .province-map__count,.province-map__check{fill:var(--color-on-accent)}.course-detail-hero{background:var(--color-paper);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:18px 30px 30px 18px;padding:1.25rem}.course-detail-hero__stamp{background:var(--color-accent-100);border:4px double var(--color-accent-600);color:var(--color-accent-600);flex-direction:column;transform:rotate(-7deg)}.course-detail-hero__stamp b{font-size:1.55rem;line-height:1}.course-detail-hero__stamp small{letter-spacing:.08em;font-size:.48rem}.records-hero{background:var(--color-action);box-shadow:var(--shadow-md);border-radius:18px 34px 34px 18px}.record-row{background:var(--color-paper);box-shadow:var(--shadow-sm);border-radius:14px 24px 24px 14px}.record-row__date{background:var(--color-accent-100);border-color:var(--color-accent-600);color:var(--color-accent-600)}.share-card{background:var(--color-paper);border:10px solid var(--color-action);box-shadow:10px 12px 0 var(--color-accent-400), var(--shadow-md);color:var(--color-paper-ink);border-radius:18px 38px 38px 18px;position:relative;overflow:hidden}.share-card:before{border:2px dashed var(--color-primary-300);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:14px}.share-card .brand__wordmark small,.share-card p,.share-card small{color:var(--color-on-light-muted)}.share-card__stamp{border-color:var(--color-accent-600);color:var(--color-accent-600)}.settings-section{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem}.menu-list{border-radius:14px;overflow:hidden}@keyframes stamp-press{0%{opacity:0;transform:translateY(-28px)rotate(-13deg)scale(1.3)}58%{opacity:1;transform:translateY(3px)rotate(-8deg)scale(.94)}to{opacity:1;transform:translateY(0)rotate(-8deg)scale(1)}}@keyframes passport-enter{0%{opacity:0;transform:translateY(18px)rotate(1deg)}to{opacity:1;transform:translateY(0)rotate(-4deg)}}.passport-stamp{animation:stamp-press .52s var(--ease-out) both}.onboarding__passport{animation:passport-enter .46s var(--ease-out) both}@media (width<=760px){.hero{padding-top:4.5rem}.hero__passport{justify-self:center;width:min(72vw,250px)}.metric-grid{grid-template-columns:repeat(3,1fr);display:grid}.metric-grid .card{text-align:center;grid-template-columns:1fr;min-width:0;padding:1rem .75rem;display:grid}.metric-grid .card+.card{border-left:1px dashed var(--color-border-strong)}.metric__label,.metric__suffix{font-size:.78rem}.metric__value{font-size:clamp(1.8rem,10vw,2.7rem)}.metric-grid--two{grid-template-columns:repeat(2,1fr)}.conquest-reveal{grid-template-columns:auto 1fr}.conquest-reveal .button{grid-column:1/-1}}@media (width<=420px){.brand__wordmark small{display:none}.hero__actions{display:grid}.hero__actions .button{width:100%}.score-panel{padding-inline:1rem}.score-stepper{gap:.7rem}.conquest-reveal{grid-template-columns:1fr}.conquest-reveal__seal{justify-self:center}}@media (prefers-reduced-motion:reduce){.passport-stamp,.onboarding__passport{animation:none}}.pagolog-turnstile-gate{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);bottom:calc(var(--tabbar-h) + var(--space-4));box-shadow:var(--shadow-md);max-width:calc(100vw - var(--space-6));padding:var(--space-2);z-index:80;width:320px;position:fixed;left:50%;transform:translate(-50%)}.pagolog-update{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);bottom:calc(var(--tabbar-h) + var(--space-4));box-shadow:var(--shadow-md);align-items:center;gap:var(--space-3);max-width:calc(100vw - var(--space-6));padding:var(--space-3);z-index:80;justify-content:space-between;width:420px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.pagolog-update button{background:var(--color-action);border-radius:var(--radius-sm);color:var(--color-on-action);min-height:44px;padding-inline:var(--space-3)}
