/* Official Google Fonts Latin subsets, self-hosted; licenses in assets/fonts/. */
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('./assets/fonts/nunito-sans-latin-v19.woff2') format('woff2')}
@font-face{font-family:'Pixelify Sans';font-style:normal;font-weight:500 700;font-display:swap;src:url('./assets/fonts/pixelify-sans-latin-v3.woff2') format('woff2')}
:root{font-family:'Nunito Sans',Arial,sans-serif;color:#292d29;font-size:14px;font-synthesis:none;--panel:#c5c5bb;--panel-deep:#b4b6ad;--raised:#d1d2c9;--field:#e6e7dd;--text:#292d29;--muted:#3e463c;--shine:#f3f2e5;--shade:#72766c;--edge:#333a32;--accent:#4e7d38;--accent-light:#93b56b;--button-text:#f8faed;--selection:#e4e7d8;color-scheme:light}
:root[data-theme=dark]{--panel:#393e3b;--panel-deep:#303632;--raised:#4a514b;--field:#252c28;--text:#e8eadf;--muted:#cdd5c6;--shine:#788071;--shade:#202922;--edge:#131b15;--accent:#4f773b;--accent-light:#9cb775;--selection:#505d48;color-scheme:dark}
:root[data-dimension=nether]{--accent:#985232;--accent-light:#dfac75;--selection:#e3c5b2}
:root[data-dimension=end]{--accent:#735889;--accent-light:#c7b1dc;--selection:#ddd3e5}
:root[data-theme=dark][data-dimension=nether]{--selection:#624437}
:root[data-theme=dark][data-dimension=end]{--selection:#514359}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:#233b30}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,select,input{border-radius:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ffdd83;outline-offset:3px;z-index:3}button:disabled{cursor:wait;opacity:.6}button{border:2px solid var(--edge);background:var(--raised);box-shadow:inset 2px 2px 0 var(--shine),inset -2px -2px 0 var(--shade),0 2px 0 #0003;padding:9px 15px;min-height:42px;font-weight:700}button:hover{filter:brightness(1.055)}button:active{box-shadow:inset 2px 2px 0 var(--shade);transform:translateY(1px)}input,select{width:100%;min-height:44px;border:2px solid var(--edge);background:var(--field);box-shadow:inset 2px 2px 0 #0002,inset -1px -1px 0 #fff3;padding:8px 11px;line-height:1.2}input{font-variant-numeric:tabular-nums}select{padding-right:24px;cursor:pointer}label{display:grid;gap:7px;font-weight:700;font-size:12px}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.6px;font-weight:800}h2{font-size:13px;font-weight:800}h3{font-size:15px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip-link{position:fixed;top:-100px;left:10px;padding:12px;background:var(--panel);z-index:30}.skip-link:focus{top:8px}.scenery{position:fixed;inset:-8px;z-index:-1;overflow:hidden;background:#252a35}.landscape{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(3px) saturate(.77) brightness(.83);opacity:0;transition:opacity .6s ease,filter .6s ease}/* Inactive scenery has no image URL, so opacity never causes extra requests. */
:root:not([data-dimension]) .overworld,:root[data-dimension=overworld] .overworld{background-image:url('./assets/overworld-1672-v1.webp');opacity:1}
:root[data-dimension=nether] .nether{background-image:url('./assets/nether-1672-v1.webp');opacity:1}
:root[data-dimension=end] .end{background-image:url('./assets/end-1672-v1.webp');opacity:1}
@media(max-width:800px){
:root:not([data-dimension]) .overworld,:root[data-dimension=overworld] .overworld{background-image:url('./assets/overworld-800-v1.webp')}
:root[data-dimension=nether] .nether{background-image:url('./assets/nether-800-v1.webp')}
:root[data-dimension=end] .end{background-image:url('./assets/end-800-v1.webp')}
}
:root[data-theme=dark][data-dimension=overworld] .overworld{filter:blur(3px) saturate(.5) brightness(.29) hue-rotate(22deg)}.night-sky{position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(#06193bb0,transparent 60%);transition:opacity .6s}.night-sky:after{content:'';position:absolute;right:10%;top:90px;width:32px;height:32px;background:#dddccb;box-shadow:inset -8px -4px 0 #aebfcb,0 0 30px #b9d2e93b}:root[data-theme=dark][data-dimension=overworld] .night-sky{opacity:1}.site-header{height:67px;background:#172924cb;border-bottom:1px solid #f5f6e624;color:#f1f2e7;backdrop-filter:blur(10px)}.header-inner{max-width:1400px;height:100%;padding:0 32px;margin:auto;display:flex;align-items:center;gap:44px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;white-space:nowrap;font-family:'Pixelify Sans',monospace;font-size:24px;font-weight:700;letter-spacing:.4px;text-shadow:2px 2px #101910}.brand img{image-rendering:pixelated}.site-header nav{display:flex;align-items:stretch;gap:28px;height:100%;margin-left:auto}.site-header nav a,.nav-link{color:#f2f3e9;text-decoration:none;font-weight:600;display:flex;align-items:center;position:relative;background:none;border:0;padding:0;box-shadow:none;font-size:13px}.site-header nav .active:after{content:'';position:absolute;bottom:14px;height:2px;background:#b7cd83;left:0;right:0}.preferences{display:flex;gap:10px;align-items:center;padding-left:24px;border-left:1px solid #fff3}.header-select{width:auto;min-height:34px;padding:5px 24px 5px 8px;background:#25382f;color:#f3f3e7;border:1px solid #91a18c66;box-shadow:none;font-size:12px}.workspace{max-width:1400px;margin:0 auto;padding:27px 32px 18px}.intro{display:flex;justify-content:space-between;align-items:end;color:#fffdf0;margin-bottom:20px;text-shadow:0 1px 5px #16332999;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;margin-bottom:6px}.preview-label{background:#203329dd;color:#ebeee0;border:1px solid #dce9c757;box-shadow:none;display:flex;align-items:center;gap:8px;font-size:11px;min-height:31px;padding:5px 10px;white-space:nowrap;font-weight:600}.status-dot{display:inline-block;flex:none;width:6px;height:6px;background:var(--accent-light);box-shadow:0 0 0 1px #0002;margin-right:7px}.inventory{background:var(--panel);border:3px solid var(--edge);box-shadow:inset 3px 3px 0 var(--shine),inset -3px -3px 0 var(--shade),0 5px 0 #17241cab,0 18px 50px #111c2859;padding:24px 22px 0;position:relative;transition:background-color .3s}.inventory:before,.inventory:after{content:'';position:absolute;width:5px;height:5px;background:var(--shine);top:-1px;left:2px}.inventory:after{left:auto;right:2px;background:var(--shade)}.world-form{display:grid;grid-template-columns:minmax(260px,1fr) 185px 155px 195px;gap:18px;align-items:end;margin-bottom:23px}.world-form label>span:first-child{padding-left:1px}.input-group{display:flex;gap:0}.input-group input{min-width:0;flex:1;font-family:Consolas,monospace;font-size:15px;font-weight:400}.input-group button{border-left:0;width:44px;min-width:44px;font-size:24px}.primary{background:var(--accent);border-color:#243220;box-shadow:inset 2px 2px 0 #ffffff55,inset -2px -2px 0 #152b1766,0 2px 0 #0004;color:var(--button-text)}.explore-button{height:46px;display:flex;justify-content:space-between;align-items:center;font-family:'Pixelify Sans',monospace;font-size:18px;letter-spacing:.2px}.form-error{padding:0 0 14px;color:#923b30;font-weight:700}:root[data-theme=dark] .form-error{color:#ffb9a8}.dimension-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.dimensions{display:flex;align-items:end;gap:4px;padding-left:1px}.dimensions button{min-height:51px;padding:9px 23px;display:flex;gap:13px;align-items:center;background:var(--panel-deep);border-bottom:0;color:var(--muted);font-size:14px;position:relative}.dimensions button[aria-pressed=true]{background:var(--panel);color:var(--text);min-height:56px;z-index:2}.dimensions button[aria-pressed=true]:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:6px;background:var(--panel)}.block{display:inline-block;width:24px;height:27px;background:#775438;position:relative;clip-path:polygon(50% 0,100% 25%,100% 77%,50% 100%,0 77%,0 25%);flex:none;image-rendering:pixelated}.block:before{content:'';position:absolute;inset:0;clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%);background:#739249}.block:after{content:'';position:absolute;inset:0;background:#0003;clip-path:polygon(50% 50%,100% 25%,100% 77%,50% 100%)}.grass{background:linear-gradient(90deg,transparent 50%,#ffffff12 50%) 0 0/8px 8px,#8a6341}.netherrack{background:#874c42}.netherrack:before{background:#ad6454}.endstone{background:#b6b180}.endstone:before{background:#e3dfaf}.share-button{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:12px;min-height:36px;margin-bottom:8px}.map-body{display:grid;grid-template-columns:205px minmax(0,1fr);border:2px solid var(--shade);box-shadow:0 -1px 0 var(--shine),inset 1px 0 var(--shine);position:relative}.filters{padding:21px 16px 12px;height:100%;max-height:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--shade) var(--panel)}.filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.structure-filters{display:grid;gap:5px}.check-row{display:flex;align-items:center;gap:9px;min-height:35px;font-weight:500;font-size:13px;cursor:pointer}.check-row input{appearance:none;width:17px;height:17px;min-height:0;padding:0;flex:none;background:var(--field);border:1px solid var(--edge);box-shadow:inset 1px 1px 0 #0005}.check-row input:checked{background:var(--accent);box-shadow:inset 1px 1px #ffffff50}.check-row input:checked:after{content:'✓';display:block;color:white;text-align:center;line-height:14px;font-size:13px;font-weight:800}.structure-symbol{width:18px;text-align:center;font-size:18px;text-shadow:1px 1px #353329;color:#e0c38c}.structure-symbol.portal{color:#a577b0}.grid-symbol{width:18px;color:var(--muted);font-size:18px}.separator{height:1px;background:var(--shade);box-shadow:0 1px var(--shine);opacity:.55;margin:17px 0}.coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 9px}.coordinate-fields label{gap:4px;font-size:11px;color:var(--muted)}.coordinate-fields input{padding:6px;min-height:34px;min-width:0;font-size:12px;font-weight:500;appearance:textfield}.coordinate-fields input::-webkit-inner-spin-button{appearance:none}.full-width{width:100%;font-size:12px;min-height:34px;padding:6px 12px}.height-control{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px}.height-control input{width:70px;min-height:32px;font-size:12px;padding:5px 8px}.legend{padding:0;margin:12px 0;list-style:none;display:grid;gap:8px;font-size:11px}.legend li{display:flex;align-items:center;gap:8px}.swatch{display:inline-block;width:12px;height:12px;flex:none;border:1px solid #0004;box-shadow:inset 1px 1px #ffffff30}.sidebar-note{font-size:10px;line-height:1.5;color:var(--muted);margin-top:16px}.map-column{min-width:0;border-left:2px solid var(--shine);padding:12px 12px 0 12px;background:var(--panel-deep)}.map-viewport{position:relative;height:clamp(380px,57vh,680px);min-width:0;border:2px solid var(--shade);box-shadow:1px 1px var(--shine),inset 1px 1px #0008;background:#26382d;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none;cursor:grab}canvas.dragging{cursor:grabbing}.map-status{position:absolute;top:31px;left:50%;transform:translateX(-50%);background:#1d2a24ec;border:1px solid #dae1c44d;color:#f0f1e6;min-height:29px;padding:6px 10px;font-size:11px;display:flex;align-items:center;white-space:nowrap;gap:3px;pointer-events:none;transition:opacity .2s}.map-status[data-ready=true]{opacity:0}.map-status[data-error=true]{white-space:normal;max-width:80%;width:max-content;pointer-events:auto;gap:10px}.map-status button{font-size:11px;padding:5px 9px;min-height:29px}.map-controls{position:absolute;right:12px;top:58px;display:grid;gap:3px}.icon-button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;font-family:Arial,sans-serif;font-size:23px;line-height:1;font-weight:400}.control-gap{height:4px}.north{position:absolute;right:24px;top:24px;display:grid;text-align:center;color:#f8f5df;text-shadow:0 1px 3px #14232b;font-size:10px;line-height:1.15}.north span{font-size:18px}.map-footer{height:35px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.location{display:flex;align-items:center;gap:8px;min-width:0}.tiny-cross{font-size:16px}#hover-biome{padding-left:8px;border-left:1px solid var(--shade);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#hover-biome:empty{display:none}#sampling{white-space:nowrap}.inventory-footer{min-height:39px;padding:9px 1px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);gap:12px}.inventory-footer>span{display:flex;align-items:center;white-space:nowrap}.inventory-footer p{text-align:right}.below-map{display:flex;justify-content:space-between;gap:18px;color:#f6f3e5cc;font-size:10px;padding:17px 0;text-shadow:0 1px 4px #000}.point-card{position:absolute;left:60px;bottom:47px;min-width:200px;max-width:calc(100% - 125px);padding:13px;background:#1d2825f5;color:#f1f2df;border:2px solid #111914;box-shadow:inset 1px 1px #ffffff35,3px 3px #15211955;font-size:12px}.point-heading{display:flex;align-items:center;gap:8px}.point-heading strong{font-size:13px}.plain-close{border:0;box-shadow:none;background:none;color:inherit;min-height:24px;font-size:20px;padding:0 2px 0 10px;margin-left:auto}.point-card p{margin:8px 0;font-family:Consolas,monospace;font-size:11px}.point-card .point-note{font-family:inherit;max-width:240px;font-size:10px;color:#c0c9bb;line-height:1.5}.point-card button:not(.plain-close){font-size:11px;min-height:30px;padding:6px 10px;width:100%;margin-top:4px}.mobile-only{display:none}dialog{color:var(--text);background:var(--panel);border:3px solid var(--edge);box-shadow:inset 3px 3px var(--shine),inset -3px -3px var(--shade),0 20px 80px #0006;padding:24px;max-width:calc(100vw - 30px)}dialog::backdrop{background:#111e23b0;backdrop-filter:blur(4px)}.info-dialog{width:540px}.dialog-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.dialog-heading h2{font-size:20px;flex:1}.info-dialog p{font-size:13px;line-height:1.7;margin-bottom:17px;color:var(--muted)}.info-dialog h3{margin:21px 0 8px}.info-dialog .primary{min-height:42px;margin-top:6px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#1c2b24;color:#f7f5e2;border:2px solid #d8e1c357;padding:12px 22px;box-shadow:3px 3px #17251a66;font-size:13px;z-index:20}.no-script{background:#f4f0d3;color:#282c24;padding:20px} [hidden]{display:none!important}
@media(min-width:1600px){.workspace{padding-top:40px}.intro{margin-bottom:26px}.map-viewport{height:62vh}}
@media(max-width:1100px){.header-inner{gap:24px}.workspace{padding:22px 22px 12px}.world-form{grid-template-columns:minmax(200px,1fr) 145px 120px 160px;gap:12px}.inventory{padding:20px 16px 0}.explore-button{font-size:16px}.map-body{grid-template-columns:185px minmax(0,1fr)}.filters{padding:20px 12px 12px}.dimensions button{padding:9px 18px}.map-column{padding:10px 10px 0}.inventory-footer p{max-width:340px}.below-map{font-size:9px}}
@media(max-width:800px){.site-header{height:59px}.header-inner{padding:0 18px;gap:14px}.brand{font-size:20px;gap:8px}.brand img{width:29px;height:29px}.site-header nav{display:none}.preferences{margin-left:auto;padding-left:0;border:0;gap:5px}.header-select{font-size:11px;padding-left:5px}.workspace{padding:22px 14px 10px}.intro{align-items:center;margin-bottom:17px}.eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:22px}.preview-label{font-size:0;gap:0;width:26px;min-height:26px;padding:6px}.preview-label .status-dot{margin:0}.preview-label>span:last-child{display:none}.inventory{padding:17px 12px 0}.world-form{grid-template-columns:1fr 1fr 1.2fr;gap:12px;margin-bottom:16px}.seed-field{grid-column:1/-1}.world-form label{font-size:11px}.world-form input{font-size:14px}.world-form select{font-size:12px}.explore-button{font-size:15px;padding:9px 11px}.explore-button>span:last-child{display:none}.map-body{grid-template-columns:1fr}#filters-slot{display:none}.map-column{border-left:0;padding:8px 8px 0}.map-viewport{height:54vh;min-height:370px}.dimensions{gap:3px;flex:1}.dimensions button{padding:8px 14px;gap:7px;font-size:12px;min-height:47px}.dimensions button[aria-pressed=true]{min-height:51px}.block{width:20px;height:23px}.share-button{width:34px;height:34px;min-height:34px;padding:3px;justify-content:center}.share-button>span:last-child{display:none}.share-button>span:first-child{font-size:20px}.mobile-only{display:initial}.drawer-trigger{position:absolute;left:10px;top:29px;min-height:40px;padding:7px 11px;font-size:11px}.map-controls{right:10px;top:57px}.map-controls button{width:42px;height:42px}.north{right:24px}.map-status{top:auto;bottom:13px;left:auto;right:10px;transform:none;max-width:calc(100% - 120px);white-space:normal}.map-footer{font-size:9px;height:35px}.inventory-footer{font-size:9px}.inventory-footer p{display:none}.below-map{display:block;line-height:1.6}.below-map p+p{margin-top:5px}#filters-dialog{width:330px;padding:8px;max-height:90vh;overflow:hidden}#filters-dialog .filters{height:auto;max-height:calc(90vh - 25px);padding:16px}.filter-heading .icon-button{display:grid}.point-card{left:12px;bottom:45px;max-width:calc(100% - 70px)}.legend{font-size:12px}.check-row{min-height:43px}.info-dialog{padding:19px}.dialog-heading h2{font-size:17px}}
@media(max-width:390px){.brand{font-size:17px}.header-inner{padding:0 12px}.header-select{max-width:87px}.workspace{padding:18px 9px 9px}h1{font-size:20px}.inventory{padding:14px 8px 0}.world-form{gap:9px}.dimensions button{padding:8px 10px;font-size:11px}.dimension-bar{gap:7px}.dimensions .block{width:17px;height:20px}.map-column{padding:6px 6px 0}.map-footer{font-size:8px}.location{gap:4px}}
/* Keep release labels visible instead of squeezing three controls onto mobile. */
@media(max-width:800px){.world-form{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.world-form .explore-button{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:800px){.header-select{min-height:44px}.preview-label{width:44px;min-width:44px;min-height:44px;justify-content:center}.share-button{width:44px;min-width:44px;height:44px;min-height:44px}.map-controls button,.filter-heading .icon-button{width:44px;height:44px;min-height:44px}.drawer-trigger,.check-row,.coordinate-fields input,.height-control input,.full-width,.point-card button{min-height:44px}}

@media(max-width:390px){#theme{max-width:100px;width:100px}}

/* Structure atlas: one original icon set across map, filters and inspection. */
.layer-icon{width:24px;height:24px;flex:none;image-rendering:pixelated;filter:drop-shadow(1px 2px 0 #0003)}
.layer-search input{min-height:34px;font-size:12px;padding:6px 8px}.layer-search{margin-bottom:8px}
.layer-actions{display:flex;gap:6px;margin:0 0 12px}.layer-actions button{flex:1;min-height:28px;padding:4px 8px;font-size:10px}
.structure-filters{max-height:none;overflow:visible}
/* The map column determines the sidebar height; only the full filter panel scrolls. */
@media(min-width:801px){#filters-slot{position:relative;min-height:0}#filters-slot>.filters{position:absolute;inset:0;height:100%;max-height:none}}
.layer-group h3{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:12px 0 6px}.layer-group:first-child h3{margin-top:0}
.check-row{gap:7px;line-height:1.3}.check-row>span:last-child{flex:1}#slime-filter{margin-top:12px;padding-top:10px;border-top:1px solid var(--shade)}
.layer-note{font-size:10px;line-height:1.5;color:var(--muted);margin:4px 0 10px}.zoom-note{border-left:3px solid #94ad59;padding-left:8px}
#pending-layers{font-size:10px;line-height:1.5;margin:12px 0;color:var(--muted)}#pending-layers summary{cursor:pointer;min-height:24px}#pending-layers p{margin:5px 0}
.north{right:15px;top:13px;gap:3px}.north img{image-rendering:pixelated}.map-controls{top:68px}.point-heading{min-height:25px}
@media(min-width:1101px){.map-body{grid-template-columns:240px minmax(0,1fr)}}
@media(min-width:801px) and (max-width:1100px){.map-body{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:800px){.layer-search input,.layer-actions button,#pending-layers summary{min-height:44px}.structure-filters{max-height:none}.north{right:17px}.map-controls{top:72px}}

.point-card button:not(.plain-close){color:var(--text)}

/* Vanilla item textures retain their native pixel edges. */
.layer-icon{width:32px;height:32px}.brand img{width:32px;height:32px}.north img{width:32px;height:32px}

/* Consistent icon slots and a single aligned seed control. */
.grid-symbol{display:grid;place-items:center;width:32px;height:32px;flex:none}.grid-symbol svg{display:block}
.world-form .input-group{height:44px;align-items:stretch}
.world-form .input-group input,.world-form .input-group button{height:44px;min-height:44px;max-height:44px;margin:0;box-sizing:border-box}
.world-form .input-group button{display:grid;place-items:center;padding:0;line-height:1;align-self:stretch;box-shadow:inset 2px 2px 0 var(--shine),inset -2px -2px 0 var(--shade)}
.world-form .input-group button:active{transform:none;box-shadow:inset 2px 2px 0 var(--shade)}
/* Original block textures projected into inventory-style cubes. */
.block,.dimensions .block{width:32px;height:32px;clip-path:none;background:none;position:relative;overflow:visible}
.block:before,.block:after{content:none}
.block i{display:block;position:absolute;left:0;top:0;width:32px;height:32px;background-size:32px 32px;image-rendering:pixelated;transform-origin:0 0}
.block .block-top{transform:matrix(.5,.25,-.5,.25,16,0)}
.block .block-left{transform:matrix(.5,.25,0,.5,0,8);filter:brightness(.83)}
.block .block-right{transform:matrix(.5,-.25,0,.5,16,16);filter:brightness(.65)}
.grass i{background-image:url('./assets/mc-block-dirt.png')}
.grass .block-left:after,.grass .block-right:after{content:'';position:absolute;inset:0;background:#8dbc62 url('./assets/mc-block-grass_block_side_overlay.png') 0 0/32px 32px;background-blend-mode:multiply;mask:url('./assets/mc-block-grass_block_side_overlay.png') 0 0/32px 32px;image-rendering:pixelated}
.grass .block-top{background-image:url('./assets/mc-block-grass_block_top.png');background-color:#8dbc62;background-blend-mode:multiply}
.netherrack i{background-image:url('./assets/mc-block-netherrack.png')}
.endstone i{background-image:url('./assets/mc-block-end_stone.png')}
@media(max-width:800px){.dimensions button{gap:6px;padding-left:10px;padding-right:10px}}
@media(max-width:390px){.dimensions button{gap:4px;padding-left:5px;padding-right:5px}.dimension-bar{gap:5px}}

/* Launcher-inspired header: dark inventory buttons with crisp bevels. */
.site-header{height:auto;background:#242322;border-bottom:2px solid #11100f;box-shadow:0 2px 0 #ffffff16;backdrop-filter:none}
.header-inner{min-height:82px;gap:24px;padding-top:12px;padding-bottom:12px}
.site-header nav{height:auto;align-items:stretch;gap:6px}
.site-header nav a,.site-header .nav-link,.site-header .header-select{border:2px solid #121110;background:#343230;color:#fff9ee;box-shadow:inset 0 2px #ffffff24,inset 2px 0 #ffffff12,inset 0 -3px #0005,0 2px #111;min-height:50px;font-size:12px;font-weight:800;line-height:1.2;text-shadow:1px 1px #171614;text-transform:uppercase}
.site-header nav a,.site-header .nav-link{padding:7px 16px;gap:10px;justify-content:center}
.site-header nav img{width:32px;height:32px;flex:none;image-rendering:pixelated}
.site-header nav .active{background:#494641;border-color:#c7c4b8;box-shadow:inset 0 2px #ffffff2b,inset 0 -3px #0005,0 2px #111}
.site-header nav .active:after{content:none}
.site-header nav a:hover,.site-header .nav-link:hover,.site-header .header-select:hover{background:#514d47;filter:none}
.site-header nav a:active,.site-header .nav-link:active{transform:translateY(1px);box-shadow:inset 2px 2px #0005}
.site-header .preferences{gap:6px;padding-left:0;border:0}
.site-header .header-select{padding:9px 26px 9px 11px;color-scheme:dark;cursor:pointer}
.site-header .header-select option{background:#343230;color:#fff9ee}
@media(max-width:1100px){.header-inner{gap:14px}.site-header nav a,.site-header .nav-link{padding-left:11px;padding-right:11px;gap:7px}.site-header .brand{font-size:21px}}
@media(max-width:800px){.header-inner{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 18px 14px}.site-header .brand{font-size:20px}.site-header .preferences{grid-column:2;grid-row:1;margin:0}.site-header nav{display:flex;grid-column:1/-1;grid-row:2;margin:0;gap:8px}.site-header nav a,.site-header .nav-link{flex:1;min-height:50px}.site-header .header-select{min-height:44px;font-size:11px;padding-left:8px;padding-right:21px}.site-header nav img{width:28px;height:28px}}
@media(max-width:390px){.header-inner{padding:10px 10px 12px;gap:10px}.site-header .brand{font-size:17px;gap:6px}.site-header .brand img{width:28px;height:28px}.site-header .preferences{gap:4px}.site-header #theme{width:91px;max-width:91px}.site-header .header-select{font-size:10px;padding-left:6px;padding-right:17px}.site-header nav a,.site-header .nav-link{font-size:11px}}

/* Biome finder uses the same inventory controls as the structure layers. */
.filter-tabs{display:flex;gap:4px;margin:0 0 14px;border-bottom:2px solid var(--shade)}
.filter-tabs button{flex:1;padding:8px 4px;font-size:11px;min-height:38px;background:var(--panel-deep);border-bottom:0;box-shadow:inset 2px 2px var(--shine);color:var(--muted)}
.filter-tabs button[aria-selected=true]{background:var(--raised);color:var(--text);box-shadow:inset 2px 2px var(--shine),inset 0 -3px var(--accent)}
.biome-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;margin:8px 0}
.biome-selection-heading button{font-size:10px;padding:5px 9px;min-height:30px}
.biome-selection-heading button:disabled{cursor:default}
.selected-biomes{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.biome-chip{font-size:10px;min-height:28px;padding:4px 6px;line-height:1.3;text-align:left;font-weight:600;background:var(--selection)}
.biome-options{max-height:none;overflow:visible}
.biome-row{min-height:36px}.biome-row .swatch{width:18px;height:18px}
.biome-help{font-size:10px;color:var(--muted);line-height:1.5;margin:10px 0 15px}
#biome-status{padding-left:7px;border-left:3px solid var(--accent);margin:12px 0 0}
@media(max-width:800px){.filter-tabs button,.biome-selection-heading button,.biome-chip,.biome-row{min-height:44px}.biome-options{max-height:none}.biome-chip{font-size:11px}}

/* Nearby destinations share the inventory's inset fields and compact slots. */
#nearby-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:10px}
#nearby-fields label{display:grid;gap:4px;font-size:11px;font-weight:700;min-width:0}
#nearby-fields input,#nearby-fields select{width:100%;min-width:0;min-height:36px;padding:7px;font-size:12px}
#nearby-fields[disabled]{opacity:.65}
.nearby-actions{display:flex;gap:6px;margin-top:12px}.nearby-actions button{flex:1;font-size:11px;min-height:38px;padding:8px 6px}
.nearby-context{font:10px/1.6 monospace;padding:8px;background:var(--panel-deep);border-left:3px solid var(--accent);overflow-wrap:anywhere}
#nearby-status{margin:12px 0}#nearby-progress{width:100%;height:8px;accent-color:var(--accent)}
#nearby-results-heading{font-size:11px;margin:15px 0 8px}
.nearby-results{padding:0;margin:0 0 14px;list-style:none;display:grid;gap:8px}
.nearby-results li{padding:10px 8px;background:var(--panel-deep);border:1px solid var(--shade);box-shadow:inset 1px 1px var(--shine)}
.nearby-results strong{display:flex;align-items:center;gap:6px;font-size:12px}.nearby-results img{image-rendering:pixelated;flex:none}
.nearby-results p{font:11px/1.5 monospace;margin:5px 0}.nearby-results .nearby-distance{font-family:inherit;color:var(--muted)}
.nearby-result-actions{display:grid;gap:5px;margin-top:8px}.nearby-result-actions button{font-size:11px;min-height:32px;padding:6px}
@media(max-width:800px){#nearby-fields input,#nearby-fields select,.nearby-actions button,.nearby-result-actions button{min-height:44px}}

#nearby-options summary{font-size:12px;font-weight:800;cursor:pointer;min-height:38px;padding:9px 7px;background:var(--raised);border:1px solid var(--shade);margin-bottom:10px}#nearby-options[open] summary{background:var(--panel-deep)}
@media(max-width:800px){#nearby-options summary{min-height:44px}}

.guide-message{padding:12px 14px;margin:0 0 20px;border-left:4px solid var(--accent);background:var(--selection);font-size:13px;line-height:1.6}
.height-panel{padding:12px 14px;margin:0 0 10px;background:var(--panel-deep);border:2px solid var(--edge);box-shadow:inset 2px 2px var(--shade),inset -1px -1px var(--shine)}
.height-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.height-heading h2{font-size:13px}
.height-current{font-family:'Pixelify Sans',monospace;font-size:20px;font-weight:700;background:var(--selection);border:1px solid var(--shade);padding:3px 10px;white-space:nowrap;font-variant-numeric:tabular-nums}.height-current[data-loading=true]{border-style:dashed}
.height-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.height-input{display:flex;align-items:center;position:relative;width:110px;flex:none}.height-input>span{position:absolute;left:12px;font-weight:800;color:var(--muted);pointer-events:none}.height-input input{padding-left:29px;font-size:14px}.height-form>button{font-size:12px;min-height:44px;padding:8px 12px}
.height-presets{display:flex;gap:5px;margin-left:auto}.height-presets button{font-size:12px;min-height:44px;padding:6px 10px;font-variant-numeric:tabular-nums}.height-presets button[aria-pressed=true]{background:var(--selection);box-shadow:inset 2px 2px var(--shade);border-color:var(--accent)}
.height-feedback{font-size:12px;font-weight:800;margin-top:10px;line-height:1.5}.height-feedback[data-pending=true]{color:var(--text);border-left:3px solid var(--accent);padding-left:8px}.height-detail,.height-explanation{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.height-explanation{margin-top:6px}
@media(max-width:1100px){.height-presets{margin-left:0}}
@media(max-width:800px){.height-panel{padding:10px;margin-bottom:8px}.height-form{display:grid;grid-template-columns:100px minmax(0,1fr)}.height-input{width:auto}.height-presets{grid-column:1/-1}.height-presets button{flex:1}.height-detail,.height-explanation{font-size:12px}}
@media(min-width:801px) and (max-width:1200px){.header-inner{gap:12px;padding-left:24px;padding-right:24px}.site-header nav a,.site-header .nav-link{padding:7px 9px;gap:6px;font-size:11px}.site-header nav img{width:25px;height:25px}.site-header .brand{font-size:19px;gap:7px}}
@media(max-width:800px){.site-header nav{gap:5px}.site-header nav a,.site-header .nav-link{min-width:0;padding:8px 5px;gap:5px;font-size:10px}.site-header nav img{width:24px;height:24px}.site-header .nav-link img{display:none}}

/* Keep the inventory controls inside narrow mobile viewports, including scrollbars. */
@media(max-width:360px){body{min-width:0}.world-form{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.world-form .seed-field,.world-form .explore-button{grid-column:1/-1}.dimensions{flex:1;min-width:0}.dimensions button{flex:1;min-width:0;flex-direction:column;gap:4px;padding:7px 3px;font-size:10px}.site-header .brand{font-size:15px}.site-header .brand img{width:24px;height:24px}.site-header #theme{width:100px;max-width:100px}}
