
:root{--bg:#f4f2ee;--paper:#fff;--ink:#282d28;--muted:#6e746c;--line:#dedfd7;--accent:#b7c597;--dark:#242b25;--warm:#d5b989;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #839963;outline-offset:3px}header{min-height:99px;padding:24px 3%;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fcfcf9;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--ink)}.identity strong{font-family:Georgia,serif;font-size:42px;letter-spacing:-3px;font-weight:400}.identity strong span{font-size:26px;color:#b6b9ad;margin-left:7px}.identity>span{font-size:13px;letter-spacing:1.2px}.identity small{display:block;font-size:10px;margin-top:6px;letter-spacing:1.6px;color:var(--muted)}nav{display:flex;gap:5px}nav button{background:none;border:0;padding:12px 15px;color:var(--muted);font-size:14px;border-radius:4px}nav button.active{background:var(--dark);color:white}.revision{font-size:11px;letter-spacing:1.7px;color:var(--muted)}.status{padding:13px 3%;display:flex;align-items:center;gap:10px;font-size:13px;border-bottom:1px solid #e4ddcc;background:#eeeee6;color:#5b6053}.statusmark{font-size:20px}.status b{font-weight:500;white-space:nowrap}.status>span:nth-of-type(2){opacity:.85}.status button{margin-left:auto;border:0;background:transparent;text-decoration:underline;font-size:13px;white-space:nowrap;color:inherit}main{min-height:calc(100dvh - 207px)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:36px;line-height:1.1}h2{font-size:29px}p{line-height:1.6}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:#7b806f;margin:0 0 16px}.source-intro,.content{max-width:1440px;padding:38px 4%;margin:auto}.source-intro>p:not(.eyebrow){color:var(--muted);max-width:800px}.source-plans{display:grid;grid-template-columns:1fr 1fr;gap:22px}.source-plans figure{margin:0;padding:20px;background:white;border:1px solid var(--line)}.source-plans img{display:block;width:100%;max-height:500px;object-fit:contain}figcaption{font-size:13px;color:var(--muted);margin-top:14px}footer{padding:20px 3%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.5px;color:var(--muted)}.studio{display:grid;grid-template-columns:minmax(0,1fr) 296px;min-height:calc(100dvh - 207px)}.visual-side{padding:26px 28px}.view-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.view-header h1{font-size:27px;margin-bottom:0}.view-header .eyebrow{margin-bottom:8px}.view-meta{text-align:right;font-size:11px;color:var(--muted);line-height:1.6}.stage{position:relative;background:#dddcd3;aspect-ratio:16/9;overflow:hidden;border-radius:3px}.stage>img{width:100%;height:100%;object-fit:contain;display:block}.stage .tag{position:absolute;left:18px;top:18px;background:#242b25dd;color:#f5f4ed;padding:8px 10px;font-size:10px;letter-spacing:1.2px;backdrop-filter:blur(5px)}.stage .expand{position:absolute;right:14px;bottom:14px;border:1px solid #ffffff77;background:#1d211c9c;color:white;border-radius:50%;width:37px;height:37px;font-size:19px}.view-caption{display:flex;align-items:center;justify-content:space-between;margin:15px 0;color:var(--muted);font-size:12px;gap:20px}.view-caption a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}.thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 0 11px}.thumb{flex:0 0 140px;padding:0;border:2px solid transparent;background:none;text-align:left;border-radius:4px;color:var(--muted)}.thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px}.thumb span{font-size:11px;display:block;padding:7px 2px}.thumb.selected{border-color:#819368;color:var(--ink)}.controls{padding:29px 24px;background:var(--dark);color:#efeee5}.controls .eyebrow{color:#a7b594;font-size:10px}.controls h2{font-size:24px;margin-bottom:6px}.controls>p{font-size:12px;color:#aeb6a9;line-height:1.6;margin-bottom:29px}.control-label{display:block;font-size:11px;letter-spacing:1.4px;color:#bfc8b7;margin:23px 0 10px}.roomlist{display:flex;flex-direction:column;gap:4px}.roomlist button{border:0;background:none;text-align:left;color:#c0c8ba;padding:9px 10px;display:flex;justify-content:space-between;gap:8px;font-size:13px;border-radius:3px}.roomlist button:hover{background:#343e32}.roomlist button.selected{background:#4c5b40;color:#fff}.roomlist small{font-size:10px;opacity:.65}.segmented{display:flex;border:1px solid #58634d;border-radius:4px;padding:3px;gap:3px}.segmented button{flex:1;background:none;border:0;border-radius:2px;padding:9px 3px;color:#bbc5b1;font-size:12px}.segmented button.selected{background:#cfdbc0;color:#242b25}.controls .note{border-top:1px solid #4b5545;padding-top:17px;margin-top:22px;font-size:12px;line-height:1.55;color:#afb8a5}.toggle{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px;margin-top:16px}.toggle input{accent-color:var(--accent);width:17px;height:17px}.grouphead{font-size:10px;letter-spacing:1.4px;color:#89987d;padding:12px 10px 5px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid var(--line);padding:19px}.card img{width:100%;height:220px;object-fit:cover;display:block}.card h3{font-size:17px;margin-top:18px;margin-bottom:8px;font-weight:500}.card p{font-size:13px;color:var(--muted);margin-bottom:6px}.badge{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:5px 7px;background:#edece4;color:#686c5e}.badge.existing{background:#e0e9d6;color:#40563a}.sectionbar{display:flex;justify-content:space-between;align-items:center;margin:28px 0 19px}.sectionbar h2{margin:0}.textlink{color:inherit;font-size:13px;text-decoration:underline}.factrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:25px 0}.factrow>div{border-left:2px solid #9cac86;padding-left:18px}.factrow strong{font:32px Georgia,serif;display:block;margin-bottom:5px}.factrow span{font-size:12px;color:var(--muted)}.notice{padding:19px 23px;background:#e7e8de;border-left:3px solid #859773;line-height:1.65;font-size:14px;margin:22px 0}.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.download{display:flex;gap:20px;justify-content:space-between;align-items:start;text-decoration:none;color:inherit;border:1px solid var(--line);background:white;padding:26px}.download h3{font:22px Georgia,serif;margin-bottom:9px}.download p{font-size:13px;color:var(--muted);margin:0}.download .arrow{font-size:26px}.download:hover{border-color:#7d9364}.filetype{font-size:10px;letter-spacing:1px;margin-bottom:15px;color:#71815e}.modelstage{height:calc(100dvh - 275px);min-height:470px;position:relative;background:#e3e4dc}.modelstage canvas{display:block;width:100%;height:100%;touch-action:none}.modelhint{position:absolute;bottom:16px;left:18px;font-size:11px;background:#fafaf3e6;padding:10px 13px;pointer-events:none;max-width:85%}.loader{position:absolute;inset:0;display:grid;place-content:center;z-index:3;background:#e3e4dc;line-height:1.8;text-align:center;font-size:14px}.loader b{font-family:Georgia,serif;font-size:26px;font-weight:400}.planwrap{position:relative;background:white}.planwrap img{display:block;width:100%}.planlegend{display:flex;gap:20px;font-size:12px;color:var(--muted);padding:12px 0}.planlabels{position:absolute;inset:0;pointer-events:none}.planlabel{position:absolute;transform:translate(-50%,-50%);font-size:10px;white-space:nowrap;padding:3px 5px;background:#fcfcf5dd;border-radius:2px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:15px}.compare img{height:330px;width:100%;object-fit:contain;background:#e8e7df}.compare figure{margin:0}dialog{border:0;border-radius:6px;padding:27px;max-width:880px;width:calc(100% - 35px);max-height:90dvh;background:#f6f5ef;color:var(--ink)}dialog::backdrop{background:#111a11ad;backdrop-filter:blur(4px)}.dialogbar{display:flex;justify-content:space-between;align-items:start;gap:25px}.dialogbar h2{margin-bottom:20px}.dialogbar button{background:none;border:0;font-size:29px}.dialog-content,.dialogbar+p{font-size:14px;line-height:1.7}#dialog-content pre{white-space:pre-wrap;font:14px/1.7 Arial,sans-serif}#dialog-content img{width:100%}.empty{padding:60px;font-size:16px}select{padding:11px;border:1px solid #7c8d6a;border-radius:3px;background:#303b2d;color:#fff;width:100%;font-size:13px}.modelbuttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modelbuttons button{padding:10px 4px;background:#3b4834;border:1px solid #596d4b;color:#e7edde;font-size:12px;border-radius:3px}
@media(min-width:1700px){.studio{grid-template-columns:minmax(0,1fr) 340px}.visual-side{padding:32px 45px}.controls{padding:35px}.stage{max-height:calc(100dvh - 380px)}.thumb{flex-basis:170px}}
@media(max-width:1050px){header{flex-wrap:wrap;gap:15px}.revision{display:none}nav{order:3;width:100%;justify-content:center}.studio{grid-template-columns:minmax(0,1fr) 250px}.visual-side{padding:20px 18px}.controls{padding:24px 16px}.status>span:nth-of-type(2){display:none}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){header{padding:16px}.identity strong{font-size:37px}nav{overflow:auto;justify-content:flex-start}nav button{padding:10px 13px;white-space:nowrap;font-size:13px}.status{padding:11px 16px;font-size:12px}.studio{display:flex;flex-direction:column}.visual-side{padding:20px 15px}.view-header h1{font-size:24px}.view-meta{display:none}.controls{padding:23px 20px}.roomlist{display:grid;grid-template-columns:1fr 1fr}.grouphead{grid-column:1/-1}.controls>p{margin-bottom:17px}.thumb{flex-basis:115px}.view-caption{font-size:11px}.source-intro,.content{padding:28px 20px}.source-plans,.download-grid,.compare{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:10px}.card img{height:180px}.card h3{font-size:15px}.factrow{grid-template-columns:1fr;gap:21px}h1{font-size:30px}.source-plans figure{padding:10px}.modelstage{height:62dvh;min-height:360px}.planlabel{font-size:8px;padding:2px}footer{padding:20px;font-size:10px}footer span:last-child{display:none}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .16s,border-color .16s}}
@media(min-width:1051px){.studio{height:calc(100dvh - 207px);min-height:480px}.controls{overflow-y:auto}.visual-side{overflow-y:auto}.stage{max-height:calc(100dvh - 355px);min-height:260px}.modelstage{height:calc(100dvh - 310px);min-height:350px}}

