h1,h2,h3,.syne{font-family:Syne,DM Sans,system-ui,sans-serif!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}img,svg{display:block}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}:root{--g: #1D9E75;--g2: #0F6E56;--g3: #085041;--g-l0: #E1F5EE;--g-l1: #9FE1CB;--g-l2: #5DCAA5;--rose: #D4537E;--rose-l:#FBEAF0;--rose-m:#F4C0D1;--amber: #BA7517;--amber-l:#FAEEDA;--amber-m:#FAC775;--blue: #185FA5;--blue-l:#E6F1FB;--blue-m:#B5D4F4;--pur: #534AB7;--pur-l: #EEEDFE;--pur-m: #CECBF6;--bg: #f5f6f4;--surface: #ffffff;--surface2: #f0f2ee;--surface3: #e8ebe5;--border: #dde2d9;--border2: #c5ccc0;--border3: #b0b9aa;--txt: #161a14;--txt2: #3d4a39;--txt3: #6b7a65;--txt4: #9aaa94;--mono: "Space Mono", monospace;--sans: "DM Sans", system-ui, sans-serif;--head: "Syne", sans-serif;--r4: 4px;--r8: 8px;--r12: 12px;--r16: 16px;--r20: 20px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.09), 0 2px 4px rgba(0,0,0,.05)}[data-theme=dark]{--bg: #0b0e0b;--surface: #131613;--surface2: #191d19;--surface3: #1f251f;--border: #252b25;--border2: #303830;--border3: #3d4a3d;--txt: #e4ebe2;--txt2: #b8cbb2;--txt3: #8fa289;--txt4: #617a5a;--g-l0: #061a0e;--g-l1: #0a2a18;--g-l2: #0f3d24;--rose-l: #1a0610;--rose-m: #3d1525;--amber-l:#120d00;--amber-m:#2a1e00;--blue-l: #020f1e;--blue-m: #061830;--pur-l: #0a0820;--pur-m: #181430;--shadow: 0 1px 3px rgba(0,0,0,.35);--shadow-md: 0 4px 16px rgba(0,0,0,.5)}body{font-family:var(--sans);background:var(--bg);color:var(--txt);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fadeUp .45s ease both}.fade-up-1{animation:fadeUp .45s .08s ease both}.fade-up-2{animation:fadeUp .45s .16s ease both}.fade-up-3{animation:fadeUp .45s .24s ease both}.fade-up-4{animation:fadeUp .45s .32s ease both}.slide-in{animation:slideIn .3s ease both}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--g);flex-shrink:0;animation:pulse 2s infinite}.badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:2px 7px;border-radius:var(--r4);text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent;white-space:nowrap;font-family:var(--sans)}.b-g{background:var(--g-l0);color:var(--g3);border-color:var(--g-l1)}.b-a{background:var(--amber-l);color:#412402;border-color:var(--amber-m)}.b-p{background:var(--pur-l);color:#26215c;border-color:var(--pur-m)}.b-b{background:var(--blue-l);color:#042c53;border-color:var(--blue-m)}.b-r{background:var(--rose-l);color:#4b1528;border-color:var(--rose-m)}.b-muted{background:var(--surface3);color:var(--txt3);border-color:var(--border2)}[data-theme=dark] .b-g{color:var(--g-l2);border-color:#0f3d24}[data-theme=dark] .b-a{color:var(--amber-m);border-color:#2a1e00}[data-theme=dark] .b-p{color:var(--pur-m);border-color:#181430}[data-theme=dark] .b-b{color:var(--blue-m);border-color:#061830}[data-theme=dark] .b-r{color:var(--rose-m);border-color:#3d1525}.ctrl-row{display:flex;gap:3px}.ctrl{font-size:10px;font-weight:500;padding:4px 10px;border-radius:var(--r20);border:1px solid transparent;color:var(--txt3);background:none;transition:.12s}.ctrl:hover{background:var(--surface2);color:var(--txt2)}.ctrl.on{background:var(--g-l0);color:var(--g2);border-color:var(--g-l1);font-weight:600}[data-theme=dark] .ctrl.on{color:var(--g-l2);border-color:var(--g-l2)}.sec-hd{padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sec-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--txt2);display:flex;align-items:center;gap:8px}.sec-title:before{content:"";width:3px;height:13px;background:var(--g);border-radius:2px;display:block}.sec-sub{font-size:10px;color:var(--txt4)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border2);border-top-color:var(--g);animation:spin .7s linear infinite}.spinner-wrap{display:flex;align-items:center;justify-content:center;padding:32px;gap:10px;color:var(--txt4);font-size:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:8px;color:var(--txt4);font-size:12px;text-align:center}.empty-state svg{opacity:.3}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--txt);color:var(--surface);padding:10px 18px;border-radius:var(--r20);font-size:12px;font-weight:500;z-index:999;pointer-events:none;opacity:0;transition:opacity .25s;animation:fadeUp .3s ease}.toast.show{opacity:1}@keyframes newEventSlide{0%{opacity:0;transform:translateY(-100%);max-height:0}40%{opacity:1;transform:translateY(0);max-height:80px}to{opacity:1;transform:translateY(0);max-height:80px}}@keyframes newEventFlash{0%{background-color:#1d9e7559}30%{background-color:#1d9e7540}60%{background-color:#1d9e751f}to{background-color:transparent}}@keyframes newEventBorder{0%,40%{border-left-color:var(--g);border-left-width:3px}to{border-left-color:transparent;border-left-width:0px}}.new-event-row{animation:newEventSlide .35s cubic-bezier(.22,1,.36,1) both,newEventFlash 4s ease .35s both;border-left:3px solid var(--g)!important;position:relative;overflow:hidden}.new-event-row:before{content:"NEW";position:absolute;top:6px;right:8px;font-size:7px;font-weight:800;letter-spacing:.1em;color:var(--g);background:var(--g-l0);border:1px solid var(--g-l1);border-radius:3px;padding:1px 5px;animation:newEventFlash 4s ease .35s both;pointer-events:none;z-index:1}[data-theme=dark] .new-event-row{animation:newEventSlide .35s cubic-bezier(.22,1,.36,1) both,newEventFlashDark 4s ease .35s both}@keyframes newEventFlashDark{0%{background-color:#1d9e7538}30%{background-color:#1d9e7529}60%{background-color:#1d9e7514}to{background-color:transparent}}
