:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e2e6ec;--text:#16202e;--muted:#5d6878;--primary:#1d4ed8;--primary-text:#fff;--user-bubble:#1d4ed8;--warn-bg:#fff7e0;--warn-text:#7a5300;--error-bg:#fdecec;--error-text:#9b1c1c;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#0f141b;--surface:#171e27;--surface-2:#1f2833;--border:#2a3542;--text:#e6ebf2;--muted:#93a0b2;--primary:#4c7df0;--user-bubble:#2f5fd6;--warn-bg:#3a2f12;--warn-text:#f4d58a;--error-bg:#3d1a1a;--error-text:#f5b3b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button{font:inherit;cursor:pointer}a{color:var(--primary)}.muted{color:var(--muted)}.app{flex-direction:column;max-width:1400px;height:100dvh;margin:0 auto;padding:0 16px;display:flex}.header{justify-content:space-between;align-items:center;gap:12px;padding:14px 0 10px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand h1{margin:0;font-size:1.2rem}.brand p{margin:0;font-size:.85rem}.header-actions{align-items:center;gap:8px;display:flex}.lang-toggle{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.lang-toggle button{color:var(--muted);background:0 0;border:0;padding:4px 12px;font-weight:600}.lang-toggle button.active{background:var(--primary);color:var(--primary-text)}.btn-ghost{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 12px}.btn-primary{background:var(--primary);color:var(--primary-text);border:0;border-radius:10px;padding:0 18px;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:default}.law-filter{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px;display:flex}.combo{width:min(520px,100%);position:relative}.combo input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:8px 12px}.combo-list{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.combo-list button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:baseline;gap:8px;padding:8px;display:flex}.combo-list button:hover{background:var(--surface-2)}.combo-empty{padding:8px}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:4px 6px 4px 10px;display:inline-flex}.chip button{background:var(--surface-2);color:var(--muted);border:0;border-radius:999px;width:22px;height:22px;line-height:1}.chip-type{color:var(--primary);flex:none;font-size:.72rem;font-weight:700}.layout{flex:1;grid-template-columns:1fr;gap:16px;min-height:0;padding-bottom:16px;display:grid}.side-panel{display:none}@media (width>=1024px){.layout{grid-template-columns:minmax(0,1fr) 400px}.side-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;padding:14px;display:flex}.side-panel h2{margin:0 0 10px;font-size:1rem}.side-list{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.inline-sources{display:none}}.chat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex}.messages{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.empty{text-align:center;max-width:560px;color:var(--muted);margin:auto}.examples{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.example{border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;border-radius:999px;padding:6px 12px}.msg{max-width:100%}.msg-user{background:var(--user-bubble);color:#fff;white-space:pre-wrap;border-radius:14px 14px 4px;align-self:flex-end;max-width:80%;padding:8px 14px}.msg-assistant{border-left:3px solid #0000;align-self:stretch;padding-left:12px}.msg-assistant.active{border-left-color:var(--primary)}.typing{font-style:italic}.markdown{overflow-x:auto}.markdown table{border-collapse:collapse;margin:8px 0;font-size:.92rem}.markdown th,.markdown td{border:1px solid var(--border);vertical-align:top;text-align:left;padding:6px 8px}.markdown th{background:var(--surface-2)}.markdown hr{border:0;border-top:1px solid var(--border)}.banner{border-radius:8px;margin:6px 0;padding:8px 12px;font-size:.9rem}.banner-warn{background:var(--warn-bg);color:var(--warn-text)}.banner-error{background:var(--error-bg);color:var(--error-text)}.inline-sources summary{cursor:pointer;color:var(--primary);margin-bottom:6px;font-weight:600}.inline-sources-list{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.composer{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.composer textarea{resize:none;border:1px solid var(--border);font:inherit;background:var(--bg);color:var(--text);border-radius:10px;flex:1;padding:8px 12px}.source-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 12px}.source-card header{align-items:flex-start;gap:10px;display:flex}.source-n{background:var(--primary);width:22px;height:22px;color:var(--primary-text);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.source-title{flex-direction:column;flex:1;min-width:0;font-size:.9rem;display:flex}.badge{border:1px solid var(--border);color:var(--muted);border-radius:6px;flex:none;padding:1px 6px;font-size:.7rem;font-weight:700}.source-text{white-space:pre-wrap;margin:8px 0 6px;font-size:.88rem}.source-text.clamped{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.source-card footer{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.link-btn{color:var(--muted);background:0 0;border:0;padding:0;text-decoration:underline}
