/* Latte Art Academy (academy-app.js): the staff app and the owner's team page are phone-first apps (no site header/footer);
   join, welcome and certificate keep the site around them. Calm, dense, one clear action per screen. */
.aca-app header.top, .aca-app footer, .aca-app .cc-foot, .aca-app .ol-launch, .aca-app .ol-panel { display: none !important; }
.aca-app { background: var(--stone); }
.aca-app main { padding: 0; }
.aca-wrap { max-width: 560px; margin: 0 auto; padding: 14px 16px 60px; }
.aca-page { max-width: 620px; margin: 0 auto; padding: 40px 16px 80px; }
.aca-k { font: 500 11px/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--brass-d); }
.aca-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px; margin: 0 0 12px; }
.aca-card h1 { font: 700 30px/1 var(--display); font-stretch: 68%; text-transform: uppercase; margin: 6px 0 12px; }
.aca-card h2 { font: 700 23px/1.05 var(--display); font-stretch: 68%; text-transform: uppercase; margin: 6px 0 8px; }
.aca-card p { margin: 0 0 10px; line-height: 1.5; }
.aca-card label, .aca-wrap label { display: block; font-size: 13.5px; font-weight: 600; margin: 12px 0 6px; }
.aca-card input:not([type=checkbox]):not([type=file]), .aca-card select, .aca-card textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 12px; font: inherit; font-size: 16px; background: var(--paper, #fbfaf7); }
.aca-small { font-size: 13px; color: var(--muted); line-height: 1.45; }
.aca-err { color: var(--bad); font-size: 14px; min-height: 1em; margin: 8px 0 0; }
.aca-note { background: #f6f1e7; border: 1px solid #ebe1cd; border-radius: 12px; padding: 11px 13px; font-size: 14.5px; line-height: 1.45; margin: 0 0 12px; }
.aca-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 50px; margin-top: 12px; padding: 0 18px; border: 0; border-radius: 14px; background: var(--ink); color: var(--stone); font: 600 15.5px var(--sans); text-decoration: none; cursor: pointer; box-sizing: border-box; }
.aca-btn.ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); }
.aca-btn.sm { min-height: 42px; font-size: 14px; width: auto; margin-top: 8px; }
.aca-btn[disabled] { opacity: .45; cursor: default; }
.aca-btn.busy { opacity: .7; }
.aca-link { background: none; border: 0; padding: 6px 0; color: var(--brass-d); font: 600 14px var(--sans); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.aca-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.aca-actions .aca-btn { flex: 1 1 140px; }
.aca-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 500 !important; line-height: 1.45; }
.aca-check input { width: 20px; height: 20px; flex: none; margin-top: 1px; accent-color: var(--ink); }
.aca-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 2px 14px; }
.aca-top b { font: 700 22px/1.1 var(--display); font-stretch: 68%; text-transform: uppercase; }
.aca-load { padding: 60px 0; display: grid; place-items: center; }
.aca-level h1 { margin-bottom: 14px; }
.aca-req { display: grid; grid-template-columns: 130px 1fr; gap: 10px; align-items: center; font-size: 14px; margin: 7px 0; }
.aca-bar { height: 8px; border-radius: 4px; background: var(--stone-2, #e9e6de); overflow: hidden; } .aca-bar i { display: block; height: 100%; background: var(--brass); border-radius: 4px; }
.aca-next { display: grid; gap: 3px; width: 100%; text-align: left; background: var(--ink); color: var(--stone); border: 0; border-radius: 18px; padding: 18px; margin: 0 0 12px; cursor: pointer; font: inherit; box-sizing: border-box; }
.aca-next .aca-k { color: var(--brass-l); } .aca-next b { font: 700 24px/1.05 var(--display); font-stretch: 68%; text-transform: uppercase; } .aca-next span:last-child { color: var(--muted-dark); font-size: 14px; }
.aca-next.done { cursor: default; } .aca-next a { color: var(--brass-l); }
.aca-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.aca-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.aca-stat { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px; text-align: center; } .aca-stat b { display: block; font: 700 28px/1 var(--display); font-stretch: 68%; } .aca-stat span { font-size: 12px; color: var(--muted); }
.aca-ch { background: #fbf8f1; }
.aca-badges { display: flex; flex-wrap: wrap; gap: 6px; } .aca-badges span { background: var(--ink); color: var(--brass-l); border-radius: 999px; padding: 6px 11px; font-size: 12.5px; font-weight: 600; }
.aca-board { list-style: none; margin: 8px 0 0; padding: 0; } .aca-board li { display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 14.5px; }
.aca-board li:first-child { border-top: 0; } .aca-board li.me b { color: var(--brass-d); } .aca-board small { color: var(--muted); }
.aca-pours, .aca-list, .aca-team { list-style: none; margin: 6px 0 0; padding: 0; }
.aca-pours button, .aca-list button { display: flex; align-items: center; gap: 12px; width: 100%; background: none; border: 0; border-top: 1px solid var(--line); padding: 11px 0; text-align: left; font: inherit; cursor: pointer; color: inherit; }
.aca-pours li:first-child button, .aca-list li:first-child button { border-top: 0; }
.aca-pours b { min-width: 48px; font-variant-numeric: tabular-nums; } .aca-pours span { color: var(--muted); font-size: 14px; }
.aca-tick { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--line); display: grid; place-items: center; flex: none; font-size: 13px; } .aca-tick.on { background: var(--ink); color: var(--brass-l); border-color: var(--ink); }
.aca-points { padding-left: 20px; line-height: 1.5; margin: 8px 0 14px; } .aca-points li { margin: 0 0 6px; }
.aca-q { text-transform: none !important; font: 600 19px/1.35 var(--sans) !important; }
.aca-opts { display: grid; gap: 8px; margin: 12px 0; } .aca-opts button { text-align: left; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font: inherit; font-size: 15.5px; cursor: pointer; }
.aca-opts button.on { background: var(--ink); color: var(--stone); border-color: var(--ink); }
.aca-result { text-align: center; } .aca-result .aca-req { text-align: left; } .aca-result p { text-align: left; }
.aca-big { font: 700 64px/1 var(--display); font-stretch: 68%; margin: 6px 0; } .aca-result.ok .aca-big { color: var(--forest); }
.aca-chips { display: flex; flex-wrap: wrap; gap: 6px; } .aca-chips button { min-height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: 600 14px var(--sans); text-transform: capitalize; cursor: pointer; }
.aca-chips button.on { background: var(--ink); color: var(--stone); border-color: var(--ink); }
.aca-file { position: relative; overflow: hidden; } .aca-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.aca-stills { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin-top: 12px; } .aca-stills img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.aca-stills img:last-child { outline: 2px solid var(--brass); }
.aca-thumb img { width: 100%; max-height: 300px; object-fit: cover; border-radius: 12px; margin-bottom: 8px; }
.aca-team li { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); } .aca-team li:first-child { border-top: 0; }
.aca-team li > div:first-child { display: grid; gap: 3px; } .aca-team span { font-size: 14px; color: var(--muted); }
.aca-help { color: var(--bad) !important; font-weight: 600; font-size: 13px !important; }
.aca-acts { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } .aca-acts .aca-btn { width: auto; margin: 0; }
.aca-add { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 4px; }
.aca-perk, .aca-ai { text-align: center; margin: 14px 4px; }
.aca-price b { font: 700 40px/1 var(--display); font-stretch: 68%; }
.aca-signin { margin-top: 30px; }
.aca-sheet { position: fixed; inset: 0; z-index: 90; background: rgba(22,20,18,.5); display: grid; align-items: end; padding: 12px; }
.aca-sheet > .aca-card { max-width: 560px; width: 100%; margin: 0 auto; max-height: 88vh; overflow: auto; }
.aca-toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%) translateY(20px); opacity: 0; transition: .2s; background: var(--ink); color: var(--stone); padding: 12px 16px; border-radius: 12px; font-size: 14.5px; z-index: 100; max-width: 90vw; }
.aca-toast.on { opacity: 1; transform: translateX(-50%); } .aca-toast.bad { background: var(--bad); }
.hidden { display: none !important; }
/* the certificate */
.aca-certificate { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 48px 28px; text-align: center; position: relative; }
.aca-certificate h1 { font: 700 34px/1 var(--display); font-stretch: 68%; text-transform: uppercase; margin: 10px 0 18px; }
.aca-certificate .aca-name { font: italic 400 38px/1.15 var(--serif); margin: 6px 0 12px; }
.aca-seal { width: 96px; height: 96px; color: var(--brass-d); margin: 0 auto 8px; display: block; }
.aca-certificate.expired { opacity: .6; }
@media print { header.top, footer, .no-print, .cc { display: none !important; } .aca-certificate { border: 0; } }
@media (prefers-color-scheme: dark) {
  .aca-app { background: #0f0e0c; color: var(--stone); }
  .aca-app .aca-card, .aca-app .aca-stat, .aca-app .aca-opts button, .aca-app .aca-chips button, .aca-app .aca-btn.ghost { background: #1d1a17; border-color: #2c2823; color: var(--stone); }
  .aca-app .aca-ch, .aca-app .aca-note { background: #24201b; border-color: #3a352f; color: var(--stone); }
  .aca-app .aca-card input:not([type=checkbox]), .aca-app .aca-card select, .aca-app .aca-card textarea { background: #161412; border-color: #3a352f; color: var(--stone); }
  .aca-app .aca-next { background: #000; } .aca-app .aca-btn { background: var(--brass); color: #161412; }
  .aca-app .aca-board li, .aca-app .aca-pours button, .aca-app .aca-list button, .aca-app .aca-team li { border-color: #2c2823; }
}
.aca-mist { list-style: none; padding: 0; margin: 8px 0 14px; } .aca-mist li { display: grid; gap: 3px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14.5px; line-height: 1.45; } .aca-mist li:first-child { border-top: 0; } .aca-mist span { color: var(--muted); }
.aca-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 4px; }
.aca-plan { display: block !important; margin: 0 !important; cursor: pointer; }
.aca-plan input { position: absolute; opacity: 0; }
.aca-plan > span { display: grid; gap: 4px; height: 100%; box-sizing: border-box; padding: 14px; border: 1.5px solid var(--line); border-radius: 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.aca-plan b { font: 600 13px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--brass-d); }
.aca-plan em { font: 700 32px/1 var(--display); font-stretch: 68%; font-style: normal; } .aca-plan em small { font: 500 13px var(--sans); color: var(--muted); }
.aca-plan i { font-style: normal; font-size: 13px; color: var(--muted); line-height: 1.4; font-weight: 500; }
.aca-plan input:checked + span { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(176,138,79,.25); }
.aca-plan input:focus-visible + span { outline: 2px solid var(--brass); outline-offset: 2px; }
.aca-ollie { display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; margin: 0 0 12px; padding: 14px; border: 1px solid #e3d8c2; border-radius: 18px; background: linear-gradient(135deg, #fbf8f1, #f4ecdc); font: inherit; color: inherit; cursor: pointer; }
.aca-ollie b { display: block; font-size: 16px; } .aca-ollie small { color: var(--muted); font-size: 13px; line-height: 1.4; } .aca-ollie > i { font: 400 26px/1 var(--sans); color: var(--brass-d); font-style: normal; }
.aca-ollie-av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #22423a; color: #f2f0ea; font: 700 17px var(--display); font-stretch: 80%; flex: none; box-shadow: inset 0 0 0 2px rgba(214,191,148,.6); }
.aca-chat { display: flex; flex-direction: column; min-height: 60vh; }
.aca-msgs { flex: 1; display: grid; gap: 10px; align-content: start; margin-bottom: 12px; }
.aca-msg { display: flex; gap: 8px; align-items: flex-end; } .aca-msg p { margin: 0; padding: 10px 13px; border-radius: 16px; font-size: 15px; line-height: 1.5; max-width: 85%; white-space: pre-wrap; }
.aca-msg.ollie p { background: #f4f1ea; border-bottom-left-radius: 4px; } .aca-msg.ollie .aca-ollie-av { width: 30px; height: 30px; font-size: 13px; }
.aca-msg.you { justify-content: flex-end; } .aca-msg.you p { background: var(--ink); color: var(--stone); border-bottom-right-radius: 4px; }
.aca-typing { display: inline-flex; gap: 4px; padding: 14px 13px !important; } .aca-typing i { width: 7px; height: 7px; border-radius: 50%; background: #9a9286; animation: acaDot 1.2s infinite; } .aca-typing i:nth-child(2) { animation-delay: .15s; } .aca-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes acaDot { 0%, 60%, 100% { opacity: .3; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
.aca-starters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; } .aca-starters button { padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: 500 13.5px var(--sans); cursor: pointer; text-align: left; }
.aca-ask { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; } .aca-ask textarea { min-height: 46px !important; max-height: 140px; resize: none; } .aca-ask .aca-btn { margin: 0; min-height: 46px; }
@media (prefers-color-scheme: dark) { .aca-app .aca-ollie { background: #24201b; border-color: #3a352f; } .aca-app .aca-msg.ollie p { background: #2c2823; color: var(--stone); } .aca-app .aca-starters button { background: #1d1a17; border-color: #3a352f; color: var(--stone); } }
/* ---- app shell: the bottom tab bar (matches the sales-page demo) ---- */
.aca-has-tabs .aca-wrap { padding-bottom: 110px; }
.aca-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: repeat(5, 1fr); max-width: 560px; margin: 0 auto; padding: 8px 8px calc(10px + env(safe-area-inset-bottom)); background: rgba(242,240,234,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--line); }
.aca-tabs button { display: grid; justify-items: center; gap: 3px; border: 0; background: none; color: #8d8579; font: 600 11px var(--sans); cursor: pointer; padding: 4px 0; min-height: 48px; }
.aca-tabs svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.aca-tabs button.on { color: var(--ink); } .aca-tabs button.on svg { stroke: var(--brass-d); }
.aca-av-btn { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--ink); color: var(--brass-l); font: 700 16px var(--sans); cursor: pointer; }
.aca-latest { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; width: 100%; text-align: left; margin: 0 0 12px; padding: 13px; border: 1px solid var(--line); border-radius: 18px; background: #fff; font: inherit; color: inherit; cursor: pointer; }
.aca-latest b { display: block; font-size: 14.5px; line-height: 1.4; font-weight: 600; margin-top: 2px; }
.aca-scorechip { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: var(--ink); color: var(--brass-l); font: 700 24px/1 var(--display); font-stretch: 68%; flex: none; }
.aca-scorechip.sm { width: 38px; height: 38px; font-size: 19px; border-radius: 11px; } .aca-scorechip.none { background: var(--stone-2, #e9e6de); color: var(--muted); }
.aca-pours button > span:last-child small { color: var(--muted); }
/* journey */
.aca-journey { list-style: none; margin: 0; padding: 0 0 0 4px; position: relative; }
.aca-journey::before { content: ""; position: absolute; left: 23px; top: 20px; bottom: 30px; width: 2px; background: repeating-linear-gradient(var(--line) 0 6px, transparent 6px 11px); }
.aca-node { position: relative; display: grid; grid-template-columns: 40px 1fr; gap: 14px; margin: 0 0 14px; }
.aca-node-dot { position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font: 700 17px var(--display); font-stretch: 68%; background: var(--stone-2, #e9e6de); color: var(--muted); border: 2px solid var(--stone); }
.aca-node.done .aca-node-dot { background: var(--forest, #22423a); color: #f2f0ea; }
.aca-node.now .aca-node-dot { background: var(--brass); color: var(--ink); box-shadow: 0 0 0 6px rgba(176,138,79,.2); }
.aca-node-body { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; display: grid; gap: 3px; }
.aca-node.locked .aca-node-body { background: transparent; } .aca-node.locked b { color: var(--muted); }
.aca-node.now .aca-node-body { border-color: var(--brass); box-shadow: 0 10px 24px -18px rgba(135,104,58,.8); }
.aca-node b { font: 700 19px/1.1 var(--display); font-stretch: 68%; text-transform: uppercase; }
.aca-node .aca-btn { justify-self: start; margin-top: 8px; }
/* profile */
.aca-spark { width: 100%; height: 100px; display: block; margin: 8px 0 4px; }
.aca-spark .g { stroke: var(--line); stroke-width: 1; } .aca-spark .a { fill: rgba(176,138,79,.14); } .aca-spark .l { fill: none; stroke: var(--brass-d); stroke-width: 2.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.aca-spark circle { fill: #fff; stroke: var(--brass-d); stroke-width: 2; vector-effect: non-scaling-stroke; }
.aca-certcard { display: grid; gap: 4px; margin: 0 0 12px; padding: 18px; border-radius: 18px; background: radial-gradient(400px 160px at 90% 0%, rgba(214,191,148,.35), transparent 60%), var(--ink); color: var(--stone); text-decoration: none; }
.aca-certcard .aca-k { color: var(--brass-l); } .aca-certcard b { font: 700 30px/1 var(--display); font-stretch: 68%; text-transform: uppercase; } .aca-certcard span:last-child { color: var(--muted-dark); font-size: 13.5px; }
/* welcome tour + celebrations */
.aca-intro > .aca-card { text-align: center; padding: 26px 22px; }
.aca-intro-ico { width: 64px; height: 64px; margin: 0 auto 10px; border-radius: 20px; display: grid; place-items: center; background: var(--ink); }
.aca-intro-ico svg { width: 32px; height: 32px; fill: none; stroke: var(--brass-l); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.aca-intro p { color: var(--muted); }
.aca-dots { display: flex; justify-content: center; gap: 6px; margin: 14px 0 4px; } .aca-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--line); } .aca-dots i.on { width: 20px; border-radius: 4px; background: var(--brass); }
.aca-celebrate > .aca-card { text-align: center; padding: 30px 22px; position: relative; z-index: 2; animation: acaPop .45s cubic-bezier(.2,.9,.3,1.3) both; }
.aca-burst { width: 76px; height: 76px; margin: 0 auto 10px; border-radius: 50%; display: grid; place-items: center; font-size: 36px; color: var(--ink); background: radial-gradient(circle, #e7d2a8, var(--brass)); box-shadow: 0 0 0 10px rgba(176,138,79,.18); }
@keyframes acaPop { from { opacity: 0; transform: scale(.85) translateY(20px); } }
.aca-confetti { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 1; }
.aca-confetti i { position: absolute; top: -20px; left: calc(var(--x) * 1%); width: 8px; height: 14px; background: var(--c); border-radius: 2px; transform: rotate(var(--r)); animation: acaFall 2.6s ease-in var(--d) forwards; }
@keyframes acaFall { to { transform: translateY(110vh) rotate(calc(var(--r) + 540deg)); } }
@media (prefers-reduced-motion: reduce) { .aca-confetti { display: none; } .aca-celebrate > .aca-card { animation: none; } }
@media (prefers-color-scheme: dark) {
  .aca-tabs { background: rgba(15,14,12,.92); border-color: #2c2823; } .aca-tabs button.on { color: var(--stone); }
  .aca-app .aca-latest, .aca-app .aca-node-body { background: #1d1a17; border-color: #2c2823; color: var(--stone); } .aca-app .aca-node.locked .aca-node-body { background: transparent; }
  .aca-app .aca-node-dot { border-color: #0f0e0c; }
}
/* owner team page: tabs, headline numbers, 12-week chart, person sheet */
.aca-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; margin: 0 0 12px; border-radius: 14px; background: var(--stone-2, #e9e6de); position: sticky; top: 8px; z-index: 5; }
.aca-seg button { border: 0; border-radius: 11px; min-height: 42px; background: none; font: 600 14.5px var(--sans); color: var(--muted); cursor: pointer; }
.aca-seg button.on { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.aca-kpis, .aca-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.aca-kpis div, .aca-stats div { display: grid; gap: 2px; padding: 12px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.aca-stats div { background: var(--stone); }
.aca-kpis b, .aca-stats b { font: 700 28px/1 var(--display); font-stretch: 68%; } .aca-kpis span, .aca-stats span { font-size: 12.5px; color: var(--muted); line-height: 1.3; }
.aca-kpis em { font-style: normal; font-weight: 700; } .aca-kpis em.up { color: var(--good, #3d7a4f); } .aca-kpis em.down { color: var(--bad); }
.aca-team li:has(.aca-tm) { display: block; padding: 0; }
.aca-tm { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; width: 100%; padding: 12px 0; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.aca-tm-m { display: grid; gap: 3px; } .aca-tm > i { font: 400 24px/1 var(--sans); color: var(--brass-d); font-style: normal; }
.aca-av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--brass-l); font: 700 16px var(--sans); }
.aca-tchart { width: 100%; height: auto; display: block; margin: 8px 0 4px; }
.aca-tchart .b { fill: rgba(176,138,79,.28); } .aca-tchart .l { fill: none; stroke: var(--ink); stroke-width: 2.2; stroke-linejoin: round; } .aca-tchart circle { fill: #fff; stroke: var(--ink); stroke-width: 2; }
.aca-tchart text { font: 500 9.5px var(--mono); fill: var(--muted); }
.aca-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 12.5px; color: var(--muted); margin: 4px 0 0; }
.aca-legend span { display: inline-block; width: 12px; height: 10px; border-radius: 2px; } .aca-legend .b { background: rgba(176,138,79,.4); } .aca-legend .l { height: 2px; background: var(--ink); }
.aca-checks { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 10px 0; }
.aca-checks li { padding: 6px 10px; border-radius: 999px; border: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--muted); }
.aca-checks li.ok { background: var(--ink); border-color: var(--ink); color: var(--brass-l); } .aca-checks li.ok::before { content: '✓ '; }
.aca-fixnote { padding: 12px 14px; border-radius: 12px; background: #f6efe1; font-size: 14.5px; line-height: 1.45; }
@media (prefers-color-scheme: dark) {
  .aca-app .aca-seg { background: #1d1a17; } .aca-app .aca-seg button.on { background: #2c2823; color: var(--stone); }
  .aca-app .aca-kpis div { background: #1d1a17; border-color: #2c2823; } .aca-stats div { background: #161412; border-color: #2c2823; }
  .aca-app .aca-tchart .l, .aca-app .aca-tchart circle { stroke: var(--brass-l); } .aca-app .aca-tchart circle { fill: #1d1a17; } .aca-app .aca-legend .l { background: var(--brass-l); }
  .aca-app .aca-team li:has(.aca-tm) { border-color: #2c2823; } .aca-fixnote { background: #24201b; color: var(--stone); }
  .aca-checks li { border-color: #3a352f; }
}
.aca-team .aca-av { color: var(--brass-l); font-size: 16px; } .aca-team .aca-tm-m { color: inherit; } .aca-team .aca-tm-m b { color: var(--ink); font-size: 16px; }
@media (prefers-color-scheme: dark) { .aca-app .aca-team .aca-tm-m b { color: var(--stone); } }
@media (prefers-color-scheme: dark) { .aca-app .aca-av { background: #2c2823; } }
/* reference photos: "Aim for this" */
.aca-ref { margin: 0 0 12px; display: grid; justify-items: center; gap: 4px; }
.aca-ref img { width: min(220px, 70%); aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 8px 24px rgba(22,20,18,.14); }
.aca-ref figcaption { font: 500 11px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--brass-d); }
.aca-ref.side { float: right; margin: 0 0 6px 12px; width: 92px; } .aca-ref.side img { width: 92px; } .aca-ref.side figcaption { font-size: 9.5px; letter-spacing: .1em; }
.aca-level::after, .aca-ch::after { content: ""; display: block; clear: both; }
.aca-watch { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; margin: 12px 0 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; }
.aca-watch-play { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--brass-l); font-size: 14px; padding-left: 3px; box-sizing: border-box; }
.aca-watch b { display: block; font-size: 15px; } .aca-watch small { color: var(--muted); font-size: 12.5px; } .aca-watch > i { font-style: normal; color: var(--brass-d); font-size: 18px; }
@media (prefers-color-scheme: dark) { .aca-app .aca-watch { background: #1d1a17; border-color: #2c2823; color: var(--stone); } }
