:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#080c10;color:#e5e6e7;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;overflow-x:hidden}
body{min-height:100svh}
button{-webkit-tap-highlight-color:transparent}
.splash{position:relative;isolation:isolate;width:100%;height:100svh;min-height:340px;overflow:hidden;background:#080c10}
.atmosphere{position:absolute;inset:-50px;background:url('./assets/facade.webp?v=20261030-clean-ivy-4k') center/cover no-repeat;filter:blur(36px) brightness(.24);transform:scale(1.08);z-index:-2}
.scene{position:absolute;left:50%;top:50%;width:max(100vw,min(177.68svh,128vw));aspect-ratio:1672/941;transform:translate(-50%,-50%);isolation:isolate}
.facade{display:block;width:100%;height:100%;filter:brightness(.78);user-select:none}
.green-facade,.green-aura{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .65s ease}
.green-facade{filter:brightness(.78)}
.green-aura{mix-blend-mode:screen}
.scene[data-green="true"] .green-facade{opacity:1}
.scene[data-green="true"] .green-aura{opacity:.95}
.neon{position:absolute;pointer-events:none;mix-blend-mode:screen;opacity:0;transition:opacity .85s ease;will-change:opacity}
.neon-amber{left:14.3541%;top:30.9245%;width:33.9713%;height:29.3305%}
.neon-blue{left:44.8565%;top:29.2242%;width:42.823%;height:31.6684%}
.scene[data-active="true"] .neon{opacity:.9;transition:opacity .45s ease}
.scene[data-active="true"] .neon-amber{animation:amber-ignite 1.75s ease-out both,amber-hum 6.7s ease-in-out 1.75s infinite}
.scene[data-active="true"] .neon-blue{animation:blue-ignite 2.15s ease-out both,blue-hum 8.3s ease-in-out 2.15s infinite}
.scene[data-green="true"] .neon{opacity:0!important;animation:none;transition:opacity .2s ease}
.sign{position:absolute;left:16.05%;top:33.3%;width:70%;height:23.8%;border:0;background:transparent;cursor:pointer;border-radius:16px;padding:0;touch-action:manipulation;outline:none}
.sign:focus-visible{outline:1px solid #d8eaff;outline-offset:14px;box-shadow:0 0 22px #bddcff24}
.secret-block{position:absolute;left:57.53%;top:60.95%;width:8.1%;height:14.8%;min-width:44px;min-height:44px;padding:0;border:0;border-radius:10%;background:transparent;cursor:pointer;touch-action:manipulation;outline:none}
.secret-block img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;opacity:.7;pointer-events:none;user-select:none;transition:opacity .3s ease,filter .3s ease}
.secret-block:hover img,.secret-block:focus-visible img{opacity:1}
.secret-block:focus-visible{outline:1px solid #c3e5f2;outline-offset:3px}
.scene[data-green="true"] .secret-block img{filter:drop-shadow(0 0 3px #62ff8590);opacity:.85}
.calendar-trigger{position:absolute;left:31.47%;top:14.55%;width:7.7%;height:13.05%;border:0;border-radius:9%;padding:0;background:transparent;cursor:pointer;touch-action:manipulation;outline:none}
.calendar-trigger::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
 .glass-etch{position:absolute;inset:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2%;pointer-events:none;user-select:none;color:#d2f5ff;opacity:1;font-family:Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;line-height:1;text-transform:uppercase;text-shadow:0 0 3px #a7e8ff,0 0 10px #63ccffb3}
.glass-etch-weekday,.glass-etch-month{font-size:clamp(8px,.72vw,13px);font-weight:400;line-height:1.15;letter-spacing:.09em;white-space:nowrap}
.glass-etch-number{font-size:clamp(17px,2.15vw,36px);font-weight:400;line-height:1.05}
.calendar-trigger{z-index:3;background:radial-gradient(ellipse,#092b3433,transparent 75%);box-shadow:inset 0 0 14px #97e4ff24,0 0 14px #8edaff20}
.calendar-trigger::before{content:"";position:absolute;inset:4%;border-radius:7%;border:1px solid #b1eaff40;box-shadow:inset 0 0 8px #95d8ff35;pointer-events:none;transition:box-shadow .3s ease}
.calendar-trigger:hover::before,.calendar-trigger[aria-expanded="true"]::before{box-shadow:inset 0 0 8px #95d8ff55,0 0 12px #8edaff30}
.calendar-trigger:focus-visible{outline:1px solid #dcf5ff;outline-offset:4px}
@media(max-width:600px){.glass-etch{inset:2px;gap:0}}
.calendar-dialog{width:min(480px,calc(100vw - 36px));max-height:calc(100svh - 36px);margin:auto;padding:28px 26px 25px;overflow:auto;color:#fff;background:#0a10172e;border:1px solid #ffffff66;border-radius:18px;box-shadow:0 0 1px #fff,0 0 26px #e1f3ff20,0 24px 80px #0004,inset 0 0 26px #ffffff04;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:Arial,Helvetica,sans-serif}
.calendar-dialog::backdrop{background:#0205094f}
.calendar-dialog[open]{animation:calendar-reveal .24s ease-out}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:0 3px}
.calendar-header h2{margin:0;font-size:1.625rem;font-weight:400;line-height:1.3;letter-spacing:.015em;text-shadow:0 0 14px #e6f3ff50}
.calendar-close{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin-right:-9px;padding:0;border:0;border-radius:50%;color:#ffffffbd;background:transparent;cursor:pointer;transition:color .2s ease,background .2s ease}
.calendar-close:hover{background:#ffffff12;color:#fff}
.calendar-close:focus-visible{outline:1px solid #fff;outline-offset:2px}
.calendar-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 9px;margin:0;text-align:center;font-variant-numeric:tabular-nums}
.calendar-table th{padding:0 0 13px;font-size:.875rem;line-height:1.4;font-weight:400;color:#e0e6ed;letter-spacing:.01em;border-bottom:1px solid #ffffff26}
.calendar-table abbr{text-decoration:none;cursor:default}
.calendar-table td{height:46px;padding:0;vertical-align:middle}
.calendar-table time{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;max-width:100%;border:1px solid transparent;border-radius:50%;font-size:1.375rem;font-weight:400;line-height:1;text-shadow:0 0 12px #e8f4ff45}
.calendar-table time[aria-current="date"]{border-color:#ffffffb8;background:#ffffff18;box-shadow:0 0 14px #f0f8ff28,inset 0 0 12px #ffffff10;color:#fff;text-shadow:0 0 8px #ffffff80}
@keyframes calendar-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:400px){.calendar-dialog{padding:22px 15px 20px}.calendar-header{margin-bottom:14px}.calendar-header h2{font-size:1.375rem}.calendar-table{border-spacing:0 7px}.calendar-table td{height:41px}.calendar-table time{width:38px;height:38px;font-size:1.25rem}}
.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#04060b14 0%,transparent 22%,transparent 75%,#04060b80 100%),radial-gradient(ellipse at 51% 47%,transparent 40%,#03050a55 100%)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes amber-ignite{0%{opacity:0}18%{opacity:.94}35%{opacity:.94}43%{opacity:.18}60%{opacity:.98}100%{opacity:.9}}
@keyframes blue-ignite{0%{opacity:0}12%{opacity:.2}26%{opacity:.95}45%{opacity:.95}56%{opacity:.22}78%,100%{opacity:.9}}
@keyframes amber-hum{0%,100%{opacity:.9}35%{opacity:.98}70%{opacity:.8}}
@keyframes blue-hum{0%,100%{opacity:.9}40%{opacity:.78}75%{opacity:.98}}
@media (max-aspect-ratio:6/5){.scene{-webkit-mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent)}}
@media (max-width:540px){.sign:focus-visible{outline-offset:5px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.scene[data-active="true"] .neon{opacity:.85}}
