@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap";:root{--bg: #e6e2dc;--bg-alt: #dcd8d1;--surface: #edebe7;--surface-warm: #f2f0ec;--primary: #1a1814;--primary-light: #3a3632;--accent: #b05a3a;--accent-hover: #964d30;--accent-light: #f0e6e0;--accent-subtle: #ddd0c8;--accent-alpha-10: rgba(176, 90, 58, .1);--accent-alpha-30: rgba(176, 90, 58, .3);--forest: #5a6b50;--forest-hover: #4d5d44;--forest-light: #e2e8de;--forest-bg: #edf0ea;--text: #2a2622;--text-muted: #6b6560;--text-light: #908880;--label: #6b6560;--font-family: "Instrument Sans", -apple-system, sans-serif;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.375rem;--text-2xl: 2rem;--text-display: clamp(2.5rem, 5vw, 4rem);--letter-spacing-tight: -.03em;--letter-spacing-wide: .1em;--border: #c8c2b8;--border-light: #d6d0c8;--border-focus: var(--accent);--hairline: 1px solid var(--border);--success: #4a8c5c;--success-bg: #e8f0ea;--success-alpha-10: rgba(74, 140, 92, .1);--error: #b83a3a;--error-bg: #f4e8e8;--error-alpha-10: rgba(184, 58, 58, .1);--warning: #9a7a28;--warning-bg: #f2ede0;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-xl: 4px;--radius-pill: 999px;--shadow-sm: none;--shadow-md: 0 2px 8px rgba(26, 24, 20, .06);--shadow-lg: 0 4px 16px rgba(26, 24, 20, .08);--shadow-xl: 0 8px 32px rgba(26, 24, 20, .1);--shadow-inner: none;--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-padding-x: var(--space-md);--transition: .18s cubic-bezier(.25, .1, .25, 1);--transition-slow: .28s ease;--transition-bounce: .35s cubic-bezier(.16, 1, .3, 1);--transition-snappy: .15s cubic-bezier(.25, .1, .25, 1);--glass-bg: rgba(26, 24, 20, .65);--glass-bg-heavy: rgba(26, 24, 20, .85);--overlay-bg: rgba(0, 0, 0, .6);--accent-focus-ring: 0 0 0 2px var(--accent-alpha-30);--error-alpha-06: rgba(184, 58, 58, .06);--error-alpha-30: rgba(184, 58, 58, .3);--success-alpha-06: rgba(74, 140, 92, .06);--success-alpha-30: rgba(74, 140, 92, .3);--accent-alpha-15: rgba(176, 90, 58, .15);--accent-alpha-20: rgba(176, 90, 58, .2);--accent-alpha-40: rgba(176, 90, 58, .4)}.builder-layout{--bg: #1c1a18;--bg-alt: #242220;--surface: #2a2826;--surface-warm: #222020;--surface-card: #302e2c;--primary: #f0ece6;--primary-light: #d8d4cc;--accent: #c8704a;--accent-hover: #b86040;--accent-light: rgba(200, 112, 74, .12);--accent-subtle: rgba(200, 112, 74, .08);--accent-alpha-10: rgba(200, 112, 74, .1);--accent-alpha-30: rgba(200, 112, 74, .3);--forest: #6b8c5a;--forest-hover: #5a7a4d;--forest-light: rgba(107, 140, 90, .15);--forest-bg: rgba(107, 140, 90, .08);--text: #d8d4cc;--text-muted: #8a8580;--text-light: #6a6560;--label: #9a9590;--border: #3a3836;--border-light: #333130;--success: #5aaa6c;--success-bg: rgba(90, 170, 108, .1);--success-alpha-10: rgba(90, 170, 108, .1);--error: #d84848;--error-bg: rgba(216, 72, 72, .1);--error-alpha-10: rgba(216, 72, 72, .1);--warning: #c49838;--warning-bg: rgba(196, 152, 56, .1);--shadow-sm: none;--shadow-md: 0 2px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .25);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .3);--glass-bg: rgba(28, 26, 24, .65);--glass-bg-heavy: rgba(28, 26, 24, .85);--overlay-bg: rgba(0, 0, 0, .6);--accent-focus-ring: 0 0 0 2px var(--accent-alpha-30);--error-alpha-06: rgba(216, 72, 72, .06);--error-alpha-30: rgba(216, 72, 72, .3);--success-alpha-06: rgba(90, 170, 108, .06);--success-alpha-30: rgba(90, 170, 108, .3);--accent-alpha-15: rgba(200, 112, 74, .15);--accent-alpha-20: rgba(200, 112, 74, .2);--accent-alpha-40: rgba(200, 112, 74, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{font-family:var(--font-family, "Instrument Sans", -apple-system, sans-serif);background:var(--bg);color:var(--text);line-height:1.55;min-height:100vh;font-feature-settings:"kern" 1,"liga" 1}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.navbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--primary);border-bottom:1px solid rgba(255,255,255,.08)}.nav-brand{font-size:.875rem;font-weight:700;color:#ffffffeb;text-decoration:none;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:var(--space-lg)}.nav-link{color:#ffffff8c;text-decoration:none;font-size:var(--text-xs);font-weight:600;padding:var(--space-sm) 0;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;transition:color var(--transition);border:none;background:none;cursor:pointer;border-bottom:1px solid transparent}.nav-link:hover{color:#ffffffe6;border-bottom-color:#ffffff4d}.nav-btn{cursor:pointer}.nav-btn-primary{background:transparent;color:#ffffffe6!important;font-weight:700;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.nav-btn-primary:hover{background:#ffffff14;border-color:#fff6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:inherit;font-size:var(--text-xs);font-weight:700;height:var(--btn-height-md);padding:0 var(--btn-padding-x);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color var(--transition-snappy),border-color var(--transition-snappy),color var(--transition-snappy);text-decoration:none;line-height:1;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.btn:hover:not(:disabled){border-color:var(--primary);background:var(--surface-warm)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-forest{background:var(--forest);color:#fff;border-color:var(--forest)}.btn-forest:hover:not(:disabled){background:var(--forest-hover);border-color:var(--forest-hover)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--primary)}.btn-lg{font-size:var(--text-sm);height:var(--btn-height-lg);padding:0 24px;border-radius:var(--radius-md)}.btn-full{width:100%}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--label);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.form-group input{width:100%;padding:10px 12px;font-family:inherit;font-size:var(--text-base);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color var(--transition)}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:var(--accent-focus-ring)}.form-group input::placeholder{color:var(--text-light)}.alert{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-md);font-weight:500;border-left:3px solid}.alert-error{background:var(--error-bg);color:var(--error);border-left-color:var(--error)}.alert-success{background:var(--success-bg);color:var(--success);border-left-color:var(--success)}.landing{min-height:calc(100vh - 56px);display:flex;align-items:center;background:var(--bg)}.hero{display:flex;align-items:flex-start;gap:var(--space-3xl);max-width:1200px;margin:0 auto;padding:var(--space-3xl) var(--space-xl);width:100%}.hero-content{flex:1}.hero-title{font-size:var(--text-display);font-weight:700;color:var(--primary);line-height:1.05;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-lg);text-transform:uppercase}.hero-title .accent{color:var(--accent);display:block}.hero-subtitle{font-size:var(--text-base);color:var(--text-muted);line-height:1.65;margin-bottom:var(--space-xl);max-width:480px}.hero-features{display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-xl);border-top:1px solid var(--border)}.feature-chip{display:flex;align-items:center;gap:var(--space-sm);color:var(--text);padding:var(--space-sm) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm);font-weight:500;background:none;border-radius:0}.feature-chip svg{color:var(--accent);flex-shrink:0}.hero-visual{flex-shrink:0;min-width:280px}.sauna-types-preview{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}.type-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--surface);border-bottom:1px solid var(--border);font-weight:600;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;transition:background-color var(--transition)}.type-card:last-child{border-bottom:none}.type-icon{font-size:1.5rem;color:var(--primary)}.type-card-active{cursor:pointer;text-decoration:none;color:inherit}.type-card-active:hover{background:var(--surface-warm)}.type-card-disabled{opacity:.45;cursor:default}.coming-soon{margin-left:auto;font-size:var(--text-xs);font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.auth-page{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-xl)}.auth-header{text-align:center;margin-bottom:var(--space-lg)}.auth-header h2{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.auth-header p{font-size:var(--text-sm);color:var(--text-muted)}.auth-form{margin-bottom:var(--space-md)}.auth-toggle{text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.link-btn{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid var(--accent-alpha-30)}.link-btn:hover{color:var(--accent-hover);border-bottom-color:var(--accent)}.dashboard{max-width:1000px;margin:0 auto;padding:var(--space-2xl) var(--space-xl)}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.dashboard-header h1{font-size:1.75rem;font-weight:700;color:var(--primary);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.dashboard-compare-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.dashboard-compare-eyebrow{margin:0 0 var(--space-xs);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--forest)}.dashboard-compare-panel h2,.comparison-header h1,.comparison-reasons h2,.comparison-cautions h2,.comparison-table-wrap h2{margin:0;color:var(--primary)}.dashboard-compare-copy{margin:var(--space-sm) 0 0;max-width:680px;color:var(--text-muted)}.dashboard-compare-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm);min-width:180px}.dashboard-compare-count{font-size:var(--text-sm);font-weight:700;color:var(--text-muted)}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.empty-state svg{color:var(--text-light);margin-bottom:var(--space-lg)}.empty-state h3{font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:var(--space-sm);text-transform:uppercase}.empty-state p{color:var(--text-muted);max-width:400px;margin:0 auto;font-size:var(--text-base)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-lg);transition:border-color var(--transition-snappy);display:flex;flex-direction:column;gap:var(--space-sm)}.project-card.selected{border-color:var(--forest)}.project-card:hover{border-color:var(--primary)}.project-card-header{display:flex;align-items:center;justify-content:space-between}.project-card-actions{display:flex;align-items:center;gap:var(--space-sm);min-height:28px}.project-type{font-size:var(--text-xs);font-weight:700;color:var(--forest);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.project-compare-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:700;color:var(--text-muted);cursor:pointer}.project-compare-toggle input{accent-color:var(--forest)}.project-compare-toggle.disabled{opacity:.45;cursor:not-allowed}.project-delete{background:none;border:none;color:var(--text-light);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.project-delete:hover{color:var(--error);background:var(--error-bg)}.project-delete-confirm{display:flex;align-items:center;gap:4px}.project-delete-yes{background:var(--error);color:#fff;border:none;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition)}.project-delete-yes:hover{background:var(--error);opacity:.85}.project-delete-yes:focus-visible,.project-delete-no:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-delete-no{background:none;border:1px solid var(--border);color:var(--text-muted);padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition)}.project-delete-no:hover{border-color:var(--text-light);color:var(--text)}.project-name{font-size:1.125rem;font-weight:700;color:var(--primary)}.project-dims{font-size:var(--text-sm);color:var(--text);font-weight:500}.project-date{font-size:var(--text-xs);color:var(--text-light);margin-bottom:var(--space-sm)}.project-blueprint-wrap{background:linear-gradient(135deg,rgba(90,107,80,.04) 0%,transparent 60%),var(--bg-alt);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-sm);display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 10;overflow:hidden}.sauna-blueprint{width:100%;height:100%;color:var(--primary);transition:color var(--transition)}.project-card:hover .sauna-blueprint{color:var(--forest)}.bp-shape rect,.bp-shape path{transition:stroke var(--transition)}.bp-room-label{font-size:5px;font-weight:700;fill:currentColor;opacity:.3;text-anchor:middle;dominant-baseline:middle;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-family)}.bp-dim-label{font-size:5.5px;fill:currentColor;font-weight:600;font-family:var(--font-family);letter-spacing:.02em}.comparison-page{max-width:1180px}.comparison-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl)}.comparison-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.comparison-hero-card,.comparison-reasons,.comparison-table-wrap,.comparison-caution-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.comparison-hero-card{padding:var(--space-lg)}.comparison-hero-card.primary{border-left:3px solid var(--forest)}.comparison-hero-card span,.comparison-caution-card strong{display:block}.comparison-hero-card span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-muted);font-weight:700}.comparison-hero-card strong{display:block;margin-top:var(--space-sm);font-size:1.5rem;color:var(--primary)}.comparison-hero-card p{margin:var(--space-sm) 0 0;color:var(--text-muted)}.comparison-reasons,.comparison-table-wrap{padding:var(--space-lg);margin-bottom:var(--space-xl)}.comparison-reasons ul,.comparison-caution-card ul{margin:var(--space-md) 0 0;padding-left:1.1rem;color:var(--text)}.comparison-cautions{margin-bottom:var(--space-xl)}.comparison-caution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg)}.comparison-caution-card{padding:var(--space-lg);border-left:3px solid var(--error)}.comparison-table-scroll{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;min-width:760px}.comparison-table th,.comparison-table td{padding:.9rem .75rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.comparison-table thead th{color:var(--primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:700}.comparison-table-heading{display:grid;gap:4px}.comparison-score-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comparison-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--forest);background:var(--forest-light);color:var(--forest);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.comparison-empty{margin-top:var(--space-xl)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 56px);gap:var(--space-md);color:var(--text-muted)}.spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--text-sm)}@media(max-width:768px){.dashboard-compare-panel,.comparison-header{flex-direction:column}.dashboard-compare-actions{width:100%;align-items:stretch}.comparison-hero{grid-template-columns:1fr}.hero{flex-direction:column;padding:var(--space-xl);gap:var(--space-xl)}.hero-title{font-size:2rem}.sauna-types-preview{flex-direction:row}.type-card{padding:var(--space-md);flex-direction:column;font-size:var(--text-xs)}.dashboard-header{flex-direction:column;gap:var(--space-md)}}@media(hover:none){.project-card-actions{opacity:1!important;transform:none!important}}.btn-render-photo{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:inherit;font-size:var(--text-xs);font-weight:700;padding:10px 20px;border-radius:var(--radius-sm);border:1px solid var(--forest);cursor:pointer;background:var(--forest);color:#fff;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:all var(--transition)}.btn-render-photo:hover:not(:disabled){background:var(--forest-hover);border-color:var(--forest-hover)}.btn-render-photo:disabled{opacity:.5;cursor:wait}.render-result-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease}.render-result-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);max-width:90vw;max-height:90vh;overflow:auto;text-align:center}.render-result-content h3{font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.render-result-content img{max-width:100%;max-height:60vh;border:1px solid var(--border);margin-bottom:var(--space-md)}.render-actions{display:flex;gap:var(--space-md);justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
