@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bq-bg: #ffffff;--bq-surface: #eef1ec;--bq-surface-2: #e3e8e2;--bq-fg: #0f1e2c;--bq-fg-muted: #43515e;--bq-border: #0f1e2c;--bq-border-soft: #b9c2bc;--bq-primary: #0f1e2c;--bq-primary-hover: #1f3447;--bq-primary-fg: #ffffff;--bq-primary-soft: #e3e8e2;--bq-signal: #ffc72c;--bq-signal-hover: #ffb800;--bq-signal-fg: #0f1e2c;--bq-signal-soft: #fff3cc;--bq-accent: #c8102e;--bq-accent-fg: #ffffff;--bq-accent-soft: #fbe7ea;--bq-accent-strong: #9e0c24;--bq-danger: #b3261e;--bq-danger-fg: #ffffff;--bq-danger-hover: #8f1e18;--bq-success-bg: #e6f4ea;--bq-success-fg: #10512a;--bq-error-bg: #fdecea;--bq-error-fg: #8f1e18;--bq-info-bg: var(--bq-signal-soft);--bq-info-fg: #0b3f75;--bq-focus: #0f1e2c;--bq-admin-bg: #1b3a63;--bq-admin-fg: #ffffff;--bq-on-ink-hover: rgba(255, 255, 255, .12);--bq-on-ink-active: rgba(255, 255, 255, .18);--bq-on-ink-border: rgba(255, 255, 255, .55);--bq-medal-bronze: #cd7f32;--bq-medal-silver: #c0c7ce;--bq-medal-gold: #f2c14e;--bq-medal-fg: #0f1e2c;--bq-map-ground: #d9e5d0;--bq-map-street: #ffffff;--bq-shadow-2: 0 4px 12px rgba(15, 30, 44, .12), 0 2px 4px rgba(15, 30, 44, .08);--bq-shadow-up: 0 -4px 12px rgba(15, 30, 44, .08);--bq-font: "Archivo Variable", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bq-font-display: var(--bq-font);--bq-display-stretch: 125%;--bq-font-mono: ui-monospace, "SF Mono", Consolas, monospace;--bq-text: 1.0625rem;--bq-text-sm: .9375rem;--bq-text-lg: 1.25rem;--bq-text-xl: 1.75rem;--bq-line: 1.5;--bq-space-1: .25rem;--bq-space-2: .5rem;--bq-space-3: .75rem;--bq-space-4: 1rem;--bq-space-5: 1.5rem;--bq-space-6: 2rem;--bq-radius: 10px;--bq-radius-lg: 14px;--bq-radius-sign: 6px;--bq-radius-pill: 999px;--bq-line-w: 2px;--bq-line-w-strong: 3px;--bq-touch: 48px;--bq-tabbar-h: 3.75rem;--bq-maxw: 40rem}@media (prefers-contrast: more){:root{--bq-fg-muted: #0f1e2c;--bq-border-soft: #0f1e2c;--bq-shadow-2: none;--bq-shadow-up: none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bq-surface);color:var(--bq-fg);font-family:var(--bq-font);font-size:var(--bq-text);line-height:var(--bq-line)}h1,h2,h3{font-family:var(--bq-font-display);font-stretch:var(--bq-display-stretch);font-weight:800;line-height:1.2;margin:0 0 var(--bq-space-3)}a{color:var(--bq-primary);font-weight:600}:focus-visible{outline:3px solid var(--bq-focus);outline-offset:2px;border-radius:4px}.bq-skip-link{position:absolute;left:-9999px;top:0;background:var(--bq-primary);color:var(--bq-primary-fg);padding:var(--bq-space-3) var(--bq-space-4);z-index:100}.bq-skip-link:focus{left:0}.bq-header{background:var(--bq-primary);color:var(--bq-primary-fg);border-bottom:var(--bq-line-w-strong) solid var(--bq-border)}.bq-header__inner{max-width:var(--bq-maxw);margin:0 auto;padding:var(--bq-space-3) var(--bq-space-4);display:flex;align-items:center;gap:var(--bq-space-3)}.bq-header__brand{display:inline-flex;align-items:center;gap:var(--bq-space-2);min-height:44px;font-family:var(--bq-font-display);font-stretch:115%;font-size:var(--bq-text-lg);font-weight:900;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;color:var(--bq-primary-fg);text-decoration:none}@media (max-width: 24rem){.bq-header__brand{font-stretch:100%;font-size:var(--bq-text);letter-spacing:0}}.bq-header__brand:before{content:"";flex:none;width:1.375rem;height:1.375rem;border-radius:var(--bq-radius-sign);background:radial-gradient(circle,var(--bq-primary) 0 28%,transparent 30%),var(--bq-signal)}.bq-header__links{display:none;gap:var(--bq-space-2)}.bq-header__links a{color:var(--bq-primary-fg);text-decoration:none;font-weight:600;padding:var(--bq-space-2) var(--bq-space-3);border-radius:var(--bq-radius);min-height:44px;display:inline-flex;align-items:center}.bq-header__links a:hover{background:var(--bq-on-ink-hover)}.bq-header__links a[aria-current=page]{background:var(--bq-on-ink-active);text-decoration:underline;text-underline-offset:4px}.bq-account{position:relative;margin-left:auto;min-width:0}.bq-account__button{display:inline-flex;align-items:center;gap:var(--bq-space-2);min-height:44px;max-width:min(14rem,100%);padding:var(--bq-space-1) var(--bq-space-3);color:var(--bq-primary-fg);background:transparent;border:var(--bq-line-w) solid var(--bq-on-ink-border);border-radius:var(--bq-radius-pill);font:inherit;font-weight:600;cursor:pointer}.bq-account__button[aria-expanded=true]{background:var(--bq-on-ink-active);border-color:var(--bq-primary-fg)}.bq-account__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bq-account__panel{position:absolute;right:0;top:calc(100% + var(--bq-space-2));z-index:50;min-width:15rem;max-width:calc(100vw - 2 * var(--bq-space-4));max-height:70vh;overflow-y:auto;padding:var(--bq-space-2);background:var(--bq-bg);color:var(--bq-fg);border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-lg);box-shadow:var(--bq-shadow-2)}.bq-account__list{list-style:none;margin:0;padding:0}.bq-account__list a,.bq-account__logout{display:flex;align-items:center;gap:var(--bq-space-2);width:100%;min-height:var(--bq-touch);padding:var(--bq-space-2) var(--bq-space-3);border-radius:var(--bq-radius);color:var(--bq-fg);text-decoration:none;font:inherit;font-weight:600}.bq-account__list a:hover,.bq-account__logout:hover{background:var(--bq-surface)}.bq-account__list a[aria-current=page]{color:var(--bq-primary);background:var(--bq-primary-soft)}.bq-account__group{border-top:1px solid var(--bq-border-soft);margin-top:var(--bq-space-2);padding-top:var(--bq-space-2)}.bq-account__group-title{margin:0;padding:var(--bq-space-1) var(--bq-space-3);font-size:var(--bq-text-sm);font-weight:700;color:var(--bq-fg-muted);text-transform:uppercase;letter-spacing:.04em}.bq-account__logout{margin-top:var(--bq-space-2);border:none;border-top:1px solid var(--bq-border-soft);border-radius:0 0 var(--bq-radius) var(--bq-radius);background:transparent;color:var(--bq-danger);cursor:pointer}.bq-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bq-bg);border-top:var(--bq-line-w-strong) solid var(--bq-border);padding-bottom:env(safe-area-inset-bottom,0px)}.bq-tabbar__list{list-style:none;margin:0 auto;padding:0;max-width:var(--bq-maxw);display:grid;grid-template-columns:repeat(3,1fr)}.bq-tabbar__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--bq-tabbar-h);padding:var(--bq-space-1) var(--bq-space-2);color:var(--bq-fg-muted);text-decoration:none;font-size:var(--bq-text-sm);font-weight:700;line-height:1.2}.bq-tabbar__link[aria-current=page]{color:var(--bq-fg);font-weight:800;box-shadow:inset 0 5px 0 var(--bq-signal)}.bq-shell--tabbar .bq-main{padding-bottom:calc(var(--bq-tabbar-h) + env(safe-area-inset-bottom,0px) + var(--bq-space-6))}.bq-shell--tabbar .bq-action-bar{bottom:calc(var(--bq-tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:var(--bq-space-3)}@media (min-width: 48rem){.bq-header__links{display:flex}.bq-tabbar{display:none}.bq-shell--tabbar .bq-main{padding-bottom:var(--bq-space-6)}.bq-shell--tabbar .bq-action-bar{bottom:0;padding-bottom:calc(var(--bq-space-3) + env(safe-area-inset-bottom,0px))}}.bq-sync-banner{background:var(--bq-info-bg);color:var(--bq-info-fg);text-align:center;font-weight:600;padding:var(--bq-space-2) var(--bq-space-4)}.bq-main{max-width:var(--bq-maxw);margin:0 auto;padding:var(--bq-space-5) var(--bq-space-4) var(--bq-space-6)}.bq-page-title{font-size:var(--bq-text-xl);font-weight:900;text-transform:uppercase;line-height:1.1}.bq-page-sub{color:var(--bq-fg-muted);margin-top:calc(-1 * var(--bq-space-2));margin-bottom:var(--bq-space-4)}.bq-card{background:var(--bq-bg);border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-lg);padding:var(--bq-space-4)}.bq-stack>*+*{margin-top:var(--bq-space-4)}.bq-stack--tight>*+*{margin-top:var(--bq-space-3)}.bq-field{display:flex;flex-direction:column;gap:var(--bq-space-2)}.bq-label{font-weight:700}.bq-hint{color:var(--bq-fg-muted);font-size:var(--bq-text-sm)}.bq-input,.bq-select{min-height:var(--bq-touch);padding:var(--bq-space-2) var(--bq-space-3);font:inherit;color:var(--bq-fg);background:var(--bq-bg);border:2px solid var(--bq-border);border-radius:var(--bq-radius);width:100%}.bq-input[aria-invalid=true],.bq-select[aria-invalid=true]{border-color:var(--bq-danger)}.bq-field__error{color:var(--bq-danger);font-weight:600;font-size:var(--bq-text-sm)}.bq-btn{text-decoration:none;min-height:var(--bq-touch);padding:var(--bq-space-2) var(--bq-space-5);font:inherit;font-weight:700;border-radius:var(--bq-radius);border:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--bq-space-2)}.bq-btn:disabled{opacity:.55;cursor:not-allowed}.bq-btn--primary{background:var(--bq-primary);color:var(--bq-primary-fg)}.bq-btn--primary:hover:not(:disabled){background:var(--bq-primary-hover)}.bq-btn--danger{background:var(--bq-danger);color:var(--bq-danger-fg)}.bq-btn--danger:hover:not(:disabled){background:var(--bq-danger-hover)}.bq-btn--ghost{background:var(--bq-bg);color:var(--bq-primary);border-color:var(--bq-border)}.bq-btn--ghost:hover:not(:disabled){background:var(--bq-surface-2)}.bq-btn--signal{background:var(--bq-signal);color:var(--bq-signal-fg);border:var(--bq-line-w-strong) solid var(--bq-border)}.bq-btn--signal:hover:not(:disabled){background:var(--bq-signal-hover)}.bq-btn--block{width:100%}.bq-btn__spinner{width:1.1em;height:1.1em;flex:none;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:bq-spin .8s linear infinite}.bq-callout{border-radius:var(--bq-radius);padding:var(--bq-space-3) var(--bq-space-4);border:2px solid transparent;font-weight:600}.bq-callout--error{background:var(--bq-error-bg);color:var(--bq-error-fg);border-color:var(--bq-danger)}.bq-callout--success{background:var(--bq-success-bg);color:var(--bq-success-fg);border-color:var(--bq-success-fg)}.bq-callout--info{background:var(--bq-info-bg);color:var(--bq-info-fg);border-color:var(--bq-info-fg)}.bq-muted{color:var(--bq-fg-muted)}.bq-badge{display:inline-block;padding:2px 10px;border-radius:var(--bq-radius-sign);font-size:var(--bq-text-sm);font-weight:700;border:2px solid var(--bq-border)}.bq-badge--admin{background:var(--bq-admin-bg);color:var(--bq-admin-fg);border-color:var(--bq-admin-bg)}.bq-badge--disabled{background:var(--bq-error-bg);color:var(--bq-error-fg);border-color:var(--bq-danger)}.bq-user-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--bq-space-3)}.bq-user-card{display:flex;flex-wrap:wrap;gap:var(--bq-space-2) var(--bq-space-3);align-items:center;justify-content:space-between}.bq-user-card__id{font-weight:700}.bq-toolbar{display:flex;flex-wrap:wrap;gap:var(--bq-space-3);align-items:flex-end}.bq-toolbar .bq-field{flex:1 1 10rem}.bq-pagination{display:flex;gap:var(--bq-space-3);align-items:center;justify-content:space-between;margin-top:var(--bq-space-4)}.bq-center{min-height:60vh;display:grid;place-items:center}.bq-spinner{width:40px;height:40px;border:4px solid var(--bq-surface);border-top-color:var(--bq-primary);border-radius:50%;animation:bq-spin .9s linear infinite}@keyframes bq-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bq-spinner,.bq-btn__spinner{animation-duration:3s}}.bq-deflist{display:grid;grid-template-columns:max-content 1fr;gap:var(--bq-space-2) var(--bq-space-4);margin:0}.bq-deflist dt{font-weight:700;color:var(--bq-fg-muted)}.bq-deflist dd{margin:0}.bq-geo-panel__status{font-weight:700}:where(.bq-list){margin:0}.bq-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--bq-space-2)}.bq-check{display:flex;gap:var(--bq-space-2);align-items:center;min-height:var(--bq-touch);cursor:pointer}.bq-check input{width:1.25rem;height:1.25rem}.bq-linkish{background:none;border:none;padding:0;color:var(--bq-primary);text-decoration:underline;cursor:pointer;font:inherit}blockquote.bq-card{margin:0;border-left:4px solid var(--bq-border)}.bq-text-center{text-align:center}.bq-icon{flex:none;vertical-align:middle}.bq-chip{display:inline-flex;align-items:center;gap:var(--bq-space-1);padding:2px var(--bq-space-2);border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-sign);background:var(--bq-bg);color:var(--bq-fg);font-size:var(--bq-text-sm);font-weight:700;line-height:1.4}.bq-chip .bq-icon{color:var(--bq-primary)}.bq-chip--accent{background:var(--bq-accent);color:var(--bq-accent-fg);border-color:var(--bq-accent)}.bq-chip--accent .bq-icon{color:currentColor}:where(.bq-chip-row){margin:0}.bq-chip-row{display:flex;flex-wrap:wrap;gap:var(--bq-space-2);padding:0;list-style:none}.bq-progress{display:flex;flex-direction:column;gap:var(--bq-space-1)}.bq-progress__label{font-size:var(--bq-text-sm);font-weight:700;color:var(--bq-fg-muted)}.bq-progress__track{height:.875rem;border-radius:var(--bq-radius-pill);background:var(--bq-surface-2);border:var(--bq-line-w) solid var(--bq-border);overflow:hidden}.bq-progress__fill{height:100%;background:var(--bq-signal);border-radius:inherit;transition:width .3s ease}.bq-progress__stations{--bq-station: 1.25rem;--bq-station-current: 1.75rem;position:relative;display:flex;align-items:center;justify-content:space-between;min-height:var(--bq-station-current)}.bq-progress__line{position:absolute;left:calc(var(--bq-station) / 2);right:calc(var(--bq-station) / 2);top:50%;height:.5rem;transform:translateY(-50%);background:var(--bq-surface-2);border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-pill);overflow:hidden}.bq-progress__line-fill{display:block;height:100%;background:var(--bq-signal);transition:width .3s ease}.bq-progress__station{position:relative;display:grid;place-items:center;flex:none;width:var(--bq-station);height:var(--bq-station);border-radius:50%;background:var(--bq-bg);border:var(--bq-line-w-strong) solid var(--bq-border);color:var(--bq-primary-fg)}.bq-progress__station--passed{background:var(--bq-primary)}.bq-progress__station--current{width:var(--bq-station-current);height:var(--bq-station-current);border-width:4px;box-shadow:0 0 0 4px var(--bq-signal),0 0 0 6px var(--bq-border)}.bq-empty{display:flex;flex-direction:column;align-items:center;gap:var(--bq-space-3);padding:var(--bq-space-6) var(--bq-space-4);text-align:center}.bq-empty__icon{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:var(--bq-primary-soft);color:var(--bq-primary)}.bq-empty__title{font-size:var(--bq-text-lg);margin:0}.bq-empty__text{color:var(--bq-fg-muted);margin:0}.bq-action-bar{position:sticky;bottom:0;z-index:10;margin:var(--bq-space-4) calc(-1 * var(--bq-space-4)) 0;padding:var(--bq-space-3) var(--bq-space-4) calc(var(--bq-space-3) + env(safe-area-inset-bottom,0px));background:var(--bq-bg);border-top:var(--bq-line-w) solid var(--bq-border);box-shadow:var(--bq-shadow-up);display:flex;flex-direction:column;gap:var(--bq-space-2)}.bq-disclosure{background:var(--bq-bg);border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-lg)}.bq-disclosure__summary{display:flex;align-items:center;gap:var(--bq-space-2);min-height:var(--bq-touch);padding:var(--bq-space-2) var(--bq-space-4);font-weight:700;cursor:pointer;list-style:none}.bq-disclosure__summary::-webkit-details-marker{display:none}.bq-disclosure__chevron{margin-left:auto;transition:transform .2s ease}.bq-disclosure[open] .bq-disclosure__chevron{transform:rotate(180deg)}.bq-disclosure__body{padding:0 var(--bq-space-4) var(--bq-space-4)}@media (prefers-reduced-motion: reduce){.bq-progress__fill,.bq-progress__line-fill,.bq-disclosure__chevron{transition:none}}.bq-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bq-section-title,.bq-lead{font-size:var(--bq-text-lg);margin:0}.bq-inline-link{display:inline-flex;align-items:center;gap:var(--bq-space-2);min-height:var(--bq-touch);text-decoration:none}.bq-search{display:flex;flex-wrap:wrap;gap:var(--bq-space-3);align-items:flex-end}.bq-search .bq-field{flex:1 1 12rem}:where(.bq-tour-grid){margin:0}.bq-tour-grid{list-style:none;padding:0;display:grid;gap:var(--bq-space-4)}@media (min-width: 48rem){.bq-tour-grid{grid-template-columns:repeat(2,1fr)}}.bq-tour-card{position:relative;display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden;transition:box-shadow .2s ease}.bq-tour-card:hover{box-shadow:var(--bq-shadow-2)}.bq-tour-card:focus-within{outline:3px solid var(--bq-focus);outline-offset:2px}.bq-tour-card__body{display:flex;flex-direction:column;gap:var(--bq-space-2);padding:var(--bq-space-4)}.bq-tour-card__title{font-size:var(--bq-text-lg);margin:0}.bq-tour-card__link{color:var(--bq-fg);text-decoration:none}.bq-tour-card__link:focus-visible{outline:none}.bq-tour-card__link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.bq-tour-card__city{margin:0}.bq-visual{position:relative;display:grid;place-items:center;background:var(--bq-map-ground);border-bottom:var(--bq-line-w) solid var(--bq-border);overflow:hidden}.bq-visual--card{height:7.5rem}.bq-visual--hero{height:11rem;border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-lg)}.bq-visual__map{width:100%;height:100%}.bq-visual__street{fill:none;stroke:var(--bq-map-street);stroke-width:9}.bq-visual__line-casing{fill:none;stroke:var(--bq-border);stroke-width:11;stroke-linecap:round;stroke-linejoin:round}.bq-visual__line{fill:none;stroke:var(--bq-signal);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.bq-visual__station{fill:var(--bq-bg);stroke:var(--bq-border);stroke-width:3}.bq-visual[data-label]:after{content:attr(data-label);position:absolute;top:var(--bq-space-2);right:var(--bq-space-2);padding:2px var(--bq-space-2);border-radius:var(--bq-radius-sign);background:var(--bq-primary);color:var(--bq-primary-fg);font-size:var(--bq-text-sm);font-weight:800;font-stretch:115%;text-transform:uppercase;letter-spacing:.04em}.bq-visual__img{width:100%;height:100%;object-fit:cover}.bq-tour-hero{display:flex;flex-direction:column;gap:var(--bq-space-3)}.bq-tour-hero .bq-page-title{margin:0}.bq-stars{display:flex;gap:var(--bq-space-1)}.bq-star{display:grid;place-items:center;width:var(--bq-touch);height:var(--bq-touch);padding:0;border:2px solid transparent;border-radius:var(--bq-radius);background:transparent;color:var(--bq-border);cursor:pointer}.bq-star--on{color:var(--bq-accent)}.bq-star--on svg{fill:currentColor}.bq-star[aria-pressed=true]{border-color:var(--bq-accent);background:var(--bq-accent-soft)}.bq-star:disabled{cursor:progress}:where(.bq-checklist){margin:0}.bq-checklist{list-style:none;padding:0;display:grid;gap:var(--bq-space-3)}.bq-checklist__item{display:flex;gap:var(--bq-space-3);align-items:flex-start}.bq-checklist__item p{margin:0}.bq-checklist__icon{display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--bq-primary-soft);color:var(--bq-primary)}.bq-checklist__title{font-size:var(--bq-text);margin:0 0 var(--bq-space-1)}@media (prefers-reduced-motion: reduce){.bq-tour-card{transition:none}}.bq-btn--xl{min-height:3.5rem;font-size:var(--bq-text-lg)}.bq-inline-icon{display:inline-flex;align-items:center;gap:var(--bq-space-2)}.bq-spin{animation:bq-spin 1s linear infinite}.bq-step-top{display:flex;align-items:center;justify-content:space-between;gap:var(--bq-space-3)}.bq-step-top__count{font-weight:700;color:var(--bq-fg-muted)}.bq-step-kind{margin:0}.bq-station-sign{display:flex;flex-direction:column;gap:var(--bq-space-2);padding:var(--bq-space-4);background:var(--bq-primary);color:var(--bq-primary-fg);border-radius:var(--bq-radius-lg)}.bq-station-sign .bq-page-title{margin:0;color:var(--bq-primary-fg);overflow-wrap:anywhere}.bq-station-sign .bq-chip{background:var(--bq-signal);color:var(--bq-signal-fg);border-color:var(--bq-signal)}.bq-geo-panel{display:flex;align-items:flex-start;gap:var(--bq-space-3);padding:var(--bq-space-4);background:var(--bq-bg);border:2px solid var(--bq-border);border-radius:var(--bq-radius-lg)}.bq-geo-panel__icon{color:var(--bq-primary)}.bq-geo-panel__text{display:flex;flex-direction:column;gap:var(--bq-space-1)}.bq-geo-panel--ok{border-color:var(--bq-success-fg);background:var(--bq-success-bg);color:var(--bq-success-fg)}.bq-geo-panel--error{border-color:var(--bq-error-fg);background:var(--bq-error-bg);color:var(--bq-error-fg)}.bq-geo-panel--ok .bq-geo-panel__icon,.bq-geo-panel--error .bq-geo-panel__icon{color:currentColor}.bq-quiz-question{display:flex;flex-direction:column;gap:var(--bq-space-3);margin:0;min-width:0}.bq-quiz-question__prompt{float:left;width:100%;padding:0;margin-bottom:var(--bq-space-2);font-weight:700;font-size:var(--bq-text-lg)}.bq-quiz-question__prompt+*{clear:both}.bq-choice{display:flex;gap:var(--bq-space-3);align-items:center;min-height:3.5rem;padding:var(--bq-space-3) var(--bq-space-4);background:var(--bq-bg);border:2px solid var(--bq-border);border-radius:var(--bq-radius-lg);font-weight:600;cursor:pointer}.bq-choice input{flex:none;width:1.4rem;height:1.4rem;margin:0;accent-color:var(--bq-primary)}.bq-choice:hover{background:var(--bq-surface)}.bq-choice:has(input:checked){border-color:var(--bq-primary);background:var(--bq-primary-soft);box-shadow:inset 0 0 0 1px var(--bq-primary)}.bq-choice:has(input:focus-visible){outline:3px solid var(--bq-focus);outline-offset:2px}.bq-choice:has(input:disabled){cursor:default}.bq-feedback{display:flex;align-items:flex-start;gap:var(--bq-space-2);margin:0;font-weight:700}.bq-feedback--correct{color:var(--bq-success-fg)}.bq-feedback--incorrect{color:var(--bq-error-fg)}.bq-medal{display:flex;flex-direction:column;align-items:center;gap:var(--bq-space-2);text-align:center}.bq-medal__svg{display:block;height:auto}.bq-medal--lg .bq-medal__svg{width:8.5rem}.bq-medal--sm .bq-medal__svg{width:3rem}.bq-medal__ribbon{stroke:var(--bq-border);stroke-width:3;stroke-linejoin:round}.bq-medal__ribbon--left{fill:var(--bq-primary)}.bq-medal__ribbon--right{fill:var(--bq-accent)}.bq-medal__rim{fill:var(--bq-bg);stroke:var(--bq-border);stroke-width:3;stroke-dasharray:6 5}.bq-medal__face{stroke:var(--bq-border);stroke-width:4}.bq-medal__star{fill:var(--bq-medal-fg)}.bq-medal--BRONZE .bq-medal__face{fill:var(--bq-medal-bronze)}.bq-medal--SILVER .bq-medal__face{fill:var(--bq-medal-silver)}.bq-medal--GOLD .bq-medal__face{fill:var(--bq-medal-gold)}.bq-medal__label{font-family:var(--bq-font-display);font-weight:800;font-size:var(--bq-text-lg)}.bq-medal--animate .bq-medal__svg{animation:bq-medal-in .7s cubic-bezier(.2,.9,.3,1.3) both}@keyframes bq-medal-in{0%{opacity:0;transform:scale(.4) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}.bq-end-hero{display:flex;flex-direction:column;align-items:center;gap:var(--bq-space-2);text-align:center;padding-top:0;overflow:hidden}.bq-terminus{align-self:stretch;margin:0 calc(-1 * var(--bq-space-4)) var(--bq-space-3);padding:var(--bq-space-4);background:var(--bq-primary);color:var(--bq-primary-fg);border-bottom:5px solid var(--bq-signal)}.bq-terminus .bq-page-title,.bq-terminus .bq-page-sub{color:var(--bq-primary-fg)}.bq-end-hero .bq-terminus__word{margin:0 0 var(--bq-space-1);color:var(--bq-signal);font-weight:900;font-stretch:var(--bq-display-stretch);text-transform:uppercase;letter-spacing:.08em}.bq-end-hero .bq-page-title,.bq-end-hero .bq-page-sub,.bq-end-hero p{margin:0}.bq-end-hero__score{font-weight:700;font-size:var(--bq-text-lg)}.bq-code-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bq-space-3)}.bq-code{font-family:var(--bq-font-mono);font-size:var(--bq-text-lg);font-weight:700;letter-spacing:.08em;padding:var(--bq-space-2) var(--bq-space-3);background:var(--bq-surface-2);border:var(--bq-line-w) dashed var(--bq-border);border-radius:var(--bq-radius)}.bq-cta-card{display:flex;align-items:center;gap:var(--bq-space-3);color:var(--bq-primary);text-decoration:none}.bq-cta-card:hover{box-shadow:var(--bq-shadow-2)}@media (prefers-reduced-motion: reduce){.bq-spin{animation-duration:3s}.bq-medal--animate .bq-medal__svg{animation:none}}.bq-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.bq-shell>.bq-main{flex:1 0 auto;width:100%;display:flex;flex-direction:column}.bq-main>.bq-stack:has(.bq-action-bar),.bq-main>.bq-stack:has(.bq-action-bar)>:has(>.bq-action-bar){flex:1 0 auto;display:flex;flex-direction:column}.bq-main>.bq-stack .bq-action-bar{margin-top:auto}.bq-main>.bq-stack>.bq-inline-link{align-self:flex-start}.bq-main:has(>.bq-stack .bq-action-bar){padding-bottom:0}.bq-shell--tabbar .bq-main:has(>.bq-stack .bq-action-bar){padding-bottom:calc(var(--bq-tabbar-h) + env(safe-area-inset-bottom,0px))}@media (min-width: 48rem){.bq-shell--tabbar .bq-main:has(>.bq-stack .bq-action-bar){padding-bottom:0}}.bq-card-title{font-size:var(--bq-text-lg);margin:0}.bq-card-meta{margin:0}.bq-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--bq-space-3)}@media (min-width: 36rem){.bq-stats{grid-template-columns:repeat(4,1fr)}}.bq-stat{display:flex;flex-direction:column;align-items:center;gap:var(--bq-space-1);padding:var(--bq-space-3);text-align:center;background:var(--bq-bg);border:var(--bq-line-w) solid var(--bq-border);border-radius:var(--bq-radius-lg)}.bq-stat__visual{display:grid;place-items:center;height:3.5rem;color:var(--bq-primary)}.bq-stat__visual .bq-medal__svg{width:auto;height:3.5rem}.bq-stat__value{font-family:var(--bq-font-display);font-size:var(--bq-text-xl);font-weight:800;line-height:1}.bq-stat__label{font-size:var(--bq-text-sm);font-weight:600;color:var(--bq-fg-muted)}:where(.bq-badge-grid){margin:0}.bq-badge-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--bq-space-3)}.bq-badge-tile{display:flex;flex-direction:column;align-items:center;gap:var(--bq-space-1);height:100%;text-align:center;color:var(--bq-fg);text-decoration:none}.bq-badge-tile:hover{box-shadow:var(--bq-shadow-2)}.bq-badge-tile__name{font-weight:700;line-height:1.3}.bq-badge-tile__meta{font-size:var(--bq-text-sm);font-weight:400}:where(.bq-rows){margin:0}.bq-rows{list-style:none;padding:var(--bq-space-1) var(--bq-space-4)}.bq-row{display:flex;align-items:center;gap:var(--bq-space-3);padding:var(--bq-space-3) 0;color:var(--bq-primary)}.bq-row+.bq-row{border-top:1px solid var(--bq-border-soft)}.bq-row__text{display:flex;flex-direction:column;color:var(--bq-fg)}:where(.bq-timeline){margin:0}.bq-timeline{list-style:none;padding:0;position:relative}.bq-timeline:before{content:"";position:absolute;left:1.125rem;top:var(--bq-space-3);bottom:var(--bq-space-3);width:var(--bq-line-w-strong);background:var(--bq-border)}.bq-timeline__item{position:relative;display:flex;gap:var(--bq-space-3);padding:var(--bq-space-2) 0}.bq-timeline__icon{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--bq-bg);color:var(--bq-primary);border:var(--bq-line-w) solid var(--bq-border)}.bq-timeline__item--ATTEMPT_COMPLETED .bq-timeline__icon{background:var(--bq-success-bg);color:var(--bq-success-fg)}.bq-timeline__item--BADGE_AWARDED .bq-timeline__icon{background:var(--bq-accent-soft);color:var(--bq-accent-strong)}.bq-timeline__body p{margin:0}.bq-identity{display:flex;gap:var(--bq-space-4);align-items:center}.bq-identity__avatar{display:grid;place-items:center;flex:none;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--bq-primary);color:var(--bq-primary-fg);font-family:var(--bq-font-display);font-size:var(--bq-text-xl);font-weight:800}.bq-identity__text{display:flex;flex-direction:column;gap:var(--bq-space-1);min-width:0;overflow-wrap:anywhere}.bq-identity__text p{margin:0}.bq-identity__name{font-family:var(--bq-font-display);font-size:var(--bq-text-lg);font-weight:700}:where(.bq-shortcuts){margin:0}.bq-shortcuts{list-style:none;padding:var(--bq-space-1) 0}.bq-shortcut{display:flex;align-items:center;gap:var(--bq-space-3);min-height:var(--bq-touch);padding:var(--bq-space-2) var(--bq-space-4);color:var(--bq-fg);text-decoration:none}.bq-shortcut:hover{background:var(--bq-surface)}.bq-shortcut .bq-icon{color:var(--bq-primary)}.bq-shortcut__chevron{margin-left:auto;color:var(--bq-fg-muted)}.bq-shortcut--danger,.bq-shortcut--danger .bq-icon{color:var(--bq-danger)}.bq-claimed{display:flex;align-items:center;gap:var(--bq-space-3)}.bq-claimed p{margin:0;font-weight:600}
