:root{color-scheme:dark;--ink:#f2f6ef;--muted:#bdcbc6;--mint:#9ee3be;--mint-deep:#245a46;--amber:#ffd58a;--panel:#172d2beF;--line:#e5ffe31c;--shadow:0 20px 70px #06171266;--radius:22px;font-family:"Segoe UI",ui-rounded,system-ui,-apple-system,sans-serif;font-size:clamp(15px,.72vw + 4px,22px)}
#blindfold{position:fixed;inset:0;z-index:1;background:rgb(10,15,25);pointer-events:none}.game-ui{z-index:2}.overlay-layer{z-index:3}body[data-blindfold="true"] :is(#quest-hint,#show-tips,#minimap-toggle,#figure-actions-hud,#discovery-hud,#vehicle-finder,#crosshair){display:none!important}
.focus-game{flex-direction:column;gap:.2rem;max-width:min(350px,calc(100vw - 40px));text-align:center}.focus-game:not([hidden]){display:flex}.focus-game strong{font-size:.85rem}.focus-game small{font-size:.67rem;color:var(--muted);line-height:1.5;white-space:normal}body[data-pointer-locked="true"] #focus-game{display:none!important}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#183b35;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--amber);outline-offset:4px}button{touch-action:manipulation}button:disabled{opacity:.55}button,input,select{border:1px solid var(--line);border-radius:12px;color:var(--ink)}button{background:none}input,select{background:#10221f;padding:.75rem 1rem}input::placeholder{color:#a8bdb5}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:750}h2{font-size:1.85rem;letter-spacing:-.04em;line-height:1.15}h3{font-size:1rem}p{line-height:1.55}kbd{font-family:inherit;font-size:.75em;border:1px solid #ebfff733;background:#effff009;padding:.12em .4em;border-radius:5px;color:inherit;white-space:nowrap}[hidden]{display:none!important}
#game-canvas{display:block;position:fixed;inset:0;width:100%;height:100%;outline:0;background:linear-gradient(160deg,#96cdc0,#cae5dc 48%,#4b9470)}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 30px #04151130;backdrop-filter:blur(14px)}.game-ui{position:fixed;inset:0;pointer-events:none}.game-ui button,.game-ui a{pointer-events:auto}.topbar{position:absolute;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;gap:1.3rem;min-height:72px;padding:.55rem .9rem;border-radius:18px}.brand{display:flex;align-items:center;gap:.02em;color:var(--ink);text-decoration:none;font-size:1.45rem;font-weight:850;letter-spacing:-.06em;white-space:nowrap}.brand>span:not(.brand-mark):not(.browser-badge){color:var(--mint)}.brand-mark{display:inline-grid;place-items:center;background:var(--mint);color:#173f2e;width:36px;height:38px;margin-right:.55rem;border-radius:10px;font-size:1.45rem;box-shadow:inset -4px -4px #49836240;transform:rotate(-5deg)}.world-details{display:flex;flex-direction:column;gap:.16rem;min-width:0}.eyebrow{font-weight:800;color:var(--mint);font-size:.68rem;letter-spacing:.12em;line-height:1.5}.world-details>#world-seed{font-size:.86rem;white-space:nowrap}.save-state{font-size:.75rem;color:var(--muted);margin-left:auto}.topbar-actions{display:flex;align-items:center;gap:.55rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;padding:.7rem 1.05rem;min-height:44px;font-weight:720;transition:background .16s,transform .16s;border:1px solid #effff726}.button:hover:not(:disabled){transform:translateY(-1px);background:#34564c}.button-primary{background:var(--mint);color:#133e2b;border-color:var(--mint);box-shadow:0 5px 0 #133e2b40}.button-primary:hover:not(:disabled),.button-mint:hover:not(:disabled){background:#b8f0ce}.button-primary>span:last-child{margin-left:auto}.button-mint{background:var(--mint);color:#173d2c;border-color:var(--mint)}.button-large{width:100%;padding:1rem 1.2rem;min-height:62px;font-size:1rem}.button-soft{background:#d6efe510}.button-outline{border-color:#aee7c954}.icon-button{width:45px;height:45px;background:#d6efe50b;font-size:1.35rem}.quiet-button,.close-button{display:grid;place-items:center;color:var(--muted);font-size:1.5rem;min-width:38px;min-height:38px;border-color:transparent}.quiet-button:hover,.close-button:hover{background:#ffffff0c}.quest-hint{position:absolute;top:110px;left:max(20px,env(safe-area-inset-left));width:min(390px,calc(100vw - 40px));display:flex;gap:.7rem;padding:.9rem;border-radius:17px}.quest-icon{color:var(--amber);font-size:1.6rem}.quest-hint p{font-size:.85rem;margin-top:.18rem;line-height:1.45}.quest-hint .quiet-button{margin-left:auto;margin-top:-.35rem;margin-right:-.3rem;font-size:1.15rem;min-width:28px;min-height:28px}.quest-hint #quest-distance{display:inline-block;color:var(--amber);font-weight:700;font-size:.75rem;margin-top:.35rem}.tips-return{position:absolute;top:110px;left:20px;border-radius:13px;padding:.7rem 1rem;color:var(--muted);font-size:.8rem}.action-message{position:absolute;left:50%;transform:translateX(-50%);top:110px;max-width:min(600px,calc(100vw - 500px));padding:.7rem 1rem;border-radius:13px;color:var(--amber);font-size:.86rem;text-align:center}.focus-game{position:absolute;top:calc(50% - 25px);left:50%;transform:translateX(-50%);border-radius:14px;padding:.8rem 1.15rem;font-weight:700;box-shadow:0 12px 60px #112a1c50}.focus-game>span{margin-left:.6rem;color:var(--mint)}#crosshair{position:absolute;left:50%;top:50%;height:20px;width:20px;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #00170f)}#crosshair span{background:#ffffffcf;border-radius:3px;position:absolute}#crosshair span:first-child{width:16px;height:2px;left:2px;top:9px}#crosshair span:last-child{width:2px;height:16px;left:9px;top:2px}
.playing-hud{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(900px,calc(100vw - 40px));display:flex;flex-direction:column;gap:8px}.selection-row{padding:.65rem .8rem;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.selected-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.selected-info strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-info>#selected-detail{font-size:.71rem;color:var(--muted)}.selection-row>.button{font-size:.85rem;white-space:nowrap}.hotbar{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:7px;border-radius:17px}.hotbar-slot{position:relative;min-width:0;min-height:68px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:#b5dfca0a;padding:8px 5px 7px;border-radius:11px;border:1px solid transparent}.hotbar-slot:hover{background:#bcecd31b}.hotbar-slot[aria-pressed=true]{background:#ccf4dd22;border-color:var(--amber);box-shadow:inset 0 0 0 1px #ffd58a44}.slot-number{position:absolute;left:6px;top:4px;font-size:.58rem;color:#b6c9c1}.slot-name{font-size:.56rem;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:center;color:var(--muted)}.tile-icon{display:block;height:30px;width:30px;flex-shrink:0;image-rendering:pixelated;background-repeat:no-repeat;border-radius:4px;font-size:1.65rem;line-height:30px;text-align:center;filter:drop-shadow(0 3px 2px #07181060)}.hotbar-slot[aria-pressed=true] .slot-name{color:var(--ink)}.play-controls{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.64rem;color:#f5fff2;filter:drop-shadow(0 1px 4px #032419);text-shadow:0 1px 4px #051d11}.play-controls button{border:none;padding:3px 6px;color:var(--mint);font-size:inherit;font-weight:700}.play-controls kbd{font-size:inherit;background:#102b2099}.game-ui.is-menu-open .quest-hint,.game-ui.is-menu-open .tips-return,.game-ui.is-menu-open .action-message,.game-ui.is-menu-open #crosshair,.game-ui.is-menu-open .focus-game,.game-ui.is-menu-open .playing-hud{visibility:hidden}
.overlay-layer{position:fixed;inset:0;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));overflow:auto;background:#0b201747;backdrop-filter:blur(8px)}.dialog{background:#172d2bf7;box-shadow:var(--shadow);border:1px solid #c8e9d02b;border-radius:var(--radius);width:min(720px,100%);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#679079 transparent;scrollbar-width:thin}.start-panel{width:min(1080px,100%);display:grid;grid-template-columns:.87fr 1fr;overflow:hidden;background:#1a312df7;max-height:none}.start-art{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;min-height:620px;background:radial-gradient(circle at 70% 25%,#d7f3b58c,transparent 30%),linear-gradient(160deg,#739f80,#4c8167 56%,#225d43)}.start-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#173f2ea6,transparent 65%);pointer-events:none}.sun-orbit{position:absolute;width:160px;height:160px;background:#ffe9aa;border-radius:50%;top:75px;left:calc(50% - 20px);box-shadow:0 0 0 25px #ffe9aa15,0 0 0 60px #ffe9aa0a}.voxel-land{position:absolute;left:50%;top:58%;width:220px;height:220px;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-35deg);transform-style:preserve-3d;background:repeating-linear-gradient(90deg,transparent 0 36px,#b1d78b20 36px 38px),repeating-linear-gradient(0deg,#82b363 0 36px,#a9d384 36px 38px);box-shadow:-18px 18px #456547,-36px 36px #635841,-48px 48px #4b4032,0 45px 70px #0a2c3080}.voxel-land i{position:absolute;display:block;width:64px;height:64px;background:#dbbe7c;box-shadow:-12px 12px #9b7945,-24px 24px #7c6036;transform:translateZ(30px)}.voxel-land i:nth-child(1){left:35px;top:48px;background:#efcf88}.voxel-land i:nth-child(2){left:102px;top:48px;background:#f2d58d}.voxel-land i:nth-child(3){left:35px;top:115px;background:#ecd092}.voxel-land i:nth-child(4){left:102px;top:115px;background:#daaf6b}.voxel-land i:nth-child(5){width:96px;height:96px;left:70px;top:15px;background:#73bd79;box-shadow:-10px 10px #47915e,-20px 20px #306644;transform:translateZ(112px)}.floating-spark{position:absolute;color:#ffe8ae;font-size:2.4rem;z-index:1}.spark-one{left:16%;top:35%;transform:rotate(-12deg)}.spark-two{right:12%;top:54%;font-size:1.8rem}.art-caption{position:relative;z-index:2;max-width:260px;text-align:center;line-height:1.7;letter-spacing:.17em;font-size:.67rem;font-weight:800;margin-bottom:35px;color:#e8ffdb}.start-content{padding:2rem 2.3rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.start-brand{margin-bottom:.8rem;flex-wrap:wrap}.browser-badge{font-size:.49rem;font-weight:800;letter-spacing:.1em;color:#cce9d5;align-self:center;margin-left:.8rem;padding:.4rem .5rem;border:1px solid #cdebd22c;border-radius:7px}.start-content h1{font-size:3.2rem;letter-spacing:-.065em;line-height:1.03;color:#fff1d4}.start-intro{color:#c7d9ce;font-size:.93rem;max-width:33ch}.start-features{display:flex;flex-wrap:wrap;gap:.6rem 1rem;font-size:.67rem;color:#c4dec6;padding:.25rem 0 .75rem}.start-content>.small-note{margin-top:-.3rem}.small-note{font-size:.73rem;color:var(--muted);line-height:1.5}.start-footer{font-size:.69rem;color:#91b49f;margin-top:auto;padding-top:.8rem}.loading-panel{width:100%;display:flex;flex-direction:column;gap:.7rem;padding:.7rem 0}.loading-caption{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem}.loading-caption>span{color:var(--mint);font-size:.72rem}.progress-track{height:9px;border-radius:10px;background:#061f178c;overflow:hidden}.progress-track>span{display:block;min-width:3%;height:100%;background:linear-gradient(90deg,var(--mint),var(--amber));border-radius:10px;transition:width .2s}.progress-track.is-indeterminate>span{width:25%;animation:loading-sweep 1.6s ease-in-out infinite}@keyframes loading-sweep{0%,100%{transform:translateX(-100%)}50%{transform:translateX(400%)}}.modal{padding:1.6rem 1.7rem;display:flex;flex-direction:column;gap:1.4rem}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-header h2{margin-top:.25rem}.modal-header .close-button{margin-top:-.35rem;margin-right:-.35rem}.menu-section{display:flex;flex-direction:column;gap:.7rem}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.menu-card{padding:1rem;display:grid;grid-template-columns:28px 1fr;gap:.2rem .65rem;text-align:left;background:#c8efde08;min-height:108px}.menu-card:hover{background:#c8efde14;border-color:#b5edd451}.menu-card>span{grid-row:span 2;color:var(--mint);font-size:1.3rem}.menu-card>strong{font-size:.87rem}.menu-card>small{font-size:.69rem;color:var(--muted);line-height:1.45}.quality-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.1rem}.quality-row select{min-width:150px}.quality-row p{margin-top:.3rem}.menu-bottom{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.menu-bottom .button{font-size:.77rem}.tips-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--muted);margin-left:auto}.tips-checkbox input{width:17px;height:17px;accent-color:var(--mint)}.build-panel{width:min(1040px,100%)}.search-field{display:flex;align-items:center;gap:.8rem;background:#0e211c;padding:0 1rem;border:1px solid #d6eedd24;border-radius:13px}.search-field input{width:100%;background:none;border:0;outline:0;padding:.8rem 0;font-size:.87rem}.search-field:focus-within{outline:2px solid var(--mint);outline-offset:2px}.search-field>span{font-size:1.4rem;color:var(--mint)}.category-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.category-tab{padding:.6rem .75rem;font-size:.77rem;border-radius:9px;font-weight:700;background:#d6f0e009}.category-tab[aria-pressed=true]{background:var(--mint);color:#173c29;border-color:var(--mint)}.build-results-row{display:flex;justify-content:space-between;gap:1rem}.build-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem;overflow:auto;max-height:50dvh;min-height:70px;padding:3px}.build-card{display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;padding:.9rem .6rem;min-height:125px;background:#c0ebd508;border:1px solid #c0ebd519;border-radius:15px}.build-card:hover{background:#c0ebd517;border-color:#b5ead576}.build-card[aria-pressed=true]{border-color:var(--amber);background:#c0ebd518}.build-card .tile-icon{width:42px;height:42px;line-height:42px;font-size:2.1rem}.build-card>strong{font-size:.79rem;text-align:center}.build-card>small{font-size:.65rem;color:var(--muted)}.empty-state{padding:2rem;text-align:center;color:var(--muted);font-size:.85rem}.controls-help{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.controls-help p{font-size:.8rem;color:var(--muted);margin-top:.5rem}.controls-help dl{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.85rem .65rem;margin:1.2rem 0 0;font-size:.77rem}.controls-help dd{margin:0;text-align:right;color:var(--mint)}.help-tip{display:flex;gap:.75rem;padding:1rem;border-radius:14px;background:#ffe9ad0b;border:1px solid #ffdd981b}.help-tip>span{color:var(--amber);font-size:1.5rem}.help-tip p{font-size:.79rem;color:var(--muted)}.help-tip strong{color:var(--amber)}.modal-intro{color:var(--muted);font-size:.88rem}.storage-panel{width:min(850px,100%)}.storage-status{padding:.8rem 1rem;border-radius:13px;background:#d4f7dc0a;font-size:.89rem;color:var(--amber)}.storage-items{display:grid;gap:.65rem}.storage-item{display:grid;grid-template-columns:minmax(100px,1fr) minmax(80px,.7fr) auto;align-items:center;gap:.7rem;padding:.8rem;border:1px solid var(--line);background:#d4f7dc06;border-radius:13px}.storage-item strong{font-size:.86rem}.storage-item small{font-size:.72rem;color:var(--muted)}.storage-item-count{display:flex;flex-direction:column;gap:.2rem}.storage-item-buttons{display:flex;gap:.4rem}.storage-item-buttons .button{font-size:.72rem;padding:.6rem .7rem;min-height:42px}.storage-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.storage-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:67px;padding:.7rem;font-size:.82rem}.storage-action>.action-reason{font-size:.65rem;font-weight:400;color:var(--muted);line-height:1.4}.storage-action:disabled{opacity:1;background:#bddfce08;color:#afbeb4;border-color:#bddfce15}.storage-action:disabled.button-primary{box-shadow:none}.confirm-panel{width:min(600px,100%)}.confirm-panel>p{font-size:.87rem;color:var(--muted)}.seed-field{display:flex;flex-direction:column;gap:.5rem;font-weight:700;font-size:.82rem}.seed-field>.small-note{font-weight:400}.confirm-actions{display:flex;flex-direction:column;gap:.7rem}.text-button{border:0;color:var(--mint);font-size:.8rem;padding:.4rem}.error-panel{width:min(620px,100%);text-align:center;align-items:center;padding:2.2rem}.error-symbol{font-size:2rem;display:grid;place-items:center;width:65px;height:65px;background:#ffd88c14;color:var(--amber);border-radius:20px}.error-panel h2{line-height:1.25}.error-panel p{color:var(--muted);font-size:.87rem;overflow-wrap:anywhere}.noscript-message{position:fixed;inset:20%;padding:2rem;border-radius:20px;background:#193c2f;color:white;z-index:20}
.touch-controls{position:absolute;bottom:165px;left:20px;right:20px;justify-content:space-between;align-items:flex-end;pointer-events:none}.touch-stick{height:112px;width:112px;border:2px solid #effff43d;border-radius:50%;background:#12352465;position:relative;pointer-events:auto;touch-action:none}#touch-stick-handle{height:45px;width:45px;background:#a8e6c58f;border:1px solid #deffeaa6;border-radius:50%;position:absolute;top:33px;left:33px}.touch-actions{display:flex;gap:12px;align-items:flex-end}.touch-actions button{width:56px;height:56px;border-radius:50%;background:#183c2ccf;font-size:1.6rem;pointer-events:auto;touch-action:none}.touch-actions #touch-use{width:65px;height:65px;color:var(--mint);border-color:#afe6c580}
@media(min-width:2400px){.topbar{left:32px;right:32px;top:28px;padding:.6rem 1rem;min-height:95px}.brand-mark{width:49px;height:51px}.quest-hint{top:145px;left:32px;width:520px}.tips-return{top:145px;left:32px}.action-message{top:145px;max-width:760px}.playing-hud{width:min(1260px,calc(100vw - 70px));bottom:28px;gap:12px}.hotbar-slot{min-height:92px}.tile-icon{width:40px;height:40px;line-height:40px}.start-panel{width:1440px}.start-art{min-height:760px}.modal{width:960px;max-height:calc(100dvh - 80px)}.build-panel{width:1380px}.build-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.storage-panel{width:1100px}.confirm-panel{width:750px}.error-panel{width:820px}.topbar .icon-button{width:56px;height:56px}.focus-game{padding:1rem 1.4rem}}
@media(max-width:1100px){.start-panel{width:min(880px,100%);grid-template-columns:.7fr 1fr}.start-art{min-height:560px}.start-content{padding:1.7rem 1.8rem}.start-content h1{font-size:2.8rem}.start-features{gap:.6rem}.topbar{min-height:62px;gap:1rem}.quest-hint{top:98px;width:320px}.tips-return{top:98px}.action-message{top:98px;max-width:calc(100vw - 380px);left:auto;right:20px;transform:none}.play-controls{gap:.7rem}.playing-hud{width:780px;max-width:calc(100vw - 32px)}.build-cards{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:760px){:root{font-size:15px}.overlay-layer{padding:14px}.dialog{max-height:calc(100dvh - 28px)}.start-panel{grid-template-columns:1fr;overflow:auto}.start-art{display:none}.start-content{padding:1.7rem;gap:.8rem}.start-content h1{font-size:2.9rem}.start-intro{max-width:none}.start-features{padding:.25rem 0 .5rem}.start-content .start-brand{margin-bottom:.4rem}.start-footer{padding-top:.4rem}.topbar{left:10px;right:10px;top:10px;gap:.7rem;padding:.5rem .6rem}.brand{font-size:1.15rem}.brand-mark{width:29px;height:31px;font-size:1.2rem;margin-right:.35rem}.world-details{display:none}.save-state{font-size:.62rem}.topbar .icon-button{display:none}.topbar .button{font-size:.75rem;min-height:38px;padding:.5rem .65rem}.topbar .button kbd{display:none}.quest-hint{top:82px;left:10px;width:290px;padding:.65rem}.quest-hint p{font-size:.77rem}.quest-icon{font-size:1.2rem}.tips-return{top:82px;left:10px}.action-message{top:170px;left:10px;right:auto;max-width:calc(100vw - 20px);font-size:.77rem}.playing-hud{bottom:10px;width:calc(100vw - 20px);max-width:none;gap:5px}.selection-row{padding:.5rem .65rem;gap:.5rem;border-radius:13px}.selected-info strong{font-size:.85rem}.selected-info #selected-detail{font-size:.62rem}.selection-row>.button{padding:.55rem .65rem;font-size:.72rem;min-height:40px}.selection-row>.button kbd{display:none}.hotbar{padding:5px;gap:3px;border-radius:13px}.hotbar-slot{min-height:52px;padding:7px 2px 4px;border-radius:8px}.hotbar-slot .tile-icon{width:24px;height:24px;line-height:24px;font-size:1.3rem}.slot-name{display:none}.slot-number{font-size:.5rem;left:4px;top:2px}.play-controls{display:none}.modal{padding:1.2rem;gap:1rem;border-radius:18px}.modal h2{font-size:1.55rem}.menu-card{padding:.75rem;grid-template-columns:23px 1fr;min-height:99px}.menu-card>strong{font-size:.8rem}.menu-card>small{font-size:.65rem}.quality-row{gap:.7rem}.quality-row select{min-width:120px;padding:.6rem}.quality-row p{font-size:.65rem}.tips-checkbox{margin-left:0}.controls-help{grid-template-columns:1fr;gap:1rem}.controls-help dl{gap:.5rem;margin-top:.7rem}.build-cards{grid-template-columns:repeat(auto-fill,minmax(122px,1fr));max-height:46dvh;gap:.5rem}.build-card{min-height:112px}.category-tabs{gap:.3rem}.category-tab{font-size:.7rem;padding:.5rem .65rem}.build-results-row>span:last-child{display:none}.storage-item{grid-template-columns:1fr auto;gap:.6rem;padding:.65rem}.storage-item-count{grid-column:1;grid-row:2}.storage-item-buttons{grid-column:2;grid-row:span 2;flex-wrap:wrap;justify-content:flex-end;max-width:155px}.storage-item-buttons .button{padding:.5rem;font-size:.65rem;min-height:37px}.storage-actions{grid-template-columns:1fr}.storage-action{min-height:60px}.focus-game{font-size:.8rem;white-space:nowrap;padding:.7rem 1rem}.error-panel{padding:1.6rem}.touch-controls{display:flex}.game-ui.is-menu-open .touch-controls{visibility:hidden}}
@media(max-height:650px) and (min-width:761px){.start-art{min-height:440px}.start-content{gap:.55rem;padding:1.3rem 1.7rem}.start-content h1{font-size:2.4rem}.start-brand{margin-bottom:.15rem}.start-content .button-large{min-height:52px;padding:.7rem 1rem}.start-footer{padding-top:0}.start-features{padding:0}.modal{padding:1.1rem 1.5rem;gap:1rem}.topbar{top:10px;min-height:56px;padding:.4rem .7rem}.quest-hint{top:81px;padding:.7rem}.tips-return,.action-message{top:81px}.playing-hud{bottom:10px;gap:5px}.selection-row{padding:.4rem .65rem}.hotbar-slot{min-height:56px}.play-controls{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.build-card:disabled{opacity:1;background:#bfd6c307;color:#a7b7ad;cursor:default}.build-card:disabled:hover{border-color:#c0ebd519;background:#bfd6c307}.build-card:disabled .tile-icon{filter:grayscale(1);opacity:.6}.build-card .availability-hint{color:#bed0c4;font-size:.64rem;line-height:1.4;max-width:24ch;text-align:center}

/* The adventure book uses the same controls on a desktop, 5K screen and phone. */
.journal-panel{width:min(1160px,100%);max-height:calc(100dvh - 48px);min-width:0}.journal-panel .modal-header{position:sticky;top:-1.6rem;background:#172d2bf7;z-index:2;padding:.25rem 0 .8rem;margin-bottom:-.6rem}.panel-navigation{display:flex;gap:.45rem;align-items:center;flex-shrink:0}.panel-navigation>.button{font-size:.72rem;padding:.5rem .75rem;min-height:40px}.journal-body{display:flex;flex-direction:column;gap:1rem;min-width:0}.journal-section{display:flex;flex-direction:column;gap:.7rem}.section-title{font-size:.84rem;color:var(--muted);margin:.4rem 0}.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr));gap:.8rem;align-items:stretch}.journey-card{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;text-align:left;min-height:160px;padding:1rem;background:#ddf6e809;border:1px solid #d5f5e220;border-radius:16px}.journey-card:hover{background:#ddf6e817;border-color:#c4f1d359}.journey-card>strong{font-size:.94rem}.journey-card>small{font-size:.75rem;color:var(--muted);line-height:1.5}.journey-icon{font-size:1.4rem;color:var(--amber)}.journal-summary,.inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.inline-actions>.button{font-size:.78rem}.journal-card{min-width:0;display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:1px solid #d5f5e21c;border-radius:16px;background:#ddf6e807;overflow-wrap:anywhere}.journal-card h3{font-size:1rem;line-height:1.4}.journal-card>.button{font-size:.78rem;white-space:normal;line-height:1.4;margin-top:auto}.journal-card .small-note{font-size:.76rem}.journal-card.is-selected,.figure-card[aria-pressed=true]{border-color:var(--amber);background:#ddf6e811}.journal-card.is-complete{border-color:#9ee3be55}.active-round{background:#9ee3be0c;border-color:#9ee3be50}.active-round>.button{margin-top:0;align-self:flex-start}.rules-text{font-size:.79rem;line-height:1.55;white-space:pre-line;color:var(--muted)}.status-badge{display:inline-flex;align-self:flex-start;gap:.3rem;padding:.3rem .55rem;border-radius:7px;background:#bdddc910;color:var(--mint);font-size:.66rem;font-weight:700;line-height:1.4}.disabled-reason{font-size:.75rem;color:var(--amber);line-height:1.5}.compact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .8rem}.compact-card>p{grid-column:1}.compact-card>.button{grid-column:2;grid-row:1 / span 3;margin:0}.journal-list{display:flex;flex-direction:column;gap:.6rem}.journey-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem}.journey-shortcuts>button{padding:.6rem .7rem;min-height:44px;font-size:.74rem;background:#dbf4e609}.journey-shortcuts>button:first-child{color:var(--mint)}
.atlas-map{position:relative;width:100%;height:360px;overflow:hidden;border-radius:18px;border:1px solid #d4ead638;background-color:#193e30;background-image:linear-gradient(#c8e4ca12 1px,transparent 1px),linear-gradient(90deg,#c8e4ca12 1px,transparent 1px);background-size:10% 10%}.map-north{position:absolute;left:14px;top:10px;font-size:.78rem;color:var(--mint)}.map-player{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--amber);font-size:1.3rem;z-index:2;filter:drop-shadow(0 0 5px #ffe89480)}.map-pin{position:absolute;transform:translate(-50%,-50%);border-radius:10px;min-width:36px;min-height:36px;font-size:1rem;padding:.3rem;background:#1c332de8;color:var(--mint);border-color:#ceeeda70}.map-pin:hover{z-index:3;background:#416849}.figure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.7rem}.figure-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.7rem;background:#e2f5e609;border-radius:16px;min-width:0}.figure-card>strong{font-size:.82rem;text-align:center}.figure-card>small{font-size:.68rem;color:var(--muted)}.figure-portrait{max-width:100%;width:140px;height:157px;object-fit:contain}.figure-portrait.is-locked{opacity:.65}.figure-symbol{display:grid;place-items:center;height:150px;width:100%;color:var(--mint);font-size:4rem}.figure-symbol.is-locked{color:#90a198}.figure-card.is-found{border-color:#9ee3be45}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:.7rem}.stat-value{font-size:1.6rem;color:var(--amber)}.ingredient-line{color:var(--muted);font-size:.73rem}.form-stack{display:flex;flex-direction:column;gap:.8rem;max-width:700px}.field-label{display:flex;flex-direction:column;gap:.4rem;font-size:.83rem;font-weight:700}.field-label>input,.field-label>select,.field-label>textarea{width:100%;min-width:0;font-size:.83rem}.field-label>textarea{font:inherit;resize:vertical;max-height:230px;min-height:100px;padding:.8rem;background:#10221f;color:var(--ink);border:1px solid var(--line);border-radius:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .5rem;border-bottom:1px solid var(--line)}.setting-row>div{display:flex;flex-direction:column;gap:.25rem}.setting-row strong{font-size:.86rem}.setting-row input[type=checkbox]{min-width:24px;width:24px;height:24px;accent-color:var(--mint)}.setting-row>select{max-width:40%;min-width:130px;font-size:.8rem}.memory-photo{max-width:100%;max-height:55dvh;object-fit:contain;border-radius:14px;background:#092116}.player-list,.chat-messages{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.player-list>li{display:flex;justify-content:space-between;gap:.7rem;padding:.6rem .8rem;border-radius:10px;background:#cae9d50a}.chat-messages{max-height:240px;overflow:auto;padding:.7rem;border:1px solid var(--line);border-radius:12px;background:#0b201a;font-size:.8rem;line-height:1.6;overflow-wrap:anywhere}.chat-messages:empty:after{content:'Nog geen berichten. Zeg hallo!';color:var(--muted)}.chat-messages strong{color:var(--mint)}.chat-form{display:flex;gap:.6rem;margin-top:.7rem}.chat-form>input{flex:1;min-width:0;font-size:.8rem}.chat-form>.button{font-size:.8rem}#online-link{width:100%;min-width:0;font-size:.8rem}.is-error{color:#ffbca1}.activity-hud{position:absolute;right:max(20px,env(safe-area-inset-right));top:110px;width:min(360px,calc(100vw - 40px));border-radius:16px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.35rem}.activity-hud>strong{font-size:.92rem}.activity-hud>p{font-size:.77rem;color:var(--muted);line-height:1.5}.activity-hud .text-button{align-self:flex-start;padding:0}.compass-goal{position:absolute;top:110px;left:50%;transform:translateX(-50%);max-width:min(410px,calc(100vw - 820px));display:flex;align-items:center;gap:.7rem;padding:.65rem .85rem;border-radius:14px;text-align:left}.compass-goal>span:last-child{display:flex;flex-direction:column;gap:.15rem;min-width:0}.compass-goal strong{font-size:.8rem;line-height:1.4}.compass-goal small{font-size:.68rem;color:var(--muted);line-height:1.4}.compass-goal>#compass-arrow{font-size:1.6rem;color:var(--amber);line-height:1;flex-shrink:0}.figure-actions-hud{position:absolute;right:20px;bottom:230px;max-width:300px;display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem;border-radius:15px}.figure-actions-hud>strong{width:100%;font-size:.8rem}.figure-actions-hud>.button{font-size:.72rem;padding:.5rem;min-height:40px}.game-ui.is-menu-open .activity-hud,.game-ui.is-menu-open .compass-goal,.game-ui.is-menu-open .figure-actions-hud{visibility:hidden}
@media(min-width:2400px){.journal-panel{width:min(1600px,calc(100vw - 80px))}.journal-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.journey-card{min-height:205px}.atlas-map{height:520px}.figure-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.figure-portrait{width:190px;height:214px}.activity-hud{top:145px;right:32px;width:500px}.compass-goal{top:145px;max-width:620px}.figure-actions-hud{right:32px;bottom:330px;max-width:420px}.journal-panel .modal-header{top:-1.6rem}}
@media(max-width:1100px){.topbar{gap:.7rem}.topbar-actions{gap:.4rem}.topbar-actions .button{font-size:.77rem;padding:.55rem .7rem}.save-state{max-width:130px;text-align:right}.compass-goal{top:82px;left:auto;right:20px;transform:none;max-width:calc(100vw - 400px)}.activity-hud{top:auto;bottom:235px;right:20px;width:280px}.figure-actions-hud{bottom:390px}.atlas-map{height:300px}.journal-panel .modal-header{top:-1.6rem}}
@media(max-width:760px){.topbar{gap:.4rem}.topbar .brand{font-size:1rem}.topbar-actions{margin-left:auto;gap:.3rem}.topbar-actions .button{font-size:.7rem;padding:.4rem .5rem;min-height:38px}.topbar-actions #journal-toggle>span{display:none}.save-state{display:none}.topbar #online-label{max-width:78px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-panel{max-height:calc(100dvh - 28px);width:100%;padding:1rem}.journal-panel .modal-header{top:-1rem;gap:.5rem;padding-bottom:.7rem}.panel-navigation{gap:.2rem}.panel-navigation>.button{font-size:.64rem;min-height:36px;padding:.45rem .5rem}.panel-navigation>.close-button{min-width:32px;min-height:36px;padding:0}.journal-panel h2{font-size:1.3rem;line-height:1.2}.journal-panel .modal-intro{font-size:.78rem}.journal-grid{grid-template-columns:1fr 1fr;gap:.5rem}.journal-card{padding:.75rem;gap:.5rem}.journal-card h3{font-size:.87rem}.journal-card .small-note,.rules-text{font-size:.72rem}.journal-card>.button{font-size:.72rem;padding:.6rem;min-height:44px}.games-grid{grid-template-columns:1fr}.journey-card{min-height:145px;padding:.8rem}.journey-card>strong{font-size:.8rem}.journey-card>small{font-size:.68rem}.figure-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.5rem}.figure-portrait{width:115px;height:129px}.figure-card{padding:.5rem}.compact-card{display:flex;flex-direction:column;align-items:stretch}.compact-card>.button{align-self:flex-start}.activity-hud{top:auto;bottom:255px;right:10px;width:240px;padding:.65rem .75rem}.activity-hud>p{font-size:.68rem}.activity-hud>strong{font-size:.8rem}.activity-hud .text-button{font-size:.66rem}.compass-goal{top:174px;right:auto;left:10px;max-width:calc(100vw - 20px);padding:.55rem .7rem}.compass-goal strong{font-size:.73rem}.compass-goal small{font-size:.64rem}.figure-actions-hud{right:10px;bottom:260px;max-width:230px}.figure-actions-hud>strong{font-size:.72rem}.figure-actions-hud>.button{font-size:.65rem;min-height:44px}.atlas-map{height:250px}.map-pin{min-width:40px;min-height:40px}.chat-form{flex-wrap:wrap}.chat-form>input{flex-basis:200px}.chat-form>.button{flex:1}.setting-row{gap:.6rem}.setting-row>select{min-width:110px;max-width:45%;padding:.6rem}.stats-grid{grid-template-columns:1fr 1fr}.status-badge{font-size:.6rem}.inline-actions>.button{font-size:.72rem;min-height:44px}.activity-hud:not([hidden])~.figure-actions-hud{bottom:410px}}
@media(max-height:650px) and (min-width:761px){.journal-panel .modal-header{top:-1.1rem}.activity-hud{bottom:190px;top:auto;width:270px}.compass-goal{top:81px}.figure-actions-hud{bottom:190px;right:310px}.atlas-map{height:220px}}
.quest-hint>div{min-width:0;flex:1}.quest-hint .compass-goal{position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none;width:100%;max-width:none;margin-top:.6rem;padding:.5rem .6rem;border-radius:10px;background:#cee9d408;box-shadow:none}.quest-hint .compass-goal:hover{background:#cee9d413}.quest-hint .compass-goal strong{font-size:.75rem}.quest-hint .compass-goal small{font-size:.65rem}.quest-hint .compass-goal #compass-arrow{font-size:1.2rem}
.discovery-hud{position:absolute;top:205px;left:50%;transform:translateX(-50%);max-width:min(540px,calc(100vw - 450px));padding:1rem 1.3rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;border-radius:18px;border-color:#ffd58a70;text-align:center}.discovery-hud>strong{color:var(--amber);font-size:1.15rem}.discovery-hud>p{font-size:.8rem}.discovery-hud>.text-button{padding:0;font-size:.73rem}.minimap-toggle{position:absolute;top:335px;right:20px;padding:.5rem;display:flex;flex-direction:column;gap:.3rem;align-items:center;width:180px;overflow:hidden;border-radius:14px}.minimap-toggle>canvas{width:100%;height:auto}.minimap-toggle>span{font-size:.65rem;color:var(--muted)}.town-minimap{position:absolute;top:98px;right:20px;width:172px;height:172px;padding:0;border:0;border-radius:50%;background:none;box-shadow:0 6px 18px #0006;cursor:pointer}.town-minimap>canvas{width:100%;height:100%;display:block;border-radius:50%}.game-ui.is-menu-open .town-minimap{visibility:hidden}.game-ui.is-menu-open .minimap-toggle,.game-ui.is-menu-open .discovery-hud{visibility:hidden}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:2400px){.minimap-toggle{width:240px;top:440px;right:32px}.discovery-hud{top:250px;max-width:700px}}
@media(max-width:1100px){.minimap-toggle{top:98px;right:20px;width:135px}.discovery-hud{top:185px;max-width:calc(100vw - 400px)}}
@media(max-width:760px){.topbar #star-badge{display:none}.quest-hint{width:calc(100vw - 145px)}.minimap-toggle{top:82px;right:10px;width:115px;padding:.3rem}.minimap-toggle>span{font-size:.6rem}.quest-hint .compass-goal{padding:.4rem;gap:.4rem}.quest-hint .compass-goal small{font-size:.6rem}.discovery-hud{top:245px;max-width:calc(100vw - 30px);width:330px;padding:.7rem 1rem}.discovery-hud>strong{font-size:.94rem}.discovery-hud>p{font-size:.73rem}.discovery-hud .text-button{font-size:.68rem}}
@media(max-height:650px) and (min-width:761px){.minimap-toggle{top:81px;width:120px}.discovery-hud{top:165px}}
.avatar-layout{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:1rem;align-items:start}.avatar-preview-panel{display:flex;flex-direction:column;align-items:center;gap:.6rem;border-radius:18px;background:radial-gradient(ellipse at center,#9ce7b716,#c7f0d003);padding:1rem;border:1px solid var(--line)}.avatar-preview{display:block;width:min(300px,100%);height:auto;max-height:45dvh;object-fit:contain}.avatar-preview-panel .button{font-size:.68rem;padding:.5rem .6rem}.avatar-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:.5rem}.avatar-swatch{display:flex;flex-direction:column;gap:.4rem;min-height:75px;font-size:.75rem;text-align:center}.avatar-swatch[aria-pressed=true]{border-color:var(--amber);background:#cbeacc1e}.color-swatch{width:32px;height:32px;border-radius:8px;border:1px solid #eff7e84d;box-shadow:inset -4px -4px #08261325}/* Mijn karakter: looks in one tap, and watching yourself walk. */
.avatar-looks{display:flex;flex-wrap:wrap;gap:.4rem}.avatar-look{font-size:.74rem;padding:.45rem .7rem;min-height:36px}.avatar-look[aria-pressed=true]{border-color:var(--amber)}.avatar-surprise{border-style:dashed}
.avatar-walk{align-self:stretch;min-height:44px}.avatar-walk[aria-pressed=true]{border-color:var(--amber);background:#cbeacc1e}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}.photo-card{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;min-width:0;padding:.6rem;border-radius:14px;background:#d3eee709;text-align:left}.photo-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.photo-card>strong{font-size:.77rem}.photo-card>small{font-size:.65rem;color:var(--muted)}.photo-card[aria-pressed=true]{border-color:var(--amber)}
@media(min-width:2400px){.avatar-preview{width:400px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.avatar-options{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
@media(max-width:760px){.avatar-layout{grid-template-columns:1fr}.avatar-preview-panel{padding:.6rem}.avatar-preview{width:170px;max-height:195px}.avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-swatch{font-size:.67rem;padding:.5rem;min-height:72px}.photo-grid{grid-template-columns:1fr 1fr;gap:.5rem}.photo-card{padding:.4rem}.photo-card>strong{font-size:.68rem}.photo-card>small{font-size:.58rem}}

/* User scale remains independent of pixel density and render resolution. */
:root{--ui-scale:1;font-size:calc(clamp(15px,.72vw + 4px,22px) * var(--ui-scale))}
.dialog,.modal,.start-panel{max-width:100%;min-width:0}
.modal-header{flex-wrap:wrap}.modal-header>div:first-child{min-width:0;flex:1 1 180px}
.panel-navigation{flex-wrap:wrap}.topbar{flex-wrap:wrap}
.topbar-actions{margin-left:auto}.topbar-actions .button{white-space:nowrap}
.playing-hud .selected-info{flex:1}.selection-row>.button{flex-shrink:0}
.inventory-hud{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:240px;display:flex;flex-direction:column;gap:.25rem;padding:.7rem .9rem;border-radius:14px;max-width:min(270px,calc(100vw - 40px));font-size:.72rem;overflow-wrap:anywhere}
.inventory-hud>strong{color:var(--mint)}
.game-ui.is-menu-open .inventory-hud{visibility:hidden}
body[data-free-mouse="true"] #focus-game{display:none!important}
body[data-blindfold="true"] :is(#compass-goal,#inventory-hud){display:none!important}
body.high-contrast{--panel:#061c19fa;--line:#dfffeeaa;--muted:#eef8ef;--mint:#b6ffd0;--amber:#ffe5a5}
body.high-contrast :is(.glass,.dialog,.journal-card,.journey-card,.figure-card){border-color:var(--line);background-color:#061c19f5}
.touch-actions{display:grid;grid-template-columns:repeat(5,44px);gap:7px;align-items:center}
.touch-actions button,.touch-actions #touch-use{width:44px;height:44px;min-width:44px;min-height:44px;font-size:1rem;border-radius:13px}
.touch-actions #touch-fly,.touch-actions #touch-sprint{font-size:.7rem}
@media(min-width:2400px){.inventory-hud{left:32px;bottom:330px;max-width:360px}}
@media(max-width:760px){
  :root{font-size:calc(15px * var(--ui-scale))}
  .topbar{gap:.35rem}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}
  .topbar .brand{font-size:clamp(15px,1rem,26px)}
  .topbar-actions .button{font-size:clamp(11px,.7rem,22px)}
  .playing-hud{max-height:38dvh;overflow:auto;overscroll-behavior:contain}
  .selection-row{flex-wrap:wrap}.selected-info{min-width:100px}
  .hotbar-slot{min-height:52px}.slot-number{font-size:clamp(8px,.5rem,14px)}
  .touch-controls{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 150px);left:10px;right:10px}
  .touch-stick{width:84px;height:84px;flex-shrink:0}#touch-stick-handle{width:34px;height:34px;top:23px;left:23px}
  .touch-actions{grid-template-columns:repeat(5,44px);gap:5px}
  .inventory-hud{left:10px;bottom:340px;max-width:calc(100vw - 20px);font-size:clamp(11px,.65rem,20px)}
  .inventory-hud span{display:none}.inventory-hud span:nth-child(-n+4){display:block}
  .start-content h1{font-size:clamp(2rem,2.9rem,75px)}
  .start-content{padding:1.2rem}.confirm-actions,.quality-row{flex-wrap:wrap}
}
@media(pointer:coarse) and (min-width:761px){.touch-controls:not([hidden]){display:flex}}
.map-player,.map-north{pointer-events:none}
.map-terrain{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;transform-origin:center;opacity:.95}.map-north{z-index:2;background:#10251ecc;border-radius:6px;padding:.3rem .5rem}.map-pin{z-index:1;font-size:1.2rem;box-shadow:0 2px 8px #06170a66}.map-pin[data-active=true]{outline:3px solid var(--amber);z-index:3}.map-pin[data-outside=true]{border-style:dashed;opacity:.85}.map-pin:focus-visible{z-index:4;outline:3px solid var(--amber)}.map-legend{line-height:1.8;word-spacing:.16rem}
.map-pin-count{position:absolute;right:-6px;top:-7px;min-width:23px;min-height:23px;padding:2px 5px;border-radius:14px;background:var(--amber);color:#12251d;font-size:.65rem;font-weight:800}.map-picker{position:absolute;z-index:5;right:12px;top:12px;width:min(320px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;display:flex;flex-direction:column;gap:6px;padding:12px;background:#142e27;border:1px solid #bde8cb88;border-radius:14px;box-shadow:0 8px 28px #001a0cb3}.map-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-picker-heading>strong{font-size:.8rem}.map-picker>.button{text-align:left;justify-content:flex-start;min-height:44px;font-size:.75rem}.map-picker-heading>.close-button{min-width:36px;min-height:36px}
.rocket-navigation{position:absolute;top:110px;left:max(20px,env(safe-area-inset-left));width:min(390px,calc(100vw - 40px));display:flex;flex-direction:column;gap:.5rem;padding:.85rem;border-radius:17px;pointer-events:auto;max-height:calc(100dvh - 340px);overflow:auto;overscroll-behavior:contain}
.rocket-navigation>header{display:flex;flex-direction:column;gap:.12rem}.rocket-navigation>header>strong{font-size:.95rem}.rocket-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.rocket-readouts>span{display:flex;flex-direction:column;gap:.1rem;padding:.45rem;background:#ddf8e808;border-radius:9px}.rocket-readouts small{font-size:.62rem;color:var(--muted)}.rocket-readouts strong{font-size:.87rem;font-variant-numeric:tabular-nums}.rocket-orientation{position:relative;padding-left:1.5rem!important}#rocket-attitude{position:absolute;left:.45rem;top:.75rem;line-height:1;font-size:1.1rem;color:var(--amber);transform-origin:center;transition:transform .12s linear}
.rocket-course{display:flex;align-items:center;gap:.55rem;padding:.45rem;border:1px solid var(--line);border-radius:10px;min-width:0}.rocket-course>span:nth-child(2){display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.rocket-course strong{font-size:.80rem;font-variant-numeric:tabular-nums}.rocket-course small{font-size:.61rem;color:var(--muted);line-height:1.35}.rocket-course-arrow{flex-shrink:0}#rocket-course-arrow{display:block;font-size:1.5rem;width:26px;text-align:center;color:var(--amber)}.rocket-course[data-aligned=true] #rocket-course-arrow{color:var(--mint)}.rocket-alignment{display:flex;flex-direction:column;gap:.2rem;text-align:right;flex-shrink:0}
.rocket-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.rocket-destinations>.button{font-size:.73rem;min-width:0;min-height:44px;padding:.5rem .25rem;gap:.25rem}.rocket-destinations>.button[aria-pressed=true]{border-color:var(--amber);background:#ffd58a18}.rocket-travel-status{font-size:.72rem;color:var(--amber);line-height:1.4}.rocket-steering{font-size:.73rem;font-weight:700;color:var(--mint);line-height:1.45}.rocket-flight-instruction{font-size:.70rem;color:var(--ink);line-height:1.5}.rocket-navigation-access{font-size:.62rem;line-height:1.4;color:var(--muted)}
.game-ui.is-menu-open .rocket-navigation{visibility:hidden}body[data-blindfold=true] .rocket-navigation{display:none!important}body[data-rocket-pilot=true] :is(.inventory-hud,.figure-actions-hud,.selection-row,#hotbar){display:none!important}body[data-town-flight=true] :is(.inventory-hud,.figure-actions-hud,.selection-row,#hotbar){display:none!important}
/* Folded while flying (ui.js rocketPanelCollapsed): only the readouts, the course arrow and one steering line stay. */
.rocket-navigation>header{position:relative;padding-right:5.4rem}.rocket-navigation-toggle{position:absolute;right:-.15rem;top:-.15rem;min-height:40px;min-width:48px;padding:.3rem .65rem;border:1px solid var(--line);border-radius:999px;background:#ddf8e812;color:var(--ink);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.rocket-navigation-toggle:hover,.rocket-navigation-toggle:focus-visible{border-color:var(--amber)}
.rocket-navigation[data-collapsed=true] :is(.rocket-destinations,.rocket-travel-status,.rocket-flight-instruction,.rocket-navigation-access,#rocket-bearing,.rocket-alignment){display:none!important}.rocket-navigation[data-collapsed=true]{max-height:none;overflow:visible}
.rocket-celebration{margin:0;padding:.45rem .6rem;border-radius:11px;background:#ffd58a24;color:var(--amber);font-size:1rem;font-weight:800;text-align:center;animation:rocket-cheer .6s cubic-bezier(.2,1.4,.4,1)}@keyframes rocket-cheer{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.rocket-celebration{animation:none}}
@media(min-width:2400px){.rocket-navigation{top:145px;left:32px;width:520px;padding:1rem;max-height:calc(100dvh - 440px)}.rocket-navigation>header>strong{font-size:1.1rem}.rocket-readouts strong{font-size:1rem}.rocket-course strong{font-size:.95rem}.rocket-course small{font-size:.75rem}.rocket-steering{font-size:.86rem}.rocket-destinations>.button{font-size:.85rem;min-height:50px}}
@media(max-width:1100px){.rocket-navigation{top:98px;width:320px;max-height:calc(100dvh - 320px)}}
@media(max-width:760px){.rocket-navigation{top:82px;left:10px;width:calc(100vw - 145px);padding:.6rem;gap:.4rem;max-height:calc(100dvh - 300px)}.rocket-navigation>header>strong{font-size:.8rem}.rocket-readouts{gap:.2rem}.rocket-readouts>span{padding:.3rem}.rocket-readouts small{font-size:.58rem}.rocket-readouts strong{font-size:.75rem}.rocket-orientation{padding-left:1.1rem!important}#rocket-attitude{left:.2rem;top:.7rem;font-size:.9rem}.rocket-course{gap:.3rem;padding:.35rem}.rocket-course strong{font-size:.72rem}.rocket-course small{font-size:.55rem}.rocket-destinations{gap:.2rem}.rocket-destinations>.button{font-size:.66rem}.rocket-destinations kbd{display:none}.rocket-travel-status,.rocket-flight-instruction,.rocket-steering{font-size:.66rem}.rocket-navigation-access{font-size:.60rem}}
@media(max-height:650px) and (min-width:761px){.rocket-navigation{top:81px;max-height:calc(100dvh - 245px);width:320px}}
@media(pointer:coarse) and (max-height:500px) and (min-width:761px){.rocket-navigation{left:140px;width:min(360px,calc(100vw - 420px));max-height:calc(100dvh - 170px);display:grid;grid-template-columns:1fr 1.35fr;gap:.35rem;padding:.6rem}.rocket-navigation>header{grid-column:1;grid-row:1}.rocket-navigation>header>strong{font-size:.78rem}.rocket-readouts{grid-column:2;grid-row:1;gap:.2rem}.rocket-readouts>span{padding:.2rem}.rocket-readouts small{font-size:.52rem}.rocket-readouts strong{font-size:.70rem}.rocket-orientation{padding-left:1rem!important}#rocket-attitude{left:.2rem;top:.7rem;font-size:.8rem}.rocket-course,.rocket-destinations,.rocket-travel-status,.rocket-steering{grid-column:1/-1}.rocket-course{padding:.25rem}.rocket-course strong{font-size:.72rem}.rocket-course small{font-size:.56rem}.rocket-travel-status,.rocket-steering{font-size:.62rem;line-height:1.35}.rocket-flight-instruction,.rocket-navigation-access{display:none}body[data-rocket-pilot=true] .touch-controls{bottom:88px}}

/* Driving keeps its camera control visible even when optional hints are off. */
.vehicle-camera-control{align-self:center;justify-self:center;grid-column:1/-1;min-height:44px;padding:.55rem .85rem;gap:.55rem;font-size:.8rem;border-color:#9ee3be70;border-radius:12px}
body[data-vehicle-camera=true] .touch-controls{margin-bottom:52px}
/* Thumb controls remain separate from a scrollable, readable material bar. */
#hud-notices{display:contents}
#compass-detail{white-space:pre-line}
#compass-caption{font-size:.62rem;letter-spacing:.1em}
#figure-toggle.is-searching{border-color:#9ee3be88;background:#9ee3be1a}
#pause-figures{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem;text-align:left;border-color:#9ee3be55}
#pause-figure-status{font-size:.65rem;color:var(--muted);font-weight:400}
.figure-current-search{border-color:#ffd58a66;background:#ffd58a0b}
.figure-current-search>.small-note{white-space:pre-line}
.figure-current-search>.eyebrow{color:var(--amber)}
.figure-found-summary{border-color:#9ee3be66}
.figure-search-help{padding:.6rem .8rem;border:1px solid var(--line);border-radius:12px;background:#ddf6e805}
.figure-search-help>summary{cursor:pointer;min-height:32px;display:list-item;font-size:.8rem;font-weight:700;color:var(--mint);line-height:2}
.figure-search-help>p{margin-top:.6rem}
.figure-album-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,.4fr);gap:1rem;align-items:start}
.figure-card-detail{position:sticky;top:100px;background:#1c3832}
.figure-card-detail>.button{margin-top:0;min-height:44px}
.figure-card-actions{display:block}
.figure-card-actions>summary,.figure-search-options>summary{cursor:pointer;color:var(--mint);font-size:.78rem;font-weight:700;min-height:44px;line-height:1.5;padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;background:#ddf6e808}
.figure-card-actions>summary:focus-visible,.figure-search-options>summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.figure-card-actions>.button{display:flex;width:100%;min-height:44px;font-size:.76rem;margin-top:.55rem}
.figure-card-actions>.small-note{margin-top:.5rem}
.figure-card.is-search-target{box-shadow:inset 0 0 0 1px #9ee3be66}
.figure-card[aria-pressed=true]{border-color:var(--amber);background:#ffd58a0c}
body.high-contrast .figure-card[aria-pressed=true]{border-color:var(--amber)}
.figure-card .search-target-badge{align-self:center;color:var(--amber);background:#ffd58a12}
.performance-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.performance-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.85rem;text-align:left;background:#ddf6e808;min-height:124px}
.performance-card>strong{font-size:.85rem}
.performance-card>small{font-size:.73rem;color:var(--muted);line-height:1.45}
.performance-card[aria-pressed=true]{border-color:var(--mint);background:#9ee3be12}
[data-settings-group]{scroll-margin-top:100px}
[data-settings-group]>.section-title{font-size:1rem;color:var(--ink);padding-bottom:.4rem;border-bottom:1px solid var(--line)}
@media(max-width:760px){
  .topbar-actions #figure-toggle .figure-shortcut-label{display:none}
  .topbar-actions #figure-toggle{min-width:44px;font-size:18px}
  .figure-album-layout{grid-template-columns:minmax(0,1fr);gap:.75rem}
  #album-panel>.modal-intro,.figure-series-section>.section-title,.figure-series-section>.small-note,.figure-start-section>.section-title,.figure-start-section>.small-note,.figure-card-help{display:none}
  .figure-series-section,.figure-start-section{gap:.5rem}
  .figure-collection-section>.section-title{font-size:.8rem;margin:0}
  .figure-card-detail{position:static;grid-row:1;padding:.65rem;gap:.45rem}
  .figure-card-detail>.eyebrow{display:none}
  .figure-card-detail.is-current-card:not(.has-actions){display:none}
  .figure-card-detail.is-current-card.has-actions>:not(.figure-card-actions){display:none}
  .figure-current-search{padding:.65rem;gap:.35rem}
  .figure-current-search .figure-hunt-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .figure-search-options{min-width:110px}
  .figure-search-options>.inline-actions{display:grid;grid-template-columns:1fr;gap:.4rem;margin-top:.4rem}
  .figure-search-options .button{width:100%;min-height:44px;padding:.5rem;font-size:.7rem}
  .figure-current-search .inline-actions>.button{min-height:44px;padding:.55rem;white-space:normal;font-size:.72rem}
  .figure-search-help>summary{min-height:44px;line-height:2.5}
  .performance-presets{grid-template-columns:1fr;gap:.5rem}
  .performance-card{min-height:88px;padding:.75rem}
}
.touch-controls{display:flex;gap:16px;z-index:4}
.touch-actions{position:relative;grid-template-columns:repeat(3,48px);gap:6px}
.touch-actions button,.touch-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;height:48px;min-width:48px;min-height:48px;padding:3px;border-radius:13px;background:#16362eef;border:1px solid #d9f7df55;color:var(--ink);font-size:18px;line-height:1.15;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}
.touch-actions #touch-use{width:48px;height:48px;min-width:48px;min-height:48px}
.touch-actions small,.touch-more>summary small{font-size:10px;line-height:1.2;color:#dfefe6;font-weight:650}
.touch-actions button[data-held=true],.touch-more[open]>summary{background:#326d54;border-color:var(--amber)}
.touch-more{pointer-events:auto}
.touch-more>summary{cursor:pointer;list-style:none;touch-action:manipulation}
.touch-more>summary::-webkit-details-marker{display:none}
.touch-more>summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.touch-secondary{position:absolute;right:0;bottom:110px;display:grid;grid-template-columns:repeat(3,52px);gap:6px;padding:8px;border-radius:16px;background:#102923f7;border:1px solid #d9f7df55;box-shadow:0 5px 25px #06171266;max-height:calc(100dvh - 230px);overflow:auto;overscroll-behavior:contain;pointer-events:auto}
.touch-secondary button,.touch-secondary #touch-fly,.touch-secondary #touch-sprint{width:52px;height:48px;font-size:11px;font-weight:700}
.touch-more:not([open]) .touch-secondary{display:none}
.game-ui.is-menu-open :is(.touch-controls,#hud-notices){visibility:hidden}
body[data-input-mode=touch] #focus-game{display:none!important}
body[data-touch-controls=true] #controls-help{display:none}

@media(max-width:760px),(any-pointer:coarse) and (max-width:1400px){
  :root{font-size:clamp(14px,calc(15px * var(--ui-scale)),24px);--phone-left:max(8px,env(safe-area-inset-left));--phone-right:max(8px,env(safe-area-inset-right));--phone-top:max(8px,env(safe-area-inset-top));--phone-bottom:max(8px,env(safe-area-inset-bottom))}
  #game-canvas{touch-action:none}
  .overlay-layer{padding:max(8px,env(safe-area-inset-top)) var(--phone-right) max(8px,env(safe-area-inset-bottom)) var(--phone-left);overscroll-behavior:none;backdrop-filter:none;background:#0b20177a}
  .dialog,.journal-panel{max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));width:100%;border-radius:16px}
  .modal,.journal-panel{padding:1rem;gap:1rem}
  .modal-header{gap:.5rem;flex-wrap:nowrap}
  .modal-header>div:first-child{flex:1 1 0;min-width:0}
  .modal-header h2,.journal-panel h2{font-size:1.35rem;overflow-wrap:anywhere}
  .modal-header .close-button,.panel-navigation>.close-button{min-width:44px;min-height:44px;margin:0}
  .panel-navigation{gap:4px;flex-wrap:nowrap}
  .panel-navigation>.button{min-height:44px;padding:.45rem .6rem;font-size:.75rem;white-space:nowrap}
  .journal-panel .modal-header{top:-1rem;align-items:center;padding:.25rem 0 .7rem}
  .start-panel{display:block;overflow:auto}
  .start-art{display:none}
  .start-content{padding:1.1rem;gap:.8rem}
  .start-content h1{font-size:clamp(2rem,8vw,3rem)}
  .start-content .button-large{min-height:50px}
  .topbar{left:var(--phone-left);right:var(--phone-right);top:var(--phone-top);min-height:56px;padding:4px 6px;gap:5px;flex-wrap:nowrap;border-radius:14px}
  .topbar .brand{font-size:0;gap:0;flex-shrink:0}
  .topbar .brand>span:not(.brand-mark){display:none}
  .topbar .brand-mark{width:30px;height:34px;margin-right:0;font-size:22px}
  .world-details,.save-state,.topbar #star-badge,.topbar .icon-button{display:none}
  .topbar-actions{gap:5px;flex-wrap:nowrap;min-width:0}
  .topbar-actions .button{min-height:44px;padding:6px 9px;font-size:12px;gap:4px}
  .topbar-actions .button kbd,.topbar-actions #journal-toggle>span{display:none}
  .topbar-actions #journal-toggle{min-width:44px;font-size:18px}
  .topbar #online-label{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #hud-notices{position:absolute;display:flex;flex-direction:column;gap:6px;top:calc(var(--phone-top) + 64px);left:var(--phone-left);width:min(260px,calc(100vw - var(--phone-left) - var(--phone-right) - 112px));max-height:max(72px,calc(100dvh - var(--phone-top) - var(--phone-bottom) - 300px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;border-radius:12px}
  #hud-notices>:is(.quest-hint,.tips-return,.activity-hud,.compass-goal,.inventory-hud,.figure-actions-hud,.discovery-hud,.action-message){position:static;flex-shrink:0;transform:none;top:auto;bottom:auto;left:auto;right:auto;width:100%;max-width:none;margin:0;padding:.55rem .65rem;border-radius:12px}
  #hud-notices :is(p,small){font-size:.75rem;line-height:1.4}
  #hud-notices .quest-icon{display:none}
  #hud-notices .quiet-button{min-height:44px;min-width:32px;margin:-7px -6px -7px 0}
  #hud-notices .quest-hint p{margin-top:.1rem}
  #hud-notices :is(.activity-hud,.figure-actions-hud,.discovery-hud)>strong{font-size:.83rem}
  #hud-notices .figure-actions-hud>.button{min-height:44px;font-size:.72rem;padding:.45rem;flex:1 1 75px}
  #hud-notices .text-button{min-height:44px;font-size:.73rem;text-align:left}
  #hud-notices .inventory-hud span{display:block}
  .minimap-toggle{top:calc(var(--phone-top) + 64px);right:var(--phone-right);width:100px;padding:4px;border-radius:12px}
  .town-minimap{top:calc(var(--phone-top) + 64px);right:var(--phone-right);width:104px;height:104px}
  .minimap-toggle>span{font-size:10px}
  .playing-hud{left:var(--phone-left);right:var(--phone-right);bottom:var(--phone-bottom);width:auto;max-width:none;transform:none;max-height:none;overflow:visible;gap:4px}
  .selection-row{flex-wrap:nowrap;min-height:52px;padding:5px 7px;gap:6px}
  .selected-info{min-width:0}
  .selected-info strong{font-size:.83rem}
  .selected-info #selected-detail{font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .selected-info .eyebrow{font-size:.58rem;letter-spacing:.06em}
  .selection-row>.button{min-height:44px;padding:5px 9px;font-size:.75rem;gap:4px}
  .selection-row kbd{display:none}
  .hotbar{display:flex;gap:4px;padding:4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;border-radius:12px}
  .hotbar::-webkit-scrollbar{display:none}
  .hotbar-slot{flex:0 0 46px;min-width:46px;min-height:48px;padding:7px 3px 3px}
  .slot-empty{display:none}
  .hotbar-slot .tile-icon{width:27px;height:27px;line-height:27px;font-size:24px}
  .slot-name,.play-controls{display:none}
  .touch-controls{left:var(--phone-left);right:var(--phone-right);bottom:calc(var(--phone-bottom) + 124px);gap:12px}
  .touch-stick{width:96px;height:96px;flex:0 0 96px;background:#1235249c}
  #touch-stick-handle{width:38px;height:38px;top:27px;left:27px;will-change:transform;pointer-events:none}
  .glass{backdrop-filter:none;background:#172d2be8}
  .touch-actions{grid-template-columns:repeat(3,46px);gap:5px}
  .touch-actions button,.touch-actions #touch-use,.touch-more>summary{width:46px;height:46px;min-width:46px;min-height:46px}
  .touch-secondary{bottom:101px;max-height:calc(100dvh - 245px)}
  .touch-secondary button{width:52px;height:48px}
  .category-tab{min-height:44px;line-height:1.2;padding:.5rem .65rem}
  .build-cards{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));max-height:none;overflow:visible}
  .build-card{min-height:112px}
  .build-results-row{flex-wrap:wrap;gap:.3rem}
  .build-results-row>span:last-child{display:inline}
  .menu-card{min-height:104px;overflow-wrap:anywhere}
  .menu-grid{gap:.5rem}
  .quality-row{flex-wrap:wrap;align-items:flex-start}
  .quality-row>select{min-height:44px}
  .journey-shortcuts>button,.menu-bottom .button,.inline-actions>.button{min-height:44px;font-size:.78rem}
  .setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:.8rem 0;align-items:center}
  .setting-row>div{min-width:0}
  .setting-row strong{font-size:.86rem;overflow-wrap:anywhere}
  .setting-row .small-note{font-size:.76rem}
  .setting-row>select{min-width:108px;max-width:42vw;min-height:44px;padding:.55rem;font-size:16px}
  .setting-row>input[type=checkbox]{width:28px;height:28px;margin:8px}
  .setting-row>input[type=range]{grid-column:1/-1;width:100%;min-width:0;min-height:44px;margin:0}
  .setting-row>[data-setting-value]{grid-column:2;grid-row:1;max-width:110px;overflow-wrap:anywhere}
  .setting-row>.button{min-height:44px;font-size:.75rem;padding:.5rem}
  input:not([type=range]):not([type=checkbox]),textarea,.search-field input{font-size:16px}
  .storage-item{grid-template-columns:minmax(0,1fr);gap:6px}
  .storage-item-count,.storage-item-buttons{grid-column:1;grid-row:auto;max-width:none;justify-content:flex-start}
  .storage-item-buttons .button{min-height:44px;font-size:.75rem;padding:.5rem .65rem}
  .atlas-map{height:min(320px,48dvh)}
  .map-pin{min-width:44px;min-height:44px}
  .rocket-navigation{left:var(--phone-left);top:calc(var(--phone-top) + 64px);width:min(330px,calc(100vw - var(--phone-left) - var(--phone-right)));max-height:calc(100dvh - var(--phone-top) - var(--phone-bottom) - 192px);padding:.65rem;display:flex;gap:.4rem}
  .rocket-navigation .rocket-destinations>.button{min-height:44px;font-size:.75rem}
  .rocket-navigation .rocket-flight-instruction{display:none}
  .rocket-navigation .rocket-navigation-access{display:block;font-size:.7rem}
  body[data-rocket-pilot=true] :is(.minimap-toggle,.town-minimap){display:none!important}
  body[data-rocket-pilot=true] .touch-controls{bottom:var(--phone-bottom)}
  body[data-rocket-pilot=true] #hud-notices{display:none}
}
@media(max-width:1100px) and (max-height:500px) and (min-width:600px){
  body[data-touch-controls=true][data-rocket-pilot=true] .rocket-navigation{left:calc(var(--phone-left,8px) + 112px);width:min(360px,calc(100vw - 300px))}
  .playing-hud{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.4fr);align-items:stretch;gap:6px}
  .playing-hud .selection-row{min-height:54px}
  .playing-hud .hotbar{align-items:center;min-width:0}
  .touch-controls{bottom:calc(var(--phone-bottom,8px) + 68px)}
  #hud-notices{max-height:max(64px,calc(100dvh - var(--phone-top,8px) - var(--phone-bottom,8px) - 244px));width:min(260px,calc(100vw - 400px))}
  .touch-secondary{max-height:calc(100dvh - 190px)}
  .start-content{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1.2rem;align-items:center}
  .start-content .start-brand,.start-content>.eyebrow,.start-content h1,.start-content .start-intro,.start-content .start-features{grid-column:1}
  .start-content .start-brand{margin:0}
  .start-content h1{grid-row:2/4;font-size:2.25rem}
  .start-content>.eyebrow,.start-content .start-features{display:none}
  .start-content>#continue-play,.start-content>#start-play,.start-content>#start-online,.start-content>#loading-panel{grid-column:2}
  .start-content>#start-play{grid-row:2}
  .start-content>#start-online{grid-row:3}
  .start-content>#continue-play{grid-row:1}
  .start-footer,.start-save-note{font-size:.65rem}
}

/* Personal HUD controls stay reachable even when every optional panel is off. */
.hud-panel{width:min(880px,100%)}
.hud-panel>.modal-header{position:sticky;top:-1.5rem;background:var(--panel);padding:.25rem 0 .8rem;z-index:2}
body[data-hud-tools=false] #playing-hud{display:none!important}
#tools-toggle[aria-pressed=true]{border-color:var(--amber);background:#ffd58a22}
@media(max-width:760px){#tools-toggle{min-width:44px}#tools-toggle>span:not([aria-hidden]){display:none}}
.hud-widget-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.hud-widget-option{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;min-height:64px}
.hud-widget-option>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.hud-widget-option strong{font-size:.87rem}.hud-widget-option small{font-size:.74rem;line-height:1.45}
.hud-widget-option input{flex:0 0 26px;width:26px;height:26px;accent-color:var(--mint);margin:8px;scroll-margin-block:6rem 1rem}
body[data-hud-shortcuts=false] :is(#online-toggle,#journal-toggle,#figure-toggle,#quick-save,.world-details,#game-status){display:none!important}
.vehicle-finder{display:flex;flex-direction:column;gap:6px;padding:.75rem;border-radius:15px}
.vehicle-finder>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vehicle-finder>header strong{font-size:.88rem}.vehicle-finder>header>.quiet-button{min-width:44px;min-height:44px}
.vehicle-finder-list{display:flex;flex-direction:column;gap:4px}.vehicle-finder-row{display:flex;align-items:center;gap:9px;min-height:48px;padding:6px 8px;text-align:left;background:#d6efe50a;border-radius:10px;width:100%}
.vehicle-finder-row[aria-pressed=true]{border-color:var(--amber);background:#ffd58a12}.vehicle-finder-icon{font-size:1.2rem;flex:0 0 25px}
.vehicle-finder-row>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.vehicle-finder-row strong{font-size:.76rem}.vehicle-finder-row small,.vehicle-finder-status{font-size:.66rem;color:var(--muted)}
.vehicle-finder-status{white-space:nowrap;color:var(--mint)}.vehicle-finder .small-note{font-size:.69rem;line-height:1.4}.vehicle-finder>.text-button{font-size:.72rem;min-height:44px;text-align:left;padding:4px 0}
.game-ui.is-menu-open .vehicle-finder{visibility:hidden}
#hud-notices{position:absolute;display:flex;flex-direction:column;gap:8px;top:110px;left:max(20px,env(safe-area-inset-left));width:min(360px,calc(100vw - 240px));max-height:calc(100dvh - 360px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;border-radius:15px}
#hud-notices>:is(.vehicle-finder,.quest-hint,.tips-return,.activity-hud,.compass-goal,.inventory-hud,.figure-actions-hud,.discovery-hud,.action-message){position:static;flex-shrink:0;transform:none;top:auto;bottom:auto;left:auto;right:auto;width:100%;max-width:none;margin:0}
#hud-notices .compass-goal{text-align:left}#hud-notices .discovery-hud{padding:.8rem;text-align:left;align-items:flex-start}
@media(min-width:2400px){#hud-notices{top:145px;left:32px;width:480px;max-height:calc(100dvh - 450px)}}
@media(max-width:1400px){.topbar .world-details{display:none}.topbar #game-status{max-width:90px;font-size:.68rem}.topbar-actions #hud-toggle{white-space:nowrap}}
@media(max-width:1100px){#hud-notices{top:98px;width:min(310px,calc(100vw - 200px));max-height:calc(100dvh - 330px)}}
@media(max-width:760px),(any-pointer:coarse) and (max-width:1400px){
  .topbar #hud-toggle{min-width:44px;padding:6px;gap:3px}.topbar #hud-toggle .hud-toggle-label{font-size:11px}
  .topbar #journal-toggle{display:none}.topbar #figure-toggle .figure-shortcut-label{display:none}
  #hud-notices{top:calc(var(--phone-top) + 64px);left:var(--phone-left);width:min(260px,calc(100vw - var(--phone-left) - var(--phone-right) - 112px));max-height:max(72px,calc(100dvh - var(--phone-top) - var(--phone-bottom) - 300px));gap:6px}
  .hud-widget-options{grid-template-columns:1fr;gap:0}.hud-widget-option{min-height:64px;padding:10px 0}.hud-widget-option strong{font-size:.9rem}
  .hud-panel>.modal-header{top:-1rem}
  #hud-notices .vehicle-finder{padding:.55rem .65rem}.vehicle-finder-row{min-height:44px}.vehicle-finder-status{font-size:.62rem}
  body[data-rocket-pilot=true][data-hud-rocket=false] #hud-notices{display:flex}
  body[data-rocket-pilot=true][data-hud-rocket=false] #minimap-toggle:not([hidden]){display:flex!important}
}
@media(max-width:1100px) and (max-height:500px) and (min-width:600px){#hud-notices{max-height:max(64px,calc(100dvh - var(--phone-top,8px) - var(--phone-bottom,8px) - 244px));width:min(260px,calc(100vw - 400px))}}

.world-edition-field{min-width:0}.world-edition-field select,#online-world-edition{width:100%;max-width:100%;min-height:48px}.world-edition-field .small-note{font-size:.73rem;line-height:1.4}#online-world-edition{display:block;margin-top:.45rem}.start-panel{max-height:calc(100dvh - 48px);overflow:auto}@media(max-width:760px){.start-panel{max-height:calc(100dvh - 28px)}.world-edition-field select{min-height:48px}}

.brick-library{margin:1rem 0;padding:1rem;border:1px solid var(--line,#456057);border-radius:16px;background:rgba(10,35,28,.3)}
.brick-library summary{font-weight:800;cursor:pointer}.brick-library h3{margin:1.25rem 0 .65rem}
.brick-parts,.brick-passport{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.65rem}
.brick-part,.brick-passport-card{display:flex;flex-direction:column;gap:.4rem;padding:.8rem;border:1px solid var(--line,#456057);border-radius:10px}
.brick-part small,.brick-passport-card small{color:var(--muted,#c1d1c9);line-height:1.45}.brick-part a{color:var(--accent,#9fe1c1)}
.brick-activities-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.brick-activities-grid .journal-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:.65rem}
.brick-activities-grid .journal-card h3{overflow-wrap:anywhere;margin-bottom:0}
.brick-activities-grid .journal-card p{margin:0;line-height:1.5}
.brick-activities-grid .journal-card>.button{min-height:48px;margin-top:auto;white-space:normal}
.brick-activities-summary .button{min-height:48px;margin:.5rem .5rem 0 0}
.brick-activity-status{font-weight:700;color:var(--accent,#9fe1c1);line-height:1.45}
.brick-passport-card>.button{min-height:48px}
@media(max-width:600px){.brick-activities-grid{grid-template-columns:minmax(0,1fr)}.brick-activities-summary .button{width:100%;margin-right:0}}

.parts-selection{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#b6e8ce09}
.parts-current-preview{flex:0 0 160px}.parts-current-details{display:flex;flex-direction:column;gap:.6rem;min-width:0;flex:1}
.parts-current-details>.inline-actions{flex-wrap:wrap}.parts-current-details .button{min-height:48px;white-space:normal}
.part-colours{display:flex;flex-wrap:wrap;gap:.4rem}.part-colour{display:flex;align-items:center;gap:.4rem;min-height:44px;padding:.35rem .6rem;border:1px solid var(--line);border-radius:9px;font-size:.75rem}
.part-colour[aria-pressed=true]{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.part-colour-swatch{width:18px;height:18px;border-radius:50%;border:1px solid #ffffff6b;flex-shrink:0}
.part-card{min-height:174px}.part-preview{display:block;width:100%;max-width:160px;height:112px;object-fit:contain;image-rendering:auto;flex-shrink:0;pointer-events:none}
.part-preview-fallback{font-size:44px;display:grid;place-content:center}.part-hotbar-slot .part-preview{width:54px;height:36px;max-width:100%}
.part-card small{line-height:1.45;text-align:center}
@media(max-width:760px){.parts-selection{padding:.75rem;gap:.5rem;flex-direction:column;align-items:stretch}.parts-current-preview{display:none}.parts-current-details .inline-actions{display:grid;grid-template-columns:1fr}.part-card{min-height:166px}.part-card .part-preview{height:86px}.part-hotbar-slot .part-preview{width:38px;height:30px}.part-colour{min-height:44px}.parts-current-details>strong{font-size:.9rem}}
.brick-activities-grid>[hidden]{display:none!important}.inline-actions>[data-place-group][aria-pressed="true"]{border-color:var(--mint);background:#9ee3be2b}

/* Ten destinations stay readable and scroll with the flight panel on short screens. */
.rocket-destinations{flex-shrink:0}.rocket-dig-destination{grid-column:1/-1}

/* Touch play, Brickcraft-style: big round colour buttons (jump yellow, place green, break red, the context button blue:
   in/out, or brown with a door when a town door is in reach), and the part card reduced to its Bouwboek button. */
body[data-input-mode=touch] .touch-actions{display:grid;grid-template-columns:52px 64px 78px;grid-template-rows:64px 78px;grid-template-areas:"more mount break" "crouch use jump";gap:8px;align-items:center;justify-items:center}
body[data-input-mode=touch] .touch-actions>button,body[data-input-mode=touch] .touch-more>summary{border-radius:50%;border:0;color:#fff;font-weight:800;box-shadow:0 4px 0 #00000052,0 7px 16px #00000038}
body[data-input-mode=touch] .touch-actions small,body[data-input-mode=touch] .touch-more>summary small{color:inherit;font-size:10px;font-weight:800;text-shadow:0 1px 0 #00000038}
body[data-input-mode=touch] .touch-actions>button[data-held=true]{transform:translateY(3px);box-shadow:0 1px 0 #00000052,0 3px 8px #00000038;filter:brightness(1.12)}
body[data-input-mode=touch] #touch-jump{grid-area:jump;width:78px;height:78px;min-width:78px;min-height:78px;background:#f6c431;color:#3b2a00;font-size:28px}
body[data-input-mode=touch] #touch-use{grid-area:use;width:64px;height:64px;min-width:64px;min-height:64px;border-radius:50%;background:#43b05a;color:#fff;font-size:22px}
body[data-input-mode=touch] #touch-break{grid-area:break;width:64px;height:64px;min-width:64px;min-height:64px;background:#e2513f;font-size:22px}
body[data-input-mode=touch] #touch-mount{grid-area:mount;width:64px;height:64px;min-width:64px;min-height:64px;background:#3d7fe0;font-size:22px}
body[data-input-mode=touch] #touch-mount:is([data-door="1"],[data-door="2"]){background:#9a6431;box-shadow:0 0 0 3px #ffd970,0 4px 0 #00000052;animation:touch-door 1.3s ease-in-out infinite}
body[data-input-mode=touch] #touch-throttle-up{grid-area:break;width:64px;height:64px;background:#43b05a}
body[data-input-mode=touch] #touch-throttle-down{grid-area:use;width:64px;height:64px;background:#e2513f}
body[data-input-mode=touch] #touch-crouch{grid-area:crouch;width:52px;height:52px;min-width:52px;min-height:52px;background:#163a2fd9}
body[data-input-mode=touch] .touch-more{grid-area:more}
body[data-input-mode=touch] .touch-more>summary{width:52px;height:52px;min-width:52px;min-height:52px;background:#163a2fd9}
body[data-input-mode=touch] .touch-stick{background:#0f2a2052;border:3px solid #ffffff59;box-shadow:inset 0 0 0 10px #ffffff12}
body[data-input-mode=touch] #touch-stick-handle{background:#f6c431e6;border:0;box-shadow:0 3px 0 #00000040}
body[data-input-mode=touch] .selection-row{background:none;border:0;box-shadow:none;padding:0;justify-content:flex-end;-webkit-backdrop-filter:none;backdrop-filter:none}
body[data-input-mode=touch] .selection-row .selected-info{display:none}
@keyframes touch-door{50%{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){body[data-input-mode=touch] #touch-mount:is([data-door="1"],[data-door="2"]){animation:none}}

/* Colour dots above the hotbar (parts edition): tap one to build in that colour. */
.part-swatches{display:flex;gap:6px;align-items:center;flex:0 1 auto;min-width:0;overflow-x:auto;padding:3px;scrollbar-width:none}
.part-swatches[hidden]{display:none}
.hud-swatch{flex:0 0 auto;width:26px;height:26px;padding:0;border-radius:50%;border:2px solid #ffffffc0;box-shadow:0 2px 0 #00000059;cursor:pointer}
.hud-swatch[aria-pressed=true]{outline:3px solid var(--amber);outline-offset:1px;transform:scale(1.14)}
body[data-input-mode=touch] .part-swatches{flex:1 1 auto;gap:7px;padding:4px 2px}
body[data-input-mode=touch] .hud-swatch{width:32px;height:32px}

/* Touch play: the top bar shrinks to a row of round icon buttons in the top-right corner (no logo, labels or save text),
   and the notices (tips, messages) sit small in the top-left beside it. */
body[data-input-mode=touch] .topbar{left:auto;right:calc(max(8px,env(safe-area-inset-right)));top:calc(max(8px,env(safe-area-inset-top)));padding:4px;gap:4px;border-radius:24px;min-height:0}
body[data-input-mode=touch] .topbar :is(.brand,.world-details,.save-state,#quick-save){display:none}
body[data-input-mode=touch] .topbar .status-badge{font-size:.7rem;padding:.25rem .45rem}
body[data-input-mode=touch] .topbar-actions{gap:4px}
body[data-input-mode=touch] .topbar-actions .button{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:50%;justify-content:center;font-size:0;gap:0}
body[data-input-mode=touch] .topbar-actions .button>[aria-hidden=true]{font-size:18px;line-height:1}
body[data-input-mode=touch] .topbar-actions .button :is(kbd,span:not([aria-hidden=true])){display:none}
body[data-input-mode=touch] #hud-notices{top:calc(max(8px,env(safe-area-inset-top)));left:8px;width:calc(100vw - 236px);min-width:140px;gap:5px}
body[data-input-mode=touch] .quest-hint{padding:.45rem .55rem;gap:.35rem}
body[data-input-mode=touch] .quest-hint .eyebrow{font-size:.55rem}
body[data-input-mode=touch] .quest-hint p{font-size:.7rem;line-height:1.3}
body[data-input-mode=touch] .quest-icon{display:none}
body[data-input-mode=touch] .action-message{font-size:.7rem;padding:.4rem .55rem}

/* A town door within reach (mouse play): a button just under the crosshair. */
.door-prompt{position:absolute;left:50%;top:calc(50% + 34px);transform:translateX(-50%);display:flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:999px;font-weight:800;font-size:.9rem;color:#2a1a05;background:#ffd970;border:0;box-shadow:0 4px 0 #00000040,0 8px 18px #0000003d;cursor:pointer;z-index:5}
.door-prompt[hidden]{display:none}
.door-prompt kbd{background:#2a1a0522;border-radius:6px;padding:.05rem .4rem;font-size:.75rem}
.door-prompt:hover{filter:brightness(1.06)}
.game-ui.is-menu-open .door-prompt{visibility:hidden}

/* Rustige weergave (default): only what is useful right now. body[data-calm=false] keeps the full overlay. */
@keyframes calm-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body[data-calm=true] .quest-hint .eyebrow,body[data-calm=true] .quest-hint .quest-icon,body[data-calm=true] .quest-hint .quiet-button{display:none}
body[data-calm=true] .quest-hint:not([hidden]),body[data-calm=true] .action-message:not([hidden]){animation:calm-in .25s ease-out}
body[data-calm=true] .quest-hint p{margin:0;font-size:.82rem;line-height:1.35}
body[data-calm=true] .quest-hint #quest-distance{margin:0 0 0 .5rem}
body[data-calm=true] .quest-hint,body[data-calm=true] .action-message,body[data-calm=true] #town-loading{padding:.4rem .8rem;border-radius:999px;background:#172d2bc2;backdrop-filter:none;box-shadow:none;font-size:.8rem}
body[data-calm=true] .quest-hint>div{display:flex;align-items:baseline}
body[data-calm=true] #town-loading{opacity:.8;font-size:.72rem}
body[data-calm=true][data-keys-known=true] .play-controls:not(#mouse-look-hint){display:none}
body[data-calm=true]:not([data-input-mode=touch])[data-vehicle-keys=hide] .play-controls{display:none}
body[data-calm=true]:not([data-input-mode=touch])[data-vehicle-keys=hide] #vehicle-camera-control:not(:hover){opacity:.5}
body[data-calm=true] .save-state{display:none}
body[data-calm=true][data-save-note] .save-state{display:block}
body[data-calm=true][data-save-note=warn] .save-state{color:var(--amber)}
body[data-calm=true][data-calm-bars=hide] .playing-hud :is(.selection-row,.hotbar){display:none}
body[data-calm=true] .playing-hud :is(.selection-row,.hotbar){animation:calm-in .3s ease-out}
@media(min-width:761px){
  body[data-calm=true]:not([data-input-mode=touch]) .topbar{min-height:44px;padding:.25rem .55rem;gap:.6rem;top:10px;left:10px;right:10px;background:none;border-color:transparent;backdrop-filter:none;box-shadow:none;border-radius:14px;pointer-events:none}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .brand{font-size:0}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .brand-mark{font-size:1rem}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .world-details{display:none}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions{margin-left:auto;gap:.3rem}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button,body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button{min-height:34px;height:34px;padding:.2rem .6rem;font-size:.78rem;background:#172d2bcc;border-color:transparent;pointer-events:auto}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button{width:34px;padding:0}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button:is(:hover,:focus-visible),body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button:is(:hover,:focus-visible){background:#bcecd31f;border-color:var(--line)}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button>span:not([aria-hidden]),body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button>kbd{display:none}
  /* Every button keeps its place and size; the name appears below it. A button that grows on hover moves itself and the others away from under the mouse. */
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button{position:relative;width:34px;padding:0;justify-content:center}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button{position:relative}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button>span[aria-hidden],body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button{font-size:1rem}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button:is(:hover,:focus-visible)>span:not([aria-hidden]),body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button:is(:hover,:focus-visible)::after{display:block;position:absolute;top:calc(100% + 6px);right:0;padding:.25rem .55rem;border-radius:8px;background:#172d2bf5;color:#fff;font-size:.78rem;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .icon-button:is(:hover,:focus-visible)::after{content:attr(aria-label)}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button:has(>kbd):is(:hover,:focus-visible)>span:not([aria-hidden]){padding-right:2.9rem}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions .button:is(:hover,:focus-visible)>kbd{display:block;position:absolute;top:calc(100% + 6px + .25rem);right:.45rem;pointer-events:none}
  /* Building a city is the main thing to do here, so it stands first and always says what it is. */
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions #city-toggle{order:-1;width:auto;padding:.2rem .7rem;gap:.35rem}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .topbar-actions #city-toggle>span:not([aria-hidden]){display:inline;position:static;padding:0;background:none;font-weight:inherit}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .status-badge{background:#172d2b99;font-size:.78rem;pointer-events:auto}
  body[data-calm=true]:not([data-input-mode=touch]) .topbar .brand{pointer-events:auto}
  body[data-calm=true]:not([data-input-mode=touch]):is([data-vehicle-camera=true],[data-town-flight=true]) .topbar{opacity:.4;transition:opacity .2s}
  body[data-calm=true]:not([data-input-mode=touch]):is([data-vehicle-camera=true],[data-town-flight=true]) .topbar:hover{opacity:1}
  /* The one notice sits clear of the corner column: hints near the crosshair, messages under the top bar. */
  body[data-calm=true]:not([data-input-mode=touch]) #hud-notices>.action-message:not(#town-loading),body[data-calm=true]:not([data-input-mode=touch]) #hud-notices>.quest-hint{position:fixed;left:50%;top:64px;transform:translateX(-50%);width:auto;max-width:clamp(320px,calc(100vw - 760px),640px)}
  body[data-calm=true]:not([data-input-mode=touch]) #hud-notices>.quest-hint.is-near{top:calc(50% + 40px);background:#172d2bd9;max-width:min(560px,calc(100vw - 80px));text-align:center}
  body[data-calm=true]:not([data-input-mode=touch]) .town-minimap{top:64px;right:10px;width:118px;height:118px;opacity:.72;transition:opacity .2s;box-shadow:none}
  body[data-calm=true]:not([data-input-mode=touch]) .town-minimap:hover{opacity:1}
  body[data-calm=true]:not([data-input-mode=touch]) .minimap-toggle{top:64px;right:10px;width:118px;padding:.25rem;opacity:.72;background:#172d2b8c;backdrop-filter:none}
  body[data-calm=true]:not([data-input-mode=touch]) .minimap-toggle>span{display:none}
  body[data-calm=true]:not([data-input-mode=touch]) .minimap-toggle:hover{opacity:1}
  body[data-calm=true]:not([data-input-mode=touch]) #hud-notices{top:64px;left:10px}
  body[data-calm=true]:not([data-input-mode=touch]) .tips-return{top:64px;left:10px;opacity:.6}
}
/* Name tags over the other players of an online room (player-labels.js). */
.player-labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}.player-label{position:absolute;left:0;top:0;transform-origin:50% 100%;padding:.18rem .6rem;border-radius:999px;background:#0b241dcc;color:#f4fff9;font:700 .82rem/1.3 system-ui,sans-serif;white-space:nowrap;box-shadow:0 2px 8px #0006;border:2px solid var(--mint,#9fe3bc)}.player-label[hidden]{display:none}

/* The world map (ui-world-map.js): a big panel, the map box takes the height; on a phone the whole screen. */
.world-panel{width:min(1500px,calc(100vw - 48px));height:calc(100dvh - 48px);max-height:none}
.world-panel .journal-body{display:flex;flex-direction:column;flex:1;min-height:0}
.world-map{display:flex;flex-direction:column;gap:.6rem;flex:1;min-height:0}
.world-map-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem}
.world-map-switch{display:flex;gap:.35rem}
.world-map-switch .category-tab{font-size:.85rem;padding:.55rem .9rem;min-height:44px;white-space:nowrap}
.world-map-where{margin:0;font-weight:600;color:var(--amber)}
.world-map-box{position:relative;flex:1;min-height:320px;overflow:hidden;border-radius:18px;border:3px solid #6b4f2a;background:#cfe9b4;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;box-shadow:inset 0 0 0 3px #f6e7c4}
.world-map.is-real .world-map-box{background:#1d2a24;border-color:#3f5a4d;box-shadow:none}
.world-map-box:active{cursor:grabbing}
.world-map-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.world-map .wm-real,.world-map .wm-outlines{display:none}
.world-map.is-real .wm-real,.world-map.is-real .wm-outlines{display:inline}
.world-map.is-real .wm-pretty{display:none}
.world-map .wm-label text{font:800 13px "Segoe UI",ui-rounded,system-ui,sans-serif;fill:#3a2b2b}
.world-map.is-real .wm-label text{font-size:12px}
.world-map .wm-marker{cursor:pointer}
.world-map .wm-marker.is-selected .wm-label rect{fill:#fff1a8;stroke-width:4}
.world-map .wm-pin-pulse{animation:wm-pulse 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes wm-pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}
.world-map-tools{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:.35rem}
.world-map-tools .button{min-width:48px;min-height:44px;padding:.4rem .6rem;font-size:.85rem;background:#fffaf0e8;color:#3a2b2b;border:2px solid #6b4f2a55}
.world-map-tools .world-map-zoom{font-size:1.25rem;font-weight:800}
.world-map-moon{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:center;gap:0;width:92px;padding:.45rem .3rem;border-radius:50% 50% 18px 18px;background:#20263aee;color:#eef;border:2px solid #9aa3c4;line-height:1.1}
.world-map-moon>.world-map-moon-face{font-size:1.7rem}
.world-map-moon>strong{font-size:.75rem}
.world-map-moon>small{font-size:.6rem;color:#c9cde6}
.world-map-moon.is-here{border-color:#ff4757;box-shadow:0 0 0 4px #ff475766}
.world-map-moon.is-here>small:after{content:" · Jij bent hier";color:#ffb3ba;font-weight:700}
.world-map-card{position:absolute;left:10px;right:76px;bottom:10px;max-width:520px;display:flex;align-items:flex-start;gap:.7rem;padding:.75rem .8rem;border-radius:16px;background:#fffaf0f5;color:#3a2b2b;border:3px solid var(--area-colour,#6b4f2a);box-shadow:0 8px 24px #0005}
.world-map-card[hidden]{display:none}
.world-map-card-icon{font-size:2rem;line-height:1}
.world-map-card-text{flex:1;min-width:0}
.world-map-card-text strong{font-size:1.05rem}
.world-map-card-text .small-note{color:#5a4a42;margin:.15rem 0 0}
.world-map-card-trip{margin:.3rem 0 0;font-weight:700;color:#b5452f;font-size:.85rem}
.world-map-card .world-map-travel,.world-map-card .world-map-travel:hover:not(:disabled){background:#fff1a8;color:#3a2b2b;border-color:#6b4f2a;outline-color:#6b4f2a}
.world-map-card .close-button{color:#3a2b2b;min-width:40px;min-height:40px}
.world-map-legend summary{cursor:pointer;font-weight:700;padding:.3rem 0}
.world-map-legend-list{display:flex;flex-wrap:wrap;gap:.35rem;max-height:30dvh;overflow:auto;padding:.3rem 0}
.world-map-legend-item{font-size:.75rem;padding:.4rem .6rem;min-height:38px}
.world-map-open{margin-bottom:.2rem;align-self:flex-start}
@media(max-width:760px){
  .world-panel{width:100%;height:calc(100dvh - 28px)}
  .world-panel .modal-intro{display:none}
  .world-map-switch{flex:1}.world-map-switch .category-tab{flex:1;font-size:.78rem;padding:.5rem}
  .world-map-where{font-size:.72rem;flex-basis:100%}
  .world-map-box{min-height:240px;border-radius:14px}
  .world-map-moon{width:72px;top:6px;right:6px}.world-map-moon>small{display:none}
  .world-map-card{left:6px;right:66px;bottom:6px;padding:.55rem .6rem}
  .world-map-card-icon{font-size:1.5rem}
  .world-map-tools{right:6px;bottom:6px}
}
.build-kind-tabs{display:flex;gap:.65rem;flex-wrap:wrap}.build-kind-tabs .category-tab{flex:1;min-width:10rem;min-height:48px;font-weight:800}.build-kind-tabs .category-tab[aria-pressed="true"]{background:var(--mint,#ace8c4);color:#14382e}.build-pagination{justify-content:center;align-items:center;gap:1rem}.build-pagination button{min-height:44px}.prefab-preview{display:flex;min-height:112px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;color:#d1eddd}.prefab-symbol{font-size:3rem;line-height:1}.parts-current-details{min-width:0}.part-colours{max-height:170px;overflow:auto;align-content:start}.part-card{min-width:0}.part-card small{overflow-wrap:anywhere}.build-results-row{flex-wrap:wrap;gap:.4rem}
@media(max-width:540px){.build-kind-tabs .category-tab{min-width:0;padding:.6rem .45rem;font-size:.82rem}.build-pagination{gap:.5rem;justify-content:space-between}.build-pagination .small-note{text-align:center}.part-colours{max-height:132px}}

.inline-actions>[data-avatar-figure-style][aria-pressed=true]{border-color:var(--mint);background:#9ee3be2b;box-shadow:inset 0 0 0 1px #9ee3be55}

/* Direct play links show the real loading progress without another edition chooser. */
.entry-title,.entry-intro{display:none}
html[data-entry-edition] .start-art,
html[data-entry-edition] .start-title-default,
html[data-entry-edition] .start-content>:not(.start-brand):not(#start-title):not(.entry-intro):not(#loading-panel){display:none!important}
html[data-entry-edition] .start-panel{display:block;width:min(620px,100%);max-height:calc(100dvh - 48px);overflow:auto}
html[data-entry-edition] .start-content{display:flex;flex-direction:column;align-items:stretch;gap:1.15rem;padding:clamp(1.4rem,4vw,2.8rem)}
html[data-entry-edition] .start-content .start-brand{margin:0 0 .4rem}
html[data-entry-edition] .start-content h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.045em}
html[data-entry-edition="parts"] .entry-title-parts,
html[data-entry-edition="classic"] .entry-title-classic,
html[data-entry-edition="brick"] .entry-title-brick{display:inline}
html[data-entry-edition="parts"] #start-title,html[data-entry-edition="brick"] #start-title{color:#ffe083}
html[data-entry-edition] .entry-intro{display:block;color:var(--muted);font-size:.95rem;max-width:42ch}
html[data-entry-edition] #loading-panel{padding:.55rem 0;gap:.9rem}
body.arcade-game #hotbar,body.arcade-game .selection-row,body.arcade-game #crosshair,body.arcade-game #star-badge{display:none!important}
body.arcade-game :is(#quest-hint,#show-tips,#compass-goal,#play-controls,#mouse-look-hint,#touch-break,#touch-use,#touch-crouch,#touch-more){display:none!important}
body.arcade-hit #activity-hud{border:2px solid #ff897a;box-shadow:0 0 0 3px #79252199;background:#471f25f2}
body.arcade-pickup #activity-hud{border:2px solid #ffe78b;box-shadow:0 0 0 3px #7d651e77}
.board-game-controls{position:fixed;z-index:35;left:16px;bottom:24px;width:min(330px,calc(100vw - 32px));max-height:43vh;overflow:auto;padding:14px;border:1px solid #a3d4b577;border-radius:18px;background:#173d34ed;color:#f8f5e7;box-shadow:0 8px 30px #061f2655;pointer-events:auto}
.board-game-controls>strong{font-size:14px}.board-game-controls>p{font-size:12px;line-height:1.5;margin:8px 0}.board-move-choices,.board-table-actions{display:flex;flex-wrap:wrap;gap:6px}.board-move-choices>.button{min-height:44px;padding:8px 10px;font-size:12px}.board-game-controls[data-kind="four-in-row"] .board-move-choices>.button{width:calc((100% - 36px)/7);min-width:0;padding:5px}.board-table-actions{margin-top:10px}.board-table-actions>.button{font-size:11px;min-height:36px;padding:7px 12px}
body.board-game :is(#hotbar,.selection-row,#crosshair,#star-badge,#quest-hint,#show-tips,#compass-goal,#play-controls,#mouse-look-hint,#focus-game,#activity-hud,#touch-break,#touch-use,#touch-crouch,#touch-more){display:none!important}
body.mini-game-focus :is(#hotbar,.selection-row,#crosshair,#quest-hint,#show-tips,#focus-game,#touch-break,#touch-use,#world-action-controls,#mouse-look-hint){display:none!important}
body:not([data-overlay="none"]) #board-game-controls{display:none}
@media(max-width:760px){.board-game-controls{left:10px;bottom:14px;width:min(310px,calc(100vw - 20px));padding:11px;border-radius:14px;max-height:38vh}}
.garden-game-controls{position:fixed;z-index:35;left:16px;bottom:24px;width:min(360px,calc(100vw - 32px));max-height:40vh;overflow:auto;padding:12px 14px;border:1px solid #a3d4b577;border-radius:16px;background:#173d34ed;color:#f8f5e7;box-shadow:0 8px 30px #061f2655;pointer-events:auto}
.garden-game-controls>strong{display:block;font-size:14px}.garden-score{display:block;margin-top:2px;font-size:12px;font-weight:650;color:#ffe9a8}.garden-game-controls>p{margin:6px 0;font-size:12px;line-height:1.45}.garden-actions{display:flex;flex-wrap:wrap;gap:6px}.garden-actions>.button{min-height:36px;padding:7px 12px;font-size:11px}
.garden-meter{position:fixed;z-index:36;left:50%;bottom:112px;width:min(360px,62vw);height:26px;overflow:hidden;transform:translateX(-50%);border:2px solid #f8f5e7;border-radius:13px;background:#10261fd9;pointer-events:none}.garden-meter>span{display:block;width:0;height:100%;background:#7fd08a}.garden-meter>span[data-tone=warn]{background:#ffd35c}.garden-meter>span[data-tone=danger]{background:#ff7a5c}.garden-meter>b{position:absolute;inset:0;font-size:12px;line-height:22px;text-align:center;color:#fff;text-shadow:0 1px 2px #000}
body.garden-game :is(#activity-hud,#play-controls){display:none!important}
body.garden-game #crosshair{display:block!important}
body:not([data-overlay="none"]) :is(#garden-game-controls,#garden-meter){display:none}
body.garden-game[data-input-mode="touch"] :is(#touch-crouch,#touch-more){display:none!important}
body.garden-game[data-input-mode="touch"] .touch-controls{bottom:calc(var(--phone-bottom,10px) + 8px)}
body.garden-game[data-input-mode="touch"] .touch-actions{grid-template-columns:auto auto;align-items:end}
body.garden-game[data-input-mode="touch"] #touch-jump{width:84px;height:84px;min-width:84px;min-height:84px;border-radius:50%;background:#2f7d5cf2;touch-action:none}
body.garden-game[data-input-mode="touch"] #touch-jump small{font-size:13px}
body.garden-game[data-input-mode="touch"] #touch-mount{width:52px;height:52px;min-width:52px;min-height:52px}
body.garden-game[data-input-mode="touch"] .garden-game-controls{left:var(--phone-left,8px);right:var(--phone-right,8px);bottom:auto;top:calc(var(--phone-top,8px) + 56px);width:auto;max-height:34dvh;padding:9px 11px}
body.garden-game[data-input-mode="touch"] .garden-actions>.button{min-height:44px;font-size:12px}
body.garden-game[data-input-mode="touch"] .garden-meter{bottom:calc(var(--phone-bottom,10px) + 108px)}
@media(max-height:500px){body.garden-game[data-input-mode="touch"] .garden-game-controls{left:50%;right:auto;top:calc(var(--phone-top,8px) + 44px);width:min(380px,50vw);max-height:calc(100dvh - 66px);transform:translateX(-50%)}body.garden-game[data-input-mode="touch"] .garden-game-controls>p{font-size:11px;line-height:1.3;margin:3px 0}body.garden-game[data-input-mode="touch"] .garden-meter{bottom:calc(var(--phone-bottom,10px) + 8px)}}
