:root{--black: #0a0a0a;--surface: #111111;--card: #161616;--card-hover: #1c1c1c;--border: #222222;--border-light: #2a2a2a;--text: #ffffff;--text-secondary: #999999;--orange: #f15a22;--orange-light: #ff7a47;--orange-glow: rgba(241, 90, 34, .12);--red: #ef4444;--red-dim: rgba(239, 68, 68, .08);--green: #22c55e;--font-display: "Bebas Neue", sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-3xl: clamp(1.8rem, 4.5vw, 3.2rem);--font-2xl: clamp(1.2rem, 2.5vw, 1.8rem);--font-xl: 1.4rem;--font-lg: 1.2rem;--font-base: 1rem;--font-sm: .8rem;--font-xs: .65rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1;min-width:0}.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}.w-full{width:100%}.relative{position:relative}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-display{font-family:var(--font-display);letter-spacing:.04em}.text-3xl{font-size:var(--font-3xl)}.text-2xl{font-size:var(--font-2xl)}.text-xl{font-size:var(--font-xl)}.text-lg{font-size:var(--font-lg)}.text-base{font-size:var(--font-base)}.text-sm{font-size:var(--font-sm)}.text-xs{font-size:var(--font-xs)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.08em}.tabular-nums{font-variant-numeric:tabular-nums}.leading-tight{line-height:1.25}.leading-none{line-height:1}.text-primary{color:var(--text)}.text-secondary{color:var(--text-secondary)}.text-orange{color:var(--orange)}.text-red{color:var(--red)}.text-green{color:var(--green)}.bg-black{background:var(--black)}.bg-surface{background:var(--surface)}.bg-card{background:var(--card)}.label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}body{background:var(--black);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;height:100dvh;overflow:hidden}a{color:var(--orange);text-decoration:none}a:hover{color:var(--orange-light)}.dashboard{display:grid;grid-template-columns:1fr minmax(0,30rem);height:100dvh;overflow:hidden}.left-panel{position:relative;border-right:1px solid var(--border);overflow:hidden;background:var(--black)}.lp-globe{position:absolute;inset:0;z-index:0}.left-panel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(0deg,rgba(10,10,10,.95) 0%,rgba(10,10,10,.5) 50%,transparent 100%);z-index:1;pointer-events:none}.lp-bottom{position:absolute;bottom:0;left:0;right:0;z-index:2}.lp-statement{padding:1.5rem 2rem}.lp-statement-text{font-family:var(--font-display);font-size:var(--font-3xl);line-height:1.25;color:var(--text);letter-spacing:.02em}.lp-statement-logo{height:1.5em;width:auto;vertical-align:-.3em;margin-right:.1em;border-radius:50%}.lp-statement-text em{font-style:italic;color:var(--orange)}.lp-statement-number{color:var(--orange)}.lp-statement-detail{margin-top:3rem;text-wrap-mode:nowrap}.lp-statement-multiplier{color:var(--orange)}.lp-statement-text a{color:var(--text);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;text-decoration-thickness:3px}.lp-statement-text a:hover{color:var(--orange)}.methodology-asterisk{background:none;border:none;padding:0;font:inherit;color:var(--text);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;text-decoration-thickness:3px;cursor:pointer}.methodology-asterisk:hover{color:var(--orange)}.lp-statement-kicker{font-family:var(--font-display);font-size:var(--font-2xl);line-height:1.25;color:var(--text-secondary);margin-top:1rem;letter-spacing:.02em}.lp-footer-methodology{background:none;border:none;font-family:var(--font-body);font-size:var(--font-sm);color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:currentColor;letter-spacing:.02em;cursor:pointer;padding:0;transition:color .15s}.lp-footer-methodology:hover{color:var(--orange)}.methodology-backdrop{position:fixed;inset:0;z-index:99;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .15s ease-out}.methodology-popup{position:relative;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;padding:2rem;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;animation:fadeIn .2s ease-out;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.methodology-popup::-webkit-scrollbar{width:5px}.methodology-popup::-webkit-scrollbar-track{background:transparent}.methodology-popup::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.methodology-header{margin-bottom:1.25rem}.methodology-close{background:none;border:none;line-height:1;cursor:pointer;padding:0;transition:color .15s}.methodology-close:hover{color:var(--text)}.methodology-cards{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.methodology-card{background:var(--card);padding:1.25rem}.methodology-card-title{display:block;margin-bottom:.75rem}.methodology-row{padding:.3rem 0}.methodology-val{font-variant-numeric:tabular-nums}.methodology-val a{color:var(--orange);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.methodology-val a:hover{color:var(--orange-light)}.methodology-total{margin-top:.5rem;padding-top:.6rem;border-top:1px solid var(--border-light)}.methodology-total .text-secondary{font-weight:600;color:var(--text)}.methodology-total-val{letter-spacing:.02em}.methodology-table{width:100%;border-collapse:collapse;font-size:var(--font-sm);margin-top:.25rem}.methodology-table th{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);text-align:right;padding:.4rem 0;border-bottom:1px solid var(--border-light)}.methodology-table th:first-child{text-align:left}.methodology-table td{padding:.5rem 0;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.methodology-table td:first-child{text-align:left;color:var(--text-secondary)}.methodology-table tbody tr:last-child td{padding-top:.6rem;border-top:1px solid var(--border-light);font-weight:600}.methodology-table a{color:var(--orange);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.methodology-table a:hover{color:var(--orange-light)}.methodology-sources{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.methodology-sources-title{margin-bottom:.6rem}.methodology-sources-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:var(--font-sm);color:var(--text-secondary);counter-reset:source}.methodology-sources-list li{counter-increment:source;line-height:1.5}.methodology-sources-list li:before{content:"[" counter(source) "] ";color:var(--text-secondary);opacity:.5}.methodology-sources-list a{color:var(--orange);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.methodology-sources-list a:hover{color:var(--orange-light)}.lp-footer{display:flex;align-items:center;justify-content:space-between;padding:.6rem 2rem;background:#0a0a0ae6;border-top:1px solid var(--border);gap:1rem;flex-wrap:wrap}.lp-footer-share{gap:.6rem}.lp-footer-sources{gap:1rem}.lp-footer-sources a{font-size:var(--font-sm);color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:currentColor;letter-spacing:.02em;pointer-events:auto}.lp-footer-sources a:hover{color:var(--orange)}.lp-footer-sep{color:var(--text-secondary);opacity:.4}.share-link{display:flex;align-items:center;color:var(--text-secondary);transition:color .15s}.share-link:hover{color:var(--text)}.fl-cams{padding-top:.75rem;border-top:1px solid var(--border);margin-top:.75rem}.fl-cams-label{display:block;margin-bottom:.5rem}.fl-cams-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.fl-cam{display:flex;flex-direction:column;border-radius:4px;overflow:hidden;border:1px solid var(--border);text-decoration:none;transition:border-color .2s}.fl-cam:hover{border-color:var(--orange)}.fl-cam-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.fl-cam-name{padding:.25rem .35rem;font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);background:var(--card);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.fl-cams-grid{grid-template-columns:1fr}}.fl-share{gap:.5rem;padding-top:.75rem}.fl-share-label{margin-right:.25rem}.right-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--black);anchor-name:--right-panel;z-index:20}.rp-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.rp-scroll::-webkit-scrollbar{width:5px}.rp-scroll::-webkit-scrollbar-track{background:var(--black)}.rp-scroll::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.rp-header{display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.rp-btn-group{gap:.4rem}.rp-btn{display:flex;align-items:center;gap:.35em;font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);background:var(--card);text-decoration:none;padding:.3em .7em;border:1px solid var(--border);border-radius:6px;transition:color .15s,border-color .15s}.rp-btn:hover{color:var(--orange);border-color:var(--orange)}.rp-search{display:flex;align-items:center;gap:.5rem}.rf-wrap{position:relative;display:flex;align-items:center}.rf-icon{position:absolute;left:.65rem;color:var(--text-secondary);pointer-events:none;display:flex;transition:color .25s}.rf-wrap:focus-within .rf-icon{color:var(--orange)}.rf-input{background:var(--card);border:1px solid transparent;color:var(--text);font-family:var(--font-body);font-size:var(--font-sm);height:2.125rem;padding:0 .6rem 0 2rem;border-radius:6px;outline:none;width:100%;min-width:0;transition:border-color .25s,box-shadow .25s,background .25s}.rf-input::placeholder{color:var(--text-secondary);opacity:.6}.rf-input:focus{border-color:var(--orange);background:var(--card-hover);box-shadow:0 0 0 3px #f15a221a}.rf-sort-btn{display:flex;align-items:center;gap:.3rem;background:var(--card);border:1px solid transparent;color:var(--text-secondary);height:2.125rem;padding:0 .65rem;border-radius:6px;cursor:pointer;flex-shrink:0;transition:border-color .25s,color .25s,background .25s}.rf-sort-btn:hover{background:var(--card-hover);border-color:var(--orange);color:var(--text)}.rf-sort-label{font-family:var(--font-body);font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.rf-sort-chevron{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.rf-sort-chevron-up{transform:rotate(180deg)}.live-banner{display:flex;flex-direction:column;gap:.5rem;width:100%;padding:.7rem 1.25rem;background:#22c55e0a;border:none;border-bottom:1px solid rgba(34,197,94,.12);cursor:pointer;font-family:var(--font-body);color:var(--text);text-align:left;transition:background .2s;flex-shrink:0}.live-banner:hover{background:#22c55e14}.live-banner-active{background:#22c55e1a;border-bottom-color:#22c55e33}.live-banner-top{display:flex;align-items:center;gap:.6rem}.fl-live{position:relative;width:10px;height:10px;flex-shrink:0}.fl-live-dot{position:absolute;inset:2px;border-radius:50%;background:var(--green)}.fl-live-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--green);animation:livePulse 2s ease-out infinite}@keyframes livePulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.5);opacity:0}}.live-banner-label{font-weight:700;color:var(--green)}.live-banner-alt{margin-left:auto;font-size:var(--font-sm);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.live-candidates-label{margin-bottom:.15rem}.live-candidates{gap:.3rem}.live-candidate{gap:.5rem}.live-candidate-rank{width:.8rem;flex-shrink:0}.live-candidate-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.live-candidate-sep{color:var(--text-secondary);opacity:.4}.live-candidate-eta,.live-candidate-pct{font-variant-numeric:tabular-nums;flex-shrink:0}.flight-list{padding:0;flex:1;display:flex;flex-direction:column}.rp-totals{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-evenly;padding:.75rem 1.25rem .85rem;background:var(--surface);border-top:1px solid var(--border);z-index:10}.rp-totals-item{gap:.15rem}.rp-totals-value{text-shadow:0 0 16px rgba(241,90,34,.25)}.fl-month{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.fl-month-stats{display:flex;align-items:center;gap:.75rem}.fl-empty{gap:.6rem;flex:1;color:var(--text-secondary);font-family:var(--font-display);font-size:var(--font-2xl);letter-spacing:.02em}.fl-item{border-bottom:1px solid var(--border);position:relative;scroll-margin-top:3rem}.fl-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange);transform:scaleY(0);transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1}.fl-item:hover:before{transform:scaleY(.5)}.fl-open:before{transform:scaleY(1)}.fl-header{display:flex;align-items:center;gap:1rem;width:100%;padding:.9rem 1.25rem;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;font-family:var(--font-body);transition:background .25s cubic-bezier(.4,0,.2,1)}.fl-header:hover{background:linear-gradient(90deg,var(--card-hover) 0%,transparent 100%)}.fl-open .fl-header{background:linear-gradient(90deg,var(--orange-glow) 0%,rgba(241,90,34,.03) 100%)}.fl-route{gap:.1em;line-height:1.3}.fl-origin,.fl-dest{gap:.4em;font-weight:600}.fl-origin{color:var(--text)}.fl-dest{color:var(--text-secondary);transition:color .2s}.fl-item:hover .fl-dest{color:var(--text)}.fl-meta{gap:.4em;margin-top:.25rem;font-variant-numeric:tabular-nums}.fl-dot{opacity:.3;font-size:2rem;line-height:0}.fl-co2{display:inline-flex;align-items:baseline;gap:.2em;font-family:var(--font-display);font-size:1.5rem;color:var(--red);line-height:1;border-bottom:2px solid rgba(239,68,68,.25);padding-bottom:.15em;transition:color .2s,border-color .2s,text-shadow .3s}.fl-item:hover .fl-co2{border-color:#ef444480;text-shadow:0 0 20px rgba(239,68,68,.3)}.fl-open .fl-co2{color:#f55;border-color:var(--red);text-shadow:0 0 24px rgba(239,68,68,.4)}.fl-co2-unit{font-family:var(--font-body);font-size:var(--font-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ef444480;transition:color .2s}.fl-item:hover .fl-co2-unit{color:#ef4444b3}.fl-open .fl-co2-unit{color:var(--red)}.fl-chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .35s cubic-bezier(.4,0,.2,1),color .2s,background .2s;display:flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%}.fl-header:hover .fl-chevron{background:#ffffff0d;color:var(--text)}.fl-chevron-open{transform:rotate(-180deg);color:var(--orange);background:var(--orange-glow)}.fl-detail{padding:0 1.25rem 1.25rem;animation:fadeIn .2s ease-out}.fl-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;margin-top:1rem;margin-bottom:1rem}.fl-detail-item{gap:.1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out both}@media(max-width:1100px){body{height:auto;overflow:auto}.dashboard{grid-template-columns:1fr;height:auto;overflow:visible}.left-panel{position:relative;border-right:none;border-bottom:1px solid var(--border);min-height:100dvh}.left-panel:after{height:55%}.lp-statement{padding:1.25rem}.lp-footer{padding:.6rem 1.25rem;flex-direction:column;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--border)}.lp-footer-sep{display:none}.lp-footer-sources{gap:1rem}.right-panel,.rp-scroll{overflow:visible}.fl-detail-grid{gap:.75rem 1.5rem}.methodology-backdrop{padding:0}.methodology-popup{max-width:none;max-height:none;height:100%;border-radius:0;border:none}}@media(max-width:640px){.lp-statement-text{font-size:var(--font-3xl)}.lp-statement-kicker{font-size:var(--font-2xl)}.fl-detail-grid{grid-template-columns:1fr}}.linus.svelte-18ja092{position:fixed;position-anchor:--right-panel;top:anchor(top);margin-top:8rem;right:anchor(left);translate:15% 0%;transform:rotate(-45deg);z-index:10;display:flex;flex-direction:column;align-items:center}.linus-character.svelte-18ja092{display:flex;flex-direction:column;align-items:center}.linus-head.svelte-18ja092{width:80px;position:relative;z-index:2;margin-bottom:8px;transform-origin:bottom center;anchor-name:--linus-head}.linus-talking.svelte-18ja092{animation:svelte-18ja092-talk .15s steps(2) infinite}@keyframes svelte-18ja092-talk{0%{transform:translateY(0)}50%{transform:translateY(6px)}to{transform:translateY(0)}}.linus-body.svelte-18ja092{width:120px;position:relative;z-index:1}.linus-quote.svelte-18ja092{position:fixed;position-anchor:--linus-head;bottom:anchor(top);left:anchor(center);translate:-50% 0;margin-bottom:.5rem;max-width:160px;padding:.5rem .75rem;background:var(--card);border:1px solid var(--border-light);border-radius:6px;font-size:.8rem;font-style:italic;color:var(--text-secondary);text-align:center;line-height:1.4;white-space:pre-wrap;z-index:98}.wiggle.svelte-18ja092{font-style:italic;color:#ff69b4;letter-spacing:.12em;word-spacing:.25em}.wiggle-char.svelte-18ja092{display:inline-block;animation:svelte-18ja092-undertale-wobble 1.2s ease-in-out infinite}.wiggle.svelte-18ja092:before,.wiggle.svelte-18ja092:after{content:"✦";font-size:.6em;animation:svelte-18ja092-sparkle 1.4s ease-in-out infinite;display:inline-block;vertical-align:middle;margin:0 .15em}.wiggle.svelte-18ja092:after{animation-delay:.7s}@keyframes svelte-18ja092-undertale-wobble{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2.5px) rotate(-2deg)}75%{transform:translateY(2.5px) rotate(2deg)}}@keyframes svelte-18ja092-sparkle{0%,to{opacity:.3;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}}@media(max-width:900px){.linus.svelte-18ja092{position:absolute;z-index:10;position-anchor:unset;margin-top:0;inset:unset;top:2rem;left:0;translate:50% 0%;transform:rotate(45deg);transform-origin:top center}.linus-quote.svelte-18ja092{bottom:anchor(bottom);left:anchor(right);translate:0}}
