@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#080b1b;--panel:#0e1329;--panel2:#121830;--text:#f0f1fa;--muted:#a4adc8;--line:#29304a;--cyan:#76f6e3;--pink:#fa8bce;--violet:#b8a1ff;--display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.6;background-image:radial-gradient(ellipse at 80% 9%,#321c4938,transparent 34%)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}a,button,input,select{outline-offset:5px}:focus-visible{outline:2px solid var(--cyan)}button{border:0}button:hover,a:hover{color:var(--cyan)}[hidden]{display:none!important}.shell{width:min(1240px,calc(100% - 96px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-80px;left:20px;z-index:30;background:var(--cyan);color:var(--bg);padding:12px}.skip:focus{top:12px}.masthead{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:1.8px}.brand-mark{font-family:var(--display);font-size:21px;letter-spacing:-2px;display:grid;place-items:center;width:39px;height:39px;border:1px solid #617087;border-radius:50%}.slash{margin:0 9px;color:#68738f}.about-link{font-size:12px;color:var(--muted);text-decoration:none}.about-link span{margin-left:10px;color:var(--pink)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:460px;position:relative}.hero-copy{padding:50px 0 56px;z-index:1}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:var(--cyan);margin:0 0 19px}.signal-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px #76f6e366;margin-right:8px;vertical-align:2px}.edition{color:#7f8da9;margin-left:22px}h1,h2,h3,h4,p{margin-top:0}h1{font-family:var(--display);font-weight:500;font-size:clamp(60px,6.4vw,88px);line-height:1.01;letter-spacing:-5px;margin-bottom:25px}h1>span{background:linear-gradient(100deg,#b8a1ff,#fa8bce 90%);background-clip:text;color:transparent}h2{font-family:var(--display);font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-1.3px;margin-bottom:0}.hero-description{color:var(--muted);line-height:1.8;font-size:14px;margin-bottom:25px}.primary-link{display:inline-flex;align-items:center;gap:33px;background:var(--cyan);color:#081c24;padding:12px 18px;border-radius:4px;font-size:12px;font-weight:700;text-decoration:none}.primary-link:hover{color:#081c24;background:#adfff3}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center}.hero-art svg{width:112%;max-width:none;margin-left:-25px}.art-coordinate{position:absolute;font-family:monospace;font-size:8px;letter-spacing:1.6px;color:#9a8dab}.top-coordinate{right:0;top:28px}.bottom-coordinate{bottom:28px;left:42px;font-size:7px;letter-spacing:1.6px}.bottom-coordinate .signal-dot{width:4px;height:4px;vertical-align:1px}.status-strip{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;border:1px solid var(--line);background:linear-gradient(100deg,#14172b,#0d1424);border-radius:5px;padding:21px 26px;gap:24px}.status-strip>div+div{border-left:1px solid var(--line);padding-left:28px}.strip-label{display:block;font-size:8px;letter-spacing:1.9px;color:var(--muted);margin-bottom:6px}.status-strip strong{font-family:var(--display);font-size:16px;font-weight:500}.verification strong{color:var(--cyan)}.events-section{padding-top:58px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading .eyebrow{color:var(--pink);font-size:9px;margin-bottom:11px}.subtle-button{border:1px solid var(--line);background:#ffffff03;border-radius:5px;padding:9px 13px;color:#c9d1e7;font-size:11px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;min-height:40px}.subtle-button:hover{border-color:#76f6e377}.coverage{font-size:12px;color:var(--muted);margin:16px 0 27px}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.view-switch{display:flex;border:1px solid var(--line);background:#0a0e1e;padding:4px;border-radius:6px;gap:3px}.view-switch button{background:transparent;border-radius:3px;font-size:12px;padding:6px 17px;color:var(--muted);min-height:34px}.view-switch button[aria-pressed=true]{background:#293149;color:#fff}.search-wrap{flex:1;min-width:170px;border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:5px;color:var(--muted);background:#0b1023}.search-wrap>span:first-child{font-size:23px}.search-wrap input{background:transparent;border:0;color:var(--text);width:100%;padding:10px 0;font-size:12px;min-width:0}.search-wrap input::placeholder{color:#969fbc}.select-wrap select{background:#0b1023;color:#c9d1e7;font-size:12px;border:1px solid var(--line);border-radius:5px;padding:11px 26px 11px 11px;min-height:44px;max-width:100%}.filter-row{display:flex;align-items:center;gap:21px;margin:19px 0 26px;flex-wrap:wrap}.range-switch{display:flex;gap:7px}.range-switch button{font-size:11px;background:transparent;border:1px solid transparent;color:var(--muted);padding:6px 12px;border-radius:20px;min-height:34px}.range-switch button[aria-pressed=true]{background:#183a38;border-color:#76f6e333;color:var(--cyan)}.saved-filter{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;cursor:pointer}.saved-filter input{accent-color:var(--pink);width:14px;height:14px}.text-button{padding:7px 0;background:none;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px;margin-left:auto}.results-line{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding-bottom:11px;border-bottom:1px solid var(--line);gap:10px}.results-line p{margin:0}.results-line>span{font-size:8px;letter-spacing:1.8px}.month-group{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:2px;color:var(--muted);font-weight:500;margin:27px 0 8px}.month-group:after{content:'';height:1px;background:var(--line);flex:1}.event-card{display:grid;grid-template-columns:69px 1fr auto;gap:22px;padding:24px 4px;border-bottom:1px solid var(--line);position:relative}.event-card:hover{background:#ffffff02}.date-block{padding-top:3px;text-align:center}.date-block .day-name{font-size:9px;letter-spacing:1.5px;color:var(--muted);display:block}.date-block .day-number{font-family:var(--display);font-weight:400;font-size:32px;line-height:1.3;display:block;letter-spacing:-1px}.date-block .date-month{font-size:10px;color:var(--muted)}.card-eyebrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:9px;margin-bottom:7px;color:var(--muted)}.tag{padding:2px 7px;border:1px solid #b8a1ff40;border-radius:3px;color:var(--violet);font-size:9px;letter-spacing:.2px}.tag[data-type=Hackathon]{color:var(--cyan);border-color:#76f6e340}.tag[data-type=Meetup]{color:var(--pink);border-color:#fa8bce40}.tag[data-type=Competition]{color:#ffd299;border-color:#ffd29940}.live-badge{color:var(--cyan)}.past-badge{color:var(--muted)}.event-card h3{font-family:var(--display);font-weight:500;font-size:20px;line-height:1.3;letter-spacing:-.4px;margin-bottom:9px}.event-card h3 a{text-decoration:none}.event-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:11px;color:#c8d0e5;margin-bottom:10px}.event-description{font-size:12px;line-height:1.7;color:var(--muted);max-width:750px;margin-bottom:9px}.event-note{font-size:11px;color:#e3bd94;border-left:2px solid #927b69;padding-left:10px;max-width:740px;margin:12px 0}.event-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:13px;font-size:10px;color:var(--muted)}.source-link{color:#c9d1e7}.card-actions{display:flex;flex-direction:column;align-items:end;justify-content:space-between;gap:15px;min-width:98px}.save-button{background:none;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font-size:20px;line-height:1;color:var(--muted)}.save-button[aria-pressed=true]{border-color:#fa8bce70;background:#fa8bce13;color:var(--pink)}.details-link{color:var(--cyan);text-decoration:none;font-size:11px;padding:8px 0;white-space:nowrap}.ics-button{background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:10px;padding:0}.local-note{font-size:10px;color:var(--muted);margin-top:22px}.empty{padding:34px;border:1px dashed var(--line);border-radius:5px;color:var(--muted);font-size:13px;margin-top:22px}.freshness{padding:13px 16px;background:#ffd2990b;border:1px solid #ffd29940;border-radius:5px;font-size:12px;color:#ffd299}.calendar-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-top:24px;align-items:start}.calendar{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:20px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.calendar-heading h3{margin:0;font-family:var(--display);font-size:18px;font-weight:500}.calendar-nav{display:flex;gap:6px}.calendar-nav button{background:#20273d;border:1px solid #323b55;border-radius:4px;min-height:34px;min-width:34px;padding:5px 9px;font-size:12px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{font-size:9px;color:var(--muted);text-transform:uppercase;text-align:center;letter-spacing:1px;margin-bottom:9px}.calendar-grid{gap:4px}.calendar-day{min-height:72px;min-width:0;text-align:left;background:#0b1023;border:1px solid transparent;border-radius:4px;padding:7px;color:#c9d1e7;position:relative;display:flex;flex-direction:column;gap:7px}.calendar-day .cal-number{font-family:var(--display);font-size:12px;line-height:1;display:grid;place-items:center;width:23px;height:23px;border-radius:50%}.calendar-day.other-month{opacity:.4}.calendar-day.today .cal-number{border:1px solid var(--cyan);color:var(--cyan)}.calendar-day.has-events{background:#24213c}.calendar-day[aria-pressed=true]{border-color:var(--pink);background:#3c2342}.cal-events{color:var(--pink);font-size:8px;line-height:1.4;display:block}.cal-events .cal-title{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.calendar-key{color:var(--muted);font-size:9px;margin:17px 0 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.key-dot{width:5px;height:5px;background:var(--pink);border-radius:50%}.today-key{font-size:17px;color:var(--cyan);line-height:1;margin-left:10px}.day-panel>h3{font-family:var(--display);font-weight:500;font-size:17px;margin:0;padding:4px 0 13px}.day-panel .event-card{grid-template-columns:1fr;gap:10px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:5px;margin-bottom:12px}.day-panel .date-block{display:none}.day-panel .event-card h3{font-size:17px}.day-panel .card-actions{flex-direction:row;align-items:center}.day-panel .event-meta{gap:6px;flex-direction:column}.day-panel .empty{margin-top:0;padding:22px}.about-section{border-top:1px solid var(--line);margin-top:62px;padding:48px 0 52px;display:grid;grid-template-columns:1fr 1fr;gap:13%}.about-section h2{font-size:32px;margin-bottom:20px}.about-section p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9;max-width:440px}.about-section .eyebrow{color:var(--pink);font-size:9px}.about-actions{display:flex;gap:10px;flex-wrap:wrap}.source-note h3{font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:-.5px}.source-note h4{font-size:11px;font-weight:500;margin:22px 0 10px}.source-links{display:flex;flex-wrap:wrap;gap:8px 20px}.source-links a{font-size:11px;color:#c9d1e7}.small{font-size:10px!important;margin:12px 0 0}footer{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}footer>a{text-decoration:none}footer>span{font-size:8px;letter-spacing:1.5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 20px;background:#223943;border:1px solid var(--cyan);border-radius:6px;color:#fff;font-size:12px;z-index:20;box-shadow:0 8px 40px #0007}
@media(min-width:1500px){.hero{min-height:490px}.hero-art svg{width:100%;margin-left:0}}@media(max-width:1000px){.shell{width:calc(100% - 56px)}.hero{grid-template-columns:1.15fr 1fr;min-height:400px}h1{font-size:69px}.hero-art svg{width:125%;margin-left:-45px}.edition{display:none}.bottom-coordinate{left:20px;font-size:6px}.status-strip{padding:18px;gap:16px}.status-strip>div+div{padding-left:18px}.status-strip strong{font-size:14px}.strip-label{font-size:7px;letter-spacing:1.4px}.toolbar .search-wrap{min-width:250px}.select-wrap{flex:1}.select-wrap select{width:100%}.calendar-layout{grid-template-columns:1.35fr 1fr;gap:16px}.calendar{padding:14px}.calendar-day{min-height:60px;padding:4px}.cal-title{display:none!important}.cal-events{font-size:8px}.event-card h3{font-size:18px}.event-card{gap:17px;grid-template-columns:52px 1fr auto}.card-actions{min-width:85px}.about-section{gap:9%}}
@media(max-width:700px){.shell{width:calc(100% - 36px)}.masthead{height:78px}.brand{font-size:8px;letter-spacing:1px;gap:9px}.brand-mark{width:32px;height:32px;font-size:18px}.brand .slash{margin:0 5px}.about-link{font-size:10px}.hero{min-height:390px;display:block;overflow:hidden}.hero-copy{padding:39px 0 37px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:67px;letter-spacing:-4px}.hero-description{font-size:12px;max-width:290px}.hero-art{position:absolute;right:-170px;top:26px;width:400px;height:340px;opacity:.28;pointer-events:none}.hero-art svg{width:100%;margin:0}.art-coordinate{display:none}.hero-copy{position:relative}.primary-link{font-size:11px;padding:10px 14px;gap:24px}.status-strip{grid-template-columns:1fr 1fr;gap:18px 10px;padding:18px}.status-strip>div+div{padding-left:17px}.status-strip>div:nth-child(3){border-left:0;padding-left:0}.status-strip strong{font-size:15px}.strip-label{font-size:7px}.events-section{padding-top:37px}h2{font-size:28px}.section-heading{align-items:center;gap:15px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.section-heading>.subtle-button{font-size:9px;padding:8px;max-width:100px;text-align:center}.coverage{font-size:11px;margin:15px 0 20px}.toolbar{gap:9px}.view-switch{flex:none}.view-switch button{padding:5px 12px}.toolbar .search-wrap{min-width:130px}.search-wrap input{font-size:11px}.select-wrap{flex-basis:40%}.filter-row{gap:10px;margin:15px 0 20px}.range-switch{gap:1px}.range-switch button{padding:6px 9px;font-size:10px}.saved-filter{font-size:10px;margin-left:auto}.text-button{font-size:10px}.event-card{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:20px 0}.date-block .day-number{font-size:28px}.date-block .day-name{font-size:8px}.event-card h3{font-size:18px}.card-actions{grid-column:2;flex-direction:row-reverse;align-items:center;justify-content:space-between;min-width:0}.save-button{width:34px;height:34px;font-size:18px}.event-description{font-size:11px}.event-meta{font-size:10px;gap:4px 12px}.event-bottom{gap:9px;font-size:9px}.event-note{font-size:10px}.month-group{font-size:10px;margin-top:23px}.calendar-layout{grid-template-columns:1fr}.calendar{padding:14px}.calendar-day{min-height:60px;padding:5px}.calendar-heading h3{font-size:17px}.calendar-heading{margin-bottom:20px}.calendar-nav button{min-width:36px;min-height:36px}.cal-events{font-size:8px}.day-panel .card-actions{grid-column:1}.about-section{grid-template-columns:1fr;gap:32px;margin-top:36px;padding:33px 0}.about-section h2 br{display:none}.about-section h2{font-size:27px}.about-section p:not(.eyebrow){max-width:none}.source-note h3{font-size:18px}footer{flex-wrap:wrap;font-size:9px}footer>span{order:3;flex-basis:100%;font-size:7px;margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Keep the dense event metadata readable on both screen sizes. */
.event-description{font-size:14px}.event-meta{font-size:12px}.event-bottom,.ics-button{font-size:11px}.event-note{font-size:12px}.card-eyebrow,.tag{font-size:10px}.details-link{font-size:12px}
@media(max-width:700px){.event-description{font-size:13px}.event-meta,.event-note{font-size:11px}.event-bottom,.ics-button{font-size:10px}.card-eyebrow,.tag{font-size:9px}}
