/* src/client/fly-guide.css */
.fly-guide-page {
  display: grid;
  gap: 20px;
  margin-top: 24px;
}

.fly-guide-hero {
  position: relative;
  overflow: hidden;
}

.fly-guide-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -100px;
  width: 290px;
  height: 290px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74, 125, 99, .14), rgba(74, 125, 99, 0) 68%);
  pointer-events: none;
}

.fly-guide-hero > * {
  position: relative;
  z-index: 1;
}

.fly-conditions-summary,
.fly-main-section {
  border: 1px solid rgba(29, 67, 49, .1);
  border-radius: 22px;
  background: #fff;
}

.fly-conditions-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .55fr);
  gap: 24px;
  padding: clamp(22px, 3.5vw, 32px);
  background: linear-gradient(145deg, #f5f9f7 0%, #ffffff 62%, #f8fbf9 100%);
  box-shadow: 0 14px 34px rgba(20, 55, 38, .065);
}

.fly-guide-kicker {
  margin: 0 0 8px;
  color: #397157;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fly-conditions-copy h2 {
  margin: 0 0 8px;
  color: #173a2b;
  font-size: clamp(1.1rem, 2vw, 1.28rem);
  letter-spacing: -.012em;
}

.fly-river-summary {
  margin: 0;
  color: #5b6f63;
  font-size: .92rem;
  line-height: 1.55;
}

.fly-conditions-status {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  align-items: flex-start;
  gap: 9px;
  border-left: 1px solid rgba(29, 67, 49, .12);
  padding-left: 24px;
}

.confidence-pill {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  border-radius: 999px;
  padding: 0 11px;
  background: #173a2b;
  color: #fff;
  font-size: .72rem;
  font-weight: 850;
}

.confidence-pill-secondary {
  background: #eaf2ed;
  color: #315f49;
}

.last-checked {
  flex-basis: 100%;
  margin: 2px 0 0;
  color: #718278;
  font-size: .78rem;
}

.fly-watch-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(145px, .28fr) minmax(0, 1.72fr);
  gap: 20px;
  align-items: start;
  border-top: 1px solid rgba(29, 67, 49, .1);
  padding-top: 18px;
}

.fly-watch-strip h3,
.fly-watch-strip p {
  margin: 0;
}

.fly-watch-strip .guide-list {
  border: 1px solid rgba(49,95,73,.12);
  border-radius: 14px;
  padding: 13px 15px;
  background: rgba(255,255,255,.78);
}

.fly-main-section {
  padding: clamp(22px, 3.2vw, 32px);
  box-shadow: 0 10px 28px rgba(20, 55, 38, .045);
}

.fly-patterns-section {
  background: linear-gradient(180deg, #fff 0%, #fcfdfc 100%);
}

.fly-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 20px;
}

.fly-section-heading h2,
.fly-adapt-heading h3 {
  margin: 0 0 9px;
  color: #173a2b;
}

.fly-section-heading p,
.fly-adapt-heading p {
  max-width: 760px;
  margin: 0;
  color: #63756a;
  line-height: 1.55;
}

.fly-catalogue-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border: 1px solid rgba(31, 104, 73, .18);
  border-radius: 999px;
  padding: 0 15px;
  background: #edf5f0;
  color: #245f46;
  font-size: .8rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.fly-catalogue-button:hover,
.fly-catalogue-button:focus-visible {
  border-color: rgba(31, 104, 73, .34);
  background: #e5f0e9;
}

.fly-refine-panel {
  display: grid;
  gap: 15px;
  margin: 4px 0 24px;
  border: 1px solid rgba(49,95,73,.12);
  border-radius: 18px;
  padding: 18px;
  background: #f6f9f7;
}

.fly-refine-copy h3 {
  margin: 0 0 6px;
  color: #173a2b;
  font-size: 1.02rem;
}

.fly-refine-copy p {
  margin: 0;
  color: #67796e;
  line-height: 1.5;
}

.fly-observation-status {
  margin: -1px 0 0;
  color: #315f49;
  font-size: .8rem;
  font-weight: 800;
}

