:root{--ink:#22342d;--muted:#829087;--paper:#faf9f6;--line:#e5e6df;--accent:#244f3e;--warm:#b69a71;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #b18a5e;outline-offset:3px}button{color:inherit}button:disabled{cursor:default}.topbar{height:86px;background:#faf9f6;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:14px;align-items:center;color:var(--ink);text-decoration:none;font-size:12px;font-weight:650;letter-spacing:2px}.brand-icon{font:italic 48px Georgia;letter-spacing:-7px;margin-top:-7px;padding-right:9px}.brand-icon span{color:#b69a71}.brand small{display:block;letter-spacing:1.8px;font-size:8px;color:#879087;margin-top:6px}.project-title{font-size:12px;display:flex;gap:10px;align-items:center;color:#5d6961}.live-dot{height:6px;width:6px;background:#72836c;border-radius:50%}.tag{font-size:8px;letter-spacing:1.2px;border:1px solid #dcded5;padding:5px 7px;color:#899084;margin-left:10px}.quiet-button{border:1px solid #d7dbd1;border-radius:5px;padding:10px 15px;background:transparent;font-size:11px}.quiet-button span{margin-left:12px}main{height:calc(100dvh - 86px);min-height:600px;display:grid;grid-template-columns:minmax(0,1fr) 352px}.viewport{position:relative;min-width:0;overflow:hidden;background:#e4e4dc}#scene{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.scene-heading{position:absolute;left:36px;top:30px;pointer-events:none}.eyebrow{font-size:8px;font-weight:650;letter-spacing:2.2px;color:#748276}.scene-heading h1{font:normal clamp(28px,3vw,47px)/1.04 Georgia,serif;letter-spacing:-1.6px;margin:12px 0;color:#294234}.scene-heading p{font-size:11px;color:#637263;margin:12px 0}.scene-top-right{position:absolute;right:22px;top:24px;display:flex;gap:7px}.glass-button{background:#fafaf5bd;backdrop-filter:blur(12px);border:1px solid #ffffff9c;border-radius:4px;padding:10px 12px;font-size:10px}.view-tools{position:absolute;bottom:56px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;white-space:nowrap}.views{display:flex;background:#fcfcf5e8;backdrop-filter:blur(15px);padding:5px;border:1px solid #ffffffac;border-radius:6px;box-shadow:0 6px 30px #2635230b}.views button{border:0;background:transparent;font-size:10px;padding:10px 13px;border-radius:4px;color:#7a8479}.views button.active{background:#e5e9df;color:#244f3e}.walk-button{background:#244f3e;border:1px solid #244f3e;border-radius:5px;color:white;font-size:11px;padding:16px 18px;box-shadow:0 5px 20px #2033281c}.walk-button span{margin-right:8px}.scene-footer{position:absolute;bottom:19px;left:26px;right:26px;display:flex;justify-content:space-between;gap:16px;font-size:8px;color:#646e62;pointer-events:none}.tiny-dot{margin:0 7px}.studio{border-left:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;min-height:0}.studio-scroll{overflow:auto;flex:1;padding:30px 27px 18px;scrollbar-width:thin;scrollbar-color:#d7dbd1 transparent}.panel-intro h2{font:normal 25px Georgia;letter-spacing:-.5px;margin:10px 0}.panel-intro p{font-size:10px;color:#8a9187;line-height:1.7;margin:0 0 27px}.control-section{border-top:1px solid var(--line);padding:20px 0 23px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:15px}.section-title h3{font-size:8px;color:#a2aa9c;margin:0;font-weight:500;display:flex;gap:12px;align-items:center}.section-title h3 span{color:#35463b;font-weight:600;font-size:11px}.section-title>span{font-size:9px;color:#818b7c}.segmented{display:flex;padding:3px;background:#eceee6;border-radius:4px;margin-bottom:17px}.segmented button{width:50%;border:0;background:none;color:#859080;font-size:10px;padding:8px;border-radius:3px}.segmented button.active{background:#fafbf6;box-shadow:0 1px 4px #162d1110;color:#294e36}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:13px 10px;margin:0 0 21px}.swatch{height:34px;width:100%;max-width:43px;border-radius:50%;border:1px solid #0000000e;position:relative}.swatch.active:after{content:'';position:absolute;inset:-4px;border:1px solid #66725e;border-radius:50%}.swatch.active:before{content:'✓';font-size:13px;position:absolute;inset:8px 0;color:var(--check,#fff)}.sub-title{margin:0 0 10px;font-size:10px;color:#7d897a}.style-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.style-options button{border:1px solid #e0e2d8;border-radius:4px;background:transparent;padding:12px 5px 9px;display:flex;flex-direction:column;align-items:center;gap:9px}.style-options button.active{border-color:#7a8d72;background:#eff1e8}.style-options button span{font-size:9px}.door-drawing{display:block;width:26px;height:34px;border:2px solid #7d8b72;background:#deded0;position:relative;box-shadow:inset 0 0 0 3px #eeeee3}.door-drawing:after{content:'';position:absolute;right:1px;top:15px;width:2px;height:3px;background:#7d8b72}.door-drawing.raised:before{content:'';position:absolute;inset:6px;border:2px ridge #b3baa4}.door-drawing.slab{border:1px solid #7d8b72;box-shadow:none;background:#e6e8dc}.field-label{display:block;font-size:9px;color:#7d897a;margin:16px 0 7px}select{width:100%;border:1px solid #e0e2d8;background:#fafbf6;border-radius:4px;color:#52604e;padding:10px;font-size:10px;cursor:pointer}.presets{display:flex;gap:8px}.presets button{display:flex;flex:1;flex-direction:column;align-items:center;gap:8px;background:transparent;border:1px solid #e0e2d8;border-radius:4px;padding:10px 4px;font-size:9px}.presets button.active{border-color:#7a8d72;background:#eff1e8}.presets i{width:38px;height:17px;background:linear-gradient(90deg,var(--a) 50%,var(--b) 50%);border-radius:2px}.light-label{display:flex;justify-content:space-between;font-size:9px;margin:19px 0 9px;color:#7d897a}.light-label span{font-size:8px;color:#9ba391}input[type=range]{width:100%;height:3px;accent-color:#506d4d;cursor:pointer;display:block}.plan-note{display:flex;gap:12px;padding:2px 0 7px;color:#86917d}.plan-note>span{font-size:25px}.plan-note p{font-size:8px;line-height:1.8;margin:0}.plan-note strong{font-size:9px;font-weight:500;display:block;color:#5d6f55;margin-bottom:3px}.panel-footer{padding:16px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#939d8a;gap:8px}.panel-footer>span{display:flex;align-items:center;gap:6px}.panel-footer i{width:4px;height:4px;background:#6d8764;border-radius:50%}.panel-footer button{border:0;background:transparent;font-size:8px;color:#68775e;text-decoration:underline;text-underline-offset:3px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e8e9e0;z-index:5;color:#576b4e;font-size:12px}.spinner{border:2px solid #bcc5b7;border-top-color:#34553a;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}#walk-hint{position:absolute;top:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;background:#fafaf3e8;padding:15px 24px;border-radius:5px;font-size:10px;white-space:nowrap;pointer-events:none}#walk-hint strong{font:22px Georgia;color:#244f3e}#walk-hint span:last-child{color:#7e8878;font-size:9px}#crosshair{position:absolute;left:50%;top:50%;color:white;font-size:20px;text-shadow:0 0 3px black;pointer-events:none}body.walking .scene-heading,body.walking .view-tools,body.walking .scene-top-right{display:none}#toast{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);background:#244f3ef5;color:#fff;padding:13px 18px;border-radius:5px;font-size:11px;max-width:90%;z-index:8}dialog{border:0;border-radius:10px;padding:28px;width:min(1000px,92vw);max-height:90dvh;overflow:auto;color:var(--ink);background:var(--paper);box-shadow:0 20px 100px #182d233f}dialog::backdrop{background:#1d302760;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h2{font:30px Georgia;margin:9px 0 17px}.dialog-header button{border:0;background:transparent;padding:12px}.drawing-tabs{display:flex;gap:8px;margin-bottom:17px;flex-wrap:wrap}.drawing-tabs button{border:1px solid var(--line);background:transparent;border-radius:4px;padding:8px 15px;font-size:11px}.drawing-tabs button.active{background:#e5e9df;border-color:#83977a}.drawing-image{background:#fff;max-height:58dvh;overflow:auto;border:1px solid var(--line);display:flex;justify-content:center}.drawing-image img{max-width:100%;object-fit:contain}.drawing-note{font-size:11px;line-height:1.7;color:#7b8875;max-width:800px;margin-bottom:0}.error-message{padding:30px;max-width:500px;text-align:center;line-height:1.8}@media(min-width:1700px){main{grid-template-columns:minmax(0,1fr) 390px}.studio-scroll{padding:36px}.swatch{height:40px;max-width:44px}.control-section{padding:24px 0}.panel-intro h2{font-size:28px}.section-title h3 span{font-size:12px}.field-label,select{font-size:11px}.scene-heading{top:40px;left:44px}}@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 310px}.studio-scroll{padding:24px 20px}.project-title .tag{display:none}.scene-heading{left:22px}.scene-heading h1{font-size:31px}.scene-top-right{top:18px;right:12px}.views button{padding:9px 8px}.walk-button{padding:14px 12px}.view-tools{gap:7px}.scene-footer span:last-child{display:none}}@media(max-width:740px){.topbar{height:70px;padding:0 18px}.project-title{display:none}.brand{font-size:10px}.brand-icon{font-size:40px}.quiet-button{font-size:10px}main{height:auto;min-height:0;display:flex;flex-direction:column}.viewport{height:67dvh;min-height:460px}.studio{border-left:0}.studio-scroll{padding:25px}.panel-intro p{margin-bottom:15px}.control-section{padding:20px 0}.swatches{grid-template-columns:repeat(10,1fr);gap:10px}.swatch{max-width:35px;height:30px}.scene-heading{top:19px;left:20px}.scene-heading h1{font-size:30px}.scene-heading p{font-size:10px}.scene-top-right{top:18px}.glass-button{font-size:9px;padding:9px}.view-tools{bottom:45px}.views button{font-size:9px;padding:9px 7px}.walk-button{font-size:10px;padding:13px 10px}.scene-footer{bottom:16px;left:20px}.panel-footer{font-size:9px}.panel-footer button{font-size:10px}#walk-hint{top:20px;padding:12px;font-size:8px;max-width:95%;white-space:normal;width:300px;text-align:center}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
