@import url('data:text/css,');
:root{--bg:#111a1f;--panel:#182329;--line:#2b373c;--ink:#e4e8df;--muted:#82928e;--gold:#e4b666;--green:#9bc6a6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;transition:background .18s,transform .18s;color:inherit}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}a{color:inherit;text-decoration:none}.app{max-width:1600px;margin:auto}.header{height:91px;padding:0 42px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:65px}.brand{display:flex;gap:12px;align-items:center}.brand svg{width:36px;height:42px}.brand>span{font-family:serif;font-weight:700;font-size:22px;letter-spacing:3px}.brand small{display:block;color:var(--muted);font:8px/2.2 monospace;letter-spacing:2.2px}nav{height:100%;display:flex;gap:34px;align-items:center}nav>span,nav>button{height:100%;display:flex;align-items:center;gap:9px;font-size:13px;background:none;border:0;position:relative;color:var(--muted)}nav .active{color:var(--gold)}nav .active:after{position:absolute;content:'';bottom:0;height:2px;left:0;right:0;background:var(--gold)}.tiny{font:10px monospace;border:1px solid var(--line);padding:2px 4px}.header-right{margin-left:auto;display:flex;gap:13px;align-items:center}.saved{color:var(--muted);font-size:11px;margin-right:7px}.saved:before{content:'✓';color:var(--green);margin-right:7px}.icon-btn{width:32px;height:32px;border:1px solid var(--line);background:none;border-radius:50%;font-size:17px}.icon-btn:hover{background:#344037}main{padding:35px 42px 0}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.eyebrow{font:9px monospace;letter-spacing:2.4px;color:var(--gold);margin-bottom:11px}h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:29px;letter-spacing:2px;font-weight:500;margin:0}.edition{font:10px sans-serif;letter-spacing:1px;color:var(--muted);margin-left:22px;vertical-align:middle}.heading p{color:var(--muted);font-size:12px;margin:12px 0 0;letter-spacing:1px}.wallet{display:flex;align-items:center;gap:13px;padding:12px 23px;border:1px solid #4a4433;background:#24271f;min-width:150px;border-radius:7px}.coin{font-size:32px;color:var(--gold)}.wallet small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.wallet strong{font:24px Georgia,serif;color:#f0d7a0}.game-layout{display:grid;grid-template-columns:218px minmax(340px,1fr) 250px;gap:20px;align-items:start}.left-panel,.inventory,.missions{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:19px}.panel-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;letter-spacing:.6px}.online-dot{color:var(--green);font-size:9px;font-weight:400}.online-dot:before{content:'•';padding-right:4px}.miner-card{text-align:center;padding:21px 0 18px}.avatar{width:79px;height:79px;margin:auto auto 12px;background:#263733;border:1px solid #435048;border-radius:50%;overflow:hidden}.avatar svg{width:73px;height:80px}.miner-card strong{display:block;font-size:13px;font-weight:500}.miner-card>span{font-size:10px;color:var(--muted);display:block;margin-top:7px}.stat-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.stat-pair>div+div{border-left:1px solid var(--line);padding-left:19px}.stat-pair small{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.stat-pair strong{font:24px Georgia,serif}.stat-pair em{font:11px monospace;color:var(--muted);margin-left:4px}.section-label{font-size:11px;margin:20px 0 18px}.section-label>span{font:8px monospace;color:var(--muted);float:right}.equipment{display:flex;align-items:center;gap:9px;margin:15px 0 11px}.tool{color:var(--gold);font-size:27px;width:32px;text-align:center}.bag-icon{color:#a2b69c;font-size:30px}.equipment strong{display:block;font-size:11px;font-weight:500;margin-bottom:5px}.equipment small{font-size:9px;color:var(--muted)}.equipment b{margin-left:auto;font:10px monospace;color:var(--gold)}.upgrade{width:100%;text-align:left;padding:9px 10px;background:#222f31;border:1px solid #3a4642;border-radius:4px;font-size:10px}.upgrade span{float:right;color:var(--gold)}.upgrade:hover{background:#334139}.field-note{padding:18px 0 0;margin-top:24px;border-top:1px dashed #3c4848}.field-note>span{font:8px monospace;letter-spacing:1.5px;color:#bbaa80}.field-note p{font-size:10px;line-height:1.9;color:var(--muted);margin:11px 0}.note-line{height:2px;width:32px;background:#6b6952;margin-top:15px}.mine-section{overflow:hidden;border:1px solid #39453f;border-radius:9px;background:#152024}.mine-top{height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 17px;font-size:11px;border-bottom:1px solid #35413b}.mine-top>div{display:flex;align-items:center;gap:9px}.mine-top strong{font-weight:500}.mine-top>span{font:10px monospace;color:#9ba49a}.live-light{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 8px #9bc6a644}.coord{font:8px monospace;color:var(--muted);margin-left:5px}.canvas-wrap{position:relative;height:475px;background:#172021;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}.location-tag{position:absolute;top:21px;left:20px;display:flex;gap:10px;pointer-events:none}.location-tag>span{font:30px Georgia,serif;color:#c5bf9d;opacity:.6;border-right:1px solid #7d806b77;padding-right:10px}.location-tag strong{display:block;font-size:12px;color:#e9dfbc;font-weight:400;padding-top:3px}.location-tag small{font:7px/2 monospace;letter-spacing:1.7px;color:#afbaa4}.depth-ruler{position:absolute;right:16px;top:28px;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none}.depth-ruler span{font:9px monospace;color:#b6c0a7;writing-mode:vertical-rl}.depth-ruler i{height:50px;border-left:1px solid #b6c0a738}.depth-ruler #rulerDepth{color:var(--gold)}.game-hint{position:absolute;bottom:25px;left:0;right:0;text-align:center;font-size:10px;color:#e3d6ab;pointer-events:none;text-shadow:0 1px 6px #000}.game-hint>span{border:1px solid #e3d6ab55;border-radius:3px;margin-right:6px;padding:2px 5px}.compass{position:absolute;bottom:22px;left:23px;font:9px monospace;color:#9da990;text-align:center;pointer-events:none}.compass span{font-size:25px}.mine-toolbar{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #35413b;gap:12px}.key-hint{display:flex;align-items:center;position:relative;padding-top:0;gap:2px}.key-hint>kbd{position:absolute;top:-8px;left:20px}.key-hint>span{display:flex;gap:3px;margin-top:14px}kbd{background:#253131;border:1px solid #46514b;border-radius:3px;min-width:17px;padding:2px 3px;font:9px monospace;text-align:center;color:#aeb7a9}.key-hint small{margin-left:8px;color:#a1aa9b;font-size:9px;line-height:1.8}.key-hint small span{display:block;color:var(--muted);font-size:8px}.mine-actions{display:flex;gap:8px}.primary,.secondary{border-radius:4px;padding:11px 14px;font-size:11px;white-space:nowrap}.primary{background:var(--gold);color:#282a22;border:1px solid var(--gold);font-weight:600}.primary:hover{background:#f1ca84}.secondary{border:1px solid #445045;background:#25322e;color:#c0cab6}.secondary:hover{background:#34463a}.secondary kbd{margin-left:6px;background:none}.right-panel{display:flex;flex-direction:column;gap:17px}.inventory{padding:19px 17px}.muted{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0}.progress{height:3px;background:#354038;margin:14px 0 16px;border-radius:3px;overflow:hidden}.progress i{height:100%;display:block;background:var(--gold);width:0;transition:width .2s}.ore-row{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:11px}.ore-row>svg{width:25px;height:25px}.ore-row>div{display:flex;flex-direction:column;gap:3px}.ore-row small{font:8px monospace;color:var(--muted)}.ore-row>b{margin-left:auto;font:12px monospace;color:#bfcbc3}.ore-row.empty{opacity:.4}.sell-total{display:flex;justify-content:space-between;margin:19px 0 13px;border-top:1px solid var(--line);padding-top:13px;align-items:center}.sell-total small{color:var(--muted);font-size:10px}.sell-total strong{color:var(--gold);font:15px Georgia,serif}.sell{width:100%;text-align:left}.sell span{float:right}.micro{font-size:9px;text-align:center;color:var(--muted);margin:11px 0 0}.missions{padding:17px}.quest{margin-top:17px}.quest-head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px}.quest-head>span{color:var(--gold);font:9px monospace}.quest .progress{margin:9px 0;height:2px}.quest .progress i{background:#8fab89}.quest-bottom{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px}.claim{border:0;background:transparent;color:var(--gold);font-size:9px;padding:3px 0}.discovery{display:flex;gap:13px;align-items:center;padding:0 17px;color:#758a7e}.discovery>span{font-size:30px}.discovery p{font-size:10px;line-height:1.9;letter-spacing:1px}footer{display:flex;justify-content:space-between;color:#6c8179;font-size:9px;letter-spacing:.7px;padding:22px 0}footer .live-light{margin-right:6px}#toast{position:absolute;left:50%;bottom:60px;transform:translate(-50%,10px);background:#eee3c7;color:#28392f;border:1px solid #fff1ce66;padding:11px 17px;border-radius:5px;box-shadow:0 5px 20px #0003;font-size:12px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-controls{display:none}dialog{color:var(--ink);background:#1b292e;border:1px solid #48554e;border-radius:12px;width:min(580px,92vw);padding:25px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#070d10bb}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.modal-header h2{font-family:serif;font-size:22px;font-weight:500;margin:0}#modalBody{line-height:1.9;font-size:13px;color:#b5c3b7}.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.collection>div{border:1px solid var(--line);border-radius:6px;padding:17px 10px;text-align:center}.collection svg{width:45px;height:45px;display:block;margin:auto auto 10px}.collection small{display:block;font-size:10px;color:var(--muted)}.collection .locked{opacity:.35}.help-list p{margin:15px 0}.help-list b{color:var(--gold)}.help-list button{margin-top:10px} @media(min-width:1450px){.canvas-wrap{height:550px}.game-layout{grid-template-columns:235px minmax(400px,1fr) 265px;gap:24px}}@media(max-width:1180px){.header{padding:0 25px;gap:35px}main{padding:28px 25px 0}.game-layout{grid-template-columns:185px minmax(300px,1fr) 210px;gap:14px}.left-panel{padding:16px}.canvas-wrap{height:470px}.key-hint{display:none}.mine-toolbar{justify-content:center}.mine-actions{width:100%;justify-content:space-between}.edition{display:none}.coord{display:none}}@media(max-width:950px){.game-layout{grid-template-columns:180px minmax(320px,1fr)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.discovery{display:none}.inventory #inventoryList{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.inventory,.missions{height:100%}.canvas-wrap{height:500px}.header-right .saved{display:none}.heading h1{font-size:25px}}@media(max-width:620px){.header{height:73px;padding:0 17px;gap:15px}.brand{gap:7px}.brand svg{width:28px}.brand>span{font-size:18px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1.3px}nav{gap:10px;margin-left:auto}nav .active{display:none}nav button{font-size:11px}.header-right{gap:7px;margin-left:0}.header-right .icon-btn{width:28px;height:28px;font-size:15px}.tiny{display:none}main{padding:23px 13px 0}.heading{margin:0 2px 22px}.eyebrow{font-size:7px;letter-spacing:1.2px}.heading h1{font-size:21px;letter-spacing:.5px}.heading p{font-size:10px;letter-spacing:0}.wallet{padding:8px 11px;min-width:85px;gap:5px}.coin{font-size:21px}.wallet small{font-size:8px}.wallet strong{font-size:19px}.game-layout{display:flex;flex-direction:column;gap:14px}.mine-section{width:100%;order:0}.left-panel{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.left-panel>.panel-title{grid-column:1/-1;margin-bottom:10px}.miner-card{display:none}.stat-pair{grid-column:1/-1;padding:12px 0}.stat-pair>div{display:flex;align-items:center;gap:15px}.stat-pair small{margin:0}.stat-pair strong{font-size:22px}.section-label{grid-column:1/-1;margin:15px 0 0}.equipment{margin:14px 0 10px}.left-panel .equipment:nth-child(5){grid-column:1;grid-row:4}.left-panel .equipment:nth-child(7){grid-column:2;grid-row:4}#upgradePick{grid-column:1;grid-row:5}#upgradePack{grid-column:2;grid-row:5}.upgrade{margin-bottom:5px}.field-note{display:none}.right-panel{width:100%;order:1;display:grid;grid-template-columns:1fr;gap:14px}.inventory #inventoryList{grid-template-columns:repeat(3,1fr);column-gap:10px}.ore-row{gap:5px;font-size:10px}.ore-row svg{width:22px;height:22px}.ore-row small{font-size:7px}.canvas-wrap{height:400px}.mine-top{padding:0 13px;height:43px}.mine-toolbar{padding:12px}.mine-actions .primary,.mine-actions .secondary{padding:10px 20px;font-size:11px}.mobile-controls{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 0 13px}.mobile-controls>div{display:flex;gap:6px}.mobile-controls button{border:1px solid #586552;background:#2a3b32;border-radius:6px;width:56px;height:44px;color:#e1d6b0;font-size:20px;touch-action:none;user-select:none}.mobile-controls button:active{background:#4a6244}.depth-ruler{right:10px}.location-tag{left:14px;top:16px}.game-hint{bottom:17px;font-size:9px}footer{font-size:8px;line-height:1.8;padding:17px 0;gap:10px}footer>span:last-child{display:none}.collection{grid-template-columns:1fr 1fr}.missions{padding:17px}.quest{margin-top:16px}.quest-head{font-size:12px}.quest-bottom,.claim{font-size:11px}.claim{min-height:32px}.upgrade{min-height:44px}nav button{min-height:44px}.icon-btn{min-width:32px;min-height:32px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}