.qr{flex-direction:column;gap:8px;display:flex}.qr-q{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--ink);margin:0}.qr-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.qr-choice{border:1px solid var(--line);background:var(--white);min-height:44px;color:var(--ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-med);text-align:center;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;line-height:1.15;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.qr-choice:hover{border-color:var(--navy)}.qr-choice:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.qr-check{fill:currentColor;opacity:0;flex:none;width:0;height:16px;transition:width .15s,opacity .15s}.qr-choice.on .qr-check{opacity:1;width:16px}.qr-choice.qr-good.on{background:var(--green-soft);border-color:var(--green);color:var(--green)}.qr-choice.qr-mid.on{background:var(--bg-muted);border-color:var(--navy);color:var(--navy)}.qr-choice.qr-bad.on{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.qr-choice.qr-just{animation:.36s ease-out qr-pop}@keyframes qr-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.qr-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:24px;display:flex}.qr-status{font-size:var(--fs-xs);color:var(--muted);margin:0}.qr-rated .qr-status{color:var(--green);font-weight:var(--fw-med)}.qr-meta-actions{gap:4px;margin-left:auto;display:inline-flex}.qr-link{min-height:44px;color:var(--navy);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-med);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 8px;text-decoration:underline}.qr-link:hover{background:var(--bg-muted)}.qr-link:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.qr-clear{color:var(--muted)}.qr-details{border-top:1px solid var(--line-soft);flex-direction:column;gap:8px;padding-top:10px;animation:.18s ease-out qr-reveal;display:flex}@keyframes qr-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.qr-details-h{font-size:var(--fs-xs);font-weight:var(--fw-med);color:var(--ink);margin:0}.qr-details-h span{font-weight:var(--fw-body);color:var(--faint);margin-left:4px}.qr-attrs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qr-attr{border:1px solid var(--line);background:var(--white);min-height:36px;color:var(--body);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-med);cursor:pointer;border-radius:999px;padding:0 12px}.qr-attr:hover{border-color:var(--green)}.qr-attr.on{background:var(--green-soft);border-color:var(--green);color:var(--green)}.qr-attr:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.qr-redeem{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-redeem select{font:inherit;font-size:var(--fs-xs);border:1px solid var(--line);background:var(--white);min-height:36px;color:var(--ink);border-radius:8px;padding:0 8px}.qr-redeem select:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.rb{display:inline-flex;position:relative}.rb-trigger{border:1px solid var(--line);background:var(--white);min-height:44px;color:var(--navy);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-med);white-space:nowrap;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.rb-trigger:hover{border-color:var(--navy)}.rb-trigger:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.rb-trigger svg{fill:currentColor;flex:none;width:14px;height:14px}.rb-trigger.rated{font-size:var(--fs-xs);border-radius:999px}.rb-trigger.rated.qr-good{background:var(--green-soft);border-color:var(--green);color:var(--green)}.rb-trigger.rated.qr-mid{background:var(--bg-muted);border-color:var(--line);color:var(--navy)}.rb-trigger.rated.qr-bad{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.rb-pop{z-index:40;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-md);padding:14px;animation:.16s ease-out qr-reveal;position:absolute;top:calc(100% + 8px);right:0}.rb-pop-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.rb-pop-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0}.rb-pop-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--ink);margin:2px 0 0}.rb-close{width:44px;height:44px;color:var(--muted);font-size:var(--fs-xl);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;margin:-10px -10px 0 0;line-height:1}.rb-close:hover,.rb-close:focus-visible{background:var(--bg-muted);color:var(--ink)}.rb-close:focus-visible{outline:2px solid var(--navy);outline-offset:0}.rb-foot{justify-content:flex-end;margin-top:6px;display:flex}.rb-backdrop{display:none}@media (max-width:600px){.rb-backdrop{z-index:1000;background:color-mix(in srgb, var(--ink) 45%, transparent);display:block;position:fixed;inset:0}.rb-pop{z-index:1001;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:auto;max-width:none;max-height:85vh;padding:18px 16px calc(16px + env(safe-area-inset-bottom));animation:.2s ease-out rb-sheet-in;position:fixed;inset:auto 0 0;overflow-y:auto}.rb-foot .btn{width:100%}}@keyframes rb-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.qr-choice,.qr-check{transition:none}.qr-choice.qr-just,.qr-details,.rb-pop{animation:none}}.qr-redeem-chips{flex-wrap:wrap;gap:6px;display:flex}.qr-redeem-journal{justify-content:space-between;margin:0}.qr-redeem-journal .qr-link{align-items:center;min-height:36px;text-decoration:underline;display:inline-flex}@media (min-width:720px) and (pointer:fine){.qr{gap:6px}.qr-choices{flex-wrap:wrap;gap:6px;display:flex}.qr-choice{min-height:38px;padding:0 14px}.qr-link,.qr-redeem-journal .qr-link,.qr-attr{min-height:32px}.qr-meta{min-height:0}.qr-details{gap:6px;padding-top:8px}}
.rate-modal-overlay{z-index:1000;background:#0d1b2e8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.rate-modal{background:#fff;border-radius:16px;width:100%;max-width:420px;max-height:calc(100vh - 32px);padding:28px 24px 24px;animation:.18s ease-out rate-modal-in;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0d1b2e59}@media (prefers-reduced-motion:reduce){.rate-modal{animation:none}}@keyframes rate-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.rate-modal-close{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:12px;right:12px}.rate-modal-close:hover,.rate-modal-close:focus-visible{background:var(--bg-muted);color:var(--ink)}.rate-modal-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-med);letter-spacing:.08em;color:var(--gold-dark);text-transform:uppercase;margin:0 0 4px}.rate-modal-title{font-size:var(--fs-xl);color:var(--ink);margin:0 0 8px}.rate-modal-benefit{font-size:var(--fs-base);color:var(--muted);margin:0 0 20px;line-height:1.45}.rate-modal-q{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--ink);margin:0 0 10px}.poll-btns{flex-wrap:wrap;gap:8px;display:flex}.poll-btn{min-height:48px;color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-med);cursor:pointer;background:#fff;border:1px solid #0d1b2e24;border-radius:10px;flex:auto;padding:10px 14px}.poll-btn.yes{border-color:var(--green)}.poll-btn.on{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-dark)}.poll-note{font-size:var(--fs-xs);color:var(--muted);margin:10px 0 0}.poll-good{border-top:1px solid #0d1b2e14;margin-top:22px;padding-top:18px}.poll-good-h{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--ink);margin:0 0 10px}.poll-good-h span{font-weight:var(--fw-body);color:var(--muted)}.attr-list{flex-wrap:wrap;gap:8px;display:flex}.attr-opt{min-height:40px;color:var(--ink);font-size:var(--fs-sm);cursor:pointer;background:#fff;border:1px solid #0d1b2e24;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.attr-opt.on{background:var(--green-soft);border-color:var(--green);color:#0a6b4c}.attr-check{border:1.5px solid;border-radius:4px;width:14px;height:14px;display:inline-block}.attr-opt.on .attr-check{background:var(--green);border-color:var(--green)}.attr-more{color:var(--gold-dark);font-size:var(--fs-sm);font-weight:var(--fw-med);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:6px 0}.redeem-line{font-size:var(--fs-sm);color:var(--ink);margin-top:16px;display:block}.redeem-sel{min-height:40px;font-size:var(--fs-sm);color:var(--ink);background:#fff;border:1px solid #0d1b2e24;border-radius:8px;margin-left:6px;padding:6px 8px}@media (max-width:520px){.rate-modal-overlay{align-items:flex-end;padding:0}.rate-modal{width:100%;max-width:none;max-height:92vh;padding-bottom:max(24px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0}@keyframes rate-modal-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}.signals-line{font-size:var(--fs-sm);color:var(--ink)}.signals-pct{color:var(--green);font-weight:var(--fw-med)}.signals-count{color:var(--muted)}.signals-panel{margin-top:8px}.signals-panel-pct{font-size:var(--fs-base);margin:0 0 12px}.signals-bars{flex-direction:column;gap:8px;display:flex}.signals-bar-row{font-size:var(--fs-sm);grid-template-columns:140px 1fr auto;align-items:center;gap:8px;display:grid}.signals-bar-label{color:var(--ink)}.signals-bar-track{background:var(--bg-muted);border-radius:999px;height:8px;overflow:hidden}.signals-bar-fill{background:var(--green);border-radius:999px;height:100%;display:block}.signals-bar-count{color:var(--muted);text-align:right;min-width:24px}.signals-median{font-size:var(--fs-sm);color:var(--muted);margin:12px 0 0}.signals-panel-empty .signals-empty-note{color:var(--muted);font-size:var(--fs-sm);margin:0}.playing-toast{z-index:1100;background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:12px 16px;animation:.2s ease-out playing-toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0d1b2e59}@media (prefers-reduced-motion:reduce){.playing-toast{animation:none}}@keyframes playing-toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.playing-toast-text{font-size:var(--fs-sm);line-height:1.35}.playing-toast-link{color:var(--gold);font-weight:var(--fw-med);font-size:var(--fs-sm);white-space:nowrap;flex:none}.rate-modal-added{background:var(--green-soft);color:var(--green);font-size:var(--fs-sm);font-weight:var(--fw-med);border-radius:9px;align-items:center;gap:8px;margin:0 0 14px;padding:10px 13px;display:flex}.rate-modal-foot{border-top:1px solid var(--line-soft,#eef2f7);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.rate-modal-savenote{font-size:var(--fs-xs);color:var(--faint)}.rate-modal-foot .btn{justify-content:center;min-width:110px}
