#tsd-rw{
    --bark:#1C2620; --sapwood:#F1EAD9; --canopy:#4E7A3E; --heartwood:#C77E23;
    --lichen:#8A9384; --line:rgba(28,38,32,.14); --paper:#FBF8F0;
    --fr:'Fraunces',Georgia,serif; --nr:'Newsreader',Georgia,serif;
    --ut:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    color:var(--bark); font-family:var(--nr);
    max-width:680px; margin:0 auto; container-type:inline-size;
  }
  #tsd-rw *{box-sizing:border-box}
  .tsd-rw-card{
    background:
      radial-gradient(120% 80% at 12% 0%, rgba(78,122,62,.06), transparent 60%),
      var(--paper);
    border:1px solid var(--line); border-radius:4px;
    box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 18px 40px -28px rgba(28,38,32,.5);
    padding:clamp(22px,5cqi,40px);
  }
  .tsd-rw-eyebrow{
    font-family:var(--ut); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
    color:var(--canopy); font-weight:600;
  }
  .tsd-rw-title{
    font-family:var(--fr); font-optical-sizing:auto; font-weight:600;
    font-size:clamp(1.7rem,5cqi,2.5rem); line-height:1.02; margin:.25em 0 .3em;
    letter-spacing:-.01em;
  }
  .tsd-rw-sub{color:#4a5750; font-size:.98rem; margin:0 0 1.4em; max-width:46ch}

  /* rating gauge */
  .tsd-rw-rate{
    display:flex; gap:clamp(16px,4cqi,30px); align-items:center;
    padding:18px 0 22px; border-block:1px solid var(--line); margin-bottom:22px;
    flex-wrap:wrap;
  }
  .tsd-rw-gauge{position:relative; width:118px; height:118px; flex:0 0 auto}
  .tsd-rw-rings{width:100%; height:100%; transform:rotate(-90deg)}
  .tsd-ring{fill:none; stroke-width:6}
  .tsd-ring-bg{stroke:rgba(28,38,32,.09)}
  .tsd-ring-fill{
    stroke:var(--heartwood); stroke-linecap:round;
    stroke-dasharray:0 999; opacity:0;
    transition:stroke-dasharray .5s cubic-bezier(.22,.61,.36,1), opacity .3s;
  }
  .tsd-ring-fill[data-ring="1"]{--circ:87.9}
  .tsd-ring-fill[data-ring="2"]{--circ:150.8}
  .tsd-ring-fill[data-ring="3"]{--circ:213.6}
  .tsd-ring-fill[data-ring="4"]{--circ:276.5}
  .tsd-ring-fill[data-ring="5"]{--circ:339.3}
  .tsd-rw-core{fill:var(--canopy)}
  #tsd-rw.on-1 .tsd-ring-fill[data-ring="1"],
  #tsd-rw.on-2 .tsd-ring-fill[data-ring="1"],#tsd-rw.on-2 .tsd-ring-fill[data-ring="2"],
  #tsd-rw.on-3 .tsd-ring-fill[data-ring="1"],#tsd-rw.on-3 .tsd-ring-fill[data-ring="2"],#tsd-rw.on-3 .tsd-ring-fill[data-ring="3"],
  #tsd-rw.on-4 .tsd-ring-fill[data-ring="1"],#tsd-rw.on-4 .tsd-ring-fill[data-ring="2"],#tsd-rw.on-4 .tsd-ring-fill[data-ring="3"],#tsd-rw.on-4 .tsd-ring-fill[data-ring="4"],
  #tsd-rw.on-5 .tsd-ring-fill{opacity:1; stroke-dasharray:var(--circ) 999}
  .tsd-rw-readout{
    position:absolute; inset:0; display:grid; place-content:center; text-align:center;
    font-family:var(--fr); font-weight:600; font-size:.82rem; color:var(--bark);
    pointer-events:none; padding:0 8px; line-height:1.1;
  }
  .tsd-rw-btns{display:flex; gap:8px; flex-wrap:wrap}
  .tsd-rw-star{
    font-family:var(--ut); font-weight:600; font-size:.95rem;
    width:44px; height:44px; border-radius:50%; cursor:pointer;
    border:1px solid var(--line); background:var(--paper); color:var(--lichen);
    transition:transform .15s, border-color .2s, color .2s, background .2s;
  }
  .tsd-rw-star:hover{transform:translateY(-2px); border-color:var(--heartwood); color:var(--bark)}
  .tsd-rw-star[aria-checked="true"]{background:var(--heartwood); border-color:var(--heartwood); color:#fff}
  .tsd-rw-star:focus-visible{outline:3px solid var(--canopy); outline-offset:2px}

  /* fields */
  .tsd-rw-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-bottom:14px}
  .tsd-rw-field{display:flex; flex-direction:column; gap:6px}
  .tsd-rw-field.tsd-rw-full{margin-bottom:18px}
  .tsd-rw-field>span{font-family:var(--ut); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; color:#5a6760; font-weight:600}
  .tsd-rw-field em{font-style:normal; color:var(--lichen); text-transform:none; letter-spacing:0; font-weight:400}
  .tsd-rw-field input,.tsd-rw-field select,.tsd-rw-field textarea{
    font-family:var(--nr); font-size:1rem; color:var(--bark);
    padding:11px 12px; border:1px solid var(--line); border-radius:3px;
    background:#fff; width:100%; transition:border-color .2s, box-shadow .2s;
  }
  .tsd-rw-field textarea{resize:vertical; min-height:96px}
  .tsd-rw-field input:focus,.tsd-rw-field select:focus,.tsd-rw-field textarea:focus{
    outline:none; border-color:var(--canopy); box-shadow:0 0 0 3px rgba(78,122,62,.16);
  }
  .tsd-rw-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

  .tsd-rw-foot{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
  .tsd-rw-submit{
    font-family:var(--ut); font-weight:600; font-size:.98rem; letter-spacing:.01em;
    color:#fff; background:var(--canopy); border:1px solid var(--canopy);
    padding:13px 26px; border-radius:3px; cursor:pointer;
    transition:transform .15s, background .2s, box-shadow .2s;
    box-shadow:0 10px 22px -14px rgba(78,122,62,.9);
  }
  .tsd-rw-submit:hover{background:#446b36; transform:translateY(-1px)}
  .tsd-rw-submit:focus-visible{outline:3px solid var(--heartwood); outline-offset:2px}
  .tsd-rw-submit:disabled{opacity:.55; cursor:default; transform:none}
  .tsd-rw-msg{font-family:var(--ut); font-size:.9rem; margin:0}
  .tsd-rw-msg.err{color:#a3341f}
  .tsd-rw-msg.ok{color:var(--canopy)}

  /* success state */
  #tsd-rw.done .tsd-rw-form{display:none}
  .tsd-rw-thanks{display:none}
  #tsd-rw.done .tsd-rw-thanks{display:block; text-align:center; padding:14px 0 6px}
  .tsd-rw-thanks h3{font-family:var(--fr); font-weight:600; font-size:1.7rem; margin:.2em 0}
  .tsd-rw-thanks p{color:#4a5750; max-width:44ch; margin:.4em auto 0}
  .tsd-rw-thanks .ring{width:56px; height:56px; margin:0 auto 6px; display:block}

  @container (max-width:520px){
    .tsd-rw-grid{grid-template-columns:1fr}
    .tsd-rw-rate{gap:14px}
  }
  @media (prefers-reduced-motion:reduce){
    .tsd-ring-fill,.tsd-rw-star,.tsd-rw-submit{transition:none}
  }