.cr-tool{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1.5px solid var(--color-edge);border-radius:var(--radius-l);background:var(--color-surface);box-shadow:var(--shadow-m);overflow:hidden;margin-bottom:var(--space-8)}.cr-tool.is-left{grid-template-columns:340px minmax(0,1fr)}.cr-tool.is-stack{grid-template-columns:minmax(0,1fr)}.cr-main{min-width:0;display:flex;flex-direction:column}.cr-main>.cr-stage{flex:1 1 auto}.cr-stage{position:relative;display:grid;place-items:center;min-height:360px;padding:var(--space-6);background:repeating-conic-gradient(var(--color-sunken) 0 25%,var(--color-bg) 0 50%) 0 0 /22px 22px;overflow:auto}.cr-stage.is-plain{background:var(--color-sunken)}.cr-stage canvas,.cr-stage img{max-width:100%;height:auto}.cr-toolbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1.5px solid var(--color-line);background:var(--color-sunken)}.cr-toolbar .cr-spacer{flex:1}.cr-toolbar .cr-group{display:inline-flex;flex-wrap:wrap;gap:4px;padding-right:var(--space-2);margin-right:var(--space-1);border-right:1px solid var(--color-line)}.cr-toolbar .cr-group:last-child{border-right:0}.cr-tbtn{min-width:44px;min-height:44px;padding:8px;border-color:transparent;background:transparent;color:var(--color-ink);border-radius:var(--radius-m)}.cr-tbtn.labelled{padding-inline:12px}.cr-tbtn[aria-pressed=true]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.cr-tbtn[aria-pressed=true]:hover:not(:disabled){color:var(--color-on-accent);background:var(--color-accent-strong)}.cr-panel{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5);border-left:1.5px solid var(--color-line);background:var(--color-surface);min-width:0}.cr-tool.is-left .cr-panel{border-left:0;border-right:1.5px solid var(--color-line)}.cr-section{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.cr-section+.cr-section{padding-top:var(--space-5);border-top:1px solid var(--color-line)}.cr-section>h3{margin:0;font:600 var(--text-2xs)/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.cr-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:var(--text-s)}.cr-field input:not([type=range]):not([type=checkbox]):not([type=color]),.cr-field select,.cr-field textarea{width:100%}.cr-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-weight:700}.cr-label output,.cr-label small{font:600 var(--text-xs)/1.3 var(--font-mono);color:var(--color-muted)}.cr-color{display:flex;gap:var(--space-2);min-width:0}.cr-color input[type=color]{width:56px;min-width:56px;height:46px}.cr-color input[type=text]{flex:1;font-family:var(--font-mono);font-size:var(--text-s)}.cr-grid2 .cr-color input[type=color]{width:44px;min-width:44px}.cr-grid2 .cr-color input[type=text]{padding-inline:8px;font-size:var(--text-xs)}.cr-color input[aria-invalid=true]{border-color:var(--color-danger-line)}.cr-seg{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-m);background:var(--color-sunken)}.cr-seg button{flex:1 1 auto;min-height:40px;padding:6px 10px;border-color:transparent;background:transparent;font-size:var(--text-xs);text-transform:capitalize}.cr-seg button[aria-pressed=true]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.cr-seg button[aria-pressed=true]:hover:not(:disabled){color:var(--color-on-accent);background:var(--color-accent-strong)}.cr-check{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-s);font-weight:700;cursor:pointer}.cr-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-grid2,.cr-grid3{display:grid;gap:var(--space-3)}.cr-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.cr-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cr-actions>button{flex:1 1 auto}.cr-status{min-height:1.4em;margin:0;padding:0 var(--space-5) var(--space-3);color:var(--color-accent);font:600 var(--text-xs)/1.4 var(--font-mono)}.cr-status:empty{padding-bottom:0;min-height:0}.cr-status.is-error{color:var(--color-danger)}.cr-panel .cr-status{padding:0}.cr-code{position:relative;margin:0;padding:var(--space-4);max-height:320px;overflow:auto;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-m);background:var(--color-sunken);color:var(--color-ink);font:600 var(--text-xs)/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.cr-note{margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-left:4px solid var(--color-rose);border-radius:var(--radius-m);background:var(--color-rose-soft);font-size:var(--text-s);line-height:1.5}.cr-note.is-warn{border-left-color:var(--color-danger-line);background:var(--color-danger-soft);color:var(--color-danger)}.cr-note.is-ok{border-left-color:var(--color-accent);background:var(--color-success-soft);color:var(--color-success)}.cr-statusbar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;padding:var(--space-2) var(--space-4);border-top:1.5px solid var(--color-line);background:var(--color-sunken);font:600 var(--text-xs)/1.4 var(--font-mono)}.cr-drop,.cr-statusbar{color:var(--color-muted)}.cr-drop{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;border:2px dashed var(--color-line-strong);border-radius:var(--radius-l);background:var(--color-surface)}.cr-drop strong{color:var(--color-ink);font-size:var(--text-l)}.cr-drop.is-over{border-color:var(--color-accent);background:var(--color-accent-soft)}.cr-drop label.button{cursor:pointer}.cr-swatch-chip{display:inline-block;width:18px;height:18px;border-radius:4px;border:1px solid var(--color-line-strong);vertical-align:-4px}.cr-kv{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:6px var(--space-4);margin:0;font-size:var(--text-s)}.cr-kv dt{color:var(--color-muted);font-weight:700}.cr-kv dd{margin:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6}@media (max-width:960px){.cr-tool,.cr-tool.is-left{grid-template-columns:minmax(0,1fr)}.cr-panel,.cr-tool.is-left .cr-panel{border-left:0;border-right:0;border-top:1.5px solid var(--color-line)}.cr-tool.is-left .cr-panel{order:2}}@media (max-width:560px){.cr-stage{min-height:260px}.cr-panel,.cr-stage{padding:var(--space-4)}.cr-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}