:root{color-scheme:light;--ink:#17212b;--muted:#78828b;--border:#dce1e5;--accent:#315e74;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;background:#f6f7f8;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh}header{display:flex;align-items:baseline;justify-content:center;gap:12px;padding:24px 12px 18px}h1{font-size:20px;font-weight:550;letter-spacing:-.5px;margin:0}header span{color:var(--muted);font-size:12px}main{display:flex;align-items:center;flex-direction:column;gap:14px;padding:0 18px 40px}button,input,select,summary{font:inherit}button,select,input[type=number]{color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:5px;padding:7px 11px}button,select,summary{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button.active,button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#eef4f6}button:disabled{opacity:.42;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.import{display:flex;gap:12px;align-items:center;max-width:100%}#drop{cursor:pointer;border:1px dashed #9eaab2;padding:9px 15px;border-radius:5px;background:#fff;white-space:nowrap}#drop.drag{border-color:var(--accent);background:#eaf2f7}#info{font-size:11px;color:var(--muted)}nav,.export,.view{display:flex;gap:6px;align-items:center}nav{gap:0}nav button{border-radius:0}nav button:first-child{border-radius:5px 0 0 5px}nav button:last-child{border-radius:0 5px 5px 0;border-left:0}.controls{display:flex;align-items:center;justify-content:center;gap:15px;max-width:950px;flex-wrap:wrap}.controls[hidden],[hidden]{display:none!important}label{display:flex;gap:7px;align-items:center;font-size:12px}input[type=number]{width:56px;padding:6px}input[type=range]{accent-color:var(--accent);width:112px}output{color:var(--muted);font-size:11px;min-width:34px}#band-group{width:310px;max-width:60vw}#bands{height:28px;border:1px solid var(--border);border-radius:4px;position:relative;touch-action:none}.handle{position:absolute;top:-3px;height:34px;width:10px;background:#fff;border:1px solid #647682;border-radius:3px;transform:translateX(-50%);padding:0;cursor:ew-resize;box-shadow:0 1px 3px #0002}.handle::after{content:'';position:absolute;inset:7px 3px;border-left:1px solid #647682}.handle:hover{z-index:2}#swatches{display:flex;justify-content:space-around;gap:2px;margin-top:5px}input[type=color]{width:28px;height:23px;border:1px solid var(--border);padding:2px;border-radius:3px;cursor:pointer;background:#fff}.ink{display:flex;gap:5px}details{position:relative}summary{font-size:12px;color:var(--muted);padding:7px}.shape-controls{position:absolute;top:32px;right:0;z-index:3;padding:14px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 5px 15px #0001;display:flex;flex-direction:column;gap:12px;min-width:270px}.shape-controls label{justify-content:space-between;white-space:nowrap}.shape-controls input{width:95px}#preview-frame{width:50vw;height:50vh;max-width:1000px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:3px;overflow:hidden;background-color:#fff;background-image:linear-gradient(45deg,#edf0f2 25%,transparent 25%),linear-gradient(-45deg,#edf0f2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf0f2 75%),linear-gradient(-45deg,transparent 75%,#edf0f2 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}#preview{display:block;max-width:100%;max-height:100%;object-fit:contain}#preview-frame.actual{display:block;overflow:auto}#preview-frame.actual #preview{max-width:none;max-height:none;object-fit:initial}#empty{font-size:12px;color:var(--muted);padding:15px;text-align:center}.view{min-height:27px}.view button{font-size:11px;padding:5px 9px}#status{font-size:11px;color:var(--muted);min-width:80px}.export button{min-width:74px}#error{max-width:600px;text-align:center;color:#9a302b;font-size:12px;margin:0}#version{position:fixed;bottom:8px;right:12px;color:#8c969c;font-size:10px;letter-spacing:.2px}@media(max-width:650px){header{padding:18px 8px 14px;gap:8px}header span{font-size:11px}main{padding:0 8px 35px;gap:12px}.controls{gap:10px;max-width:95vw}#preview-frame{width:90vw;height:45vh}#band-group{width:270px;max-width:65vw}#info{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-controls{right:-5px}.controls input[type=range]{width:85px}#version{position:static;display:block;text-align:right;padding:5px 10px 8px}}
