:root{color-scheme:dark;--bg: #0f0e0c;--fg: #f4ead5;--accent: #e6b422;--accent-2: #c99a2e;--surface: #16140f;--surface-hi: #1c1a16;--surface-lo: #14120d;--surface-active: #221f16;--border: #262219;--border-hover: #4a453a;--control-border: #35322a;--chip-bg: #201d16;--chip-multi-bg: #2a2418}:root[data-theme=light]{color-scheme:light;--bg: #f3ead2;--fg: #2c2517;--accent: #9a6a06;--accent-2: #7d5e12;--surface: #fffdf5;--surface-hi: #fbf4e2;--surface-lo: #efe4c8;--surface-active: #f1e6c6;--border: #e2d6b4;--border-hover: #c7b785;--control-border: #d7c8a1;--chip-bg: #f0e7cf;--chip-multi-bg: #e8dcbb}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}#calendar-app{max-width:72rem;margin:0 auto;padding:2rem 1.25rem 4rem;background:radial-gradient(120% 80% at 50% -10%,color-mix(in srgb,var(--fg) 5%,transparent) 0%,transparent 60%),radial-gradient(100% 60% at 50% 120%,color-mix(in srgb,var(--fg) 4%,transparent) 0%,transparent 55%)}#calendar-app [hidden]{display:none!important}#calendar-app :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){#calendar-app *,#calendar-app *:before,#calendar-app *:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}#calendar-app .topbar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:1rem}#calendar-app .theme-btn{background:var(--surface-lo);color:var(--fg);border:1px solid var(--control-border);border-radius:8px;padding:.3rem .6rem;font-size:.95rem;line-height:1;cursor:pointer}#calendar-app .theme-btn:hover{border-color:var(--accent)}#calendar-app .site-header{text-align:center;padding-bottom:1.25rem;margin-bottom:.5rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);position:relative}#calendar-app .site-header:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;transform:translate(-50%) rotate(45deg);background:var(--accent);border:1px solid var(--bg)}#calendar-app .site-header h1{font-family:Trajan Pro,Cinzel,Georgia,Times New Roman,serif;font-size:clamp(2.25rem,6vw,3.5rem);margin:0 0 .35rem;letter-spacing:.02em;color:var(--accent);background:linear-gradient(100deg,var(--accent) 0%,var(--accent) 42%,color-mix(in srgb,var(--accent),#fff 60%) 50%,var(--accent) 58%,var(--accent) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 10px color-mix(in srgb,var(--accent) 32%,transparent));animation:title-sheen 7s linear infinite}@keyframes title-sheen{0%{background-position:120% center}to{background-position:-120% center}}#calendar-app .site-header .tz-toggle{justify-content:center}#calendar-app .tagline{font-size:1.1rem;margin:0 0 .25rem;opacity:.9}#calendar-app .tz-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.85rem}#calendar-app .tz-note-label{opacity:.65}#calendar-app .tz-btn{background:var(--surface-hi);color:var(--fg);border:1px solid var(--control-border);border-radius:6px;padding:.2rem .6rem;font:inherit;font-size:.8rem;cursor:pointer;opacity:.7}#calendar-app .tz-btn:hover{border-color:var(--accent)}#calendar-app .tz-btn.active{border-color:var(--accent);color:var(--accent);opacity:1}#calendar-app .tz-current{opacity:.72;font-size:.8rem}#calendar-app .hero{margin:1.75rem 0 .5rem}#calendar-app .hero-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;opacity:.6;margin:0 0 .75rem;font-weight:600}#calendar-app .hero-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}@media(max-width:40rem){#calendar-app .hero-cards{grid-template-columns:1fr}#calendar-app .cell{min-height:4.2rem;padding:.25rem;gap:.15rem}#calendar-app .chip{font-size:.62rem;padding:1px 3px}#calendar-app .more{font-size:.58rem}#calendar-app .weekdays{font-size:.65rem}#calendar-app .cal-toolbar{flex-wrap:wrap}#calendar-app .cal-toolbar h2{min-width:8rem;font-size:1.05rem}#calendar-app .jump-input{flex:1 1 8rem}}#calendar-app .hero-card{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem;background:linear-gradient(160deg,var(--surface-hi),var(--surface-lo));border:1px solid var(--border);border-radius:10px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;animation:rise-in .5s ease both}#calendar-app .hero-card:nth-child(2){animation-delay:.08s}#calendar-app .hero-card:nth-child(3){animation-delay:.16s}#calendar-app .hero-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 18%,transparent)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#calendar-app .hero-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.6}#calendar-app .hero-value{font-size:1.5rem;font-weight:700;color:var(--accent);line-height:1.15;font-variant-numeric:tabular-nums}#calendar-app .hero-sub{font-size:.8rem;opacity:.75}#calendar-app .legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1.25rem 0 1.5rem;font-size:.85rem}#calendar-app .legend-item{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid transparent;border-radius:999px;padding:.2rem .6rem .2rem .4rem;color:var(--fg);font:inherit;font-size:.85rem;cursor:pointer;transition:opacity .12s ease}#calendar-app .legend-item:hover{border-color:var(--border-hover)}#calendar-app .legend-item.off{opacity:.35}#calendar-app .legend-item.off .swatch{filter:grayscale(1)}#calendar-app .swatch{width:.8rem;height:.8rem;border-radius:3px;display:inline-block}#calendar-app .layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1.5rem;align-items:start}@media(max-width:62rem){#calendar-app .layout{grid-template-columns:1fr}}#calendar-app .view-switch{display:flex;gap:.35rem;margin-bottom:.75rem}#calendar-app .view-btn{background:var(--surface-hi);color:var(--fg);border:1px solid var(--control-border);border-radius:6px;padding:.3rem .85rem;font:inherit;font-size:.85rem;cursor:pointer;opacity:.7}#calendar-app .view-btn:hover{border-color:var(--accent)}#calendar-app .view-btn.active{border-color:var(--accent);color:var(--accent);opacity:1}#calendar-app .week-view{display:flex;flex-direction:column;gap:4px}#calendar-app .week-day{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem;align-items:start;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem;font:inherit;color:var(--fg);cursor:pointer}#calendar-app .week-day:hover{border-color:var(--border-hover)}#calendar-app .week-day.is-today{border-color:var(--accent)}#calendar-app .week-day.is-selected{background:var(--surface-active);border-color:var(--accent)}#calendar-app .week-day-head{font-size:.85rem;font-weight:600;opacity:.85;padding-top:.1rem}#calendar-app .week-day.is-today .week-day-head{color:var(--accent)}#calendar-app .week-day-body{display:flex;flex-wrap:wrap;gap:4px}#calendar-app .agenda-view{display:flex;flex-direction:column;gap:.5rem}#calendar-app .agenda-date{font-size:.85rem;color:var(--accent);margin:.75rem 0 .15rem;border-bottom:1px solid var(--border);padding-bottom:.25rem}#calendar-app .agenda-view .agenda-date:first-child{margin-top:0}#calendar-app .cal-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}#calendar-app .cal-toolbar h2{font-size:1.2rem;margin:0;min-width:11rem;text-align:center}#calendar-app .nav-btn,#calendar-app .today-btn{background:var(--surface-hi);color:var(--fg);border:1px solid var(--control-border);border-radius:6px;cursor:pointer;font:inherit}#calendar-app .nav-btn{width:2rem;height:2rem;font-size:1.2rem;line-height:1}#calendar-app .today-btn{margin-left:auto;padding:.35rem .8rem}#calendar-app .jump-input{background:var(--surface-hi);color:var(--fg);border:1px solid var(--control-border);border-radius:6px;padding:.3rem .5rem;font:inherit;font-size:.8rem}#calendar-app .jump-input:hover{border-color:var(--accent)}#calendar-app .nav-btn:hover,#calendar-app .today-btn:hover{border-color:var(--accent);color:var(--accent)}#calendar-app .weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.6;text-align:center}#calendar-app .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;min-height:34rem;align-content:start}#calendar-app .cell{min-height:6.5rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.35rem;text-align:left;font:inherit;color:var(--fg);cursor:pointer;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}#calendar-app .cell.blank{background:transparent;border-color:transparent;cursor:default}#calendar-app .cell:not(.blank):hover{border-color:var(--border-hover)}#calendar-app .cell.is-today{border-color:var(--accent);animation:today-glow 2.8s ease-in-out infinite}@keyframes today-glow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 40%,transparent)}50%{box-shadow:0 0 10px 1px color-mix(in srgb,var(--accent) 32%,transparent)}}#calendar-app .cell.is-selected{background:var(--surface-active);border-color:var(--accent)}#calendar-app .daynum{font-size:.8rem;opacity:.8}#calendar-app .cell.is-today .daynum{color:var(--accent);font-weight:700;opacity:1}#calendar-app .chips{display:flex;flex-direction:column;gap:2px}#calendar-app .chip{font-size:.7rem;line-height:1.3;padding:1px 4px;background:var(--chip-bg);border-left:3px solid #7f8c8d;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .12s ease,filter .12s ease}#calendar-app .chip:hover{transform:translate(2px);filter:brightness(1.2)}#calendar-app .chip-multi{background:var(--chip-multi-bg);font-style:italic}#calendar-app .more{font-size:.65rem;opacity:.6;padding-left:4px}#calendar-app .event-tip{position:fixed;z-index:50;max-width:18rem;background:var(--surface-lo);border:1px solid var(--accent);border-radius:8px;padding:.6rem .75rem;box-shadow:0 10px 28px #0000008c;pointer-events:none;font-size:.82rem;line-height:1.4}#calendar-app .tip-title{font-weight:700;margin-bottom:.15rem}#calendar-app .tip-meta{opacity:.8;font-size:.76rem}#calendar-app .tip-loc{opacity:.8;font-size:.76rem;margin-top:.2rem}#calendar-app .sidebar h2{font-size:1.1rem;margin:0 0 .75rem}#calendar-app .day-detail{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem}#calendar-app .day-detail h3{margin:0 0 .75rem;font-size:1rem;color:var(--accent)}#calendar-app .event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}#calendar-app .event{border-left:3px solid #7f8c8d;padding:.5rem .75rem;background:var(--surface);border-radius:4px}#calendar-app .sidebar .event{background:var(--surface)}#calendar-app .event-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}#calendar-app .event-title{font-weight:600}#calendar-app .event-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}#calendar-app .event-meta{font-size:.8rem;opacity:.75;margin-top:.15rem}#calendar-app .event-link{font-size:.8rem;color:var(--accent);display:inline-block;margin-top:.4rem}#calendar-app .muted{opacity:.6;font-size:.9rem}#calendar-app .noscript{margin-top:1rem;opacity:.8}