.fly-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}

.fly-card {
  display: grid;
  align-content: start;
  min-width: 0;
  border: 1px solid rgba(29, 67, 49, .1);
  border-radius: 18px;
  background: #fff;
}

.fly-patterns-section .fulling-mill-fly-card {
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 55, 38, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fly-patterns-section .fulling-mill-fly-card:hover {
  transform: translateY(-2px);
  border-color: rgba(31, 104, 73, .2);
  box-shadow: 0 16px 34px rgba(20, 55, 38, .085);
}

.fly-card-title {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  color: #173a2b;
  font-size: 1.02rem;
  line-height: 1.3;
}

.fly-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #173a2b;
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
}

.fly-card-note,
.fly-card-reason,
.fly-card-loading p {
  margin: 0;
  color: #607268;
  line-height: 1.52;
}

.fly-card-reason {
  padding-top: 10px;
  border-top: 1px solid rgba(29, 67, 49, .09);
  font-size: .82rem;
}

.fly-adapt-block {
  margin-top: 28px;
  border-top: 1px solid rgba(29, 67, 49, .1);
  padding-top: 24px;
}

.fly-adapt-heading {
  display: grid;
  grid-template-columns: minmax(180px, .38fr) minmax(0, 1.62fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 16px;
}

.fly-switch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.fly-switch-grid article {
  border: 1px solid rgba(29, 67, 49, .09);
  border-radius: 15px;
  padding: 16px;
  background: #f8faf9;
}

.fly-switch-grid strong {
  display: block;
  margin-bottom: 7px;
  color: #173a2b;
  font-size: .86rem;
}

.fly-switch-grid p {
  margin: 0;
  color: #63756a;
  font-size: .78rem;
  line-height: 1.5;
}

.fly-explain-section {
  background: #f9fbfa;
}

.fly-compact-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 5vw, 64px);
}

.fly-compact-context section {
  padding-top: 2px;
}

.fly-compact-context h3 {
  margin: 0 0 12px;
  color: #173a2b;
}

.guide-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.guide-list li {
  display: flex;
  gap: 9px;
  color: #607268;
  line-height: 1.5;
}

.guide-list li span:first-child {
  flex: 0 0 1.2em;
  color: #315f49;
  font-weight: 800;
  text-align: center;
}

.fly-guide-error {
  margin: 0;
  border: 1px solid #ddb7b0;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fce7e4;
  color: #7b2b25;
}

@media (max-width: 980px) {
  .fly-choice-grid {
    grid-template-columns: 1fr;
  }

  .fly-patterns-section .fulling-mill-fly-card {
    grid-template-columns: minmax(170px, .42fr) minmax(0, 1fr);
  }

  .fly-patterns-section .fulling-mill-fly-card > .fm-fly-image-link {
    border-right: 1px solid rgba(16,35,27,.08);
    border-bottom: 0;
  }
}

