.theme-switch[data-v-197c0a82]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--gray-300);border-radius:var(--radius-md, 8px);background:var(--surface);color:var(--gray-700);cursor:pointer}.theme-switch[data-v-197c0a82]:hover{background:var(--gray-100)}.account-page{width:min(960px,calc(100% - 2rem));margin:0 auto}.account-page h1{margin:0 0 var(--space-3)}.account-lead,.account-meta{color:var(--gray-700);margin:0 0 var(--space-4)}.account-note{margin:0 0 var(--space-4);color:var(--gray-800)}.account-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);margin-bottom:var(--space-5);background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg)}.account-card label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium)}.account-actions,.projects-head,.projects-tools{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end}.projects-head{justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.projects-tools{margin-bottom:var(--space-4)}.projects-tools label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);min-width:180px}.account-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.account-danger h2{margin:0;font-size:var(--text-lg)}.projects-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:var(--text-sm)}.projects-table th,.projects-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--gray-200);text-align:left;vertical-align:middle}.projects-table th{color:var(--gray-600);font-weight:var(--font-medium)}.projects-row-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;list-style:none;font-size:var(--text-sm)}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary img{width:24px;height:24px;border-radius:50%;object-fit:cover}.account-menu-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;min-width:220px;padding:var(--space-2);background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.account-menu-panel p{margin:0;padding:var(--space-2);color:var(--gray-600);font-size:var(--text-xs)}.account-menu-panel a,.account-menu-panel button{padding:var(--space-2);border:0;background:transparent;color:var(--gray-800);text-align:left;text-decoration:none;font:inherit;cursor:pointer}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--gray-100)}.workspace-state{margin:var(--space-6)}.project-panel .btn{margin-top:var(--space-2)}*{box-sizing:border-box}body{margin:0;padding:0;line-height:1.6}.app-root{font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--gray-900);min-height:100vh;display:flex;flex-direction:column;background:var(--gray-50);transition:all var(--transition-fast)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--space-4)}.nav-icon svg,.btn-icon,.section-icon,.alert-icon{display:inline-block;vertical-align:middle;margin-right:6px;margin-bottom:2px}.alert-icon{color:inherit;flex-shrink:0}.thickness-warning .alert-icon,.validation-warning .alert-icon{margin-right:8px;margin-top:2px}.d-flex{display:flex;align-items:flex-start}.skip-link{position:absolute;left:8px;top:-48px;z-index:1000;padding:8px 14px;background:#1e40af;color:#fff;border-radius:6px;text-decoration:none}.skip-link:focus{top:8px}#contenuto:focus{outline:none}.app-header{background:var(--surface);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky);transition:all var(--transition-fast)}.header-content{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);gap:var(--space-6)}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-logo{width:48px;height:48px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;background:#fff}.logo-image{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg)}.brand-text{display:flex;flex-direction:column}.brand-title{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0;line-height:var(--leading-tight);color:var(--ink)}.brand-subtitle{font-size:var(--text-sm);color:var(--gray-600);margin:0;line-height:var(--leading-tight)}.main-nav{display:flex;align-items:center;gap:var(--space-2)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--gray-700);text-decoration:none;font-weight:var(--font-medium);transition:all var(--transition-fast);position:relative}.nav-link:hover{background:var(--gray-100);color:var(--ink-primary-700)}.nav-link.router-link-active{background:var(--primary-100);color:var(--ink-primary-700);font-weight:var(--font-semibold)}.nav-link.router-link-active:after{content:"";position:absolute;bottom:-1px;left:var(--space-4);right:var(--space-4);height:2px;background:var(--primary-600);border-radius:1px}.nav-icon{display:flex;align-items:center;justify-content:center}.nav-icon svg{margin:0}.account-slot{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2)}.mobile-menu-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--surface);color:var(--gray-800);cursor:pointer}.mobile-menu-toggle span{width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform var(--transition-fast),opacity var(--transition-fast)}.mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-content{flex:1;padding:var(--space-8) 0}.main-content.is-tool{padding:var(--space-4) 0 var(--space-6)}.app-root.is-editor{height:100vh;overflow:hidden}.app-root.is-editor .brand-subtitle,.app-root.is-editor .nav-icon{display:none}.app-root.is-editor .header-content{height:48px}.app-root.is-editor .brand-title{font-size:var(--text-base)}.main-content.is-editor{display:flex;flex-direction:column;min-height:0;padding:0}.app-footer{background:var(--surface);border-top:1px solid var(--gray-200);margin-top:auto;transition:all var(--transition-fast)}.footer-content{padding:var(--space-6) 0;text-align:center}.footer-main{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-3)}.footer-legal-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}.footer-nav a,.footer-legal-nav a{color:var(--gray-700);font-size:var(--text-sm);text-decoration:none}.footer-nav a:hover,.footer-legal-nav a:hover{color:var(--ink-primary-700)}.footer-text{margin:0;color:var(--gray-700);font-size:var(--text-sm);font-weight:var(--font-semibold)}.footer-subtitle{margin:0;color:var(--gray-500);font-size:var(--text-xs);font-style:italic}@media (max-width: 1100px){.app-root:not(.is-editor) .brand-subtitle{display:none}}@media (max-width: 768px){.header-content{flex-direction:row;flex-wrap:wrap;height:auto;min-height:64px;padding:var(--space-2) 0;gap:var(--space-2)}.brand{order:1;flex:1 1 0;min-width:0}.brand-logo{width:40px;height:40px}.brand-text{min-width:0}.brand-title{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-nav{display:none;flex-direction:column;align-items:stretch;order:3;flex-basis:100%;width:100%;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.main-nav.is-open{display:flex}.account-slot{order:2;flex:0 0 auto;margin-left:0}.account-slot .account-menu summary span{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-toggle{display:inline-flex}.nav-link{justify-content:flex-start;width:100%}.nav-link.router-link-active:after{left:var(--space-3);right:auto;width:32px}.app-header .container{padding:0 var(--space-4)}.footer-content{padding:var(--space-4) 0}.footer-nav{display:none}.footer-text{font-size:var(--text-xs)}.footer-legal-nav{gap:var(--space-4);margin-top:var(--space-3)}.footer-subtitle{display:none}.app-root.is-editor .header-content{min-height:48px;padding:var(--space-2) 0}.app-root.is-editor .brand-text{display:none}.app-root.is-editor .main-nav{order:3;flex-basis:100%;width:100%}.app-root.is-editor .nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media (max-width: 480px){.brand-title{max-width:36vw;font-size:var(--text-base)}.brand-logo{width:36px;height:36px}.account-slot .account-menu summary span{display:none}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.nav-icon{font-size:var(--text-base)}}.work-home[data-v-c070ad62]{width:min(1100px,calc(100% - 32px));margin:0 auto;display:flex;flex-direction:column;gap:16px}.work-hero[data-v-c070ad62],.work-grid article[data-v-c070ad62],.work-reference[data-v-c070ad62]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px}.work-hero[data-v-c070ad62]{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.work-hero h1[data-v-c070ad62],.work-grid h2[data-v-c070ad62]{margin:0;color:var(--ink)}.work-hero p[data-v-c070ad62],.work-grid p[data-v-c070ad62]{margin:8px 0 0;color:var(--gray-600)}.work-actions[data-v-c070ad62],.reference-links[data-v-c070ad62]{display:flex;flex-wrap:wrap;gap:8px}.work-grid[data-v-c070ad62]{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:16px}.work-grid a[data-v-c070ad62],.reference-links a[data-v-c070ad62],.reference-copy a[data-v-c070ad62]{color:var(--ink-primary-800);font-weight:600;text-decoration:none}.work-grid ul[data-v-c070ad62]{list-style:none;margin:12px 0 0;padding:0}.work-grid li[data-v-c070ad62]{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.work-reference summary[data-v-c070ad62]{cursor:pointer;font-weight:700}.reference-links[data-v-c070ad62]{margin-top:12px}.reference-copy[data-v-c070ad62]{margin-top:16px;color:var(--gray-700)}.reference-copy h2[data-v-c070ad62]{margin:0 0 8px;font-size:1.1rem}@media (max-width: 900px){.work-hero[data-v-c070ad62],.work-grid[data-v-c070ad62]{display:flex;flex-direction:column;align-items:stretch}}.preview-section[data-v-996a67b9]{background:var(--steel-50, #f3f5f7);border:1px solid var(--steel-200, #d3dae3);border-radius:12px;padding:14px;margin:0;width:100%;box-sizing:border-box}.preview-header[data-v-996a67b9]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.preview-header h2[data-v-996a67b9]{margin:0}.viewer3d-placeholder[data-v-996a67b9]{display:flex;align-items:center;justify-content:center;height:440px;padding:16px;border:1px solid var(--gray-200);border-radius:8px;background:var(--surface, #ffffff);color:var(--gray-600);font-size:14px;text-align:center}@media (max-width: 640px){.viewer3d-placeholder[data-v-996a67b9]{height:320px}}.preview-info[data-v-996a67b9]{margin-bottom:15px;background:var(--info-bg, #f0f7ff);border:1px dashed var(--info-border, #b8daff);border-radius:8px;padding:10px;text-align:center}.preview-params[data-v-996a67b9]{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.preview-params p[data-v-996a67b9]{margin:0;padding:5px 10px;background:var(--surface, #fff);border-radius:4px;font-size:.9rem}.preview-warnings[data-v-996a67b9]{margin-bottom:10px}.preview-warnings p[data-v-996a67b9]{margin:0 0 6px;padding:8px 10px;border-radius:6px;background:var(--warning-50, #fff7ed);color:var(--warning-800, #9a3412);border:1px solid var(--warning-200, #fed7aa);font-size:13px}.canvas-wrapper[data-v-996a67b9]{position:relative;overflow:hidden;border:1px solid var(--gray-200);border-radius:8px;background:var(--surface, #ffffff);width:100%;height:440px;cursor:grab;touch-action:pan-x pan-y}@media (max-width: 640px){.canvas-wrapper[data-v-996a67b9]{height:320px}}.canvas-wrapper[data-v-996a67b9]:active{cursor:grabbing}canvas[data-v-996a67b9]{display:block;background:var(--surface);touch-action:pan-x pan-y}.canvas-empty[data-v-996a67b9]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--gray-600);font-size:14px;text-align:center;padding:16px;pointer-events:none}.preview-legend[data-v-996a67b9]{display:flex;justify-content:center;gap:18px;margin-top:10px;font-size:12px;color:var(--gray-700)}.legend-item[data-v-996a67b9]{display:inline-flex;align-items:center;gap:6px}.preview-legend label.legend-item[data-v-996a67b9]{flex-direction:row;gap:6px;font-size:inherit;font-weight:inherit;color:inherit;cursor:pointer}.preview-legend .legend-item input[type=checkbox][data-v-996a67b9]{width:14px;height:14px;min-height:0;margin:0;padding:0;accent-color:var(--primary-600);cursor:pointer}.swatch[data-v-996a67b9]{width:12px;height:12px;border-radius:3px;display:inline-block}.swatch-sheet[data-v-996a67b9]{background:var(--canvas-sheet-fill, rgba(28, 36, 48, .16));border:1px solid var(--canvas-geometry, #1c2430)}.swatch-start[data-v-996a67b9]{background:var(--canvas-select, #1d4ed8);border-radius:50%}.swatch-bend[data-v-996a67b9]{background:var(--canvas-bend, #15803d);border-radius:50%}.zoom-value[data-v-996a67b9]{font-size:12px;color:var(--gray-600);min-width:42px;text-align:left}.zoom-controls[data-v-996a67b9]{text-align:center;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px}.modern-segments-panel[data-v-29b06786]{margin-bottom:20px}.panel-title[data-v-29b06786]{font-size:18px;font-weight:600;margin:0 0 15px;color:var(--ink)}.segments-table[data-v-29b06786]{width:100%;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:15px;box-shadow:0 1px 3px #0000000d}.segment-input[data-v-29b06786]{min-width:0;box-sizing:border-box}.segment-input.invalid[data-v-29b06786]{border-color:var(--error-600);background-color:var(--error-50)}.segment-message[data-v-29b06786]{padding:6px 10px;margin:-6px 0 6px;font-size:12px;border-radius:4px}.segment-message.validation-warning[data-v-29b06786]{background-color:var(--warning-50);color:var(--warning-800);border:1px solid var(--warning-200)}.segment-message.segment-message-error[data-v-29b06786]{background-color:var(--error-50);color:var(--error-800);border:1px solid var(--error-200)}.segments-empty[data-v-29b06786]{margin-top:10px;font-size:13px;color:var(--gray-600)}.btn-icon[data-v-29b06786]{background-color:transparent;color:var(--error-600)}.btn-icon[data-v-29b06786]:hover{background-color:var(--error-100)}.segments-actions[data-v-29b06786]{margin-top:15px}.btn-primary[data-v-29b06786]{color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-primary[data-v-29b06786]:hover{background-color:var(--ink-primary-700)}.calc-page{width:min(var(--tool-width),calc(100% - 32px));margin:0 auto;display:flex;flex-direction:column;gap:16px}.calc-top,.calc-panel,.project-panel,.seo-calculator-section{background:var(--surface);border:1px solid var(--steel-200);border-radius:var(--radius-md)}.calc-top,.calc-panel,.project-panel,.seo-calculator-section{padding:16px}.calc-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.calc-top h1,.project-panel h2,.seo-calculator-section h2,.section-title{margin:0;color:var(--ink);letter-spacing:-.02em}.calc-top h1{font-size:1.5rem;line-height:1.2}.calc-top p,.section-note{margin:4px 0 0;color:var(--gray-600);font-size:.9rem}.export-actions,.mode-row,.project-actions,.share-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.mode-row{justify-content:space-between;margin-bottom:16px}.guide-link{color:var(--ink-primary-700);font-size:.875rem;font-weight:600;text-decoration:none}.guide-link:hover{text-decoration:underline}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calc-page label{display:flex;flex-direction:column;gap:6px;color:var(--gray-700);font-size:.82rem;font-weight:600}.calc-page input,.calc-page select{min-height:40px;padding:8px 10px;border:1px solid var(--steel-200);border-radius:8px;background:var(--surface);color:var(--ink)}.arc-lengths{margin:8px 0 0;padding-left:18px}.profile-workspace{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:16px;margin-top:16px;align-items:start}.result-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:16px;padding:16px 18px;background:var(--steel-50);border:1px solid var(--steel-200);border-left:4px solid var(--primary-700);border-radius:10px}.result-card p,.explain,.share-row{margin:0;color:var(--gray-600)}.result-card strong,.estimate-card strong{display:block;margin-top:2px;color:var(--ink);font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}.result-card strong.result-invalid{color:var(--error-600)}.estimate-card{margin-top:12px;padding:14px 16px;background:var(--gray-50, #f6f5f2);border:1px dashed var(--gray-400, #8a8478);border-radius:10px}.estimate-card p{margin:0;color:var(--gray-600)}.estimate-card strong{font-size:1.25rem;margin:4px 0}.explain{margin-top:12px;padding-top:8px}.explain summary{cursor:pointer;color:var(--gray-800);font-weight:600}.share-row{margin-top:12px}.share-row code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;background:var(--steel-50);border-radius:8px}.project-panel{display:flex;flex-direction:column;gap:12px}.project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.project-list li,.project-main{display:flex;justify-content:space-between;gap:8px;align-items:center}.project-main{flex:1;min-width:0}.project-main button{overflow:hidden;text-overflow:ellipsis}.project-empty{margin:0;color:var(--gray-500);font-size:.875rem}.seo-calculator-section{color:var(--gray-700)}.seo-content-blocks{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.seo-content-blocks h3{margin:0 0 6px;color:var(--ink);font-size:1rem}.seo-content-blocks p{margin:0}.seo-calculator-section summary{cursor:pointer;font-weight:700}.seo-calculator-section a{color:var(--ink-primary-700);font-weight:600;text-decoration:none}@media (max-width: 1100px){.calc-layout,.profile-workspace,.fields,.seo-content-blocks,.calc-top{grid-template-columns:1fr;display:grid}.calc-top,.mode-row,.result-card{display:flex;flex-direction:column;align-items:stretch}}@media (max-width: 720px){.calc-page{width:min(100% - 16px,var(--tool-width))}.result-card strong{font-size:1.7rem}}.my-tools[data-v-30cb5634]{grid-column:1 / -1;margin-top:4px}.my-tools summary[data-v-30cb5634]{cursor:pointer;font-weight:600}.my-tools-list[data-v-30cb5634]{list-style:none;margin:8px 0;padding:0}.my-tools-list li[data-v-30cb5634]{display:flex;justify-content:space-between;gap:8px;padding:4px 0}.my-tools .btn[data-v-30cb5634]{margin-top:8px}.link-button[data-v-30cb5634]{border:0;background:none;padding:0;color:var(--ink-primary-700);text-decoration:underline;cursor:pointer;font:inherit}.setup-row[data-v-68ec0ff1]{grid-column:1 / -1;display:grid;grid-template-columns:minmax(96px,.42fr) minmax(0,1fr);gap:8px 12px;align-items:end;width:100%}.setup-row .technical-field[data-v-68ec0ff1]{min-width:0}.setup-row input[data-v-68ec0ff1],.setup-row select[data-v-68ec0ff1]{width:100%;box-sizing:border-box}.my-tools[data-v-68ec0ff1]{grid-column:1 / -1;margin-top:8px}.my-tools summary[data-v-68ec0ff1]{cursor:pointer;font-weight:600}.my-tools-list[data-v-68ec0ff1]{list-style:none;margin:8px 0;padding:0}.my-tools-list li[data-v-68ec0ff1]{display:flex;justify-content:space-between;gap:8px;padding:4px 0}.link-button[data-v-68ec0ff1]{border:0;background:none;padding:0;color:var(--ink-primary-700);text-decoration:underline;cursor:pointer;font:inherit}.bend-table tbody tr.suspect[data-v-d20fe52f]{opacity:.72}.bend-cell.empty[data-v-d20fe52f]{border-color:var(--warning-700)}.bend-suspect[data-v-d20fe52f]{display:inline-block;margin-left:6px;padding:1px 5px;border:1px solid var(--warning-700);border-radius:999px;color:var(--warning-700);font-size:10px;font-weight:700}.bend-merge[data-v-d20fe52f]{border:0;background:transparent;color:var(--ink-primary-700);font-size:12px;font-weight:600;cursor:pointer}.bend-merge[data-v-d20fe52f]:hover{text-decoration:underline}.bend-totals[data-v-d20fe52f]{display:flex;flex-wrap:wrap;gap:8px 24px;margin:8px 0 0}.bend-totals dt[data-v-d20fe52f]{font-size:.75rem;color:var(--gray-600)}.bend-totals dd[data-v-d20fe52f]{margin:0;font-weight:600}.k-actions[data-v-4cb59d70]{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.k-sample[data-v-4cb59d70]{margin-top:8px}.k-sample summary[data-v-4cb59d70]{cursor:pointer;font-weight:600}.editor-page{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;height:100%;background:var(--panel-bg);color:var(--ink);outline:none}.editor-page[data-density=comfortable]{--control-height: 36px}.editor-toolbar,.editor-banner,.editor-status{display:flex;align-items:center;gap:8px;min-height:42px;padding:6px 10px;background:var(--surface);border-bottom:1px solid var(--line)}.editor-toolbar{justify-content:space-between}.editor-banner{justify-content:flex-start;background:var(--warning-50);color:var(--warning-800);font-size:13px}.editor-status{min-height:28px;border-bottom:0;border-top:1px solid var(--line);color:var(--gray-600);font-size:12px;gap:14px}.status-link{margin-left:auto;border:0;background:transparent;color:var(--gray-700);font:inherit;cursor:pointer}.doc-identity{flex:1 1 280px;min-width:0}.doc-name{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.doc-name strong,.doc-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-name strong{font-size:13px}.doc-name span{color:var(--gray-500);font-size:11px}.toolbar-group,.side-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.toolbar-actions{flex:0 1 auto;justify-content:flex-end}.toolbar-action{white-space:nowrap}.clean-pulse{animation:clean-pulse 1.8s ease-in-out infinite}@keyframes clean-pulse{0%,to{background:var(--surface);border-color:var(--steel-200);color:var(--gray-800);box-shadow:0 0 0 0 transparent}50%{background:var(--warning-100);border-color:var(--warning-600);color:var(--warning-900);box-shadow:0 0 0 3px #d9770638}}.editor-toolbar input[type=file]{display:none}.editor-workspace{flex:1;min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) var(--side-w, 380px)}.editor-rail{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--canvas-edge);border-right:1px solid var(--line)}.rail-gap{height:8px}.canvas-stage{position:relative;min-width:0;min-height:0;background:linear-gradient(to right,var(--canvas-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--canvas-grid) 1px,transparent 1px),var(--canvas-bg);background-size:20px 20px}.canvas-stage canvas{width:100%;height:100%;display:block;touch-action:none}.canvas-stage.tool-select canvas{cursor:default}.dimension-editor{position:absolute;z-index:4;width:92px;transform:translate(-50%,-50%);padding:2px 6px;border:1px solid var(--tech-dimension, #0e7490);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-family-mono);font-size:13px;text-align:center}.canvas-stage.tool-pan canvas{cursor:grab}.canvas-stage.tool-measure canvas,.canvas-stage.tool-stretch canvas,.canvas-stage.tool-bend canvas{cursor:crosshair}.canvas-legend{position:absolute;left:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:8px 12px;max-width:calc(100% - 20px);padding:6px 8px;background:var(--surface-glass);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--gray-700);font-size:11px}.swatch{display:inline-block;width:14px;height:3px;margin-right:5px;vertical-align:middle;background:var(--tech-geometry)}.swatch.hole{background:var(--tech-hole)}.swatch.bend-pos{background:var(--tech-bend)}.swatch.bend-neg{background:repeating-linear-gradient(90deg,var(--tech-bend) 0 5px,transparent 5px 8px)}.swatch.dimension{background:var(--tech-dimension)}.swatch.preview{background:var(--tech-preview)}.editor-side{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--surface);border-left:1px solid var(--line)}.side-resizer{position:absolute;inset:0 auto 0 0;z-index:3;width:6px;cursor:col-resize;touch-action:none}.side-resizer:hover,.side-resizer:focus-visible{background:var(--tech-select);opacity:.5;outline:none}.side-toggle{flex:none;align-self:flex-end;width:32px;height:28px;margin:4px 6px 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:inherit;font-size:16px;line-height:1;cursor:pointer}.side-toggle:hover{background:var(--panel-bg)}.editor-side.collapsed .side-toggle{align-self:center;margin:6px 0 0}.part-summary,.bend-setup,.bend-panel,.inspector-block{padding:10px 12px}.part-summary,.bend-setup,.bend-panel,.side-tabs{border-bottom:1px solid var(--line)}.sheet-fields,.bend-setup{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.sheet-fields{margin-top:10px}.bend-setup h3,.bend-setup .section-note,.bend-setup .estimate-note,.bend-setup .catalog-field{grid-column:1 / -1}.bend-setup h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.estimate-note{margin-top:8px;padding:8px;border:1px dashed var(--line);border-radius:8px;background:var(--panel-bg)}.estimate-note p{margin:0}.panel-heading,.inspector-block h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 8px}.panel-heading h2,.inspector-block h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}.summary-grid dt{color:var(--gray-500);font-size:11px}.summary-grid dd{margin:1px 0 0;font-size:13px;font-weight:600}.bend-table-wrap{margin:0;border-radius:var(--radius-sm)}.bend-table td,.bend-table th{padding:6px 8px;white-space:nowrap}.bend-table tbody tr{cursor:pointer}.bend-table tbody tr.selected{background:var(--primary-100);box-shadow:inset 2px 0 0 var(--tech-select)}.bend-cell{width:100%;min-height:28px;padding:0 4px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;cursor:pointer}input.bend-cell{width:56px}.bend-cell:hover,.bend-cell:focus{border-color:var(--line);background:var(--surface)}.bend-state{font-size:11px;font-weight:700}.bend-state.ok{color:var(--success-700)}.bend-state.warn{color:var(--warning-700)}.bend-remove{border:0;background:transparent;color:var(--error-700);font-size:12px;font-weight:600;cursor:pointer}.bend-remove:hover{text-decoration:underline}.side-tabs{display:grid;grid-template-columns:1fr 1fr}.side-tabs button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:34px;border:0;background:var(--panel-bg);color:var(--gray-600);font-size:12px;font-weight:700;cursor:pointer}.side-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}.tab-count{min-width:16px;padding:0 4px;background:var(--warning-100);color:var(--warning-800);border-radius:var(--radius-xs)}.side-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.inspector-block{display:flex;flex-direction:column;gap:8px}.section-note,.side-message{margin:0;color:var(--gray-600);font-size:12px;line-height:1.45}.proposal{justify-content:flex-start;white-space:normal;text-align:left}.finding-stack{display:flex;flex-direction:column;gap:8px;padding:10px 12px 16px}.finding-item p{margin:0}.finding-item strong{font-size:11px;text-transform:uppercase}.finding-code{margin-top:2px;color:var(--gray-500);font-size:11px}.finding-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.context-menu{position:absolute;z-index:5;min-width:180px;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.context-menu button{width:100%;min-height:30px;border:0;background:transparent;text-align:left;padding:0 8px;cursor:pointer}.context-menu button:hover{background:var(--panel-bg)}.export-warnings{margin:8px 0 0;padding-left:18px;color:var(--gray-700);font-size:13px}@media (max-width: 1100px){.editor-toolbar{align-items:stretch;flex-wrap:wrap}.doc-identity{flex-basis:100%}.toolbar-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;scrollbar-width:thin}.toolbar-actions .btn{flex:0 0 auto}.editor-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(320px,1fr) minmax(280px,42vh)}.editor-rail{flex-direction:row;border-right:0;border-bottom:1px solid var(--line)}.side-resizer{display:none}.editor-side{border-left:0;border-top:1px solid var(--line)}}.materials-page[data-v-e30fbbf9]{width:min(1100px,calc(100% - 32px));margin:0 auto;display:flex;flex-direction:column;gap:16px}.materials-page header[data-v-e30fbbf9],.table-container[data-v-e30fbbf9]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.materials-page header[data-v-e30fbbf9]{padding:16px}.materials-page h1[data-v-e30fbbf9]{margin:0}.materials-page p[data-v-e30fbbf9]{margin:8px 0 0;max-width:72ch;color:var(--gray-700)}.materials-page nav[data-v-e30fbbf9]{display:flex;gap:16px}.materials-page a[data-v-e30fbbf9]{color:var(--ink-primary-800);font-weight:600;text-decoration:none}.changelog-page[data-v-9f3d7ddb]{max-width:760px;margin:0 auto;padding:24px 16px 48px}.changelog-entry[data-v-9f3d7ddb]{margin-top:28px;padding-top:16px;border-top:1px solid var(--rule)}.changelog-meta[data-v-9f3d7ddb]{margin:4px 0 8px;color:var(--muted-ink);font-size:.9rem}.changelog-entry ul[data-v-9f3d7ddb]{padding-left:18px}.changelog-entry li[data-v-9f3d7ddb]{margin:6px 0}.changelog-kind[data-v-9f3d7ddb]{display:inline-block;min-width:78px;margin-right:6px;padding:1px 8px;border-radius:10px;background:var(--chip-bg);font-size:.75rem;font-weight:600;text-align:center}.changelog-kind[data-kind=corretto][data-v-9f3d7ddb]{background:var(--chip-fix)}.changelog-kind[data-kind=nuovo][data-v-9f3d7ddb]{background:var(--chip-new)}.changelog-kind[data-kind=sicurezza][data-v-9f3d7ddb]{background:var(--chip-sec)}nav[data-v-9f3d7ddb]{display:flex;gap:16px;margin-top:32px}.legal-page{max-width:760px;margin:0 auto;padding:24px 16px 48px}.legal-page h1{margin:0 0 8px}.legal-updated{margin:0 0 24px;color:var(--muted-ink);font-size:.9rem}.legal-page section{margin-top:28px;padding-top:16px;border-top:1px solid var(--rule)}.legal-page h2{margin:0 0 10px;font-size:1.15rem}.legal-page p,.legal-page li{color:var(--gray-800);line-height:1.55}.legal-page ul{padding-left:18px;margin:8px 0}.legal-page li{margin:6px 0}.legal-nav{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--success-800: #065f46;--success-900: #064e3b;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--error-800: #991b1b;--error-900: #7f1d1d;--tech-geometry: #1c2430;--tech-bend: #15803d;--tech-bend-soft: #dcfce7;--tech-select: #1d4ed8;--tech-dimension: #0e7490;--tech-hole: #0f4c5c;--tech-preview: #6d28d9;--tech-ghost: #94a3b8;--tech-warning: #b45309;--tech-error: #b91c1c;--tech-info: #1d4ed8;--tech-locked: #64748b;--tech-open: #c2410c;--canvas-bg: #e7ebf0;--panel-bg: #f4f6f8;--line: #d5dbe3;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-full: 999px;--control-height: 32px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--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);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--container-max-width: 1200px;--sidebar-width: 280px;--header-height: 64px;--ink: #1c2430;--steel-50: #f3f5f7;--steel-100: #e6eaef;--steel-200: #d3dae3;--tool-width: 1440px;--surface: #ffffff;--surface-glass: rgb(255 255 255 / .95);--canvas-edge: #e4e8ee;--canvas-grid: rgb(28 36 48 / .05);--canvas-sheet-fill: rgba(28, 36, 48, .16);--canvas-geometry: #1c2430;--canvas-select: #1d4ed8;--canvas-bend: #15803d;--info-bg: #f0f7ff;--info-border: #b8daff;--ink-primary-700: #1d4ed8;--ink-primary-800: #1e40af;--ink-primary-900: #1e3a8a;--ok-text: #166534;--ok-bg: #f0fdf4;--ok-border: #bbf7d0;--ok-dot: #16a34a;--warn-text: #9a3412;--warn-bg: #fff7ed;--warn-border: #fed7aa;--warn-dot: #ea580c;--bad-text: #991b1b;--bad-bg: #fef2f2;--bad-border: #fecaca;--bad-dot: #dc2626;--muted-ink: #5a6675;--rule: #c5ced9;--chip-bg: #e8edf3;--chip-fix: #fde9e4;--chip-new: #e1f3e6;--chip-sec: #fff1d6;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--primary-50: #0f1b33;--primary-100: #14264a;--primary-200: #1e3a6e;--primary-300: #2b55a0;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #2563eb;--primary-800: #1d4ed8;--primary-900: #93c5fd;--gray-50: #0d1117;--gray-100: #161b22;--gray-200: #262d38;--gray-300: #353e4c;--gray-400: #6b7788;--gray-500: #8b97a8;--gray-600: #aab4c3;--gray-700: #c3cbd6;--gray-800: #dbe0e8;--gray-900: #eef1f5;--success-50: #0c2a20;--success-100: #0f3a2a;--success-200: #14573d;--success-800: #86efac;--success-900: #bbf7d0;--warning-50: #2e2308;--warning-100: #3d2e0a;--warning-200: #5c4510;--warning-800: #fcd34d;--warning-900: #fde68a;--error-50: #2f1214;--error-100: #43181b;--error-200: #6b2226;--error-800: #fca5a5;--error-900: #fecaca;--tech-geometry: #e5e9f0;--tech-bend: #4ade80;--tech-bend-soft: #14532d;--tech-select: #60a5fa;--tech-dimension: #22d3ee;--tech-hole: #67e8f9;--tech-preview: #a78bfa;--tech-ghost: #64748b;--tech-warning: #fbbf24;--tech-error: #f87171;--tech-info: #60a5fa;--tech-locked: #94a3b8;--tech-open: #fb923c;--canvas-bg: #0f141b;--panel-bg: #161b22;--line: #2a3340;--ink: #e5e9f0;--steel-50: #161b22;--steel-100: #1c232d;--steel-200: #2a3340;--surface: #161b22;--surface-glass: rgb(22 27 34 / .95);--canvas-edge: #11161d;--canvas-grid: rgb(229 233 240 / .05);--canvas-sheet-fill: rgba(229, 233, 240, .14);--canvas-geometry: #e5e9f0;--canvas-select: #60a5fa;--canvas-bend: #4ade80;--info-bg: #10203a;--info-border: #1e3a6e;--ink-primary-700: #93c5fd;--ink-primary-800: #93c5fd;--ink-primary-900: #bfdbfe;--ok-text: #86efac;--ok-bg: #0c2a20;--ok-border: #14573d;--ok-dot: #4ade80;--warn-text: #fdba74;--warn-bg: #2e1d0c;--warn-border: #6b3a12;--warn-dot: #fb923c;--bad-text: #fca5a5;--bad-bg: #2f1214;--bad-border: #6b2226;--bad-dot: #f87171;--muted-ink: #9aa7b8;--rule: #2a3340;--chip-bg: #232b36;--chip-fix: #3a1f1c;--chip-new: #14301f;--chip-sec: #3a2c10;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .55), 0 4px 6px -4px rgb(0 0 0 / .55);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6), 0 8px 10px -6px rgb(0 0 0 / .6)}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--primary-50: #0f1b33;--primary-100: #14264a;--primary-200: #1e3a6e;--primary-300: #2b55a0;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #2563eb;--primary-800: #1d4ed8;--primary-900: #93c5fd;--gray-50: #0d1117;--gray-100: #161b22;--gray-200: #262d38;--gray-300: #353e4c;--gray-400: #6b7788;--gray-500: #8b97a8;--gray-600: #aab4c3;--gray-700: #c3cbd6;--gray-800: #dbe0e8;--gray-900: #eef1f5;--success-50: #0c2a20;--success-100: #0f3a2a;--success-200: #14573d;--success-800: #86efac;--success-900: #bbf7d0;--warning-50: #2e2308;--warning-100: #3d2e0a;--warning-200: #5c4510;--warning-800: #fcd34d;--warning-900: #fde68a;--error-50: #2f1214;--error-100: #43181b;--error-200: #6b2226;--error-800: #fca5a5;--error-900: #fecaca;--tech-geometry: #e5e9f0;--tech-bend: #4ade80;--tech-bend-soft: #14532d;--tech-select: #60a5fa;--tech-dimension: #22d3ee;--tech-hole: #67e8f9;--tech-preview: #a78bfa;--tech-ghost: #64748b;--tech-warning: #fbbf24;--tech-error: #f87171;--tech-info: #60a5fa;--tech-locked: #94a3b8;--tech-open: #fb923c;--canvas-bg: #0f141b;--panel-bg: #161b22;--line: #2a3340;--ink: #e5e9f0;--steel-50: #161b22;--steel-100: #1c232d;--steel-200: #2a3340;--surface: #161b22;--surface-glass: rgb(22 27 34 / .95);--canvas-edge: #11161d;--canvas-grid: rgb(229 233 240 / .05);--canvas-sheet-fill: rgba(229, 233, 240, .14);--canvas-geometry: #e5e9f0;--canvas-select: #60a5fa;--canvas-bend: #4ade80;--info-bg: #10203a;--info-border: #1e3a6e;--ink-primary-700: #93c5fd;--ink-primary-800: #93c5fd;--ink-primary-900: #bfdbfe;--ok-text: #86efac;--ok-bg: #0c2a20;--ok-border: #14573d;--ok-dot: #4ade80;--warn-text: #fdba74;--warn-bg: #2e1d0c;--warn-border: #6b3a12;--warn-dot: #fb923c;--bad-text: #fca5a5;--bad-bg: #2f1214;--bad-border: #6b2226;--bad-dot: #f87171;--muted-ink: #9aa7b8;--rule: #2a3340;--chip-bg: #232b36;--chip-fix: #3a1f1c;--chip-new: #14301f;--chip-sec: #3a2c10;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .55), 0 4px 6px -4px rgb(0 0 0 / .55);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6), 0 8px 10px -6px rgb(0 0 0 / .6)}}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--primary-700);outline-offset:2px}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);padding:var(--space-6);margin-bottom:var(--space-6);transition:box-shadow var(--transition-fast)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--gray-100)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--gray-900);margin:0}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700);margin-bottom:var(--space-2)}.form-control{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family-sans);font-size:var(--text-base);color:var(--gray-900);background-color:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f633}.form-control:disabled{background-color:var(--gray-50);color:var(--gray-500);cursor:not-allowed}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem}.form-range{width:100%;height:6px;background-color:var(--gray-200);border-radius:var(--radius-full);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.form-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background-color:var(--primary-600);border-radius:50%;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-sm)}.form-range::-webkit-slider-thumb:hover{background-color:var(--ink-primary-700);transform:scale(1.1)}.form-range::-moz-range-thumb{width:20px;height:20px;background-color:var(--primary-600);border-radius:50%;cursor:pointer;border:none;transition:background-color var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-sm)}.form-range::-moz-range-thumb:hover{background-color:var(--ink-primary-700);transform:scale(1.1)}.table-container{width:100%;overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.table{width:100%;border-collapse:collapse;text-align:left}.table th{background-color:var(--gray-50);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-200)}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-100);color:var(--gray-900);font-size:var(--text-sm);vertical-align:middle}.table tr:last-child td{border-bottom:none}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);display:flex;align-items:flex-start}.alert p{margin:0}.mb-1{margin-bottom:var(--space-1)}.mb-0{margin-bottom:0}.mt-0{margin-top:0}.alert-icon{margin-right:var(--space-2);margin-top:2px;flex-shrink:0}.alert-info{background-color:var(--primary-50);color:var(--ink-primary-900);border:1px solid var(--primary-200)}.alert-info .alert-icon{color:var(--primary-600)}.alert-warning{background-color:var(--warning-50);color:var(--warning-900);border:1px solid var(--warning-200)}.alert-warning .alert-icon{color:var(--warning-600)}.alert-error{background-color:var(--error-50);color:var(--error-900);border:1px solid var(--error-200)}.alert-error .alert-icon{color:var(--error-600)}.alert-success{background-color:var(--success-50);color:var(--success-900);border:1px solid var(--success-200)}.alert-success .alert-icon{color:var(--success-600)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1.5;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-600);color:#fff;border-color:var(--primary-600)}.btn-primary:hover:not(:disabled){background-color:var(--ink-primary-700);border-color:var(--ink-primary-700)}.btn-secondary{background-color:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-200);border-color:var(--gray-400)}.btn-success{background-color:var(--success-600);color:#fff;border-color:var(--success-600)}.btn-success:hover:not(:disabled){background-color:var(--success-700)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-lg)}.card{background-color:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--gray-200)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-6);border-top:1px solid var(--gray-200);background-color:var(--gray-50);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.form-input{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--gray-900);background-color:var(--surface);background-image:none;border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm)}.badge-primary{background-color:var(--primary-100);color:var(--ink-primary-800)}.badge-success{background-color:var(--success-100);color:var(--success-800)}.badge-warning{background-color:var(--warning-100);color:var(--warning-800)}.badge-error{background-color:var(--error-100);color:var(--error-800)}.btn-ghost{background:var(--surface);color:var(--gray-800);border-color:var(--steel-200)}.btn-ghost:hover:not(:disabled){background:var(--steel-50);border-color:var(--gray-400)}.page-kicker{margin:0 0 var(--space-1);color:var(--gray-500);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--steel-100);border:1px solid var(--steel-200);border-radius:var(--radius-md)}.segmented button{border:0;background:transparent;color:var(--gray-700);border-radius:6px;min-height:36px;padding:0 12px;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer}.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.status-badge{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--steel-200);background:var(--surface);color:var(--gray-700);font-size:var(--text-sm);font-weight:var(--font-semibold)}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gray-400)}.status-badge.ok{color:var(--ok-text);background:var(--ok-bg);border-color:var(--ok-border)}.status-badge.ok:before{background:var(--ok-dot)}.status-badge.warn{color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-border)}.status-badge.warn:before{background:var(--warn-dot)}.status-badge.bad{color:var(--bad-text);background:var(--bad-bg);border-color:var(--bad-border)}.status-badge.bad:before{background:var(--bad-dot)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--gray-600)}.empty-state h2,.empty-state p{margin:0}.empty-state h2,.empty-state .empty-title{color:var(--ink);font-size:var(--text-xl)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:24px;background:#11182773}.modal-panel{width:min(440px,100%);background:var(--surface);border:1px solid var(--steel-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:20px}.modal-panel h2{margin:0 0 8px;font-size:var(--text-lg)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.tech-article{max-width:760px;margin:0 auto;padding:8px 24px 48px;color:var(--gray-800)}.tech-article h1{margin:0 0 12px;font-size:1.75rem;line-height:1.25;color:var(--ink)}.tech-article h2{margin:28px 0 8px;font-size:1.15rem}.tech-article p,.tech-article li{line-height:1.6}.tech-article .direct-answer{margin:0 0 8px;padding:12px 14px;background:var(--steel-50, #f4f6f8);border-left:3px solid var(--primary-700)}.tech-article table{width:100%;border-collapse:collapse;margin:12px 0}.tech-article td,.tech-article th{border-bottom:1px solid var(--gray-200);text-align:left;padding:8px}.tech-article nav{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:28px}.tech-num{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.property-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;min-height:28px;padding:4px 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}.property-row dt{color:var(--gray-600);font-weight:var(--font-medium)}.property-row dd{margin:0;color:var(--ink);font-weight:var(--font-semibold);text-align:right}.technical-field{display:flex;flex-direction:column;gap:4px;color:var(--gray-700);font-size:12px;font-weight:var(--font-semibold)}.technical-field input,.technical-field select{min-height:var(--control-height);padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-family-mono);font-size:13px}.technical-field input[readonly]{background:var(--panel-bg);color:var(--gray-700);border-style:dashed}.tool-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--gray-700);cursor:pointer}.tool-button:hover:not(:disabled){background:var(--surface);border-color:var(--line);color:var(--ink)}.tool-button[aria-pressed=true]{background:var(--primary-50);border-color:var(--primary-300);color:var(--ink-primary-800)}.tool-button:disabled{color:var(--gray-400);cursor:not-allowed}.finding-item{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.finding-item.error{border-left:3px solid var(--tech-error)}.finding-item.warning{border-left:3px solid var(--tech-warning)}.finding-item.info{border-left:3px solid var(--tech-info)}.editor-toast{position:absolute;right:16px;bottom:44px;z-index:var(--z-popover);max-width:360px;margin:0;padding:8px 12px;background:#111827;color:#fff;border:1px solid rgb(255 255 255 / .18);border-radius:var(--radius-sm);font-size:13px;box-shadow:var(--shadow-md)}
