:root{--brand: #0B7A3B;--brand-strong: #075C2C;--accent: #0B7A3B;--accent-ink: #075C2C;--marker-red: #E5484D;--ink: #1A1D1A;--ink-soft: rgba(26,29,26,.6);--ink-faint: rgba(26,29,26,.3);--ink-ghost: rgba(26,29,26,.18);--board: #FAFAF8;--board-raised: #FFFFFF;--board-overlay: #FFFFFF;--line: rgba(26,29,26,.07);--line-strong: rgba(26,29,26,.16);--fill-subtle: rgba(120,120,128,.08);--scrim: rgba(26,29,26,.5);--grad-brand: linear-gradient(150deg, #12A455 0%, #075C2C 100%);--grad-live: linear-gradient(135deg, #F0575B 0%, #C0362F 100%);--font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;--font-body: var(--font-system);--font-data: "SF Mono", ui-monospace, Menlo, monospace;--text-caption2: .6875rem;--text-caption: .75rem;--text-footnote: .8125rem;--text-subhead: .9375rem;--text-callout: 1rem;--text-body: 1.0625rem;--text-title3: 1.25rem;--text-title2: 1.375rem;--text-title1: 1.75rem;--text-large: 2.125rem;--text-hero: clamp(2.125rem, 6vw, 3.25rem);--text-xs: var(--text-caption);--text-sm: var(--text-subhead);--text-md: var(--text-body);--text-lg: var(--text-title3);--text-xl: var(--text-title1);--text-2xl: var(--text-hero);--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--max-w: 1080px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--radius-sm:8px;--radius:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--shadow-1: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);--shadow-2: 0 2px 8px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.07);--shadow-3: 0 16px 40px rgba(0,0,0,.12);--touch-min:44px;--blur: saturate(180%) blur(20px);--ease: cubic-bezier(.22,1,.36,1);--ease-out: cubic-bezier(.16,1,.3,1);--dur-fast:.18s;--dur-mid:.28s;--dur-slow:.42s;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink: #F5F6F3;--ink-soft: rgba(245,246,243,.6);--ink-faint: rgba(245,246,243,.3);--ink-ghost: rgba(245,246,243,.16);--board: #000000;--board-raised: #1C1C1E;--board-overlay: #2C2C2E;--line: rgba(245,246,243,.1);--line-strong: rgba(245,246,243,.16);--fill-subtle: rgba(120,120,128,.16);--scrim: rgba(0,0,0,.6);--accent: #34C759;--accent-ink: #4FD07E;--marker-red: #FF453A;--grad-brand: linear-gradient(150deg, #17A052 0%, #0B7A3B 100%);--shadow-1: none;--shadow-2: 0 4px 16px rgba(0,0,0,.4);--shadow-3: 0 16px 40px rgba(0,0,0,.55)}}[data-theme=dark]{--ink:#F5F6F3;--ink-soft:rgba(245,246,243,.6);--ink-faint:rgba(245,246,243,.3);--ink-ghost:rgba(245,246,243,.16);--board:#000000;--board-raised:#1C1C1E;--board-overlay:#2C2C2E;--line:rgba(245,246,243,.1);--line-strong:rgba(245,246,243,.16);--fill-subtle:rgba(120,120,128,.16);--scrim:rgba(0,0,0,.6);--accent:#34C759;--accent-ink:#4FD07E;--marker-red:#FF453A;--grad-brand:linear-gradient(150deg,#17A052 0%,#0B7A3B 100%);--shadow-1:none;--shadow-2:0 4px 16px rgba(0,0,0,.4);--shadow-3:0 16px 40px rgba(0,0,0,.55)}[data-sport=baseball]{--accent:#2F6BD6;--accent-ink:#1A4FB0}[data-sport=basketball]{--accent:#E1712B;--accent-ink:#B4560F}*{box-sizing:border-box}html{background:var(--board);color:var(--ink);font-family:var(--font-body);font-size:100%;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;letter-spacing:-.02em;margin:0;font-weight:var(--w-bold)}a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--line-strong)}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);font-family:var(--font-system);font-weight:var(--w-semibold);font-size:var(--text-body);padding:.7em 1.5em;border-radius:var(--radius-full);border:none;text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.92}.btn-ghost{background:var(--fill-subtle);color:var(--ink)}.btn-ghost:hover{background:var(--line)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card{background:var(--board-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.chip{display:inline-flex;align-items:center;gap:.4em;font-size:var(--text-subhead);padding:.4em .9em;border-radius:var(--radius-full);background:var(--fill-subtle);border:1px solid transparent;cursor:pointer}.chip.on{background:var(--accent);color:#fff;font-weight:var(--w-semibold)}.marker-underline{position:relative;display:inline-block}.marker-underline>svg{position:absolute;left:-2%;bottom:-.35em;width:104%;height:.5em;color:var(--marker-red)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app{display:flex;min-height:100vh}.sidebar{display:none;flex-direction:column;gap:var(--space-1);width:240px;flex:0 0 240px;position:sticky;top:0;height:100vh;padding:var(--space-3) var(--space-2);background:var(--board);border-right:1px solid var(--line)}.sidebar .brand{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-title2);letter-spacing:.01em;color:var(--ink);text-decoration:none;padding:var(--space-1) var(--space-2) var(--space-3)}.side-nav{display:flex;flex-direction:column}.side-nav a{display:flex;align-items:center;gap:.8em;padding:.7em var(--space-2);border-radius:var(--radius);color:var(--ink-soft);text-decoration:none;font-size:var(--text-callout);font-weight:var(--w-medium);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.side-nav a svg{flex:0 0 auto;opacity:.9}.side-nav a:hover{background:var(--fill-subtle);color:var(--ink)}.side-nav a.on{background:var(--fill-subtle);color:var(--accent-ink);font-weight:var(--w-semibold)}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--marker-red);color:#fff;font-size:var(--text-caption2);font-weight:var(--w-bold);display:inline-flex;align-items:center;justify-content:center}.side-section{margin-top:var(--space-3)}.side-label{display:block;font-size:var(--text-caption);color:var(--ink-faint);font-weight:var(--w-semibold);letter-spacing:.04em;padding:0 var(--space-2) var(--space-1)}.side-cta{margin-top:auto}.content{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;height:0;overflow:visible;display:flex;align-items:center;padding-inline:var(--space-3)}.topbar-brand{display:none}main{flex:1}.content>main{padding-bottom:var(--space-5)}.content .container{max-width:1200px;margin-inline:0;padding-inline:var(--space-4)}.site-footer{border-top:1px solid var(--line);padding:var(--space-4);margin-top:var(--space-4)}.footer-vision{font-family:var(--font-display);font-weight:var(--w-semibold);color:var(--ink);margin:0 0 var(--space-1)}.footer-links{font-size:var(--text-footnote);color:var(--ink-soft);margin:0}.footer-links a{color:var(--ink-soft)}.tabbar{display:none}@media(min-width:900px){.sidebar{display:flex}}@media(max-width:899px){.content .container{max-width:100%;padding-inline:var(--space-3)}.topbar{height:56px;background:color-mix(in srgb,var(--board) 72%,transparent);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid transparent;transition:border-color var(--dur-mid) var(--ease)}.topbar.scrolled{border-bottom-color:var(--line)}.topbar-brand{display:block;font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-title3);color:var(--ink);text-decoration:none}body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:color-mix(in srgb,var(--board-raised) 82%,transparent);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;text-decoration:none;color:var(--ink-faint);font-size:10px}.tabbar a.on{color:var(--accent-ink);font-weight:var(--w-bold)}.tabbar a svg{display:block}}
