:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e9eef5;background:#070a0e;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}main{min-height:100vh;padding:26px;background:radial-gradient(circle at 72% -10%,rgba(41,101,84,.2),transparent 38%),radial-gradient(circle at 5% 10%,rgba(46,73,110,.13),transparent 30%),#070a0e}.app-header{position:relative;max-width:1500px;margin:0 auto 20px;text-align:center}.feedback-trigger{position:absolute;top:50%;right:0;padding:8px 14px;color:#aebac6;background:#151d25;border:1px solid #2b3742;border-radius:8px;font-size:.68rem;font-weight:700;transform:translateY(-50%)}.feedback-trigger:hover{color:#e7eef4;background:#1a242e;border-color:#3d4b58}.feedback-trigger:focus-visible{outline:2px solid #5bdbae;outline-offset:2px}.app-header h1{margin:0;color:#5bdbae;font-size:clamp(1.2rem,2.5vw,1.75rem);font-weight:850;letter-spacing:.15em;line-height:1.2;text-transform:uppercase}.workspace{max-width:1500px;height:calc(100vh - 172px);min-height:650px;margin:auto;display:grid;grid-template-columns:minmax(410px,465px) 1fr;overflow:hidden;background:#0e141b;border:1px solid #29333f;border-radius:18px;box-shadow:0 32px 90px #00000075}.builder-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #29333f;background:#10171f}.builder-scroll{min-height:0;flex:1;overflow-y:auto;scrollbar-color:#34414f transparent}.project-bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 20px 13px 25px;border-bottom:1px solid #29333f}.project-header{display:grid;gap:3px;min-width:0}.project-header h2,.project-header p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.project-header h2{font-size:.9rem;font-weight:760;line-height:1.25;letter-spacing:-.015em}.project-header p{color:#7f8c9b;font-size:.66rem;font-variant-numeric:tabular-nums;line-height:1.35}.eyebrow{color:#5bdbae;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-controls{position:relative}.project-controls>summary{display:grid;place-items:center;width:32px;height:32px;color:#aeb9c4;background:#151d25;border:1px solid #2b3742;border-radius:8px;cursor:pointer;list-style:none}.project-controls>summary:hover{color:#e1e8ee;background:#19232d;border-color:#3a4855}.project-controls>summary:focus-visible{outline:2px solid #5bdbae;outline-offset:2px}.project-controls>summary svg{display:block;width:18px;height:18px;fill:currentColor}.project-controls>summary::-webkit-details-marker{display:none}.project-menu{position:absolute;top:38px;right:0;z-index:8;display:grid;width:180px;padding:7px;background:#0b1117;border:1px solid #33414d;border-radius:10px;box-shadow:0 14px 35px #00000073}.project-controls button{padding:9px 10px;color:#9eabb8;background:transparent;border:0;font-size:.7rem;text-align:left}.project-controls button:hover{color:#dce5ed;border-color:#43515e}.restore-prompt{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;margin:12px 25px 0;padding:11px;color:#dce5ed;background:#172a24;border:1px solid #386653;border-radius:9px;font-size:.68rem}.restore-prompt button{padding:6px 8px;color:#dce5ed;background:#25483b}.feature-outline{display:grid;gap:11px;padding:5px 25px 14px;border-bottom:1px solid #29333f}.outline-group{display:grid;gap:5px}.outline-label{color:#657382;font-size:.57rem;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}.outline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.feature-outline button{position:relative;display:grid;place-items:center;min-height:42px;padding:8px 30px 8px 10px;color:#9aa7b4;background:#121b23;border:1px solid #27343f;border-radius:8px;font-size:.71rem;font-weight:650;line-height:1.2;text-align:center}.feature-outline button:hover,.feature-outline button.selected{color:#e5ede9;background:#17231f}.feature-outline button.selected{border-color:#3b7561;box-shadow:inset 3px 0 #58d9aa}.feature-outline b{position:absolute;top:50%;right:9px;min-width:18px;color:#5bdbae;font-size:.66rem;font-variant-numeric:tabular-nums;text-align:right;transform:translateY(-50%)}.add-feature-menu{position:relative;padding:12px 25px 0}.add-feature-trigger{width:100%;padding:10px;color:#07130f;background:#5bdbae;font-size:.75rem;font-weight:850}.add-feature-popover{display:grid;gap:14px;margin-top:8px;padding:11px;background:#0b1117;border:1px solid #33414d;border-radius:10px}.add-feature-popover[hidden]{display:none}.feature-menu-group{display:grid;gap:7px}.feature-menu-group-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 10px;min-height:24px}.feature-menu-group h3{margin:0;color:#5bdbae;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.feature-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.feature-menu-action{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:46px;padding:7px 9px;color:#cbd5df;background:#17232c;border:1px solid #30404d;font-size:.7rem;text-align:left}.feature-menu-action:only-child{grid-column:1 / -1}.feature-menu-action:hover{color:#e8eef3;background:#1b2a34;border-color:#3d6658}.feature-menu-icon{display:grid;place-items:center;width:24px;height:24px;color:#67ddb4;background:#20362f;border-radius:6px;font-size:.78rem;font-weight:800}.feature-menu-copy,.feature-menu-copy strong,.feature-menu-copy small{display:block;min-width:0}.feature-menu-copy strong{line-height:1.2}.feature-menu-copy small{margin-top:2px;color:#778694;font-size:.59rem;line-height:1.15}.add-feature-popover .target-picker{display:flex;align-items:center;gap:5px;min-width:0;margin:0 0 0 auto;padding:0;border:0}.add-feature-popover .target-picker legend{width:auto;margin-right:2px;padding:0;color:#778694;font-size:.59rem;font-weight:700}.add-feature-popover .target-picker button{padding:5px 8px;color:#95a3b0;background:#151d25;border:1px solid #2b3742;font-size:.62rem}.add-feature-popover .target-picker button[aria-pressed=true]{color:#5bdbae;background:#19342b;border-color:#3d745f}.sidebar-state .feature-list,.sidebar-state .empty-features{margin-left:25px;margin-right:25px}.sidebar-state{margin-top:8px;border-top:1px solid #29333f}.sidebar-state[data-sidebar-view=features]{min-height:0;margin-top:8px;padding-bottom:8px}.sidebar-state[data-sidebar-view=inspector]{margin-top:0}.state-heading{padding:12px 25px 6px}.state-heading h2{margin:0;font-size:.88rem;font-weight:760;line-height:1.25;letter-spacing:-.01em}.back-action{margin:15px 25px 0;padding:7px 0;color:#76dcb9;background:transparent;font-size:.7rem;font-weight:750}.back-action:hover{color:#a2ecd2}.feature-list-toolbar{display:flex;align-items:center;gap:14px;padding:13px 25px 5px}.feature-list-toolbar h2{margin:0}.feature-list-back{flex:0 0 auto;padding:6px 0;color:#76dcb9;background:transparent;font-size:.68rem;font-weight:750}.feature-list-back:hover{color:#a2ecd2}.feature-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:5px 25px 0}.feature-filter button{min-width:0;overflow:hidden;padding:6px 3px;color:#7f8d9a;background:#151d25;border:1px solid #2b3742;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.feature-filter button[aria-pressed=true]{color:#63ddb3;background:#19342b;border-color:#3d745f}.contextual-inspector{margin-top:12px;border-top:1px solid #29333f}.inspector-section{padding:16px 25px 14px;border-bottom:0}.inspector-section .feature-editor{margin-top:0;padding:0;background:transparent;border:0}.advanced-fields{margin-top:13px;padding:10px;color:#8795a3;background:#0c1319;border:1px solid #283640;border-radius:8px;font-size:.68rem}.advanced-fields summary{color:#acb8c4;cursor:pointer;font-weight:750}.advanced-fields .field-grid,.advanced-fields .hardware-summary{margin-top:10px}.inspector-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:15px;padding-top:12px;border-top:1px solid #26313b}.inspector-actions>button{min-height:34px;padding:7px 4px;color:#aab6c1;background:#172129;border:1px solid #303d48;font-size:.65rem;font-weight:650}.inspector-actions>button:hover{color:#dbe4eb;background:#1c2832;border-color:#42515e}.inspector-actions>.remove-button{color:#d4a2a0;background:#211719;border-color:#493033}.inspector-actions>.remove-button:hover{color:#ffb0ac;background:#2b181a;border-color:#6a383c}.pattern-panel{grid-column:1 / -1;margin-top:3px;padding:9px 10px;color:#8795a3;background:#0c1319;border:1px solid #283640;border-radius:8px;font-size:.68rem}.pattern-panel summary{color:#acb8c4;cursor:pointer;font-weight:750}.pattern-panel .field-grid{margin-top:10px}.pattern-panel>button{width:100%;margin-top:9px;padding:8px;color:#092017;background:#58d9aa;font-weight:800}.builder-section{padding:23px 25px;border-bottom:1px solid #29333f}.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.section-heading>span{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#19382e;color:#5bdbae;font-size:.72rem;font-weight:850}h2{margin:0 0 4px;font-size:.96rem;letter-spacing:-.01em}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.lid-toggle{display:flex;align-items:center;gap:12px;padding:11px 13px;color:#dfe7ee;background:#17232c;border:1px solid #30404d;border-radius:9px;cursor:pointer}.lid-toggle input{width:18px;height:18px;accent-color:#57d8a8}.lid-toggle strong,.lid-toggle small{display:block}.lid-toggle strong{font-size:.78rem}.lid-toggle small{margin-top:2px;color:#7f8c9b;font-size:.65rem}.lid-fields,.secure-toggle{margin-top:13px}.hardware-summary{display:grid;gap:4px;margin-top:10px;padding:11px 13px;color:#cbd6e2;background:#0b1519;border:1px solid #315447;border-radius:9px;font-size:.7rem}.hardware-summary strong{color:#69ddb5;font-size:.74rem}.hardware-summary small{margin-top:3px;color:#84929f;line-height:1.4}.number-field{min-width:0}.number-field>span{display:block;margin-bottom:7px;color:#aeb8c4;font-size:.75rem;font-weight:560;text-align:center}.measurement{display:flex;overflow:hidden;background:#090e14;border:1px solid #303b48;border-radius:9px;transition:border-color .15s,box-shadow .15s,background .15s}.measurement:hover{border-color:#3c4a58;background:#0b1118}.measurement:focus-within{border-color:#56d8a9;background:#0c1418;box-shadow:0 0 0 3px #56d8a91c}input{width:100%;min-width:0;padding:10px 11px;color:#f4f7fa;background:transparent;border:0;outline:0}.select-measurement select{width:100%;padding:10px 11px;color:#f4f7fa;background:#090e14;border:0;outline:0}.select-measurement option{background:#10171f}.measurement>span{display:flex;align-items:center;padding-right:10px;color:#677585;font-size:.68rem}button{border:0;border-radius:9px;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #5bdbae;outline-offset:2px}.add-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mounts-section>.add-feature{width:100%}.add-feature{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;color:#dfe7ee;background:#17232c;border:1px solid #30404d;text-align:left;transition:transform .15s,border-color .15s,background .15s}.add-feature:hover{transform:translateY(-1px);border-color:#3d6658;background:#192a29}.add-feature b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;color:#64ddb2;background:#203a32;border-radius:7px;font-size:1.1rem}.add-feature span{min-width:0}.add-feature strong{display:block;font-size:.77rem}.empty-features{display:flex;align-items:center;gap:9px;margin-top:8px;padding:9px 11px;color:#718090;background:#090e1466;border:1px dashed #34404c;border-radius:9px}.empty-features>span{font-size:1rem}.empty-features p,.empty-features strong{display:block;margin:0}.empty-features p{font-size:.7rem;line-height:1.45}.empty-features strong{color:#aeb9c4;font-size:.74rem}.feature-list{display:grid;gap:7px;margin-top:14px}.feature-card{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;color:#aeb8c5;background:#0c1218;border:1px solid #2c3743;text-align:left;transition:border-color .15s,background .15s}.feature-card:hover{border-color:#3d4b59;background:#101820}.feature-card.selected{color:#eaf3ef;background:#13241f;border-color:#3b7561;box-shadow:inset 3px 0 #58d9aa}.feature-number{display:grid;place-items:center;width:24px;height:24px;color:#7e8b99;background:#1b242e;border-radius:6px;font-size:.65rem;font-weight:750}.feature-card.selected .feature-number{color:#62ddb2;background:#1d3a30}.feature-card strong,.feature-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-card strong{font-size:.75rem}.feature-card small{margin-top:3px;color:#768494;font-size:.65rem}.feature-card>i{color:#657382;font-size:1.15rem;font-style:normal}.feature-editor{margin-top:13px;padding:15px;background:#0b1117;border:1px solid #2d3945;border-radius:12px}.editor-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #26313b}.editor-title{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.feature-kind{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;color:#65deb4;background:#19352c;border-radius:7px;font-size:.95rem}.editor-heading h3{margin:0;font-size:.8rem;font-weight:760;letter-spacing:-.01em;text-align:center}.editor-heading .editor-back{justify-self:start;margin:0;padding:6px 0;color:#76dcb9;font-size:.66rem;white-space:nowrap}.remove-button{padding:6px 8px;color:#a99292;background:transparent;font-size:.66rem;font-weight:650}.remove-button:hover{color:#ffb0ac;background:#2b181a}.face-picker,.option-field{min-width:0;margin:0;padding:0;border:0}.face-picker legend,.option-field legend,.editor-group h4{margin:0 0 6px;padding:0;width:100%;color:#8c9aa7;font-size:.61rem;font-weight:800;line-height:1.2;text-align:left;text-transform:uppercase;letter-spacing:.08em}.editor-group h4{display:block;color:#a8b4c0}.placement-group .face-picker{margin-top:6px}.placement-group>h4+.face-picker{margin-top:0}.placement-group .face-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;clip:rect(0 0 0 0);white-space:nowrap;border:0}.face-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.face-options button{min-height:32px;overflow:hidden;padding:7px 3px;color:#82909f;background:#151d25;border:1px solid #2b3742;font-size:.62rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.face-options button:hover{color:#b8c3ce;border-color:#41505e}.face-options button.selected{color:#62ddb2;background:#19342b;border-color:#3d745f}.face-options button:disabled{color:#56616d;cursor:not-allowed;opacity:.55}.target-options{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-group{margin-top:13px}.editor-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.editor-group-title h4{width:auto;margin:0}.group-status{flex:0 0 auto;padding:3px 7px;color:#67ddb4;background:#173128;border-radius:999px;font-size:.6rem;font-weight:750;font-variant-numeric:tabular-nums}.feature-editor .field-grid{gap:9px 10px}.feature-editor .field-grid.single-field{grid-template-columns:minmax(0,1fr)}.feature-editor .number-field>span{margin-bottom:5px;font-size:.69rem;font-weight:600;text-align:left}.feature-editor input,.feature-editor .select-measurement select{padding:9px 10px}.feature-editor[data-feature-type=slot] .orientation-field,.feature-editor[data-feature-type=ventilation] .orientation-field{grid-column:1 / -1}.feature-editor[data-feature-type=mounting-tabs] .field-grid>:last-child,.mount-editor .editor-group:first-of-type .field-grid>:last-child{grid-column:1 / -1}.orientation-field legend{margin-bottom:5px;color:#aeb8c4;font-size:.69rem;font-weight:600;text-transform:none;letter-spacing:0}.hardware-note{display:grid;gap:3px;margin-top:12px;padding:9px 11px;color:#aebbc7;background:#0b1519;border:1px solid #29473d;border-radius:8px;font-size:.65rem;line-height:1.35}.hardware-note strong{color:#69ddb5;font-size:.68rem}.hardware-note small{color:#7f8d99;font-size:.61rem}.selection-prompt{margin:13px 0 0;color:#748291;font-size:.7rem;text-align:center}.validation-message{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:11px;color:#ffc0bc;background:#321a1d;border:1px solid #5a292e;border-radius:9px}.validation-message>span{display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;color:#1e0c0e;background:#ffaaa5;border-radius:50%;font-size:.68rem;font-weight:900}.validation-message p,.validation-message strong{display:block;margin:0}.validation-message p{font-size:.68rem;line-height:1.45}.validation-message strong{margin-bottom:2px;color:#ffd2cf}.update-feedback{padding:0 25px 18px;background:#10171f}.update-feedback .validation-message{margin-top:0}.export-section{z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 25px;background:#10171ff5;border-top:1px solid #303b46;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.export-status{display:flex;align-items:center;gap:8px;min-width:0}.export-status>span{color:#5bdbae;font-weight:900}.export-status strong,.export-status small{display:block}.export-status strong{font-size:.7rem}.export-status small{margin-top:2px;color:#71808d;font-size:.59rem}.section-heading.compact{margin-bottom:13px}.primary{display:flex;flex-direction:column;align-items:center;width:100%;padding:8px 11px;color:#06130e;background:linear-gradient(180deg,#64e2b5,#4dcc9f);text-align:center;text-decoration:none;border-radius:8px;font-size:.66rem;font-weight:800;box-shadow:0 8px 22px #43c99926}.primary.disabled{color:#78838e;background:#29323b;cursor:not-allowed;box-shadow:none}.download-grid{display:grid;grid-auto-flow:column;gap:6px}.primary.secondary-download{color:#dce8ff;background:#29446f;box-shadow:none}.primary.secondary-download.disabled{color:#78838e;background:#29323b}.preview-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:#0b1016}.preview-bar{min-height:65px;padding:14px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;border-bottom:1px solid #29333f}.preview-bar strong{display:block;font-size:.83rem}.preview-face-size{color:#9ca8b5;font-size:.78rem;font-weight:600;text-align:center;text-decoration:none;white-space:nowrap}.status{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:7px;color:#75dcba;background:#173128;font-size:.69rem;text-align:right;white-space:nowrap}.status i{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:currentColor}.status.error{color:#ffaaa5;background:#3a1e21}.viewer-wrap{position:relative;flex:1;min-height:0}.viewer{position:relative;width:100%;height:100%;min-height:500px}.viewer-canvas{width:100%;height:100%}.viewer canvas{display:block;width:100%;height:100%;cursor:default;touch-action:none}.viewer[data-hovered-feature-id] canvas{cursor:pointer}.viewport-controls{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:calc(100% - 28px);padding:6px;background:#080d12d1;border:1px solid rgba(66,79,91,.8);border-radius:9px;box-shadow:0 8px 24px #00000038;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewport-controls button{min-height:34px;padding:7px 9px;color:#aebac6;background:#17212a;border:1px solid #33414d;border-radius:6px;font-size:.65rem;font-weight:700}.viewport-controls button:hover:not(:disabled){color:#eff5f8;background:#203039;border-color:#4b665d}.viewport-controls button:focus-visible{outline:2px solid #5bdbae;outline-offset:1px}.viewport-controls button:disabled{color:#596672;cursor:not-allowed}.viewport-tooltip{position:absolute;z-index:4;padding:5px 7px;color:#e4edf4;background:#0a1016f0;border:1px solid #40505e;border-radius:5px;font-size:.62rem;font-weight:700;pointer-events:none;transform:translate(12px,12px);white-space:nowrap}.preview-note{position:absolute;top:17px;left:17px;display:flex;flex-direction:column;gap:3px;padding:9px 11px;color:#b0bbc6;background:#080d12b8;border:1px solid rgba(66,79,91,.72);border-radius:8px;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.preview-note strong{font-size:.68rem}.legend{padding:12px 20px;display:flex;gap:20px;color:#7f8c9b;background:#0a0f14;border-top:1px solid #29333f;font-size:.68rem}.legend span:last-child{margin-left:auto;color:#5bdbae}.legend i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px}.visibility-toggle{padding:0;color:#9ca8b5;background:transparent;font-size:inherit}.visibility-toggle:hover{color:#dce4ec}.solid{background:#54d6a2}.lid-swatch{background:#7ba8ff}.void{border:1px solid #778596}@media(max-width:1050px){main{padding:16px}.workspace{height:auto;min-height:0;grid-template-columns:410px minmax(0,1fr)}.app-header{margin-bottom:15px}}@media(max-height:850px)and (min-width:821px){.export-section{position:static}}@media(max-width:820px){main{padding:12px}.workspace{grid-template-columns:1fr}.builder-panel{overflow:visible;border-right:0}.builder-scroll{overflow:visible}.export-section{position:static}.preview-panel{min-height:520px}.viewer{min-height:450px}}@media(max-width:480px){main{padding:8px}.app-header{padding:7px 4px}.workspace{border-radius:13px}.builder-section{padding:20px 17px}.inspector-section{padding:14px 17px 17px}.feature-editor .field-grid{grid-template-columns:1fr}.feature-editor .field-grid>*{grid-column:1}.editor-heading{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.editor-title{gap:6px}.editor-heading h3{max-width:132px;overflow:hidden;text-overflow:ellipsis}.export-section{gap:8px;padding:10px 17px}.download-grid{gap:5px}.primary{padding:7px 9px}.add-feature-grid{grid-template-columns:1fr}.face-options{grid-template-columns:repeat(3,1fr)}.preview-bar{grid-template-columns:1fr;justify-items:start;gap:8px}.status{max-width:100%;text-align:left}.legend{flex-wrap:wrap;gap:9px 16px}.legend span:last-child{width:100%;margin-left:0}.viewport-controls{right:8px;bottom:8px;gap:4px;max-width:calc(100% - 16px)}.viewport-controls button{min-height:40px;padding:8px}}@media(max-width:360px){.feature-menu-options{grid-template-columns:1fr}.feature-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.export-status small{display:none}.viewport-controls{left:8px;right:8px;justify-content:center}.viewport-controls button{flex:1 0 27%}}.notice-banner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;margin:12px 25px 0;padding:11px;color:#dce5ed;background:#141b22;border:1px solid #33414d;border-radius:9px;font-size:.68rem}.notice-banner button{padding:6px 8px;color:#dce5ed;background:#212c36;border:1px solid #3a4855;border-radius:6px;font-size:.66rem;font-weight:700}.notice-banner button:hover{background:#27343f}.feedback-panel{display:grid;gap:12px;margin:12px 25px 0;padding:14px;background:#0b1117;border:1px solid #33414d;border-radius:10px}.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-heading h2{margin:0;font-size:.82rem;font-weight:780}.feedback-close{width:26px;height:26px;color:#8895a3;background:transparent;border:0;font-size:1rem;line-height:1}.feedback-close:hover{color:#e7eef4}.feedback-kind{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.feedback-kind button{min-height:34px;padding:7px;color:#8d9aa8;background:#151d25;border:1px solid #2b3742;border-radius:7px;font-size:.68rem;font-weight:700}.feedback-kind button[aria-pressed=true]{color:#63ddb3;background:#19342b;border-color:#3d745f}.feedback-fields{display:grid;gap:11px}.feedback-choice{margin:0;padding:0;border:0}.feedback-choice legend{padding:0 0 5px;color:#8896a4;font-size:.63rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.feedback-choice .face-options{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))}.feedback-choice .face-options button[aria-pressed=true]{color:#62ddb2;background:#19342b;border-color:#3d745f}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feedback-panel label{display:grid;gap:5px;color:#97a4b1;font-size:.66rem;font-weight:650}.feedback-panel input[type=text],.feedback-panel input[type=email],.feedback-panel textarea{width:100%;padding:8px;color:#e9eef5;background:#121a21;border:1px solid #2b3742;border-radius:7px;font-size:.7rem}.feedback-panel input:focus-visible,.feedback-panel textarea:focus-visible{outline:2px solid #5bdbae;outline-offset:1px}.feedback-measurement{position:relative;display:block}.feedback-measurement>span{position:absolute;top:50%;right:9px;color:#6d7b89;font-size:.62rem;transform:translateY(-50%)}.feedback-measurement input{padding-right:30px}.feedback-attach{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px}.feedback-attach span{display:grid;gap:3px;color:#cbd5df}.feedback-attach small{color:#7f8c9b;font-size:.62rem;font-weight:500;line-height:1.35}.feedback-preview summary{color:#8d9aa8;cursor:pointer;font-size:.66rem}.feedback-preview pre{max-height:200px;margin:7px 0 0;overflow:auto;padding:9px;color:#a8b6c3;background:#0d141a;border:1px solid #27333e;border-radius:7px;font-size:.6rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.feedback-actions{display:flex;flex-wrap:wrap;gap:7px}.feedback-actions button{min-height:36px;padding:8px 12px;color:#cbd5df;background:#17232c;border:1px solid #30404d;border-radius:7px;font-size:.69rem;font-weight:700}.feedback-actions button:hover:not(:disabled){color:#e8eef3;background:#1b2a34;border-color:#3d6658}.feedback-actions button:disabled{color:#56616d;cursor:not-allowed;opacity:.6}.feedback-note{margin:0;color:#9aa7b4;font-size:.65rem;line-height:1.45}.feedback-sent{margin:0;color:#63ddb3;font-size:.7rem;font-weight:650}.viewer-fallback{position:absolute;inset:0;z-index:2;display:grid;align-content:center;justify-items:center;gap:8px;padding:24px;text-align:center}.viewer-fallback strong{color:#e7eef4;font-size:.82rem;font-weight:760}.viewer-fallback p{max-width:380px;margin:0;color:#94a1ae;font-size:.7rem;line-height:1.5}.app-footnote{display:grid;gap:6px;max-width:1500px;margin:14px auto 0;color:#6d7b89;font-size:.63rem;text-align:center}.app-footnote summary{color:#8895a3;cursor:pointer}.app-footnote summary:focus-visible{outline:2px solid #5bdbae;outline-offset:2px}.footnote-body{display:grid;gap:8px;max-width:780px;margin:9px auto 0;padding:12px;background:#0e141b;border:1px solid #29333f;border-radius:10px;text-align:left}.footnote-body p{margin:0;color:#94a1ae;line-height:1.55}.footnote-body strong{display:block;color:#cbd5df;font-weight:750}.crash-screen{display:grid;place-items:center;min-height:100vh}.crash-card{display:grid;gap:12px;width:min(560px,100%);padding:24px;background:#10171f;border:1px solid #29333f;border-radius:14px}.crash-card h1{margin:0;color:#e9eef5;font-size:1.1rem;font-weight:800}.crash-card>p{margin:0;color:#94a1ae;font-size:.74rem;line-height:1.5}.crash-actions{display:flex;flex-wrap:wrap;gap:7px}.crash-actions button,.crash-report-actions button{min-height:36px;padding:8px 12px;color:#aebac6;background:#17212a;border:1px solid #33414d;border-radius:7px;font-size:.7rem;font-weight:700}.crash-actions button:hover,.crash-report-actions button:hover:not(:disabled){color:#eff5f8;background:#203039;border-color:#4b665d}.crash-report-actions button:disabled{color:#596672;cursor:not-allowed;opacity:.6}.crash-report{display:grid;gap:7px}.crash-report label{color:#97a4b1;font-size:.66rem;font-weight:650}.crash-report textarea{width:100%;padding:8px;color:#e9eef5;background:#121a21;border:1px solid #2b3742;border-radius:7px;font-size:.7rem}.crash-report-actions{display:flex;flex-wrap:wrap;gap:7px}.crash-note{margin:0;color:#9aa7b4;font-size:.65rem}.crash-sent{margin:0;color:#63ddb3;font-size:.7rem;font-weight:650}.crash-details summary{color:#8895a3;cursor:pointer;font-size:.66rem}.crash-details pre{max-height:220px;margin:7px 0 0;overflow:auto;padding:9px;color:#a8b6c3;background:#0d141a;border:1px solid #27333e;border-radius:7px;font-size:.6rem;line-height:1.45;white-space:pre-wrap}.crash-build{margin:0;color:#6d7b89;font-size:.62rem}@media(max-width:480px){.app-header{display:grid;gap:8px}.feedback-trigger{position:static;justify-self:center;transform:none}.feedback-grid,.notice-banner{grid-template-columns:1fr}}
