:root{--primary-blue: #0066cc;--primary-blue-dark: #0052a3;--light-gray: #f9fafb;--border-gray: #e5e7eb;--text-dark: #1f2937;--text-light: #6b7280;--text-muted: #9ca3af;--success-green: #10b981;--error-red: #ef4444;--warning-yellow: #f59e0b;--primary-blue-light: #eff6ff;--primary-blue-border: #bfdbfe;--border-light: #f0f0f0;--surface-muted: #f8fafc;--surface-white: #ffffff;--surface-gray-100: #f3f4f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--border-radius-xs: .25rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-ml: .625rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.25rem;--border-radius-pill: 1.5rem;--border-radius-round: 999px;--border-radius-full: 50%;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--chat-bg: #fafafa;--chat-message-max-width: 768px;--chat-user-bg: #0066cc;--chat-user-text: #ffffff;--chat-agent-bg: #ffffff;--chat-agent-text: #1f2937;--input-bg: #ffffff;--input-border: #e0e0e0;--input-border-focus: #0066cc;--input-shadow: 0 2px 8px rgba(0, 0, 0, .08);--input-radius: 24px;--shadow-glass: 0 8px 32px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-glass-hover: 0 12px 40px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .05);--shadow-control: 0 2px 8px rgba(0, 0, 0, .15);--shadow-control-hover: 0 4px 12px rgba(0, 0, 0, .2);--shadow-glow-blue: 0 4px 14px rgba(26, 46, 90, .25);--shadow-glow-blue-hover: 0 6px 20px rgba(26, 46, 90, .35);--gradient-navy: #1a2e5a;--gradient-blue: #2563e0;--gradient-blue-light: #3b82f6;--gradient-indigo: #667eea;--gradient-purple: #764ba2;--gradient-green: #10b981;--gradient-green-dark: #059669;--transition-fast: .15s ease;--transition-fast-out: .15s ease-out;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-collapse: .3s cubic-bezier(.4, 0, .2, 1);--transition-entrance: .2s cubic-bezier(.2, 0, 0, 1);--font-size-3xs: .625rem;--font-size-2xs: .7rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", Monaco, Consolas, monospace;--z-controls: 1000;--z-menu: 1100;--z-page-overlay: 1200;--z-modal: 1300;--z-toast: 1400;--z-critical: 1500;--status-error-bg: #fef2f2;--status-error-tint: #fee2e2;--status-error-border: #fecaca;--status-error-text: #dc2626;--status-warning-bg: #fff7ed;--status-warning-tint: #fef3c7;--status-warning-border: #b45309;--status-warning-border-subtle: #fed7aa;--status-warning-strong: #b45309;--status-warning-text: #92400e;--status-success-bg: #ecfdf5;--status-success-border: #a7f3d0;--status-success-text: #047857;--status-info-bg: var(--primary-blue-light);--status-info-border: var(--primary-blue-border);--status-info-text: var(--primary-blue-dark);--ols-purple: #7c3aed;--ols-purple-dark: #5b21b6;--overlay-scrim: rgba(15, 23, 42, .45)}*{margin:0;padding:0;box-sizing:border-box}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#00000040}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}html,body{height:100%;overflow:hidden;overscroll-behavior:none;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-dark);background-color:var(--light-gray)}#root{height:100%}.app-container{position:relative;height:100vh;overflow:hidden}.sidebar{position:absolute;top:12px;left:12px;bottom:12px;width:400px;background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-glass);display:flex;flex-direction:column;z-index:10;overflow:hidden;transition:transform var(--transition-collapse),box-shadow var(--transition-normal)}.sidebar:hover:not(.collapsed){box-shadow:var(--shadow-glass-hover)}.sidebar.collapsed{transform:translate(calc(-100% - 12px))}.sidebar-toggle{position:absolute;top:50%;left:412px;transform:translateY(-50%);width:24px;height:48px;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;background-color:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-left:none;box-shadow:2px 0 8px #0000000f;cursor:pointer;z-index:11;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:transform var(--transition-collapse),color var(--transition-fast),background-color var(--transition-fast)}.sidebar-toggle:hover{color:var(--text-dark);background-color:var(--light-gray)}.sidebar-toggle-collapsed{transform:translateY(-50%) translate(-412px)}@keyframes fabScaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.sidebar-designs-fab{position:absolute;bottom:32px;left:424px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;background-color:#fff;color:var(--primary-blue);border:1px solid var(--border-light);border-radius:50%;font-size:0;cursor:pointer;z-index:11;box-shadow:0 2px 12px #0000001f;animation:fabScaleIn .2s ease-out;transition:transform var(--transition-collapse),opacity var(--transition-normal),box-shadow var(--transition-fast),color var(--transition-fast)}.sidebar-designs-fab-hidden{opacity:0;pointer-events:none}.sidebar-designs-fab:hover{color:var(--primary-blue-dark);box-shadow:0 4px 16px #0000002e}.sidebar-designs-fab .designs-fab-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background-color:var(--primary-blue);color:#fff;border-radius:9px;font-size:var(--font-size-2xs);font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.sidebar-designs-fab-loading{cursor:pointer;animation:fabScaleIn .2s ease-out,fabPulse 1.5s ease-in-out infinite}@keyframes fabPulse{0%,to{box-shadow:0 2px 12px #0000001f}50%{box-shadow:0 2px 16px #0066cc4d}}.sidebar-designs-fab-collapsed{transform:translate(-412px)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sidebar-content-enter{animation:fadeSlideIn .2s cubic-bezier(.2,0,0,1)}.collapsible-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-collapse)}.collapsible-wrapper.expanded{grid-template-rows:1fr}.collapsible-inner{overflow:hidden;transition:opacity var(--transition-collapse);opacity:0}.collapsible-wrapper.expanded .collapsible-inner{opacity:1}.collapsible-chevron{transition:transform var(--transition-collapse);color:var(--text-light);font-size:1.25rem!important}.collapsible-chevron-open{transform:rotate(180deg)}.main-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.map-container{width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-gray);border-radius:50%;border-top-color:var(--primary-blue);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background:var(--light-gray);z-index:var(--z-page-overlay);opacity:0;animation:boot-fade-in var(--transition-normal) .25s forwards}@keyframes boot-fade-in{to{opacity:1}}.boot-screen-overlay{position:absolute;background:#ffffffe6;z-index:1050}.boot-screen-mark{width:40px;height:40px}.boot-screen-label{font-size:var(--font-size-md);color:var(--text-light)}@media (prefers-reduced-motion: reduce){.boot-screen{animation-duration:0s}}@keyframes envelope-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slideDownFull{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideProgress{0%{transform:translate(-100%)}50%{transform:translate(300%)}to{transform:translate(-100%)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);text-decoration:none}.btn-primary{background-color:var(--primary-blue);color:#fff}.btn-primary:hover{background-color:var(--primary-blue-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-generate{background:linear-gradient(135deg,var(--gradient-navy) 0%,var(--gradient-blue) 60%,var(--gradient-blue-light) 100%);color:#fff;padding:.875rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.18);width:100%;box-shadow:var(--shadow-glow-blue);letter-spacing:.01em;opacity:1;transition:opacity .5s ease,box-shadow .5s ease,transform .3s ease}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-blue-hover);border-color:#ffffff4d}.btn-generate:hover:not(:disabled) .MuiSvgIcon-root{animation:sparkle-pulse .8s ease-in-out infinite alternate}@keyframes sparkle-pulse{0%{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.15)}}.btn-generate:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #1a2e5a33}.btn-generate:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #1a2e5a1a;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.25) 50%,transparent 100%),linear-gradient(135deg,var(--gradient-navy) 0%,var(--gradient-blue) 60%,var(--gradient-blue-light) 100%);background-size:200% 100%,100% 100%;animation:shimmer-sweep 3s ease-in-out infinite}@keyframes shimmer-sweep{0%{background-position:-100% 0,0 0}40%{background-position:200% 0,0 0}80%{background-position:-100% 0,0 0}to{background-position:-100% 0,0 0}}.btn-generate:disabled .MuiSvgIcon-root{animation:spin-slow 1.5s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-secondary{background-color:#fff;color:var(--text-dark);border:1px solid var(--border-gray)}.btn-secondary:hover{background-color:var(--light-gray)}.btn-option{padding:.5rem .75rem;font-size:var(--font-size-md);font-weight:500;border:2px solid var(--border-gray);border-radius:var(--border-radius-md);background-color:#fff;color:var(--text-dark);cursor:pointer;transition:all .15s ease;white-space:nowrap}.config-option-row{display:flex;flex-wrap:wrap;gap:.5rem}.btn-option:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.btn-option:active{transform:translateY(0);box-shadow:none}.btn-option-selected{border-color:var(--primary-blue);background-color:var(--primary-blue-light);color:var(--primary-blue)}.btn-option:disabled{cursor:not-allowed;opacity:.45}.btn-sm{padding:.3rem .8rem;font-size:var(--font-size-sm)}.btn-ghost{background:transparent;transition:background-color var(--transition-fast),color var(--transition-fast)}.btn-ghost:hover{background-color:var(--light-gray)!important}.btn-accent{background-color:var(--primary-blue-light);color:var(--primary-blue);border:1px solid var(--primary-blue-border)}.btn-accent:hover{background-color:var(--primary-blue-border)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled:hover{transform:none;box-shadow:none}.btn-secondary:disabled{background-color:var(--light-gray)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-gray);border-radius:var(--border-radius-md);background:#fff;font-size:var(--font-size-md);font-family:inherit;transition:border-color .2s ease-in-out}.input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #0066cc1a}.input:disabled{background:var(--light-gray);color:var(--text-light);cursor:not-allowed}.error-message{color:var(--error-red);font-size:var(--font-size-md);margin-top:var(--spacing-xs)}.chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border-gray);border-radius:var(--border-radius-pill);padding:2px 10px;font-size:var(--font-size-2xs);font-weight:600;background:#fff;color:var(--text-dark);white-space:nowrap}.chip-error{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.chip-warning{background:var(--status-warning-bg);border-color:var(--status-warning-strong);color:var(--status-warning-text)}.chip-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.chip-info{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}.callout{border:1px solid var(--border-gray);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);background:#fff;color:var(--text-dark)}.callout-error{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.callout-warning{background:var(--status-warning-bg);border-color:var(--status-warning-strong);color:var(--status-warning-text)}.callout-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.callout-info{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}.panel-cta{display:inline-block;margin-top:10px;padding:6px 12px;color:#fff;font-size:var(--font-size-sm);font-weight:600;text-decoration:none;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:filter var(--transition-fast)}.panel-cta:hover{filter:brightness(1.1)}.panel-cta:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.map-control-btn{position:relative;width:40px;height:40px;border-radius:50%;border:none;background-color:#fff;color:var(--text-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:var(--shadow-control);transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.map-control-btn:hover{box-shadow:var(--shadow-control-hover);transform:scale(1.05)}.map-control-btn-active{background-color:var(--primary-blue);color:#fff}.map-control-btn-active:hover{background-color:var(--primary-blue-dark)}.map-control-btn-sm{width:34px;height:34px}.map-control-btn:disabled{opacity:.5;cursor:not-allowed}.map-control-btn:disabled:hover{box-shadow:var(--shadow-control);transform:none}.mpop-popup .mapboxgl-popup-content{padding:0;overflow:hidden;border:1px solid var(--border-gray);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);font-family:var(--font-family);color:var(--text-dark)}.mpop-popup .mapboxgl-popup-close-button{top:.15rem;right:.3rem;padding:0 .15rem;color:var(--text-muted);font-size:var(--font-size-lg);line-height:1.2;background:none;border-radius:var(--border-radius-xs)}.mpop-popup .mapboxgl-popup-close-button:hover{color:var(--text-dark);background:var(--surface-gray-100)}.mpop-head{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.75rem .5rem .7rem;border-bottom:1px solid var(--border-light);background:var(--surface-muted)}.mpop-dot{width:9px;height:9px;flex:none;border-radius:var(--border-radius-full);border:1px solid rgb(0 0 0 / .18)}.mpop-title{font-weight:700;font-size:var(--font-size-sm);color:var(--text-dark)}.mpop-body{display:flex;flex-direction:column;gap:.3rem;padding:.55rem .7rem;font-size:var(--font-size-xs);line-height:1.45}.mpop-row{display:flex;gap:.4rem;align-items:baseline}.mpop-label{color:var(--text-light);flex:none}.mpop-value{color:var(--text-dark);font-weight:600;font-variant-numeric:tabular-nums}.mpop-note{font-weight:400}.mpop-sentence{color:var(--text-dark)}.mpop-unit{color:var(--text-light)}.measure-toolbox{display:flex;flex-direction:column;gap:2px;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:20px;padding:3px;box-shadow:var(--shadow-control)}.layers-control{position:absolute;top:20px;right:20px;z-index:var(--z-controls)}.layers-control-btn{width:40px;height:40px;border-radius:50%;border:none;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-light);box-shadow:var(--shadow-control);transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.layers-control-btn:hover{color:var(--text-dark);box-shadow:var(--shadow-control-hover);transform:scale(1.05)}.layers-control-btn-active{color:var(--primary-blue);background-color:var(--primary-blue-light)}.layers-control-panel{position:absolute;top:0;right:calc(100% + 10px);width:320px;max-height:calc(100vh - 40px);background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass);overflow-y:auto;transform-origin:top right;transform:scale(.95) translate(8px);opacity:0;pointer-events:none;transition:transform var(--transition-entrance),opacity var(--transition-entrance)}.layers-control-panel-open{transform:scale(1) translate(0);opacity:1;pointer-events:auto}.search-panel{position:absolute;top:0;right:calc(100% + 10px);width:360px;max-height:calc(100vh - 88px);display:flex;flex-direction:column;background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass);overflow:hidden;transform-origin:top right;transform:scale(.95) translate(8px);opacity:0;pointer-events:none;transition:transform var(--transition-entrance),opacity var(--transition-entrance)}.search-panel-open{transform:scale(1) translate(0);opacity:1;pointer-events:auto}.resume-chip{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:2px;background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);border-radius:999px;box-shadow:var(--shadow-glass);padding:4px 6px;max-width:min(520px,calc(100% - 32px));animation:resume-chip-in .25s ease-out}@keyframes resume-chip-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.resume-chip-action{display:flex;align-items:center;gap:var(--spacing-xs);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--text-dark);padding:6px 10px;border-radius:999px;min-width:0}.resume-chip-action span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-chip-action:hover:not(:disabled){background:#0000000d}.resume-chip-action:disabled{cursor:default;color:var(--text-light)}.resume-chip-dismiss{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--text-light);padding:6px;border-radius:50%}.resume-chip-dismiss:hover:not(:disabled){background:#0000000d;color:var(--text-dark)}.resume-chip-failed .resume-chip-action{color:var(--error-red, #c0392b)}.rs-wrap{position:relative;height:26px;margin-top:2px}.rs-track{position:absolute;top:11px;left:0;right:0;height:4px;background:var(--border-gray);border-radius:2px}.rs-fill{position:absolute;top:11px;height:4px;background:var(--primary-blue);border-radius:2px}.rs-input{position:absolute;top:0;left:0;width:100%;height:26px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.rs-input::-webkit-slider-runnable-track{background:none;height:26px}.rs-input::-moz-range-track{background:none;height:26px}.rs-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;width:16px;height:16px;margin-top:5px;border-radius:50%;background:#fff;border:2px solid var(--primary-blue);box-shadow:0 1px 3px #00000040;cursor:pointer}.rs-input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--primary-blue);box-shadow:0 1px 3px #00000040;cursor:pointer}.layers-control-header{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between}.layers-control-close{background:none;border:none;color:var(--text-light);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.layers-control-close:hover{background-color:#0000000d;color:var(--text-dark)}.layers-control-section{border-bottom:1px solid rgba(0,0,0,.06)}.layers-control-section-title{padding:12px 16px;display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-light)}.layers-control-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--font-size-xs);color:var(--text-dark)}.layers-control-sub-toggle{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:var(--font-size-2xs);color:var(--text-light);cursor:pointer}.layers-control-radio{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--font-size-xs);color:var(--text-dark);margin-bottom:6px;padding:4px;border-radius:var(--border-radius-sm);border:1px solid transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.layers-control-radio:hover{background-color:#00000008}.layers-control-radio-active{background-color:var(--primary-blue-light);border-color:var(--primary-blue)}.layers-control-terrain-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(0,0,0,.06);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--text-dark);transition:background-color var(--transition-fast)}.layers-control-terrain-toggle:hover{background-color:#00000008}.layers-control-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:34px;height:20px;background-color:#d1d5db;border-radius:var(--border-radius-ml);position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.layers-control-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.layers-control-switch:checked{background-color:var(--primary-blue)}.layers-control-switch:checked:after{transform:translate(14px)}.layers-control-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:4px;background:var(--border-gray);border-radius:2px;outline:none;cursor:pointer}.layers-control-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary-blue);cursor:pointer;box-shadow:0 1px 3px #0003}.layers-control-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary-blue);cursor:pointer;border:none;box-shadow:0 1px 3px #0003}.layers-control-slider:disabled{opacity:.4;cursor:not-allowed}.layers-control-slider:disabled::-webkit-slider-thumb{background:#9ca3af;cursor:not-allowed}.layers-control-slider:disabled::-moz-range-thumb{background:#9ca3af;cursor:not-allowed}.measure-pill{display:flex;align-items:center;gap:6px;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:20px;box-shadow:var(--shadow-control);padding:5px 8px 5px 12px;z-index:10;font-size:var(--font-size-xs);font-weight:600;color:#333}.measure-pill-text{white-space:nowrap}.measure-pill-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:transparent;color:#999;cursor:pointer;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.measure-pill-clear:hover{background:#00000014;color:#333}.gen-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;padding:32px;gap:28px}.gen-loading-grid{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,36px);gap:7px}.gen-loading-cell{width:36px;height:36px;border-radius:var(--border-radius-md);background-color:var(--gradient-blue);box-shadow:0 0 #2563e000;animation:gen-cell-in .5s cubic-bezier(.34,1.56,.64,1) both,gen-cell-wave 2.4s ease-in-out .7s infinite}.gen-loading-cell-empty{visibility:hidden}@keyframes gen-cell-in{0%{opacity:0;transform:scale(0) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes gen-cell-wave{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #2563e000}50%{opacity:.3;transform:scale(.65);box-shadow:0 0 20px 4px #2563e059}}.gen-loading-message{font-size:var(--font-size-md);color:var(--text-dark);text-align:center;min-height:40px;display:flex;align-items:center}.gen-loading-bar{width:100%;max-width:320px;height:8px;background-color:#d1d5db;border-radius:var(--border-radius-xs);overflow:hidden}.gen-loading-bar-fill{width:100%;height:100%;background:linear-gradient(90deg,var(--gradient-blue),var(--gradient-blue-light));border-radius:var(--border-radius-xs);box-shadow:0 0 8px #2563e066;transform-origin:left;transition:transform .5s ease-out}.gen-loading-footer{width:100%;max-width:320px;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--text-light);font-variant-numeric:tabular-nums}.gen-loading-cancel{margin-top:4px;padding:8px 18px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-light);background:transparent;border:1px solid rgba(0,0,0,.15);border-radius:var(--border-radius-md);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.gen-loading-cancel:hover{color:var(--text-dark);border-color:var(--text-light);background-color:#00000008}.gen-loading-phase{display:flex;align-items:center;gap:6px;text-transform:capitalize}.gen-loading-phase-dot{width:8px;height:8px;border-radius:50%;background-color:var(--primary-blue);animation:gen-phase-pulse 2s infinite}@keyframes gen-phase-pulse{0%,to{opacity:1}50%{opacity:.4}}.gen-loading-phase-dot-done{animation:none;background-color:var(--success-green)}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:var(--spacing-lg)}.sidebar-brand-divider{height:1px;background-color:var(--border-light);margin:0 var(--spacing-lg)}.sidebar-brand-logo{width:22px;height:22px}.sidebar-brand-name{font-size:var(--font-size-base);font-weight:600;letter-spacing:-.02em;color:var(--text-dark);flex:1}.sidebar-brand-signout{background:transparent;border:1px solid transparent;color:var(--text-light);cursor:pointer;padding:6px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sidebar-brand-signout:hover{color:var(--text-dark);background:#0000001a;border-color:#0000001f}.sidebar-stepper{display:flex;align-items:center;justify-content:center;gap:0;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md)}.sidebar-step{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 0;border:none;background:none;white-space:nowrap;transition:opacity var(--transition-fast)}.sidebar-step-indicator{width:14px;height:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-step-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-light);transition:color var(--transition-fast)}.sidebar-step:hover .sidebar-step-label{color:var(--text-dark)}.sidebar-step-dot{width:7px;height:7px;border-radius:50%;background-color:var(--border-gray);transition:background-color var(--transition-fast),transform var(--transition-fast)}.sidebar-step-active .sidebar-step-label{color:var(--primary-blue)}.sidebar-step-active .sidebar-step-dot{background-color:var(--primary-blue);transform:scale(1.3)}.sidebar-step-complete .sidebar-step-dot{background-color:var(--success-green)}.sidebar-step-complete .sidebar-step-label{color:var(--text-dark)}.sidebar-step-future{opacity:.5;cursor:default}.sidebar-step-separator{width:16px;height:1px;background-color:var(--border-gray);flex-shrink:0;margin:0 4px}.sidebar-step-complete+.sidebar-step-separator{background-color:var(--success-green)}.sidebar-persistent-address{padding:0 var(--spacing-lg) var(--spacing-md);font-size:var(--font-size-md);font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.property-header-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-dark)}.property-address{font-size:1.375rem;font-weight:700;color:var(--text-dark);line-height:1.2;margin-bottom:var(--spacing-lg)}.property-address-secondary{font-size:var(--font-size-lg);font-weight:600;color:var(--text-dark);margin-bottom:var(--spacing-lg)}.property-stats{background-color:#fff9;border-radius:var(--border-radius-lg);padding:1.25rem;margin-bottom:var(--spacing-lg)}.property-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.property-stat-label{display:block;font-size:var(--font-size-xs);font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.property-stat-value{font-size:var(--font-size-md);color:var(--text-dark);font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs)}.property-legal-desc{background-color:var(--light-gray);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.property-legal-desc-label{display:block;font-size:var(--font-size-md);font-weight:600;color:var(--text-dark);margin-bottom:var(--spacing-sm)}.property-legal-desc-text{font-size:var(--font-size-xs);color:var(--text-dark);line-height:1.5}.property-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--spacing-lg);text-align:center}.property-pinned-footer{padding:1.25rem var(--spacing-lg)}.property-pinned-divider{height:1px;background-color:var(--border-light);margin:0 var(--spacing-lg)}.design-type-card{display:flex;align-items:center;padding:1.25rem;margin:.75rem 0;background-color:#ffffffb3;border:1px solid var(--border-gray);border-radius:var(--border-radius-lg);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-sm)}.design-type-card:hover:not(.disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.design-type-card.disabled{cursor:not-allowed;opacity:.6}.design-type-icon{width:56px;height:56px;border-radius:var(--border-radius-md);background-color:var(--primary-blue-light);display:flex;align-items:center;justify-content:center;margin-right:1.5rem;flex-shrink:0}.design-type-content{flex:1}.design-type-name{font-size:var(--font-size-lg);font-weight:600;margin-bottom:.25rem;color:var(--text-dark)}.design-type-card.disabled .design-type-name{color:var(--text-light)}.design-type-desc{font-size:var(--font-size-md);color:var(--text-light);margin-bottom:.75rem}.results-address{font-size:var(--font-size-md);color:var(--text-light);display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.results-address-name{font-weight:500;color:var(--text-dark)}.results-zone-badge{background-color:var(--light-gray);padding:.125rem .5rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs)}.results-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.results-summary-main{font-size:var(--font-size-sm);color:var(--text-light)}.viewing-strip{display:flex;align-items:center;gap:.7rem;background:var(--primary-blue-light);border:1px solid var(--primary-blue-border);border-radius:var(--border-radius-md);padding:.55rem .75rem;margin-bottom:.25rem}.viewing-strip-rank{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--primary-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:700}.viewing-strip-body{min-width:0}.viewing-strip-eyebrow{display:flex;align-items:center;gap:.35rem;font-size:.62rem;font-weight:700;letter-spacing:.08em;color:var(--primary-blue);text-transform:uppercase}.viewing-strip-dot{width:7px;height:7px;border-radius:50%;background:var(--primary-blue)}@media (prefers-reduced-motion: no-preference){.viewing-strip-dot{animation:viewing-strip-pulse 2s ease-in-out infinite}}@keyframes viewing-strip-pulse{0%,to{opacity:1}50%{opacity:.35}}.viewing-strip-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-dark);margin:.1rem 0 0}.viewing-strip-spec{font-size:var(--font-size-xs);color:var(--text-light);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-rank-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.results-rank-label{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light)}.results-rank-seg{display:inline-flex;align-items:stretch;background:var(--surface-muted);border:1px solid var(--border-gray);border-radius:var(--border-radius-md);padding:2px;gap:2px}.results-rank-seg button{border:none;background:transparent;color:var(--text-light);font:inherit;font-size:var(--font-size-2xs);font-weight:500;padding:.28rem .7rem;border-radius:calc(var(--border-radius-md) - 2px);cursor:pointer;white-space:nowrap}.results-rank-seg button:hover:not(:disabled){color:var(--text-dark)}.results-rank-seg button:disabled{color:var(--border-gray);cursor:not-allowed}.results-rank-seg button.active{background:#fff;color:var(--primary-blue);font-weight:600;box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--primary-blue-border)}.results-filter-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border-gray);background:#fff;color:var(--text-light);font-size:var(--font-size-2xs);font-weight:500;padding:.28rem .7rem;border-radius:var(--border-radius-md);cursor:pointer;transition:filter var(--transition-fast)}.results-filter-chip:hover{filter:brightness(.96)}.results-filter-chip:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.results-filter-chip-on{border-color:var(--success-green);color:var(--status-success-text);background:#f0fdf4}.results-feas-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--primary-blue);background:#fff;color:var(--primary-blue);font-size:var(--font-size-2xs);font-weight:600;padding:.28rem .7rem;border-radius:var(--border-radius-md);cursor:pointer}.results-overflow{position:relative}.results-overflow summary{list-style:none;cursor:pointer;color:var(--text-light);font-size:1rem;line-height:1;padding:0 .4rem;border-radius:var(--border-radius-sm)}.results-overflow summary::-webkit-details-marker{display:none}.results-overflow summary:hover{background-color:var(--light-gray)}.results-overflow-menu{position:absolute;right:0;top:1.5rem;z-index:30;background:#fff;border:1px solid var(--border-gray);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);padding:.25rem}.results-overflow-menu button{background:none;border:none;border-radius:var(--border-radius-sm);padding:.4rem .625rem;font-size:var(--font-size-xs);color:var(--text-dark);cursor:pointer;white-space:nowrap}.results-overflow-menu button:hover{background-color:var(--light-gray)}.design-card-debug{margin-top:.75rem;border-top:1px dashed var(--border-gray);padding-top:.5rem}.design-card-debug summary{cursor:pointer;font-size:var(--font-size-2xs);color:var(--text-light);-webkit-user-select:none;user-select:none}.design-card-debug-body{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.variant-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.75rem}.variant-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border-gray);background:#fff;color:var(--text-dark);border-radius:var(--border-radius-round);padding:.2rem .6rem;font-size:var(--font-size-2xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.variant-chip:hover{border-color:var(--primary-blue)}.variant-chip-active{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.variant-chip-more{background:none;border-style:dashed;color:var(--text-light)}.variant-chip-disabled,.variant-chip-disabled:hover{background:var(--surface-muted);border-color:var(--border-gray);color:var(--text-light);opacity:.6;cursor:not-allowed}.relaxation-badge{border-radius:var(--border-radius-round);padding:.05rem .4rem;font-size:.6rem;font-weight:600;white-space:nowrap}.relaxation-badge-low{background:#f0fdf4;color:#166534}.relaxation-badge-mid{background:#fffbeb;color:var(--status-warning-text)}.relaxation-badge-high{background:var(--status-error-bg);color:#991b1b}.variant-chip-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;flex-shrink:0}.variant-chip-dot-advisory{background:#f59e0b}.variant-chip-active .variant-chip-dot{background:#fff}.compliance-dot{position:absolute;top:.5rem;right:.5rem;width:12px;height:12px;border-radius:50%;background:#ef4444;border:2px solid white;padding:0;cursor:pointer;box-shadow:0 1px 3px #00000040;transition:transform var(--transition-fast)}.compliance-dot:hover{transform:scale(1.25)}.compliance-dot-active{box-shadow:0 0 0 3px #ef444440}@media (prefers-reduced-motion: no-preference){.compliance-dot:not(.compliance-dot-active){animation:compliance-dot-pulse 2s infinite}}@keyframes compliance-dot-pulse{0%{box-shadow:0 0 #ef444473}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.adjustment-dot{position:absolute;top:.5rem;right:.5rem;width:12px;height:12px;border-radius:50%;background:#f59e0b;border:2px solid white;padding:0;cursor:pointer;box-shadow:0 1px 3px #00000040;transition:transform var(--transition-fast)}.adjustment-dot:hover{transform:scale(1.25)}.adjustment-dot-active{box-shadow:0 0 0 3px #f59e0b40}.preview-spinner{position:absolute;top:.5rem;right:.5rem;width:12px;height:12px;border:2px solid var(--border-gray);border-top-color:var(--primary-blue);border-radius:50%;animation:preview-spin .8s linear infinite;pointer-events:none}.preview-spinner-offset{right:1.75rem}@keyframes preview-spin{to{transform:rotate(360deg)}}.variant-compliance-panel{border:1px solid var(--border-gray);border-radius:var(--border-radius-sm);background:#fff;padding:.5rem .6rem;margin-bottom:.75rem}.variant-adjustment-panel{border:1px solid #fed7aa;border-radius:var(--border-radius-sm);background:#fffbeb;padding:.5rem .6rem;margin-bottom:.75rem}.cr{font-size:var(--font-size-xs);line-height:1.5;color:var(--text-dark)}.cr-header{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;cursor:pointer;padding:.1rem 0;-webkit-user-select:none;user-select:none}.cr-caret{color:var(--text-light);font-size:9px;width:10px;flex:none}.cr-verdict{display:inline-flex;align-items:center;font-weight:600;font-size:11px;color:#fff;padding:.1rem .55rem;border-radius:var(--border-radius-pill)}.cr-verdict-bad{background:#dc2626}.cr-verdict-good{background:#16a34a}.cr-chip-advisory{font-weight:600;font-size:11px;color:var(--status-warning-text);background:var(--status-warning-tint);border:1px solid #fde68a;padding:.05rem .5rem;border-radius:var(--border-radius-pill)}.cr-units-note{color:var(--text-light);font-size:11px}.cr-body{margin-top:.6rem;display:flex;flex-direction:column;gap:.6rem}.cr-scorecard{display:flex;flex-wrap:wrap;gap:.3rem}.cr-check{display:inline-flex;align-items:center;gap:.3rem;font-size:11px;font-weight:600;font-family:inherit;padding:.15rem .55rem;border-radius:var(--border-radius-pill);border:1px solid}.cr-check-glyph{font-size:10px}.cr-check-pass{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.cr-check-breach{color:#991b1b;border-color:var(--status-error-border);background:var(--status-error-bg);cursor:pointer}.cr-check-advisory{color:var(--status-warning-text);border-color:#fde68a;background:#fffbeb;cursor:pointer}.cr-check-breach:hover,.cr-check-advisory:hover{filter:brightness(.97)}.cr-unitstrip{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.cr-unitstrip-label{font-size:11px;color:var(--text-light);margin-right:.1rem}.cr-unit{display:inline-flex;align-items:center;gap:.3rem;font-size:11px;font-weight:600;font-family:inherit;color:var(--text-dark);border:1px solid var(--border-gray);background:#fff;padding:.12rem .55rem;border-radius:var(--border-radius-pill);cursor:pointer}.cr-unit:hover{border-color:#94a3b8}.cr-unit-on{border-color:var(--primary-blue);background:var(--primary-blue-light);color:var(--primary-blue-dark)}.cr-unit-dot{width:7px;height:7px;border-radius:50%;flex:none}.cr-unit-dot-compliant{background:#22c55e}.cr-unit-dot-breach{background:#ef4444}.cr-unit-dot-advisory{background:#f59e0b}.cr-unit-clear{font-size:11px;color:var(--primary-blue);border:0;background:none;padding:.1rem .2rem;cursor:pointer;font-family:inherit}.cr-groups{display:flex;flex-direction:column;gap:.5rem}.cr-grouphead{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-light);margin:.1rem 0 -.15rem}.cr-grouphead-row{display:flex;align-items:center;gap:.4rem;min-height:1.15rem}.cr-grouphead-note{display:block;font-weight:400;letter-spacing:0;text-transform:none;font-size:11px;margin-top:.05rem}.cr-section{border:1px solid var(--border-gray);border-radius:var(--border-radius-sm);overflow:hidden;background:#fff}.cr-section-breach{border-color:var(--status-error-border)}.cr-section-advisory{border-color:#fde68a}.cr-sechead{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.cr-section-breach .cr-sechead{background:var(--status-error-bg)}.cr-section-advisory .cr-sechead{background:#fffbeb}.cr-sechead-name{font-weight:700;font-size:var(--font-size-xs)}.cr-section-breach .cr-sechead-name{color:#991b1b}.cr-section-advisory .cr-sechead-name{color:var(--status-warning-text)}.cr-sechead-count{font-size:11px;color:var(--text-light)}.cr-sechead-worst{margin-left:auto;font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;padding:.02rem .45rem;border-radius:var(--border-radius-pill);white-space:nowrap}.cr-section-breach .cr-sechead-worst{color:#991b1b;background:var(--status-error-tint)}.cr-section-advisory .cr-sechead-worst{color:var(--status-warning-text);background:var(--status-warning-tint)}.cr-sechead-caret{color:var(--text-light);font-size:8px}.cr-rows{border-top:1px solid var(--border-light)}.cr-row{padding:.5rem .6rem .55rem;border-bottom:1px solid var(--border-light)}.cr-row:last-child{border-bottom:0}.cr-sentence{margin:0 0 .4rem;font-size:var(--font-size-xs)}.cr-unit-tag{display:inline-block;font-size:10px;font-weight:700;color:#374151;background:var(--surface-muted);border-radius:4px;padding:0 .3rem;margin-right:.35rem;vertical-align:1px}.cr-gauge{display:flex;flex-direction:column;gap:.15rem}.cr-gauge-bar{position:relative;height:8px;border-radius:4px;background:#eef2f6;overflow:hidden}.cr-gauge-fill{position:absolute;left:0;top:0;bottom:0;background:#94b8dd}.cr-gauge-deficit{position:absolute;top:0;bottom:0}.cr-gauge-deficit-breach{background:#ef4444}.cr-gauge-deficit-advisory{background:#f59e0b}.cr-gauge-limit{position:absolute;top:-2px;bottom:-2px;width:2px;background:#475569;border-radius:1px}.cr-gauge-legend{display:flex;justify-content:space-between;gap:.5rem;font-size:10.5px;color:var(--text-light);font-variant-numeric:tabular-nums}.cr-gauge-legend strong{color:var(--text-dark);font-weight:600}.cr-gauge-delta{font-weight:700;white-space:nowrap}.cr-gauge-delta-breach{color:#b91c1c}.cr-gauge-delta-advisory{color:var(--status-warning-strong)}.cr-more{margin-top:.35rem;font-size:11px;color:var(--primary-blue);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.cr-more:hover{text-decoration:underline}.cr-meas{margin-top:.3rem;display:grid;grid-template-columns:1fr 1fr;gap:.1rem .7rem;font-size:11px;color:#475569;font-variant-numeric:tabular-nums;background:var(--surface-muted);border:1px solid var(--border-light);border-radius:var(--border-radius-xs);padding:.4rem .55rem}.cr-meas strong{color:var(--text-dark);font-weight:600}.cr-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;width:100%;text-align:left;font-family:inherit;font-size:11.5px;border:1px solid;border-radius:var(--border-radius-sm);padding:.35rem .55rem;cursor:pointer;background:#fff}.cr-summary-breach{border-color:var(--status-error-border);background:var(--status-error-bg)}.cr-summary-advisory{border-color:#fde68a;background:#fffbeb}.cr-summary:hover{filter:brightness(.98)}.cr-summary-name{font-weight:700;min-width:0}.cr-summary-breach .cr-summary-name{color:#991b1b}.cr-summary-advisory .cr-summary-name{color:var(--status-warning-text)}.cr-summary-count{color:var(--text-light);font-size:11px}.cr-summary-worst{margin-left:auto;font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;padding:.02rem .45rem;border-radius:var(--border-radius-pill);white-space:nowrap}.cr-summary-breach .cr-summary-worst{color:#991b1b;background:var(--status-error-tint)}.cr-summary-advisory .cr-summary-worst{color:var(--status-warning-text);background:var(--status-warning-tint)}.cr-summary-arrow{color:var(--text-light);font-size:var(--font-size-sm);line-height:1}.cr-viewfull{width:100%;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--primary-blue);background:#fff;border:1px solid var(--primary-blue-border);border-radius:var(--border-radius-sm);padding:.35rem .55rem;cursor:pointer}.cr-viewfull:hover{background:var(--primary-blue-light)}.cr-actions{display:flex;gap:.35rem;align-items:stretch}.cr-actions .cr-viewfull{flex:1}.cr-clearmap{font-family:inherit;font-size:11.5px;font-weight:600;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:var(--border-radius-sm);padding:.35rem .55rem;cursor:pointer;white-space:nowrap}.cr-clearmap:hover{background:var(--surface-muted)}.cr-rowactions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cr-viewmap{margin-top:.35rem;font-family:inherit;font-size:11px;font-weight:600;color:var(--primary-blue);background:#fff;border:1px solid var(--primary-blue-border);border-radius:var(--border-radius-sm);padding:.2rem .5rem;cursor:pointer;white-space:nowrap}.cr-viewmap:hover{background:var(--primary-blue-light)}.cr-viewmap-section{margin-top:0;margin-left:.4rem;font-size:10.5px}.cr-viewmap-group{margin-top:0;margin-left:auto;font-size:10px;padding:.1rem .45rem;text-transform:none;letter-spacing:normal}.crd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;animation:fadeIn var(--transition-fast-out)}.crd-panel{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-hover);width:min(640px,100%);max-height:min(85vh,100%);display:flex;flex-direction:column;overflow:hidden;animation:fadeSlideIn var(--transition-fast-out)}.crd-head{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-light)}.crd-title{font-weight:700;font-size:var(--font-size-md);color:var(--text-dark);margin-right:.2rem}.crd-close{margin-left:auto;display:inline-flex;align-items:center;gap:.2rem;font-family:inherit;font-size:11.5px;color:var(--text-dark);background:none;border:1px solid var(--border-gray);border-radius:var(--border-radius-sm);padding:.25rem .55rem;cursor:pointer}.crd-close:hover{background:var(--surface-muted)}.crd-body{overflow-y:auto;padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.6rem}.cr-allgood{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius-sm);color:#166534;text-align:center;padding:.6rem;font-size:var(--font-size-xs)}.cr-nodetail{background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--border-radius-sm);color:#991b1b;padding:.5rem .6rem;font-size:11.5px}.cr-nodetail-line{color:#7f1d1d;margin-top:.15rem}.cr-footer{font-size:10.5px;color:var(--text-muted)}.feasibility-cta{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;margin-top:.5rem;padding:.4rem .6rem;background:none;border:1px solid var(--border-gray);border-radius:var(--border-radius-sm);color:var(--text-light);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.feasibility-cta:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.feasibility-margin-line{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:0;background:none;border:none;text-align:left;color:var(--text-dark);cursor:pointer;transition:color var(--transition-fast)}.feasibility-margin-line:hover,.feasibility-margin-line:focus-visible{color:var(--primary-blue)}.design-card{background-color:#ffffffb3;border-radius:var(--border-radius-lg);padding:1.5rem;transition:box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);border:1px solid var(--border-gray);position:relative;z-index:1}.design-card:hover{box-shadow:var(--shadow-md);z-index:10}.design-card-extra{opacity:.85}.design-card-extra:hover{opacity:1}.design-card-onmap{border-color:var(--primary-blue);box-shadow:0 0 0 3px #0066cc1f,var(--shadow-md)}.design-card-onmap-tag{position:absolute;top:-9px;right:14px;display:inline-flex;align-items:center;gap:.3rem;background:var(--primary-blue);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.07em;padding:.18rem .55rem;border-radius:var(--border-radius-round)}.design-card-btn-map-active{background:var(--primary-blue-dark);box-shadow:inset 0 1px 3px #00000040}.design-card-rank{background-color:var(--primary-blue);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);font-weight:700;flex-shrink:0}.design-card-rank-muted{background-color:#6b7280}.design-card-header{display:flex;align-items:center;margin-bottom:1rem}.design-card-title-group{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.design-card-titles{flex:1;min-width:0}.design-card-name{font-size:var(--font-size-lg);font-weight:600;margin:0 0 .25rem;color:var(--text-dark);padding-right:4.75rem}.design-card-compare{position:absolute;top:1.5rem;right:1.5rem;z-index:2;display:flex;align-items:center;gap:.25rem;font-size:var(--font-size-2xs);white-space:nowrap}.design-card-subtitle{font-size:var(--font-size-md);color:var(--text-light);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.design-card-preview{margin-bottom:1rem;display:flex;justify-content:center;position:relative}.design-card-actions{display:flex;gap:.5rem;margin-bottom:1rem;justify-content:center}.design-card-btn{color:#fff;border:none;border-radius:var(--border-radius-sm);padding:.4rem .75rem;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.25rem;white-space:nowrap;transition:filter var(--transition-fast)}.design-card-btn:hover{filter:brightness(1.08)}.design-card-btn:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.design-card-btn-map{background:var(--primary-blue)}.design-card-btn-3d{background:linear-gradient(135deg,var(--gradient-indigo) 0%,var(--gradient-purple) 100%)}.design-card-btn-export,.design-card-btn-yield{background:linear-gradient(135deg,var(--gradient-green) 0%,var(--gradient-green-dark) 100%)}.design-card-btn-yield-active{background:var(--text-light)}.sidebar-subpanel{flex:1;display:flex;flex-direction:column;min-height:0}.sidebar-subpanel-header{padding:1rem 1.5rem;position:relative}.sidebar-subpanel-header:after{content:"";position:absolute;bottom:0;left:var(--spacing-lg);right:var(--spacing-lg);height:1px;background-color:var(--border-light)}.sidebar-subpanel-content{flex:1;padding:1.5rem;overflow-y:auto}.sidebar-subpanel-info-bar{display:flex;align-items:center;gap:2rem;margin-bottom:.75rem}.sidebar-subpanel-stat{display:flex;align-items:center;gap:.5rem}.sidebar-subpanel-stat-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.sidebar-subpanel-stat-value{font-size:1rem;font-weight:500}@media (max-width: 768px){.sidebar{position:absolute;top:0;left:0;right:0;bottom:auto;width:100%;height:300px;border-radius:0;box-shadow:0 4px 12px #0000001a}.sidebar-toggle,.sidebar-designs-fab{display:none}}.psec{border-top:1px solid var(--border-gray)}.psec:last-of-type{border-bottom:1px solid var(--border-gray)}.psec-toggle{background:none;border:none;padding:.75rem .25rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;width:100%;transition:background-color var(--transition-fast)}.psec-toggle:hover{background-color:#00000008}.psec-title{flex:1;text-align:left;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dark)}.psec-badge{font-size:var(--font-size-2xs);font-weight:600;padding:1px 8px;border-radius:var(--border-radius-pill);background:var(--light-gray);border:1px solid var(--border-gray);color:var(--text-light)}.psec-badge-alert{background:#fdf2f0;border-color:#a93226;color:#7b241c}.psec-body{padding:.25rem .25rem 1rem}.alert-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--spacing-sm)}.alert-chip{border:1px solid;border-radius:var(--border-radius-pill);padding:2px 10px;font-size:var(--font-size-2xs);font-weight:600;cursor:pointer;background:#fff;transition:filter var(--transition-fast)}.alert-chip:hover{filter:brightness(.96)}.alert-chip-danger{background:#fdf2f0;border-color:#a93226;color:#7b241c}.alert-chip-warning{background:var(--status-warning-bg);border-color:var(--status-warning-strong);color:var(--status-warning-text)}.alert-chip-info{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}.alert-chip-neutral{background:#f8fafc;border-color:#94a3b8;color:#334155}.property-lead-stat{display:flex;align-items:baseline;gap:8px;margin:2px 0 var(--spacing-sm)}.property-lead-stat-value{font-size:1.45rem;font-weight:700;color:var(--text-dark);letter-spacing:-.01em}.property-lead-stat-label{font-size:var(--font-size-2xs);color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.feasibility-skeleton{height:2rem;border-radius:var(--border-radius-sm);background:linear-gradient(90deg,var(--surface-muted) 25%,#eef1f5 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:feasibility-shimmer 1.4s ease-in-out infinite}@keyframes feasibility-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.help-launcher{position:relative}.help-launcher-panel{position:absolute;top:calc(100% + 8px);right:-8px;width:264px;background:#fff;border:1px solid var(--border-gray);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:6px;z-index:var(--z-menu);transform-origin:top right;animation:help-panel-in .12s ease}@keyframes help-panel-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.help-launcher-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:var(--border-radius-md);font-size:var(--font-size-md);color:var(--text-dark);cursor:pointer;text-decoration:none;text-align:left;transition:background var(--transition-fast)}.help-launcher-item:hover{background:var(--light-gray)}.help-launcher-item svg{color:var(--text-light);flex-shrink:0}.help-launcher-item-hint{margin-left:auto;font-size:var(--font-size-2xs);color:var(--text-light)}.help-launcher-divider{height:1px;background:var(--border-light);margin:6px 8px}.help-launcher-footer{padding:8px 10px 6px;font-size:var(--font-size-2xs);color:var(--text-light)}.help-launcher-footer a{color:var(--primary-blue);text-decoration:none}.help-launcher-footer a:hover{text-decoration:underline}.help-page{min-height:100vh;display:flex;flex-direction:column;background:#fafafa;overflow-y:auto}.help-hero{background:linear-gradient(180deg,var(--primary-blue-light) 0%,rgba(239,246,255,0) 100%);border-bottom:1px solid transparent;padding:2.5rem 1.5rem 2rem}.help-hero-inner{max-width:44rem;margin:0 auto}.help-hero h1{margin:0 0 1.25rem;font-size:1.6rem;font-weight:650;letter-spacing:-.02em;color:#111827;text-align:center}.help-search{position:relative;max-width:34rem;margin:0 auto}.help-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.help-search input{width:100%;padding:.8rem 3rem .8rem 2.6rem;font-size:var(--font-size-base);font-family:inherit;color:var(--text-dark);background:#fff;border:1px solid var(--border-gray);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.help-search input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #0066cc1f}.help-search kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:inherit;font-size:var(--font-size-2xs);color:var(--text-light);background:var(--light-gray);border:1px solid var(--border-gray);border-radius:var(--border-radius-xs);padding:2px 7px;pointer-events:none}.help-page-body{flex:1;width:100%;max-width:44rem;margin:0 auto;padding:0 1.5rem 3rem;box-sizing:border-box}.help-eyebrow{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin:2rem 0 .5rem}.help-row{display:flex;align-items:baseline;gap:.75rem;padding:.7rem .75rem;margin:0 -.75rem;border-radius:var(--border-radius-md);text-decoration:none;transition:background var(--transition-fast)}.help-row:hover{background:var(--surface-gray-100)}.help-row-title{font-size:var(--font-size-base);font-weight:550;color:var(--text-dark);white-space:nowrap}.help-row:hover .help-row-title{color:var(--primary-blue)}.help-row-desc{font-size:var(--font-size-sm);color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-empty{text-align:center;padding:3rem 1rem;color:var(--text-light);font-size:var(--font-size-md)}.help-empty strong{display:block;font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:.35rem}.help-article-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:3rem;max-width:62rem;margin:0 auto;padding:2rem 1.5rem 3rem;width:100%;box-sizing:border-box;flex:1}.help-rail{position:sticky;top:2rem;align-self:start;font-size:var(--font-size-sm)}.help-rail a{display:block;padding:.3rem .6rem;margin:1px 0;border-radius:var(--border-radius-sm);color:var(--text-light);text-decoration:none;transition:all var(--transition-fast)}.help-rail a:hover{color:var(--text-dark);background:var(--surface-gray-100)}.help-rail a.active{color:var(--primary-blue);background:var(--primary-blue-light);font-weight:550}@media (max-width: 860px){.help-article-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.help-rail{position:static;display:flex;flex-wrap:wrap;gap:.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-gray)}.help-rail .help-eyebrow{display:none}}.help-prose{font-size:var(--font-size-base);line-height:1.7;color:#374151}.help-prose h1{font-size:1.45rem;font-weight:650;letter-spacing:-.015em;color:#111827;margin:0 0 .4rem}.help-prose h2{font-size:1.05rem;font-weight:600;color:#111827;margin:1.8rem 0 .5rem}.help-prose h3{font-size:var(--font-size-base);font-weight:600;color:#111827;margin:1.4rem 0 .4rem}.help-prose p{margin:0 0 .9rem}.help-prose ul,.help-prose ol{margin:0 0 .9rem;padding-left:1.4rem}.help-prose li{margin-bottom:.35rem}.help-prose a{color:var(--primary-blue);text-decoration:none}.help-prose a:hover{text-decoration:underline}.help-prose strong{font-weight:600;color:#1f2937}.help-prose code{font-size:.85em;background:var(--light-gray);border:1px solid var(--border-light);border-radius:var(--border-radius-xs);padding:.1em .35em}.help-prose blockquote{margin:0 0 .9rem;padding:.1rem 1rem;border-left:3px solid var(--primary-blue-border);color:var(--text-light)}.help-tip{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:2px;margin:0;color:var(--text-muted);cursor:help;border-radius:var(--border-radius-full);transition:color var(--transition-fast);vertical-align:middle}.help-tip:hover,.help-tip:focus-visible{color:var(--primary-blue)}.site-footer{border-top:1px solid var(--border-gray);background:#fff;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--text-light)}.site-footer a,.site-footer button{background:none;border:none;padding:0;font:inherit;color:var(--text-light);text-decoration:none;cursor:pointer;transition:color var(--transition-fast)}.site-footer a:hover,.site-footer button:hover{color:var(--primary-blue)}.site-footer-copyright{color:var(--text-muted)}@media (prefers-reduced-motion: reduce){.help-launcher-panel{animation:none}}.projects-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--light-gray);font-family:var(--font-family);color:var(--text-dark)}.projects-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-gray)}.projects-header h1{margin:0;font-size:var(--font-size-lg);font-weight:650;letter-spacing:-.01em}.projects-header-back{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-light);text-decoration:none;font-size:var(--font-size-md);border-radius:var(--border-radius-sm);padding:.25rem .4rem;transition:color var(--transition-fast),background-color var(--transition-fast)}.projects-header-back:hover{color:var(--primary-blue);background-color:var(--primary-blue-light)}.projects-header-user{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-light)}.projects-main{max-width:1280px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-2xl)}.projects-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.projects-search{position:relative;flex:1 1 260px;max-width:420px}.projects-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-size:var(--font-size-lg)!important;color:var(--text-light);pointer-events:none}.projects-search input{width:100%;padding:.55rem .9rem .55rem 2.4rem;font-size:var(--font-size-md);border:1px solid var(--border-gray);border-radius:var(--border-radius-pill);background:#fff;color:var(--text-dark);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.projects-search input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--primary-blue-light)}.projects-sort{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--font-size-sm);color:var(--text-light)}.projects-sort select{font-size:var(--font-size-sm);padding:.45rem .6rem;border:1px solid var(--border-gray);border-radius:var(--border-radius-md);background:#fff;color:var(--text-dark);cursor:pointer}.projects-sort select:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.projects-filter-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--font-size-sm);font-weight:500;padding:.45rem .85rem;border:1px solid var(--border-gray);border-radius:var(--border-radius-pill);background:#fff;color:var(--text-light);cursor:pointer;transition:all var(--transition-fast)}.projects-filter-chip:hover{border-color:var(--primary-blue-border);color:var(--primary-blue)}.projects-filter-chip.is-active{background:var(--primary-blue-light);border-color:var(--primary-blue-border);color:var(--primary-blue)}.projects-filter-chip:focus-visible,.projects-search input:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.recent-gens{margin-bottom:var(--spacing-lg)}.recent-gens-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--spacing-sm)}.recent-gens-row{list-style:none;margin:0;padding:0 0 var(--spacing-xs);display:flex;gap:var(--spacing-md);overflow-x:auto}.recent-gen-card{display:flex;align-items:center;gap:var(--spacing-sm);width:220px;flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--surface-white);border:1px solid var(--border-gray);border-radius:var(--border-radius-md);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.recent-gen-card:hover{border-color:var(--primary-blue-border);box-shadow:var(--shadow-sm)}.recent-gen-outline{width:48px;flex-shrink:0;color:var(--text-light)}.recent-gen-outline .project-card-outline{width:100%;height:28px}.recent-gen-text{display:flex;flex-direction:column;min-width:0}.recent-gen-address{font-size:var(--font-size-sm);font-weight:500;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-gen-meta{font-size:var(--font-size-xs);color:var(--text-light)}.projects-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);margin:0;padding:0}.project-card-wrap{display:block;min-width:0}.project-card,.scheme-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--border-gray);border-radius:var(--border-radius-lg);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.project-card{cursor:pointer}.project-card:hover,.project-card:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--primary-blue-border)}.project-card:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.scheme-card.is-selected{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--primary-blue-light)}.project-card-cover,.scheme-card-preview{position:relative;aspect-ratio:2 / 1;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.project-card-cover img,.scheme-card-preview img{width:100%;height:100%;object-fit:cover;display:block}.scheme-card-preview canvas{width:100%;height:100%;object-fit:contain}.scheme-card-preview>div{width:100%!important;height:100%!important;border:none!important;border-radius:0!important}.project-card-outline{width:72%;height:72%}.project-card-outline path{fill:var(--primary-blue-light);stroke:var(--primary-blue);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.project-card-cover-ghost{font-size:2.4rem!important;color:var(--border-gray)}.project-card-fav{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);border:none;border-radius:var(--border-radius-full);background:#ffffffe0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-light);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),color var(--transition-fast)}.project-card-fav:hover{transform:scale(1.1);color:var(--warning-yellow)}.project-card-fav.is-active{color:var(--warning-yellow)}.project-card-fav:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.scheme-card-check{position:absolute;top:.5rem;left:.5rem;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-full);background:#ffffffe0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow-sm);cursor:pointer}.scheme-card-check input{width:15px;height:15px;accent-color:var(--primary-blue);cursor:pointer}.scheme-card-options-badge{position:absolute;bottom:.5rem;left:.5rem;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:var(--border-radius-round);background:#ffffffe0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow-sm);font-size:var(--font-size-2xs);font-weight:600;color:var(--text-dark)}.scheme-card .variant-strip{margin-bottom:0}.variant-chip-star{color:var(--warning-yellow);line-height:1}.variant-chip-active .variant-chip-star{color:#fff}.project-card-body{display:flex;flex-direction:column;gap:.4rem;padding:var(--spacing-md);flex:1}.project-card-title-row{display:flex;align-items:center;gap:.4rem;min-width:0}.project-card-name{margin:0;flex:1;min-width:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-size:var(--font-size-xs);color:var(--text-light);min-width:0}.project-card-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-zone-badge{flex-shrink:0;font-size:var(--font-size-2xs);font-weight:600;color:var(--primary-blue);background:var(--primary-blue-light);border:1px solid var(--primary-blue-border);border-radius:var(--border-radius-pill);padding:.08rem .5rem}.project-card-metrics{display:flex;flex-wrap:wrap;gap:.35rem}.project-metric-chip{display:inline-flex;align-items:center;font-size:var(--font-size-2xs);font-weight:600;color:var(--primary-blue);background:var(--primary-blue-light);border-radius:var(--border-radius-pill);padding:.15rem .55rem}.project-card-footer{margin-top:auto;display:flex;align-items:center;gap:.45rem;font-size:var(--font-size-2xs);color:var(--text-light);padding-top:.2rem}.scheme-status-badge{font-size:var(--font-size-2xs);font-weight:600;color:var(--status-warning-strong);background:var(--status-warning-tint);border-radius:var(--border-radius-pill);padding:.1rem .5rem}.inline-rename-input{flex:1;min-width:0;font-size:var(--font-size-md);font-weight:600;color:var(--text-dark);padding:.2rem .45rem;border:1px solid var(--primary-blue-border);border-radius:var(--border-radius-sm);background:#fff}.inline-rename-input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--primary-blue-light)}.ui-menu-trigger{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--border-radius-sm);background:none;color:var(--text-light);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.ui-menu-trigger:hover,.ui-menu-trigger[aria-expanded=true]{background:var(--light-gray);color:var(--text-dark)}.ui-menu-trigger:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.project-card-skeleton{pointer-events:none}.skeleton-block,.skeleton-line{background:linear-gradient(90deg,var(--surface-muted) 25%,#eef1f5 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:feasibility-shimmer 1.4s ease-in-out infinite}.skeleton-line{height:.8rem;border-radius:var(--border-radius-xs);margin-bottom:.5rem}@media (prefers-reduced-motion: reduce){.skeleton-block,.skeleton-line{animation:none}.project-card:hover{transform:none}}.projects-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-lg);color:var(--text-light)}.projects-empty-icon{font-size:3rem!important;color:var(--primary-blue-border)}.projects-empty h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-dark)}.projects-empty p{margin:0;max-width:26rem;font-size:var(--font-size-md);line-height:1.5}.projects-empty-cta{margin-top:var(--spacing-sm);display:inline-flex;align-items:center;padding:.55rem 1.1rem;font-size:var(--font-size-md);font-weight:600;border-radius:var(--border-radius-md);border:none;cursor:pointer;text-decoration:none}.project-detail-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg)}.project-detail-back{display:inline-flex;align-items:center;gap:.3rem;border:none;background:none;font-size:var(--font-size-sm);color:var(--text-light);cursor:pointer;padding:.3rem .5rem;border-radius:var(--border-radius-sm);flex-basis:100%}.project-detail-title{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;flex:1}.project-detail-title h2{margin:0;font-size:1.35rem;font-weight:650;letter-spacing:-.01em;color:var(--text-dark);cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail-rename{font-size:1.2rem}.project-detail-fav{position:static;box-shadow:none;background:none}.project-detail-sub{flex-basis:100%;font-size:var(--font-size-sm);color:var(--text-light)}.project-detail-open{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--border-radius-md);text-decoration:none}.project-detail-error{margin-bottom:var(--spacing-md);padding:.6rem .9rem;font-size:var(--font-size-sm);color:var(--error-red);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--border-radius-md)}.project-detail-note{margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-light)}.project-runs{margin-top:var(--spacing-xl)}.project-runs-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--spacing-sm)}.project-runs-list{list-style:none;margin:0;padding:0;border:1px solid var(--border-gray);border-radius:var(--border-radius-md);background:var(--surface-white)}.project-run-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.project-run-row+.project-run-row{border-top:1px solid var(--border-gray)}.project-run-when{flex-shrink:0;width:110px;color:var(--text-dark);font-weight:500}.project-run-meta{flex:1;min-width:0;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-run-reopen{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0;font-size:var(--font-size-sm);text-decoration:none}.project-run-expired{flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-light);border:1px solid var(--border-gray);border-radius:999px;padding:2px 8px}.compare-bar{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:var(--z-controls);display:flex;align-items:center;gap:var(--spacing-md);padding:.6rem .75rem .6rem 1.1rem;background:var(--gradient-navy);color:#fff;font-size:var(--font-size-sm);border-radius:var(--border-radius-pill);box-shadow:var(--shadow-control-hover);animation:fadeSlideIn .18s ease-out}.compare-bar-cta{border:none;border-radius:var(--border-radius-pill);background:#fff;color:var(--gradient-navy);font-size:var(--font-size-sm);font-weight:650;padding:.45rem 1rem;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.compare-bar-cta:hover:not(:disabled){transform:translateY(-1px)}.compare-bar-cta:disabled{opacity:.5;cursor:not-allowed}.compare-bar-clear{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--border-radius-full);background:#ffffff26;color:#fff;cursor:pointer}.compare-bar-clear:hover{background:#ffffff47}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu);display:flex;align-items:center;justify-content:center;background:var(--overlay-scrim);animation:fadeSlideIn .14s ease-out}.confirm-dialog{width:min(92vw,380px);background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-hover);padding:var(--spacing-lg)}.confirm-title{margin:0 0 var(--spacing-sm);font-size:1rem;font-weight:650;color:var(--text-dark)}.confirm-body{margin:0 0 var(--spacing-lg);font-size:var(--font-size-md);line-height:1.5;color:var(--text-light)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.confirm-cancel{border:1px solid var(--border-gray);border-radius:var(--border-radius-md);background:#fff;color:var(--text-dark);font-size:var(--font-size-sm);padding:.45rem .9rem;cursor:pointer}.confirm-danger{border:none;border-radius:var(--border-radius-md);background:var(--error-red);color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:.45rem .9rem;cursor:pointer;transition:background-color var(--transition-fast)}.confirm-danger:hover{background:#dc2626}.confirm-danger:focus-visible,.confirm-cancel:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}@media (max-width: 768px){.projects-main{padding:var(--spacing-md)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md)}.projects-toolbar{gap:var(--spacing-sm)}.project-detail-open{flex-basis:100%;justify-content:center}}.save-dialog-projects{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:0 0 var(--spacing-md);padding:0;border:none;min-height:8.25rem;max-height:40vh;overflow-y:auto}.save-dialog-projects legend{margin-bottom:var(--spacing-xs);padding:0}.save-dialog-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);padding:.5rem .65rem;border:1px solid var(--border-light);border-radius:var(--border-radius-md);transition:background-color var(--transition-fast)}.save-dialog-row:hover{background:var(--light-gray)}.save-dialog-row.is-active{border-color:var(--primary-blue);background:var(--primary-blue-light)}.save-dialog-row-main{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;cursor:pointer;font-size:var(--font-size-md)}.save-dialog-row-main input[type=radio]:disabled+.save-dialog-row-name{color:var(--text-light)}.save-dialog-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dark)}.save-dialog-row-meta{flex-shrink:0;font-size:var(--font-size-2xs);color:var(--text-light)}.save-dialog-chip{flex-shrink:0;font-size:var(--font-size-2xs);font-weight:600;color:var(--success-green);background:#e6f6ec;border-radius:var(--border-radius-round);padding:.1rem .5rem}.save-dialog-remove{border:none;background:none;font-size:var(--font-size-2xs);color:var(--text-light);cursor:pointer;padding:.2rem .3rem}.save-dialog-remove:hover{color:var(--error-red)}.save-dialog-remove:disabled{cursor:default;opacity:.6}.save-dialog-row-error{flex-basis:100%;font-size:var(--font-size-2xs);color:var(--error-red)}.save-dialog-new-name{padding-left:1.9rem}.save-dialog-skeleton-row{height:2.35rem}.save-dialog-skeleton-row .skeleton-line{width:70%}.save-dialog-notice{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-light)}.save-dialog-success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) 0;text-align:center;font-size:var(--font-size-md);color:var(--text-dark)}.save-dialog-success-icon{color:var(--success-green)}.save-dialog-success-link{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--font-size-sm);color:var(--primary-blue);text-decoration:none}.save-dialog-success-link:hover{text-decoration:underline}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--border-radius-full);color:#fff;font-weight:600;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.ui-avatar-sm{width:26px;height:26px;font-size:var(--font-size-2xs)}.ui-avatar-md{width:32px;height:32px;font-size:var(--font-size-sm)}.ui-avatar-lg{width:42px;height:42px;font-size:1rem}.plan-badge{display:inline-flex;align-items:center;width:fit-content;padding:.12rem .5rem;border-radius:var(--border-radius-pill);font-size:var(--font-size-2xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.plan-badge-full{color:var(--primary-blue);background:var(--primary-blue-light);box-shadow:inset 0 0 0 1px var(--primary-blue-border)}.plan-badge-map{color:#92600a;background:#fef7e8;box-shadow:inset 0 0 0 1px #f5dfae}.ui-menu{position:fixed;z-index:var(--z-menu);padding:var(--spacing-xs);background:#fff;border:1px solid var(--border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-glass);animation:fadeSlideIn .12s ease-out}.ui-menu-header{padding:var(--spacing-sm);margin:calc(-1 * var(--spacing-xs)) calc(-1 * var(--spacing-xs)) var(--spacing-xs);background:linear-gradient(135deg,var(--primary-blue-light) 0%,rgba(239,246,255,.35) 100%);border-bottom:1px solid var(--border-light);border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.ui-menu-item{width:100%;display:flex;align-items:center;gap:.55rem;font-size:var(--font-size-sm);color:var(--text-dark);padding:.45rem .6rem;border:none;border-radius:var(--border-radius-sm);background:none;cursor:pointer;text-align:left;text-decoration:none;transition:background-color var(--transition-fast)}.ui-menu-item:hover:not(:disabled),.ui-menu-item:focus-visible{background:var(--light-gray);outline:none}.ui-menu-item:disabled,.ui-menu-item[aria-disabled=true]{color:var(--text-light);cursor:default}.ui-menu-item-danger{color:var(--error-red)}.ui-menu-item-danger:hover:not(:disabled),.ui-menu-item-danger:focus-visible{background:var(--status-error-bg)}.ui-menu-item-radio:before{content:"";flex:none;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--text-light)}.ui-menu-item-selected{background:var(--primary-blue-light);color:var(--primary-blue);font-weight:600}.ui-menu-item-selected.ui-menu-item-radio:before{border-color:var(--primary-blue);background:var(--primary-blue)}.ui-menu-separator{height:1px;margin:var(--spacing-xs) 0;background:var(--border-light)}.identity-card{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.identity-card-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.identity-card-name{font-size:var(--font-size-md);font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity-card-email{font-size:var(--font-size-xs);color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity-card-flush{padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.account-menu-trigger{display:inline-flex;align-items:center;gap:.45rem;border:none;background:none;cursor:pointer;border-radius:var(--border-radius-pill);padding:2px;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.account-menu-trigger-full{padding:.25rem .5rem .25rem .3rem}.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{background:var(--light-gray)}.account-menu-trigger:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.account-menu-trigger-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-dark);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:var(--overlay-scrim);animation:fadeIn var(--transition-fast-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ui-modal-overlay-critical{z-index:var(--z-critical)}.ui-modal{width:100%;background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-hover);animation:fadeSlideIn var(--transition-fast-out);outline:none;max-height:calc(100vh - 2 * var(--spacing-xl));display:flex;flex-direction:column}.ui-modal-sm{max-width:400px}.ui-modal-md{max-width:520px}.ui-modal-lg{max-width:680px}.ui-modal-full{max-width:none;height:calc(100vh - 2 * var(--spacing-md));max-height:none}.ui-modal-full>.ui-modal-body{flex:1;min-height:0}.ui-modal-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light)}.ui-modal-title{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.01em;color:var(--text-dark)}.ui-modal-close{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--border-radius-sm);background:none;color:var(--text-light);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.ui-modal-close:hover{background:var(--light-gray);color:var(--text-dark)}.ui-modal-close:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.ui-modal-body{padding:var(--spacing-lg);overflow-y:auto}.ui-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-light)}.ui-toast-stack{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);pointer-events:none}.ui-toast{display:flex;align-items:center;gap:.55rem;max-width:min(420px,calc(100vw - 2 * var(--spacing-lg)));padding:.6rem .9rem;border-radius:var(--border-radius-md);background:var(--text-dark);color:#fff;font-size:var(--font-size-sm);box-shadow:var(--shadow-glass-hover);cursor:pointer;pointer-events:auto;animation:toastIn .18s ease-out}.ui-toast-leaving{animation:toastOut .2s ease-in forwards}.ui-toast-success svg{color:#6ee7b7}.ui-toast-error{background:#7f1d1d}.ui-toast-error svg{color:#fca5a5}.ui-toast-info svg{color:#93c5fd}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(6px)}}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-dark)}.form-field-hint{margin:0;font-size:var(--font-size-2xs);color:var(--text-light)}.form-field-error{margin:0;font-size:var(--font-size-2xs);color:var(--error-red)}.config-field{display:flex;flex-direction:column;gap:.375rem;margin-top:1rem}.settings-page{min-height:100vh;background:var(--surface-muted)}.settings-body{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--spacing-xl);max-width:880px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.settings-nav{display:flex;flex-direction:column;gap:2px;align-self:start;position:sticky;top:calc(var(--spacing-xl) + 48px)}.settings-nav-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border:none;border-radius:var(--border-radius-sm);background:none;font-size:var(--font-size-sm);color:var(--text-light);cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.settings-nav-item:hover{background:var(--light-gray);color:var(--text-dark)}.settings-nav-item:focus-visible{outline:2px solid var(--primary-blue);outline-offset:1px}.settings-nav-item-active,.settings-nav-item-active:hover{background:var(--primary-blue-light);color:var(--primary-blue);font-weight:600}.settings-content{min-width:0}.settings-section-title{margin:0 0 var(--spacing-md);font-size:1.05rem;font-weight:650;letter-spacing:-.01em;color:var(--text-dark)}.settings-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-form-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-xs)}.settings-note{margin:0;font-size:var(--font-size-xs);color:var(--text-light)}.plan-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.plan-summary-text{display:flex;flex-direction:column;gap:var(--spacing-sm)}.plan-summary-copy{margin:0;font-size:var(--font-size-md);color:var(--text-dark);line-height:1.5}.plan-summary-meta{margin:0;font-size:var(--font-size-xs);color:var(--text-light)}.plan-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.plan-feature{display:flex;align-items:center;gap:.55rem;font-size:var(--font-size-sm);color:var(--text-dark)}.plan-feature-excluded{color:var(--text-light)}.upgrade-prompt{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:linear-gradient(135deg,var(--primary-blue-light) 0%,#f0f7ff 100%);border-radius:var(--border-radius-md);box-shadow:inset 0 0 0 1px var(--primary-blue-border);text-align:left}.upgrade-prompt-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--border-radius-full);background:#fff;color:var(--primary-blue);box-shadow:var(--shadow-sm)}.upgrade-prompt-title{margin:0;font-size:var(--font-size-base);font-weight:650;color:var(--text-dark)}.upgrade-prompt-body{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-light)}.upgrade-prompt-actions{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.upgrade-prompt-link{font-size:var(--font-size-sm);color:var(--primary-blue);text-decoration:none}.upgrade-prompt-link:hover{text-decoration:underline}.projects-empty .upgrade-prompt{max-width:420px;margin:0 auto;align-items:center;text-align:center}.share-modal-loading,.share-modal-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.share-modal-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.share-modal-empty p{margin:0;font-size:var(--font-size-md);line-height:1.55;color:var(--text-light)}.share-access{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.share-access legend{margin-bottom:var(--spacing-sm)}.share-access-option{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--border-gray);border-radius:var(--border-radius-md);cursor:pointer;color:var(--text-light);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.share-access-option.is-active{border-color:var(--primary-blue-border);background:var(--primary-blue-light);color:var(--primary-blue)}.share-access-option input{accent-color:var(--primary-blue)}.share-access-option span{display:flex;flex-direction:column;gap:.05rem}.share-access-option strong{font-size:var(--font-size-sm);font-weight:600;color:var(--text-dark)}.share-access-option small{font-size:var(--font-size-2xs);color:var(--text-light)}.share-grants{display:flex;flex-direction:column;gap:var(--spacing-sm)}.share-grants-input{display:flex;gap:var(--spacing-sm)}.share-grants-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.share-grant-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .3rem .15rem .6rem;border-radius:var(--border-radius-pill);background:var(--light-gray);font-size:var(--font-size-xs);color:var(--text-dark)}.share-grant-chip button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:var(--border-radius-full);background:none;color:var(--text-light);cursor:pointer}.share-grant-chip button:hover{background:var(--border-gray);color:var(--text-dark)}.share-link-row{display:flex;gap:var(--spacing-sm)}.share-link-input{font-size:var(--font-size-xs);color:var(--text-light);background:var(--surface-muted)}.share-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-light)}.share-meta-actions{display:inline-flex;gap:var(--spacing-sm)}.share-meta-btn{display:inline-flex;align-items:center;gap:.25rem;border:none;background:none;padding:.2rem .35rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--text-light);cursor:pointer}.share-meta-btn:hover:not(:disabled){background:var(--light-gray);color:var(--text-dark)}.share-meta-btn-danger:hover:not(:disabled){background:var(--status-error-bg);color:var(--error-red)}.tour-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.tour-step-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--border-radius-full);background:linear-gradient(135deg,var(--primary-blue-light) 0%,#f0f7ff 100%);color:var(--primary-blue);box-shadow:inset 0 0 0 1px var(--primary-blue-border)}.tour-step-title{margin:0;font-size:1rem;font-weight:650;color:var(--text-dark)}.tour-step-body{margin:0;font-size:var(--font-size-sm);line-height:1.55;color:var(--text-light);min-height:3.9em}.tour-dots{display:flex;gap:.4rem;margin-top:var(--spacing-xs)}.tour-dot{width:7px;height:7px;border-radius:var(--border-radius-full);background:var(--border-gray);transition:background-color var(--transition-fast)}.tour-dot.is-active{background:var(--primary-blue)}.tour-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md)}.tour-actions .btn-ghost{border:none;background:none;color:var(--text-light);font-size:var(--font-size-sm);cursor:pointer;padding:.35rem .6rem;border-radius:var(--border-radius-sm)}.tour-actions .btn-ghost:hover{background:var(--light-gray);color:var(--text-dark)}.setup-checklist{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#fff;border:1px solid var(--border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);text-align:left}.setup-checklist-header{display:flex;align-items:center;gap:var(--spacing-sm)}.setup-checklist-title{font-size:var(--font-size-sm);font-weight:650;color:var(--text-dark)}.setup-checklist-count{font-size:var(--font-size-2xs);color:var(--text-light)}.setup-checklist-dismiss{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--border-radius-sm);background:none;color:var(--text-light);cursor:pointer}.setup-checklist-dismiss:hover{background:var(--light-gray);color:var(--text-dark)}.setup-checklist-bar{height:4px;margin:var(--spacing-sm) 0;border-radius:var(--border-radius-pill);background:var(--border-light);overflow:hidden}.setup-checklist-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gradient-blue) 0%,var(--gradient-blue-light) 100%);transition:width var(--transition-normal)}.setup-checklist-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.setup-checklist-items li{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-dark)}.setup-checklist-items li.is-done span{color:var(--text-light);text-decoration:line-through}.projects-empty-actions{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.projects-empty-sample{border:none;background:none;color:var(--primary-blue);font-size:var(--font-size-sm);cursor:pointer;padding:.3rem .6rem;border-radius:var(--border-radius-sm)}.projects-empty-sample:hover:not(:disabled){background:var(--primary-blue-light)}.projects-empty-sample:disabled{color:var(--text-light);cursor:default}.share-page{min-height:100vh;background:var(--surface-muted);display:flex;flex-direction:column}.share-page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-gray)}.share-page-brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-dark);font-weight:650;font-size:var(--font-size-base)}.share-page-brand img{width:22px;height:22px}.share-page-cta{font-size:var(--font-size-xs);color:var(--primary-blue);text-decoration:none;padding:.3rem .7rem;border-radius:var(--border-radius-pill);background:var(--primary-blue-light);box-shadow:inset 0 0 0 1px var(--primary-blue-border)}.share-page-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-md)}.share-page-card{width:100%;max-width:920px;background:#fff;border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.share-page-design-header h1{margin:0;font-size:1.25rem;font-weight:650;letter-spacing:-.01em;color:var(--text-dark)}.share-page-subtitle{margin:.25rem 0 0;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-md);color:var(--text-light)}.share-page-preview{display:flex;justify-content:center;background:var(--surface-muted);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.share-page-preview canvas{max-width:100%;height:auto}.share-page-design-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.share-page-shared-at{font-size:var(--font-size-xs);color:var(--text-light)}.share-page-status{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);max-width:380px;margin-top:var(--spacing-2xl)}.share-page-status-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--border-radius-full);background:#fff;color:var(--text-light);box-shadow:var(--shadow-sm)}.share-page-status h1{margin:0;font-size:var(--font-size-lg);font-weight:650;color:var(--text-dark)}.share-page-status p{margin:0;font-size:var(--font-size-md);line-height:1.55;color:var(--text-light)}.share-page-signin{margin-top:var(--spacing-sm)}.settings-card-title{margin:0 0 var(--spacing-md);font-size:var(--font-size-md);font-weight:650;color:var(--text-dark)}.settings-card-danger{border-color:var(--status-error-border)}.settings-card-danger .settings-card-title{color:var(--error-red)}.settings-inline-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.settings-inline-value{font-size:var(--font-size-md);color:var(--text-dark)}.btn-danger,.btn-danger-outline{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.btn-danger{border:none;background:var(--error-red);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{border:1px solid var(--status-error-border);background:none;color:var(--error-red)}.btn-danger-outline:hover{background:var(--status-error-bg)}.auth-page{display:flex;background:linear-gradient(180deg,var(--primary-blue-light) 0%,rgba(239,246,255,0) 60%),var(--light-gray);padding:var(--spacing-xl)}.auth-container{width:100%;max-width:450px;margin:auto}.auth-logo{text-align:center;margin-bottom:var(--spacing-xl);display:flex;align-items:center;justify-content:center;gap:.75rem}.auth-logo img{width:40px;height:40px}.auth-logo h1{margin:0;color:var(--text-dark);font-size:1.6rem;font-weight:650;letter-spacing:-.02em}.beta-badge{background:var(--status-info-bg);border:1px solid var(--status-info-border);color:var(--status-info-text);padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.auth-footer{text-align:center;margin-top:var(--spacing-xl)}.auth-footer p{color:var(--text-light);font-size:var(--font-size-md);margin:0}.auth-form{max-width:400px;margin:0 auto;padding:var(--spacing-xl);background:var(--surface-white);border:1px solid var(--border-gray);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.auth-header{text-align:center;margin-bottom:var(--spacing-lg)}.auth-header h2{margin:0 0 var(--spacing-sm);color:var(--text-dark);font-size:var(--font-size-xl);font-weight:650;letter-spacing:-.01em}.auth-header p{margin:0;color:var(--text-light);font-size:var(--font-size-base)}.auth-error{background:var(--status-error-bg);border:1px solid var(--status-error-border);color:var(--status-error-text);padding:.75rem;border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.auth-submit{width:100%;padding:.75rem;font-size:var(--font-size-base)}.auth-fields{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.auth-links{margin-top:var(--spacing-md);text-align:center;font-size:var(--font-size-base)}.auth-link-button{background:none;border:none;color:var(--primary-blue);cursor:pointer;font-size:inherit;padding:0}.auth-link-button:hover:not(:disabled){text-decoration:underline}.auth-link-button:disabled{color:var(--text-light);cursor:not-allowed}@media (max-width: 768px){.settings-body{grid-template-columns:1fr;gap:var(--spacing-md);padding:var(--spacing-md)}.settings-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:var(--spacing-xs)}.settings-nav-item{white-space:nowrap}.account-menu-trigger-name{display:none}}@media (prefers-reduced-motion: reduce){.ui-menu,.ui-modal,.ui-modal-overlay,.ui-toast,.ui-toast-leaving{animation:none}}.help-page,.projects-page,.settings-page,.share-page,.auth-page{height:100vh;overflow-y:auto}
