:root{--margin:40px}body{font-size:14px}.nav{height:88px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:var(--bg-deep)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--paper)}.brand svg{width:34px;height:34px}.brand strong{font-family:'Mona Sans',sans-serif;font-size:34px;font-weight:900;letter-spacing:-2px}.brand .by{font-size:12px;color:var(--stone);border-left:1px solid var(--line);padding-left:16px}.local-badge{font-size:11px;border:1px solid var(--line);padding:7px 12px;color:var(--stone)}.shell{display:grid;grid-template-columns:248px 1fr;min-height:calc(100vh - 88px)}.sidebar{background:var(--bg-deep);padding:32px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-title{margin-bottom:26px}.sidebar>.btn{justify-content:space-between;padding:13px 16px;font-size:11px}.sidebar nav{margin-top:25px;display:grid;gap:6px}.project-button{background:transparent;color:var(--stone);border:1px solid transparent;padding:13px 10px;text-align:left;cursor:pointer;font:inherit;overflow-wrap:anywhere}.project-button.active{color:var(--paper);background:var(--charcoal);border-color:var(--line);border-left:2px solid var(--accent)}.project-button small{display:block;font-size:10px;color:var(--stone);margin-top:4px}.sidebar-bottom{margin-top:auto;padding-top:100px}.sidebar-bottom .eyebrow{font-size:9px;letter-spacing:.1em}.sidebar-bottom p{font-size:13px;margin:18px 0 25px;color:var(--stone)}main{padding:48px 48px 0;min-width:0;max-width:1700px;width:100%;margin:0 auto}.display-l{font-size:clamp(34px,3.8vw,62px);margin:22px 0;line-height:1.12}.outline{color:var(--stone)}.intro{font-size:15px;line-height:1.8;color:var(--stone)}.onboarding{border:1px solid var(--line);background:var(--bg-deep);padding:32px;margin-top:38px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.onboarding h2{font-size:22px;margin:20px 0 10px}.onboarding p,.panel>p,.inspector>p{color:var(--stone);line-height:1.8}.onboarding form{margin-top:30px}.input-row{display:flex;gap:12px}.input-row input{min-width:0;flex:1}.input-row .btn{padding:14px 18px;white-space:nowrap;font-size:10px}label{display:block;font-size:12px;margin-bottom:8px}input:not([type=checkbox]):not([type=file]),textarea{font:inherit;background:var(--charcoal);color:var(--paper);border:1px solid var(--line);padding:13px 14px;border-radius:0;width:100%}input::placeholder{color:var(--stone)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}textarea{resize:vertical}.blueprint{border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column;justify-content:center;color:var(--accent);opacity:.7}.blueprint svg{width:100%;max-height:235px}.blueprint span{font-size:10px;text-align:center;color:var(--stone);margin-top:20px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:32px 0}.principles h3{font-size:14px;margin:12px 0 8px}.principles p{font-size:12px;color:var(--stone)}footer{border-top:1px solid var(--line);margin-top:35px;padding:20px 0;display:flex;justify-content:space-between;font-size:11px;color:var(--stone)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading h1{margin:14px 0 30px;overflow-wrap:anywhere}.steps{display:flex;list-style:none;border-block:1px solid var(--line);margin-bottom:32px}.steps li{flex:1;padding:17px 0;color:var(--stone);font-size:12px}.steps li.active{color:var(--accent);border-bottom:2px solid var(--accent)}.steps span{margin-left:10px}.panel{background:var(--bg-deep);border:1px solid var(--line);padding:32px;max-width:880px}.panel h2{margin:18px 0 12px}.upload-zone{border:1px dashed var(--graphite);padding:36px;display:flex;align-items:center;flex-direction:column;gap:10px;margin-top:26px}.upload-symbol{font-size:32px;color:var(--accent)}.upload-zone>span:last-of-type{color:var(--stone);font-size:11px}input[type=file]{max-width:100%;margin-top:15px;font-size:12px}.check{display:flex;gap:10px;margin:22px 0}input[type=checkbox]{accent-color:var(--accent)}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);background:var(--bg-deep)}.image-column{min-width:0;display:flex;flex-direction:column}.image-toolbar,.image-footer{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--stone);font-size:11px}.image-toolbar{border-bottom:1px solid var(--line)}.canvas-wrap{display:flex;align-items:center;justify-content:center;padding:20px;min-height:360px;flex:1;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#ffffff03 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#ffffff03 40px)}canvas{display:block;max-width:100%;height:auto;max-height:70vh;object-fit:contain;touch-action:manipulation}canvas.drawing{cursor:crosshair}.image-footer{border-top:1px solid var(--line);flex-wrap:wrap}.inspector{border-left:1px solid var(--line);padding:25px}.inspector h2{font-size:23px;margin:18px 0}.inspector p{font-size:12px;margin-bottom:22px}.inspector .btn{width:100%;justify-content:center;padding:14px 12px;font-size:10px;margin-top:12px}.text-button{border:0;background:transparent;color:var(--paper);font:inherit;font-size:11px;cursor:pointer;padding:5px}.text-button:hover{color:var(--accent)}button:disabled{opacity:.35;cursor:not-allowed;transform:none}.tool-row{display:flex;justify-content:space-between;gap:3px}.field-caption{border-bottom:1px solid var(--line);padding-bottom:13px;color:var(--accent);font-size:12px;margin:18px 0}#request-de{font-size:12px}#revision-form label{margin-top:24px}#revision-form .micro{font-size:10px;margin:8px 0}#job-status{padding:20px 0;color:var(--accent);font-size:12px}#job-status::before{content:'';display:inline-block;width:8px;height:8px;clip-path:var(--hex-clip);background:var(--accent);margin-right:10px;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.3}}.qa{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;color:var(--accent);font-size:12px}.qa small{display:block;color:var(--stone);margin-top:8px}.history{margin-top:30px}.history-item{border-bottom:1px solid var(--line);padding:16px 0;display:flex;align-items:center;gap:20px}.history-item img{width:85px;height:55px;object-fit:cover}.history-item p{font-size:12px;flex:1}.history-item a{color:var(--stone);font-size:11px}#error{border:1px solid var(--accent);padding:15px;margin-bottom:25px;background:var(--bg-deep);color:var(--paper)}[hidden]{display:none!important}@media(min-width:1600px){main{padding:60px 65px 0}.workbench{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:1100px){.shell{grid-template-columns:195px 1fr}main{padding:32px 25px 0}.onboarding{grid-template-columns:1fr}.blueprint{display:none}.workbench{grid-template-columns:1fr}.inspector{border-left:0;border-top:1px solid var(--line)}.inspector .btn{max-width:380px}.sidebar{padding:25px 14px}.input-row{flex-direction:column}}@media(max-width:650px){.nav{height:72px;padding:0 20px}.brand .by{display:none}.local-badge{font-size:9px}.shell{display:block}.sidebar{border-right:0;padding:16px 20px}.sidebar-title,.sidebar-bottom{display:none}.sidebar>.btn{align-self:start}.sidebar nav{display:flex;overflow:auto;margin-top:12px}.project-button{min-width:145px}.project-button small{display:none}main{padding:28px 20px 0}.display-l{font-size:33px}.onboarding{padding:23px}.principles{grid-template-columns:1fr;gap:24px}.steps li{font-size:10px}.steps span{margin-left:4px}.panel{padding:22px}.upload-zone{padding:22px 12px}.canvas-wrap{min-height:180px;padding:10px}.page-heading{display:block}.page-heading>.data{display:none}.history-item{flex-wrap:wrap}footer{font-size:10px}.brand strong{font-size:28px}}
/* Workspace usability: shared mouse, keyboard and touch interactions. */
.header-actions{display:flex;align-items:center;gap:16px}.login-panel{max-width:480px;padding:48px 24px;margin:60px auto}.login-panel h1{margin:20px 0}.login-panel p{color:var(--stone);margin:20px 0}.login-panel .btn{margin-top:20px;width:100%;justify-content:center}#login-error{color:var(--paper)}.brand-icon{width:24px;height:24px;flex-shrink:0}.upload-symbol{width:32px;height:32px}.text-button{min-height:44px;min-width:44px}.upload-zone{cursor:pointer;transition:border-color .2s,background .2s}.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-dim)}.upload-zone:hover{border-color:var(--stone)}#upload-preview{display:flex;gap:16px;align-items:center;margin-top:24px;color:var(--stone);font-size:12px}#upload-preview img{width:120px;height:80px;object-fit:contain;background:var(--charcoal)}#upload-filename{overflow-wrap:anywhere}#upload-feedback{margin-top:15px}.check{min-height:44px;align-items:center}.check input{min-width:22px;min-height:22px}.view-controls{display:flex;align-items:center;gap:5px}.view-controls .data{min-width:52px;text-align:center}.drawing-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--charcoal)}.drawing-toolbar>span{font-size:11px;color:var(--stone);flex:1;min-width:130px}.tool-switch{display:flex;border:1px solid var(--line)}.tool-switch button{min-height:44px;padding:8px 12px;border:0;background:var(--bg-deep);color:var(--stone);font:inherit;font-size:11px;cursor:pointer}.tool-switch button[aria-pressed=true]{background:var(--accent);color:var(--ink)}.canvas-wrap{display:block;max-height:65vh;min-height:180px;overflow:auto;overscroll-behavior:contain;position:relative}.image-surface{width:100%;margin:auto}.image-surface[data-zoom="2"]{width:200%}.image-surface[data-zoom="3"]{width:300%}canvas{width:100%;max-width:none;max-height:none;height:auto;object-fit:unset;touch-action:pan-x pan-y}canvas.drawing{touch-action:none}#error{display:flex;align-items:center;justify-content:space-between;gap:15px}#error-message{overflow-wrap:anywhere}#error:focus{outline:1px solid var(--accent)}.tool-row{gap:6px}.tool-row button{flex:1;border:1px solid var(--line)}.btn:disabled:hover{transform:none}.history-item a{min-height:44px;display:flex;align-items:center}.image-toolbar{padding-block:8px}.inspector textarea{font-size:16px!important}.upload-zone input{min-height:36px}.steps{margin-bottom:24px}#cancel-edit{font-size:11px}#refresh-status{border:1px solid var(--line);width:100%;margin-top:12px}#job-status{margin-top:16px;padding:16px;border:1px solid var(--line);background:var(--charcoal)}@media(max-width:650px){.nav{height:72px}.nav .local-badge{font-size:9px;padding:6px 8px}.header-actions{gap:5px}.header-actions>.text-button{font-size:10px}.brand{gap:8px}.brand svg{width:27px;height:27px}.sidebar{border-bottom:1px solid var(--line)}.sidebar nav{scrollbar-width:thin}.project-button{min-height:48px}.page-heading h1{font-size:25px;margin-bottom:22px}.workbench{margin-inline:-10px}.image-toolbar{padding:8px 10px;flex-wrap:wrap;gap:0}.view-controls{gap:0}.view-controls .text-button{font-size:12px}.drawing-toolbar{padding:10px;gap:8px}.tool-switch{width:100%}.tool-switch button{flex:1;font-size:12px}.drawing-toolbar>span{font-size:11px}.canvas-wrap{max-height:55vh;min-height:160px;padding:10px}.image-footer{padding:12px 10px;font-size:10px}.inspector{padding:22px 18px}.inspector .btn{min-height:48px;max-width:none;font-size:11px}.inspector>p{font-size:14px}.tool-row .text-button{font-size:12px}.onboarding input,.panel input,.login-panel input{font-size:16px!important}.onboarding .btn{min-height:48px}.steps li{padding:14px 0}.steps span{font-size:10px}.panel p{font-size:13px}.check{font-size:13px}.history-item p{min-width:160px}.local-badge{max-width:130px;text-align:center}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Original Formstube architectural imagery: decorative, never a simulated project result. */
.welcome-stage{position:relative;isolation:isolate;min-height:385px;padding:40px;overflow:hidden;border:1px solid var(--line);background:var(--ink)}
.welcome-stage::before{content:'';position:absolute;inset:0;z-index:-2;background:url('/brand/images/architecture-model.jpg') 75% center/cover no-repeat}
.welcome-stage::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,12,.97) 0%,rgba(10,10,12,.88) 32%,rgba(10,10,12,.32) 65%,rgba(10,10,12,.08)),linear-gradient(0deg,rgba(10,10,12,.75),transparent 45%)}
.welcome-stage-copy{max-width:650px}.welcome-stage .display-l{font-size:clamp(34px,3.55vw,58px);max-width:620px}.welcome-stage .outline{color:var(--paper)}.welcome-stage .intro{color:#b6b6b6;font-size:14px;max-width:430px}.welcome-stage-caption{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:42px}.welcome-stage-caption .eyebrow{font-size:9px;letter-spacing:.14em;color:#b6b6b6}.stage-signature{font-family:'Mona Sans',Inter,sans-serif;font-weight:900;font-variation-settings:'wdth' 125;font-size:48px;line-height:1;letter-spacing:-3px;opacity:.7}.onboarding{margin-top:22px}.onboarding h2{max-width:480px}.login-panel{position:relative;isolation:isolate;background:var(--bg-deep);border:1px solid var(--line);padding:40px}.login-panel::before{content:'';display:block;height:155px;margin:-40px -40px 32px;background:linear-gradient(0deg,var(--ink),transparent 70%),url('/brand/images/architecture-model.jpg') 70% 48%/cover no-repeat}.login-panel .eyebrow{margin-top:0}@media(max-width:1100px){.welcome-stage{padding:28px;min-height:370px}.welcome-stage::after{background:linear-gradient(90deg,rgba(10,10,12,.96),rgba(10,10,12,.78) 48%,rgba(10,10,12,.25)),linear-gradient(0deg,rgba(10,10,12,.8),transparent 50%)}.welcome-stage .display-l{font-size:clamp(32px,4.4vw,46px)}}@media(max-width:650px){.welcome-stage{padding:24px 20px 20px;min-height:440px;margin-inline:-10px;display:flex;flex-direction:column;justify-content:space-between}.welcome-stage::before{background-position:65% bottom;background-size:auto 290px;background-repeat:no-repeat}.welcome-stage::after{background:linear-gradient(180deg,var(--ink) 0%,rgba(10,10,12,.94) 27%,rgba(10,10,12,.22) 68%,rgba(10,10,12,.72))}.welcome-stage .display-l{font-size:32px;line-height:1.14;margin:20px 0 16px;overflow-wrap:anywhere}.welcome-stage .intro{font-size:12px;line-height:1.7;max-width:290px}.welcome-stage .eyebrow{font-size:9px;letter-spacing:.15em}.welcome-stage-caption{margin-top:110px;gap:10px}.welcome-stage-caption .eyebrow{font-size:8px;max-width:180px}.stage-signature{font-size:37px}.onboarding{margin-top:18px}.login-panel{margin:24px 20px;padding:24px}.login-panel::before{margin:-24px -24px 24px;height:145px}}
@media(max-width:650px){.welcome-stage::before{mask-image:linear-gradient(to bottom,transparent 0%,transparent 38%,#000 60%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 38%,#000 60%)}}