@media (max-width: 800px) {
  .fly-switch-grid,
  .fly-compact-context,
  .fly-watch-strip,
  .fly-adapt-heading {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .fly-conditions-summary {
    grid-template-columns: 1fr;
  }

  .fly-conditions-status {
    border-top: 1px solid rgba(29, 67, 49, .1);
    border-left: 0;
    padding-top: 16px;
    padding-left: 0;
  }

  .fly-watch-strip {
    grid-column: 1;
  }

  .fly-section-heading {
    align-items: start;
    flex-direction: column;
  }

  .fly-catalogue-button {
    width: 100%;
    justify-content: center;
  }

  .fly-patterns-section .fulling-mill-fly-card {
    display: block;
  }

  .fly-patterns-section .fulling-mill-fly-card > .fm-fly-image-link {
    border-right: 0;
    border-bottom: 1px solid rgba(16,35,27,.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fly-guide-page *,
  .fly-guide-page *::before,
  .fly-guide-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* src/client/fulling-mill-fly-catalog.css */
.fulling-mill-fly-card { overflow:hidden; padding:0 !important; }
.fm-fly-image-link {
  display:block;
  min-height:180px;
  background:#fff;
  border-bottom:1px solid rgba(16,35,27,.08);
}
.fm-fly-image,
.fm-catalog-image .fm-fly-image {
  display:block;
  width:100%;
  height:100%;
  min-height:180px;
  max-height:230px;
  object-fit:contain;
  background:#fff;
}
.fm-fly-image-placeholder {
  display:grid;
  min-height:180px;
  place-items:center;
  color:rgba(16,35,27,.28);
  font-weight:700;
  font-size:1.25rem;
  letter-spacing:.1em;
}
.fm-fly-card-body { padding:18px; }
.fly-role-label {
  display:inline-flex;
  width:fit-content;
  margin-bottom:10px;
  border-radius:8px;
  padding:5px 8px;
  background:#173a2b;
  color:#fff;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.fm-buy-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
  color:#245f46;
  font-size:.8rem;
  font-weight:680;
  text-decoration:none;
}
.fm-buy-link:hover,
.fm-buy-link:focus-visible { text-decoration:underline; }

.confidence-pill-secondary { margin-left:6px; }
.fly-observation-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:10px;
  align-items:end;
}
.fly-observation-grid label { display:grid; gap:6px; color:#40564a; font-size:.72rem; font-weight:650; text-transform:uppercase; letter-spacing:.045em; }
.fly-observation-grid select {
  min-height:43px;
  border:1px solid rgba(16,35,27,.14);
  border-radius:10px;
  padding:0 11px;
  background:#fff;
  color:#10231b;
  font:inherit;
  text-transform:none;
  letter-spacing:normal;
}
.fly-observation-clear {
  min-height:43px;
  border:1px solid rgba(16,35,27,.14);
  border-radius:10px;
  padding:0 13px;
  background:#edf3ef;
  color:#244334;
  font-weight:650;
  cursor:pointer;
}
.fly-observation-status { margin:10px 0 0; color:#66786e; font-size:.8rem; }
.fly-switch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.fly-switch-grid article { border:1px solid rgba(16,35,27,.09); border-radius:14px; padding:15px; background:#f8faf9; box-shadow:none; }
.fly-switch-grid strong { display:block; margin-bottom:6px; color:#10231b; font-weight:680; }
.fly-switch-grid p { margin:0; color:#596a61; font-size:.8rem; line-height:1.5; }
.fm-back-to-guide { align-self:flex-start; color:#245f46; font-size:.8rem; font-weight:650; text-decoration:none; }
.fm-back-to-guide:hover,.fm-back-to-guide:focus-visible { text-decoration:underline; }

.fm-catalog-section { margin-top:24px; }
.fm-tier-explainer { margin-top:10px; max-width:680px; color:#596a61; font-size:.82rem; }
.fm-tier-explainer summary { width:fit-content; cursor:pointer; color:#245f46; font-weight:650; }
.fm-tier-explainer p { margin:8px 0 0; line-height:1.5; }
.fm-source-note { margin:18px 0 0; color:#738279; font-size:.74rem; line-height:1.45; }
.fm-catalog-toolbar {
  display:grid;
  grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr));
  gap:10px;
  margin:16px 0 12px;
}
.fm-catalog-toolbar label { display:grid; gap:6px; color:#40564a; font-size:.71rem; font-weight:650; text-transform:uppercase; letter-spacing:.045em; }
.fm-catalog-toolbar input,
.fm-catalog-toolbar select {
  width:100%;
  min-height:42px;
  border:1px solid rgba(16,35,27,.14);
  border-radius:10px;
  padding:0 11px;
  background:#fff;
  color:#10231b;
  font:inherit;
  text-transform:none;
  letter-spacing:normal;
}
.fm-catalog-summary { margin:0 0 14px; color:#596a61; font-size:.84rem; line-height:1.5; }
.fm-catalog-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:12px;
}
.fm-catalog-card {
  overflow:hidden;
  border:1px solid rgba(16,35,27,.09);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.fm-catalog-image { display:block; min-height:175px; background:#fff; border-bottom:1px solid rgba(16,35,27,.07); text-decoration:none; }
.fm-catalog-card > div { padding:15px; }
.fm-catalog-card h3 { margin:8px 0 6px; font-size:.96rem; font-weight:680; line-height:1.32; color:#10231b; }
.fm-catalog-card p { margin:0 0 7px; color:#596a61; font-size:.82rem; line-height:1.42; }
.fm-catalog-card small { display:block; color:#75837b; font-size:.74rem; line-height:1.4; }
.fm-tier { display:inline-flex; border-radius:7px; padding:4px 7px; background:#e8f1ec; color:#244334; font-size:.64rem; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.fm-tier-a { background:#dcefe3; }
.fm-tier-b { background:#eef2e7; }
.fm-tier-c { background:#f3f0ea; }

@media (max-width:900px) {
  .fly-observation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fly-switch-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .fm-catalog-toolbar,.fly-observation-grid { grid-template-columns:1fr; }
  .fm-fly-image-link,
  .fm-fly-image-placeholder,
  .fm-catalog-image { min-height:155px; }
  .fm-fly-image,
  .fm-catalog-image .fm-fly-image { min-height:155px; max-height:205px; }
}

/* src/client/fly-alternatives.css */
.fly-alternatives-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin-top:16px;
  border:1px solid rgba(16,35,27,.14);
  border-radius:12px;
  padding:10px 12px;
  background:#f4f8f5;
  color:#173a2b;
  font:inherit;
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
}
.fly-alternatives-toggle:hover,
.fly-alternatives-toggle:focus-visible { background:#edf4ef; border-color:rgba(31,104,73,.3); }
.fly-alternatives-toggle[aria-expanded="true"] span:last-child { transform:rotate(180deg); }
.fly-alternatives-toggle span:last-child { transition:transform .18s ease; }

.fly-alternatives-panel {
  margin-top:10px;
  border:1px solid rgba(16,35,27,.1);
  border-radius:14px;
  background:#fbfdfb;
  overflow:hidden;
}
.fly-alternatives-panel[hidden] { display:none; }
.fly-alternatives-heading { padding:13px 14px 11px; border-bottom:1px solid rgba(16,35,27,.08); }
.fly-alternatives-heading strong { display:block; color:#10231b; font-size:.84rem; }
.fly-alternatives-heading span { display:block; margin-top:3px; color:#66786e; font-size:.72rem; line-height:1.4; }
.fly-alternatives-list { display:grid; }
.fly-alternative-row {
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  min-width:0;
  border-bottom:1px solid rgba(16,35,27,.08);
  background:#fff;
}
.fly-alternative-row:last-child { border-bottom:0; }
.fly-alternative-image-link {
  display:grid;
  place-items:center;
  min-height:86px;
  border-right:1px solid rgba(16,35,27,.08);
  background:#fff;
  text-decoration:none;
}
.fly-alternative-image,
.fly-alternative-image-placeholder {
  display:block;
  width:100%;
  height:86px;
  object-fit:contain;
  background:#fff;
}
.fly-alternative-image-placeholder {
  display:grid;
  place-items:center;
  color:rgba(16,35,27,.28);
  font-size:.85rem;
  font-weight:950;
  letter-spacing:.08em;
}
.fly-alternative-copy { min-width:0; padding:10px 11px; }
.fly-alternative-title { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.fly-alternative-title strong { color:#10231b; font-size:.8rem; line-height:1.3; }
.fly-alternative-title span { flex:0 0 auto; color:#75877d; font-size:.68rem; font-weight:800; }
.fly-alternative-copy p { margin:5px 0 0; color:#596a61; font-size:.7rem; line-height:1.45; }
.fly-alternative-product-link { display:inline-flex; margin-top:6px; color:#315f49; font-size:.68rem; font-weight:900; text-decoration:none; }
.fly-alternative-product-link:hover,
.fly-alternative-product-link:focus-visible { text-decoration:underline; }
.fly-alternatives-more {
  display:block;
  padding:11px 14px;
  background:#f2f7f4;
  color:#244334;
  font-size:.75rem;
  font-weight:900;
  text-decoration:none;
}
.fly-alternatives-more:hover,
.fly-alternatives-more:focus-visible { text-decoration:underline; }

.fm-similar-context {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 16px;
  border:1px solid rgba(31,104,73,.16);
  border-radius:14px;
  padding:12px 14px;
  background:#f2f8f4;
  color:#40564a;
  font-size:.8rem;
}
.fm-similar-context strong { color:#173a2b; }
.fm-similar-context a { flex:0 0 auto; color:#244334; font-weight:900; text-decoration:none; }
.fm-similar-context a:hover,
.fm-similar-context a:focus-visible { text-decoration:underline; }

@media (max-width:760px) {
  .fly-alternative-row { grid-template-columns:68px minmax(0,1fr); }
  .fly-alternative-image,
  .fly-alternative-image-placeholder { height:78px; }
  .fly-alternative-image-link { min-height:78px; }
  .fm-similar-context { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  .fly-alternatives-toggle span:last-child { transition:none; }
}

/* src/client/fly-box.css */
.fly-box-controls{display:grid;gap:.55rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(31,63,46,.12)}
.fly-box-toggle{appearance:none;border:1px solid rgba(21,63,44,.22);background:#fff;color:#153f2c;border-radius:999px;padding:.55rem .8rem;font:inherit;font-weight:700;cursor:pointer;text-align:center}
.fly-box-toggle[aria-pressed="true"]{background:#153f2c;color:#fff;border-color:#153f2c}
.fly-box-sizes{display:flex;flex-wrap:wrap;gap:.4rem}
.fly-box-size{position:relative;cursor:pointer}
.fly-box-size input{position:absolute;opacity:0;pointer-events:none}
.fly-box-size span{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.38rem .55rem;border:1px solid rgba(21,63,44,.2);border-radius:999px;background:#fff;font-size:.82rem;font-weight:700;color:#345445}
.fly-box-size input:checked+span{background:#e2efe7;border-color:#5b846d;color:#153f2c}
.fm-owned-only{min-width:9rem}
.fly-owned-badge{display:inline-flex;width:max-content;max-width:100%;margin:.25rem 0 .45rem;padding:.3rem .55rem;border-radius:999px;background:#f1f3f1;color:#5a655f;font-size:.76rem;font-weight:800}
.fly-owned-badge[data-owned="true"]{background:#e2efe7;color:#153f2c}
.owned-recommendation{margin:1rem 0 1.4rem;padding:1rem 1.05rem;border:1px solid rgba(21,63,44,.14);border-radius:16px;background:linear-gradient(180deg,#f8fbf8,#f2f7f3)}
.owned-recommendation>strong{display:block;color:#52715f;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.owned-recommendation>p{margin:.35rem 0 .85rem;color:#56665d;line-height:1.5}
.owned-recommendation-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}
.owned-recommendation-item{padding:.75rem .8rem;border:1px solid rgba(21,63,44,.12);border-radius:12px;background:#fff}
.owned-role-kicker{margin-bottom:.5rem;color:#52715f;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.owned-recommendation-content{display:grid;grid-template-columns:70px minmax(0,1fr);gap:.8rem;align-items:center}
.owned-fly-thumbnail{display:flex;width:70px;height:70px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(21,63,44,.12);border-radius:10px;background:#f6f8f6;color:#789080;font-size:.72rem;font-weight:800;text-decoration:none}
.owned-fly-thumbnail img{width:100%;height:100%;object-fit:contain;background:#fff}
.owned-recommendation-copy{min-width:0}
.owned-recommendation-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.owned-recommendation-item h3{margin:0;color:#173e2d;font-size:1rem}
.owned-recommendation-item p{margin:.28rem 0 .2rem;color:#46564d;font-size:.9rem}
.owned-recommendation-item small{display:block;color:#66736c;line-height:1.45}
.owned-match-label{flex:0 0 auto;padding:.28rem .5rem;border-radius:999px;background:#e9f2ec;color:#24563c;font-size:.72rem;font-weight:800;white-space:nowrap}
.owned-recommendation-item[data-match="closest-available"] .owned-match-label{background:#f3efe5;color:#765d23}
.owned-recommendation-item[data-match="no-strong-match"]{background:#fbfaf7;border-color:rgba(118,93,35,.18)}
.owned-recommendation-empty strong{color:#765d23;font-size:.92rem}
.owned-recommendation-empty p{margin:.25rem 0 0;color:#6c6658}
.fm-advice-panel{margin-top:.7rem;padding-top:.65rem;border-top:1px solid rgba(31,63,46,.1)}
.fm-advice-panel summary{cursor:pointer;color:#153f2c;font-weight:800}
.fm-advice-copy{margin-top:.5rem;color:#46564d;line-height:1.55;font-size:.9rem}
.fm-advice-copy a{display:inline-block;margin-top:.35rem;font-weight:700}
.fm-offline-note{margin:.8rem 0 0;padding:.75rem .9rem;border-radius:12px;background:#f4f7f4;color:#506158;font-size:.9rem}
.fly-box-backup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 1.25rem;align-items:center;margin:1rem 0;padding:1rem 1.1rem;border:1px solid rgba(21,63,44,.14);border-radius:16px;background:#f8faf8}
.fly-box-backup-copy h3{margin:.15rem 0 .3rem;color:#173e2d;font-size:1.05rem}
.fly-box-backup-copy p{margin:0;max-width:48rem;color:#56665d;line-height:1.5;font-size:.9rem}
.fly-box-backup-kicker{display:block;color:#52715f;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.fly-box-backup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.fly-box-backup-button{appearance:none;border:1px solid rgba(21,63,44,.22);background:#fff;color:#153f2c;border-radius:999px;padding:.58rem .85rem;font:inherit;font-size:.88rem;font-weight:800;cursor:pointer;white-space:nowrap}
.fly-box-backup-button:hover{border-color:#153f2c}
.fly-box-backup-primary{background:#153f2c;color:#fff;border-color:#153f2c}
.fly-box-backup-status{grid-column:1/-1;margin:0;color:#66736c;font-size:.82rem}
.fly-box-backup-status[data-state="success"]{color:#2b6547;font-weight:700}
.fly-box-backup-status[data-state="error"]{color:#8a2f2f;font-weight:700}
@media(max-width:700px){.fly-box-toggle{width:100%}.owned-recommendation{border-radius:14px}.owned-recommendation-content{grid-template-columns:58px minmax(0,1fr);gap:.65rem;align-items:start}.owned-fly-thumbnail{width:58px;height:58px}.owned-recommendation-row{display:grid;gap:.35rem}.owned-match-label{width:max-content}.fly-box-backup{grid-template-columns:1fr;border-radius:14px}.fly-box-backup-actions{justify-content:stretch}.fly-box-backup-button{flex:1 1 9rem}.fly-box-backup-status{grid-column:auto}}

/* src/client/fly-guide-polish.css */
.fly-refine-copy h2{margin:0 0 5px;color:#173a2b;font-size:1.12rem;letter-spacing:-.01em}.fly-refine-panel{margin-top:0;margin-bottom:0}.fly-explain-section>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;color:#173a2b}.fly-explain-section>summary::-webkit-details-marker{display:none}.fly-explain-section>summary::after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#edf4ef;color:#315f49;font-size:1.15rem;font-weight:700}.fly-explain-section[open]>summary::after{content:'–'}.fly-explain-section[open]>summary{margin-bottom:1.1rem}.fly-explain-section>summary strong{font-size:1rem}.fly-explain-section:not([open]){padding-top:18px;padding-bottom:18px}.fly-explain-section:not([open]) .fly-compact-context{display:none}@media(max-width:720px){.fly-refine-panel{padding:16px}.fly-explain-section>summary{min-height:32px}}