*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ff-d: "Cormorant Garamond", Georgia, serif;--ff-u: "DM Sans", system-ui, sans-serif;--ease: cubic-bezier(.22,.61,.36,1)}html[data-theme=day],html:not([data-theme]){--bg1: #f3ebdd;--bg2: #ece0d0;--surf: #fdf8ef;--surf2: #f6ecdc;--ink: #2c1c13;--ink2: #5d473b;--muted: #91796a;--faint: #b8a48f;--gold: #a85f44;--gold-l: #c2825d;--gold-d: #8a4a32;--line: rgba(122,63,54,.13);--line2: rgba(122,63,54,.08);--hero1: #2f1d14;--hero2: #43271a;--bead-off: rgba(122,63,54,.2);--field: #fff;--track: #e2d3c0;--tab-bg: rgba(253,248,239,.9);--tab-line: rgba(122,63,54,.12)}html[data-theme=night]{--bg1: #241712;--bg2: #190f0a;--surf: #2f1f17;--surf2: #382519;--ink: #efdccb;--ink2: #cdb4a0;--muted: #a08576;--faint: #6e5648;--gold: #d6a07f;--gold-l: #f0d79a;--gold-d: #a87f3a;--line: rgba(214,160,127,.16);--line2: rgba(214,160,127,.08);--hero1: #3a2417;--hero2: #2a1810;--bead-off: rgba(214,160,127,.22);--field: #1c120c;--track: #3a281b;--tab-bg: rgba(31,21,14,.9);--tab-line: rgba(214,160,127,.14)}html,body,#root{height:100%}body{font-family:var(--ff-u);color:var(--ink);background:var(--bg2);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg1),var(--bg2));color:var(--ink);max-width:520px;margin:0 auto;position:relative}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{display:none}.pad{padding:0 18px 16px}.safe-top{padding-top:max(54px,env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(30px,env(safe-area-inset-bottom))}.gold{color:var(--gold)}.serif{font-family:var(--ff-d)}.center-load{height:100dvh;display:grid;place-items:center;color:var(--gold);font-family:var(--ff-d);font-style:italic;font-size:19px;background:linear-gradient(180deg,var(--bg1),var(--bg2))}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 24px 12px}.head .hello{font-size:12px;color:var(--muted);letter-spacing:.04em}.head .name{font-family:var(--ff-d);font-size:29px;font-weight:500;line-height:1.2;margin-top:3px;width:100%}.head .name em{font-style:italic;color:var(--gold)}.moon{flex:none}.dn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;width:50px;height:27px;border-radius:27px;position:relative;padding:0;cursor:pointer;flex:none}.dn .kn{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:linear-gradient(140deg,var(--gold-l),var(--gold));transition:transform .5s var(--ease);display:grid;place-items:center}html[data-theme=day] .dn .kn{transform:translate(23px)}.dn .kn svg{width:11px;height:11px}.hero{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--hero1),var(--hero2));border-radius:24px;padding:22px;color:#f3e3d0;box-shadow:0 24px 44px -26px #00000080}.hero .halo{position:absolute;top:-40px;right:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(214,160,127,.42),transparent 70%);animation:breathe 5s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:.85;transform:scale(1.12)}}@media (prefers-reduced-motion: reduce){.halo{animation:none}}.hero .eb{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#d6a07f;font-weight:600;position:relative}.hero .when{font-family:var(--ff-d);font-size:40px;font-weight:500;line-height:1;margin:12px 0 0;color:#f6e8d6;position:relative}.hero .when em{font-style:italic}.hero .sub{font-size:13px;color:#f3e3d0bf;margin-top:8px;position:relative}.hero .row{display:flex;gap:18px;margin-top:18px;position:relative;flex-wrap:wrap}.hero .chip{display:flex;align-items:center;gap:7px;font-size:12px;color:#f3e3d0e6;white-space:nowrap}.hero .chip svg{width:14px;height:14px;stroke:#d6a07f;fill:none}.hero .count{margin-top:18px;display:inline-flex;align-items:center;gap:8px;background:#d6a07f29;border:1px solid rgba(214,160,127,.3);border-radius:20px;padding:7px 14px;font-size:11px;color:#f0d79a;position:relative;white-space:nowrap}.hero .big{display:flex;align-items:baseline;gap:10px;margin:16px 0 0;position:relative}.hero .big .n{font-family:var(--ff-d);font-size:54px;line-height:1;color:#f0d79a}.hero .big .of{font-size:13px;color:#f3e3d0b3}.hero .empty-h{font-family:var(--ff-d);font-style:italic;font-size:24px;color:#f0d79a;margin-top:10px;position:relative}.beads{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;position:relative}.bead{width:15px;height:15px;border-radius:50%}.bead.on{background:radial-gradient(circle at 35% 30%,var(--gold-l),var(--gold-d))}.bead.off{border:1.5px solid var(--bead-off)}.card{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:18px 20px}.sec-lab{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:22px 4px 11px}.exp{font-size:12px;color:var(--faint);display:flex;align-items:center;gap:7px}.exp svg{width:13px;height:13px;stroke:var(--gold);fill:none}.up{display:flex;align-items:center;gap:14px;background:var(--surf);border:1px solid var(--line2);border-radius:15px;padding:13px 16px;margin-bottom:8px}.up .date{text-align:center;flex:none;width:44px}.up .date .d{font-family:var(--ff-d);font-size:21px;line-height:1}.up .date .m{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px}.up .bar{width:1px;align-self:stretch;background:var(--line)}.up .info{flex:1}.up .info .t{font-size:14px;font-weight:500}.up .info .s{font-size:11px;color:var(--muted);margin-top:2px}.up .time{font-family:var(--ff-d);font-size:18px;color:var(--gold)}.up .cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid var(--line);border-radius:18px;padding:5px 11px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--ff-u);font-weight:600;cursor:pointer}.empty{color:var(--muted);font-size:14px;font-style:italic;font-family:var(--ff-d);padding:6px 4px}.cta{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;border-radius:16px;padding:17px;background:linear-gradient(135deg,var(--gold-l),var(--gold));color:#2a1206;font-family:var(--ff-u);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 16px 30px -16px #a85f4499}.cta:disabled{opacity:.5}.cta svg{width:17px;height:17px;stroke:#2a1206;fill:none}.btn-line{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:14px;padding:14px;font-family:var(--ff-u);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.btn-ghost{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:none;border:1px solid var(--line);border-radius:14px;padding:15px;font-family:var(--ff-u);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.fg{margin-bottom:15px}.fg label{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:7px}.fg input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink);font-family:var(--ff-u);font-size:16px;outline:none}.fg input::placeholder{color:var(--faint)}.err{background:#b04a3c24;color:#d4908a;font-size:12px;padding:11px 14px;border-radius:11px;margin-bottom:14px;border:1px solid rgba(176,74,60,.3)}.ok-msg{background:#78aa7824;color:#79a879;font-size:12px;padding:11px 14px;border-radius:11px;margin-bottom:14px;border:1px solid rgba(120,170,120,.3)}.tabbar{flex:none;display:flex;padding:10px 14px;background:var(--tab-bg);border-top:1px solid var(--tab-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:var(--muted);background:none;border:none;font-family:var(--ff-u)}.tab.on{color:var(--gold)}.tab svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.6}.tab span{font-size:9.5px;letter-spacing:.06em;font-weight:500}.powered{text-align:center;padding:16px 0 4px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.powered b{color:var(--muted);font-weight:600}
