:root{--bg: #f7f8fc;--panel: #ffffff;--border: #e4e7ef;--text: #1a1d2b;--muted: #6c7289;--accent: #1f3b8e;--accent-soft: #dfe4f6;--danger: #c53030;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;font-size:15px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:none;border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer}button:hover{background:var(--accent-soft)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:#16306e}input,select,textarea{font:inherit;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:#fff}.container{max-width:1100px;margin:0 auto;padding:16px}.navbar{background:#fff;border-bottom:1px solid var(--border);padding:12px 24px;display:flex;gap:24px;align-items:center;position:sticky;top:0;z-index:10}.navbar .brand{font-weight:700;color:var(--accent);font-size:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px}.tag{display:inline-block;background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:999px;font-size:12px;margin-right:6px}.muted{color:var(--muted)}.hero{background:linear-gradient(135deg,#1f3b8e,#5068c4);color:#fff;padding:48px 24px;border-radius:12px;margin-bottom:24px}.hero h1{margin:0 0 8px;font-size:28px}.hero p{margin:0;opacity:.9}.grid{display:grid;gap:12px}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.chat-turn{background:#fff;padding:12px 16px;border-radius:8px;margin-bottom:8px;border:1px solid var(--border)}.chat-turn.user{background:var(--accent-soft);border-color:var(--accent-soft)}pre.legal{white-space:pre-wrap;font-family:inherit;background:#fafbfe;padding:12px;border-radius:6px;border:1px solid var(--border)}.sidebar{position:sticky;top:72px;align-self:start;max-height:calc(100vh - 80px);overflow-y:auto;padding-right:8px}.detail-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}@media (max-width: 768px){.detail-layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none}}
