@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap";:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#fff;font-synthesis:none;--mint:#b9f5d3;--panel:#102d29df;--gold:#f8e1aa}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#8bb5c5}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible{outline:3px solid #d5ffc5;outline-offset:4px}button:disabled{cursor:wait;opacity:.65}#game{position:fixed;inset:0;width:100%;height:100%;display:block}#vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 160px #10272455}#flash{position:fixed;inset:0;background:#b2ecff;opacity:0;pointer-events:none;z-index:9;transition:opacity .15s}.hidden{display:none!important}.overlay{position:fixed;inset:0;z-index:10}#welcome{background:linear-gradient(90deg,#102c32ed,#163d37ba 36%,#163d3712 78%);padding:6vh 6vw;display:flex;align-items:center}.intro{max-width:670px;margin-top:-3vh}.wordmark{font-size:26px;font-weight:800;letter-spacing:5px}.star{color:#d3ffc5;font-size:39px;vertical-align:middle}.edition{font-size:13px;letter-spacing:6px;color:#b9dacb;margin:0 0 7vh 48px}h1{font-size:clamp(38px,4.1vw,70px);line-height:1.3;letter-spacing:2px;margin:0 0 24px;font-weight:900;text-shadow:0 4px 28px #041a1766}.description{color:#d5e7df;line-height:2;font-size:16px;margin:0 0 36px}.primary{background:#c5f4d0;color:#163b30;border:1px solid #e3ffe9;border-bottom:4px solid #7dba91;padding:16px 38px;font-weight:800;letter-spacing:2px;min-width:240px;box-shadow:0 8px 24px #051d2433;transition:filter .15s,transform .15s}.primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.intro-hint{font-size:12px;color:#a9c9bb;margin-top:17px}.intro-keys{display:flex;gap:23px;margin-top:5vh;font-size:12px;color:#c5dcd1}.intro-keys span{display:flex;gap:8px;align-items:center}kbd{font:inherit;font-size:11px;border:1px solid #b1d3c451;background:#d2ead215;border-radius:3px;padding:2px 5px;white-space:nowrap}.postcard{position:absolute;right:6vw;bottom:14vh;display:flex;flex-direction:column;align-items:flex-end;text-shadow:0 2px 8px #123a32}.postcard span{font-size:16px;letter-spacing:3px}.postcard b{font-size:50px;color:#e4ffce;line-height:1.5}.postcard small{font-size:11px;letter-spacing:3px}footer{position:absolute;bottom:28px;left:6vw;right:6vw;font-size:11px;color:#c6dfd2a0;display:flex;justify-content:space-between}.topbar{position:absolute;top:22px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;letter-spacing:2px;text-shadow:0 2px 4px #0009;font-size:18px}.brand span{font-size:10px;letter-spacing:1px;padding:4px 8px;background:#20392c8c;border:1px solid #d2fbd82b;margin-left:12px;vertical-align:middle}.top-actions{display:flex;gap:8px}.top-actions button{background:#173e3680;border:1px solid #d5f4e436;padding:7px 11px;border-radius:5px;font-size:12px}.top-actions kbd{margin-left:7px}.player-panel{position:absolute;top:81px;left:26px;display:flex;gap:11px;align-items:center;text-shadow:0 2px 4px #0005}.portrait{width:46px;height:49px;background:linear-gradient(130deg,#dfc3ff,#906aa1);border:2px solid #ffe1ef;display:grid;place-items:center;font-size:32px;box-shadow:0 3px 10px #142f3e50}.player-panel strong{font-size:13px;font-weight:600}.mana{height:5px;background:#583c71;margin:8px 0 5px;width:155px;border:1px solid #e4caff55}.mana i{display:block;background:linear-gradient(90deg,#d3b5ff,#92e5fa);height:100%;width:100%}.player-panel small{font-size:10px;color:#e5e3f9}.player-panel small span{margin-left:10px;color:#c8f8c7}.minimap-panel{position:absolute;top:80px;right:26px;width:190px;background:var(--panel);border:1px solid #d3f3dc45;border-radius:6px;padding:7px;box-shadow:0 6px 16px #061d1d30}.map-heading{display:flex;justify-content:space-between;font-size:10px;margin:1px 3px 7px;color:#d3f5e0}#minimap{display:block;width:100%;image-rendering:pixelated;border:1px solid #ceeac524}#coordinates{font-size:10px;text-align:center;color:#b7cfbc;margin-top:6px;letter-spacing:1px}#crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #000)}#crosshair i,#crosshair b{position:absolute;background:#ffffffe0;display:block}#crosshair i{width:14px;height:2px;left:2px;top:8px}#crosshair b{width:2px;height:14px;left:8px;top:2px}#target-label{position:absolute;top:calc(50% + 25px);width:100%;text-align:center;font-size:11px;text-shadow:0 1px 3px #000}#toast{position:absolute;top:22%;left:50%;transform:translate(-50%);padding:12px 25px;background:#183d37e6;border:1px solid #d2eaca66;border-radius:5px;color:#ecffe9;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:80%;text-align:center}#companions{position:absolute;left:26px;top:160px;min-width:190px;font-size:11px;background:#102d2933;padding:12px;border-left:2px solid #d4c9ff99;border-radius:0 5px 5px 0}#companions strong{font-weight:500}#companion-count{color:#d8baff;float:right;margin-left:25px}#companion-note{font-size:10px;color:#d7e3d6;margin-bottom:0}.companion-row{display:flex;justify-content:space-between;margin-top:9px;color:#e3dcff}.companion-row i{color:#b2e8b4;font-style:normal;font-size:9px}#interact{position:absolute;bottom:230px;left:50%;transform:translate(-50%);padding:9px 16px;background:#152a36c9;border:1px solid #c7dbff6b;border-radius:5px;font-size:12px}#interact kbd{margin-right:9px}.bottom-hud{position:absolute;bottom:18px;left:50%;transform:translate(-50%);width:max-content;max-width:95vw}.skills{display:flex;justify-content:center;gap:9px;margin-bottom:10px}.skills button{width:63px;height:62px;background:#152b39b8;border:1px solid #dec8ff66;border-bottom:3px solid #a78dbd;position:relative;border-radius:5px;padding:3px;overflow:hidden}.skills button>kbd{position:absolute;top:3px;left:4px;font-size:9px;border:0;background:none;padding:0;color:#ebd6ff}.skills button>span{font-size:26px;line-height:33px;display:block;color:#efc6ff}.skills button:first-child>span{color:#ffb778}.skills button:nth-child(2)>span{color:#b9edff}.skills button:nth-child(3)>span{color:#c8edc2}.skills button b{font-size:10px;font-weight:500}.skills button i{position:absolute;inset:auto 0 0;background:#d9c8ff33;pointer-events:none}.skills button:hover{border-color:#e9e3ff}#selected-name{text-align:center;font-size:12px;text-shadow:0 2px 4px #000;margin:7px;height:16px}#hotbar{display:flex;gap:3px;background:#102b2b9e;padding:5px;border:1px solid #e1eedb55;border-radius:5px}.slot{position:relative;width:53px;height:53px;border:2px solid #a7b4ab66;background:#22342b99;display:grid;place-items:center;border-radius:2px}.slot.selected{border-color:#e4ffdb;background:#d1ecc243;box-shadow:0 0 0 1px #35482d,0 0 15px #efffd833}.slot small{position:absolute;left:3px;top:1px;font-size:9px;color:#d9e2db}.slot em{position:absolute;right:3px;bottom:0;font-style:normal;font-size:11px}.block-icon{width:32px;height:32px;image-rendering:pixelated;box-shadow:3px 3px #0003;transform:rotate(-5deg)}.bottom-hints{display:flex;justify-content:space-between;gap:20px;margin-top:8px;font-size:9px;color:#ffffffca;text-shadow:0 1px 3px #000}.bottom-hints kbd{font-size:9px;padding:0 3px}#status{position:absolute;bottom:22px;left:26px;font-size:10px;color:#efffdfbd;text-shadow:0 1px 3px #000}#fps{position:absolute;bottom:22px;right:26px;font-size:10px;color:#efffdfbd}#boss{position:absolute;top:75px;left:50%;transform:translate(-50%);width:400px;max-width:40vw;background:#0b1928cc;padding:13px 17px;border:1px solid #5bb9bf88;border-radius:5px}#boss>div:first-child{display:flex;justify-content:space-between;font-size:12px;color:#bcf4f1}.boss-track{height:7px;background:#132b39;margin:8px 0;border:1px solid #56aab455}#boss-fill{height:100%;background:linear-gradient(90deg,#24747f,#89e4d6);width:100%;display:block}#boss small{font-size:8px;color:#a1c1c6}.dialog-overlay{background:#071f27a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.dialog{background:#153b34f5;border:1px solid #c9e9d055;box-shadow:0 24px 90px #00100f66;border-radius:10px;padding:30px;max-height:90vh;overflow:auto;color:#eaf7eb}.dialog h2{font-size:25px;margin:0 0 10px;letter-spacing:1px}.dialog p{color:#b9d2c3;font-size:12px;line-height:1.9}.pause-dialog{width:420px;text-align:center}.dialog-symbol{font-size:36px;color:#d2f1b6;display:block;margin-bottom:15px}.pause-dialog h2{font-size:22px}.pause-dialog>.primary{margin:17px 0;width:100%}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button,.dialog-header>button{border:1px solid #d1e8c63d;background:#a2d4b713;padding:11px;border-radius:4px;font-size:12px}.setting{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:12px}.setting select{color:#dcf0dd;background:#1b493f;border:1px solid #a3c9b13b;padding:6px;border-radius:4px}.small{font-size:10px!important;margin-bottom:0}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dialog-header p{margin:0 0 22px}.dialog-header>button{font-size:23px;padding:0;width:34px;height:34px;flex-shrink:0}.map-dialog{width:990px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px}.atlas-wrap{padding:10px;background:#091d20;border:1px solid #90b59244;border-radius:5px}#atlas{width:100%;display:block;image-rendering:pixelated}.map-legend{font-size:10px;text-align:center;padding:10px 0 0;color:#c4d5af}.landmark{width:100%;text-align:left;display:block;background:#d4e9c90b;border:1px solid #bad1b62e;border-radius:5px;padding:13px;margin-bottom:10px}.landmark:hover{background:#b9e3a522;border-color:#d7f6bb88}.landmark strong{font-size:13px;color:#e5efce}.landmark p{font-size:10px;margin:5px 0}.landmark small{color:#a7c9bc;font-size:9px}.landmark span{float:right;color:#ddf1b6;font-size:11px}.inventory-dialog{width:710px}#block-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.block-choice{display:flex;align-items:center;flex-direction:column;gap:14px;padding:15px 5px;background:#d8ecd00b;border:1px solid #d4e4c436;border-radius:5px;font-size:11px}.block-choice:hover{background:#c9e9ae2b}.block-choice .block-icon{width:38px;height:38px}.help-dialog{width:810px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.help-grid h3{font-size:14px;color:#ddedc7}.help-grid p{font-size:11px}.quest{padding:17px;background:#ccedbb0d;border-left:2px solid #c6d9aa;margin-top:20px}.quest strong{font-size:12px}.quest p{margin-bottom:0;font-size:11px}@media(max-width:900px){.postcard{display:none}.intro{max-width:90%}.edition{margin-bottom:5vh}.description{font-size:14px}.minimap-panel{width:145px;right:15px}.topbar{left:15px;right:15px}.player-panel{left:15px}.brand{font-size:15px}.brand span{display:none}#companions{top:150px;left:15px;min-width:160px}.slot{width:42px;height:43px}.block-icon{width:27px;height:27px}.bottom-hints{font-size:8px}.map-layout{grid-template-columns:1fr 210px;gap:15px}.dialog{padding:22px}.help-grid{gap:15px}#status{bottom:205px;left:15px}#boss{top:20px;width:300px}#block-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:600px){h1{font-size:38px}.intro-keys{gap:12px;font-size:9px}.wordmark{font-size:22px}footer span{display:none}.map-layout,.help-grid{grid-template-columns:1fr}.map-dialog{max-height:92vh}.atlas-wrap{max-width:360px;margin:auto}.landmark{margin-bottom:6px;padding:10px}.dialog h2{font-size:19px}#block-grid{grid-template-columns:repeat(4,1fr)}.slot{width:33px;height:38px}.slot .block-icon{width:23px;height:23px}.bottom-hints{display:none}.skills button{width:55px;height:57px}.top-actions button{font-size:10px;padding:6px}.top-actions kbd{display:none}.player-panel{top:65px}.minimap-panel{top:62px;width:118px}#companions{top:142px;font-size:9px;padding:9px;min-width:140px}.brand{font-size:13px}.dialog-overlay{padding:12px}.description br{display:none}}body.playing #game{cursor:none}body.playing.cursor-free #game{cursor:auto}body.cursor-free #crosshair{visibility:hidden}#radio strong{display:block;color:#ffd166;font-size:10px;margin-bottom:5px;letter-spacing:1px}#radio span{font-size:14px;color:#fff4d9}#command-hint{position:absolute;top:25%;left:50%;transform:translate(-50%);background:#332b16df;color:#ffe5a0;border:1px solid #ffd16688;padding:12px 20px;border-radius:4px;font-size:13px;pointer-events:none}body.commanding #crosshair i,body.commanding #crosshair b{background:#ffd166}.companion-row{width:100%;border:0;background:transparent;text-align:left;padding:4px 0;gap:8px;font:inherit}.companion-row.selected{background:#f0d28522;outline:1px solid #ffd16688}.companion-row.dead{opacity:.55}.companion-row i{font-size:9px;white-space:nowrap}.voice-preview{margin-top:16px;padding:8px 18px;background:#b9e3be17;border:1px solid #d0e7c75c;border-radius:4px}#volume{width:155px;accent-color:#b9e3be}@media(max-width:600px){#radio span{font-size:12px}#command-hint{font-size:11px;width:75%;text-align:center}}#hud{pointer-events:none}#hud button{pointer-events:auto}body.commanding #hud button{pointer-events:none}#territory-status{position:absolute;left:50%;top:88px;transform:translate(-50%);background:#102d29dc;border:1px solid #89c8a666;border-radius:5px;padding:8px 14px;color:#d9f4d6;font-size:12px;pointer-events:none;white-space:nowrap}#capture-note{position:absolute;left:50%;top:32%;transform:translate(-50%);padding:14px 24px;background:#4a3024ee;border:1px solid #ffbd79;color:#ffe1a5;border-radius:5px;font-size:15px;pointer-events:none}#companion-list{max-height:320px;overflow-y:auto}.companion-row{display:flex;justify-content:space-between}.companion-row span{white-space:nowrap}#companions{min-width:235px}@media(max-width:600px){#territory-status{top:auto;bottom:192px;font-size:9px;padding:6px}#companions{min-width:170px;max-width:200px}#companion-list{max-height:240px}.companion-row i{font-size:8px}#capture-note{font-size:12px;width:80%;text-align:center}}@media(max-width:600px){.topbar .brand{display:none}.top-actions{width:100%;justify-content:space-between;gap:3px}.top-actions button{flex:1;font-size:10px;padding:7px 4px}#companions{width:184px;min-width:0;max-width:184px}#companion-list{max-height:168px}.companion-row{font-size:8px;gap:4px}.companion-row span{overflow:hidden;text-overflow:ellipsis}#companion-note{font-size:8px}#territory-status{bottom:202px;max-width:95%;font-size:8px}}.inventory-row{position:relative;width:max-content;margin:auto}#radio{position:absolute;left:calc(100% + 12px);top:auto;bottom:0;transform:none;width:clamp(100px,calc((100vw - 540px)/2),240px);min-width:0;max-width:none;background:#112b2ce8;border:1px solid #c8e1bc66;border-left:3px solid #ffd166;border-radius:4px;padding:9px 12px;pointer-events:none;text-shadow:0 1px 2px #000}#radio span{font-size:12px;line-height:1.5;overflow-wrap:anywhere}#radio strong{font-size:9px;margin-bottom:4px}@media(max-width:600px){.bottom-hud{width:95vw}.inventory-row{margin-left:0;margin-right:0}#hotbar{gap:2px;padding:4px}.slot{width:22px;height:32px}.slot .block-icon{width:16px;height:16px}.slot small{font-size:7px;left:1px}.slot em{font-size:8px;right:1px}#radio{left:calc(100% + 8px);width:clamp(65px,calc(100vw - 250px),220px);padding:5px 6px}#radio span{font-size:10px}#radio strong{font-size:8px}}.world-entry{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;font-size:11px;color:#d3e7d6}.world-entry button,.world-actions>button:not(.primary),.world-card button{padding:10px 14px;border:1px solid #c9e9d055;background:#c9e9d015;border-radius:4px}.worlds-dialog{width:660px;max-width:100%}.world-name-label{display:block;font-size:12px;margin:12px 0 8px}#world-name{width:100%;background:#0e2926;border:1px solid #90b59288;border-radius:4px;padding:12px;color:#ecffe9;font:inherit;box-sizing:border-box}.world-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.world-actions .primary{min-width:0;padding:12px 20px;letter-spacing:0}#worlds-message{color:#ffe1a5;min-height:22px;margin:8px 0}.world-card{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:15px 0;border-top:1px solid #b7dbbf33}.world-card>div{min-width:0}.world-card strong{font-size:14px;overflow-wrap:anywhere}.world-card small{display:block;color:#afcfbd;font-size:10px;margin-top:6px;line-height:1.6}.world-card button{flex-shrink:0;font-size:12px}.world-card button:disabled{opacity:.5;cursor:default}.country-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;font-size:10px}.country-legend span:before{content:"";display:inline-block;width:9px;height:9px;background:var(--country);margin-right:4px}@media(max-width:600px){.worlds-dialog{padding:18px}.world-actions>button{flex:1;font-size:12px}.world-card{gap:8px}.world-card button{padding:8px}.world-entry{gap:8px}#welcome .intro{margin-top:0}#welcome h1{font-size:32px}#welcome .description{margin-bottom:18px}}.mode-entry{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:18px;color:#cfe9d7}.mode-entry select{background:#193f36;color:#e5f3dc;border:1px solid #aac5b566;padding:6px;border-radius:4px}#player-vitals{margin-left:0}.player-panel small #player-vitals{color:#e5e3f9}.classic-entry{display:block;padding:12px 18px;margin:10px 0 14px;border:1px solid #b3d9b88c;border-radius:8px;background:#e0f3ce;color:#243f35;font-weight:700;text-align:center;text-decoration:none}.classic-entry:hover{background:#f0ffdc}.mode-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}.mode-links .classic-entry{margin:0;padding:10px 8px;font-size:12px;line-height:1.6}#weapon-status{text-align:center;font-size:11px;color:#f6dfad;margin:4px 0;text-shadow:0 1px 3px #071c24}.skills #weapon-button.equipped{background:#c7debf;color:#143a2e;border-color:#eaffd9}.country-legend{row-gap:6px}.portrait{background:linear-gradient(135deg,#b94236,#401d1c);border-color:#d28067;color:#ffe6ca}.mana{background:#332726}.mana i{background:linear-gradient(90deg,#c45644,#e9bf8f)}@media(min-width:601px){.map-dialog{width:1100px;max-width:96vw;height:92vh;padding:22px;overflow:hidden;display:flex;flex-direction:column}.map-dialog .dialog-header p{margin-bottom:14px}.map-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr)260px}.atlas-wrap{min-height:0;overflow:auto}#atlas{width:min(100%,calc(92vh - 280px));height:auto;margin:0 auto}#landmark-list{overflow-y:auto;min-height:0;padding-right:4px}}
