:root{--bs-bg-0: #150409;--bs-bg-1: #220812;--bs-bg-2: #380c1d;--bs-bg-3: #4a0f26;--bs-accent: #990c2a;--bs-accent-dim: #6e0820;--bs-accent-glow: rgba(153, 12, 42, .42);--bs-cream: #f4e3dc;--bs-blush: #f2c8d2;--bs-muted: rgba(244, 227, 220, .55);--bs-faint: rgba(244, 227, 220, .32);--bs-line: rgba(244, 227, 220, .1);--bs-line-strong: rgba(244, 227, 220, .2);--bs-card: rgba(255, 255, 255, .035);--bs-card-strong: rgba(255, 255, 255, .06);--bs-radius: 0px;--bs-radius-soft: 2px;--bs-tabs-h: 64px;--bs-top-h: 56px;--bs-safe-top: 12px;--bs-safe-bottom: 16px;--bs-font-display: "Cormorant Garamond", "Times New Roman", serif;--bs-font-script: "Pinyon Script", "Allura", cursive;--bs-font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--bs-font-body);color:var(--bs-cream);background:var(--bs-bg-0);-webkit-font-smoothing:antialiased}#root{height:100%}.bs-app{position:relative;width:100%;min-height:100dvh;background:var(--bs-bg-0);color:var(--bs-cream);font-family:var(--bs-font-body);font-size:15px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column}.bs-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 80% 0%,rgba(153,12,42,.3) 0%,rgba(153,12,42,.1) 24%,transparent 55%),radial-gradient(90% 60% at 10% 100%,rgba(74,15,38,.85) 0%,transparent 60%),radial-gradient(140% 100% at 50% 40%,var(--bs-bg-2) 0%,var(--bs-bg-1) 45%,var(--bs-bg-0) 90%)}.bs-backdrop:after{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.bs-backdrop-drip{position:fixed;top:-40px;right:-30px;width:240px;height:320px;opacity:.7;filter:blur(.5px);background:radial-gradient(60% 40% at 60% 30%,rgba(153,12,42,.55),transparent 70%);transform:rotate(-12deg);pointer-events:none;z-index:0}.bs-topbar{position:relative;z-index:5;height:calc(var(--bs-top-h) + var(--bs-safe-top));padding-top:var(--bs-safe-top);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding-left:12px;padding-right:12px;border-bottom:1px solid var(--bs-line);background:linear-gradient(180deg,rgba(21,4,9,.85),rgba(21,4,9,.55) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex:none}.bs-topbar-back{width:44px;height:44px;background:transparent;border:0;color:var(--bs-cream);font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,transform .15s;cursor:pointer}.bs-topbar-back:hover{color:var(--bs-accent)}.bs-topbar-back:active{transform:translate(-2px)}.bs-topbar-back.is-hidden{visibility:hidden}.bs-topbar-title{text-align:center;min-width:0}.bs-topbar-title h1{margin:0;font-family:var(--bs-font-display);font-weight:500;font-size:20px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-topbar-title p{margin:0 0 2px;font-size:11px;color:var(--bs-muted);text-transform:uppercase;letter-spacing:.16em}.bs-topbar-mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}.bs-topbar-mark img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(153,12,42,.5))}.bs-viewport{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;min-height:0}.bs-content{position:relative;flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(var(--bs-tabs-h) + var(--bs-safe-bottom) + 16px);scrollbar-width:none}.bs-content.has-summary{padding-bottom:calc(var(--bs-tabs-h) + var(--bs-safe-bottom) + 76px)}.bs-content::-webkit-scrollbar{display:none}.bs-screen-anim{animation:bsFadeIn .42s cubic-bezier(.2,.8,.2,1) both}@keyframes bsFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bs-screen{display:flex;flex-direction:column;gap:16px}.bs-pad{padding:16px 18px 24px}.bs-section-head{padding:6px 2px 4px;display:flex;flex-direction:column;gap:6px}.bs-eyebrow{margin:0;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--bs-accent);font-weight:500}.bs-title{margin:0;font-family:var(--bs-font-display);font-weight:500;font-size:30px;line-height:1.05;letter-spacing:.005em;text-wrap:pretty}.bs-stack{display:flex;flex-direction:column;gap:10px}.bs-welcome{position:fixed;inset:0;padding-top:var(--bs-safe-top);padding-bottom:var(--bs-safe-bottom);display:flex;flex-direction:column;z-index:50;background:var(--bs-bg-0)}.bs-welcome-art{position:relative;height:56%;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center}.bs-welcome-glow{position:absolute;inset:-10%;background:radial-gradient(60% 60% at 50% 55%,rgba(153,12,42,.55) 0%,rgba(110,8,32,.35) 30%,transparent 60%);filter:blur(10px);animation:bsPulse 5s ease-in-out infinite}@keyframes bsPulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.06);opacity:1}}.bs-welcome-cherry{position:relative;width:78%;max-width:320px;height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.65)) drop-shadow(0 14px 30px rgba(120,8,28,.55)) drop-shadow(0 0 38px rgba(153,12,42,.45));animation:bsFloat 7s ease-in-out infinite}@keyframes bsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bs-welcome-shimmer{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 50%,transparent 0%,transparent 35%,rgba(34,8,18,.55) 70%,var(--bs-bg-1) 100%),linear-gradient(180deg,transparent 55%,var(--bs-bg-1) 100%);pointer-events:none}.bs-welcome-copy{flex:1;padding:4px 28px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.bs-welcome-copy .bs-eyebrow{letter-spacing:.42em}.bs-script-wrap{position:relative;display:inline-block;padding:18px 28px}.bs-script-text{position:relative;z-index:2;background:linear-gradient(180deg,#ffe6ec 0%,var(--bs-blush) 60%,#c8123e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 24px rgba(153,12,42,.55))}.bs-sparkle{position:absolute;color:#fff7da8c;font-size:7px;line-height:1;text-shadow:0 0 4px rgba(255,230,180,.5),0 0 10px rgba(153,12,42,.35);opacity:0;pointer-events:none;z-index:3;animation:bsTwinkle 3.4s ease-in-out infinite}.bs-sparkle-1{top:4%;left:6%;font-size:9px;animation-delay:0s}.bs-sparkle-2{top:18%;right:4%;font-size:6px;animation-delay:.6s}.bs-sparkle-3{top:54%;left:-4px;font-size:7px;animation-delay:1.4s}.bs-sparkle-4{bottom:6%;right:8%;font-size:8px;animation-delay:2.1s}.bs-sparkle-5{bottom:20%;left:22%;font-size:5px;animation-delay:2.7s}.bs-sparkle-6{top:30%;right:22%;font-size:5px;animation-delay:1s}@keyframes bsTwinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}35%{opacity:.55;transform:scale(1) rotate(45deg)}60%{opacity:.45;transform:scale(.9) rotate(90deg)}80%{opacity:0;transform:scale(.4) rotate(120deg)}}.bs-script{margin:6px 0 4px;font-family:var(--bs-font-script);font-weight:400;font-size:64px;line-height:.9;color:var(--bs-blush);text-shadow:0 2px 24px rgba(153,12,42,.5)}.bs-welcome-sub{margin:0 0 12px;font-family:var(--bs-font-display);font-weight:400;font-size:17px;color:var(--bs-cream);opacity:.92;line-height:1.35}.bs-welcome-cta{margin-top:auto;width:100%}.bs-welcome-foot{margin:14px 0 0;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bs-faint)}.bs-btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 20px;border:0;font-family:var(--bs-font-body);font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .15s,background .2s,color .2s,box-shadow .2s;border-radius:var(--bs-radius)}.bs-btn-primary{color:#fff;background:linear-gradient(180deg,var(--bs-accent) 0%,var(--bs-accent-dim) 100%);box-shadow:0 14px 30px -10px var(--bs-accent-glow),inset 0 1px #ffffff2e}.bs-btn-primary:hover{transform:translateY(-1px)}.bs-btn-primary:active{transform:translateY(1px);box-shadow:0 6px 18px -8px var(--bs-accent-glow)}.bs-btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.bs-btn-ghost{background:transparent;border:1px solid var(--bs-line-strong);color:var(--bs-cream)}.bs-btn-ghost:hover{border-color:var(--bs-accent);color:var(--bs-blush)}.bs-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:14px 16px;background:var(--bs-card);border:1px solid var(--bs-line);color:var(--bs-cream);text-align:left;cursor:pointer;border-radius:var(--bs-radius);overflow:hidden;transition:background .2s,border-color .2s,transform .15s;animation:bsRowIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 50ms + 80ms);font-family:inherit;font-size:inherit}@keyframes bsRowIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.bs-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--bs-accent);transform:scaleY(0);transform-origin:50% 50%;transition:transform .25s ease}.bs-card:hover{background:var(--bs-card-strong);border-color:var(--bs-line-strong)}.bs-card:hover:before{transform:scaleY(.55)}.bs-card:active{transform:translateY(1px)}.bs-card.is-selected{background:linear-gradient(180deg,#990c2a2e,#990c2a0d);border-color:var(--bs-accent)}.bs-card.is-selected:before{transform:scaleY(1)}.bs-bigchoice{padding-left:18px}.bs-ornament{font-family:var(--bs-font-display);font-size:28px;font-style:italic;font-weight:400;color:var(--bs-accent);width:32px;flex:none;opacity:.75}.bs-bigchoice-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.bs-bigchoice-text strong{font-family:var(--bs-font-display);font-weight:500;font-size:21px;letter-spacing:.005em}.bs-bigchoice-text span{font-size:12.5px;color:var(--bs-muted);line-height:1.4}.bs-chev{font-size:24px;color:var(--bs-faint);transition:color .2s,transform .2s}.bs-card:hover .bs-chev,.bs-card.is-selected .bs-chev{color:var(--bs-accent);transform:translate(2px)}.bs-service{gap:14px}.bs-service-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.bs-service-main strong{font-family:var(--bs-font-display);font-weight:500;font-size:18px}.bs-service-main span{font-size:12px;color:var(--bs-muted);letter-spacing:.04em}.bs-service-side{display:flex;align-items:center;gap:10px}.bs-price{font-family:var(--bs-font-display);font-style:italic;font-size:18px;color:var(--bs-blush);white-space:nowrap}.bs-info-btn{width:32px;height:32px;flex:none;background:transparent;border:1px solid var(--bs-line-strong);color:var(--bs-blush);font-family:var(--bs-font-display);font-style:italic;font-size:16px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;display:inline-flex;align-items:center;justify-content:center;border-radius:0}.bs-info-btn:hover{background:var(--bs-card-strong);border-color:var(--bs-accent);color:var(--bs-accent)}.bs-sheet-backdrop{position:fixed;inset:0;z-index:80;background:#08020599;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:bsFadeIn .25s ease-out both}.bs-sheet{position:relative;width:100%;max-width:480px;height:calc(100% - var(--bs-safe-top) - 8px);overflow-y:auto;padding:18px 22px calc(var(--bs-safe-bottom) + 16px);background:linear-gradient(180deg,rgba(153,12,42,.08),transparent 30%),var(--bs-bg-1);border-top:1px solid var(--bs-line-strong);box-shadow:0 -20px 60px #0009;animation:bsSheetIn .42s cubic-bezier(.2,.8,.2,1) both;scrollbar-width:none}.bs-sheet::-webkit-scrollbar{display:none}@keyframes bsSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bs-sheet-handle{width:36px;height:3px;background:var(--bs-line-strong);margin:2px auto 14px}.bs-sheet-close{position:absolute;top:16px;right:14px;width:32px;height:32px;background:transparent;border:1px solid var(--bs-line);color:var(--bs-muted);font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}.bs-sheet-close:hover{color:var(--bs-accent);border-color:var(--bs-accent)}.bs-sheet-title{margin:6px 0 8px;font-family:var(--bs-font-display);font-weight:500;font-size:26px;line-height:1.15;text-wrap:pretty}.bs-sheet-meta{display:flex;align-items:center;gap:8px;font-family:var(--bs-font-display);font-style:italic;font-size:16px;color:var(--bs-blush);margin-bottom:16px}.bs-sheet-meta .dotsep{opacity:.4}.bs-sheet-desc{margin:0 0 18px;font-size:14px;line-height:1.55;color:#f4e3dcd9}.bs-sheet-label{margin:0 0 10px;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--bs-accent);font-weight:500}.bs-sheet-list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:10px}.bs-sheet-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:var(--bs-cream)}.bs-sheet-list .bs-tip-dot{width:6px;height:6px;margin-top:8px;background:var(--bs-accent);flex:none}.bs-sheet-cta{width:100%}.bs-spec{gap:14px}.bs-spec-avatar{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--bs-font-display);font-weight:500;font-size:18px;color:#fff;border-radius:0;flex:none;position:relative;box-shadow:inset 0 0 0 1px #ffffff26;background:linear-gradient(135deg,var(--bs-accent),var(--bs-accent-dim))}.bs-spec-avatar:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.18)}.bs-spec-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.bs-spec-text strong{font-family:var(--bs-font-display);font-weight:500;font-size:18px}.bs-spec-text span{font-size:12px;color:var(--bs-muted)}.bs-tip{margin-top:12px;padding:14px;display:flex;gap:10px;border:1px solid var(--bs-line);background:var(--bs-card);border-radius:var(--bs-radius)}.bs-tip-dot{width:8px;height:8px;background:var(--bs-accent);margin-top:6px;flex:none;box-shadow:0 0 12px var(--bs-accent-glow)}.bs-tip p{margin:0;font-size:12.5px;line-height:1.5;color:var(--bs-muted)}.bs-cal{background:var(--bs-card);border:1px solid var(--bs-line);padding:10px 10px 14px}.bs-cal-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:4px 0 10px}.bs-cal-nav{width:44px;height:44px;background:transparent;border:0;color:var(--bs-cream);font-size:22px;line-height:1;cursor:pointer;transition:color .2s}.bs-cal-nav:hover{color:var(--bs-accent)}.bs-cal-nav:disabled{color:var(--bs-faint);opacity:.5;cursor:not-allowed}.bs-cal-month{text-align:center;font-family:var(--bs-font-display);font-weight:500;font-size:18px}.bs-cal-month span{color:var(--bs-muted);margin-left:4px}.bs-cal-weekdays,.bs-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.bs-cal-weekdays{padding:0 2px}.bs-cal-weekdays div{text-align:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-faint);padding:4px 0}.bs-cal-grid{margin-top:6px;padding:0 2px}.bs-cal-cell{position:relative;aspect-ratio:1;background:transparent;border:1px solid transparent;color:var(--bs-faint);font-size:14px;font-family:var(--bs-font-body);cursor:not-allowed;display:flex;align-items:center;justify-content:center;border-radius:0;transition:background .2s,color .2s,border-color .2s}.bs-cal-cell.bs-cal-blank{background:transparent;border:0}.bs-cal-cell.is-available{color:var(--bs-cream);border-color:var(--bs-line);background:#ffffff05;cursor:pointer}.bs-cal-cell.is-available:hover{border-color:var(--bs-accent);color:var(--bs-blush)}.bs-cal-cell.is-today{border-color:var(--bs-accent-dim)}.bs-cal-cell.is-selected{background:linear-gradient(180deg,var(--bs-accent),var(--bs-accent-dim));color:#fff;border-color:var(--bs-accent);font-weight:600;box-shadow:0 4px 14px -4px var(--bs-accent-glow)}.bs-cal-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--bs-accent)}.bs-cal-cell.is-selected .bs-cal-dot{background:#fff}.bs-cal-legend{display:flex;gap:16px;padding:12px 4px 4px;font-size:11px;color:var(--bs-muted);letter-spacing:.06em}.bs-cal-legend span{display:inline-flex;align-items:center;gap:6px}.bs-cal-legend .dot{width:8px;height:8px;display:inline-block}.bs-cal-legend .dot-avail{background:var(--bs-accent)}.bs-cal-legend .dot-sel{background:var(--bs-blush)}.bs-cal-legend .dot-off{background:var(--bs-faint)}.bs-time-group{display:flex;flex-direction:column;gap:10px}.bs-time-label{margin:6px 0 0;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--bs-accent);font-weight:500}.bs-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bs-time-cell{height:48px;background:var(--bs-card);border:1px solid var(--bs-line);color:var(--bs-cream);font-family:var(--bs-font-body);font-size:14px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .15s;border-radius:0}.bs-time-cell:hover{background:var(--bs-card-strong);border-color:var(--bs-line-strong)}.bs-time-cell:active{transform:scale(.97)}.bs-time-cell.is-selected{background:linear-gradient(180deg,var(--bs-accent),var(--bs-accent-dim));border-color:var(--bs-accent);color:#fff;font-weight:600;box-shadow:0 8px 20px -8px var(--bs-accent-glow)}.bs-confirm{display:flex;flex-direction:column;gap:14px}.bs-confirm-hero{position:relative;padding:22px 20px 24px;background:linear-gradient(180deg,#990c2a29,#990c2a0a),var(--bs-card);border:1px solid var(--bs-line-strong);overflow:hidden}.bs-confirm-hero:after{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(153,12,42,.5),transparent 70%);filter:blur(8px);pointer-events:none}.bs-confirm-eyebrow{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--bs-accent)}.bs-confirm-hero h3{margin:6px 0;font-family:var(--bs-font-display);font-weight:500;font-size:24px;line-height:1.15}.bs-confirm-meta{display:flex;gap:8px;align-items:center;font-family:var(--bs-font-display);font-style:italic;font-size:16px;color:var(--bs-blush)}.bs-confirm-meta .dotsep{opacity:.5}.bs-confirm-rows{background:var(--bs-card);border:1px solid var(--bs-line);padding:4px 16px}.bs-confirm-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--bs-line)}.bs-confirm-row:last-child{border-bottom:0}.bs-confirm-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-muted)}.bs-confirm-value{font-family:var(--bs-font-display);font-weight:500;font-size:16px;color:var(--bs-cream);text-align:right}.bs-confirm-note{display:flex;gap:10px;padding:12px 14px;border:1px dashed var(--bs-line-strong)}.bs-confirm-note p{margin:0;font-size:12px;color:var(--bs-muted);line-height:1.5}.bs-visit{display:flex;align-items:center;gap:14px;padding:14px 14px 14px 0;background:var(--bs-card);border:1px solid var(--bs-line);animation:bsRowIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 60ms)}.bs-visit-date{width:64px;flex:none;text-align:center;display:flex;flex-direction:column;padding:10px 6px;border-right:1px solid var(--bs-line);color:var(--bs-cream)}.bs-visit-date strong{font-family:var(--bs-font-display);font-weight:500;font-size:28px;line-height:1;color:var(--bs-blush)}.bs-visit-date span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-muted);margin-top:4px}.bs-visit-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bs-visit-main strong{font-family:var(--bs-font-display);font-weight:500;font-size:17px}.bs-visit-main span{font-size:12.5px;color:var(--bs-muted)}.bs-visit-time{color:var(--bs-blush)!important;font-weight:500;letter-spacing:.04em}.bs-visit-cancel{flex:none;padding:0 12px;height:34px;background:transparent;border:1px solid var(--bs-line-strong);color:var(--bs-muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:all .2s;font-family:inherit}.bs-visit-cancel:hover{color:var(--bs-accent);border-color:var(--bs-accent)}.bs-empty{text-align:center;align-items:center;padding-top:40px}.bs-empty-art{width:140px;height:140px;margin:0 auto 8px;position:relative;display:flex;align-items:center;justify-content:center}.bs-empty-art:before{content:"";position:absolute;inset:10%;background:radial-gradient(circle,rgba(153,12,42,.4),transparent 70%);filter:blur(8px)}.bs-empty-art img{position:relative;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;opacity:.85}.bs-empty-title{margin:8px 0 6px;font-family:var(--bs-font-display);font-weight:500;font-size:24px}.bs-empty-sub{margin:0 0 20px;font-size:13px;color:var(--bs-muted);max-width:260px}.bs-chat-screen{position:absolute;inset:calc(var(--bs-top-h) + var(--bs-safe-top)) 0 calc(var(--bs-tabs-h) + var(--bs-safe-bottom)) 0;display:flex;flex-direction:column;gap:0;padding:0}.bs-chat-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--bs-line)}.bs-chat-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--bs-accent),var(--bs-accent-dim));display:inline-flex;align-items:center;justify-content:center;font-family:var(--bs-font-display);font-weight:500;font-size:14px;color:#fff;letter-spacing:.04em;flex:none;box-shadow:inset 0 0 0 1px #ffffff2e}.bs-chat-header div{display:flex;flex-direction:column;gap:2px}.bs-chat-header strong{font-family:var(--bs-font-display);font-weight:500;font-size:16px}.bs-chat-header span{font-size:11px;letter-spacing:.06em;color:var(--bs-muted)}.bs-chat-list{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px;scrollbar-width:none}.bs-chat-list::-webkit-scrollbar{display:none}.bs-bubble{max-width:78%;padding:10px 14px 8px;font-size:14px;line-height:1.4;border-radius:0;position:relative;animation:bsBubbleIn .36s cubic-bezier(.2,.8,.2,1) both}@keyframes bsBubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bs-bubble p{margin:0}.bs-bubble span{display:block;margin-top:4px;font-size:10px;letter-spacing:.08em;opacity:.6;text-align:right}.bs-bubble-admin{align-self:flex-start;background:var(--bs-card);border:1px solid var(--bs-line);color:var(--bs-cream)}.bs-bubble-me{align-self:flex-end;background:linear-gradient(180deg,var(--bs-accent),var(--bs-accent-dim));color:#fff;box-shadow:0 8px 22px -10px var(--bs-accent-glow)}.bs-chat-input{display:flex;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--bs-line);background:#150409b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bs-chat-input input{flex:1;height:46px;background:var(--bs-card);border:1px solid var(--bs-line);color:var(--bs-cream);padding:0 14px;font-family:var(--bs-font-body);font-size:14px;outline:none;border-radius:0}.bs-chat-input input::placeholder{color:var(--bs-faint)}.bs-chat-input input:focus{border-color:var(--bs-accent)}.bs-send{width:46px;height:46px;background:linear-gradient(180deg,var(--bs-accent),var(--bs-accent-dim));border:0;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:0 8px 22px -10px var(--bs-accent-glow);transition:transform .15s}.bs-send:hover{transform:translateY(-1px)}.bs-send:active{transform:translateY(1px)}.bs-summary{position:fixed;left:0;right:0;bottom:calc(var(--bs-tabs-h) + var(--bs-safe-bottom));z-index:4;padding:12px 16px;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#15040980,#150409f0);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--bs-line);animation:bsSummaryIn .35s cubic-bezier(.2,.8,.2,1) both}@keyframes bsSummaryIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bs-summary-text{flex:1;font-size:12px;color:var(--bs-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;margin:0}.bs-summary-text b{color:var(--bs-cream);font-weight:500}.bs-summary .bs-btn{height:46px;padding:0 18px;font-size:12px}.bs-tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;height:calc(var(--bs-tabs-h) + var(--bs-safe-bottom));padding-bottom:var(--bs-safe-bottom);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bs-line);background:#150409eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.bs-tab{background:transparent;border:0;color:var(--bs-faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:0;transition:color .2s;position:relative;font-family:inherit}.bs-tab svg{width:22px;height:22px;stroke:currentColor;fill:none}.bs-tab.is-active{color:var(--bs-blush)}.bs-tab.is-active:before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;background:var(--bs-accent);box-shadow:0 0 12px var(--bs-accent-glow)}.bs-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:100dvh;gap:16px;text-align:center;padding:24px;position:relative;z-index:1}.bs-state h1{margin:0;font-family:var(--bs-font-display);font-weight:500;font-size:32px;color:var(--bs-cream)}.bs-state p{margin:0;color:var(--bs-muted);max-width:320px;line-height:1.5}
