:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,sans-serif}body{color:#eee;background:#1a1a1a;margin:0}.app{flex-direction:column;align-items:center;gap:1.25rem;max-width:720px;margin:0 auto;padding:2rem 1rem;display:flex}.masthead{text-align:center}h1{letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.tagline{color:#9a9a9a;letter-spacing:.04em;margin:.25rem 0 0;font-size:.95rem}.uploader{cursor:pointer;background:#222;border:2px dashed #555;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:220px;display:flex}.uploader:hover{border-color:#888}.editor{flex-direction:column;align-items:center;gap:.75rem;display:flex}.stage-wrap{touch-action:none;-webkit-user-select:none;user-select:none;background:#000;border:1px solid #444;position:relative}.stage-clip{position:absolute;inset:0;overflow:hidden}.stage-img{image-rendering:auto;cursor:move;position:absolute}.pad-strip{pointer-events:none;background:repeating-linear-gradient(45deg,#000,#000 6px,#151515 6px 12px);position:absolute;top:0;bottom:0}.usable-line{pointer-events:none;background:#ff3c3ce6;width:1px;position:absolute;top:0;bottom:0}.handle-layer{pointer-events:none;position:absolute;inset:0}.handle{pointer-events:auto;background:#fff;border:1px solid #000;border-radius:2px;width:12px;height:12px;margin-top:-6px;margin-left:-6px;position:absolute}.handle-n,.handle-s{cursor:ns-resize}.handle-e,.handle-w{cursor:ew-resize}.handle-nw,.handle-se{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.editor-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.hint{color:#aaa;font-size:.8rem}.preview-label{color:#aaa;margin:0;font-size:.85rem}.controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.preview-wrap{background:#000;border:1px solid #444;position:relative}.preview{display:block}.used-divider{pointer-events:none;background:#f009;width:1px;position:absolute;top:0;bottom:0}button{color:#eee;cursor:pointer;background:#3a3a3a;border:1px solid #666;border-radius:6px;padding:.5rem 1rem}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#ff8080}
