.hdr{background:var(--bg2);border-bottom:1px solid var(--bdr);padding:14px 20px;display:flex;align-items:center;gap:12px}
.hdr-icon{width:34px;height:34px;background:var(--grn-d);border:1px solid var(--grn-b);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}
.hdr-title{font-size:16px;font-weight:600}.hdr-sub{font-size:11px;color:var(--tx3);margin-top:1px}
.nav-links{margin-left:auto;display:flex;gap:8px}
.nav-links a{font-size:12px;color:var(--tx3);text-decoration:none;padding:4px 10px;border:1px solid var(--bdr);border-radius:6px;background:var(--bg3)}
.nav-links a:hover{color:var(--tx)}
.main{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 62px)}
.side{background:var(--bg2);border-right:1px solid var(--bdr);padding:18px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(100vh - 62px)}
.slabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);margin-bottom:7px}
.content{padding:24px;overflow-y:auto;max-height:calc(100vh - 62px)}
input[type=text],select{width:100%;background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;padding:8px 10px;color:var(--tx);font-size:13px;outline:none}
input[type=text]:focus,select:focus{border-color:var(--bdr2)}
select option{background:var(--bg3)}
.sw{position:relative}.sw input{padding-left:30px}.sw-ic{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:13px}
.biome-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;min-height:24px}
.btag{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--bg4);border:1px solid var(--bdr);color:var(--tx3)}
.btag.match{background:var(--grn-d);border-color:var(--grn-b);color:var(--grn);font-weight:600}
.btag.match1{background:var(--amb-d);border-color:var(--amb-b);color:var(--amb)}
.srow{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.srow label{font-size:12px;color:var(--tx2);min-width:65px}
.srow input[type=range]{flex:1;accent-color:var(--blu)}
.sval{font-size:13px;font-weight:600;color:var(--tx);min-width:28px;text-align:right}
.crop-pick{background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bdr2) transparent}
.cp-item{padding:7px 10px;cursor:pointer;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--bdr);transition:background .1s}
.cp-item:last-child{border-bottom:none}.cp-item:hover{background:var(--bg4)}.cp-item.sel{background:var(--blu-d);border-left:2px solid var(--blu)}
.cp-name{font-size:12px;color:var(--tx);flex:1}.ct{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}
.t1,.t2{background:#0d2a1c;color:#3dd68c;border:1px solid #1a4a30}
.t3,.t4{background:#0a1e38;color:#4da6ff;border:1px solid #0e3060}
.t5,.t6{background:#2a1a06;color:#f5a623;border:1px solid #4a300a}
.t7,.t8,.t9{background:#2a1010;color:#f07070;border:1px solid #4a2020}
.t10,.t11,.t12,.t13,.t14{background:#1a1040;color:#b08af5;border:1px solid #3a2070}
.qty-row{display:flex;align-items:center;gap:10px}
.qty-row label{font-size:12px;color:var(--tx2);min-width:80px}
.qty-input{width:80px;text-align:center}
.qty-btn{background:var(--bg4);border:1px solid var(--bdr);border-radius:5px;color:var(--tx2);padding:6px 12px;cursor:pointer;font-size:14px}
.qty-btn:hover{background:var(--bg3);color:var(--tx)}
.hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:60px 40px;color:var(--tx3);text-align:center;background:var(--bg2);border:1px dashed var(--bdr);border-radius:12px}
.hint-icon{font-size:32px;margin-bottom:8px}.hint-title{font-size:15px;color:var(--tx2)}
.result-block{background:var(--bg2);border:1px solid var(--bdr);border-radius:10px;padding:18px 22px;margin-bottom:16px}
.result-block h2{font-size:14px;font-weight:600;color:var(--tx2);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.env-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:0}
.env-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;padding:10px 12px;text-align:center}
.env-val{font-size:22px;font-weight:700;line-height:1;margin-bottom:3px}
.env-lbl{font-size:10px;color:var(--tx2)}
.c-grn{color:var(--grn)}.c-amb{color:var(--amb)}.c-blu{color:var(--blu)}.c-red{color:var(--red)}.c-tel{color:var(--tel)}.c-gold{color:var(--gold)}.c-gry{color:var(--tx3)}
.drop-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}
.drop-table th{background:var(--bg4);color:var(--tx2);font-weight:600;padding:6px 10px;text-align:left;border-bottom:2px solid var(--bdr2);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.drop-table td{padding:7px 10px;border-bottom:1px solid var(--bdr);color:var(--tx2);vertical-align:middle}
.drop-table tr:hover td{background:var(--bg3)}
.drop-table td:nth-child(2),.drop-table td:nth-child(3),.drop-table td:nth-child(4){text-align:right;font-family:monospace}
.item-name{color:var(--tx);font-weight:500}
.qty-presets{display:flex;gap:6px;flex-wrap:wrap}
.preset-btn{font-size:11px;padding:4px 10px;background:var(--bg3);border:1px solid var(--bdr);border-radius:5px;color:var(--tx2);cursor:pointer}
.preset-btn.act{background:var(--blu-d);border-color:var(--blu-b);color:var(--blu)}
.preset-btn:hover:not(.act){border-color:var(--bdr2)}
.biome-note{font-size:11px;color:var(--tx3);padding:8px 10px;background:var(--bg3);border-radius:6px;border:1px solid var(--bdr);margin-top:8px;line-height:1.5}
.biome-note.warn{border-color:var(--amb-b);background:var(--amb-d);color:var(--amb)}
.biome-note.ok{border-color:var(--grn-b);background:var(--grn-d);color:var(--grn)}
.sky-toggle{display:flex;gap:8px}
.sky-btn{flex:1;padding:7px;background:var(--bg3);border:1px solid var(--bdr);border-radius:6px;font-size:12px;color:var(--tx2);cursor:pointer;text-align:center;transition:all .1s}
.sky-btn.act{background:var(--grn-d);border-color:var(--grn-b);color:var(--grn)}
.wfbtn{display:flex;gap:6px}
.wfbtn button{flex:1;padding:6px;background:var(--bg3);border:1px solid var(--bdr);border-radius:5px;font-size:11px;color:var(--tx2);cursor:pointer}
.wfbtn button.act{background:var(--tel-d);border-color:#1a5a56;color:var(--tel)}