/* The Logbook (2026-11-06): brass medallions on deep green. Tokens only, so light and dark follow the theme. */
.lb-medal{display:block;width:100%;height:auto;color:var(--faint)}
.lb-medal__disc{fill:var(--surface-2)}
.lb-medal__ring{stroke:currentColor}
.lb-medal__art{stroke:currentColor;opacity:.55}
.lb-medal__num{font:400 6.5px var(--display);fill:currentColor}
.lb-medal.is-earned{color:#cbb083}
.lb-medal.is-earned .lb-medal__disc{fill:#1a221d}
.lb-medal.is-earned .lb-medal__art{opacity:1}
:root[data-theme="light"] .lb-medal.is-earned .lb-medal__disc{fill:#1d2a22}

/* Account card */
.lb-card{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:12px;min-height:68px;margin:0 0 12px;padding:12px 14px;border-radius:18px;
  border:1px solid var(--accent-line);background:linear-gradient(180deg,var(--accent-soft),transparent 140%),var(--surface);color:var(--text);transition:transform .16s ease}
.lb-card:active{transform:scale(.985)}
.lb-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lb-card__medal{flex:none;width:46px}
.lb-card__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lb-card__t b{font:400 1.35rem/1.1 var(--display)}
.lb-card__t small{font-size:.78rem;color:var(--muted);line-height:1.3}
.lb-card__chev{flex:none;font-size:1.4rem;color:var(--accent)}

/* The Logbook sheet */
.lb .lb__in{width:min(560px,100%);max-height:92dvh}
.lb__title{font-size:2.1rem;margin-top:2px}
.lb-lead{margin:6px 0 14px}
.lb-next{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);margin-bottom:16px}
.lb-next__medal{flex:none;width:52px}
.lb-next__t{flex:1;display:flex;flex-direction:column;gap:3px}
.lb-next__t small{font-size:.74rem;color:var(--muted)}
.lb-next__t b{font:400 1.2rem var(--display)}
.lb-next__bar,.lb-tile__prog{display:block;height:4px;border-radius:99px;background:var(--line);overflow:hidden}
.lb-next__bar i,.lb-tile__prog i{display:block;height:100%;background:var(--accent);border-radius:99px}
.lb-group{margin:0 0 18px}
.lb-group .eyebrow{margin-bottom:10px}
.lb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px}
.lb-tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:4px 2px;border-radius:14px;min-height:44px}
.lb-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lb-tile__medal{width:min(84px,100%)}
.lb-tile__name{font:600 .76rem/1.2 var(--font);color:var(--muted)}
.lb-tile.is-earned .lb-tile__name{color:var(--text)}
.lb-tile__prog{width:60%}
.lb-detail{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:8px 4px 4px}
.lb-detail__medal{width:156px}
.lb-detail__title{font-size:1.9rem}
.lb-detail__line{margin:0;max-width:34ch;color:var(--text)}
.lb-detail .btn{min-width:200px}

/* Earned: the strike */
.lb-strike .lb-strike__in{width:min(420px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 22px}
.lb-strike__medal{position:relative;width:164px;height:164px;margin:10px 0 18px;flex:none;perspective:600px}
.lb-strike__coin{position:absolute;inset:0;display:block}
.lb-strike__pulse{position:absolute;inset:8px;border-radius:50%;border:2px solid #cbb083;opacity:0}
.lb-strike__glint{position:absolute;inset:0;border-radius:50%;overflow:hidden;pointer-events:none}
.lb-strike__glint::after{content:"";position:absolute;top:-20%;left:-60%;width:40%;height:140%;transform:rotate(20deg);opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,240,205,.55),transparent)}
.lb-strike__medal.is-striking .lb-strike__coin{animation:lbCoin .9s cubic-bezier(.2,.8,.25,1.12) both}
.lb-strike__medal.is-striking .lb-strike__pulse{animation:lbPulse 1.1s .55s ease-out both}
.lb-strike__medal.is-striking .lb-strike__glint::after{animation:lbGlint .9s .8s ease-in-out both}
.lb-strike__title{font-size:2.1rem;animation:lbUp .45s .5s ease-out both}
.lb-strike__line{margin:0;max-width:30ch;animation:lbUp .45s .62s ease-out both}
.lb-strike__acts{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;margin-top:12px;animation:lbUp .45s .74s ease-out both}
@keyframes lbCoin{0%{transform:scale(.35) rotateY(85deg);opacity:0}55%{transform:scale(1.07) rotateY(-8deg);opacity:1}80%{transform:scale(.98) rotateY(3deg)}100%{transform:none}}
@keyframes lbPulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@keyframes lbGlint{0%{left:-60%;opacity:0}20%{opacity:1}100%{left:120%;opacity:0}}
@keyframes lbUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .lb-strike__medal.is-striking .lb-strike__coin,.lb-strike__medal.is-striking .lb-strike__pulse,.lb-strike__medal.is-striking .lb-strike__glint::after,.lb-strike__title,.lb-strike__line,.lb-strike__acts{animation:none}
  .lb-card{transition:none}
}
.lb__sub{margin:2px 0 0;font:italic 400 1.15rem/1.3 var(--display);color:var(--accent)}

/* From Rob (2026-11-06): entries the coach writes, signed. */
.lb-signed{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:2px}
.lb-signed__sig{display:block;width:96px;color:var(--accent)}
.lb-signed__sig svg{display:block;width:100%;height:auto}
.lb-signed small{font-size:.72rem;color:var(--muted)}
.lb-strike__in .lb-signed{animation:lbUp .45s .68s ease-out both}
@media (prefers-reduced-motion:reduce){.lb-strike__in .lb-signed{animation:none}}
.lb-award-pick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:6px 0 12px}
.lb-award-pick button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:50%;padding:2px;border:2px solid transparent;min-height:44px;display:flex;align-items:center}
.lb-award-pick button[aria-pressed="true"]{border-color:var(--accent)}
.lb-award-pick button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lb-award-list{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.lb-award-row{display:flex;align-items:center;gap:10px}
.lb-award-row .lb-medal{width:40px;flex:none}
.lb-award-row div{flex:1;min-width:0}
