@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap";@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap";:root{--bv-primary:#1e3a8a;--bv-primary-700:oklch(from var(--bv-primary) calc(l - .06) c h);--bv-primary-50:oklch(from var(--bv-primary) .97 calc(c * .18) h);--bv-primary-100:oklch(from var(--bv-primary) .93 calc(c * .32) h);--bv-accent:#ff6b35;--bv-accent-50:oklch(from var(--bv-accent) .97 calc(c * .2) h);--ink-0:#fff;--ink-25:#fbfaf8;--ink-50:#f6f4ef;--ink-100:#ece9e2;--ink-200:#ddd9d0;--ink-300:#c2bdb1;--ink-400:#8e8a80;--ink-500:#6b675e;--ink-600:#4a4740;--ink-700:#2e2c28;--ink-800:#1b1a17;--ink-900:#0e0d0b;--bv-ok:#0f8a5b;--bv-warn:#c77a0e;--bv-err:#b83a26;--bv-info:#2a6fdb;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--density:1;--pad-y:calc(var(--s-3) * var(--density));--pad-x:calc(var(--s-4) * var(--density));--gap:calc(var(--s-4) * var(--density));--row-h:calc(48px * var(--density));--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--shadow-xs:0 1px 2px #0e0d0b0f;--shadow-sm:0 1px 2px #0e0d0b0f, 0 1px 3px #0e0d0b0d;--shadow-md:0 4px 8px -2px #0e0d0b14, 0 2px 4px -2px #0e0d0b0a;--shadow-lg:0 12px 24px -8px #0e0d0b1f, 0 4px 8px -4px #0e0d0b0f;--shadow-xl:0 24px 48px -12px #0e0d0b2e;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"cv11", "ss01", "ss03";background:var(--ink-25);color:var(--ink-800);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}.t-display{font-family:var(--font-sans);letter-spacing:-.035em;font-size:clamp(40px,5vw,72px);font-weight:600;line-height:1.02}.t-display em{font-style:italic;font-weight:500}.t-h1{font-family:var(--font-sans);letter-spacing:-.025em;font-size:44px;font-weight:600;line-height:1.05}.t-h2{font-family:var(--font-sans);letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1.1}.t-h3{letter-spacing:-.005em;font-size:22px;font-weight:600;line-height:1.2}.t-h4{font-size:18px;font-weight:600;line-height:1.3}.t-body{font-size:15px;font-weight:400;line-height:1.5}.t-small{color:var(--ink-500);font-size:13px;font-weight:400;line-height:1.4}.t-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:500}.t-mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.t-num{font-feature-settings:"tnum", "lnum";font-variant-numeric:tabular-nums lining-nums}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}hr{border:0;border-top:1px solid var(--ink-100);margin:0}.divider{background:var(--ink-100);width:100%;height:1px}.divider-v{background:var(--ink-100);align-self:stretch;width:1px}.app{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{z-index:30;align-items:center;gap:var(--s-6);-webkit-backdrop-filter:blur(20px)saturate(160%);border-bottom:1px solid var(--ink-100);background:#fbfaf8d9;padding:14px 28px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--bv-primary);color:#fff;width:28px;height:28px;font-family:var(--font-serif);border-radius:8px;flex-shrink:0;align-self:center;place-items:center;font-size:18px;font-style:italic;line-height:1;display:grid;position:relative}.brand-mark:after{content:"";background:var(--bv-accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;right:5px}.brand-name{font-family:var(--font-sans);letter-spacing:-.015em;color:var(--ink-900);font-size:18px;font-weight:600;line-height:1}.brand-sub{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);border-left:1px solid var(--ink-200);align-self:center;margin-left:4px;padding-left:12px;font-size:11px}.tabs{background:var(--ink-100);border-radius:var(--r-pill);gap:2px;margin-left:auto;padding:4px;display:flex}.tab{appearance:none;border-radius:var(--r-pill);color:var(--ink-600);white-space:nowrap;background:0 0;border:0;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s}.tab:hover{color:var(--ink-900)}.tab[aria-selected=true]{background:var(--ink-0);color:var(--ink-900);box-shadow:var(--shadow-xs)}.topbar-end{align-items:center;gap:10px;display:flex}.page{padding:var(--s-12) var(--s-12) var(--s-20);width:100%;max-width:1440px;margin:0 auto}.sect{margin-bottom:var(--s-16)}.sect-head{margin-bottom:var(--s-8)}.sect-head .t-eyebrow{color:var(--bv-primary);margin-bottom:8px;display:block}.sect-head .lede{color:var(--ink-500);max-width:560px;margin-top:8px;font-size:16px}.swatch-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.swatch{border-radius:var(--r-md);background:var(--ink-0);border:1px solid var(--ink-100);overflow:hidden}.swatch-color{height:88px}.swatch-meta{flex-direction:column;gap:2px;padding:10px 12px;display:flex}.swatch-name{font-size:13px;font-weight:500}.swatch-val{font-family:var(--font-mono);color:var(--ink-500);font-size:11px}.scale-row{gap:var(--s-2);grid-template-columns:1fr;display:grid}.scale-strip{border-radius:var(--r-md);border:1px solid var(--ink-100);grid-template-columns:repeat(11,1fr);display:grid;overflow:hidden}.scale-strip>div{aspect-ratio:1/1.1;font-family:var(--font-mono);align-items:flex-end;padding:8px;font-size:10px;display:flex}.type-row{gap:var(--s-8);padding:var(--s-6) 0;border-bottom:1px solid var(--ink-100);grid-template-columns:200px 1fr;align-items:baseline;display:grid}.type-row:last-child{border-bottom:0}.type-meta{flex-direction:column;gap:2px;display:flex}.type-meta .label{font-size:13px;font-weight:500}.type-meta .spec{font-family:var(--font-mono);color:var(--ink-500);font-size:11px}.space-grid{gap:var(--s-3);display:grid}.space-row{align-items:center;gap:var(--s-4);border-bottom:1px solid var(--ink-100);grid-template-columns:60px 80px 1fr;padding:12px 0;display:grid}.space-row:last-child{border-bottom:0}.space-token{font-family:var(--font-mono);font-size:12px}.space-val{font-family:var(--font-mono);color:var(--ink-500);font-size:12px}.space-bar{background:var(--bv-primary-100);border-radius:2px;height:12px}.radii-row{gap:var(--s-4);flex-wrap:wrap;align-items:flex-end;display:flex}.radii-card{background:var(--ink-0);border:1px solid var(--ink-100);flex-direction:column;align-items:center;padding:16px;display:flex}.radii-shape{background:var(--bv-primary-100);border:2px solid var(--bv-primary);width:56px;height:56px;margin-bottom:8px}.shadow-row{gap:var(--s-6);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.shadow-card{background:var(--ink-0);border-radius:var(--r-lg);text-align:center;padding:28px;font-size:12px}.btn{appearance:none;border-radius:var(--radius);letter-spacing:-.005em;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 18px;font-size:14px;font-weight:500;transition:background .12s,transform .12s,box-shadow .12s;display:inline-flex}.btn-sm{gap:6px;height:32px;padding:0 12px;font-size:13px}.btn-lg{gap:10px;height:48px;padding:0 24px;font-size:15px}.btn-primary{background:var(--bv-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--bv-primary-700)}.btn-accent{background:var(--bv-accent);color:#fff}.btn-accent:hover:not(:disabled){filter:brightness(.95)}.btn-secondary{background:var(--ink-0);color:var(--ink-800);box-shadow:inset 0 0 0 1px var(--ink-200)}.btn-secondary:hover:not(:disabled){background:var(--ink-25);box-shadow:inset 0 0 0 1px var(--ink-300)}.btn-ghost{color:var(--ink-700);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ink-100)}.btn-danger{background:var(--bv-err);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn-icon.btn-lg{width:48px}.btn svg{flex-shrink:0;width:16px;height:16px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--ink-700);font-size:13px;font-weight:500}.field-help{color:var(--ink-500);font-size:12px}.field-err{color:var(--bv-err);font-size:12px}.input{appearance:none;border-radius:var(--radius);background:var(--ink-0);height:44px;box-shadow:inset 0 0 0 1px var(--ink-200);width:100%;color:var(--ink-900);border:0;outline:none;padding:0 14px;font-size:14px;transition:box-shadow .12s,background .12s}.input::placeholder{color:var(--ink-400)}.input:hover{box-shadow:inset 0 0 0 1px var(--ink-300)}.input:focus{box-shadow:inset 0 0 0 1.5px var(--bv-primary), 0 0 0 4px var(--bv-primary-50)}.input.error{box-shadow:inset 0 0 0 1.5px var(--bv-err)}.input-group{position:relative}.input-group .input{padding-left:40px}.input-group .input-icon{width:16px;height:16px;color:var(--ink-400);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}select.input{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236B675E' d='M0 0h10L5 6z'/></svg>");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}textarea.input{resize:vertical;height:auto;min-height:88px;padding:12px 14px}.checkbox,.radio{cursor:pointer;color:var(--ink-800);align-items:center;gap:10px;font-size:14px;display:inline-flex}.checkbox input,.radio input{display:none}.checkbox-mark,.radio-mark{background:var(--ink-0);width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--ink-300);flex-shrink:0;place-items:center;transition:all .12s;display:grid}.checkbox-mark{border-radius:4px}.radio-mark{border-radius:50%}.checkbox input:checked+.checkbox-mark,.radio input:checked+.radio-mark{background:var(--bv-primary);box-shadow:inset 0 0 0 1.5px var(--bv-primary)}.checkbox input:checked+.checkbox-mark:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.radio input:checked+.radio-mark:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px}.switch{background:var(--ink-200);cursor:pointer;border-radius:999px;width:36px;height:20px;transition:background .15s;display:inline-block;position:relative}.switch input{display:none}.switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on{background:var(--bv-primary)}.switch.on .switch-thumb{transform:translate(16px)}.badge{border-radius:var(--r-pill);font-feature-settings:"tnum";background:var(--ink-100);color:var(--ink-700);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge.solid-primary{background:var(--bv-primary);color:#fff}.badge.solid-accent{background:var(--bv-accent);color:#fff}.badge.tone-ok{background:oklch(from var(--bv-ok) .96 calc(c * .2) h);color:var(--bv-ok)}.badge.tone-warn{background:oklch(from var(--bv-warn) .96 calc(c * .2) h);color:var(--bv-warn)}.badge.tone-err{background:oklch(from var(--bv-err) .96 calc(c * .2) h);color:var(--bv-err)}.badge.tone-info{background:oklch(from var(--bv-info) .96 calc(c * .2) h);color:var(--bv-info)}.badge.tone-primary{background:var(--bv-primary-50);color:var(--bv-primary)}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip{border-radius:var(--r-pill);background:var(--ink-0);color:var(--ink-700);box-shadow:inset 0 0 0 1px var(--ink-200);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .12s;display:inline-flex}.chip:hover{box-shadow:inset 0 0 0 1px var(--ink-300);background:var(--ink-25)}.chip.active{background:var(--bv-primary);color:#fff;box-shadow:none}.chip svg{width:14px;height:14px}.card{background:var(--ink-0);border-radius:var(--r-lg);border:1px solid var(--ink-100);transition:box-shadow .15s,transform .15s;overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;gap:var(--s-4);padding:18px 20px;display:flex}.card-body{padding:20px}.card-footer{border-top:1px solid var(--ink-100);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.avatar{background:var(--bv-primary-100);width:32px;height:32px;color:var(--bv-primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.avatar-lg{width:44px;height:44px;font-size:14px}.avatar-xl{width:64px;height:64px;font-size:20px}.avatar-stack{display:flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--ink-0);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--ink-100);vertical-align:middle;padding:14px 16px}.table thead th{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);background:var(--ink-25);white-space:nowrap;padding:12px 16px;font-weight:500}.table tbody tr:last-child td{border-bottom:0}.table .num{font-variant-numeric:tabular-nums;text-align:right}.seg-tabs{background:var(--ink-100);border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.seg-tabs button{appearance:none;border-radius:calc(var(--radius) - 3px);color:var(--ink-600);background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:500;transition:all .12s}.seg-tabs button[aria-selected=true]{background:var(--ink-0);color:var(--ink-900);box-shadow:var(--shadow-xs)}.line-tabs{border-bottom:1px solid var(--ink-100);gap:24px;display:flex}.line-tabs button{appearance:none;color:var(--ink-500);background:0 0;border:0;padding:14px 0;font-size:14px;font-weight:500;transition:color .12s;position:relative}.line-tabs button[aria-selected=true]{color:var(--ink-900)}.line-tabs button[aria-selected=true]:after{content:"";background:var(--bv-primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.toast{background:var(--ink-0);border-radius:var(--r-md);border:1px solid var(--ink-100);box-shadow:var(--shadow-lg);align-items:flex-start;gap:12px;max-width:380px;padding:14px 16px;display:flex}.toast-icon{border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.toast-title{margin-bottom:2px;font-size:14px;font-weight:600}.toast-msg{color:var(--ink-500);font-size:13px}.toast.ok .toast-icon{background:oklch(from var(--bv-ok) .96 calc(c * .2) h);color:var(--bv-ok)}.toast.warn .toast-icon{background:oklch(from var(--bv-warn) .96 calc(c * .2) h);color:var(--bv-warn)}.toast.err .toast-icon{background:oklch(from var(--bv-err) .96 calc(c * .2) h);color:var(--bv-err)}.toast.info .toast-icon{background:oklch(from var(--bv-info) .96 calc(c * .2) h);color:var(--bv-info)}.alert{border-radius:var(--r-md);border:1px solid var(--ink-100);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.alert.ok{background:oklch(from var(--bv-ok) .97 calc(c * .15) h);border-color:oklch(from var(--bv-ok) .92 calc(c * .3) h);color:var(--bv-ok)}.alert.warn{background:oklch(from var(--bv-warn) .97 calc(c * .15) h);border-color:oklch(from var(--bv-warn) .92 calc(c * .3) h);color:var(--bv-warn)}.alert.err{background:oklch(from var(--bv-err) .97 calc(c * .15) h);border-color:oklch(from var(--bv-err) .92 calc(c * .3) h);color:var(--bv-err)}.alert.info{background:var(--bv-primary-50);border-color:var(--bv-primary-100);color:var(--bv-primary)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--r-lg);background:#0e0d0b80;justify-content:center;align-items:center;padding:32px;display:flex}.modal{background:var(--ink-0);border-radius:var(--r-lg);width:100%;max-width:420px;box-shadow:var(--shadow-xl);overflow:hidden}.modal-head{padding:22px 24px 8px}.modal-body{color:var(--ink-600);padding:8px 24px 20px;font-size:14px}.modal-foot{border-top:1px solid var(--ink-100);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-shape{border-radius:var(--r-lg);background:var(--ink-100);width:64px;height:64px;color:var(--ink-400);place-items:center;display:grid}.skel{background:linear-gradient(90deg, var(--ink-100) 0%, var(--ink-50) 50%, var(--ink-100) 100%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s linear infinite skel}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.imgph{background:repeating-linear-gradient(135deg, var(--ink-100) 0 8px, transparent 8px 16px), var(--ink-50);font-family:var(--font-mono);color:var(--ink-400);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-md);text-align:center;justify-content:center;align-items:center;font-size:11px;display:flex}.cal{background:var(--ink-0);border-radius:var(--r-lg);border:1px solid var(--ink-100);width:320px;padding:20px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow{text-align:center;font-size:11px;font-family:var(--font-mono);color:var(--ink-400);text-transform:uppercase;padding:6px 0}.cal-day{aspect-ratio:1;cursor:pointer;border-radius:8px;place-items:center;font-size:13px;transition:background .12s;display:grid}.cal-day:hover:not(.empty):not(.disabled){background:var(--ink-100)}.cal-day.muted{color:var(--ink-300)}.cal-day.today{box-shadow:inset 0 0 0 1px var(--ink-300)}.cal-day.start,.cal-day.end{background:var(--bv-primary);color:#fff}.cal-day.in-range{background:var(--bv-primary-50);color:var(--bv-primary);border-radius:0}.cal-day.start{border-radius:8px 0 0 8px}.cal-day.end{border-radius:0 8px 8px 0}.cal-day.disabled{color:var(--ink-200);cursor:not-allowed}.sidebar{background:var(--ink-0);border-right:1px solid var(--ink-100);flex-shrink:0;width:240px;padding:24px 16px}.nav-group{margin-bottom:24px}.nav-group-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);padding:0 12px 8px;font-size:10px}.nav-item{border-radius:var(--r-md);color:var(--ink-600);cursor:pointer;align-items:center;gap:12px;padding:9px 12px;font-size:14px;transition:all .12s;display:flex}.nav-item:hover{background:var(--ink-50);color:var(--ink-900)}.nav-item svg{flex-shrink:0;width:16px;height:16px}.nav-item .nav-count{font-size:11px;font-family:var(--font-mono);color:var(--ink-400);margin-left:auto}.nav-item.active .nav-count{color:var(--bv-primary)}.search-bar{background:var(--ink-0);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);border:1px solid var(--ink-100);gap:4px;padding:8px;display:flex}.search-seg{cursor:pointer;border-radius:999px;flex-direction:column;flex:1;padding:8px 16px;transition:background .12s;display:flex}.search-seg:hover{background:var(--ink-50)}.search-seg .label{font-size:11px;font-family:var(--font-mono);color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em}.search-seg .val{margin-top:2px;font-size:14px;font-weight:500}.search-seg .val.muted{color:var(--ink-400);font-weight:400}.two-col{gap:var(--s-8);grid-template-columns:1fr;display:grid}@media (width>=900px){.two-col{grid-template-columns:1fr 1fr}.two-col.thirds{grid-template-columns:2fr 1fr}}.three-col{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (width>=900px){.three-col{grid-template-columns:repeat(3,1fr)}}.four-col{gap:var(--s-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=900px){.four-col{grid-template-columns:repeat(4,1fr)}}.hero{padding:var(--s-12);border-radius:var(--r-xl);background:var(--bv-primary);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";background:var(--bv-accent);filter:blur(80px);opacity:.4;pointer-events:none;border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;margin-bottom:16px;font-size:11px}.hero-title{font-family:var(--font-sans);letter-spacing:-.035em;max-width:800px;margin:0 0 20px;font-size:clamp(40px,6vw,72px);font-weight:600;line-height:1}.hero-title em{font-style:italic;font-weight:500}.hero-sub{color:#ffffffc7;max-width:520px;font-size:17px;line-height:1.5}.stats{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:20px}.stat .label{color:var(--ink-500);margin-bottom:4px;font-size:12px}.stat .value{font-family:var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-feature-settings:"tnum";margin-bottom:8px;font-size:32px;font-weight:600;line-height:1}.stat .delta{font-size:12px;font-family:var(--font-mono)}.stat .delta.up{color:var(--bv-ok)}.stat .delta.down{color:var(--bv-err)}.flight-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:20px;transition:all .15s;display:grid}.flight-card:hover{border-color:var(--ink-300);box-shadow:var(--shadow-md)}.flight-airline{flex-direction:column;gap:4px;min-width:80px;display:flex}.flight-logo{background:var(--ink-100);width:32px;height:32px;color:var(--ink-600);border-radius:8px;place-items:center;font-size:11px;font-weight:600;display:grid}.flight-name{color:var(--ink-500);font-size:12px}.flight-times{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.flight-time{flex-direction:column;display:flex}.flight-time .time{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1}.flight-time .code{font-family:var(--font-mono);color:var(--ink-500);margin-top:6px;font-size:12px}.flight-time.right{text-align:right}.flight-route{flex-direction:column;align-items:center;gap:4px;min-width:120px;display:flex}.flight-line{background:var(--ink-200);width:100%;height:1px;position:relative}.flight-line:before,.flight-line:after{content:"";background:var(--ink-700);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.flight-line:before{left:0}.flight-line:after{right:0}.flight-duration{font-size:11px;font-family:var(--font-mono);color:var(--ink-500)}.flight-stops{color:var(--ink-400);margin-top:2px;font-size:11px}.flight-price{text-align:right;flex-direction:column;gap:4px;display:flex}.flight-price .price{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1}.flight-price .per{color:var(--ink-500);font-size:11px}.hotel-search{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:4px;padding:8px;display:grid}.hotel-search .seg{border-radius:var(--r-md);cursor:text;flex-direction:column;padding:10px 14px;transition:background .15s;display:flex}.hotel-search .seg:hover{background:var(--ink-50)}.hotel-search .seg.active{background:var(--ink-50);box-shadow:inset 0 0 0 1px var(--bv-primary)}.hotel-search .seg .label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:4px;font-size:10px;font-weight:600}.hotel-search .seg .val{color:var(--ink-900);font-size:14px;font-weight:500}.hotel-search .seg .sub{color:var(--ink-400);margin-top:2px;font-size:11px}.stepper-inline{background:var(--ink-50);border-radius:999px;align-items:center;gap:8px;padding:2px;display:inline-flex}.stepper-inline button{background:var(--ink-0);cursor:pointer;width:24px;height:24px;color:var(--ink-700);box-shadow:var(--shadow-sm);border:0;border-radius:999px;place-items:center;font-size:14px;line-height:1;display:grid}.stepper-inline button:hover{background:var(--bv-primary-50);color:var(--bv-primary)}.stepper-inline button:disabled{opacity:.4;cursor:not-allowed}.stepper-inline .v{text-align:center;font-variant-numeric:tabular-nums;min-width:18px;font-size:13px;font-weight:600}.hotel-listing{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);grid-template-columns:240px 1fr auto;gap:0;transition:box-shadow .15s,border-color .15s;display:grid;overflow:hidden}.hotel-listing:hover{border-color:var(--ink-200);box-shadow:var(--shadow-md)}.hotel-listing .hl-img{color:#ffffffb3;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,oklch(70% .04 240),oklch(55% .06 250));place-items:center;font-size:10px;display:grid;position:relative}.hotel-listing .hl-img-thumbs{gap:4px;display:flex;position:absolute;bottom:8px;left:8px}.hotel-listing .hl-img-thumbs .dot{background:#fff6;border-radius:999px;width:6px;height:6px}.hotel-listing .hl-img-thumbs .dot.on{background:#fff}.hotel-listing .hl-img-fav{width:28px;height:28px;color:var(--ink-700);cursor:pointer;background:#ffffffeb;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.hotel-listing .hl-body{flex-direction:column;gap:10px;min-width:0;padding:18px 20px;display:flex}.hotel-listing .hl-name{letter-spacing:-.01em;color:var(--ink-900);font-size:17px;font-weight:600}.hotel-listing .hl-rating{color:var(--ink-600);align-items:center;gap:8px;font-size:13px;display:flex}.hotel-listing .hl-rating .score{background:var(--bv-primary);color:#fff;font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600}.hotel-listing .hl-loc{color:var(--ink-500);align-items:center;gap:4px;font-size:12px;display:flex}.hotel-listing .hl-amenities{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.hotel-listing .hl-amenity{background:var(--ink-50);color:var(--ink-600);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.hotel-listing .hl-rate{background:var(--ink-25);border-left:1px solid var(--ink-100);flex-direction:column;justify-content:space-between;align-items:flex-end;gap:8px;min-width:200px;padding:18px 20px;display:flex}.hotel-listing .hl-rate-strike{color:var(--ink-400);font-variant-numeric:tabular-nums;font-size:12px;text-decoration:line-through}.hotel-listing .hl-rate-price{letter-spacing:-.025em;color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.hotel-listing .hl-rate-per{color:var(--ink-500);text-align:right;font-size:11px}.hotel-listing .hl-rate-total{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:11px}.hotel-map-view{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;width:100%;height:580px;display:grid}.hotel-map-list{flex-direction:column;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.hotel-map-list::-webkit-scrollbar{width:6px}.hotel-map-list::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:6px}.hm-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);cursor:pointer;grid-template-columns:96px 1fr auto;gap:12px;padding:10px;transition:border-color .15s,box-shadow .15s;display:grid}.hm-card:hover{border-color:var(--ink-200);box-shadow:var(--shadow-sm)}.hm-card.active{border-color:var(--bv-primary);box-shadow:inset 0 0 0 1px var(--bv-primary)}.hm-card .hm-img{aspect-ratio:1;border-radius:var(--r-sm);color:#ffffffb3;font-family:var(--font-mono);place-items:center;font-size:9px;display:grid}.hm-card .hm-info{min-width:0;padding:2px 0}.hm-card .hm-name{margin-bottom:4px;font-size:13px;font-weight:600}.hm-card .hm-rating{color:var(--ink-500);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.hm-card .hm-rating .score{background:var(--bv-primary);color:#fff;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.hm-card .hm-loc{color:var(--ink-500);font-size:11px}.hm-card .hm-rate{flex-direction:column;justify-content:center;align-items:flex-end;padding:0 4px;display:flex}.hm-card .hm-rate .price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.hm-card .hm-rate .per{color:var(--ink-400);font-size:10px}.hotel-map-canvas{background:var(--ink-100);border-radius:var(--r-lg);border:1px solid var(--ink-100);background-image:linear-gradient(var(--ink-200) 1px, transparent 1px), linear-gradient(90deg, var(--ink-200) 1px, transparent 1px), linear-gradient(135deg, oklch(94% .01 240), oklch(97% .005 240));background-size:60px 60px,60px 60px,100% 100%;position:relative;overflow:hidden}.hotel-map-canvas .map-roads{pointer-events:none;position:absolute;inset:0}.hotel-map-canvas .map-water{pointer-events:none;background:oklch(88% .04 230);position:absolute}.hotel-map-canvas .map-park{pointer-events:none;background:oklch(90% .06 145);border-radius:50%;position:absolute}.price-pin{background:var(--ink-0);border:1px solid var(--ink-200);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink-900);box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;transition:all .15s;display:flex;position:absolute;transform:translate(-50%,-100%)}.price-pin:after{content:"";background:inherit;border-right:inherit;border-bottom:inherit;width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.price-pin:hover{box-shadow:var(--shadow-md);transform:translate(-50%,-103%)}.price-pin.viewed{background:var(--ink-100);color:var(--ink-500)}.price-pin.active{background:var(--ink-900);color:#fff;border-color:var(--ink-900);z-index:5;transform:translate(-50%,-100%)scale(1.05)}.price-pin .star,.price-pin.active .star{color:var(--bv-accent)}.map-card-popover{background:var(--ink-0);border-radius:var(--r-md);border:1px solid var(--ink-100);width:240px;box-shadow:var(--shadow-lg);z-index:6;position:absolute;overflow:hidden;transform:translate(-50%,calc(-100% - 18px))}.map-card-popover .pop-img{background:linear-gradient(135deg,oklch(55% .06 250),oklch(42% .05 240));height:100px}.map-card-popover .pop-body{padding:12px 14px}.map-card-popover .pop-name{margin-bottom:4px;font-size:14px;font-weight:600}.map-card-popover .pop-meta{color:var(--ink-500);margin-bottom:8px;font-size:11px}.map-card-popover .pop-foot{justify-content:space-between;align-items:center;display:flex}.map-card-popover .pop-price{letter-spacing:-.02em;font-size:16px;font-weight:600}.map-card-popover:after{content:"";background:var(--ink-0);border-right:1px solid var(--ink-100);border-bottom:1px solid var(--ink-100);width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.map-toolbar{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);gap:6px;padding:4px;display:flex;position:absolute}.map-toolbar button{cursor:pointer;width:28px;height:28px;color:var(--ink-700);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.map-toolbar button:hover{background:var(--ink-50)}.hotel-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.hotel-img{aspect-ratio:16/9;width:100%}.hotel-body{padding:16px 18px}.hotel-name{margin-bottom:4px;font-size:16px;font-weight:600}.hotel-meta{color:var(--ink-500);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.hotel-foot{justify-content:space-between;align-items:flex-end;display:flex}.hotel-price{font-family:var(--font-sans);letter-spacing:-.01em;font-size:18px;font-weight:600}.itin-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.itin-head{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.itin-segment{border-bottom:1px solid var(--ink-100);grid-template-columns:32px 1fr auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.itin-segment:last-child{border-bottom:0}.itin-icon{background:var(--bv-primary-50);width:32px;height:32px;color:var(--bv-primary);border-radius:50%;place-items:center;display:grid}.map{background:repeating-linear-gradient(0deg, var(--ink-100) 0 1px, transparent 1px 40px), repeating-linear-gradient(90deg, var(--ink-100) 0 1px, transparent 1px 40px), var(--ink-25);border-radius:var(--r-lg);border:1px solid var(--ink-100);position:relative;overflow:hidden}.map-pin{background:var(--bv-accent);border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ff6b3540,0 1px 4px #0003}.map-pin.primary{background:var(--bv-primary);box-shadow:0 0 0 3px #1e3a8a40,0 1px 4px #0003}.map-route{background:var(--bv-primary);transform-origin:0;height:2px;position:absolute}.chart-bars{align-items:flex-end;gap:8px;height:140px;display:flex}.bar{background:var(--bv-primary);border-radius:3px 3px 0 0;flex:1;min-height:4px;position:relative}.bar.muted{background:var(--ink-200)}.bar-label{text-align:center;font-family:var(--font-mono);color:var(--ink-500);font-size:10px;position:absolute;bottom:-22px;left:0;right:0}.donut-wrap{align-items:center;gap:24px;display:flex}.donut{width:140px;height:140px;position:relative}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-center{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.donut-center .v{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.donut-center .l{color:var(--ink-500);margin-top:4px;font-size:11px}.legend{flex-direction:column;gap:8px;display:flex}.legend-item{align-items:center;gap:10px;font-size:13px;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.line-chart{height:200px;padding:8px 0;position:relative}.stepper{align-items:center;gap:16px;display:flex}.stepper .step{color:var(--ink-400);align-items:center;gap:10px;font-size:13px;display:flex}.stepper .step .num{background:var(--ink-100);width:24px;height:24px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:11px;font-weight:500;display:grid}.stepper .step.active{color:var(--ink-900);font-weight:500}.stepper .step.active .num{background:var(--bv-primary);color:#fff}.stepper .step.done .num{background:var(--bv-primary-50);color:var(--bv-primary)}.stepper .step.done .num:after{content:"✓";font-family:var(--font-sans)}.stepper .step.done .num span{display:none}.stepper .sep{background:var(--ink-200);flex:1;max-width:80px;height:1px}.filter-section{border-bottom:1px solid var(--ink-100);padding:18px 0}.filter-section:first-child{padding-top:0}.filter-section:last-child{border-bottom:0}.filter-section h4{margin:0 0 12px;font-size:13px;font-weight:600}.filter-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.filter-row .name{color:var(--ink-700);font-size:13px}.filter-row .count{font-family:var(--font-mono);color:var(--ink-400);font-size:11px}.range{height:24px;margin:8px 0;position:relative}.range-track{background:var(--ink-100);border-radius:999px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.range-fill{background:var(--bv-primary);border-radius:999px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.range-thumb{border:1.5px solid var(--bv-primary);background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000026}.sheet{background:var(--ink-0);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);width:360px;overflow:hidden}.sheet-handle{background:var(--ink-200);border-radius:999px;width:36px;height:4px;margin:12px auto 0}.spec{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.spec-head{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.spec-head h4{margin:0;font-size:14px;font-weight:600}.spec-head .meta{font-family:var(--font-mono);color:var(--ink-400);font-size:11px}.spec-canvas{background:radial-gradient(circle at 1px 1px, var(--ink-100) 1px, transparent 0);background-size:16px 16px;flex-wrap:wrap;align-items:center;gap:12px;padding:32px;display:flex}.spec-canvas.col{flex-direction:column;align-items:flex-start}.spec-canvas.center{justify-content:center}.scroll-x{overflow-x:auto}.scroll-x::-webkit-scrollbar{height:8px}.scroll-x::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:999px}.token-label{font-family:var(--font-mono);color:var(--ink-400);background:var(--ink-50);border-radius:4px;padding:2px 6px;font-size:11px}html,body,#root{min-height:100%}.app-shell{background:var(--ink-25);grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink-0);scrollbar-width:none;-ms-overflow-style:none;height:100vh;box-shadow:1px 0 0 var(--ink-100);flex-direction:column;gap:28px;padding:28px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.brand{align-items:center;gap:10px;padding:0 12px;display:flex}.brand-mark{border-radius:var(--r-md);background:var(--bv-primary);color:#fff;width:32px;height:32px;font-family:var(--font-serif);justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.brand-name{font-family:var(--font-sans);letter-spacing:-.01em;font-size:18px;font-weight:600}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);margin-bottom:8px;padding:0 12px;font-size:11px}.nav-item{border-radius:var(--r-md);color:var(--ink-700);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:14px;text-decoration:none;transition:background 80ms;display:flex}.nav-item:hover{background:var(--ink-50)}.nav-item.active{background:var(--bv-primary-50);color:var(--bv-primary);font-weight:500}.nav-item.active svg{color:var(--bv-primary)}.tenant-card{border-radius:var(--r-md);background:var(--ink-50);align-items:center;gap:10px;margin-top:auto;padding:14px;transition:background .12s;display:flex}.tenant-card:hover{background:var(--ink-100)}.main-col{flex-direction:column;min-width:0;display:flex}.topbar{background:color-mix(in oklch, var(--ink-0) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;align-items:center;gap:16px;padding:16px 40px;display:flex;position:sticky;top:0}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--ink-100) 12%, var(--ink-100) 88%, transparent);pointer-events:none;height:1px;position:absolute;inset:auto 0 0}.topbar-breadcrumb{align-items:center;gap:8px;display:flex}.env-badge{font-family:var(--font-mono);border-radius:var(--r-pill);background:var(--bv-warn);color:#fff;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;font-size:11px}.main{flex:1;width:100%;padding:40px 56px 80px}@media (width<=1100px){.main{padding:32px 32px 64px}}@media (width<=700px){.main{padding:24px 20px 48px}}.btn{border-radius:var(--r-md);background:var(--bv-primary);color:#fff;font-family:var(--font-sans);letter-spacing:-.005em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s,color .12s;display:inline-flex;box-shadow:0 1px 2px #0e0d0b0f}.btn:hover:not(:disabled){box-shadow:0 6px 16px -4px color-mix(in oklch, var(--bv-primary) 35%, transparent);transform:translateY(-.5px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:14px 24px;font-size:15px}.btn-ghost{color:var(--ink-700);box-shadow:none;background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ink-100);box-shadow:none;transform:none}.btn-outline{background:var(--ink-0);color:var(--ink-800);box-shadow:inset 0 0 0 1px var(--ink-200), 0 1px 2px #0e0d0b0a}.btn-outline:hover:not(:disabled){box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--bv-primary) 30%, var(--ink-200)), 0 4px 12px -4px #0e0d0b14}.btn-icon{padding:8px}.input,select.input{border-radius:var(--r-md);background:var(--ink-50);height:42px;font-family:var(--font-sans);color:var(--ink-900);border:0;outline:none;width:100%;padding:0 14px;font-size:14px;transition:background .12s,box-shadow .12s;box-shadow:inset 0 0 0 1px #0000}.input:hover:not(:focus),select.input:hover:not(:focus){background:var(--ink-100)}.input:focus,select.input:focus{background:var(--ink-0);box-shadow:inset 0 0 0 1px var(--bv-primary), 0 0 0 3px var(--bv-primary-50)}.badge{border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:var(--ink-100);color:var(--ink-700);align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-ok{background:color-mix(in oklch, var(--bv-ok) 15%, transparent);color:var(--bv-ok)}.badge-warn{background:color-mix(in oklch, var(--bv-warn) 15%, transparent);color:var(--bv-warn)}.badge-err{background:color-mix(in oklch, var(--bv-err) 15%, transparent);color:var(--bv-err)}.badge-info{background:color-mix(in oklch, var(--bv-info) 15%, transparent);color:var(--bv-info)}.badge-accent{background:var(--bv-accent);color:#fff}.avatar{border-radius:var(--r-pill);background:var(--ink-100);width:36px;height:36px;color:var(--ink-700);font-family:var(--font-sans);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.avatar-sm{width:32px;height:32px;font-size:12px}.card{background:var(--ink-0);border-radius:var(--r-lg);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink-100) 80%, transparent), 0 1px 2px #0e0d0b0a, 0 4px 12px -4px #0e0d0b0a;transition:box-shadow .18s,transform .18s}.card-pad{padding:28px}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:0 0 0 1px color-mix(in oklch, var(--bv-primary) 14%, transparent), 0 1px 2px #0e0d0b0a, 0 12px 32px -8px #0e0d0b1a;transform:translateY(-1px)}.lede{color:var(--ink-600);font-size:16px;line-height:1.55}.section{margin-bottom:56px}.section-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.section-head .t-h2,.section-head .t-h3{margin:0}.screen-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:40px;display:flex}.grid-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}@media (width<=900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.stack,.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.form-error{background:color-mix(in oklch, var(--bv-err) 10%, transparent);border:1px solid color-mix(in oklch, var(--bv-err) 30%, transparent);color:var(--bv-err);border-radius:var(--r-md);padding:12px 16px;font-size:14px}.check{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.check input{width:16px;height:16px;accent-color:var(--bv-primary)}.public-shell{background:var(--ink-25);flex-direction:column;min-height:100vh;display:flex}.public-nav{background:color-mix(in oklch, var(--ink-25) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-100);z-index:10;align-items:center;gap:32px;width:100%;padding:16px 56px;display:flex;position:sticky;top:0}.public-nav .brand{align-items:center;gap:10px;display:flex}.public-nav-divider{color:var(--ink-300);margin:0 4px;font-size:16px}.public-nav-section{color:var(--ink-500);letter-spacing:.04em;font-size:12px}.public-nav-links{flex:1;align-items:center;gap:4px;display:flex}.public-nav-link{border-radius:var(--r-md);color:var(--ink-700);padding:6px 12px;font-size:14px;text-decoration:none;transition:background 80ms,color 80ms}.public-nav-link:hover{background:var(--ink-50);color:var(--ink-900)}.public-nav-link.active{background:var(--bv-primary-50);color:var(--bv-primary);font-weight:500}.public-breadcrumb{border-bottom:1px solid var(--ink-100);background:var(--ink-0);padding:12px 40px}.public-main{flex:1;width:100%;padding:40px 56px 80px}.public-footer{border-top:1px solid var(--ink-100);background:var(--ink-0);justify-content:space-between;align-items:center;width:100%;padding:24px 56px;display:flex}@media (width<=800px){.public-nav{flex-wrap:wrap;gap:16px;padding:12px 20px}.public-nav-links{flex-basis:100%;order:3}.public-main{padding:24px 20px 48px}}.auth-layout{background:var(--ink-25);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (width<=900px){.auth-layout{grid-template-columns:1fr}}.auth-form-side{background:var(--ink-0);flex-direction:column;min-height:100vh;padding:40px 56px;display:flex;position:relative}@media (width<=700px){.auth-form-side{padding:32px 24px}}.auth-brand-link{color:inherit;align-self:flex-start;align-items:center;gap:10px;margin-bottom:56px;text-decoration:none;display:inline-flex}.auth-form-card{flex-direction:column;gap:24px;width:100%;max-width:420px;margin:auto;display:flex}.auth-form-title{letter-spacing:-.015em;margin:0}.auth-form-sub{color:var(--ink-600);margin:-16px 0 0}.auth-form-content{flex-direction:column;display:flex}.auth-form-content .form{gap:18px}.auth-form-content .form>.btn{margin-top:4px}.auth-form-footer{padding-top:8px}.auth-footer-link{text-align:center;color:var(--ink-500);margin:0}.auth-footer-link a{color:var(--bv-primary);font-weight:500;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.auth-form-fineprint{color:var(--ink-400);justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;font-size:12px;display:flex}.auth-form-fineprint a{color:var(--ink-400);text-decoration:none}.auth-form-fineprint a:hover{color:var(--ink-600)}.auth-fineprint-inline{text-align:center;color:var(--ink-400);margin:4px 0 0;font-size:12px}.auth-fineprint-inline a{color:var(--ink-500);text-decoration:underline}.auth-field-label{color:var(--ink-700);font-weight:500}.auth-forgot{color:var(--ink-500);text-decoration:none}.auth-forgot:hover{color:var(--bv-primary)}.auth-marketing-side{background-image:url(/hero-travelers.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:relative;overflow:hidden}@media (width<=900px){.auth-marketing-side{display:none}}.auth-marketing-content{flex-direction:column;gap:20px;max-width:480px;display:flex}.auth-marketing-eyebrow{color:#ffffffc7!important}.auth-marketing-line{font-family:var(--font-sans);letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(32px,3.8vw,48px);font-weight:600;line-height:1.05}.auth-marketing-sub{color:#ffffffc7;margin:0;font-size:16px;line-height:1.55}.auth-marketing-proof{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.auth-marketing-proof li{color:#ffffffe0;align-items:center;gap:10px;font-size:14px;display:flex}.auth-marketing-proof li>svg{color:var(--bv-accent);flex-shrink:0}.auth-marketing-stats{border-top:1px solid #ffffff29;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:16px;padding-top:28px;display:grid}.auth-marketing-stat-v{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;color:#fff;margin-bottom:6px;font-size:32px;font-weight:600;line-height:1}.auth-marketing-stat-l{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;font-size:11px}.auth-page{background:var(--ink-25);flex-direction:column;align-items:center;gap:32px;min-height:100vh;padding:40px 24px;display:flex}.auth-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.auth-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);width:100%;max-width:460px;box-shadow:var(--shadow-sm);padding:40px}.landing{background:var(--ink-25);min-height:100vh}.landing-nav{z-index:10;background:color-mix(in oklch, var(--ink-25) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:24px 56px;display:flex;position:sticky;top:0}.landing-links{align-items:center;gap:28px;display:flex}.landing-link{color:var(--ink-700);font-size:14px;text-decoration:none;transition:color .1s}.landing-link:hover{color:var(--bv-primary)}.landing-page{width:100%;padding:24px 56px 0}@media (width<=800px){.landing-page{padding:16px 24px 0}}.landing .hero{background-color:var(--bv-primary);background-image:linear-gradient(100deg,#060d33 0%,#0a1547 40%,#0a1547b3 60%,#0a154700 82%),url(/hero-rio.jpg);background-position:100%;background-repeat:no-repeat;background-size:cover}.hero-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:56px;display:grid}@media (width<=1100px){.hero-grid{grid-template-columns:1fr;gap:40px}}.hero-content{min-width:0}.hero-sheet{background:var(--ink-0);border-radius:var(--r-lg);flex-direction:column;justify-self:end;width:380px;max-width:100%;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 24px 56px -12px #0006}@media (width<=1100px){.hero-sheet{justify-self:start}}.hero-stats{border-top:1px solid #ffffff29;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;padding-top:28px;display:grid}@media (width<=700px){.hero-stats{grid-template-columns:repeat(2,1fr)}}.hero-stat-v{font-family:var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums lining-nums;color:#fff;margin-bottom:6px;font-size:40px;font-weight:600;line-height:1}.hero-stat-l{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;font-size:11px}.how-section{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-xl);margin-top:64px;padding:48px}@media (width<=800px){.how-section{padding:32px 24px}}.how-steps{flex-direction:column;gap:16px;margin:32px 0 0;padding:0;list-style:none;display:flex}.how-steps li{border-bottom:1px solid var(--ink-100);align-items:center;gap:24px;padding:24px 0;display:flex}.how-steps li:last-child{border-bottom:0;padding-bottom:0}.how-step-num{border-radius:var(--r-pill);background:var(--bv-primary-50);width:44px;height:44px;color:var(--bv-primary);font-family:var(--font-sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.pricing-card{background:linear-gradient(135deg, var(--bv-primary-50) 0%, var(--ink-0) 60%);border:1px solid var(--ink-100);justify-content:space-between;align-items:flex-end;gap:32px;padding:48px;display:flex}@media (width<=800px){.pricing-card{flex-direction:column;align-items:stretch;padding:32px}}.landing-cta{text-align:center;border-top:1px solid var(--ink-100);flex-direction:column;align-items:center;gap:24px;margin-top:32px;padding:120px 48px 96px;display:flex}.landing-cta em{color:var(--bv-accent);font-style:italic;font-weight:500}.landing-footer{border-top:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:32px 56px;display:flex}.chip{border-radius:var(--r-pill);background:var(--ink-50);color:var(--ink-700);border:1px solid var(--ink-100);font-size:12px;font-family:var(--font-mono);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.benefit-card{flex-direction:column;height:100%;padding:32px;display:flex;position:relative}.benefit-card .t-eyebrow{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;margin-bottom:18px;font-size:11px}.benefit-title{letter-spacing:-.005em;margin:0 0 12px}.benefit-desc{color:var(--ink-600);flex:1;margin-bottom:20px;font-size:14px;line-height:1.55}.benefit-tag{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--bv-primary);border-top:1px dashed var(--ink-100);padding-top:16px;font-size:11px}.content-card{border-radius:var(--r-lg);flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.content-card:hover{transform:translateY(-2px)}.content-card-body{flex:1;padding:28px}.content-card-title{margin:8px 0}.content-card-desc{margin-bottom:20px;font-size:14px;line-height:1.55}.content-card-chips{flex-wrap:wrap;gap:6px;display:flex}.content-card-footer{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:14px 28px;font-size:11px;display:flex}.content-card-dark{background:radial-gradient(ellipse at top right, color-mix(in oklch, var(--bv-accent) 12%, transparent) 0%, transparent 55%), linear-gradient(140deg, var(--bv-primary) 0%, oklch(from var(--bv-primary) calc(l - .1) c h) 50%, oklch(from var(--bv-primary) calc(l - .18) calc(c * .6) h) 100%);color:#fff;box-shadow:0 1px 2px #0e0d0b0f, 0 12px 32px -12px color-mix(in oklch, var(--bv-primary) 30%, transparent)}.content-card-dark:hover{box-shadow:0 1px 2px #0e0d0b0f, 0 24px 48px -12px color-mix(in oklch, var(--bv-primary) 40%, transparent)}.content-card-dark .content-card-title{color:#fff}.content-card-dark .content-card-desc{color:#ffffffbd}.content-card-dark .content-card-footer{color:#fff9;border-top:1px solid #ffffff1a}.chip-on-dark{border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.02em;color:#ffffffe0;background:#ffffff14;border:1px solid #ffffff24;align-items:center;padding:4px 10px;font-size:11px;display:inline-flex}.content-card-light{background:var(--ink-0);color:var(--ink-900);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink-100) 80%, transparent), 0 1px 2px #0e0d0b0a, 0 4px 12px -4px #0e0d0b0a}.content-card-light:hover{box-shadow:0 0 0 1px color-mix(in oklch, var(--bv-primary) 14%, transparent), 0 1px 2px #0e0d0b0a, 0 12px 32px -8px #0e0d0b1a}.content-card-light .content-card-title{color:var(--ink-900)}.content-card-light .content-card-desc{color:var(--ink-600)}.content-card-light .content-card-footer{border-top:1px solid var(--ink-100);color:var(--ink-500)}.content-card-muted{opacity:.85}.split{grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;margin-bottom:64px;display:grid}.split-reverse .split-text{order:2}.split-reverse .split-mock{order:1;justify-self:start}.split:not(.split-reverse) .split-mock{justify-self:end}@media (width<=900px){.split{grid-template-columns:1fr;gap:32px}.split-reverse .split-text,.split-reverse .split-mock{order:initial}.split-mock{justify-self:start!important}}.split-text{max-width:460px}.split-text .lede{margin:0 0 20px}.split-points{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.split-points li{color:var(--ink-700);align-items:flex-start;gap:10px;font-size:14px;display:flex}.split-points li>svg{color:var(--bv-ok);flex-shrink:0;margin-top:3px}.split-points code{background:var(--ink-100);color:var(--ink-800);border-radius:4px;padding:1px 6px;font-size:12.5px}.split-mock{width:100%;min-width:0;max-width:460px}.detail-billboard{border-radius:var(--r-xl);min-height:600px;box-shadow:0 1px 2px #0e0d0b0a, 0 24px 64px -16px color-mix(in oklch, var(--bv-primary) 30%, transparent);background-image:url(/hero-travelers.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:flex-end;align-items:center;margin:80px 0;padding:56px;display:flex;position:relative;overflow:hidden}@media (width<=800px){.detail-billboard{border-radius:var(--r-lg);justify-content:center;min-height:520px;margin:56px 0;padding:32px 24px}}.detail-sheet{background:var(--ink-0);border-radius:var(--r-lg);flex-direction:column;width:380px;max-width:100%;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 24px 56px -12px #0000004d}.detail-sheet-head{box-shadow:inset 0 -1px 0 var(--ink-100);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.detail-sheet-title{color:var(--ink-900);letter-spacing:-.01em;margin-top:4px;font-size:16px;font-weight:600}.detail-sheet-body{flex-direction:column;flex:1;gap:6px;padding:22px;display:flex}.detail-sheet-route{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:24px;display:grid}.detail-sheet-time{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--ink-900);font-variant-numeric:tabular-nums lining-nums;font-size:28px;font-weight:600;line-height:1}.detail-sheet-day{font-family:var(--font-mono);color:var(--ink-400);letter-spacing:0;margin-left:4px;font-size:11px;font-weight:400}.detail-sheet-line{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.detail-sheet-duration{font-family:var(--font-mono);color:var(--ink-500);letter-spacing:.02em;font-size:11px}.detail-sheet-track{background:var(--ink-200);width:100%;height:1px;position:relative}.detail-sheet-track:before,.detail-sheet-track:after{content:"";background:var(--bv-primary);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%)}.detail-sheet-track:before{left:0}.detail-sheet-track:after{right:0}.detail-sheet-section{color:var(--ink-500);margin:16px 0 4px}.detail-sheet-rows{flex-direction:column;margin:0;padding:0;display:flex}.detail-sheet-rows>div{box-shadow:inset 0 -1px 0 var(--ink-100);justify-content:space-between;align-items:center;padding:10px 0;font-size:13.5px;display:flex}.detail-sheet-rows>div:last-child{box-shadow:none}.detail-sheet-rows dt{color:var(--ink-600);font-weight:400}.detail-sheet-rows dd{color:var(--ink-900);margin:0;font-weight:500}.detail-sheet-foot{box-shadow:inset 0 1px 0 var(--ink-100);align-items:center;gap:14px;padding:16px 22px;display:flex}.detail-sheet-foot>div:first-child{flex:1}.detail-sheet-total{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink-900);font-variant-numeric:tabular-nums lining-nums;font-size:22px;font-weight:600;line-height:1.1}.dev-cta{background:var(--bv-primary);color:#fff;border-radius:var(--r-xl);justify-content:space-between;align-items:center;gap:32px;padding:40px 48px;display:flex;position:relative;overflow:hidden}.dev-cta:before{content:"";background:var(--bv-accent);filter:blur(80px);opacity:.35;pointer-events:none;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-100px;right:-80px}.dev-cta>*{z-index:1;position:relative}.dev-cta .lede{color:#ffffffc7}.dev-cta .btn-outline{color:#fff;background:#ffffff1f;border-color:#ffffff38}.dev-cta .btn-outline:hover{background:#fff3}@media (width<=800px){.dev-cta{flex-direction:column;align-items:stretch;padding:32px 24px}}.api-mock{background:radial-gradient(ellipse at top right, color-mix(in oklch, var(--bv-accent) 12%, transparent) 0%, transparent 55%), linear-gradient(140deg, var(--bv-primary) 0%, oklch(from var(--bv-primary) calc(l - .1) c h) 50%, oklch(from var(--bv-primary) calc(l - .18) calc(c * .6) h) 100%);border-radius:var(--r-lg);border:1px solid oklch(100% 5.96046e-8 none/.12);border-color:oklch(100% 5.96046e-8 none/.12) oklch(100% 5.96046e-8 none/.12) oklch(100% 5.96046e-8 none/.12) oklch(100% 5.96046e-8 none/.12);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px -12px #0e163c40,0 8px 16px -8px #0e163c26}.api-mock-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000002e;border-bottom:1px solid oklch(100% 5.96046e-8 none/.08);align-items:center;gap:12px;padding:9px 14px;display:flex}.api-mock-dots{gap:6px;display:flex}.api-mock-dots span{background:var(--ink-700);border-radius:999px;width:10px;height:10px}.api-mock-dots span:first-child{background:#ff5f57}.api-mock-dots span:nth-child(2){background:#febc2e}.api-mock-dots span:nth-child(3){background:#28c840}.api-mock-url{border-radius:var(--r-md);background:#00000038;border:1px solid oklch(100% 5.96046e-8 none/.1);border-color:oklch(100% 5.96046e-8 none/.1) oklch(100% 5.96046e-8 none/.1) oklch(100% 5.96046e-8 none/.1) oklch(100% 5.96046e-8 none/.1);flex:1;align-items:center;gap:8px;min-width:0;padding:4px 10px;display:flex}.api-method{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--r-sm);padding:2px 6px;font-size:10px;font-weight:600}.api-method-get{background:color-mix(in oklch, var(--bv-info) 22%, transparent);color:#79b1ff}.api-method-post{background:color-mix(in oklch, var(--bv-ok) 22%, transparent);color:#5fd99f}.api-method-patch{background:color-mix(in oklch, var(--bv-warn) 22%, transparent);color:#f5b556}.api-method-delete{background:color-mix(in oklch, var(--bv-err) 22%, transparent);color:#f08770}.api-path{font-family:var(--font-mono);color:var(--ink-100);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.api-mock-direction{font-family:var(--font-mono);color:var(--ink-400);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;display:inline-flex}.api-mock-caption{color:var(--ink-300);padding:10px 16px 0;font-size:12px;font-style:italic}.api-mock-headers{border-radius:var(--r-md);font-family:var(--font-mono);background:#0000001f;border:1px dashed oklch(100% 5.96046e-8 none/.16);border-color:oklch(100% 5.96046e-8 none/.16) oklch(100% 5.96046e-8 none/.16) oklch(100% 5.96046e-8 none/.16) oklch(100% 5.96046e-8 none/.16);flex-direction:column;gap:2px;margin:10px 16px;padding:8px 12px;font-size:11px;display:flex}.api-header-row{gap:8px;display:flex}.api-header-k{color:#79b1ff;min-width:140px}.api-header-v{color:var(--ink-200);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.api-mock-block{padding:0 0 12px}.api-mock-block-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);align-items:center;gap:6px;margin:12px 16px 6px;font-size:10px;display:inline-flex}.api-status-dot{border-radius:999px;width:6px;height:6px;display:inline-block}.api-status-200{background:var(--bv-ok);box-shadow:0 0 12px var(--bv-ok)}.api-mock-code{border-radius:var(--r-md);font-family:var(--font-mono);color:var(--ink-100);white-space:pre-wrap;word-break:break-word;background:#00000040;border:1px solid oklch(100% 5.96046e-8 none/.08);border-color:oklch(100% 5.96046e-8 none/.08) oklch(100% 5.96046e-8 none/.08) oklch(100% 5.96046e-8 none/.08) oklch(100% 5.96046e-8 none/.08);margin:0 16px;padding:10px 14px;font-size:11.5px;line-height:1.5;overflow:visible}.api-mock-code .json-key{color:#79b1ff}.api-mock-code .json-str{color:#5fd99f}.api-mock-code .json-num{color:#f5b556}.api-mock-code .json-bool{color:#c989f0}.api-mock-code .json-null{color:var(--ink-400)}.api-mock-code .json-punct{color:var(--ink-500)}.dev-hero{background:radial-gradient(ellipse at top right, color-mix(in oklch, var(--bv-accent) 15%, transparent) 0%, transparent 55%), linear-gradient(140deg, var(--bv-primary) 0%, oklch(from var(--bv-primary) calc(l - .08) c h) 100%);box-shadow:0 1px 2px #0e0d0b0a, 0 24px 64px -16px color-mix(in oklch, var(--bv-primary) 40%, transparent);color:#fff;margin-bottom:40px;padding:40px;position:relative;overflow:hidden}.dev-hero-grid{grid-template-columns:1fr auto;align-items:center;gap:32px;display:grid}@media (width<=800px){.dev-hero-grid{grid-template-columns:1fr}}.dev-hero-url{font-family:var(--font-mono);color:#fff;border-radius:var(--r-md);background:#00000038;border:1px solid #ffffff24;margin-top:8px;padding:8px 14px;font-size:18px;display:inline-block}.dev-hero-stats{gap:32px;display:flex}.dev-hero-stat-v{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;color:#fff;margin-bottom:4px;font-size:32px;font-weight:600;line-height:1}.dev-hero-stat-l{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;font-size:11px}.quickstart-card{overflow:hidden;padding:0!important}.dev-lang-tabs{background:var(--ink-25);box-shadow:inset 0 -1px 0 var(--ink-100);align-items:center;gap:4px;padding:10px 14px;display:flex}.dev-lang-tab{font-family:var(--font-mono);color:var(--ink-600);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .1s;display:inline-flex}.dev-lang-tab:hover{background:var(--ink-100);color:var(--ink-900)}.dev-lang-tab.active{background:var(--ink-0);color:var(--bv-primary);box-shadow:var(--shadow-xs);font-weight:500}.dev-code{background:radial-gradient(ellipse at top right, color-mix(in oklch, var(--bv-accent) 10%, transparent) 0%, transparent 55%), linear-gradient(140deg, var(--bv-primary) 0%, oklch(from var(--bv-primary) calc(l - .1) c h) 50%, oklch(from var(--bv-primary) calc(l - .18) calc(c * .6) h) 100%);font-family:var(--font-mono);color:var(--ink-100);white-space:pre-wrap;word-break:break-word;margin:0;padding:24px 28px;font-size:13px;line-height:1.7}.dev-endpoints{border-collapse:collapse;width:100%;font-size:14px}.dev-endpoints td{vertical-align:middle;padding:14px 20px}.dev-endpoints tbody tr{box-shadow:inset 0 -1px 0 var(--ink-100);transition:background .1s}.dev-endpoints tbody tr:last-child{box-shadow:none}.dev-endpoints tbody tr:hover{background:var(--ink-25)}.dev-endpoints td:first-child{width:64px}.dev-path{color:var(--ink-800);font-size:13px}.resource-icon{border-radius:var(--r-md);background:var(--bv-primary-50);width:40px;height:40px;color:var(--bv-primary);justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.changelog{flex-direction:column;display:flex;position:relative}.changelog:before{content:"";background:var(--ink-100);width:1px;position:absolute;top:0;bottom:0;left:96px}.changelog-entry{grid-template-columns:200px 1fr;gap:32px;padding:32px 0;display:grid;position:relative}.changelog-entry:before{content:"";background:var(--bv-primary);border:3px solid var(--ink-25);z-index:1;border-radius:999px;width:9px;height:9px;position:absolute;top:38px;left:92px}.changelog-entry.unreleased:before{background:var(--ink-300)}.changelog-entry+.changelog-entry{border-top:0}.changelog-side{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.changelog-version{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;color:var(--ink-900);font-size:28px;font-weight:600;line-height:1}.changelog-entry.unreleased .changelog-version{color:var(--ink-400)}.changelog-body{padding-left:24px}.changelog-group{margin-top:24px}.changelog-group:first-child{margin-top:0}.changelog-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.changelog-list li{color:var(--ink-700);padding-left:20px;font-size:14px;line-height:1.55;position:relative}.changelog-list li:before{content:"";background:var(--ink-300);border-radius:999px;width:5px;height:5px;position:absolute;top:9px;left:4px}.cl-code,.cl-path{background:var(--ink-100);color:var(--ink-800);border-radius:4px;padding:1px 6px;font-size:12.5px}.openapi-frame{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);height:calc(100vh - 280px);min-height:640px;position:relative;overflow:hidden}.openapi-frame-fullheight{height:calc(100vh - 280px)}.openapi-frame>div,.openapi-frame .scalar-app{height:100%!important}.openapi-loading{height:100%;font-family:var(--font-mono);color:var(--ink-400);justify-content:center;align-items:center;display:flex}.openapi-frame .scalar-app,.openapi-frame .scalar-app *{font-family:var(--font-sans)}.openapi-frame .scalar-app code,.openapi-frame .scalar-app pre,.openapi-frame .scalar-app .ws-code,.openapi-frame .scalar-app .property-name{font-family:var(--font-mono)}.postman-hero{background:radial-gradient(ellipse at top right, color-mix(in oklch, var(--bv-accent) 8%, transparent) 0%, transparent 55%), linear-gradient(135deg, var(--bv-primary-50) 0%, var(--ink-0) 60%);margin-bottom:40px;padding:48px}.postman-hero-grid{max-width:600px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.landing .section{animation:.36s both fadeUp}.landing .section:nth-of-type(2){animation-delay:60ms}.landing .section:nth-of-type(3){animation-delay:.12s}.landing .section:nth-of-type(4){animation-delay:.18s}.landing .four-col .card,.landing .three-col .card{transition:transform .18s,box-shadow .18s,border-color .18s}.landing .four-col .card:hover,.landing .three-col .card:hover{box-shadow:var(--shadow-md);border-color:var(--ink-200);transform:translateY(-2px)}.landing{background:radial-gradient(ellipse 80% 60% at 50% -10%, color-mix(in oklch, var(--bv-primary) 6%, transparent) 0%, transparent 60%), var(--ink-25)}.onboarding-card{padding:32px}.checklist{flex-direction:column;gap:4px;display:flex}.checklist-row{box-shadow:inset 0 -1px 0 var(--ink-100);align-items:center;gap:16px;padding:14px 4px;display:flex}.checklist-row:last-child{box-shadow:none}.checklist-row.done{opacity:.6}.checklist-bullet{border-radius:var(--r-pill);border:2px solid var(--ink-200);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.checklist-bullet.done{background:var(--bv-ok);border-color:var(--bv-ok);color:#fff}.key-row{align-items:center;gap:16px;display:flex}.key-mask{font-family:var(--font-mono);color:var(--ink-500);margin-top:6px;font-size:13px}.key-display{font-family:var(--font-mono);background:var(--ink-50);border:1px solid var(--ink-100);border-radius:var(--r-md);word-break:break-all;color:var(--ink-900);padding:12px 14px;font-size:13px;display:block}.just-created-card{background:color-mix(in oklch, var(--bv-ok) 4%, var(--ink-0));margin-bottom:24px;padding:20px;box-shadow:0 0 0 1px color-mix(in oklch, var(--bv-ok) 35%, transparent), 0 1px 2px #0e0d0b0a, 0 8px 24px -8px color-mix(in oklch, var(--bv-ok) 30%, transparent)!important}.keys-toolbar{margin-bottom:16px}.keys-filter{background:var(--ink-50);border-radius:var(--r-md);gap:4px;padding:4px;display:inline-flex}.keys-pill{border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--ink-600);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .1s;display:inline-flex}.keys-pill:hover{color:var(--ink-900)}.keys-pill.active{background:var(--ink-0);color:var(--ink-900);box-shadow:0 1px 2px #0e0d0b0f}.keys-pill-count{font-family:var(--font-mono);border-radius:var(--r-pill);background:var(--ink-100);color:var(--ink-600);padding:1px 6px;font-size:11px}.keys-pill.active .keys-pill-count{background:var(--bv-primary-50);color:var(--bv-primary)}.keys-table{border-collapse:collapse;width:100%;font-size:14px}.keys-table th,.keys-table td{text-align:left;vertical-align:middle;padding:14px 20px}.keys-table thead tr{box-shadow:inset 0 -1px 0 var(--ink-100)}.keys-table th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);background:var(--ink-25);font-size:11px;font-weight:500}.keys-table tbody tr{box-shadow:inset 0 -1px 0 var(--ink-100);transition:background .1s}.keys-table tbody tr:last-child{box-shadow:none}.keys-table tbody tr:hover{background:var(--ink-25)}.keys-name{color:var(--ink-900);font-weight:500}.keys-mask{font-family:var(--font-mono);color:var(--ink-500);font-size:12.5px}.env-toggle{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.env-toggle{grid-template-columns:1fr}}.env-toggle-opt{background:var(--ink-0);box-shadow:inset 0 0 0 1px var(--ink-200);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:box-shadow .12s,background .12s;display:flex}.env-toggle-opt:hover{box-shadow:inset 0 0 0 1px var(--ink-300)}.env-toggle-opt.active{background:var(--bv-primary-50);box-shadow:inset 0 0 0 2px var(--bv-primary)}.env-toggle-opt input{display:none}.env-toggle-opt>div{flex:1;min-width:0}.env-toggle-title{color:var(--ink-900);font-size:14px;font-weight:500}.env-toggle-sub{color:var(--ink-500);margin-top:2px;font-size:12px}.webhook-row{align-items:center;gap:16px;display:flex}.event-chip{border-radius:var(--r-pill);background:var(--ink-50);border:1px solid var(--ink-100);font-family:var(--font-mono);color:var(--ink-600);padding:2px 8px;font-size:11px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;padding:14px 20px}.table tbody tr{box-shadow:inset 0 -1px 0 var(--ink-100);transition:background .1s}.table tbody tr:last-child{box-shadow:none}.table tbody tr:hover{background:var(--ink-25)}.table th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);background:var(--ink-25);box-shadow:inset 0 -1px 0 var(--ink-100);font-size:11px;font-weight:500}.table .td-url{font-family:var(--font-mono);color:var(--ink-600);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:12px;overflow:hidden}.empty{color:var(--ink-500);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:64px 24px;display:flex}.install-steps{counter-reset:install;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.install-step{background:var(--ink-0);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink-100) 80%, transparent), 0 1px 2px #0e0d0b0a;border-radius:var(--r-lg);align-items:flex-start;gap:20px;padding:28px;transition:box-shadow .18s;display:flex}.install-step:hover{box-shadow:0 0 0 1px var(--ink-100), 0 8px 24px -8px #0e0d0b14}.install-step-num{border-radius:var(--r-pill);background:var(--bv-primary-50);width:36px;height:36px;color:var(--bv-primary);font-family:var(--font-sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.install-step-body{flex:1;min-width:0}.install-step-body p{color:var(--ink-600)}.install-step-body code{background:var(--ink-50);border-radius:4px;padding:1px 6px;font-size:13px}@layer booking{:root{--bv-primary:#1e3a8a;--bv-primary-700:oklch(from var(--bv-primary) calc(l - .06) c h);--bv-primary-50:oklch(from var(--bv-primary) .97 calc(c * .18) h);--bv-primary-100:oklch(from var(--bv-primary) .93 calc(c * .32) h);--bv-accent:#ff6b35;--bv-accent-50:oklch(from var(--bv-accent) .97 calc(c * .2) h);--ink-0:#fff;--ink-25:#fbfaf8;--ink-50:#f6f4ef;--ink-100:#ece9e2;--ink-200:#ddd9d0;--ink-300:#c2bdb1;--ink-400:#8e8a80;--ink-500:#6b675e;--ink-600:#4a4740;--ink-700:#2e2c28;--ink-800:#1b1a17;--ink-900:#0e0d0b;--bv-ok:#0f8a5b;--bv-warn:#c77a0e;--bv-err:#b83a26;--bv-info:#2a6fdb;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--density:1;--pad-y:calc(var(--s-3) * var(--density));--pad-x:calc(var(--s-4) * var(--density));--gap:calc(var(--s-4) * var(--density));--row-h:calc(48px * var(--density));--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--shadow-xs:0 1px 2px #0e0d0b0f;--shadow-sm:0 1px 2px #0e0d0b0f, 0 1px 3px #0e0d0b0d;--shadow-md:0 4px 8px -2px #0e0d0b14, 0 2px 4px -2px #0e0d0b0a;--shadow-lg:0 12px 24px -8px #0e0d0b1f, 0 4px 8px -4px #0e0d0b0f;--shadow-xl:0 24px 48px -12px #0e0d0b2e;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"cv11", "ss01", "ss03";background:var(--ink-25);color:var(--ink-800);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}.t-display{font-family:var(--font-sans);letter-spacing:-.035em;font-size:clamp(40px,5vw,72px);font-weight:600;line-height:1.02}.t-display em{font-style:italic;font-weight:500}.t-h1{font-family:var(--font-sans);letter-spacing:-.025em;font-size:44px;font-weight:600;line-height:1.05}.t-h2{font-family:var(--font-sans);letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1.1}.t-h3{letter-spacing:-.005em;font-size:22px;font-weight:600;line-height:1.2}.t-h4{font-size:18px;font-weight:600;line-height:1.3}.t-body{font-size:15px;font-weight:400;line-height:1.5}.t-small{color:var(--ink-500);font-size:13px;font-weight:400;line-height:1.4}.t-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:500}.t-mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.t-num{font-feature-settings:"tnum", "lnum";font-variant-numeric:tabular-nums lining-nums}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}hr{border:0;border-top:1px solid var(--ink-100);margin:0}.divider{background:var(--ink-100);width:100%;height:1px}.divider-v{background:var(--ink-100);align-self:stretch;width:1px}.app{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{z-index:30;align-items:center;gap:var(--s-6);-webkit-backdrop-filter:blur(20px)saturate(160%);border-bottom:1px solid var(--ink-100);background:#fbfaf8d9;padding:14px 28px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--bv-primary);color:#fff;width:28px;height:28px;font-family:var(--font-serif);border-radius:8px;flex-shrink:0;align-self:center;place-items:center;font-size:18px;font-style:italic;line-height:1;display:grid;position:relative}.brand-mark:after{content:"";background:var(--bv-accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;right:5px}.brand-name{font-family:var(--font-sans);letter-spacing:-.015em;color:var(--ink-900);font-size:18px;font-weight:600;line-height:1}.brand-sub{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);border-left:1px solid var(--ink-200);align-self:center;margin-left:4px;padding-left:12px;font-size:11px}.tabs{background:var(--ink-100);border-radius:var(--r-pill);gap:2px;margin-left:auto;padding:4px;display:flex}.tab{appearance:none;border-radius:var(--r-pill);color:var(--ink-600);white-space:nowrap;background:0 0;border:0;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s}.tab:hover{color:var(--ink-900)}.tab[aria-selected=true]{background:var(--ink-0);color:var(--ink-900);box-shadow:var(--shadow-xs)}.topbar-end{align-items:center;gap:10px;display:flex}.page{padding:var(--s-12) var(--s-12) var(--s-20);width:100%;max-width:1440px;margin:0 auto}.sect{margin-bottom:var(--s-16)}.sect-head{margin-bottom:var(--s-8)}.sect-head .t-eyebrow{color:var(--bv-primary);margin-bottom:8px;display:block}.sect-head .lede{color:var(--ink-500);max-width:560px;margin-top:8px;font-size:16px}.swatch-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.swatch{border-radius:var(--r-md);background:var(--ink-0);border:1px solid var(--ink-100);overflow:hidden}.swatch-color{height:88px}.swatch-meta{flex-direction:column;gap:2px;padding:10px 12px;display:flex}.swatch-name{font-size:13px;font-weight:500}.swatch-val{font-family:var(--font-mono);color:var(--ink-500);font-size:11px}.scale-row{gap:var(--s-2);grid-template-columns:1fr;display:grid}.scale-strip{border-radius:var(--r-md);border:1px solid var(--ink-100);grid-template-columns:repeat(11,1fr);display:grid;overflow:hidden}.scale-strip>div{aspect-ratio:1/1.1;font-family:var(--font-mono);align-items:flex-end;padding:8px;font-size:10px;display:flex}.type-row{gap:var(--s-8);padding:var(--s-6) 0;border-bottom:1px solid var(--ink-100);grid-template-columns:200px 1fr;align-items:baseline;display:grid}.type-row:last-child{border-bottom:0}.type-meta{flex-direction:column;gap:2px;display:flex}.type-meta .label{font-size:13px;font-weight:500}.type-meta .spec{font-family:var(--font-mono);color:var(--ink-500);font-size:11px}.space-grid{gap:var(--s-3);display:grid}.space-row{align-items:center;gap:var(--s-4);border-bottom:1px solid var(--ink-100);grid-template-columns:60px 80px 1fr;padding:12px 0;display:grid}.space-row:last-child{border-bottom:0}.space-token{font-family:var(--font-mono);font-size:12px}.space-val{font-family:var(--font-mono);color:var(--ink-500);font-size:12px}.space-bar{background:var(--bv-primary-100);border-radius:2px;height:12px}.radii-row{gap:var(--s-4);flex-wrap:wrap;align-items:flex-end;display:flex}.radii-card{background:var(--ink-0);border:1px solid var(--ink-100);flex-direction:column;align-items:center;padding:16px;display:flex}.radii-shape{background:var(--bv-primary-100);border:2px solid var(--bv-primary);width:56px;height:56px;margin-bottom:8px}.shadow-row{gap:var(--s-6);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.shadow-card{background:var(--ink-0);border-radius:var(--r-lg);text-align:center;padding:28px;font-size:12px}.btn{appearance:none;border-radius:var(--radius);letter-spacing:-.005em;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 18px;font-size:14px;font-weight:500;transition:background .12s,transform .12s,box-shadow .12s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-sm{gap:6px;height:32px;padding:0 12px;font-size:13px}.btn-lg{gap:10px;height:48px;padding:0 24px;font-size:15px}.btn-primary{background:var(--bv-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--bv-primary-700)}.btn-accent{background:var(--bv-accent);color:#fff}.btn-accent:hover:not(:disabled){filter:brightness(.95)}.btn-secondary{background:var(--ink-0);color:var(--ink-800);box-shadow:inset 0 0 0 1px var(--ink-200)}.btn-secondary:hover:not(:disabled){background:var(--ink-25);box-shadow:inset 0 0 0 1px var(--ink-300)}.btn-ghost:hover:not(:disabled){background:var(--ink-100)}.btn-danger{background:var(--bv-err);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn-icon.btn-lg{width:48px}.btn svg{flex-shrink:0;width:16px;height:16px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--ink-700);font-size:13px;font-weight:500}.field-help{color:var(--ink-500);font-size:12px}.field-err{color:var(--bv-err);font-size:12px}.input{appearance:none;border-radius:var(--radius);background:var(--ink-0);height:44px;box-shadow:inset 0 0 0 1px var(--ink-200);width:100%;color:var(--ink-900);border:0;outline:none;padding:0 14px;font-size:14px;transition:box-shadow .12s,background .12s}.input::placeholder{color:var(--ink-400)}.input:hover{box-shadow:inset 0 0 0 1px var(--ink-300)}.input:focus{box-shadow:inset 0 0 0 1.5px var(--bv-primary), 0 0 0 4px var(--bv-primary-50)}.input.error{box-shadow:inset 0 0 0 1.5px var(--bv-err)}.input-group{position:relative}.input-group .input-icon{width:16px;height:16px;color:var(--ink-400);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}select.input{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236B675E' d='M0 0h10L5 6z'/></svg>");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}textarea.input{resize:vertical;height:auto;min-height:88px;padding:12px 14px}.checkbox,.radio{cursor:pointer;color:var(--ink-800);align-items:center;gap:10px;font-size:14px;display:inline-flex}.checkbox input,.radio input{display:none}.checkbox-mark,.radio-mark{background:var(--ink-0);width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--ink-300);flex-shrink:0;place-items:center;transition:all .12s;display:grid}.checkbox-mark{border-radius:4px}.radio-mark{border-radius:50%}.checkbox input:checked+.checkbox-mark,.radio input:checked+.radio-mark{background:var(--bv-primary);box-shadow:inset 0 0 0 1.5px var(--bv-primary)}.checkbox input:checked+.checkbox-mark:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.radio input:checked+.radio-mark:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px}.switch{background:var(--ink-200);cursor:pointer;border-radius:999px;width:36px;height:20px;transition:background .15s;display:inline-block;position:relative}.switch input{display:none}.switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on{background:var(--bv-primary)}.switch.on .switch-thumb{transform:translate(16px)}.badge{border-radius:var(--r-pill);font-feature-settings:"tnum";background:var(--ink-100);color:var(--ink-700);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge.solid-primary{background:var(--bv-primary);color:#fff}.badge.solid-accent{background:var(--bv-accent);color:#fff}.badge.tone-ok{background:oklch(from var(--bv-ok) .96 calc(c * .2) h);color:var(--bv-ok)}.badge.tone-warn{background:oklch(from var(--bv-warn) .96 calc(c * .2) h);color:var(--bv-warn)}.badge.tone-err{background:oklch(from var(--bv-err) .96 calc(c * .2) h);color:var(--bv-err)}.badge.tone-info{background:oklch(from var(--bv-info) .96 calc(c * .2) h);color:var(--bv-info)}.badge.tone-primary{background:var(--bv-primary-50);color:var(--bv-primary)}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip{border-radius:var(--r-pill);background:var(--ink-0);color:var(--ink-700);box-shadow:inset 0 0 0 1px var(--ink-200);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .12s;display:inline-flex}.chip:hover{box-shadow:inset 0 0 0 1px var(--ink-300);background:var(--ink-25)}.chip.active{background:var(--bv-primary);color:#fff;box-shadow:none}.chip svg{width:14px;height:14px}.card{background:var(--ink-0);border-radius:var(--r-lg);border:1px solid var(--ink-100);transition:box-shadow .15s,transform .15s;overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;gap:var(--s-4);padding:18px 20px;display:flex}.card-body{padding:20px}.card-footer{border-top:1px solid var(--ink-100);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.avatar{background:var(--bv-primary-100);width:32px;height:32px;color:var(--bv-primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.avatar-lg{width:44px;height:44px;font-size:14px}.avatar-xl{width:64px;height:64px;font-size:20px}.avatar-stack{display:flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--ink-0);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--ink-100);vertical-align:middle;padding:14px 16px}.table thead th{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);background:var(--ink-25);white-space:nowrap;padding:12px 16px;font-weight:500}.table tbody tr:hover{background:var(--ink-25)}.table tbody tr:last-child td{border-bottom:0}.table .num{font-variant-numeric:tabular-nums;text-align:right}.seg-tabs{background:var(--ink-100);border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.seg-tabs button{appearance:none;border-radius:calc(var(--radius) - 3px);color:var(--ink-600);background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:500;transition:all .12s}.seg-tabs button[aria-selected=true]{background:var(--ink-0);color:var(--ink-900);box-shadow:var(--shadow-xs)}.line-tabs{border-bottom:1px solid var(--ink-100);gap:24px;display:flex}.line-tabs button{appearance:none;color:var(--ink-500);background:0 0;border:0;padding:14px 0;font-size:14px;font-weight:500;transition:color .12s;position:relative}.line-tabs button[aria-selected=true]{color:var(--ink-900)}.line-tabs button[aria-selected=true]:after{content:"";background:var(--bv-primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.toast{background:var(--ink-0);border-radius:var(--r-md);border:1px solid var(--ink-100);box-shadow:var(--shadow-lg);align-items:flex-start;gap:12px;max-width:380px;padding:14px 16px;display:flex}.toast-icon{border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.toast-title{margin-bottom:2px;font-size:14px;font-weight:600}.toast-msg{color:var(--ink-500);font-size:13px}.toast.ok .toast-icon{background:oklch(from var(--bv-ok) .96 calc(c * .2) h);color:var(--bv-ok)}.toast.warn .toast-icon{background:oklch(from var(--bv-warn) .96 calc(c * .2) h);color:var(--bv-warn)}.toast.err .toast-icon{background:oklch(from var(--bv-err) .96 calc(c * .2) h);color:var(--bv-err)}.toast.info .toast-icon{background:oklch(from var(--bv-info) .96 calc(c * .2) h);color:var(--bv-info)}.alert{border-radius:var(--r-md);border:1px solid var(--ink-100);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.alert.ok{background:oklch(from var(--bv-ok) .97 calc(c * .15) h);border-color:oklch(from var(--bv-ok) .92 calc(c * .3) h);color:var(--bv-ok)}.alert.warn{background:oklch(from var(--bv-warn) .97 calc(c * .15) h);border-color:oklch(from var(--bv-warn) .92 calc(c * .3) h);color:var(--bv-warn)}.alert.err{background:oklch(from var(--bv-err) .97 calc(c * .15) h);border-color:oklch(from var(--bv-err) .92 calc(c * .3) h);color:var(--bv-err)}.alert.info{background:var(--bv-primary-50);border-color:var(--bv-primary-100);color:var(--bv-primary)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--r-lg);background:#0e0d0b80;justify-content:center;align-items:center;padding:32px;display:flex}.modal{background:var(--ink-0);border-radius:var(--r-lg);width:100%;max-width:420px;box-shadow:var(--shadow-xl);overflow:hidden}.modal-head{padding:22px 24px 8px}.modal-body{color:var(--ink-600);padding:8px 24px 20px;font-size:14px}.modal-foot{border-top:1px solid var(--ink-100);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-shape{border-radius:var(--r-lg);background:var(--ink-100);width:64px;height:64px;color:var(--ink-400);place-items:center;display:grid}.skel{background:linear-gradient(90deg, var(--ink-100) 0%, var(--ink-50) 50%, var(--ink-100) 100%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s linear infinite skel}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.imgph{background:repeating-linear-gradient(135deg, var(--ink-100) 0 8px, transparent 8px 16px), var(--ink-50);font-family:var(--font-mono);color:var(--ink-400);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-md);text-align:center;justify-content:center;align-items:center;font-size:11px;display:flex}.cal{background:var(--ink-0);border-radius:var(--r-lg);border:1px solid var(--ink-100);width:320px;padding:20px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow{text-align:center;font-size:11px;font-family:var(--font-mono);color:var(--ink-400);text-transform:uppercase;padding:6px 0}.cal-day{aspect-ratio:1;cursor:pointer;border-radius:8px;place-items:center;font-size:13px;transition:background .12s;display:grid}.cal-day:hover:not(.empty):not(.disabled){background:var(--ink-100)}.cal-day.muted{color:var(--ink-300)}.cal-day.today{box-shadow:inset 0 0 0 1px var(--ink-300)}.cal-day.start,.cal-day.end{background:var(--bv-primary);color:#fff}.cal-day.in-range{background:var(--bv-primary-50);color:var(--bv-primary);border-radius:0}.cal-day.start{border-radius:8px 0 0 8px}.cal-day.end{border-radius:0 8px 8px 0}.cal-day.disabled{color:var(--ink-200);cursor:not-allowed}.sidebar{background:var(--ink-0);border-right:1px solid var(--ink-100);flex-shrink:0;width:240px;padding:24px 16px}.nav-group{margin-bottom:24px}.nav-group-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);padding:0 12px 8px;font-size:10px}.nav-item{border-radius:var(--r-md);color:var(--ink-600);cursor:pointer;align-items:center;gap:12px;padding:9px 12px;font-size:14px;transition:all .12s;display:flex}.nav-item:hover{background:var(--ink-50);color:var(--ink-900)}.nav-item svg{flex-shrink:0;width:16px;height:16px}.nav-item .nav-count{font-size:11px;font-family:var(--font-mono);color:var(--ink-400);margin-left:auto}.nav-item.active .nav-count{color:var(--bv-primary)}.search-bar{background:var(--ink-0);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);border:1px solid var(--ink-100);gap:4px;padding:8px;display:flex}.search-seg{cursor:pointer;border-radius:999px;flex-direction:column;flex:1;padding:8px 16px;transition:background .12s;display:flex}.search-seg:hover{background:var(--ink-50)}.search-seg .label{font-size:11px;font-family:var(--font-mono);color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em}.search-seg .val{margin-top:2px;font-size:14px;font-weight:500}.search-seg .val.muted{color:var(--ink-400);font-weight:400}.two-col{gap:var(--s-8);grid-template-columns:1fr;display:grid}@media (width>=900px){.two-col{grid-template-columns:1fr 1fr}.two-col.thirds{grid-template-columns:2fr 1fr}}.three-col{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (width>=900px){.three-col{grid-template-columns:repeat(3,1fr)}}.four-col{gap:var(--s-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=900px){.four-col{grid-template-columns:repeat(4,1fr)}}.hero{padding:var(--s-12);border-radius:var(--r-xl);background:var(--bv-primary);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";background:var(--bv-accent);filter:blur(80px);opacity:.4;pointer-events:none;border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;margin-bottom:16px;font-size:11px}.hero-title{font-family:var(--font-sans);letter-spacing:-.035em;max-width:800px;margin:0 0 20px;font-size:clamp(40px,6vw,72px);font-weight:600;line-height:1}.hero-title em{font-style:italic;font-weight:500}.hero-sub{color:#ffffffc7;max-width:520px;font-size:17px;line-height:1.5}.stats{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:20px}.stat .label{color:var(--ink-500);margin-bottom:4px;font-size:12px}.stat .value{font-family:var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-feature-settings:"tnum";margin-bottom:8px;font-size:32px;font-weight:600;line-height:1}.stat .delta{font-size:12px;font-family:var(--font-mono)}.stat .delta.up{color:var(--bv-ok)}.stat .delta.down{color:var(--bv-err)}.flight-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:20px;transition:all .15s;display:grid}.flight-card:hover{border-color:var(--ink-300);box-shadow:var(--shadow-md)}.flight-airline{flex-direction:column;gap:4px;min-width:80px;display:flex}.flight-logo{background:var(--ink-100);width:32px;height:32px;color:var(--ink-600);border-radius:8px;place-items:center;font-size:11px;font-weight:600;display:grid}.flight-name{color:var(--ink-500);font-size:12px}.flight-times{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.flight-time{flex-direction:column;display:flex}.flight-time .time{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1}.flight-time .code{font-family:var(--font-mono);color:var(--ink-500);margin-top:6px;font-size:12px}.flight-time.right{text-align:right}.flight-route{flex-direction:column;align-items:center;gap:4px;min-width:120px;display:flex}.flight-line{background:var(--ink-200);width:100%;height:1px;position:relative}.flight-line:before,.flight-line:after{content:"";background:var(--ink-700);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.flight-line:before{left:0}.flight-line:after{right:0}.flight-duration{font-size:11px;font-family:var(--font-mono);color:var(--ink-500)}.flight-stops{color:var(--ink-400);margin-top:2px;font-size:11px}.flight-price{text-align:right;flex-direction:column;gap:4px;display:flex}.flight-price .price{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1}.flight-price .per{color:var(--ink-500);font-size:11px}.hotel-search{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:4px;padding:8px;display:grid}.hotel-search .seg{border-radius:var(--r-md);cursor:text;flex-direction:column;padding:10px 14px;transition:background .15s;display:flex}.hotel-search .seg:hover{background:var(--ink-50)}.hotel-search .seg.active{background:var(--ink-50);box-shadow:inset 0 0 0 1px var(--bv-primary)}.hotel-search .seg .label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:4px;font-size:10px;font-weight:600}.hotel-search .seg .val{color:var(--ink-900);font-size:14px;font-weight:500}.hotel-search .seg .sub{color:var(--ink-400);margin-top:2px;font-size:11px}.stepper-inline{background:var(--ink-50);border-radius:999px;align-items:center;gap:8px;padding:2px;display:inline-flex}.stepper-inline button{background:var(--ink-0);cursor:pointer;width:24px;height:24px;color:var(--ink-700);box-shadow:var(--shadow-sm);border:0;border-radius:999px;place-items:center;font-size:14px;line-height:1;display:grid}.stepper-inline button:hover{background:var(--bv-primary-50);color:var(--bv-primary)}.stepper-inline button:disabled{opacity:.4;cursor:not-allowed}.stepper-inline .v{text-align:center;font-variant-numeric:tabular-nums;min-width:18px;font-size:13px;font-weight:600}.hotel-listing{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);grid-template-columns:240px 1fr auto;gap:0;transition:box-shadow .15s,border-color .15s;display:grid;overflow:hidden}.hotel-listing:hover{border-color:var(--ink-200);box-shadow:var(--shadow-md)}.hotel-listing .hl-img{color:#ffffffb3;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,oklch(70% .04 240),oklch(55% .06 250));place-items:center;font-size:10px;display:grid;position:relative}.hotel-listing .hl-img-thumbs{gap:4px;display:flex;position:absolute;bottom:8px;left:8px}.hotel-listing .hl-img-thumbs .dot{background:#fff6;border-radius:999px;width:6px;height:6px}.hotel-listing .hl-img-thumbs .dot.on{background:#fff}.hotel-listing .hl-img-fav{width:28px;height:28px;color:var(--ink-700);cursor:pointer;background:#ffffffeb;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.hotel-listing .hl-body{flex-direction:column;gap:10px;min-width:0;padding:18px 20px;display:flex}.hotel-listing .hl-name{letter-spacing:-.01em;color:var(--ink-900);font-size:17px;font-weight:600}.hotel-listing .hl-rating{color:var(--ink-600);align-items:center;gap:8px;font-size:13px;display:flex}.hotel-listing .hl-rating .score{background:var(--bv-primary);color:#fff;font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600}.hotel-listing .hl-loc{color:var(--ink-500);align-items:center;gap:4px;font-size:12px;display:flex}.hotel-listing .hl-amenities{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.hotel-listing .hl-amenity{background:var(--ink-50);color:var(--ink-600);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.hotel-listing .hl-rate{background:var(--ink-25);border-left:1px solid var(--ink-100);flex-direction:column;justify-content:space-between;align-items:flex-end;gap:8px;min-width:200px;padding:18px 20px;display:flex}.hotel-listing .hl-rate-strike{color:var(--ink-400);font-variant-numeric:tabular-nums;font-size:12px;text-decoration:line-through}.hotel-listing .hl-rate-price{letter-spacing:-.025em;color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.hotel-listing .hl-rate-per{color:var(--ink-500);text-align:right;font-size:11px}.hotel-listing .hl-rate-total{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:11px}.hotel-map-view{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;width:100%;height:580px;display:grid}.hotel-map-list{flex-direction:column;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.hotel-map-list::-webkit-scrollbar{width:6px}.hotel-map-list::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:6px}.hm-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);cursor:pointer;grid-template-columns:96px 1fr auto;gap:12px;padding:10px;transition:border-color .15s,box-shadow .15s;display:grid}.hm-card:hover{border-color:var(--ink-200);box-shadow:var(--shadow-sm)}.hm-card.active{border-color:var(--bv-primary);box-shadow:inset 0 0 0 1px var(--bv-primary)}.hm-card .hm-img{aspect-ratio:1;border-radius:var(--r-sm);color:#ffffffb3;font-family:var(--font-mono);place-items:center;font-size:9px;display:grid}.hm-card .hm-info{min-width:0;padding:2px 0}.hm-card .hm-name{margin-bottom:4px;font-size:13px;font-weight:600}.hm-card .hm-rating{color:var(--ink-500);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.hm-card .hm-rating .score{background:var(--bv-primary);color:#fff;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.hm-card .hm-loc{color:var(--ink-500);font-size:11px}.hm-card .hm-rate{flex-direction:column;justify-content:center;align-items:flex-end;padding:0 4px;display:flex}.hm-card .hm-rate .price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.hm-card .hm-rate .per{color:var(--ink-400);font-size:10px}.hotel-map-canvas{background:var(--ink-100);border-radius:var(--r-lg);border:1px solid var(--ink-100);background-image:linear-gradient(var(--ink-200) 1px, transparent 1px), linear-gradient(90deg, var(--ink-200) 1px, transparent 1px), linear-gradient(135deg, oklch(94% .01 240), oklch(97% .005 240));background-size:60px 60px,60px 60px,100% 100%;position:relative;overflow:hidden}.hotel-map-canvas .map-roads{pointer-events:none;position:absolute;inset:0}.hotel-map-canvas .map-water{pointer-events:none;background:oklch(88% .04 230);position:absolute}.hotel-map-canvas .map-park{pointer-events:none;background:oklch(90% .06 145);border-radius:50%;position:absolute}.price-pin{background:var(--ink-0);border:1px solid var(--ink-200);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink-900);box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;transition:all .15s;display:flex;position:absolute;transform:translate(-50%,-100%)}.price-pin:after{content:"";background:inherit;border-right:inherit;border-bottom:inherit;width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.price-pin:hover{box-shadow:var(--shadow-md);transform:translate(-50%,-103%)}.price-pin.viewed{background:var(--ink-100);color:var(--ink-500)}.price-pin.active{background:var(--ink-900);color:#fff;border-color:var(--ink-900);z-index:5;transform:translate(-50%,-100%)scale(1.05)}.price-pin .star,.price-pin.active .star{color:var(--bv-accent)}.map-card-popover{background:var(--ink-0);border-radius:var(--r-md);border:1px solid var(--ink-100);width:240px;box-shadow:var(--shadow-lg);z-index:6;position:absolute;overflow:hidden;transform:translate(-50%,calc(-100% - 18px))}.map-card-popover .pop-img{background:linear-gradient(135deg,oklch(55% .06 250),oklch(42% .05 240));height:100px}.map-card-popover .pop-body{padding:12px 14px}.map-card-popover .pop-name{margin-bottom:4px;font-size:14px;font-weight:600}.map-card-popover .pop-meta{color:var(--ink-500);margin-bottom:8px;font-size:11px}.map-card-popover .pop-foot{justify-content:space-between;align-items:center;display:flex}.map-card-popover .pop-price{letter-spacing:-.02em;font-size:16px;font-weight:600}.map-card-popover:after{content:"";background:var(--ink-0);border-right:1px solid var(--ink-100);border-bottom:1px solid var(--ink-100);width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.map-toolbar{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);gap:6px;padding:4px;display:flex;position:absolute}.map-toolbar button{cursor:pointer;width:28px;height:28px;color:var(--ink-700);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.map-toolbar button:hover{background:var(--ink-50)}.hotel-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.hotel-img{aspect-ratio:16/9;width:100%}.hotel-body{padding:16px 18px}.hotel-name{margin-bottom:4px;font-size:16px;font-weight:600}.hotel-meta{color:var(--ink-500);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.hotel-foot{justify-content:space-between;align-items:flex-end;display:flex}.hotel-price{font-family:var(--font-sans);letter-spacing:-.01em;font-size:18px;font-weight:600}.itin-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.itin-head{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.itin-segment{border-bottom:1px solid var(--ink-100);grid-template-columns:32px 1fr auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.itin-segment:last-child{border-bottom:0}.itin-icon{background:var(--bv-primary-50);width:32px;height:32px;color:var(--bv-primary);border-radius:50%;place-items:center;display:grid}.map{background:repeating-linear-gradient(0deg, var(--ink-100) 0 1px, transparent 1px 40px), repeating-linear-gradient(90deg, var(--ink-100) 0 1px, transparent 1px 40px), var(--ink-25);border-radius:var(--r-lg);border:1px solid var(--ink-100);position:relative;overflow:hidden}.map-pin{background:var(--bv-accent);border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ff6b3540,0 1px 4px #0003}.map-pin.primary{background:var(--bv-primary);box-shadow:0 0 0 3px #1e3a8a40,0 1px 4px #0003}.map-route{background:var(--bv-primary);transform-origin:0;height:2px;position:absolute}.chart-bars{align-items:flex-end;gap:8px;height:140px;display:flex}.bar{background:var(--bv-primary);border-radius:3px 3px 0 0;flex:1;min-height:4px;position:relative}.bar.muted{background:var(--ink-200)}.bar-label{text-align:center;font-family:var(--font-mono);color:var(--ink-500);font-size:10px;position:absolute;bottom:-22px;left:0;right:0}.donut-wrap{align-items:center;gap:24px;display:flex}.donut{width:140px;height:140px;position:relative}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-center{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.donut-center .v{font-family:var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.donut-center .l{color:var(--ink-500);margin-top:4px;font-size:11px}.legend{flex-direction:column;gap:8px;display:flex}.legend-item{align-items:center;gap:10px;font-size:13px;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.line-chart{height:200px;padding:8px 0;position:relative}.stepper{align-items:center;gap:16px;display:flex}.stepper .step{color:var(--ink-400);align-items:center;gap:10px;font-size:13px;display:flex}.stepper .step .num{background:var(--ink-100);width:24px;height:24px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:11px;font-weight:500;display:grid}.stepper .step.active{color:var(--ink-900);font-weight:500}.stepper .step.active .num{background:var(--bv-primary);color:#fff}.stepper .step.done .num{background:var(--bv-primary-50);color:var(--bv-primary)}.stepper .step.done .num:after{content:"✓";font-family:var(--font-sans)}.stepper .step.done .num span{display:none}.stepper .sep{background:var(--ink-200);flex:1;max-width:80px;height:1px}.filter-section{border-bottom:1px solid var(--ink-100);padding:18px 0}.filter-section:first-child{padding-top:0}.filter-section:last-child{border-bottom:0}.filter-section h4{margin:0 0 12px;font-size:13px;font-weight:600}.filter-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.filter-row .name{color:var(--ink-700);font-size:13px}.filter-row .count{font-family:var(--font-mono);color:var(--ink-400);font-size:11px}.range{height:24px;margin:8px 0;position:relative}.range-track{background:var(--ink-100);border-radius:999px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.range-fill{background:var(--bv-primary);border-radius:999px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.range-thumb{border:1.5px solid var(--bv-primary);background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000026}.sheet{background:var(--ink-0);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);width:360px;overflow:hidden}.sheet-handle{background:var(--ink-200);border-radius:999px;width:36px;height:4px;margin:12px auto 0}.spec{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.spec-head{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.spec-head h4{margin:0;font-size:14px;font-weight:600}.spec-head .meta{font-family:var(--font-mono);color:var(--ink-400);font-size:11px}.spec-canvas{background:radial-gradient(circle at 1px 1px, var(--ink-100) 1px, transparent 0);background-size:16px 16px;flex-wrap:wrap;align-items:center;gap:12px;padding:32px;display:flex}.spec-canvas.col{flex-direction:column;align-items:flex-start}.spec-canvas.center{justify-content:center}.scroll-x{overflow-x:auto}.scroll-x::-webkit-scrollbar{height:8px}.scroll-x::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:999px}.token-label{font-family:var(--font-mono);color:var(--ink-400);background:var(--ink-50);border-radius:4px;padding:2px 6px;font-size:11px}html,body,#root{min-height:100%}.app-shell{background:var(--ink-25);grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink-0);border-right:1px solid var(--ink-100);flex-direction:column;gap:28px;height:100vh;padding:28px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 12px;display:flex}.brand-mark{border-radius:var(--r-md);background:var(--bv-primary);color:#fff;width:32px;height:32px;font-family:var(--font-serif);justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.brand-name{font-family:var(--font-serif);font-size:22px}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);margin-bottom:8px;padding:0 12px;font-size:11px}.nav-item{border-radius:var(--r-md);color:var(--ink-700);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:14px;text-decoration:none;transition:background 80ms;display:flex}.nav-item:hover{background:var(--ink-50)}.nav-item.active{background:var(--bv-primary-50);color:var(--bv-primary);font-weight:500}.nav-item.active svg{color:var(--bv-primary)}.nav-count{font-family:var(--font-mono);background:var(--ink-100);border-radius:var(--r-pill);margin-left:auto;padding:2px 6px;font-size:11px}.nav-item.active .nav-count{background:var(--bv-primary);color:#fff}.concierge-card{border-radius:var(--r-md);background:var(--bv-primary);color:#fff;margin-top:auto;padding:16px}.concierge-card-title{font-family:var(--font-serif);margin:6px 0 10px;font-size:18px;line-height:1.2}.concierge-card-btn{color:#fff;background:#ffffff26;width:100%}.main-col{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--ink-0);border-bottom:1px solid var(--ink-100);z-index:10;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar-breadcrumb{align-items:center;gap:8px;display:flex}.main{width:100%;max-width:1280px;padding:32px 40px 64px}.btn{border-radius:var(--r-md);background:var(--bv-primary);color:#fff;font-family:var(--font-sans);cursor:pointer;border:0;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:filter .1s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:14px 22px;font-size:16px}.btn-ghost{color:var(--ink-700);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ink-100);filter:none}.btn-outline{background:var(--ink-0);color:var(--ink-800);border:1px solid var(--ink-200)}.btn-outline:hover:not(:disabled){border-color:var(--ink-300);filter:none}.btn-icon{padding:8px}.input{border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--ink-0);height:40px;font-family:var(--font-sans);color:var(--ink-900);outline:none;padding:0 14px;font-size:14px;transition:border-color .1s,box-shadow .1s}.input:focus{border-color:var(--bv-primary);box-shadow:0 0 0 3px var(--bv-primary-50)}.input-group{align-items:center;display:inline-flex;position:relative}.input-group .input{padding-left:36px}.input-icon{color:var(--ink-400);pointer-events:none;align-items:center;display:flex;position:absolute;left:12px}.badge{border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;background:var(--ink-100);color:var(--ink-700);text-transform:uppercase;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-ok{background:color-mix(in oklch, var(--bv-ok) 15%, transparent);color:var(--bv-ok)}.badge-warn{background:color-mix(in oklch, var(--bv-warn) 15%, transparent);color:var(--bv-warn)}.badge-err{background:color-mix(in oklch, var(--bv-err) 15%, transparent);color:var(--bv-err)}.badge-info{background:color-mix(in oklch, var(--bv-info) 15%, transparent);color:var(--bv-info)}.badge-accent{background:var(--bv-accent);color:#fff}.avatar{border-radius:var(--r-pill);background:var(--ink-100);width:36px;height:36px;color:var(--ink-700);font-family:var(--font-sans);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.avatar-sm{width:32px;height:32px;font-size:12px}.card{background:var(--ink-0);border-radius:var(--r-lg);border:1px solid var(--ink-100)}.card-pad{padding:24px}.lede{color:var(--ink-600);font-size:16px;line-height:1.55}.hero{margin-bottom:48px;padding:32px 0}.section{margin-bottom:48px}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.section-head .t-h2{margin:0}.section-link{color:var(--ink-600);align-items:center;gap:4px;font-size:14px;text-decoration:none;display:inline-flex}.section-link:hover{color:var(--bv-primary)}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:1fr}}.stack{flex-direction:column;gap:12px;display:flex}.tabs{border-bottom:1px solid var(--ink-100);gap:4px;margin-bottom:24px;display:flex}.tab{color:var(--ink-600);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 16px;font-size:14px;font-weight:500;transition:color 80ms,border-color 80ms;display:inline-flex}.tab:hover:not(:disabled){color:var(--ink-900)}.tab.active{color:var(--bv-primary);border-bottom-color:var(--bv-primary)}.tab:disabled{opacity:.6;cursor:not-allowed}.autocomplete{background:var(--ink-0);border:1px solid var(--ink-200);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:20;max-height:320px;margin-top:8px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-row{text-align:left;cursor:pointer;width:100%;color:var(--ink-700);background:0 0;border:0;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.autocomplete-row:hover{background:var(--ink-50)}.autocomplete-row>svg{color:var(--ink-400);flex-shrink:0;margin-top:4px}.search-bar{align-items:stretch;gap:0;margin-bottom:32px;padding:12px;display:flex}.search-field{border-radius:var(--r-pill);flex:1;padding:10px 16px;transition:background .12s}.search-field:hover,.search-field:focus-within{background:var(--ink-50)}.search-bar input,.search-bar .input,.search-bar input:focus,.search-bar input:focus-visible,.search-bar .input:focus,.search-bar .input:focus-visible{box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.search-bar .btn{border-radius:var(--r-pill);align-self:center;margin-left:8px;padding:0 24px}.layout-with-filters{grid-template-columns:240px 1fr;gap:32px;display:grid}@media (width<=900px){.layout-with-filters{grid-template-columns:1fr}}.filters-rail{flex-direction:column;gap:24px;display:flex}.filter-group{border-bottom:1px solid var(--ink-100);padding-bottom:20px}.filter-group:last-child{border-bottom:0}.check{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.check input{width:16px;height:16px;accent-color:var(--bv-primary)}.listings-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.hotel-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);cursor:pointer;grid-template-columns:160px 1fr;gap:0;transition:border-color .1s,box-shadow .1s;display:grid;overflow:hidden}.hotel-card:hover{border-color:var(--ink-300);box-shadow:var(--shadow-md)}.hotel-card-img{background:var(--ink-100);background-position:50%;background-size:cover;min-height:140px}.hotel-card-img-fallback{color:var(--ink-400);justify-content:center;align-items:center;display:flex}.hotel-card-body{flex-direction:column;gap:6px;padding:14px 16px;display:flex;position:relative}.hotel-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.hotel-card-head .t-h4{font-size:14px;font-weight:600;line-height:1.3}.hotel-card-meta{align-items:center;gap:10px;display:flex}.hotel-card-meta .t-small{font-size:12px}.hotel-card-distance{color:var(--ink-500);align-items:center;gap:4px;font-size:12px;display:inline-flex}.hotel-card-amenities{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.amenity-chip{border-radius:var(--r-pill);background:var(--ink-50);border:1px solid var(--ink-100);color:var(--ink-600);padding:1px 7px;font-size:11px}.hotel-card-rate{border-top:1px dashed var(--ink-100);align-items:flex-end;gap:8px;margin-top:auto;padding-top:6px;display:flex}.hotel-card-rate .t-h3{font-size:16px;font-weight:600}.hotel-card-rate .t-small{font-size:11px}.stars{color:var(--bv-accent);letter-spacing:1px;font-size:14px}.stars-empty{color:var(--ink-200)}.deal-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.deal-card-img{background:var(--ink-100);background-position:50%;background-size:cover;align-items:flex-start;height:160px;padding:12px;display:flex;position:relative}.deal-card-img-fallback{color:var(--ink-400);justify-content:center;align-items:center;display:flex}.deal-card-body{padding:16px}.deal-card-rate{align-items:baseline;gap:8px;margin-top:8px;display:flex}.strike{color:var(--ink-400);font-size:14px;text-decoration:line-through}.flight-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);grid-template-columns:200px 1fr 160px;align-items:center;gap:24px;padding:20px;display:grid}.flight-card-airline{align-items:center;gap:12px;display:flex}.flight-card-airline-mark{border-radius:var(--r-md);background:var(--ink-100);width:40px;height:40px;font-family:var(--font-mono);justify-content:center;align-items:center;font-weight:600;display:flex}.flight-card-route{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;display:grid}.flight-card-airport{text-align:left}.flight-card-airport-end{text-align:right}.flight-card-line{flex-direction:column;align-items:center;gap:4px;display:flex}.flight-card-line-track{width:100%;color:var(--ink-400);align-items:center;gap:6px;display:flex}.flight-card-line-track>span{background:var(--ink-200);flex:1;height:1px}.flight-card-price{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.trip-card{grid-template-columns:1fr auto auto;align-items:center;gap:32px;display:grid}.trip-card-dates,.trip-card-total{text-align:right}.itinerary-row{align-items:center;gap:16px;display:flex}.filter-group-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.filter-link{font-family:var(--font-sans);color:var(--bv-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:500}.filter-link:hover{text-decoration:underline}.flight-hero{border-radius:var(--r-lg);height:220px;margin:16px 0 24px;position:relative;overflow:hidden}.flight-hero-img{background-position:50% 30%;background-size:cover;position:absolute;inset:0}.flight-hero-overlay{background:linear-gradient(100deg,#060d33c7 0%,#0a15478c 35%,#0a15471a 70%,#0a154700 100%);flex-direction:column;justify-content:flex-end;gap:6px;padding:24px 28px;display:flex;position:absolute;inset:0}.flight-hero-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink-0);font-size:28px;font-weight:600;line-height:1.1}.flight-hero-sub{color:#ffffffd9;font-size:14px}@media (width<=700px){.flight-hero{height:160px}.flight-hero-title{font-size:22px}}.flight-trip-toggle{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.flight-trip-pill{border:1px solid var(--ink-200);border-radius:var(--r-pill);cursor:pointer;background:0 0;padding:6px 14px;font-size:13px;font-weight:500;transition:background .1s,border-color .1s,color .1s;color:var(--ink-700)!important}.flight-trip-pill:hover{background:var(--ink-50)}.flight-trip-pill.active{background:var(--bv-primary);border-color:var(--bv-primary);color:var(--ink-0)!important}.flight-cabin-select{border:1px solid var(--ink-200);color:var(--ink-700);border-radius:var(--r-pill);cursor:pointer;appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236B675E' d='M0 0h10L5 6z'/></svg>") right 12px center no-repeat;padding:6px 28px 6px 12px;font-size:13px}.flight-swap-btn{border:1px solid var(--ink-200);background:var(--ink-0);width:32px;height:32px;color:var(--ink-600);cursor:pointer;border-radius:50%;justify-content:center;align-self:center;align-items:center;transition:background .1s;display:inline-flex}.flight-swap-btn:hover{background:var(--ink-50)}.flight-result{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);align-items:stretch;gap:14px;padding:12px 14px;display:flex}.flight-result-legs{flex-direction:column;flex:1;gap:10px;display:flex}.flight-result-rate{text-align:right;border-left:1px dashed var(--ink-100);flex-direction:column;align-items:flex-end;min-width:130px;padding-left:14px;display:flex}.flight-result-meta{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-bottom:4px;display:flex}.flight-result-price{font-family:var(--font-sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;color:var(--ink-900);font-size:16px;font-weight:600}.flight-leg{align-items:center;gap:14px;display:flex}.flight-leg+.flight-leg{border-top:1px dashed var(--ink-100);padding-top:10px}.flight-leg-airline{flex-shrink:0;align-items:center;gap:8px;width:130px;display:flex}.flight-leg-airline img{object-fit:contain;background:var(--ink-50);border-radius:4px;width:26px;height:26px}.flight-leg-airline-fallback{background:var(--ink-100);width:26px;height:26px;color:var(--ink-700);border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.flight-leg-airline-name{color:var(--ink-800);font-size:12px;font-weight:500;line-height:1.25}.flight-leg-route{flex:1;grid-template-columns:78px 1fr 78px;align-items:center;gap:12px;display:grid}.flight-leg-time{flex-direction:column;display:flex}.flight-leg-clock{font-family:var(--font-mono);color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.flight-leg-line{flex-direction:column;align-items:center;gap:4px;display:flex}.flight-leg-track{background:var(--ink-200);width:100%;height:1px;position:relative}.flight-leg-track:after{content:"";border-left:5px solid var(--ink-300);border-top:3px solid #0000;border-bottom:3px solid #0000;position:absolute;top:50%;right:0;transform:translateY(-50%)}@media (width<=700px){.flight-result{flex-direction:column}.flight-result-rate{border-left:0;border-top:1px dashed var(--ink-100);text-align:left;align-items:stretch;min-width:0;padding:12px 0 0}.flight-leg{flex-direction:column;align-items:stretch;gap:8px}.flight-leg-airline{width:auto}.flight-leg-route{grid-template-columns:1fr}}.topbar-currency-wrap{align-items:center;height:28px;display:inline-flex;position:relative}.topbar-currency-flag{object-fit:cover;width:18px;height:12px;box-shadow:0 0 0 1px var(--ink-200);pointer-events:none;z-index:1;border-radius:2px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.topbar-currency{appearance:none;background:var(--ink-0);border:1px solid var(--ink-200);border-radius:var(--r-pill);font-family:var(--font-mono);color:var(--ink-700);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236B675E' d='M0 0h10L5 6z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;height:28px;padding:4px 24px 4px 32px;font-size:11px;font-weight:500;transition:opacity .1s}.topbar-currency:hover:not(:disabled){background-color:var(--ink-50)}.topbar-currency:disabled{opacity:.55;cursor:progress}.price-range{flex-direction:column;gap:8px;display:flex}.price-range-labels{font-family:var(--font-mono);color:var(--ink-700);letter-spacing:.02em;justify-content:space-between;font-size:11px;font-weight:500;display:flex}.price-range-bar{align-items:center;height:24px;display:flex;position:relative}.price-range-track{background:var(--ink-200);border-radius:999px;height:3px;position:absolute;left:0;right:0}.price-range-fill{background:var(--bv-primary);pointer-events:none;border-radius:999px;height:3px;position:absolute}.price-range-input{appearance:none;pointer-events:none;background:0 0;width:100%;height:24px;margin:0;position:absolute;left:0;right:0}.price-range-input::-webkit-slider-thumb{appearance:none;pointer-events:auto;background:var(--ink-0);border:2px solid var(--bv-primary);cursor:grab;border-radius:50%;width:20px;height:20px;margin-top:0;transition:transform 80ms;box-shadow:0 1px 3px #0e0d0b2e}.price-range-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.price-range-input::-moz-range-thumb{pointer-events:auto;background:var(--ink-0);border:2px solid var(--bv-primary);cursor:grab;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0e0d0b2e}.price-range-input::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.1)}.price-range-input::-moz-range-track{background:0 0}.price-range-input::-webkit-slider-runnable-track{background:0 0}.bv-btn-spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.7s linear infinite bv-btn-spin;display:inline-block}@keyframes bv-btn-spin{to{transform:rotate(360deg)}}.bv-loader-flight{border-radius:var(--r-md);background:linear-gradient(180deg, oklch(from var(--bv-primary) .97 calc(c * .18) h) 0%, var(--ink-0) 100%);border:1px solid var(--ink-100);flex-direction:column;justify-content:center;align-items:center;gap:6px;height:88px;display:flex;position:relative;overflow:hidden}.bv-loader-flight-track{width:220px;height:32px;position:relative}.bv-loader-flight-track:before{content:"";border-top:1.5px dashed var(--ink-300);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.bv-loader-flight-plane{width:22px;height:22px;color:var(--bv-primary);animation:2.2s ease-in-out infinite bv-flight-fly;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.bv-loader-flight-plane svg{width:100%;height:100%}@keyframes bv-flight-fly{0%{left:-28px;transform:translateY(-50%)translateY(0)rotate(-2deg)}50%{transform:translateY(-50%)translateY(-3px)rotate(2deg)}to{left:240px;transform:translateY(-50%)translateY(0)rotate(-2deg)}}.bv-loader-flight-label{color:var(--ink-500);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.bv-loader-hotel{border-radius:var(--r-md);background:radial-gradient(ellipse 50% 60% at 50% 70%, var(--ink-50) 0%, transparent 70%), repeating-linear-gradient(0deg, transparent 0 14px, var(--ink-100) 14px 15px), repeating-linear-gradient(90deg, transparent 0 14px, var(--ink-100) 14px 15px);border:1px solid var(--ink-100);flex-direction:column;justify-content:center;align-items:center;gap:6px;height:88px;display:flex;position:relative;overflow:hidden}.bv-loader-hotel-stage{width:28px;height:32px;position:relative}.bv-loader-hotel-pin{color:var(--bv-accent);justify-content:center;align-items:center;animation:1.6s cubic-bezier(.34,1.56,.64,1) infinite bv-pin-drop;display:flex;position:absolute;inset:0}.bv-loader-hotel-pin svg{width:22px;height:22px}@keyframes bv-pin-drop{0%{opacity:0;transform:translateY(-18px)}35%{opacity:1;transform:translateY(0)}60%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.bv-loader-hotel-stage:after{content:"";border:2px solid var(--bv-accent);opacity:0;border-radius:50%;width:12px;height:12px;animation:1.6s ease-out .5s infinite bv-pin-ripple;position:absolute;bottom:2px;left:50%;transform:translate(-50%,50%)scale(0)}@keyframes bv-pin-ripple{0%{opacity:.5;transform:translate(-50%,50%)scale(0)}to{opacity:0;transform:translate(-50%,50%)scale(4.5)}}.bv-loader-hotel-label{color:var(--ink-500);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;z-index:1;position:relative}@keyframes bv-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.bv-shimmer{background-image:linear-gradient(90deg, var(--ink-100) 0%, var(--ink-50) 50%, var(--ink-100) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite bv-shimmer}.bv-skel-line{background-color:var(--ink-100);border-radius:4px;height:12px}.bv-skel-line.bv-shimmer{background-color:#0000}.pdp-gallery{border-radius:var(--r-lg);background:var(--ink-100);grid-template-columns:2fr 1fr;gap:6px;height:320px;margin-bottom:16px;display:grid;overflow:hidden}.pdp-gallery-single{grid-template-columns:1fr}.pdp-gallery-loading,.pdp-gallery-fallback{color:var(--ink-400);justify-content:center;align-items:center;display:flex}.pdp-gallery{position:relative}.pdp-gallery-main,.pdp-gallery-tile{background-position:50%;background-size:cover;background-color:var(--ink-100);cursor:pointer;border:0;padding:0;transition:opacity .1s}.pdp-gallery-main:hover,.pdp-gallery-tile:hover{opacity:.92}.pdp-gallery-side{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:6px;display:grid}.pdp-gallery-more{color:#fff;font-family:var(--font-sans);border-radius:var(--r-pill);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e0d0bc7;border:0;padding:6px 12px;font-size:12px;font-weight:500;position:absolute;bottom:12px;right:12px}.pdp-gallery-more:hover{background:#0e0d0be6}@media (width<=700px){.pdp-gallery{grid-template-columns:1fr;height:220px}.pdp-gallery-side{display:none}}.pdp-lightbox{z-index:100;cursor:zoom-out;background:#0e0d0beb;justify-content:center;align-items:center;padding:48px;display:flex;position:fixed;inset:0}.pdp-lightbox-img{object-fit:contain;border-radius:var(--r-md);cursor:default;max-width:100%;max-height:100%;box-shadow:0 20px 60px #0006}.pdp-lightbox-close,.pdp-lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;justify-content:center;align-items:center;transition:background .1s;display:flex;position:absolute}.pdp-lightbox-close:hover,.pdp-lightbox-nav:hover{background:#ffffff38}.pdp-lightbox-close{width:40px;height:40px;top:16px;right:16px}.pdp-lightbox-nav{width:48px;height:48px;top:50%;transform:translateY(-50%)}.pdp-lightbox-prev{left:16px}.pdp-lightbox-next{right:16px}.pdp-lightbox-counter{color:#ffffffd9;font-family:var(--font-mono);letter-spacing:.06em;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.pdp-head{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding:4px 0 18px;display:flex}.pdp-head-text{flex-direction:column;gap:6px;min-width:0;display:flex}.pdp-head-row{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.pdp-title{font-family:var(--font-sans);letter-spacing:-.015em;margin:2px 0;font-size:24px;font-weight:600;line-height:1.2}.pdp-map-link{color:var(--bv-primary);align-items:center;gap:4px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.pdp-map-link:hover{text-decoration:underline}.pdp-grid{grid-template-columns:1fr 320px;align-items:start;gap:32px;margin-bottom:32px;display:grid}@media (width<=900px){.pdp-grid{grid-template-columns:1fr}}.pdp-main{flex-direction:column;gap:28px;min-width:0;display:flex}.pdp-aside{position:sticky;top:80px}.pdp-aside-dates{align-items:center;gap:10px;margin-top:8px;display:flex}.pdp-aside-dates>div{flex:1}.pdp-aside-date{color:var(--ink-900);margin-top:2px;font-size:14px;font-weight:600}.pdp-section{flex-direction:column;gap:10px;display:flex}.pdp-section-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pdp-section-title{letter-spacing:-.005em;margin:0;font-size:16px;font-weight:600}.pdp-description{color:var(--ink-600);margin:0;font-size:14px;line-height:1.6}.pdp-amenities{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 16px;display:grid}.pdp-amenity{color:var(--ink-700);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.pdp-amenity>svg{color:var(--bv-ok);flex-shrink:0}.pdp-show-more{border:1px solid var(--ink-200);border-radius:var(--r-sm);color:var(--ink-700);cursor:pointer;background:0 0;align-self:flex-start;margin-top:8px;padding:6px 12px;font-size:12px;font-weight:500}.pdp-show-more:hover{background:var(--ink-50)}.pdp-policy-grid{grid-template-columns:repeat(2,1fr);gap:12px 16px;display:grid}.pdp-policy-cell{background:var(--ink-25);border:1px solid var(--ink-100);border-radius:var(--r-md);padding:10px 14px}.pdp-policy-value{color:var(--ink-800);margin-top:4px;font-size:13px}.pdp-offer{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);align-items:stretch;gap:16px;padding:12px 16px;display:flex}.pdp-offer-img{background-position:50%;background-size:cover;background-color:var(--ink-100);border-radius:var(--r-sm);flex-shrink:0;align-self:center;width:96px;height:96px}.pdp-offer-img-fallback{color:var(--ink-400);justify-content:center;align-items:center;display:flex}.pdp-offer-info{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.pdp-offer-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pdp-offer-name{color:var(--ink-900);margin:0;font-size:14px;font-weight:600}.pdp-offer-amenities{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.pdp-offer-amenity{color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-100);border-radius:var(--r-pill);padding:1px 8px;font-size:11px}.pdp-offer-amenity-more{color:var(--ink-500)}.pdp-offer-free-cancel{color:var(--bv-ok);align-items:center;gap:4px;margin-top:2px;font-size:12px;display:inline-flex}.pdp-offer-rate{text-align:right;border-left:1px dashed var(--ink-100);flex-direction:column;justify-content:center;align-items:flex-end;min-width:120px;padding-left:16px;display:flex}.pdp-offer-price{font-family:var(--font-sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;color:var(--ink-900);font-size:18px;font-weight:600;line-height:1.1}@media (width<=700px){.pdp-offer{flex-direction:column}.pdp-offer-img{width:100%;height:140px}.pdp-offer-rate{border-left:0;border-top:1px dashed var(--ink-100);text-align:left;align-items:stretch;min-width:0;padding:12px 0 0}}.checkout-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:32px;display:grid}@media (width<=900px){.checkout-grid{grid-template-columns:1fr}}.checkout-form{flex-direction:column;gap:16px;display:flex}.checkout-summary{position:sticky;top:80px}.checkout-summary-img{border-radius:var(--r-md);background-position:50%;background-size:cover;background-color:var(--ink-100);height:160px;margin:-8px -8px 0}.checkout-summary-rows{flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.checkout-summary-rows>div{justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;display:flex}.checkout-summary-rows dt{color:var(--ink-600)}.checkout-summary-rows dd{color:var(--ink-900);margin:0;font-weight:500}.checkout-summary-total{border-top:1px solid var(--ink-100);margin-top:6px;padding-top:12px!important;font-size:16px!important}.checkout-summary-total dt{font-weight:600;color:var(--ink-900)!important}.checkout-summary-total dd{font-size:18px!important;font-weight:600!important}.confirmation-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px 32px;display:flex}.confirmation-mark{border-radius:var(--r-pill);background:color-mix(in oklch, var(--bv-ok) 15%, transparent);width:80px;height:80px;color:var(--bv-ok);box-shadow:0 0 0 12px color-mix(in oklch, var(--bv-ok) 6%, transparent);justify-content:center;align-items:center;margin-bottom:8px;display:flex}.confirmation-title{letter-spacing:-.025em;margin:4px 0 8px}.confirmation-id{background:var(--ink-50);border-radius:var(--r-md);align-items:center;gap:12px;margin-top:8px;padding:10px 18px;display:inline-flex}.confirmation-id code{color:var(--ink-900);font-size:14px;font-weight:500}.confirmation-summary{max-width:640px;margin:0 auto;overflow:hidden;padding:0!important}.confirmation-summary-img{background-position:50%;background-size:cover;height:200px}.confirmation-summary-body{padding:24px}.confirmation-rows{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;display:flex}.confirmation-rows>div{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.confirmation-rows>div:last-child{border-bottom:0}.confirmation-rows dt{color:var(--ink-600)}.confirmation-rows dd{color:var(--ink-900);margin:0}.empty{color:var(--ink-500);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;display:flex}.screen-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}}
