:root{--bg: #f7f8fa;--surface: #ffffff;--surface-2: #eef1f5;--text: #1a2230;--text-muted: #51607a;--border: #d6dbe4;--border-strong: #7e8799;--accent: #2f5fe0;--accent-contrast: #ffffff;--accent-weak: #e6edff;--danger: #c0362c;--c-customer: #177049;--c-competitor: #8a4d1d;--c-company: #2f5fe0;--c-strength: #177049;--c-weakness: #8a4d1d;--c-opportunity: #2f5fe0;--c-threat: #c0362c;--radius: 10px;--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .06);--shadow-float: 0 6px 24px rgba(0,0,0,.18);--focus: 0 0 0 3px rgba(47, 95, 224, .45);color-scheme:light}:root[data-theme=dark]{--bg: #0f141c;--surface: #18202b;--surface-2: #212c3a;--text: #eef2f8;--text-muted: #a7b4c7;--border: #2f3b4c;--border-strong: #6c7789;--accent: #7aa0ff;--accent-contrast: #0f141c;--accent-weak: #243152;--danger: #ff8a80;--c-customer: #5fcfa0;--c-competitor: #e0a36a;--c-company: #7aa0ff;--c-strength: #5fcfa0;--c-weakness: #e0a36a;--c-opportunity: #7aa0ff;--c-threat: #ff8a80;--shadow: 0 1px 3px rgba(0, 0, 0, .4);--focus: 0 0 0 3px rgba(122, 160, 255, .55);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,Noto Sans KR,Noto Sans SC,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}button,select,summary,input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]){min-height:44px}button{min-width:44px}header button{min-width:44px}.tap-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px}input,textarea,select{font:inherit;color:inherit;border-color:var(--border-strong)!important}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}a{color:var(--accent)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-nav{width:200px;flex-shrink:0;padding:12px;border-right:1px solid var(--border);background:var(--surface)}@media (max-width: 640px){.app-body{flex-direction:column}.app-nav{width:100%;display:flex;gap:6px;overflow-x:auto;padding:8px;border-right:none;border-bottom:1px solid var(--border);background:linear-gradient(to right,var(--surface),var(--surface)) left center / 16px 100% no-repeat local,linear-gradient(to left,var(--surface),var(--surface)) right center / 16px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.28),transparent) left center / 12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.28),transparent) right center / 12px 100% no-repeat scroll,var(--surface)}.app-nav>div{display:none}.app-nav .nav-item{width:auto!important;flex:0 0 auto;white-space:nowrap;margin-bottom:0;min-height:44px;display:flex;align-items:center}.app-main{padding:14px!important}header button{min-height:44px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;margin:0;padding:8px 14px;clip:auto;overflow:visible;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);z-index:200}@media print{header,.app-nav,footer,.skip-link{display:none!important}.app-body{display:block!important}.app-main{overflow:visible!important;padding:0!important}main button{display:none!important}input,textarea,select{border:none!important;background:transparent!important;resize:none!important}}@media print{.no-print{display:none!important}}
