:root{color-scheme:dark;--bg: #030304;--bg-elevated: #12121a;--bg-elevated-soft: #181822;--ink: #eef0f8;--muted: #949db0;--line: rgba(255, 255, 255, .1);--accent: #6ee7c5;--accent-2: #f0a078;--day-cell-text: #e8ecf6;--day-cell-text-muted: #a8b0c4;--holiday: linear-gradient( 150deg, rgba(165, 38, 62, .92) 0%, rgba(110, 22, 45, .9) 45%, rgba(140, 35, 58, .82) 100% );--holiday-border: rgba(255, 120, 140, .5);--cultural-border: rgba(255, 176, 120, .45);--weekend: linear-gradient( 165deg, rgba(52, 62, 125, .88) 0%, rgba(36, 44, 95, .9) 50%, rgba(44, 55, 118, .78) 100% );--calendar-day-default: linear-gradient( 175deg, rgba(38, 40, 52, .96) 0%, rgba(24, 26, 34, .98) 100% );--shadow: 0 24px 60px rgba(0, 0, 0, .55);--toolbar-bg-top: rgba(24, 26, 36, .98);--toolbar-bg-bottom: rgba(14, 15, 22, .96);--filter-active-border: rgba(110, 231, 197, .45);--filter-active-bg: rgba(110, 231, 197, .12);--alert-error-bg: rgba(180, 60, 70, .18);--alert-error-border: rgba(255, 130, 140, .35);--radius: 16px;--radius-sm: 12px;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1000px 520px at 12% -8%,rgba(200,60,90,.16),transparent 55%),radial-gradient(820px 480px at 92% 4%,rgba(70,90,200,.14),transparent 52%),radial-gradient(600px 400px at 50% 100%,rgba(110,231,197,.06),transparent 45%),var(--bg);color:var(--ink)}#root{min-height:100%}.app-shell{padding:clamp(12px,3vw,20px) clamp(10px,3.5vw,18px) clamp(40px,10vw,72px)}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}@media(max-width:639px){.calendar-toolbar{flex-direction:column;align-items:stretch}}.mono-date{font-variant-numeric:tabular-nums}.calendar-month{contain:layout}.calendar-month-heading{padding:clamp(12px,3vw,16px) clamp(10px,3vw,16px) clamp(10px,2vw,12px)}.calendar-month-title{font-size:clamp(1.05rem,4.2vw,1.35rem);color:var(--ink)}.calendar-month-body{padding:clamp(8px,2.5vw,12px)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(4px,1.8vw,8px);width:100%}.calendar-grid-weekdays{margin-bottom:clamp(6px,2vw,10px)}.calendar-weekday{min-width:0;color:var(--muted);font-size:clamp(9px,2.6vw,12px);font-weight:700;letter-spacing:.02em;text-align:center;line-height:1.2}.calendar-grid-days{grid-auto-rows:auto;align-items:start}.calendar-day{width:100%;aspect-ratio:1 / 1;height:auto;min-width:0;min-height:0;overflow:hidden;border-radius:clamp(8px,2vw,12px);padding:clamp(5px,1.8vw,9px) clamp(4px,1.5vw,9px) clamp(5px,1.8vw,8px);display:flex;flex-direction:column;align-items:stretch;position:relative;isolation:isolate;color:var(--day-cell-text)}.calendar-day-head{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:4px;margin-bottom:clamp(4px,1.5vw,6px);min-width:0;flex-wrap:nowrap}@media(max-width:639px){.calendar-day-head{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px}}.calendar-day-num{flex:0 0 auto;font-size:clamp(11px,3.2vw,13px);font-weight:800;line-height:1;color:var(--day-cell-text)}.calendar-bridge{flex:0 1 auto;max-width:100%;font-size:clamp(9px,2.6vw,11px);font-weight:800;padding:2px 6px;border-radius:999px;background:linear-gradient(165deg,#ffa06e59,#e65a3747);color:#fff5f0;border:1px solid rgba(255,180,130,.45);line-height:1.2;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}.calendar-day-events{display:flex;flex-direction:column;gap:3px;min-width:0;min-height:0;flex:1 1 0;overflow:hidden;justify-content:flex-start}.calendar-day-event{min-width:0;color:var(--day-cell-text);font-weight:600;font-size:clamp(9px,2.75vw,12px);line-height:1.2;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.calendar-day-more{font-size:clamp(9px,2.5vw,11px);color:var(--day-cell-text-muted);line-height:1.2;flex-shrink:0}@media(max-width:639px){.calendar-day--tap{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(110,231,197,.15)}}.day-peek-dialog{border:none;padding:0;max-width:min(420px,calc(100vw - 28px));width:100%;margin:auto;background:transparent}.day-peek-dialog::backdrop{background:#000000b8}.day-peek-dialog-panel{background:var(--bg-elevated-soft);padding:20px 18px 18px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.day-peek-dialog-title{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:600;margin:0 0 12px;line-height:1.3;letter-spacing:-.02em}.day-peek-dialog-bridge{margin:0 0 14px;font-size:.9rem;line-height:1.45;color:var(--ink)}.day-peek-dialog-empty{margin:0 0 14px;font-size:.9rem;color:var(--muted)}.day-peek-dialog-list{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.day-peek-dialog-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.day-peek-dialog-badge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.day-peek-dialog-event-title{flex:1 1 12rem;min-width:0;font-size:1rem;font-weight:600;line-height:1.35;color:var(--ink)}.day-peek-dialog-meta{font-size:11px;font-weight:700;color:var(--accent)}.day-peek-dialog-close{width:100%;margin-top:4px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:#ffffff14;color:var(--ink);font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}.day-peek-dialog-close:hover{background:#ffffff24}
