*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1a2744;--navy-dark: #111c34;--navy-light: #253563;--gold: #c9a84c;--gold-light: #e5c97e;--gold-pale: #fdf6e3;--white: #ffffff;--bg: #f4f6f9;--bg-card: #ffffff;--border: #e2e6ed;--text: #1e293b;--text-muted: #64748b;--text-light: #94a3b8;--success: #16a34a;--error: #dc2626;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Merriweather", Georgia, serif;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 12px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.05);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 10px rgba(0,0,0,.06);--navbar-h: 64px;--sidebar-w: 280px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.3;color:var(--navy)}a{color:var(--navy);text-decoration:none}a:hover{color:var(--gold)}img{max-width:100%;display:block}ul{list-style:none}.app{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}.page-body{padding-block:40px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:var(--radius);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:1.5px solid transparent;white-space:nowrap;line-height:1.4}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--navy);color:var(--white);border-color:var(--navy)}.btn-primary:hover:not(:disabled){background:var(--navy-dark);color:var(--white);transform:translateY(-1px);box-shadow:0 4px 12px #1a27444d}.btn-outline{background:transparent;color:var(--navy);border-color:var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--navy);background:var(--navy);color:var(--white)}.btn-outline-gold{background:transparent;color:var(--gold);border-color:var(--gold)}.btn-outline-gold:hover:not(:disabled){background:var(--gold);color:var(--navy-dark)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--navy)}.btn-success{background:var(--success);color:var(--white);border-color:var(--success)}.btn-xs{padding:5px 12px;font-size:.78rem}.btn-sm{padding:7px 14px;font-size:.83rem}.btn-lg{padding:13px 28px;font-size:1rem}.btn-full{width:100%;justify-content:center}.navbar{position:sticky;top:0;z-index:100;height:var(--navbar-h);background:var(--navy);border-bottom:2px solid var(--gold);box-shadow:0 2px 12px #00000026}.navbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.navbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand-icon{font-size:1.5rem;filter:brightness(1.8) sepia(.8) hue-rotate(5deg)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-main{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--gold);letter-spacing:.02em}.brand-sub{font-size:.68rem;color:#fff9;letter-spacing:.06em;text-transform:uppercase}.navbar-nav{display:flex;align-items:center;gap:4px}.nav-link{padding:7px 14px;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:#ffffffbf;transition:all .15s ease}.nav-link:hover,.nav-link.active{color:var(--white);background:#ffffff1a}.nav-link-add{background:var(--gold);color:var(--navy-dark)!important;font-weight:600;margin-left:8px}.nav-link-add:hover{background:var(--gold-light)}.nav-auth-btn{margin-left:8px}.menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:8px}.hamburger{display:block;width:22px;height:2px;background:var(--white);position:relative;transition:background .15s}.hamburger:before,.hamburger:after{content:"";display:block;width:22px;height:2px;background:var(--white);position:absolute;transition:transform .2s}.hamburger:before{top:-6px}.hamburger:after{top:6px}.hero{background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 60%,var(--navy-light) 100%);padding:60px 0 52px;position:relative;overflow:hidden}.hero:before{content:"⚖";position:absolute;right:-20px;top:-20px;font-size:260px;opacity:.04;pointer-events:none;line-height:1}.hero-content{max-width:680px}.hero-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.hero-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--white);margin-bottom:14px;line-height:1.2}.hero-subtitle{font-size:1.05rem;color:#ffffffb8;margin-bottom:32px;max-width:560px;line-height:1.65}.search-bar{display:flex;gap:10px;align-items:center}.search-input-wrap{position:relative;flex:1}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.search-input{width:100%;padding:12px 42px 12px 44px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;color:var(--text);background:#fffffff7;box-shadow:0 2px 8px #0000001f;outline:none;transition:box-shadow .15s}.search-input:focus{box-shadow:0 0 0 3px #c9a84c66,0 2px 8px #0000001f}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:4px;line-height:1}.search-clear:hover{color:var(--text)}.search-btn{background:var(--gold);color:var(--navy-dark);border-color:var(--gold);font-weight:600;padding:12px 24px;flex-shrink:0}.search-btn:hover{background:var(--gold-light);color:var(--navy-dark);transform:translateY(-1px)}.section{margin-bottom:40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border)}.section-title{font-family:var(--font-heading);font-size:1.2rem;color:var(--navy)}.result-count{font-size:.82rem;color:var(--text-muted);font-weight:500}.topic-filter-row{display:flex;flex-wrap:wrap;gap:8px}.topic-filter-btn{padding:7px 16px;border-radius:20px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.83rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:var(--font-body)}.topic-filter-btn:hover{border-color:var(--navy);color:var(--navy);background:#1a27440a}.topic-filter-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy)}.topic-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.02em;border:1px solid;white-space:nowrap;transition:opacity .15s;text-decoration:none}.topic-badge:hover{opacity:.8}.judgment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#1a274426}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.card-topics{display:flex;flex-wrap:wrap;gap:5px}.card-date{font-size:.75rem;color:var(--text-light);white-space:nowrap}.card-title{font-family:var(--font-heading);font-size:1.05rem;line-height:1.4;margin:0}.card-title a{color:var(--navy);transition:color .15s}.card-title a:hover{color:var(--gold)}.card-court{font-size:.82rem;color:var(--text-muted);font-style:italic}.card-takeaways{padding-left:0;display:flex;flex-direction:column;gap:5px}.card-takeaways li{font-size:.84rem;color:var(--text);padding-left:16px;position:relative;line-height:1.5}.card-takeaways li:before{content:"›";position:absolute;left:0;color:var(--gold);font-weight:700}.card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.card-read-more{font-size:.82rem;font-weight:600;color:var(--navy);transition:color .15s,gap .15s;display:inline-flex;align-items:center;gap:4px}.card-read-more:hover{color:var(--gold)}.detail-page{padding-block:32px 60px}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-muted);margin-bottom:28px;flex-wrap:wrap}.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--navy)}.breadcrumb-sep{color:var(--text-light)}.breadcrumb-current{color:var(--text);font-weight:500}.detail-layout{display:grid;grid-template-columns:1fr var(--sidebar-w);gap:32px;align-items:start}.case-header{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.case-topics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.case-title{font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,1.8rem);color:var(--navy);line-height:1.35;margin-bottom:20px}.case-meta{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:24px}.meta-item{flex:1;min-width:150px;padding:12px 16px;border-right:1px solid var(--border);background:var(--bg)}.meta-item:last-child{border-right:none}.meta-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin-bottom:4px}.meta-value{font-size:.88rem;color:var(--text);font-weight:500}.citation-mono{font-family:Courier New,monospace;font-size:.82rem}.case-actions{display:flex;flex-wrap:wrap;gap:8px}.detail-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.section-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-section-title{font-family:var(--font-heading);font-size:1.05rem;color:var(--navy);display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-label-row .detail-section-title{margin-bottom:0}.section-num{font-family:var(--font-body);font-size:.72rem;font-weight:700;color:var(--gold);letter-spacing:.05em;background:#c9a84c1f;padding:2px 8px;border-radius:4px}.takeaways-section{border-left:4px solid var(--gold)}.takeaways-list{display:flex;flex-direction:column;gap:10px;list-style:none;counter-reset:takeaway}.takeaway-item{display:flex;gap:14px;align-items:flex-start;padding:10px 14px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);transition:background .15s}.takeaway-item:hover{background:#c9a84c0f}.takeaway-num{font-family:var(--font-body);font-size:.72rem;font-weight:700;color:var(--gold);background:#c9a84c26;padding:2px 7px;border-radius:4px;flex-shrink:0;margin-top:2px}.takeaway-text{font-size:.93rem;line-height:1.6;color:var(--text)}.prose{font-size:.95rem;line-height:1.75;color:var(--text);white-space:pre-wrap}.held-section{border-left:4px solid var(--navy)}.held-text{font-family:var(--font-heading);font-size:.95rem;line-height:1.8}.quotes-list{display:flex;flex-direction:column;gap:16px}.legal-quote{border-left:3px solid var(--gold);padding:14px 20px;background:var(--gold-pale);border-radius:0 var(--radius) var(--radius) 0}.legal-quote p{font-family:var(--font-heading);font-size:.95rem;font-style:italic;color:var(--navy-dark);line-height:1.7}.insight-section{background:#1a274405;border-style:dashed}.insight-box{display:flex;gap:16px;align-items:flex-start}.insight-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}.detail-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--navbar-h) + 20px)}.sidebar-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.sidebar-title{font-family:var(--font-heading);font-size:.9rem;color:var(--navy);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.sidebar-dl{display:flex;flex-direction:column;gap:10px}.sidebar-dl-row dt{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-light);margin-bottom:2px}.sidebar-dl-row dd{font-size:.85rem;color:var(--text);font-weight:500}.sidebar-topics{display:flex;flex-wrap:wrap;gap:6px}.topics-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding-bottom:40px}.topic-index-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .2s ease;text-decoration:none}.topic-index-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold);background:var(--gold-pale)}.topic-index-icon{font-size:2rem;color:var(--navy);opacity:.3;margin-bottom:10px;font-family:var(--font-heading)}.topic-index-name{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:6px}.topic-index-count{font-size:.78rem;color:var(--text-muted)}.page-header{padding-block:32px 28px;border-bottom:2px solid var(--border);margin-bottom:32px}.page-title{font-family:var(--font-heading);font-size:clamp(1.6rem,4vw,2.2rem);color:var(--navy);margin-bottom:8px}.page-subtitle{font-size:1rem;color:var(--text-muted)}.add-page{padding-block:32px 60px}.judgment-form{max-width:820px;display:flex;flex-direction:column;gap:0}.form-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.form-section-title{font-family:var(--font-heading);font-size:1rem;color:var(--navy);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.form-hint{font-size:.82rem;color:var(--text-muted);margin-bottom:14px;margin-top:-8px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group-full{grid-column:1 / -1}.form-label{font-size:.83rem;font-weight:600;color:var(--text)}.required{color:var(--error);margin-left:2px}.form-input{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.9rem;color:var(--text);background:var(--white);transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1a27441a}.form-textarea{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.9rem;color:var(--text);background:var(--white);resize:vertical;width:100%;line-height:1.6;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1a27441a}.form-textarea-sm{min-height:64px}.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.topic-checkbox{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.topic-checkbox:hover{border-color:var(--navy);background:#1a274408}.topic-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--navy);flex-shrink:0}.topic-checkbox input[type=checkbox]:checked+.topic-checkbox-label{color:var(--navy);font-weight:600}.topic-checkbox:has(input:checked){border-color:var(--navy);background:#1a27440d}.topic-checkbox-label{font-size:.85rem;color:var(--text)}.takeaways-form-list{display:flex;flex-direction:column;gap:8px}.takeaway-input-row{display:flex;align-items:center;gap:10px}.takeaway-form-num{font-size:.7rem;font-weight:700;color:var(--gold);background:#c9a84c1f;padding:3px 7px;border-radius:4px;flex-shrink:0;width:32px;text-align:center}.dynamic-list{display:flex;flex-direction:column;gap:10px}.dynamic-list-row{display:flex;gap:10px;align-items:flex-start}.dynamic-list-row .form-textarea{flex:1}.btn-remove{background:transparent;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;padding:8px 10px;font-size:.78rem;flex-shrink:0;transition:all .15s}.btn-remove:hover{border-color:var(--error);color:var(--error);background:#dc26260d}.form-submit-row{display:flex;justify-content:flex-end;padding-top:8px}.form-error-banner{background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:var(--radius);padding:12px 16px;color:var(--error);font-size:.88rem;margin-bottom:16px}.login-page{min-height:calc(100vh - var(--navbar-h) - 80px);display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:28px}.login-icon{font-size:2.5rem;display:block;margin-bottom:12px}.login-title{font-family:var(--font-heading);font-size:1.5rem;color:var(--navy);margin-bottom:6px}.login-subtitle{font-size:.88rem;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.login-divider{text-align:center;position:relative;margin-block:16px;color:var(--text-light);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:var(--border)}.login-divider:before{left:0}.login-divider:after{right:0}.btn-google{gap:10px;margin-bottom:16px}.login-back{text-align:center;font-size:.82rem;color:var(--text-muted)}.login-back a{color:var(--navy);font-weight:500}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-msg{font-size:.88rem;color:var(--text-muted)}.empty-state{text-align:center;padding:60px 24px;max-width:400px;margin-inline:auto}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.25;font-family:var(--font-heading)}.empty-state h3{font-size:1.2rem;color:var(--navy);margin-bottom:8px}.empty-state p{font-size:.9rem;color:var(--text-muted);margin-bottom:20px}.error-box{background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius);padding:20px 24px;color:var(--error);font-size:.9rem}.not-found{padding-block:60px}.footer{background:var(--navy-dark);border-top:2px solid var(--gold);padding:40px 0 28px;margin-top:60px}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand-text{font-family:var(--font-heading);font-size:.95rem;color:var(--gold)}.footer-tagline{font-size:.82rem;color:#ffffff73;max-width:340px}.footer-nav{display:flex;gap:20px}.footer-nav a{font-size:.82rem;color:#ffffff8c;transition:color .15s}.footer-nav a:hover{color:var(--gold)}.footer-copy{font-size:.75rem;color:#ffffff4d}@media (max-width: 900px){.detail-layout{grid-template-columns:1fr}.detail-sidebar{position:static;order:-1}.sidebar-card{padding:16px 20px}}@media (max-width: 768px){:root{--navbar-h: 56px}.menu-toggle{display:flex}.navbar-nav{display:none;position:absolute;top:var(--navbar-h);left:0;right:0;background:var(--navy-dark);border-bottom:2px solid var(--gold);flex-direction:column;padding:12px 16px 16px;gap:4px;box-shadow:0 8px 24px #0003}.navbar-nav.open{display:flex}.nav-link{width:100%;padding:10px 14px}.nav-link-add,.nav-auth-btn{margin-left:0;width:100%;text-align:center}.hero{padding:40px 0 36px}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:.93rem}.search-bar{flex-direction:column}.search-btn{width:100%;justify-content:center}.judgment-grid,.form-grid{grid-template-columns:1fr}.form-group-full{grid-column:1}.case-header,.detail-section{padding:20px}.case-meta{flex-direction:column}.meta-item{border-right:none;border-bottom:1px solid var(--border)}.meta-item:last-child{border-bottom:none}.topics-index-grid{grid-template-columns:repeat(2,1fr)}.login-card{padding:28px 20px}.form-section{padding:20px}}@media (max-width: 480px){.container{padding-inline:16px}.topics-index-grid{grid-template-columns:1fr}.case-actions{flex-direction:column}.case-actions .btn{width:100%;justify-content:center}}
