:root{color:#f9ede2;font-synthesis:none;background:#220b16;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}button,a{font:inherit}button{color:inherit}.app-shell{background:radial-gradient(circle at 80% 15%,#59192c 0,#0000 30%),linear-gradient(145deg,#1e0913 0%,#35101e 52%,#1c0811 100%);min-height:100vh;position:relative;overflow-x:hidden}header{z-index:30;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:88px;padding:0 5.5vw;display:flex;position:relative}.brand{color:#fff6e9;letter-spacing:.12em;align-items:center;gap:12px;font-size:10px;line-height:1.15;text-decoration:none;display:flex}.brand span{color:#efc995;border:1px solid #dfb881;border-radius:50%;place-items:center;width:38px;height:38px;font:600 24px Frank Ruhl Libre;display:grid}.header-actions{align-items:center;gap:12px;display:flex}.preview-link,.location-button{cursor:pointer;background:0 0;border:0}.preview-link{color:#ddb9a8;align-items:center;gap:7px;font-size:12px;display:flex}.preview-short{display:none}.preview-link:hover{color:#fff}.location-picker{position:relative}.location-button{background:#ffffff0a;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.location-button:hover{background:#ffffff17}.city-menu{color:#35101e;background:#fff8f0;border-radius:15px;width:260px;max-height:420px;padding:7px;position:absolute;top:calc(100% + 9px);right:0;overflow:auto;box-shadow:0 20px 60px #0006}.city-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;width:100%;padding:10px 12px;display:flex}.city-menu button:hover{background:#f4e7dc}.city-menu small{color:#987b70}.city-menu .locate{color:#a1274e;border-bottom:1px solid #ead9cc;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:5px}.countdown-view{grid-template-columns:43% 57%;align-items:center;min-height:clamp(500px,66vh,600px);padding:2.5vh 6vw 4vh;display:grid;position:relative}.countdown-copy{z-index:2;align-self:center;position:relative}.eyebrow{color:#dfb881;letter-spacing:.16em;align-items:center;gap:9px;font-size:11px;font-weight:600;display:flex}.countdown-copy h1{letter-spacing:-.05em;max-width:650px;margin:20px 0 24px;font:600 clamp(58px,6.3vw,98px)/.84 Frank Ruhl Libre,serif}.countdown-copy h1 em{color:#dfa3b8;font-weight:500}.intro{color:#c9aaac;max-width:400px;font-size:16px;line-height:1.65}.timer-wrap{z-index:2;padding-left:4vw}.loading-line{color:#dcbf9d;align-items:center;gap:7px;margin-bottom:18px;font-size:11px;display:flex}.timer{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:clamp(8px,1.3vw,24px);max-width:760px;display:grid}.timer b{color:#ffffff40;padding-top:17px;font:400 clamp(38px,4vw,70px)/1 DM Mono}.timer-unit{text-align:center}.timer-unit span{color:#fff7ed;letter-spacing:-.07em;font:500 clamp(52px,6vw,100px)/1 DM Mono,monospace;display:block}.timer-unit.accent span{color:#f3b0c7}.timer-unit small{color:#9d7981;letter-spacing:.2em;margin-top:13px;font-size:9px;display:block}.entry-details{color:#d8bdba;border-top:1px solid #ffffff1a;align-items:center;gap:13px;margin-top:30px;padding-top:17px;font-size:13px;display:flex}.entry-details span{align-items:center;gap:8px;display:flex}.entry-details strong{color:#fff}.entry-details .dot{color:#a64d68}.local-note{color:#7f616a;margin-top:13px;font-size:10px}.ambient{filter:blur(80px);pointer-events:none;border-radius:50%;position:absolute}.ambient-one{background:#94234b2e;width:420px;height:420px;top:20%;left:8%}.ambient-two{background:#ffa54814;width:300px;height:300px;bottom:8%;right:10%}.candle-scene{opacity:.65;pointer-events:none;width:39vw;height:34vh;position:absolute;bottom:0;left:5vw}.candle{background:linear-gradient(90deg,#a88369,#f6dfbd 48%,#8d634d);border-radius:5px 5px 2px 2px;width:32px;height:155px;position:absolute;bottom:5%;right:24%;box-shadow:0 0 50px #ff9a3d2e}.candle.small{height:125px;right:12%}.candle i{filter:drop-shadow(0 0 14px #ffb14b);transform-origin:bottom;background:radial-gradient(circle at 50% 70%,#fff 0 12%,#ffd369 25%,#f07829 70%,#0000 72%);border-radius:70% 30% 65% 35%;width:18px;height:34px;animation:2.3s ease-in-out infinite flicker;position:absolute;top:-38px;left:7px}.candle span{background:radial-gradient(circle,#ffa23f29,#0000 65%);height:100px;position:absolute;inset:-60px -55px auto}.table-line{background:linear-gradient(90deg,#0000,#b98679,#0000);width:46%;height:1px;position:absolute;bottom:5%;right:3%}@keyframes flicker{0%,to{transform:rotate(-2deg)scale(1)}45%{transform:rotate(3deg)scale(.94,1.08)}}footer{color:#6f4c56;letter-spacing:.13em;z-index:2;justify-content:center;align-items:center;gap:16px;height:38px;font-size:9px;display:flex;position:relative}.celebration-view{place-items:center;min-height:calc(100vh - 88px);padding:40px 20px 28px;display:grid;position:relative;overflow-x:hidden}.celebration-bg{object-fit:cover;object-position:center 55%;filter:saturate(1.13);width:100%;height:100%;position:absolute;inset:0}.celebration-scrim{background:linear-gradient(#1d030f9e 0%,#2703122e 54%,#180109a6 100%);position:absolute;inset:0}.celebration-content{text-align:center;z-index:3;text-shadow:0 3px 28px #35000f;width:min(760px,94vw);margin-top:-2vh;animation:.8s cubic-bezier(.2,.8,.2,1) both rise;position:relative}.celebration-kicker{color:#ffe19b;letter-spacing:.22em;justify-content:center;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.celebration-content h1{color:#fff9e9;filter:drop-shadow(0 5px #9a1c3d);margin:25px 0 8px;font:700 clamp(86px,10vw,160px)/.85 Frank Ruhl Libre}.celebration-content h2{color:#ffcf67;margin:0 0 20px;font:600 clamp(34px,4vw,58px)/1 Frank Ruhl Libre}.celebration-content>p:not(.celebration-kicker){color:#fff;font-size:17px;line-height:1.55}.action-row{justify-content:center;gap:10px;margin-top:30px;display:flex}.action-row button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#350418ad;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:8px;padding:13px 19px;font-weight:600;display:flex}.action-row button:hover{background:#ffffff29;transform:translateY(-2px)}.action-row .share-button{color:#541126;background:linear-gradient(135deg,#fff4d4,#ffc15d);border:0}.action-row button:disabled{opacity:.6}.archive-toggle{color:#fff8e8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#300315d1;border:1px solid #ffe2a6b8;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:min(330px,88vw);margin:22px auto 0;padding:13px 17px;font-weight:700;display:flex;box-shadow:0 8px 30px #19000959,inset 0 0 0 1px #ffffff12}.archive-toggle:hover{background:#5c0f2de6;transform:translateY(-1px)}.archive-toggle span{flex:1}.archive-toggle .turned{transform:rotate(180deg)}.gallery-panel{width:min(680px,94vw);margin:0 auto}.gallery-heading{color:#ffe9c7;letter-spacing:.16em;text-shadow:0 2px 12px #210009;justify-content:space-between;width:100%;margin:18px auto 8px;font-size:9px;display:flex}.gallery-heading b{letter-spacing:.08em;font-weight:500}.card-gallery{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ffc76b #ffffff1f;gap:9px;width:min(640px,92vw);margin:0 auto;padding:3px 3px 10px;display:flex;overflow-x:auto}.card-gallery button{cursor:pointer;scroll-snap-align:center;background:#35101e;border:2px solid #0000;border-radius:12px;flex:0 0 94px;height:112px;padding:0;transition:transform .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 5px 18px #14000859}.card-gallery button:hover{transform:translateY(-2px)}.card-gallery button.selected{border-color:#ffd475;transform:translateY(-3px);box-shadow:0 0 0 2px #420519bf,0 6px 24px #ffbb4f59}.card-gallery img{object-fit:contain;background:#210b14;width:100%;height:100%}.card-gallery span{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 5px #000;background:linear-gradient(#0000,#190009d9);padding:16px 5px 5px;font-size:8px;position:absolute;inset:auto 0 0;overflow:hidden}.from-place{color:#ffd6c4;letter-spacing:.06em;align-items:center;gap:5px;margin-top:22px;font-size:10px;display:inline-flex}.close-celebration{z-index:10;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14000766;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:22px;right:24px}.confetti{z-index:2;color:#ffd362;justify-content:space-between;font-size:38px;animation:4s ease-in-out infinite alternate drift;display:flex;position:absolute;inset:8% 5% auto}.confetti i{color:#ff497d;font-style:normal}.confetti b{color:#b787ff}@keyframes rise{0%{opacity:0;transform:translateY(25px)scale(.97)}}@keyframes drift{to{transform:translateY(18px)rotate(2deg)}}@media (max-width:850px){header{height:74px;padding:0 18px}.brand strong{display:none}.brand span{width:34px;height:34px}.preview-link{color:#fff4e2;white-space:nowrap;background:#ffffff14;border:1px solid #ffdca97a;border-radius:999px;padding:9px 11px;font-size:11px;font-weight:700}.preview-link:hover{background:#ffffff24}.preview-full{display:none}.preview-short{display:inline}.location-button span{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.countdown-view{flex-direction:column;justify-content:center;align-items:stretch;min-height:70svh;padding:30px 20px 48px;display:flex}.eyebrow{font-size:9px}.countdown-copy h1{margin:15px 0 14px;font-size:clamp(57px,18vw,78px)}.intro{max-width:320px;font-size:14px}.timer-wrap{padding:30px 0 0}.timer{gap:5px}.timer b{padding-top:8px;font-size:29px}.timer-unit span{font-size:clamp(39px,12vw,62px)}.timer-unit small{letter-spacing:.11em;margin-top:8px;font-size:7px}.entry-details{flex-wrap:wrap;gap:7px;margin-top:20px;padding-top:13px;font-size:11px}.entry-details .dot{display:none}.entry-details span{width:100%}.candle-scene{opacity:.35;width:90vw;height:25vh}.candle{height:120px;right:10%}.candle.small{height:95px;right:0}footer{width:100%;position:absolute;bottom:0}.celebration-view{min-height:calc(100vh - 74px)}.celebration-view.archive-open{align-items:start}.celebration-content{margin-top:0;padding:18px 0 26px}.celebration-content h1{font-size:clamp(68px,21vw,104px)}.celebration-content h2{font-size:34px}.celebration-content>p:not(.celebration-kicker){font-size:14px}.action-row{flex-direction:column;align-items:stretch;width:min(310px,85vw);margin-inline:auto}.action-row button{justify-content:center}.archive-toggle{min-height:50px;margin-top:20px;font-size:14px}.gallery-heading{margin-top:18px;padding:0 3px}.card-gallery{justify-content:flex-start;gap:12px;width:100%;padding:5px 4px 16px}.card-gallery button{border-radius:14px;flex-basis:168px;height:220px}.card-gallery span{padding:24px 7px 8px;font-size:10px}}@media (max-width:360px){header{padding-inline:12px}.header-actions{gap:7px}.location-button{padding-inline:10px}.location-button span{max-width:86px}}@media (max-height:820px){.celebration-content h1{margin-top:12px;font-size:clamp(64px,9vw,112px)}.celebration-content h2{margin-bottom:10px}.celebration-content>p:not(.celebration-kicker){margin:8px 0}.action-row{margin-top:16px}.gallery-heading{margin-top:14px}.from-place{margin-top:8px}}@media (max-height:700px) and (min-width:851px){.countdown-copy h1{font-size:76px}.countdown-view{padding-top:2vh;padding-bottom:2vh}}.shabbat-hero{place-items:center;min-height:clamp(500px,66vh,600px);padding:34px 20px 70px;display:grid;position:relative;overflow:hidden}.shabbat-hero-bg{object-fit:cover;object-position:center 54%;filter:saturate(1.12);width:100%;height:100%;position:absolute;inset:0}.shabbat-hero-scrim{background:linear-gradient(#1d030fad,#27031233 52%,#180109c2);position:absolute;inset:0}.shabbat-hero-content{z-index:2;text-align:center;text-shadow:0 3px 28px #35000f;width:min(760px,94vw);position:relative}.shabbat-hero-content>p{color:#ffe19b;letter-spacing:.2em;justify-content:center;align-items:center;gap:10px;margin:0;font-size:11px;font-weight:700;display:flex}.shabbat-hero-content h1{color:#fff9e9;filter:drop-shadow(0 5px #9a1c3d);margin:22px 0 5px;font:700 clamp(78px,9vw,132px)/.86 Frank Ruhl Libre}.shabbat-hero-content h2{color:#ffcf67;margin:0 0 14px;font:600 clamp(32px,3.8vw,52px)/1 Frank Ruhl Libre}.shabbat-hero-content>span{color:#fff;font-size:16px;line-height:1.55;display:block}.shabbat-hero-content>a{color:#541126;width:fit-content;text-shadow:none;background:linear-gradient(135deg,#fff4d4,#ffc15d);border-radius:999px;align-items:center;gap:8px;margin:22px auto 0;padding:13px 20px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 10px 30px #1e000a4d}.shabbat-hero-content>a:hover{transform:translateY(-2px)}.shabbat-hero-content>small{color:#ffd6c4;justify-content:center;align-items:center;gap:5px;margin-top:14px;display:flex}.catalog{z-index:4;background:linear-gradient(#32101f 0%,#18050dfa 18%,#0a0106f0 100%);border-top:1px solid #ffffff1a;border-radius:34px 34px 0 0;margin-top:-48px;padding:44px 6vw 90px;position:relative;box-shadow:0 -24px 70px #0c000652}.catalog:before{content:"";filter:blur(90px);pointer-events:none;background:#9d294e21;border-radius:50%;width:460px;height:460px;position:absolute;top:-100px;right:-120px}.catalog-heading,.catalog-layout{z-index:2;position:relative}.catalog-heading{margin-bottom:36px}.catalog-heading p{color:#dfb881;letter-spacing:.16em;align-items:center;gap:8px;margin:0 0 11px;font-size:11px;font-weight:700;display:flex}.catalog-heading h2{letter-spacing:-.035em;color:#fff7e9;margin:0 0 13px;font:600 clamp(40px,4.5vw,68px)/1 Frank Ruhl Libre,serif}.catalog-heading>span{color:#bd9ca2;font-size:15px}.catalog-layout{grid-template-columns:minmax(260px,36%) 1fr;align-items:center;gap:clamp(30px,5vw,76px);display:grid}.catalog-featured{background:#1a0710;border:1px solid #ffd38b3d;border-radius:26px;height:min(610px,62vw);min-height:470px;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000061}.catalog-featured>img{object-fit:cover;width:100%;height:100%}.catalog-featured:after{content:"";background:linear-gradient(#0000,#120108eb);position:absolute;inset:52% 0 0}.catalog-featured>div{z-index:2;flex-direction:column;gap:5px;display:flex;position:absolute;bottom:24px;left:24px;right:24px}.catalog-featured small{color:#f0c883;letter-spacing:.16em;font-size:9px}.catalog-featured strong{font:600 27px Frank Ruhl Libre,serif}.catalog-browser{min-width:0}.catalog-scroll-hint{color:#c9aeb0;letter-spacing:.14em;justify-content:space-between;margin:0 4px 9px;font-size:9px;display:flex}.catalog-scroll-hint b{color:#f4cd8b;font-weight:500}.catalog .card-gallery{scroll-snap-type:x mandatory;gap:14px;width:100%;max-width:none;margin:0;padding:7px 4px 22px}.catalog .card-gallery button{scroll-snap-align:start;border-radius:18px;flex:0 0 clamp(155px,17vw,225px);height:clamp(235px,27vw,340px)}.catalog .card-gallery img{object-fit:cover}.catalog .card-gallery span{text-align:left;padding:46px 12px 13px;font-size:12px}.catalog .action-row{justify-content:flex-start;margin-top:25px}.catalog .action-row button{background:#ffffff0f;border-color:#ffffff47}.catalog .action-row .share-button{background:linear-gradient(135deg,#fff4d4,#ffc15d)}.catalog .from-place{color:#b98e96;margin-top:18px}@media (max-width:850px){.shabbat-hero{min-height:70svh;padding:32px 18px 58px}.shabbat-hero-content h1{font-size:clamp(66px,20vw,96px)}.shabbat-hero-content h2{font-size:32px}.shabbat-hero-content>span{font-size:14px}.shabbat-hero-content>a{justify-content:center;width:min(100%,330px)}.countdown-view{min-height:70svh}.catalog{border-radius:26px 26px 0 0;margin-top:-28px;padding:40px 20px 72px}.catalog-heading h2{font-size:43px}.catalog-heading>span{font-size:14px;line-height:1.5}.catalog-layout{grid-template-columns:1fr;gap:30px}.catalog-featured{width:min(100%,430px);height:min(570px,120vw);min-height:420px;margin-inline:auto}.catalog .card-gallery{gap:12px;width:auto;margin-inline:-20px;padding-inline:20px}.catalog .card-gallery button{flex-basis:168px;height:235px}.catalog .action-row{width:100%;margin-top:22px}.catalog .action-row button{min-height:50px}footer{width:auto;height:auto;min-height:48px;padding:12px 18px;position:relative;bottom:auto}}
