@font-face{font-family:Manrope;src:url('./assets/manrope.ttf') format('truetype');font-display:swap;font-weight:400 800}
.app-header .brand{display:inline-flex;align-items:center;gap:7px;min-height:44px;flex-shrink:0}.app-header .brand-mark{width:29px;height:29px;display:block}.brand-door{fill:#b8df3b}
:root{--bg:#fffefa;--paper:#fff;--ink:#24271f;--muted:#6d7366;--green:#456d25;--lime:#dcff78;--soft:#f1ffc6;--border:#e9ecdf;--shadow:0 3px 15px #383d2110;--ease:cubic-bezier(.22,1,.36,1);font-family:Manrope,system-ui,-apple-system,sans-serif;color:var(--ink);background:#f1f2e9;color-scheme:light}
:root[data-theme=dark]{--bg:#1c261a;--paper:#253120;--ink:#f4f6ea;--muted:#b6c3a8;--green:#b1d67e;--lime:#dcff78;--soft:#354728;--border:#405037;--shadow:none;color-scheme:dark;background:#121b10}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.5;cursor:default}button:active:not(:disabled){transform:scale(.98)}button{transition:transform 120ms ease,background-color 160ms ease}button:focus-visible,a:focus-visible{outline:3px solid #8eae4d;outline-offset:3px}a{color:inherit}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1{font-size:2.875rem;line-height:.99;letter-spacing:-2.5px;font-weight:800;margin:18px 6px 22px}h1 span{position:relative;color:var(--green);isolation:isolate;display:inline-block}h1 span:before{content:'';position:absolute;inset:0 -23px 0 -6px;background:var(--soft);border-radius:50% 30% 45% 28%;transform:rotate(-3deg);z-index:-1}h2{font-size:1.75rem;letter-spacing:-1px;line-height:1.2;margin:15px 0}h3{font-size:1.062rem;line-height:1.35;margin:0}p{line-height:1.6;margin:10px 0 14px}.app{max-width:440px;min-height:100dvh;margin:0 auto;background:var(--bg);position:relative;box-shadow:0 0 55px #283d1810}.app-header{padding:calc(12px + env(safe-area-inset-top)) 18px 6px;display:flex;align-items:center;gap:20px}.brand{text-decoration:none;font-size:1.812rem;letter-spacing:-1.4px;font-weight:800;color:var(--green)}.city{background:none;color:var(--muted);font-size:0.75rem;padding:8px 0;min-height:44px;display:flex;align-items:center;gap:4px}.city svg{width:13px}.icon-button{border-radius:50%;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);position:relative}.header-bell{margin-left:auto}.unread-dot{position:absolute;width:7px;height:7px;background:var(--green);border-radius:50%;top:10px;right:10px}main{padding:0 13px calc(100px + env(safe-area-inset-bottom));min-height:70dvh}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,440px);background:var(--bg);border-top:1px solid var(--border);padding:8px 15px calc(9px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;z-index:30;isolation:isolate}.bottom-nav>button{background:none;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:82px;min-height:49px;padding:6px 10px;gap:3px;font-size:0.6875rem;color:var(--muted);border-radius:26px}.bottom-nav>button[aria-current=page]{color:#24341a}.nav-indicator{position:absolute;background:var(--lime);height:49px;top:8px;left:0;z-index:-1;border-radius:26px;transition:transform 300ms var(--ease),width 300ms var(--ease)}.favorite-count{position:absolute;top:2px;right:9px;border-radius:10px;padding:1px 4px;font-size:0.5625rem;background:var(--green);color:var(--bg)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.muted{color:var(--muted);font-size:0.75rem;line-height:1.55}.tag{display:inline-flex;gap:5px;align-items:center;border-radius:14px;background:var(--soft);color:var(--green);padding:5px 9px;font-size:0.625rem;line-height:1.4}.search-row{display:flex;align-items:center;gap:7px;margin:0 0 11px}.search-field{position:relative;flex:1;min-width:0}.search-field svg{position:absolute;left:13px;top:13px;width:17px;color:var(--muted)}input,textarea,select{background:var(--paper);color:var(--ink);border:1px solid var(--border);padding:12px;border-radius:13px;font-size:1rem;max-width:100%;width:100%;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #90ac58;outline-offset:2px}.search-field input{font-size:0.8125rem;border-radius:25px;padding:12px 9px 12px 38px;min-height:46px}label{display:block;font-size:0.75rem;margin:14px 0 6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lime-button{display:inline-flex;justify-content:center;align-items:center;gap:6px;background:var(--lime);color:#28371a;min-height:45px;padding:11px 14px;border-radius:25px;font-size:0.75rem;font-weight:750}.lime-button svg{width:17px;height:17px}.button{display:flex;justify-content:center;align-items:center;gap:8px;background:var(--green);color:var(--bg);width:100%;border-radius:25px;padding:13px 15px;min-height:49px;font-size:0.875rem;font-weight:750;margin:10px 0 7px}.button.secondary{background:var(--soft);color:var(--ink)}.button.outline{background:var(--paper);color:var(--ink);border:1px solid var(--border)}.text-button{background:none;text-decoration:underline;color:var(--muted);padding:12px 3px;min-height:44px;font-size:0.75rem}.small-button{background:var(--paper);border:1px solid var(--border);padding:8px 10px;min-height:40px;border-radius:14px;font-size:0.75rem}.quick-rooms{display:flex;gap:5px;flex-wrap:wrap;margin:11px 0}.chip{background:var(--paper);border:1px solid var(--border);border-radius:20px;padding:10px 12px;min-height:42px;font-size:0.75rem;display:flex;align-items:center;justify-content:center;gap:4px}.chip.selected{background:var(--lime);border-color:var(--lime);color:#27361b}.results-toolbar{margin:12px 2px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.results-toolbar select{font-size:0.6875rem;max-width:155px;border:0;padding:7px 2px;background:transparent;min-height:35px}.listing{background:var(--paper);border:1px solid var(--border);border-radius:22px;overflow:hidden;margin:11px 0;box-shadow:var(--shadow);position:relative}.listing-open{padding:0;display:block;width:100%;text-align:left;background:none}.collage{height:245px;display:grid;grid-template-columns:1.85fr 1fr;grid-template-rows:1fr 1fr;gap:3px;position:relative;background:var(--soft)}.collage>img:first-child{grid-row:1/3}.photo{width:100%;height:100%;object-fit:cover;display:block;background:var(--soft)}.collage>img:nth-child(2){object-position:80% center}.open-pill{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:4px;background:var(--lime);color:#28371a;border-radius:20px;font-size:0.6875rem;padding:8px 12px}.open-pill svg{width:13px}.listing-body{padding:11px 12px 13px}.price{font-size:2.188rem;font-weight:800;color:var(--green);letter-spacing:-1.3px;line-height:1.2}.price small{font-size:0.6875rem;letter-spacing:0;color:var(--muted);font-weight:500;margin-left:5px;white-space:nowrap}.listing .price{padding-right:36px}.specs{font-size:0.75rem;margin:4px 0}.address{display:flex;align-items:center;gap:5px;font-size:0.6875rem;color:var(--muted);margin-top:5px;line-height:1.45}.address svg{width:13px;height:13px}.owner{display:flex;align-items:center;gap:7px;font-size:0.6875rem;color:var(--muted);margin-top:8px}.avatar{background:linear-gradient(135deg,#cdb78a,#f5e7cb);color:#574629;display:inline-grid;place-items:center;min-width:24px;width:24px;height:24px;border-radius:50%;font-size:0.6875rem}.save-heart{position:absolute;right:6px;top:254px;z-index:2;background:transparent;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.save-heart.is-saved svg,.detail-save.is-saved svg{fill:var(--lime);color:var(--green)}.listing.compact .listing-open{display:grid;grid-template-columns:1.5fr 1fr;min-height:130px}.listing.compact .price{font-size:1.625rem;padding-right:0}.listing.compact .listing-body{padding:11px}.listing.compact .photo{margin:5px;width:calc(100% - 10px);height:calc(100% - 10px);border-radius:16px;min-height:124px}.listing.compact .save-heart{top:8px;right:8px;background:var(--paper);width:36px;height:36px}.listing.compact .price small{font-size:0.625rem;margin-left:2px}.locked-cover{background:linear-gradient(130deg,var(--soft),var(--bg));color:var(--green);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;height:245px;padding:20px;font-size:0.75rem}.locked-cover svg{width:26px;height:26px}.compact .locked-cover{height:auto;min-height:124px;margin:5px;border-radius:16px;font-size:0.625rem;padding:7px}.compact .locked-cover svg{width:18px}.empty{text-align:center;padding:50px 18px}.empty>svg{width:30px;height:30px;color:var(--green);margin-bottom:15px}.empty h3{margin-bottom:10px}.notice{background:var(--soft);border-radius:18px;padding:14px 16px;font-size:0.75rem;line-height:1.6;margin:15px 0}.box{background:var(--paper);border:1px solid var(--border);border-radius:21px;padding:17px;margin:15px 0}.demo-caption{font-size:0.625rem;color:var(--muted);padding:10px 3px 0;line-height:1.5}.connection-banner{padding:8px 17px;background:var(--soft);color:var(--ink);font-size:0.6875rem}.connection-banner[data-error=true]{border-bottom:2px solid var(--green)}.pad{padding:3px 5px}.back{display:flex;align-items:center;gap:5px;background:none;min-height:44px;padding:9px 0;font-size:0.75rem;color:var(--muted)}.detail main{padding-top:0}.detail .app-header{display:none}.detail .bottom-nav{display:none}.detail-view{margin:0 -13px}.hero{height:365px;position:relative;background:var(--soft);touch-action:pan-y}.hero .locked-cover{height:100%}.hero .photo{object-position:center}.hero-tools{position:absolute;top:calc(14px + env(safe-area-inset-top));left:14px;right:14px;display:flex;justify-content:space-between;gap:8px;z-index:2}.hero .icon-button{box-shadow:0 2px 12px #20301016;background:#fffefaf5;color:#26321d}.gallery-index{position:absolute;left:20px;bottom:85px;background:#27341d99;color:#fff;font-size:0.6875rem;padding:5px 9px;border-radius:14px}.gallery-controls{position:absolute;left:15px;bottom:28px;display:flex;gap:6px}.detail-body{background:var(--bg);border-radius:34px 34px 0 0;position:relative;margin-top:-18px;padding:24px 19px 15px;z-index:3}.detail-body>.price{font-size:2.688rem;margin:0 0 10px}.peek{position:absolute;right:18px;top:-85px;width:121px;height:121px;border:5px solid var(--bg);border-radius:50%;object-fit:cover;pointer-events:none}.detail-pills{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 3px}.detail-pills span{background:var(--soft);display:flex;align-items:center;gap:6px;border-radius:24px;padding:9px 12px;font-size:0.75rem}.detail-pills svg{width:17px;height:17px}.detail-row{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--border);font-size:0.8125rem}.detail-row .avatar{width:41px;height:41px;font-size:1.062rem}.detail-section{margin-top:21px}.terms{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:19px 0}.terms b{display:block;font-size:0.8125rem;margin-top:4px}.terms span{color:var(--muted);font-size:0.6875rem}.detail-section textarea{min-height:96px;resize:vertical}.toast{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);width:max-content;padding:12px 17px;background:#273b1d;color:#fff;border-radius:16px;z-index:120;font-size:0.75rem;box-shadow:0 5px 30px #17300d22;pointer-events:none;opacity:0;transition:opacity 180ms}.toast.visible{opacity:1}.modal-overlay{position:fixed;inset:0;background:#1b2c1759;z-index:90;display:flex;justify-content:center;align-items:flex-end;padding-top:25px}.modal-sheet{position:relative;width:min(100%,440px);max-height:90dvh;overflow:auto;overscroll-behavior:contain;background:var(--bg);border-radius:29px 29px 0 0;padding:12px 22px calc(22px + env(safe-area-inset-bottom))}.modal-handle{height:4px;width:38px;background:var(--border);border-radius:3px;margin:0 auto 19px}.modal-close{position:absolute;right:12px;top:13px}.modal-title{font-size:1.562rem;padding-right:40px;line-height:1.2;margin:15px 0 20px}.checkbox-label{display:flex;align-items:center;gap:10px;min-height:40px;margin:5px 0;font-size:0.8125rem}.checkbox-label input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0}.form-section{border-top:1px solid var(--border);margin-top:18px;padding-top:8px}.error{color:#ac3027;font-size:0.75rem;margin:6px 0}.filter-actions{position:sticky;bottom:-22px;background:var(--bg);padding:8px 0;margin-top:18px}.plans{display:flex;gap:6px;margin:20px 0}.plan{flex:1;padding:17px 5px;background:var(--paper);border:1px solid var(--border);border-radius:18px;font-size:0.6875rem;text-align:center;min-width:0}.plan b{display:block;font-size:1.125rem;margin-bottom:5px}.plan.selected{border-color:var(--green);background:var(--soft)}.list-row{border-bottom:1px solid var(--border);padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.list-row:last-child{border-bottom:0}.list-row a{font-size:0.75rem;text-decoration:none}.list-row .row-main{min-width:0;flex:1}.list-row .row-actions{display:flex;gap:3px}.list-row .small-button{min-height:40px;padding:8px}.history-item{display:block;background:none;border:0;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--border)}.profile-identity{display:flex;align-items:center;gap:12px;margin:22px 0}.profile-identity .avatar{border-radius:17px;width:55px;height:55px;font-size:1.438rem}.admin-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.admin-tabs button{font-size:0.6875rem}.audit-entry{border-bottom:1px solid var(--border);font-size:0.75rem;padding:11px 0;word-break:break-word}.notice-unread{background:var(--soft);border-radius:14px;padding:13px;margin:8px 0}.notice-read{padding:13px;border:1px solid var(--border);border-radius:14px;margin:8px 0}.notification-button{display:block;background:none;text-align:left;width:100%;padding:0}.scheme{position:relative;aspect-ratio:1;background:var(--soft);border:1px solid var(--border);border-radius:24px;margin:15px 0;overflow:hidden}.scheme:before{content:'';position:absolute;inset:45% -15% 42%;background:var(--bg);transform:rotate(-18deg)}.district-node,.demo-pin{position:absolute;transform:translate(-50%,-50%);padding:9px 10px;background:var(--paper);border:1px solid var(--border);border-radius:17px;font-size:0.625rem;min-height:44px;box-shadow:var(--shadow);max-width:130px;z-index:1}.district-node.selected,.demo-pin.selected{background:var(--lime);color:#26361b}.demo-pin{border-radius:20px;font-size:0.6875rem;min-height:37px;padding:8px 10px}.map-title{font-size:0.6875rem;margin:11px 0;color:var(--muted)}.admin-description{font-size:0.6875rem;color:var(--muted)}.admin-line{border-bottom:1px solid var(--border);padding:13px 0}.admin-line .small-button{font-size:0.6875rem}.flight{position:fixed;z-index:70;pointer-events:none;overflow:hidden;transform-origin:top left}.flight img{width:100%;height:100%;object-fit:cover}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-grid .box{margin:0}.stat-grid b{font-size:1.562rem;color:var(--green);display:block}.good{color:var(--green)}.danger-text{color:#ac3027}.hint{font-size:0.6875rem;color:var(--muted)}.readiness{margin-top:16px}.readiness summary{font-size:0.75rem;cursor:pointer;min-height:44px;padding:12px 0}.map-open{min-height:44px}.clear-note{float:right}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}[data-motion=off] *,[data-motion=off] *:before{animation:none!important;transition:none!important}
@media(min-width:600px){.app{margin:22px auto 0;border:1px solid var(--border);border-radius:32px 32px 0 0}.modal-overlay{align-items:center}.modal-sheet{border-radius:29px;padding-bottom:22px;max-height:87dvh}.hero{border-radius:31px 31px 0 0;overflow:hidden}}
@media(max-width:370px){h1{font-size:2.438rem}.price{font-size:1.812rem}.price small{font-size:0.625rem}.listing.compact .price{font-size:1.438rem}.listing.compact .price small{display:block;margin:0}.collage,.locked-cover{height:217px}.save-heart{top:225px}.detail-body>.price{font-size:2.188rem}.peek{width:100px;height:100px;top:-72px}.detail-pills span{padding:8px 9px;font-size:0.6875rem}.search-row{gap:5px}.lime-button{padding:10px 11px}.quick-rooms{gap:4px}.chip{padding:9px 11px}.hero{height:330px}.modal-sheet{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.update-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:var(--soft);padding:10px 16px;font-size:0.75rem}.update-banner>div{display:flex;gap:8px;align-items:center}.update-banner .text-button{padding:8px 3px}
