:root{color-scheme:light;--bg: #F4F6FA;--surface: #FFFFFF;--surface-2: #EDF1F7;--line: #DDE4EE;--line-soft: #E9EEF5;--text: #0D1626;--text-2: #4B5A72;--text-3: #7385A0;--accent: #1F4E8C;--accent-press: #173D70;--accent-soft: #E4EBF7;--accent-ghost: rgba(31, 78, 140, .09);--gold: #8F6820;--gold-soft: #F6EEDC;--chart-past: #6E8FBF;--chart-now: #1F4E8C;--danger: #A8322C;--danger-soft: #FBEAE8;--ok: #26604F;--shadow-1: 0 1px 2px rgba(13, 22, 38, .05), 0 1px 3px rgba(13, 22, 38, .04);--shadow-2: 0 2px 6px rgba(13, 22, 38, .06), 0 10px 28px rgba(13, 22, 38, .08);--shadow-3: 0 8px 20px rgba(13, 22, 38, .1), 0 24px 56px rgba(13, 22, 38, .16);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "Hoefler Text", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px;--ease: cubic-bezier(.32, .72, 0, 1);--fast: .14s;--base: .24s;--slow: .42s;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--tabbar-h: 58px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0B1220;--surface: #131E33;--surface-2: #1A2740;--line: #24334E;--line-soft: #1D2B45;--text: #E8EDF7;--text-2: #A7B5CC;--text-3: #7E8DA8;--accent: #85AAEC;--accent-press:#9CBBF2;--accent-soft: #17233B;--accent-ghost: rgba(133, 170, 236, .14);--gold: #DCAF5A;--gold-soft: #2A2213;--chart-past: #4E6E9E;--chart-now: #85AAEC;--danger: #EC8078;--danger-soft: #2C1614;--ok: #6FC3A6;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 2px 6px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .4);--shadow-3: 0 8px 20px rgba(0, 0, 0, .4), 0 24px 56px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0B1220;--surface: #131E33;--surface-2: #1A2740;--line: #24334E;--line-soft: #1D2B45;--text: #E8EDF7;--text-2: #A7B5CC;--text-3: #7E8DA8;--accent: #85AAEC;--accent-press:#9CBBF2;--accent-soft: #17233B;--accent-ghost: rgba(133, 170, 236, .14);--gold: #DCAF5A;--gold-soft: #2A2213;--chart-past: #4E6E9E;--chart-now: #85AAEC;--danger: #EC8078;--danger-soft: #2C1614;--ok: #6FC3A6;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 2px 6px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .4);--shadow-3: 0 8px 20px rgba(0, 0, 0, .4), 0 24px 56px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}button,[role=button],.tap{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.app{height:100%;height:100dvh;display:flex;flex-direction:column;max-width:560px;margin-inline:auto;position:relative}.screen{flex:1;min-height:0;padding:calc(var(--safe-t) + 8px) 18px calc(var(--tabbar-h) + var(--safe-b) + 28px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}body.sheet-open .screen{overflow:hidden}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0 4px}.head h1{font-family:var(--serif);font-size:27px;line-height:1.14;letter-spacing:-.015em;font-weight:400;text-wrap:balance}.head .sub{font-size:13px;color:var(--text-2);margin-top:3px}.avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--accent-ghost);color:var(--accent);display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:.01em;transition:transform var(--fast) var(--ease)}.avatar:active{transform:scale(.93)}.label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.section{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 10px}.section .action{font-size:13px;font-weight:600;color:var(--accent)}.num{font-family:var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.025em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}.hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px 20px 18px;text-align:center;box-shadow:var(--shadow-1)}.hero .big{font-size:clamp(44px,13vw,58px);line-height:1.02;margin-top:10px;display:block}.hero .meta{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:14px}.pill{font-size:12px;font-weight:600;padding:5px 11px;border-radius:100px;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pill.gold{color:var(--gold);background:var(--gold-soft)}.pill.blue{color:var(--accent);background:var(--accent-ghost)}.row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-soft);width:100%;text-align:left}.row:last-child{border-bottom:0}.row.tappable{transition:opacity var(--fast) var(--ease)}.row.tappable:active{opacity:.55}.rank{flex:0 0 26px;text-align:center;font-size:14px;font-weight:700;color:var(--text-3);font-variant-numeric:tabular-nums}.rank.medal{color:var(--gold);font-size:17px}.grow{flex:1;min-width:0;display:block}.name{font-size:15px;font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:6px}.meta-line{display:block;font-size:12px;color:var(--text-3);margin-top:2px}.val{text-align:right;flex:0 0 auto}.val .n{display:block;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.val .s{display:block;font-size:11px;color:var(--text-3);margin-top:1px;white-space:nowrap}.badge{font-size:10px;font-weight:700;letter-spacing:.03em;padding:2px 6px;border-radius:5px;background:var(--accent-ghost);color:var(--accent)}.badge.gold{background:var(--gold-soft);color:var(--gold)}.bar{display:block;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin-top:7px}.bar>i{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width var(--slow) var(--ease)}.bar>i.gold{background:var(--gold)}.field{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;font-size:16px;color:var(--text);transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.field:focus{outline:none;border-color:var(--accent);background:var(--surface)}.field::placeholder{color:var(--text-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-md);font-size:15px;font-weight:600;background:var(--accent);color:var(--bg);width:100%;transition:transform var(--fast) var(--ease),opacity var(--fast) var(--ease)}.btn:active{transform:scale(.975)}.btn:disabled{opacity:.45;pointer-events:none}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.slim{min-height:40px;font-size:14px;width:auto}.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:14px 0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;transition:transform var(--fast) var(--ease),background var(--fast) var(--ease)}.chip:active{transform:scale(.95);background:var(--accent-ghost)}.chip.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:560px;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-top:1px solid var(--line);padding-bottom:var(--safe-b);z-index:40}.tab{height:var(--tabbar-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-3);transition:color var(--fast) var(--ease)}.tab[aria-current=page]{color:var(--accent)}.tab svg{width:21px;height:21px}.tab span{font-size:10px;font-weight:600}.tab:active svg{transform:scale(.9);transition:transform var(--fast) var(--ease)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#080e1a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;animation:fade var(--base) var(--ease)}.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:560px;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-3);z-index:51;padding:10px 18px calc(20px + var(--safe-b));max-height:88vh;overflow-y:auto;animation:rise var(--base) var(--ease)}.sheet .grabber{width:38px;height:4px;border-radius:3px;background:var(--line);margin:0 auto 14px}.sheet h2{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:-.01em;margin-bottom:4px}@keyframes rise{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 14px);transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:14px;background:var(--text);color:var(--bg);padding:12px 14px 12px 18px;border-radius:100px;box-shadow:var(--shadow-3);font-size:14px;width:max-content;max-width:calc(100% - 36px);animation:toastIn var(--base) var(--ease)}.toast button{font-weight:700;color:var(--bg);text-decoration:underline;text-underline-offset:3px;padding:2px 4px}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.empty{text-align:center;padding:40px 20px;color:var(--text-2);font-size:14.5px}.empty .mark{font-family:var(--serif);font-size:34px;color:var(--text-3);opacity:.5;display:block;margin-bottom:10px}.error-note{background:var(--danger-soft);color:var(--danger);border-radius:var(--r-md);padding:12px 14px;font-size:14px;margin-top:12px}.sk{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line-soft) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.chart-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px}.range{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--r-sm);padding:3px}.range button{font-size:12px;font-weight:600;padding:5px 11px;border-radius:7px;color:var(--text-2);transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.range button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.syncbar{display:flex;align-items:center;gap:9px;padding:calc(var(--safe-t) + 9px) 18px 9px;background:var(--gold-soft);color:var(--text-2);font-size:12.5px;font-weight:600;line-height:1.35}.syncbar .dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--gold)}.syncbar+.screen{padding-top:10px}
