.navbar[data-v-94f31f8b]{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;transition:background .2s,border-color .2s}.navbar-inner[data-v-94f31f8b]{max-width:800px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-94f31f8b]{font-size:18px;font-weight:700;color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.logo-byline[data-v-94f31f8b]{font-size:12px;font-weight:400;color:var(--color-text-secondary);letter-spacing:0}.nav-links[data-v-94f31f8b]{display:flex;align-items:center;gap:24px}.nav-links a[data-v-94f31f8b]{font-size:14px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .15s}.nav-links a[data-v-94f31f8b]:hover,.nav-links a.router-link-active[data-v-94f31f8b]{color:var(--color-text)}.theme-btn[data-v-94f31f8b]{font-size:16px;background:none;border:none;padding:4px;line-height:1;transition:transform .15s;color:var(--color-text)}.theme-btn[data-v-94f31f8b]:hover{transform:scale(1.15)}.logout-btn[data-v-94f31f8b]{font-size:14px;font-weight:500;color:var(--color-text-secondary);background:none;border:none;padding:0;transition:color .15s}.logout-btn[data-v-94f31f8b]:hover{color:var(--color-loss)}.hamburger[data-v-94f31f8b]{font-size:22px;background:none;border:none;color:var(--color-text);padding:4px 8px;line-height:1;transition:transform .25s ease}.hamburger.open[data-v-94f31f8b]{transform:rotate(90deg)}.mobile-menu[data-v-94f31f8b]{display:flex;flex-direction:column;padding:8px 16px 16px;border-top:1px solid var(--color-border);max-width:800px;margin:0 auto;overflow:hidden}.mobile-menu a[data-v-94f31f8b]{display:block;padding:12px 0;font-size:15px;font-weight:500;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border)}.mobile-menu .theme-btn[data-v-94f31f8b]{text-align:left;padding:12px 0;font-size:15px;border-bottom:1px solid var(--color-border)}.mobile-menu .logout-btn[data-v-94f31f8b]{text-align:left;padding:12px 0;font-size:15px;color:var(--color-loss)}.mobile-only[data-v-94f31f8b]{display:none}.menu-slide-enter-active[data-v-94f31f8b]{animation:slideDown-94f31f8b .25s ease-out}.menu-slide-leave-active[data-v-94f31f8b]{animation:slideDown-94f31f8b .2s ease-in reverse}@keyframes slideDown-94f31f8b{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:400px}}@media (max-width: 600px){.desktop-only[data-v-94f31f8b]{display:none}.mobile-only[data-v-94f31f8b]{display:block}.logo-byline[data-v-94f31f8b]{display:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=light]{--color-bg: #fafafa;--color-surface: #ffffff;--color-border: #e8e8e8;--color-text: #1a1a1a;--color-text-secondary: #6b6b6b;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-soft: #eff6ff;--color-win: #16a34a;--color-win-bg: #dcfce7;--color-loss: #dc2626;--color-loss-bg: #fef2f2;--color-push: #9ca3af;--color-push-bg: #f3f4f6;--color-locked: #f59e0b;--color-locked-bg: #fffbeb;--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--radius: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}[data-theme=dark]{--color-bg: #0f0f0f;--color-surface: #1a1a1a;--color-border: #2a2a2a;--color-text: #e5e5e5;--color-text-secondary: #888888;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-accent-soft: #1e293b;--color-win: #4ade80;--color-win-bg: #14532d;--color-loss: #f87171;--color-loss-bg: #450a0a;--color-push: #6b7280;--color-push-bg: #1f2937;--color-locked: #fbbf24;--color-locked-bg: #422006;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}.app{min-height:100vh}.main-content{max-width:800px;margin:0 auto;padding:24px 16px}button{font-family:var(--font-sans);cursor:pointer}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}input{color:var(--color-text);background:var(--color-surface)}
