/* Snowlight: shared surfaces, type and spacing across every existing tool. */
:root{--sn-bg:#f7fafc;--sn-surface:#fff;--sn-tint:#f1f7fa;--sn-ice:#d2eaf5;--sn-brand:#367fa8;--sn-ink:#17384d;--sn-secondary:#607887;--sn-line:#e5eef3;--sn-shadow:0 8px 28px #19415a0f;--sn-radius:20px;--sn-font:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
html,body[data-view]{background:var(--sn-bg);background-image:none;background-attachment:initial;color:var(--sn-ink);font-family:var(--sn-font)}body[data-view]{--heigo-font:var(--sn-font);--heigo-ink:var(--sn-ink);--heigo-secondary:var(--sn-secondary);--heigo-muted:#6c8494;--heigo-accent:var(--sn-brand);--heigo-fill:var(--sn-tint);--heigo-line:var(--sn-line);--heigo-control:var(--sn-tint);--heigo-panel:var(--sn-surface);--v3-top:#f7fafc;--v3-mid:#f7fafc;--v3-bottom:#f7fafc;--v3-accent:var(--sn-brand)}
body[data-view] .app-top{background:#f7fafcf2;border-bottom:1px solid #e8eff466;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:none;padding-inline:20px}.logo-mini{font-size:23px}.header-brand-image{width:36px;height:36px}.header-tools{gap:1px}.header-tools .icon-btn{width:40px;height:44px;flex-basis:40px}.header-tools svg{width:21px;height:21px;stroke-width:2}.language select{font-size:13px;max-width:78px}.row1{min-height:48px}
body[data-view] .bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 32px);max-width:520px;min-height:72px;padding:5px;border-radius:30px;background:#ffffffee;border:1px solid #fff;box-shadow:0 8px 28px #19415a12;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);bottom:calc(12px + env(safe-area-inset-bottom,0px))}.bottom-nav .nav-item{min-height:58px;font-size:12px;line-height:16px;font-weight:500;gap:4px;border-radius:24px;padding:6px 2px}.bottom-nav .nav-item.active{background:#e8f3f9;color:var(--sn-brand);box-shadow:none}.nav-item svg,.nav-item.active svg{width:24px;height:24px;stroke-width:2}.screen{padding:24px 20px calc(112px + env(safe-area-inset-bottom,0px))}.page-head{margin-bottom:20px}.page-head .eyebrow{display:none}body[data-view] .page-head h1{font-size:26px;line-height:34px;font-weight:650}.page-head>svg{color:var(--sn-brand);width:24px;height:24px}svg.lucide{stroke-width:2}
.sn-eyebrow{display:block;font-size:12px;font-weight:500;line-height:16px;color:var(--sn-secondary)}.sn-welcome{max-width:1120px;margin:0 auto;padding:24px 20px 20px}.sn-welcome h2{font-size:22px;line-height:30px;font-weight:600;margin:8px 0 0;overflow-wrap:anywhere}
.apple-hero{height:390px;min-height:390px;max-height:none;margin:0 20px;width:calc(100% - 40px);border-radius:28px;background:#dae8f0;box-shadow:var(--sn-shadow)}.apple-hero>img{object-position:center 44%}.apple-hero::after{background:linear-gradient(0deg,#102e43bd,transparent 75%)}.apple-hero .hero-heading{top:auto!important;bottom:98px;left:24px;right:24px}.apple-hero .hero-heading h1{font-size:32px;line-height:40px;font-weight:700;margin:0;text-align:left;text-shadow:none;max-width:100%;text-wrap:initial}.apple-hero .hero-heading p{display:none}.apple-hero .hero-bottom{top:16px;bottom:auto;left:auto;right:16px}.apple-hero .hero-place{display:none}.hero-controls{border:1px solid #ffffff9a;background:#ffffffc4;box-shadow:none}.hero-controls .icon-btn{width:36px;height:36px;flex-basis:36px}.hero-controls output{font-size:12px}.sn-hero-action{position:absolute;bottom:24px;left:24px;display:flex;align-items:center;gap:10px;padding:13px 17px;border-radius:999px;background:#fff;color:var(--sn-ink);font-size:13px;font-weight:600;min-height:46px}.sn-hero-action svg{order:2;width:18px;height:18px}
.home-task-search{padding:24px 20px 0}.home-search-form{border-radius:16px;background:#fff;border:1px solid var(--sn-line);box-shadow:none;min-height:52px}.home-search-tags{padding-top:12px;gap:8px}.home-search-tags button{font-size:12px;min-height:36px;border-radius:999px;background:var(--sn-tint)!important;border-color:transparent!important;color:var(--sn-secondary)}body[data-view] .v3-weather{width:calc(100% - 40px);margin:16px auto 0;padding:14px 16px;background:var(--sn-tint);border:0;border-radius:16px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.v3-weather select{font-size:15px;min-height:27px;color:var(--sn-ink)}.v3-weather small{font-size:12px;line-height:16px}.v3-weather strong{font-size:27px;font-weight:500}
.sn-dock-heading{font-size:20px;line-height:28px;font-weight:600;padding:0 20px;margin:28px auto 12px;max-width:1120px}.service-dock{margin:0 auto;border:0!important;padding:0 16px 8px!important;gap:12px 4px!important}.service-dock button,.service-dock button:not(.primary):not(.light){min-height:83px;font-size:12px;line-height:16px;gap:8px}body[data-view] .service-dock button:nth-child(n)>svg{background:#edf5f9;color:var(--sn-brand);border:0;box-shadow:none;padding:11px;width:24px;height:24px;stroke-width:2}
.home-selected{padding:28px 20px 12px}.home-selected .selected-heading h2,.section-heading h2,.document-catalogue h2{font-size:20px!important;line-height:28px;font-weight:600;max-width:80%;color:var(--sn-ink)}.selected-heading .portal-text-button,.section-heading>button{font-size:13px}.selected-tabs{margin:12px 0 16px}.selected-tabs button{font-size:13px;line-height:19px}.selected-places{gap:16px}.selected-places img{border-radius:20px;aspect-ratio:1.05}.selected-places strong{font-size:17px;line-height:24px;margin-top:12px}.selected-places small{font-size:12px;line-height:18px;margin-top:4px}.home-news,.home-events{padding:24px 20px 12px}.home-section-head h2,.campaign-heading h2{font-size:20px;line-height:28px;font-weight:600}.glass-slide{border-radius:24px;border:0;box-shadow:var(--sn-shadow);min-height:330px}.glass-title{font-size:24px;line-height:31px}.glass-gallery{backdrop-filter:none}.sn-beyond{max-width:1120px;margin:auto;padding:28px 20px 16px}.sn-section-title{font-size:20px;line-height:28px;font-weight:600;margin:0 0 16px}.sn-city-track{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}.sn-city-card{flex:0 0 73%;max-width:320px;text-align:left;background:#fff;border:0;border-radius:20px;overflow:hidden;scroll-snap-align:start;box-shadow:var(--sn-shadow)}.sn-city-card img{height:165px;width:100%;object-fit:cover}.sn-city-card strong{display:block;font-size:17px;line-height:24px;padding:14px 16px 0;font-weight:600}.sn-city-card small{display:block;font-size:13px;line-height:19px;color:var(--sn-secondary);padding:5px 16px 17px}
body[data-view] .discover-tabs,body[data-view] .transport-tabs{background:#eaf2f7;border:0;border-radius:16px;padding:5px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;gap:4px}.discover-tabs button,.transport-tabs button{font-size:13px;line-height:19px;padding:11px 13px;border-radius:12px;min-height:44px}.discover-tabs button[aria-selected=true],.transport-tabs button[aria-selected=true]{background:#fff;box-shadow:0 2px 6px #19415a08}.discover-intro{font-size:15px;line-height:23px;margin:20px 0 24px!important}.discover-panel .editorial-section{background:none}.place-grid{gap:20px 16px}.place-grid .rec-card,.hscroll .rec-card{border-radius:20px!important;background:#fff!important;box-shadow:var(--sn-shadow)!important;border:0!important;overflow:hidden}.place-grid .card-open{padding:0}.rc-img,.rc-img img{border-radius:0!important}.rc-info{padding:16px!important}.rc-name{font-size:17px!important;line-height:24px;font-weight:600}.rc-sub{font-size:13px!important;line-height:19px;margin-top:5px}.text-card .card-open{padding:16px!important;min-height:100px}.text-card .rc-info{padding:0!important}.text-card .save-btn{right:10px;top:12px}.save-btn{background:#ffffffe6!important;border:0!important;box-shadow:none!important;width:44px;height:44px}.rc-placeholder{border-radius:12px!important}.city-text-grid{gap:16px}.city-text-button{padding:16px 0}.city-text-button strong{font-size:17px}.city-text-button small{font-size:13px;line-height:19px}.city-entry-photo{border-radius:16px!important}.story-photo{border-radius:20px}.story-copy h3{font-size:15px;line-height:22px}.story-author>span,.story-like-count{font-size:12px!important}.story-like svg{width:20px;height:20px}.story-grid,.community-feed{gap:20px 16px}
.pm-built{max-width:660px}.pm-user h1{font-size:22px;line-height:30px;font-weight:600}.pm-overline{font-size:12px;line-height:16px;text-transform:none}.pm-header{margin-bottom:24px}.pm-user .v2-avatar{width:48px;height:48px;background:#e5f1f7;border:0}.pm-balance{background:linear-gradient(125deg,#e3f1f9,#f2f7fa 60%,#e9f3f6);border:0;border-radius:24px;padding:24px;box-shadow:var(--sn-shadow)}.pm-balance-head{font-size:15px;line-height:23px}.pm-wordmark{font-size:17px}.pm-balance-caption{font-size:13px;line-height:19px;margin:24px 0 8px}.pm-amount>strong{font-size:48px;line-height:56px;font-weight:500}.pm-card-link{font-size:13px;border-radius:999px;padding:10px 14px;border:0;background:#fff}.pm-balance-foot small{font-size:12px;line-height:16px}.pm-balance-foot strong{font-size:20px}.pm-quick{padding:24px 0;gap:8px}.pm-shortcut{font-size:13px;line-height:19px}.pm-shortcut:nth-child(n) .pm-circle{background:#eaf3f8;border:0;box-shadow:none;width:48px;height:48px}.pm-circle svg{width:24px;height:24px;stroke-width:2}.pm-next{background:#fff;border:0;border-radius:20px;box-shadow:var(--sn-shadow);padding:20px;gap:16px}.pm-next strong{font-size:17px;line-height:24px}.pm-next small{font-size:13px;line-height:19px}.pm-next .pm-overline{font-size:12px}.pm-next img{width:84px;height:96px;border-radius:16px}.pm-section-head h2{font-size:20px;line-height:28px}.pm-text{font-size:13px}.pm-filters button{font-size:13px;min-height:40px}.pm-empty p,.pm-record-text small,.pm-record-date{font-size:13px;line-height:19px}.pm-empty strong,.pm-record-text strong{font-size:15px;line-height:23px}.pm-record-icon{background:#eaf3f8;border-radius:14px;width:44px;height:44px}.pm-record-icon svg{width:22px;height:22px}.pm-extras{flex-wrap:wrap;gap:0 20px}.pm-action{font-size:13px;min-height:48px}.pm-action svg{width:21px;height:21px}.pm-activity{margin-top:28px}
.sn-trip-heading{margin-bottom:24px}.sn-trip-heading h1{font-size:26px;line-height:34px;font-weight:650;margin:8px 0 0}.sn-trip-feature{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--sn-shadow)}.sn-trip-photo img{width:100%;height:190px;object-fit:cover}.sn-trip-copy{padding:20px}.sn-trip-copy>small{font-size:12px;line-height:16px;color:var(--sn-brand);font-weight:500}.sn-trip-copy h2{font-size:22px;line-height:30px;font-weight:600;margin:8px 0 20px}.sn-date{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--sn-secondary);line-height:19px}.sn-date input{font-size:16px;background:#f1f7fa;border:0;border-radius:12px;padding:10px;min-height:44px;min-width:0;max-width:65%;color:var(--sn-ink)}.sn-trip-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 28px;font-size:13px;color:var(--sn-brand)}.sn-trip-progress small{font-size:12px;color:var(--sn-secondary)}.sn-itinerary{margin-bottom:24px}.sn-stop{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-bottom:1px solid var(--sn-line)}.sn-stop>input{width:22px;height:22px;margin-top:3px;accent-color:var(--sn-brand);flex-shrink:0}.sn-stop-text{flex:1;min-width:0}.sn-stop-text>small:first-child{color:var(--sn-brand);font-size:12px}.sn-stop-text h3{font-size:17px;line-height:24px;font-weight:600;margin:6px 0}.sn-stop-text p{font-size:13px;line-height:19px;color:var(--sn-secondary);margin:0 0 6px}.sn-stop-text>small:last-child{font-size:13px;line-height:19px;color:var(--sn-secondary);display:block}.sn-stop-open{background:#eaf3f8;color:var(--sn-brand);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.sn-stop-open svg{width:20px;height:20px}.sn-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#eaf3f8;color:var(--sn-brand);padding:12px 18px;min-height:48px;border:0;border-radius:16px;font-size:15px;font-weight:500;line-height:23px}.sn-button svg{width:22px;height:22px}.sn-button.primary{background:var(--sn-brand);color:#fff}.sn-trip>.sn-button{width:100%;margin-bottom:28px}.sn-trip-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}.sn-trip-tools button{padding:16px 12px;background:#fff;box-shadow:var(--sn-shadow);flex-direction:column;border-radius:20px;font-size:13px;gap:12px}.sn-trip-tools svg{width:24px;height:24px}.sn-existing-saved>summary{font-size:15px;line-height:23px;color:var(--sn-secondary);padding:16px 0;cursor:pointer}.sn-existing-saved>.page-head{display:none}.sn-trip-choice{display:grid;gap:8px;font-size:13px;color:var(--sn-secondary);margin-bottom:20px}.sn-trip-choice select{background:#fff;border:1px solid var(--sn-line);border-radius:12px;font-size:16px;padding:12px;min-height:48px;width:100%}
.pw-title,.pw-transport .pw-title,#view-chat .pw-title{font-size:26px!important;line-height:34px!important;font-weight:650!important;white-space:normal}.pw-eyebrow{font-size:12px;line-height:16px;text-transform:none}.pw-subtitle{font-size:15px;line-height:23px}.pw-tiles{gap:12px}.pw-tile.ice,.pw-tile.mint,.pw-tile.peach,.pw-tile.lilac,.pw-tile:nth-child(even){border-radius:20px;border:0;box-shadow:none;background:#eaf3f8;padding:14px 10px;height:132px}.pw-tile strong,#pwChat .pw-tile:nth-child(3) strong{font-size:13px;line-height:19px;font-weight:600}.pw-tile small{font-size:12px;line-height:16px}.pw-mini,.mint .pw-mini,.peach .pw-mini,.lilac .pw-mini{background:#ffffffb8;border:0;box-shadow:none;border-radius:12px;transform:none;width:36px;height:36px}.pw-mini svg{width:24px;height:24px;stroke-width:2}#view-chat .composer{border-radius:20px;background:#fff;box-shadow:var(--sn-shadow);border:0;min-height:88px;padding:12px 8px 10px 16px}#view-chat .composer textarea{min-height:56px!important;font-size:16px;line-height:23px}.composer-foot,.mode-label,.message-meta{font-size:12px!important;line-height:16px!important}.chat-screen .assistant .message-text{background:#fff;border:0;border-radius:20px;color:var(--sn-ink);font-size:15px;line-height:23px;box-shadow:0 3px 14px #19415a05}.chat-screen .user .message-text{background:#dcedf6;color:var(--sn-ink);border:0;border-radius:20px;font-size:15px;line-height:23px}.chat-screen .prompt{border-radius:16px;border:1px solid var(--sn-line);background:#fff;font-size:13px;line-height:19px}.pw-search{background:#fff;border-radius:20px;box-shadow:var(--sn-shadow);border:0;padding:20px}.pw-search-label{font-size:13px;line-height:19px}.pw-coach{background:#fff;border-radius:20px;border:0;box-shadow:var(--sn-shadow);padding:20px}.pw-coach strong{font-size:17px;line-height:24px}.pw-coach small{font-size:13px;line-height:19px}.pw-coach-icon{background:#eaf3f8;border-radius:14px;box-shadow:none}.pw-all-modes>summary{font-size:13px;line-height:19px;padding:16px 0}
body[data-view] dialog,body[data-view] #v2Flow,body[data-view] #v2Flow[data-material]{border:0;border-radius:24px;background:#fff;color:var(--sn-ink);box-shadow:0 24px 70px #17384d26;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-view] dialog::backdrop{background:#17384d45;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}body[data-view] .v2-flow-head,body[data-view] .portal-sheet>header,body[data-view] .journey-dialog>header,body[data-view] .demo-dialog .modal-head{background:#ffffffed;border-color:var(--sn-line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.v2-flow-head h2,.journey-dialog header h2{font-size:17px;line-height:24px}.v2-flow-body,.portal-body,.journey-body{padding:24px 20px}.v2-flow-body h1{font-size:26px;line-height:34px;font-weight:650}.v2-flow-body p,.portal-body p,.journey-body p{font-size:15px;line-height:23px}.v2-cover{border-radius:20px;height:240px}.v2-facts{background:var(--sn-tint);border:0;border-radius:16px;padding:16px;gap:16px}.v2-facts small{font-size:12px;line-height:16px}.v2-facts strong{font-size:15px;line-height:23px}.v2-row{gap:16px;padding:20px 0}.v2-row strong{font-size:17px;line-height:24px}.v2-row small{font-size:13px;line-height:19px}.v2-row img{border-radius:16px}.v2-button,.journey-button,.portal-button{border-radius:16px;background:#eaf3f8;border:0;font-size:15px;line-height:23px;min-height:48px}.v2-button.primary,.journey-button.primary,.btn.primary{background:var(--sn-brand);color:#fff}.v2-chip{border-radius:999px;font-size:13px;background:#f1f7fa;border-color:transparent}.v2-chip[aria-pressed=true]{background:#d2eaf5;border-color:#b8d9eb;color:var(--sn-ink)}.v2-handoff{background:#f1f7fa;border-radius:20px;border:0;padding:24px}.v2-field input,.v2-field select,.v2-field textarea,.journey-form input,.journey-form select,.journey-form textarea{border-radius:14px;background:#f7fafc;border:1px solid var(--sn-line);font-size:16px}.v2-note,.portal-source,.v2-status,.journey-note{font-size:13px!important;line-height:19px!important}.city-cover-open,.city-photo-thumb{border-radius:20px}.city-photo-viewer{background:#fff!important}.city-photo-canvas>img{background:#f1f7fa}
body[data-view] #testWelcome.sn-splash{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:40px 24px;background:linear-gradient(145deg,#fff 35%,#eaf4fa);border-radius:0;box-shadow:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0}#testWelcome[open]{display:flex!important}.sn-splash>img{width:176px;height:176px;object-fit:contain;margin-bottom:24px}.sn-splash h1{font-size:32px;line-height:40px;font-weight:650;white-space:pre-line;margin:0 0 20px;color:var(--sn-ink)}.sn-splash>p{font-size:12px;line-height:16px;margin:0 0 40px;color:var(--sn-secondary)}.sn-splash .sn-button{border-radius:999px;min-width:220px}
.sn-welcome,.sn-beyond,.sn-dock-heading{width:100%;min-width:0}.sn-city-track{width:100%;min-width:0}.sn-beyond{overflow:hidden}
body[data-view] .app-top{position:sticky;top:0}
.glass-gallery{margin-inline:0!important;width:100%;max-width:100%}.gallery-track{margin-inline:0!important;width:100%;max-width:100%}
@media(min-width:701px){.sn-welcome{padding-inline:32px}.apple-hero{max-width:1120px;width:calc(100% - 64px);margin-inline:auto;height:480px}.apple-hero .hero-heading h1{font-size:40px;line-height:48px}.sn-city-card{flex-basis:30%}.service-dock{max-width:1120px}.sn-trip{max-width:780px;margin:auto}.sn-trip-photo img{height:300px}.sn-beyond{padding-inline:32px}.home-task-search{max-width:1120px;margin:auto}.sn-trip-tools{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:900px){.apple-hero>img{object-position:50% 68%!important}}
@media(max-width:700px){.place-grid{grid-template-columns:1fr 1fr}.place-grid .rc-img{aspect-ratio:1}.place-grid .rc-info{padding:14px 12px!important}.place-grid .rc-name{font-size:15px!important;line-height:22px}.place-grid .rc-sub{font-size:12px!important;line-height:17px}.place-grid .text-card{grid-column:1/-1}.story-grid,.community-feed{gap:20px 12px}.sn-splash>img{width:160px;height:160px}.home-search-form input{font-size:16px}.hero-controls .icon-btn svg{width:18px;height:18px}#v2Flow{border-radius:24px 24px 0 0}.screen{padding-top:24px}.pm-balance-foot>div{flex-wrap:wrap}}
@media(max-width:350px){.header-tools .icon-btn{width:34px;flex-basis:34px}.header-tools{gap:0}.logo-mini{gap:4px;font-size:20px}.header-brand-image{width:30px;height:30px}.language select{max-width:65px;font-size:12px}.apple-hero .hero-heading h1{font-size:29px;line-height:36px}.apple-hero{height:360px;min-height:360px}.sn-hero-action{left:20px;right:20px;justify-content:center;font-size:13px}.service-dock button{font-size:12px}.pw-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pw-tile.ice,.pw-tile.mint,.pw-tile.peach,.pw-tile.lilac{height:118px}.pw-tile strong,#pwChat .pw-tile:nth-child(3) strong{font-size:14px}.pm-balance{padding:20px}.sn-date{align-items:flex-start;flex-direction:column}.sn-date input{max-width:100%;width:100%}}
@media(prefers-reduced-transparency:reduce){body[data-view] .app-top,body[data-view] .bottom-nav{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-view] dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.sn-button:active,.sn-hero-action:active{transform:none}}@media(prefers-contrast:more){:root{--sn-secondary:#445f71;--sn-line:#a3bac9}.sn-button,.home-search-form{border:1px solid #9fb6c5}}
