/* FLO "The Five": the five parts of fitness (based on the five domains in FM 7-22, in plain language) */
.five-wrap{padding-top:22px}
.five-preview[hidden]{display:none}
.five-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;font:400 13px var(--font-body);color:var(--ink-dim)}
.five-preview a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.five-preview a[aria-current="true"]{background:var(--prog,var(--gold-ink));border-color:var(--prog,var(--gold-ink));color:#fff}

.five-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:18px}
.five-head h1{font:600 clamp(34px,8vw,48px)/1 var(--font-display);margin:6px 0 8px;color:var(--ink)}
.five-head p{margin:0;color:var(--ink-dim);font:400 15px/1.5 var(--font-body);max-width:34ch}
.five-kicker{font:500 11px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--prog,var(--gold-ink))}

/* pentagon: fills one wedge per part done today */
.pent{width:132px;height:132px;display:block}
.pent .ring{fill:none;stroke:var(--line);stroke-width:1.2}
.pent .wedge{fill:var(--prog,var(--gold-ink));opacity:0;transform-origin:66px 66px;transform:scale(.4);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.9,.25,1.2)}
.pent .wedge.on{opacity:.9;transform:scale(1)}
.pent .spoke{stroke:var(--line-soft);stroke-width:1}
.pent text{font:500 9px var(--font-mono);letter-spacing:.08em;fill:var(--ink-dim);text-anchor:middle}
.pent .count{font:600 26px var(--font-display);fill:var(--ink)}

.five-today{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.five-today button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 14px var(--font-body);cursor:pointer;transition:background .2s,border-color .2s,transform .15s}
.five-today button:active{transform:scale(.96)}
.five-today button .dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:11px;color:#fff;transition:background .2s,border-color .2s}
.five-today button[aria-pressed="true"]{border-color:var(--prog,var(--gold-ink));background:var(--prog-soft,rgba(201,164,92,.12))}
.five-today button[aria-pressed="true"] .dot{background:var(--prog,var(--gold-ink));border-color:var(--prog,var(--gold-ink))}
.five-today button[aria-pressed="true"] .dot::after{content:"✓"}

.five-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px 14px;padding:2px}
.five-tabs::-webkit-scrollbar{display:none}
.five-tabs button{flex:0 0 auto;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 14px var(--font-body);cursor:pointer}
.five-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
body[data-program] .five-tabs button[aria-pressed="true"]{background:var(--prog);border-color:var(--prog);color:#fff}

.five-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow);animation:five-in .35s cubic-bezier(.2,.8,.2,1)}
@keyframes five-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.five-panel h2{font:600 30px/1.1 var(--font-display);margin:2px 0 6px;color:var(--ink)}
.five-panel .what{color:var(--ink-dim);font:400 15px/1.55 var(--font-body);margin:0 0 16px}
.five-panel h3{font:500 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--prog,var(--gold-ink));margin:20px 0 10px}
.five-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.five-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;font:400 15px/1.5 var(--font-body);color:var(--ink)}
.five-list li::before{content:"";width:8px;height:8px;margin:8px 0 0 6px;border-radius:2px;transform:rotate(45deg);background:var(--prog,var(--gold-ink))}
.five-list b{font-weight:500}
.five-note{margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--prog-soft,rgba(201,164,92,.12));font:400 14px/1.5 var(--font-body);color:var(--ink)}
.five-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font:500 14px var(--font-body);color:var(--prog,var(--gold-ink));text-decoration:none}

/* tools */
.tool{margin-top:6px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--bg)}
.tool-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tool label{font:400 14px var(--font-body);color:var(--ink-dim)}
.tool input[type="time"]{padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 15px var(--font-body)}
.tool .out{font:600 22px var(--font-display);color:var(--ink)}
.tool .btn-five{padding:10px 16px;border-radius:999px;border:0;background:var(--prog,var(--gold-ink));color:#fff;font:500 14px var(--font-body);cursor:pointer}
.tool .btn-five.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}

.breath{display:grid;justify-items:center;gap:12px;padding:8px 0 4px}
.breath-orb{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,var(--prog-soft,rgba(201,164,92,.18)),transparent 70%);border:1.5px solid var(--prog,var(--gold-ink));transform:scale(.62);transition:transform 4s cubic-bezier(.45,0,.55,1)}
.breath-orb.in{transform:scale(1);transition-duration:4s}
.breath-orb.out{transform:scale(.62);transition-duration:6s}
.breath-orb span{font:500 15px var(--font-body);color:var(--ink)}
.breath small{color:var(--ink-dim);font:400 13px var(--font-body)}

.moods{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.moods button{padding:12px 4px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:400 12.5px var(--font-body);cursor:pointer;display:grid;gap:4px;justify-items:center}
.moods button b{font:600 20px var(--font-display)}
.moods button[aria-pressed="true"]{border-color:var(--prog,var(--gold-ink));background:var(--prog-soft,rgba(201,164,92,.12))}
.mood-reply{margin-top:10px;font:400 14px/1.5 var(--font-body);color:var(--ink)}

.values{display:flex;flex-wrap:wrap;gap:6px}
.values button{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:400 13.5px var(--font-body);cursor:pointer}
.values button[aria-pressed="true"]{background:var(--prog,var(--gold-ink));border-color:var(--prog,var(--gold-ink));color:#fff}
.prompt{font:italic 500 21px/1.35 var(--font-display);color:var(--ink);margin:0 0 10px}
.tool textarea{width:100%;min-height:96px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:400 15px/1.5 var(--font-body);resize:vertical;box-sizing:border-box}
.tool .hint{font:400 12.5px var(--font-body);color:var(--ink-faint,var(--ink-dim));margin-top:6px}

/* talk to someone: always visible on the Mind panel */
.talk{margin-top:20px;padding:18px;border-radius:16px;background:var(--night,#17140F);color:#F7F1E6}
.talk h3{color:#E2C98F !important;margin-top:0 !important}
.talk p{margin:0 0 12px;font:400 14.5px/1.5 var(--font-body);color:#E9E1D2}
.talk .lines{display:grid;gap:8px}
.talk a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;font:500 15px var(--font-body)}
.talk a span{font:400 13px var(--font-body);color:#CFC6B6}
body[data-program="compliance"]:not(.is-coach) .talk{background:#1B1F17;border:1px solid rgba(122,140,94,.3)}

.five-src{margin-top:26px;font:400 12.5px/1.6 var(--font-body);color:var(--ink-dim)}
.five-src a{color:inherit}

@media (max-width:520px){
  .five-head{grid-template-columns:1fr}
  .pent{justify-self:start}
}
@media (prefers-reduced-motion:reduce){
  .five-panel,.pent .wedge{animation:none;transition:none}
  .breath-orb{transition:none}
}

/* Today: The Five card */
.five-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:16px 0;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:transform .15s ease,border-color .2s}
.five-card:active{transform:scale(.985)}
.five-card:hover{border-color:var(--prog,var(--gold-ink))}
.fc-ring{--p:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,var(--paper) 78%,transparent 80%),conic-gradient(var(--prog,var(--gold-ink)) calc(var(--p) * 360deg),var(--line-soft,rgba(0,0,0,.08)) 0)}
.fc-ring b{font:600 22px/1 var(--font-display);color:var(--ink)}
.fc-ring small{font:400 10px var(--font-mono);color:var(--ink-dim);margin-top:1px}
.fc-txt{display:grid;gap:2px;min-width:0}
.fc-txt b{font:600 19px/1.2 var(--font-display);color:var(--ink)}
.fc-sub{font:400 13px var(--font-body);color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-go{font-size:20px;color:var(--prog,var(--gold-ink))}
