:root{--ink:#120900;--paper:#fff8e6;--gold:#f2c84b;--gold-bright:#fff7b8;--gold-deep:#9a6100;--cream:#fffdf3;--muted:#5e481d;--line:rgba(157,99,0,.42);--body:'Manrope',system-ui,sans-serif;--display:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{position:relative;margin:0;min-width:320px;min-height:100svh;background:radial-gradient(circle at 18% 0%,rgba(242,200,75,.34),transparent 29rem),radial-gradient(circle at 92% 20%,rgba(174,101,0,.34),transparent 30rem),linear-gradient(145deg,#0d0701,#2c1701 50%,#0d0701);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body:before,body:after{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#fff7b8 0 1px,transparent 1.8px),radial-gradient(circle,#f2c84b 0 1.4px,transparent 2.2px),radial-gradient(circle,rgba(255,255,255,.9) 0 .8px,transparent 1.5px);background-size:43px 43px,79px 79px,31px 31px;background-position:0 0,17px 29px,9px 13px;opacity:.42;animation:sparkleDrift 18s linear infinite}.sparkle-field{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.sparkle-field i{position:absolute;width:7px;height:7px;background:#fff4a5;clip-path:polygon(50% 0,60% 39%,100% 50%,60% 61%,50% 100%,40% 61%,0 50%,40% 39%);filter:drop-shadow(0 0 7px #ffd34e);animation:twinkle 2.7s ease-in-out infinite}.sparkle-field i:nth-child(1){left:6%;top:12%;animation-delay:-.4s}.sparkle-field i:nth-child(2){left:19%;top:72%;animation-delay:-1.7s;transform:scale(.7)}.sparkle-field i:nth-child(3){left:31%;top:25%;animation-delay:-2.2s}.sparkle-field i:nth-child(4){left:44%;top:88%;animation-delay:-.9s}.sparkle-field i:nth-child(5){left:57%;top:15%;animation-delay:-1.3s;transform:scale(1.4)}.sparkle-field i:nth-child(6){left:68%;top:61%;animation-delay:-2.5s}.sparkle-field i:nth-child(7){left:82%;top:30%;animation-delay:-.2s}.sparkle-field i:nth-child(8){left:94%;top:80%;animation-delay:-1.9s}.sparkle-field i:nth-child(9){left:12%;top:43%;animation-delay:-2.8s}.sparkle-field i:nth-child(10){left:38%;top:55%;animation-delay:-1.1s}.sparkle-field i:nth-child(11){left:73%;top:91%;animation-delay:-2.1s}.sparkle-field i:nth-child(12){left:89%;top:8%;animation-delay:-.7s;transform:scale(.65)}button,input,textarea{font:inherit}.hidden{display:none!important}.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}.topbar{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(150,102,8,.18);background:rgba(15,8,1,.94);backdrop-filter:blur(18px)}.topbar-inner,.main-content{width:min(calc(100% - 32px),800px);margin:auto}.topbar-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;color:#fff8df;text-decoration:none}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--gold-deep);border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff8c9,var(--gold) 46%,#b17b0a);color:#fff8c8;box-shadow:0 0 0 4px rgba(255,255,255,.44),0 3px 12px rgba(112,70,0,.25)}.brand-copy strong{display:block;font-size:13px;letter-spacing:.15em}.brand-copy small{display:block;margin-top:2px;color:#f2c84b;font-size:9px;font-weight:800;letter-spacing:.18em}.refresh-button{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff8e6;color:#4b2d00;font-size:12px;font-weight:800;cursor:pointer}.refresh-button svg{width:17px}.refresh-button:disabled{opacity:.55}.spinning{animation:spin .8s linear infinite}.main-content{min-height:calc(100svh - 74px);padding:40px 0 72px}.hero-card{position:relative;overflow:hidden;margin-bottom:20px;padding:clamp(27px,6vw,55px);border:1px solid rgba(150,102,8,.25);border-radius:27px;background:linear-gradient(135deg,#fffdf3,#f3ce62);box-shadow:0 20px 50px rgba(0,0,0,.52)}.hero-card:after{content:'✦';position:absolute;right:7%;top:9%;color:rgba(163,109,7,.25);font-size:clamp(85px,18vw,150px);transform:rotate(16deg)}.micro-label{margin:0;color:var(--gold-deep);font-family:'DM Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.18em}.hero-card h1{position:relative;z-index:1;max-width:520px;margin:15px 0 10px;font-family:var(--display);font-size:clamp(42px,9vw,67px);line-height:.98;letter-spacing:-.045em}.hero-card h1 em{color:#a36b07}.hero-card>p:last-child{position:relative;z-index:1;margin:0;color:#5e4c2c;font-size:16px}.notice-box{display:flex;align-items:center;gap:9px;margin:0 0 16px;padding:13px 15px;border:1px solid #d7b45b;border-radius:14px;background:#fff6d7;color:#5b471f;font-size:13px;font-weight:700}.notice-icon{width:8px;height:8px;border-radius:50%;background:var(--gold-deep)}.schedule-list{display:grid;gap:14px}.day-card{padding:22px;border:1px solid var(--line);border-radius:21px;background:#fffaf0;box-shadow:0 12px 28px rgba(0,0,0,.34)}.date-row{display:flex;align-items:center;gap:10px}.date-row h2{margin:0;font-family:var(--display);font-size:29px;line-height:1}.status-badge{padding:4px 8px;border:1px solid rgba(150,102,8,.28);border-radius:999px;background:#fff5c6;color:#8c5d05;font-family:'DM Mono',monospace;font-size:10px;font-weight:700}.slot-preview,.option-bubbles{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.time-bubble,.choice-bubble{appearance:none;padding:10px 13px;border:1px solid rgba(150,102,8,.28);border-radius:999px;background:#fffaf0;color:#634d20;font-size:14px;font-weight:800;cursor:pointer;transition:.18s ease}.time-bubble:hover,.choice-bubble:hover,.choice-bubble.selected{border-color:var(--gold-deep);background:linear-gradient(135deg,#fce9a0,#dbad35);color:#3b2500;box-shadow:0 5px 12px rgba(149,102,6,.16)}.empty-card{display:grid;place-content:center;min-height:150px;gap:7px;padding:30px;border:1px solid var(--line);border-radius:21px;background:#fffaf0;text-align:center}.empty-card span{color:var(--muted);font-size:14px}.skeleton-card{height:130px;padding:24px;border:1px solid var(--line);border-radius:21px;background:rgba(255,252,242,.8)}.skeleton-card span{display:block;width:60%;height:17px;margin-bottom:12px;border-radius:999px;background:linear-gradient(90deg,#f0dfb4,#fff4ce,#f0dfb4);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-card span:nth-child(2){width:36%;height:12px}.toast{position:fixed;top:18px;left:50%;z-index:100;width:min(calc(100% - 28px),460px);opacity:0;pointer-events:none;transform:translate(-50%,-16px);transition:.25s}.toast-visible{opacity:1;transform:translate(-50%,0)}.toast-card{padding:13px 16px;border:1px solid #c99a28;border-radius:14px;background:#fff9e8;color:#4d380d;box-shadow:0 14px 36px rgba(57,36,0,.22);font-size:14px;font-weight:800;text-align:center}.toast-error{border-color:#bb553c;color:#7c2419}.access-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 15%,rgba(245,194,67,.34),transparent 25rem),rgba(13,8,1,.91);backdrop-filter:blur(13px)}.access-card{position:relative;overflow:hidden;width:min(100%,455px);padding:clamp(28px,7vw,54px);border:1px solid rgba(255,219,115,.55);border-radius:27px;background:linear-gradient(145deg,#2c1b03,#0e0902);color:var(--cream);box-shadow:0 0 0 7px rgba(255,225,141,.08),0 30px 90px rgba(0,0,0,.6);text-align:center}.access-card:before{content:"";position:absolute;inset:-45%;background:conic-gradient(from 90deg,transparent,rgba(255,225,122,.13),transparent 28%);animation:glitterSweep 7s linear infinite;pointer-events:none}.access-card>*{position:relative;z-index:1}.star-field{display:block;margin-bottom:23px;color:#ffd763;font-size:18px;letter-spacing:.6em;text-shadow:0 0 8px #ffc940,0 0 24px rgba(255,201,64,.75);animation:twinkle 2.2s ease-in-out infinite}.access-card .micro-label{color:#ffd763}.access-card h1{margin:13px 0 13px;font-family:var(--display);font-size:clamp(39px,8vw,56px);line-height:1;letter-spacing:-.05em}.access-card h1 em{color:#ffd763}.access-card p{margin:0;color:#d8cba7;font-size:14px;line-height:1.55}.access-form{display:flex;gap:9px;margin:27px 0 14px}.access-form input{min-width:0;width:100%;padding:13px 10px;border:1px solid rgba(255,219,115,.45);border-radius:12px;background:rgba(0,0,0,.25);color:#fff5c7;font-family:'DM Mono',monospace;font-size:21px;letter-spacing:.22em;text-align:center;outline:0}.access-form input:focus{border-color:#ffe892;box-shadow:0 0 0 3px rgba(255,215,99,.15)}.access-form button,.submit-button{border:0;border-radius:12px;background:linear-gradient(135deg,#fff3af,#d9a22b);color:#3b2603;font-weight:800;cursor:pointer}.access-form button{padding:0 16px;white-space:nowrap}.access-card small{color:#a89569;font-size:11px}.modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:18px;background:rgba(19,12,1,.54);backdrop-filter:blur(9px);overflow-y:auto}.booking-dialog{position:relative;width:min(100%,570px);max-height:calc(100svh - 36px);overflow-y:auto;padding:34px;border:1px solid rgba(150,102,8,.35);border-radius:24px;background:linear-gradient(145deg,#fffdf3,#f0c34d);box-shadow:0 24px 65px rgba(0,0,0,.58);outline:0}.modal-close{position:absolute;top:13px;right:13px;width:36px;height:36px;border:1px solid rgba(150,102,8,.28);border-radius:50%;background:#fff9e9;color:#815705;font-size:24px;cursor:pointer}.booking-dialog h2{margin:13px 0 5px;font-family:var(--display);font-size:35px;letter-spacing:-.03em}.dialog-subtitle{margin:0 0 21px;color:#765e2e;font-size:14px}.booking-form{display:grid;gap:19px}.booking-form label{display:grid;gap:8px}.booking-form label>span{font-size:14px;font-weight:800}.booking-form label em{color:var(--muted);font-size:11px;font-style:normal}.booking-form input,.booking-form textarea{width:100%;padding:13px 14px;border:1px solid rgba(150,102,8,.3);border-radius:12px;background:rgba(255,255,255,.56);color:#372604;outline:0;font-size:16px}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(214,170,53,.15)}.booking-form textarea{resize:vertical;min-height:84px}.booking-form .option-bubbles{margin-top:0}.form-privacy{margin:0;color:#786233;font-size:12px;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:9px}.cancel-button,.submit-button{min-height:47px;padding:10px 17px;font-size:14px;font-weight:800;cursor:pointer}.cancel-button{border:1px solid rgba(150,102,8,.28);border-radius:12px;background:rgba(255,255,255,.52);color:#684b0a}.confirmation-panel{padding:9px 0}.confirmation-panel h2{margin:14px 0 8px;font-family:var(--display);font-size:38px}.confirmation-lead{margin:0 0 22px;color:#6b5529}.confirmation-details{display:grid;gap:10px;margin:0 0 23px}.confirmation-details div{padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.45)}.confirmation-details dt{margin-bottom:4px;color:#956606;font-family:'DM Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.confirmation-details dd{margin:0;font-size:18px;font-weight:800}.confirmation-close{width:100%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sparkleDrift{to{transform:translate3d(79px,43px,0)}}@keyframes twinkle{0%,100%{opacity:.25;filter:drop-shadow(0 0 3px #ffd34e)}50%{opacity:1;filter:drop-shadow(0 0 11px #fff1a0)}}@keyframes glitterSweep{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-200%}}@media(max-width:620px){.topbar-inner,.main-content{width:min(calc(100% - 24px),800px)}.topbar-inner{min-height:66px}.refresh-button span{display:none}.main-content{padding-top:25px}.hero-card{border-radius:22px}.hero-card h1{font-size:43px}.day-card{padding:18px;border-radius:18px}.date-row h2{font-size:27px}.time-bubble,.choice-bubble{padding:9px 11px;font-size:13px}.modal-backdrop{place-items:end center;padding:0}.booking-dialog{width:100%;max-height:100dvh;border-radius:20px 20px 0 0;padding:27px 18px calc(16px + env(safe-area-inset-bottom))}.form-actions{position:sticky;bottom:-16px;margin:0 -4px -16px;padding:13px 4px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(242,220,159,0),#f2dc9f 26%)}.cancel-button,.submit-button{flex:1}.access-card{border-radius:23px}.access-form{flex-direction:column}.access-form button{min-height:50px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}