.mcc-chart{width:100%;min-width:0;font-family:var(--font-sans,system-ui, sans-serif);position:relative}.mcc-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:16px;margin-bottom:4px;display:flex}.mcc-axis-caption{color:var(--color-text-muted,#6b7280);font-size:12px}.mcc-legend{color:var(--color-text-secondary,#4b5563);flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.mcc-legend-item{align-items:center;gap:4px;display:inline-flex}.mcc-legend-swatch{flex:none}.mcc-plot{touch-action:pan-y;border-radius:6px;outline:none;width:100%;position:relative}.mcc-plot:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px #ea580c)}.mcc-svg{width:100%;display:block;overflow:visible}.mcc-tick{font-variant-numeric:tabular-nums;font-size:12px}.mcc-tick-strong{font-weight:700}.mcc-label{paint-order:stroke;stroke:var(--chart-surface,var(--color-surface,#fff));stroke-width:3px;stroke-linejoin:round;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.mcc-hit{outline:none}.mcc-tooltip{z-index:2;background:var(--color-surface,#fff);max-width:240px;box-shadow:var(--shadow-2,0 4px 12px #1118271f);color:var(--color-text-secondary,#4b5563);white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:6px;padding:6px 8px;font-size:12px;line-height:1.4;position:absolute;top:0}.mcc-tooltip-strong{color:var(--color-text,#1a1d23);font-weight:600}.mcc-note{color:var(--color-text-secondary,#4b5563);text-align:center;margin:4px 0 0;font-size:12px}.mcc-empty{justify-content:center;align-items:center;min-height:96px;display:flex}.mcc-empty-text{color:var(--color-text-secondary,#4b5563);text-align:center;margin:0;font-size:14px}.mcc-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mcc-ring{flex:none;display:block}.mcc-ring-value{font-variant-numeric:tabular-nums;font-weight:700}.mcc-bar{border-radius:999px;width:100%;position:relative;overflow:hidden}.mcc-bar-fill{border-radius:999px;height:100%}.mcc-spark{display:block}.mcc-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.mcc-stat-label{color:var(--color-text-secondary,#4b5563);font-size:12px}.mcc-stat-value{color:var(--color-text,#1a1d23);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:28px;font-weight:700;line-height:1.2}.mcc-stat-delta,.mcc-stat-sub{color:var(--color-text-secondary,#4b5563);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mcc-stat-sub{color:var(--color-text-muted,#6b7280)}.mcc-stat-extra{margin-top:4px}.mcc-stat-empty{color:var(--color-text-muted,#6b7280);padding-top:4px;font-size:13px;line-height:1.4}.mcc-card{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,10px);background:var(--color-surface,#fff);min-width:0;padding:16px}.mcc-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mcc-card-title{color:var(--color-text,#1a1d23);margin:0;padding-top:10px;font-size:17px;font-weight:600;line-height:1.4}.mcc-card-sub{color:var(--color-text-muted,#6b7280);margin:2px 0 8px;font-size:12px}.mcc-card-body{min-width:0}.mcc-card-foot{justify-content:flex-end;display:flex}.mcc-icon-btn,.mcc-text-btn{border-radius:var(--radius-sm,6px);min-width:44px;min-height:44px;color:var(--color-text-secondary,#4b5563);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:14px}.mcc-icon-btn{flex:none;font-size:18px}.mcc-text-btn{text-underline-offset:3px;font-weight:600;text-decoration:underline}.mcc-icon-btn:focus-visible,.mcc-text-btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px #ea580c);outline:none}.mcc-table-wrap{margin-top:8px;overflow-x:auto}.mcc-table{border-collapse:collapse;width:100%;color:var(--color-text,#1a1d23);font-size:14px}.mcc-table-caption{color:var(--color-text-muted,#6b7280);text-align:left;padding-bottom:4px;font-size:12px}.mcc-table th,.mcc-table td{border-bottom:1px solid var(--color-border,#e5e7eb);text-align:left;padding:6px 8px;font-weight:400}.mcc-table thead th{color:var(--color-text-secondary,#4b5563);font-size:12px;font-weight:600}.mcc-table .mcc-num{text-align:right;font-variant-numeric:tabular-nums}.mcc-table-empty{color:var(--color-text-muted,#6b7280);text-align:center}@media (prefers-reduced-motion:reduce){.mcc-chart *,.mcc-card *{transition:none!important;animation:none!important}}:root{--color-brand-50:#fff7ed;--color-brand-100:#ffedd5;--color-brand-500:#ea580c;--color-brand-600:#c2410c;--color-brand-700:#9a3412;--color-bg:#f7f7f5;--color-surface:#fff;--color-surface-sunken:#f1f3f5;--color-border:#e5e7eb;--color-border-strong:#8a9099;--color-text:#1a1d23;--color-text-secondary:#4b5563;--color-text-muted:#6b7280;--color-text-disabled:#9ca3af;--color-text-on-brand:#fff;--color-ok-text:#1f7a35;--color-ok-bg:#ebfbee;--color-ok-border:#2f9e44;--color-warn-text:#a15c00;--color-warn-bg:#fff9db;--color-warn-border:#f59f00;--color-danger-text:#c92a2a;--color-danger-bg:#fff5f5;--color-danger-border:#e03131;--color-info-text:#1864ab;--color-info-bg:#e7f5ff;--color-info-border:#339af0;--run-easy-stripe:#2f9e44;--run-easy-tint:#ebfbee;--run-easy-ink:#1f7a35;--run-recovery-stripe:#15aabf;--run-recovery-tint:#e3fafc;--run-recovery-ink:#0c7489;--run-tempo-stripe:#7950f2;--run-tempo-tint:#f3f0ff;--run-tempo-ink:#6741d9;--run-interval-stripe:#d6336c;--run-interval-tint:#fff0f6;--run-interval-ink:#c2255c;--run-long-stripe:#1c7ed6;--run-long-tint:#e7f5ff;--run-long-ink:#1864ab;--run-race-stripe:#ea580c;--run-race-tint:#fff7ed;--run-race-ink:#9a3412;--run-rest-stripe:#adb5bd;--run-rest-tint:#f1f3f5;--run-rest-ink:#495057;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "맑은 고딕", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-1:0 1px 2px #1118270f, 0 1px 3px #11182714;--shadow-2:0 4px 12px #1118271f;--focus-ring:0 0 0 3px #fff, 0 0 0 5px #ea580c;--touch-min:44px;--input-h:48px;--btn-h-lg:56px;--duration-fast:.15s;--duration-base:.2s;--z-sticky:10;--z-toast:20;--z-dialog:30;--page-pad:var(--space-4);--text-hero:36px;--text-stat:28px;--header-h:48px;--tabbar-h:64px;--sheet-radius:16px;--row-h:56px;--z-tabbar:15;--z-sheet:25;--chart-primary:#ea580c;--chart-actual:#ea580c;--chart-muted:#8a9099;--chart-plan:#8a9099;--chart-muted-series:#6b7280;--chart-grid:#e5e7eb;--chart-axis:#c3c7cd;--chart-label:var(--color-text-secondary);--chart-tick:var(--color-text-muted);--chart-surface:#fff;--surface-1:#fff;--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary)}@media (width>=768px){:root{--page-pad:var(--space-6)}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:24px}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{box-shadow:var(--focus-ring);outline:none}[tabindex="-1"]:focus{box-shadow:none;outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.display,.display-title{letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:40px}.h1{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:32px}.h2{font-size:20px;font-weight:700;line-height:28px}.h3{font-size:17px;font-weight:600;line-height:24px}.body{font-size:16px;line-height:24px}.small{font-size:14px;line-height:20px}.caption{font-size:12px;font-weight:500;line-height:16px}.strong{font-weight:600}.secondary{color:var(--color-text-secondary)}.muted{color:var(--color-text-muted)}.ok-text,.text-ok{color:var(--color-ok-text)}.text-warn{color:var(--color-warn-text)}.text-danger{color:var(--color-danger-text)}.text-muted{color:var(--color-text-muted)}.num{font-variant-numeric:tabular-nums}.pre-wrap{white-space:pre-wrap}@media (width>=768px){.display,.display-title{font-size:40px;line-height:48px}.h1{font-size:28px;line-height:36px}}.bullet-list{gap:2px;padding-left:1.2em;display:grid}.app-shell{min-height:100vh}.topbar{z-index:var(--z-sticky);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.topbar-inner{max-width:720px;height:56px;padding:0 var(--space-2);grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;display:grid}.topbar-title{white-space:nowrap;font-size:16px;font-weight:700}.topbar-side{align-items:center;min-width:0;display:flex}.topbar-right{justify-content:flex-end}.topbar-back{min-height:var(--touch-min);padding:0 var(--space-2);border-radius:var(--radius-md);white-space:nowrap;background:0 0;border:0;align-items:center;gap:2px;font-size:15px;display:inline-flex}.icon-btn{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-full);background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover,.topbar-back:hover{background:var(--color-surface-sunken)}.storage-banner{max-width:720px;padding:var(--space-2) var(--page-pad) 0;margin:0 auto}.stepper{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.stepper ol{max-width:720px;padding:var(--space-2) var(--page-pad);justify-content:space-between;gap:var(--space-2);margin:0 auto;list-style:none;display:flex}.step{align-items:center;gap:var(--space-2);color:var(--color-text-muted);flex:1;font-size:14px;display:flex}.step:not(:last-child):after{content:"";background:var(--color-border);border-radius:2px;flex:1;height:2px}.step-done:not(:last-child):after,.step-current:not(:last-child):after{background:linear-gradient(90deg, var(--color-brand-500) 50%, var(--color-border) 50%)}.step-done:not(:last-child):after{background:var(--color-brand-500)}.step-dot{border-radius:var(--radius-full);border:2px solid var(--color-border-strong);background:var(--color-surface);flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-grid}.step-current{color:var(--color-text);font-weight:700}.step-current .step-dot{border-color:var(--color-brand-500);background:var(--color-brand-500);color:#fff}.step-done .step-dot{border-color:var(--color-brand-500);color:var(--color-brand-600)}.step-label{white-space:nowrap}.screen{max-width:720px;padding:var(--space-6) var(--page-pad) var(--space-12);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1);gap:var(--space-2);flex-direction:column;display:flex}@media (width>=768px){.card{padding:var(--space-6)}}.divider{background:var(--color-border);height:1px;margin:var(--space-2) 0}.badge{height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;vertical-align:middle;border:1px solid #0000;align-items:center;gap:2px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.badge-sm{height:20px;padding:0 6px}.badge-ok{background:var(--color-ok-bg);color:var(--color-ok-text);border-color:var(--color-ok-border)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn-text);border-color:var(--color-warn-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text-secondary);border-color:var(--color-border-strong)}.badge-brand{background:var(--color-brand-50);color:var(--color-brand-700);border-color:var(--color-brand-500)}.badge-recovery{background:var(--run-recovery-tint);color:var(--run-recovery-ink);border-color:var(--run-recovery-stripe)}.badge-long{background:var(--run-long-tint);color:var(--run-long-ink);border-color:var(--run-long-stripe)}.badge-race{background:var(--run-race-tint);color:var(--run-race-ink);border-color:var(--run-race-stripe)}.banner{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border-left:4px solid;font-size:14px;line-height:20px;display:flex}.banner-icon{flex:none;padding-top:1px;display:inline-flex}.banner-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.banner-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.banner-warning{background:var(--color-warn-bg);border-color:var(--color-warn-border);color:var(--color-warn-text)}.banner-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.banner .banner-body{color:var(--color-text)}.banner .banner-icon{color:inherit}.inline-note{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-info-bg);font-size:14px;line-height:20px;display:flex}.inline-note svg{color:var(--color-info-text);flex:none;margin-top:2px}.btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--input-h);padding:0 var(--space-4);border-radius:var(--radius-md);transition:background var(--duration-fast);border:1px solid #0000;width:100%;font-size:16px;font-weight:600;display:inline-flex}.btn-lg{min-height:var(--btn-h-lg)}.btn-primary{background:var(--color-brand-600);color:var(--color-text-on-brand)}.btn-primary:active{background:var(--color-brand-700)}.btn-primary.is-disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:active{background:var(--color-surface-sunken)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger-border);color:var(--color-danger-text)}.btn-danger-fill{background:var(--color-danger-border);color:#fff;background:#c92a2a}.btn-inline{flex:none;width:auto}.link-btn{min-height:var(--touch-min);color:var(--color-brand-600);text-align:left;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.link-like{color:var(--color-brand-600);text-decoration:underline}.help-btn{width:var(--touch-min);height:var(--touch-min);color:var(--color-text-muted);border-radius:var(--radius-full);vertical-align:middle;background:0 0;border:0;place-items:center;margin:-12px -8px -12px -4px;display:inline-grid}.help-text{margin-top:var(--space-1);padding:var(--space-2);background:var(--color-surface-sunken);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:14px;font-weight:400;line-height:20px;display:block}.bottombar-spacer{height:calc(var(--btn-h-lg) + 56px + env(safe-area-inset-bottom))}.bottombar{z-index:var(--z-sticky);background:var(--color-surface);box-shadow:var(--shadow-2);padding:var(--space-3) var(--page-pad) calc(var(--space-3) + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.bottombar-inner{gap:var(--space-2);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.bottombar-reason{color:var(--color-text-secondary);text-align:center;font-size:14px;line-height:20px}.bottombar-buttons{gap:var(--space-2);display:flex}.btn-third{flex:1}.btn-two-thirds{flex:2}@media (width>=600px){.bottombar-spacer{display:none}.bottombar{box-shadow:none;padding-top:0;padding-bottom:var(--space-12);background:0 0;position:static}}.start-screen .lead{color:var(--color-text-secondary)}.path-choices{gap:var(--space-3);flex-direction:column;scroll-margin-top:72px;display:flex}.path-card{align-items:center;gap:var(--space-3);min-height:88px;padding:var(--space-4);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-brand-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:flex}.path-card:hover{background:var(--color-brand-50)}.path-text{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.path-title{font-size:17px;font-weight:600;line-height:24px}.path-desc{color:var(--color-text-secondary);font-size:14px;line-height:20px}.resume-card{background:var(--color-brand-50);border-color:var(--color-brand-600)}.resume-buttons{gap:var(--space-2);margin-top:var(--space-1);grid-template-columns:2fr 1fr;display:grid}.section-title{margin-top:var(--space-4)}.stack-cards{gap:var(--space-3);flex-direction:column;display:flex}.dist-card{gap:var(--space-3)}.dist-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.filled-mark{color:var(--color-ok-text);align-items:center;gap:2px;font-size:12px;font-weight:600;display:inline-flex}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label,.choice-legend{font-size:14px;font-weight:600;line-height:20px}.input{width:100%;min-height:var(--input-h);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:16px}.input:focus,.input:focus-visible{border:2px solid var(--color-brand-600);padding:0 calc(var(--space-3) - 1px);box-shadow:var(--focus-ring);outline:none}.input.is-invalid{border:2px solid var(--color-danger-border);padding:0 calc(var(--space-3) - 1px)}.input:disabled{background:var(--color-surface-sunken)}.input-num{font-variant-numeric:tabular-nums}input[type=date].input{appearance:none;min-width:0;line-height:calc(var(--input-h) - 2px)}.select{appearance:auto}.select-short{flex:none;width:96px}.input-with-unit{align-items:center;gap:var(--space-2);display:flex}.input-with-unit .input{max-width:160px}.input-unit{color:var(--color-text-secondary);font-size:14px}.inline-row{align-items:center;gap:var(--space-3);display:flex}.inline-row .input[type=date]{flex:1}.field-error{align-items:flex-start;gap:var(--space-1);color:var(--color-danger-text);font-size:14px;line-height:20px;display:flex}.field-error svg{flex:none;margin-top:2px}.legend-error{color:var(--color-danger-text);font-weight:600}.choice-group{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;scroll-margin-top:80px;display:flex}.choice-group>legend{margin-bottom:var(--space-2);padding:0}.form-screen .choice-group>legend.choice-legend{font-size:17px;line-height:24px}.choices{gap:var(--space-2);flex-direction:column;display:flex}.choices-row{flex-direction:row}.choices-row>*{flex:1}.choices-grid3{grid-template-columns:repeat(3,1fr);display:grid}.choices-grid4{grid-template-columns:repeat(4,1fr);display:grid}.choice{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--input-h);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;transition:background var(--duration-fast);font-size:16px;display:flex}.choices-grid3 .choice,.choices-grid4 .choice{text-align:center;padding:var(--space-2) var(--space-1);min-height:var(--touch-min);justify-content:center}.choices-grid3 .choice-check,.choices-grid4 .choice-check{display:none}.choice.is-selected{background:var(--color-brand-50);border:2px solid var(--color-brand-600);padding:calc(var(--space-2) - 1px) calc(var(--space-3) - 1px);font-weight:600}.choices-grid3 .choice.is-selected,.choices-grid4 .choice.is-selected{padding:calc(var(--space-2) - 1px) calc(var(--space-1) - 1px)}.choice-check{color:var(--color-brand-600);display:inline-flex}.segmented{background:var(--color-surface-sunken);border-radius:var(--radius-md);gap:3px;padding:3px;display:flex}.segmented-item{border-radius:calc(var(--radius-md) - 2px);min-height:44px;color:var(--color-text-secondary);padding:0 var(--space-1);background:0 0;border:0;flex:1;font-size:14px;font-weight:500}.segmented-item.is-selected{background:var(--color-surface);box-shadow:var(--shadow-1);color:var(--color-text);font-weight:700}.weekday-chips{justify-content:space-between;gap:4px;display:flex}.weekday-chip{border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);flex:none;place-items:center;width:44px;min-width:44px;height:44px;padding:0;font-weight:600;display:grid}.weekday-chip.is-selected{background:var(--color-brand-600);border-color:var(--color-brand-600);color:#fff}.disclosure{border-top:1px solid var(--color-border)}.disclosure:first-child{border-top:0}.disclosure-head{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:48px;padding:var(--space-2) 0;text-align:left;background:0 0;border:0;display:flex}.disclosure-summary{flex:1;min-width:0}.disclosure-body{padding:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.heart-disclosure{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.heart-disclosure .disclosure-head{min-height:56px}#heart-section{gap:var(--space-5);flex-direction:column;scroll-margin-top:80px;display:flex}.basis-disclosure{border-top:1px solid var(--color-border);margin-top:var(--space-1)}.toast-region{left:0;right:0;bottom:calc(var(--btn-h-lg) + 40px + env(safe-area-inset-bottom));pointer-events:none;z-index:var(--z-toast);justify-content:center;display:flex;position:fixed}.toast{color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:toast-in var(--duration-base) ease-out;background:#111111e6;font-size:14px;line-height:20px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.dialog-backdrop{z-index:var(--z-dialog);padding:var(--space-4);background:#0006;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);width:min(343px,90vw);box-shadow:var(--shadow-2);padding:var(--space-6) var(--space-4) var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.dialog-title{font-size:17px;font-weight:600;line-height:24px}.dialog-body{color:var(--color-text-secondary);font-size:14px;line-height:20px}.dialog-buttons{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.result-screen{padding-top:var(--space-4);gap:var(--space-4)}.result-title{font-size:20px;line-height:28px}.print-header{display:none}.summary-grid{gap:var(--space-4);align-items:start;display:grid}@media (width>=1024px){.summary-grid{grid-template-columns:1fr 1fr}}.summary-card{gap:var(--space-1)}.summary-level{margin:var(--space-1) 0}.vdot-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.feas-card{border-left-width:6px}.feas-ok{border-left-color:var(--color-ok-border)}.feas-warn{border-left-color:var(--color-warn-border)}.feas-danger{border-left-color:var(--color-danger-border)}.feas-level{align-items:center;gap:var(--space-2);display:flex}.check-list{flex-direction:column;padding:0;list-style:none;display:flex}.check-item{min-height:44px;padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.check-item:first-child{border-top:0}.check-line{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;font-size:14px;line-height:20px;display:flex}.check-kind{width:48px;font-weight:600}.check-level{align-items:center;gap:var(--space-1);min-width:72px;font-weight:600;display:inline-flex}.check-ev{color:var(--color-text-secondary);margin-left:auto}.check-reason{margin-top:2px;padding-left:60px}.alt-block{gap:var(--space-1);padding:var(--space-2) 0;flex-direction:column;display:flex}.section{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.section-head{align-items:center;gap:var(--space-2);display:flex}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px;line-height:20px}.table th,.table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-top:1px solid var(--color-border)}.table thead th{background:var(--color-surface-sunken);color:var(--color-text-secondary);white-space:nowrap;border-top:0;font-size:12px;font-weight:600;line-height:16px}.table tbody th{font-weight:600}.num-col{white-space:nowrap;text-align:right!important}.pred-table th:first-child{width:30%}.pred-table .dist-name{margin-right:var(--space-1)}.pred-table .note-col{color:var(--color-text-secondary)}.table tr.is-target{background:var(--color-brand-50)}.table tr.is-target>th:first-child{box-shadow:inset 3px 0 0 var(--color-brand-500)}@media (width<=400px){.table th,.table td{padding:var(--space-2)}}.zone-name{align-items:center;gap:var(--space-2);display:inline-flex}.zone-cards{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.zone-card{padding:var(--space-3) var(--space-4);border-left:4px solid var(--stripe);border-top:1px solid var(--color-border);flex-direction:column;gap:2px;display:flex}.zone-card:first-child{border-top:0}.zone-card .zone-name{font-size:17px;font-weight:600}.zone-card .zone-name svg{color:var(--ink)}.zone-pace{font-size:18px;font-weight:600}.zone-card.fam-race{background:var(--run-race-tint)}.zone-table-wrap{display:none}@media (width>=600px){.zone-cards{display:none}.zone-table-wrap{display:block}}.fam-row th .zone-name svg{color:var(--ink)}.fam-row.fam-race{background:var(--run-race-tint)}.fam-easy{--stripe:var(--run-easy-stripe);--tint:var(--run-easy-tint);--ink:var(--run-easy-ink)}.fam-recovery{--stripe:var(--run-recovery-stripe);--tint:var(--run-recovery-tint);--ink:var(--run-recovery-ink)}.fam-tempo{--stripe:var(--run-tempo-stripe);--tint:var(--run-tempo-tint);--ink:var(--run-tempo-ink)}.fam-interval{--stripe:var(--run-interval-stripe);--tint:var(--run-interval-tint);--ink:var(--run-interval-ink)}.fam-long{--stripe:var(--run-long-stripe);--tint:var(--run-long-tint);--ink:var(--run-long-ink)}.fam-race{--stripe:var(--run-race-stripe);--tint:var(--run-race-tint);--ink:var(--run-race-ink)}.fam-rest{--stripe:var(--run-rest-stripe);--tint:var(--run-rest-tint);--ink:var(--run-rest-ink)}.phase-bar{border-radius:var(--radius-md);gap:2px;height:32px;display:flex;overflow:hidden}.phase-seg{white-space:nowrap;justify-content:center;align-items:center;gap:2px;min-width:0;padding:0 4px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.phase-seg-label{text-overflow:clip;overflow:hidden}.shade-1{color:#1a1d23;background:#e9ecef}.shade-2{color:#1a1d23;background:#ced4da}.shade-3{color:#1a1d23;background:#adb5bd}.shade-4{color:#fff;background:#868e96}.phase-seg.is-current{box-shadow:inset 0 0 0 2px var(--color-brand-500)}.phase-marker-track{height:18px;position:relative}.phase-marker{color:var(--color-brand-700);white-space:nowrap;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%)}.phase-marker:first-letter{color:var(--color-brand-500)}.plan-section .rule-card{background:var(--color-surface-sunken);box-shadow:none}.week-list{gap:var(--space-3);flex-direction:column;display:flex}.week-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.week-card.is-current{background:var(--color-brand-50);border-left:4px solid var(--color-brand-500)}.week-head{align-items:center;gap:var(--space-2);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);text-align:left;background:0 0;border:0;display:flex}.week-head-main{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.week-title{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.week-sub{justify-content:space-between;gap:var(--space-2);display:flex}.progress-bar{border-radius:var(--radius-full);background:var(--color-brand-100);height:8px;display:block;overflow:hidden}.progress-fill{background:var(--color-brand-500);height:100%;transition:width var(--duration-base);display:block}.why-disclosure{padding:0 var(--space-4);border-top:0}.why-disclosure .disclosure-head{min-height:44px;padding:0}.week-banner{margin:0 var(--space-4) var(--space-3)}.week-body{border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-3) var(--space-3);gap:var(--space-2);background:var(--color-surface);flex-direction:column;display:flex}.week-notes{padding:0 var(--space-1) 0 1.4em}.day-list{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.session-date{width:48px;color:var(--color-text-secondary);flex-direction:column;flex:none;align-items:flex-start;gap:2px;font-size:13px;line-height:18px;display:flex}.rest-row{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--run-rest-ink);display:flex}.rest-row .session-date{gap:var(--space-1);flex-direction:row;align-items:center;width:auto;min-width:64px}.session-icon{border-radius:var(--radius-full);background:var(--tint,var(--run-rest-tint));width:32px;height:32px;color:var(--ink,var(--run-rest-ink));flex:none;place-items:center;display:grid}.rest-row .session-icon{--tint:#fff;--ink:var(--run-rest-ink);width:28px;height:28px}.session-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.session-row{align-items:center;gap:var(--space-2);width:100%;min-height:64px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-2);text-align:left;background:0 0;border:0;display:flex;position:relative}.session-item.is-open .session-row{background:var(--tint)}.session-stripe{background:var(--stripe);border-radius:2px;flex:none;align-self:stretch;width:4px}.session-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-name-line{justify-content:space-between;gap:var(--space-2);display:flex}.session-name{font-weight:600}.session-total{white-space:nowrap;color:var(--color-text-secondary);font-size:14px;font-weight:600}.session-summary{color:var(--color-text-secondary);font-size:14px;line-height:20px}.session-status{align-items:center;gap:2px;font-size:12px;font-weight:600;display:inline-flex}.session-item.fam-race{border-color:var(--run-race-stripe);background:var(--run-race-tint)}.session-detail-wrap{border-top:1px solid var(--color-border)}.session-detail{padding:var(--space-3) var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.race-head{color:var(--run-race-ink)}.detail-block{flex-direction:column;gap:2px;display:flex}.steps{flex-direction:column;padding:0;list-style:none;display:flex}.step-item{gap:var(--space-3);padding-bottom:var(--space-3);display:flex;position:relative}.step-item:not(:last-child):before{content:"";background:var(--color-border);width:2px;position:absolute;top:26px;bottom:2px;left:11px}.step-num{border-radius:var(--radius-full);background:var(--color-surface-sunken);border:1px solid var(--color-border-strong);flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.step-content{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.step-head{font-size:15px;line-height:22px}.block{gap:var(--space-2);flex-direction:column;display:flex}.block-line{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:14px;line-height:20px;display:flex}.chip{min-height:24px;padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.chip-easy{background:var(--run-easy-tint);color:var(--run-easy-ink);border-color:var(--run-easy-stripe)}.chip-recovery{background:var(--run-recovery-tint);color:var(--run-recovery-ink);border-color:var(--run-recovery-stripe)}.chip-tempo{background:var(--run-tempo-tint);color:var(--run-tempo-ink);border-color:var(--run-tempo-stripe)}.chip-interval{background:var(--run-interval-tint);color:var(--run-interval-ink);border-color:var(--run-interval-stripe)}.chip-long{background:var(--run-long-tint);color:var(--run-long-ink);border-color:var(--run-long-stripe)}.chip-race{background:var(--run-race-tint);color:var(--run-race-ink);border-color:var(--run-race-stripe)}.chip-rest{background:var(--run-rest-tint);color:var(--run-rest-ink)}.recovery-box{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed var(--run-recovery-stripe);background:var(--run-recovery-tint);border-radius:var(--radius-md);font-size:14px;line-height:20px;display:flex}.recovery-box svg{color:var(--run-recovery-ink);flex:none;margin-top:2px}.timeline{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.timeline-pair{gap:var(--space-1);display:inline-flex}.timeline-more{color:var(--color-text-secondary);font-size:14px;font-weight:600}.intensity-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.intensity-grid>div{background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.intensity-grid dt{color:var(--color-text-muted);font-size:12px;font-weight:500}.intensity-grid dd{font-size:15px;font-weight:600}.cant-disclosure{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.cant-cards{gap:var(--space-2);flex-direction:column;display:flex}.mini-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface);flex-direction:column;gap:2px;display:flex}.mark-buttons{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.mark-btn{background:var(--color-surface);border-color:var(--color-border-strong)}.mark-btn.is-done{background:var(--color-ok-text);border-color:var(--color-ok-text);color:#fff}.mark-btn.is-skipped{background:var(--color-surface-sunken);border-color:var(--color-text-secondary);color:var(--color-text)}.cont-card{padding-top:var(--space-1);padding-bottom:var(--space-1);gap:0}.cont-card .disclosure-head{min-height:56px}.gap-sub{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.result-actions{gap:var(--space-2);margin-top:var(--space-8);flex-direction:column;display:flex}.disclaimer{margin-top:var(--space-8);text-align:center}.error-card{gap:var(--space-3)}.error-buttons{gap:var(--space-2);display:grid}.error-card details summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.icon{flex:none}@media print{@page{size:A4 portrait;margin:15mm 12mm}:root{--shadow-1:none;--shadow-2:none}html,body{color:#000;font-size:10.5pt;line-height:1.4;background:#fff!important}*{box-shadow:none!important;color:#000!important;background:0 0!important}.no-print,.topbar,.stepper,.bottombar,.bottombar-spacer,.toast-region,.dialog-backdrop,.help-btn,.chevron,.storage-banner{display:none!important}.secondary,.muted,.caption{color:#333!important}.screen{gap:8pt;max-width:none;padding:0}.print-header{border-bottom:.5pt solid #000;margin-bottom:4pt;padding-bottom:4pt;font-size:11pt;font-weight:600;display:block}.result-title,.h1,.display{font-size:16pt;line-height:1.3}.h2{break-after:avoid;font-size:13pt;line-height:1.3}.h3{font-size:11pt;line-height:1.3}.small,.body{font-size:10pt;line-height:1.4}.caption{font-size:9pt}.card,.week-card,.table-wrap,.zone-cards,.session-item{break-inside:avoid;border:1px solid #000;border-radius:4pt}.card{padding:8pt}.summary-grid{grid-template-columns:1fr 1fr}.badge,.chip{border:1px solid #000!important}.table{font-size:10pt}.table thead th{border-bottom:1px solid #000}.table th,.table td{border-top:.5pt solid #999}.zone-cards{display:none!important}.zone-table-wrap{display:block!important}.section{break-inside:avoid;margin-top:6pt}.plan-section{break-before:page;break-inside:auto}.contingency-section{break-inside:auto}.week-card{break-inside:avoid;border-left-width:1px}.week-head{min-height:0;padding:4pt 6pt}.week-body{border-top:.5pt solid #000;padding:4pt 6pt}.progress-bar,.phase-marker-track,.phase-bar{display:none}.phase-legend{font-size:10pt}.rest-row{min-height:0;padding:1pt 4pt}.session-icon svg,.zone-name svg,.icon{color:#000!important}.session-item{border-radius:0;grid-template-columns:30% 70%;display:grid}.session-row{flex-wrap:wrap;align-items:flex-start;min-height:0;padding:3pt 4pt}.session-row .session-icon{width:16pt;height:16pt}.session-stripe,.session-summary{display:none}.session-detail-wrap{border-top:0;border-left:.5pt solid #999}.session-detail{gap:2pt;padding:3pt 6pt}.steps{gap:0}.step-item{padding-bottom:1pt}.step-item:before,.step-num{display:none!important}.intensity-grid{flex-wrap:wrap;gap:2pt 8pt;display:flex}.intensity-grid>div{gap:3pt;padding:0;display:flex}.recovery-box{border:.5pt dashed #000;padding:1pt 4pt}.mini-card{border:.5pt solid #999;padding:2pt 4pt}.disclosure-head{min-height:0;padding:2pt 0}.session-status{display:inline-flex!important}.session-item.fam-easy{border:1px solid #000}.session-item.fam-recovery{border:1px dotted #000}.session-item.fam-tempo{border:2px solid #000}.session-item.fam-interval{border:3px double #000}.session-item.fam-long{border:2px dashed #000}.session-item.fam-race{border:3px solid #000;font-weight:700}.disclaimer{margin-top:12pt}}.zone-table td.num,.effort-table td.num{white-space:nowrap}.grid-2{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.fold-hint{color:var(--color-text-muted);white-space:nowrap;margin-left:auto;font-size:14px;font-weight:400}.ds-fold-head{align-items:center;gap:var(--space-2);font-size:16px;font-weight:600;display:flex}.tab-header{z-index:var(--z-sticky);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.tab-header-inner{max-width:720px;height:var(--header-h);padding:0 var(--page-pad);justify-content:space-between;align-items:center;gap:var(--space-2);margin:0 auto;display:flex}.tab-title{font-size:17px;font-weight:700;line-height:24px}.tab-header-right{align-items:center;margin-right:-8px;display:flex}.header-seg{gap:2px;padding:0}.header-seg .segmented-item{white-space:nowrap;min-height:44px;padding:0 10px;font-size:13px}.tab-main{max-width:720px;margin:0 auto}.tab-body{gap:var(--space-4);padding:var(--space-4) var(--page-pad) calc(var(--tabbar-h) + var(--space-4) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.has-tabbar .storage-banner+.tab-screen .tab-body{padding-top:var(--space-2)}.tabbar{z-index:var(--z-tabbar);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:var(--shadow-2);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.tabbar-inner{grid-template-columns:repeat(5,1fr);max-width:720px;margin:0 auto;padding:0;list-style:none;display:grid}.tabbar-item{height:var(--tabbar-h);min-width:64px;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:16px;text-decoration:none;display:flex;position:relative}.tabbar-item.is-current{color:var(--color-brand-600);font-weight:600}.tabbar-item.is-current:before{content:"";border-radius:var(--radius-full);background:var(--color-brand-500);width:32px;height:3px;margin-left:-16px;position:absolute;top:0;left:50%}.sheet-backdrop{z-index:var(--z-sheet);background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--color-surface);border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;width:100%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-2);animation:sheet-in var(--duration-base) ease-out;flex-direction:column;display:flex}@keyframes sheet-in{0%{opacity:.6;transform:translateY(40px)}}.sheet-handle{border-radius:var(--radius-full);background:var(--color-border-strong);flex:none;width:36px;height:4px;margin:8px auto 0}.sheet-head{align-items:center;gap:var(--space-1);min-height:56px;padding:0 var(--space-2) 0 var(--space-4);flex:none;display:flex}.sheet-back{margin-left:calc(-1 * var(--space-2))}.sheet-title{flex:1;min-width:0;font-size:17px;font-weight:600;line-height:24px}.sheet-body{overscroll-behavior:contain;padding:0 var(--space-4) var(--space-4);flex:auto;overflow-y:auto}.sheet-footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);gap:var(--space-2);flex-direction:column;flex:none;display:flex}.sheet-reason{color:var(--color-text-secondary);text-align:center;font-size:12px;line-height:16px}.sheet-stack{gap:var(--space-3);flex-direction:column;display:flex}.btn:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);cursor:not-allowed;border-color:#0000}.status-mark{vertical-align:middle;flex:none;display:inline-block}.status-race{display:inline-block;position:relative}.status-race-sub{background:var(--color-surface);border-radius:var(--radius-full);line-height:0;position:absolute;bottom:-4px;right:-4px}.status-legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:4px 12px;padding:0;font-size:12px;line-height:16px;list-style:none;display:flex}.status-legend li{align-items:center;gap:4px;display:inline-flex}.status-badge{border-radius:var(--radius-full);background:var(--color-surface-sunken);color:#495057;flex:none;align-items:center;gap:6px;padding:2px 10px 2px 6px;font-size:14px;font-weight:600;line-height:20px;display:inline-flex}.sb-done{color:#1f7a35;background:#ebfbee}.sb-partial{color:#a15c00;background:#fff9db}.sb-missed{color:#495057;background:#f1f3f5}.sb-extra,.sb-extraOutside{color:#1864ab;background:#e7f5ff}.today-card{padding-left:calc(var(--space-4) + 6px);gap:var(--space-1);position:relative;overflow:hidden}.today-card:before{content:"";background:var(--stripe,var(--run-rest-stripe));width:6px;position:absolute;top:0;bottom:0;left:0}.today-head{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.today-head .icon{color:var(--stripe)}.today-head .badge{margin:0 0 0 auto}.today-title{align-items:baseline;column-gap:var(--space-2);flex-wrap:wrap;display:flex}.today-hero{font-size:var(--text-hero);letter-spacing:-.02em;font-weight:800;line-height:40px}.today-amount{white-space:nowrap}.unit{color:var(--color-text-secondary);margin-left:2px;font-size:14px;font-weight:600}.today-status{align-items:center;gap:6px;display:inline-flex}.today-line{color:var(--color-text-secondary);font-size:16px;line-height:24px}.today-buttons{gap:var(--space-2);margin-top:var(--space-2);display:flex}.today-buttons .btn{flex:1}.today-buttons .today-more{flex:none;width:96px}.home-hint{margin-top:calc(-1 * var(--space-3));text-align:center}.week-progress{text-align:left;font:inherit;color:inherit;gap:var(--space-2);box-shadow:none;cursor:pointer}.wp-head{justify-content:space-between;align-items:baseline;display:flex}.wp-nums{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:14px}.wp-nums b{color:var(--color-text);font-size:17px;font-weight:700}.wp-dots{gap:6px;min-height:12px;display:flex}.tiles{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.tiles>*{min-width:0}.tile-wide{grid-column:1/-1}.tile-btn{text-align:left;width:100%;min-height:88px;font:inherit;color:inherit;background:0 0;border:0;padding:0;display:block;position:relative}.tile-arrow{color:var(--color-text-muted);font-size:16px;position:absolute;top:8px;right:12px}.cal-nav{grid-template-columns:44px 1fr 44px auto;align-items:center;gap:2px;display:grid}.cal-title{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:17px;font-weight:600;line-height:24px}.cal-today{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:52px;min-height:44px;color:var(--color-text-muted);font-size:14px;font-weight:600}.cal-today.is-away{color:var(--color-brand-600);border-color:var(--color-brand-600)}.cal-summary{margin-top:calc(-1 * var(--space-2));flex-direction:column;gap:4px;display:flex}.calendar{gap:var(--space-3)}.week-rows{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.week-rows li+li{border-top:1px solid var(--color-border)}.week-row{width:100%;min-height:var(--row-h);text-align:left;font:inherit;color:inherit;background:0 0;border:0;grid-template-columns:58px minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:6px;padding:6px 8px 6px 10px;display:grid}.week-row.is-today{background:var(--color-brand-50);box-shadow:inset 3px 0 0 var(--color-brand-600)}.week-row.is-race{background:var(--run-race-tint)}.week-row.is-outside .wr-date,.week-row.is-outside .wr-plan{color:var(--color-text-muted)}.wr-date{grid-template-columns:auto auto;justify-content:start;align-items:baseline;column-gap:3px;display:grid}.wr-md{white-space:nowrap;font-size:14px;font-weight:600}.wr-dow{color:var(--color-text-muted);font-size:12px}.wr-today,.wr-out{color:var(--color-brand-700);grid-column:1/-1;font-size:12px;font-weight:600;line-height:14px}.wr-out{color:var(--color-text-muted);font-weight:400}.wr-rest{color:var(--color-text-muted);grid-column:2/4;font-size:14px}.wr-plan,.wr-actual{align-items:center;gap:4px;min-width:0;font-size:14px;line-height:18px;display:flex}.wr-plan{color:var(--color-text-secondary)}.wr-plan .icon,.wr-plan svg{flex:none}.wr-plan .icon{color:var(--stripe,currentColor)}.wr-plan-text,.wr-act-text{-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:keep-all;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wr-actual{flex-direction:column;align-items:flex-start;gap:0;font-weight:600}.wr-shift{color:var(--color-text-muted);white-space:nowrap;font-size:12px;font-weight:400;line-height:14px}.wr-mark{justify-content:center;display:flex}.month-grid{table-layout:fixed;border-collapse:collapse;background:var(--color-surface);width:100%}.month-grid th{height:24px;color:var(--color-text-muted);font-size:12px;font-weight:500}.month-grid td{border:1px solid var(--color-border);height:52px;padding:0}.mc-empty{background:var(--color-bg)}.month-cell{width:100%;height:52px;min-height:44px;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;padding:2px 0;display:flex}.month-cell.is-outside .mc-day{color:var(--color-text-muted)}.month-cell.is-race{background:var(--run-race-tint)}.month-cell.is-today{box-shadow:inset 0 0 0 2px var(--color-brand-600)}.mc-day{text-align:center;border-radius:var(--radius-full);min-width:20px;font-size:12px;font-weight:600;line-height:18px}.month-cell.is-today .mc-day{background:var(--color-brand-600);color:#fff}.mc-mark{height:14px;line-height:0}.mc-km{color:var(--color-text-muted);font-size:12px;line-height:14px}.mc-km.is-actual{color:var(--color-text);font-weight:600}.day-sheet{gap:var(--space-3);flex-direction:column;display:flex}.ds-status{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.compare-table{border-collapse:collapse;table-layout:fixed;width:100%}.compare-table th,.compare-table td{border-top:1px solid var(--color-border);text-align:left;vertical-align:middle;height:44px;padding:2px 4px}.compare-table thead th{height:28px;color:var(--color-text-muted);border-top:0;font-size:12px;font-weight:500}.compare-table thead th:first-child,.compare-table tbody th{width:52px}.compare-table tbody th{color:var(--color-text-muted);font-size:12px;font-weight:500}.ct-plan{color:var(--color-text-secondary);font-size:14px}.ct-actual{font-size:16px;font-weight:600}.ds-sub{color:var(--color-text-secondary);align-items:center;gap:2px;font-size:14px;font-weight:400;display:inline-flex}.ds-chip{white-space:nowrap;font-size:13px;font-weight:600}.v-ok,.v-okSlow{color:var(--color-ok-text)}.v-fast{color:var(--color-warn-text)}.v-slow{color:var(--color-text-secondary)}.ds-manual{align-self:center;text-decoration:none}.ds-presc{font-size:16px}.ds-warmcool,.session-warmcool{color:var(--color-text-secondary);font-size:12px;line-height:18px;display:block}.ds-folds{border-top:1px solid var(--color-border)}.ds-folds .disclosure-head{min-height:56px}.ds-others{flex-direction:column;gap:4px;display:flex}.log-rows{margin:0;padding:0;list-style:none}.card-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.log-rows>li+li{border-top:1px solid var(--color-border)}.log-row{width:100%;min-height:var(--row-h);text-align:left;font:inherit;color:inherit;background:0 0;border:0;grid-template-columns:64px 72px minmax(0,1fr) 28px;align-items:center;gap:6px;padding:6px 10px 6px 12px;display:grid}.lr-date{font-size:14px;font-weight:600}.lr-date .muted{font-size:12px;font-weight:400}.lr-km{text-align:right;font-size:16px;font-weight:600}.lr-time{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.lr-mark{justify-content:center;display:flex}.lr-note{padding:0 12px 6px}.log-month{background:var(--color-surface-sunken);padding:8px 12px}.empty-line{align-items:center;gap:var(--space-3);flex-direction:column;justify-content:center;min-height:96px;display:flex}.fold-card{box-shadow:none;gap:0;padding-top:0;padding-bottom:0}.fold-card>.disclosure>.disclosure-head{min-height:56px}.details-card>.caption{padding-top:var(--space-3)}.details-card>.disclosure:first-of-type{border-top:1px solid var(--color-border)}.data-tools{gap:var(--space-2);flex-direction:column;display:flex}.log-form{gap:var(--space-3);flex-direction:column;display:flex}.log-date-row{align-items:center;gap:var(--space-3);display:flex}.log-date-row .field-label{margin:0}.log-date-wrap{min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);flex:1;align-items:center;font-weight:600;display:flex;position:relative}.log-date-wrap:focus-within{box-shadow:var(--focus-ring)}.log-date-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.big-input{height:64px;font-size:var(--text-stat);padding-right:52px;font-weight:600;line-height:36px}.big-input::placeholder{color:var(--color-text-muted);font-weight:400}.big-field .input-with-unit{position:relative}.big-unit{font-size:16px}.log-pace{margin-top:calc(-1 * var(--space-2))}.log-more{border-top:1px solid var(--color-border)}.log-more .disclosure-head{min-height:56px}.log-more .disclosure-body{gap:var(--space-4)}.log-hr{max-width:50%}.rpe-chips{gap:var(--space-2);grid-template-columns:repeat(5,1fr);display:grid}.rpe-chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:44px;font-size:16px;font-weight:600}.rpe-chip.is-selected{background:var(--color-brand-600);border-color:var(--color-brand-600);color:#fff}.rpe-labels{gap:var(--space-2);text-align:center;grid-template-columns:repeat(5,1fr);margin-top:4px;display:grid}.type-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.type-chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:15px;display:inline-flex}.type-chip.is-selected{background:var(--color-brand-50);border:2px solid var(--color-brand-600);padding:0 13px;font-weight:600}.textarea{height:auto;min-height:84px;padding:var(--space-2) var(--space-3);resize:vertical;font:inherit;line-height:22px}.memo-count{text-align:right}.danger-link{color:var(--color-danger-text);align-self:flex-start}.chart-cards{gap:var(--space-4);flex-direction:column;display:flex}.chart-slot{scroll-margin-top:calc(var(--header-h) + 8px);min-width:0}@media (width>=1024px){.chart-cards{grid-template-columns:1fr 1fr;display:grid}}.m5-line{margin-bottom:var(--space-1)}.chart-empty{padding:var(--space-4) 0;text-align:center}.chart-empty-card{gap:var(--space-1);box-shadow:none}.empty-actions{box-shadow:none}.goal-card{gap:var(--space-1)}.goal-head{justify-content:space-between;align-items:center;display:flex}.goal-head .badge{margin:0}.goal-main{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.stat-num{font-size:var(--text-stat);font-weight:700;line-height:32px}.goal-level{align-items:center;gap:4px;margin:0}.plan-phase{flex-direction:column;gap:4px;display:flex}.disclaimer-line{text-align:center}.data-error{box-shadow:none}.onboard{gap:var(--space-4)}.onboard-pair{align-items:start}.onboard-pair .field-label{white-space:nowrap}.onboard-folds{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.onboard-folds .disclosure-head{min-height:56px}.other-record{gap:var(--space-3);padding-bottom:var(--space-2);flex-direction:column;display:flex}.has-tabbar .toast-region{bottom:calc(var(--tabbar-h) + 8px + env(safe-area-inset-bottom))}.toast{align-items:center;gap:var(--space-3);pointer-events:auto;display:flex}.toast-action{color:#ffd8a8;background:0 0;border:0;min-height:36px;padding:0 4px;font-weight:700;text-decoration:underline}@media print{.tabbar,.tab-header,.sheet-backdrop{display:none!important}.tab-body{padding:0}}.tiles .mcc-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:88px;padding:12px;position:relative}.tiles .mcc-stat-extra{margin:0;position:absolute;top:12px;right:12px}.tile-btn .tile-arrow{z-index:1}.big-field .input-with-unit .input{flex:1;max-width:none}.big-field .big-unit{pointer-events:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.input-unit{white-space:nowrap}.onboard-pair .input-with-unit .input{flex:1;min-width:0}.screen.onboard{padding-top:var(--space-4);padding-bottom:var(--space-4);gap:var(--space-4)}.onboard .choice-group>legend{margin-bottom:var(--space-1)}.badge-garmin{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border);font-weight:600}.lr-badge{width:fit-content;height:18px;margin-top:2px;padding:0 4px;font-size:12px;display:flex}.g-mark{border:1px solid var(--color-info-border);background:var(--color-info-bg);width:16px;height:16px;color:var(--color-info-text);vertical-align:-2px;border-radius:4px;justify-content:center;align-items:center;margin-right:4px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.garmin-head{align-items:center;gap:var(--space-2);display:flex}.garmin-token-form{gap:var(--space-1);flex-direction:column;display:flex}.garmin-token-row{gap:var(--space-2);display:flex}.garmin-token-row .input{flex:1;min-width:0;max-width:none}.garmin-token-row .btn{flex:none;width:80px}.garmin-card .disclosure-head{min-height:44px}.garmin-card .link-btn{align-self:flex-start}.garmin-start{gap:var(--space-2);flex-direction:column;display:flex}.garmin-summary{box-shadow:none;gap:var(--space-1)}.inline-link{min-height:0;padding:0;display:inline}.drift-card{box-shadow:none;border-color:var(--color-info-border);background:var(--color-info-bg)}.readiness-line{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;min-height:44px;font:inherit;color:var(--color-text);text-align:left;cursor:pointer;padding:8px 12px;font-size:14px;display:flex}.readiness-line .rd-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.readiness-line.rd-caution{border-color:var(--color-danger-border)}.rd-shape{flex:none}.rd-shape.rd-good{color:var(--color-ok-border)}.rd-shape.rd-normal{color:var(--color-warn-border)}.rd-shape.rd-caution{color:var(--color-danger-border)}.readiness-head{align-items:center;gap:var(--space-2);display:flex}.readiness-table td,.readiness-table th{font-size:14px}.today-advice{color:var(--color-text-secondary)}.today-advice.is-strong{color:var(--color-danger-text);font-weight:600}.garmin-record{gap:var(--space-3);flex-direction:column;display:flex}.gr-head{align-items:center;gap:var(--space-2);display:flex}.gr-stats{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gr-stat{flex-direction:column;gap:2px;display:flex}.gr-num{white-space:nowrap;font-size:24px;font-weight:700;line-height:32px}.gr-note{white-space:pre-wrap;word-break:break-word}.gr-note-form{gap:var(--space-3);flex-direction:column;display:flex}.gr-detail{gap:var(--space-2);flex-direction:column;display:flex}.lap-table th,.lap-table td{text-align:right;padding:6px 8px;font-size:14px}.lap-table th:first-child,.lap-table td:first-child{text-align:left}.lap-table tr.lap-part th{text-align:left;background:var(--color-surface-sunken)}.lap-table tr.lap-part.has-sep th{border-top:2px solid var(--color-border-strong)}.is-hidden-rows .log-row{color:var(--color-text-muted)}.is-hidden-rows .lr-km{font-weight:400}.rpe-chips-5{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.rpe-chip-wide{word-break:keep-all;min-height:44px;padding:6px 2px;font-size:13px;line-height:1.2}.allow-list{margin:12px 0 0;padding:0;list-style:none}.allow-row{border-top:1px solid var(--color-border,#e5e5ea);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.allow-row .small{overflow-wrap:anywhere}.allow-del{flex:none;width:auto;min-height:44px;padding:0 12px}.segmented.segmented-5{gap:2px}.segmented-5 .segmented-item{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;flex:1 1 0;min-width:0;min-height:48px;padding:4px 2px;font-size:13px;line-height:1.25}.arrange-seg{margin-bottom:var(--space-2)}.tpl-grid{flex-direction:column;gap:4px;display:flex}.tpl-intro{margin:0 0 4px}.tpl-help{margin-bottom:var(--space-2)}.tpl-help-toggle,.tpl-more{color:var(--color-text-secondary);font-weight:600;text-decoration:underline}.tpl-sum,.tpl-safety{margin:var(--space-2) 0 0}.tpl-row{align-items:center;gap:var(--space-2);grid-template-columns:36px 1fr;display:grid}.tpl-day{width:36px;height:36px;color:var(--ink);background:var(--tint);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.tpl-select{border-left:5px solid var(--stripe);background:var(--tint);min-height:44px;color:var(--ink);font-weight:600}.tpl-row.is-rest .tpl-select{font-weight:500}.tpl-warning{margin-top:var(--space-2)}.tpl-warning p{margin:0}.tpl-warning p+p{margin-top:2px}.tpl-warning .disclosure{margin-top:4px}.tpl-override{margin:4px 0 0}.warning-text{color:var(--color-warn-text);background:var(--color-warn-bg);border-radius:8px;margin:0;padding:4px 8px}.tpl-plan-note{margin-top:4px}.tpl-plan-note p{margin:4px 0 0}.adapt-banner .banner-body{min-width:0}.adapt-banner-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.adapt-close{color:var(--color-text-secondary);flex:none;margin:-10px -10px 0 0;font-size:22px;line-height:1}.adapt-detail,.adapt-original,.pers-sheet{gap:var(--space-3);flex-direction:column;display:flex}.adapt-history{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.adapt-history li{align-items:center;gap:4px var(--space-2);flex-wrap:wrap;display:flex}.adapt-history-reason{flex-basis:100%}.adapt-week{gap:var(--space-1)}.adapt-days{gap:2px;margin:0;padding:0;list-style:none;display:grid}.adapt-days li{gap:0 var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;min-height:24px;display:flex}.adapt-days li.is-changed{font-weight:600}.adapt-dow{width:1.5em;color:var(--color-text-secondary);flex:none}.decision-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.decision-row p{margin:0}.decision-row.is-off .small{color:var(--color-text-secondary)}.pers-safety{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.switch-row{align-items:flex-start}.switch-row>span{flex-direction:column;gap:2px;min-width:0;display:flex}.switch-caption{display:block}.adapt-settings,.adapt-toggles{gap:var(--space-2);flex-direction:column;display:flex}.personal-note{margin-top:var(--space-1)}.pattern-card{min-width:0}.pattern-head{justify-content:space-between;align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;display:flex}.pattern-highlights,.pattern-metrics{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.pattern-highlights p,.pattern-metrics p{overflow-wrap:anywhere;margin:0}.pattern-title{font-size:16px}.conf-chip{margin-left:2px}.pattern-more .disclosure-body{gap:var(--space-3);flex-direction:column;display:flex}.pattern-chart{margin-top:var(--space-2);min-width:0}.term{color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--color-text-muted);text-decoration-color:var(--color-text-muted);text-underline-offset:3px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:2px;margin:0;padding:0;display:inline;position:relative}.term:after{content:"";height:var(--touch-min);min-height:100%;position:absolute;top:50%;left:-2px;right:-2px;transform:translateY(-50%)}.term:hover{-webkit-text-decoration-color:var(--color-brand-600);text-decoration-color:var(--color-brand-600)}.term:active{background:var(--color-brand-50)}.term:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.term-sheet-layer{z-index:calc(var(--z-sheet) + 2)}.term-sheet{gap:var(--space-3);flex-direction:column;display:flex}.term-short{font-size:16px;font-weight:600;line-height:1.5}.term-example{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-secondary)}.term-example-label{color:var(--color-text-muted);margin-right:4px;font-weight:700}.term-detail{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.term-detail dt{color:var(--color-text-muted);font-size:12px;font-weight:700}.term-detail dd{margin:2px 0 0;font-size:14px;line-height:1.6}.term-related{gap:var(--space-1);flex-direction:column;display:flex}.term-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.term-chip{min-height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:999px;font-size:13px}.term-chip:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.term-to-glossary{justify-content:center;align-items:center;text-decoration:none;display:flex}.glossary-entry{text-align:left;padding-top:var(--space-3);padding-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;color:inherit;flex-direction:row;text-decoration:none;display:flex}.glossary-entry-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.glossary-entry:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.gl-search{padding:var(--space-2) 0 0}.gl-search-input{width:100%}.gl-cats{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.gl-cat{min-height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:999px;flex:none;font-size:14px}.gl-cat[aria-pressed=true]{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-700);font-weight:700}.gl-cat:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.gl-count{margin:var(--space-2) 0}.gl-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gl-list>li{gap:var(--space-1);flex-direction:column;display:flex}.gl-letter{margin:var(--space-2) 0 0 var(--space-1);font-weight:700}.gl-item{padding:0;scroll-margin-top:72px}.gl-head{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-min);padding:var(--space-3) var(--space-4);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;display:flex}.gl-head:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px}.gl-head-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gl-aka{font-weight:400}.gl-body{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);flex-direction:column;display:flex}.gl-empty{gap:var(--space-1);flex-direction:column;display:flex}.gl-empty .gl-all{min-height:44px;margin-top:var(--space-2);align-self:flex-start}.glossary-overlay{z-index:calc(var(--z-sheet) + 4);overscroll-behavior:contain;background:var(--color-bg);position:fixed;inset:0;overflow-y:auto}.glossary-overlay-loading{padding:var(--space-4)}.sd-kind{margin:0 0 var(--space-2)}@media print{.term{text-decoration:none}.term:after{display:none}}.v4-page{flex-direction:column;display:flex}.v4-page>main{flex:1;width:100%}.v4-screen{gap:var(--space-4)}.v4-title{outline:none}.v4-loading{justify-content:center;align-items:center;min-height:60vh}.account-btn{color:var(--color-text-secondary)}.account-btn:hover{background:var(--color-surface-sunken)}.banner-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.shell-banners{z-index:calc(var(--z-sticky) + 1);max-width:720px;padding:var(--space-2) var(--page-pad) 0;background:var(--color-bg);margin:0 auto;position:sticky;top:0}.check-row{align-items:flex-start;gap:var(--space-2);min-height:var(--touch-min);cursor:pointer;padding:10px 0;font-size:15px;line-height:22px;display:flex}.check-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--color-brand-500);flex:none;margin:0}.dialog-buttons-stack{flex-direction:column}.dialog-buttons-stack .btn{width:100%}.legal-footer{width:100%;max-width:720px;padding:var(--space-4) var(--page-pad) var(--space-6);text-align:center;color:var(--color-text-muted);margin:0 auto;font-size:13px;line-height:20px}.legal-footer a{color:var(--color-text-secondary);padding:10px 4px;text-decoration:underline;display:inline-block}.has-tabbar .legal-footer{margin-top:calc(-1 * (var(--tabbar-h) + var(--space-4)));padding-bottom:calc(var(--tabbar-h) + var(--space-4) + env(safe-area-inset-bottom))}.dev-band{color:#5c3c00;text-align:center;padding:6px var(--page-pad);background:repeating-linear-gradient(45deg,#fff3bf,#fff3bf 10px,#ffe8a1 10px 20px);font-size:13px;font-weight:700}.login-screen{gap:var(--space-4);max-width:420px}.login-hero{gap:var(--space-1);padding-top:var(--space-6);flex-direction:column;display:flex}.login-brand{color:var(--color-brand-600);font-size:14px;font-weight:700}.provider-list{gap:var(--space-3);flex-direction:column;display:flex}.provider-item{flex-direction:column;gap:2px;display:flex}.provider-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:12px;width:100%;font-weight:600;display:inline-flex;position:relative}.provider-logo{place-items:center;display:inline-grid;position:absolute;left:18px}.provider-google{color:#1f1f1f;background:#fff;border:1px solid #747775}.provider-kakao{color:#000000d9;background:#fee500;border:1px solid #fee500}.provider-naver{color:#fff;background:#03c75a;border:1px solid #03c75a}.provider-btn:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);border-color:var(--color-border);cursor:not-allowed}.provider-mock{border-radius:var(--radius-full);background:#0000001f;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;right:12px}.login-note{text-align:center}.dev-login{border:2px dashed var(--color-warn-border);background:var(--color-warn-bg)}.dev-login-form{gap:var(--space-1);flex-direction:column;display:flex}.dev-login-form .btn{margin-top:var(--space-2)}.consent-card{gap:var(--space-2)}.consent-all{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.consent-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.consent-row .check-row{flex:1}.consent-view{flex:none;font-size:13px}.consent-tag{border-radius:var(--radius-sm);margin-right:2px;padding:0 6px;font-size:12px;font-weight:700;line-height:18px;display:inline-block}.tag-required{background:var(--color-brand-100);color:var(--color-brand-700)}.tag-optional{background:var(--color-surface-sunken);color:var(--color-text-secondary)}.consent-summary{background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:var(--space-3)}.overseas-note{border-top:1px solid var(--color-border);padding-top:var(--space-3);flex-direction:column;gap:2px;display:flex}.overseas-note a,.legal-nav a{color:var(--color-brand-600);text-decoration:underline}.sensitive-box{border:2px solid var(--color-info-border);background:var(--color-info-bg)}.sensitive-box .consent-md{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3)}.signup-actions{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.signup-actions .btn{width:100%}.consent-sheet{gap:var(--space-3);flex-direction:column;display:flex}.consent-check{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.md{gap:var(--space-2);color:var(--color-text);word-break:keep-all;overflow-wrap:anywhere;flex-direction:column;font-size:14px;line-height:22px;display:flex}.md p,.md ul,.md ol{margin:0}.md ul,.md ol{gap:2px;padding-left:1.3em;display:grid}.md .md-h{margin:var(--space-3) 0 0;line-height:1.4}.md .md-h1{font-size:19px}.md .md-h2{font-size:16px}.md .md-h3,.md .md-h4{font-size:15px}.md .md-u{text-underline-offset:3px;font-size:15px;text-decoration:underline}.md code{background:var(--color-surface-sunken);border-radius:4px;padding:0 4px;font-size:12px}.md-quote{padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-warn-border);background:var(--color-warn-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0;font-size:13px;line-height:20px}.md hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-2) 0;width:100%}.md-table th,.md-table td{min-width:72px;font-size:13px;line-height:19px}.consent-md .md-h:first-child{margin-top:0}.legal-article{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.legal-nav{gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-card{gap:var(--space-2)}.settings-list{margin:0;padding:0;list-style:none}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:14px;line-height:20px;display:flex}.settings-row:last-child{border-bottom:0}.settings-row>span{min-width:0}.settings-row .link-btn{flex:none}.settings-role{margin-left:var(--space-2);vertical-align:middle}.provider-chips{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.provider-chip.provider-google,.provider-chip.provider-kakao,.provider-chip.provider-naver{min-height:var(--touch-min)}.provider-chip:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);border-color:var(--color-border)}.consent-history-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.danger-zone{border:1px solid var(--color-danger-border)}.delete-step{gap:var(--space-2);flex-direction:column;display:flex}.personal-key{border-top:1px dashed var(--color-border-strong);margin-top:var(--space-2);padding-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.pk-form{gap:var(--space-1);flex-direction:column;display:flex}.garmin-attr{font-size:12px}.admin-events{gap:4px;max-height:360px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.settings-card .caption a{color:var(--color-brand-600);text-decoration:underline}.invite-login,.invite-form{gap:var(--space-2);flex-direction:column;display:flex}.invite-input{letter-spacing:.04em;text-transform:uppercase}.login-or{text-align:center}.one-time-code{gap:var(--space-2);border:2px solid var(--color-brand-600);flex-direction:column;display:flex}.invite-code{letter-spacing:.03em;word-break:break-all;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;font-weight:700}.share-text{word-break:break-all}.invite-create{gap:var(--space-2);flex-direction:column;display:flex}.invite-list .settings-row{align-items:flex-start}.invite-list .row-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;display:flex}
