:root{--color-primary:#4f46e5;--color-secondary:#5b6474;--color-accent:#0f766e;--color-accent-hover:#0b5f58;--color-accent-active:#094f49;--color-bg:#f4f5f7;--color-surface:#fff;--color-surface-hover:#edeff3;--color-surface-active:#e2e6ec;--color-canvas:#fff;--color-text:#1f2430;--color-text-muted:#5b6474;--color-text-on-fill:#fff;--color-border:#0f172a24;--color-error:#c81e1e;--color-error-bg:#fdecec;--color-success:#15803d;--color-warning:#b45309;--color-disabled-bg:#cbd2da;--color-disabled-text:#7a8494;--color-overlay:#0f172a73;--diagram-node-fill:#ececff;--diagram-node-stroke:#9370db;--diagram-node-text:#1f2430;--diagram-edge-stroke:#333;--diagram-edge-label-bg:#fff;--diagram-cluster-fill:#f3f4f9;--diagram-cluster-stroke:#b9bdd1;--diagram-selection:#4f46e5;--diagram-guide:#f0a202;--font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-h1:20px;--font-size-h2:28px;--font-size-h3:22px;--font-size-body:16px;--font-size-control:14px;--font-size-button:15px;--font-size-caption:13px;--font-size-code:14px;--line-height-h1:1.3;--line-height-h2:1.4;--line-height-h3:1.5;--line-height-body:1.8;--line-height-control:1.5;--line-height-caption:1.6;--line-height-code:1.7;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-section:48px;--space-section-sp:32px;--radius-card:10px;--radius-button:8px;--radius-input:8px;--radius-modal:12px;--radius-toast:8px;--shadow-modal:0 12px 32px #0f172a2e;--shadow-toast:0 4px 16px #0f172a29;--shadow-dropdown:0 4px 16px #0f172a1f;--control-height:32px;--control-height-touch:44px;--button-height:40px;--header-height:56px;--statusbar-height:32px;--bp-tablet:768px;--bp-desktop:1024px;--bp-large:1280px}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}button,input,select,textarea{color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.primaryButton,.secondaryButton{justify-content:center;align-items:center;gap:var(--space-xs);height:var(--button-height);padding:0 var(--space-md);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:var(--font-weight-bold);cursor:pointer;border:1px solid #0000;line-height:1;transition:background-color .12s,border-color .12s;display:inline-flex}.primaryButton{background:var(--color-accent);color:var(--color-text-on-fill)}.primaryButton:hover:not(:disabled){background:var(--color-accent-hover)}.primaryButton:active:not(:disabled){background:var(--color-accent-active);transform:translateY(1px)}.secondaryButton{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.secondaryButton:hover:not(:disabled){background:var(--color-surface-hover)}.secondaryButton:active:not(:disabled){background:var(--color-surface-active)}.primaryButton:disabled,.secondaryButton:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed;border-color:#0000}.visuallyHidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
