.cal-kicker{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--color-gold)}.cal-count-pill{padding:6px 14px;border-radius:var(--radius-full);background:#ecc8551a;border:1px solid rgba(236,200,85,.22);color:var(--color-gold);font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;flex-shrink:0}.cal-count-pill--muted{background:#ffffff0a;border-color:#ffffff14;color:var(--color-text-secondary)}.cal-countdown{display:inline-flex;align-items:center;padding:5px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;border:1px solid transparent}.cal-countdown.is-default{background:#ffffff0a;color:var(--color-text-secondary);border-color:#ffffff0f}.cal-countdown.is-live{background:#4caf502e;color:#7ee482;border-color:#4caf5052;animation:pulse-live 2s ease infinite}.cal-countdown.is-today,.cal-countdown.is-tomorrow{background:#ecc85529;color:var(--color-gold);border-color:#ecc8554d}.cal-countdown.is-soon{background:#ff910024;color:#ffab40;border-color:#ff910042}.cal-countdown.is-past{background:transparent;color:var(--color-text-tertiary);border-color:#ffffff0a;opacity:.6}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.7}}.cal-badge{--badge-color: var(--color-primary-light);--badge-bg: rgba(139, 69, 163, .14);display:inline-flex;align-items:center;padding:5px 10px;border-radius:var(--radius-full);background:var(--badge-bg);color:var(--badge-color);font-size:11px;font-weight:700;letter-spacing:.3px;border:1px solid color-mix(in srgb,var(--badge-color) 22%,transparent)}.cal-badge--muted{--badge-bg: rgba(255, 255, 255, .06);--badge-color: var(--color-text-secondary)}.cal-badge--live{--badge-bg: rgba(76, 175, 80, .16);--badge-color: #7EE482}.cal-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);background:#ffffff0a;color:var(--color-text-secondary);font-size:11px;font-weight:600;border:1px solid rgba(255,255,255,.06)}.cal-hero{position:relative;overflow:clip;padding:calc(var(--space-12) + var(--space-4)) 0 var(--space-10)}.cal-hero__mesh{position:absolute;inset:0;background:radial-gradient(circle at 16% 16%,rgba(139,69,163,.22),transparent 36%),radial-gradient(circle at 84% 10%,rgba(236,200,85,.12),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 40%);pointer-events:none}.cal-hero__content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,420px);gap:var(--space-8);align-items:center}.cal-hero h1{font-size:clamp(44px,7vw,82px);line-height:.96;letter-spacing:-.05em;margin:var(--space-4) 0 var(--space-5);max-width:12ch}.cal-hero h1 span{display:block;background:linear-gradient(135deg,#ecc855,#ab68c4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.cal-hero__lead{max-width:56ch;font-size:var(--font-size-lg);color:var(--color-text-secondary)}.cal-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.cal-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-8)}.cal-stat{border:1px solid rgba(255,255,255,.07);border-radius:20px;background:linear-gradient(180deg,#2e2e2ee6,#1a1a1ae0);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.cal-stat__value{font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1;color:var(--color-text-primary);letter-spacing:-.03em}.cal-stat__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4}.cal-spotlight{border-radius:28px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at top right,rgba(236,200,85,.1),transparent 40%),linear-gradient(160deg,#3d1e4dd9,#161616f2);padding:var(--space-6);box-shadow:0 20px 50px #00000059}.cal-spotlight__loading{margin-top:var(--space-4);color:var(--color-text-secondary)}.cal-spotlight__type-row{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-5)}.cal-spotlight__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--ev-bg, rgba(139, 69, 163, .2));color:var(--ev-color, var(--color-primary-light));font-size:var(--font-size-sm);font-weight:800;letter-spacing:1px;border:1px solid color-mix(in srgb,var(--ev-color, var(--color-primary-light)) 30%,transparent);flex-shrink:0}.cal-spotlight__type-info{display:flex;flex-direction:column;gap:3px;flex:1}.cal-spotlight__type-name{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-primary)}.cal-spotlight__stage{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cal-spotlight__title{font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:var(--space-2)}.cal-spotlight__olympiad{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:var(--space-4)}.cal-spotlight__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-5)}.cal-spotlight__meta span{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-full);background:#ffffff0d;border:1px solid rgba(255,255,255,.07);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cal-spotlight__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.cal-shell{padding-bottom:var(--space-12)}.cal-shell__layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:var(--space-8);align-items:start}.cal-sidebar{position:sticky;top:calc(var(--nav-height) + var(--space-4));display:flex;flex-direction:column;gap:var(--space-4)}.cal-panel{border-radius:24px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(170deg,#2a2a2ae6,#161616f0);padding:var(--space-5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cal-panel--upcoming .cal-panel__title{margin-bottom:var(--space-4)}.cal-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.cal-panel__title{font-size:clamp(22px,2.5vw,28px);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--space-5)}.cal-filter-block+.cal-filter-block{margin-top:var(--space-5)}.cal-filter-label{display:block;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-bottom:var(--space-3)}.cal-chip-row,.cal-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.cal-chip{--chip-color: rgba(255, 255, 255, .15);appearance:none;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--color-text-secondary);border-radius:var(--radius-full);padding:8px 14px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.cal-chip:hover{transform:translateY(-1px);border-color:#ffffff24;color:var(--color-text-primary)}.cal-chip.is-active{background:color-mix(in srgb,var(--chip-color) 20%,transparent);border-color:color-mix(in srgb,var(--chip-color) 55%,transparent);color:var(--color-text-primary)}.cal-select-wrap{position:relative}.cal-select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--color-text-secondary);border-bottom:2px solid var(--color-text-secondary);transform:translateY(-65%) rotate(45deg);pointer-events:none}.cal-select{width:100%;appearance:none;border-radius:14px;background:#ffffff0a;color:var(--color-text-primary);border:1px solid rgba(255,255,255,.08);padding:12px 40px 12px 14px;font-size:var(--font-size-md)}.cal-upcoming-list{display:flex;flex-direction:column;gap:var(--space-2)}.cal-upcoming-placeholder{padding:var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-md);text-align:center}.cal-upcoming-item{display:grid;grid-template-columns:44px 1fr;gap:var(--space-3);align-items:center;padding:10px 12px;border-radius:14px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);transition:background var(--transition-fast)}.cal-upcoming-item:hover{background:#ffffff0d}.cal-upcoming-item__marker{width:40px;height:40px;border-radius:12px;background:var(--ev-bg, rgba(139, 69, 163, .14));border:1px solid color-mix(in srgb,var(--ev-color, var(--color-primary)) 28%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--ev-color, var(--color-primary-light))}.cal-upcoming-item__title{display:block;font-size:var(--font-size-md);font-weight:600;line-height:1.3;margin-bottom:3px;color:var(--color-text-primary)}.cal-upcoming-item__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap}.cal-feed__header{display:flex;justify-content:space-between;gap:var(--space-6);align-items:flex-end;margin-bottom:var(--space-8)}.cal-feed__title{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.04em;margin-top:var(--space-2)}.cal-feed__summary{font-size:var(--font-size-md);color:var(--color-text-secondary);text-align:right;max-width:30ch;flex-shrink:0}.cal-state{border-radius:24px;border:1px solid rgba(255,255,255,.07);background:#ffffff05;padding:var(--space-6)}.cal-state--loading{display:flex;flex-direction:column;gap:var(--space-4)}.cal-state[hidden]{display:none}.cal-state--message strong{display:block;font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.cal-state--message p{margin-bottom:var(--space-4)}.cal-skeleton{height:160px;border-radius:20px;background:linear-gradient(90deg,#ffffff08,#ffffff12,#ffffff08);background-size:200% 100%;animation:skeleton-wave 1.4s linear infinite}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.cal-groups{display:flex;flex-direction:column;gap:var(--space-12)}.cal-group__head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid rgba(255,255,255,.07)}.cal-group__period{display:flex;align-items:baseline;gap:12px}.cal-group__mname{font-size:clamp(40px,5.5vw,66px);font-weight:800;letter-spacing:-.05em;line-height:1;text-transform:capitalize;color:var(--color-text-primary)}.cal-group__yr{font-size:clamp(18px,2vw,24px);font-weight:400;color:var(--color-text-tertiary);letter-spacing:-.02em}.cal-timeline{display:flex;flex-direction:column;list-style:none;padding:0;margin:0}.cal-event{display:grid;grid-template-columns:52px 28px 1fr;align-items:start}.cal-event__date{display:flex;flex-direction:column;align-items:flex-end;padding-top:14px;padding-right:6px;gap:1px}.cal-event__day{font-size:22px;font-weight:800;line-height:1;color:var(--color-text-primary);letter-spacing:-.03em}.cal-event__mabbr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-tertiary)}.cal-event__track{display:flex;flex-direction:column;align-items:center;position:relative;padding-top:20px}.cal-event__track:before{content:"";position:absolute;top:0;bottom:-20px;left:50%;transform:translate(-50%);width:1px;background:linear-gradient(180deg,#ffffff1f,#ffffff0d)}.cal-event:first-child .cal-event__track:before{top:26px}.cal-event:last-child .cal-event__track:before{bottom:0;height:26px}.cal-event:first-child:last-child .cal-event__track:before{display:none}.cal-event__dot{width:12px;height:12px;border-radius:50%;background:var(--ev-color);border:2px solid var(--color-bg);outline:2px solid color-mix(in srgb,var(--ev-color) 50%,transparent);outline-offset:0px;position:relative;z-index:1;flex-shrink:0}.cal-event__card{margin-left:var(--space-3);margin-bottom:var(--space-5);border-radius:16px;border:1px solid rgba(255,255,255,.07);border-left:3px solid color-mix(in srgb,var(--ev-color) 70%,transparent);background:linear-gradient(140deg,color-mix(in srgb,var(--ev-bg) 30%,rgba(28,28,28,.97)),#161616fc 65%);padding:var(--space-4) var(--space-5);transition:border-color var(--transition-fast)}.cal-event__card:hover{border-color:#ffffff1c;border-left-color:var(--ev-color)}.cal-event__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.cal-event__badges{display:flex;flex-wrap:wrap;gap:6px;flex:1}.cal-event__title{font-size:clamp(17px,1.8vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:var(--space-3);color:var(--color-text-primary)}.cal-event__sub{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.cal-event__sub span{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--color-text-secondary);font-size:12px;font-weight:600}.cal-event__desc{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.55;margin-bottom:var(--space-3)}.cal-event__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.cal-event__footer{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.04)}.cal-link{color:var(--color-gold);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.cal-link:hover{color:color-mix(in srgb,var(--color-gold) 80%,#fff)}.cal-link--ext{color:var(--color-text-secondary)}.cal-link--ext:hover{color:var(--color-text-primary)}@media(max-width:1080px){.cal-hero__content,.cal-shell__layout{grid-template-columns:1fr}.cal-sidebar{position:static}.cal-feed__header{flex-direction:column;align-items:flex-start}.cal-feed__summary{text-align:left;max-width:none}}@media(max-width:720px){.cal-hero{padding-top:calc(var(--space-12) + var(--space-2))}.cal-hero__stats{grid-template-columns:1fr 1fr}.cal-stat:last-child{grid-column:1 / -1}.cal-group__mname{font-size:clamp(32px,9vw,56px)}.cal-event{grid-template-columns:42px 24px 1fr}.cal-event__day{font-size:18px}.cal-event__card{padding:var(--space-3) var(--space-4)}.cal-spotlight__actions .btn{flex:1}}@media(max-width:480px){.cal-hero__actions .btn{width:100%}.cal-event{grid-template-columns:38px 22px 1fr}.cal-event__day{font-size:16px}.cal-event__mabbr{font-size:9px}.cal-event__header{flex-direction:column;gap:var(--space-2)}.cal-countdown{align-self:flex-start}}@media(prefers-reduced-motion:reduce){.cal-skeleton,.cal-chip,.cal-countdown{animation:none;transition:none}}
