:root{--bg:#f9f7f2;--surface:#fff;--surface-warm:#faf8f4;--border:#ebe6dd;--border-soft:#f2efe9;--text:#1a1714;--muted:#6b6560;--faint:#9e9890;--forest:#1b3a2d;--forest-mid:#2a5c47;--forest-bg:#edf3ef;--forest-border:#1b3a2d26;--gold:#a07820;--gold-light:#c5a059;--gold-bg:#fdf8ed;--gold-border:#a0782026;--green:#1b5e38;--green-bg:#e8f4ec;--red:#8b1a1a;--red-bg:#f9ecec;--amber:#7a5800;--amber-bg:#fdf4dc;--shadow-sm:0 2px 8px #14100a08;--shadow-md:0 8px 24px #14100a0d;--shadow-lg:0 12px 48px #14100a0f;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-num:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;padding:0}.serif{font-family:var(--font-serif)}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.verdict-buy{background:var(--green-bg);color:var(--green);border:1px solid #1b5e3833}.verdict-pass{background:var(--red-bg);color:var(--red);border:1px solid #8b1a1a33}.verdict-watch{background:var(--amber-bg);color:var(--amber);border:1px solid #7a580033}.page-gutter{padding-left:24px;padding-right:24px}.nav-gutter{padding-left:32px;padding-right:32px}@media (max-width:640px){.page-gutter,.nav-gutter{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.checklist-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6px;display:grid}@media (max-width:640px){.checklist-grid{grid-template-columns:1fr}}.app-nav-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.app-nav-row>:first-child{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}@media (max-width:640px){.co-header-card{padding:16px 18px!important}.co-header-title{word-break:break-word;font-size:22px!important;line-height:1.25!important}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.streaming-dot{animation:1.4s ease-in-out infinite pulse-dot}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.4s cubic-bezier(.16,1,.3,1) both fadeSlideUp}.animate-in.delay-1{animation-delay:50ms}.animate-in.delay-2{animation-delay:.1s}.animate-in.delay-3{animation-delay:.15s}.animate-in.delay-4{animation-delay:.2s}.animate-in.delay-5{animation-delay:.25s}.hover-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes verdictStamp{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.verdict-stamp{animation:.25s cubic-bezier(.34,1.4,.64,1) both verdictStamp}.pull-quote{border-left:3px solid var(--gold-light);font-family:var(--font-serif);color:var(--faint);padding-left:16px;font-style:italic}.research-table-row{cursor:pointer;transition:background-color .1s}.research-table-row:hover{background-color:var(--forest-bg)!important}.mobile-only{display:block}.desktop-only{display:none}@media (min-width:641px){.mobile-only{display:none!important}.desktop-only{display:block!important}}.mobile-bottom-nav{display:none}@media (max-width:640px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,16px))!important}.mobile-bottom-nav{z-index:999;-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,12px);background:#f9f7f2f0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #14100a0a}.mobile-bottom-nav-inner{justify-content:space-around;align-items:center;width:100%;height:56px;padding:0 8px;display:flex}.mobile-nav-tab{color:var(--muted);-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 0;font-size:10.5px;font-weight:500;text-decoration:none;transition:color .15s;display:flex;position:relative}.mobile-nav-tab.active{color:var(--forest);font-weight:700}.mobile-nav-icon{justify-content:center;align-items:center;height:22px;display:flex}.mobile-nav-indicator{background:var(--forest);border-radius:2px;width:14px;height:2.5px;position:absolute;bottom:2px}}.sheet-portal{z-index:10000;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);background:#14100a73;animation:.2s ease-out both fadeIn;position:fixed;inset:0}.sheet-container{z-index:10001;background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:680px;max-height:85dvh;animation:.28s cubic-bezier(.16,1,.3,1) both slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 -10px 40px #14100a29}@media (min-width:641px){.sheet-portal{align-items:center;padding:24px}.sheet-container{border-radius:16px;max-height:80vh;animation:.25s cubic-bezier(.16,1,.3,1) both fadeInScale}}.sheet-handle-bar{justify-content:center;padding:10px 0 4px;display:flex}.sheet-handle{background:var(--border);border-radius:2px;width:36px;height:4px}.sheet-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 24px 16px;display:flex}.sheet-title{color:var(--text);font-size:18px;font-weight:700;font-family:var(--font-serif);letter-spacing:-.3px;margin:0}.sheet-subtitle{color:var(--muted);margin:4px 0 0;font-size:12px}.sheet-close-btn{background:var(--surface-warm);border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;transition:all .15s;display:flex}.sheet-close-btn:hover{background:var(--border);color:var(--text)}.sheet-body{padding:20px 24px calc(24px + env(safe-area-inset-bottom,12px));overscroll-behavior-y:contain;color:var(--text);font-size:14px;line-height:1.6;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
