@import url('/vendor/emoji.css');
@import url('/vendor/leaflet.css');
*{box-sizing:border-box}body{margin:0;background:#eeece4;color:#292e29;font:16px system-ui,sans-serif}header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px;max-width:1050px;margin:auto}header a{color:inherit;text-decoration:none;font-size:23px}header span{font-size:12px}main{max-width:1050px;padding:20px;margin:auto}h1{font-size:clamp(27px,5vw,38px);letter-spacing:-1px;line-height:1.15}h2{font-size:22px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin:36px 0}.tiny,.tool-paper{background:#fff1b9;box-shadow:0 10px 26px #302b1a17;border:1px solid #0001;border-radius:5px 10px 12px 5px;padding:24px}.tiny:nth-child(2n){background:#dcebdc;transform:rotate(1deg)}.tiny:nth-child(3n){background:#e6ddf0;transform:rotate(-1deg)}.tiny{min-height:190px;text-align:left;font:inherit;color:inherit;cursor:pointer}.tiny h2{margin:10px 0}.tiny small,.quiet{opacity:.7;font-size:13px;line-height:1.5}button,.button{font:inherit;min-height:44px;padding:10px 16px;border:1px solid #79827666;border-radius:24px;background:#fbfaf5;color:#293c30;cursor:pointer}button.primary,.button{background:#293f31;color:white;text-decoration:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3d68af;outline-offset:3px}nav,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}nav{justify-content:space-between}input,textarea,select{font:inherit;width:100%;padding:12px;border:1px solid #6b735e66;border-radius:9px;background:#fffdfa;color:#293229;margin:6px 0 14px}textarea{min-height:95px;resize:vertical}label{display:block;font-size:14px}input[type=checkbox]{width:auto}input[type=file]{max-width:100%}.result{font-size:30px;font-weight:750;line-height:1.15;overflow-wrap:anywhere;margin:20px 0}.preview{max-width:100%;max-height:380px;display:block;margin:20px auto}.error{color:#9a332d}.qr{background:white;padding:16px;border-radius:6px;display:block;max-width:100%;margin:20px auto}.map{height:430px;min-height:300px;border-radius:12px;z-index:0}.timeline{display:flex;align-items:end;gap:3px;height:80px;margin-top:25px}.timeline span{flex:1;background:#5e93b0;min-height:3px;border-radius:3px 3px 0 0}.legend{display:flex;justify-content:space-between;font-size:12px}.scratch-board{height:550px;overflow:auto;background:#e8dfc7;border:1px solid #ad9e7c;border-radius:12px;position:relative;touch-action:pan-x pan-y}.scratch-space{position:relative;width:1600px;height:1200px}.note{position:absolute;width:220px;height:200px;min-width:150px;min-height:150px;resize:both;overflow:hidden;background:#fff09e;box-shadow:0 7px 14px #3d30192b;z-index:2;display:flex;flex-direction:column}.note-head{display:flex;align-items:center;background:#edda8266;cursor:grab;touch-action:none;min-height:44px}.note-head button{padding:5px 9px;min-height:40px;border:0;background:transparent;border-radius:0;font-size:13px}.note-head .drag-label{padding:8px;flex:1;font-size:12px}.note textarea{flex:1;min-height:50px;margin:0;border:0;background:transparent;padding:12px;border-radius:0;resize:none;outline-offset:-3px}.connections{position:absolute;inset:0;width:1600px;height:1200px;pointer-events:none;z-index:1}.connections line{stroke:#667e83;stroke-width:3}.drop{border:2px dashed #9eaa8f;border-radius:12px;padding:25px;margin:15px 0}.tool-paper{min-height:350px}[hidden]{display:none!important}details{margin:18px 0}summary{cursor:pointer;min-height:44px;padding:10px 0}@media(max-width:600px){header{padding:18px;align-items:start}header span{max-width:90px}main{padding:12px}.tool-paper{padding:18px}.map{height:370px}.tool-grid{gap:18px}.scratch-board{height:520px}.row button{flex-grow:1}.result{font-size:27px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.note-resize{position:absolute;right:0;bottom:0;min-height:30px;width:30px;padding:0;border:0;border-radius:0;background:#ead980;touch-action:none;cursor:nwse-resize}.note textarea{padding-bottom:32px}
.qr-colors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qr-colors input[type=color]{width:100%;height:50px;padding:5px;cursor:pointer}

#qrEmoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Emoji",sans-serif}
.qr-live-frame{margin:16px 0;background:#fff;border-radius:8px;padding:4px;min-height:100px;text-align:center}.qr-live-frame .qr{margin:0 auto;padding:0}canvas.qr{height:auto!important;aspect-ratio:1/1;max-width:100%}.qr-live-frame>p{padding:22px 12px;color:#39473c;font-size:14px}.qr-under{margin-top:14px}.qr-under label{font-size:13px}.qr-under select{margin-bottom:10px}.qr-swap{width:100%;min-height:44px;font-size:14px}.qr-under .quiet{margin:10px 0;font-size:12px}.qr-under details{margin:8px 0}.qr-under summary{font-size:14px}
.keep-note{border-radius:10px;box-shadow:0 8px 22px #302b1a22;border:1px solid #0001;padding:6px 6px 8px;max-width:640px;margin:16px auto;transition:background .15s}.keep-note textarea{width:100%;display:block;margin:0;border:0;background:transparent;resize:none;font-size:18px;line-height:1.5;padding:14px 14px 6px;min-height:160px;overflow:hidden;outline-offset:-3px}.keep-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 10px 4px}.keep-colors{display:flex;gap:6px}#keepCount{white-space:nowrap;margin:0}.keep-dot{width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;border:2px solid #0003}.keep-dot[aria-pressed=true]{border:3px solid #293f31}
.img-h{font-size:14px;margin:18px 0 6px;font-weight:650}.img-fmts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.img-fmt{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:14px;min-height:60px}.img-fmt span{font-size:11px;opacity:.75;white-space:nowrap}.img-fmt[aria-pressed=true]{background:#293f31;color:#fff;border-color:#293f31}.img-slider{margin-top:16px}.img-slider input[type=range]{padding:0;margin:10px 0 2px;height:32px}.img-ticks{display:flex;justify-content:space-between;font-size:11px;opacity:.7;margin-bottom:6px}.img-zoom{display:flex;gap:8px;margin-bottom:10px}.img-zoom button{flex:1;padding:8px}.img-zoom button[aria-pressed=true]{background:#293f31;color:#fff}canvas.cmp{display:block;width:auto;max-width:100%;height:auto;max-height:70vh;margin:0 auto;border-radius:8px;touch-action:pan-y;background:#fff;cursor:crosshair}.img-fmt:disabled{opacity:.5}
.share-box{margin-top:22px;border-top:1px solid #0002;padding-top:6px}.share-once{display:flex;gap:8px;align-items:flex-start}.share-once input{margin-top:4px}#shareLink{font-size:14px}

body:has(#keepNote){height:100dvh;overflow:auto}body:has(#keepNote)>header{display:none}body:has(#keepNote) main{padding:12px;max-width:none;margin:0}body:has(#keepNote) .tool-paper{border-radius:0;box-shadow:none;padding:8px 0;background:transparent;min-height:calc(100dvh - 70px)}body:has(#keepNote) #toolName{font-size:20px;margin:8px 0}body:has(#keepNote) .keep-note{max-width:none;width:100%;margin:12px 0;border-radius:10px}body:has(#keepNote) .keep-note textarea{min-height:calc(100dvh - 370px);font-size:20px}body:has(#keepNote) .keep-bar{flex-wrap:wrap}
