.ic-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:.75rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);overflow:hidden}.ic-canvas{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;border-radius:var(--r-xs)}.ic-grid{display:grid;grid-template-columns:repeat(3,2.75rem);gap:.3rem}.ic-grid__cell{position:relative;display:block;width:2.75rem;height:2.75rem;cursor:pointer}.ic-grid__cell input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ic-grid__cell span{display:block;width:100%;height:100%;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);transition:background .12s,border-color .12s}.ic-grid__cell:hover span{background:var(--surface-3)}.ic-grid__cell input:checked+span{border-color:var(--accent);background:var(--accent)}.ic-grid__cell input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.sm-stage{touch-action:none}.sm-frame{position:relative;display:inline-block;max-width:100%;line-height:0}.sm-frame .ic-canvas{cursor:grab;touch-action:none}.sm-frame .ic-canvas:active{cursor:grabbing}.sm-frame .ic-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sm-safe{position:absolute;border:1.5px dashed var(--on-inv);box-shadow:0 0 0 1px var(--surface-inv);pointer-events:none}.sm-frame--round .ic-canvas{border-radius:50%}.sm-presets{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}.sm-preset{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-height:3.2rem;padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:.85rem;font-weight:550;text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.sm-preset:hover{background:var(--surface-2)}.sm-preset[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.sm-preset__size{color:var(--ink-3);font-family:var(--font-mono);font-size:.76rem;font-weight:450}.sm-source{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;background:var(--surface-3);color:var(--ink-2);font-size:.72rem;font-weight:550}.sm-source--official{background:var(--ok-soft);color:var(--ok-ink)}
