.swk-card-dialog { display:grid; gap:1rem; }
.swk-card-dialog label { display:grid; gap:.35rem; }
.swk-card-dialog select {
  width:100%; min-width:0; color:var(--ink); background:var(--bg);
  border:1px solid var(--line); border-radius:.45rem; padding:.5rem; font:inherit;
}
.swk-card-dialog button, .swk-card-result a { justify-self: start; }
.swk-card-result { display: grid; gap: .8rem; }
.swk-card-result img { display: block; max-width: 100%; height: auto; border-radius: .65rem; }
.swk-indexed-guide { max-width: 65rem; padding-block: 2rem; }
.swk-indexed-guide h1 { margin-block: .5rem; }
.swk-card-controls {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: end; gap: .75rem;
}
.swk-card-download { min-height: 42px; white-space: nowrap; }
.swk-card-download[hidden] { display: none; }
.swk-card-result {
  justify-items: center; padding: clamp(.65rem, 3vw, 1.35rem);
  border: 1px solid var(--line); border-radius: .9rem;
  background: radial-gradient(ellipse at top, var(--soft), var(--bg) 72%);
}
.swk-card-result img {
  width: min(100%, 385px); border-radius: 4.6% / 3.5%;
  box-shadow: 0 12px 30px #160e2270;
}
.swk-card-status { margin: 0; color: var(--muted); font-size: .875rem; }
.swk-card-status:empty { display: none; }
@media (max-width: 470px) {
  .swk-card-controls { grid-template-columns: minmax(0, 1fr); }
  .swk-card-download { justify-self: start; }
}
.tl-substitution { border:1px solid var(--line); border-radius:.65rem; padding:.65rem .75rem; background:var(--bg); }
.tl-substitution small, .tl-owned-missing span { color:var(--muted); }
.tl-substitution p { margin:.35rem 0 0; }
.tl-team-filter .tl-owned-filter { display:flex; align-items:center; gap:.45rem; }
.tl-owned-filter input { accent-color:var(--purple); }
.tl-owned-missing { display:grid; justify-items:start; gap:.3rem; padding:.75rem; border-top:1px solid var(--line); }
.tl-owned-near-title { margin:1.25rem 0 .75rem; }
.tl-substitutions { display:grid; gap:.75rem; }
.tl-substitution { margin-bottom:.5rem; }
.tl-substitution small { display:block; }

