:root{--bg:#EEF2F1;--surface:#FFFFFF;--surface2:#F6F8F7;--ink:#0F2733;--muted:#5A6B71;--line:#DCE3E1;--soft:#E4EBE9;--swim:#0A7EA4;--bike:#C98F00;--run:#DE4F2A;--ok:#238A55;--warn:#B87F00;--bad:#D2432A;--btn:#0F2733;--btnText:#fff;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#0A1318;--surface:#111D24;--surface2:#16252D;--ink:#E8F1F3;--muted:#8FA3AA;--line:#213139;--soft:#1A2B34;--swim:#38B3DB;--bike:#F4C136;--run:#FF7650;--ok:#4CC685;--warn:#F0B429;--bad:#FF6B4F;--btn:#E8F1F3;--btnText:#0A1318;color-scheme:dark}}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,.cond,.brand{font-family:"Barlow Condensed","Arial Narrow",system-ui,sans-serif}
h1{font-size:2rem;line-height:1;margin:0;font-weight:800}h2{font-size:1.5rem;margin:0 0 10px}h3{font-size:1.15rem;margin:0 0 6px}
p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:.875rem}
a{color:inherit}
:focus-visible{outline:3px solid var(--swim);outline-offset:2px;border-radius:6px}
.brand{font-weight:800;letter-spacing:.06em}
.mark{display:inline-flex;gap:3px;vertical-align:middle}.mark i{width:6px;height:20px;border-radius:3px;display:block}
.mark i:nth-child(1){background:var(--swim)}.mark i:nth-child(2){background:var(--bike)}.mark i:nth-child(3){background:var(--run)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:12px}
label{display:block;font-size:.875rem;font-weight:600;margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;color:inherit;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-height:46px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--swim);box-shadow:0 0 0 3px color-mix(in srgb,var(--swim) 22%,transparent)}
.field{margin-bottom:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;background:var(--btn);color:var(--btnText);border:0;border-radius:12px;padding:12px 18px;font-weight:600;min-height:48px;cursor:pointer;transition:transform .15s}
.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.ghost{background:var(--surface2);color:var(--ink);border:1px solid var(--line)}
.btn.small{min-height:36px;padding:6px 12px;font-size:.875rem}
.btn.danger{background:var(--bad);color:#fff}
.linkbtn{background:none;border:0;color:var(--muted);text-decoration:underline;padding:4px;font:inherit;cursor:pointer}
.notice{border-left:4px solid var(--warn);background:var(--surface2);padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:.95rem}
.notice.err{border-left-color:var(--bad)}.notice.ok{border-left-color:var(--ok)}
.seg{display:flex;gap:4px;padding:4px;background:var(--soft);border-radius:999px;margin-bottom:16px;overflow-x:auto}
.seg button{flex:1;border:0;background:transparent;border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 15%,transparent)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.check input{width:22px;height:22px;min-height:0;flex:none;margin-top:2px;accent-color:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:9px 6px;border-top:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:.8rem;border-top:0}
.pill{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--soft)}
.pill.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.pill.bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}
.pill.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--surface2);border-radius:12px;padding:12px}.stat .v{font-family:"Barlow Condensed",sans-serif;font-size:1.8rem;font-weight:700;line-height:1}.stat .l{font-size:.8rem;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--btn);color:var(--btnText);padding:11px 18px;border-radius:999px;font-weight:600;z-index:50;max-width:90vw}
.toast[hidden]{display:none}
.scroll{overflow-x:auto}
code{font-size:.85rem;background:var(--soft);padding:2px 6px;border-radius:6px;word-break:break-all}
