:root {
  --ink: #f6f1e7;
  --muted: #c8cbd0;
  --night: #091522;
  --night-deep: #050b12;
  --night-soft: #18304a;
  --accent: #efc777;
  --accent-bright: #ffe2a5;
  --paper: #f3eee4;
  --paper-soft: #e8e0d3;
  --paper-ink: #18212b;
  --paper-muted: #687078;
  --line: rgba(255, 255, 255, .17);
  --paper-line: rgba(24, 33, 43, .15);
  --shadow: 0 28px 80px rgba(2, 8, 15, .24);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: dark; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--paper-ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
img { display: block; max-width: 100%; }
.shell { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -70px; z-index: 100; padding: 10px 15px; color: #111; background: #fff; }
.skip-link:focus { top: 16px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

.atmosphere { position: fixed; inset: 0; z-index: -3; pointer-events: none; background: var(--paper); }
.atmosphere .stars { display: none; }
.hero-world, .event-world { position: relative; isolation: isolate; overflow: hidden; color: var(--ink); background: linear-gradient(155deg, var(--night-soft), var(--night) 52%, var(--night-deep)); }
.hero-world { min-height: max(760px, 100svh); }
.event-world { min-height: max(720px, 92svh); }

.theme-new_year, .theme-christmas { --night: #091522; --night-deep: #030910; --night-soft: #193a55; --accent: #efc777; --accent-bright: #ffe4a7; }
.theme-winter { --night: #112031; --night-deep: #07101b; --night-soft: #36556a; --accent: #c9deea; --accent-bright: #eef9ff; }
.theme-halloween { --night: #17101f; --night-deep: #08060d; --night-soft: #4d2439; --accent: #ed9b55; --accent-bright: #ffc273; }
.theme-spring { --night: #173329; --night-deep: #0c1e18; --night-soft: #587963; --accent: #f2d29e; --accent-bright: #ffedcb; }
.theme-valentine { --night: #371722; --night-deep: #1b0a10; --night-soft: #7a3946; --accent: #f3b6b0; --accent-bright: #ffd7cf; }
.theme-summer { --night: #164456; --night-deep: #0b2935; --night-soft: #4c8992; --accent: #f5d27d; --accent-bright: #fff0b7; }
.theme-victory { --night: #17251d; --night-deep: #0a120e; --night-soft: #485d49; --accent: #edaf69; --accent-bright: #ffd69a; }
.theme-school, .theme-events { --night: #253225; --night-deep: #111a13; --night-soft: #6b714b; --accent: #edca78; --accent-bright: #ffe6a5; }

.site-header { position: relative; z-index: 20; padding: 25px 0; color: var(--ink); }
body:not([class*='theme-']) .site-header, .theme-events .site-header { color: var(--ink); background: var(--night); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--serif); font-weight: 700; font-size: 1.22rem; letter-spacing: .01em; }
.brand-mark { display: grid; place-items: center; width: 34px; aspect-ratio: 1; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-radius: 50%; }
nav { display: flex; gap: 28px; align-items: center; font-size: .86rem; }
.site-header nav { color: color-mix(in srgb, var(--ink) 72%, transparent); }
nav a { border-bottom: 1px solid transparent; }
nav a:hover, nav a[aria-current='page'] { color: var(--ink); border-color: var(--accent); }

.world-scene { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.world-sky { position: absolute; inset: 0; background: radial-gradient(circle at 72% 23%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 21%); }
.celestial { position: absolute; right: max(8%, calc((100vw - var(--container)) / 2)); top: 16%; width: clamp(76px, 8vw, 126px); aspect-ratio: 1; border-radius: 50%; background: #f7e8b4; box-shadow: 0 0 75px rgba(255, 229, 155, .27); }
.celestial::after { content: ''; position: absolute; inset: 10% 12% 18% 30%; border-radius: 50%; border: 1px solid rgba(153, 124, 82, .12); }
.cloud { position: absolute; width: 260px; height: 42px; opacity: .1; border-radius: 50%; background: var(--ink); filter: blur(13px); animation: cloud-drift 28s ease-in-out infinite alternate; }
.cloud-one { right: 4%; top: 35%; }.cloud-two { left: 30%; top: 22%; animation-duration: 39s; }
.world-particles { position: absolute; inset: -12% 0 0; opacity: .6; background-image: radial-gradient(circle, #fff 0 1.8px, transparent 2.4px), radial-gradient(circle, var(--accent-bright) 0 1px, transparent 1.7px), radial-gradient(circle, #fff 0 1px, transparent 1.8px); background-position: 5px 7px, 42px 61px, 20px 30px; background-size: 93px 113px, 157px 147px, 71px 89px; mask-image: linear-gradient(to bottom, #000 0 80%, transparent); animation: particle-fall 20s linear infinite; }
.world-backdrop { position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent, rgba(2, 8, 14, .2)); }
.world-backdrop span { position: absolute; bottom: -6vw; width: 50vw; height: 21vw; min-height: 180px; border-radius: 50% 50% 0 0; background: color-mix(in srgb, var(--night-soft) 45%, #061018); }
.world-backdrop span:nth-child(1) { left: -14vw; }.world-backdrop span:nth-child(2) { left: 23vw; bottom: -12vw; opacity: .75; }.world-backdrop span:nth-child(3) { right: -18vw; bottom: -8vw; }

.winter-house { position: absolute; right: clamp(8%, 12vw, 17%); bottom: 7%; width: clamp(190px, 24vw, 340px); height: clamp(155px, 18vw, 245px); background: #452f29; box-shadow: 0 25px 50px rgba(0,0,0,.28); }
.winter-house .roof { position: absolute; left: -14%; bottom: 93%; width: 128%; height: 60%; background: #17282d; clip-path: polygon(50% 0, 100% 100%, 0 100%); filter: drop-shadow(0 -9px 0 #d7e2e4); }
.warm-window { position: absolute; top: 28%; width: 20%; height: 30%; background: #ffd477; border: 6px solid #281e1d; box-shadow: 0 0 36px rgba(255, 193, 78, .5), inset 0 0 14px #fff0b0; }
.window-one { left: 18%; }.window-two { right: 18%; }
.door { position: absolute; left: 43%; bottom: 0; width: 17%; height: 45%; background: #251d1c; }
.chimney-smoke { position: absolute; left: 72%; bottom: 145%; width: 50px; height: 100px; border-radius: 50%; background: rgba(235,241,238,.13); filter: blur(12px); animation: smoke-rise 8s ease-in-out infinite; }
.scene-fir { position: absolute; bottom: 2%; width: 160px; height: 330px; filter: drop-shadow(0 20px 25px rgba(0,0,0,.18)); }
.scene-fir i { position: absolute; left: 0; width: 100%; height: 48%; background: #0b302f; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.scene-fir i:nth-child(1) { top: 0; transform: scale(.64); }.scene-fir i:nth-child(2) { top: 20%; transform: scale(.84); }.scene-fir i:nth-child(3) { top: 43%; }
.fir-left { left: 3%; transform: scale(.7); transform-origin: bottom; }.fir-right { right: -2%; transform: scale(1.15); transform-origin: bottom; opacity: .75; }
.garland { position: absolute; left: 0; right: 0; top: 9%; height: 45px; border-top: 2px solid rgba(24,22,18,.65); transform: rotate(-1.5deg); }
.garland i { position: absolute; top: -3px; width: 9px; height: 13px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 17px var(--accent); animation: light-glow 3s ease-in-out infinite alternate; }
.garland i:nth-child(1){left:9%}.garland i:nth-child(2){left:25%;animation-delay:.7s}.garland i:nth-child(3){left:41%;animation-delay:1.4s}.garland i:nth-child(4){left:58%;animation-delay:.3s}.garland i:nth-child(5){left:75%;animation-delay:1.1s}.garland i:nth-child(6){left:91%;animation-delay:1.8s}

.world-halloween .world-particles { background-image: radial-gradient(ellipse, #d8773f 0 2px, transparent 3px); background-size: 130px 170px; opacity: .35; animation-name: leaf-fall; }
.world-halloween .celestial { background: #dfd0a6; box-shadow: 0 0 80px rgba(242, 195, 113, .2); }
.bare-tree { position: absolute; left: 7%; bottom: 4%; width: 18px; height: 45%; background: #120d12; transform: rotate(-5deg); }
.bare-tree i { position: absolute; left: 5px; bottom: 48%; width: 10px; height: 55%; background: #120d12; transform-origin: bottom; }.bare-tree i:nth-child(1){transform:rotate(-42deg)}.bare-tree i:nth-child(2){transform:rotate(34deg)}.bare-tree i:nth-child(3){height:38%;transform:rotate(68deg)}
.pumpkin { position: absolute; bottom: 6%; width: 105px; height: 78px; border-radius: 48%; background: #c65b28; box-shadow: inset 18px 0 rgba(103,42,27,.2), inset -18px 0 rgba(255,161,68,.12), 0 0 35px rgba(217,94,37,.2); }.pumpkin::before { content:''; position:absolute; left:45%; top:-18px; width:12px; height:22px; background:#342b1b; transform:rotate(9deg); }.pumpkin i::before,.pumpkin i::after{content:'';position:absolute;top:27px;width:16px;height:11px;background:#2a1314;clip-path:polygon(50% 0,100% 100%,0 100%)}.pumpkin i::before{left:23px}.pumpkin i::after{right:23px}.pumpkin-one{right:14%;}.pumpkin-two{right:7%;transform:scale(.62);transform-origin:bottom;}
.ground-mist { position:absolute; bottom:2%; width:55%; height:60px; border-radius:50%; background:rgba(230,218,202,.12); filter:blur(18px); animation:mist-drift 15s ease-in-out infinite alternate; }.mist-one{left:12%}.mist-two{right:-5%;animation-delay:-7s}

.world-spring .celestial,.world-valentine .celestial,.world-summer .celestial { background:#fff0bd; box-shadow:0 0 100px rgba(255,224,140,.35); }
.world-spring .world-particles,.world-valentine .world-particles { background-image: radial-gradient(ellipse, #f3c4bd 0 2px, transparent 3px), radial-gradient(ellipse, #f4e2c0 0 1.5px, transparent 2px); background-size: 110px 140px, 76px 98px; animation-name: leaf-fall; }
.spring-branch { position:absolute; right:-5%; top:16%; width:45%; height:14px; background:#38271f; transform:rotate(-14deg); }
.spring-branch i { position:absolute; width:20px; height:20px; border-radius:50% 50% 50% 0; background:#e9aaa7; box-shadow:16px -8px #f2c3b7,-10px -12px #f0d2bd; }.spring-branch i:nth-child(1){left:5%}.spring-branch i:nth-child(2){left:26%;top:-18px}.spring-branch i:nth-child(3){left:47%;top:4px}.spring-branch i:nth-child(4){left:68%;top:-13px}.spring-branch i:nth-child(5){left:88%;top:5px}
.meadow { position:absolute; inset:auto 0 0; height:24%; background:linear-gradient(transparent,#244c39); }.meadow i { position:absolute; bottom:10%; width:5px; height:60px; background:#356346; }.meadow i::before { content:'';position:absolute;left:-8px;top:-9px;width:21px;height:21px;border-radius:50%;background:#edd09a;box-shadow:10px 4px #f0b8ab,-9px 5px #f1c8bd; }.meadow i:nth-child(1){left:11%}.meadow i:nth-child(2){left:28%;height:45px}.meadow i:nth-child(3){left:55%;height:70px}.meadow i:nth-child(4){left:74%;height:48px}.meadow i:nth-child(5){left:90%;height:65px}
.world-summer .world-particles { opacity:.18; animation:none; background-image:radial-gradient(circle,#fff0b0 0 1px,transparent 2px);background-size:150px 130px; }
.summer-hills { position:absolute; inset:auto 0 0; height:45%; }.summer-hills i { position:absolute; bottom:-35%; width:65%; height:100%; border-radius:50% 50% 0 0; background:#245d50; }.summer-hills i:nth-child(1){left:-20%}.summer-hills i:nth-child(2){left:20%;bottom:-50%;background:#316c55}.summer-hills i:nth-child(3){right:-22%;background:#194b47}.summer-grass{position:absolute;inset:auto 0 0;height:11%;background:#183d35}
.quiet-horizon { position:absolute; inset:auto 0 0; height:32%; background:linear-gradient(transparent,#1c3329); }

@keyframes particle-fall { to { transform: translateY(120px); } }
@keyframes leaf-fall { to { transform: translate(60px, 140px) rotate(8deg); } }
@keyframes cloud-drift { to { transform: translateX(80px); } }
@keyframes smoke-rise { 50% { transform: translate(15px,-25px) scale(1.3); opacity:.05; } }
@keyframes light-glow { to { opacity:.35; transform:scale(.78); } }
@keyframes mist-drift { to { transform:translateX(120px) scaleX(1.2); } }

.hero { position: relative; z-index: 2; min-height: calc(max(760px, 100svh) - 86px); display: grid; grid-template-columns: minmax(0, 1fr) 270px; align-items: center; gap: 60px; padding-block: 70px 100px; }
.hero-copy { max-width: 850px; text-shadow: 0 2px 26px rgba(0,0,0,.28); }
.eyebrow { margin: 0 0 15px; color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
h1,h2,h3 { margin-top:0; font-family:var(--serif); font-weight:500; line-height:1.04; text-wrap:balance; }
h1 { margin-bottom:24px; font-size:clamp(3.7rem,7.3vw,7.6rem); letter-spacing:-.06em; }
h2 { font-size:clamp(2.4rem,4.5vw,4.5rem); letter-spacing:-.045em; }
h3 { font-size:1.8rem; letter-spacing:-.025em; }
.answer { max-width:670px; margin:0 0 38px; color:color-mix(in srgb,var(--ink) 78%,transparent); font-family:var(--serif); font-size:clamp(1.12rem,2vw,1.4rem); }
.answer strong { color:var(--accent-bright); }

.countdown { display:flex; align-items:flex-start; gap:clamp(9px,1.4vw,21px); width:max-content; max-width:100%; }
.time-unit { min-width:clamp(62px,8vw,105px); }
.time-unit strong { display:block; font-family:var(--serif); font-size:clamp(3rem,6vw,6.4rem); font-weight:400; font-variant-numeric:tabular-nums; letter-spacing:-.065em; line-height:.9; }
.time-unit span { display:block; margin-top:12px; color:color-mix(in srgb,var(--ink) 67%,transparent); font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.time-separator { display:grid; gap:15px; padding-top:clamp(16px,2.4vw,28px); }
.time-separator i { width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent); }
.countdown-status { min-height:1.5em; margin:8px 0 0; color:var(--accent); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:30px; }
.scene-link { display:inline-flex; align-items:center; gap:13px; padding-bottom:6px; color:var(--accent-bright); font-weight:750; border-bottom:1px solid color-mix(in srgb,var(--accent) 55%,transparent); }
.scene-link span { transition:transform .2s ease; }.scene-link:hover span { transform:translateX(5px); }
.scene-link.dark { color:#7c4b2f; border-color:#b88b6d; }
.quiet-link { color:color-mix(in srgb,var(--ink) 65%,transparent); font-size:.84rem; }
.hero-note { align-self:end; margin-bottom:50px; padding-left:22px; color:color-mix(in srgb,var(--ink) 66%,transparent); font-family:var(--serif); font-size:1.05rem; border-left:1px solid color-mix(in srgb,var(--accent) 45%,transparent); }
.hero-note span { color:var(--accent); }

.nearest-strip { position:relative; z-index:3; display:grid; grid-template-columns:1.3fr 1fr 1fr 50px; align-items:center; gap:28px; min-height:138px; margin-top:-44px; padding:28px 36px; background:#fffaf1; border:1px solid #dfd4c4; box-shadow:0 20px 55px rgba(43,37,30,.12); }
.nearest-strip .eyebrow { margin-bottom:5px; color:#95613e; }.nearest-strip h2 { margin:0; font-size:1.9rem; }.nearest-date,.nearest-days{margin:0;color:var(--paper-muted)}.nearest-days strong{color:var(--paper-ink);font-size:1.4rem}.nearest-strip>a{display:grid;place-items:center;width:44px;aspect-ratio:1;border:1px solid var(--paper-line);border-radius:50%;font-size:1.3rem;transition:.2s}.nearest-strip>a:hover{color:#fff;background:#87543a;transform:translateX(3px)}

.time-passage { display:grid; grid-template-columns:1.05fr .95fr; align-items:end; gap:9vw; padding-block:150px 110px; }
.time-passage h2 { margin:0; }.time-passage .eyebrow,.events-section .eyebrow,.event-story .eyebrow,.catalog-intro .eyebrow,.catalog-group .eyebrow { color:#955c3b; }
.progress-story p { margin:0 0 22px; color:var(--paper-muted); font-family:var(--serif); font-size:1.23rem; }.progress-story p strong{color:var(--paper-ink)}
.progress-story progress { display:block; width:100%; height:8px; overflow:hidden; appearance:none; border:0; background:#d9d0c2; }
.progress-story progress::-webkit-progress-bar{background:#d9d0c2}.progress-story progress::-webkit-progress-value{background:linear-gradient(90deg,#754534,#c18a58)}.progress-story progress::-moz-progress-bar{background:#a66d49}
.progress-story>span { display:block; margin-top:10px; color:#867c70; font-size:.72rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }

.events-section { padding:90px 0 130px; }.events-section.compact{padding-top:80px}
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:46px; border-bottom:1px solid var(--paper-line); }.section-heading h2{margin-bottom:28px}.section-heading>p{max-width:410px;margin:0 0 34px;color:var(--paper-muted)}
.events-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.event-card { min-height:440px; overflow:hidden; color:var(--paper-ink); background:#fffaf1; border:1px solid #ddd2c2; box-shadow:0 16px 38px rgba(39,32,24,.09); transition:transform .25s ease,box-shadow .25s ease; }
.event-card:hover { transform:translateY(-7px); box-shadow:0 28px 54px rgba(39,32,24,.18); }
.event-card>a { display:grid; grid-template-rows:55% 45%; height:100%; }
.card-sky { position:relative; overflow:hidden; background:linear-gradient(155deg,#1a3650,#7791a7); }
.card-orb { position:absolute; right:16%; top:14%; width:50px; height:50px; border-radius:50%; background:#f8e6ae; box-shadow:0 0 25px rgba(255,224,146,.3); }
.card-land { position:absolute; bottom:-28%; width:90%; height:68%; border-radius:50% 50% 0 0; background:#123638; }.land-one{left:-30%}.land-two{right:-35%;background:#0d2b31}
.card-motif { position:absolute; bottom:5%; width:56px; height:115px; background:#0b302f; clip-path:polygon(50% 0,100% 55%,76% 55%,100% 100%,0 100%,24% 55%,0 55%); }.motif-one{left:10%}.motif-two{left:39%;transform:scale(.7);transform-origin:bottom}.motif-three{right:7%;transform:scale(.9);transform-origin:bottom}
.card-content { display:flex; flex-direction:column; padding:25px 27px; }.event-date{margin:0 0 9px;color:#777064;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.card-content h3{margin-bottom:7px}.days-away{margin:0;color:#6f716f}.days-away strong{color:var(--paper-ink);font-size:1.42rem}.card-link{display:flex;justify-content:space-between;margin-top:auto;padding-top:16px;color:#8a5235;font-size:.82rem;font-weight:800}.card-link span{font-size:1.1rem}
.theme-card-halloween .card-sky{background:linear-gradient(155deg,#21152b,#803d38)}.theme-card-halloween .card-land{background:#181119}.theme-card-halloween .card-motif{width:57px;height:45px;border-radius:48%;background:#c75c2a;clip-path:none}.theme-card-halloween .card-motif::before{content:'';position:absolute;left:44%;top:-10px;width:8px;height:13px;background:#292216}.theme-card-spring .card-sky,.theme-card-valentine .card-sky{background:linear-gradient(155deg,#5d886c,#d9aaa1)}.theme-card-spring .card-land,.theme-card-valentine .card-land{background:#37634d}.theme-card-spring .card-motif,.theme-card-valentine .card-motif{width:22px;height:22px;border-radius:50%;background:#f4d5c8;clip-path:none;box-shadow:17px 5px #efb8b1,-12px 8px #f4c7c1}.theme-card-summer .card-sky{background:linear-gradient(155deg,#448ca1,#e9bd6c)}.theme-card-summer .card-land{background:#2b7355}.theme-card-victory .card-sky{background:linear-gradient(155deg,#263a2c,#a05c3d)}.theme-card-school .card-sky{background:linear-gradient(155deg,#526b55,#c2a45f)}
.section-after { margin-top:45px; text-align:center; }.closing-note{padding:100px 0 150px;text-align:center;color:#756e64;font-family:var(--serif);font-size:clamp(1.4rem,2.8vw,2.25rem)}.closing-note span{display:block;margin-bottom:14px;color:#a56a43}.closing-note p{max-width:720px;margin:auto}

.event-world .world-scene::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,13,.28),transparent 65%),linear-gradient(0deg,rgba(3,8,13,.25),transparent 40%); }
.event-hero { position:relative;z-index:2;display:flex;min-height:calc(max(720px,92svh) - 85px);flex-direction:column;align-items:center;justify-content:center;padding:70px 0 110px;text-align:center;text-shadow:0 2px 26px rgba(0,0,0,.28); }
.event-hero .back-link{position:absolute;left:0;top:32px;color:color-mix(in srgb,var(--ink) 65%,transparent);font-size:.8rem}.event-hero h1{max-width:1050px;margin-inline:auto}.event-hero .answer{margin-inline:auto}.event-hero .countdown{margin:34px auto 0}.event-hero-tools{display:flex;align-items:center;justify-content:center;gap:22px;min-height:42px;margin-top:28px;color:color-mix(in srgb,var(--ink) 58%,transparent);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.music-button { display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--ink);background:rgba(4,10,15,.3);border:1px solid var(--line); }.music-button[aria-pressed='true']{color:var(--accent);border-color:var(--accent)}.music-icon{font-size:1rem}
.event-indicators { display:grid;grid-template-columns:.7fr .7fr 1.6fr;gap:1px;margin-top:-42px;background:#d7cec0;border:1px solid #d7cec0;box-shadow:0 20px 55px rgba(43,37,30,.1);position:relative;z-index:4; }.event-indicators>div{min-height:155px;padding:30px 34px;background:#fffaf1}.indicator-number{display:flex;flex-direction:column;justify-content:center}.indicator-number strong{font-family:var(--serif);font-size:3.2rem;font-weight:400;line-height:1}.indicator-number span{margin-top:8px;color:#756e65;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.event-progress{display:flex;flex-direction:column;justify-content:center}.event-progress p{margin-bottom:17px}
.interaction-grid { display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:110px 80px;border-bottom:1px solid var(--paper-line); }
.waiting-together,.share{min-height:230px;padding:35px 0}.waiting-count{margin:0 0 28px;font-family:var(--serif);font-size:1.3rem}.waiting-count strong{font-size:1.8rem;font-weight:400}.heart-button{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;color:#7c382f;background:transparent;border:1px solid #b98c7f}.heart-button:hover:not(:disabled){color:#fff;background:#8d453b}.heart-button.is-waiting{color:#fff;background:#8d453b;cursor:default}.heart-button span:first-child{font-size:1.15rem}.waiting-message{min-height:1.4em;margin:13px 0 0;color:#7f7167;font-size:.82rem}
.share{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:0}.share h2{margin:0 0 24px;font-size:1.7rem}.share-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.share-button,.quiet-button{padding:9px 13px;color:var(--paper-ink);background:transparent;border:1px solid var(--paper-line)}.share-button:hover{color:#fff;background:#815039}.copy-status{min-width:110px;color:#8a5235;font-size:.76rem}
.event-story { max-width:860px;padding-block:120px 130px;text-align:center}.event-story h2{font-size:clamp(2.7rem,5.5vw,5.5rem)}.event-description{max-width:720px;margin:0 auto;color:#5f6468;font-family:var(--serif);font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.75}.event-image{width:100%;max-height:540px;margin:60px auto 0;object-fit:cover}

.catalog-intro { padding:115px 0 95px; }.catalog-intro h1{margin-bottom:25px;color:var(--paper-ink)}.catalog-intro>p:not(.eyebrow){max-width:700px;color:var(--paper-muted);font-family:var(--serif);font-size:1.35rem}.category-nav{margin-top:38px;gap:10px;flex-wrap:wrap}.category-nav a{padding:8px 13px;color:#6e5748;border:1px solid #cfc2b1}.category-nav a:hover{color:#fff;background:#79503b}
.catalog-group { padding:70px 0 100px;scroll-margin-top:30px}.catalog-heading{margin-bottom:34px;border-bottom:1px solid var(--paper-line)}.catalog-heading h2{margin-bottom:25px}.catalog-grid{grid-template-columns:repeat(3,1fr)}

.site-footer { padding:45px 0;color:#afb5bb;background:#0b151e;border-top:1px solid rgba(255,255,255,.09);font-size:.8rem}.footer-inner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:50px}.footer-brand{color:#f4ede3;font-family:var(--serif);font-size:1.12rem}.footer-inner p{margin:4px 0 0}.site-footer nav{gap:20px}.site-footer nav a:hover{color:#fff}

.error-page{color:var(--ink);background:var(--night)}.error-page .site-header{color:var(--ink)}.error-main{min-height:65vh;display:grid;align-content:center;justify-items:start}.error-code{margin:0;color:var(--accent);font-family:var(--serif);font-size:6rem;line-height:1}.error-main h1{margin:18px 0;font-size:clamp(2.5rem,6vw,5rem)}.error-main>p:not(.error-code){color:var(--muted)}.button{display:inline-flex;justify-content:center;padding:12px 20px;color:#18202c;font-weight:800;background:var(--accent);border:0}.button:hover{background:var(--accent-bright)}

.admin-page{color-scheme:light;color:#172335;background:#f1eee8}.admin-page .brand-mark,.admin-page .eyebrow{color:#855535;border-color:#b58b65}.admin-header{padding:22px 0;background:#fffdf9;border-bottom:1px solid #ddd5c8}.admin-header .header-inner{color:#172335}.admin-main{padding:56px 0 100px}.admin-main.narrow{max-width:900px}.admin-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.admin-title h1{margin:0;font-size:3.3rem}.admin-card{background:#fffdf9;border:1px solid #ded6c9;box-shadow:0 14px 40px rgba(50,40,29,.08)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:17px 18px;text-align:left;border-bottom:1px solid #e6dfd5;vertical-align:top}th{color:#73695e;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}td small{display:block;margin-top:4px;color:#877e73}.is-disabled{opacity:.55}.status{display:inline-block;padding:2px 7px;font-size:.72rem;border-radius:10px}.status.on{color:#245b3b;background:#dcecdf}.status.off{color:#74413b;background:#f0dedb}.row-actions{white-space:nowrap}.row-actions form{display:inline}.row-actions a,.row-actions button{padding:2px 5px;color:#6d4d36;background:none;border:0;text-decoration:underline}.row-actions .danger{color:#a23c35}.login-shell{min-height:100vh;display:grid;place-content:center;width:min(430px,calc(100% - 32px));margin:auto}.login-brand{margin:0 auto 28px}.login-card{width:min(430px,100%);padding:36px}.login-card h1{font-size:2.4rem}.admin-form{padding:34px}.admin-form label{display:grid;gap:7px;color:#4c453d;font-size:.82rem;font-weight:700}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:11px 12px;color:#172335;background:#fff;border:1px solid #cfc5b7}.admin-form textarea{resize:vertical}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:3px solid rgba(164,107,62,.18);border-color:#9a6742}.admin-form fieldset{margin:0 0 36px;padding:0;border:0}.admin-form legend{width:100%;margin-bottom:18px;padding-bottom:9px;font-family:var(--serif);font-size:1.45rem;border-bottom:1px solid #e2dbd0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.event-form>fieldset>label{margin-bottom:18px}.check-group{align-self:end;display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.admin-form .check{display:flex;align-items:center;gap:8px}.admin-form .check input{width:auto}.hint{color:#8b8175;font-weight:400}.form-actions{display:flex;align-items:center;gap:24px}.form-errors{margin-bottom:22px;padding:14px 18px;color:#7a2d29;background:#f5dfdc;border-left:4px solid #a94b42}.form-errors p,.form-errors ul{margin:0}

@media (max-width:980px){
  .hero{grid-template-columns:1fr;align-content:center;padding-top:90px}.hero-note{display:none}.winter-house{right:5%;opacity:.68}.fir-right{opacity:.4}.time-passage{grid-template-columns:1fr;gap:45px}.events-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}.nearest-strip{grid-template-columns:1.2fr 1fr 1fr 45px}.event-indicators{grid-template-columns:1fr 1fr}.event-progress{grid-column:1/-1}.interaction-grid{gap:35px}.footer-inner{grid-template-columns:1fr auto}
}
@media (max-width:640px){
  .shell{width:min(var(--container),calc(100% - 28px))}.site-header{padding:18px 0}.brand{font-size:1.02rem}.brand-mark{width:29px}.site-header nav{gap:14px;font-size:.75rem}.site-header nav a:first-child,.site-header nav a:nth-child(n+3){display:none}.hero-world{min-height:760px}.hero{min-height:675px;display:flex;flex-direction:column;align-items:flex-start;padding-top:105px}.hero-copy{width:100%;text-align:center}.hero-note{display:none}.hero h1{font-size:clamp(3.05rem,15vw,4.9rem)}.hero .answer{margin-inline:auto}.hero .countdown{justify-content:center;margin-inline:auto}.countdown{gap:5px}.time-unit{min-width:52px}.time-unit strong{font-size:clamp(2.55rem,13vw,4.15rem)}.time-unit span{margin-top:9px;font-size:.51rem;letter-spacing:.08em}.time-separator{gap:9px;padding-top:15px}.time-separator i{width:4px;height:4px}.hero-actions{justify-content:center}.quiet-link{display:none}.world-scene{opacity:.8}.winter-house{right:-15%;bottom:4%;transform:scale(.72);transform-origin:bottom}.scene-fir{opacity:.5}.fir-left{left:-18%}.garland{top:11%}.celestial{right:7%;top:17%;width:75px}.nearest-strip{grid-template-columns:1fr auto;margin-top:-30px;padding:22px}.nearest-strip .nearest-date{display:none}.nearest-days{grid-column:1}.nearest-strip>a{grid-column:2;grid-row:1/3}.time-passage{padding:110px 0 75px}.section-heading{display:block}.section-heading>p{margin-top:-8px}.events-section{padding:70px 0 95px}.events-grid,.catalog-grid{grid-template-columns:1fr}.event-card{min-height:410px}.closing-note{padding:70px 0 100px}.event-world{min-height:740px}.event-hero{min-height:655px;padding:95px 0 70px}.event-hero .back-link{top:24px}.event-hero h1{font-size:clamp(2.8rem,13vw,4.7rem)}.event-hero .countdown{margin-top:28px}.event-hero-tools{font-size:.6rem}.event-indicators{grid-template-columns:1fr 1fr;margin-top:-25px}.event-indicators>div{min-height:125px;padding:24px 20px}.indicator-number strong{font-size:2.6rem}.event-progress{grid-column:1/-1}.interaction-grid{grid-template-columns:1fr;gap:0;padding:65px 0 45px}.waiting-together,.share{min-height:0;padding:32px 0}.share{border-top:1px solid var(--paper-line)}.event-story{padding:80px 0 95px}.catalog-intro{padding:85px 0 60px}.catalog-intro h1{font-size:clamp(3.5rem,16vw,5rem)}.catalog-group{padding:55px 0 70px}.footer-inner{grid-template-columns:1fr;text-align:center;gap:24px}.site-footer nav{justify-content:center}.admin-title{align-items:start;flex-direction:column}.admin-title h1{font-size:2.6rem}.form-grid{grid-template-columns:1fr}.admin-form{padding:22px}.login-card{padding:28px 22px}
}
@media (max-width:359px){
  .shell{width:calc(100% - 22px)}.site-header nav{gap:9px}.time-unit{min-width:45px}.time-unit strong{font-size:2.35rem}.time-separator{display:none}.countdown{gap:10px}.hero h1{font-size:2.8rem}.nearest-strip{padding:18px}.event-indicators>div{padding:20px 14px}.indicator-number span{font-size:.6rem}
}
@media (hover:none){.event-card:hover{transform:none;box-shadow:0 16px 38px rgba(39,32,24,.09)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.world-particles,.cloud,.chimney-smoke,.garland i,.ground-mist{animation:none}.event-card,.scene-link span{transition:none}}
