:root{--color-primary:#0b4f9e;--color-primary-dark:#083b77;--color-primary-light:#0b4f9e0f;--color-secondary:#0077b6;--color-brand-neon:#2f9bff;--color-brand-sky:#6cc8ff;--color-success:#16a34a;--color-success-dark:#15803d;--color-success-text:#166534;--color-success-bg:#16a34a1a;--color-success-bg-soft:#16a34a0d;--color-warning:#d97706;--color-warning-text:#92400e;--color-warning-bg:#d977061a;--color-warning-bg-soft:#d977060d;--color-danger:#dc2626;--color-danger-dark:#b91c1c;--color-danger-text:#991b1b;--color-danger-bg:#dc26261a;--color-danger-bg-soft:#dc26260d;--color-finished:#2563eb;--color-finished-text:#1e40af;--color-finished-bg:#2563eb1a;--color-review:#5b4b8a;--color-review-bg:#5b4b8a1a;--color-neutral:#475569;--color-neutral-bg:#4755692e;--color-bg:#fff;--color-bg-secondary:#f8f9fc;--color-surface:#fff;--color-surface-hover:#f3f4f8;--color-text:#1a1a3e;--color-text-sub:#64748b;--color-border:#e2e8f0;--color-border-strong:#94a3b8;--color-band-primary-bg:#0b4f9e17;--color-band-secondary-bg:#0077b624;--color-chart-1:#0b4f9e;--color-chart-2:#3b82f6;--color-chart-3:#14b8a6;--color-chart-4:#a855f7;--color-chart-5:#f59e0b;--color-chart-6:#ec4899;--color-chart-7:#84cc16;--color-chart-8:#94a3b8;--color-chart-cost:#d97706;--color-chart-grid:#e2e8f0;--radius:6px;--radius-lg:12px;--radius-full:50%;--shadow-sm:0 1px 2px #0000000d, 0 1px 3px #0000001a;--shadow-md:0 2px 4px #0000000d, 0 4px 8px #0000001a;--shadow-lg:0 4px 8px #00000014, 0 8px 16px #0000001f;--focus-ring:0 0 0 3px #2f9bff59;--focus-ring-success:0 0 0 3px #16a34a1a;--focus-ring-danger:0 0 0 3px #dc26261a;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:14px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:28px;--space-10:32px;--z-sticky:80;--z-scrim:85;--z-sidebar:90;--z-dropdown:200;--z-modal:300;--z-toast:400;--sidebar-width:240px;--sidebar-width-drawer:264px;--topbar-height:64px;--topnav-height:48px;--container-max:1180px;--container-max-narrow:960px;--container-max-form:480px;--font-body:var(--font-noto), "Hiragino Sans", "Yu Gothic", -apple-system, sans-serif;--font-display:var(--font-noto), "Hiragino Sans", "Yu Gothic", sans-serif;--font-label:var(--font-noto), "Hiragino Sans", "Yu Gothic", sans-serif}@media (max-width:900px){:root{--topnav-height:0px}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;min-height:100vh;font-weight:400;line-height:1.6}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}:focus-visible{box-shadow:var(--focus-ring);outline:none}.num{font-variant-numeric:tabular-nums}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{min-height:0}}
