/* BUFF OS v85 — Coach Andrew, the whole app: the round AI button and the rundown. */
.v85-btn { position: relative; flex: 0 0 auto; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; overflow: hidden; color: #3a2f22; -webkit-tap-highlight-color: transparent;
  background: linear-gradient(120deg, #fffaf0 0%, #ffe6c9 20%, #ffd3d6 38%, #d8f3ee 56%, #fff4d6 74%, #fffaf0 100%); background-size: 300% 100%; animation: v84pearl 7s ease-in-out infinite;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset, 0 4px 14px rgba(255, 214, 170, .3), 0 0 16px rgba(255, 236, 200, .25); transition: transform .15s; }
.v85-btn b { position: relative; z-index: 1; font-size: 13.5px; font-weight: 800; letter-spacing: -.02em; }
.v85-btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .8) 50%, transparent 65%); transform: translateX(-120%); animation: v84shine 4.6s ease-in-out infinite; pointer-events: none; }
.v85-btn:active { transform: scale(.92); }
@media (prefers-reduced-motion: reduce) { .v85-btn, .v85-btn::after { animation: none; } }

.v85-sh { --c: #5fd39a; }
.v85-k { margin: 2px 40px 0 0; font-size: 10.5px; font-weight: 800; letter-spacing: .09em; color: #ffd9b8; }
.v85-head { margin: 5px 40px 8px 0; font-size: 26px; font-weight: 800; letter-spacing: -.03em; line-height: 1.12; }
.v85-pep { padding: 13px 15px; border-radius: 18px; font-size: 15.5px; line-height: 1.45; font-weight: 600; background: linear-gradient(160deg, rgba(255, 233, 200, .12), rgba(255, 255, 255, .03)); border: 1px solid rgba(255, 226, 190, .22); box-shadow: inset 3px 0 0 #ffd9b8; }
.v85-score { display: flex; align-items: center; gap: 14px; margin: 14px 0 4px; padding: 12px 14px; border-radius: 18px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); }
.v85-sc { display: flex; flex-direction: column; gap: 6px; } .v85-sc b { font-size: 16px; font-weight: 800; } .v85-sc span { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 12px; font-weight: 700; color: var(--txt2); }
.v85-sc i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-left: 4px; } .dg { background: #5fd39a; } .da { background: #ffb866; } .dr { background: #ff7a6b; }
.v85-h { margin: 18px 0 8px; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--txt3); }
.v85-next { display: flex; flex-direction: column; gap: 8px; }
.v85-nx { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; text-align: left; padding: 11px 14px; border: 0; border-radius: 15px; cursor: pointer; font: inherit; color: inherit; background: rgba(255, 255, 255, .06); box-shadow: inset 3px 0 0 var(--c); }
.v85-nx.a { --c: #ffb866; } .v85-nx.r { --c: #ff7a6b; } .v85-nx small { font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--c); } .v85-nx b { grid-column: 1; font-size: 15px; font-weight: 800; } .v85-nx i { grid-row: 1 / 3; grid-column: 2; align-self: center; font-style: normal; font-size: 22px; color: var(--txt3); }
.v85-clear { padding: 14px; border-radius: 15px; font-size: 14px; font-weight: 700; color: #5fd39a; background: rgba(95, 211, 154, .09); border: 1px solid rgba(95, 211, 154, .25); }
.v85-card { --c: #5fd39a; margin-bottom: 10px; padding: 13px 14px; border-radius: 18px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); box-shadow: inset 3px 0 0 var(--c); }
.v85-card.a { --c: #ffb866; } .v85-card.r { --c: #ff7a6b; }
.v85-ch { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; } .v85-e { font-size: 20px; } .v85-ch b { flex: 1 1 auto; font-size: 16px; font-weight: 800; letter-spacing: -.01em; }
.v85-ch em { font-style: normal; font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 9px; color: var(--c); background: rgba(255, 255, 255, .07); white-space: nowrap; }
.v85-v { font-size: 14px; line-height: 1.4; font-weight: 700; } .v85-n { margin-top: 6px; font-size: 13px; line-height: 1.4; font-weight: 600; color: var(--txt2); font-style: italic; } .v85-n[hidden] { display: none; }
.v85-f { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; } .v85-f span { padding: 4px 9px; border-radius: 9px; font-size: 11.5px; font-weight: 700; color: var(--txt2); background: rgba(255, 255, 255, .06); }
.v85-a { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.v85-act { height: 40px; padding: 0 14px; border: 1.5px solid rgba(255, 255, 255, .18); border-radius: 13px; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 800; color: var(--txt); background: transparent; }
.v85-act.primary { border: 0; color: var(--accent-ink); background: var(--accent); } .v85-act:active { transform: scale(.96); }

/* the header's own button styling is more specific than the rule above and painted the button dark, so this one wins */
.topbar .nav-actions .v85-btn { background: linear-gradient(120deg, #fffaf0 0%, #ffe6c9 20%, #ffd3d6 38%, #d8f3ee 56%, #fff4d6 74%, #fffaf0 100%) !important; background-size: 300% 100% !important; color: #2a2118 !important;
  border: 0 !important; width: 40px; height: 40px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset, 0 4px 14px rgba(255, 214, 170, .3), 0 0 16px rgba(255, 236, 200, .25) !important; }
.topbar .nav-actions .v85-btn b { color: #2a2118 !important; font-size: 14px; font-weight: 800; }

.v85-card { cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background .15s; } .v85-card:active { background: rgba(255, 255, 255, .08); }
.v85-go { font-style: normal; font-size: 20px; color: var(--txt3); margin-left: -2px; }

/* the launcher */
.v85-say { display: flex; gap: 8px; margin-top: 4px; } .v85-say textarea { flex: 1 1 auto; min-height: 66px; padding: 12px 13px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, .14); font: inherit; font-size: 15px; line-height: 1.35; font-weight: 600; resize: none; color: var(--txt); background: rgba(0, 0, 0, .3); } .v85-say textarea::placeholder { color: var(--txt3); }
.v85-two { display: flex; gap: 8px; } .v85-two .v87-go { flex: 1 1 auto; width: auto; } .v85-ask2 { flex: 0 0 34%; display: flex; align-items: center; justify-content: center; gap: 7px; height: 50px; margin-top: 10px; border: 1.5px solid rgba(255, 226, 190, .55); border-radius: 16px; cursor: pointer; font: inherit; color: #ffe6c9; background: transparent; } .v85-ask2 span { font-size: 18px; font-weight: 800; } .v85-ask2 b { font-size: 15px; font-weight: 800; } .v85-ask2:active { transform: scale(.97); }
.v85-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; } .v85-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 14px 13px 13px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 18px; cursor: pointer; text-align: left; font: inherit; color: inherit; background: linear-gradient(160deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); -webkit-tap-highlight-color: transparent; } .v85-tile:active { transform: scale(.97); }
.v85-te { font-size: 26px; line-height: 1; margin-bottom: 6px; } .v85-tile b { font-size: 15.5px; font-weight: 800; letter-spacing: -.01em; } .v85-tile small { font-size: 11.5px; line-height: 1.3; font-weight: 600; color: var(--txt3); }

.v85-act.chip { height: 34px; padding: 0 12px; font-size: 12.5px; border-color: rgba(255, 226, 190, .35); color: #ffe6c9; }
.v85-kg { flex: 1 1 auto; height: 64px; padding: 0 16px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, .14); font: inherit; font-size: 30px; font-weight: 800; text-align: center; color: var(--txt); background: rgba(0, 0, 0, .3); font-variant-numeric: tabular-nums; }
.v85-kgu { align-self: center; font-size: 18px; font-weight: 800; color: var(--txt3); }
/* v442: the kg box was wider than its row (an <input>'s min-width is its own intrinsic size), so the weigh-in sheet
   scrolled 16 px sideways and its text hit the screen edge. Let it shrink, and never let a sheet scroll sideways. */
.v85-kg { min-width: 0 !important; width: 100% !important; box-sizing: border-box; }
.v85-say { min-width: 0; max-width: 100%; }
.v80-sh { overflow-x: hidden; }
