.j3d-wheel__layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:24px}.j3d-wheel__card{padding:22px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.j3d-wheel__canvas-wrap{max-width:520px;margin:auto}.j3d-wheel__canvas-wrap canvas{display:block;width:100%;height:auto;border-radius:50%;outline:0;touch-action:none;user-select:none;-webkit-user-select:none}.j3d-wheel__canvas-wrap canvas:focus{box-shadow:0 0 0 3px #4a56c5}.j3d-wheel__fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.j3d-wheel__fields label,.j3d-wheel__color-row label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}.j3d-wheel__fields input,.j3d-wheel__controls select{min-height:40px;width:100%;box-sizing:border-box;padding:7px;border:1px solid #cbd5e0;border-radius:4px}.j3d-wheel__color-row{display:flex;align-items:end;gap:12px;margin-bottom:18px}.j3d-wheel__color-row input{width:54px;height:44px;padding:2px}.j3d-wheel__controls fieldset{margin:0 0 18px;padding:12px;border:1px solid #e2e8f0}.j3d-wheel__controls legend{padding:0 5px;font-weight:700}.j3d-wheel__note,.j3d-wheel__status{font-size:13px;color:#667085}.j3d-wheel__error{color:#c53030;min-height:20px}.j3d-wheel__actions{display:flex;gap:10px;flex-wrap:wrap}.j3d-wheel__actions button,.j3d-wheel__copy{min-height:44px}.j3d-wheel__palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.j3d-wheel__swatch{min-height:160px;padding:14px;border-radius:7px;background:var(--swatch);color:#fff;text-shadow:0 1px 2px #000;display:flex;flex-direction:column}.j3d-wheel__swatch h3{margin:0 0 auto}.j3d-wheel__copy{width:100%;margin-top:7px;padding:7px;border:1px solid rgba(255,255,255,.7);border-radius:4px;background:rgba(0,0,0,.18);color:inherit;text-align:left;overflow-wrap:anywhere}.j3d-wheel__widget>section:last-child{margin-top:24px}.j3d-wheel__widget h2{margin-top:0}@media(max-width:700px){.j3d-wheel__layout{grid-template-columns:1fr}.j3d-wheel__card{padding:15px}.j3d-wheel__color-row{align-items:stretch;flex-wrap:wrap}.j3d-wheel__color-row label{width:100%}.j3d-wheel__color-row button{width:100%;min-height:44px}.j3d-wheel__fields{gap:7px}}
