.fypr-rating-host,.fypr-reviews-host{--fypr-ink:#121214;--fypr-paper:#fbf8f1;--fypr-purple:#7b2cff;--fypr-lime:#d7ff3f;--fypr-gold:#ffca38;--fypr-line:#ded8ce;color:var(--fypr-ink);font-family:inherit;-webkit-font-smoothing:antialiased}
.fypr-rating-host *,.fypr-reviews-host *{box-sizing:border-box}
.fypr-mini{display:inline-flex;align-items:center;gap:8px;min-height:34px;color:inherit;text-decoration:none}
.fypr-mini:hover .fypr-mini-copy{text-decoration:underline;text-underline-offset:3px}
.fypr-stars{display:inline-flex;color:#aaa5af;font-size:16px;line-height:1;letter-spacing:2px}
.fypr-stars .on{color:var(--fypr-gold)}
.fypr-mini-copy{font-size:11px;font-weight:850;letter-spacing:.015em}
.fypr-reviews-host{display:block;width:min(1240px,calc(100% - 32px));margin:clamp(46px,7vw,96px) auto;container:fypr-reviews/inline-size}
.fypr-reviews-host button,.fypr-reviews-host input,.fypr-reviews-host select{font:inherit}
.fypr-reviews-host ::selection{background:var(--fypr-lime);color:var(--fypr-ink)}
.fypr-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,4cqw,48px);align-items:center;padding:clamp(22px,3.5cqw,38px);border-radius:24px 24px 0 0;background:var(--fypr-ink);color:#fff}
.fypr-brand-title{max-width:760px;margin:0;color:#fff;font-family:inherit;font-size:clamp(34px,5vw,70px);line-height:.92;letter-spacing:-.04em;text-transform:none;text-wrap:balance}
.fypr-brand-lockup{display:block;width:100%;max-width:min(46cqw,270px);height:auto}
.fypr-brand-word{font-weight:950}
.fypr-score{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:14px;row-gap:5px;align-items:center;justify-content:end;text-align:left;font-variant-numeric:tabular-nums}
.fypr-score strong{grid-row:1/3;display:block;font-size:clamp(42px,5cqw,64px);line-height:.82;letter-spacing:-.04em}
.fypr-score .fypr-stars{margin:0;font-size:18px}
.fypr-score small{display:block;color:#b8b3bc;font-size:10px}
.fypr-surface{padding:clamp(20px,3.5cqw,38px);border:1px solid var(--fypr-line);border-top:0;border-radius:0 0 24px 24px;background:var(--fypr-paper)}
.fypr-overview{display:grid;grid-template-columns:minmax(150px,.24fr) minmax(0,1fr);gap:clamp(20px,3cqw,34px);align-items:center;padding-bottom:clamp(22px,3cqw,32px)}
.fypr-bars{display:grid;gap:1px;width:100%;max-width:230px;align-content:start}
.fypr-reviews-host .fypr-bar{display:grid;grid-template-columns:12px minmax(0,1fr) 20px;align-items:center;gap:8px;width:100%;height:23px;min-height:0;margin:0;padding:0;border:0;background:transparent;color:var(--fypr-ink);font-size:9px;line-height:1;text-align:left}
.fypr-track{height:4px;border-radius:99px;background:#e4ded5;overflow:hidden}
.fypr-fill{display:block;height:100%;border-radius:inherit;background:var(--fypr-gold)}
.fypr-ai{display:grid;align-content:start;gap:13px;padding:20px 22px;border:1px solid var(--fypr-line);border-radius:14px;background:#fff}
.fypr-ai-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.fypr-ai h3,.fypr-gallery h3{margin:0;color:var(--fypr-ink);font-family:inherit;font-size:clamp(18px,2vw,25px);line-height:1.15;letter-spacing:-.025em;text-transform:none}
.fypr-ai-heading>span{flex:none;padding:5px 8px;border-radius:99px;background:var(--fypr-lime);color:var(--fypr-ink);font-size:8px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.fypr-ai>p{max-width:72ch;margin:0;color:#4b4845;font-size:13px;line-height:1.65}
.fypr-topics{display:flex;flex-wrap:wrap;gap:7px}
.fypr-topics>span{padding:7px 10px;border:1px solid #ded8ce;border-radius:99px;color:#4b4845;font-size:10px}
.fypr-topics b{margin-left:3px;color:var(--fypr-ink);font-variant-numeric:tabular-nums}
.fypr-ai footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-top:3px;color:#77716a;font-size:9px;line-height:1.5}
.fypr-ai details{max-width:310px;text-align:right}
.fypr-ai summary,.fypr-method summary{color:var(--fypr-ink);font-weight:850;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.fypr-ai details p,.fypr-method details p{margin:8px 0 0;color:#67615b;font-size:10px;line-height:1.55}
.fypr-gallery{display:grid;grid-template-columns:minmax(160px,.28fr) minmax(0,1fr);gap:24px;align-items:start;padding:clamp(26px,4vw,42px) 0;border-top:1px solid var(--fypr-line)}
.fypr-gallery>div:first-child>span{display:block;margin-top:7px;color:#7e7872;font-size:10px}
.fypr-gallery-track{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 10px;scrollbar-color:var(--fypr-purple) #e4ded5;scrollbar-width:thin}
.fypr-photo{width:88px;height:88px;flex:none;padding:0;border:0;border-radius:12px;background:#ece6dd;overflow:hidden;cursor:zoom-in}
.fypr-gallery-photo{width:112px;height:112px}
.fypr-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.fypr-photo:hover img{transform:scale(1.035)}
.fypr-list{display:grid;grid-template-columns:1fr;border-top:1px solid var(--fypr-line)}
.fypr-review{min-width:0;padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid var(--fypr-line);background:transparent;color:var(--fypr-ink)}
.fypr-cardtop{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.fypr-verified{flex:none;padding:5px 8px;border-radius:7px;background:var(--fypr-lime);color:var(--fypr-ink);font-size:8px;font-weight:950;line-height:1;letter-spacing:.045em}
.fypr-review h3{max-width:720px;margin:15px 0 6px;color:var(--fypr-ink);font-family:inherit;font-size:clamp(17px,2vw,21px);line-height:1.25;letter-spacing:-.02em;text-transform:none}
.fypr-review>p{max-width:74ch;margin:10px 0 18px;color:#4b4845;font-size:13px;line-height:1.7;white-space:pre-wrap}
.fypr-card-photos{display:flex;gap:8px;margin:16px 0 19px}
.fypr-review footer{display:contents}
.fypr-review footer b{display:block;margin-bottom:4px;color:var(--fypr-ink);font-size:12px;font-weight:850}
.fypr-review footer time{display:inline;color:#99938c;font-size:8px;font-style:italic;font-weight:400;line-height:1.45;letter-spacing:.01em}
.fypr-review>.fypr-review-disclosure{display:inline;margin:0;color:#99938c;font-size:8px;font-style:italic;font-weight:400;line-height:1.45;letter-spacing:.01em}
.fypr-review>.fypr-review-disclosure::before{content:" · ";color:#b0aaa3;font-style:normal}
.fypr-reply{max-width:74ch;margin-top:18px;padding:13px 15px;border-radius:12px;background:#f0e8ff}
.fypr-reply b{font-size:10px}
.fypr-reply p{margin:4px 0 0;font-size:11px;line-height:1.5}
.fypr-more{display:block;width:min(340px,100%);min-height:46px;margin:24px auto 0;border:1px solid var(--fypr-ink);border-radius:99px;background:transparent;color:var(--fypr-ink);font-weight:900;cursor:pointer}
.fypr-more:hover{background:var(--fypr-ink);color:#fff}
.fypr-more:disabled{opacity:.55;cursor:wait}
.fypr-method{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:24px;color:#77716a;font-size:9px;line-height:1.55}
.fypr-method>p{max-width:66ch;margin:0}
.fypr-method details{max-width:390px;text-align:right}
.fypr-empty{padding:34px;border:1px dashed #d7d0c7;border-radius:16px;text-align:center;color:#7e7872;font-size:13px}
.fypr-photo:focus-visible,.fypr-more:focus-visible,.fypr-ai summary:focus-visible,.fypr-method summary:focus-visible{outline:3px solid var(--fypr-purple);outline-offset:3px}
.fypr-photo-dialog{width:min(760px,calc(100% - 28px));padding:0;border:0;border-radius:18px;background:#111;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.fypr-photo-dialog::backdrop{background:rgba(18,18,20,.82)}
.fypr-photo-dialog img{display:block;width:100%;max-height:84vh;object-fit:contain}
.fypr-photo-dialog button{position:absolute;top:12px;right:12px;display:grid;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(18,18,20,.78);color:#fff;place-items:center;cursor:pointer}
.fypr-photo-dialog svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}
@container fypr-reviews (max-width:900px){.fypr-overview{grid-template-columns:1fr;gap:16px}.fypr-bars{max-width:260px}.fypr-ai details{text-align:left}.fypr-gallery{grid-template-columns:1fr}.fypr-method{display:grid}.fypr-method details{text-align:left}}
@container fypr-reviews (max-width:620px){.fypr-head{grid-template-columns:1fr;gap:20px;padding:22px;border-radius:20px 20px 0 0}.fypr-brand-lockup{max-width:min(72cqw,250px)}.fypr-score{justify-content:start}.fypr-score strong{font-size:46px}.fypr-surface{padding:20px 18px;border-radius:0 0 20px 20px}.fypr-ai{padding:18px}.fypr-ai-heading{align-items:flex-start}.fypr-ai footer{display:grid}.fypr-gallery-photo{width:96px;height:96px}}
@media(max-width:820px){.fypr-reviews-host{width:min(100% - 20px,1240px)}.fypr-method{font-size:12px;color:#67615b;gap:12px}.fypr-method details p{font-size:12px}.fypr-method summary{display:flex;align-items:center;min-height:44px}}

.fypr-load-error{padding:24px;border:1px solid var(--fypr-line);border-radius:16px;text-align:center;background:var(--fypr-paper)}
.fypr-load-status{margin:12px auto 0;text-align:center;color:#67615b;font-size:13px;line-height:1.5}
.fypr-more[hidden],.fypr-load-status[hidden],.fypr-photo-dialog [hidden]{display:none!important}
.fypr-photo-open{overflow:hidden}
.fypr-photo-dialog .fypr-photo-close{width:44px;height:44px}
.fypr-photo-dialog .fypr-photo-close:focus-visible{outline:3px solid #d7ff3f;outline-offset:3px}
.fypr-photo-status{padding:64px 24px 32px;margin:0;text-align:center;font:inherit;line-height:1.5}
@media(prefers-reduced-motion:reduce){.fypr-photo img{transition:none}.fypr-photo:hover img{transform:none}}

/* Owned review intake; published ratings remain separate until moderation. */
.fypr-write-review{display:block;margin:20px auto 40px;min-height:48px;padding:12px 24px;background:#161616;color:#fff;border:0;border-radius:999px;font:700 15px Satoshi,Inter,sans-serif;cursor:pointer}
.fypr-submit-dialog{position:fixed;inset:0;margin:auto;width:min(600px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto;padding:0;border:0;border-radius:24px;background:#faf8f1;color:#171717;font-family:Satoshi,Inter,sans-serif;box-shadow:0 18px 70px #0003}
.fypr-submit-dialog::backdrop{background:#0008}
.fypr-submit-dialog>header{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid #e5dfd3}
.fypr-submit-dialog h2{font-size:24px;line-height:1.2;margin:0 0 8px;letter-spacing:-.5px}
.fypr-submit-dialog header p{font-size:14px;margin:0;color:#686365}
.fypr-submit-dialog [data-review-close]{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;flex-shrink:0;border:1px solid #e5dfd3;border-radius:50%;background:white;font-size:26px;color:#171717;cursor:pointer}
.fypr-submit-dialog form{padding:24px}.fypr-submit-notice{font-size:12px;line-height:1.6;background:#f0e9fa;color:#543c70;padding:12px 14px;border-radius:10px;margin:0 0 20px}
.fypr-submit-dialog form>label,.fypr-review-person>label{display:grid;gap:8px;font-size:13px;font-weight:600;margin-bottom:18px}
.fypr-submit-dialog input:not([type=radio]):not([type=checkbox]),.fypr-submit-dialog textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #ddd6cb;border-radius:10px;background:white;color:#171717;font:400 16px/1.5 Satoshi,Inter,sans-serif;min-height:48px}
.fypr-submit-dialog textarea{resize:vertical;min-height:120px}
.fypr-submit-dialog fieldset{padding:0;margin:0 0 18px;border:0}.fypr-submit-dialog legend{font-size:13px;font-weight:600;margin-bottom:8px}
.fypr-rating-choice{display:flex;gap:8px}.fypr-rating-choice label{position:relative;display:grid;place-items:center;width:48px;padding:6px 0;border:1px solid #ddd6cb;border-radius:10px;background:white;cursor:pointer}
.fypr-rating-choice input{position:absolute;opacity:0!important;appearance:none!important;box-shadow:none!important;border:0!important;width:100%;height:100%;margin:0;cursor:pointer}
.fypr-rating-choice span{font-size:26px;color:#aaa}.fypr-rating-choice small{font-size:11px;color:#686365}
.fypr-rating-choice:has(input:checked) label:not(:has(input:checked) ~ label) span{color:#da9d11}
.fypr-rating-choice label:has(input:checked){border-color:#6035d8;background:#f0e9fa}.fypr-rating-choice label:has(input:focus-visible){outline:2px solid #6035d8;outline-offset:2px}
.fypr-review-person{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fypr-submit-dialog form>.fypr-review-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.6}
.fypr-review-consent input{appearance:auto;accent-color:#6035d8;width:20px;height:20px;flex:0 0 20px;margin:0}
.fypr-submit-status{font-size:14px;line-height:1.6;color:#9c2f25;overflow-wrap:anywhere}.fypr-submit-status:empty{display:none}.fypr-submit-status[data-saved=true]{color:#24543c;background:#eaf3e9;padding:14px;border-radius:10px}
.fypr-submit-button{width:100%;min-height:48px;padding:12px 20px;border:0;border-radius:999px;background:#d7ff3f;color:#111;font:700 15px Satoshi,Inter,sans-serif;cursor:pointer}.fypr-submit-button:disabled{opacity:.65;cursor:default}
.fypr-submit-footnote{font-size:12px;line-height:1.6;color:#686365;margin:14px 0 0}
.fypr-submit-dialog input:focus-visible,.fypr-submit-dialog textarea:focus-visible,.fypr-submit-dialog button:focus-visible,.fypr-write-review:focus-visible{outline:2px solid #6035d8;outline-offset:3px}
@media(max-width:599px){.fypr-submit-dialog{inset:auto 0 0;width:100%;max-width:100%;margin:0;border-radius:24px 24px 0 0;max-height:94dvh;padding-bottom:env(safe-area-inset-bottom)}.fypr-submit-dialog>header,.fypr-submit-dialog form{padding:20px}.fypr-review-person{grid-template-columns:1fr;gap:0}}

.fypr-overview>.fypr-write-review{grid-column:1/-1;justify-self:start;margin:0}

/* Review browsing shares the archived aggregate; filters affect the list only. */
.fypr-reviews-host button.fypr-bar{min-height:36px;padding:0 8px;border-radius:6px;cursor:pointer;font-size:12px;grid-template-columns:12px minmax(0,1fr) 24px}
.fypr-reviews-host button.fypr-bar:hover{background:#f0e8ff}
.fypr-reviews-host button.fypr-bar[aria-pressed="true"]{background:#eee3ff;box-shadow:inset 3px 0 var(--fypr-purple)}
.fypr-review-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:20px 0;border-top:1px solid var(--fypr-line)}
.fypr-review-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:700}
.fypr-review-toolbar select{min-height:44px;min-width:170px;padding:8px 30px 8px 12px;border:1px solid var(--fypr-line);border-radius:10px;color:var(--fypr-ink);background:#fff;font-size:14px}
.fypr-review-toolbar button{min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--fypr-purple);text-decoration:underline;cursor:pointer}
.fypr-review-toolbar p{margin:0 0 12px auto;font-size:12px;color:#67615b;font-variant-numeric:tabular-nums}
.fypr-review-toolbar [hidden]{display:none!important}
.fypr-review-toolbar :focus-visible,.fypr-bar:focus-visible{outline:2px solid var(--fypr-purple);outline-offset:3px}
@container fypr-reviews (max-width:620px){.fypr-review-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fypr-review-toolbar label{min-width:0}.fypr-review-toolbar select{width:100%;min-width:0;padding-right:20px;font-size:16px}.fypr-review-toolbar button{grid-column:1/-1;justify-self:start}.fypr-review-toolbar p{grid-column:1/-1;margin:0}.fypr-reviews-host button.fypr-bar{min-height:44px}.fypr-review footer time,.fypr-review>.fypr-review-disclosure{font-size:12px}}
