/* Forest & sunlight: shared surfaces for every screen and both colour modes. */
:root{--primary:#19533d;--primary-dark:#103e2d;--primary-light:#e4efe5;--primary-soft:#d8e9d9;--accent:#73562c;--bg:#f4f7f2;--card:#fffefa;--text:#20392e;--text-secondary:#51665a;--text-muted:#607266;--border:#cedacf;--border-light:#e0e8dd;--sun:#d7ef9a;--surface-raised:#eaf1e5;--hover:#dce9d7;--shadow:0 4px 20px #1f4b2910;--shadow-md:0 12px 32px #1f4b291a;--shadow-lg:0 24px 80px #10251930}
html[data-theme=dark]{--primary:#64dba6;--primary-dark:#8ee8be;--primary-light:#1c2d3b;--primary-soft:#253847;--accent:#e3bc7d;--bg:#0c1520;--card:#14202e;--text:#f1f5f9;--text-secondary:#bac7d3;--text-muted:#a3b3c3;--border:#354759;--border-light:#283949;--sun:#64dba6;--surface-raised:#1c2b3b;--hover:#263c50;--shadow:0 4px 20px #0002;--shadow-md:0 12px 32px #0003;--shadow-lg:0 24px 80px #0007}
body,.app-shell{background:var(--bg);color:var(--text)}
.app-shell{background-image:radial-gradient(ellipse at 90% 5%,#cbdfaa23,transparent 55%)}
.header,.home-header,.bottom-nav,.search-filters,.detail-actions,.chat-input-bar,.chat-header,.messages-search{background:var(--card);border-color:var(--border-light)}
:focus-visible{outline:3px solid #579969;outline-offset:4px}
button,[role=button],.settings-link,.photo-picker{transition:scale .16s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;transform-origin:center}
@media(hover:hover) and (pointer:fine){button:not(:disabled):hover,[role=button]:hover,.settings-link:hover,.photo-picker:hover{scale:1.025;box-shadow:0 5px 18px #183f2716}.icon-btn:hover{background:var(--hover)}}
button:not(:disabled):active,[role=button]:active,.settings-link:active,.photo-picker:active{scale:.97}
button:disabled{scale:1;box-shadow:none}
input,select,textarea{background:var(--card)!important;color:var(--text)!important;border-color:var(--border)!important}input::placeholder,textarea::placeholder{color:var(--text-muted)}
.btn-primary,.find-place-button,.nav-add{background:#19533d;color:#fff;box-shadow:0 4px 12px #19533d16}
.btn-primary:hover,.find-place-button:hover{background:#226a4c}
.btn-outline{background:var(--card);border-color:var(--border);color:var(--text)}
.icon-btn,.header-title,.home-brand-name,.detail-title,.profile-name{color:var(--text)}
.nest-mark{width:44px;height:44px;display:block;flex-shrink:0}
.desktop-brand{gap:10px!important}.desktop-brand .wordmark{background:none!important;color:var(--text);font-size:26px;font-weight:800;letter-spacing:-1.4px;width:auto!important;height:auto!important;display:inline!important;box-shadow:none!important;transform:none!important}.wordmark>span{font-weight:500;color:var(--primary)}
.home-brand-icon,.logo-icon{background:none!important;box-shadow:none!important}.home-brand-icon .nest-mark{width:100%;height:100%}.logo-icon .nest-mark{width:100%;height:100%}
.desktop-sidebar{background:var(--card);border-color:var(--border-light);background-image:none;padding-top:28px}
.sidebar-caption{color:var(--text-muted)}.sidebar-nav{gap:5px;margin-top:24px}.sidebar-nav button,.sidebar-bottom button{color:var(--text-secondary)}.sidebar-nav button:hover,.sidebar-bottom button:hover{background:var(--surface-raised)}.sidebar-nav button.active{background:#19533d;color:white;box-shadow:0 5px 14px #19533d20}
.sidebar-bottom button{border:0;border-radius:12px;padding:12px}.sidebar-bottom{padding-top:16px}.sidebar-bottom a{color:var(--text-secondary)}
.sidebar-listing{background:var(--surface-raised);border-color:var(--border-light);padding:17px;margin-top:22px}.sidebar-listing h3{color:var(--text)}.sidebar-listing p{color:var(--text-secondary)}.sidebar-house{background:var(--card);color:var(--primary);transform:none}.sidebar-listing button{background:#19533d;color:white}
.home-header{padding-top:15px;padding-bottom:15px}.home-header .search-bar{background:var(--bg);border:1px solid var(--border);box-shadow:none}.search-bar input{background:transparent!important}.search-bar>svg{color:var(--primary)}
.discovery-heading{padding-top:22px;padding-bottom:18px}.discovery-heading h1{font-size:36px;font-weight:750;line-height:1.12;letter-spacing:-1.4px}.discovery-heading p{color:var(--text-secondary);font-size:14px}.discovery-heading .eyebrow,.eyebrow{color:var(--accent)!important}.discovery-location{color:var(--text);background:var(--surface-raised);border-color:var(--border-light)}
.browse-label{display:none}.categories{gap:10px;padding-bottom:19px}.cat-item{flex-direction:row;border:1px solid var(--border-light);min-height:58px;background:var(--card)!important;border-radius:16px;padding:12px;gap:10px}.cat-item .cat-icon,.cat-item .cat-label{color:var(--text)}.cat-item.active{background:#19533d!important;border-color:#19533d;box-shadow:0 5px 15px #19533d1a}.cat-item.active .cat-icon,.cat-item.active .cat-label{color:#fff}.cat-item:hover{transform:none;border-color:#89af7e}.cat-icon svg{stroke-width:1.7}
.discovery-showcase{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(220px,1fr);gap:16px;margin:0 20px 20px}
.discovery-showcase .hero-card{margin:0;height:254px;background:#143d2e;border-radius:24px;border:1px solid #294d39;box-shadow:none;min-width:0}
.hero-card img{width:64%;opacity:.85}.hero-card::after{background:linear-gradient(90deg,#143d2e 0%,#143d2ef5 34%,#143d2e80 60%,#143d2e00)}
.hero-content{padding:26px;max-width:100%}.hero-content h2{font-size:clamp(27px,2.8vw,38px);font-weight:650;color:#faffef;margin-bottom:10px}.hero-content h2 em{color:#d7ef9a}.hero-content p{font-size:12px;color:#edf5df;line-height:1.6}.hero-kicker{font-size:8px;letter-spacing:1.3px;color:#d7ef9a;margin-bottom:10px}.hero-cta{background:#d7ef9a;color:#183a2a;border-radius:14px;font-size:13px;padding:11px 16px;margin-top:14px;box-shadow:none}.hero-cta:hover{background:#e3f6b8;transform:none}.hero-note{display:none!important}
.discovery-showcase .map-launch{width:auto;margin:0;background:var(--surface-raised);border:1px solid var(--border-light);border-radius:24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:22px;color:var(--text);gap:10px;overflow:hidden;position:relative}
.area-art{width:52px;height:52px;border-radius:17px;background:#d7ef9a;display:grid!important;place-items:center;box-shadow:10px -8px 0 #87ad7220}.map-launch .area-art svg{width:29px;height:29px;color:#284a32;stroke-width:1.5}.map-launch .area-copy{display:flex;align-items:flex-start;flex-direction:column;gap:7px;position:relative}.area-copy small{font-size:8px;letter-spacing:1.3px;color:var(--text-secondary)}.area-copy strong{font-size:22px;line-height:1.1;letter-spacing:-.6px}.area-copy>span{font-size:12px;line-height:1.5;font-weight:400;color:var(--text-secondary)}.area-copy b{font-size:12px;display:flex;align-items:center;gap:8px;margin-top:3px;color:var(--primary)}
.catalog-note{margin-bottom:18px;color:var(--text-secondary)}.section-title{font-size:23px;color:var(--text)}.section-subtitle{color:var(--text-secondary)}.see-all{background:var(--card);color:var(--primary);border-color:var(--border)}
.prop-card,.prop-list-card,.form-section,.subscription-plan{background:var(--card);border-color:var(--border-light);box-shadow:var(--shadow)}.prop-card-img{height:205px}.prop-card-price,.prop-list-price,.detail-price{color:var(--primary)}.prop-card-title,.prop-list-title{color:var(--text)}.prop-card-meta,.prop-list-meta,.prop-card-loc,.prop-list-loc{color:var(--text-secondary)}
.fav-btn{background:var(--card);color:var(--text)}.badge{background:#19533d;color:#fff}.badge.buy,.badge.hotel{background:#805a27}.nav-item{color:var(--text-secondary)}.nav-item.active{color:var(--primary)}.nav-add{border-color:var(--card)}
.auth-tabs,.filter-tabs{background:var(--surface-raised)}.auth-tab,.filter-tab{color:var(--text-secondary)}.auth-tab.active,.filter-tab.active{background:#19533d;color:white}
.detail-body,.modal-sheet,.location-dialog,.recovery-dialog{background:var(--card);color:var(--text);border-color:var(--border)}.owner-card,.stat-item,.amenity-item,.location-section,.location-selected,.stay-quote,.location-result-summary{background:var(--surface-raised);color:var(--text);border-color:var(--border)}.detail-desc,.detail-loc,.detail-section p,.payment-note,.location-help{color:var(--text-secondary)}
.location-dialog input,.location-dialog select,.location-dialog h2,.recovery-dialog h2{color:var(--text)}.location-dialog .location-help{color:var(--text-secondary)}.location-dialog a,.recovery-link,.location-section a{color:var(--primary)}
.map-toolbar,.map-floating-card{background:var(--card);border-color:var(--border)}.map-empty{background:var(--surface-raised);color:var(--text)}.map-empty p{color:var(--text-secondary)}.map-empty a{color:var(--primary)}.map-feedback{background:var(--card);color:var(--text);border-color:var(--border)}
.msg-bubble.sent{background:#19533d;color:white}.msg-bubble.received{background:var(--surface-raised);color:var(--text)}
.profile-header-area{background:radial-gradient(ellipse at 50% 0%,#9ec57230,transparent 70%);padding-top:28px}.profile-avatar{border:4px solid var(--card);box-shadow:0 0 0 1px var(--border);object-fit:cover}.profile-menu-item{background:var(--card);border-color:var(--border-light)}.profile-menu-icon{background:var(--surface-raised);color:var(--primary)}.profile-menu-title{color:var(--text)}.profile-menu-desc,.profile-email{color:var(--text-secondary)}.premium-badge{background:var(--surface-raised);color:var(--primary)}.profile-edit-action,.settings-entry{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:12px;padding:12px}.profile-edit-action svg,.settings-entry svg{width:18px}
.settings-scroll{padding:28px;max-width:1100px;width:100%;margin:0 auto}.settings-intro{margin-bottom:24px}.settings-intro h1{font-size:36px;letter-spacing:-1.3px}.settings-intro>p:last-child{font-size:14px;color:var(--text-secondary);margin-top:6px}.settings-profile-card{width:100%;background:var(--surface-raised);border:1px solid var(--border-light);border-radius:22px;padding:20px;display:flex;align-items:center;gap:17px;text-align:left;color:var(--text);margin-bottom:24px}.settings-profile-card img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:3px solid var(--card)}.settings-profile-card strong{display:block;font-size:19px;overflow-wrap:anywhere}.settings-profile-card small{display:block;font-size:13px;color:var(--text-secondary);margin-top:5px}.settings-profile-card>svg{margin-left:auto;flex-shrink:0;width:20px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.settings-card{background:var(--card);border:1px solid var(--border-light);border-radius:22px;padding:22px;min-width:0}.settings-card h2{display:flex;align-items:center;gap:10px;font-size:18px;margin-bottom:14px}.settings-card h2 svg{width:21px;color:var(--primary)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-top:1px solid var(--border-light)}.settings-row strong{display:block;font-size:14px}.settings-row small,.settings-link small{display:block;font-size:12px;line-height:1.6;color:var(--text-secondary);font-weight:400;margin-top:5px}.settings-row select{font-family:inherit;font-size:13px!important;padding:11px;border-radius:12px;max-width:175px;min-width:100px}.settings-row input[role=switch]{appearance:none;width:44px;height:26px;border-radius:20px;background:var(--border)!important;border:0!important;position:relative;flex-shrink:0;cursor:pointer}.settings-row input[role=switch]::before{content:'';width:20px;height:20px;position:absolute;left:3px;top:3px;border-radius:50%;background:#fff;transition:translate .18s}.settings-row input[role=switch]:checked{background:#39794f!important}.settings-row input[role=switch]:checked::before{translate:18px 0}
.settings-note{font-size:12px;color:var(--text-secondary);line-height:1.7;margin:8px 0}.settings-link{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-top:1px solid var(--border-light);background:transparent;color:var(--text);padding:15px 0;text-align:left;font-size:14px;font-weight:500;text-decoration:none}.settings-link>svg{width:17px;flex-shrink:0;color:var(--text-muted)}.settings-signout{padding:13px 20px;display:flex;align-items:center;gap:10px;margin:24px auto 0}.settings-signout svg{width:18px}.settings-footer{text-align:center;font-size:12px;color:var(--text-muted);margin:25px 0 8px}
.edit-profile-dialog{margin:auto;width:min(470px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--border);border-radius:26px;padding:28px;background:var(--card);color:var(--text);box-shadow:var(--shadow-lg)}.edit-profile-dialog::backdrop{background:#06160dc0;backdrop-filter:blur(6px)}#close-edit-profile{float:right}.edit-profile-dialog h2{font-size:28px;letter-spacing:-.8px;margin:8px 0 22px}.avatar-editor{display:flex;align-items:center;gap:20px}.avatar-editor img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid var(--surface-raised)}.photo-picker{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.photo-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.photo-picker:focus-within{outline:3px solid #579969;outline-offset:3px}.text-button{display:block;background:none;border:0;text-decoration:underline;color:var(--text-secondary);font-size:12px;min-height:44px}.edit-field{display:block;font-size:14px;font-weight:600;margin:20px 0 12px}.edit-field input{width:100%;display:block;padding:14px;border:1px solid var(--border);border-radius:12px;font:inherit;margin-top:8px}#edit-profile-status{font-size:13px;line-height:1.6;margin:12px 0;color:var(--text)}.edit-profile-dialog .btn-primary{width:100%;padding:14px}
html[data-theme=dark] .safety-notice,html[data-theme=dark] .payment-environment-note{background:#42361e;color:#f7dfa7;border-color:#6c5c36}
html[data-theme=dark] .search-bar,html[data-theme=dark] .form-group,html[data-theme=dark] .filter-select,html[data-theme=dark] .results-bar{color:var(--text)}
html[data-theme=dark] .conv-item,html[data-theme=dark] .notification-item,html[data-theme=dark] .viewing-card,html[data-theme=dark] .trust-profile-card,html[data-theme=dark] .auth-card,html[data-theme=dark] .empty-state,html[data-theme=dark] .photo-upload,html[data-theme=dark] .video-upload,html[data-theme=dark] .modal-close,html[data-theme=dark] .recovery-close{background:var(--card);color:var(--text);border-color:var(--border)}
html[data-theme=dark] .profile-menu-arrow,html[data-theme=dark] .conv-name,html[data-theme=dark] .form-section-header,html[data-theme=dark] .form-group label,html[data-theme=dark] .location-result-summary,html[data-theme=dark] .detail-stat-value{color:var(--text)}
html[data-theme=dark] .location-confirm,html[data-theme=dark] .subscription-unavailable,html[data-theme=dark] .draft-tools{background:var(--surface-raised);color:var(--text)}
html[data-theme=dark] .chat-input,html[data-theme=dark] .amenity-tag{background:var(--surface-raised);color:var(--text)}
html[data-theme=dark] .map-launch:hover{background:var(--hover)}
@media(min-width:1400px){.discovery-showcase .hero-card{height:266px}.hero-content{padding:30px}.hero-content h2{font-size:38px}}
@media(max-width:1050px) and (min-width:768px){.discovery-showcase{grid-template-columns:1fr}.discovery-showcase .map-launch{flex-direction:row;align-items:center;padding:16px}.map-launch .area-copy{flex:1}.area-copy strong{font-size:20px}.area-copy>span{display:none}.area-art{flex-shrink:0}.settings-grid{grid-template-columns:1fr}}
@media(max-width:767px){.home-header{padding:14px 18px}.home-top-row{margin-bottom:13px}.home-brand-name{font-size:25px}.discovery-heading{padding:20px 20px 16px}.discovery-heading h1{font-size:30px;max-width:none}.discovery-heading p{font-size:13px}.discovery-heading .eyebrow{font-size:9px!important;letter-spacing:1.5px}.categories{display:flex;overflow-x:auto;gap:8px;padding-bottom:17px;scrollbar-width:none}.cat-item{flex:none;padding:11px 14px;min-height:47px;border-radius:14px;gap:7px}.cat-icon,.cat-item .cat-icon{width:18px;height:18px}.cat-item .cat-icon svg{width:18px;height:18px}.cat-label{font-size:13px}.discovery-showcase{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.discovery-showcase .hero-card{height:240px;border-radius:21px}.hero-content{padding:23px;max-width:100%}.hero-content h2{font-size:30px;max-width:none}.hero-content p{font-size:12px}.hero-kicker{font-size:7px;letter-spacing:1px}.hero-card img{width:75%;opacity:.7}.hero-card::after{background:linear-gradient(90deg,#143d2efc,#143d2ed9 38%,#143d2e25)}.hero-cta{margin-top:13px;min-height:44px}.discovery-showcase .map-launch{border-radius:19px;flex-direction:row;align-items:center;gap:15px;padding:16px}.map-launch .area-art{width:44px;height:48px;flex-shrink:0;border-radius:13px}.map-launch .area-copy{flex:1;gap:5px}.area-copy small{display:none}.area-copy strong{font-size:18px;letter-spacing:-.3px}.area-copy>span{display:none}.area-copy b{font-size:12px}.section-title{font-size:21px}.prop-card-img{height:200px}.settings-scroll{padding:22px 18px}.settings-intro h1{font-size:30px}.settings-grid{grid-template-columns:1fr;gap:14px}.settings-card{padding:19px}.settings-profile-card{padding:17px;gap:13px}.settings-profile-card strong{font-size:17px}.settings-row{gap:12px}.settings-row select{max-width:145px}.settings-intro>p:last-child{font-size:13px}.edit-profile-dialog{padding:24px}.edit-profile-dialog h2{font-size:25px}}
html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important;scale:1!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important;scale:1!important}}
/* Photo controls stay legible on both bright and dark photography. */
.gallery-btn,.gallery-paging button{background:#fffefaf2;color:#193f2e}
.gallery-btn svg,.gallery-paging button svg{color:#193f2e}
button:focus-visible,[role=button]:focus-visible{scale:1.02}
html[data-motion=reduce] button:focus-visible,html[data-motion=reduce] [role=button]:focus-visible{scale:1!important}
@media(prefers-reduced-motion:reduce){button:focus-visible,[role=button]:focus-visible{scale:1!important}}
/* Native radios retain arrow-key navigation, dressed as miniature theme previews. */
.colour-mode-picker{border:0;min-width:0;padding:19px 0 22px;margin:0;border-top:1px solid var(--border-light)}
.colour-mode-picker legend{float:left;width:100%;padding:0;font-size:14px;font-weight:650;color:var(--text)}
.colour-mode-picker>p{clear:both;padding-top:6px;font-size:12px;line-height:1.6;color:var(--text-secondary);margin:0 0 17px}
.colour-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.colour-mode-option{position:relative;display:block;cursor:pointer;min-width:0}
.colour-mode-option>input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.colour-mode-tile{display:block;padding:8px 8px 12px;border:1.5px solid var(--border);border-radius:16px;background:var(--bg);transition:scale .18s,box-shadow .18s,border-color .18s,background .18s;height:100%}
.mode-miniature{height:73px;position:relative;display:flex;overflow:hidden;border-radius:10px;border:1px solid #cbdacb;background:#f4f7f2;gap:8px;padding:8px}
.mini-sidebar{width:13px;flex-shrink:0;background:#e0eadb;border-radius:4px}
.mini-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;padding-top:3px}
.mini-heading{height:4px;width:67%;background:#91a18e;border-radius:4px}
.mini-banner{height:21px;background:#265c43;border-radius:4px}
.mini-cards{display:flex;gap:4px;flex:1}.mini-cards>span{background:#d5e3cb;border-radius:3px;flex:1}
.mode-miniature-dark{background:#101d2c;border-color:#405365}.mode-miniature-dark .mini-sidebar{background:#27394c}.mode-miniature-dark .mini-heading{background:#bdcddc}.mode-miniature-dark .mini-banner{background:#63dba5}.mode-miniature-dark .mini-cards>span{background:#354a60}
.mode-miniature-system{background:linear-gradient(90deg,#f4f7f2 50%,#101d2c 50%);border-color:#93aa90}.mode-miniature-system .mini-sidebar{background:#dce8d4}.mode-miniature-system .mini-banner{background:linear-gradient(90deg,#265c43 39%,#63dba5 39%)}.mode-miniature-system .mini-cards>span:last-child{background:#354a60}
.mode-selected{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;background:#19533d;color:#fff;border:2px solid #fff;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800;opacity:0;scale:.7;transition:opacity .18s,scale .18s}
.mode-option-title{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:var(--text);font-size:13px;font-weight:650}.mode-option-title svg{width:15px;height:15px;stroke-width:1.8}
.mode-option-caption{display:block;text-align:center;margin-top:4px;font-size:10px;line-height:1.4;color:var(--text-secondary)}
.colour-mode-option>input:checked+.colour-mode-tile{border-color:var(--primary);background:var(--surface-raised);box-shadow:0 0 0 2px var(--primary-soft),0 5px 15px #12341a0b}
.colour-mode-option>input:checked+.colour-mode-tile .mode-selected{opacity:1;scale:1}
.colour-mode-option>input:focus-visible+.colour-mode-tile{outline:3px solid #579969;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.colour-mode-option:hover .colour-mode-tile{scale:1.025;border-color:var(--primary);box-shadow:var(--shadow)}}
.colour-mode-option:active .colour-mode-tile{scale:.98}
@media(max-width:360px){.colour-mode-options{gap:7px}.colour-mode-tile{padding:6px 6px 10px;border-radius:13px}.mode-miniature{height:64px;padding:6px;gap:5px}.mode-option-caption{font-size:9px}.mode-option-title{font-size:12px;gap:4px}}

html[data-theme=dark] .app-shell{background-image:none}html[data-theme=dark] .profile-header-area{background:radial-gradient(ellipse at 50% 0%,#314f7430,transparent 70%)}
