:root{--bg:#0b1026;--surface:#141a38;--surface-2:#1c2450;--border:#2f3a6e;--text:#eef1f9;--muted:#9aa5c9;--accent:#e04f57;--accent-2:#6b9ef8;--flag-red:#b22234;--flag-blue:#3c3b6e;--flag-white:#f4f6fb;--star-gold:#f2c14e;--yea:#3ba56b;--nay:#c9524a;--stripes:linear-gradient(90deg, var(--flag-blue) 0 22%, var(--flag-red) 22% 35%, var(--flag-white) 35% 48%, var(--flag-red) 48% 61%, var(--flag-white) 61% 74%, var(--flag-red) 74% 87%, var(--flag-white) 87% 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:10px;--radius-lg:16px;--shadow-1:0 1px 3px #00000059;--shadow-2:0 8px 24px #00000059;--font-display:Georgia, "Times New Roman", serif;--hairline:color-mix(in srgb, var(--border) 55%, transparent)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.55}.app{flex-direction:column;min-height:100vh;display:flex}.page{flex:1;width:min(1100px,100% - 3rem);margin:0 auto;padding:1.5rem 0 4rem}h1{font-family:var(--font-display);letter-spacing:-.01em;margin:.5rem 0 .75rem;font-size:2.5rem;font-weight:700}h2{font-family:var(--font-display);margin:2.25rem 0 .75rem;font-size:1.45rem}h3{margin:.25rem 0 .5rem;font-size:1.05rem}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}p{margin:.4rem 0}.muted{color:var(--muted)}.accent{color:var(--accent)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);margin:0 0 .15rem;font-size:.72rem;font-weight:600}.page-header{border-bottom:1px solid var(--hairline);margin-bottom:1.25rem;padding:1.25rem 0 .5rem}.page-header h1{margin:0}.page-header-title{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.lede{color:var(--muted);max-width:70ch;margin:.6rem 0 .9rem;font-size:1.08rem}.byline{margin:.15rem 0;font-size:.82rem}.navbar{background:var(--surface);border-bottom:3px solid var(--accent);box-shadow:var(--shadow-1);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:linear-gradient(135deg, var(--flag-blue) 0 45%, var(--flag-red) 45% 100%);color:var(--flag-white);border:1px solid var(--border);border-radius:6px;padding:.1rem .4rem;font-size:.9rem}.brand-eagle{font-size:1.3rem;line-height:1}.nav-link{color:var(--muted);border-radius:6px;padding:.35rem .7rem}.nav-link:hover{color:var(--text);text-decoration:none}.nav-link.active{color:var(--text);background:var(--surface-2)}.hero{text-align:center;padding:2rem 0 1.5rem}.page-hero{background:linear-gradient(180deg, var(--surface), transparent);border-radius:var(--radius-lg);margin-bottom:1rem;padding:3.5rem 1.5rem 2.5rem}.page-hero .eyebrow{color:var(--star-gold)}.hero h1{margin:0;font-size:3.25rem}.hero-eagle{filter:drop-shadow(0 0 14px #f2c14e59);margin-bottom:.5rem;font-size:3.2rem;line-height:1;display:block}.star-divider{color:var(--star-gold);letter-spacing:.9rem;text-indent:.9rem;text-align:center;margin:1.5rem 0 .25rem;font-size:.85rem}.tagline{max-width:620px;color:var(--muted);margin:1rem auto;font-size:1.1rem}.hero-actions{justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.btn{border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;box-shadow:var(--shadow-1);border:none;padding:.5rem 1.1rem;font-size:.95rem;display:inline-block}.btn:hover{filter:brightness(1.15);text-decoration:none}.btn.primary{background:var(--accent);color:var(--flag-white);font-weight:600}.link-btn{color:var(--accent-2);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);border:none;padding:1.1rem 1.35rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.25rem 0;display:grid}.stack{flex-direction:column;gap:.9rem;margin:1.25rem 0;display:flex}.feature-card,.resource,.case-row,.group-card{color:var(--text);transition:box-shadow .15s,transform .15s}.feature-card:hover,.resource:hover,.case-row:hover,.group-card:hover{box-shadow:var(--shadow-2);text-decoration:none;transform:translateY(-2px)}.pill{background:color-mix(in srgb, var(--accent) 16%, var(--surface-2));text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:none;border-radius:999px;padding:.12rem .65rem;font-size:.68rem;font-weight:600;display:inline-block}.pill.subtle{background:var(--surface-2);color:var(--muted)}.bill-meta{flex-wrap:wrap;gap:.4rem;margin-bottom:.3rem;display:flex}.notice{background:var(--surface-2);border:1px solid var(--accent);border-radius:8px;padding:.6rem .9rem;font-size:.9rem}.vote-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.vote-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .9rem;font-size:.9rem}.vote-btn.yea.active{background:var(--yea);border-color:var(--yea);color:#fff}.vote-btn.nay.active{background:var(--nay);border-color:var(--nay);color:#fff}.vote-bar{background:var(--nay);border-radius:999px;flex:1;min-width:120px;height:8px;overflow:hidden}.vote-bar-fill{background:var(--yea);height:100%}.case-row{align-items:flex-start;gap:1rem;display:flex}.case-score{color:var(--star-gold);text-align:center;min-width:3rem;padding-top:.4rem;font-size:1.4rem;font-weight:700}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-header{margin:.75rem 0 1rem}.section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.crumb{color:var(--muted);font-size:.9rem}.evidence{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);border:none;gap:.9rem;padding:.9rem 1rem;display:flex}.evidence.junk{opacity:.65;border:1px dashed var(--border)}.junk-collapsed{justify-content:space-between;align-items:center;font-size:.9rem}.evidence-votes{flex-direction:column;align-items:center;gap:.15rem;min-width:2.2rem;display:flex}.arrow{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.1rem;font-size:1rem}.arrow.up.active{color:var(--yea)}.arrow.down.active{color:var(--nay)}.score{font-weight:700}.score.negative{color:var(--nay)}.evidence-body{flex:1}.evidence-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.source-link{font-size:.85rem}.comments{border-top:1px solid var(--hairline);margin-top:.6rem;padding-top:.5rem}.comments-title{margin:.25rem 0 .5rem}.comment{align-items:flex-start;gap:.6rem;padding:.3rem 0;font-size:.88rem;display:flex}.comment-vote{background:var(--surface-2);color:var(--muted);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.78rem}.comment-vote.active{background:color-mix(in srgb, var(--yea) 25%, var(--surface-2));color:var(--yea)}.comment-form{gap:.5rem;margin-top:.4rem;display:flex}.comment-form input{flex:1}.form{flex-direction:column;gap:.8rem;margin:1rem 0;display:flex}.form label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}input,textarea,select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:6px;padding:.45rem .6rem;font-size:.92rem}input:focus,textarea:focus,select:focus{outline:1px solid var(--accent-2)}.comment-form button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.3rem .8rem}.lesson-section{margin-bottom:1.25rem}.lesson-section h2{color:var(--accent);font-size:1.15rem}.auth-page{justify-content:center;padding-top:1.5rem;display:flex}.auth-card{width:min(420px,100%)}.auth-card h1{margin:1rem 0 .25rem;font-size:1.5rem}.auth-tabs{border-bottom:1px solid var(--border);gap:.4rem;padding-bottom:.6rem;display:flex}.auth-tab{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:.3rem .8rem;font-size:.9rem}.auth-tab.active{background:var(--surface-2);border-color:var(--border);color:var(--text)}.auth-note{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem;font-size:.82rem}.form-error{color:var(--nay);margin:0;font-size:.88rem}.form-success{color:var(--yea);margin:0;font-size:.88rem}.nav-account{border:1px solid var(--border);margin-left:.4rem}.settings-card{margin:1.25rem 0}.settings-card h2{margin-top:.25rem;font-size:1.1rem}.settings-card .form{max-width:420px}.setting-toggle{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.5rem 0;display:flex}.setting-toggle input{accent-color:var(--accent);margin-top:.25rem}.setting-hint{font-size:.82rem;display:block}.danger-zone{border-color:var(--nay)}.btn.danger{border-color:var(--nay);color:var(--nay)}.btn.danger:hover{background:var(--nay);color:#fff}.nav-dropdown{display:inline-block;position:relative}.nav-drop-btn{font:inherit;cursor:pointer;background:0 0;border:none}.nav-menu{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:8px;flex-direction:column;min-width:200px;padding:.3rem;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0006}.nav-menu-link{color:var(--muted);border-radius:6px;padding:.45rem .7rem}.nav-menu-link:hover,.nav-menu-link.active{background:var(--surface-2);color:var(--text);text-decoration:none}@media (width<=640px){.nav-menu{left:auto;right:0}}.quiz-choice{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;margin:.4rem 0;padding:.65rem .9rem;display:block}.quiz-choice:hover:not(:disabled){border-color:var(--accent-2)}.quiz-choice:disabled{cursor:default}.quiz-choice.correct{border-color:var(--yea);background:#3ba56b26}.quiz-choice.wrong{border-color:var(--nay);background:#e04f5726}.quiz-progress{color:var(--muted);margin-bottom:.25rem;font-size:.85rem}.quiz-score{color:var(--star-gold);margin:.25rem 0;font-size:2.4rem;font-weight:700}.passport-cover{background:linear-gradient(160deg, var(--flag-blue), #262550);border:3px double var(--star-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);text-align:center;margin-bottom:1.5rem;padding:2.25rem 1rem}.passport-cover h1{color:var(--star-gold);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:2rem}.passport-cover-eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--star-gold);opacity:.85;margin:.75rem 0 .25rem;font-size:.7rem}.passport-cover-emblem{filter:drop-shadow(0 0 12px #f2c14e66);font-size:3rem;line-height:1.1}.passport-cover-rule{border-top:1px solid var(--star-gold);opacity:.6;width:min(320px,70%);margin:0 auto}.passport-holder{color:var(--flag-white);margin:.5rem 0 .15rem}.passport-count{color:var(--star-gold);margin:.15rem 0 .75rem}.passport-intro{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.passport-page{background:color-mix(in srgb, var(--flag-white) 4%, var(--surface));border-radius:var(--radius-lg);box-shadow:var(--shadow-1);margin:1.25rem 0;padding:1rem 1.25rem}.passport-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem;margin:1.25rem 0;display:grid}.stamp{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);text-align:center;padding:.9rem .6rem}.stamp.earned{border:2px dashed var(--star-gold);background:var(--surface-2);transform:rotate(var(--tilt,-2deg));opacity:.92}.stamp.locked{opacity:.45;filter:grayscale()}.stamp-emoji{font-size:2rem;line-height:1.2}.stamp h3{margin:.3rem 0 .2rem;font-size:.95rem}.stamp p{margin:0;font-size:.78rem}.stamp-date{font-family:var(--font-display);color:var(--star-gold);font-size:.78rem;font-style:italic}.stat-row{margin:.6rem 0}.stat-row-head{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.9rem;display:flex}.stat-bar{background:var(--surface-2);border-radius:999px;height:10px;margin-top:.3rem;overflow:hidden}.stat-bar-fill{border-radius:999px;height:100%}.legend{color:var(--muted);flex-wrap:wrap;gap:.9rem;margin:.5rem 0 1rem;font-size:.82rem;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px;margin-right:.35rem;display:inline-block}.member-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.member-row:last-child{border-bottom:none}.footer{border-top:3px solid var(--accent);background:var(--surface);color:var(--muted);text-align:center;margin-top:2rem;padding:1.25rem 1rem;font-size:.82rem}.filter-bar{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;padding:.75rem 1rem;font-size:.88rem;display:flex}.filter-bar input[type=search]{flex:1;min-width:160px}.info-badge{font-size:.78rem;display:inline-block;position:relative}.info-badge summary{cursor:pointer;color:var(--accent-2);-webkit-user-select:none;user-select:none;list-style:none}.info-badge summary::-webkit-details-marker{display:none}.info-popover{z-index:20;background:var(--surface-2);border-radius:var(--radius);min-width:260px;max-width:340px;box-shadow:var(--shadow-2);padding:.7rem .9rem;font-size:.82rem;position:absolute;top:calc(100% + 6px);left:0}.info-popover p,.info-sources{margin:.25rem 0}.info-sources ul{margin:.2rem 0 0;padding-left:1rem}.info-sources li{overflow-wrap:anywhere;margin-bottom:.15rem}.synopsis{border-left:4px solid var(--star-gold);margin:1rem 0}.synopsis-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem;font-size:.82rem;display:flex}.pill.ai-pill{background:color-mix(in srgb, var(--star-gold) 22%, var(--surface-2));color:var(--star-gold)}.group-avatar{object-fit:cover;color:var(--flag-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.group-card{align-items:flex-start;gap:1rem;display:flex}.group-header{align-items:center;gap:1rem;margin:.75rem 0 .5rem;display:flex}.image-preview{align-items:center;gap:.75rem;display:flex}.image-preview .group-avatar{width:64px;height:64px}.image-controls{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0;display:flex}.file-btn{cursor:pointer}
