@font-face{font-family:'Noto Sans SC';src:url('./noto-sans-sc.woff') format('woff');font-weight:400 800;font-display:swap}
:root{color-scheme:dark;--ink:#e6e9d7;--muted:#9db1ab;--aqua:#78ddc4;--jade:#22564c;--copper:#ba9669;--line:#71988670;--panel:#061715ee;--danger:#dc746c;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#020909}body{touch-action:none;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #b7ead1;outline-offset:3px}#game-shell{width:100vw;height:100dvh;min-height:400px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#103029 0%,#020b0c 58%,#010506 100%)}#game{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 47%,transparent 30%,#020b0b70 72%,#010708eb 100%)}#grain{position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");mix-blend-mode:screen}#scanline{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#0002 4px);opacity:.19}.hidden{display:none!important}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:20;background:radial-gradient(ellipse at center,#071a18c4 0%,#02090bed 65%,#010608f5 100%);backdrop-filter:blur(7px)}.menu-screen{background:radial-gradient(ellipse at 50% 46%,#092520d9 0%,#031110f1 47%,#010708ff 83%)}.menu-core{width:min(92vw,570px);display:flex;flex-direction:column;align-items:center;transform:translateY(-2%);text-align:center}.sigil{color:#85d4bc;font-size:29px;letter-spacing:5px;margin-bottom:24px;font-weight:300}.sigil span{font-size:16px;vertical-align:middle}.eyebrow{text-transform:uppercase;color:#95afa8;letter-spacing:4px;font-size:10px;font-weight:600}.pixel-title{font-family:'Noto Sans SC',sans-serif;color:#e9ecda;font-size:clamp(44px,6vw,76px);letter-spacing:.12em;font-weight:800;margin:25px 0 7px;text-shadow:4px 4px 0 #243e37,0 0 40px #7ecdb233;white-space:nowrap}.menu-subtitle{color:#c8ab79;letter-spacing:8px;font-size:12px;margin-bottom:20px}.ornament{display:flex;align-items:center;gap:0;margin:2px 0 8px}.ornament i{height:1px;width:39px;background:#527d6d}.ornament b{height:2px;width:50px;background:#b8a271}.menu-quote{color:#c0cec3;font-size:13px;letter-spacing:2px;margin:0 0 25px}.menu-buttons{width:min(100%,410px);display:flex;flex-direction:column;align-items:center;gap:8px}.menu-buttons button{height:54px;letter-spacing:2px;font-size:13px}.primary{border:1px solid #86b9a2;color:#e7f3e6;background:linear-gradient(135deg,#1b493d,#15352e);transition:background .15s,transform .15s}.primary:hover{background:#286e56;transform:translateY(-1px)}.primary.wide{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 17px}.secondary{width:180px;border:1px solid #8198887c;background:#14272078;color:#d2d9ce;transition:background .15s}.secondary:hover{background:#254a3e}.controls-hint{margin-top:7px;color:#adb9ac;font-size:11px;line-height:1.5}.controls-hint p{margin:8px 0}.controls-hint span{color:#6b9c8b;margin:0 10px}kbd{font:inherit;font-size:10px;color:#e8e7da}.menu-footer{position:absolute;bottom:27px;letter-spacing:4px;color:#526c63;font-size:9px}.panel{color:var(--ink);background:linear-gradient(155deg,#0d2421ed,#061311f9);border:1px solid #62877591;box-shadow:0 24px 80px #000b,inset 0 0 0 1px #0d322a;max-width:min(96vw,800px);max-height:min(89dvh,850px);overflow:auto;padding:30px;width:min(90vw,530px);touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#466d5a #0c1b17}.panel.wide-panel{width:min(96vw,870px)}.panel.shop-panel{width:min(96vw,920px)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head h2{font-size:27px;letter-spacing:4px;margin:8px 0 4px}.panel-kicker{font-size:10px;color:#78c5a6;letter-spacing:3px}.panel-desc{font-size:12px;color:#a2bcb1;line-height:1.8}.close-btn{border:1px solid #557b6b;background:#132d26;color:#d6e4d2;width:34px;height:34px;font-size:18px}.setting-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #35564860;padding:13px 0;gap:15px}.setting-title{font-size:14px;color:#e7e8d6}.setting-sub{font-size:11px;color:#91afa3;margin-top:3px}.switch{min-width:75px;padding:9px 12px;border:1px solid #739b8777;background:#153127;color:#e5efe2}.switch.off{background:#14201d;color:#96a99e}.setting-range{width:140px;accent-color:#87d8b4}.segmented{display:flex;gap:6px}.segmented button{padding:8px 14px;border:1px solid #526e61;color:#9eaba2;background:#111f1c;font-size:12px}.segmented button.active{color:#eaffdd;background:#225244;border-color:#8bbea4}.panel-footer{margin-top:18px;border-top:1px solid #41655571;padding-top:16px;color:#8ea79a;font-size:11px;display:flex;gap:10px;justify-content:space-between;align-items:center}.text-button{background:transparent;border:1px solid #74927d;color:#e5e8d8;padding:11px 18px}.text-button:hover{background:#1b4035}.danger-button{border-color:#ab6d63;color:#f7c6b7}.big-action{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px;border:1px solid #84b398;background:#1a4337;color:#e1eedc}.big-action:hover{background:#26614e}.two-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{border:1px solid #416f5c80;padding:11px 9px;background:#11261f}.stat .stat-name{font-size:10px;color:#9eb5a9;letter-spacing:2px}.stat .stat-value{font-size:20px;margin-top:5px;color:#e5ebd5}.stat .stat-sub{font-size:10px;color:#7ea991}.section-label{font-size:12px;letter-spacing:3px;color:#cbb28a;border-bottom:1px solid #4a63557d;padding-bottom:8px;margin:22px 0 13px}.inventory-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.equipment-slot{display:flex;justify-content:space-between;align-items:center;border:1px solid #3c655a80;background:#11241f;padding:10px;margin-bottom:7px;font-size:12px;min-height:42px}.equipment-slot .slot-name{color:#91a99e;font-size:11px}.equipment-slot .item-name{color:#e7d7b3}.inventory-toolbar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.inventory-toolbar button{border:1px solid #426b5b;background:#12251e;color:#a5b8aa;padding:7px 10px;font-size:11px}.inventory-toolbar button.active{background:#275445;color:white}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:248px;overflow:auto;touch-action:pan-y}.item-card{border:1px solid #426558a6;background:#152c25;padding:10px;text-align:left;color:#d6e4d5;min-height:70px}.item-card.selected,.item-card:hover{border-color:#a9dabe;background:#214b3a}.item-card .item-symbol{font-size:23px;color:#d8b985}.item-card .item-caption{font-size:11px;margin-top:3px}.compare{border:1px solid #426d5e;padding:12px;background:#0a201c;margin-top:10px;color:#b8cfc2;font-size:12px;line-height:1.8}.compare strong{color:#e8e6cf}.rarity-2{color:#7bdabf!important}.rarity-3{color:#d3b2fa!important}.rarity-4{color:#f4c779!important}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.choice-card{border:1px solid #608578;background:#143027;color:#e7ead8;padding:18px 12px;min-height:210px;text-align:left;display:flex;flex-direction:column;gap:10px}.choice-card:hover{transform:translateY(-2px);border-color:#a3d6bb;background:#224739}.choice-index{color:#80aa98;font-size:11px;letter-spacing:3px}.choice-icon{font-size:30px;color:#ddb887}.choice-name{font-size:18px;font-weight:600}.choice-desc{font-size:12px;color:#b4c8b8;line-height:1.7}.choice-meta{margin-top:auto;color:#86d1b0;font-size:11px}.shop-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:19px}.shop-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-item{display:flex;align-items:center;gap:8px;text-align:left;padding:12px;background:#142d26;border:1px solid #507b6b;color:#dcebd5;min-height:72px}.shop-item:hover:not(:disabled){background:#24523e}.shop-item:disabled{opacity:.43;cursor:not-allowed}.shop-item .symbol{font-size:23px;color:#e0b97e;width:32px}.shop-item .item-cost{font-size:11px;color:#87ceb4;margin-left:auto}.shop-item small{color:#9db6a7;display:block;font-size:10px}.pact-select{margin-top:8px;display:grid;gap:7px}.pact-select button{padding:12px;text-align:left;background:#14221f;border:1px solid #446457;color:#bdc7b9;font-size:12px}.pact-select button.active{background:#2d4a32;border-color:#c4a874;color:#fff4d4}.pact-select small{display:block;color:#a2b5aa;margin-top:5px;line-height:1.6}.shop-coin{color:#bfe2cd;font-size:17px}.shop-coin b{color:#cbb07c}.death-tally{display:flex;justify-content:center;gap:28px;margin:24px 0}.death-tally span{font-size:12px;color:#a1b8ab}.death-tally strong{font-size:24px;display:block;color:#e7dbb7}.death-title{color:#e4d2c7!important}#hud{position:absolute;z-index:7;inset:0 0 auto 0;height:135px;display:flex;justify-content:space-between;padding:24px clamp(20px,4vw,55px);gap:20px;pointer-events:none;background:linear-gradient(#03100fc9,transparent)}#hud button{pointer-events:auto}.hud-left,.hud-right{width:230px;flex-shrink:0}.hud-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.micro-title,.xp-title{font-size:11px;color:#c4d7c9;letter-spacing:1px;display:flex;justify-content:space-between;width:200px}.health-track,.xp-track{width:200px;height:7px;background:#192a27;border:1px solid #6a85777d;margin-top:7px}.health-track>div{height:100%;width:100%;background:linear-gradient(90deg,#8e5f53,#db8b72);box-shadow:0 0 9px #c75e5077;transition:width .18s}.xp-track{height:4px}.xp-track>div{height:100%;background:#78d6b3;width:0;transition:width .2s}.hud-row{display:flex;align-items:center;gap:10px;color:#e6dbc1;font-size:12px;margin-top:12px}.hud-row #currency{color:#e4d5a5}.divider-dot{color:#648677}.hud-center{text-align:center;flex:1;min-width:0}.depth-line{display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:600;color:#e2e6d1;letter-spacing:2px}.line-deco{width:28px;height:1px;background:#8ca99a}.hud-center #biome{font-size:10px;letter-spacing:2px;color:#95b7ab;margin-top:8px}.objective{font-size:12px;color:#d4e3d4;margin-top:17px}.objective-diamond{color:#a4e3b8;margin-right:8px}.hud-right{display:grid;grid-template-columns:auto auto;justify-content:end;column-gap:8px;align-content:start}.hud-right .xp-title,.hud-right .xp-track{grid-column:1/3;justify-self:end}.hud-right .xp-title{margin-top:12px}.icon-btn{height:27px;padding:0 8px;display:flex;align-items:center;gap:5px;background:#143428ac;border:1px solid #69968270;color:#c9e0d2;font-size:15px}.icon-btn span{font-size:10px}#toast{font-size:12px;color:#e6d2a7;margin-top:12px;text-shadow:0 2px 5px #000;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}#minimap{position:absolute;right:clamp(20px,4vw,55px);top:135px;z-index:5;width:136px;height:104px;background:#051310c9;border:1px solid #6381717c;box-shadow:0 0 20px #0007;padding:4px}#map-canvas{width:100%;height:100%;image-rendering:pixelated}#depth-banner{z-index:11;pointer-events:none;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);text-align:center;text-shadow:0 3px 8px #000}.large{font-size:clamp(28px,4vw,56px);color:#e6eee0;letter-spacing:12px;margin:6px}.sub{color:#e0b985;font-size:14px;letter-spacing:5px}#notice{position:absolute;z-index:8;bottom:75px;left:50%;transform:translateX(-50%);padding:10px 18px;background:#0b261fdc;color:#d2e8d2;border:1px solid #648777aa;font-size:13px;text-align:center;max-width:90vw;pointer-events:none}#boss-hud{z-index:7;position:absolute;top:150px;left:50%;transform:translateX(-50%);text-align:center;width:min(480px,75vw)}#boss-name{font-size:15px;color:#e4b8a7;letter-spacing:3px;margin-bottom:8px}.boss-bar{height:8px;background:#1e2827;border:1px solid #ae8171}.boss-bar>div{height:100%;width:100%;background:linear-gradient(90deg,#9a514b,#e3a184)}#mobile{position:absolute;z-index:10;inset:auto 0 5px;pointer-events:none;height:145px}#stick-zone{pointer-events:auto;position:absolute;left:15px;bottom:12px;width:144px;height:130px}#stick-base{position:absolute;left:18px;bottom:10px;width:102px;height:102px;border-radius:50%;border:2px solid #81b6a170;background:#13382e58;display:grid;place-items:center}#stick-knob{width:45px;height:45px;border-radius:50%;background:#71b69d69;border:1px solid #b7d7bfaa;box-shadow:0 0 20px #45bda033}.mobile-actions{pointer-events:auto;position:absolute;right:15px;bottom:17px;display:flex;align-items:end;gap:11px}.mobile-actions button{border-radius:50%;width:57px;height:57px;background:#184537c9;border:1px solid #8cc7ac;color:#e8efda;font-size:12px;box-shadow:0 0 20px #0009}.mobile-actions #mobile-attack{width:78px;height:78px;font-size:16px;background:#366b56d9}.mobile-actions #mobile-bag{width:43px;height:43px;margin-bottom:2px}.mobile-actions #mobile-slip{margin-bottom:8px}#mobile button:active{background:#599978}button:disabled{cursor:not-allowed;opacity:.42}#menu-options{max-width:100%}.result-quote{line-height:2;color:#afc3b6}.badge{display:inline-block;padding:4px 7px;border:1px solid #658b76;color:#cce2cc;font-size:10px;margin-left:6px}
@media(max-width:760px){.panel{padding:19px;max-height:90dvh}.panel-head h2{font-size:22px}.pixel-title{font-size:clamp(36px,9vw,60px);letter-spacing:.07em}.menu-subtitle{letter-spacing:5px}.menu-core{transform:translateY(-1%)}.eyebrow{font-size:9px}.controls-hint{font-size:10px}.menu-buttons button{height:50px}.menu-footer{bottom:17px}#hud{height:115px;padding:14px 12px;gap:4px}.hud-left,.hud-right{width:105px}.micro-title,.xp-title,.health-track,.xp-track{width:100px}.hud-left .hud-row{display:block;line-height:1.7;font-size:10px;margin-top:4px}.hud-row .divider-dot,#weapon-name{display:none}.hud-center .depth-line{font-size:10px;letter-spacing:0}.depth-line .line-deco{width:8px}.hud-center #biome{font-size:8px;letter-spacing:0}.objective{font-size:10px;margin-top:7px}.hud-right{gap:3px}.hud-right .icon-btn{padding:0 4px;font-size:13px}.icon-btn span{display:none}.hud-right .xp-title{font-size:9px;margin-top:5px}#minimap{right:12px;top:113px;width:98px;height:76px}#boss-hud{top:117px}.inventory-layout,.shop-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr;gap:8px}.choice-card{min-height:0;padding:10px;display:grid;grid-template-columns:30px 1fr;gap:2px 10px}.choice-icon{display:none}.choice-index{grid-column:1}.choice-name{grid-column:2}.choice-desc{grid-column:2}.choice-meta{grid-column:2}.shop-items{grid-template-columns:1fr 1fr}.inventory-layout{gap:8px}.item-grid{max-height:128px}#notice{bottom:150px}.panel-footer{flex-wrap:wrap}.death-tally{gap:12px}}
@media(min-width:761px) and (pointer:coarse){#mobile{display:block!important}}
@media(max-height:550px){.menu-core{transform:scale(.8)}.menu-footer{display:none}.panel{padding:14px}.choice-card{min-height:100px}.panel-head{margin-bottom:8px}}
#loot-compare{position:absolute;left:50%;bottom:86px;transform:translateX(-50%);z-index:9;width:min(490px,calc(100vw - 36px));padding:13px 15px 10px;background:linear-gradient(150deg,#0e2922ed,#071714f7);border:1px solid #8bbda18f;box-shadow:0 8px 44px #000b,0 0 25px #6ad7a822;pointer-events:auto;color:#dbeada;font-size:12px}
#loot-compare .loot-name{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#e7e7cb;font-size:15px;letter-spacing:1px;margin-bottom:7px}
#loot-compare .loot-grade{font-size:10px;color:#a9cfb7;white-space:nowrap}
#loot-compare .loot-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border-top:1px solid #456e5b67;padding-top:8px}
#loot-compare .loot-stat{font-size:10px;color:#93aea2}
#loot-compare .loot-stat strong{display:block;font-size:16px;color:#e4ecd4;letter-spacing:0;margin:2px 0}
#loot-compare .loot-stat .delta{font-size:10px;color:#87d7ae}
#loot-compare .loot-stat .delta.negative{color:#e4a18b}
.loot-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}
.loot-actions button{border:1px solid #6a9980;background:#1e4d3d;color:#eaf5de;padding:8px 13px;font-size:11px}
.loot-actions button:hover{background:#326751}
@media(max-width:760px){#loot-compare{bottom:215px;padding:9px 11px}#loot-compare .loot-name{font-size:13px;margin-bottom:4px}#loot-compare .loot-stat strong{font-size:13px}.loot-actions{margin-top:6px}.loot-actions button{padding:8px;font-size:10px}}
#heart-icons{display:flex;gap:6px;color:#83e5c5;font-size:18px;letter-spacing:3px;text-shadow:0 0 12px #69efcb64;margin:6px 0 4px}
#heart-icons .empty{color:#38554a;text-shadow:none}
#hud .health-track{display:none}
#hud .hud-right{display:flex;flex-direction:row;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap;column-gap:8px;row-gap:6px}
.slip-status{width:100%;color:#cce7d2;font-size:11px;letter-spacing:1px;margin-bottom:4px}
.slip-status #slip-status{color:#85dcb9;margin-left:8px}
#progress-hud{position:absolute;z-index:7;bottom:39px;left:50%;transform:translateX(-50%);width:min(420px,60vw);pointer-events:none;color:#c2d2c5}
.progress-labels{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1px}
.progress-labels b{font-weight:500;color:#dff3d8}
#progress-hud .xp-track{height:4px;width:100%;margin-top:7px;background:#28433a;border:0}
#progress-hud .xp-track>div{background:linear-gradient(90deg,#84e2c0,#b4edbd)}
#kill-count{position:absolute;z-index:7;right:27px;bottom:22px;font-size:10px;letter-spacing:1px;color:#c0a777}
@media(max-width:760px){#hud .hud-right{width:92px}.slip-status{font-size:9px}#heart-icons{font-size:11px;gap:1px;letter-spacing:0}#progress-hud{bottom:160px;width:50vw}.progress-labels{gap:3px;font-size:8px;letter-spacing:0}#kill-count{bottom:147px;right:12px;font-size:8px}#heart-icons .empty{display:inline}}
