@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Fira+Code:wght@400;500;700&family=Inter:wght@400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap";.ab3d .left-toolbar{flex:0 0 84px;width:84px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px;background:var(--toolbar);border-right:1px solid var(--border);overflow-x:hidden;overflow-y:auto}.ab3d .lt-switch{display:flex;flex-direction:column;width:100%;gap:2px;padding-bottom:8px;margin-bottom:2px;border-bottom:1px solid var(--border)}.ab3d .lt-switch-btn{width:100%;height:26px;padding:0 4px;font-size:11px;font-weight:600}.ab3d .btn.lt-switch-btn.active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.ab3d .btn.lt-modo{width:100%;height:24px;margin-top:auto;padding:0 4px;font-size:10.5px;font-weight:600;color:var(--muted, #64748b)}.ab3d .left-group{display:flex;flex-direction:column;gap:4px;padding-bottom:10px}.ab3d .left-group:not(:last-child){border-bottom:1px solid var(--border)}.ab3d .btn-icon.axis-red,.ab3d .btn-icon.axis-red.active{color:#dc2626}.ab3d .left-group:last-child{padding-bottom:0}.ab3d .pdf-menu{position:relative}.ab3d .pdf-flyout{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:210px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:10px;display:flex;flex-direction:column;gap:6px}.ab3d .pdf-flyout .btn{justify-content:flex-start;height:30px}.ab3d .pdf-flyout-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-weight:600;margin-bottom:2px}.ab3d .pdf-flyout-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted-foreground);padding:2px 0}.ab3d .pdf-flyout-row input[type=range]{flex:1}.ab3d .pdf-flyout-error{color:var(--destructive);font-size:12px}.ab3d .bottom-bar .btn:not(.settings-item){height:36px}.ab3d .bottom-bar .btn.btn-icon:not(.settings-item){width:36px;height:36px}.ab3d .bottom-bar .pdf-flyout .btn{height:30px}.ab3d .bottom-bar>select,.ab3d .bottom-bar .bar-group select,.ab3d .bottom-bar .bar-field input[type=text]{height:36px}.ab3d .bottom-bar{display:flex;align-items:center;flex:0 0 auto;height:56px;overflow:visible;gap:6px 4px;padding:8px 12px 8px 0;background:var(--toolbar);border-bottom:1px solid var(--border);justify-content:flex-end}.ab3d .view-state-hint{position:absolute;top:44px;left:12px;z-index:7;display:flex;gap:5px;font-size:11px;color:var(--muted-foreground);opacity:.75;pointer-events:none;user-select:none;white-space:nowrap}.ab3d .view-state{display:flex;align-items:center;gap:5px;font-size:11px;color:#6b7280;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:0 4px;user-select:none}.ab3d .view-state-on{color:#111827;font-weight:600}.ab3d .view-state-sep{opacity:.45}.ab3d .bar-install-left{flex:none;margin-left:10px}.ab3d .bar-brand{display:flex;align-items:center;gap:0;min-width:0;flex-shrink:1;overflow:hidden;margin-right:auto;color:var(--muted-foreground);opacity:.38;pointer-events:none;user-select:none;font-weight:700;font-size:26px;letter-spacing:.02em;white-space:nowrap}.ab3d .brand-cube{flex:none;width:84px;display:flex;align-items:center;justify-content:center}.ab3d .bottom-bar-scroll{display:flex;align-items:center;flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px 4px}.ab3d .bar-group{display:flex;align-items:center;gap:6px;padding-right:10px;margin-right:4px;border-right:1px solid var(--border)}.ab3d .bar-group:last-child,.ab3d .bar-group-end{border-right:none}.ab3d .views3d-list{overflow-y:auto;padding:6px 0 0;font-size:12px;color:var(--foreground);display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;align-content:start}.ab3d .section-3d{display:flex;flex-direction:column;min-height:0;overflow:hidden}.ab3d .section-3d .field-actions .btn{height:28px;font-size:12px}.ab3d .views3d-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-weight:600;margin-bottom:6px}.ab3d .views3d-actions{display:flex;gap:6px;margin-bottom:6px}.ab3d .views3d-actions .btn{flex:1;height:26px;padding:0 6px}.ab3d .views3d-empty{color:var(--muted-foreground);line-height:1.4;grid-column:1 / -1}.ab3d .views3d-row{display:flex;align-items:center;gap:4px;padding:2px 0}.ab3d .views3d-row.active .views3d-name{font-weight:700}.ab3d .views3d-name{flex:1;min-width:0;text-align:left;background:none;border:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);font-size:12px;padding:2px}.ab3d .views3d-name:hover{color:var(--primary)}.ab3d .views3d-del{background:none;border:none;cursor:pointer;color:#b91c1c;font-size:16px;line-height:1;padding:0 4px}.ab3d .model-file-bar{position:absolute;bottom:10px;right:10px;max-width:62%;flex-wrap:wrap;justify-content:flex-end;z-index:6;display:flex;align-items:center;gap:6px;padding:5px 7px;background:#ffffffeb;border:1px solid var(--border);border-radius:8px;box-shadow:0 2px 8px #0000001f}.ab3d .bar-group-end{margin-left:auto;padding-right:0}.ab3d .bar-label{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.ab3d .bar-field{display:flex;align-items:center;gap:6px}.ab3d .bar-field .field-row{margin-bottom:0;gap:6px}.ab3d .bar-field .field-row label{flex:none;color:var(--muted-foreground);white-space:nowrap;font-size:12px}.ab3d .bar-field .field-row input[type=text]{width:62px}.ab3d .bar-slider input[type=range],.ab3d .bar-theme-select{width:96px}.ab3d .bar-error{color:var(--destructive);font-size:12px;align-self:center;padding-left:10px}.ab3d .bar-dropdown{position:relative}.ab3d .bar-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:180px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:4px;display:flex;flex-direction:column;gap:2px}.ab3d .model-file-bar .bar-dropdown-menu{top:auto;bottom:calc(100% + 6px)}.ab3d .bar-dropdown-menu button{text-align:left;border:none;background:none;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--popover-foreground);font-family:inherit}.ab3d .bar-dropdown-menu button:hover{background:var(--accent)}.ab3d .side-panel{flex:0 0 203px;width:100%;display:flex;flex-direction:column;min-height:0;background:var(--toolbar);border-top:1px solid var(--border)}.ab3d .side-panel--collapsed{flex-basis:22px}.ab3d .side-panel-toggle-row{flex:0 0 auto;display:flex;justify-content:center}.ab3d .side-panel-toggle{width:100%;border:none;background:color-mix(in srgb,var(--foreground) 7%,transparent);color:var(--muted-foreground);cursor:pointer;display:flex;justify-content:space-around;align-items:center;font-size:22px;line-height:.5;padding:2px 10px;text-align:center}.ab3d .side-panel-toggle:hover{color:var(--foreground);background:var(--accent)}.ab3d .side-panel-cols{flex:1;min-height:0;display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;padding:0 16px 12px}.ab3d .props-panel{position:absolute;top:10px;right:10px;z-index:8;width:317px;max-height:calc(100% - 28px - var(--mfb-h, 0px));overflow-y:auto;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:12px}.ab3d .field-stack{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.ab3d .field-stack>label{font-size:12px;color:var(--foreground)}.ab3d .props-panel-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-weight:600;margin-bottom:10px}.ab3d .check-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--foreground);padding:2px 0;cursor:pointer}.ab3d .check-row input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--primary)}.ab3d .side-section{flex:1 1 0;min-width:158px;overflow-y:auto;padding-right:4px;margin-bottom:0}.ab3d .side-section-3d{flex:1 1 0;min-width:158px}.ab3d .side-section-activos{flex:1.35 1 0;min-width:190px}.ab3d .view-actives-last{flex-wrap:wrap}.ab3d .view-actives-last .check-row{flex:none;margin-left:6px;white-space:nowrap}.ab3d .view3d-toolbar{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);pointer-events:none;z-index:7;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ab3d .view3d-toolbar>*{pointer-events:auto}.ab3d .view3d-toolbar .btn{height:34px}.ab3d .view3d-toolbar .btn.btn-icon{width:34px;height:34px}.ab3d .view3d-pintar{position:absolute;top:10px;left:10px;z-index:8;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 20px)}.ab3d .view3d-pintar .btn{height:34px}.ab3d .view3d-pintar-panel{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--background);box-shadow:0 2px 8px #0000001f}.ab3d .view3d-pintar-fila{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted-foreground);white-space:nowrap}.ab3d .view3d-pintar-fila input[type=range]{width:96px}.ab3d .view3d-pintar-select{height:26px;padding:0 4px;font-size:11px}.ab3d .view3d-pintar-valor{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.ab3d .view3d-pintar-color{width:26px;height:22px;padding:1px;border-radius:4px;border:1px solid var(--border);background:var(--background);cursor:pointer}.ab3d .view3d-hint{position:absolute;top:10px;right:12px;z-index:7;font-size:11px;color:var(--muted-foreground);opacity:.75;pointer-events:none;user-select:none;white-space:nowrap}.ab3d .layout-library{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.ab3d .btn.layout-lib-item{display:flex;flex-direction:column;align-items:center;gap:2px;height:auto;padding:5px 3px;font-size:10px;line-height:1.15;text-align:center;white-space:normal}.ab3d .layout-lib-item svg{width:26px;height:26px;flex:none}.ab3d .side-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);margin-bottom:10px;font-weight:600}.ab3d .side-hint{color:var(--muted-foreground);font-size:12px;line-height:1.5}.ab3d .side-readonly{color:var(--foreground);font-size:13px;font-variant-numeric:tabular-nums}.ab3d .field-group{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-bottom:12px}.ab3d .field-group:last-child{margin-bottom:0}.ab3d .field-group-title{font-size:12px;color:var(--foreground);margin-bottom:10px;font-weight:600}.ab3d .field-row select,.ab3d .field-row input[type=text],.ab3d .field-row input[type=number]{width:128px}.ab3d .field-actions{display:flex;gap:8px;margin-top:10px}.ab3d .field-actions .btn{flex:1;height:30px}.ab3d .lock-hide-row{display:flex;gap:6px;justify-content:flex-end;margin:-4px 0 10px}.ab3d .lock-hide-row .btn-icon{width:28px;height:28px}.ab3d .field-fieldset{border:none;margin:0;padding:0;min-inline-size:0}.ab3d .field-fieldset:disabled{opacity:.55}.ab3d .levels-list{display:flex;flex-direction:column;gap:2px}.ab3d .level-row{display:flex;align-items:center;gap:4px}.ab3d .level-row .btn-icon{width:24px;height:24px;flex:none}.ab3d .level-row.view-row-active{background:var(--primary);border-radius:var(--radius-sm);padding:2px 4px}.ab3d .level-row.view-row-active .level-name,.ab3d .level-row.view-row-active .btn-icon{color:var(--primary-foreground)}.ab3d .side-panel .levels-row{padding:2px 6px}.ab3d .side-panel .levels-row input[type=text]{height:22px}.ab3d .side-panel .field-row{margin-bottom:4px}.ab3d .side-panel .field-row select,.ab3d .side-panel .field-row input[type=text],.ab3d .side-panel .field-row input[type=number]{height:26px}.ab3d .levels-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm)}.ab3d .levels-row.active{background:var(--accent)}.ab3d .levels-radio{border:none;background:none;cursor:pointer;font-size:13px;color:var(--primary);padding:0 2px;line-height:1}.ab3d .levels-name{flex:1;cursor:pointer;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab3d .levels-row input[type=text]{flex:1;min-width:0;height:26px}.ab3d .levels-elev{width:58px;height:26px;text-align:right;font-variant-numeric:tabular-nums}.ab3d .levels-del{border:none;background:none;cursor:pointer;color:var(--muted-foreground);font-size:15px;line-height:1;padding:0 2px}.ab3d .levels-del:hover:not(:disabled){color:var(--destructive)}.ab3d .levels-del:disabled{opacity:.3;cursor:default}.ab3d .rooms-list{display:flex;flex-direction:column;gap:2px}.ab3d .rooms-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm)}.ab3d .rooms-row:hover{background:var(--accent)}.ab3d .rooms-row-name{cursor:pointer;color:var(--foreground);flex:1}.ab3d .rooms-color{width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;cursor:pointer;flex:none}.ab3d .rooms-color::-webkit-color-swatch-wrapper{padding:2px}.ab3d .rooms-color::-webkit-color-swatch{border:none;border-radius:3px}.ab3d .rooms-row-name:hover{text-decoration:underline}.ab3d .rooms-row input[type=text]{flex:1;height:26px}.ab3d .rooms-row-area{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap}.ab3d .rooms-total{display:flex;justify-content:space-between;margin-top:8px;padding:8px 6px 0;border-top:1px solid var(--border);font-weight:600;color:var(--foreground);font-variant-numeric:tabular-nums}.ab3d .btn-primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ab3d .btn-primary:hover{opacity:.92}.ab3d .bar-dropdown-sep{height:1px;margin:4px 2px;background:var(--border)}.ab3d .editor-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground, var(--foreground));border:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.ab3d .bar-dropdown-info{padding:6px 8px 2px;font-size:12px;color:var(--muted-foreground, var(--foreground));opacity:.75}.ab3d .bar-dropdown-row{display:flex;align-items:center;gap:2px}.ab3d .bar-dropdown-row .bar-dropdown-row-main{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab3d .bar-dropdown-row .bar-dropdown-row-del{flex:0 0 auto}.ab3d .btn-sm{padding:3px 8px;font-size:12px}.ab3d .floating-tools{position:absolute;left:10px;bottom:10px;z-index:8;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:calc(100% - 20px)}.ab3d .float-btn{background:#ffffffeb;box-shadow:0 1px 4px #0000001f}.ab3d .btn.btn-contrast{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);font-weight:700}.ab3d .btn.btn-contrast:hover:not(:disabled){background:var(--primary);color:var(--primary-foreground);opacity:.9}.ab3d .update-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #0003;font-size:13px}.ab3d .btn.btn-brand{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent);font-weight:700}.ab3d .btn.btn-brand:hover:not(:disabled){background:var(--brand-accent);color:#fff;opacity:.9}.ab3d .project-selector{flex:0 0 auto;max-width:170px;overflow:hidden;cursor:default}.ab3d .project-selector:hover{background:var(--background);color:var(--foreground)}.ab3d .project-selector-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab3d .spec-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;margin-bottom:8px;background:var(--muted)}.ab3d .spec-textarea{width:100%;box-sizing:border-box;resize:vertical;font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);color:var(--foreground);margin-top:4px}.ab3d .spec-fields{display:flex;flex-direction:column;gap:4px;margin:8px 0;padding-top:8px;border-top:1px solid var(--border)}.ab3d .spec-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--foreground);cursor:pointer}.ab3d .spec-check input{cursor:pointer}.ab3d .start-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:22px;background:var(--background);color:var(--foreground);padding:24px;overflow-x:hidden;overflow-y:auto}.ab3d .start-screen>.start-brand{margin-top:auto}.ab3d .start-screen>.start-footer{margin-bottom:auto}.ab3d .start-brand{position:relative;z-index:2;display:flex;align-items:center;gap:14px;color:var(--foreground);font-weight:800;font-size:34px;letter-spacing:.02em;user-select:none}@media(min-width:900px){.ab3d .start-brand{font-size:46px;letter-spacing:.14em;gap:22px}.ab3d .start-brand svg{width:72px;height:72px}}.ab3d .start-brand svg{color:var(--muted-foreground)}.ab3d .brand-a{color:var(--brand-accent)}.ab3d .start-suggest{position:relative;z-index:2;font-size:17px;color:var(--foreground);text-align:center;max-width:560px;background:var(--background);background:color-mix(in srgb,var(--background) 80%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:12px 20px;border-radius:12px}.ab3d .start-suggest-link{color:var(--primary);font-weight:600;text-decoration:none}.ab3d .start-suggest-link:hover{text-decoration:underline}.ab3d .start-footer{position:relative;z-index:2;font-size:16px;color:var(--muted-foreground);text-align:center;max-width:560px;background:var(--background);background:color-mix(in srgb,var(--background) 80%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:12px 20px;border-radius:12px}.ab3d .start-terms-link{background:none;border:none;padding:0;cursor:pointer;color:var(--muted-foreground);font:inherit;text-decoration:underline}.ab3d .start-terms-link:hover{color:var(--foreground)}.ab3d .modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.ab3d .modal-card{width:min(560px,100%);max-height:80vh;max-height:80dvh;overflow-y:auto;display:flex;flex-direction:column;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.ab3d .modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.ab3d .modal-title{margin:0;font-size:16px;font-weight:700}.ab3d .modal-body{padding:16px;overflow-y:auto;font-size:13px;line-height:1.5}.ab3d .modal-body p{margin:0 0 10px}.ab3d .modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.ab3d .modal-field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--foreground)}.ab3d .modal-input{width:100%;box-sizing:border-box;height:36px;padding:0 10px;font:inherit;font-size:14px;color:var(--foreground);background:var(--input, var(--background));border:1px solid var(--border);border-radius:var(--radius-sm)}.ab3d .modal-input:focus{outline:none;border-color:var(--ring, var(--primary))}.ab3d .feedback-fab{position:fixed;right:16px;bottom:16px;z-index:90;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-md);cursor:pointer}.ab3d .feedback-fab:hover{filter:brightness(1.08)}.ab3d .feedback-pop{position:fixed;right:16px;bottom:70px;z-index:90;width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.ab3d .feedback-pop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ab3d .feedback-pop-title{font-size:13px;font-weight:700;line-height:1.3}.ab3d .feedback-text{width:100%;resize:vertical;min-height:72px;padding:8px 10px;font:inherit;font-size:13px;color:var(--foreground);background:var(--input, var(--background));border:1px solid var(--border);border-radius:var(--radius-sm)}.ab3d .feedback-text:focus{outline:none;border-color:var(--ring, var(--primary))}.ab3d .feedback-pop-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.ab3d .feedback-hint{font-size:11px;color:var(--muted-foreground)}.ab3d .start-card{position:relative;z-index:2;width:min(560px,100%);color:var(--card-foreground);border-radius:var(--radius-md);padding:28px 28px 22px}.ab3d .start-card:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--radius-md);background:var(--card);background:color-mix(in srgb,var(--card) 62%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%),linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%),linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.ab3d .start-title{margin:0 0 4px;font-size:24px;font-weight:700}.ab3d .start-sub{margin:0 0 20px;color:var(--muted-foreground);font-size:14px}.ab3d .start-claim{margin:0 0 8px;font-size:19px;line-height:1.35;font-weight:700;letter-spacing:-.01em;color:var(--card-foreground)}.ab3d .start-demo{display:block;width:100%;aspect-ratio:1280 / 614;margin:0 0 18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);object-fit:cover}@media(prefers-reduced-motion:reduce){.ab3d .start-demo{animation:none}}.ab3d .start-badges{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin:0 0 20px}.ab3d .start-nota-local{display:none}.ab3d .start-badges .tipwrap{flex:0 0 auto;display:inline-flex}.ab3d .start-badge{flex:0 0 auto;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--muted);color:var(--muted-foreground);font-size:11.5px;font-weight:600;white-space:nowrap}.ab3d .start-badge--strong{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.ab3d .start-actions-row{display:flex;align-items:stretch;gap:8px;margin-bottom:22px}.ab3d .start-actions{display:flex;gap:10px;flex-wrap:wrap}.ab3d .start-actions--primary{flex:1 1 auto;min-width:0}.ab3d .start-actions--primary .tipwrap{flex:1 1 auto;min-width:0;display:flex}.ab3d .start-disenar-fila{display:flex;margin:-12px 0 22px}.ab3d .start-disenar-fila .tipwrap{flex:1 1 auto;min-width:0;display:flex}.ab3d .start-cta-secundaria{flex:1 1 100%;justify-content:center;min-height:40px}.ab3d .start-cta{flex:1 1 100%;justify-content:center;min-height:48px;font-size:15px;font-weight:700}.ab3d .start-actions--secondary{flex:0 0 auto;flex-wrap:nowrap;gap:8px}.ab3d .start-actions--secondary .tipwrap{flex:0 0 auto;display:inline-flex}.ab3d .start-actions--secondary .btn-icon{width:auto;height:auto;min-height:48px;gap:6px;padding:0 10px}.ab3d .start-action-label{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab3d .start-error{margin:0 0 12px;padding:8px 10px;border:1px solid #dc2626;border-radius:var(--radius-sm);color:#dc2626;font-size:12.5px}.ab3d .start-projects-title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin-bottom:8px}.ab3d .start-empty{color:var(--muted-foreground);font-size:13px;padding:10px 0}.ab3d .start-project-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-top:1px solid var(--border)}.ab3d .start-project-open{flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-align:left;border:none;background:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);color:var(--foreground);font-family:inherit}.ab3d .start-project-open:hover{background:var(--accent)}.ab3d .start-project-name{font-size:14px;font-weight:500}.ab3d .start-project-when{font-size:12px;color:var(--muted-foreground);white-space:nowrap}.ab3d .grid-backdrop-canvas,.ab3d .grid-backdrop-fallback{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%}.ab3d .grid-backdrop-fallback{background-color:var(--background);background-image:linear-gradient(color-mix(in srgb,var(--brand-accent) 35%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--brand-accent) 35%,transparent) 1px,transparent 1px);background-size:42px 42px}.ab3d .grid-hud{position:absolute;inset:0;z-index:1;pointer-events:none}.ab3d .grid-hud-corner{position:absolute;width:20px;height:20px;border:0 solid color-mix(in srgb,var(--brand-accent) 45%,transparent)}.ab3d .grid-hud-corner--tl{top:18px;left:18px;border-top-width:2px;border-left-width:2px}.ab3d .grid-hud-corner--tr{top:18px;right:18px;border-top-width:2px;border-right-width:2px}.ab3d .grid-hud-corner--bl{bottom:18px;left:18px;border-bottom-width:2px;border-left-width:2px}.ab3d .grid-hud-corner--br{bottom:18px;right:18px;border-bottom-width:2px;border-right-width:2px}.ab3d .grid-hud-item{position:absolute;display:flex;align-items:center;gap:7px;font-family:JetBrains Mono,Fira Code,Courier New,ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground);white-space:nowrap}.ab3d .grid-hud-build{opacity:.45;letter-spacing:.02em}.ab3d .grid-hud-item--tl{top:25px;left:50px}.ab3d .grid-hud-item--tr{top:25px;right:50px}.ab3d .grid-hud-item--bl{bottom:25px;left:50px}.ab3d .grid-hud-item--br{bottom:25px;right:50px}.ab3d .grid-hud-dot{width:6px;height:6px;flex:none;border-radius:999px;background:var(--brand-accent);animation:ab3d-grid-hud-blink 1.6s steps(1) infinite}@keyframes ab3d-grid-hud-blink{0%,49%{opacity:1}50%,to{opacity:.15}}.ab3d .versions-empty{color:var(--muted-foreground, var(--foreground));font-size:13px}.ab3d .versions-list{list-style:none;margin:0;padding:0;max-height:50vh;overflow-y:auto}.ab3d .versions-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border)}.ab3d .versions-row:last-child{border-bottom:none}.ab3d .versions-when{flex:1 1 auto;min-width:0;font-size:13px}.ab3d .versions-tag{color:var(--muted-foreground, var(--foreground));font-size:11px}.ab3d .versions-size{flex:0 0 auto;color:var(--muted-foreground, var(--foreground));font-size:12px;font-variant-numeric:tabular-nums}.ab3d .btn-small{height:28px;padding:0 10px;font-size:12px}.ab3d .persist-warning{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:120;max-width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--warning-bg, #7f1d1d);color:var(--warning-fg, #fff);box-shadow:var(--shadow-md);font-size:13px}.ab3d .persist-warning-text{flex:1 1 auto}.ab3d .persist-warning-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:inherit;cursor:pointer;opacity:.85}.ab3d .persist-warning-close:hover{opacity:1;background:#ffffff26}.ab3d .pane-3d-cargando{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;opacity:.6;font-size:13px}@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 none); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 none); --color-neutral-100: oklch(97% 0 none); --color-neutral-200: oklch(92.2% 0 none); --color-neutral-300: oklch(87% 0 none); --color-neutral-400: oklch(70.8% 0 none); --color-neutral-500: oklch(55.6% 0 none); --color-neutral-600: oklch(43.9% 0 none); --color-neutral-700: oklch(37.1% 0 none); --color-neutral-800: oklch(26.9% 0 none); --color-neutral-900: oklch(20.5% 0 none); --color-neutral-950: oklch(14.5% 0 none); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 none); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}:root,:root[data-theme=cad]{--background:#FAF8F6;--foreground:#2E2E2E;--card:#FFFFFF;--card-foreground:#2E2E2E;--primary:#2E2E2E;--primary-foreground:#FFFFFF;--destructive:#D32F2F;--destructive-foreground:#FFFFFF;--border:#2E2E2E;--border-thickness:1px;--radius:0px;--shadow-hard:none;--bg-texture:none;--font-primary:"JetBrains Mono", "Fira Code", "Courier New", ui-monospace, monospace;--font-heading:"JetBrains Mono", "Fira Code", "Courier New", ui-monospace, monospace;--muted:#E8E6E1;--muted-foreground:#6f6c66;--success:#15803d;--warning:#B8860B;--accent:#E8E6E1;--accent-foreground:#2E2E2E;--tab-bg:#EFEFEF;--tab-hover:#E2E2E2;--bar:#242424;--bar-foreground:#F4F4F4;--bar-accent:#1A1A1A;--bar-border:#5A5A5A;--bar-muted:#B5B5B5}:root[data-theme=washi]{--background:#FCFAF5;--foreground:#2C2C2C;--card:#FFFFFF;--card-foreground:#2C2C2C;--primary:#2C2C2C;--primary-foreground:#FFFFFF;--destructive:#D64035;--destructive-foreground:#FFFFFF;--border:#E5E5E5;--border-thickness:1px;--radius:6px;--shadow-hard:0 4px 12px rgba(44,44,44,.06);--bg-texture:radial-gradient(#d6403511 1px, transparent 1px);--font-primary:"Inter", system-ui, sans-serif;--font-heading:"Lora", Georgia, serif;--muted:#F2EFE9;--muted-foreground:#8a857c;--success:#2e7d32;--warning:#B8860B;--accent:#EFE9DF;--accent-foreground:#2C2C2C;--tab-bg:#efece6;--tab-hover:#e4e0d8;--bar:#2C2C2C;--bar-foreground:#FFFFFF;--bar-accent:#222222;--bar-border:#454545;--bar-muted:#cfcfcf}:root[data-theme=matrix]{--background:#1E1E1E;--foreground:#D4D4D4;--card:#252526;--card-foreground:#D4D4D4;--primary:#569CD6;--primary-foreground:#FFFFFF;--destructive:#F44747;--destructive-foreground:#FFFFFF;--border:#333333;--border-thickness:1.5px;--radius:4px;--shadow-hard:0 4px 6px rgba(0,0,0,.3);--bg-texture:none;--font-primary:"JetBrains Mono", ui-monospace, monospace;--font-heading:"JetBrains Mono", ui-monospace, monospace;--muted:#2D2D30;--muted-foreground:#858585;--success:#4EC9B0;--warning:#D9A62E;--accent:#DCDCAA;--accent-foreground:#1E1E1E;--tab-bg:#2D2D30;--tab-hover:#37373D;--bar:#007ACC;--bar-foreground:#FFFFFF;--bar-accent:#0E639C;--bar-border:#1177BB;--bar-muted:#CFE8FA}:root{--bg-body: var(--background);--bg-paper: var(--card);--bg-grey: var(--muted);--text-primary: var(--foreground);--accent-red: var(--destructive);--border-color: var(--border);--hover-bg: color-mix(in srgb, var(--destructive) 8%, transparent)}:root{--ws-inset:10px;--ws-pad:12px;--ws-rail:70px;--ws-block-w:340px;--ws-frame-h:146px;--ws-head-h:100px;--ws-overlay:rgba(0,0,0,.5);--ws-frame-corner:var(--muted);--ws-block-bg:color-mix(in srgb, var(--bar) 88%, var(--bar-foreground))}:root[data-theme=matrix]{--ws-frame-corner:#000}.free-text-section{padding:10px 0;max-width:1000px;text-align:left}.page-main-title{font-size:2.4rem;font-weight:700;text-transform:uppercase;letter-spacing:-1px;margin-bottom:6px;line-height:1;color:var(--foreground);font-family:var(--font-heading)}.page-intro{font-size:.9rem;opacity:.8;max-width:760px}.tech-quote{border-left:3px solid var(--foreground);padding-left:12px;margin-bottom:12px;font-style:italic;font-size:.74rem;opacity:.7}@keyframes techPulse{0%,to{opacity:1}50%{opacity:.25}}.tech-pulse{animation:techPulse 1.4s ease-in-out infinite;display:inline-block}.technical-btn{padding:5px 11px;border:var(--border-thickness) solid var(--border);background:var(--primary);color:var(--primary-foreground);font-weight:700;text-transform:uppercase;cursor:pointer;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:var(--radius);transition:all .12s;font-family:inherit}.technical-btn:hover{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}.technical-btn:disabled{opacity:.45;cursor:not-allowed}.technical-btn.secondary{background:var(--accent);color:var(--accent-foreground)}.technical-btn.secondary:hover{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn-tech-gray{background:var(--muted);color:var(--foreground);border:var(--border-thickness) solid var(--border);font-weight:700;text-transform:uppercase;cursor:pointer;padding:4px 12px;font-size:10px;transition:all .15s;border-radius:var(--radius)}.btn-tech-gray:hover{background:var(--primary);color:var(--primary-foreground)}.tool-panel{border:var(--border-thickness) solid var(--border);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-hard)}.module-header{min-height:34px;padding:0 12px;border-bottom:var(--border-thickness) solid var(--border);background:var(--muted);color:var(--card-foreground);font-weight:700;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;font-size:.74rem;text-align:left}.panel-content{padding:13px;text-align:left}.tech-input-group{display:flex;flex-direction:column;margin-bottom:9px;text-align:left}.tech-input-group label{font-size:.66rem;font-weight:700;margin-bottom:3px;text-transform:uppercase;opacity:.7}.tech-input,.tech-select{background:var(--card);border:var(--border-thickness) solid var(--border);color:var(--foreground);padding:6px 9px;font-size:.78rem;width:100%;border-radius:var(--radius);font-family:inherit}.tech-input[type=number],.tool-panel input[type=number],.panel-content input[type=number]{text-align:right}.tech-input:focus,.tech-select:focus{outline:none;border-color:var(--destructive)}.tool-panel input[type=range],.panel-content input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{background:var(--muted);border:var(--border-thickness) solid var(--border);height:10px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-4px;background:var(--primary);border:var(--border-thickness) solid var(--border);height:16px;width:16px}input[type=range]::-moz-range-track{background:var(--muted);border:var(--border-thickness) solid var(--border);height:10px}input[type=range]::-moz-range-thumb{background:var(--primary);border:var(--border-thickness) solid var(--border);height:16px;width:16px;border-radius:0}.tech-table{width:100%;border-collapse:collapse;font-size:.82rem}.tech-table th,.tech-table td{border:var(--border-thickness) solid var(--border);padding:6px 9px;text-align:left}.tech-table th{background:var(--muted);text-transform:uppercase;font-weight:700}.tech-table tbody tr:hover{background:var(--hover-bg)}.counter-box{display:inline-flex;align-items:center;border:var(--border-thickness) solid var(--border);background:var(--card);height:28px}.counter-btn{width:28px;height:100%;background:none;border:none;font-weight:700;cursor:pointer;font-size:14px;color:var(--foreground)}.counter-btn:hover{background:var(--muted)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.ab-root{--washi: var(--background);--paper: var(--card);--grey: var(--muted);--sumi: var(--foreground);--red: var(--destructive);--bw: var(--border-thickness);font-family:var(--font-primary);background:var(--background);color:var(--foreground);background-image:var(--bg-texture);padding:22px 22px 330px;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}@media(max-width:900px){.ab-root{padding-bottom:460px}}.ab-bottom-dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;max-height:66vh}.ab-bottom-dock .ab-toptools-bar{position:static!important;margin:0!important;max-width:none!important}.ab-bottom-dock .ab-cfooter{margin:0;border-top:0}@media(max-width:560px){.ab-bottom-dock{overflow-y:auto}}.ab-root *{box-sizing:border-box;border-radius:var(--radius)}.ab-root button{font-family:inherit;cursor:pointer}.ab-root select,.ab-root input,.ab-root textarea{font-family:inherit}.ab-root a{color:inherit}.ab-container{width:100%;max-width:none;margin:0 auto;display:flex;flex-direction:column;gap:16px}@media(min-width:2200px){.ab-container{max-width:2160px}}.ab-masthead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:2px}.ab-masthead-text{text-align:right;margin-left:auto}.ab-logo-link{font-size:3.4rem;font-weight:800;letter-spacing:-1.5px;text-transform:none;color:var(--muted-foreground);text-decoration:none;display:inline-block;line-height:1;transition:color .15s;font-family:var(--font-heading)}.ab-logo-link:hover{color:var(--red)}.ab-masthead-sub{font-size:.72rem;font-weight:700;opacity:.65;text-transform:uppercase;margin-top:8px;letter-spacing:.04em}.ab-pulse{animation:abpulse 1.2s infinite ease-in-out;display:inline-block;color:var(--red)}@keyframes abpulse{0%,to{opacity:.15}50%{opacity:1}}.ab-masthead-logo{width:180px;height:120px;flex-shrink:0;opacity:.9;color:var(--foreground)}@media(max-width:760px){.ab-masthead-logo{display:none}.ab-logo-link{font-size:2.6rem}}.ab-hero-logo{height:27px;width:auto;object-fit:contain;display:inline-block;vertical-align:middle}.ab-hr{height:0;border-top:2px solid var(--border);margin:-2px 0 0}.ab-blink{animation:abblink 1.6s infinite ease-in-out;display:inline-block}@keyframes abblink{0%,to{opacity:.25}50%{opacity:1}}.ab-statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;border:var(--bw) solid var(--sumi);background:var(--paper);padding:9px 14px;font-size:11px;box-shadow:var(--shadow-hard)}.ab-status-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ab-path{font-weight:700;opacity:.8;white-space:nowrap}.ab-caret{color:var(--red);margin-right:6px;font-weight:800}.ab-divider{width:1px;height:22px;background:var(--sumi);opacity:.2}.ab-mini-label{font-size:9px;font-weight:800;opacity:.5;text-transform:uppercase;white-space:nowrap}.ab-select{border:var(--bw) solid var(--sumi);background:var(--washi);color:var(--sumi);padding:5px 26px 5px 10px;font-size:11px;font-weight:700;appearance:none;cursor:pointer}.ab-select:focus{outline:none;border-color:var(--red)}.ab-user{display:flex;align-items:center;gap:9px}.ab-username{font-size:11px;font-weight:700;text-transform:uppercase}.ab-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;padding:3px 8px;border:var(--bw) solid var(--sumi);text-transform:uppercase;letter-spacing:.05em;transition:all .12s}.ab-badge.premium{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ab-badge.free{background:var(--muted);color:var(--foreground)}.ab-badge:hover{transform:translateY(-1px)}.ab-sysok{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:var(--success)}.ab-btn{padding:7px 13px;border:var(--bw) solid var(--sumi);background:var(--primary);color:var(--primary-foreground);font-weight:700;text-transform:uppercase;font-size:10px;display:inline-flex;align-items:center;gap:5px;transition:all .12s;white-space:nowrap}.ab-btn:hover{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}.ab-btn:active{transform:translateY(1px)}.ab-btn.sec{background:var(--accent);color:var(--accent-foreground)}.ab-btn.sec:hover{background:var(--primary);color:var(--primary-foreground)}.ab-btn.add{background:var(--accent);color:var(--accent-foreground)}.ab-btn.add:hover{background:var(--primary);color:var(--primary-foreground)}.ab-btn.add.added{background:var(--success);color:#fff;border-color:var(--success)}.ab-btn.add.added:hover{background:var(--destructive);border-color:var(--destructive)}.ab-btn.sm{padding:3px 8px;font-size:9px}.ab-workspace{display:grid;grid-template-columns:1fr 430px;gap:16px;align-items:start}@media(max-width:1080px){.ab-workspace{grid-template-columns:1fr}}.ab-binder-tabs{display:flex;flex-wrap:wrap-reverse;align-items:flex-end;gap:3px;position:relative;z-index:3}.ab-tab{border:var(--bw) solid var(--sumi);border-bottom:none;background:var(--tab-bg);color:var(--muted-foreground);padding:6px 10px;font-size:9.5px;font-weight:800;display:inline-flex;align-items:center;gap:5px;text-transform:uppercase;transition:all .12s;position:relative;top:2px;z-index:1}.ab-tab:hover{background:var(--tab-hover);color:var(--foreground)}.ab-tab.active{background:var(--card);color:var(--destructive);border-top:3px solid var(--destructive);top:0;padding-top:8px;padding-bottom:9px;margin-bottom:-2px;z-index:8}.ab-binder-body{position:relative;z-index:2;border:var(--bw) solid var(--sumi);background:var(--paper);min-height:470px;box-shadow:var(--shadow-hard)}.ab-binder-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-bottom:var(--bw) solid var(--sumi);background:var(--muted);font-weight:800;text-transform:uppercase;font-size:13px}.ab-binder-head .ref{font-size:10px;opacity:.6;font-weight:700}.ab-ficha{display:grid;grid-template-columns:1.4fr 1fr}@media(max-width:680px){.ab-ficha{grid-template-columns:1fr}}.ab-ficha-main{padding:20px;border-right:var(--bw) solid var(--sumi)}.ab-photo{width:100%;height:230px;border:var(--bw) solid var(--sumi);background:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;margin-bottom:16px}.ab-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(85%) contrast(115%)}.ab-photo-tag{position:absolute;bottom:6px;left:6px;background:var(--primary);color:var(--primary-foreground);padding:3px 7px;font-size:9px;font-weight:700}.ab-ficha-side{padding:20px;background:color-mix(in srgb,var(--card) 80%,var(--background))}.ab-data-title{font-weight:800;border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:10px;font-size:11px;text-transform:uppercase}.ab-data-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--border);padding:7px 0;font-size:12px}.ab-data-row:last-child{border-bottom:none}.ab-data-label{font-weight:700;opacity:.55;text-transform:uppercase;font-size:10px}.ab-data-value{font-weight:700;text-align:right}.ab-origin{font-size:8px;font-weight:800;color:var(--destructive);border:1px solid var(--destructive);padding:0 4px;margin-left:6px}.ab-linked{padding:20px}.ab-linked h3{font-size:12px;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:14px;text-transform:uppercase}.ab-linked-card{border:var(--bw) solid var(--sumi);margin-bottom:10px}.ab-linked-card-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--muted);gap:8px}.ab-linked-card-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px}.ab-chip{background:var(--primary);color:var(--primary-foreground);padding:4px;display:inline-flex}.ab-linked-card-body{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:color-mix(in srgb,var(--card) 70%,var(--background));flex-wrap:wrap}.ab-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.ab-check.done{color:var(--success)}.ab-empty{border:2px dashed var(--border);padding:30px;text-align:center;color:var(--muted-foreground);font-size:11px;text-transform:uppercase;font-weight:700;line-height:1.7}.ab-catalog{border:var(--bw) solid var(--sumi);background:var(--paper);display:flex;flex-direction:column;max-height:760px;box-shadow:var(--shadow-hard)}.ab-catalog-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:var(--muted);border-bottom:var(--bw) solid var(--sumi);font-weight:800;text-transform:uppercase;font-size:13px}.ab-catalog-filter{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:var(--bw) solid var(--sumi);background:color-mix(in srgb,var(--card) 70%,var(--background))}.ab-catalog-scroll{overflow-y:auto;flex:1}.ab-folder{border-bottom:1px solid var(--border)}.ab-folder:last-child{border-bottom:none}.ab-folder-head{width:100%;text-align:left;background:none;border:none;color:var(--foreground);padding:11px 14px;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;transition:background .12s}.ab-folder-head:hover{background:var(--hover-bg)}.ab-folder-body{background:color-mix(in srgb,var(--card) 70%,var(--background))}.ab-sub{border-top:1px solid var(--border)}.ab-sub-head{width:100%;text-align:left;background:none;border:none;padding:8px 14px 8px 20px;font-size:10px;font-weight:800;color:var(--muted-foreground);text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;letter-spacing:.03em;transition:color .12s}.ab-sub-head:hover{color:var(--foreground)}.ab-sub-body{padding:6px 10px 10px 16px}.ab-tool{border:var(--bw) solid var(--sumi);background:var(--card);padding:9px 10px;margin-bottom:7px;transition:all .12s}.ab-tool:last-child{margin-bottom:0}.ab-tool.soon{opacity:.6;background:var(--muted)}.ab-tool.active{border-color:var(--destructive);outline:1px solid var(--destructive)}.ab-tool-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ab-tool-title{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;flex:1}.ab-tool-code{font-size:8px;font-weight:800;opacity:.4}.ab-tool-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.ab-pill{font-size:7.5px;font-weight:800;padding:1px 5px;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;display:inline-flex;align-items:center;gap:3px}.ab-pill.soon{background:var(--muted);color:var(--muted-foreground);border-color:var(--border)}.ab-pill.prem{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ab-datacode{display:inline;font-size:7.5px;line-height:1;font-weight:700;letter-spacing:.02em;white-space:nowrap;color:var(--destructive);opacity:.5;margin-left:4px;vertical-align:middle;pointer-events:none;user-select:none}.ab-explore{margin-top:8px;background:var(--muted);border-left:3px solid var(--border);padding:8px 10px;font-size:10px}.ab-explore .lab{font-weight:800}.ab-phase-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.ab-phase{font-size:8px;padding:1px 4px;border:1px solid var(--border);color:var(--muted-foreground)}.ab-phase.on{border-color:var(--foreground);color:var(--foreground);font-weight:800}.ab-toolhost{border:var(--bw) solid var(--sumi);background:var(--paper);box-shadow:var(--shadow-hard)}.ab-module-header{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:var(--muted);border-bottom:var(--bw) solid var(--sumi);font-weight:800;text-transform:uppercase;font-size:13px}.ab-toolhost-body{padding:30px;min-height:300px;display:flex;align-items:center;justify-content:center}.ab-toolhost-body.mounted{display:block;padding:24px}.ab-host-empty{text-align:center;color:var(--muted-foreground);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.ab-render{width:100%;max-width:780px;border:2px solid var(--border);background:var(--background);padding:36px;text-align:center;box-shadow:var(--shadow-hard)}.ab-render.prem{border-color:var(--destructive)}.ab-render-icon{display:inline-flex;padding:18px;border:2px solid var(--border);background:var(--card);margin-bottom:18px}.ab-render-title{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:-.5px}.ab-render-sub{font-size:11px;opacity:.6;font-weight:700;text-transform:uppercase;margin-top:6px}.ab-loadbar{margin:22px auto 0;width:62%;height:10px;border:var(--bw) solid var(--sumi);background:var(--muted);overflow:hidden}.ab-loadbar-fill{height:100%;background:var(--destructive)}.ab-loadtext{font-size:10px;font-weight:800;text-transform:uppercase;margin-top:10px;opacity:.7;display:inline-flex;align-items:center;gap:6px}.ab-cfooter{border:var(--bw) solid var(--sumi);background:var(--paper);box-shadow:var(--shadow-hard)}.ab-metagrid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:var(--bw) solid var(--sumi)}@media(max-width:900px){.ab-metagrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.ab-metagrid{grid-template-columns:1fr}}.ab-meta{padding:10px 14px;border-right:var(--bw) solid var(--sumi);border-bottom:1px solid var(--border)}.ab-meta-label{font-size:9px;font-weight:800;opacity:.5;text-transform:uppercase;display:block}.ab-meta-value{font-size:11px;font-weight:700;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab-feedback{display:flex;gap:10px;align-items:center;padding:14px 16px;border-bottom:var(--bw) solid var(--sumi);flex-wrap:wrap}.ab-feedback label{font-size:11px;font-weight:800;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.ab-feedback input{flex:1;min-width:200px;border:var(--bw) solid var(--sumi);background:var(--card);color:var(--foreground);padding:8px 10px;font-size:11px}.ab-feedback input:focus{outline:none;border-color:var(--destructive)}.ab-legal{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 16px;flex-wrap:wrap;font-size:9px;opacity:.65;text-transform:uppercase;font-weight:700}.ab-legal a{text-decoration:underline}.ab-legal a:hover{color:var(--destructive)}.ab-toptools-bar{position:sticky;bottom:0;z-index:40;margin:6px auto 0;width:100%;max-width:none;border:var(--bw) solid var(--sumi);background:var(--bar);display:flex;flex-direction:column}@media(min-width:2200px){.ab-toptools-bar{max-width:2160px}}.ab-tt-active{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;background:var(--bar-accent);border-bottom:var(--bw) solid var(--bar-border);flex-wrap:wrap}.ab-tt-active-label{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--bar-muted);letter-spacing:.06em;display:inline-flex;align-items:center;gap:7px}.ab-tt-active-name{font-size:14px;font-weight:800;text-transform:uppercase;color:var(--bar-foreground);letter-spacing:-.3px;display:inline-flex;align-items:center;gap:9px}.ab-tt-row{display:flex}.ab-tt-row:not(:last-child){border-bottom:var(--bw) solid var(--bar-border)}.ab-tt{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;color:var(--bar-foreground);font-size:10px;font-weight:800;text-transform:uppercase;border:none;border-right:var(--bw) solid var(--bar-border);background:none;transition:all .12s}.ab-tt:last-child{border-right:none}.ab-tt:hover{background:var(--destructive);color:var(--destructive-foreground)}.ab-tt:active{filter:brightness(.85)}.ab-tt-select{flex:1;display:flex;align-items:center;gap:8px;padding:8px 14px;min-width:220px}.ab-select-dark{flex:1;background:var(--card);color:var(--foreground)}.ab-progress{margin-top:16px;border:1.5px solid var(--border);padding:12px;background:color-mix(in srgb,var(--card) 80%,var(--background))}.ab-progress-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;text-transform:uppercase}.ab-progress-head span:first-child{display:inline-flex;align-items:center;gap:6px}.ab-progress-pct{color:var(--destructive)}.ab-progress-bar{height:12px;border:1.5px solid var(--border);background:var(--muted);margin:8px 0 12px}.ab-progress-fill{height:100%;background:var(--primary);transition:width .3s}.ab-progress-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ab-chk{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;font-size:7.5px;font-weight:700;text-transform:uppercase;opacity:.45;color:var(--foreground)}.ab-chk.on{opacity:1;color:var(--success)}.ab-toast{position:fixed;bottom:160px;left:50%;transform:translate(-50%);z-index:9999;background:var(--primary);color:var(--primary-foreground);border:2px solid var(--border);padding:11px 20px;font-size:11px;font-weight:800;text-transform:uppercase;display:flex;align-items:center;gap:10px;max-width:90%}.ab-toast .dot{color:var(--destructive)}:root,:root[data-theme=cad]{--progress-accent:#2E2E2E}:root[data-theme=washi]{--progress-accent:#2C2C2C}:root[data-theme=matrix]{--progress-accent:#4EC9B0}.ab-chk.on{color:var(--progress-accent)}.ab-progress-fill{background:var(--progress-accent)}.ab-progress-pct{color:var(--progress-accent)}.ab-tt-select{flex:0 0 300px;min-width:300px}.ab-tt-spacer{flex:1}.ab-theme-mini{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;padding:3px 8px;border:var(--bw) solid var(--sumi);text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:var(--accent-foreground);cursor:pointer;transition:all .12s}.ab-theme-mini:hover{background:var(--primary);color:var(--primary-foreground)}.ab-otros{border-top:var(--bw) solid var(--sumi);padding:16px 20px}.ab-otros-title{font-size:11px;font-weight:800;text-transform:uppercase;opacity:.7;margin-bottom:10px;display:flex;align-items:center;gap:7px}.ab-otros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px}.ab-folder-card{position:relative;text-align:left;cursor:pointer;border:var(--bw) solid var(--sumi);background:var(--card);color:var(--foreground);padding:12px;display:flex;flex-direction:column;gap:6px;transition:all .12s;font-family:inherit}.ab-folder-card:hover{background:var(--muted);transform:translateY(-2px)}.ab-folder-card .fc-top{display:flex;align-items:center;justify-content:space-between}.ab-folder-card .fc-name{font-size:12px;font-weight:800;text-transform:uppercase;line-height:1.25}.ab-folder-card .fc-meta{display:flex;gap:6px;flex-wrap:wrap}.ab-folder-card .fc-badge{font-size:8px;font-weight:800;text-transform:uppercase;padding:1px 5px;border:1px solid var(--border);background:var(--muted);color:var(--foreground)}.ab-folder-card .fc-ref{font-size:8px;opacity:.45;font-weight:700}.ab-folder-card.new{align-items:center;justify-content:center;text-align:center;border-style:dashed;color:var(--muted-foreground);font-weight:800;text-transform:uppercase;font-size:11px;gap:8px;min-height:96px}.ab-folder-card.new:hover{color:var(--destructive);border-color:var(--destructive)}.ab-home{display:flex;flex-direction:column;gap:18px}.ab-home-toptools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--muted);border:var(--bw) solid var(--sumi);padding:12px 16px;box-shadow:var(--shadow-hard)}.ab-home-tt-label{font-size:10px;font-weight:800;text-transform:uppercase;opacity:.55;letter-spacing:.06em;margin-right:6px;display:inline-flex;align-items:center;gap:6px}.ab-home-tt{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;padding:8px 14px;border:var(--bw) solid var(--sumi);background:var(--card);color:var(--foreground);cursor:pointer;transition:all .12s;font-family:inherit}.ab-home-tt:hover{background:var(--primary);color:var(--primary-foreground)}.ab-home-section{border:var(--bw) solid var(--sumi);background:var(--paper);box-shadow:var(--shadow-hard)}.ab-home-section-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:var(--muted);border-bottom:var(--bw) solid var(--sumi);font-weight:800;text-transform:uppercase;font-size:13px}.ab-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px;padding:18px}.ab-home-empty{padding:48px 30px;text-align:center}.ab-home-empty h3{font-size:18px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.ab-home-empty p{font-size:12px;opacity:.7;margin-bottom:18px}.ab-home-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}:root[data-theme=washi]{--background:#F6EFDD;--foreground:#34302A;--card:#FFFCF3;--card-foreground:#34302A;--primary:#34302A;--primary-foreground:#FFFCF3;--destructive:#C24A33;--destructive-foreground:#FFFFFF;--border:#DCCFB3;--muted:#EBDEC2;--muted-foreground:#8a7c5e;--success:#4d7c2f;--warning:#A87B0B;--accent:#EFE4C9;--accent-foreground:#34302A;--tab-bg:#E2D3AF;--tab-hover:#D8C89E;--progress-accent:#34302A;--bar:#34302A;--bar-foreground:#FFFCF3;--bar-accent:#2a2620;--bar-border:#5b5443;--bar-muted:#cdbf9f;--bg-texture:radial-gradient(#c24a3314 1px, transparent 1px)}:root[data-theme=matrix]{--font-primary:"Fira Code", "JetBrains Mono", ui-monospace, monospace;--font-heading:"Fira Code", "JetBrains Mono", ui-monospace, monospace;--bar:#D4D4D4;--bar-foreground:#1E1E1E;--bar-accent:#C4C4C4;--bar-border:#9D9D9D;--bar-muted:#4A4A4A}:root[data-theme=matrix]{--primary:#178C7C;--primary-foreground:#FFFFFF}.ab-toolhost-body input:not([type=range]):not([type=checkbox]):not([type=radio]),.ab-toolhost-body select,.ab-toolhost-body textarea{background-color:var(--card);color:var(--foreground)}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-primary{background-color:var(--primary)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-accent{background-color:var(--accent)}.text-foreground{color:var(--foreground)}.text-card-foreground{color:var(--card-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-accent-foreground{color:var(--accent-foreground)}.border-border{border-color:var(--border)}.border-primary{border-color:var(--primary)}.border-destructive{border-color:var(--destructive)}.border-theme{border:var(--border-thickness) solid var(--border)}.rounded-theme{border-radius:var(--radius)}.shadow-hard{box-shadow:var(--shadow-hard)}:root[data-theme=white]{--background:#F7F7F7;--foreground:#232323;--card:#FFFFFF;--card-foreground:#232323;--primary:#2E2E2E;--primary-foreground:#FAFAFA;--destructive:#DC2626;--destructive-foreground:#FFFFFF;--border:#E4E4E4;--border-thickness:1px;--radius:8px;--shadow-hard:0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.06);--bg-texture:none;--font-primary:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Inter", system-ui, -apple-system, sans-serif;--muted:#F4F4F4;--muted-foreground:#737373;--success:#16A34A;--warning:#CA8A04;--accent:#F4F4F4;--accent-foreground:#2E2E2E;--tab-bg:#ECECEC;--tab-hover:#E2E2E2;--bar:#262626;--bar-foreground:#FAFAFA;--bar-accent:#171717;--bar-border:#3F3F3F;--bar-muted:#A3A3A3}:root[data-theme=white]{--progress-accent: #DC2626}@keyframes ab-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-panel,.ab-binder-body,.ab-catalog,.ab-home-section,.ab-home-toptools,.ab-render,.ab-linked-card,.ab-statusbar,.ab-toptools-bar,.ab-hero,.ab-photo,.ab-repo-card{border-radius:0!important}.ab-tab,.module-header,.ab-catalog-head,.ab-binder-head,.ab-module-header,.ab-home-section-head{position:relative;border-radius:0!important}:root[data-theme=cad] .ab-tab:after,:root[data-theme=cad] .module-header:after,:root[data-theme=cad] .ab-catalog-head:after,:root[data-theme=cad] .ab-binder-head:after,:root[data-theme=cad] .ab-module-header:after,:root[data-theme=cad] .ab-home-section-head:after{content:"";position:absolute;top:0;right:0;width:16px;height:16px;border-radius:0!important;transform:translate(50%,-50%) rotate(45deg);transform-origin:center;background:var(--background);border-bottom:var(--bw) solid var(--border);pointer-events:none;z-index:3}:root[data-theme=cad] .ab-tab:after{width:12px;height:12px}.ab-container--narrow{max-width:1280px;margin-left:auto;margin-right:auto}.ab-form-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:end}@media(min-width:768px){.ab-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.ab-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ab-form-grid .tech-input-group{margin-bottom:0;min-width:0}.ab-form-grid .tech-input,.ab-form-grid .tech-select,.ab-form-grid textarea{width:100%}.ab-form-grid .col-span-full{grid-column:1 / -1}.ab-home{max-width:none;width:100%}.ab-hero{border:none;background:none;box-shadow:none;padding:40px 4px 28px;text-align:left}.ab-hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;opacity:.7}.ab-hero-title{font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:800;line-height:1.2;letter-spacing:-.5px;max-width:880px;margin:0 0 22px;font-family:var(--font-heading)}.ab-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.ab-photo-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}.ab-photo-tools-label{font-size:9px;font-weight:800;text-transform:uppercase;opacity:.5;margin-left:4px}.ab-repo-banner{display:flex;align-items:center;gap:10px;border:1.5px dashed var(--border);background:var(--muted);padding:12px 14px;font-size:12px;font-weight:600;margin-bottom:16px}.ab-repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.ab-repo-card{border:var(--bw) solid var(--sumi);background:var(--card);padding:14px;display:flex;flex-direction:column;gap:10px;opacity:.85}.ab-repo-card-top{display:flex;align-items:center;justify-content:space-between}.ab-repo-card-name{font-size:12px;font-weight:800;text-transform:uppercase;line-height:1.25}.ab-split{display:flex;flex-direction:column;gap:24px;align-items:stretch}.tool-split-21{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.tool-split-21>*{min-width:0}@media(max-width:860px){.tool-split-21{grid-template-columns:1fr}}.ab-split-left{width:100%;min-width:0}.ab-split-right{position:relative;width:100%;min-width:0}.ab-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ab-preview-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.7;display:inline-flex;align-items:center;gap:7px;margin:0}.ab-modal-overlay{position:fixed;inset:0;z-index:120;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.ab-modal{width:100%;max-width:440px;background:var(--card);box-shadow:var(--shadow-hard)}.ab-menu-backdrop{position:fixed;inset:0;z-index:90}.ab-user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:230px;background:var(--card);border:var(--bw) solid var(--sumi);box-shadow:var(--shadow-hard);display:flex;flex-direction:column}.ab-user-menu-head{padding:12px 14px;border-bottom:var(--bw) solid var(--border);display:flex;flex-direction:column;align-items:flex-start}.ab-menu-item{display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;background:none;border:none;border-bottom:1px solid var(--border);color:var(--foreground);text-align:left;transition:all .12s}.ab-menu-item:last-child{border-bottom:none}.ab-menu-item:hover{background:var(--muted)}.ab-menu-item.danger{color:var(--destructive)}.ab-menu-item.danger:hover{background:var(--destructive);color:var(--destructive-foreground)}.doc-export{display:block;width:100%}@media print{@page{size:A4 portrait;margin:12mm}html,body{background:#fff!important}.ab-root{padding:0!important;background:#fff!important}body *{visibility:hidden!important}.ab-split-left,.ab-preview-head{display:none!important}.doc-export,.doc-export *{visibility:visible!important}.ab-split,.ab-split-right{display:block!important;position:static!important}.doc-export{position:absolute;left:0;top:0;width:100%!important}.doc-sheet{background:#fff!important;border:1px solid #000!important;box-shadow:none!important}.exp-toolbar{display:none!important}.exp-print,.exp-print *{visibility:visible!important}.exp-print{position:absolute;left:0;top:0;width:100%!important;background:#fff!important;border:none!important;padding:0!important}.exp-sec,.exp-indice,.exp-firma,.exp-form-page{page-break-before:always;break-before:page}.exp-sec thead{display:table-header-group}.exp-sec tfoot{display:table-footer-group}.exp-portada{min-height:auto!important;height:250mm}.exp-firma{min-height:auto!important;height:230mm}.exp-form-page{box-shadow:none!important}}:root[data-theme=cad] *,:root[data-theme=cad] *:before,:root[data-theme=cad] *:after{box-shadow:none!important;text-shadow:none!important}:root[data-theme=cad] .shadow-hard,:root[data-theme=cad] .tool-panel,:root[data-theme=cad] .ab-toptools-bar,:root[data-theme=cad] .ab-statusbar{box-shadow:none!important}:root[data-theme=cad],:root[data-theme=cad] *{font-family:JetBrains Mono,Fira Code,Courier New,ui-monospace,monospace!important}:root[data-theme=cad] .ab-render,:root[data-theme=cad] .ab-render-icon,:root[data-theme=cad] .ab-empty,:root[data-theme=cad] .ab-toast,:root[data-theme=cad] .ab-progress,:root[data-theme=cad] .ab-progress-bar,:root[data-theme=cad] .ab-repo-banner{border-width:1px!important}:root[data-theme=cad] .ab-hr{border-top-width:1px}:root[data-theme=cad] .ab-btn{background:var(--foreground)!important;color:var(--background)!important;border:1px solid var(--foreground)!important;font-weight:700}:root[data-theme=cad] .ab-btn:before{content:"[ "}:root[data-theme=cad] .ab-btn:after{content:" ]"}:root[data-theme=cad] .ab-btn:hover{background:var(--destructive)!important;color:#fff!important;border-color:var(--destructive)!important}:root[data-theme=cad] .ab-btn.sec,:root[data-theme=cad] .ab-btn.add:not(.added){background:transparent!important;color:var(--foreground)!important}:root[data-theme=cad] .ab-btn.sec:hover,:root[data-theme=cad] .ab-btn.add:not(.added):hover{background:var(--foreground)!important;color:var(--background)!important}:root[data-theme=cad] .ab-btn.add.added{background:var(--success)!important;color:#fff!important;border-color:var(--success)!important}:root[data-theme=cad] .technical-btn{background:var(--foreground)!important;color:var(--background)!important;border:1px solid var(--foreground)!important}:root[data-theme=cad] .technical-btn:hover{background:var(--destructive)!important;color:#fff!important;border-color:var(--destructive)!important}:root[data-theme=cad] .technical-btn.secondary,:root[data-theme=cad] .btn-tech-gray{background:transparent!important;color:var(--foreground)!important;border:1px solid var(--foreground)!important}:root[data-theme=cad] .technical-btn.secondary:hover,:root[data-theme=cad] .btn-tech-gray:hover{background:var(--foreground)!important;color:var(--background)!important}:root[data-theme=cad] .ab-toptools-bar{background:var(--bar)!important}:root[data-theme=cad] .ab-tt:hover{background:var(--destructive)!important;color:#fff!important}:root[data-theme=cad] svg{stroke-width:1px}.doc-export,.doc-export *,:root[data-theme] .doc-export,:root[data-theme] .doc-export *,:root[data-theme=cad] .doc-export,:root[data-theme=cad] .doc-export *{font-family:var(--doc-fuente, Arial, "Helvetica Neue", Helvetica, "Segoe UI", sans-serif)!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;letter-spacing:normal!important}:root .doc-export .doc-sheet,:root[data-theme] .doc-export .doc-sheet{background:#fff!important;color:#1a1a1a!important;border:0!important;box-shadow:none!important}.ab-root.ab-shell{padding:0!important;min-height:100vh;display:flex;flex-direction:column}.ab-root.ab-shell .ab-toast{bottom:24px}.ab-outlet{flex:1;min-height:0;display:flex;flex-direction:column}.ab-outlet--mini{width:100%;max-width:1280px;margin:0 auto;padding:22px}.ab-top,.ab-topbar,.ab-brand,.ab-topbtn,.ab-topsel,.ab-dock,.ab-dock-tools,.ab-dock-tools .lbl,.ab-dock-nav,.ab-dock-last,.ab-dock-btn,.ab-workbar,.ab-workbar-btn{border-radius:0!important}.ab-top{display:flex;align-items:stretch;gap:12px;background:var(--bar);color:var(--bar-foreground);border-bottom:var(--bw) solid var(--bar-border)}.ab-topbar{flex:1;display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:40px 14px 12px}.ab-prodswitch{position:absolute;top:3px;left:496px;display:flex;gap:6px;z-index:6}.ab-top-tagline{flex:0 0 100%;order:-1;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.6;line-height:1.25;margin:0 0 2px}.ab-top-slogan{margin-top:3px}.ab-brand{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:2px;padding:4px 27px 8px 0;text-align:right;flex:0 0 auto}.ab-brand-title{font-family:var(--font-heading);font-size:3.5rem;font-weight:800;letter-spacing:.16em;line-height:1;color:var(--bar-foreground);cursor:pointer;padding-left:.16em}.ab-brand-title .pulse,.ab-brand-title .pro{color:var(--destructive)}.ab-brand-iso{align-self:flex-end;width:120px;height:120px;margin-right:70px;color:var(--bar-foreground);flex:0 0 auto}.ab-brand-text{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;padding-bottom:6px}.ab-brand-sub{font-size:.78rem;font-weight:700;opacity:.6;text-transform:uppercase;margin-top:5px;letter-spacing:.04em;max-width:560px}.ab-brand-sub-row{display:flex;gap:26px;justify-content:space-between;align-items:center;max-width:none;width:100%;text-align:left}.ab-brand-sub-row>span{flex:1 1 0;min-width:0}.ab-brand-sub-row>span:last-child{text-align:right}.ab-brand-logo{height:140px;width:auto;object-fit:contain}.ab-brand-logo-new{height:120px}.ab-logo-invert{filter:invert(1)}.ab-nav-host{flex:0 0 470px;align-self:stretch;display:flex;align-items:flex-end;padding:0 6px 16px 7.5px;min-width:0;min-height:215px;overflow:hidden}.ab-nav-host #ab-nav-root{width:100%;height:175px}.ab-brand-rot{display:inline-block;animation:ab-brand-fade .55s ease}@keyframes ab-brand-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.ab-topbtn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:800;text-transform:uppercase;background:transparent;color:var(--bar-foreground);border:var(--bw) solid var(--bar-border);cursor:pointer}.ab-topbtn:hover{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ab-topsel{display:flex;align-items:center;gap:8px;padding:7px 10px;border:var(--bw) solid var(--bar-border);background:var(--bar-accent);min-width:300px;flex:0 0 330px}.ab-topsel select{flex:1;background:transparent;color:var(--bar-foreground);border:none;font-size:11px;font-weight:700;outline:none}.ab-topsel select option{color:#111}.ab-topsysok{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700}@media(max-width:760px){.ab-brand-logo{height:84px}.ab-brand-logo-new{height:72px}.ab-brand-title{font-size:2.6rem}.ab-brand-sub,.ab-nav-host{display:none}.ab-brand-iso{width:34px;height:34px;margin-right:40px}.ab-prodswitch{left:14px}}@media(min-width:761px)and (max-width:1439px){.ab-nav-host{flex-basis:300px}.ab-prodswitch{left:326px;flex-wrap:wrap;max-width:calc(100vw - 340px)}.ab-brand-iso{width:78px;height:78px;margin-right:16px}.ab-brand{padding-right:12px}.ab-brand-title{font-size:2.3rem!important}}.ab-shell .ab-binder-tabs{gap:2px}.ab-shell .ab-tab{padding:6px;gap:3px}.ab-shell .ab-tab.active{padding-left:6px;padding-right:6px}.ab-main3{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,1.35fr) 392px minmax(280px,1.05fr);grid-template-rows:auto 1fr;gap:12px;padding:12px 14px}.ab-wc1{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:10px}.ab-wc2{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-height:0}.ab-wc3{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;min-height:0;border:var(--bw) solid var(--border);background:var(--card)}.ab-wavance{grid-column:2 / 4;grid-row:2;align-self:end}@media(max-width:1040px){.ab-main3{grid-template-columns:392px 1fr;grid-template-rows:auto auto auto}.ab-wc3{grid-column:1 / 3;grid-row:1;min-height:440px}.ab-wc2{grid-column:1;grid-row:2}.ab-wc1{grid-column:2;grid-row:2}.ab-wavance{grid-column:1 / 3;grid-row:3;align-self:start}}@media(max-width:680px){.ab-main3{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.ab-wc1,.ab-wc2,.ab-wc3,.ab-wavance{grid-column:1}.ab-wc3{grid-row:1}.ab-wc2{grid-row:2}.ab-wc1{grid-row:3}.ab-wavance{grid-row:4}}.ab-wc2 .ab-catalog{max-height:none}.ab-wc3 .ab-toolhost{border:0;box-shadow:none;display:flex;flex-direction:column;flex:1;min-height:0}.ab-wc3 .ab-toolhost-body{flex:1;overflow-y:auto}.ab-gutter{position:relative;display:flex;flex-direction:column;align-items:center;min-width:10px}.ab-gutter-toggle{margin-top:4px;width:16px;height:34px;border:var(--bw) solid var(--border);background:var(--muted);color:var(--foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);padding:0}.ab-gutter-toggle:hover{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ab-gutter-grip{flex:1;width:6px;margin-top:6px;cursor:col-resize;border-radius:var(--radius)}.ab-gutter-grip:hover{background:var(--border)}.ab-myrow{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.ab-myrow .card{flex:0 0 auto;width:128px;border:var(--bw) solid var(--border);background:var(--card);padding:9px;cursor:pointer;text-align:left;color:var(--foreground);font-family:inherit}.ab-myrow .card.new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted-foreground);font-weight:800;font-size:10px;text-transform:uppercase}.ab-linkrow{display:flex;align-items:center;gap:8px;padding:7px 9px;border:var(--bw) solid var(--border);background:var(--card)}.ab-linkrow .lbl{flex:1;min-width:0;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-iconbtn{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:9px;font-weight:800;text-transform:uppercase;border:var(--bw) solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer}.ab-iconbtn:hover{background:var(--muted)}.ab-iconbtn.danger:hover{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ab-workbar{display:flex;align-items:center;gap:8px;padding:10px;min-height:46px;border-top:var(--bw) solid var(--bar-border);background:var(--bar);flex-wrap:wrap}.ab-workbar-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;font-size:11px;font-weight:800;text-transform:uppercase;border:var(--bw) solid var(--bar-border);background:transparent;color:var(--bar-foreground);cursor:pointer}.ab-workbar-btn:hover{filter:brightness(1.12)}.ab-avancefree{display:flex;flex-wrap:wrap;gap:4px 16px}.ab-avancefree .chk{display:inline-flex;align-items:center;gap:6px;padding:3px 4px;background:none;border:none;cursor:pointer;font-size:10px;color:var(--foreground);max-width:100%}.ab-avancefree .chk:hover .t{text-decoration:underline}.ab-avancefree .chk .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ab-dock{border-top:var(--bw) solid var(--border);background:var(--bar);color:var(--bar-foreground)}.ab-dock-tools{display:flex;align-items:stretch;background:var(--bar-accent);border-bottom:var(--bw) solid var(--bar-border);flex-wrap:wrap}.ab-dock-tools .lbl{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:9px;font-weight:800;text-transform:uppercase;opacity:.7;border-right:var(--bw) solid var(--bar-border)}.ab-dock-nav{display:flex;align-items:stretch;border-bottom:var(--bw) solid var(--bar-border);flex-wrap:wrap}.ab-dock-btn{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;font-size:11px;font-weight:800;text-transform:uppercase;border:none;border-right:var(--bw) solid var(--bar-border);background:none;color:var(--bar-foreground);cursor:pointer}.ab-dock-btn:last-child{border-right:none}.ab-dock-btn:hover{background:var(--destructive);color:var(--destructive-foreground)}.ab-dock-last{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:7px 14px;font-size:10px}.ab-dock-last a{text-decoration:underline;color:inherit}.ab-dock-last input{border:var(--bw) solid var(--bar-border);background:var(--bar-accent);color:var(--bar-foreground)}.ab-land{flex:1;width:100%;padding:26px 26px 20px;display:flex;flex-direction:column}.ab-land-body{flex:1;display:grid;grid-template-columns:1fr;gap:24px;align-items:stretch}.ab-land-body.with-tools{grid-template-columns:minmax(0,1.05fr) 330px minmax(0,1.25fr)}@media(max-width:1100px){.ab-land-body.with-tools{grid-template-columns:1fr 330px}}@media(max-width:760px){.ab-land-body.with-tools{grid-template-columns:1fr}}.ab-land-content{display:flex;flex-direction:column;gap:20px;min-width:0}.ab-land-bottom{margin-top:auto;display:flex;flex-direction:column;gap:18px}@keyframes abFade{0%{opacity:0}to{opacity:1}}.ab-fade2{animation:abFade 2s ease both}.ab-land-hero h1{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-1px;margin:0 0 16px;line-height:1.05}.ab-land-hero p{font-size:clamp(.96rem,1.5vw,1.18rem);line-height:1.55;max-width:920px;margin:0 0 10px;opacity:.85}.ab-land-hero .welcome{font-weight:800;color:var(--destructive);font-size:1.25rem;opacity:1;margin-top:6px}.ab-land-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.ab-landbtn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;font-size:13px;font-weight:800;text-transform:uppercase;border:var(--bw) solid var(--border);background:var(--primary);color:var(--primary-foreground);cursor:pointer;font-family:inherit}.ab-landbtn.sec{background:transparent;color:var(--foreground)}.ab-landbtn.sec.on,.ab-landbtn:hover{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ab-land-sech{font-size:10px;font-weight:800;text-transform:uppercase;opacity:.55;display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;letter-spacing:.05em}.ab-land-proj{display:flex;gap:12px;flex-wrap:wrap}.ab-land-proj .card{flex:0 0 auto;width:200px;border:var(--bw) solid var(--border);background:var(--card);padding:14px;cursor:pointer;text-align:left;color:var(--foreground);font-family:inherit}.ab-land-proj .card.new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted-foreground);font-weight:800;text-transform:uppercase;font-size:11px;min-height:104px;border-style:dashed}.ab-landcat{position:sticky;top:12px;min-width:0;align-self:start}.ab-landcat .ab-catalog{max-height:none}.ab-landwork{position:sticky;top:12px;min-width:0;align-self:start}.ab-landwork .inner{border:var(--bw) solid var(--border);background:var(--card);display:flex;flex-direction:column;min-height:640px}.ab-landwork .head{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;background:var(--bar);color:var(--bar-foreground);border-bottom:var(--bw) solid var(--bar-border);font-weight:700;text-transform:uppercase;font-size:.82rem}.ab-landwork .foot{min-height:46px;border-top:var(--bw) solid var(--bar-border);background:var(--bar)}.ab-land-demo{border:1.5px dashed var(--border);background:var(--muted);padding:22px;text-align:center;color:var(--muted-foreground);font-size:11px;font-weight:700;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.ab-fade2{animation:none}}@media(max-width:760px){html,body{overflow-x:hidden}.ab-root{padding:12px 10px 400px}.ab-main3{grid-template-columns:minmax(0,1fr)}.ab-wc1,.ab-wc2,.ab-wc3,.ab-wavance{min-width:0}.ab-form-grid{grid-template-columns:minmax(0,1fr)}.tech-input-group{min-width:0}.ab-toolhost-body select,.ab-toolhost-body textarea,.ab-toolhost-body input:not([type=checkbox]):not([type=radio]){max-width:100%;min-width:0}.ab-toolhost-body{overflow-x:auto}.ab-toolhost-body.mounted{padding:14px 12px}.ab-workbar{flex-wrap:wrap;padding:8px;gap:6px}.ab-workbar-btn{flex:1 1 auto;min-width:0;padding:8px 10px;font-size:10px}.ab-land{padding:16px 12px 14px}.ab-top{flex-direction:column;align-items:stretch;gap:0}.ab-brand{order:1;flex-direction:row;align-items:center;justify-content:flex-end;gap:10px;padding:44px 12px 8px}.ab-brand-iso{align-self:center;margin:0;width:38px;height:38px}.ab-brand-title{font-size:clamp(.95rem,4.5vw,1.3rem)!important;letter-spacing:.06em!important;white-space:nowrap;padding-left:0}.ab-brand-text{padding-bottom:0}.ab-prodswitch{left:10px;top:8px;right:auto}.ab-prodswitch .ab-topbtn{padding:6px 8px;font-size:9.5px}.ab-topbar{order:2;padding:8px 10px 12px;gap:6px}.ab-topbar .ab-topbtn{padding:8px 9px;font-size:10.5px}.ab-topsel{min-width:0;flex:1 1 100%}.ab-topsysok{display:none}.ab-user-menu{left:0;right:auto;max-width:calc(100vw - 20px)}.ab-bottom-dock{max-height:42vh;overflow-y:auto}.ab-tt{min-width:0;padding:10px 6px;font-size:9px}.ab-tt-select{flex:1 1 100%;min-width:0}.ab-tt-active{padding:10px 12px}.ab-toast{bottom:calc(42vh + 14px)}.ab-statusbar{font-size:10px;gap:8px;padding:8px 10px}.ab-binder-head{padding:9px 10px;font-size:11.5px}.ab-ficha-main,.ab-ficha-side,.ab-linked{padding:12px}.ab-progress-grid{grid-template-columns:repeat(3,1fr)}.page-main-title{font-size:1.6rem;letter-spacing:0}.tech-table{display:block;max-width:100%;overflow-x:auto}.ab-modal-overlay{padding:10px;align-items:flex-start;overflow-y:auto}.ab-modal{margin-top:8vh}.ab-modal input,.ab-modal select,.ab-modal textarea,.ab-auth-modal input,.ab-auth-modal select,.ab-auth-modal textarea{font-size:16px!important}}html,body,#root{height:100%;margin:0;padding:0;box-sizing:border-box;font-size:13px;overflow:hidden;-webkit-font-smoothing:antialiased}.ab-terreno-fab{position:fixed;left:var(--ab-terreno-fab-left, 96px);top:var(--ab-terreno-fab-top, 124px);z-index:900;display:flex;gap:6px}.ab-terreno-overlay{position:fixed;inset:0;z-index:1000;background:#00000073;display:grid;place-items:center;padding:16px}.ab-terreno-panel{width:min(1180px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:var(--background, #fff);border:1px solid var(--border, #ddd);border-radius:8px}.ab-terreno-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border, #ddd)}.ab-terreno-body{flex:1 1 auto;overflow:auto;padding:14px}.ab-terreno-acciones{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ab-terreno-estado{font-size:12px;line-height:1.35;max-width:46ch;color:var(--muted-foreground, #666)}.ab-terreno-ok{color:var(--foreground, #111);font-weight:600}.ab-terreno-acciones .btn:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=cad] .ab3d,:root[data-theme=cad] .tip-float{--background: #faf8f6;--foreground: #2e2e2e;--card: #ffffff;--card-foreground: #2e2e2e;--primary: #2e2e2e;--primary-foreground: #ffffff;--destructive: #d32f2f;--destructive-foreground: #ffffff;--border: #2e2e2e;--muted: #e8e6e1;--muted-foreground: #6f6c66;--accent: #e8e6e1;--accent-foreground: #2e2e2e;--font-primary: "JetBrains Mono", "Fira Code", "Courier New", ui-monospace, monospace;--font-heading: "JetBrains Mono", "Fira Code", "Courier New", ui-monospace, monospace;--canvas: #ffffff;--radius: 0px;--radius-sm: 0px;--radius-md: 0px;--shadow-xs: none;--shadow-sm: none;--shadow-md: none}.ab3d,.tip-float,:root[data-theme=washi] .ab3d,:root[data-theme=washi] .tip-float{--background: #f6efdd;--foreground: #34302a;--card: #fffcf3;--card-foreground: #34302a;--primary: #34302a;--primary-foreground: #fffcf3;--destructive: #c24a33;--destructive-foreground: #ffffff;--border: #dccfb3;--muted: #ebdec2;--muted-foreground: #8a7c5e;--accent: #efe4c9;--accent-foreground: #34302a;--font-primary: "Inter", system-ui, sans-serif;--font-heading: "Lora", Georgia, serif;--canvas: #fffcf3;--radius: 6px;--radius-sm: 4px;--radius-md: 5px;--shadow-xs: 0 1px 2px rgba(44, 44, 44, .05);--shadow-sm: 0 2px 6px rgba(44, 44, 44, .06), 0 1px 2px rgba(44, 44, 44, .04);--shadow-md: 0 4px 12px rgba(44, 44, 44, .06)}:root[data-theme=matrix] .ab3d,:root[data-theme=matrix] .tip-float{--background: #1e1e1e;--foreground: #d4d4d4;--card: #252526;--card-foreground: #d4d4d4;--primary: #178c7c;--primary-foreground: #ffffff;--destructive: #f44747;--destructive-foreground: #ffffff;--border: #333333;--muted: #2d2d30;--muted-foreground: #858585;--accent: #dcdcaa;--accent-foreground: #1e1e1e;--font-primary: "Fira Code", "JetBrains Mono", ui-monospace, monospace;--font-heading: "Fira Code", "JetBrains Mono", ui-monospace, monospace;--canvas: #ffffff;--radius: 4px;--radius-sm: 2px;--radius-md: 3px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .32), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3)}:root[data-theme=white] .ab3d,:root[data-theme=white] .tip-float{--background: #f7f7f7;--foreground: #232323;--card: #ffffff;--card-foreground: #232323;--primary: #2e2e2e;--primary-foreground: #fafafa;--destructive: #dc2626;--destructive-foreground: #ffffff;--border: #e4e4e4;--muted: #f4f4f4;--muted-foreground: #737373;--accent: #f4f4f4;--accent-foreground: #2e2e2e;--font-primary: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Inter", system-ui, -apple-system, sans-serif;--canvas: #ffffff;--radius: 8px;--radius-sm: 6px;--radius-md: 7px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06)}.ab3d,.tip-float{--popover: var(--card);--popover-foreground: var(--card-foreground);--secondary: var(--muted);--secondary-foreground: var(--foreground);--input: var(--border);--ring: color-mix(in srgb, var(--primary) 45%, var(--border));--toolbar: var(--muted);--brand-accent: #dc2626}:where(.ab3d,.ab3d *){box-sizing:border-box;margin:0;padding:0}.ab3d{font-family:var(--font-primary),ui-sans-serif,system-ui,"Segoe UI",-apple-system,sans-serif;font-size:13px;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased}.app.ab3d{display:flex;flex-direction:column;width:100%;height:100%;background:var(--background);overflow:hidden}.ab3d .workspace{flex:1;display:flex;min-height:0}.ab3d .left-col{display:flex;flex-direction:column;min-width:0;min-height:0}.ab3d .work-right{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.ab3d .panes{flex:1;display:flex;min-width:0;min-height:0}.ab3d .pane{position:relative;min-width:0;min-height:0;background:var(--canvas);overflow:hidden}.ab3d .pane-2d{flex:1 1 0}.ab3d .pane-3d{flex:1 1 0;background:var(--muted)}.ab3d .splitter{flex:0 0 6px;cursor:col-resize;background:var(--border);position:relative;touch-action:none;user-select:none;transition:background .12s ease}.ab3d .splitter:after{content:"";position:absolute;inset:0 -3px}.ab3d .splitter:hover,.ab3d .splitter.dragging{background:var(--primary)}.ab3d .placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted-foreground)}.ab3d .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease;user-select:none}.ab3d .btn:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.ab3d .btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.ab3d .btn:disabled{opacity:.5;cursor:not-allowed}.ab3d .btn.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ab3d .btn.active:hover:not(:disabled){background:var(--primary);color:var(--primary-foreground);opacity:.9}.ab3d .btn-ghost{border-color:transparent;background:transparent}.ab3d .btn-icon{height:40px;width:40px;padding:0;color:var(--muted-foreground)}.ab3d .btn-icon.active{color:var(--primary-foreground)}.ab3d .btn-icon svg{flex:none}.ab3d .btn.danger{color:var(--destructive);border-color:color-mix(in srgb,var(--destructive) 40%,transparent)}.ab3d .btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--destructive) 10%,transparent);color:var(--destructive)}.ab3d input[type=text],.ab3d input[type=number],.ab3d select{height:30px;padding:0 8px;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);font-size:13px;font-family:inherit}.ab3d select{cursor:pointer;appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.ab3d input:focus-visible,.ab3d select:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 35%,transparent)}.ab3d input::placeholder{color:var(--muted-foreground)}.ab3d input[type=range]{appearance:none;height:4px;border-radius:999px;background:var(--secondary);cursor:pointer}.ab3d input[type=range]::-webkit-slider-thumb{appearance:none;height:15px;width:15px;border-radius:999px;background:var(--background);border:2px solid var(--primary);cursor:pointer;box-shadow:var(--shadow-xs)}.ab3d input[type=range]::-moz-range-thumb{height:15px;width:15px;border-radius:999px;background:var(--background);border:2px solid var(--primary);cursor:pointer}.ab3d .field-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ab3d .field-row label{flex:1;color:var(--muted-foreground)}.ab3d .field-row input[type=number],.ab3d .field-row input[type=text]{width:78px}.ab3d .tipwrap{display:inline-flex}.tip-float{position:fixed;z-index:100;box-sizing:border-box;padding:4px 8px;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground);font-family:var(--font-primary),ui-sans-serif,system-ui,"Segoe UI",-apple-system,sans-serif;font-size:12px;font-weight:500;width:max-content;max-width:min(300px,calc(100vw - 16px));white-space:normal;text-align:center;pointer-events:none;box-shadow:var(--shadow-md);-webkit-font-smoothing:antialiased}.ab3d .pane-tabs{display:none}.ab3d .bar-scroll{display:contents}.ab3d .pane-tab{flex:1 1 0;height:40px;border:none;border-bottom:2px solid transparent;background:var(--toolbar);color:var(--muted-foreground);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ab3d .pane-tab.active{color:var(--foreground);border-bottom-color:var(--primary);background:var(--background)}@media(pointer:coarse){.ab3d .btn{min-height:38px}.ab3d .btn-icon{min-width:38px;min-height:38px}.ab3d .left-toolbar .btn-icon{min-width:42px;min-height:42px}.ab3d .pane-3d canvas{touch-action:none}}@media(max-width:900px){.ab3d .bottom-bar{height:auto;min-height:48px;flex-wrap:wrap;justify-content:flex-start;overflow:visible;padding:6px 8px;row-gap:6px}.ab3d .bar-brand{display:none}.ab3d .pane-tabs{display:flex}.ab3d .splitter{display:none!important}.ab3d .pane-2d,.ab3d .pane-3d{flex:1 1 100%!important;width:100%!important}.ab3d .panes--pane-2d .pane-3d,.ab3d .panes--pane-3d .pane-2d{display:none}.ab3d .props-panel{width:min(300px,calc(100vw - 20px));max-height:55%}.ab3d .side-panel:not(.side-panel--collapsed){flex-basis:176px}.ab3d .side-panel-cols{padding:0 12px 10px}}@media(max-width:640px){.ab3d .start-screen{gap:16px;padding:16px}.ab3d .start-brand{font-size:22px}.ab3d .start-brand svg{width:40px;height:40px}.ab3d .start-card{padding:20px 16px 16px}.ab3d .start-suggest,.ab3d .start-footer{background:none;background:color-mix(in srgb,var(--background) 62%,transparent)}.ab3d .start-nota-local{display:block;margin:-12px 0 16px;font-size:12.5px;line-height:1.4;color:var(--muted-foreground)}.ab3d .start-actions-row{flex-direction:column;gap:6px}.ab3d .start-actions{flex-direction:column;align-items:stretch}.ab3d .start-actions .btn{width:100%;justify-content:center}.ab3d .start-actions--secondary{flex-direction:row;align-items:stretch;justify-content:space-between;gap:8px}.ab3d .start-actions--secondary .tipwrap{flex:1 1 0;min-width:0}.ab3d .start-actions--secondary .btn{width:100%;min-width:0;gap:6px;padding:0 6px}.ab3d .start-badges{gap:5px}.ab3d .start-badges>.start-badge,.ab3d .start-badges>.tipwrap{flex:1 1 auto;min-width:0}.ab3d .start-badges .tipwrap>.start-badge{width:100%}.ab3d .start-badge{display:flex;align-items:center;justify-content:center;padding:5px 8px;text-align:center}.ab3d .grid-hud-corner{width:14px;height:14px}.ab3d .grid-hud-corner--tl,.ab3d .grid-hud-corner--tr{top:10px}.ab3d .grid-hud-corner--bl,.ab3d .grid-hud-corner--br{bottom:10px}.ab3d .grid-hud-corner--tl,.ab3d .grid-hud-corner--bl{left:10px}.ab3d .grid-hud-corner--tr,.ab3d .grid-hud-corner--br{right:10px}.ab3d .grid-hud-item{font-size:9px;letter-spacing:.1em;gap:5px}.ab3d .grid-hud-item--tl,.ab3d .grid-hud-item--bl{left:30px}.ab3d .grid-hud-item--tr,.ab3d .grid-hud-item--br{right:30px}.ab3d .grid-hud-item--tl,.ab3d .grid-hud-item--tr{top:14px}.ab3d .grid-hud-item--bl,.ab3d .grid-hud-item--br{bottom:14px}.ab3d .bar-field--compact .field-row label{margin-right:3px}.ab3d .bar-field--compact .field-row input[type=text]{width:44px}.ab3d .left-toolbar--mobile{position:absolute;left:8px;bottom:60px;z-index:11;flex:0 0 auto;width:auto;height:auto;flex-direction:row;padding:0;gap:6px;border:none;background:none;overflow:visible}.ab3d .left-toolbar--mobile .lt-flyout{position:fixed;inset:auto auto 8px 8px;width:210px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.ab3d .left-toolbar--mobile .lt-menu-btn{box-shadow:var(--shadow-md)}.ab3d .lt-menu{position:relative}.ab3d .lt-menu-btn{width:44px;height:44px;font-weight:700;font-size:13px;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius-sm);cursor:pointer}.ab3d .lt-menu-btn.active{border-color:var(--primary);color:var(--primary)}.ab3d .lt-menu-btn.open{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ab3d .lt-flyout{position:absolute;left:calc(100% + 6px);top:0;z-index:60;width:210px;max-height:72vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.ab3d .lt-flyout-item{display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:42px;border:none;background:none;color:inherit;font:inherit;font-size:13px;text-align:left;border-radius:var(--radius-sm);cursor:pointer}.ab3d .lt-flyout-item:hover,.ab3d .lt-flyout-item.active{background:var(--muted)}.ab3d .lt-flyout-item.active{color:var(--primary)}.ab3d .lt-flyout-item.axis-red svg{color:#dc2626}.ab3d .props-fab{position:absolute;top:10px;right:10px;z-index:9;display:flex;align-items:center;gap:6px;padding:8px 12px;min-height:40px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-md);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ab3d .props-fab.open{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ab3d .props-panel--drawer{position:absolute;inset:8px;width:auto;max-height:none;z-index:20}.ab3d .side-panel.side-panel--mobile{flex:0 0 auto;flex-basis:auto;flex-direction:column;gap:6px;max-height:min(34vh,280px);overflow:hidden}.ab3d .side-panel.side-panel--mobile-collapsed{flex:0 0 auto;flex-basis:auto;height:auto;max-height:none;padding-bottom:6px}.ab3d .side-mobile-toggle{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;width:100%;min-height:26px;padding:0;border:none;background:var(--muted);color:var(--muted-foreground);font-size:12px;line-height:1;cursor:pointer}.ab3d .side-mobile-toggle:hover{color:var(--foreground)}.ab3d .side-pills{display:flex;gap:6px;flex:0 0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.ab3d .side-pill{flex:0 0 auto;padding:6px 12px;min-height:34px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted-foreground);font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.ab3d .side-pill.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ab3d .side-panel--mobile .side-section{flex:1 1 auto;min-width:0;overflow-y:auto}.ab3d .settings-flyout{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:230px;max-height:72vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.ab3d .settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 6px;font-size:13px;border-bottom:1px solid var(--border)}.ab3d .settings-item{justify-content:flex-start;width:100%}.ab3d .settings-flyout .bar-dropdown,.ab3d .settings-flyout .pdf-menu{width:100%}.ab3d .settings-flyout .bar-dropdown>.btn,.ab3d .settings-flyout .pdf-menu>.btn,.ab3d .settings-flyout .tipwrap{width:100%}.ab3d .settings-flyout .tipwrap .btn{width:100%;justify-content:flex-start}.ab3d .bottom-bar--mobile{flex-wrap:nowrap;align-items:center}.ab3d .bar-scroll{display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:6px 4px;overflow-x:auto;overflow-y:visible}.ab3d .bar-scroll,.ab3d .side-pills{scrollbar-width:none}.ab3d .bar-scroll::-webkit-scrollbar,.ab3d .side-pills::-webkit-scrollbar{display:none}.ab3d .bar-group-right{flex:0 0 auto}.ab3d .work-right{position:relative}.ab3d .work-right>.pane-tabs{position:absolute;top:8px;left:8px;z-index:11;display:flex;width:auto;border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:var(--shadow-md);overflow:hidden}.ab3d .work-right>.pane-tabs .pane-tab{padding:7px 13px;min-height:34px;border:none;background:none;color:var(--muted-foreground);font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.ab3d .work-right>.pane-tabs .pane-tab.active{background:var(--primary);color:var(--primary-foreground)}.ab3d .mobile-tool-row{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:0;background:none;border:none;overflow:visible}.ab3d .mtr-project{flex:0 0 auto;min-width:0;max-width:40vw}.ab3d .mtr-project-btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab3d .mtr-undo{display:flex;gap:4px;flex:0 0 auto}.ab3d .view3d-toolbar{flex-wrap:nowrap;max-width:calc(100% - 16px);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ab3d .view3d-toolbar::-webkit-scrollbar{display:none}.ab3d .view3d-toolbar>*{flex:0 0 auto}.ab3d .floating-tools--mobile{position:absolute;inset:auto auto 8px 8px;z-index:11;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:5px;padding:5px;width:auto;max-width:calc(100% - 16px);border:1px solid var(--border);border-radius:10px;background:var(--card);box-shadow:var(--shadow-md);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ab3d .floating-tools--mobile::-webkit-scrollbar{display:none}.ab3d .floating-tools--mobile .float-btn{flex:0 0 auto;box-shadow:none}.ab3d .floating-tools--mobile .ft-sep{flex:0 0 auto;width:1px;align-self:stretch;margin:2px 1px;background:var(--border)}.ab3d .sheets-props-mobile .props-fab,.ab3d .sheets-props-mobile .props-panel--drawer{pointer-events:auto}.ab3d .sheets-props-mobile .props-fab{top:auto;bottom:12px;right:12px}}
