@font-face{font-family:Inter;src:local("Inter");font-display:swap}:root{font-family:Inter,system-ui,sans-serif;color:#24223b;background:#f7f7ff;--line:#e1dff0;--ink:#24223b;--muted:#56536e;--accent:#533be8;--wash:#efedff}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}[hidden]{display:none!important}a{color:inherit}header,footer{background:#fff}header{border-bottom:1px solid var(--line)}.header-inner,.footer-inner,main{max-width:1040px;margin:auto;width:calc(100% - 48px)}.header-inner,.footer-inner{display:flex;justify-content:space-between;align-items:center;min-height:72px;gap:16px}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:600}nav a:hover,nav a[aria-current]{color:var(--accent)}.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-.8px}.brand-mark{width:22px;height:22px;border:6px solid var(--accent);border-radius:7px;transform:rotate(-12deg)}.brand-dot{color:var(--accent);margin-left:-7px}main{padding:42px 0 50px;flex:1}h1{font-size:clamp(30px,5vw,48px);line-height:1.1;letter-spacing:-.045em;margin:0 0 12px}.intro,.instructions p{color:var(--muted);line-height:1.65}.intro{margin:0 0 24px;max-width:720px}.tool{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 35px #23145509}.tool-bar,.tool-body{padding:18px 24px}.tool-bar{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.local{display:inline-flex;align-items:center;gap:7px;color:#295c4d;font-size:13px;font-weight:650}.local span{width:8px;height:8px;border-radius:100%;background:#249476}.drop{min-height:284px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px 12px;border:1.5px dashed #a79ce9;border-radius:16px;background:#f9f8ff}.drop[data-over]{background:#e9e3ff;border-color:var(--accent)}.upload-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--wash);color:var(--accent);font-size:28px;font-weight:700;margin-bottom:12px}.drop strong{font-size:20px}.drop p{margin:6px 0 15px;color:var(--muted);font-size:14px}.drop small{margin-top:12px;color:var(--muted)}.button,.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:10px 15px;min-height:42px;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.button{background:var(--accent);color:#fff}.button:hover:not(:disabled){background:#4128cb}.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.secondary:hover:not(:disabled){background:var(--wash)}button:disabled{opacity:.5;cursor:default}.file-button{position:relative}.file-button input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}:focus-visible,.file-button:focus-within{outline:3px solid #8b77ff;outline-offset:3px}.work-top,.actions,.coordinates{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.work-top{justify-content:space-between}.work-top strong{overflow-wrap:anywhere}.work p,.status,.privacy{color:var(--muted);font-size:14px}.stage{position:relative;width:fit-content;max-width:100%;margin:16px auto;background:#efedf6}canvas{display:block;max-width:100%;max-height:65vh;width:auto;height:auto;touch-action:none;cursor:crosshair}.selection{position:absolute;border:2px solid #5134ff;background:#533be835;pointer-events:none}details{margin:16px 0}summary{cursor:pointer}.coordinates{margin-top:10px}.coordinates label{display:grid;gap:4px;font-size:13px}.coordinates input,.page-control select{font:inherit;width:85px;padding:6px;border:1px solid var(--line);border-radius:6px}.page-control{display:inline-flex;gap:8px;align-items:center;margin-top:10px}.status{margin:10px 0 0}.status:empty{display:none}.status[data-error]{color:#9c203f}.privacy{text-align:center;margin:14px 0 0}.instructions{border-top:1px solid var(--line);margin-top:38px;padding-top:20px}.instructions h2{font-size:21px}.instructions p{max-width:710px}footer{border-top:1px solid var(--line)}.footer-inner>span{font-weight:700}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:10px;z-index:2}.skip:focus{top:10px}@media(max-width:600px){.header-inner,.footer-inner,main{width:calc(100% - 32px)}.header-inner{flex-wrap:wrap;justify-content:flex-start;padding:13px 0;gap:10px 24px}nav{gap:15px}main{padding-top:26px}.tool-bar,.tool-body{padding:13px}.drop{min-height:236px}.footer-inner{flex-wrap:wrap;padding:13px 0}}
