:root{--bg:#f6f5f1;--fg:#1d2420;--card:#fff;--line:#d8d6cc;--accent:#2f6b4f;--muted:#68706a}
*{box-sizing:border-box}
body{margin:0;font:16px/1.4 system-ui,sans-serif;background:var(--bg);color:var(--fg)}
header{background:var(--accent);color:#fff;padding:14px 16px}
h1{margin:0;font-size:1.3rem}
h2{font-size:1.1rem;margin:20px 0 8px}
h3{font-size:1rem;margin:14px 0 6px}
main{padding:0 16px 40px;max-width:1100px;margin:0 auto;display:flex;flex-direction:column-reverse}
.right{margin-top:16px}
@media(min-width:800px){
  body{height:100vh;display:flex;flex-direction:column;overflow:hidden}
  main{flex:1;min-height:0;width:100%;flex-direction:row;align-items:stretch;gap:24px;padding-bottom:0}
  .left{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
  .left>section:last-child{flex:1;min-height:0;display:flex;flex-direction:column}
  .left .list{flex:1;min-height:0;overflow-y:auto}
  .right{flex:1;min-width:0;overflow-y:auto;padding-bottom:16px;display:flex;flex-direction:column}
  #selected-box{flex:1;min-height:0;display:flex;flex-direction:column}
  #selected-box #clear{align-self:flex-start}
  #selected-box .groups{flex:1;min-height:0;overflow-y:auto}
}
.controls{display:flex;flex-direction:column;gap:8px;margin-top:16px}
input,select,button{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg)}
button{background:var(--accent);color:#fff;border:0;cursor:pointer}
.list,.chips{list-style:none;margin:0;padding:0}
.list li{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px}
.list label{display:flex;align-items:center;gap:10px;flex:1;min-height:32px}
.list input{width:20px;height:20px;padding:0}
.list small{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
.muted{color:var(--muted)}
@media(min-width:600px){.controls{flex-direction:row}.controls input{flex:1}}
.chips small{color:var(--muted)}
.chips .remove{background:none;color:var(--muted);border:0;padding:0 0 0 6px;font-size:1rem;line-height:1}
.chips.dim li{opacity:.5}
footer{padding:16px;text-align:center;color:var(--muted);font-size:.85rem}
.chips.pick li[data-name]{cursor:pointer}
.chips.pick li[data-name]:hover{border-color:var(--accent)}
.legend{list-style:none;margin:0 0 10px;padding:0;color:var(--muted);font-size:.9rem}
.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:8px}
.panel-actions{display:flex;gap:8px;margin-bottom:8px}
.packs-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.packs-list label{display:flex;align-items:center;gap:8px;padding:4px 0}
.packs-list input{width:18px;height:18px;padding:0}
@media(max-width:500px){.packs-list{grid-template-columns:1fr}}
.list li.dim{opacity:.5}
.chips li.dim{opacity:.5}
[hidden]{display:none!important}