#modal:has(.swk-farm) {
  width:min(1030px, calc(100vw - 24px)); max-height:90dvh;
}
.swk-farm {
  --farm-accent:var(--purple);
  --farm-border:color-mix(in srgb, var(--farm-accent) 28%, var(--line));
  --farm-wash:color-mix(in srgb, var(--farm-accent) 10%, var(--bg));
  display:grid; gap:clamp(.8rem, 2vw, 1.25rem);
}
.swk-farm :is(h3,h4,p) { margin:0; }
.swk-farm-hero {
  display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center;
  padding:.8rem clamp(1rem, 4vw, 2rem); overflow:hidden;
  border:1px solid var(--farm-border); border-radius:1rem;
  background:radial-gradient(ellipse at 86% 45%, var(--farm-wash) 10%, var(--bg) 76%);
}
.swk-farm-kicker, .swk-farm-summary > div > span {
  display:block; color:var(--muted); font-size:.7rem; font-weight:750; letter-spacing:.15em;
}
.swk-farm-hero h3 {
  margin:.28rem 0; color:var(--ink); font:500 clamp(1.65rem, 5vw, 2.8rem)/1.05 Georgia, serif;
}
.swk-farm-hero p { color:var(--muted); max-width:40ch; }
.swk-farm-hero img {
  width:clamp(72px, 15vw, 128px); height:auto; aspect-ratio:1; object-fit:contain;
  filter:drop-shadow(0 7px 12px #14091050);
}
.swk-farm-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:1rem; }
.swk-farm-targets, .swk-farm-overview, .swk-farm-materials {
  min-width:0; padding:clamp(.8rem, 2vw, 1.2rem); border:1px solid var(--line);
  border-radius:.95rem; background:var(--surface, var(--bg));
}
.swk-farm .swk-farm-heading {
  display:flex; align-items:center; gap:.6rem; margin:0 0 .85rem;
  color:var(--ink); font-size:1.05rem; font-weight:700;
}
.swk-farm-heading span {
  display:grid; place-items:center; width:2rem; height:2rem; flex:none;
  border:1px solid var(--farm-border); border-radius:.55rem; background:var(--farm-wash);
  color:var(--ink); font-size:.75rem; font-variant-numeric:tabular-nums;
}
.swk-farm-levels {
  display:grid; grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr); gap:.65rem; align-items:center;
}
.swk-farm-fields {
  display:grid; gap:.55rem; border:1px solid var(--farm-border);
  background:var(--farm-wash); border-radius:.7rem; padding:.7rem;
}
.swk-farm label { display:grid; gap:.3rem; min-width:0; color:var(--muted); font-size:.8rem; }
.swk-farm input, .swk-farm select {
  width:100%; min-width:0; min-height:2.45rem; border:1px solid var(--line); border-radius:.5rem;
  background:var(--bg); color:var(--ink); padding:.4rem .55rem;
  font:600 1rem system-ui, sans-serif; font-variant-numeric:tabular-nums;
}
.swk-farm :is(input,select,a,summary):focus-visible {
  outline:2px solid var(--farm-accent); outline-offset:2px;
}
.swk-farm-arrow, .swk-farm-talents fieldset > span { color:var(--muted); text-align:center; }
.swk-farm-talents { display:grid; gap:.55rem; margin-top:.9rem; }
.swk-farm-talents h4 { color:var(--ink); font-size:.88rem; }
.swk-farm-talents fieldset {
  min-width:0; margin:0; padding:.35rem .65rem .6rem; border:1px solid var(--line);
  border-radius:.65rem; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:.5rem; align-items:end;
}
.swk-farm-talents fieldset > span { line-height:2.45rem; }
.swk-farm-talents legend { color:var(--muted); padding-inline:.25rem; font-size:.77rem; }
.swk-farm-summary {
  display:flex; justify-content:space-between; align-items:center; gap:.55rem;
  padding:.85rem; border:1px solid var(--farm-border); border-radius:.75rem; background:var(--farm-wash);
}
.swk-farm-summary strong { display:block; font-size:clamp(1.55rem, 4vw, 2.05rem); line-height:1.22; color:var(--ink); }
.swk-farm-summary strong small, .swk-farm-breakdown small { font-size:.72rem; color:var(--muted); }
.swk-farm-level-chip, .swk-farm-amount {
  border:1px solid var(--farm-border); border-radius:.45rem; background:var(--farm-wash);
  padding:.27rem .48rem; color:var(--ink); font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap;
}
.swk-farm-breakdown { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-top:.55rem; }
.swk-farm-breakdown div { min-width:0; border:1px solid var(--line); border-radius:.6rem; padding:.55rem .65rem; }
.swk-farm-breakdown div > span { display:block; color:var(--muted); font-size:.74rem; }
.swk-farm-breakdown strong { font-size:1.05rem; }
.swk-farm-today { margin-top:.85rem; padding:.7rem .75rem; border-inline-start:3px solid var(--farm-accent); background:var(--farm-wash); border-radius:.3rem .65rem .65rem .3rem; }
.swk-farm-today div { display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .55rem; }
.swk-farm-today small, .swk-farm-today p, .swk-farm-method { color:var(--muted); font-size:.8rem; }
.swk-farm-today p, .swk-farm-method p { margin-top:.35rem; }
.swk-farm-method { margin-top:.8rem; }
.swk-farm-method summary { cursor:pointer; }
.swk-farm-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; align-items:start; }
.swk-farm-group { min-width:0; border:1px solid var(--line); border-radius:.7rem; overflow:hidden; }
.swk-farm-group h4 {
  display:flex; justify-content:space-between; gap:.5rem;
  padding:.65rem .75rem; background:var(--farm-wash); font-size:.9rem;
}
.swk-farm-group h4 span { color:var(--muted); font-size:.77rem; }
.swk-farm-group ul { list-style:none; margin:0; padding:0; }
.swk-farm-group li {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.6rem;
  padding:.58rem .75rem; border-top:1px solid var(--line); font-size:.83rem;
}
.swk-farm-group li a {
  display:block; color:var(--muted); text-decoration:underline; text-underline-offset:.15em;
  font-size:.74rem; overflow-wrap:anywhere;
}
.swk-farm-group li a:hover { color:var(--ink); }
@media (max-width:700px) {
  .swk-farm-layout, .swk-farm-groups { grid-template-columns:minmax(0,1fr); }
  #modal:has(.swk-farm) .modal-body { padding:.75rem; }
}
