:root{--fg:#1c1b33;--bg:#f4f3ff;--card:#fff;--muted:#5f6180;--accent:#4f46e5;--accent-2:#db2777;--accent-3:#0891b2;--accent-soft:#eceafe;--danger:#b42318;--ok:#067647;--line:#dcdaf3;--shadow:0 1px 2px rgba(49,46,129,.07),0 6px 20px rgba(49,46,129,.08);--radius:14px;--dot:rgba(79,70,229,.16)}@media (prefers-color-scheme:dark){:root{--fg:#ecebff;--bg:#12111f;--card:#1c1b2e;--muted:#a3a5c4;--accent:#8b8bff;--accent-2:#f472b6;--accent-3:#22d3ee;--accent-soft:#272648;--danger:#ff8a7a;--ok:#58d39b;--line:#34335a;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);--dot:rgba(139,139,255,.14)}}*{box-sizing:border-box}body{margin:0;color:var(--fg);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;background-color:var(--bg);min-height:100vh;background-image:radial-gradient(900px 420px at 8% -6%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 62%),radial-gradient(760px 400px at 100% 2%,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent 62%),radial-gradient(800px 520px at 50% 112%,color-mix(in srgb,var(--accent-3) 16%,transparent),transparent 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='3' cy='3' r='1.5' fill='%236366f1' fill-opacity='.22'/%3E%3Ccircle cx='19' cy='19' r='1.5' fill='%23db2777' fill-opacity='.14'/%3E%3C/svg%3E");background-attachment:fixed}main{max-width:980px;margin:0 auto;padding:24px 16px 72px}a{color:var(--accent);font-weight:600}h1{font-size:1.75rem;line-height:1.2;margin:0 0 .5rem}h2{font-size:1.25rem;margin:1.4rem 0 .6rem}h3{font-size:1.05rem}.site-header{background:linear-gradient(110deg,#3730a3,#6d28d9 55%,#be185d);color:#fff;box-shadow:0 2px 12px rgba(49,46,129,.35);position:relative;overflow:hidden}.site-header:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 30h60M30 0v60' stroke='white' stroke-opacity='.25' stroke-width='1'/%3E%3Ccircle cx='30' cy='30' r='6' fill='none' stroke='white' stroke-opacity='.4'/%3E%3C/svg%3E")}.site-header .inner{max-width:980px;margin:0 auto;padding:12px 16px;position:relative;z-index:1;flex-wrap:wrap}.brand,.site-header .inner{display:flex;align-items:center;gap:14px}.brand{color:#fff;text-decoration:none}.brand img{height:34px;width:auto;display:block}.brand .title{font-weight:800;font-size:1.15rem;letter-spacing:.01em;padding-left:14px;border-left:2px solid hsla(0,0%,100%,.45)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:12px 0;box-shadow:var(--shadow)}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.warn{border:2px solid var(--danger);color:var(--danger);padding:10px;margin:10px 0}.btn,.warn,button{border-radius:10px}.btn,button{font:inherit;font-weight:600;padding:9px 16px;border:1px solid transparent;background:linear-gradient(120deg,var(--accent),#7c3aed);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}.btn:hover,button:hover:not(:disabled){filter:brightness(1.08)}.btn.secondary,button.secondary{background:var(--card);color:var(--accent);border-color:var(--accent)}.btn.small,button.small{padding:5px 11px;font-size:.88rem;border-radius:9px}button.danger{background:var(--danger);border-color:var(--danger)}.btn.secondary:hover,button.secondary:hover:not(:disabled){background:var(--accent-soft)}button:disabled{opacity:.5;cursor:not-allowed}.btn.big,button.big{padding:12px 22px;font-size:1.05rem}input,select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg);max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}label{display:block;margin:8px 0}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line)}.cand{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grow{flex:1 1;min-width:160px}iframe.pdf{width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:#fff}.bar{background:var(--line)}.bar,.bar>div{border-radius:6px;height:10px}.bar>div{background:var(--accent)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hero{background:linear-gradient(135deg,var(--accent-soft),var(--card) 70%);border-top:5px solid var(--accent);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:24px;margin:8px 0 18px;box-shadow:var(--shadow)}.hero h1{font-size:2rem}.badge{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.02em;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card)}.badge.open{color:#fff;background:var(--ok);border-color:var(--ok)}.badge.soon{color:#fff;background:var(--accent-3);border-color:var(--accent-3)}.badge.cancelled,.badge.ended{color:var(--muted)}.badge.cancelled{color:var(--danger);border-color:var(--danger)}.countdown{margin:14px 0 4px}.countdown .label{font-size:.9rem;color:var(--muted);margin-bottom:6px}.countdown .units{display:flex;gap:10px;flex-wrap:wrap}.countdown .unit{background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:74px;padding:8px 10px;text-align:center}.countdown .num{display:block;font-size:1.7rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.countdown .cap{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.countdown.compact .unit{min-width:60px;padding:5px 8px}.countdown.compact .num{font-size:1.2rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px;margin:12px 0}.ccard{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--c,var(--accent));border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;position:relative;transition:transform .12s,border-color .12s}a.ccard{text-decoration:none;color:inherit}a.ccard:hover{transform:translateY(-2px);border-color:var(--accent)}.avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.4rem;letter-spacing:.02em;flex:none}.ccard .name{font-weight:700;font-size:1.05rem;line-height:1.25}.ccard .more{color:var(--accent);font-weight:600;font-size:.9rem;margin-top:auto}.ccard.selectable{cursor:pointer;padding-top:22px}.ccard.selectable.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow);background:var(--accent-soft)}.ccard.wide{grid-column:1/-1;align-items:stretch;text-align:left}.ccard .pick{position:absolute;top:12px;right:12px;width:24px;height:24px;accent-color:var(--accent);cursor:pointer}.ccard .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ccard .actions .btn,.ccard .actions button{padding:6px 12px;font-size:.9rem}.sticky-bar{position:-webkit-sticky;position:sticky;bottom:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 24px rgba(16,24,40,.18);padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.pill,.sticky-bar .count{font-weight:700}.pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px}.steps{display:flex;gap:8px;margin:6px 0 14px;font-size:.85rem;color:var(--muted);flex-wrap:wrap}.steps span{padding:3px 10px;border-radius:999px;border:1px solid var(--line)}.steps .on{color:var(--accent);border-color:var(--accent);font-weight:700}.big-ok{text-align:center;padding:36px 18px}.big-ok .tick{width:72px;height:72px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:2.2rem;margin:0 auto 14px}.navbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 16px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.navbar .who{margin-left:auto;color:var(--muted);font-size:.9rem}.linkcard{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.linkcard:hover{border-color:var(--accent)}.pubstate{display:inline-block;padding:3px 12px;border-radius:999px;font-weight:700;font-size:.85rem}.pubstate.on{background:var(--ok);color:#fff}.pubstate.off{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}.langswitch{margin-left:auto;display:flex;gap:4px;background:hsla(0,0%,100%,.16);border-radius:999px;padding:3px}.langswitch button{background:transparent;border:0;color:#fff;padding:3px 12px;font-size:.85rem;border-radius:999px}.langswitch button.on{background:#fff;color:#4338ca}.timeline{list-style:none;margin:0;padding:0 0 0 6px;position:relative}.timeline:before{content:"";position:absolute;left:17px;top:10px;bottom:10px;width:3px;border-radius:2px;background:linear-gradient(var(--accent),var(--accent-2));opacity:.35}.timeline li{display:grid;grid-template-columns:24px 190px 1fr auto;grid-gap:6px 12px;gap:6px 12px;align-items:center;padding:8px 0;position:relative}.timeline .dot{width:24px;height:24px;border-radius:50%;background:var(--card);border:3px solid var(--line);display:grid;place-items:center;font-size:.8rem;color:#fff;z-index:1}.timeline .when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.timeline .what{font-weight:600}.timeline li.done .dot{background:var(--ok);border-color:var(--ok)}.timeline li.done .what{color:var(--muted)}.timeline li.current .dot{background:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-2) 25%,transparent)}.timeline li.current{background:var(--accent-soft);border-radius:10px;margin:2px -8px;padding:8px}.timeline li.current .what{font-size:1.05rem}@media (max-width:620px){.timeline li{grid-template-columns:24px 1fr}.timeline .what,.timeline .when{grid-column:2}.timeline .badge{grid-column:2;justify-self:start}}nav.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}@media (max-width:520px){h1{font-size:1.45rem}.hero{padding:18px}.hero h1{font-size:1.6rem}.countdown .unit{min-width:62px}}@media print{.site-header,button,nav{display:none}}