:root{--navy: #002b6b;--red: #e2001a;--red-dark: #c0001a;--white: #ffffff;--gray-light: #f4f4f4;--gray-mid: #d0d0d0;--gray-text: #555555;--black: #111111;--serif: "Source Serif 4", Georgia, serif;--sans: "Source Sans 3", "Segoe UI", system-ui, sans-serif;font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;background:var(--gray-light)}#root{width:100%;min-height:100svh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--navy);line-height:1.2}.navbar{background:var(--white);border-bottom:3px solid var(--red);width:100%}.navbar-inner{padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between}.navbar-left{display:flex;align-items:center;gap:16px}.navbar-logo img{height:38px;display:block}.navbar-title{font-family:var(--serif);font-size:1.3rem;font-weight:800;line-height:1;color:var(--navy);border-left:2px solid var(--gray-mid);padding-left:16px;letter-spacing:.02em;text-decoration:none}.navbar-right{display:flex;align-items:center;gap:24px}.navbar-brand{display:flex;align-items:center;gap:16px}.navbar-links{display:flex;align-items:center;gap:20px;flex:1;margin-left:24px}.navbar-hamburger{display:none;align-items:center;background:none;border:none;cursor:pointer;color:var(--navy);padding:6px}.navbar-hamburger:hover{color:var(--red)}.navbar-mobile{background:var(--white);border-top:1px solid var(--gray-mid);padding:6px 0 8px}.navbar-mobile-heading{padding:8px 16px 4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-text)}.navbar-mobile-link{display:block;padding:10px 16px;font-size:.95rem;font-weight:600;color:var(--navy);text-decoration:none}.navbar-mobile-link:hover{background:var(--gray-light);color:var(--red)}.navbar-mobile-auth{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px 4px;margin-top:6px;border-top:1px solid var(--gray-mid)}@media (max-width: 820px){.navbar-links,.navbar-right{display:none}.navbar-hamburger{display:inline-flex}}.nav-link{font-size:.9rem;font-weight:600;color:var(--navy);text-decoration:none;letter-spacing:.01em}.nav-link--btn{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit}.nav-link:hover,.nav-link--btn:hover{color:var(--red)}.nav-caret{flex-shrink:0;position:relative;top:1px}.nav-dropdown{position:relative}.nav-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}.nav-dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;background:var(--white);border:1px solid var(--gray-mid);border-radius:6px;box-shadow:0 4px 16px #0000001a;min-width:160px;padding:4px 0;z-index:100}.nav-dropdown-item{display:block;padding:8px 16px;font-size:.875rem;color:var(--black);text-decoration:none}.nav-dropdown-item:hover{background:var(--gray-light);color:var(--red)}.nav-dropdown-group{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--navy)}.nav-dropdown-subgroup{font-weight:700}.nav-dropdown-item--indent{padding-left:28px}.nav-dropdown-item--indent2{padding-left:44px}.app{max-width:900px;margin:0 auto;padding:40px 24px;width:100%}.page-hero{margin-bottom:24px;text-align:center}.page-hero h1{font-size:2rem;font-weight:800;margin-bottom:4px}.page-hero p{color:var(--gray-text);font-size:.95rem;max-width:540px;margin:0 auto;line-height:1.3}.filter-bar{margin-bottom:20px;display:flex;flex-direction:column;gap:10px;font-size:.9rem}.filter-row{display:flex;gap:8px}@media (max-width: 480px){.filter-row{flex-direction:column}}.filter-field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}.search-field-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-text)}.multi-select{position:relative}.court-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:10px 12px;font-family:var(--sans);font-size:.9rem;border:2px solid var(--gray-mid);border-radius:0;background:var(--white);color:var(--black);cursor:pointer;outline:none;transition:border-color .15s;text-align:left}.court-select-trigger:hover,.court-select-trigger--open{border-color:var(--navy)}.court-select-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.court-select-caret{flex-shrink:0;opacity:.5}.court-select-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--white);border:2px solid var(--navy);z-index:100;padding:4px 0}.court-select-option{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;font-size:.875rem}.court-select-option:hover{background:var(--gray-light)}.court-select-group-header{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--navy)}.court-select-subheader{font-weight:700}.court-select-option--indent{padding-left:28px}.court-select-option--indent2{padding-left:44px}.court-select-option input[type=checkbox]{margin:0;flex-shrink:0}.court-select-clear{display:block;width:100%;padding:6px 12px;margin-top:4px;border:none;border-top:1px solid var(--gray-mid);background:none;font-family:var(--sans);font-size:.75rem;color:var(--gray-text);cursor:pointer;text-align:left;text-decoration:underline}.court-select-clear:hover{color:var(--red)}.precedential-checkbox{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--black);cursor:pointer;width:fit-content}.precedential-checkbox input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--navy)}.results-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.85rem;color:var(--gray-text)}.opinion-card{position:relative;background:var(--white);border-left:4px solid var(--navy);padding:18px 20px 18px 32px;margin-bottom:12px}.opinion-card:hover{border-left-color:var(--red)}.court-spine{position:absolute;left:5px;top:0;bottom:0;display:grid;place-items:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);white-space:nowrap;pointer-events:none}.opinion-card:hover .court-spine{color:var(--red)}.opinion-card--pa,.opinion-card--pa.opinion-card--expanded{border-left-color:#a8860b}.opinion-card--pa .court-spine{color:#a8860b}.opinion-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.opinion-card-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.precedential-flag{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--red);color:var(--red);font-family:var(--serif);font-size:.85rem;font-weight:700;line-height:1}.opinion-title{font-family:var(--serif);font-size:1.1rem;font-weight:700;line-height:1.3}.opinion-title a{color:#333;text-decoration:none}.opinion-title a:hover{color:var(--red);text-decoration:underline}.opinion-card:hover .opinion-title a{color:var(--red)}.title-case-number{margin-left:8px;font-family:var(--sans);font-size:.8rem;font-weight:400;color:var(--gray-text);white-space:nowrap}.doc-type-label{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;color:var(--gray-text);white-space:nowrap}.result-header{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.result-header-sep{color:var(--gray-mid);font-size:.8rem}.filing-date{font-size:.85rem;color:var(--gray-text);display:inline-flex;align-items:center}.case-name{font-size:.85rem;color:var(--gray-text);font-style:italic}.precedential-text{font-size:.85rem;color:#1e9e40;font-weight:600}.tag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;background:var(--navy);color:var(--white)}.tag-state{background:var(--navy)}.tag-federal{background:var(--red)}.tag-scotus{background:#137333}.class-tags{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 18px;margin-top:8px}.class-group{display:flex;flex-direction:column;align-items:center;gap:4px}.class-group-label{font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#999;text-align:center;line-height:1}.class-group-boxes{display:flex;flex-wrap:wrap;gap:6px}.class-box{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;background:transparent;white-space:nowrap}.class-box--case-type{color:var(--navy);border:1px solid var(--navy);background:#002b6b12}.class-box--coa{color:#88194d;border:1px solid #88194d;background:#88194d12}.class-box--tag{color:var(--gray-text);border:1px solid var(--gray-text);background:var(--white)}.opinion-excerpt{margin-top:10px;font-size:.875rem;color:#444;line-height:1.6}.opinion-card--expanded{border-left-color:var(--red)}.read-more-btn{margin-top:12px;padding:0;white-space:nowrap;font-family:var(--sans);font-size:.85rem;font-weight:700;background:none;border:none;color:#333;cursor:pointer;display:inline-flex;align-items:center;text-decoration:none;text-underline-offset:5px;transition:all .2s ease}.read-more-btn:hover{text-decoration:underline;text-decoration-thickness:2px}.read-more-caret{margin-left:8px;display:inline-flex;align-items:center;transition:transform .3s ease}.read-more-caret--open{transform:rotate(180deg)}.opinion-detail{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-mid)}.detail-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;font-size:.875rem;margin-bottom:12px}.detail-meta dt{color:var(--gray-text);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}.detail-meta dd{color:var(--black)}.detail-section-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-text);margin-bottom:6px}.card-snippet{margin:8px 0 0;font-size:.85rem;line-height:1.6;color:#555}.snippet-more{color:#888;font-style:italic}.detail-excerpt p{font-size:.875rem;line-height:1.7;color:#444}.other-opinions-inline a{color:var(--link-color, #1a56db)}.status{color:var(--gray-text);font-size:.95rem;padding:32px 0;text-align:center}.error-msg{padding:12px 16px;background:#fce8e6;color:var(--red-dark);margin-bottom:16px;font-size:.9rem}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--gray-mid)}.page-btn{padding:8px 18px;font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--navy);color:var(--white);border:none;cursor:pointer;transition:background .15s}.page-btn:hover:not(:disabled){background:var(--red)}.page-btn:disabled{background:var(--gray-mid);cursor:default}.page-info{font-size:.875rem;color:var(--gray-text)}.navbar-email{font-size:.85rem;color:var(--gray-text);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-btn{font-family:var(--sans);font-size:.85rem;font-weight:700;padding:6px 14px;border:2px solid var(--navy);background:var(--white);color:var(--navy);cursor:pointer;text-decoration:none;white-space:nowrap}.navbar-btn:hover{background:var(--navy);color:var(--white)}.card-status{position:absolute;top:18px;right:20px;display:flex;align-items:center;gap:8px;z-index:2}.card-flag-corner{position:absolute;bottom:0;right:0;width:16px;height:16px;background:var(--red);clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none}.review-check{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:.8rem;color:var(--gray-text);white-space:nowrap}.review-check input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--gray-text)}.opinion-card--auth .opinion-card-top{padding-right:108px}.opinion-card--reviewed{opacity:.55}.opinion-card--reviewed:hover{opacity:.85}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.card-bottom .read-more-btn{margin-top:0}.flag-check{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--gray-text);cursor:pointer}.flag-check input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--red)}.class-box--highlight{box-shadow:0 0 0 2px currentColor}.class-box--more{cursor:pointer;color:var(--gray-text);border:1px solid var(--gray-mid);background:var(--white);font-family:var(--sans);line-height:1}.class-box--more:hover{color:var(--black);border-color:var(--gray-text)}.pref-form{display:flex;flex-direction:column;gap:14px;max-width:480px;margin:0 auto}.pref-group{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--gray-mid);border-left:4px solid var(--navy);border-radius:4px;background:var(--white)}.pref-group--highlight{border-left-color:#d99a00}.pref-group-header{display:flex;flex-direction:column;gap:3px}.pref-group-title{font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--navy)}.pref-group--highlight .pref-group-title{color:#b37a00}.pref-group-desc{font-size:.85rem;line-height:1.35;color:var(--gray-text)}.pref-group-desc strong{color:var(--black)}.pref-field-desc{font-size:.78rem;line-height:1.3;color:var(--gray-text)}.pref-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.pref-saved{color:#1e9e40;font-weight:700;font-size:.85rem}.myview-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--gray-mid)}.myview-tab{font-family:var(--sans);font-size:.9rem;font-weight:700;padding:8px 16px;border:none;background:none;color:var(--gray-text);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.myview-tab:hover{color:var(--navy)}.myview-tab--active{color:var(--navy);border-bottom-color:var(--red)}.counts-page .app,.counts-page{max-width:1100px}.counts-section-title{font-size:1.05rem;font-weight:700;color:var(--navy);margin:22px 0 10px}.counts-sub{font-size:.72em;font-weight:400;color:var(--gray-text);margin-left:1px}.counts-table-wrap{overflow-x:auto}.counts-table{width:100%;border-collapse:collapse;font-size:.875rem}.counts-table th,.counts-table td{padding:7px 12px;text-align:center;border-bottom:1px solid var(--gray-mid)}.counts-table th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);background:var(--white);position:sticky;top:0;white-space:nowrap}.counts-date-col{text-align:left!important;white-space:nowrap;color:var(--gray-text);font-size:.825rem}.counts-table th.counts-date-col{color:var(--navy)}.counts-row--empty td{opacity:.35}.counts-cell--nonzero{font-weight:700;color:var(--navy)}.counts-cell--total{font-weight:700;color:var(--gray-text);border-left:1px solid var(--gray-mid)}
