:root{--bg:#e8ebe6;--paper:#f8f8f3;--ink:#152020;--muted:#687270;--line:#ccd1c9;--accent:#e75b31;--water:#78abb3;--terrain:#93a56f;--structure:#d48835;--sidebar:450px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Arial, sans-serif}button,input,select{font:inherit}button{color:inherit}.topbar{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid var(--line);background:var(--paper)}h1{font:600 24px "Arial Narrow", Arial, sans-serif;margin:2px 0 0}.eyebrow{font-size:9px;letter-spacing:.24em;color:var(--accent);font-weight:700}.top-actions{display:flex;gap:8px}.top-actions button,.ghost,.accent{border:1px solid var(--line);padding:10px 14px;border-radius:3px;background:transparent;cursor:pointer}.accent{background:var(--ink)!important;color:white;border-color:var(--ink)!important}.app-shell{height:calc(100vh - 78px);display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{border-right:1px solid var(--line);background:var(--paper);display:grid;grid-template-columns:108px 1fr;min-height:0}.steps{padding:13px 8px;border-right:1px solid var(--line);overflow:auto}.steps button{width:100%;border:0;background:transparent;text-align:left;font-size:10px;padding:12px 7px;border-radius:3px;cursor:pointer;color:var(--muted);line-height:1.2}.steps button span{display:block;font:500 13px "Arial Narrow", Arial, sans-serif;margin-bottom:5px}.steps button.active{background:var(--ink);color:white}.panels{overflow:auto;padding:21px 19px 60px}.panel{display:none}.panel.active{display:block}.panel-head{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:15px}.panel-head span{font:500 14px "Arial Narrow", Arial, sans-serif;color:var(--accent)}h2{font:600 17px "Arial Narrow", Arial, sans-serif;margin:0;line-height:1.3}h3{font-size:12px;margin:22px 0 10px}.hint{font-size:11px;color:var(--muted);line-height:1.55}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.option-grid button{border:1px solid var(--line);background:#fff;min-height:70px;text-align:left;padding:10px;cursor:pointer}.option-grid button.selected{border:2px solid var(--accent);padding:9px;background:#fff7f2}.option-grid b{font-size:11px;display:block}.option-grid small{font-size:9px;color:var(--muted);line-height:1.35}.typology-grid button{min-height:78px}.form-grid button{height:100px}.program-list,.structure-explain{margin:14px 0;background:#e8ece6;padding:12px;font-size:10px;line-height:1.55}.program-list b,.structure-explain b{display:block;margin-bottom:4px}.metric-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.metric-cards article{padding:12px;background:var(--ink);color:white}.metric-cards small{display:block;color:#bdc7c3;font-size:9px}.metric-cards strong{font:500 16px "Arial Narrow", Arial, sans-serif;display:block;margin-top:6px}.icon{height:36px;display:block;position:relative;margin-bottom:7px}.icon:before,.icon:after{content:"";position:absolute;background:var(--ink)}.icon.linear:before{width:58px;height:13px;left:3px;top:11px}.icon.u:before{width:54px;height:29px;left:3px;top:2px;border:8px solid var(--ink);border-top:0;background:transparent}.icon.l:before{width:48px;height:11px;left:4px;top:19px}.icon.l:after{width:11px;height:31px;left:4px;top:0}.icon.court:before{width:21px;height:31px;left:5px;top:1px}.icon.court:after{width:21px;height:31px;left:37px;top:1px}.icon.radial:before{width:15px;height:15px;border-radius:50%;left:5px;top:10px}.icon.radial:after{width:43px;height:6px;left:17px;top:14px;transform:rotate(-18deg);box-shadow:0 12px 0 -1px var(--ink),0 -12px 0 -1px var(--ink)}.icon.crescent:before{width:52px;height:28px;left:5px;top:3px;border:8px solid var(--ink);border-left-color:transparent;border-right-width:5px;border-radius:50%;background:transparent}.icon.terrace:before{width:49px;height:8px;left:5px;top:22px;box-shadow:7px -9px 0 var(--ink),14px -18px 0 var(--ink)}.icon.pavilion:before{width:35px;height:26px;left:13px;top:5px;clip-path:polygon(0 25%,50% 0,100% 25%,100% 100%,0 100%)}.control-group{display:grid;gap:14px;margin-top:17px}label{font-size:11px;color:var(--muted)}label output{float:right;color:var(--ink);font-weight:700}input[type=range]{display:block;width:100%;margin-top:7px;accent-color:var(--accent)}select{width:100%;border:1px solid var(--line);background:#fff;padding:10px;margin-top:7px;color:var(--ink)}.select-label{display:block;margin:14px 0}.switch{display:flex;gap:9px;align-items:center;margin:15px 0;color:var(--ink)}.switch input{display:none}.switch span{width:34px;height:18px;border-radius:20px;background:#bbb;position:relative}.switch span:after{content:"";position:absolute;width:14px;height:14px;background:white;border-radius:50%;top:2px;left:2px;transition:.2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{left:18px}.compass{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,42px);justify-content:center;gap:4px;margin:15px 0}.compass button{border:1px solid var(--line);background:#fff;cursor:pointer}.compass button.selected{background:var(--water);color:white}.compass button:nth-child(1){grid-column:2}.compass button:nth-child(2){grid-column:1;grid-row:2}.compass div{grid-column:2;grid-row:2;display:grid;place-items:center;font-size:9px;background:#dcebed}.compass button:nth-child(4){grid-column:3;grid-row:2}.compass button:nth-child(5){grid-column:2;grid-row:3}.warning{background:#fff0e9;color:#9e3b1e;padding:10px;font-size:10px}.hidden{display:none!important}.export-list{display:grid;gap:7px;margin-top:15px}.export-list button{display:grid;grid-template-columns:56px 1fr;text-align:left;align-items:center;background:white;border:1px solid var(--line);padding:11px;cursor:pointer}.export-list b{font:500 12px "Arial Narrow", Arial, sans-serif}.export-list span{font-size:10px;color:var(--muted)}.bim-note{margin-top:16px;background:#e5e9e2;padding:13px;font-size:10px}.bim-note p{margin:6px 0 0;line-height:1.5}.workspace{position:relative;min-width:0;background:#dfe4df}.view-toolbar{height:44px;position:absolute;z-index:3;left:14px;right:14px;top:12px;display:flex;gap:8px;align-items:flex-start;pointer-events:none}.view-switch,.segmented,.scene-info{display:flex;pointer-events:auto}.view-switch button,.segmented button{border:1px solid var(--line);background:rgba(248,248,243,.94);padding:9px 12px;font-size:9px;cursor:pointer}.view-switch button.selected,.segmented button.selected{background:var(--ink);color:white}.scene-info{margin-left:auto;gap:7px}.scene-info span{background:rgba(21,32,32,.9);color:white;padding:9px 10px;font-size:9px}.scene-info span:last-child{background:rgba(248,248,243,.94);color:var(--ink)}#viewport,#drawingCanvas{width:100%;height:100%;display:block}#viewport canvas{display:block}#loading{position:absolute;inset:0;display:grid;place-items:center;font:500 13px "Arial Narrow", Arial, sans-serif}.legend{position:absolute;left:18px;bottom:18px;background:rgba(248,248,243,.92);display:flex;gap:14px;padding:9px 11px;font-size:9px}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.building-dot{background:#e2e1d2}.pier-dot{background:#665c4d}.structure-dot{background:var(--structure)}.terrain-dot{background:var(--terrain)}.help{position:absolute;right:18px;bottom:18px;font-size:9px;background:rgba(21,32,32,.82);color:#fff;padding:9px 11px}dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(15,22,22,.72)}dialog form{width:min(520px,90vw);background:var(--paper);padding:28px;position:relative}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:24px}.big button{padding:16px}.big b{font-size:16px}@media(max-width:950px){:root{--sidebar:390px}.sidebar{grid-template-columns:82px 1fr}.steps button{font-size:0}.steps button span{font-size:13px}.scene-info{display:none}}@media(max-width:720px){html,body{overflow:auto}.topbar{height:66px}.top-actions .ghost{display:none}.app-shell{display:block;height:auto}.sidebar{height:56vh;grid-template-columns:68px 1fr}.workspace{height:44vh;position:fixed;left:0;right:0;bottom:0}.legend,.help,.segmented{display:none}.view-toolbar{left:7px;top:7px}.panels{padding:15px 11px 170px}h1{font-size:17px}}
.inspire{border-color:var(--accent)!important;color:var(--accent)!important;font-weight:700}.inspire:hover{background:#fff2eb!important}.form-grid button{height:108px}.warning{line-height:1.45}

/* Architectural graphics 6.0 */
:root{--paper:#f2f0e9;--ink:#232826;--line:#c8c7c0;--muted:#747a76;--panel:#fbfaf6}
body{background:var(--paper);color:var(--ink);font-family:Arial, sans-serif}
.topbar{background:#f7f5ef;border-bottom:1px solid #c8c7c0;box-shadow:none}
.topbar h1{font-weight:500;letter-spacing:-.035em}.eyebrow{letter-spacing:.16em;color:#6d726f}
.sidebar{background:#eeece5;border-right:1px solid #c8c7c0}.steps button{border-radius:0;border-bottom:1px solid #d5d3cc}.steps button.active{background:#deddd6;color:#202522}
.panel{background:#f7f5ef}.panel h2,.panel h3{font-weight:500}.hint{color:#6f7571}
.option-grid button,.export-list button,.metric-cards article{border:1px solid #cbc9c1;background:#f8f7f2;border-radius:2px;box-shadow:none}.option-grid button:hover{transform:none;background:#efeee8}.option-grid button.selected{border-color:#2e3431;background:#e5e4de;box-shadow:inset 3px 0 0 #2e3431}
button.accent,.inspire{background:#303633;color:#f7f5ef;border-radius:2px}.ghost{border-radius:2px}
.workspace{background:#e8e8e3}.view-toolbar{background:rgba(247,245,239,.96);border-bottom:1px solid #c8c7c0;gap:10px;flex-wrap:wrap}.view-toolbar button,.visual-controls select{border-radius:2px}
.visual-controls{display:flex;align-items:center;gap:4px;border-left:1px solid #cbc9c2;padding-left:10px}.visual-controls>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6e7470;margin-right:3px}.visual-controls button{padding:7px 10px;background:transparent;border:1px solid #c8c7c0;color:#444a47}.visual-controls button.selected{background:#343a37;color:#fff;border-color:#343a37}.visual-controls select{height:32px;background:#f4f2ec;border:1px solid #c8c7c0;color:#414744;padding:0 7px}
#viewport{background:#ebeae5}.legend{background:rgba(247,245,239,.9);border:1px solid #c8c7c0;border-radius:2px;backdrop-filter:blur(8px)}.help{color:#5d6460;background:rgba(247,245,239,.82);border-radius:2px}
input[type=range]{accent-color:#3d4541}select{border-radius:2px;background:#f9f8f3}.panel-head span{background:#303633;color:white;border-radius:1px}
body[data-visual-mode="sketch"] #viewport{filter:contrast(1.03) saturate(.78)}
body[data-visual-mode="material"] #viewport{filter:saturate(.88) contrast(1.02)}
@media(max-width:1100px){.visual-controls{order:3;width:100%;border-left:0;padding-left:0}.scene-info{display:none}}
/* Documentation edition 7.0 */
#drawingCanvas{background:#fbfaf5}.workspace:has(#drawingCanvas:not(.hidden)) .legend,.workspace:has(#drawingCanvas:not(.hidden)) .help{display:none}.view-toolbar{align-items:center}.view-switch button{font-weight:700;letter-spacing:.04em}.panel h3{border-top:1px solid var(--line);padding-top:14px;text-transform:uppercase;letter-spacing:.08em}.help{letter-spacing:.02em}

/* DØMO ARCHITOYS integration — student project identity */
:root{--d0mo-paper:#f2efe8;--d0mo-ink:#0d0d0f;--d0mo-signal:#ff4d2f}
.topbar{background:var(--d0mo-paper);border-bottom-color:rgba(13,13,15,.2)}
.brand-title{display:flex;align-items:center;gap:18px;min-width:0}.d0mo-header-logo{width:150px;height:40px;object-fit:contain;object-position:left center;padding-right:18px;border-right:1px solid rgba(13,13,15,.22)}
.topbar .eyebrow{color:#5d5c59}.topbar .accent,.topbar .inspire{background:var(--d0mo-ink);border-color:var(--d0mo-ink)}.topbar .inspire{color:#fff!important}.topbar .accent:hover,.topbar .inspire:hover{background:var(--d0mo-signal)!important;border-color:var(--d0mo-signal)!important}
.panel-head span{background:var(--d0mo-ink)}.option-grid button.selected{border-color:var(--d0mo-ink);box-shadow:inset 3px 0 0 var(--d0mo-signal)}
input[type=range]{accent-color:var(--d0mo-signal)}.view-toolbar button.selected,.visual-controls button.selected{background:var(--d0mo-ink);border-color:var(--d0mo-ink)}
.about-dialog{border:0;padding:0;background:transparent;max-width:none}.about-dialog::backdrop{background:rgba(13,13,15,.72);backdrop-filter:blur(5px)}.about-card{position:relative;display:grid;grid-template-columns:minmax(190px,.68fr) minmax(0,1.5fr);gap:clamp(20px,3.5vw,48px);width:min(930px,calc(100vw - 36px));max-height:none;overflow:hidden;padding:clamp(22px,3.5vw,46px);background:var(--d0mo-paper);color:var(--d0mo-ink);border:1px solid rgba(13,13,15,.22)}
.about-card .dialog-close{color:var(--d0mo-ink)}.about-brand{align-self:start}.about-brand img{display:block;width:100%;height:auto}.about-brand span{display:block;margin-top:14px;padding-top:10px;border-top:4px solid var(--d0mo-signal);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.about-copy h2{font-size:clamp(28px,4.2vw,52px);line-height:.98;letter-spacing:-.05em;margin:8px 0 18px}.about-copy p{max-width:65ch;line-height:1.45;margin:10px 0}.about-copy dl{margin:18px 0;border-top:1px solid rgba(13,13,15,.2)}.about-copy dl div{display:grid;grid-template-columns:126px 1fr;gap:14px;padding:8px 0;border-bottom:1px solid rgba(13,13,15,.2)}.about-copy dt{font-weight:800}.about-copy dd{margin:0}.about-note{font-size:11px;color:#585754;padding-top:12px;border-top:1px solid rgba(13,13,15,.2)}
@media(max-width:900px){.d0mo-header-logo{width:112px}.brand-title{gap:10px}.topbar h1{font-size:16px}}
@media(max-height:720px){.about-card{width:min(900px,calc(100vw - 24px));padding:18px 24px;gap:26px}.about-copy h2{font-size:34px;margin:4px 0 12px}.about-copy p{font-size:12px;line-height:1.35}.about-copy dl{margin:10px 0}.about-copy dl div{padding:5px 0;font-size:12px}.about-note{font-size:10px;padding-top:8px}.about-brand span{margin-top:10px;padding-top:7px}}
@media(max-width:720px){.d0mo-header-logo{width:92px;height:32px;padding-right:10px}.topbar .eyebrow{display:none}#btnAbout{display:none}.about-card{grid-template-columns:1fr}.about-brand{display:none}.about-copy dl div{grid-template-columns:96px 1fr;gap:8px}.about-copy h2{font-size:28px}}

/* Compact identity lock-up for the presentation edition. */
.topbar h1{font-size:clamp(13px,1.25vw,19px);line-height:1.2;max-width:650px}
.top-actions{flex-shrink:0}
@media(max-width:1180px){
  .topbar h1{font-size:13px;max-width:430px}
  .top-actions button{padding:9px 10px;font-size:11px}
}
