:root{color-scheme:light;--bg:#f6f7f8;--surface:#ffffff;--surface-muted:#eef3f0;--ink:#17201b;--muted:#66736d;--line:#d9e1dd;--brand:#2f7554;--brand-strong:#20563d;--accent:#2f6690;--warn:#9f5f22}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);background:var(--surface);padding:24px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;background:var(--brand);color:#fff;font-weight:700}.sidebar-nav{display:grid;grid-gap:8px;gap:8px;margin-top:32px}.sidebar-link{border-radius:8px;padding:10px 12px;color:var(--muted)}.sidebar-link[aria-current=page]{background:var(--surface-muted);color:var(--brand-strong);font-weight:700}.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:-webkit-sticky;position:sticky;top:0;z-index:5}.page{padding:36px 32px 56px}.page-header{max-width:980px}.eyebrow{color:var(--brand-strong);font-size:13px;font-weight:700;margin:0 0 6px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:0;margin-bottom:8px}.lead{color:var(--muted);max-width:760px;margin-bottom:0}.grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:20px}.grid,.workspace-grid{display:grid;gap:20px;margin-top:28px}.workspace-grid{grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);grid-gap:20px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;box-shadow:0 1px 2px rgba(23,32,27,.05)}.panel h2{font-size:18px;margin-bottom:12px}.stack{display:grid;grid-gap:14px;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field label,.field span{font-size:13px;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.field.checkbox-field{align-content:start}.field.checkbox-field input{width:20px;min-height:20px;padding:0;accent-color:var(--brand)}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button{min-height:42px;border:0;border-radius:8px;padding:0 16px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.button.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.button:disabled{cursor:wait;opacity:.62}.result-panel,.workflow-panel{display:grid;grid-gap:16px;gap:16px}.trace-list{display:grid;grid-gap:10px;gap:10px;margin:0}.trace-list div{display:grid;grid-template-columns:90px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:baseline}.trace-list dt{color:var(--muted);font-size:13px;font-weight:700}.trace-list dd{margin:0;min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.result-list{display:grid;grid-gap:12px;gap:12px}.result-item{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.result-item strong{display:block;margin-bottom:6px}.result-item p{color:var(--muted);margin-bottom:8px}.result-item span{color:var(--accent);font-size:13px;font-weight:700}.answer-box{white-space:pre-wrap;margin:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfd;color:var(--ink);font:inherit}.error-line,.status-line,.warning-line{margin:0;font-size:13px}.status-line{color:var(--accent)}.warning-line{color:var(--warn)}.error-line{color:#a21f2b}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:24px}.metric{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface)}.metric strong{display:block;font-size:24px}.metric span{color:var(--muted);font-size:13px}.policy-list{display:grid;grid-gap:10px;gap:10px;padding:0;margin:0;list-style:none}.policy-list li{border-left:3px solid var(--brand);padding-left:10px;color:var(--muted)}.kop-admin{display:grid;grid-gap:18px;gap:18px;margin-top:28px}.admin-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.form-grid.compact{flex:1 1;margin:0}.tabbar{display:flex;flex-wrap:wrap;gap:8px}.tab-button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:0 12px;font-weight:700;cursor:pointer}.tab-button[aria-selected=true]{border-color:var(--brand);background:var(--surface-muted);color:var(--brand-strong)}.admin-grid{display:grid;grid-gap:16px;gap:16px}.admin-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-two{grid-column:1/-1}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.metric-grid.dense{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.badge-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.compact-badges{gap:4px}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:6px;border:1px solid var(--line);background:#f8faf9;color:var(--muted);padding:2px 8px;font-size:12px;font-weight:700;white-space:nowrap}.badge.ok{border-color:#7db894;background:#eef8f1;color:#1f6b3d}.badge.warn{border-color:#e2b879;background:#fff8e8;color:#8a5a12}.badge.danger{border-color:#e6a0a8;background:#fff0f2;color:#a21f2b}.plain-list{display:grid;grid-gap:8px;gap:8px;padding-left:18px;margin:12px 0 0;color:var(--muted)}.lead.small{font-size:13px;margin-top:12px}.table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}.admin-table th{color:var(--muted);font-weight:700;white-space:nowrap}.admin-table td{min-width:120px;overflow-wrap:anywhere}.admin-table td p{margin:4px 0 0;color:var(--muted)}.compact-number{max-width:160px;margin:12px 0}.citation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.citation-item{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.citation-item p{color:var(--muted);margin:6px 0}.citation-item span{display:block;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.landing-shell{min-height:100vh;max-width:880px;margin:0 auto;padding:48px 24px}.landing-head{display:flex;align-items:center;gap:16px;margin-bottom:40px}.landing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.landing-card{display:grid;grid-gap:10px;gap:10px;align-content:start;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:28px 24px;box-shadow:0 1px 2px rgba(23,32,27,.05)}.landing-card h2{margin:0;color:var(--brand-strong)}.landing-card.secondary h2{color:var(--ink)}.landing-card p{margin:0;color:var(--muted)}.landing-cta{color:var(--brand-strong);font-weight:700}.ask-shell{min-height:100vh;display:flex;flex-direction:column}.ask-topbar{justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:5}.ask-topbar,.ask-topbar-brand{display:flex;align-items:center}.ask-topbar-brand{gap:14px}.ask-topnav{display:flex;gap:16px}.ask-topnav a{color:var(--muted);font-size:13px;font-weight:700}.ask-main{flex:1 1;width:min(100%,880px);margin:0 auto;padding:20px 24px 40px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(100%,440px)}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.admin-grid.two,.grid,.metric-grid,.workspace-grid{grid-template-columns:1fr}.admin-toolbar,.section-head{align-items:stretch;flex-direction:column}.citation-grid,.form-grid{grid-template-columns:1fr}.page,.topbar{padding-left:20px;padding-right:20px}.landing-grid{grid-template-columns:1fr}.ask-main{padding-left:16px;padding-right:16px}}