:root{color-scheme:dark;--panel:#171b22;--line:#303641;--text:#edf0f5;--muted:#9ca5b6;--accent:#f5b64b}*{box-sizing:border-box}body{margin:0;background:#07090c;color:var(--text);font:14px/1.5 system-ui,sans-serif;height:100vh;height:100dvh;display:flex;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#242a34;color:var(--text);border-radius:7px;padding:9px 11px}button:hover{background:#343d4b}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:default}input:not([type=checkbox]):not([type=color]),select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:#0f131a;color:var(--text)}input[type=color]{width:100%;height:40px}input[type=checkbox]{accent-color:var(--accent)}h1{font-size:28px;line-height:1.2;margin:10px 0}h1 span{color:var(--accent)}h2{font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}p{margin:8px 0}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent)}aside{width:320px;flex-shrink:0;overflow-y:auto;background:var(--panel);border-right:1px solid var(--line);z-index:20}header{padding:26px 22px 19px}header p,.muted{color:var(--muted);font-size:12px}.section{padding:18px 22px;border-top:1px solid var(--line)}.sectionTitle,.progress{display:flex;justify-content:space-between;align-items:center}.sectionTitle button{font-size:11px;padding:4px 7px}.progress{margin:16px 0 8px}.progress strong{font-size:22px}.bar{height:4px;background:#313744;border-radius:3px;margin-bottom:16px}.bar i{display:block;height:100%;background:var(--accent);width:0}.check{display:flex;gap:8px;align-items:center}.cat{display:flex;align-items:center;gap:10px;margin:12px 0}.cat img{width:23px;height:23px;object-fit:contain}.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.cat span{flex:1}.cat small{color:var(--muted)}.wide{display:block;width:100%;margin:10px 0}.primary{background:var(--accent);border-color:var(--accent);color:#15110a;font-weight:650}.primary:hover{background:#ffd086}.two{display:flex;gap:8px}.two>*{flex:1;min-width:0}.two button{font-size:12px}main{flex:1;position:relative;min-width:0;overflow:hidden;background:#000}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.placing canvas{cursor:crosshair}#pins{position:absolute;inset:0;pointer-events:none}.pin{pointer-events:auto;position:absolute;padding:0;width:32px;height:32px;border:2px solid #fff;border-radius:50%;box-shadow:0 3px 12px #000b;transform:translate(-50%,-50%);color:#111;font-size:17px;font-weight:bold;touch-action:none}.pin img{width:100%;height:100%;object-fit:contain;border-radius:50%;pointer-events:none}.pin.found{opacity:.4;filter:grayscale(1)}.mapTop{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.badge{background:#171b22e6;border:1px solid var(--line);border-radius:6px;padding:7px 12px;font-size:10px;letter-spacing:1px}#status{letter-spacing:0}#hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:8px 15px;background:#171b22e8;border:1px solid var(--line);border-radius:8px;font-size:12px;white-space:nowrap;pointer-events:none}.controls{position:absolute;right:20px;bottom:75px;display:grid;gap:5px}.controls button{font-size:24px;width:42px;height:42px;padding:0}#popup{position:absolute;z-index:12;width:280px;padding:17px;background:#1b2029;border:1px solid #4b5667;border-radius:10px;box-shadow:0 12px 40px #0008}#popup h3{margin:0 0 5px;font-size:18px;overflow-wrap:anywhere}#popup p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:13px;max-height:180px;overflow:auto}#popup .close{float:right;padding:1px 7px;margin-left:8px}dialog{width:min(420px,90vw);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:24px}dialog::backdrop{background:#0009}dialog label{display:block;margin:14px 0}#menu{display:none}[hidden]{display:none!important}@media(max-width:700px){aside{position:absolute;top:0;bottom:0;left:0;width:290px;transform:translateX(-100%);transition:transform .2s}aside.open{transform:translateX(0)}#menu{display:block;position:absolute;top:12px;left:12px;z-index:30}header{padding-top:65px}.mapTop{left:64px;top:14px}.mapTop #badge{display:none}#hint{font-size:10px;max-width:90%;white-space:normal;text-align:center}#popup{width:250px}}

/* Toy-box accents, preserving the original dark palette. */
header{position:relative;background:radial-gradient(circle at 92% 10%,#f5b64b13,transparent 55%);border-top:4px solid var(--accent)}
h1{font-weight:900;letter-spacing:-1px;text-shadow:0 2px 0 #0008}h1 span{display:inline-block;transform:rotate(-3deg)}
.toyLabel{display:inline-block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1.8px;border:1px dashed #f5b64b55;padding:4px 8px;margin:2px 0 8px;border-radius:4px}
.primary{box-shadow:0 3px 0 #9c6a22}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #9c6a22}
.quickLabel{display:block;font-size:12px;color:var(--muted);margin-top:12px}.quickLabel input{margin-top:5px}
.pin{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;width:44px;height:44px;transform:translate(-50%,-100%);filter:drop-shadow(0 2px 2px #0009);font-size:28px}
.pin:hover{background:transparent;filter:drop-shadow(0 0 3px #f5b64b)}
.pin img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:0}
.pin.fallback-icon{width:30px;height:30px;transform:translate(-50%,-50%)}
.pin.found{opacity:.4;filter:grayscale(1) drop-shadow(0 2px 2px #0009)}
.pin:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}

.editCategory{padding:2px 7px;font-size:15px;flex-shrink:0;background:transparent}.cat img{image-rendering:auto}.pin img{image-rendering:auto}

.guideLabel{display:flex;justify-content:space-between;margin-top:14px;color:var(--muted);font-size:12px}

#brandHeader.hasLogo{padding:12px 16px}#logoStage{position:relative;overflow:hidden}#sidebarLogo{position:absolute;transform:translateX(-50%);height:auto;max-width:none;display:block}#logoControls input[type=range]{width:100%;accent-color:var(--accent);padding:0;margin:8px 0}#logoControls input[type=file]{font-size:11px}

main{min-height:0;touch-action:none}#popup{max-width:calc(100% - 16px);max-height:calc(100% - 80px);overflow:auto}.markerPhoto,#markerPhotoPreview{display:block;width:100%;max-height:250px;object-fit:contain;border-radius:7px;margin:12px 0}dialog{max-height:90vh;overflow:auto}#menuBackdrop{position:fixed;inset:0;z-index:19;background:#0007;border:0;border-radius:0;padding:0}@media(min-width:701px){#menuBackdrop{display:none}}@media(max-width:700px){aside{position:fixed;width:min(290px,calc(100vw - 44px));overscroll-behavior:contain}#menu{min-width:44px;min-height:44px}#brandHeader.hasLogo{padding-top:60px}.cat{min-height:36px}#popup button{min-height:44px}}
