/* 特勤处制造助手 · 与 AZ3 地图 / 三角洲助手同一套深色 + 琥珀配色 */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%;background:#0b0f14;color:#e8eef5;
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
body{padding-bottom:40px;padding-left:46px}
a{color:#7dd3fc}

/* ===== 左侧项目竖栏（鼠标移过去自动展开） ===== */
.rail{position:fixed;left:0;top:0;bottom:0;width:46px;z-index:900;
  display:flex;flex-direction:column;gap:2px;padding:8px 0;
  background:rgba(9,13,18,.96);border-right:1px solid #1d2733;
  overflow:hidden;transition:width .16s ease;backdrop-filter:blur(8px)}
.rail:hover,.rail.open,.rail:focus-within{width:172px;box-shadow:6px 0 24px rgba(0,0,0,.45)}
.rlogo{flex:none;height:24px;display:flex;align-items:center;justify-content:center;
  color:#ffb020;font-size:16px;font-weight:900;cursor:pointer;outline:none}
.ri{flex:none;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:6px 4px;border-radius:9px;margin:2px 4px;color:#8fa3b8;text-decoration:none;
  border:1px solid transparent;white-space:nowrap;overflow:hidden}
.ri i{font-style:normal;flex:none;width:28px;height:28px;border-radius:8px;
  background:#182231;border:1px solid #26313f;display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;color:#cbd8e6}
.ri b{display:none;font-size:16px;font-weight:800;color:#cbd8e6;line-height:1.2;letter-spacing:.3px}
.rail:hover .ri,.rail.open .ri,.rail:focus-within .ri{justify-content:flex-start;padding-left:8px}
.rail:hover .ri i,.rail.open .ri i,.rail:focus-within .ri i{display:none}
.rail:hover .ri b,.rail.open .ri b,.rail:focus-within .ri b{display:block}
.ri:hover{background:#16202b}
.ri.on{background:#3a2a08;border-color:rgba(255,176,32,.5)}
.ri.on i{background:#4a3609;border-color:rgba(255,176,32,.6);color:#ffd98a}
.ri.on b{color:#ffd98a}

/* ===== 顶栏 ===== */
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:linear-gradient(180deg,rgba(9,12,17,.97),rgba(9,12,17,.86));
  border-bottom:1px solid #1b2532;backdrop-filter:blur(10px)}
.spacer{flex:1}
.brandwrap{display:flex;flex-direction:column;gap:3px;flex:none}
.brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;letter-spacing:.3px}
.brand i{width:8px;height:16px;background:#5ce08a;border-radius:2px;display:block}
.brand em{font-style:normal;color:#5ce08a}
.projsw{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.projsw .pj{font-size:11px;line-height:1;padding:5px 10px;border-radius:7px;border:1px solid #263140;
  background:rgba(15,23,32,.82);color:#8fa3b8;text-decoration:none;white-space:nowrap;
  display:block;min-width:110px;text-align:left}
.projsw .pj::before{content:'› ';opacity:.55}
.projsw .pj:hover{color:#dbe6f2;border-color:#3a4a5e}
.projsw .pj.on{background:#0c2a1e;border-color:#5ce08a;color:#a9f0c6;font-weight:700}
.stat{display:flex;align-items:center;gap:6px;font-size:11px;color:#7d8fa4;flex:none;white-space:nowrap}
.dot{width:6px;height:6px;border-radius:50%;background:#475569}
.dot.ok{background:#22c55e;box-shadow:0 0 6px #22c55e}
.dot.bad{background:#ef4444;box-shadow:0 0 6px #ef4444}
.dot.busy{background:#ffb020;box-shadow:0 0 6px #ffb020;animation:pl 1s infinite}
@keyframes pl{50%{opacity:.25}}
.btn{height:30px;padding:0 12px;border-radius:8px;border:1px solid #2a3644;background:#151d27;
  color:#c3d0de;font-size:12px;cursor:pointer;flex:none;font-family:inherit}
.btn:hover{background:#1e2936;color:#fff}
.btn.primary{background:#3a2a08;border-color:#ffb020;color:#ffd98a;font-weight:700}
.btn.primary:hover{background:#4a3609;color:#ffe6ab}
.btn.sm{height:24px;padding:0 8px;font-size:11px;border-radius:6px}
.btn.danger{border-color:rgba(239,68,68,.45);color:#fca5a5}
.btn.danger:hover{background:rgba(239,68,68,.14)}
.btn:disabled{opacity:.5;cursor:default}
.btn.muted{opacity:.5;color:#8b98a8}

main{max-width:1240px;margin:0 auto;padding:14px 12px 0}
.notice{padding:9px 12px;border-radius:10px;font-size:11.5px;line-height:1.65;margin-bottom:12px;
  border:1px solid rgba(255,176,32,.35);background:rgba(255,176,32,.08);color:#ffd98a}
.notice b{color:#ffe6ab}
.empty{padding:26px 14px;text-align:center;color:#6b7d92;font-size:12.5px;line-height:1.8;
  border:1px dashed #263140;border-radius:12px}

/* ===== 账号模块 ===== */
.acc{background:rgba(15,20,27,.95);border:1px solid #232f3d;border-radius:14px;
  padding:12px;margin-bottom:14px}
.ah{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.aname{flex:1;max-width:280px;height:32px;border-radius:9px;border:1px solid #2a3644;background:#0c1218;
  color:#e8eef5;padding:0 11px;font-size:14px;font-weight:700;font-family:inherit}
.aname:focus{outline:none;border-color:#ffb020}
.aid{font-size:10.5px;color:#5b6b7d}

/* 等级行 */
.lvs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.lvbox{display:flex;align-items:center;gap:5px;background:#0c1218;border:1px solid #223040;
  border-radius:9px;padding:4px 8px}
.lvbox span{font-size:11px;color:#8fa3b8}
.lvbox select{height:24px;border-radius:6px;border:1px solid #2a3644;background:#151d27;
  color:#e8eef5;font-size:11.5px;font-family:inherit;padding:0 4px}
.lvbox select:focus{outline:none;border-color:#ffb020}

/* 正在制造（4 个计时槽） */
.jobs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.job{border:1px solid #223040;border-radius:11px;padding:8px 10px;background:#0c1218;min-height:78px;
  display:flex;flex-direction:column;gap:3px}
.job.run{border-color:rgba(92,224,138,.4);background:rgba(12,42,30,.55)}
.job.done{border-color:rgba(255,176,32,.55);background:rgba(58,42,8,.5)}
.jt{font-size:10.5px;color:#7d8fa4;letter-spacing:.3px}
.jn{font-size:12.5px;font-weight:700;color:#e8eef5;line-height:1.35}
.jc{font-size:16px;font-weight:900;color:#5ce08a;letter-spacing:.4px;font-variant-numeric:tabular-nums}
.job.done .jc{color:#ffb020;font-size:13px}
.jf{font-size:10.5px;color:#7d8fa4}
.jb{display:flex;gap:6px;margin-top:2px}
.jx{align-self:flex-start;margin-top:2px}
.jform{margin-top:6px;padding:8px;border-radius:9px;border:1px solid #26313f;background:rgba(18,24,32,.9);
  display:flex;flex-direction:column;gap:7px}
/* hidden 属性必须赢过上面的 display:flex，否则表单永远展开（收不起来） */
.jform[hidden]{display:none}
.jrow{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;font-size:10.5px;color:#8fa3b8}
.jlb{flex:none;width:46px;color:#9db0c4;font-weight:700;white-space:nowrap}
.ju{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;flex:none}
.jform input{width:40px;height:28px;border-radius:6px;border:1px solid #2a3644;background:#0c1218;
  color:#e8eef5;font-size:12.5px;font-weight:700;padding:0 4px;font-family:inherit;text-align:center;
  font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.jform input::-webkit-outer-spin-button,.jform input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.jform input:focus{outline:none;border-color:#ffb020;background:#111a24}
.jfb{display:flex;gap:6px}
.jhint{font-size:10px;color:#5b6b7d;line-height:1.5}

/* 推荐制造（4 个框） */
.recs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rec{border:1px solid #1e2b39;border-radius:11px;background:rgba(12,18,24,.7);overflow:hidden}
.rh{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid #1c2735;
  background:linear-gradient(180deg,rgba(255,176,32,.06),transparent)}
.rh b{font-size:12px;font-weight:800}
.rh em{font-style:normal;font-size:10px;color:#8296ab;margin-left:auto}
.rl{max-height:290px;overflow-y:auto}
.ri{display:flex;align-items:center;gap:6px;padding:6px 9px;border-bottom:1px solid #16202b;font-size:11.5px}
.ri:last-child{border-bottom:0}
.ri:hover{background:rgba(255,176,32,.06)}
.rn{flex:1;color:#dbe6f2;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rh2{color:#8296ab;font-size:10.5px;flex:none}
.rg{color:#ffd98a;font-weight:700;font-size:11.5px;flex:none;font-variant-numeric:tabular-nums}
.rb{flex:none;height:22px;padding:0 7px;border-radius:6px;border:1px solid #2f4a35;background:#132b1e;
  color:#8fe6ad;font-size:11px;cursor:pointer;font-family:inherit}
.rb:hover{background:#1a3d29;color:#c8f7da}

.foot{margin:18px 0 10px;font-size:10.5px;color:#55677a;line-height:1.7}

@media(max-width:900px){
  .jobs{grid-template-columns:repeat(2,1fr)}
  .recs{grid-template-columns:repeat(2,1fr)}
  .top{flex-wrap:wrap}
  .stat{order:3;width:100%}
}
@media(max-width:560px){
  .jobs{grid-template-columns:1fr}
  .recs{grid-template-columns:1fr}
  .aname{max-width:none}
  .rail{width:38px}
  .rail:hover,.rail.open,.rail:focus-within{width:150px}
  body{padding-left:38px}
}


/* 下线页 / 说明列表（第69轮） */
.off{max-width:720px;padding:14px 16px;border-radius:12px;border:1px solid #26313f;background:#111925}
.off h3{margin:0 0 8px;font-size:15px;font-weight:800;color:#e8eef5}
.off .muted{font-size:13px;color:#9db0c4;line-height:1.7;margin:0 0 10px}
.mlist{margin:0;padding-left:20px;font-size:13px;color:#cbd8e6;line-height:1.9}
.mlist a{color:#ffd98a;text-decoration:none}
.mlist a:hover{text-decoration:underline}

/* ===== 第72轮：账号额度提示 + 通用小提示条 ===== */
.quota{flex:none;font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:7px;
  border:1px solid #2c3a4a;color:#8fa3b8;background:rgba(255,255,255,.03);cursor:pointer;
  white-space:nowrap;align-self:center}
.quota:hover{border-color:#3f5470;color:#cbd8e6}
.quota.full{color:#ffd98a;border-color:rgba(255,176,32,.5);background:rgba(255,176,32,.1)}
.quota.inf{color:#8ef0b4;border-color:rgba(92,224,138,.4);cursor:default}
.quota[hidden]{display:none}
.craft-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:1200;
  max-width:min(560px,92vw);padding:10px 18px;border-radius:11px;background:rgba(20,28,38,.97);
  border:1px solid #2c3a4a;color:#e8eef5;font-size:13px;line-height:1.5;
  box-shadow:0 10px 32px rgba(0,0,0,.55)}
.craft-toast[hidden]{display:none}

/* ===== 第75轮：收菜提醒（开机/登录时造完的任务，顶部直接挂出来） ===== */
.pickbar{max-width:1060px;margin:0 auto 14px;padding:11px 14px;border-radius:12px;
  border:1px solid rgba(255,176,32,.45);background:linear-gradient(180deg,rgba(255,176,32,.14),rgba(255,176,32,.06));
  display:flex;flex-direction:column;gap:7px}
.pickbar[hidden]{display:none}
.pickbar>b{font-size:13px;font-weight:900;color:#ffd98a;letter-spacing:.3px}
.pickbar .pk{display:flex;align-items:center;gap:10px;justify-content:space-between;
  font-size:12.5px;color:#e6eef8;line-height:1.5;padding:5px 8px;border-radius:8px;background:rgba(0,0,0,.18)}
.pickbar .pk em{font-style:normal;color:#ffb020;font-weight:800}
.pickbar .pkok{flex:none}
