:root{--ink:#292e28;--muted:#787d71;--paper:#f9f8f4;--line:#deded3;--accent:#626f51}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;color:var(--ink);background:#ded9cd;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none}button:focus-visible,input:focus-visible{outline:2px solid #768c59;outline-offset:4px}#viewport{position:absolute;inset:0}canvas{display:block;touch-action:none}header{position:absolute;top:31px;left:34px;display:flex;align-items:flex-start;gap:18px;pointer-events:none;text-shadow:0 1px 12px #fff9}.brandmark{font:42px Georgia;border:1px solid #787e6166;padding:5px 11px;line-height:1.15}.brandmark span{font-size:18px;color:var(--accent)}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:600;margin:0}.subtitle{margin:7px 0 0;font-size:12px;color:#626757}h1{font:38px Georgia,serif;letter-spacing:-1.5px;margin:6px 0 0}h2{font:22px Georgia,serif;margin:8px 0 17px}.top-actions{position:absolute;top:29px;right:30px;display:flex;gap:8px}.top-actions button{background:#f9f8f4e8;border:1px solid #fff8;border-radius:5px;padding:12px 14px;font-size:11px;box-shadow:0 2px 12px #00000009}.top-actions span{padding-left:12px}#panelToggle{display:none}#panel{position:absolute;right:30px;top:88px;bottom:32px;width:310px;max-height:780px;background:#f9f8f4f2;backdrop-filter:blur(20px);border:1px solid #ffffff90;border-radius:10px;box-shadow:0 18px 65px #28302226;display:flex;flex-direction:column;overflow:hidden}.panel-head{padding:23px 23px 17px;display:flex;justify-content:space-between;align-items:center}.panel-head .eyebrow{font-size:8px;letter-spacing:1.6px}.dot{width:6px;height:6px;background:#71815c;border-radius:50%}.tabs{margin:0 23px;display:flex;border-bottom:1px solid var(--line);gap:23px}.tabs button{padding:10px 0 11px;color:#858878;font-size:12px;position:relative}.tabs button.active{color:var(--ink)}.tabs button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink)}.tab{display:none;padding:19px 23px;overflow:auto;flex:1}.tab.active{display:block}.intro{font:18px/1.35 Georgia,serif;margin:0 0 23px}.intro span{font:11px/1.8 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--muted)}.finish{margin:0 0 22px}.finish-title{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-weight:500;font-size:12px}.num{font-size:9px;color:#949787;font-weight:400}.chip{width:36px;height:36px;flex:none;background:url('/assets/ash-color.jpg') center/cover;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px var(--line)}.finish-title small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.label-row{display:flex;justify-content:space-between;margin:12px 0 7px;font-size:11px}.label-row output{color:var(--muted)}input[type=range]{width:100%;height:3px;appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,#c9bba3,#61513f);border-radius:5px;cursor:pointer;margin:9px 0}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#f9f8f4;border:2px solid #6c735e;border-radius:50%;box-shadow:0 1px 3px #0002}input[type=range]::-moz-range-thumb{width:10px;height:10px;background:#f9f8f4;border:2px solid #6c735e;border-radius:50%}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin:5px 0 9px}.textbutton{font-size:11px;color:#697456;padding:6px 0}.fine{font-size:10px;color:#858878;line-height:1.65;margin:16px 0 4px}.panel-footer{border-top:1px solid var(--line);padding:15px 22px;display:flex;gap:9px;align-items:center;color:#737966;font-size:9px;flex-shrink:0}.material-dot{background:#c6a87e;width:7px;height:7px;border-radius:50%}.time-display{display:flex;align-items:baseline;gap:8px;margin:5px 0 18px}.time-display span{font:48px Georgia}.time-display small{font-size:12px;color:var(--muted)}.presets{display:flex;gap:5px;margin:16px 0}.presets button{border:1px solid var(--line);border-radius:4px;font-size:10px;padding:8px;flex:1}.presets button:hover{background:#eaece3}.field{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:20px}.field input{padding:5px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;border-radius:4px}.rule{height:1px;background:var(--line);margin:23px 0}.mechanisms>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.mechanisms button{padding:6px 12px;border:1px solid #b4bca4;border-radius:4px;font-size:10px;min-width:55px}.mechanisms button.open{background:var(--accent);color:white}.viewbar{position:absolute;left:35px;bottom:32px;background:#f9f8f4ed;backdrop-filter:blur(15px);border:1px solid #fff8;box-shadow:0 5px 30px #00000015;padding:17px 20px 13px;border-radius:8px}.viewbar .eyebrow{font-size:8px;color:#828676}.view-buttons{display:flex;gap:5px;margin:11px 0 14px}.view-buttons button{font-size:11px;padding:9px 12px;border:1px solid transparent;border-radius:4px}.view-buttons button.active{background:#e7eade;border-color:#d5dcc6}.navigation{display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:11px}.navigation button{font-size:11px;padding:2px 0}.navigation span#navHint{font-size:9px;color:var(--muted)}#walkPad{position:absolute;left:40px;bottom:202px;text-align:center}#walkPad button{background:#f8f7f0e8;margin:3px;border-radius:8px;width:42px;height:42px;border:1px solid #ddd}#loading{position:fixed;inset:0;z-index:10;background:#f1eee6;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .65s}.loadbrand{font:65px Georgia;letter-spacing:-3px}#loading p{color:#757c68;font-size:12px;letter-spacing:.6px;margin-top:15px}.progress{width:180px;height:2px;background:#dcded2;margin:27px 0 17px;overflow:hidden}.progress i{display:block;width:45%;height:100%;background:#6c7956;animation:load 1.8s infinite alternate ease-in-out}#loading small{font-size:10px;color:#858a7c}@keyframes load{to{transform:translateX(130%)}}#toast{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);background:#2f392f;color:#fff;padding:13px 22px;border-radius:30px;z-index:11;opacity:0;pointer-events:none;transition:opacity .2s}#fatal{position:fixed;inset:25% 20%;z-index:20;background:#f9f8f4;padding:40px;border-radius:10px;box-shadow:0 20px 80px #0005}#fatal button{padding:10px 20px;border:1px solid var(--line)}@media(max-width:900px){header{top:23px;left:23px}h1{font-size:29px}.brandmark{font-size:32px}.top-actions{right:20px;top:22px}.top-actions button{padding:10px}#panel{right:20px;top:77px;width:282px;bottom:20px}.viewbar{left:20px;bottom:20px;padding:14px}.navigation{gap:10px}.view-buttons button{padding:7px 8px}}@media(max-width:650px){header{top:20px;left:18px;gap:10px}.brandmark{font-size:25px;padding:5px 8px}h1{font-size:25px}.eyebrow{font-size:7px;letter-spacing:1px}.subtitle{display:none}.top-actions{right:15px;top:20px}.top-actions #capture,.top-actions #share{display:none}#panelToggle{display:block}#panel{top:78px;right:14px;bottom:167px;width:278px;transform:translateX(calc(100% + 30px));transition:transform .25s}#panel.show{transform:translateX(0)}.viewbar{left:14px;right:14px;bottom:14px;padding:13px 15px}.view-buttons{justify-content:space-between;margin:9px 0 11px}.view-buttons button{font-size:10px;padding:7px}.navigation{justify-content:space-between}.navigation span#navHint{font-size:8px}#walkPad{left:15px;bottom:169px}.panel-footer{padding:12px 20px}}
header{background:linear-gradient(100deg,#f9f8f4e8,#f9f8f4b0);padding:14px 19px 15px;border-radius:7px;backdrop-filter:blur(12px);box-shadow:0 5px 35px #00000008}header h1{font-size:32px}header .brandmark{font-size:33px}header .subtitle{font-size:10px}@media(max-width:650px){header{padding:10px 12px}header h1{font-size:23px}header .brandmark{font-size:24px}}
/* Clint in Wood: original white logo, black/white typography and restrained lines. */
:root{--ink:#111;--muted:#686868;--paper:#fff;--line:#dedede;--accent:#111}html,body{font-family:Arial,Helvetica,sans-serif;font-size:14px}header{background:#080808;color:#fff;text-shadow:none;border-radius:2px;align-items:center;gap:20px;padding:16px 20px;max-width:calc(100% - 420px)}.brand-logo{width:160px;height:auto;display:block}.project-title{border-left:1px solid #ffffff55;padding-left:19px}header .eyebrow{font-size:11px;letter-spacing:1.5px}header h1{font:500 17px/1.3 Arial,Helvetica,sans-serif;letter-spacing:0;margin:7px 0 0}.top-actions button{background:#fffffff2;border:1px solid #dedede;border-radius:2px;font-size:12px}#panel{background:#fffffff5;border-radius:2px;width:330px}.panel-head{background:#111;color:#fff;padding:18px 22px}.panel-head .eyebrow{font-size:10px;letter-spacing:1.3px}.tabs{gap:24px}.tabs button{font-size:14px;color:#6b6b6b;padding-top:15px}.tab{padding:20px 22px}.intro,h2{font:500 21px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.4px}.intro span{font:12px/1.8 Arial,sans-serif}.finish{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:22px}.finish-title{font-size:14px}.finish-title small{font-size:12px}.label-row{font-size:13px}.label-row output{font-size:12px}.range-labels{font-size:11px}.chip{border-radius:2px;width:34px;height:40px;border:1px solid #ddd}.fine{font-size:12px;color:#707070}.textbutton{font-size:12px;color:#444}.field,.field input{font-size:13px}.presets button,.mechanisms button{font-size:12px;border-radius:2px}.mechanisms>div{font-size:13px}.panel-footer{font-size:10px;color:#555;letter-spacing:1px}.viewbar{background:#fffffff5;border-radius:2px;max-width:calc(100% - 420px)}.viewbar .eyebrow{font-size:10px;letter-spacing:1.5px}.view-buttons button{font-size:12px;border-radius:2px}.view-buttons button.active{background:#111;color:#fff;border-color:#111}.navigation{align-items:flex-start;gap:14px}.navigation button{font-size:12px;white-space:nowrap}.navigation span#navHint{font-size:11px;line-height:1.5;max-width:190px}.presets button:hover{background:#ededed}.material-dot{display:none}input[type=range]{height:4px;margin:12px 0;background:linear-gradient(90deg,#ddd4c4,#463b32)}input[type=range].warmth-slider{background:linear-gradient(90deg,#d7b54c,#bc7868)}input[type=range]::-webkit-slider-thumb{width:15px;height:15px;border-color:#333;background:white}input[type=range]::-moz-range-thumb{border-color:#333;background:white}button:focus-visible,input:focus-visible{outline-color:#555}.time-display span{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-2px}#loading{background:#080808;color:white}.load-logo{width:260px;height:auto}#loading p{color:white;font-size:12px;letter-spacing:2px;margin-top:32px}#loading small{color:#aaa}.progress{background:#333}.progress i{background:#fff}#toast{background:#111;border-radius:2px}
@media(max-width:1100px){header{gap:13px;padding:13px 16px}.brand-logo{width:125px}.project-title{padding-left:13px}header h1{font-size:14px}header .eyebrow{font-size:10px}.viewbar{padding:14px;max-width:calc(100% - 390px)}.view-buttons{gap:0}.view-buttons button{padding:8px}.navigation{flex-direction:column;gap:6px}.navigation span#navHint{max-width:280px}}
@media(max-width:900px){#panel{width:300px}header{max-width:calc(100% - 355px)}.project-title{display:none}.brand-logo{width:150px}.viewbar{max-width:calc(100% - 355px)}.view-buttons{flex-wrap:wrap}.view-buttons button{font-size:11px}}
@media(max-width:650px){header{top:15px;left:14px;padding:12px 15px;max-width:calc(100% - 80px)}.brand-logo{width:135px}#panel{width:min(320px,calc(100% - 28px));top:85px;bottom:180px}.viewbar{max-width:none;bottom:14px}.view-buttons{flex-wrap:nowrap}.navigation{flex-direction:row}.navigation span#navHint{max-width:170px;font-size:10px}.top-actions{top:15px}#walkPad{bottom:175px}.panel-footer{padding:10px 18px}}
/* Compact finish controls keep all three groups visible at normal desktop heights. */
#tab-materials{padding:12px 21px 10px}#tab-materials .intro{font-size:19px;margin:0 0 10px}#tab-materials .intro span{display:none}#finishControls .finish{margin:0 0 9px;padding:0 0 8px}#finishControls .finish-title{margin-bottom:6px;font-size:13px;gap:9px}#finishControls .finish-title small{font-size:11px;margin-top:2px}#finishControls .chip{width:27px;height:30px}#finishControls .label-row{font-size:12px;margin:3px 0 1px;line-height:16px}#finishControls .label-row output{font-size:11px}#finishControls input[type=range]{display:block;margin:6px 0 8px;height:3px}#finishControls .range-labels{font-size:10px;line-height:11px;margin:0 0 2px}#tab-materials .fine{font-size:11px;line-height:1.4;margin:7px 0 0}#tab-materials .textbutton{font-size:11px;padding:3px 0}#panel .panel-footer{padding-top:10px;padding-bottom:10px}
@media(min-width:651px) and (max-height:820px){#panel{top:78px;bottom:16px;max-height:none}.panel-head{padding:12px 20px}.tabs button{padding:10px 0}.tabs{margin:0 21px}#tab-materials .intro{font-size:17px;margin-bottom:8px}#finishControls .finish{margin-bottom:6px;padding-bottom:5px}#finishControls .finish-title{margin-bottom:4px}#finishControls .label-row{margin-top:1px;line-height:15px}#finishControls input[type=range]{margin:5px 0 6px}#finishControls .chip{height:27px}#tab-materials .fine{font-size:10px}#panel .panel-footer{padding-top:8px;padding-bottom:8px}}

.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;padding:0 0 13px;border-bottom:1px solid var(--line);margin-bottom:14px;cursor:pointer}.toggle-row small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.toggle-row input{accent-color:#111;width:19px;height:19px;cursor:pointer}.field input[type=color]{width:56px;height:30px;padding:2px;cursor:pointer}#tab-explore .rule{margin:16px 0}#tab-explore .intro{font-size:16px;margin-bottom:10px}

#dimensionOverlay{position:absolute;inset:0;pointer-events:none}#dimensionOptions{margin:-4px 0 15px;padding:0 0 13px;border-bottom:1px solid var(--line)}#dimensionOptions[hidden]{display:none}#dimensionOptions .field{margin-top:0;gap:12px}#dimensionPart{font:12px Arial;color:#222;background:white;border:1px solid #ccc;padding:7px;max-width:175px}#dimensionOptions .dimension-detail{margin:14px 0 0;padding:0;border:0;font-size:12px}#dimensionOptions .fine{font-size:10px;margin:10px 0 0}#dimensionOverlay[hidden]{display:none}
