.landing{color:#141a1f;background:#fbfcfe;flex-direction:column;min-height:100svh;display:flex}.landing-header{border-bottom:1px solid var(--line);background:#f1f7fc;flex-shrink:0;justify-content:space-between;align-items:center;height:46px;padding:0 24px;display:flex}.landing-header>a{color:var(--muted);font-size:12px;font-weight:500}.landing-header .button{color:#394758;min-height:32px;padding:5px 8px;font-size:12px}.landing-main{flex:1;justify-content:center;align-items:center;gap:115px;padding:48px 40px 60px;display:flex}.landing-copy{min-width:0;max-width:400px}.landing-mark{width:40px;height:41px;color:var(--blue);margin-bottom:30px;display:block}.landing-eyebrow{letter-spacing:.1em;color:var(--muted);margin-bottom:18px;font-family:Geist Mono Variable,monospace;font-size:9px}.landing h1{letter-spacing:-.045em;margin-bottom:20px;font-size:39px;font-weight:520;line-height:1.2}.landing h1 span{color:var(--blue)}.landing-description{color:var(--muted);margin-bottom:26px;font-size:12px;line-height:1.8}.landing-actions{flex-wrap:wrap;gap:8px;display:flex}.landing-actions .button{gap:6px;min-height:32px;padding:5px 10px;font-size:11px}.landing-account-note{color:var(--muted);margin-top:12px;font-size:11px;line-height:1.6}.landing-diagram{background-image:radial-gradient(var(--line) .8px, transparent .8px);background-size:18px 18px;flex-shrink:0;width:315px;height:310px;margin-bottom:18px;position:relative}.landing-box{width:140px;height:115px;position:absolute;top:90px;left:70px}.landing-face{border:1px solid color-mix(in oklch, var(--blue) 35%, transparent);position:absolute}.landing-face.front{background:color-mix(in oklch, var(--blue) 7%, #fbfcfe);width:135px;height:102px;top:8px;left:0;transform:skewY(18deg)}.landing-face.top{background:color-mix(in oklch, var(--blue) 3%, #fbfcfe);width:135px;height:75px;top:-49px;left:34px;transform:skewY(18deg)skew(-43deg)}.landing-face.side{background:color-mix(in oklch, var(--blue) 14%, #fbfcfe);width:70px;height:102px;top:0;left:135px;transform:skewY(-47deg)}.landing-dimension{border-top:1px solid color-mix(in oklch, var(--blue) 40%, transparent);text-align:center;width:138px;height:17px;color:var(--blue);font-family:Geist Mono Variable,monospace;font-size:9px;position:absolute;top:148px;left:0;transform:skewY(18deg)}.landing-dimension:before,.landing-dimension:after{content:"";background:var(--blue);opacity:.5;width:1px;height:7px;position:absolute;top:-4px}.landing-dimension:before{left:0}.landing-dimension:after{right:0}.landing-dimension.vertical{width:105px;top:61px;left:-83px;transform:rotate(90deg)}.landing-diagram>code{white-space:nowrap;color:var(--muted);font-size:10px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.landing-status{border-top:1px solid var(--line);min-height:26px;color:var(--muted);background:#f1f7fc;justify-content:space-between;align-items:center;gap:16px;padding:4px 16px;font-size:10px;display:flex}.landing-status>span:first-child{align-items:center;gap:6px;display:flex}.landing-status-dot{background:#8b98a5;border-radius:50%;width:5px;height:5px}@media (max-width:1100px){.landing-main{gap:40px}}@media (max-width:850px){.landing-main{padding:40px 28px 56px}.landing-diagram{display:none}.landing h1{font-size:32px}.landing-header{padding-inline:16px}}.cad-preview{background:#f4f6fa;border:1px solid #e3e7ed;border-radius:14px;width:100%;height:100%;min-height:240px;position:relative;overflow:hidden}.cad-preview__canvas{touch-action:none;outline:none;width:100%;height:100%;min-height:240px;display:block}.cad-preview__canvas:focus-visible{outline-offset:-3px;outline:2px solid #3668eb}.cad-preview__label{color:#525d70;pointer-events:none;background:#ffffffdc;border-radius:6px;padding:5px 9px;font-size:12px;position:absolute;top:16px;left:18px}.cad-preview__message{text-align:center;color:#58647a;background:#f4f6faf2;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;display:flex;position:absolute;inset:0}.cad-preview__message strong{color:#253149;font-size:16px}.cad-preview__message p{overflow-wrap:anywhere;max-width:360px;margin:0;font-size:13px;line-height:1.6}.cad-preview button{color:#34445e;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce2ec;border-radius:7px;padding:7px 11px;font-size:12px}.cad-preview button:hover{background:#eaf0fc}.cad-preview button:focus-visible{outline-offset:2px;outline:2px solid #3668eb}.cad-preview__tools{gap:6px;display:flex;position:absolute;bottom:36px;right:14px}.cad-preview__hint{color:#778298;pointer-events:none;margin:0;font-size:10px;position:absolute;bottom:12px;left:15px}@media (max-width:600px){.cad-preview,.cad-preview__canvas{min-height:240px}}.conflict-review{margin:26px 0}.conflict-card{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:20px}.conflict-card h3{overflow-wrap:anywhere}.conflict-sides{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:16px 0;display:grid}.conflict-sides>div{background:var(--surface);border-radius:6px;min-width:0;padding:12px}.conflict-sides small{overflow-wrap:anywhere;margin:4px 0;display:block}.conflict-sides pre{max-height:180px;margin-bottom:0;font-size:11px;overflow:auto}.conflict-card>label{gap:8px;display:grid}.conflict-card select{border:1px solid var(--line);width:100%;min-height:40px;color:inherit;font:inherit;background:#fff;border-radius:7px;padding:8px 12px}.conflict-card .source-editor{min-height:200px;max-height:420px}.conflict-card .form-stack{margin-top:16px}@media (max-width:650px){.conflict-sides{grid-template-columns:minmax(0,1fr)}.conflict-card{padding:14px}}.inspection-page{flex-direction:column;gap:24px;display:flex}.inspection-page .card{border:1px solid var(--border,#dfe6ee);background:var(--surface,#fff);border-radius:12px;overflow-x:auto}.inspection-page .data-table{border-collapse:collapse;text-align:left;width:100%}.inspection-page .data-table th{color:var(--muted,#69768b);background:var(--surface-soft,#f6f8fb);font-size:12px;font-weight:500}.inspection-page .data-table th,.inspection-page .data-table td{border-bottom:1px solid var(--border,#dfe6ee);vertical-align:top;padding:14px 16px}.inspection-page .data-table tr:last-child td{border-bottom:0}.inspection-page .data-table td{font-size:13px;line-height:1.6}.inspection-page .data-table td:first-child svg{vertical-align:middle;color:var(--muted,#69768b);margin-right:5px}.inspection-page details{overflow-wrap:anywhere;font-size:13px}.inspection-page summary{cursor:pointer;color:var(--muted,#69768b)}.inspection-page .card h2{margin-top:0}.inspection-page .card .notice{margin-block:12px}.inspection-page select{border:1px solid var(--border,#dfe6ee);background:var(--surface,#fff);max-width:100%;min-height:36px;font:inherit;border-radius:8px;padding:6px 10px}@media (max-width:800px){.inspection-page .section-heading{flex-direction:column;align-items:flex-start;gap:12px}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#17212f;font-synthesis:none;--blue:#3268fa;--blue-soft:#edf2ff;--muted:#657185;--line:#dfe6ef;--surface:#f5f8fc;--radius:10px;background:#fff;font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #9db8ff}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;font-size:32px;font-weight:600;line-height:1.2}h2{letter-spacing:-.015em;font-size:18px;font-weight:600;line-height:1.4}h3{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.4}p{line-height:1.65}svg{flex-shrink:0}code,pre,.mono{font-family:Geist Mono Variable,Geist Mono,monospace}code{font-size:.9em}button{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:12px}.blue-text{color:var(--blue)}.eyebrow{letter-spacing:.09em;font:500 11px/1.5 Geist Mono Variable,monospace}.header-spacer{flex:1}.icon-slot{flex-shrink:0;width:16px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 16px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover:not(:disabled){background:#2255dc;border-color:#2255dc;box-shadow:0 2px 5px #3268fa22}.button.secondary{border-color:var(--line);color:#17212f;background:#fff}.button.secondary:hover:not(:disabled){background:var(--surface);border-color:#bcc9dc}.button.ghost{color:var(--blue);background:0 0;border-color:#0000;padding-inline:8px}.button.ghost:hover:not(:disabled){background:var(--blue-soft)}.button.danger{color:#a6403d;background:#fff0ee;border-color:#eed2d0}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.icon-button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-button:hover{background:var(--blue-soft);color:var(--blue)}.badge{background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.badge.blue{color:var(--blue);background:var(--blue-soft)}.badge.green{color:#237652;background:#eaf5ef}.badge.amber{color:#87631e;background:#fff5da}.badge.red{color:#a6403d;background:#fff0ee}.avatar{color:#344866;background:#e7eeff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:inline-flex}.brand{color:#17212f;letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:12px;font-size:20px;font-weight:600;line-height:28px;display:inline-flex}.brand svg{width:30px;height:30px;color:var(--blue)}.notice{color:#455b7e;background:#f4f7fd;border:1px solid #dae3f6;border-radius:8px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:13px;line-height:1.6;display:flex}.notice>svg{margin-top:2px}.notice>div{min-width:0}.notice>div>svg{vertical-align:-2px;margin-right:4px}.notice.warning{color:#71571d;background:#fff8e8;border-color:#f0e2bf}.notice.error{color:#9f3734;background:#fff1f0;border-color:#eed2d0}.empty{text-align:center;background:var(--surface);border-radius:10px;flex-direction:column;align-items:center;gap:16px;padding:64px 24px;display:flex}.empty p{max-width:480px;color:var(--muted)}.loading{color:var(--muted);justify-content:center;align-items:center;gap:12px;min-height:180px;padding:64px 24px;display:flex}.startup-error{flex-direction:column;gap:20px;max-width:620px;margin:15vh auto;padding:24px;display:flex}.panel-label{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.app-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:10px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.app-header .brand{font-size:18px}.app-header .brand svg{width:26px;height:26px}.workspace-search{border:1px solid var(--line);width:280px;color:var(--muted);border-radius:7px;align-items:center;gap:8px;height:34px;margin:0 20px;padding:0 10px;display:flex}.workspace-search input{width:100%;min-width:0;color:var(--muted);background:0 0;border:0;outline:none;padding:0;font-size:12px}.workspace-body{min-height:calc(100vh - 64px);display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:15;flex-direction:column;flex-shrink:0;gap:6px;width:224px;height:calc(100vh - 64px);padding:24px 14px;display:flex;position:sticky;top:64px}.org-control{align-items:center;gap:10px;padding:0 8px 24px;display:flex}.org-control>div{flex-direction:column;gap:2px;min-width:0;display:flex}.org-control select{appearance:auto;color:#17212f;text-overflow:ellipsis;background:0 0;border:0;width:100%;padding:0;font-size:14px;font-weight:600}.org-control span:not(.avatar){color:var(--muted);font-size:12px}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-item{height:42px;color:var(--muted);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;padding:0 8px;display:flex}.nav-item svg{width:20px}.nav-item.active{color:var(--blue);background:#e8eeff;font-weight:600}.nav-item:hover{background:#e8eeff}.add-workspace{margin-top:20px;font-size:12px}.sidebar-bottom{margin-top:auto}.desktop-note{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:16px 8px;display:flex}.desktop-note>span{color:var(--muted);font-size:11px}.desktop-note button{color:var(--blue);text-align:left;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:12px;display:flex}.account{align-items:center;gap:8px;padding:12px 8px 0;display:flex}.account>div{flex-direction:column;flex:1;min-width:0;font-size:12px;display:flex}.account strong{text-overflow:ellipsis;font-weight:500;overflow:hidden}.account span:not(.avatar){white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:10px;overflow:hidden}.account .icon-button{flex-shrink:0;width:22px}.workspace-main{flex-direction:column;flex:1;gap:24px;min-width:0;max-width:1680px;padding:32px 40px 48px;display:flex}.mobile-menu{display:none}.page-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-heading>div:first-child{min-width:0}.page-heading p{color:var(--muted);margin-top:9px}.title-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:10px;margin-bottom:-10px;font-size:12px;display:flex}.breadcrumb button{color:var(--muted);background:0 0;border:0;padding:0;font-size:12px}.breadcrumb button:hover{color:var(--blue)}.section-heading{justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.section-heading .button{min-height:28px;padding-block:0}.person-line{align-items:center;gap:9px;margin-top:14px;font-size:13px;display:flex}.person-line .avatar{width:26px;height:26px;font-size:10px}.person-line strong{font-weight:500}.featured-row{grid-template-columns:minmax(0,1fr) 330px;gap:24px;min-height:358px;display:grid}.featured-project{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.featured-project>.panel-label{padding:20px 24px 0}.featured-viewport{flex:1;height:250px;min-height:210px}.featured-caption{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.featured-caption h2{font-size:20px}.featured-caption p{color:var(--muted);margin-top:4px;font-size:12px}.review-inbox{border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px;padding-left:24px;display:flex}.review-inbox h2{justify-content:space-between;align-items:center;width:100%;font-size:17px;display:flex}.review-inbox h3{margin-top:12px;font-size:21px}.review-inbox .person-line{margin-top:0}.review-inbox p{font-size:13px}.inbox-clear{color:var(--muted);flex-direction:column;gap:8px;padding-top:18px;display:flex}.inbox-clear h3{color:#17212f;margin-top:0;font-size:18px}.project-list{flex-direction:column;display:flex}.project-row{border:0;border-top:1px solid var(--line);text-align:left;color:#17212f;background:#fff;align-items:center;gap:16px;width:100%;min-height:68px;padding:12px 0;display:flex}.project-row:not(.static-row):hover{background:var(--surface)}.project-row>svg:first-child{color:var(--muted);width:32px}.project-row>svg:last-child{color:var(--blue);width:24px}.row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-main strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.row-main small{color:var(--muted);font-size:12px}.row-date{width:136px;color:var(--muted);flex-shrink:0;font-size:12px}.project-row>.badge{text-transform:capitalize;justify-content:center;min-width:78px}.project-tabs{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:26px;height:44px;display:flex}.project-tabs>button{height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0;font-size:14px}.project-tabs>button[aria-current]{color:var(--blue);border-bottom:2px solid var(--blue);font-weight:600}.project-overview{grid-template-columns:350px minmax(0,1fr);gap:24px;display:grid}.file-panel{border:1px solid var(--line);border-radius:10px;height:-moz-fit-content;height:fit-content;overflow:hidden}.file-panel>.panel-label{border-bottom:1px solid var(--line)}.file-list{max-height:352px;overflow:auto}.file-row{text-align:left;width:100%;color:var(--muted);background:#fff;border:0;border-bottom:1px solid #edf0f5;align-items:center;gap:10px;min-height:58px;padding:16px;display:flex}.file-row:hover{background:var(--surface)}.file-row.selected{background:var(--blue-soft);color:var(--blue)}.file-row>span:not(.icon-slot){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.file-row strong{overflow-wrap:anywhere;color:#17212f;font-family:Geist Mono Variable,monospace;font-size:12px;font-weight:400}.file-row.selected strong{color:var(--blue)}.file-row small{color:var(--muted);font-size:11px}.file-panel-footer{background:var(--surface);color:var(--muted);padding:12px 16px;font-size:11px}.project-preview{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.project-preview>.panel-label{height:54px}.project-viewport{flex:1;height:312px;min-height:0;overflow:hidden}.project-viewport>.empty{border-radius:0;height:100%;padding:30px}.preview-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;font-size:12px;display:flex}.source-readonly{background:#fff;height:100%;overflow:auto}.source-file-label{border-block:1px solid var(--line);color:var(--muted);padding:12px 18px;font:12px Geist Mono Variable,monospace}.source-readonly pre{margin:0;padding:16px 18px;font-size:12px;line-height:1.9}.edit-strip{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.edit-strip>div{align-items:center;gap:12px;display:flex}.edit-strip svg{color:var(--blue)}.edit-strip>div>span{flex-direction:column;gap:3px;display:flex}.edit-strip strong{font-size:13px;font-weight:500}.edit-strip small{color:var(--muted);font-size:12px}.version-row{border-top:1px solid var(--line);align-items:center;gap:16px;min-height:58px;padding:8px 0;display:flex}.version-number{width:48px;color:var(--blue);flex-shrink:0;font:12px Geist Mono Variable,monospace}.version-row>.badge,.version-row>.button{flex-shrink:0;justify-content:center;width:90px}.workflow-strip{background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:22px;padding:16px 18px;font-size:12px;display:flex}.workflow-strip .eyebrow{color:var(--blue)}.workflow-strip>svg{color:var(--muted)}.comparison-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding-bottom:12px;display:flex}.comparison-toolbar h2{font-size:15px}.model-comparison{grid-template-columns:1fr 1fr;gap:16px;display:grid}.comparison-panel{border:1px solid var(--line);background:var(--surface);border-radius:9px;flex-direction:column;min-width:0;height:324px;display:flex;overflow:hidden}.comparison-panel.proposed{border-color:#b7cbff}.comparison-panel .panel-label{border-bottom:1px solid var(--line);background:#fff;height:44px;padding:12px 16px;font-size:13px}.comparison-panel>.cad-preview{flex:1}.comparison-panel .panel-label strong{font-weight:500}.preview-explanation{overflow-wrap:anywhere;max-width:420px;padding:8px;font-size:12px;line-height:1.6}.source-diff{border:1px solid var(--line);border-radius:9px;overflow:hidden}.source-diff>header{background:var(--surface);align-items:center;gap:12px;padding:12px 16px;display:flex}.source-diff select{color:#17212f;background:0 0;border:0;flex:1;min-width:0;font:12px Geist Mono Variable,monospace}.diff-lines{max-height:340px;overflow:auto}.diff-line{white-space:pre;align-items:stretch;min-width:-moz-fit-content;min-width:fit-content;min-height:28px;font:12px/28px Geist Mono Variable,monospace;display:flex}.diff-line .line-number{text-align:right;width:44px;color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px}.diff-line .line-sign{text-align:center;flex-shrink:0;width:28px}.diff-line code{font:inherit;padding-right:24px}.diff-line.add{color:#237652;background:#ebf7ef}.diff-line.remove{color:#a6403d;background:#fff0ee}.diff-line.context{color:var(--muted)}.merge-decision{grid-template-columns:minmax(0,1fr) auto;gap:28px;padding-bottom:8px;display:grid}.merge-decision h2{margin-bottom:12px;font-size:17px}.merge-decision .notice{margin-top:12px}.validation-badges{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.validation-detail{color:#9f3734;overflow-wrap:anywhere;max-width:680px;font-size:12px}.merge-actions{flex-direction:column;justify-content:center;align-items:flex-end;gap:14px;display:flex}.merge-actions p{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.access-layout{grid-template-columns:322px minmax(0,1fr);align-items:start;gap:24px;display:grid}.access-detail{border:1px solid var(--line);border-radius:10px;overflow:hidden}.access-detail>header{border-bottom:1px solid var(--line);padding:20px 24px}.access-detail h2{overflow-wrap:anywhere;font-size:18px}.access-detail header p{color:var(--muted);margin-top:7px;font-size:13px}.access-table-heading{background:var(--surface);color:var(--muted);letter-spacing:.06em;justify-content:space-between;padding:10px 24px;font-size:11px;display:flex}.access-table-heading>span:last-child{flex-shrink:0;width:144px}.permission-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;height:76px;padding:0 24px;display:flex}.permission-row select{border:1px solid var(--line);background:#fff;border-radius:7px;flex-shrink:0;width:144px;min-height:34px;padding:6px 10px;font-size:13px}.permission-row .owner-access{width:144px;color:var(--muted);flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.permission-row small{overflow-wrap:anywhere;font-size:11px}.access-detail>footer{background:var(--surface);justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding:16px 24px;display:flex}.access-detail>footer>div:first-child{flex-direction:column;gap:4px;display:flex}.access-detail footer strong{font-size:13px;font-weight:500}.access-detail footer span{color:var(--muted);font-size:12px}.share-project{flex-direction:column;gap:18px;padding-top:6px;display:flex}.share-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-controls select{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:40px;padding:8px 12px}.share-controls select:first-child{width:min(100%,480px);min-width:0}.share-files{border:1px solid var(--line);border-radius:8px;min-width:0;margin:0;padding:12px 18px 18px}.share-files legend{padding:0 6px;font-size:13px;font-weight:600}.share-files-toolbar,.share-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.share-files-toolbar{margin-bottom:10px}.share-files-toolbar .button{min-height:32px;padding:4px 8px;font-size:12px}.share-file-list{gap:4px;max-height:240px;display:grid;overflow:auto}.share-file-option{border-radius:6px;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.share-file-option:hover{background:var(--surface)}.share-file-option[data-access=view],.share-file-option[data-access=edit]{background:var(--blue-soft)}.share-file-option select{border:1px solid var(--line);width:116px;min-height:36px;color:inherit;font:inherit;background:#fff;border-radius:7px;flex-shrink:0;padding:6px 8px;font-size:13px}.share-file-option[data-access=none] select{color:var(--muted)}.share-file-option svg{color:var(--muted);flex-shrink:0}.share-file-option span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.share-summary p{flex:300px;line-height:1.6}.dialog{border:1px solid var(--line);color:#17212f;border-radius:14px;width:min(520px,100vw - 32px);max-height:calc(100vh - 48px);padding:0;overflow:auto;box-shadow:0 24px 100px #17212f24}.dialog.wide{width:min(920px,100vw - 32px)}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17212f45}.dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.dialog>header h2{letter-spacing:-.025em;font-size:20px}.form-stack{flex-direction:column;gap:20px;padding:24px;display:flex}.form-stack label{flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}.form-stack input,.form-stack select{border:1px solid var(--line);color:#17212f;background:#fff;border-radius:7px;width:100%;height:42px;padding:9px 12px;font-weight:400}.form-stack input::placeholder{color:#929bab}.dialog-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:2px;display:flex}.upload-area{text-align:center;background:var(--surface);border:1px dashed #c0cede;border-radius:10px;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.upload-area>svg{color:var(--blue)}.upload-area p{color:var(--muted);font-size:12px}.upload-area .button{flex-direction:row;width:auto}.editor-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.form-stack .file-select{flex-direction:row;flex:1;align-items:center;gap:8px}.file-select select{width:auto;max-width:450px;height:34px;font-family:Geist Mono Variable,monospace;font-size:12px}.source-editor{resize:vertical;border:1px solid var(--line);tab-size:2;color:#17212f;background:#f9fbff;border-radius:8px;width:100%;height:38vh;min-height:280px;padding:16px;font-family:Geist Mono Variable,monospace;font-size:13px;line-height:1.8}.source-editor:disabled{background:var(--surface);color:var(--muted)}.invitation-banner{background:var(--blue-soft);border:1px solid #cfddff;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.invitation-banner>div{flex-direction:column;gap:4px;display:flex}.invitation-banner span{color:var(--muted);font-size:12px}.settings-section{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px;max-width:860px;padding:24px 0;display:flex}.settings-section p{color:var(--muted)}.settings-section ol{margin:0;padding-left:20px;line-height:2.25}@media (min-width:1700px){.workspace-main{padding-inline:56px}.featured-viewport{height:320px}.project-viewport{height:360px}.comparison-panel{height:390px}}@media (max-width:1200px){.workspace-main{padding:28px}.featured-row{grid-template-columns:minmax(0,1fr) 260px}.project-overview{grid-template-columns:280px minmax(0,1fr)}.access-layout{grid-template-columns:240px minmax(0,1fr)}.permission-row{padding-inline:16px}.workflow-strip{gap:12px}.merge-decision{grid-template-columns:1fr}.merge-actions{align-items:flex-start}.page-heading{flex-wrap:wrap}}@media (max-width:960px){.sidebar{width:190px;padding-inline:10px}.app-header{padding-inline:18px}.workspace-main{padding:24px}.workspace-search{width:230px;margin-inline:8px}.featured-row{grid-template-columns:1fr}.review-inbox{border-left:0;border-top:1px solid var(--line);gap:12px;padding:20px 0 0}.review-inbox h3{margin-top:0}.inbox-clear{padding:0}.featured-viewport{height:240px}.project-overview{grid-template-columns:1fr}.file-list{max-height:230px}.access-layout{grid-template-columns:1fr}.access-layout>.file-panel{max-height:220px;overflow:auto}.row-date{width:100px}}@media (max-width:700px){h1{font-size:27px}.mobile-menu{display:flex}.app-header{gap:8px;height:60px;padding:0 12px}.app-header .brand{font-size:17px}.app-header .brand svg{width:24px;height:24px}.app-header>.badge{padding:3px 5px;font-size:9px}.workspace-search{display:none}.sidebar{width:224px;height:calc(100dvh - 60px);display:none;position:fixed;top:60px;bottom:0;left:0;box-shadow:10px 0 40px #17212f20}.sidebar.open{display:flex}.workspace-main{gap:22px;padding:24px 18px}.workspace-body{min-height:calc(100vh - 60px)}.page-heading{align-items:flex-start;gap:16px}.page-heading .button-row{gap:8px}.page-heading .button{min-height:36px;padding:8px 12px;font-size:12px}.page-heading p{font-size:13px}.project-tabs{gap:20px;overflow-x:auto}.project-tabs>button{font-size:13px}.project-tabs>.small{display:none}.project-tabs>.badge{margin-left:auto}.project-tabs>.header-spacer{display:none}.featured-caption{gap:10px;padding:16px}.featured-caption h2{font-size:18px}.featured-caption .button{font-size:12px}.featured-project>.panel-label{padding:16px 16px 0}.project-row{gap:10px}.project-row>.badge{min-width:0}.project-row .row-date{display:none}.row-main small{font-size:11px}.version-row{flex-wrap:wrap;gap:10px}.version-row .row-date{display:none}.version-number{width:32px}.version-row .row-main{min-width:140px}.version-row>.button,.version-row>.badge{width:auto}.edit-strip{flex-direction:column;align-items:flex-start}.model-comparison{grid-template-columns:1fr}.comparison-panel{height:310px}.comparison-toolbar{flex-wrap:wrap;gap:12px}.comparison-toolbar .header-spacer{display:none}.comparison-toolbar>.small,.merge-actions .button-row{width:100%}.merge-actions .button{flex:1}.permission-row{flex-wrap:wrap;gap:8px;height:auto;min-height:82px;padding:14px 12px}.permission-row .avatar{width:26px;height:26px}.permission-row .row-main{min-width:120px}.permission-row select,.permission-row .owner-access{width:116px;font-size:12px}.access-detail>header{padding:20px 16px}.access-detail h2{font-size:15px}.access-table-heading{padding-inline:16px}.access-table-heading>span:last-child{width:116px}.access-detail>footer{flex-wrap:wrap;padding:16px}.share-controls{flex-direction:column;align-items:stretch}.share-controls select:first-child{min-width:0}.dialog>header{padding:18px}.form-stack{gap:18px;padding:18px}.dialog>header h2{font-size:18px}.dialog-actions{flex-wrap:wrap}.editor-toolbar{flex-direction:column;align-items:flex-start}.file-select select{max-width:calc(100vw - 130px)}.source-editor{padding:12px;font-size:12px}.invitation-banner{flex-direction:column;align-items:flex-start}.workflow-strip{gap:10px;font-size:11px}.workflow-strip .eyebrow{width:100%}.desktop-only{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.review-activity-list{margin:0;padding:0;list-style:none}.review-activity-list .row-main small{white-space:normal;overflow-wrap:anywhere}.approver-toggle{white-space:nowrap;align-items:center;gap:8px;display:flex}.approver-toggle input{width:16px;height:16px}@media (max-width:650px){.review-activity-list .project-row{flex-wrap:wrap}.review-activity-list .row-main{min-width:150px}}
