:root{--surface:#ffffff;--surface-muted:#f3f6fb;--border:#dbe3ef;--text-main:#1f2937;--text-muted:#5f6b7a;--primary:#2563eb;--primary-dark:#1e40af;--accent:#0ea5a4;--shadow-soft:0 10px 30px rgba(15,23,42,0.08);--gradient:linear-gradient(135deg,#ecfeff 0%,#f5f3ff 50%,#ffffff 100%);--cr-bg:#eef3fb;--cr-surface:#ffffff;--cr-elev:#f6f9ff;--cr-border:#dbe3ef;--cr-text:#1f2937;--cr-muted:#5f6b7a;--cr-accent:#0ea5a4;--cr-accent-dim:rgba(14,165,164,0.12);--cr-warn:#b45309;--cr-from:#ef4444;--cr-to:#7c3aed;--cr-radius:14px;--cr-radius-sm:10px;--cr-shadow:0 16px 40px rgba(15,23,42,0.12);}
body.bmc-image .cr-lab{font-family:system-ui,-apple-system,sans-serif;color:var(--cr-text);}
.cr-lab{margin:0 0 2.5rem;padding:0;}
.cr-lab-shell{background:var(--gradient);border-radius:calc(var(--cr-radius) + 6px);padding:1px;}
.cr-lab-inner{background:var(--cr-surface);border-radius:var(--cr-radius);border:1px solid var(--cr-border);box-shadow:var(--cr-shadow);overflow:hidden;}
.cr-ingest{padding:clamp(1.25rem,4vw,2rem);text-align:center;cursor:pointer;display:block;}
.cr-ingest-icon{width:52px;height:52px;margin:0 auto 1rem;border-radius:50%;background:var(--cr-accent-dim);color:var(--cr-accent);display:flex;align-items:center;justify-content:center;}
.cr-ingest-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;}
.cr-ingest h2{font-size:clamp(1.05rem,3vw,1.2rem);font-weight:600;margin:0 0 0.35rem;color:var(--cr-text);}
.cr-ingest p{margin:0;font-size:0.9rem;color:var(--cr-muted);line-height:1.5;}
.cr-ingest-actions{margin-top:1.25rem;}
.cr-btn-file{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;padding:0.75rem 1.25rem;border-radius:999px;border:none;background:var(--cr-accent);color:#ffffff;font-weight:600;font-size:0.9rem;cursor:pointer;min-height:48px;}
.cr-btn-file:hover{filter:brightness(1.06);}
.cr-btn-file:focus-visible{outline:2px solid var(--cr-accent);outline-offset:2px;}
.cr-hint-mini{margin-top:0.75rem;font-size:0.75rem;color:var(--cr-muted);}
.cr-ingest--hidden{display:none!important;}
.cr-ingest--drag{box-shadow:inset 0 0 0 2px var(--cr-accent);}
.cr-workspace{display:none;flex-direction:column;}
.cr-workspace.cr-workspace--on{display:flex;}
.cr-toolbar{padding:0.65rem 0.85rem;border-bottom:1px solid var(--cr-border);background:var(--cr-elev);display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;justify-content:space-between;}
.cr-seg{display:inline-flex;background:var(--cr-bg);border-radius:999px;padding:3px;gap:2px;}
.cr-seg button{-webkit-appearance:none;appearance:none;border:none;background:transparent;color:var(--cr-muted);font-size:0.8rem;font-weight:600;padding:0.45rem 0.95rem;border-radius:999px;cursor:pointer;min-height:40px;}
.cr-seg button[aria-pressed="true"]{background:var(--cr-surface);color:var(--cr-text);box-shadow:0 1px 3px rgba(15,23,42,0.12);}
.cr-seg button:focus-visible{outline:2px solid var(--cr-accent);outline-offset:1px;}
.cr-toolbar-meta{font-size:0.72rem;color:var(--cr-muted);max-width:100%;}
.cr-stage{display:flex;flex-direction:column;flex:1;min-width:0;}
.cr-viewport{position:relative;background:var(--cr-bg);background-image:linear-gradient(45deg,#e5ebf6 25%,transparent 25%),linear-gradient(-45deg,#e5ebf6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5ebf6 75%),linear-gradient(-45deg,transparent 75%,#e5ebf6 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;padding:clamp(0.75rem,3vw,1.25rem);min-height:200px;display:flex;align-items:center;justify-content:center;}
.cr-viewport canvas{max-width:100%;height:auto;border-radius:var(--cr-radius-sm);box-shadow:0 10px 24px rgba(15,23,42,0.18);display:none;}
.cr-viewport canvas.cr-canvas--show{display:block;}
.cr-side{display:flex;flex-direction:column;border-top:1px solid var(--cr-border);}
.cr-dock{padding:clamp(0.85rem,3vw,1.15rem);background:var(--cr-elev);display:flex;flex-direction:column;gap:0.85rem;flex:1;}
.cr-bridge{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;}
.cr-bridge-label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--cr-muted);width:100%;}
@media (min-width:480px){.cr-bridge-label{width:auto;}}
.cr-swatch-input{display:flex;align-items:center;gap:0.5rem;flex:1;min-width:140px;}
.cr-swatch-input input[type="color"]{-webkit-appearance:none;appearance:none;width:48px;height:48px;border:2px solid var(--cr-border);border-radius:12px;padding:0;cursor:pointer;background:var(--cr-bg);}
.cr-swatch-input input[type="color"]::-webkit-color-swatch-wrapper{padding:4px;}
.cr-swatch-input input[type="color"]::-webkit-color-swatch{border-radius:8px;border:none;}
.cr-swatch-input span{font-size:0.78rem;color:var(--cr-muted);font-variant-numeric:tabular-nums;}
.cr-arrow{color:var(--cr-accent);font-size:1.1rem;font-weight:700;line-height:1;}
.cr-tolerance-row{display:flex;flex-direction:column;gap:0.35rem;}
.cr-tolerance-top{display:flex;justify-content:space-between;align-items:baseline;}
.cr-tolerance-top label{font-size:0.8rem;font-weight:600;color:var(--cr-text);}
.cr-tolerance-top output{font-size:0.8rem;color:var(--cr-accent);font-variant-numeric:tabular-nums;}
.cr-tolerance-row input[type="range"]{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--cr-from),var(--cr-to));border-radius:999px;outline:none;}
.cr-tolerance-row input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--cr-text);border:2px solid var(--cr-surface);cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,0.2);}
.cr-tolerance-row input[type="range"]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--cr-text);border:2px solid var(--cr-surface);cursor:pointer;}
.cr-actions-row{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;}
.cr-toggle{-webkit-appearance:none;appearance:none;border:1px solid var(--cr-border);background:var(--cr-bg);color:var(--cr-muted);font-size:0.8rem;font-weight:600;padding:0.55rem 0.85rem;border-radius:var(--cr-radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:0.35rem;min-height:44px;}
.cr-toggle[aria-pressed="true"]{border-color:var(--cr-warn);color:var(--cr-warn);background:rgba(251,191,36,0.08);}
.cr-toggle:focus-visible{outline:2px solid var(--cr-accent);outline-offset:2px;}
.cr-btn-dl{flex:1;min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;padding:0.65rem 1rem;border-radius:var(--cr-radius-sm);border:none;background:linear-gradient(135deg,#10b981,#0ea5a4);color:#ffffff;font-weight:700;font-size:0.85rem;cursor:pointer;min-height:48px;}
.cr-btn-dl:disabled{opacity:0.45;cursor:not-allowed;filter:grayscale(0.3);}
.cr-btn-dl:not(:disabled):hover{filter:brightness(1.05);}
.cr-article{margin-top:2.5rem;padding-bottom:2rem;}
.cr-article h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;margin:2rem 0 0.75rem;color:var(--text-main);}
.cr-article h2:first-child{margin-top:0;}
.cr-article p,.cr-article li{font-size:1rem;line-height:1.65;}
.cr-article p{color:var(--text-main);}
.cr-article .cr-lead{font-size:1.05rem;}
.cr-callout{border-left:4px solid var(--primary);padding:0.85rem 1rem;margin:1.25rem 0;background:var(--surface-muted);border-radius:0 var(--cr-radius-sm) var(--cr-radius-sm) 0;}
.cr-callout p{margin:0;font-size:0.95rem;color:var(--text-muted);}
.cr-table-wrap{overflow-x:auto;margin:1rem 0;border-radius:var(--cr-radius-sm);border:1px solid var(--border);}
.cr-table{width:100%;border-collapse:collapse;font-size:0.9rem;}
.cr-table th,.cr-table td{padding:0.65rem 0.85rem;text-align:left;border-bottom:1px solid var(--border);}
.cr-table th{background:var(--surface-muted);color:var(--text-main);font-weight:600;}
.cr-table tr:last-child td{border-bottom:none;}
.cr-deflist{margin:1rem 0;}
.cr-deflist dt{font-weight:600;margin-top:0.75rem;color:var(--text-main);}
.cr-deflist dt:first-child{margin-top:0;}
.cr-deflist dd{margin:0.25rem 0 0;padding:0;color:var(--text-muted);line-height:1.6;}
@media (min-width:900px){.cr-viewport{min-height:280px;}.cr-side{flex:0 0 min(340px,38%);border-top:none;border-left:1px solid var(--cr-border);}}
