@font-face{font-family:LocalSerif;src:local("STZhongsong"),local("SimSun")}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#122a3a}body{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#fff1cb}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible{outline:3px solid #e5fcff;outline-offset:5px}button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.45}button{transition:filter .15s,transform .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(1.14)}button:active:not(:disabled){transform:translateY(2px)}.svg-library{position:absolute;width:0;height:0;overflow:hidden}svg{width:28px;height:28px;fill:currentColor;flex-shrink:0}#viewport{width:100vw;height:100vh;display:grid;place-items:center;overflow:hidden}#game{position:relative;width:1600px;height:900px;flex-shrink:0;overflow:hidden;transform-origin:center center;background:#86bedd;isolation:isolate}.sky,.sun-haze,.cloud-drift{position:absolute;inset:0;pointer-events:none}.sky{background:url('assets/cloud-sea.png') center/cover}.sun-haze{background:linear-gradient(135deg,#fff3c327,transparent 55%)}.cloud-drift{background:radial-gradient(ellipse at 20% 110%,#fffef6aa,transparent 45%);animation:cloud-wash 20s ease-in-out infinite alternate}#world{position:absolute;inset:0;width:1600px;height:900px;z-index:1;touch-action:none}.scene{position:absolute;inset:0;z-index:2;pointer-events:none;display:none}.scene.active{display:block}.scene button,.scene aside,.menu-craft{pointer-events:auto}#topbar{position:absolute;top:28px;left:38px;right:38px;z-index:5;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.metal{position:relative;background:linear-gradient(135deg,#354c58,#21333f 55%,#263b45);border:3px solid #352a1c;outline:2px solid #eac578;box-shadow:inset 0 0 0 3px #ba8a40,inset 0 0 0 5px #524028,0 5px 0 #33281c,0 9px 19px #12364b36;border-radius:12px}.metal:before,.metal:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#ffdfa1;box-shadow:0 1px 2px #1e2019;top:10px;pointer-events:none}.metal:before{left:11px}.metal:after{right:11px}.status-xp{display:flex;gap:13px;align-items:center;padding:12px 23px;width:343px;height:68px}.wing{width:55px;height:40px;color:#e5bf76;--icon-hole:#2e4c5f}.xp-body{flex:1}.xp-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;letter-spacing:1px}.xp-label span:last-child{font-size:11px;color:#abc6cd;letter-spacing:0}.xp-track{margin-top:9px;height:12px;background:#131f27;border:1px solid #b18341;border-radius:4px;padding:2px}.xp-track i{display:block;height:100%;width:60%;background:linear-gradient(#8deeff,#228cba);box-shadow:0 0 8px #4acffb66;border-radius:2px;transition:width .6s}.currency{display:flex;align-items:center;gap:12px;padding:9px 24px;height:63px}.currency svg{width:37px;height:37px}.currency span{font-size:14px;color:#dfc69d}.currency strong{font-size:27px;color:#fff2ce;letter-spacing:1px}.world-label{font-size:11px;letter-spacing:3px;font-weight:bold;color:#385c6e;text-shadow:0 1px #e4f8ff}.world-label span{margin:0 10px;color:#bb8a34}.ship-identity{position:absolute;left:70px;top:122px;color:#264855}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.ship-identity .eyebrow{color:#48758b}.ship-identity h2{font-size:32px;font-family:LocalSerif,serif;margin:8px 0 11px;letter-spacing:3px}.ship-identity h2 span{font:11px Georgia,serif;letter-spacing:2px;margin-left:13px;border:1px solid #718f93;padding:4px 7px;border-radius:3px}.ship-meta{display:flex;gap:13px;font-size:12px;color:#486b7b}.ship-meta b{opacity:.5}.menu-craft{position:absolute;left:1060px;top:178px;width:420px}.floating{animation:levitate 5s ease-in-out infinite}.mini-balloon{position:relative;width:330px;height:118px;margin:0 auto 27px;border:4px solid #352919;border-radius:50%;background:linear-gradient(to bottom,#ffefd2 0%,#e4d5ba 26%,#337ca3 27%,#429bc5 47%,#26658f 67%,#e2d4b8 68%,#c4b295 99%);box-shadow:inset 0 3px 0 #fffbdb,inset 0 -5px 0 #57473555,0 5px 0 #24354422;overflow:hidden}.mini-balloon svg{position:absolute;width:74px;height:47px;left:126px;top:37px;color:#fff3ce}.mini-balloon i{position:absolute;top:-10%;width:13px;height:120%;background:repeating-linear-gradient(#dfb56b 0 15px,#47351e 16px 18px,#cb9843 19px 34px);border-left:3px solid #543b1f;border-right:3px solid #543b1f;left:60px;transform:rotate(8deg)}.mini-balloon i:nth-child(2){left:254px;transform:rotate(-8deg)}.mini-balloon i:last-child{left:161px;width:4px;background:#a0957b;opacity:.4;border:0}.suspension{position:absolute;top:99px;height:69px;width:6px;background:linear-gradient(90deg,#5a3a20,#cf9a4b,#674423);border:1px solid #352a1c;z-index:-1}.suspension.left{left:85px;transform:rotate(6deg)}.suspension.right{right:85px;transform:rotate(-6deg)}.craft-panel{padding:23px 24px 18px;outline-width:3px;border-width:4px;border-radius:19px;background:repeating-linear-gradient(0deg,transparent 0 44px,#4f382c22 45px 47px),linear-gradient(140deg,#344855,#1c2c36 65%,#30414c)}.brand{text-align:center;padding:4px 0 24px}.brand-kicker{font:10px Georgia,serif;letter-spacing:3px;color:#d6b873}.brand h1{font-family:LocalSerif,"Microsoft YaHei",serif;color:#ffdf91;font-size:56px;letter-spacing:3px;line-height:1.1;margin:12px -10px 10px;text-shadow:0 3px 0 #603b16,2px 0 #1b201c,-2px 0 #1b201c,0 -2px #1b201c,0 6px 0 #0d2227}.brand p{font-size:12px;letter-spacing:6px;color:#a9c6ce;margin:0}.game-button{width:100%;display:flex;align-items:center;justify-content:center;gap:18px;border:3px solid #2f291e;outline:2px solid #e5be70;box-shadow:inset 0 0 0 2px #fcdf93,inset 0 -5px 0 #784f2d55,0 4px 0 #100f12;border-radius:10px;padding:16px 18px;font-size:27px;font-weight:800;text-align:left}.game-button svg{width:42px;height:42px;filter:drop-shadow(1px 2px 0 #211e1866)}.game-button span{flex:1}.game-button small{display:block;font-size:10px;letter-spacing:1px;font-weight:500;margin-top:6px;opacity:.7}.game-button b{font:32px Georgia,serif;opacity:.7}.primary{background:linear-gradient(135deg,#ffe494,#e8b84e 47%,#d09430);color:#513315}.blue{background:linear-gradient(135deg,#408eb0,#286589 50%,#214860);color:#ffedbb;box-shadow:inset 0 0 0 2px #7fa7b1,inset 0 -5px 0 #162d3d66,0 4px 0 #100f12}.craft-panel>.game-button{margin-bottom:18px}.minor-actions{display:flex;gap:14px;margin-top:7px}.small-button{border:2px solid #443722;outline:1px solid #bc914b;box-shadow:inset 0 0 0 1px #768285,inset 0 -3px 0 #111d2355,0 2px 0 #222927;background:linear-gradient(135deg,#405563,#263943);border-radius:6px;padding:9px 16px;font-size:15px;font-weight:700;display:flex;justify-content:center;align-items:center;gap:9px;white-space:nowrap}.minor-actions .small-button{flex:1;font-size:15px;padding:12px 10px}.small-button svg{width:22px;height:22px}.panel-signature{text-align:center;font-size:10px;letter-spacing:2px;margin-top:19px;color:#b3c8c7}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a0d197;box-shadow:0 0 7px #88bd98;margin-right:6px}.propeller{position:absolute;top:300px;width:64px;height:53px;background:linear-gradient(#e5bc66,#ab7733 45%,#664220);border:3px solid #2e291c;border-radius:50%;z-index:-1}.prop-left{left:-55px}.prop-right{right:-55px}.propeller b{position:absolute;width:29px;height:29px;border:3px solid #5c3c21;background:radial-gradient(circle at 35% 25%,#ffe69c,#b4863b);border-radius:50%;top:9px;left:17px}.propeller span{position:absolute;left:20px;top:-47px;width:18px;height:143px;border:3px solid #40301c;border-radius:50%;background:linear-gradient(#d1ab6a,#efd092 45%,#a37a3e);animation:prop-spin .16s linear infinite alternate}.thruster{position:absolute;bottom:-29px;width:55px;height:34px;background:linear-gradient(90deg,#71532b,#d6aa62,#4b3825);border:3px solid #302719;border-radius:0 0 13px 13px;z-index:-1}.t-left{left:48px;transform:rotate(10deg)}.t-right{right:48px;transform:rotate(-10deg)}.thruster:after{content:"";position:absolute;width:28px;height:44px;top:27px;left:10px;background:linear-gradient(#fffad2aa,#fff9eb00);filter:blur(5px);border-radius:50%}.craft-chain{position:absolute;bottom:-54px;left:204px;width:9px;height:44px;border:3px dashed #806131}.menu-bottom{position:absolute;left:44px;right:44px;bottom:24px;display:flex;justify-content:space-between;align-items:center;color:#3b6376;font-size:12px}.menu-bottom>span:nth-child(2){font-family:LocalSerif,serif;letter-spacing:3px;font-size:13px}.text-button{background:none;border:0;font-size:12px;padding:6px;color:inherit}.text-button b{display:inline-grid;place-items:center;border:1px solid #7296a0;border-radius:50%;width:19px;height:19px;margin-left:6px}.scene-heading{position:absolute;top:123px;left:52px;display:flex;gap:24px;align-items:center;color:#274c5f}.scene-heading .small-button{font-size:14px}.scene-heading h2{font-family:LocalSerif,serif;font-size:30px;margin:3px 0;letter-spacing:3px}.scene-heading .eyebrow{font-size:9px}.build-label{position:absolute;left:100px;top:301px;padding:11px 20px;font-size:12px;letter-spacing:1px}.build-label>span:last-child{margin-left:24px;color:#a6c2cc}.warehouse{position:absolute;right:42px;top:126px;width:550px;height:693px;padding:27px 25px 18px;background:linear-gradient(135deg,#314651f5,#182b35fa)}.warehouse-heading{display:flex;justify-content:space-between;align-items:center}.warehouse-heading h2{font-size:27px;margin:5px 0 0;letter-spacing:3px}.warehouse-heading .eyebrow{font-size:9px;color:#b89760}.cargo-count{font-size:12px;background:#132a34;border:1px solid #8e764b;padding:6px 11px;border-radius:4px;color:#ddc998}.inventory-tabs{display:flex;gap:5px;border-bottom:1px solid #73808150;margin:23px 0 14px;padding-bottom:12px}.inventory-tabs button{flex:1;font-size:12px;border:1px solid transparent;border-radius:4px;padding:8px 3px;background:transparent;color:#a7bcc3}.inventory-tabs button.active{border-color:#9e8452;background:#bd984125;color:#ffe3a2}#inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;height:325px;align-content:start;overflow-y:auto;padding:3px}.inventory-card{position:relative;border:1px solid #74808766;border-radius:7px;background:linear-gradient(145deg,#40515a,#243844);height:101px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.inventory-card.selected{border:2px solid #efc565;background:linear-gradient(145deg,#7c6c45,#36474b);box-shadow:0 0 12px #e4c77722}.inventory-card canvas{width:82px;height:54px;position:absolute;left:calc(50% - 41px);top:5px}.inventory-card .item-name{font-size:12px;line-height:20px;z-index:1}.inventory-card .item-size{font-size:9px;color:#a7c0c6}.inventory-card .item-count{position:absolute;right:6px;top:5px;font-size:10px;color:#f5d797}.inventory-card.empty{opacity:.48}.module-description{height:67px;line-height:1.8;font-size:11px;color:#afc5ca;border-top:1px solid #677e8344;padding:12px 1px;margin-top:13px}.module-description strong{display:block;color:#ffe1a1;font-size:12px}.build-tools{display:flex;gap:9px}.build-tools button{font-size:11px;padding:8px 12px;flex:1}.build-tools kbd{font-size:10px}.danger{color:#e2af91}.warehouse-foot{display:flex;align-items:center;gap:15px;margin-top:21px}.warehouse-foot>.game-button{width:197px;font-size:17px;padding:10px 18px;margin-left:auto;gap:20px}.warehouse-foot .game-button span{flex:0}.warehouse-foot>span{font-size:10px;color:#adc2c6}.build-instructions{position:absolute;left:57px;bottom:72px;padding:13px 20px;display:flex;gap:19px;font-size:11px;color:#b6ccd1}.build-instructions span{display:flex;align-items:center;gap:7px}kbd{font-family:inherit;display:inline-block;min-width:20px;padding:2px 5px;background:#162a35;border:1px solid #77919b;color:#f1dab4;border-radius:3px;box-shadow:0 2px 0 #13222a;font-size:11px;text-align:center}.build-feedback{position:absolute;left:66px;bottom:38px;color:#33566a;font-size:13px;letter-spacing:1px}.battle-top{position:absolute;left:42px;right:42px;top:118px;display:flex;justify-content:space-between;align-items:flex-start}.combat-card{width:440px;padding:18px 23px;color:#d8e4df}.combat-card .eyebrow{font-size:10px;color:#e8c887}.combat-stats{display:flex;align-items:baseline;gap:10px;margin:11px 0 7px}.combat-stats strong{font-size:26px;color:#ffedb7}.combat-stats span{font-size:10px;color:#a9c7ce}.combat-stats b{margin-left:auto;font-size:11px;font-weight:400}.hull-track{position:relative;height:8px;background:#142730;border-radius:3px;overflow:hidden}.hull-track i{height:100%;width:100%;display:block;background:linear-gradient(90deg,#518fba,#89d1d8);transition:width .25s}.hostile .hull-track i{background:linear-gradient(90deg,#984c45,#e69765)}.hull-track mark{position:absolute;left:50%;width:2px;background:#ebd999;height:8px;top:0}.captain-status{display:flex;align-items:center;gap:9px;margin-top:10px;font-size:10px;color:#b4c9cb}.captain-status>div{width:88px;height:4px;background:#10232d}.captain-status i{width:100%;height:100%;display:block;background:#9bc99f}.battle-center{color:#26495d;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.battle-center strong{font:29px Georgia,serif}.battle-center .small-button{font-size:11px;padding:7px 15px}.target-readout{position:absolute;left:50%;transform:translateX(-50%);bottom:110px;display:flex;align-items:center;gap:13px;padding:12px 24px;min-width:300px}.target-symbol{font-size:34px;color:#e4bf6e}.target-readout>div{display:grid;grid-template-columns:auto auto;gap:4px 10px}.target-readout small{font-size:9px;color:#9cbcc4;align-self:center}.target-readout strong{font-size:14px;color:#ffe0a1}.target-readout #target-hint{grid-column:span 2;color:#9bb6c1;font-size:10px}.battle-controls{position:absolute;left:50%;bottom:33px;transform:translateX(-50%);display:flex;gap:25px;padding:14px 25px;font-size:11px;white-space:nowrap;align-items:center}.battle-controls span{display:flex;align-items:center;gap:6px}.mouse-icon{font-style:normal;font-size:21px;color:#edc77d}#toast{position:absolute;bottom:104px;left:50%;transform:translate(-50%,20px);z-index:20;background:#1e344beF;border:1px solid #e3bf75;box-shadow:0 4px 15px #17364b44;color:#ffe5b4;padding:13px 24px;border-radius:6px;font-size:14px;opacity:0;transition:.2s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}#modal-layer{position:absolute;inset:0;z-index:25;background:#12304191;backdrop-filter:blur(7px);display:grid;place-items:center}.hidden{display:none!important}#modal{width:520px;padding:37px 42px;text-align:center;max-height:800px;overflow:auto}#modal h2{font-family:LocalSerif,serif;font-size:36px;letter-spacing:4px;color:#ffe2a2;margin:7px 0 17px}#modal .eyebrow{color:#9fbbc4;font-size:10px}#modal p{color:#b5cbd0;font-size:13px;line-height:1.9;margin:12px 0 22px}#modal .game-button{font-size:20px;padding:13px;margin-top:17px}#modal .small-button{margin:17px auto 0;min-width:160px}#modal .modal-wing{width:100px;height:60px;color:#dbb567;--icon-hole:#2b454e}#modal .settings-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #57717a66;font-size:14px;text-align:left}#modal input[type=range]{width:190px;accent-color:#d7af68}#modal input[type=checkbox]{width:22px;height:22px;accent-color:#d7af68}#modal .manual{text-align:left;color:#c2d4d5;font-size:13px;line-height:2}#modal .manual strong{color:#eed091}#modal .reward-list{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:20px 0}.reward-item{padding:13px 10px;border:1px solid #a28c56;border-radius:6px;background:#ddbc6720;min-width:102px;color:#ffe2a0;font-size:12px}.reward-item small{display:block;color:#a9c0c3;font-size:10px;margin-top:5px}.match-radar{width:110px;height:110px;border:2px solid #c4a668;border-radius:50%;margin:25px auto;background:repeating-radial-gradient(transparent 0 17px,#7aafaa33 18px 19px);position:relative;overflow:hidden}.match-radar:after{content:"";position:absolute;inset:0;background:conic-gradient(transparent 260deg,#b5e4c777 360deg);animation:radar 2s linear infinite}.match-radar:before{content:"";position:absolute;left:53px;top:0;height:110px;width:1px;background:#97c4b588}.gold-reward{font-size:24px;color:#efce81;margin:17px 0}.loading-dots{animation:blink 1s infinite}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px 35px;z-index:50;font-size:15px}.reduced-motion *{animation:none!important;transition:none!important}@keyframes levitate{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-9px) rotate(.25deg)}}@keyframes prop-spin{from{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes cloud-wash{from{transform:translateX(-40px)}to{transform:translateX(50px)}}@keyframes radar{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.45}}
#game{position:absolute;left:50%;top:50%}
.small-button{color:#fff0c5}.ship-identity{top:110px}.ship-identity h2{font-size:26px;line-height:1.1;margin:5px 0}.build-label{left:565px;top:134px}.build-instructions{bottom:29px}.build-feedback{bottom:6px}.scene-heading{top:123px}.inventory-tabs{margin-top:20px}#inventory-grid{scrollbar-width:thin;scrollbar-color:#9b8b61 #243843}
/* Generated brass frame, stretched with a real nine-slice border. Labels stay native text. */
.game-button,.small-button{border-style:solid;border-color:transparent;border-image-source:url('assets/button-frame.png');border-image-slice:155;border-image-repeat:stretch;outline:0;border-radius:0;box-shadow:0 4px 8px #13253055;background-clip:padding-box;color:#fff1c9;text-shadow:0 1px 1px #101e28}
.game-button{border-width:11px;padding:10px 12px}.game-button.primary{color:#412b13;text-shadow:0 1px #fff1b366;background-image:linear-gradient(130deg,#ffe7a3,#e7b34c)}.game-button.blue{color:#fff4d1;background-image:linear-gradient(130deg,#377b9c,#234f6b)}
.small-button{border-width:7px;padding:7px 12px;font-size:16px;color:#fff1c9!important;background-color:#263e4d;background-image:linear-gradient(135deg,#435d6c,#293f4c)}
.small-button svg{color:#ffe9b8}.game-button small{font-size:11px;opacity:.92}.game-button.primary small{color:#5c401d}.game-button.blue small{color:#cbe4e7}
.minor-actions{gap:9px}.minor-actions .small-button{padding:7px 8px;font-size:15px}.craft-panel>.game-button{margin-bottom:13px}.brand{padding-bottom:19px}.brand h1{font-size:53px}.panel-signature{margin-top:16px;color:#d0dcd3}
.level-badge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:51px;height:51px;border-radius:50%;border:3px solid #e8bc6d;outline:2px solid #4d3925;background:radial-gradient(circle at 40% 25%,#4d8ca8,#1d435d);box-shadow:inset 0 0 0 2px #7d663f,0 2px 0 #151e25;color:#fff4cb;flex-shrink:0}.level-badge small{font-size:8px;line-height:10px;letter-spacing:2px}.level-badge strong{font-size:24px;line-height:27px;text-shadow:0 2px #162736}.status-xp{gap:17px;padding-left:18px}.xp-label{font-size:14px}.xp-label span:last-child{font-size:12px}.xp-track{height:13px}.level-up{margin:15px 0;padding:14px;border:1px solid #daba6c;color:#ffe4a1;font-size:24px;background:#d6a84e17;border-radius:7px}.level-up small{display:block;font-size:12px;color:#c5dbd7;margin-top:5px}
.in-battle .battle-top{top:28px;left:40px;right:40px}.in-battle .combat-card{width:350px;padding:13px 19px 12px}.in-battle .combat-card .eyebrow{font-size:10px;letter-spacing:1px}.in-battle .combat-stats{margin:8px 0 6px}.in-battle .combat-stats strong{font-size:22px}.in-battle .combat-stats b{font-size:10px}.in-battle .captain-status{margin-top:8px}.in-battle .battle-center{gap:7px}.in-battle .battle-center strong{font-size:25px}.in-battle .battle-center .small-button{font-size:14px;padding:5px 13px;color:#fff2cd}
.in-battle .target-readout{bottom:98px}.in-battle .battle-controls{font-size:13px;bottom:25px;gap:23px}.in-battle .battle-controls kbd{font-size:12px}.in-battle .target-readout small{font-size:11px}.in-battle #target-hint{font-size:11px}.in-battle #target-name{font-size:15px}
#aim-cursor{position:absolute;width:65px;height:65px;z-index:22;pointer-events:none;transform:translate(-50%,-50%);--reticle-weight:drop-shadow(.65px 0 0 #f4d07b) drop-shadow(-.65px 0 0 #f4d07b) drop-shadow(0 .65px 0 #f4d07b) drop-shadow(0 -.65px 0 #f4d07b);filter:var(--reticle-weight) drop-shadow(0 1px 1px #071d31e6);opacity:1}#aim-cursor.locked{filter:var(--reticle-weight) drop-shadow(0 1px 1px #071d31e6) drop-shadow(0 0 4px #fff1b3);opacity:1}
.warehouse-foot .game-button{font-size:16px;padding:6px 10px}.build-tools .small-button{font-size:12px;padding:5px 5px;border-width:6px}.build-tools{gap:7px}.warehouse-foot{margin-top:17px}.warehouse-foot>span{font-size:12px}.scene-heading .small-button{font-size:15px}.inventory-tabs button{font-size:13px;color:#cedddb}.module-description{font-size:12px;line-height:1.7}.module-description strong{font-size:13px}.build-feedback{font-size:12px}.build-instructions{font-size:12px}
/* Reference-matched flying menu: painted hardware with crisp native labels. */
.menu-craft{left:880px;top:64px;width:680px;height:850px;pointer-events:none}.menu-aircraft-skin{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 9px 9px #25455822)}
.menu-craft .mini-balloon,.menu-craft .suspension,.menu-craft .propeller,.menu-craft .thruster,.menu-craft .craft-chain{display:none}.menu-craft .craft-panel{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;outline:0;background:none;box-shadow:none;pointer-events:none}.menu-craft .craft-panel:before,.menu-craft .craft-panel:after,.menu-craft .rivet-row,.menu-craft .panel-signature{display:none}
.menu-craft .brand{position:absolute;left:27%;top:28.3%;width:46%;height:9.4%;padding:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.menu-craft .brand h1{font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:64px;font-weight:900;white-space:nowrap;letter-spacing:1px;margin:0;color:#ffe8a4;-webkit-text-stroke:1.4px #542b10;text-shadow:0 3px #b26a20,0 6px #332414,3px 0 #332414,-3px 0 #332414,0 -2px #332414}.menu-craft .brand-kicker,.menu-craft .brand p{display:none}
.menu-craft .game-button{position:absolute;left:21.3%;width:57.9%;height:12.8%;border:0;outline:0;box-shadow:none;background:none;border-image:none;margin:0;padding:8px 24px;pointer-events:auto;gap:22px;justify-content:center;font-size:40px;font-weight:900;border-radius:17px}.menu-craft .game-button span{flex:0 0 auto}.menu-craft .game-button svg{width:60px;height:60px;filter:drop-shadow(1px 2px #3e281b);overflow:visible}.menu-craft .game-button.primary{top:42.3%;color:#542600;text-shadow:0 1px #fff2b4}.menu-craft .game-button.blue{top:57.9%;color:#fff3cf;text-shadow:0 3px #183651;-webkit-text-stroke:.5px #24374a}.menu-craft .game-button.blue svg{color:#e8e1c6;stroke:#3a3528;stroke-width:1.5}.menu-craft .game-button small,.menu-craft .game-button b{display:none}
.menu-craft .minor-actions{position:absolute;left:21.3%;top:71.9%;width:57.9%;height:8.5%;margin:0;gap:6%;pointer-events:none}.menu-craft .minor-actions .small-button{width:47%;flex:0 0 47%;border:0;outline:0;box-shadow:none;background:none;border-image:none;padding:5px;font-size:22px;color:#fff4d8!important;text-shadow:0 2px 2px #111e25;pointer-events:auto;gap:9px;border-radius:14px}.menu-craft .minor-actions svg{width:31px;height:31px;filter:drop-shadow(1px 2px #181b17)}.menu-craft button:hover:not(:disabled){background:#fff7bb18;filter:brightness(1.1);box-shadow:inset 0 0 24px #fff4ad2b}.menu-craft button:focus-visible{outline:3px solid #fff0ba;outline-offset:-8px}
.status-xp{width:492px;height:70px}.status-xp .xp-label{font-size:16px;letter-spacing:1px}.status-xp .xp-label span:last-child{font-size:15px;color:#e4e9d6}.status-xp .xp-track{height:15px;border-color:#ddb669;box-shadow:0 1px #070f17}.currency{height:66px;padding:9px 25px}.currency strong{font-size:31px;color:#fff2d5}.currency span{font-size:17px;color:#f2ddb6}.currency svg{width:43px;height:43px}.world-label{opacity:0}.ship-identity .eyebrow{font-size:10px}.ship-identity{top:116px}.ship-identity h2{font-size:26px}.menu-bottom>span:nth-child(2){display:none}
/* Shared illustrated hardware across the warehouse, status panels and dialogs. */
.metal{border-image-source:url('assets/button-frame.png');border-image-slice:155 fill;border-image-width:14px;border-image-outset:2px;border-image-repeat:stretch;outline:none;background:#233542;box-shadow:0 5px 11px #17314840;border-radius:0}.metal:before,.metal:after{display:none}.menu-craft .craft-panel{border-image:none;background:none;box-shadow:none}
.warehouse{padding:28px 25px 18px}.warehouse-heading{gap:11px}.warehouse-heading h2{font-size:25px}.warehouse-heading .cargo-count{padding:5px 7px;white-space:nowrap}.warehouse-heading .small-button{margin-left:auto;font-size:13px;gap:4px;padding:4px 8px;border-width:6px}.warehouse-heading .small-button img{width:31px;height:31px;object-fit:contain}
.inventory-card{border-color:transparent;border-image:url('assets/button-frame.png') 155 / 7px / 0 stretch;background:linear-gradient(135deg,#3e525b,#20343f);box-shadow:inset 0 0 19px #14262b6b;border-radius:0}.inventory-card.selected{border-image-width:9px;background:linear-gradient(135deg,#786135,#344853);box-shadow:0 0 10px #edcb8066}.inventory-card .item-name{font-weight:700;color:#ffedc6}.inventory-card .item-count{right:10px;top:8px}.inventory-tabs button{border-image:url('assets/button-frame.png') 155 / 5px / 0 stretch;background:#2b414c;padding:9px 3px;color:#d7e6e3}.inventory-tabs button.active{background:#745c35;color:#ffe4aa}.warehouse-foot>.game-button{width:173px;font-size:15px}.warehouse-foot>span{font-size:12px;white-space:nowrap}.warehouse-foot{gap:11px}
#modal{padding:40px 43px}.combat-card{background:#233542}.status-xp{padding-left:17px}.currency{padding-left:20px;padding-right:22px}.build-label{padding:13px 23px}
.crate-art{display:block;width:225px;height:205px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 8px 13px #061c2980)}.crate-opening{animation:crate-shake .2s linear infinite,crate-light 1s ease-in forwards}.crate-reward{display:flex;align-items:center;flex-direction:column;background:radial-gradient(ellipse,#dbb55330,transparent 68%);padding:12px 0}.crate-reward canvas{width:280px;height:140px}.crate-reward strong{font-size:24px;color:#ffe3a0;letter-spacing:2px}.crate-reward span{font-size:12px;color:#9cbcc2;margin-top:9px}@keyframes crate-shake{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-4px)}}@keyframes crate-light{to{filter:brightness(1.8) drop-shadow(0 0 28px #eabb4c)}}
.reset-save-row{border-top:1px solid #e4bd6a40;margin-top:25px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.reset-save-row small{color:#b4bfc1;font-size:12px}.reset-save-row .danger,#confirm-reset{color:#ffceba!important}.reset-save-row .small-button{margin:0!important}#confirm-reset{margin-top:22px}
.reset-save-row{margin-top:18px;padding-top:18px;margin-bottom:24px}#settings-done{margin-top:0}
.install-blocked{display:block;margin-top:5px;color:#ffd09b;font-size:12px;line-height:1.5}
.warehouse{height:718px}.module-description{height:92px}
/* Keep the volume label, flexible slider and preview action together. */
#modal .settings-row.volume-row{gap:12px;flex-wrap:nowrap}
#modal .volume-row label{flex:0 0 auto;white-space:nowrap}
#modal .volume-row input[type=range]{flex:1 1 160px;width:auto;min-width:0;margin:0}
#modal .volume-row #sound-preview{flex:0 0 auto;width:auto;min-width:0;margin:0;padding:6px 9px;font-size:13px;line-height:1.3;white-space:nowrap}
#modal #settings-done{width:100%;margin-top:0}
