@font-face{font-family:Outfit;src:url('../noor-town/assets/Outfit.ttf')}@font-face{font-family:Geist;src:url('../noor-town/assets/Geist.woff2')}*{box-sizing:border-box}body{margin:0;background:#102923;color:#faf4df;font-family:Geist,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #fff3;background:#172b23d9;padding:10px 14px;border-radius:3px}button:hover{background:#34513b}button:focus-visible{outline:2px solid #efc777;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}#world{width:100vw;height:100dvh;display:block;touch-action:none;outline:none}header{position:absolute;inset:18px 22px auto;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>div{display:flex;gap:6px;pointer-events:auto}.brand{font:700 18px Outfit;letter-spacing:3px;text-shadow:0 2px 7px #000}.brand small{display:block;font:8px Geist;letter-spacing:2px;opacity:.65;margin-top:4px}header button{font-size:11px;background:#10231b85;padding:8px 11px}kbd{font:10px Geist;opacity:.6;margin-left:8px}#siege-status{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;font-size:10px;text-shadow:0 1px 3px #000}#siege-status .meter{width:110px;height:4px;background:#0006}.meter i{display:block;background:#e3be71;height:100%;width:100%}#crosshair{position:absolute;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 1px #000)}#crosshair:before,#crosshair:after{content:'';position:absolute;background:#fff9}#crosshair:before{width:15px;height:2px;top:6px}#crosshair:after{height:15px;width:2px;left:6px}#target{position:absolute;left:50%;top:calc(50% + 23px);transform:translateX(-50%);text-align:center;pointer-events:none;font-size:11px;text-shadow:0 2px 3px #000}#mining-meter{width:70px;height:3px;margin:6px auto;background:#0005;visibility:hidden}#mining-meter i{display:block;height:100%;width:0;background:#f1d28b}#entry{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);width:90%;text-align:center;pointer-events:none;text-shadow:0 2px 15px #102218}#entry strong{display:block;font:500 34px Outfit;letter-spacing:-.7px}#entry span{display:block;font-size:11px;margin-top:12px;color:#eee7cd}#toast{position:absolute;left:50%;bottom:122px;transform:translateX(-50%);font-size:12px;max-width:90%;width:max-content;text-align:center;text-shadow:0 1px 6px #000;pointer-events:none;transition:opacity .3s}.bottom{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:370px}.vitals{display:flex;align-items:center;justify-content:space-between;padding:0 2px 8px;text-shadow:0 2px 4px #000;font-size:10px}.vitals #health{font-size:15px;letter-spacing:2px;color:#efb18c}.hint{opacity:.7;font-size:9px}.hotbar{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:4px;background:#0c2019a8;border:1px solid #fff2;border-radius:3px}.hotbar button{position:relative;height:54px;padding:8px;background:#29382cba;border-radius:0;display:grid;place-items:center;border:1px solid #b1baa144;box-shadow:inset 0 -3px #0003}.hotbar button[aria-pressed=true]{outline:2px solid #f1d18b;outline-offset:-1px;background:#536047ad}.hotbar kbd{position:absolute;top:3px;left:4px;font-size:8px;margin:0}.hotbar b{position:absolute;right:4px;bottom:3px;font-size:11px;text-shadow:0 1px #000}.icon{font-style:normal;font-size:31px;color:#decda9;line-height:1}.icon.bow{font-size:42px;transform:rotate(-35deg)}.icon.spikes{font-size:24px}.icon.tower{font-size:29px;color:#d8c08a}.block{width:24px;height:26px;display:block;transform:skewY(-8deg);box-shadow:inset -7px -5px #0003;border:1px solid #ffffff4a}.timber{background:repeating-linear-gradient(0deg,#92643e 0 5px,#b18555 6px 8px)}.masonry{background:#8c9b87}.touch{display:none}dialog{border:1px solid #d1c49e66;background:#142b23f5;color:#eee9d6;border-radius:6px;padding:26px;max-width:650px;width:calc(100% - 28px);max-height:90dvh;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#07110c70;backdrop-filter:blur(4px)}h1,h2,h3{color:#fff5dd;font-family:Outfit}h2{font-size:27px;margin:0}h3{font-size:14px;margin:0 0 5px}dialog p{font-size:12px;line-height:1.6;color:#c7cfbc}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head button{padding:8px 12px;font-size:12px}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}.inventory-cell{padding:15px;background:#263f30;border:1px solid #ffffff20;display:flex;align-items:center;gap:14px}.inventory-cell b{font:600 25px Outfit}.inventory-cell small{display:block;color:#c3c9b6;font-size:10px}.inventory-cell i{width:24px;height:28px;display:block;box-shadow:inset -7px -4px #0003;transform:skewY(-7deg)}.wood-icon{background:#b48957}.stone-icon{background:#9a9f89}.iron-icon{background:#7dafa1}.recipes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recipe{padding:13px;border:1px solid #ffffff23;background:#1c362b;display:flex;align-items:center;justify-content:space-between;gap:10px}.recipe p{font-size:10px;margin:0}.recipe button{font-size:11px;padding:9px 10px}.panel-footer{display:flex;gap:8px;justify-content:space-between;border-top:1px solid #fff2;padding-top:16px;margin-top:18px}.panel-footer button{font-size:11px}.gold{background:#e6c27b;color:#18271c;border-color:#e6c27b}.gold:hover{background:#f4d7a0}.note{font-size:10px!important;opacity:.7}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.controls span{font-size:12px;color:#ced5c1}.controls b{display:block;margin-bottom:4px;color:#f2d18c}.actions{display:flex;gap:10px;margin-top:18px}.actions button{flex:1}#fatal{position:absolute;inset:35% 10% auto;padding:20px;background:#193a2b}
@media(max-width:760px){header{inset:12px 12px auto}.brand{font-size:14px;letter-spacing:2px}.brand small{font-size:7px}header button{font-size:10px;padding:8px}#siege-status{top:62px;font-size:9px;white-space:nowrap}#siege-status .meter{width:75px}.bottom{width:min(350px,calc(100% - 24px));bottom:14px}.hotbar button{height:47px}.hotbar{gap:3px}.hotbar kbd,.hint{display:none}.vitals{font-size:9px}.vitals #health{font-size:13px}.touch{position:absolute;inset:auto 16px 112px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.touch>*{pointer-events:auto}#joystick{width:82px;height:82px;border:1px solid #fff4;border-radius:50%;background:#10231b55;display:grid;place-items:center;touch-action:none}#stick{width:32px;height:32px;background:#e5d6ae99;border-radius:50%}.touch-actions{display:flex;align-items:end;gap:10px}.touch button{border-radius:50%;width:46px;height:46px;background:#17342380;font-size:18px;touch-action:none}#use{width:59px;height:59px;font-size:11px;background:#d8bc7eab;color:#10251a}#toast{bottom:205px;font-size:11px}#entry{top:26%}#entry strong{font-size:27px}#entry span{font-size:10px;max-width:280px;margin:10px auto;line-height:1.7}dialog{padding:18px}.inventory-grid{gap:5px}.inventory-cell{padding:10px 8px;gap:8px}.inventory-cell b{font-size:21px}.inventory-cell i{width:18px;height:24px}.recipes{grid-template-columns:1fr}.recipe{padding:10px}.panel-footer{flex-wrap:wrap}.panel-footer button{flex:1}.controls{gap:10px}h2{font-size:24px}}
/* Playtest 04: compact block inventory and spatial crafting. */
.bottom{width:490px}.hotbar{grid-template-columns:repeat(9,1fr);gap:3px}.hotbar button{height:48px;padding:5px}.hotbar kbd{font-size:8px}.item-icon{display:block;width:25px;height:27px;font:25px/27px Outfit;font-style:normal;position:relative;image-rendering:pixelated;text-align:center;color:#d5d9c5;text-shadow:2px 2px #19251a}.item-plank{background:repeating-linear-gradient(0deg,#a77a47 0 6px,#624529 6px 8px);box-shadow:inset -6px -4px #0003;border:1px solid #c5a578}.item-log{background:repeating-linear-gradient(90deg,#6a492e 0 4px,#987047 4px 7px);border-top:5px solid #c29a62;box-shadow:inset -5px 0 #0003}.item-dirt{background:repeating-conic-gradient(#8d6642 0 25%,#725134 0 50%) 0/9px 9px;box-shadow:inset -5px -3px #0003}.item-stone{background:repeating-conic-gradient(#8e9985 0 25%,#a8ad9c 0 50%) 0/10px 10px;box-shadow:inset -5px -3px #0003}.item-leaves{background:repeating-conic-gradient(#60813e 0 25%,#3c6432 0 50%) 0/7px 7px;box-shadow:inset -4px -3px #0003}.item-table{background:repeating-linear-gradient(0deg,transparent 0 7px,#47331f 7px 9px),repeating-linear-gradient(90deg,#aa7b44 0 7px,#47331f 7px 9px);border:3px solid #d0a165;box-shadow:0 3px #654727}.item-iron{color:#e4d9bd}.item-stick{color:#c4a06a;font-size:35px}.item-crossbow{font-size:35px;transform:rotate(-35deg)}.item-axe{color:#d0d8cd}.item-shovel{color:#bbc6b9}.item-pickaxe{color:#d4d8c8}dialog{max-width:700px;padding:24px;background:#22382c;border:3px solid #84917a;border-radius:3px;box-shadow:inset 0 0 0 2px #12251b,0 20px 80px #0008}dialog .panel-head{margin-bottom:14px}.craft-layout{display:flex;gap:30px;align-items:center;justify-content:center;padding:10px 0 14px}.pack-preview{background:#14271d;border:2px inset #7e8b70;padding:15px 20px;min-width:135px;text-align:center}.pack-avatar{display:grid;place-items:center;height:65px}.pack-avatar .item-icon{transform:scale(1.8)}.pack-preview span{font-size:10px;color:#c4ceb9}.craft-layout h3{font-size:15px}.craft-row{display:flex;gap:16px;align-items:center}.craft-grid{display:grid;grid-template-columns:repeat(var(--craft-size),44px);gap:4px}.craft-grid button,.bag-grid button,.output-slot{position:relative;display:grid;place-items:center;border:2px solid;border-color:#17291e #728167 #728167 #17291e;background:#43563e;border-radius:0;padding:4px;min-width:0;aspect-ratio:1}.craft-grid button{height:44px}.craft-grid button:hover,.bag-grid button:hover{background:#607452}.craft-grid b,.bag-grid b,.output-slot b{position:absolute;right:3px;bottom:1px;font-size:12px;text-shadow:1px 1px #000}.bag-grid kbd{position:absolute;top:2px;left:3px;font-size:8px;margin:0}.output-slot{width:56px;height:56px;background:#667251}.craft-arrow{font-size:30px;color:#d1cbb3}.craft-result{font-size:10px;margin:6px 0!important;color:#e2d8ba!important;min-height:16px}.bag-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.bag-grid button{width:100%;max-height:58px}.bag-grid .chosen{outline:2px solid #eccb86;outline-offset:-2px;background:#65734d}.bag-hotbar{margin-top:12px}.bag-help{font-size:11px;margin:0 0 10px;color:#d5dfc7;min-height:31px}.recipe-book{margin-top:15px;color:#e4d6b8;font-size:11px}.recipe-book summary{cursor:pointer}.recipe-book>div{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px}.recipe-book button{font-size:10px;display:flex;gap:8px;align-items:center;padding:6px 9px}.recipe-book .item-icon{transform:scale(.7);width:22px}.panel-footer{margin-top:15px;padding-top:12px}.panel-footer button{font-size:10px}.note{margin-bottom:0}#place{font-size:10px;background:#294633b8}.touch-actions{gap:6px}
@media(max-width:760px){.bottom{width:calc(100% - 20px);max-width:400px}.hotbar button{height:38px}.hotbar .item-icon{width:21px;height:23px;font-size:22px;line-height:23px}.hotbar{gap:2px;padding:3px}.hotbar b{font-size:10px}.vitals #health{font-size:12px}.touch{bottom:101px}dialog{padding:14px;max-height:94dvh}.pack-preview{display:none}.craft-layout{padding:5px 0 8px}.craft-grid{grid-template-columns:repeat(var(--craft-size),36px);gap:3px}.craft-grid button{height:36px}.craft-row{gap:10px}.output-slot{width:46px;height:46px}.bag-grid{gap:3px}.bag-grid button{padding:1px}.bag-grid .item-icon{width:21px;height:23px;font-size:21px;line-height:23px}.bag-grid b{font-size:10px}.bag-grid kbd{display:none}.bag-help{font-size:10px;min-height:34px}.panel-head h2{font-size:22px}.panel-head button{font-size:10px;padding:7px}.panel-footer{gap:5px}.panel-footer button{padding:9px 6px;font-size:9px}.craft-result{margin-top:4px!important}.recipe-book{font-size:10px}.note{font-size:9px!important}}

dialog:focus-visible{outline:2px solid #e0c388;outline-offset:2px}
/* Expedition 05 — distinct illustrated equipment, compact field guide. */
.item-art{display:block;width:36px;height:36px;flex:none;filter:drop-shadow(1px 2px 0 #11241980)}.hotbar .item-art{width:34px;height:34px}.bag-grid .item-art{width:38px;height:38px;max-width:100%;max-height:100%}.craft-grid .item-art{width:34px;height:34px}.pack-avatar .item-art{width:64px;height:64px}.output-slot .item-art{width:44px;height:44px}.equipment-row{display:flex;align-items:center;gap:6px;padding:9px 0 12px;flex-wrap:wrap}.equipment-row>span{font-size:10px;color:#d6d7bd;margin-right:auto}.equipment-row button{height:36px;min-width:36px;padding:2px;font-size:9px;background:#1b3023;border:1px solid #809171}.equipment-row .item-art{width:30px;height:30px}.recipe-book>div{display:grid;grid-template-columns:1fr 1fr;max-height:260px;overflow:auto;padding-right:4px}.recipe-book button{text-align:left;padding:8px;align-items:center;min-width:0}.recipe-book button span{min-width:0}.recipe-book small{display:block;color:#c2ccb4;font-size:9px;line-height:1.5;margin-top:4px}.recipe-book .item-art{width:30px;height:30px}.recipe-book summary{padding:8px 0;color:#f1d28d}.bag-grid button:hover,.craft-grid button:hover{outline:1px solid #e8c784;outline-offset:-1px}#location{position:absolute;left:22px;top:62px;font:9px Geist;color:#f5eccf;text-shadow:0 1px 3px #152718;pointer-events:none;opacity:.8}body:has(#world:focus){cursor:crosshair}
@media(max-width:760px){.hotbar .item-art{width:28px;height:28px}.bag-grid .item-art{width:27px;height:27px}.craft-grid .item-art{width:28px;height:28px}.equipment-row{gap:4px}.equipment-row>span{flex-basis:100%;font-size:9px}.equipment-row button{height:31px;min-width:31px}.equipment-row .item-art{width:25px;height:25px}.recipe-book>div{grid-template-columns:1fr;max-height:230px}.recipe-book small{font-size:9px}#location{left:12px;top:85px;font-size:8px}.vitals{gap:5px}.hint{display:none}}

#world[data-freelook=true]{cursor:none}

.games-return{display:inline-flex;align-items:center;padding:12px;color:#f2e8c9;text-underline-offset:4px;font:12px Geist,sans-serif}.games-return:focus-visible{outline:2px solid #e0c388;outline-offset:3px}
/* Starter guide: one live objective, never a blocking tutorial dialog. */
#starter-guide{position:absolute;z-index:4;left:22px;top:100px;width:310px;padding:17px 18px 13px;background:#102d25f2;border:1px solid #d7b66570;border-left:3px solid #d7b665;border-radius:5px;box-shadow:0 8px 30px #071c1730;pointer-events:auto}#starter-guide[hidden]{display:none}.guide-kicker{display:block;font:9px Geist,sans-serif;letter-spacing:.11em;color:#e1c88d}#starter-guide h2,.inventory-guide h2{color:#fffdf7;font:600 20px/1.2 Outfit,sans-serif;margin:9px 0}#starter-guide p,.inventory-guide p{color:#e0e9dc;font:11px/1.65 Geist,sans-serif;margin:8px 0}#starter-guide .guide-mission{color:#f2dfb1;font-size:11px}#starter-guide small,.inventory-guide small{display:block;color:#b9cbbd;font:10px/1.5 Geist,sans-serif;margin:10px 0}.guide-actions{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #d7b66530;padding-top:9px}.guide-actions button{border:0;background:none;padding:4px 0;color:#ead8a5;font:10px Geist,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}#guide-toggle[aria-expanded=true]{border-color:#d7b665;background:#31513e}#guide-toggle:focus-visible,.guide-actions button:focus-visible{outline:2px solid #ead8a5;outline-offset:4px}.inventory-guide{padding:12px 15px;background:#142b22;border-left:2px solid #d7b665;margin-bottom:12px}.inventory-guide h2{font-size:16px;margin:6px 0}.inventory-guide small{margin:5px 0}.inventory-guide p{font-size:11px;margin:6px 0}dialog .actions{flex-wrap:wrap}dialog .actions button{min-width:105px}body:has(dialog[open]) #starter-guide{visibility:hidden}
@media(max-width:760px){#starter-guide{top:107px;left:12px;width:min(330px,calc(100% - 24px));padding:12px 14px 9px}#starter-guide h2{font-size:17px;margin:7px 0}#starter-guide p{font-size:10px;line-height:1.55;margin:6px 0}#starter-guide small{font-size:9px;margin:7px 0}.guide-kicker{font-size:8px}.guide-actions{padding-top:5px}.guide-actions button{min-height:28px}.guide-visible #entry{top:52%}.guide-visible #entry strong{font-size:21px}.guide-visible #entry span{max-width:230px}header>div{display:flex;gap:4px}header button{padding:8px 7px}header .brand{font-size:12px}.inventory-guide{padding:9px 11px}.inventory-guide h2{font-size:15px}.inventory-guide p{font-size:10px}}
@media(max-height:540px){#starter-guide{top:83px;max-height:calc(100dvh - 190px);overflow:auto;width:280px}.guide-visible #entry{top:30%;left:65%;width:35%}}
