:root{--bg:#f6f5f2;--surface:#fff;--surface-2:#efede8;--surface-3:#e6e3dc;--border:#e2dfd8;--border-strong:#cfcbc2;--text:#1b1d21;--text-2:#5b6069;--text-3:#8d929a;--accent:#4338ca;--accent-2:#3730a3;--accent-soft:#e7e5fd;--accent-text:#fff;--sun:#ffc93c;--sun-soft:#fff3c4;--ok:#15803d;--warn:#b45309;--warn-soft:#fdf1df;--danger:#b91c1c;--vp-top:#f3f1ec;--vp-bottom:#dcd8cf;--shadow-1:0 1px 2px #14120c0d;--shadow-2:0 1px 2px #14120c0a, 0 8px 24px #14120c12;--shadow-3:0 2px 6px #14120c0f, 0 22px 60px #14120c29;--r-1:8px;--r-2:12px;--r-3:18px;--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fredoka Variable", "Inter Variable", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141618;--surface:#1d2024;--surface-2:#262a2f;--surface-3:#2f343a;--border:#30353b;--border-strong:#42484f;--text:#eceae4;--text-2:#a1a7b0;--text-3:#747a82;--accent:#8b85ff;--accent-2:#a5a0ff;--accent-soft:#2a2860;--accent-text:#0f0e24;--sun:#ffd35c;--sun-soft:#3a2f10;--ok:#3cc77a;--warn:#f5a524;--warn-soft:#3a2a10;--danger:#f26d6d;--vp-top:#1c1f23;--vp-bottom:#0f1113;--shadow-2:0 1px 2px #0000004d, 0 8px 24px #00000059;--shadow-3:0 2px 6px #0006, 0 22px 60px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141618;--surface:#1d2024;--surface-2:#262a2f;--surface-3:#2f343a;--border:#30353b;--border-strong:#42484f;--text:#eceae4;--text-2:#a1a7b0;--text-3:#747a82;--accent:#8b85ff;--accent-2:#a5a0ff;--accent-soft:#2a2860;--accent-text:#0f0e24;--sun:#ffd35c;--sun-soft:#3a2f10;--ok:#3cc77a;--warn:#f5a524;--warn-soft:#3a2a10;--danger:#f26d6d;--vp-top:#1c1f23;--vp-bottom:#0f1113;--shadow-2:0 1px 2px #0000004d, 0 8px 24px #00000059;--shadow-3:0 2px 6px #0006, 0 22px 60px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body.app-body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;margin:0;font-size:15px;line-height:1.5;display:block}.app-body #app{min-height:100vh}.app-body a,.instr-app a{color:var(--accent);text-decoration:none}.app-body a:hover,.instr-app a:hover{text-decoration:underline}.app-body h1,.app-body h2,.app-body h3,.instr-app h1,.instr-app h2,.instr-app h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.15}.app-body p,.instr-app p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tnum{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-2)}.btn{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:550;transition:background .12s,border-color .12s,transform 60ms,box-shadow .12s;display:inline-flex;text-decoration:none!important}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn svg{flex:none;width:17px;height:17px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 1px 2px #4f46e540,0 4px 14px #4f46e538}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2)}.btn-lg{border-radius:13px;height:48px;padding:0 22px;font-size:16px}.btn-sm{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn-danger{color:var(--danger)}.icon-btn{width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;transition:background .12s,color .12s;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-2)}.icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.icon-btn svg{width:18px;height:18px}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);color:#f4f3ef;white-space:pre;pointer-events:none;z-index:100;box-shadow:var(--shadow-2);background:#1b1d21;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:500;line-height:1.3;animation:.12s .35s both tip-in;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tip-pos=top]:hover:after{top:auto;bottom:calc(100% + 8px)}[data-tip-pos=right]:hover:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}[data-tip-pos=left]:hover:after{top:50%;left:auto;right:calc(100% + 8px);transform:translateY(-50%)}@keyframes tip-in{0%{opacity:0}to{opacity:1}}kbd{background:var(--surface-2);border:1px solid var(--border);min-width:20px;font:600 11.5px/1.5 var(--font);text-align:center;color:var(--text);border-bottom-width:2px;border-radius:5px;padding:1px 6px;display:inline-block}.field{gap:5px;display:grid}.field>span{color:var(--text-2);font-size:12px;font-weight:550}.input,.select{border:1px solid var(--border);background:var(--surface);border-radius:9px;width:100%;height:34px;padding:0 10px;font-size:14px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.seg{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:7px;padding:4px 10px;font-size:13px;font-weight:550}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#14120c57;place-items:center;padding:16px;animation:.15s both fade;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--r-3);box-shadow:var(--shadow-3);border:1px solid var(--border);width:min(560px,100%);max-height:calc(100vh - 32px);animation:.18s cubic-bezier(.2,.9,.3,1.2) both pop;overflow:auto}.dialog-head{justify-content:space-between;align-items:center;padding:18px 20px 6px 22px;display:flex}.dialog-head h2{font-size:19px}.dialog-body{padding:8px 22px 22px}.dialog-foot{justify-content:flex-end;gap:8px;padding:0 22px 20px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.toasts{z-index:300;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#f4f3ef;box-shadow:var(--shadow-3);background:#1b1d21;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:500;animation:.2s cubic-bezier(.2,.9,.3,1.2) both toast-in;display:flex}.toast svg{width:16px;height:16px}.toast.warn svg{color:#f5a524}.toast.ok svg{color:#3cc77a}.toast.error svg{color:#f26d6d}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.editor{background:var(--bg);grid-template:"top top top"52px"left vp right"1fr/auto 1fr auto;display:grid;position:fixed;inset:0;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;grid-area:top;align-items:center;gap:6px;padding:0 10px 0 14px;display:flex}.topbar .divider{background:var(--border);width:1px;height:22px;margin:0 6px}.model-name{field-sizing:content;background:0 0;border:1px solid #0000;border-radius:8px;min-width:80px;max-width:280px;padding:5px 8px;font-size:15px;font-weight:650}.model-name:hover{border-color:var(--border)}.model-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.status{color:var(--text-2);white-space:nowrap;align-items:center;gap:7px;padding:0 8px;font-size:12.5px;display:inline-flex}.status i{background:var(--ok);border-radius:50%;width:7px;height:7px}.status i.shared{background:var(--accent)}.panel{background:var(--surface);z-index:5;flex-direction:column;min-height:0;display:flex}.panel-left{border-right:1px solid var(--border);grid-area:left;width:252px}.panel-right{border-left:1px solid var(--border);grid-area:right;width:272px;overflow:auto}.panel.collapsed{border:0;width:0;overflow:hidden}.panel-head{gap:10px;padding:12px 12px 8px;display:grid}.search{position:relative}.search svg{width:16px;height:16px;color:var(--text-3);position:absolute;top:9px;left:10px}.search input{padding-left:32px}.cat-tabs{flex-wrap:wrap;gap:4px;display:flex}.cat-tabs button{background:var(--surface-2);color:var(--text-2);cursor:pointer;border:0;border-radius:999px;padding:4px 9px;font-size:12.5px;font-weight:600}.cat-tabs button[aria-pressed=true]{background:var(--text);color:var(--surface)}.parts-scroll{flex:1;padding:4px 12px 16px;overflow:auto}.parts-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin:10px 2px 6px;font-size:11.5px;font-weight:650}.parts-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.part-tile{aspect-ratio:1;background:var(--surface-2);cursor:pointer;border:1.5px solid #0000;border-radius:11px;place-items:center;padding:4px;transition:background .12s,border-color .12s,transform .12s;display:grid;position:relative}.part-tile:hover{background:var(--surface-3)}.part-tile:hover img{transform:scale(1.06)}.part-tile[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.part-tile img{object-fit:contain;pointer-events:none;width:100%;height:100%;transition:transform .15s}.part-tile small{text-align:center;color:var(--text-2);pointer-events:none;font-size:10.5px;font-weight:650;position:absolute;bottom:3px;left:0;right:0}.viewport{background:linear-gradient(180deg, var(--vp-top) 0%, var(--vp-bottom) 100%);touch-action:none;grid-area:vp;position:relative;overflow:hidden}.viewport-canvas{outline:none;display:block;position:absolute;inset:0}.viewport.tool-bauen .viewport-canvas,.viewport.tool-pipette .viewport-canvas{cursor:crosshair}.viewport.tool-radieren .viewport-canvas{cursor:cell}.viewport.shake{animation:.25s shake}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.float-bar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);z-index:4;border-radius:14px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.tool-pill{top:14px;left:14px}.tool-pill .sep{background:var(--border);width:1px;height:20px;margin:0 4px}.view-pill{top:14px;right:14px}.color-bar{gap:10px;max-width:calc(100% - 300px);padding:7px 10px;bottom:14px;left:50%;transform:translate(-50%)}.swatches{grid-template-columns:repeat(13,22px);gap:5px;display:grid}.swatch{cursor:pointer;border:0;border-radius:50%;width:22px;height:22px;padding:0;transition:transform .12s;box-shadow:inset 0 0 0 1px #00000024,inset 0 -3px 5px #00000024}.swatch:hover{transform:scale(1.18)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text), inset 0 -3px 5px #00000024;transform:scale(1.08)}.color-current{gap:1px;min-width:74px;font-size:12px;line-height:1.25;display:grid}.color-current b{font-size:13px}.color-current span{color:var(--text-3)}.layer-slider{z-index:4;justify-items:center;gap:8px;padding:10px 6px;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.layer-slider input[type=range]{writing-mode:vertical-lr;width:24px;height:200px;accent-color:var(--accent);cursor:pointer;direction:rtl}.layer-slider .lbl{color:var(--text-2);text-align:center;font-size:11px;font-weight:650;line-height:1.2}.coord-badge{color:var(--text-2);background:color-mix(in srgb, var(--surface) 85%, transparent);border:1px solid var(--border);z-index:4;pointer-events:none;border-radius:8px;padding:4px 9px;font-size:12px;font-weight:550;position:absolute;bottom:14px;left:14px}.empty-hint{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-2);text-align:center;pointer-events:none;color:var(--text-2);z-index:3;border-radius:14px;justify-items:center;gap:6px;padding:12px 18px;font-size:13px;animation:.4s both fade;display:grid;position:absolute;top:78px;left:50%;transform:translate(-50%)}.empty-hint b{font:650 15.5px var(--font-display);color:var(--text)}.paste-hint{background:var(--text);color:var(--surface);z-index:4;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:550;position:absolute;top:70px;left:50%;transform:translate(-50%)}.select-rect{border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;z-index:5;border-radius:3px;position:absolute}.ctx{gap:18px;padding:14px 16px 18px;display:grid}.ctx h3{font-size:12px;font-family:var(--font);color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-weight:700}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{background:var(--surface-2);border-radius:10px;padding:9px 11px}.stat b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:18px;font-weight:700;display:block}.stat span{color:var(--text-2);font-size:11.5px}.stat.wide{grid-column:span 2}.warn-box{background:var(--warn-soft);color:var(--text);text-align:left;cursor:pointer;border:0;border-radius:10px;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;font-size:13px;display:flex}.warn-box svg{color:var(--warn);flex:none;width:18px;height:18px;margin-top:1px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mini-swatches{flex-wrap:wrap;gap:6px;display:flex}.mini-swatches .swatch{width:24px;height:24px}.bom-mini{gap:4px;max-height:260px;display:grid;overflow:auto}.bom-mini div{grid-template-columns:34px 1fr auto;align-items:center;gap:8px;font-size:12.5px;display:grid}.bom-mini img{background:var(--surface-2);border-radius:8px;width:34px;height:34px}.bom-mini b{font-variant-numeric:tabular-nums}.menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-3);z-index:60;border-radius:12px;min-width:250px;padding:6px;animation:.14s both pop;position:absolute;top:48px;right:10px}.menu button,.menu a{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.menu button:hover,.menu a:hover{background:var(--surface-2)}.menu svg{width:17px;height:17px;color:var(--text-2)}.menu kbd{margin-left:auto}.menu hr{border:0;border-top:1px solid var(--border);margin:5px 4px}.shortcuts{grid-template-columns:1fr 1fr;gap:8px 28px;display:grid}.shortcuts h4{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);grid-column:span 2;margin:10px 0 0;font-size:12px}.shortcuts div{justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;display:flex}.shortcuts div span:last-child{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.welcome{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.welcome button{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;gap:6px;padding:16px 14px;transition:border-color .12s,background .12s;display:grid}.welcome button:hover{border-color:var(--accent);background:var(--accent-soft)}.welcome svg{color:var(--accent)}.welcome b{font-size:14.5px}.welcome span{color:var(--text-2);font-size:12.5px}.coach{z-index:90;background:var(--text);color:var(--surface);max-width:280px;box-shadow:var(--shadow-3);border-radius:12px;padding:12px 14px;font-size:14px;animation:.2s both pop;position:absolute}.coach .row{justify-content:space-between;margin-top:10px}.coach button{color:inherit;opacity:.75;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.coach button.next{opacity:1;background:var(--surface);color:var(--text);border-radius:7px;padding:4px 10px;font-weight:600}.share-link{gap:8px;display:flex}.share-qr{grid-template-columns:132px 1fr;align-items:center;gap:18px;margin-top:16px;display:grid}.share-qr .qr svg{width:100%;height:100%;display:block}.mobile-note{background:var(--bg);z-index:400;text-align:center;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.mobile-note>div{justify-items:center;gap:14px;max-width:360px;display:grid}@media (max-width:1100px){.panel-left{width:220px}.panel-right{width:240px}.color-bar{max-width:calc(100% - 120px)}.swatches{grid-template-columns:repeat(13,20px)}.swatch{width:20px;height:20px}}@media (max-width:900px){.welcome{grid-template-columns:1fr}}@media (max-width:600px){body.app-body{overflow-x:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.ctx-badges{z-index:5;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;max-width:calc(100% - 32px);display:flex;position:absolute;top:70px;left:50%;transform:translate(-50%)}.ctx-badge{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:550;display:inline-flex}.ctx-badge.ch{background:var(--sun-soft);border-color:#0000}.ctx-badge.ch b{background:var(--surface);border-radius:999px;margin-left:4px;padding:1px 8px}.ctx-badge.ch.bad b{background:var(--danger);color:#fff}.status .dot{background:var(--ok);border-radius:50%;width:7px;height:7px;display:inline-block}.status{align-items:center;gap:6px;display:inline-flex}.status .vis{background:var(--surface-2);border-radius:999px;align-items:center;gap:4px;margin-left:6px;padding:1px 8px;font-size:12px;display:inline-flex}.status .vis-public{background:var(--accent-soft);color:var(--accent)}.status.st-error{color:var(--danger)}.spin{animation:.9s linear infinite lab-spin}@keyframes lab-spin{to{transform:rotate(360deg)}}.avatar-link{border-radius:50%;margin-left:4px;display:inline-flex}.avatar-link:hover{text-decoration:none}.menu-langs{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 12px 8px;font-size:13px;display:flex}.menu-langs a[aria-current]{color:var(--text);font-weight:700}.ex-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;margin-top:8px;display:grid;overflow:auto}.ex-pick,.open-item{text-align:left;border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);cursor:pointer;gap:2px;padding:10px 12px;display:grid}.ex-pick:hover,.open-item:hover{border-color:var(--accent)}.ex-pick small,.open-item small{font-size:12px}.open-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-height:60vh;display:grid;overflow:auto}.open-item img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);border-radius:8px;width:100%;height:auto;margin-bottom:6px}.open-item[aria-current]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.share-box{align-items:center;gap:18px;display:flex}.share-qr .qr{border:1px solid var(--border);background:#fff;border-radius:12px;width:150px;height:150px;padding:8px}.share-qr .qr svg{width:100%;height:100%}.share-main{flex:1;gap:12px;min-width:0;display:grid}.share-link{align-items:center;gap:8px;display:flex}.share-foot{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;display:flex}.form-error{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);border-radius:10px;margin-bottom:10px;padding:10px 12px}.dialog .field-error{color:var(--danger);margin-top:4px;font-size:13px}.dialog .warn,.warn{color:var(--warn)}.dialog .small{font-size:12.5px}.pub-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;display:grid}.pub-form{align-content:start;gap:12px;display:grid}.pub-form textarea{resize:vertical;height:auto;min-height:90px;padding:8px 10px}.pub-side{align-content:start;gap:10px;display:grid}.pub-preview{aspect-ratio:4/3;border:1px solid var(--border);background:#f6f5f2;border-radius:14px;overflow:hidden}.pub-preview img{object-fit:contain;width:100%;height:100%}.pub-preview .skeleton{width:100%;height:100%;display:block}.pub-angles{justify-self:start}.pub-ch{background:var(--sun-soft);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.pub-ch.disabled{opacity:.8}.pub-done{text-align:center;justify-items:center;gap:10px;padding:8px 0;display:grid}.pub-done svg{color:var(--ok)}.dialog .check{align-items:flex-start;gap:8px;display:flex}@media (max-width:1100px){.hide-md{display:none!important}}@media (max-width:860px){.hide-sm{display:none!important}.pub-grid{grid-template-columns:1fr}.share-box{flex-direction:column}}.instr{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.instr-bar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:14px;height:58px;padding:0 14px;display:flex;position:sticky;top:0}.instr-bar .divider{background:var(--border);width:1px;height:24px}.instr-title{line-height:1.25;display:grid}.instr-title b{font-size:15px}.instr-title span{font-size:12.5px}.instr-opt{color:var(--text-2);gap:2px;font-size:11.5px;font-weight:600;display:grid}.instr-opt.check{color:var(--text);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.instr-opt input[type=range]{width:120px;accent-color:var(--accent)}.instr-opt input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.instr-progress{background:var(--accent);height:2px;transition:width .15s;position:absolute;bottom:-1px;left:0}.instr-main{grid-template-columns:250px 1fr;min-height:0;display:grid}.step-list{border-right:1px solid var(--border);background:var(--surface);height:calc(100vh - 58px);padding:12px 10px 30px;position:sticky;top:58px;overflow:auto}.step-list-head{justify-content:space-between;align-items:center;padding:0 4px 8px;display:flex}.step-banner{background:var(--accent-soft);border-radius:9px;margin-bottom:8px;padding:8px 10px;font-size:12.5px}.step-list ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.step-list li{border-radius:10px}.step-list li.active{background:var(--accent-soft)}.step-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:64px 1fr;align-items:center;gap:10px;width:100%;padding:6px;display:grid}.step-item:hover{background:var(--surface-2)}.step-list li.active .step-item:hover{background:0 0}.step-item b{font-size:13.5px;display:block}.step-item small{align-items:center;gap:4px;font-size:12px;display:flex}.step-item small.warn{color:var(--warn)}.step-thumb{border:1px solid var(--border);background:#fff;border-radius:7px;width:64px;height:44px;display:block;overflow:hidden}.step-thumb img,.step-thumb .skeleton{object-fit:cover;width:100%;height:100%;display:block}.step-tools{flex-wrap:wrap;align-items:center;gap:2px;padding:0 6px 8px;display:flex}.step-tools .select{flex:1;width:auto;min-width:100px;height:30px;padding:0 6px;font-size:12.5px}.sheet-scroll{--zoom:.8;background:color-mix(in srgb, var(--bg) 70%, #b9b5ab);padding:28px 24px 60px;overflow-x:auto}.sheets{zoom:var(--zoom);justify-content:center;gap:18px;display:grid}.sheet{color:#1b1d21;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;flex-direction:column;width:210mm;height:297mm;padding:14mm 14mm 0;font-size:10.5pt;line-height:1.45;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000014,0 10px 30px #0000001f}.sheet-foot{color:#8d929a;border-top:.3mm solid #e6e3dc;justify-content:space-between;padding-top:2.5mm;font-size:8.5pt;display:flex;position:absolute;bottom:8mm;left:14mm;right:14mm}.sheet .skeleton{background:linear-gradient(90deg,#f1efea,#e7e4dd,#f1efea) 0 0/200% 100%;border-radius:3mm;width:100%;height:100%;animation:1.3s linear infinite shimmer;display:block}.cover-head{font:650 11pt var(--font-display);color:#4338ca;letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:3mm;display:flex}.cover-hero{place-items:center;height:150mm;margin:6mm -6mm 4mm;display:grid}.cover-hero img{object-fit:contain;max-width:100%;max-height:100%}.cover-title{font:700 30pt/1.05 var(--font-display);letter-spacing:-.03em;margin:0}.cover-author{color:#5b6069;margin-top:2mm;font-size:13pt}.cover-facts{color:#1b1d21;background:#f6f5f2;border-radius:2.5mm;align-self:flex-start;margin-top:5mm;padding:3mm 4mm;font-size:10.5pt;font-weight:550;display:inline-block}.cover-bottom{color:#3b3f46;justify-content:space-between;align-items:flex-end;gap:8mm;margin-top:auto;margin-bottom:20mm;font-size:9.5pt;display:flex}.cover-bottom b{color:#1b1d21;margin-bottom:1mm;display:block}.cover-bottom>div:first-child{max-width:120mm}.cover-qr{color:#5b6069;justify-items:center;gap:1.5mm;font-size:8pt;display:grid}.cover-qr>div{width:24mm;height:24mm}.cover-qr svg{width:100%;height:100%}.step-grid{gap:6mm;height:255mm;display:grid}.per-1 .step-grid{grid-template-rows:1fr}.per-2 .step-grid{grid-template-rows:1fr 1fr}.per-4 .step-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:5mm}.step{cursor:pointer;background:#fff;border:.3mm solid #e6e3dc;border-radius:3.5mm;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.step.sel{outline-offset:.6mm;outline:.6mm solid #4338ca}.step-head{justify-content:space-between;align-items:flex-start;gap:4mm;padding:3.5mm 3.5mm 0;display:flex}.step-img{flex:1;min-height:0;position:relative}.step-img>img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.step-no{flex:none;justify-items:start;gap:1mm;display:grid}.step-no span{color:#fff;min-width:11mm;height:11mm;font:700 15pt var(--font-display);letter-spacing:-.02em;background:#4338ca;border-radius:5.5mm;place-items:center;padding:0 2.5mm;display:grid}.step-no small{color:#4338ca;text-transform:uppercase;letter-spacing:.06em;font-size:7.5pt;font-weight:650}.callout{background:#f6f5f2;border:.3mm solid #e6e3dc;border-radius:2.5mm;align-items:center;gap:2mm;min-width:0;padding:1.5mm 2.5mm;display:flex}.callout .repeat,.phone-parts .repeat{font:700 14pt var(--font-display);color:#4338ca;border-right:.3mm solid #e6e3dc;padding-right:2mm}.callout-parts{flex-wrap:wrap;justify-content:flex-end;gap:.5mm 2.5mm;display:flex}.cp{flex-direction:column;align-items:center;font-size:9pt;font-weight:700;line-height:1;display:flex}.cp img{object-fit:contain;width:12mm;height:12mm}.per-4 .cp img{width:9mm;height:9mm}.per-4 .step-no span{min-width:9mm;height:9mm;font-size:12pt}.minimap{background:#fff;border:.3mm solid #e6e3dc;border-radius:2mm;width:24mm;padding:1mm;position:absolute;bottom:3.5mm;right:3.5mm}.per-4 .minimap{width:16mm}.minimap img{width:100%;display:block}.step-note{flex-direction:column;align-items:flex-start;gap:1mm;display:flex;position:absolute;bottom:3.5mm;left:3.5mm}.step-note span{color:#3b3f46;background:#f6f5f2;border-radius:1.5mm;align-items:center;gap:1mm;padding:.8mm 2mm;font-size:8.5pt;font-weight:600;display:inline-flex}.step-note .warn{color:#92400e;background:#fdf1df}.bom-title{font:700 18pt var(--font-display);justify-content:space-between;align-items:baseline;margin-bottom:6mm;display:flex}.bom-title span{font:550 10pt var(--font);color:#5b6069}.bom-grid{grid-template-columns:repeat(5,1fr);gap:3mm;display:grid}.bom-item{text-align:center;background:#f6f5f2;border:.3mm solid #e6e3dc;border-radius:2.5mm;justify-items:center;padding:2mm 2mm 2.5mm;line-height:1.2;display:grid}.bom-item img{object-fit:contain;width:20mm;height:20mm}.bom-item b{font:700 13pt var(--font-display);margin-top:.5mm}.bom-item span{margin-top:.5mm;font-size:8.5pt;font-weight:600}.bom-item small{color:#5b6069;font-size:8pt}.instr-empty,.instr-loading{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.instr-empty img{border-radius:20px;width:min(440px,90vw)}.phone{background:var(--bg);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.phone-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.phone-bar b{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.phone-progress{background:var(--surface-2);height:3px}.phone-progress i{background:var(--accent);height:100%;transition:width .2s;display:block}.phone-body{padding:14px 16px}.phone-cover{text-align:center;justify-items:center;gap:12px;display:grid}.phone-cover img{background:#fff;border-radius:16px;width:100%}.phone-cover h1{font-size:28px}.phone-step{gap:12px;display:grid}.phone-parts{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;display:flex}.phone-parts .cp img{width:48px;height:48px}.phone-parts .cp b{font-size:14px}.phone-img{aspect-ratio:1240/820;border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.phone-img img,.phone-img .skeleton{object-fit:contain;width:100%;height:100%;display:block}.phone-mini{border:1px solid var(--border);background:#fff;border-radius:10px;justify-self:end;width:130px;padding:4px}.phone-bom{gap:8px;display:grid}.phone-bom>div{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:grid}.phone-bom img{width:48px;height:48px}.phone-nav{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;position:sticky;bottom:0}@media (max-width:1180px){.instr-opt span{display:none}.instr-opt.check span{display:inline}.instr-main{grid-template-columns:210px 1fr}}.sheet-head{color:#5b6069;justify-content:space-between;align-items:center;margin:-6mm 0 4mm;font-size:9pt;display:flex}.sheet-head img{width:6mm;height:6mm}.cover-head{text-transform:none;letter-spacing:0;font:600 12pt var(--font-display);justify-content:space-between}.cover-logo{width:auto;height:13mm}.cover-title{font:650 30pt/1.05 var(--font-display);letter-spacing:-.01em;color:#4338ca}.cover-facts span+span:before{content:"";background:#ffc93c;border:.3mm solid #4338ca;border-radius:50%;width:2mm;height:2mm;margin:0 2.5mm .4mm;display:inline-block}.cover-qr small{color:#5b6069;font-size:7.5pt}.cover-stripe{background-color:#e7e5fd;background-image:radial-gradient(circle,#4338ca 0 .45mm,#0000 .55mm);background-size:2.2mm 2.2mm;height:2.2mm;position:absolute;bottom:0;left:0;right:0}.step-no span{color:#4338ca;width:12mm;min-width:12mm;height:12mm;font:650 17pt var(--font-display);letter-spacing:0;background:#ffc93c;border-radius:50%;padding:0}.per-4 .step-no span{width:9mm;min-width:9mm;height:9mm;font-size:13pt}.callout{background:#fff;border:.3mm solid #cfcbc2;border-radius:3mm}.bom-item b{font:600 14pt var(--font-display)}.chip-dot{vertical-align:-.6mm;border:.3mm solid #1b1d214d;border-radius:50%;width:3.4mm;height:3.4mm;margin-right:1.2mm;display:inline-block}.phone-no{color:#4338ca;width:34px;height:34px;font:650 17px var(--font-display);background:#ffc93c;border-radius:50%;flex:none;place-items:center;display:grid}.instr-shell .crumbs{padding:14px 0 4px}.page-instr .instr{min-height:calc(100vh - 68px)}@page{size:A4 portrait;margin:0}@media print{html,body{background:#fff!important}.instr-bar,.step-list,.toasts{display:none!important}.instr,.instr-main{display:block}.sheet-scroll{background:0 0;padding:0;overflow:visible}.sheets{zoom:1;display:block}.sheet{box-shadow:none;break-after:page;page-break-after:always;margin:0}.sheet:last-child{break-after:auto;page-break-after:auto}.step.sel{outline:none}}
