:root{color:#17211b;background:#f4f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:24px}.login-shell{display:grid;min-height:100vh;place-items:center;padding:20px}.login-panel,.search-panel,.panel,.legal-text-pane,.empty-state,.loading-state{border:1px solid #d8d4c7;border-radius:8px;background:#fffefb}.login-panel{display:grid;width:min(480px,100%);gap:22px;padding:24px}.search-panel{display:grid;gap:18px;padding:22px}.brand-row{display:flex;gap:14px;align-items:center}.brand-mark{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:8px;color:#fff;background:#265c4b}h1,h2,h3,p,dl,dd,blockquote{margin:0}h1{font-size:24px;line-height:1.15}h2{font-size:17px;line-height:1.25}h3{font-size:15px;line-height:1.35}.brand-row p,.pane-header p,.modal-header p,.opinion-author{margin-top:4px;color:#667168;font-size:13px}.search-form,.login-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}label{display:grid;gap:7px;color:#4c5a51;font-size:13px;font-weight:650}input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9c4b6;border-radius:6px;color:#17211b;background:#fff;outline:none}input:focus{border-color:#2f6c57;box-shadow:0 0 0 3px #2f6c5724}.search-form button,.login-form button,.logout-button,.example-row button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;border-radius:6px;cursor:pointer}.search-form button,.login-form button{min-height:44px;padding:0 18px;border:0;color:#fff;background:#265c4b;font-weight:750}.search-form button:disabled,.login-form button:disabled{cursor:wait;opacity:.7}.logout-button{margin-left:auto;padding:0 11px;border:1px solid #d8d4c7;color:#314038;background:#fff;font-size:13px}.example-row,.tag-row,.legal-meta{display:flex;flex-wrap:wrap;gap:8px}.example-row button{padding:0 11px;border:1px solid #d8d4c7;color:#314038;background:#f7f6f1;font-size:13px}.workspace{display:grid;gap:18px;margin-top:18px}.legal-text-pane,.panel{min-width:0;overflow:hidden}.pane-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e4e0d5}.legal-meta{padding:14px 18px 0}.tag-row span,.legal-meta span,.confidence{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border:1px solid #ddd8cb;border-radius:999px;color:#526158;background:#f7f6f1;font-size:12px;font-weight:650}.confidence.high{border-color:#9bc6aa;color:#1f5a36;background:#eef8f1}.confidence.medium{border-color:#d9c888;color:#6f5a13;background:#fff8df}.confidence.low{border-color:#d6b7a2;color:#7a3519;background:#fff0e7}.source-note{display:grid;gap:7px;padding:14px 18px;border-bottom:1px solid #e8e4d9;color:#526158;font-size:13px}.source-note strong{color:#17211b;font-size:16px}.legal-text{height:min(52vh,620px);min-height:360px;overflow:auto;padding:22px;color:#243028;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75;white-space:pre-wrap}.annotation-list{display:grid;gap:12px;padding:12px}.annotation-card{display:grid;gap:12px;padding:14px;border:1px solid #ded9cc;border-radius:7px;background:#fff}.modal-header{display:flex;gap:12px;align-items:start;justify-content:space-between}.modal-actions{display:flex;justify-content:flex-end}.modal-actions button{min-height:34px;padding:0 12px;border:1px solid #d8d4c7;border-radius:6px;color:#314038;background:#fff;cursor:pointer}.opinion-list{display:grid;gap:8px}.opinion-card{border:1px solid #e4e0d5;border-radius:7px;background:#fbfaf5}.opinion-card summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;font-size:13px;font-weight:750}.opinion-card summary::-webkit-details-marker{display:none}.opinion-card a{color:#265c4b;font-size:12px;text-decoration:none}.opinion-link-row{display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.opinion-author{padding:0 12px 10px}.context-list{display:grid;gap:8px;padding:0 12px 12px}.context-list blockquote{display:grid;gap:6px;padding:10px;border-left:3px solid #8aa99c;color:#344139;background:#fff;font-size:13px;line-height:1.5}.context-list strong{color:#265c4b}.annotation-card p,.topic span,.limitations{color:#37453d;font-size:13px;line-height:1.5}.topic{display:grid;gap:5px}.judicial-list,.reference-list{display:grid;gap:12px}.judicial-item,.reference-list div{display:grid;gap:6px;padding-top:10px;border-top:1px solid #ebe7dc}.judicial-item:first-child,.reference-list div:first-child{padding-top:0;border-top:0}.judicial-item strong,.reference-list strong,.topic strong{color:#17211b;font-size:13px}.case-ref-list{display:flex;flex-wrap:wrap;gap:7px}.case-ref-list button,.case-ref-list span{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border:1px solid #ddd8cb;border-radius:999px;color:#526158;background:#f7f6f1;font-size:12px;font-weight:650}.case-ref-list button{cursor:pointer}.case-ref-list button:hover:not(:disabled){border-color:#8aa99c;color:#265c4b;background:#f4faf6}.case-ref-list button:disabled{cursor:default;opacity:.75}.limitations{display:grid;gap:5px;margin:0;padding-left:18px}.empty-state,.loading-state{display:grid;min-height:240px;place-items:center;gap:10px;margin-top:18px;padding:24px;color:#526158;text-align:center}.empty-state h2{color:#17211b}.loading-state{display:flex;justify-content:center}.empty,.error{margin:16px;padding:14px;border-radius:7px}.empty.compact{margin:0}.empty{color:#5e675f;background:#f7f6f1}.error{border:1px solid #e2b7a6;color:#7c2d12;background:#fff4ee}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#17211b73}.case-modal{display:grid;gap:14px;width:min(900px,100%);max-height:min(820px,90vh);overflow:auto;padding:18px;border:1px solid #d8d4c7;border-radius:8px;background:#fffefb;box-shadow:0 24px 60px #17211b3d}.modal-section{display:grid;gap:10px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.shell{padding:14px}.search-form,.login-form{grid-template-columns:1fr}.brand-row{align-items:flex-start}.logout-button{margin-left:0}.legal-text{height:52vh;min-height:320px}}@media(max-width:560px){.brand-row,.modal-header,.opinion-card summary{flex-direction:column;align-items:stretch}.search-panel,.login-panel{padding:16px}}
