:root{--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--text-main:#0f172a;--text-muted:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--border-glass:var(--border);--accent-primary:var(--accent);--accent-secondary:#059669;--accent-gradient:var(--accent);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius-sm:8px;--radius-md:12px;--radius-lg:12px;--radius-full:9999px;--shadow-1:0 1px 3px #0f172a14, 0 4px 12px #0f172a0f;--shadow-float:var(--shadow-1);--shadow-glow:var(--shadow-1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--surface-muted);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}.app-container{width:100vw;height:100vh;position:relative}.workspace-loading{background:var(--surface-muted);width:100vw;height:100vh;color:var(--text-muted);place-items:center;font-weight:600;display:grid}.app-shell{flex-direction:column;width:100vw;height:100vh;display:flex}.top-bar{z-index:200;background:var(--surface);border-bottom:1px solid var(--border);flex:0 0 52px;align-items:center;gap:16px;padding:0 12px;display:flex;position:relative}.top-bar-left{align-items:center;gap:10px;min-width:0;display:flex}.top-bar-back{border:none;width:34px;height:34px}.top-bar-brand{white-space:nowrap;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.top-bar-logo,.home-logo{display:block;overflow:hidden}.top-bar-logo{flex:none;width:88px;height:30px}.top-bar-logo img,.home-logo img{object-fit:contain;width:100%;max-width:none;height:100%;display:block}.top-bar-title{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.85rem;font-weight:500;display:block;overflow:hidden}.top-bar-search{flex:1;justify-content:center;min-width:0;display:flex}.top-bar-right{align-items:center;gap:8px;display:flex}.workspace{flex:1;min-height:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:0 0 360px;width:360px;min-height:0;display:flex}.sidebar.collapsed{flex:0 0 48px;align-items:center;gap:6px;width:48px;padding-top:10px}.sidebar-rail-btn,.sidebar-collapse-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;transition:background .15s,color .15s;display:grid}.sidebar-rail-btn:hover,.sidebar-collapse-btn:hover{background:var(--surface-muted);color:var(--text-main)}.sidebar-rail-btn.active{background:var(--accent-soft);color:var(--accent)}.sidebar-tabs{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;padding:8px 10px;display:flex}.sidebar-tab{border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:7px 10px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.sidebar-tab:hover{background:var(--surface-muted);color:var(--text-main)}.sidebar-tab.active{background:var(--accent-soft);color:var(--accent)}.sidebar-collapse-btn{width:30px;height:30px;margin-left:auto}.sidebar-panel{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-panel.hidden{display:none}.map-region{flex:1;min-width:0;position:relative}.map-corner{z-index:20;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(300px,100% - 32px);display:flex;position:absolute;bottom:56px;left:16px}.watershed-metrics-overlay{z-index:20;pointer-events:auto;border:1px solid var(--border-color,#d5dfdc);width:min(210px,100% - 32px);max-height:calc(100% - 32px);box-shadow:var(--shadow-float);background:#fffffff5;border-radius:10px;flex-direction:column;gap:0;display:flex;position:absolute;top:16px;right:16px;overflow-y:auto}.watershed-metrics-toggle{min-height:44px;color:var(--text-main);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:.8rem;font-weight:650;display:flex}.watershed-metrics-toggle svg{flex-shrink:0}.watershed-metrics-content[hidden]{display:none}.watershed-metric-card{border-top:1px solid #e6ece9;gap:2px;padding:8px 10px;display:grid}.watershed-metric-card strong{color:var(--text-main);font-size:.9rem}.watershed-metric-card small{color:var(--text-muted);font-size:.74rem;line-height:1.3}.watershed-metric-card .watershed-metric-reason{margin-top:4px}.watershed-metric-details summary,.outlet-coordinate-details summary{cursor:pointer;min-height:44px;color:var(--text-main);padding:12px 10px;font-size:.8rem}.watershed-metrics-toggle:focus-visible,.watershed-metric-details summary:focus-visible,.outlet-coordinate-details summary:focus-visible{outline-offset:-2px;outline:2px solid #047857}.map-pointer-coordinates{z-index:20;box-shadow:var(--shadow-1);color:#64748b;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fffffff0;border:1px solid #94a3b88c;border-radius:7px;grid-template-columns:auto auto auto auto;align-items:baseline;gap:5px;padding:7px 9px;font-size:.68rem;line-height:1;display:grid;position:absolute;bottom:16px;left:16px}.map-pointer-coordinates strong{color:#0f172a;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:650}.map-feedback{border-radius:var(--radius-md);flex-direction:column;gap:8px;width:100%;min-width:280px;padding:10px 12px;display:flex;position:relative}.map-feedback-question{color:var(--text-muted);align-items:center;gap:6px;padding-right:16px;font-size:.74rem;line-height:1.35;display:flex}.map-feedback-question svg{color:var(--success);flex-shrink:0}.map-rename{border-radius:var(--radius-md);width:100%;min-width:280px;padding:10px 12px;position:relative}.map-rename-title{color:var(--text-muted);margin:0 20px 8px 0;font-size:.74rem;font-weight:600}.map-rename-dismiss{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:7px;right:7px}.map-rename-dismiss:hover,.map-rename-dismiss:focus-visible{color:var(--text-main);background:#0f172a14}.map-rename-form{align-items:center;gap:6px;display:flex}.map-rename-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);min-width:0;color:var(--text-main);font:inherit;flex:1;padding:5px 8px;font-size:.74rem}.map-rename-form input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.map-rename-save{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;padding:5px 10px;font-size:.74rem;font-weight:600}.map-rename-save:disabled{background:var(--border-strong);cursor:default}.map-rename-error{color:var(--danger);margin:7px 0 0;font-size:.7rem}.map-feedback-answers{flex-wrap:wrap;gap:6px;display:flex}.map-feedback-answer{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-main);font:inherit;cursor:pointer;padding:4px 12px;font-size:.74rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.map-feedback-answer:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.map-feedback-comment{align-items:center;gap:6px;display:flex}.map-feedback-comment input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);min-width:0;color:var(--text-main);font:inherit;flex:1;padding:5px 8px;font-size:.74rem}.map-feedback-comment input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.map-feedback-send{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;padding:5px 10px;font-size:.74rem;font-weight:600}.map-feedback-send:disabled{background:var(--border-strong);cursor:default}.map-feedback-dismiss{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;top:6px;right:6px}.map-feedback-dismiss:hover{background:var(--surface-muted);color:var(--text-main)}.glass{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1)}.map-surface{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);box-shadow:var(--shadow-1);background:#ffffffeb}.geo-search{flex:1;max-width:560px;position:relative}.geo-search-input{background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;width:100%;padding:4px 4px 4px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.geo-search-input:hover{border-color:var(--border-strong)}.geo-search-input:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.geo-search-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.geo-search-input:focus-within .geo-search-icon{color:var(--accent)}.geo-search-input input{width:100%;min-width:0;color:var(--text-main);background:0 0;border:none;outline:none;padding:7px 0;font-family:inherit;font-size:.875rem}.geo-search-clear{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.geo-search-clear:hover{background:var(--border);color:var(--text-main)}.geo-search-submit{background:var(--accent);color:#fff;letter-spacing:.01em;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background .15s,opacity .15s,transform .15s;display:inline-flex}.geo-search-submit:hover:not(:disabled){background:var(--accent-hover)}.geo-search-submit:active:not(:disabled){transform:scale(.97)}.geo-search-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.geo-search-submit:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.geo-search-submit-icon{transition:transform .15s}.geo-search-submit:hover:not(:disabled) .geo-search-submit-icon{transform:translate(2px)}@media (width<=900px){.geo-search-submit{padding:7px 9px}.geo-search-submit-label{display:none}}.search-dropdown{border-radius:var(--radius-md);z-index:1000;max-height:350px;margin-top:8px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-dropdown-error{color:var(--warning);padding:16px;font-size:.875rem}.search-dropdown-status{color:var(--text-muted);align-items:center;gap:8px;padding:14px 16px;font-size:.84rem;display:flex}.candidate-item{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;width:100%;padding:14px 16px;transition:background .15s;display:flex}.candidate-item+.candidate-item{border-top:1px solid var(--border)}.candidate-item:hover{background:var(--surface-muted)}.candidate-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.candidate-item h4{color:var(--text-main);margin:0;font-size:.95rem;font-weight:600}.candidate-meta{color:var(--text-muted);align-items:center;gap:8px;margin-top:6px;font-size:.78rem;display:flex}.candidate-type{background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;padding:2px 8px}.map-toolbar{z-index:20;border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.map-tool{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-main);cursor:pointer;background:0 0;border:none;place-items:center;transition:background .15s,color .15s;display:grid}.map-tool:hover:not(:disabled){background:var(--surface-muted)}.map-tool.active{background:var(--accent);color:#fff}.map-tool:disabled{color:var(--border-strong);cursor:not-allowed}.map-toolbar-divider{background:var(--border);height:1px;margin:2px 4px}.map-notification{z-index:30;border-radius:var(--radius-sm);max-width:min(420px,100% - 32px);color:var(--text-main);align-items:center;gap:10px;padding:9px 14px;font-size:.85rem;font-weight:500;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.map-notification .spinner{color:var(--accent);flex-shrink:0}.map-notification.error{color:#991b1b;border-color:#ef44444d}.map-notification.error svg{color:var(--danger);flex-shrink:0}.map-notification.capacity{color:#92400e;border-color:#f59e0b59}.map-notification.capacity svg{color:#b45309;flex-shrink:0}.map-notification-dismiss{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.map-notification-dismiss:hover{background:#0f172a0f}.map-notification-retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;flex-shrink:0;padding:4px 7px;font-size:.78rem;font-weight:700}.map-notification-retry:hover{background:#991b1b14}.stream-pill{z-index:25;border-radius:var(--radius-full);width:fit-content;max-width:min(360px,100%);color:var(--text-main);font:inherit;text-align:left;text-wrap:balance;align-items:center;gap:8px;margin-inline:auto;padding:7px 14px;font-size:.8rem;font-weight:600;display:inline-flex;position:absolute;top:16px;left:16px;right:16px}.stream-pill svg{color:var(--accent);flex-shrink:0}.stream-pill .spinner{animation:1s linear infinite spin}.stream-pill-action{cursor:pointer;transition:background .15s}.stream-pill-action:hover{background:var(--surface)}.stream-pill.is-error svg{color:var(--danger)}.map-loading-indicator{z-index:30;border-radius:var(--radius-full);max-width:calc(100% - 32px);color:var(--text-main);pointer-events:none;align-items:center;gap:8px;padding:7px 13px;font-size:.8rem;font-weight:600;animation:.4s forwards mapLoadingIn;display:inline-flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes mapLoadingIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.map-loading-indicator .spinner{color:var(--accent);flex-shrink:0;animation:1s linear infinite spin}.legend-card{border-radius:var(--radius-md);width:100%;overflow:hidden}.legend-card-header{width:100%;color:var(--text-main);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;display:flex}.legend-card-header:hover{background:var(--surface-muted)}.legend-card-header svg{color:var(--text-muted);flex-shrink:0}.legend-card-body{flex-direction:column;gap:8px;padding:4px 12px 12px;font-size:13px;display:flex}.btn-icon{background:var(--surface);border:1px solid var(--border);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,border-color .15s;display:flex}.btn-icon:hover{background:var(--surface-muted);border-color:var(--border-strong)}h1,h2,h3,h4,h5,h6{letter-spacing:0;font-weight:600}p{color:var(--text-muted)}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text-main);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:.85rem}.upload-area{border:2px dashed var(--border-glass);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:#00000005;padding:32px;transition:all .3s}.upload-area:hover{border-color:var(--accent-primary);background:#2563eb0d}.upload-icon{color:var(--accent-primary);margin-bottom:12px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.selection-card{border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;background:#00000005;padding:16px;transition:all .3s}.selection-card:hover{border-color:#0000001a;transform:translateY(-2px)}.selection-card.selected{border-color:var(--accent-primary);background:#2563eb1a}.selection-card-header{justify-content:space-between;margin-bottom:8px;display:flex}.card-icon{color:var(--accent-primary)}.chat-container{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex}.chat-messages{flex-direction:column;flex:1;gap:16px;padding-right:4px;display:flex;overflow-y:auto}.message{gap:10px;max-width:92%;display:flex}.message.user{flex-direction:row-reverse;align-self:flex-end}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.avatar.user-avatar{background:var(--surface-muted);border:1px solid var(--border)}.avatar.ai-avatar{background:var(--accent);color:#fff}.message-content{background:var(--surface-muted);border-radius:var(--radius-md);border:1px solid var(--border);padding:10px 14px;font-size:.875rem}.message.user .message-content{background:var(--accent);color:#fff;border:none;border-top-right-radius:4px;font-weight:500}.message.ai .message-content{border-top-left-radius:4px}.typing-indicator{color:var(--text-muted);align-items:center;gap:8px;display:flex}.typing-dots{align-items:center;gap:4px;display:flex}.typing-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1s infinite alternate fadeIn}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-input-area{position:relative}.chat-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);outline:none;padding:11px 48px 11px 14px;font-size:.875rem;transition:border-color .15s}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26}.send-btn{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.guided-creator{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow:hidden}.guided-step-body{flex-direction:column;flex:1;gap:16px;min-height:0;margin:0 -16px;padding:0 16px;display:flex;overflow:hidden auto}.guided-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.guided-header h1{font-size:1.05rem;line-height:1.2}.guided-header p,.guided-step small,.layer-row small,.guided-option small{color:var(--text-muted);font-size:.78rem;line-height:1.35;display:block}.guided-step{flex-direction:column;gap:10px;display:flex}.guided-step-title{color:var(--text-main);font-size:1rem;font-weight:700;line-height:1.25}.guided-step-eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:.68rem;font-weight:800}.top-bar-separator{color:var(--border-strong);font-weight:400}.export-step-intro{padding-bottom:2px}.guided-options,.layer-list{flex-direction:column;gap:8px;display:flex}.data-step-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.data-step-header small{color:var(--text-muted);margin-top:2px;font-size:.78rem;line-height:1.35;display:block}.layer-count-pill{border-radius:var(--radius-full);min-width:48px;color:var(--accent-primary);text-align:center;background:#2563eb14;border:1px solid #2563eb38;flex:none;padding:5px 9px;font-size:.74rem;font-weight:800}.layer-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.layer-card{border-radius:var(--radius-sm);min-width:0;min-height:154px;color:var(--text-main);cursor:pointer;background:#ffffffc2;border:1px solid #94a3b857;flex-direction:column;gap:10px;padding:10px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.layer-card:hover{background:#ffffffeb;border-color:#2563eb57;transform:translateY(-1px)}.layer-card.selected{background:linear-gradient(#eff6fff0,#ffffffeb);border-color:#2563ebb8;box-shadow:0 10px 22px -18px #2563ebcc}.layer-card input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.layer-card:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb2e}.layer-card-preview{background-color:#eef6f1;background-image:linear-gradient(#0f172a0d 1px,#0000 1px),linear-gradient(90deg,#0f172a0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #94a3b842;border-radius:7px;height:64px;display:block;position:relative;overflow:hidden}.layer-preview-icon{z-index:2;width:30px;height:30px;color:var(--accent-primary);background:#ffffffe6;border-radius:7px;place-items:center;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 6px 14px -12px #0f172ae6}.layer-preview-mark{display:block;position:absolute}.layer-preview-roads .mark-a,.layer-preview-roads .mark-b{background:#343a40;border-radius:999px;height:5px;left:-10%;right:-10%}.layer-preview-roads .mark-a{top:31px;transform:rotate(-9deg)}.layer-preview-roads .mark-b{background:#343a406b;top:42px;transform:rotate(8deg)}.layer-preview-buildings .layer-preview-mark{background:#b08968;border-radius:3px;box-shadow:inset 0 0 0 1px #5c40332e}.layer-preview-buildings .mark-a{width:26px;height:24px;top:17px;left:16px}.layer-preview-buildings .mark-b{width:36px;height:20px;top:29px;left:48px}.layer-preview-buildings .mark-c{width:23px;height:32px;top:14px;left:92px}.layer-preview-admin_boundaries .mark-a{background:#7b2cbf14;border:2px dashed #7b2cbf;border-radius:16px 10px 18px 12px;inset:12px 18px 10px 16px}.layer-preview-water{background-color:#eaf6fb;background-image:linear-gradient(#0f172a0a 1px,#0000 1px),linear-gradient(90deg,#0f172a0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.layer-preview-water .mark-a,.layer-preview-water .mark-b{background:#2f80edb8;border-radius:999px;height:18px;left:-12px;right:-12px}.layer-preview-water .mark-a{bottom:10px;transform:rotate(-7deg)}.layer-preview-water .mark-b{opacity:.38;bottom:0;transform:rotate(4deg)}.layer-preview-points_of_interest .layer-preview-mark{background:#f08c00;border:2px solid #fff;border-radius:999px;width:12px;height:12px;box-shadow:0 5px 12px -8px #0f172ae6}.layer-preview-points_of_interest .mark-a{top:34px;left:22px}.layer-preview-points_of_interest .mark-b{top:18px;left:61px}.layer-preview-points_of_interest .mark-c{top:39px;left:101px}.layer-card-copy{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.layer-card-copy span:first-child{min-width:0}.layer-card-copy strong{font-size:.85rem;line-height:1.18;display:block}.layer-card-copy small{color:var(--text-muted);margin-top:4px;font-size:.72rem;line-height:1.3;display:block}.layer-card-check{color:#0000;background:#fff;border:1px solid #94a3b86b;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;display:grid}.layer-card.selected .layer-card-check{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.legend-row{color:var(--text-main);align-items:center;gap:8px;display:flex}.legend-row i{background:#64748b;border-radius:2px;flex:none;width:18px;height:10px;display:inline-block}.legend-row span{flex-direction:column;min-width:0;line-height:1.3;display:flex}.legend-row small{color:var(--text-muted);font-size:11px}.guided-option,.layer-row,.study-area-summary,.format-toggle{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:#ffffffb8;align-items:center;gap:10px;display:flex}.guided-option{text-align:left;cursor:pointer;padding:12px}.guided-option.selected{border-color:var(--accent-primary);background:#2563eb1a}.guided-option-icon,.layer-row-icon{color:var(--accent-primary);flex:none}.guided-option span:nth-child(2),.layer-row span:nth-child(3),.study-area-summary div{flex:1;min-width:0}.study-area-summary,.layer-row{padding:10px 12px}.layer-row input,.format-toggle input,.guided-step .layer-row input,.guided-step .format-toggle input{flex:none;width:16px;height:16px}.guided-step input,.guided-step select{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--text-main);font:inherit;background:#ffffffdb;outline:none;padding:10px 12px}.guided-step input:focus,.guided-step select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #2563eb29}.segmented-control{border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#ffffff8f;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segmented-control button{color:var(--text-muted);cursor:pointer;text-transform:capitalize;background:0 0;border:0;border-radius:6px;padding:8px}.segmented-control button.active{color:var(--text-main);background:#fff;box-shadow:0 1px 4px #0000001f}.export-format-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.export-format-row .format-toggle{min-width:0}.export-format-row .format-toggle>span{overflow-wrap:anywhere;min-width:0}.format-size-estimate{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.7rem}.export-quality-control{grid-template-columns:repeat(3,minmax(0,1fr))}.export-quality-control button{flex-direction:column;align-items:center;line-height:1.2;display:flex}.export-quality-control small{color:var(--text-muted);margin-top:2px;font-size:.68rem}.guided-hint{color:var(--text-muted);margin:8px 0 0;font-size:.76rem;line-height:1.45}.guided-credit-cost{margin-bottom:8px}.export-toggle-grid{flex-direction:column;gap:8px;display:flex}.basemap-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.basemap-card{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.basemap-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.basemap-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb24}.guided-step .basemap-card input,.export-options .basemap-card input{opacity:0;width:1px;height:1px;position:absolute}.basemap-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.basemap-swatch{border-bottom:1px solid #0f172a1a;height:52px;display:block;position:relative;overflow:hidden}.basemap-swatch.light{background:linear-gradient(28deg,#0000 42%,#d5dde4 43% 46%,#0000 47%),linear-gradient(118deg,#0000 54%,#b8d8e8 55% 59%,#0000 60%),#f3f1ed}.basemap-swatch.street{background:linear-gradient(28deg,#0000 40%,#f7f7f7 41% 45%,#d8d0c4 46% 48%,#f7f7f7 49% 53%,#0000 54%),linear-gradient(118deg,#0000 52%,#d7edf3 53% 57%,#0000 58%),#e8e5df}.basemap-swatch.satellite{background:radial-gradient(at 75% 20%,#74804a 0 13%,#0000 14%),linear-gradient(138deg,#1f4f66 0 18%,#b8ad78 19% 23%,#415d38 24% 58%,#847451 59% 100%)}.basemap-swatch.topographic{background:#e9ead7}.basemap-swatch.topographic:before,.basemap-swatch.topographic:after{content:"";border:2px solid #aa8c5b;border-radius:46% 54% 58% 42%;position:absolute;inset:-18px -10px;transform:rotate(-11deg);box-shadow:0 0 0 7px #0000,0 0 0 8px #b69a6c,0 0 0 15px #0000,0 0 0 16px #b69a6c}.basemap-swatch.topographic:after{inset:12px 22px;transform:rotate(18deg)}.basemap-swatch i{background:#38a3cf;border-radius:99px;width:72%;height:3px;position:absolute;bottom:20%;left:14%;transform:rotate(-7deg);box-shadow:0 4px #ffffff7a}.basemap-card-copy{flex-direction:column;gap:2px;min-height:58px;padding:7px;display:flex}.basemap-card-copy strong{font-size:.72rem;line-height:1.2}.basemap-card-copy small{color:var(--text-muted);font-size:.64rem;line-height:1.25}.hillshade-control{flex-direction:column;gap:7px;display:flex}.derived-background-control{gap:.45rem;margin-top:.75rem;display:grid}.derived-background-control .control-label{color:#334155;font-size:.82rem;font-weight:650}.derived-background-control>small{color:#64748b;font-size:.72rem}.derived-background-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.derived-background-options label{color:#475569;cursor:pointer;border:1px solid #cbd5e1;border-radius:.45rem;padding:.45rem .55rem;font-size:.75rem}.derived-background-options label.selected{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.derived-background-options input{margin-right:.4rem}.hillshade-control .format-toggle span{flex-direction:column;gap:1px;display:flex}.hillshade-control .format-toggle small{color:var(--text-muted);font-size:.68rem;font-weight:400}.hillshade-opacity{color:var(--text-muted);grid-template-columns:1fr auto;align-items:center;gap:3px 10px;padding:4px 10px 9px 36px;font-size:.72rem;font-weight:600;display:grid}.hillshade-opacity output{color:var(--text-main);font-variant-numeric:tabular-nums}.guided-step .hillshade-opacity input,.export-options .hillshade-opacity input{width:100%;height:4px;accent-color:var(--accent);grid-column:1/-1;padding:0}.export-preview-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.export-preview-heading span{gap:4px;display:flex}.export-thumb{border:1px solid var(--border-glass);border-radius:var(--radius-sm);cursor:zoom-in;background:#fff;width:100%;padding:0;display:block;overflow:hidden;box-shadow:0 2px 10px #0f172a1a}.export-thumb img{object-fit:contain;width:100%;display:block}.export-thumb-empty{color:var(--text-muted);cursor:default;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.82rem;display:flex}.export-empty-state{border:1px dashed var(--border-glass);border-radius:var(--radius-sm);color:var(--text-muted);background:#ffffffb8;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;font-size:.86rem;display:flex}.export-empty-state strong{color:var(--text-main)}.export-empty-state p{margin:0;line-height:1.45}.format-toggle{padding:10px;font-size:.82rem;font-weight:700}.guided-review strong{margin-bottom:8px;font-size:.82rem;display:block}.guided-review pre{white-space:pre-wrap;word-break:break-word;max-height:150px;margin:0;font-size:.72rem;overflow:auto}.guided-full-button{width:100%}.guided-full-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.guided-alert,.guided-success{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;display:flex}.guided-note{border-radius:var(--radius-sm);color:#92400e;background:#fffbebd1;border:1px solid #f59e0b3d;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.82rem;line-height:1.4;display:flex}.guided-note.outlet-hint{border-color:var(--border);background:var(--surface-muted);color:var(--text-muted)}.guided-alert{color:#b91c1c;background:#ef44441a}.guided-alert-capacity{color:#92400e;background:#f59e0b1f}.guided-success{color:#047857;background:#10b9811f}@media (width<=900px){.workspace{position:relative}.sidebar{z-index:300;width:min(360px,88vw);box-shadow:var(--shadow-1);position:absolute;top:0;bottom:0;left:0}.sidebar.collapsed{width:48px;box-shadow:none;position:static}.top-bar{gap:10px}.top-bar-title,.top-bar-export-label{display:none}.map-corner{max-width:min(240px,100% - 80px)}.watershed-metrics-overlay{width:min(190px,100% - 72px);right:12px}.map-feedback{min-width:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}.stagger-1{opacity:0;animation-delay:.1s}.stagger-2{opacity:0;animation-delay:.2s}.stagger-3{opacity:0;animation-delay:.3s}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0003;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0000004d}button:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb40}.btn-icon.compact{width:38px;height:38px;box-shadow:none}.project-home{min-height:100vh;color:var(--text-main);background:linear-gradient(#f8fafc 0%,#eef4f2 100%);overflow:auto}.home-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #dbe4ee;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex}.home-topbar>div{color:var(--text-muted);align-items:center;gap:12px;display:flex}.home-logo{width:130px;height:42px}.home-main{width:min(1180px,100vw - 40px);margin:0 auto;padding:36px 0 48px}.home-hero{background:#fff;border:1px solid #dbe4ee;border-radius:10px;grid-template-columns:minmax(0,1fr) 470px;align-items:stretch;gap:28px;padding:28px;display:grid;box-shadow:0 18px 44px -28px #0f172a52}.home-copy{flex-direction:column;justify-content:center;gap:16px;display:flex}.home-kicker{color:var(--accent-secondary);text-transform:uppercase;font-size:.82rem;font-weight:700}.home-copy h1{max-width:680px;font-size:clamp(2rem,4vw,3.75rem);line-height:1.02}.home-copy p{max-width:620px;font-size:1.02rem}.home-beta-note{max-width:620px;color:var(--text-muted,#64748b);font-size:.9rem}.home-actions,.panel-title-row{align-items:center;gap:12px;display:flex}.home-map-preview{background:#e7f0eb;border:1px solid #cbd5e1;border-radius:8px;min-height:280px;position:relative;overflow:hidden}.preview-map-grid{background-image:linear-gradient(#0f172a0f 1px,#0000 1px),linear-gradient(90deg,#0f172a0f 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.preview-zone{border:2px solid var(--accent-primary);background:#2563eb24;border-radius:22px;position:absolute;inset:25% 22%}.preview-road{background:#334155b3;border-radius:999px;height:5px;position:absolute;left:8%;right:8%}.preview-road-a{top:34%;transform:rotate(8deg)}.preview-road-b{bottom:26%;transform:rotate(-5deg)}.preview-legend{background:#ffffffeb;border:1px solid #dbe4ee;border-radius:8px;flex-direction:column;gap:5px;width:190px;padding:12px;font-size:12px;display:flex;position:absolute;bottom:16px;right:16px}.preview-legend small{color:var(--text-muted)}.home-grid{grid-template-columns:1.5fr 1fr 1fr;gap:18px;margin-top:18px;display:grid}.home-panel{background:#fff;border:1px solid #dbe4ee;border-radius:8px;min-height:190px;padding:20px}.home-panel h2{font-size:1.05rem}.panel-title-row{justify-content:space-between;margin-bottom:14px}.text-button{color:var(--accent-primary);cursor:pointer;background:0 0;border:0;font-weight:700}.recent-list{flex-direction:column;gap:8px;display:flex}.recent-project{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.recent-project span{flex-direction:column;min-width:0;display:flex}.recent-project small,.recent-project i{color:var(--text-muted);font-size:.78rem;font-style:normal}.quota-meter{background:#e2e8f0;border-radius:999px;height:10px;margin-bottom:14px;overflow:hidden}.quota-meter span{border-radius:inherit;background:var(--accent-gradient);height:100%;display:block}.wizard-stepper{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.domain-card-grid,.task-card-grid{gap:10px;display:grid}.domain-card-grid{grid-template-columns:1fr}.task-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-card,.task-card{border-radius:var(--radius-sm);min-width:0;color:var(--text-main);cursor:pointer;text-align:left;background:#ffffffc2;border:1px solid #94a3b857;gap:10px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex}.domain-card{justify-content:space-between;align-items:center;padding:12px}.task-card{flex-direction:column;min-height:158px;padding:12px}.domain-card:hover,.task-card:hover{background:#ffffffeb;border-color:#2563eb57;transform:translateY(-1px)}.domain-card.selected,.task-card.selected{background:linear-gradient(#eff6fff0,#ffffffeb);border-color:#2563ebb8;box-shadow:0 10px 22px -18px #2563ebcc}.domain-card:disabled,.task-card:disabled{cursor:not-allowed;opacity:.72;transform:none}.domain-card strong,.task-card strong{font-size:.9rem;line-height:1.2;display:block}.domain-card small,.task-card small,.field-group small,.checkbox-panel small{color:var(--text-muted);margin-top:4px;font-size:.73rem;line-height:1.35;display:block}.task-card-top,.badge-row{align-items:center;gap:6px;display:flex}.task-card-top{justify-content:space-between}.task-card-icon,.setup-row-icon{width:30px;height:30px;color:var(--accent-primary);background:#2563eb1a;border-radius:7px;place-items:center;display:grid}.badge-row{flex-wrap:wrap;margin-top:auto}.domain-badge{border-radius:var(--radius-full);width:fit-content;color:var(--accent-primary);white-space:nowrap;background:#2563eb14;border:1px solid #2563eb38;align-items:center;padding:3px 7px;font-size:.68rem;font-weight:800;display:inline-flex}.domain-badge.recommended{color:#047857;background:#0596691a;border-color:#05966942}.domain-badge.muted{color:var(--text-muted);background:#64748b14;border-color:#64748b38}.hydrology-setup{gap:12px}.outlet-preparing{align-items:center;gap:14px;padding:20px 4px;display:flex}.outlet-preparing .spinner{color:var(--accent-primary,#1a73e8);flex-shrink:0}.guided-actions{flex-wrap:wrap;gap:8px;display:flex}.outlet-coordinate-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px;display:grid}.outlet-coordinate-form label{flex-direction:column;gap:4px;min-width:0;display:flex}.outlet-coordinate-form label span{color:var(--text-muted);font-size:.72rem;font-weight:700}.outlet-coordinate-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;color:var(--text-main);outline:none;padding:8px 10px;font-size:.82rem}.outlet-coordinate-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26}.outlet-coordinate-form button{grid-column:1/-1}.guided-actions .btn{align-items:center;gap:6px;display:inline-flex}.setup-row,.checkbox-panel,.advanced-settings{border-radius:var(--radius-sm);background:#ffffffc2;border:1px solid #94a3b857;padding:12px}.setup-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.setup-row.stacked{grid-template-columns:1fr}.setup-row-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.setup-row-main strong,.checkbox-panel strong,.field-group span,.advanced-settings summary{color:var(--text-main);font-size:.84rem;font-weight:800}.setup-state{border-radius:var(--radius-full);width:fit-content;color:var(--text-muted);background:#64748b1a;grid-column:1/-1;padding:3px 8px;font-size:.72rem;font-weight:800}.setup-state.selected{color:#047857;background:#0596691a}.compact-action{padding:8px 12px}.advanced-settings summary{cursor:pointer;align-items:center;gap:8px;display:flex}.advanced-settings[open] summary{margin-bottom:12px}.advanced-settings>small{color:var(--text-muted);font-size:.78rem;line-height:1.35;display:block}.advanced-settings>*+*{margin-top:12px}.basemap-preset-note{color:var(--text-muted);grid-column:1/-1;line-height:1.45}.analysis-options>small{margin:-4px 0 12px}.analysis-options .checkbox-panel{margin-top:10px}.field-group{flex-direction:column;gap:8px;margin-top:10px;display:flex}.checkbox-panel{flex-direction:column;gap:8px;display:flex}.check-row{color:var(--text-main);align-items:center;gap:8px;font-size:.84rem;display:flex}.check-row input{width:16px;height:16px}.check-row-spinner{color:var(--accent);flex-shrink:0}@media (width<=520px){.task-card-grid{grid-template-columns:1fr}}.wizard-stepper button{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:6px 2px;font-size:.68rem;font-weight:600;transition:background .15s,color .15s;display:flex}.wizard-stepper button:hover{background:var(--surface-muted)}.wizard-stepper span{background:var(--border);width:20px;height:20px;color:var(--text-main);border-radius:999px;place-items:center;font-size:.68rem;font-weight:700;display:grid}.wizard-stepper button.active{color:var(--accent)}.wizard-stepper button.complete{color:var(--text-main)}.wizard-stepper button.active span{background:var(--accent);color:#fff}.wizard-stepper button.complete span{background:var(--accent-soft);color:var(--accent)}.wizard-actions{justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px;display:flex}.guided-review{border:1px solid var(--border-glass);border-radius:var(--radius-sm);color:var(--text-main);background:#2563eb14;padding:12px}.guided-review p{color:var(--text-main);margin:0;font-size:.86rem;line-height:1.45}.hydrology-result{border-radius:var(--radius-sm);color:var(--text-main);background:#f0fdfad1;border:1px solid #0596693d;flex-direction:column;gap:12px;padding:12px;display:flex}.hydrology-result-header,.hydrology-result-header span{align-items:center;gap:8px;display:flex}.hydrology-result-header{justify-content:space-between}.hydrology-result-header span{color:#047857;font-size:.88rem;font-weight:800}.hydrology-result-header small,.hydrology-result p,.hydrology-result li{color:var(--text-muted);font-size:.76rem;line-height:1.35}.hydrology-result p,.hydrology-result ul{margin:0}.hydrology-result ul{padding-left:18px}.saved-watershed-notice{background:#ffffffb3;border:1px solid #05966933;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.saved-watershed-notice div,.saved-watershed-notice span{gap:2px;display:grid}.saved-watershed-notice strong{font-size:.88rem}.saved-watershed-notice span{color:var(--text-muted);font-size:.8rem}.watershed-rename-dialog{width:min(480px,100vw - 32px);padding:28px}.watershed-rename-dialog h2{margin-top:0}.watershed-rename-dialog .signin-form{gap:10px;margin-top:20px}.watershed-rename-dialog input,.saved-watershed-rename input{border-radius:9px;min-height:44px;padding:10px 12px}.watershed-rename-actions,.saved-watershed-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.watershed-rename-actions{margin-top:8px}.btn-quiet{color:var(--text-muted);background:0 0;border-color:#0000}.btn-quiet:hover{color:var(--text-main);background:#0f172a0f}.saved-watershed-rename{background:#0f172a09;border-radius:10px;gap:9px;max-width:480px;margin-top:16px;padding:16px;display:grid}@media (width<=520px){.saved-watershed-notice{flex-direction:column;align-items:stretch}.saved-watershed-notice .btn{width:100%}.watershed-rename-dialog{padding:22px}}.guided-start-over{white-space:nowrap;flex:none;padding:7px 9px;font-size:.76rem}.osm-attribution{z-index:5;color:#334155;text-align:right;pointer-events:none;background:#ffffffd9;border-radius:4px;max-width:min(860px,100% - 16px);padding:3px 7px;font-size:11px;line-height:1.25;position:absolute;bottom:28px;right:8px}.modal-backdrop{z-index:2000;background:#0f172a75;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.export-preview-modal{background:#fff;border:1px solid #dbe4ee;border-radius:12px;flex-direction:column;width:min(1480px,100vw - 32px);height:min(920px,100vh - 32px);max-height:calc(100vh - 32px);display:flex;overflow:hidden;box-shadow:0 28px 80px #0f172a47}.quality-confirm-modal{background:#fff;border:1px solid #dbe4ee;border-radius:10px;width:min(440px,100vw - 32px);padding:24px;box-shadow:0 28px 80px #0f172a47}.quality-confirm-modal h2{margin-bottom:10px;font-size:1.15rem}.quality-confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-header{border-bottom:1px solid #dbe4ee;flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.modal-header h2{font-size:1.25rem}.export-preview-content{background:#eaf0f4;flex:auto;grid-template-columns:minmax(0,2.15fr) minmax(320px,1fr);gap:0;min-height:0;padding:0;display:grid}.export-sheet-preview{flex-direction:column;gap:8px;min-width:0;min-height:0;padding:10px 22px;display:flex;overflow:hidden}.export-sheet-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.export-page-pager{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.export-sheet-stage{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative}.export-page-tabs{max-width:100%;display:flex;overflow-x:auto}.export-page-tabs button{flex:none;min-width:76px}.export-zoom-control button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.export-sheet-frame{text-align:center;overscroll-behavior:contain;flex:auto;min-width:0;min-height:0;max-height:none;overflow:auto}.export-sheet-frame-fit{place-items:start center;display:grid}.export-sheet-page{max-width:100%;line-height:0;display:inline-grid;position:relative}.export-sheet-frame-fit .export-sheet-page{max-height:100%}.export-sheet-image{object-fit:contain;cursor:zoom-in;background:#fff;border:1px solid #dbe4ee;border-radius:6px;grid-area:1/1;width:100%;max-height:100%;display:block;box-shadow:0 10px 34px #0f172a24}.export-sheet-frame-actual .export-sheet-page{max-width:none}.export-sheet-frame-actual .export-sheet-image{cursor:zoom-out;width:auto;max-width:none;max-height:none}.export-sheet-image:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.export-element-overlay{z-index:2;pointer-events:none;position:absolute;inset:0}.export-element-item{position:absolute}.export-element-item:not(.export-element-item-mapFrame){z-index:1}.export-element-hitbox{box-sizing:border-box;pointer-events:auto;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;transition:border-color .12s,background .12s,box-shadow .12s;position:absolute;inset:0}.export-element-hitbox-mapFrame{pointer-events:none}.export-element-hitbox.draggable{cursor:grab;touch-action:none}.export-element-hitbox.dragging{cursor:grabbing;opacity:.28}.export-furniture-ghost{z-index:5;box-sizing:border-box;pointer-events:none;will-change:transform;background:#0e749029;border:2px solid #0e7490;border-radius:4px;position:absolute;box-shadow:0 5px 16px #0f172a3d}.export-element-hitbox:hover,.export-element-item:hover>.export-element-hitbox,.export-element-hitbox:focus-visible{background:#0e749012;border-color:#0e7490b8;outline:none}.export-element-hitbox.selected{background:#0e74901f;border:2px solid #0e7490;box-shadow:0 0 0 2px #ffffffd1,0 0 0 4px #0e749061}.export-element-hitbox:after{content:attr(data-tooltip);z-index:4;color:#fff;opacity:0;pointer-events:none;background:#0f172a;border-radius:4px;width:max-content;max-width:190px;padding:5px 7px;font-size:.7rem;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,3px)}.export-element-hitbox:hover:after,.export-element-hitbox:focus-visible:after{opacity:1;transform:translate(-50%)}.export-element-remove{z-index:6;color:#334155;cursor:pointer;opacity:0;pointer-events:none;background:#fff;border:1px solid #0f172a2e;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;line-height:0;transition:opacity .11s,transform .11s,background .11s,color .11s;display:grid;position:absolute;top:-9px;right:-9px;transform:scale(.85);box-shadow:0 1px 4px #0f172a38}.export-element-remove:before{content:"";border-radius:999px;position:absolute;inset:-6px}.export-element-item:hover .export-element-remove,.export-element-item:focus-within .export-element-remove,.export-element-item.selected .export-element-remove{opacity:1;pointer-events:auto;transform:scale(1)}.export-element-remove:hover{color:#fff;background:#b91c1c;border-color:#b91c1c}.export-element-remove:focus-visible{outline-offset:2px;outline:2px solid #0e7490}.export-element-select{color:#0e7490;cursor:pointer;background:#fff;border:1px solid #0e7490;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:6px 10px;display:inline-flex}.export-element-select:focus-visible{outline-offset:2px;outline:2px solid #0e7490}.export-element-select:disabled{opacity:.5;cursor:default}.export-element-select[aria-pressed=true]{background:#ecfeff}.export-element-option{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.export-element-option .format-toggle{flex:1;min-height:44px}.export-inline-editor{z-index:8;pointer-events:auto;background:#fff;border-radius:5px;min-width:150px;min-height:28px;padding:2px;line-height:normal;display:flex;position:absolute;box-shadow:0 0 0 2px #0e7490,0 8px 22px #0f172a47}.export-inline-editor input{color:#0f172a;background:#fff;border:0;border-radius:3px;width:100%;min-width:0;padding:4px 7px;font:600 .78rem/1.2 Segoe UI,Arial,sans-serif}.export-sheet-document{background:#fff;border:1px solid #dbe4ee;border-radius:6px;width:100%;max-height:calc(100vh - 220px);box-shadow:0 10px 34px #0f172a24}.export-sheet-loading{width:100%;color:var(--text-muted);background:#fff;border:1px dashed #cbd5e1;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:.86rem;display:flex}.export-zoom-status{min-height:1.25em;color:var(--text-muted);text-align:center;margin:0;font-size:.78rem}.export-preview-updating{z-index:6;pointer-events:none;white-space:nowrap;color:#475569;background:#ffffffd1;border-radius:999px;align-self:center;align-items:center;gap:6px;min-height:24px;padding:3px 9px;font-size:.75rem;display:inline-flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.export-options{background:#fff;border-left:1px solid #dbe4ee;flex-direction:column;min-height:0;display:flex;overflow:hidden}.export-options-scroll{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:18px;display:flex;overflow-y:auto}.export-options-section{background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex-direction:column;gap:10px;padding:14px;transition:background .16s,box-shadow .16s;display:flex}.export-options-section.selected{background:#0e749012;box-shadow:0 0 0 2px #0e749038}.export-download-actions{flex-direction:column;gap:8px;display:flex}.export-download-feedback{background:#f8fafc;border:1px solid #dbe4ee;border-radius:7px;gap:5px;padding:9px 10px;display:grid}.export-download-item{color:var(--text-muted);grid-template-columns:16px minmax(85px,auto) 1fr;align-items:center;gap:6px;font-size:.78rem;display:grid}.export-download-item small{overflow-wrap:anywhere;text-align:right}.export-download-item.complete{color:#047857}.export-download-item.preparing{color:#1d4ed8}.export-download-item.failed{color:#b91c1c}.export-options h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:4px;font-size:.78rem}.cartouche-fields,.cartouche-fields label{flex-direction:column;gap:5px;display:flex}.cartouche-fields{gap:9px}.cartouche-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.cartouche-fields label>span{color:var(--text-muted);font-size:.75rem;font-weight:600}.cartouche-fields textarea{resize:vertical;min-height:54px}.cartouche-logo-control{align-items:center;gap:8px;display:flex}.cartouche-logo-control img{object-fit:contain;background:#fff;border:1px solid #dbe4ee;border-radius:4px;width:42px;height:32px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.map-context-lost-notice{z-index:20;color:#78350f;width:min(360px,100% - 40px);box-shadow:var(--shadow-float);text-align:center;pointer-events:auto;background:#fffbebf7;border:1px solid #f59e0b;border-radius:10px;gap:6px;padding:16px 18px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.map-context-lost-notice span{font-size:.82rem;line-height:1.4}.watershed-quality{color:#78350f;background:#fffbeb;border:1px solid #f6c453;border-radius:8px;padding:12px}.watershed-quality.ready{color:#065f46;background:#ecfdf5;border-color:#86d3ad}.watershed-quality-heading{align-items:center;gap:7px;display:flex}.watershed-quality p,.watershed-quality ul{margin:7px 0 0;font-size:.78rem;line-height:1.4}.watershed-quality ul{padding-left:18px}.watershed-quality-details{margin-top:9px;font-size:.78rem}.watershed-quality-details summary{cursor:pointer;font-weight:600}.watershed-quality-diagnostics{margin-top:9px}.watershed-quality-diagnostics ul{margin-top:4px}.watershed-quality-outlet .watershed-outlet-level{font-weight:600}.watershed-outlet-level.acceptable{color:#92400e}.watershed-outlet-level.low{color:#b91c1c}.watershed-quality-window{opacity:.85;font-style:italic}.watershed-quality-identifier{opacity:.7;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin-top:8px;font-size:.78rem}.watershed-quality.compact{padding:9px 10px}@media (width<=1100px){.export-preview-content{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.export-options{width:100%}.basemap-card-copy strong,.basemap-card-copy small{overflow-wrap:anywhere}}.export-options-section>h3{margin:0 0 2px}.export-options .control-label,.export-field>span{color:#475569;font-size:.76rem;font-weight:650}.export-field{gap:5px;display:grid}.export-format-list,.export-toggle-grid{gap:7px;display:grid}.export-map-elements{gap:9px;padding-top:4px;display:grid}.export-map-elements.selected{background:#0e749012;border-radius:7px;box-shadow:0 0 0 5px #0e749012}.export-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-option>span{gap:2px;display:grid}.package-option>span small,.package-details p{color:var(--text-muted);font-size:.72rem;line-height:1.35}.package-details summary{color:inherit;cursor:pointer;font:inherit;text-align:left;padding:0;font-size:.76rem;font-weight:650}.package-details p{margin:7px 0 0}.export-studio-footer{background:#fffffff7;border-top:1px solid #dbe4ee;flex:none;gap:8px;padding:12px 18px 16px;display:grid;box-shadow:0 -8px 24px #0f172a0f}.export-unlock{background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.export-artifacts-expired{background:#fffaf0;border-color:#f0c36a #f0c36a #f0c36a #d38b13;border-left-style:solid;border-left-width:3px}.export-artifacts-expired .export-unlock-lead{color:#8a4b08}.export-unlock-lead{color:#334155;align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:600;display:flex}.export-unlock-form{gap:8px;display:flex}.export-unlock-form input{border:1px solid #cbd5e1;border-radius:6px;flex:auto;min-width:0;padding:7px 10px;font-size:.82rem}.export-ready-line{color:#047857;align-items:center;gap:6px;font-size:.78rem;font-weight:650;display:flex}@media (width<=820px){.modal-backdrop.export-studio-backdrop{padding:8px}.export-preview-modal{width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:none}.export-preview-content{grid-template-rows:minmax(260px,44%) minmax(0,56%);grid-template-columns:1fr}.export-sheet-preview{padding:10px 12px}.export-page-pager>.btn-icon{display:none}.export-options{border-top:1px solid #dbe4ee;border-left:0}}.map-basemap-control{z-index:10;position:absolute;top:72px;left:24px}.map-basemap-trigger{box-shadow:var(--shadow-float);border-radius:50%}.map-basemap-trigger.active{color:#fff;background:var(--accent-primary,#1a73e8);border-color:var(--accent-primary,#1a73e8)}.map-basemap-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #94a3b894;border-radius:12px;gap:5px;width:158px;padding:9px;display:grid;position:absolute;top:0;left:52px;box-shadow:0 12px 28px #0f172a33}.map-basemap-menu-title{color:#475569;letter-spacing:.04em;text-transform:uppercase;padding:2px 4px 4px;font-size:.7rem;font-weight:700}.map-basemap-option{color:#1e293b;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:6px;font-size:.78rem;font-weight:600;display:flex}.map-basemap-option:hover,.map-basemap-option.selected{background:#eff6ff;border-color:#2563eb52}.map-basemap-option-swatch{background:linear-gradient(28deg,#0000 42%,#d5dde4 43% 46%,#0000 47%),linear-gradient(118deg,#0000 54%,#b8d8e8 55% 59%,#0000 60%),#f3f1ed;border:1px solid #0f172a24;border-radius:5px;flex:none;width:30px;height:22px}.map-basemap-option.satellite .map-basemap-option-swatch{background:radial-gradient(at 75% 20%,#74804a 0 13%,#0000 14%),linear-gradient(138deg,#1f4f66 0 18%,#b8ad78 19% 23%,#415d38 24% 58%,#847451 59% 100%)}.map-basemap-option.topographic .map-basemap-option-swatch{background:repeating-radial-gradient(at 35% 78%,#0000 0 4px,#aa8c5b 5px 6px,#0000 7px 10px),#e9ead7}@media (width<=900px){.home-topbar{padding:0 16px}.home-topbar>div{min-width:0;overflow:hidden}.home-topbar>div>span:not(.home-logo){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-topbar>.btn{flex:none}.home-main{width:calc(100vw - 24px);padding:18px 0 32px}.home-hero,.home-grid{grid-template-columns:1fr}.home-hero{padding:18px}.home-copy h1{font-size:2rem}.home-map-preview{min-height:260px}.home-actions{flex-direction:column;align-items:stretch}}.top-bar-account{white-space:nowrap;align-items:center;gap:6px;display:flex}.unlimited-toggle.active{color:#115e59;background:#ccfbf1;border-color:#0f766e}.signin-modal{background:#fff;border-radius:12px;width:min(420px,100vw - 32px);padding:22px 22px 18px;position:relative;box-shadow:0 24px 60px #0f172a47}.signin-modal-close{position:absolute;top:10px;right:10px}.saved-watersheds-trigger{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);height:36px;color:var(--text-main);font:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:0 6px 0 4px;font-size:.82rem;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.saved-watersheds-trigger-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.saved-watersheds-trigger-label{padding-right:4px}.saved-watersheds-count{border-radius:var(--radius-full);color:#475569;font-variant-numeric:tabular-nums;background:#f1f5f9;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-grid}.saved-watersheds-trigger:hover{border-color:var(--border-strong);box-shadow:0 1px 2px #0f172a0f}.saved-watersheds-trigger:hover .saved-watersheds-trigger-icon,.saved-watersheds-trigger[aria-expanded=true] .saved-watersheds-trigger-icon{background:var(--accent);color:#fff}.saved-watersheds-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.saved-watersheds-modal{flex-direction:column;width:min(820px,94vw);max-height:min(760px,85vh);padding:0;display:flex;overflow:hidden}.saved-watersheds-modal-header{border-bottom:1px solid var(--border);flex:none;padding:22px 58px 16px 22px;position:relative}.saved-watersheds-modal-header h2{font-size:1.15rem;line-height:1.25}.saved-watersheds-modal-header>p{color:var(--text-muted);margin-top:3px;font-size:.82rem}.saved-watersheds-toolbar{gap:9px;margin-top:16px;display:flex}.saved-watersheds-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:0;color:var(--text-muted);background:var(--surface);flex:1;align-items:center;gap:7px;padding:0 10px;display:flex}.saved-watersheds-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.saved-watersheds-search input{width:100%;min-width:0;height:36px;color:var(--text-main);font:inherit;background:0 0;border:0;outline:0}.saved-watersheds-sort select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);height:38px;color:var(--text-main);background:var(--surface);font:inherit;padding:0 30px 0 10px}.saved-watersheds-list{align-content:start;gap:8px;min-height:0;padding:14px 22px 0;display:grid;overflow-y:auto}.saved-watersheds-status,.saved-watersheds-empty{color:var(--text-muted);text-align:center}.saved-watersheds-status{padding:24px}.saved-watersheds-empty{justify-items:center;gap:5px;padding:48px 20px;display:grid}.saved-watersheds-empty svg{color:var(--accent)}.saved-watersheds-empty h3{color:var(--text-main);font-size:.95rem}.saved-watershed-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:14px;min-width:0;padding:10px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.saved-watershed-row:hover,.saved-watershed-row:focus-within{border-color:#bfdbfe;box-shadow:0 4px 14px #0f172a12}.saved-watershed-thumbnail{color:#64748b;background:linear-gradient(160deg,#f0f7ff,#e0efff);border-radius:10px;flex:0 0 60px;place-items:center;width:60px;height:60px;display:grid;overflow:hidden}.saved-watershed-thumbnail svg{width:50px;height:50px}.saved-watershed-thumbnail path{fill:#2563eb29;stroke:#2563eb;stroke-width:2px;stroke-linejoin:round}.saved-watershed-thumbnail-fallback{background:#f8fafc}.saved-watershed-details{flex:auto;min-width:0}.saved-watershed-details>strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:650;display:block;overflow:hidden}.saved-watershed-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:2px 0;margin-top:3px;font-size:.8rem;line-height:1.45;display:flex}.saved-watershed-meta>*+:before{content:"·";color:#cbd5e1;margin:0 7px}.saved-watershed-area{color:#334155;font-variant-numeric:tabular-nums;font-weight:600}.saved-watershed-locked{border-radius:var(--radius-full);color:#92400e;background:#fef3c7;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.saved-watershed-row-actions{flex:none;align-items:center;gap:6px;display:flex}.saved-watershed-action{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:#334155;min-width:34px;height:34px;font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.saved-watershed-action svg{flex-shrink:0}.saved-watershed-action:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted);color:var(--text-main)}.saved-watershed-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.saved-watershed-action:disabled{opacity:.55;cursor:not-allowed}.saved-watershed-report-link svg{color:#64748b}.saved-watershed-open{border-color:var(--accent);background:var(--accent);color:#fff;padding:0 12px 0 15px}.saved-watershed-open svg{transition:transform .15s}.saved-watershed-open:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}.saved-watershed-open:hover:not(:disabled) svg{transform:translate(2px)}.saved-watershed-more{color:#64748b;background:0 0;border-color:#0000;width:34px;padding:0}.saved-watershed-more[aria-expanded=true]{border-color:var(--border);background:var(--surface-muted);color:var(--text-main)}.saved-watershed-overflow{position:relative}.saved-watershed-menu{z-index:2;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:132px;box-shadow:var(--shadow-1);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.saved-watershed-menu button{color:var(--text-main);font:inherit;text-align:left;background:0 0;border:0;border-radius:5px;padding:7px 8px}.saved-watershed-menu button:hover{background:var(--surface-muted)}.saved-watershed-menu .danger,.btn-danger{color:#b91c1c}.btn-danger{background:#fff1f2;border-color:#fecaca}.saved-watershed-rename{margin-top:10px}.saved-watershed-delete-backdrop{z-index:4;background:#0f172a61;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.saved-watershed-delete-dialog{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:min(420px,100%);padding:22px;box-shadow:0 20px 48px #0f172a38}.saved-watershed-delete-dialog h3{font-size:1rem}.saved-watershed-delete-dialog>p{color:var(--text-main);margin-top:9px}.saved-watershed-delete-dialog .saved-watershed-delete-note{color:var(--text-muted);font-size:.82rem}.saved-watershed-delete-error{background:#fff1f2;border-radius:6px;padding:8px 10px;font-size:.82rem;color:#b91c1c!important}.saved-watershed-delete-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.saved-watersheds-more{margin:12px auto;display:block}.saved-watersheds-credit-note{color:var(--text-muted);text-align:center;padding:6px 0 16px;font-size:.76rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=620px){.saved-watersheds-modal{width:min(100vw - 16px,820px);max-height:90vh}.saved-watersheds-modal-header,.saved-watersheds-list{padding-left:14px;padding-right:14px}.saved-watersheds-toolbar{flex-direction:column;align-items:stretch}.saved-watersheds-sort select{width:100%}.saved-watershed-row{flex-wrap:wrap;gap:10px 12px}.saved-watershed-details{flex-basis:calc(100% - 60px)}.saved-watershed-thumbnail{flex-basis:48px;width:48px;height:48px}.saved-watershed-thumbnail svg{width:40px;height:40px}.saved-watershed-row-actions{width:100%;padding-left:60px}.saved-watershed-action{min-width:40px;height:40px}.saved-watershed-open{flex:1}.saved-watershed-more{width:40px}}.signin-form{gap:8px;display:grid}.google-signin-button{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:4px;justify-content:center;align-items:center;gap:.6rem;min-height:40px;font:500 14px/20px Arial,sans-serif;text-decoration:none;display:flex}.google-signin-button:hover{background:#f8faff;border-color:#1a73e8}.google-signin-mark{color:#4285f4;font-size:18px;font-weight:700}.signin-or{text-align:center;margin:.65rem 0}.signin-modal .export-unlock-form{flex-direction:column}.signin-modal .export-unlock-form .btn{width:100%}.export-unlock-form.signin-form-stacked{flex-flow:column}.signin-segment{color:#475569;gap:4px;font-size:.76rem;display:grid}.signin-segment select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px;font-size:.82rem}.signin-lead{color:#0f172a;margin:0;font-size:.9rem;font-weight:650}.link-button{color:#0369a1;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{color:#075985}.signin-switch{margin:0}.support-line{align-items:center;gap:6px;display:flex}.admin-page{max-width:1100px;color:var(--text-main);margin:0 auto;padding:32px 24px 64px}.admin-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:16px;display:flex}.admin-header h1{margin:0;font-size:1.25rem}.admin-windows{gap:4px;display:flex}.admin-windows button{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:.8rem}.admin-windows button.is-selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:24px 0;display:grid}.admin-kpi{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.admin-kpi-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.admin-kpi-label{color:var(--text-muted);font-size:.78rem}.admin-sections{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.admin-table h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px;font-size:.85rem}.admin-table table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table td{border-bottom:1px solid var(--border);padding:6px 0}.admin-table .admin-count{text-align:right;font-variant-numeric:tabular-nums}.admin-empty,.admin-footer{color:var(--text-muted);font-size:.82rem}.admin-error{color:#b91c1c}.admin-footer{border-top:1px solid var(--border);margin-top:32px;padding-top:12px}.legal-page{background:var(--surface);min-height:100vh;color:var(--text-main)}.legal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.legal-brand img{width:auto;height:28px;display:block}.legal-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;font-size:14px;display:flex}.legal-language-switch{position:relative}.legal-language-switch summary{cursor:pointer;color:var(--accent);list-style:none}.legal-language-switch summary::-webkit-details-marker{display:none}.legal-language-switch summary:after{content:" ▾"}.legal-language-switch nav{z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:8rem;padding:6px;display:grid;position:absolute;inset-inline-end:0;box-shadow:0 8px 20px #0f172a26}.legal-language-switch nav a{border-radius:5px;padding:6px 8px;text-decoration:none}.legal-language-switch nav a:hover,.legal-language-switch nav a[aria-current=page]{background:var(--surface-muted)}.legal-body{max-width:42rem;margin:0 auto;padding:40px 24px 64px;font-size:15px;line-height:1.65}.legal-body h1{margin:0 0 4px;font-size:30px;line-height:1.2}.legal-effective{color:var(--text-muted);margin:0 0 28px;font-size:13px}.legal-section{margin-top:32px}.legal-section h2{margin:0 0 10px;font-size:18px;line-height:1.35}.legal-body p{margin:0 0 12px}.legal-body ul{margin:0 0 12px;padding-left:20px}.legal-body li{margin-bottom:10px}.legal-body li p{margin:0}.legal-footer{max-width:42rem;margin:0 auto;padding:0 24px 48px;font-size:14px}.legal-page a{color:var(--accent)}.legal-page[dir=rtl] .legal-body,.legal-page[dir=rtl] .legal-footer{text-align:right}.legal-links{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;display:flex}.legal-links a{color:var(--text-muted);text-decoration:none}.legal-links a:hover{color:var(--accent);text-decoration:underline}.home-footer{padding:0 32px 32px}.sidebar-legal{border-top:1px solid var(--border);margin:auto 0 0;padding:10px 16px 14px}.watershed-result-actions{gap:10px;margin-top:16px;display:grid}.watershed-result-actions a{text-decoration:none}.watershed-layers{border-top:1px solid var(--border-color,#dbe2e8);margin-top:16px}.watershed-layers>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.watershed-layer-controls{gap:12px;display:grid}.watershed-layer-controls select{width:100%;min-height:44px;display:block}.watershed-layers .check-row{min-height:44px}.watershed-layers small{color:var(--text-muted);font-size:.75rem;display:block}.layer-line-symbol{border-top:3px solid;flex-shrink:0;width:25px;display:inline-block}.map-basemap-control{align-items:center;gap:8px;display:flex}@media (width<=900px){.map-loading-indicator{max-width:calc(100% - 48px);top:auto;bottom:88px}}.layer-fill-symbol{border:6px solid;width:20px;height:12px}.context-legend{margin-left:auto}.watershed-layers summary:focus-visible{outline:2px solid var(--accent-primary,#1a73e8);outline-offset:2px}.layer-group{border:0;min-width:0;margin:0;padding:0}.layer-group legend{margin-bottom:8px;font-weight:650}.app-shell{inset:var(--workspace-viewport-top,0px) 0 auto;height:var(--workspace-viewport-height,100dvh);position:fixed}.sidebar-mobile-label,.sidebar-selection-hint,.sidebar-size-btn,.top-bar-search-toggle{display:none}.sidebar-tabs>.sidebar-collapse-btn{margin-left:0}.sidebar.collapsed .sidebar-tabs{border:0;padding:0}.sidebar.collapsed .sidebar-tab{display:none}a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.signin-modal{max-height:calc(100dvh - 48px);overflow-y:auto}.saved-watersheds-modal{overflow:hidden}@media (width<=900px){.workspace{flex-direction:column}.map-region{order:0;min-height:0}.sidebar,.sidebar.collapsed{z-index:auto;border-right:0;border-top:1px solid var(--border);width:100%;padding:0;padding-bottom:env(safe-area-inset-bottom);order:1;align-items:stretch;gap:0;position:relative;inset:auto;box-shadow:0 -3px 12px #0f172a14}.sidebar{flex:0 0 45%}.sidebar.expanded{flex-basis:70%}.sidebar.collapsed{flex:none}.sidebar-tabs,.sidebar.collapsed .sidebar-tabs{flex-shrink:0;gap:8px;min-height:52px;padding:4px 8px}.sidebar-tab{display:none}.sidebar-mobile-label{display:inline}.sidebar-selection-hint{color:var(--text-muted);font-size:.78rem;display:block}.sidebar-rail-btn,.sidebar-collapse-btn,.sidebar-size-btn{border-radius:var(--radius-sm);background:var(--surface-muted);width:auto;min-width:44px;height:44px;color:var(--text-main);font:inherit;cursor:pointer;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.82rem;display:flex}.sidebar-size-btn{margin-left:auto}.sidebar .guided-creator{gap:8px;padding:10px 16px}.sidebar-legal{padding-top:4px;padding-bottom:4px}.top-bar{flex-wrap:wrap;flex:none;gap:4px;min-height:52px;padding:4px 8px}.top-bar-left{flex:1}.top-bar-logo{width:70px}.top-bar-separator{display:none}.top-bar-right{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0;max-width:calc(100% - 96px)}.top-bar-search-toggle{flex-shrink:0;display:inline-flex}.top-bar-search{display:none}.top-bar.search-open .top-bar-search{flex:0 0 100%;order:3;padding:4px 0;display:flex}.top-bar .geo-search{max-width:none}.top-bar .geo-search input{font-size:16px}.top-bar .btn,.top-bar .btn-icon,.geo-search-clear,.geo-search-submit{min-width:44px;min-height:44px}.top-bar .btn{padding-left:10px;padding-right:10px}.top-bar-account.signed-in{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0}.sidebar button,.sidebar summary,.sidebar input,.signin-modal button,.signin-modal input,.signin-modal select{min-height:44px}.sidebar input:not([type=checkbox]),.signin-modal input,.signin-modal select{font-size:16px}.sidebar input[type=checkbox]{min-height:auto}.watershed-layer-toggle{min-height:44px}.map-region>button{min-width:44px;min-height:44px}.search-dropdown{max-height:min(300px,45dvh)}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=480px){.top-bar-brand{display:none}.top-bar-left{flex:none}.top-bar-right{margin-left:auto}}@media (width<=900px){.sidebar .guided-creator{overflow:hidden auto}.sidebar .guided-header,.sidebar .guided-step-body{flex:none}.sidebar .guided-step-body{margin:0;padding:0;overflow:visible}.sidebar-legal{flex-shrink:0}.map-basemap-control button,.sidebar a.btn{min-width:44px;min-height:44px}.app-shell .modal-backdrop{top:var(--workspace-viewport-top,0px);height:var(--workspace-viewport-height,100dvh);padding:12px;bottom:auto}.app-shell .signin-modal,.app-shell .export-preview-modal{max-height:calc(var(--workspace-viewport-height,100dvh) - 24px)}}.export-disposition-actions{flex-wrap:wrap;gap:6px;display:flex}.export-disposition-actions .export-element-select{min-height:32px;padding:4px 10px;font-size:.8rem}@media (pointer:coarse){.export-disposition-actions .export-element-select{min-height:44px}}.top-bar-btn{color:#334155;white-space:nowrap;background:0 0;border:1px solid #0000;gap:7px;height:36px;padding:0 12px;font-size:.84rem;font-weight:550}.top-bar-btn:hover:not(:disabled){color:var(--text-main);background:#f1f5f9}.top-bar-btn svg{color:#64748b;flex-shrink:0}.top-bar-btn:hover:not(:disabled) svg{color:var(--text-main)}.top-bar-signin{border-color:var(--border)}.top-bar-signin:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.top-bar-account.signed-in{gap:4px}.top-bar-account .btn-icon.compact{color:#64748b;background:0 0;border-color:#0000;width:36px;height:36px}.top-bar-account .btn-icon.compact:hover{color:var(--text-main);background:#f1f5f9}.credits-control{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);height:36px;color:var(--text-main);font:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:7px;padding:0 4px 0 11px;font-size:.82rem;transition:border-color .15s,box-shadow .15s;display:inline-flex}.credits-control>svg{color:#d97706;flex-shrink:0}.credits-control strong{font-variant-numeric:tabular-nums;font-weight:650}.credits-control-unit,.credits-control-trial{color:var(--text-muted)}.credits-control-buy{border-radius:var(--radius-full);background:var(--accent);color:#fff;align-items:center;gap:3px;height:28px;padding:0 11px 0 8px;font-size:.8rem;font-weight:600;transition:background .15s;display:inline-flex}.credits-control:hover{border-color:var(--border-strong);box-shadow:0 1px 2px #0f172a0f}.credits-control:hover .credits-control-buy{background:var(--accent-hover)}.credits-control.static{cursor:default;padding-right:12px}.credits-control.static>svg{color:#0f766e}.map-layers-btn{box-shadow:var(--shadow-float);color:var(--accent);border-radius:50%}.map-layers-btn:hover{background:var(--surface-muted);border-color:var(--border-strong)}.map-layers-btn.active,.map-layers-btn.active:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.map-layers-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-layers-host{display:contents}.map-layers-popover{z-index:30;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:normal;background:#fffffff7;border:1px solid #94a3b880;flex-direction:column;width:min(310px,100% - 90px);max-height:calc(100% - 132px);margin:0;animation:.14s ease-out map-layers-in;display:flex;position:absolute;top:72px;left:74px;box-shadow:0 14px 34px #0f172a33}@keyframes map-layers-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.map-layers-popover{animation:none}}.map-layers-popover-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.map-layers-popover-header h2{color:var(--text-main);margin:0;font-size:.9rem;font-weight:650}.map-layers-popover-close{color:#64748b;background:0 0;border-color:#0000;border-radius:50%;width:32px;height:32px}.map-layers-popover-close:hover{background:var(--surface-muted);color:var(--text-main)}.map-layers-popover-body{overscroll-behavior:contain;gap:14px;min-height:0;padding:14px 16px 16px;display:grid;overflow-y:auto}.map-layers-popover-body .guided-step{background:0 0;border:0;margin:0;padding:0}.map-layers-popover .layer-group legend,.map-layers-popover .watershed-layer-controls>label{color:#475569;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.map-layers-popover .watershed-layer-controls select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text-main);font:inherit;padding:0 10px;font-size:.86rem}.map-layers-popover .check-row{min-height:40px}.modal-backdrop{white-space:normal}.buy-credits-modal{width:min(540px,100vw - 32px);padding:26px 24px 20px}.buy-credits-header{gap:8px;margin-bottom:18px;padding-right:40px;display:grid}.buy-credits-header h2{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:650}.buy-credits-header p{margin:0;font-size:.84rem;line-height:1.5}.buy-credits-balance{border-radius:var(--radius-full);border:1px solid var(--border);color:#475569;background:#f8fafc;justify-self:start;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;display:inline-flex}.buy-credits-balance svg{color:#d97706}.buy-credits-balance strong{color:var(--text-main)}.buy-credits{gap:14px;display:grid}.buy-credits-packs{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.buy-credits-pack{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:4px;padding:16px;display:flex}.buy-credits-pack.featured{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.buy-credits-pack-head{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.buy-credits-pack-name{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.buy-credits-pack-badge{border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);padding:2px 8px;font-size:.7rem;font-weight:650}.buy-credits-pack-price{color:var(--text-main);letter-spacing:-.02em;font-size:1.9rem;font-weight:700;line-height:1.15}.buy-credits-pack-credits{color:var(--text-main);font-size:.86rem}.buy-credits-pack-credits span{color:var(--text-muted)}.buy-credits-pack-tagline{margin:0;font-size:.8rem}.buy-credits-pack-button{width:100%;margin-top:12px}.buy-credits-footnote{color:var(--text-muted);text-align:center;margin:0;font-size:.76rem}.buy-credits-footnote svg{vertical-align:-2px;margin-right:5px}@media (width<=1180px){.credits-control-trial{display:none}}@media (width<=900px){.top-bar-btn,.top-bar-account .btn-icon.compact{min-width:44px;height:44px}.top-bar-btn{padding:0 10px}.credits-control{height:44px;padding-left:10px}.credits-control-unit,.credits-control-buy-label{display:none}.saved-watersheds-trigger{background:0 0;border-color:#0000;justify-content:center;width:44px;height:44px;padding:0}.saved-watersheds-trigger-icon{width:32px;height:32px}.saved-watersheds-trigger-label,.saved-watersheds-count{display:none}.map-layers-popover{width:calc(100% - 32px);max-height:calc(100% - 144px);top:128px;left:16px}.credits-control-buy{justify-content:center;width:30px;height:30px;padding:0}.top-bar-right,.top-bar-account.signed-in{flex-wrap:nowrap}.top-bar-right{max-width:none}.buy-credits-modal{padding:22px 18px 16px}.buy-credits-header{margin-bottom:14px}.buy-credits-pack{padding:14px}.buy-credits-pack-price{font-size:1.6rem}.buy-credits-pack-button{margin-top:8px}}
