/* Snow, warm paper, evergreen, and the original №1 red. */
:root{color-scheme:light;--bg:#fbf8f1;--panel:#fffdf9;--text:#283d33;--muted:#787b70;--line:#31493520;--red:#ed242c}
body{background:radial-gradient(ellipse at 88% 8%,#f5e8d4a0,transparent 35%),radial-gradient(ellipse at 4% 38%,#e9f1e5a0,transparent 28%),var(--bg);padding-top:12px}
body:before{opacity:.018;z-index:1}.wrap{position:relative;z-index:2}.topbar{border-color:#3b4f3820}.brand-copy{color:#334939}.brand-copy small{color:#8c917f}.topbar nav a,.text-link{color:#576452}.topbar nav a:hover{color:#df2630}.nav-login{border-color:#36563a30;background:#fff9;box-shadow:0 3px 10px #57584004;border-radius:8px}.edition{color:#7d8974}.eyebrow{color:#71806a}.red-dot{background:#e72d34;box-shadow:0 0 0 5px #ed242c0a}.hero{min-height:680px;grid-template-columns:1fr 1fr;overflow:visible}.hero-copy{padding-top:65px;padding-bottom:65px}.hero h1{font-size:clamp(48px,5.2vw,76px);font-weight:700;letter-spacing:-3.8px;line-height:1.1}.hero h1 span{color:#e82c34}.hero-copy>p{color:#798172;max-width:405px}.btn{background:#ed242c;border-radius:8px;box-shadow:0 8px 20px #d1222818;position:relative;overflow:hidden;transition:background .2s,transform .2s,box-shadow .2s}.btn:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff4 50%,transparent 80%);transform:translateX(-150%);transition:transform .6s}.btn:hover:after{transform:translateX(150%)}.btn:hover{background:#d9202b;box-shadow:0 10px 24px #d122282a}.btn.outline{color:#36513e;border-color:#36513e30;background:#fff8;box-shadow:none}.btn.outline:hover{background:#fff}.hero-date .calendar-mini{background:#fff;border-color:#dde3d5;box-shadow:0 4px 12px #4a613c07;border-radius:7px;position:relative;padding:10px 13px}.calendar-mini:before{content:'';height:3px;background:#e82c34;position:absolute;left:0;right:0;top:0;border-radius:7px 7px 0 0}.calendar-mini b{color:#e82c34}.calendar-mini small{color:#808b74}.hero-date p{color:#3e5140}.hero-date span{color:#8a8f80}.scroll-cue{color:#9b9b87}.scroll-cue:after{background:linear-gradient(#c9a367,transparent)}
.festive-art{width:620px;height:630px;right:-55px;top:15px;perspective:1000px;z-index:0;isolation:isolate;pointer-events:none}
.winter-halo{position:absolute;width:510px;height:510px;left:55px;top:23px;background:radial-gradient(ellipse at 40% 40%,#fff 0%,#f4ebd93d 50%,#e0e8d47d 76%,transparent 78%);border-radius:50%;box-shadow:inset 0 0 65px #fff9;animation:halo-breathe 6s ease-in-out infinite}
.globe-line{position:absolute;inset:25px 57px 90px;border:1px solid #e8ddc9;border-radius:50%;background:radial-gradient(ellipse at 23% 24%,#fff8,transparent 42%);box-shadow:inset 0 0 35px #fff8,0 0 0 9px #fff3;transform:rotate(-8deg)}
.globe-shine{position:absolute;top:67px;left:100px;width:50px;height:170px;border-left:5px solid #fff;border-radius:50%;transform:rotate(28deg);opacity:.65}
.festive-art .art-number{font-size:322px;letter-spacing:-29px;left:100px;top:86px;background:linear-gradient(110deg,#a81020 0%,#f24743 19%,#ff6860 32%,#e82732 45%,#b51225 64%,#ff4d47 80%,#c81929 95%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(1px 2px 0 #b41424) drop-shadow(3px 5px 0 #a91022) drop-shadow(9px 17px 12px #b91d251c);transform:rotate(-8deg);animation:float-number 6s ease-in-out infinite;z-index:1}
.jubilee-ribbon{position:absolute;left:192px;top:382px;z-index:2;color:#895f2d;background:linear-gradient(100deg,#f0dfb8,#fff2d5,#ead5ab);padding:6px 28px;border:1px solid #ddc79399;border-radius:3px;box-shadow:0 4px 12px #ad8b5710;font-size:11px;letter-spacing:5px;transform:rotate(-8deg);font-weight:700;animation:float-number 6s ease-in-out infinite}
.winter-scene{position:absolute;width:100%;height:100%;inset:0;z-index:3;overflow:visible}.holiday-tree{transform-origin:474px 495px;animation:tree-breeze 8s ease-in-out infinite}.tree-light{animation:tree-twinkle 3s ease-in-out infinite;animation-delay:var(--light-delay)}.tree-star{filter:drop-shadow(0 0 7px #e7b95399);animation:star-glow 3s ease-in-out infinite}.santa-wave{transform-origin:177px 401px;animation:santa-wave 4s ease-in-out infinite}.santa-character{animation:santa-bob 5s ease-in-out infinite;transform-origin:140px 500px}.gift-stack{transform-origin:335px 508px;animation:gift-wiggle 8s ease-in-out infinite}.globe-flake{animation:globe-snow 5s ease-in-out infinite;animation-delay:var(--flake-delay);transform-box:fill-box;transform-origin:center}.snowglobe-base{position:absolute;z-index:4;left:127px;top:543px;width:358px;padding:14px 10px 16px;text-align:center;background:linear-gradient(100deg,#ece2cd,#fff5de 45%,#e9d8b5);border:1px solid #ddc99f70;border-radius:7px 7px 35px 35px;box-shadow:0 10px 22px #9d8c6a12}.snowglobe-base span{font-size:10px;letter-spacing:3px;color:#796443;font-weight:700}.snowglobe-base small{display:block;font-size:10px;color:#a28d69;letter-spacing:.8px;margin-top:4px}.scene-spark{position:absolute;color:#c29a58;animation:twinkle 3.8s ease-in-out infinite;z-index:5}.spark-one{left:70px;top:118px;font-size:35px}.spark-two{right:44px;top:333px;font-size:26px;animation-delay:1.2s}.spark-three{right:141px;top:46px;font-size:16px;animation-delay:2s}.celebration-note{position:absolute;top:33px;left:151px;font-size:13px;font-weight:500;letter-spacing:1px;color:#7c8e70;transform:rotate(-8deg)}
.ticker{background:#eaf0e5;border-color:#dbe4d3;color:#68795c;padding:17px 0;font-size:10px;letter-spacing:3px;position:relative;z-index:3}.ticker i{color:#cd9e50}.countdown-section{position:relative;padding:42px 0}.countdown-title .eyebrow{color:#8a967e}.countdown-title h2{color:#3b503c}.countdown{gap:16px}.time-unit{background:#fffaf1;border:1px solid #e7dfce;border-radius:10px;min-width:84px;padding:15px 12px 11px;box-shadow:0 5px 15px #6b5d3f03}.time-unit strong{color:#d72b32;font-size:39px}.time-unit small{color:#92937f;font-size:8px;letter-spacing:1.5px}.colon{margin-bottom:5px;color:#c6ba9f}.section-heading h2{color:#344e3b}.section-heading>p,.evening-card p{color:#858b7a}.evening-card{background:#fffdf9;border:1px solid #e7e5d9;border-radius:13px;box-shadow:0 5px 20px #6b5d3f03;transition:transform .35s,box-shadow .35s}.evening-card:hover{transform:translateY(-6px);box-shadow:0 14px 35px #6b5d3f0b}.evening-card:first-child{background:linear-gradient(125deg,#fff1e7,#fffaf2)}.evening-card:nth-child(2){background:linear-gradient(125deg,#f0f4e9,#fffdf9)}.evening-card:nth-child(3){background:linear-gradient(125deg,#fff6e5,#fffdf9)}.card-top{color:#91917b}.card-icon{background:#e8323110;color:#d72b32}.evening-card:nth-child(2) .card-icon{color:#5b7e50;background:#4d7b5010}.evening-card:nth-child(3) .card-icon{color:#b89146;background:#c7953410}.evening-card h3{color:#43533f}.card-watermark{color:#e5282507}.rsvp-copy h2{color:#354f3c}.rsvp-copy h2 span{color:#df3035}.rsvp-copy>p,.venue-block p{color:#858b7b}.venue-block{border-color:#354f3c20}.venue-block h3{color:#3e5440}.venue-block svg{color:#d63036}.rsvp-form{background:linear-gradient(135deg,#fff,#fffaf1);border:1px solid #e5dece;border-radius:14px;box-shadow:0 10px 45px #84714d08;position:relative}.rsvp-form:before{content:'✦';position:absolute;top:-19px;right:25px;font-size:29px;color:#c9a35f;text-shadow:0 0 18px #e6c98655;animation:twinkle 4s infinite}.form-heading span,.form-note,.checkbox{color:#92917e}.form-heading h3,.field>span{color:#53624c}input,textarea,select{background:#fffefb;border-color:#e3dfd3;color:#344a38;border-radius:7px}input::placeholder,textarea::placeholder{color:#a5a694}input:focus,textarea:focus,select:focus{border-color:#b4bf9e;box-shadow:0 0 0 3px #abb9921a}.error{color:#c62330}.success-icon{background:#e9f3e6;border-color:#d5e3cc;color:#5e8855}.success-panel h3{color:#46653f}.quiz-strip{background:linear-gradient(120deg,#ecf2e7,#f7f7ee);border-color:#dce5d2;border-radius:12px}.quiz-strip h3{color:#3c563e}.quiz-strip .mini-label{color:#809568}.quiz-strip p{color:#8d9681}footer{border-color:#3b503c20}footer p,footer a{color:#969d8d}.footer-motto{color:#7b886f}
.gate-page{background:radial-gradient(ellipse at 14% 70%,#e4eddb80,transparent 50%)}.gate-page:before{background:radial-gradient(ellipse at 80% 40%,#f4e6cbaa,transparent 55%)}.gate-layout{gap:75px;padding-top:55px;padding-bottom:65px;max-width:1160px}.gate-intro .brand{margin-bottom:35px}.gate-intro h1{font-size:54px;color:#344d39}.gate-intro h1 span{color:#e52e35}.gate-intro>p{color:#88917d}.gate-bg-number{color:#bc9d5e08}.gate-year{color:#a89877;font-size:11px;margin-top:25px;letter-spacing:4px}.gate-card{background:linear-gradient(125deg,#fff,#fffaf1);border-color:#e8ddc8;border-radius:16px;box-shadow:0 20px 65px #8e775417}.gate-card h2{color:#43553d}.gate-card>p{color:#92937e}.gate-card .lock-icon{border-color:#dedacb;color:#a79a77;background:#faf6ec}.gate-foot{color:#9a9d89}.gate-art{position:relative;top:auto;left:0;right:auto;width:360px;height:295px;margin:2px 0 -50px;transform:none;transform-origin:top left;zoom:.8}.gate-art .art-number{font-size:192px;top:49px;left:57px;letter-spacing:-17px}.gate-art .winter-halo{inset:13px 32px 45px;width:auto;height:auto}.gate-art .globe-line{inset:15px 33px 50px}.gate-art .globe-shine{top:38px;left:58px;width:28px;height:98px;border-width:3px}.gate-art .jubilee-ribbon{left:105px;top:217px;font-size:7px;letter-spacing:2px;padding:4px 15px}.gate-art .snowglobe-base{top:308px;left:73px;width:207px;padding:7px 5px 10px;border-radius:4px 4px 20px 20px}.gate-art .snowglobe-base span{font-size:6px;letter-spacing:1.5px}.gate-art .snowglobe-base small{font-size:6px;margin-top:1px}.gate-art .winter-scene{width:360px;height:366px}.gate-art .celebration-note{top:17px;left:83px;font-size:8px}.gate-art .scene-spark{display:none}.gate-art .winter-halo{height:290px}.gate-art .globe-line{height:290px}.gate-art .art-number{font-size:190px}.toggle-password{color:#969880}.boot{color:#89947d}.loader{border-color:#dce3d4;border-top-color:#e63539}
.page-header .links,.live-status{color:#7e8c73}.motion-toggle{color:#829175}.question-stage{background:radial-gradient(ellipse at 50% 100%,#edf2e4,#fffdf8);border-color:#dfe4d5;border-radius:14px}.stage-num{color:#c28b4e}.stage-symbol{color:#d83a3b}.question-stage h2{color:#354f3c}.question-stage p,.answer-caption{color:#8d967e}.answer-btn{background:#fffdf8;border-color:#e3e5d7;color:#53674b;border-radius:10px}.answer-btn:hover:not(:disabled){border-color:#bcaa78;background:#fff8e9}.answer-letter{background:#f3f4e9;border-color:#e2e5d2;color:#71845c}.answer-btn.selected{border-color:#e24949;background:#fff0e9}.answer-btn.correct{border-color:#6d9960;background:#edf5e8}.leaderboard-head span,.question-counter{color:#97a087}.leaderboard-row .rank{color:#adb099}.leaderboard-row .speed{color:#6f815e}.empty{border-color:#d9dfcd;color:#96a085}.winner-banner{background:#eef5e5;border-color:#d4e2c6}.winner-banner small{color:#83a369}.winner-banner h3{color:#567a48}.admin-panel,.question-editor{background:#fffdf8;border-color:#e2e4d4}.admin-panel .question-preview,.admin-panel h2,.editor-top h3{color:#48613f}.admin-panel p,.admin-title p{color:#8a987d}.tab{color:#a0a68f}.tab.active{color:#536d46}.stats .stat{background:#f4f5e9;border-color:#dfe3cf}.stat strong{color:#5b7448}.stat span{color:#9ba588}.status-pill{background:#f3f4e7;border-color:#e3e6d2;color:#9a9f85}.status-pill.green{color:#6c935a;background:#edf5e5}.status-pill.yellow{color:#b79c57;background:#faf4e4}.info-box{color:#9e9677;border-color:#e9dfc5;background:#fbf6e8}.admin-save button{box-shadow:0 8px 25px #bca17a22}.preview-credentials{background:#fff7e6;border-color:#dcca9a}.preview-credentials code{color:#7d7757}th{color:#a1a78e}td{color:#8c9b7a}td strong{color:#6d8259}td small{color:#a3ad91}.connection-banner{color:#aa945e;background:#fbf5df}.lock-caption,.page-small-foot{color:#9aa58a}.live-status.offline{color:#c78069}
.fairy-lights{position:absolute;top:0;left:0;right:0;height:32px;display:flex;align-items:flex-start;justify-content:space-around;gap:10px;overflow:hidden;pointer-events:none;z-index:30}.fairy-lights:before{content:'';position:absolute;left:0;right:0;top:-9px;height:20px;border-bottom:1px solid #a1af8d;border-radius:0 0 50% 50%}.fairy-lights i{position:relative;margin-top:10px;flex:none;width:6px;height:10px;background:var(--bulb);border-radius:40% 40% 50% 50%;box-shadow:0 0 10px 2px color-mix(in srgb,var(--bulb),transparent 65%);animation:bulb-glow 3s ease-in-out infinite;animation-delay:var(--delay);rotate:10deg}.fairy-lights i:before{content:'';position:absolute;top:-5px;left:1.5px;width:3px;height:5px;background:#7d916d}.fairy-lights i:nth-child(2n){margin-top:15px;rotate:-12deg}.fairy-lights i:nth-child(3n){margin-top:18px}.snowflake{background:#fff;border:1px solid #d7e1d180;width:var(--snow-size)!important;height:var(--snow-size)!important;box-shadow:0 1px 3px #91a08035;animation-name:holiday-snow;animation-timing-function:linear}.snowflake.crystal{background:none;border:0;color:#a7bbaa;box-shadow:none;font-size:15px;line-height:1;font-style:normal;width:auto!important;height:auto!important;opacity:.3}#snow{z-index:4}#holiday-effects{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.touch-spark{position:absolute;display:block;color:var(--spark-color);font-size:12px;animation:touch-spark .8s cubic-bezier(.2,.7,.2,1) both}.holiday-controls{position:fixed;right:22px;bottom:20px;z-index:70}.holiday-controls button{display:flex;align-items:center;gap:8px;background:#fffdf5ed;border:1px solid #dedfce;border-radius:50px;padding:10px 15px;color:#7b8969;box-shadow:0 4px 20px #7a865a0e;font-size:10px;backdrop-filter:blur(12px)}.holiday-controls svg{width:16px;height:16px}.holiday-controls button:hover{border-color:#a7b591}.season-reveal{opacity:0;translate:0 25px;transition:opacity .7s var(--reveal-delay,0s),translate .7s var(--reveal-delay,0s)}.season-reveal.is-visible{opacity:1;translate:0 0}#toast{background:#3f5844;color:#fffaf1;box-shadow:0 10px 30px #68815630}
@keyframes tree-breeze{0%,100%{rotate:-1deg}50%{rotate:1deg}}@keyframes tree-twinkle{0%,100%{opacity:.55}50%{opacity:1}}@keyframes star-glow{0%,100%{filter:drop-shadow(0 0 3px #e7b95355)}50%{filter:drop-shadow(0 0 12px #e7b953bb)}}@keyframes santa-wave{0%,35%,70%,100%{rotate:0deg}42%,56%{rotate:-15deg}49%,63%{rotate:7deg}}@keyframes santa-bob{0%,100%{translate:0 0}50%{translate:0 -3px}}@keyframes gift-wiggle{0%,75%,100%{rotate:0deg}80%,90%{rotate:-2deg}85%,95%{rotate:2deg}}@keyframes globe-snow{0%,100%{translate:0 -6px;opacity:.4}50%{translate:7px 10px;opacity:1}}@keyframes halo-breathe{0%,100%{opacity:.8}50%{opacity:1}}@keyframes bulb-glow{0%,100%{opacity:.55;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.25)}}@keyframes holiday-snow{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}10%{opacity:var(--snow-opacity)}85%{opacity:var(--snow-opacity)}100%{transform:translate3d(var(--snow-drift),105vh,0) rotate(180deg);opacity:0}}@keyframes touch-spark{from{opacity:.9;translate:0 0;rotate:0deg;scale:.5}to{opacity:0;translate:var(--dx) var(--dy);rotate:var(--turn);scale:1.2}}
@media(min-width:1500px){.festive-art{top:25px}}@media(max-width:1100px) and (min-width:801px){.festive-art{right:-80px;top:60px;scale:.87;transform:none;transform-origin:center right}.hero h1{font-size:60px}.hero-copy>p{max-width:345px}.hero{min-height:650px}.gate-layout{gap:45px}}
@media(max-width:800px){body{padding-top:10px}.hero{display:flex;flex-direction:column;min-height:0;overflow:visible}.hero-copy{align-self:stretch;padding:40px 0 12px}.hero h1{font-size:58px;letter-spacing:-3px;max-width:550px}.hero-copy>p{font-size:13px}.hero-actions{gap:18px;margin-top:26px}.hero-actions .btn{font-size:11px;padding:17px 20px}.festive-art{position:relative;left:auto;right:auto;top:auto;width:min(620px,calc(100vw - 16px));height:auto;aspect-ratio:620 / 630;transform:none;margin:0 -17px 0;flex:none;overflow:visible}.festive-art .art-number{top:13.65%;left:16.13%;font-size:clamp(175px,52vw,322px);letter-spacing:-.085em}.winter-halo{width:82.25%;height:81%;left:8.87%;top:3.65%}.globe-line{inset:3.97% 9.2% 14.3%}.globe-shine{top:10.6%;left:16.13%;width:8%;height:27%;border-width:3px}.jubilee-ribbon{top:60.63%;left:30.96%;font-size:clamp(6px,1.77vw,11px);letter-spacing:clamp(2px,.8vw,5px);padding:1% 4.5%}.snowglobe-base{left:20.48%;top:86.2%;width:57.75%;padding:2.2% 2% 2.5%;border-radius:6px 6px 25px 25px}.snowglobe-base span{font-size:clamp(6px,1.62vw,10px);letter-spacing:2px}.snowglobe-base small{font-size:clamp(6px,1.6vw,10px);margin-top:2px}.celebration-note{top:5.23%;left:24.35%;font-size:clamp(8px,2.1vw,13px)}.spark-one{left:11.3%;top:18.7%;font-size:25px}.spark-two{right:7.1%;top:52.8%;font-size:20px}.spark-three{right:22.7%;top:7.3%;font-size:13px}.scroll-cue{bottom:35px;right:-8px;font-size:8px}.countdown-section{gap:25px;padding:30px 0}.countdown{gap:9px;width:100%;justify-content:space-between}.time-unit{min-width:0;flex:1;padding:13px 5px 10px;border-radius:8px}.time-unit strong{font-size:35px}.time-unit small{font-size:7px;letter-spacing:1px}.colon{font-size:18px}.gate-layout{padding-top:45px;gap:35px}.gate-intro h1{font-size:43px}.gate-intro .brand{margin-bottom:30px}.gate-art{display:none}.gate-card{border-radius:12px}.gate-foot{line-height:1.8;padding:0 15px;text-align:center}.gate-year{display:block;font-size:10px;letter-spacing:2px;margin-top:20px}.holiday-controls{right:13px;bottom:13px}.holiday-controls button{font-size:9px;padding:9px 12px}.fairy-lights{gap:15px}.season-reveal{translate:0 16px}.rsvp-form{padding:27px}.leaderboard-head{gap:15px}.leaderboard-head span{font-size:8px}.leaderboard h3{font-size:16px}}
@media(max-width:380px){.hero h1{font-size:51px;letter-spacing:-2.5px}.hero-actions{gap:14px}.hero-actions .btn{font-size:10px;padding:16px}.hero-actions .text-link{font-size:9px}.time-unit strong{font-size:31px}}
@media(prefers-reduced-motion:reduce){.season-reveal{opacity:1;translate:none}.fairy-lights i,.winter-scene *,.festive-art *{animation:none!important}.touch-spark{display:none}#snow{display:none}}
body.no-motion .season-reveal{opacity:1;translate:none}
/* Keep small copy legible on the warm, light surfaces. */
.hero-copy>p,.section-heading>p,.evening-card p,.rsvp-copy>p,.venue-block p,.gate-intro>p,.gate-card>p{color:#69765f}
.form-heading span,.form-note,.checkbox,.quiz-strip p,.hero-date span{color:#748067}
.eyebrow,.countdown-title .eyebrow{color:#6d7b61}
.admin-panel p,.admin-title p,.info-box,.status-pill,.field>span{color:#6f7b5f}
.question-stage p,.answer-caption,.leaderboard-head span,.live-status{color:#6b7c5e}
