*{box-sizing:border-box}body{margin:0;background:#0c1015;color:#e4e9ed;font:15px/1.6 system-ui,'Malgun Gothic',sans-serif}header{max-width:1320px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center}small{font-size:11px;letter-spacing:2px;color:#b8a77c}h1{font-size:24px;margin:2px 0}h2{font-size:32px;line-height:1.35}h3{margin:8px 0 16px;font-size:17px}main{max-width:1320px;margin:auto;padding:0 28px 32px}.panel{border:1px solid #303943;background:#151b23;padding:24px;border-radius:12px}#intro{margin:24px auto;max-width:1050px;padding:40px}.maps{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.map{height:230px;text-align:left;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden}.map b{font-size:23px}.map em{font-size:12px;font-style:normal;color:#e3c998}.lava{background:radial-gradient(ellipse at 75% 10%,#f37e33aa,transparent 45%),linear-gradient(150deg,#24232b,#4e241d 65%,#bd421b)}.snow{background:linear-gradient(155deg,#9cc7d342,#203c53 50%,#466774)}button{font:inherit;color:inherit;background:#242e39;border:1px solid #42505e;border-radius:7px;padding:9px 15px;cursor:pointer;touch-action:manipulation}button:hover{border-color:#e7bc70;filter:brightness(1.12)}button.active{background:#57482e;border-color:#edc47e}.primary{background:#d3ac67;color:#191b1e;font-weight:700}button:disabled{opacity:.4;cursor:default}.muted{color:#95a2ae;font-size:13px}.stats{display:flex;flex-wrap:wrap;gap:12px 26px;background:#18212b;padding:14px 20px;border:1px solid #36414c;border-radius:10px 10px 0 0}.stats b{color:#edc47e}.field{position:relative;background:#111921}canvas{display:block;width:100%;aspect-ratio:11/7;touch-action:none}#toast{position:absolute;top:18px;left:50%;transform:translateX(-50%);background:#10151eeb;padding:10px 22px;border:1px solid #d3ac67;border-radius:6px;pointer-events:none;opacity:0;text-align:center;min-width:240px}#weather{position:absolute;bottom:12px;left:15px;color:#ffcb9c;font-size:13px;pointer-events:none}.toolbar{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:#171f28;border-radius:0 0 10px 10px}#tools{display:flex;flex-wrap:wrap;gap:6px;flex:1}#tools button{font-size:12px;padding:8px 10px}.lower{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}#cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#cards button{text-align:left;padding:10px;font-size:12px}#cards b{display:block;color:#9fd6f0}#cards .gold b{color:#efc678}#cards span{display:block;color:#b6c1c9;font-size:11px}#slots{float:right;color:#d3ac67}#log{font-size:12px;color:#b9c5cf;max-height:120px;overflow:auto}dialog{max-width:580px;background:#18212c;color:#e4e9ed;border:1px solid #64717b;border-radius:12px;padding:28px}dialog::backdrop{background:#000b}[hidden]{display:none!important}@media(max-width:700px){header{padding:16px}main{padding:0 10px 20px}h2{font-size:25px}#intro{padding:22px}.maps{grid-template-columns:1fr}.map{height:170px}.lower{grid-template-columns:1fr}.panel{padding:16px}.stats{font-size:12px;gap:6px 16px}#cards{grid-template-columns:repeat(2,1fr)}}

#selection{margin-top:16px}#upgradeOptions{display:flex;flex-wrap:wrap;gap:10px}#upgradeOptions button{text-align:left;min-width:170px;flex:1}#upgradeOptions b,#upgradeOptions span{display:block}#upgradeOptions span{font-size:12px;color:#afbdc9}
/* In-world HUD, kept inside the playable viewport. */
body:has(#game:not([hidden])){overflow:hidden}body:has(#game:not([hidden])) header{padding:10px 22px;max-width:none}body:has(#game:not([hidden])) header h1{font-size:19px}body:has(#game:not([hidden])) main{max-width:none;padding:0 12px 12px}#game>.field{height:calc(100dvh - 90px);min-height:400px;overflow:hidden;border:1px solid #48555c;border-radius:12px;box-shadow:0 15px 70px #0008}#canvas{height:100%;width:100%;aspect-ratio:auto}.field .stats{position:absolute;top:0;left:0;right:0;border:none;border-bottom:1px solid #7d99982e;border-radius:0;background:linear-gradient(#101b26f5,#101b26c9);padding:12px 18px;font-size:12px;gap:10px 22px;pointer-events:none}.field .toolbar{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(#101b26bd,#101b26f5);border-top:1px solid #739d9d39;border-radius:0;padding:10px;gap:6px}.field #tools{gap:5px}.field #tools button{font-size:11px;padding:9px 10px;background:#182a35e8}.field #tools button.active{background:#665333;border-color:#d4b87c}.field #start{display:none}.field #restart{position:absolute;bottom:calc(100% + 12px);right:14px;font-size:11px;background:#152330d9}.field #weather{bottom:85px;left:18px;font-size:11px;max-width:65%;text-shadow:0 1px 4px #000}.field #toast{top:100px;font-size:12px;z-index:4;max-width:70%;background:#13212deb}.field #selection{position:absolute;top:105px;right:14px;width:280px;max-height:calc(100% - 210px);overflow:auto;padding:16px;background:#111f2bef;border-color:#6e8b8e88;z-index:3;margin:0;box-shadow:0 10px 35px #0006}.field #selection h3{font-size:16px;margin-bottom:6px}.field #selection p{font-size:11px}.field #selectionClose{font-size:10px;padding:4px 7px}.field #upgradeOptions{display:grid;grid-template-columns:1fr;gap:7px}.field #upgradeOptions button{min-width:0;padding:9px;font-size:12px}.field #upgradeOptions span{font-size:10px}.field .lower{position:absolute;top:105px;left:14px;margin:0;display:block;pointer-events:none;width:330px;max-width:calc(100% - 28px);z-index:3}.field .lower .panel{pointer-events:auto;background:#111f2bef;max-height:calc(100dvh - 315px);overflow:auto;padding:16px;border-color:#6e8b8e88;box-shadow:0 10px 35px #0006}.field #cards{grid-template-columns:1fr 1fr;gap:7px}.field #cards button{padding:9px}.field #hudTabs{position:absolute;top:62px;left:14px;display:flex;gap:7px}.field #hudTabs button{font-size:11px;padding:7px 12px;background:#142532dc}.field #log{max-height:210px}@media(max-width:700px){#game>.field{height:calc(100dvh - 86px)}.field .stats{font-size:10px;padding:8px;gap:4px 10px}.field #tools button{font-size:9px;padding:5px}.field .toolbar{padding:6px}.field #selection{width:235px;top:110px}.field #hudTabs{top:70px}.field #weather{bottom:100px}.field .lower{top:110px}.field #toast{top:160px}}
.field .toolbar{display:none}.field>#restart{bottom:15px;right:15px}.field #weather{bottom:20px}#buildWheel{position:absolute;width:240px;height:240px;transform:translate(-50%,-50%);z-index:6;border-radius:50%;background:radial-gradient(circle,#122430ee 35%,#142b38aa 36%,#142b38e8 75%,transparent 76%);border:1px solid #aac4bb66;box-shadow:0 8px 35px #0008}.wheelCenter{position:absolute;left:86px;top:89px;width:68px;text-align:center;font-size:12px;color:#dfc590}.wheelCenter button{display:block;margin:2px auto;padding:0 7px;background:transparent;border:0;font-size:22px}.wheelItem{position:absolute;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;padding:4px;background:#172c3ef5;line-height:1.2;box-shadow:0 3px 10px #0005}.wheelItem strong{display:block;font-size:25px;color:#9ed9dc}.wheelItem span{display:block;font-size:11px}.wheelItem small{font-size:8px;letter-spacing:0;color:#ddc28b}
#achievements{position:absolute;right:14px;top:105px;width:370px;max-width:calc(100% - 28px);max-height:calc(100% - 125px);overflow:auto;z-index:8;background:#111f2bf5;padding:18px}#achievementInventory{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}#achievementInventory p{width:100%;font-size:12px}#achievementInventory button{font-size:11px;padding:6px}.achievementRow{margin:8px 0}.achievementRow button{width:100%;text-align:left;font-size:12px}.achievementRow span{display:block;font-size:10px;color:#b3c3cb}.achievementRow strong{display:block;color:#dfc08a;font-size:11px;margin-top:5px}
#modePicker{max-width:1050px;margin:24px auto;padding:32px}#modeOptions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}#modeOptions button{text-align:left;padding:22px;background:linear-gradient(135deg,#243441,#17212c)}#modeOptions b{display:block;font-size:24px;color:#e6c58c}#modeOptions span{display:block;font-size:13px;line-height:1.8;color:#bbcad2;margin-top:12px}#modeOptions button[data-mode=hell]{border-color:#a8624a;background:linear-gradient(135deg,#4c2b29,#1c2028)}#modeNotice{position:absolute;bottom:54px;left:50%;transform:translateX(-50%);width:85%;background:#111d2bf2;border:1px solid #b69c68;padding:12px 18px;font-size:12px;color:#ecd6ab;text-align:center;border-radius:8px;pointer-events:none;z-index:9}.field #upgradeOptions button{overflow-wrap:anywhere}@media(max-width:650px){#modeOptions{grid-template-columns:1fr}#modePicker{padding:20px}#modeNotice{font-size:10px;bottom:45px}}
#selection{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;cursor:grab;touch-action:pan-y}#selection::-webkit-scrollbar{display:none;width:0;height:0}#selection.dragScrolling,#selection.dragScrolling *{cursor:grabbing!important;user-select:none}#selection.dragScrolling{touch-action:none}

/* Permanent progress is accessible before and during an expedition. */
#achievementHeader{margin-left:auto;color:#ffe19b;border-color:#b59b58;background:#3c3423}header #help{margin-left:8px}#hudTabs{z-index:5}#achievementToggle{color:#ffe19b;border-color:#b59b58}#achievements{position:fixed;top:85px;right:24px;bottom:auto;max-height:calc(100dvh - 110px);box-sizing:border-box;z-index:30;box-shadow:0 15px 60px #000b;overscroll-behavior:contain}#achievements[hidden]{display:none}@media(max-width:650px){#achievementHeader{font-size:11px;padding:8px}#achievements{right:12px;top:80px;max-height:calc(100dvh - 95px)}}

.maps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.map{min-height:235px}.map.block{background:linear-gradient(140deg,#c5dfed22,#123752bb),url('assets/block-arena-stone.png') center/cover;color:#132937}.map.block b,.map.block span{color:#102b40;text-shadow:0 1px 3px #fff8}.map.block em{color:#254e6d}.maps .map b{font-size:25px}header #achievementHeader{order:1}header #help{order:2}#achievementInventory .permanentSummary{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;background:#06182499;border:1px solid #51888866;border-radius:9px;padding:12px;font-size:11px}.permanentSummary span{display:flex;justify-content:space-between;gap:8px}.permanentSummary b{color:#a2f0cf}#achievements{width:440px;scrollbar-width:none}#achievements::-webkit-scrollbar{display:none}.achievementRow{padding:13px;border:1px solid #526b784f;border-radius:9px;background:#1e33404d}.achievementHeading{display:flex;justify-content:space-between;gap:8px;font-size:13px}.achievementRow .achievementHeading strong{margin:0;color:#bde6ee}.achievementRow span{margin-top:5px}.achievementReward{color:#b4e9c9!important}.achievementRow progress{width:100%;height:5px;accent-color:#8ee2c0;border:0;margin-top:10px}.achievementRow progress::-webkit-progress-bar{background:#071a27;border-radius:4px}.achievementRow progress::-webkit-progress-value{background:#8ee2c0;border-radius:4px}@media(max-width:900px){.maps{grid-template-columns:1fr}.map{min-height:180px}.maps .map b{font-size:24px}}

#buildWheel .wheelItem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:3px}#buildWheel .wheelItem canvas{display:block;width:54px;height:48px;pointer-events:none}#buildWheel .wheelItem span{font-size:10px;line-height:15px;color:#e5efed;pointer-events:none}

/* Floating construction models, without circular panels or button rims. */
#buildWheel{background:none;border:0;border-radius:0;box-shadow:none;pointer-events:none}#buildWheel .wheelItem,#buildWheel .wheelItem:hover,#buildWheel .wheelItem:active{background:none;border:0;border-radius:0;box-shadow:none;pointer-events:auto}#buildWheel .wheelItem:hover canvas{filter:brightness(1.25) drop-shadow(0 0 3px #9ee8be)}#buildWheel .wheelItem:focus-visible,#buildWheel #wheelClose:focus-visible{outline:1px solid #b5e6c9;outline-offset:1px}#buildWheel .wheelItem span{text-shadow:0 1px 3px #000,0 0 5px #000}#buildWheel .wheelCenter{top:98px;pointer-events:none}#buildWheel #wheelClose{pointer-events:auto;font-size:26px;color:#f4dca1;text-shadow:0 1px 4px #000}

#pauseGame{position:absolute;right:14px;top:62px;z-index:12;background:#152938ed;font-size:11px;padding:8px 12px}#pausedShade{position:absolute;inset:105px 0 0;background:#07132077;display:grid;place-items:center;pointer-events:none;z-index:10;color:#e4efed;font-size:26px;text-shadow:0 2px 6px #000}#pausedShade[hidden],#endActions[hidden]{display:none}#endActions{position:absolute;top:64%;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:15}#endActions button{white-space:nowrap;background:#244238}#endActions button:first-child{background:#d0ad68;color:#121c21;border-color:#e4c98a}

#gameSpeed{position:absolute;right:14px;top:100px;z-index:12;background:#193a3bee;border:1px solid #769e93;color:#dcf1e5;font-size:11px;padding:8px 12px}.field #selection{top:145px;max-height:calc(100% - 250px)}

#intro .map.block{background:linear-gradient(130deg,#081a2960,#06131bc9),url('assets/dice-citadel-battlefield.png') center 44%/cover;border-color:#789293}#intro .map.block b,#intro .map.block span{color:#eef3ef;text-shadow:0 1px 5px #000}#intro .map.block em{color:#b6d5d4;text-shadow:0 1px 4px #000}
