@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,700;12..96,800&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500&display=swap";@font-face{font-family:Semravut;src:url(/Semravut.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#050a10;--surface:#080f1a;--surface-2:#0c1525;--surface-3:#101e33;--border:#0f1e2e;--border-2:#162840;--text:#b8d4ee;--text-muted:#4a7090;--text-faint:#1e3550;--signal:#ffe600;--signal-dim:#ffe60012;--green:#00e87a;--red:#f35;--amber:#f59e0b;--font-display:"Bricolage Grotesque", sans-serif;--font-ui:"IBM Plex Mono", monospace;--font-body:"IBM Plex Sans", sans-serif;--z-sticky:20;--z-panel:50;--z-overlay:100}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.6}body:before{content:"";pointer-events:none;z-index:9999;opacity:.6;background:repeating-linear-gradient(#0000 0 3px,#00000014 3px 4px);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 30% at 8% 0,#ffe6000a 0%,#0000 50%),radial-gradient(40% 60% at 92% 100%,#0064c81a 0%,#0000 50%);position:fixed;inset:0}.topnav{background:var(--surface);border-bottom:1px solid var(--border-2);z-index:var(--z-overlay);position:sticky;top:0}.topnav-inner{justify-content:space-between;align-items:center;width:min(1200px,94vw);height:44px;margin:0 auto;display:flex}.topnav-brand{font-family:var(--font-ui);color:var(--signal);letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:600}.topnav-right{align-items:center;gap:16px;display:flex}.topnav-signal{font-family:var(--font-ui);letter-spacing:.1em;color:var(--green);align-items:center;gap:6px;font-size:10px;display:flex}.topnav-signal:before{content:"";background:var(--green);width:5px;height:5px;box-shadow:0 0 6px var(--green);border-radius:50%;animation:2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}main{z-index:1;width:min(1200px,94vw);margin:0 auto;padding-bottom:80px;animation:.7s cubic-bezier(.22,1,.36,1) both terminalReveal;position:relative}@keyframes terminalReveal{0%{opacity:0;filter:brightness(2)blur(1px);transform:translateY(6px)}15%{opacity:1;filter:brightness(1.3)}to{opacity:1;filter:brightness()blur();transform:translateY(0)}}.hero{border-bottom:1px solid var(--border-2);margin-bottom:40px;padding:44px 0 36px}.hero-eyebrow{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-bottom:14px;font-size:10px}.hero-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text);margin-bottom:22px;font-size:clamp(52px,11vw,120px);font-weight:800;line-height:.88}.hero-title em{color:var(--signal);font-style:italic}.hero-rule{background:var(--signal);width:48px;height:2px;margin-bottom:16px;box-shadow:0 0 8px #ffe60066}.hero-desc{font-family:var(--font-ui);letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;max-width:500px;margin-bottom:18px;font-size:11px;line-height:1.7}.hero-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.hero-updated{font-family:var(--font-ui);color:var(--text-faint);letter-spacing:.08em;font-size:10px}.hero-count{font-family:var(--font-ui);color:var(--signal);letter-spacing:.1em;background:var(--signal-dim);border:1px solid #ffe60026;border-radius:2px;padding:3px 10px;font-size:10px}.ranking{margin-bottom:44px}.ranking-rule{background:var(--signal);height:2px;margin-bottom:24px;box-shadow:0 0 8px #ffe6004d}.ranking-grid{grid-template-columns:repeat(4,1fr);gap:44px 64px;display:grid}.ranking-card{justify-content:center;align-items:center;height:200px;text-decoration:none;transition:opacity .15s;display:flex;position:relative;overflow:hidden}.ranking-card:hover{opacity:.75}.ranking-card--yellow{background:var(--signal)}.ranking-card--dark{background:var(--surface-2);border:1px solid var(--border-2)}.ranking-card:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(#0000 0 3px,#0000001a 3px 4px);position:absolute;inset:0}.ranking-num{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;object-position:right top;width:auto;height:180px;position:absolute;top:-22px;right:-8px}.ranking-card--yellow .ranking-num{filter:brightness(0);opacity:.18;mix-blend-mode:multiply}.ranking-card--dark .ranking-num{filter:invert();mix-blend-mode:screen;opacity:.45}.ranking-card-body{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex;position:relative}.ranking-card-cat{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.ranking-card--yellow .ranking-card-cat{color:#00000080}.ranking-card--dark .ranking-card-cat{color:var(--text-faint)}.ranking-card-title{letter-spacing:.01em;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-style:italic;font-weight:700;line-height:1.1}.ranking-card--yellow .ranking-card-title{color:#000}.ranking-card--dark .ranking-card-title{color:var(--text)}.toolbar{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-2);background:#050a10f0;margin-bottom:28px;padding:10px 0;position:sticky;top:44px}.filters{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.filter-btn{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-2);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;padding:5px 12px;font-size:9px;transition:background .1s,color .1s,border-color .1s}.filter-btn:hover{background:var(--surface-2);color:var(--text)}.filter-btn.active{background:var(--signal);border-color:var(--signal);color:#000;font-weight:600}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search{flex:1;gap:6px;min-width:200px;display:flex}.search input{background:var(--surface);border:1px solid var(--border-2);color:var(--text);font-family:var(--font-ui);letter-spacing:.04em;border-radius:2px;outline:none;flex:1;padding:7px 12px;font-size:11px;transition:border-color .1s}.search input::placeholder{color:var(--text-faint);letter-spacing:.08em}.search input:focus{border-color:#ffe6004d;box-shadow:0 0 0 2px #ffe6000f}.sort-controls{flex-wrap:wrap;gap:6px;display:flex}select{background:var(--surface);border:1px solid var(--border-2);color:var(--text);font-family:var(--font-ui);letter-spacing:.06em;cursor:pointer;border-radius:2px;outline:none;padding:7px 12px;font-size:10px;transition:border-color .1s}select:focus{border-color:#ffe6004d}button{font-family:var(--font-ui);letter-spacing:.06em;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:2px;padding:7px 14px;font-size:11px;transition:background .1s}button:hover{background:var(--surface-3)}.btn-search{background:var(--signal);color:#000;border-color:var(--signal);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.btn-search:hover{color:#000;background:#f0d800;border-color:#f0d800}.section-label{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:10px;margin-bottom:12px;font-size:9px;display:flex}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.count{font-family:var(--font-ui);color:var(--signal);background:var(--signal-dim);letter-spacing:.08em;border:1px solid #ffe60026;border-radius:2px;padding:1px 7px;font-size:9px}.grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;margin-bottom:4px;display:grid}.featured-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));margin-bottom:36px}.card{background:var(--surface);flex-direction:column;gap:9px;padding:18px 16px 14px;transition:background .12s;animation:.3s both cardIn;display:flex;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#0000000f 3px 4px);position:absolute;inset:0}.card:hover{background:var(--surface-2)}.card.featured{background:var(--surface-2);border-top:1px solid var(--signal);box-shadow:inset 0 1px #ffe60026}.card.featured .impact{border-left-color:var(--signal);color:#ffe600cc;background:#ffe6000d}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cardTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.category{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;background:var(--surface-3);border:1px solid var(--border-2);color:var(--text-muted);border-radius:2px;padding:3px 8px;font-size:9px}.score-badge{align-items:center;gap:8px;display:flex}.score-freq{align-items:flex-end;gap:2px;height:14px;display:flex}.score-freq-bar{background:var(--border-2);border-radius:1px;width:3px;transition:background .15s}.score-freq-bar:first-child{height:4px}.score-freq-bar:nth-child(2){height:6px}.score-freq-bar:nth-child(3){height:9px}.score-freq-bar:nth-child(4){height:11px}.score-freq-bar:nth-child(5){height:14px}.score-high .score-freq-bar.filled{background:var(--green);box-shadow:0 0 4px var(--green)}.score-mid .score-freq-bar.filled{background:var(--signal)}.score-low .score-freq-bar.filled{background:var(--red)}.score-num{font-family:var(--font-ui);text-align:right;letter-spacing:.04em;min-width:26px;font-size:10px}.score-high .score-num{color:var(--green)}.score-mid .score-num{color:var(--signal)}.score-low .score-num{color:var(--red)}.card h2{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:700;line-height:1.2}.summary{font-family:var(--font-body);color:var(--text-muted);font-size:13px;line-height:1.65}.impact{font-family:var(--font-ui);letter-spacing:.03em;color:#f59e0bbf;background:#f59e0b0d;border-left:1px solid #f59e0b4d;padding:6px 10px;font-size:11px;line-height:1.55}.tags{flex-wrap:wrap;gap:4px;display:flex}.tags span{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-2);color:var(--text-faint);cursor:default;border-radius:2px;padding:2px 7px;font-size:9px;transition:border-color .1s,color .1s}.tags span:hover{color:var(--text-muted);border-color:#ffe60033}.card footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.card-source{font-family:var(--font-ui);letter-spacing:.06em;color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.card-link{color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:10px;text-decoration:none;transition:color .1s;display:flex}.card-link:hover{color:var(--signal)}.loading{color:var(--text-faint);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;padding:52px 0;font-size:11px;display:flex}.spinner{border:1px solid var(--border-2);border-top-color:var(--signal);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--text-faint);font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;padding:52px 20px;font-size:11px}.error{color:#f89;font-family:var(--font-ui);letter-spacing:.04em;background:#ff33550f;border:1px solid #f353;border-radius:2px;margin-bottom:14px;padding:10px 14px;font-size:11px}.admin-toggle{z-index:var(--z-overlay);position:fixed;bottom:24px;right:24px}.admin-btn-open{background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:2px;padding:9px 16px;font-size:10px;transition:border-color .1s,color .1s;box-shadow:0 4px 20px #00000080}.admin-btn-open:hover{color:var(--signal);border-color:#ffe6004d}.admin{width:min(460px,92vw);max-height:72vh;z-index:var(--z-panel);background:var(--surface);border:1px solid var(--border-2);border-radius:2px;padding:18px;position:fixed;bottom:66px;right:24px;overflow-y:auto;box-shadow:0 20px 60px #000c,0 0 0 1px #ffe6000d}.admin-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.admin-header h3{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--signal);font-size:11px;font-weight:600}.btn-close{color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:16px;transition:color .1s}.btn-close:hover{color:var(--text);background:0 0;border:0}.admin-login-form{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.admin-login-form input{background:var(--surface-2);border:1px solid var(--border-2);width:100%;color:var(--text);font-family:var(--font-ui);letter-spacing:.04em;border-radius:2px;outline:none;padding:9px 12px;font-size:12px;transition:border-color .1s}.admin-login-form input:focus{border-color:#ffe6004d}.admin-login-form button{background:var(--signal);color:#000;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--signal);font-weight:600}.admin-login-form button:hover{color:#000;background:#f0d800;border-color:#f0d800}.admin-token-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-logged{font-family:var(--font-ui);letter-spacing:.1em;color:var(--green);flex:1;font-size:10px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;display:grid}.admin-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:2px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.admin-stat-value{font-family:var(--font-display);color:var(--text);font-size:20px;font-weight:800}.admin-stat-label{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:9px}.admin-msg{font-family:var(--font-ui);letter-spacing:.04em;border-radius:2px;margin-top:8px;padding:8px 12px;font-size:11px}.admin-msg.ok{color:var(--green);background:#00e87a0f;border:1px solid #00e87a33}.admin-msg.err{color:#f89;background:#ff33550f;border:1px solid #f353}.adminList-header{border-bottom:1px solid var(--border);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);justify-content:space-between;margin-bottom:4px;padding-bottom:8px;font-size:9px;display:flex}.adminList-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.adminList-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.adminList-info strong{font-family:var(--font-body);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;display:block;overflow:hidden}.adminList-meta{font-family:var(--font-ui);letter-spacing:.06em;color:var(--text-faint);font-size:9px}.adminList-actions{flex-shrink:0;gap:4px;display:flex}.btn-active{color:var(--green);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#00e87a12;border:1px solid #00e87a33;border-radius:2px;padding:4px 9px;font-size:10px;transition:background .1s}.btn-active:hover{color:var(--green);background:#00e87a24;border:1px solid #00e87a33}.btn-danger{color:#f67;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#ff33550f;border:1px solid #ff33552e;border-radius:2px;padding:4px 9px;font-size:10px;transition:background .1s}.btn-danger:hover{color:#f67;background:#ff335524;border:1px solid #ff33552e}@media (width<=768px){.grid,.featured-grid{grid-template-columns:1fr}.toolbar-row{flex-direction:column;align-items:stretch}.search{flex-direction:column}.admin{width:calc(100vw - 24px);bottom:64px;right:12px}.adminList-row{flex-direction:column;align-items:flex-start}.card footer{flex-direction:column;align-items:flex-start;gap:5px}.ranking-grid{grid-template-columns:repeat(2,1fr);gap:24px 32px}.ranking-card{height:160px}.ranking-num{height:140px;top:-16px}}@media (width<=480px){main{width:96vw}.hero{padding:32px 0 24px}.ranking-grid{grid-template-columns:1fr;gap:16px}.ranking-card{height:140px}.toolbar{top:44px}}@media (prefers-reduced-motion:reduce){.card,main,.spinner,.topnav-signal:before{animation:none}*{transition-duration:.01ms!important}}
