*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#112b30;color:#f4f4df;font-family:system-ui,'Malgun Gothic',sans-serif}button,select,input{font:inherit}button,select{cursor:pointer}button{border:1px solid #56766b;background:#193e40;color:#eef5dc;padding:12px 18px;border-radius:7px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#2d5750;transform:translateY(-2px)}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ffd77b;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#eac96e!important;color:#173732!important;border:0;font-weight:800;padding:17px 28px;box-shadow:0 4px 0 #9b7f3f}.small{font-size:13px;color:#b8cfc1}.eyebrow{color:#f0cf79;letter-spacing:.2em;font-size:12px;font-weight:800;text-transform:uppercase}h1{font-size:clamp(36px,5vw,68px);line-height:1.13;margin:12px 0 16px;letter-spacing:-.045em}h2{font-size:28px;margin:8px 0 20px}h3{margin:8px 0;font-size:19px}p{line-height:1.65}canvas#game{position:fixed;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}#panel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none}#panel>*{pointer-events:auto}.menu{width:min(1080px,100%);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:40px;background:linear-gradient(115deg,#102c30f5,#102c30d9);border:1px solid #658575;border-radius:16px;box-shadow:0 24px 80px #071919a6}.intro{display:flex;flex-direction:column;justify-content:center}.titleleaf{color:#efbf5e}.path{display:flex;align-items:center;gap:9px;margin:26px 0;font-size:14px;color:#c9d4b7}.path b{padding:8px;border:1px solid #5c7564;border-radius:5px}.setup{background:#0a202594;border-radius:12px;padding:24px;border:1px solid #365652}.stats{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #3e5f57;padding-bottom:16px;margin-bottom:20px}.stats strong{display:block;font-size:25px;color:#f2d384}label{display:block;font-size:14px;color:#c2d2c4;margin:15px 0 7px}select,input{width:100%;padding:10px;background:#1e4040;color:#fff4d8;border:1px solid #52756b;border-radius:5px}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.actions button{flex:1}.preview{display:flex;align-items:center;gap:16px;padding:8px 0}.avatar{width:68px;height:68px;image-rendering:pixelated;background:#325649;border-radius:7px;border:1px solid #668675}.modal{background:#102e32f7;border:1px solid #719080;border-radius:14px;width:min(1000px,100%);max-height:94vh;overflow:auto;padding:30px;box-shadow:0 20px 90px #0008}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.choice{text-align:left;min-height:220px;position:relative;padding:24px}.choice .icon{font-size:32px;color:#f8d97e}.choice p{font-size:15px;color:#c4d7c9}.choice .level{color:#efd37d;font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:20px}.item{padding:15px;border:1px solid #456b60;border-radius:8px;background:#173c3b}.item button{width:100%;margin-top:10px}.item p{font-size:13px;min-height:40px;color:#bfd4c3}.tabs{display:flex;gap:10px;margin:12px 0}.tabs .active{background:#e4c36d;color:#183934}.topline{display:flex;justify-content:space-between;align-items:center;gap:20px}#hud{position:absolute;inset:0;pointer-events:none;font-size:14px}.hudtop{display:flex;align-items:center;gap:18px;margin:16px auto;width:min(1100px,94%);padding:12px 16px;background:#0b242deb;border:1px solid #597665;border-radius:9px}.health{width:220px}.bar{height:9px;background:#061a20;border-radius:4px;overflow:hidden;margin-top:5px}.bar i{height:100%;display:block;background:#e97877}.exp i{background:#a5dc93}.hudtop button{pointer-events:auto;padding:7px 12px;margin-left:auto}.bossbar{width:min(600px,80%);margin:12px auto;padding:10px 20px;background:#211f31ef;border:1px solid #af718b;border-radius:7px;text-align:center}.bossbar .bar i{background:#e39193}.inventory{position:absolute;left:22px;bottom:22px;display:flex;gap:6px;max-width:75%;flex-wrap:wrap}.slot{padding:8px;background:#0c2933eb;border:1px solid #617668;border-radius:6px;font-size:12px}.slot b{color:#f1d17a}.status{position:absolute;right:22px;bottom:22px;text-align:right;background:#0d2932df;padding:12px;border-radius:7px;line-height:1.8;color:#ffe29c}#toast{position:absolute;left:50%;top:24%;transform:translateX(-50%);padding:14px 25px;background:#172b30ee;border:1px solid #f1d18a;border-radius:7px;pointer-events:none;opacity:0;transition:opacity .2s;text-align:center;font-size:20px}#toast.show{opacity:1}#touch{position:absolute;bottom:90px;left:35px;width:105px;height:105px;border-radius:50%;background:#cedec322;border:2px solid #d4e5ca66;touch-action:none;display:none}#touch span{display:block;width:42px;height:42px;position:absolute;left:30px;top:30px;border-radius:50%;background:#d4e5ca66}details{margin-top:15px;color:#bfd1c5;font-size:13px}summary{cursor:pointer}.result{text-align:center;width:min(570px,100%)}.result strong.big{font-size:52px;color:#f0cf79;display:block}.result .row{margin:20px 0}.result .row b{font-size:24px;display:block}.hint{color:#accabc;font-size:13px;margin-top:18px}.warn{color:#ffc89a}.badge{font-size:12px;border:1px solid #768e68;padding:4px 8px;border-radius:20px;color:#d0e2ac}@media(pointer:coarse){body.playing #touch{display:block}}@media(max-width:700px){#panel{padding:10px}.menu{gap:14px;padding:22px;grid-template-columns:1fr;max-height:96vh;overflow:auto}.intro h1{font-size:34px}.intro p,.path{display:none}.setup{padding:16px}.choices{grid-template-columns:1fr}.choice{min-height:115px;padding:15px}.choice p{margin:8px 0}.modal{padding:20px}.hudtop{gap:7px;font-size:11px;padding:8px;margin-top:8px}.health{width:100px}.inventory{left:8px;bottom:8px;max-width:70%;gap:3px}.slot{font-size:10px;padding:4px}.status{font-size:11px;right:8px;bottom:8px;padding:7px}.preview{padding:0}.stats{margin-bottom:8px}.setup label{margin-top:8px}.actions{margin-top:14px}}
@media(max-width:700px){body.playing #touch{display:block}.hudtop{gap:8px}.hudtop>span{white-space:nowrap}.hudtop>span:last-of-type{display:none}.hudtop .small{font-size:10px}.hudtop .health{min-width:65px;flex:1}.hudtop button{flex:0;padding:8px}#game{object-fit:fill}}
/* Calm forest palette, crisp type and illustrated characters. */
html,body{background:#10232a;color:#edf4e9}canvas#game,.avatar{image-rendering:auto}.menu{background:linear-gradient(115deg,#101f28f8,#112c30ed);border-color:#59786d;border-radius:8px;box-shadow:0 24px 90px #020e18a0}.setup{background:#0b1a23b0;border-radius:5px}.eyebrow{letter-spacing:.23em;color:#a9d9c7}.titleleaf{color:#d9e7a5}h1{font-weight:850}.primary{background:#d5e3a0!important;box-shadow:none;border-radius:4px}.avatar{background:radial-gradient(ellipse at center,#587467 0%,#213f3c 80%);width:88px;height:88px;border-color:#668879}.item .avatar{width:110px;height:110px;border:0;margin:auto;display:block}.hudtop{background:linear-gradient(180deg,#0b1a25f2,#122b31cc);border:1px solid #6980775c;border-radius:4px;box-shadow:0 3px 18px #05191f40}.bar{height:6px;border-radius:1px}.bar i{background:#e1968c}.exp i{background:#71d7bf}.bossbar{border-radius:3px;border-color:#cd9d8466;background:#221e2ae8}.slot{border-radius:3px;border-color:#6479717a;padding:9px;background:#10232de8}.slot b{color:#d1dfa1}.modal{background:linear-gradient(130deg,#13272ff7,#112e30f7);border-radius:7px}.choice{border-color:#6f8e805c;border-radius:5px;background:#18353b}.choice:hover{border-color:#d8e9b0;background:#23474a!important}.choice .icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:#829d6130;margin-bottom:12px;color:#def0b3}.item{background:#18343a;border-radius:4px;border-color:#53736577}.tabs .active{background:#d5e3a0}.status{border-radius:3px;color:#d2e5c5;background:#10252ce8}.path b{border-radius:3px;border-color:#81957b77}.small,.hint{color:#bacbc3}#toast{background:#142831ed;border-color:#c4d9a288;border-radius:4px}.result strong.big{color:#d4e7ad}@media(max-width:700px){.avatar{width:68px;height:68px}.choice{min-height:130px}.choice .icon{width:32px;height:32px;font-size:23px;margin-bottom:6px}.hudtop{border-color:#68817466}.inventory{max-width:70%}.slot{padding:4px}.status{max-width:29%;font-size:10px}h2{font-size:25px}}


.combat-details{text-align:left;margin:24px 0}.equipment{display:flex;flex-wrap:wrap;gap:8px}.gear{position:relative;font-size:14px;padding:10px}.gear-tip{display:none;position:absolute;z-index:20;bottom:100%;left:0;width:250px;padding:14px;background:#071821;border:1px solid #b7d9cb;color:#fff;font-size:14px;box-shadow:0 4px 20px #0008;white-space:normal}.gear:hover .gear-tip,.gear:focus .gear-tip,.gear:focus-within .gear-tip{display:block}.damage-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px;padding:10px 2px 12px;border-bottom:1px solid #526966;font-size:14px}.damage-row small{grid-column:1/-1;color:#b6ccc3}.damage-row i{position:absolute;bottom:0;left:0;height:3px}.modal.result{max-height:90vh;overflow-y:auto;width:min(820px,94vw)}.inventory{pointer-events:auto}.status:empty{display:none}#sound{font-size:12px;padding:7px}

.weapon-icon{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;flex-shrink:0}.slot .weapon-icon{width:24px;height:24px}.gear .weapon-icon{width:28px;height:28px}.choice .weapon-icon{width:48px;height:48px}

.inventory{display:flex;flex-direction:column;gap:7px;max-width:74%;pointer-events:auto}.inventory-group{display:flex;align-items:center;gap:9px;background:#10222df0;border:1px solid #b99857;border-left:4px solid #e7c574;border-radius:5px;padding:6px 9px}.inventory-label{min-width:44px;color:#ffe4a1;font-size:12px;font-weight:800;line-height:1.5}.inventory-label b{display:block;font-size:11px}.inventory-slots{display:flex;flex-wrap:wrap;gap:5px}.weapon-group .slot{border-color:#8b754d;background:#342c25}.passive-group{border-color:#538697;border-left-color:#7adee9;background:#102934ef}.passive-group .inventory-label{color:#a0edf3}.passive-group .slot{border-color:#427387;background:#1b3949}.passive-group .slot b{color:#a0edf3}.inventory .slot{font-size:12px;padding:5px 7px}.empty-slot{color:#a1bec8;font-size:12px;padding:5px}.status{max-width:23%}@media(max-width:700px){.inventory{max-width:73%;gap:4px;bottom:8px}.inventory-group{padding:4px;gap:5px}.inventory-label{min-width:33px;font-size:10px}.inventory .slot{font-size:10px;padding:3px 4px}.inventory .weapon-icon{width:18px;height:18px}.inventory-slots{gap:3px}.status{max-width:24%}body.playing #touch{bottom:185px}}

/* Lobby: remembered mode, equipped portraits, one inventory entry. */
.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.difficulty-options button{padding:10px 3px;border:2px solid #769c94;border-radius:2px;font-size:20px;font-weight:800}.difficulty-options .selected{border-color:#e3efb5;background:#d5e3a0;color:#142e30;box-shadow:0 0 0 2px #d5e3a035}.mode-note{min-height:36px;line-height:1.5}.loadout-preview{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;text-align:center;margin:15px 0 26px}.loadout-preview>div{display:flex;align-items:center;flex-direction:column;gap:10px;min-width:0}.loadout-preview .avatar{width:min(100%,190px);height:auto;aspect-ratio:1}.loadout-preview .weapon-icon{width:min(100%,140px);height:140px}.loadout-preview span{font-size:14px;color:#d6e6db}.menu details a{color:#d9e7a5}.tabs{flex-wrap:wrap}.upgrade-item{display:flex;flex-direction:column}.upgrade-item button{margin-top:auto}.upgrade-item .level{font-size:14px;color:#c9dbaa}.upgrade-item p{font-size:14px}.upgrade-item .next-upgrade{color:#f5dfa2}.special-badge{display:inline-block;font-size:11px!important;background:#ff9f36;color:#281b0c!important;border-radius:3px;padding:2px 4px;margin-left:4px}.weapon-group .slot.special-weapon,.gear.special-weapon{border:2px solid #ff9d35;box-shadow:0 0 10px #ff8d3040;background:#392d24}.small,.hint{font-size:14px}.loadout-preview .avatar{image-rendering:auto}@media(max-width:700px){.loadout-preview .avatar{width:120px}.loadout-preview .weapon-icon{width:95px;height:95px}.difficulty-options button{font-size:16px}.loadout-preview{margin:10px 0;gap:12px}.mode-note{margin:8px 0;min-height:0}}

.menu .fan-notice{grid-column:1/-1;border-top:1px solid #59786d;padding-top:16px;margin-top:-16px;color:#c4d5ce;font-size:14px;line-height:1.6;text-align:center;word-break:keep-all}@media(max-width:700px){.menu .fan-notice{margin-top:0}}

/* Keep all lobby controls reachable on short desktop and mobile screens. */
.menu{max-height:calc(100dvh - 48px);overflow:auto}@media(max-width:700px){.menu{max-height:calc(100dvh - 20px)}}
