.cal-hero{padding:calc(var(--header-h) + 20px) 0 32px;background:var(--night);position:relative;overflow:hidden}@media (width>=1100px){.cal-hero{padding-bottom:56px}}.cal-hero>.container:not(.cal-hero__grid){flex-direction:column;gap:20px;display:flex;position:relative}.cal-hero__grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}@media (width>=1000px){.cal-hero__grid{grid-template-columns:minmax(0,1fr) 420px;gap:48px}}.cal-hero__text{flex-direction:column;align-items:flex-start;gap:18px;min-width:0;display:flex}.cal-hero__text h1{font-size:clamp(36px,4.6vw,64px);line-height:1.02}.cal-note{color:var(--hint);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.cal-note span{align-items:center;gap:6px;display:inline-flex}.cal-note svg{color:var(--succ-t)}.cal-sec{padding:40px 0}@media (width>=900px){.cal-sec{padding:64px 0}}.cal-sec h2{font-size:clamp(28px,3vw,38px);line-height:1.08}.cal-sec__sub{color:var(--hint);max-width:720px;margin-top:8px;font-size:15px}.cal-sec__head{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}@media (width>=900px){.cal-sec__head{flex-direction:row;justify-content:space-between;align-items:flex-end}}.cal-cols{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width>=1000px){.cal-cols{grid-template-columns:minmax(0,1fr) 340px;gap:40px}}.cal-side{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width>=1000px){.cal-side--sticky{top:calc(var(--header-h) + 16px);position:sticky}}.cal-card{background:var(--surf);border:1px solid var(--line);border-radius:18px;min-width:0;padding:18px}.cal-card--glass{background:#22222cdb;border-color:#9b85ff47}.cal-card h3{font-size:22px;line-height:1.15}.cal-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:700}.cal-label--hint{color:var(--hint);letter-spacing:1px;font-weight:600}.cal-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.cal-pills::-webkit-scrollbar{display:none}.cal-pill{border:1px solid var(--sep);height:36px;color:var(--ink);cursor:pointer;background:#ffffff0a;border-radius:18px;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.cal-pill[aria-pressed=true]{background:var(--tint);border-color:var(--violet);color:#fff}.cal-dot{background:var(--violet);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.cal-dot--moon{background:var(--gold)}.cal-dot--retro{background:var(--violet-t)}.cal-dot--ecl{background:#e58fc0}.cal-dot--ingr{background:var(--succ-t)}.cal-dot--asp{background:#6fb6f0}.cal-list{background:var(--surf);border:1px solid var(--line);border-radius:18px;margin:0;padding:0;list-style:none;overflow:hidden}.cal-row{border-top:1px solid var(--sep);scroll-margin-top:calc(var(--header-h) + 16px);grid-template-columns:44px 40px minmax(0,1fr);gap:12px;padding:16px 14px;display:grid;position:relative}.cal-row:first-child{border-top:0}@media (width>=768px){.cal-row{grid-template-columns:56px 44px minmax(0,1fr);gap:16px;padding:18px 20px}}.cal-row[hidden]{display:none}.cal-row.is-past{opacity:.55}.cal-row__date{flex-direction:column;align-items:center;padding-top:2px;line-height:1;display:flex}.cal-row__date b{font-size:24px;font-weight:700}.cal-row__date small{color:var(--hint);text-transform:lowercase;margin-top:4px;font-size:11px}.cal-row__ico{background:var(--tint);width:40px;height:40px;color:var(--violet-t);border-radius:12px;justify-content:center;align-items:center;display:flex}@media (width>=768px){.cal-row__ico{width:44px;height:44px}}.cal-row[data-cat=moon] .cal-row__ico{background:var(--gold-tint);color:var(--gold)}.cal-row[data-cat=ecl] .cal-row__ico{color:#e58fc0;background:#e58fc024}.cal-row[data-cat=ingr] .cal-row__ico{color:var(--succ-t);background:#3fb68b24}.cal-row[data-cat=asp] .cal-row__ico{color:#8ec9f5;background:#6fb6f024}.cal-row__body{flex-direction:column;gap:4px;min-width:0;display:flex}.cal-row__top{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.cal-row__title{color:var(--ink);font-size:16px;font-weight:600;text-decoration:none}a.cal-row__title:hover{color:#fff;text-decoration:underline}.cal-row__meta{color:var(--hint);font-size:13px}.cal-row__text{color:var(--hint-n);font-size:14px;line-height:1.5}.cal-row__more{color:var(--violet-t);align-items:center;gap:4px;margin-top:2px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.cal-badge{background:var(--tint);height:20px;color:var(--violet-t);border-radius:10px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.cal-badge--moon{background:var(--gold-tint);color:var(--gold)}.cal-badge--ecl{color:#e58fc0;background:#e58fc029}.cal-badge--ingr{color:var(--succ-t);background:#3fb68b24}.cal-badge--asp{color:#8ec9f5;background:#6fb6f024}.cal-lock{color:var(--gold);align-items:center;gap:6px;min-width:0;margin-top:2px;font-size:12px;display:flex}.cal-lock svg{flex-shrink:0}.cal-lock span{filter:blur(4px);opacity:.7;user-select:none;white-space:nowrap;text-overflow:clip;color:var(--ink);min-width:0;overflow:hidden}.cal-hint{color:var(--hint);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.cal-hint svg{color:var(--gold);flex-shrink:0}.cal-inline{border-top:1px solid var(--tline);border-bottom:1px solid var(--tline);background:linear-gradient(120deg,#7c5cff47,#22222c99);flex-direction:column;grid-column:1/-1;gap:12px;margin:0;padding:18px;display:flex}@media (width>=768px){.cal-inline{flex-direction:row;justify-content:space-between;align-items:center;padding:20px 24px}}.cal-inline h3{font-size:22px}.cal-inline p{color:var(--hint-n);margin-top:4px;font-size:14px}.cal-inline .btn{flex-shrink:0}li.cal-inline-li{list-style:none}.cal-banner{border:1px solid var(--tline);background:radial-gradient(90% 140% at 100% 0%, #7c5cff66, #0000 60%), var(--night);border-radius:24px;flex-direction:column;gap:18px;padding:28px 20px;display:flex;position:relative;overflow:hidden}@media (width>=900px){.cal-banner{flex-direction:row;justify-content:space-between;align-items:center;gap:40px;padding:44px 48px}}.cal-banner>*{position:relative}.cal-banner h2{margin:8px 0 12px;font-size:clamp(28px,3.2vw,44px);line-height:1.05}.cal-banner p{color:var(--hint-n);max-width:560px;font-size:16px}.cal-banner__art{opacity:.9;flex-shrink:0;align-self:center}.cal-banner__art svg{width:120px;height:120px}@media (width>=900px){.cal-banner__art svg{width:190px;height:190px}}.cal-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=640px){.cal-months{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1000px){.cal-months{grid-template-columns:repeat(6,minmax(0,1fr))}}.cal-mtile{background:var(--surf);border:1px solid var(--line);color:var(--ink);border-radius:14px;flex-direction:column;gap:8px;min-height:74px;padding:14px;text-decoration:none;display:flex}a.cal-mtile:hover{border-color:var(--violet)}.cal-mtile b{font-size:15px}.cal-mtile.is-off{opacity:.45}.cal-mtile.is-now{border-color:var(--gold)}.cal-mtile small{color:var(--hint);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.cal-tabs{background:var(--surf-2);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.cal-tab{height:32px;color:var(--hint);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 16px;font-size:14px;font-weight:600}.cal-tab[aria-selected=true]{background:var(--tint);color:#fff}.cal-feat{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=640px){.cal-feat{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.cal-feat{grid-template-columns:repeat(4,minmax(0,1fr))}}.cal-fcard{border:1px solid var(--line);background:radial-gradient(90% 90% at 100% 0%, #7c5cff38, #0000 60%), var(--surf);color:var(--ink);border-radius:18px;flex-direction:column;gap:10px;min-height:190px;padding:18px;text-decoration:none;display:flex}.cal-fcard:hover{border-color:var(--violet)}.cal-fcard h3{font-size:24px;line-height:1.1}.cal-fcard small{color:var(--hint);font-size:13px;line-height:1.4}.cal-fcard .cal-badge{align-self:flex-start;margin-top:auto}.cal-do{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=768px){.cal-do{grid-template-columns:repeat(2,minmax(0,1fr))}}.cal-do h3{margin-bottom:12px;font-size:22px}.cal-do ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cal-do li{align-items:flex-start;gap:10px;font-size:15px;line-height:1.4;display:flex}.cal-do li svg{flex-shrink:0;margin-top:2px}.cal-do--yes li svg{color:var(--succ-t)}.cal-do--no li svg{color:var(--danger)}.cal-chips{flex-wrap:wrap;gap:8px;display:flex}.cal-chip{height:30px;color:var(--ink);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:15px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.cal-chip--gold{background:var(--gold-tint);color:var(--gold);border-color:#e5c1584d}.cal-chip--violet{background:var(--tint);border-color:var(--tline);color:var(--violet-t)}.cal-links{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=640px){.cal-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.cal-links{grid-template-columns:repeat(4,minmax(0,1fr))}}.cal-link{background:var(--surf);border:1px solid var(--line);color:var(--ink);border-radius:14px;align-items:center;gap:12px;min-width:0;padding:12px 14px;text-decoration:none;display:flex}.cal-link:hover{border-color:var(--violet)}.cal-link>span:nth-child(2){flex-direction:column;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.25;display:flex}.cal-link small{color:var(--hint);font-size:12px;font-weight:400}.cal-ico{background:var(--tint);width:34px;height:34px;color:var(--violet-t);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cal-pn{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=640px){.cal-pn{grid-template-columns:repeat(2,minmax(0,1fr))}}.cal-pn a{background:var(--surf);border:1px solid var(--line);color:var(--ink);border-radius:16px;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex}.cal-pn a small{color:var(--hint);font-size:13px}.cal-pn a b{font-family:var(--f-display);font-size:22px}.cal-pn a:last-child{text-align:right}.cal-tag{position:absolute}.cal-city{border:1px solid var(--sep);height:30px;color:var(--hint-n);background:#ffffff0d;border-radius:15px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.cal-dots{vertical-align:middle;gap:3px;margin-left:8px;display:inline-flex}.cal-dots i{background:#ffffff29;border-radius:50%;width:7px;height:7px;display:block}.cal-dots i.on{background:var(--gold)}.cal-sphs{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=700px){.cal-sphs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.cal-sphs{grid-template-columns:repeat(3,minmax(0,1fr))}}.cal-sph{background:var(--surf);border:1px solid var(--line);border-radius:14px;gap:12px;min-width:0;padding:14px;display:flex}.cal-sph>div{min-width:0}.cal-sph b{font-size:15px}.cal-sph p{color:var(--hint);margin-top:4px;font-size:13px;line-height:1.45}.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.cal-wk{background:var(--surf);border:1px solid var(--line);color:var(--hint);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:12px;display:flex}.cal-wk b{color:var(--ink);font-size:18px;line-height:1}.cal-wk.is-now{border-color:var(--gold);background:#e5c15814}.cal-wk svg{color:#efe2b0}.cal-phs{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=640px){.cal-phs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.cal-phs{grid-template-columns:repeat(4,minmax(0,1fr))}}.cal-ph{background:var(--surf);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.cal-ph svg{color:#efe2b0;flex-shrink:0}.cal-ph span{flex-direction:column;min-width:0;font-size:14px;display:flex}.cal-ph small{color:var(--hint);font-size:12px}.cal-do ul[data-th]{min-height:1px}.cal-gone{display:none!important}.cal-hero__grid{position:relative}[class*=cal-][hidden]{display:none!important}
