.calendar{display:flex;flex-direction:column}.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar__nav{width:40px;height:40px;padding:0;border:none;background:transparent;color:#fff;opacity:.8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease}.calendar__nav svg{width:24px;height:24px}.calendar__nav--prev svg{transform:scaleX(-1)}.calendar__nav:hover:not(:disabled){opacity:1}.calendar__nav:disabled{opacity:.25;cursor:not-allowed}.calendar__title{flex:1;margin:0;text-align:center;font-family:var(--font-heading);font-size:22px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:12px;text-align:center;font-size:14px;text-transform:uppercase;color:#ffffffb3}.calendar__today{align-self:flex-end;margin-bottom:8px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#00000040;color:#fff;font-size:12px;cursor:pointer}.calendar__today:hover{background:#0006}.calendar__weekdays span:nth-child(6),.calendar__weekdays span:nth-child(7){color:red}.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff;font-family:var(--font-heading);font-size:18px;cursor:pointer;border-radius:4px;transition:background-color .12s ease}.calendar__day--empty{visibility:hidden;pointer-events:none}.calendar__day--past{color:#ffffff40;text-decoration:line-through;cursor:not-allowed}.calendar__day--occupied{color:red;text-decoration:line-through;cursor:not-allowed}.calendar__day:disabled{cursor:not-allowed}.calendar__day--selected{background:red;color:#fff}.calendar__day--weekend-holiday{background:#ff69b42e}.calendar__day--weekend-holiday:not(:disabled):hover{background:#ff69b447}.calendar__day:not(:disabled):hover{background:#ffffff1a}@font-face{font-family:RoadRadio;font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/RoadRadioBlack.woff2) format("woff2"),url(../assets/fonts/RoadRadioBlack.woff) format("woff"),url(../assets/fonts/RoadRadioBlack.ttf) format("truetype"),url(../assets/fonts/RoadRadio/RoadRadioBlack.woff2) format("woff2"),url(../assets/fonts/RoadRadio/RoadRadioBlack.woff) format("woff"),url(../assets/fonts/RoadRadio/RoadRadioBlack.ttf) format("truetype"),url(../assets/fonts/RoadRadio/RoadRadioBlack/RoadRadioBlack.woff2) format("woff2"),url(/miniapp/assets/RoadRadioBlack-CPFiBU-k.woff) format("woff"),url(/miniapp/assets/RoadRadioBlack-8bOje2qB.ttf) format("truetype")}:root{--color-accent: #ff0000;--color-accent-text: #ffffff;--font-heading: "RoadRadio", "Road Radio", system-ui, sans-serif}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px 32px;box-sizing:border-box}.calendar-page{width:100%;max-width:480px;margin:0 auto}.calendar-page__card{background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;padding:24px 20px 20px;box-sizing:border-box}.calendar-page__cta{width:100%;height:64px;margin-top:20px;border:none;background:var(--color-accent);color:var(--color-accent-text);font-family:var(--font-heading);font-size:20px;font-weight:700;cursor:pointer}.calendar-page__cta:disabled{opacity:.5;pointer-events:none}.calendar-page__legend{margin-top:16px;padding:10px 12px;border-radius:6px;background:#fff3;color:#fff;font-size:12px;line-height:1.5}.calendar-page__legend-row{display:flex;align-items:baseline;gap:6px}.calendar-page__legend-number{font-family:var(--font-heading);font-weight:700}:root{--calendar-bg-url: url(/miniapp/assets/background-B_TBWLvM.jpg)}body{margin:0;min-height:100vh;font-family:var(--font-heading);color:#fff;background:#000;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(#0000008c,#0000008c),var(--calendar-bg-url);background-size:cover;background-position:center;background-repeat:no-repeat}
