/* AirLive Sticker Book (sticker.js, book.php): the stream view's Add to Sticker Book window, the sticker cards with their
   shiny (holographic) and legendary (gold) foil, and the /book page. Site colours and fonts (style.css :root). */
.stkbtn{border-color:#6b5320;color:#ffd27a}
.stkbtn:hover{border-color:var(--amber)}

/* the window (a <dialog>) */
.sbm{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:16px 18px;color:var(--text);background:var(--panel);border:1px solid var(--line2);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.sbm [hidden]{display:none!important}
.sbm::backdrop{background:rgba(3,6,11,.72)}
.sbm-head{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.sbm h2{flex:1;margin:0;font-family:var(--display);font-weight:600;font-size:1.3rem;letter-spacing:.05em;text-transform:uppercase;color:var(--amber)}
.sbm-x{padding:2px 10px;font-size:1.1rem;line-height:1.2}
.sbm-near{margin:0 0 8px;color:var(--muted);font-size:.86rem}
.sbm-list{list-style:none;margin:0 0 12px;padding:0;max-height:min(300px,38vh);overflow:auto;border:1px solid var(--line);border-radius:6px}
.sbm-list li+li{border-top:1px solid var(--line)}
.sbm-msg{padding:12px;color:var(--muted);font-size:.86rem}
.sbm-ac{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;width:100%;padding:9px 12px;text-align:left;color:var(--text);background:none;border:0;cursor:pointer;font:inherit}
.sbm-ac:hover{background:var(--panel2)}
.sbm-ac:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.sbm-reg{font-family:var(--mono);font-weight:600;font-size:.92rem;color:#ffd27a;min-width:7ch}
.sbm-bits{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.sbm-have{margin-left:auto;font-size:.72rem;color:var(--green)}
.sbm-form{display:grid;gap:6px;margin:0 0 10px}
.sbm-form label{font-size:.84rem;font-weight:500}
.sbm-form small{color:var(--muted);font-size:.74rem}
.sbm-row{display:flex;gap:8px}
.sbm input,.sbd textarea,.sbs textarea{flex:1;min-width:0;padding:8px 10px;color:var(--text);background:var(--bg2);border:1px solid var(--line2);border-radius:4px;font:inherit}
.sbm-row input{font-family:var(--mono);text-transform:uppercase}
.sbm input:focus-visible,.sbd textarea:focus-visible,.sbs textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.sbm-user{padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:6px}
.sbm-user .btn{justify-self:start;margin-top:4px}
.sbm-q{margin:0;font-size:.86rem}
.sbm-status:empty{display:none}
.sbm-status{margin:0 0 8px;font-size:.86rem;color:#ffd27a}
.sbm-result{display:flex;flex-direction:column;align-items:center;margin:0 0 10px}
.sbm-result .stk{width:220px}
/* after an add (sticker.js showResult): only the new sticker, one line and Add another / Open your Sticker Book */
.sbm-done .sbm-near,.sbm-done .sbm-list,.sbm-done .sbm-form,.sbm-done .sbm-status,.sbm-done .sbm-foot{display:none!important}
.sbm-done .sbm-result{margin:6px 0 2px}
.sbm-result.stamped .stk{animation:stkpop .45s cubic-bezier(.2,1.4,.4,1) both}
.sbm-added{margin:14px 0 0;font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:.04em;color:var(--green);text-align:center}
.sbm-added::before{content:"\2713\00a0";content:"\2713\00a0" / ""}
.sbm-next{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;margin:12px 0 0;font-size:.9rem}
.sbm-next a{color:var(--cyan)}
.sbm-next a.btn{color:inherit;text-decoration:none;display:inline-block}
.sbm-next .sb-share{margin:0}
@keyframes stkpop{0%{opacity:0;transform:scale(.82) rotate(-3deg)}100%{opacity:1;transform:none}}
.sbm-foot{margin:0;text-align:right;font-size:.86rem}
.sbm-foot a,.sbd-stream{color:var(--cyan)}

/* the card */
.stk{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;height:100%;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line2);border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.stk-pic{position:relative;aspect-ratio:3/2;background:#0a1220;border-bottom:1px solid var(--line)}
.stk-photo,.stk-photo img{display:block;width:100%;height:100%}
.stk-photo img{object-fit:cover}
.stk-photo:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.stk-none{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#3d5579}
.stk-sil{width:68%;height:80%;fill:currentColor}
.stk-nophoto{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stk-info{position:relative;flex:1;padding:9px 11px 10px}
.stk-info p{margin:2px 0 0;font-size:.8rem;line-height:1.3}
.stk-reg{display:flex;align-items:baseline;gap:8px;margin:0;font-family:var(--mono);font-weight:600;font-size:1.05rem;letter-spacing:.04em;color:#ffd27a}
.stk-seen{font-size:.7rem;font-weight:500;color:var(--muted)}
.stk-type{font-weight:600}
.stk-air{color:#c6d2e4}
.stk-liv{color:#ff9ad5}
.stk-date,.stk-place{color:var(--muted)}
.stk-date,.stk-place,.stk-credit{font-size:.72rem!important}
.stk-info .stk-place{margin-top:0}
.stk-credit{color:#aab9cf}
.stk-badge{position:absolute;top:8px;left:8px;z-index:3;padding:2px 7px;border-radius:3px;font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#120c00;background:linear-gradient(90deg,#9ff3ff,#ffb3f0,#fff1a0);pointer-events:none}
.stk-live{position:absolute;bottom:7px;left:8px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:3px;font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#d6ffe6;background:rgba(6,20,12,.82);border:1px solid rgba(70,220,130,.55)}
.stk-live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}
.stk-open{position:absolute;inset:0;z-index:1;width:100%;background:none;border:0;cursor:pointer}
.stk-open:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:0 0 10px 10px}
.stk-big{width:min(420px,100%);height:auto}
.stk-big .stk-reg{font-size:1.4rem}

/* shiny: a holographic foil over the whole card that follows the mouse (--mx/--my/--ang from sticker.js), the phone's tilt
   (the same values on <html class="stk-tilt">) or, otherwise, drifts slowly. Legendary: the same in gold. */
.stk-shiny{border-color:#7fd8ff}
.stk-legendary{border-color:#e8b545;box-shadow:0 0 0 1px rgba(255,200,80,.35),0 8px 24px rgba(255,170,40,.18)}
.stk-legendary .stk-badge{background:linear-gradient(90deg,#fff0b3,#e6a93a,#fff3c4)}
.stk-foil{position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:
    repeating-linear-gradient(var(--ang,110deg),rgba(255,255,255,0) 0 6%,rgba(255,255,255,.16) 8%,rgba(255,255,255,0) 10% 16%),
    conic-gradient(from var(--ang,0deg) at var(--mx,50%) var(--my,40%),#ff4fd8,#ffd23f,#3dffb4,#38d2ff,#8a5bff,#ff4fd8);
  background-size:100% 100%,160% 160%;background-position:center,var(--mx,50%) var(--my,40%);
  mix-blend-mode:color-dodge;opacity:.2;animation:stkdrift 9s ease-in-out infinite alternate}
.stk-foil::after{content:"";position:absolute;inset:0;mix-blend-mode:screen;opacity:.55;
  background:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 45% 80%,#fff 0 .8px,transparent 1.3px),radial-gradient(circle at 85% 20%,#fff 0 .8px,transparent 1.3px);
  background-size:38px 38px,52px 52px,29px 29px,61px 61px;animation:stktwinkle 3.2s ease-in-out infinite}
.stk-legendary .stk-foil{background:
    repeating-linear-gradient(var(--ang,110deg),rgba(255,255,255,0) 0 7%,rgba(255,245,200,.22) 9%,rgba(255,255,255,0) 11% 18%),
    conic-gradient(from var(--ang,0deg) at var(--mx,50%) var(--my,40%),#fff1b0,#e0a030,#8a5a12,#ffd76a,#fff6cf,#c88a20,#fff1b0);
  background-size:100% 100%,160% 160%;background-position:center,var(--mx,50%) var(--my,40%)}
.stk.live .stk-foil,.stk-tilt .stk-foil{animation:none;opacity:.3}
.stk-legendary .stk-foil{opacity:.26}
.stk-tilt .stk-legendary .stk-foil,.stk-legendary.live .stk-foil{opacity:.36}
@keyframes stkdrift{0%{background-position:center,10% 20%}100%{background-position:center,90% 80%}}
@keyframes stktwinkle{0%,100%{opacity:.2}50%{opacity:.65}}
@media (prefers-reduced-motion:reduce){.stk-foil,.stk-foil::after,.sbm-result.stamped .stk{animation:none}.stk-foil::after{opacity:.35}}

/* the /book page */
.sb-guest{margin-top:4px}
.sb-book{margin:0 0 22px}
.sb-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.sb-stat{display:flex;flex-direction:row-reverse;align-items:baseline;gap:6px;padding:6px 14px;background:var(--panel);border:1px solid var(--line2);border-radius:999px}
.sb-stat dt{font-size:.82rem;color:var(--muted)}
.sb-stat dd{margin:0;font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1;color:var(--amber)}
.sb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px}
.sb-filter{display:flex;align-items:center;gap:6px}
.sb-filter span{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sb-filter .btn[aria-pressed="true"]{color:#120c00;background:var(--amber);border-color:var(--amber)}
.sb-filter .btn:focus-visible,.sb-tilt:focus-visible,.sbm .btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sb-tilt{margin-left:auto}
.sb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.sb-empty{padding:18px;background:var(--panel);border:1px dashed var(--line2);border-radius:8px}
.sb-empty a,.sb-credits a{color:var(--cyan)}
.sbd{width:min(760px,calc(100vw - 24px))}
.sbd .sbm-x{position:absolute;top:10px;right:10px;z-index:5}
.sbd-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.sbd-facts p{margin:0 0 6px;font-size:.88rem}
.sbd-stream{display:inline-block;margin:0 0 10px;font-size:.88rem}
.sbd-nl{display:block;margin:10px 0 4px;font-size:.84rem;font-weight:500}
.sbd textarea{display:block;width:100%;resize:vertical}
.sbd-ok{display:block;min-height:1.2em;margin-top:4px;font-size:.76rem;color:var(--green)}
@media (max-width:600px){
  .sb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stk-info{padding:8px 9px 9px}
  .stk-reg{font-size:.94rem}
  .sbd-body{grid-template-columns:1fr}
  .sbd .stk-big{width:100%}
}

/* Sign in with Google (sticker.js acctPaint; only with config.php google_client_id): the account box on /book and the window's footer line */
.sb-acct{margin:24px 0 16px}
#sbacct{padding:10px 14px;background:var(--panel);border:1px solid var(--line2);border-radius:8px}
#sbacct[hidden]{display:none}
.sba-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.sba-pitch{flex:1 1 260px;margin:0;font-size:.9rem}
.sba-gsi:empty{display:none}
.sba-gsi{min-height:40px;color-scheme:normal}
.sba-small{margin:6px 0 0;color:var(--muted);font-size:.78rem}
.sba-status:empty{display:none}
.sba-status{margin:6px 0 0;font-size:.86rem;color:#ffd27a}
.sba-av{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--amber);color:#120c00;font-weight:700;font-size:.9rem}
.sba-who{flex:1 1 auto;font-weight:500;font-size:.92rem}
.sba-del{border-color:#6b2a30;color:#ff8a93}
.sba-del:hover{border-color:var(--red)}
.sba-confirm{margin:10px 0 0;padding:10px 12px;background:var(--bg2);border:1px solid #6b2a30;border-radius:6px}
.sba-confirm p{margin:0 0 8px;font-size:.86rem}
.sba-confirm .btn+.btn{margin-left:8px}
#sbacct .btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sbm-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 14px}
.sbm-acct{display:inline-flex;align-items:center;gap:6px;margin-right:auto;color:var(--muted);font-size:.8rem}
.sbm-acct a{color:var(--cyan)}
.sbm-acct .sba-av{width:20px;height:20px;font-size:.7rem}
@media (max-width:560px){.sba-who{flex-basis:calc(100% - 40px)}}

.sbm-single .sbm-near,.sbm-single .sbm-list,.sbm-single .sbm-form{display:none} /* a tapped registration: just its card, not the nearby list */

/* swapping stickers (sticker.js, /book): the collectors list, a collector's book, requests */
.stk-swapped{margin:2px 0 0;font-size:.72rem;color:var(--cyan)}
.sb-swapsec{margin:26px 0 8px;padding-top:16px;border-top:1px solid var(--line)}
.sb-swapsec h2{margin:0 0 6px;font-family:var(--display);font-weight:600;font-size:1.3rem;letter-spacing:.05em;text-transform:uppercase;color:var(--amber)}
.sbs-note{color:#ffd27a}
.sbs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.sbs-bar .btn[aria-pressed="true"]{color:#120c00;background:var(--amber);border-color:var(--amber)}
.sbs-badge{font-style:normal;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--cyan);color:#06222c;font-size:.72rem}
.sbs-me{margin-left:auto;font-family:var(--mono);font-size:.74rem;color:var(--muted)}
.sbs-status{margin:4px 0 8px}
.sbs-users{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--line);border-radius:6px}
.sbs-users li+li{border-top:1px solid var(--line)}
.sbs-who{margin:14px 0 6px;font-family:var(--display);font-weight:600;letter-spacing:.04em;color:var(--text)}
.sbs-grid{margin-top:10px}
.sbs-ask{margin-top:8px;width:100%}
.sbs-ask:disabled{opacity:.55;cursor:default}
.sbs-join{max-width:460px;margin-top:10px}
.sbs-consent{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;font-weight:400}
.sbs textarea{display:block;width:100%;box-sizing:border-box}
.sbs-list{margin:6px 0 10px}
.sbs-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:8px 12px;cursor:pointer}
.sbs-row:hover{background:var(--panel2)}
.sbs-row input{flex:none;width:18px;height:18px;accent-color:var(--amber)}
.sbs-row:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:-2px}
.sbs-got{opacity:.6;cursor:default}
.sbs-why{margin-left:auto}
.sbs-gap{margin-top:12px}
.sbs-mini{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.sbs-rar{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;border-radius:3px}
.sbs-shiny{color:#0a1a22;background:var(--cyan)}
.sbs-legendary{color:#120c00;background:var(--amber)}
.sbs-req{margin:0 0 12px;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:6px}
.sbs-req .sbs-mini{display:flex;margin:2px 0}
.sbs-reqt{margin:0 0 6px;font-size:.9rem}
.sbs-state{margin:8px 0 0;font-size:.8rem;color:var(--muted)}
.sbs-accepted{color:var(--green)}
.sbs .btn:disabled{opacity:.5;cursor:default}
.sb-swapsec input:not([type="checkbox"]){flex:1;min-width:0;padding:8px 10px;color:var(--text);background:var(--bg2);border:1px solid var(--line2);border-radius:4px;font:inherit}
.sb-swapsec input:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.sb-swapsec .sbm-form{display:grid;gap:6px;margin:10px 0}
.sb-swapsec .sbm-row{display:flex;gap:8px;margin:8px 0}
.sbs-owner{margin:2px 0 0;font-size:.74rem;color:var(--cyan)}
.sbs-found{margin-top:10px}
.sbs-wants{margin:2px 0 0;font-size:.74rem;color:#ffd27a}
.sbs-straight{border-color:var(--amber);color:#ffd27a}
.sbs-minerow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:9px 12px}
.sbs-minebtns{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}
.sbs-minebtns .btn{padding:3px 10px;font-size:.78rem}

/* collections (albums) on /book */
.stk-coll{margin:2px 0 0;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#ffd27a}
.sb-albums{margin:0 0 18px}
.sb-albums h2{margin:0 0 4px;font-size:1.1rem}
.sbal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;list-style:none;margin:10px 0 0;padding:0}
.sbal-tile{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;padding:11px 12px;text-align:left;color:inherit;font:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer}
.sbal-tile:hover{border-color:var(--amber)}
.sbal-tile:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sbal-legendary{border-color:#8a6a24;background:linear-gradient(160deg,var(--panel),rgba(230,169,58,.12))}
.sbal-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sbal-top b{font-size:.95rem}
.sbal-n{font-family:var(--mono);font-size:.7rem;color:var(--amber);white-space:nowrap}
.sbal-blurb{font-size:.78rem;color:var(--muted);line-height:1.35}
.sbal-bar{display:block;height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:auto}
.sbal-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--amber))}
.sbal-tile.done{border-color:#e8b545;box-shadow:0 0 0 1px rgba(255,200,80,.3)}
.sbal-tile.done .sbal-n{color:#120c00;background:linear-gradient(90deg,#fff0b3,#e6a93a,#fff3c4);padding:1px 6px;border-radius:3px}
.sbal-slots{display:grid;gap:6px;list-style:none;margin:10px 0 0;padding:0;max-height:55vh;overflow:auto}
.sbal-slot{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:7px 10px;border:1px dashed var(--line2);border-radius:6px;color:var(--muted)}
.sbal-slot.have{border-style:solid;border-color:#2c6b45;color:inherit;background:rgba(61,220,132,.07)}
.sbal-slot .sbal-tick{color:var(--green)}
.sbal-what{font-size:.8rem;overflow:hidden;text-overflow:ellipsis}
@media (max-width:600px){.sbal-slot{grid-template-columns:auto 1fr auto}.sbal-what{grid-column:2 / -1}}

/* challenges, set complete, sharing, leaderboard, collector pages (sticker-plus.js) */
.sb-plus,.sb-board,.sb-collector{margin:0 0 22px}
.sb-plus h2,.sb-board h2,.sb-collector h2{margin:0 0 4px;font-size:1.1rem}
.sb-plus h3{margin:14px 0 6px;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.plus-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px}
.plus-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-family:var(--mono);font-size:.7rem}
.plus-streak,.plus-best{padding:3px 9px;border:1px solid var(--line2);border-radius:999px;color:var(--muted)}
.plus-streak.on{color:#120c00;background:var(--amber);border-color:var(--amber);font-weight:600}
.plus-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.plus-list li{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;padding:9px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.plus-list li.done{border-color:var(--green)}
.plus-tick{color:var(--green)}
.plus-n{font-family:var(--mono);font-size:.7rem;color:var(--muted)}
.plus-bar{grid-column:1/-1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.plus-bar i{display:block;height:100%;background:var(--amber)}
.plus-list li.done .plus-bar i{background:var(--green)}
.plus-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px;font-size:.84rem}
.plus-badge{padding:3px 10px;border:1px solid #7fd8ff;border-radius:999px;background:rgba(127,216,255,.1);color:#cfeeff;font:inherit;font-size:.74rem;cursor:pointer}
.plus-badge.plus-legendary{border-color:#e8b545;background:rgba(232,181,69,.14);color:#ffe2a0}
.plus-hint{font-size:.76rem}
.setwrap{display:grid;gap:8px;justify-items:start;margin:0 0 14px}
.setcard{width:min(240px,100%)}
.setcard-pic{display:flex;align-items:center;justify-content:center;min-height:110px}
.setcard-star{font-size:3.4rem;color:#ffd27a;text-shadow:0 0 18px rgba(255,200,80,.6)}
.stk-rs{margin:2px 0 0;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#c77dff}
.sbal-wish{margin-left:6px;padding:0 8px;line-height:1.6}
.sbal-watchrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;font-size:.8rem}
.sbshare{width:min(620px,calc(100vw - 24px))}
.share-cv{display:block;width:100%;max-height:60vh;object-fit:contain;margin:10px 0;border-radius:10px;background:#060a11}
.sbshare .sbm-next{flex-wrap:wrap;align-items:center}
.sbshare-cap{flex-basis:100%;font-size:.76rem}
.sb-share{margin:6px 0 0}
.sbs-page{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;font-size:.84rem}
.sbs-page a,.board-name{color:var(--cyan)}
.sbs-hist{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:.8rem;color:var(--muted)}
.board-list{list-style:none;margin:10px 0 0;padding:0;counter-reset:b;display:grid;gap:6px}
.board-list li{counter-increment:b;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:8px 12px;align-items:center;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.board-list li::before{content:counter(b);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#16233a;color:var(--amber);font:600 .9rem var(--mono)}
.board-list li:first-child{border-color:rgba(255,178,36,.5)}.board-list li:first-child::before{background:var(--amber);color:#1a1000}
.board-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:1.05rem;text-decoration:none}
.board-name:hover,.board-name:focus-visible{text-decoration:underline}
.board-stats{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.bst{display:flex;flex-direction:column;padding:6px 8px;background:#0a111b;border:1px solid var(--line);border-radius:8px}
.bst b{font:600 1.1rem var(--mono);color:var(--text);line-height:1.1}
.bst i{font-style:normal;font-size:.68rem;color:var(--muted);letter-spacing:.04em}
@media (min-width:700px){.board-list li{grid-template-columns:2rem minmax(0,1fr) minmax(0,26rem)}.board-stats{grid-column:3}}
/* Spotted now (app.js): special liveries and rare aircraft near live streams */
.spotnow{margin:0 0 14px}
.spotnow h2{margin:0 0 6px;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#c77dff}
.spotnow ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.spotnow button{display:flex;align-items:center;gap:7px;padding:5px 10px;background:var(--panel);border:1px solid #c77dff;border-radius:999px;color:var(--text);font:inherit;font-size:.8rem;cursor:pointer}
.spotnow button:hover{background:#1a0c2c}
.spotnow button b{padding:1px 5px;border-radius:2px;background:#c77dff;color:#16052a;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase}
.spotnow button.wish{border-color:var(--amber);box-shadow:0 0 0 1px rgba(255,178,36,.4)}
.spotnow button.wish b{background:var(--amber);color:#120c00}
.arrreg.wish{box-shadow:0 0 0 1px var(--amber);border-radius:3px}

.sb-tap{cursor:pointer;transition:border-color .15s,background .15s}.sb-tap:hover,.sb-tap:focus-visible{border-color:var(--amber);outline:none}.sb-tap.on{border-color:var(--amber);background:rgba(255,176,32,.1)}
.sb-view{margin-top:16px}.sb-view>div>.btn{margin:14px 0}.sb-hist{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.sb-hist li{padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.spotnow .spothead{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:7px 10px;background:var(--panel);border:1px solid #c77dff;border-radius:6px;cursor:pointer;color:#c77dff;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;text-align:left}
.spotnow .spothead span{flex:1}.spotnow .spothead em{font-style:normal;padding:0 6px;border-radius:999px;background:#c77dff;color:#16052a}.spotnow .spothead i{font-style:normal;font-size:1rem;line-height:1}
.spotnow .spothead+ul{margin-top:8px}
.sbd-swap{margin:12px 0 4px}.sbd-swaprow{display:flex;gap:8px;margin-top:8px}.sbd-swapbtn{border-color:var(--amber);color:var(--amber)}
.spotnow button.need{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(56,210,255,.35)}.spotnow button.need b{background:var(--cyan);color:#021018}

/* Spotted now: each pill is a list item holding the button (plays the stream) and the airport code (opens its page) */
.spotnow li{display:flex;align-items:center;background:var(--panel);border:1px solid #c77dff;border-radius:999px}
.spotnow li.wish{border-color:var(--amber);box-shadow:0 0 0 1px rgba(255,178,36,.4)}
.spotnow li.need{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(56,210,255,.35)}
.spotnow li button{border:0!important;background:none;box-shadow:none!important;border-radius:999px 0 0 999px}
.spotnow li:hover{background:#1a0c2c}
.spotnow li button:hover{background:none}
.spotnow li .spotap{padding:5px 11px 5px 8px;margin-left:-4px;border-left:1px solid var(--line2);color:var(--cyan);font-size:.8rem;text-decoration:none;text-underline-offset:3px}
.spotnow li .spotap:hover,.spotnow li .spotap:focus-visible{text-decoration:underline;outline:none}

/* friends: follow buttons and the "Collectors you follow" panel */
.sb-follow-wrap{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.sb-follow{padding:6px 14px;min-height:34px}
.sb-follow.on{border-color:var(--cyan);color:var(--cyan)}
.sb-follow-msg{font-size:.85rem}
#sbcollector>.sb-follow-wrap{margin:0 0 12px}
.board-list li>.sb-follow-wrap{grid-column:2/-1;justify-self:start}
.fr-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.fr-list>li{padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.fr-top{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin-bottom:8px}
.fr-top .fr-sum{flex:1 1 auto;min-width:0;font-size:.85rem}
.fr-latest{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fr-latest li{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;font-size:.92rem}
.fr-latest .sbm-bits{flex:1 1 8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-day{font-size:.8rem;margin-left:auto}

/* turn a sticker over: the bottom-right corner shows the aircraft's details on the back */
.stk-flip{position:absolute;right:0;bottom:0;z-index:5;width:40px;height:40px;padding:0;border:0;background:none;cursor:pointer;color:var(--text,#e8eefc)}
.stk-flip::before{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;background:linear-gradient(315deg,rgba(255,255,255,.28) 50%,transparent 50%);border-radius:10px 0 0 0;transition:width .15s,height .15s}
.stk-flip:hover::before,.stk-flip:focus-visible::before{width:32px;height:32px;background:linear-gradient(315deg,rgba(125,211,252,.55) 50%,transparent 50%)}
.stk-flip span{position:absolute;right:3px;bottom:1px;font-size:.8rem;line-height:1}
.stk-flip:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:10px}
.stk-back{display:none;position:absolute;inset:0;z-index:4;overflow:auto;padding:12px 14px 34px;background:linear-gradient(180deg,var(--panel2),var(--panel))}
.stk.flipped .stk-back{display:block}
.stk.flipped>.stk-pic,.stk.flipped>.stk-info,.stk.flipped>.stk-foil,.stk.flipped>.stk-badge{visibility:hidden}
.stk-back .stk-reg{margin:0 0 6px}
.stk-back dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;font-size:.8rem;line-height:1.3}
.stk-back dt{color:var(--muted);white-space:nowrap}
.stk-back dd{margin:0;overflow-wrap:anywhere}
.stk-big .stk-back dl{font-size:.92rem}
.stk:not(.stk-big) .stk-back{padding:9px 11px 32px}
.stk:not(.stk-big) .stk-back dl{font-size:.74rem;gap:2px 8px}
.stk-bk-note{margin:8px 0 0;font-size:.74rem;line-height:1.35;color:var(--muted);font-style:italic}
.stk-big .stk-bk-note{font-size:.88rem}
.stk-back{scrollbar-width:thin}
.sbs-match{margin:4px 0 0;font-size:.74rem;font-weight:600;color:var(--cyan)}
.sbs-match-mutual{color:#7ee787}
.sbs-match-wish{color:var(--amber)}

/* collector badges */
.bd-list{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px;padding:0}
.bd{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--line2);background:#101a2c;color:var(--text)}
.bd-0{color:#d9a679;border-color:rgba(217,166,121,.55)}
.bd-1{color:#c4cfdd;border-color:rgba(196,207,221,.55)}
.bd-2{color:#ffd27a;border-color:rgba(255,210,122,.6)}
.bd-3{color:#7dd3fc;border-color:rgba(125,211,252,.6)}
.bd-4{color:#d8a8ff;border-color:rgba(216,168,255,.65)}
.bd-max{background:linear-gradient(90deg,rgba(255,210,122,.18),rgba(216,168,255,.18))}
.board-list li>.bd-list{grid-column:2/-1;margin:0}
.sb-plus .al-toggle.on{border-color:var(--cyan);color:var(--cyan)}

/* My spotting map */
.sb-map{margin:28px 0}.sb-map h2{margin:0 0 6px}
.sm-view{border:1px solid var(--line2,#2a3d5b);border-radius:10px;overflow:hidden;background:#04060b}
.sm-cv{display:block;width:100%;height:auto;aspect-ratio:1200/720}
.sm-chips{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sm-chips li{padding:3px 9px;border:1px solid var(--line2,#2a3d5b);border-radius:999px;font-size:.8rem}
.sm-chips b{color:var(--amber,#ffb224);font-weight:600}
.sm-bar{display:flex;gap:8px;flex-wrap:wrap}.sm-bar [hidden]{display:none}

/* The round 'Spotted' stamp pressed onto a new sticker's picture (sticker.js stampOnCard). The tilt (--rot) is random per add, within 16 degrees of upright. */
.stk-wrap{position:relative;margin-top:8px}
.stk-stamp{position:absolute;top:-16px;right:-18px;z-index:4;width:108px;height:90px;display:grid;place-content:center;text-align:center;pointer-events:none;opacity:0;
  background:#fffdf5;color:#0d2a6b;border:3px double #0d2a6b;border-radius:10px;box-shadow:0 6px 14px rgba(0,0,0,.45);
  font-family:"Courier New",var(--mono),monospace;line-height:1.1;--rot:-9deg} /* passport entry stamp: solid, so it reads on any photo */
.stk-stamp i{display:block;font-style:normal;font-size:.52rem;letter-spacing:.18em;font-weight:700;padding-left:.18em}
.stk-stamp u{display:block;text-decoration:none;font-size:1rem;line-height:1.1}
.stk-stamp b{display:block;font-size:1.05rem;letter-spacing:.07em;font-weight:900;padding-left:.07em;margin:1px 0}
.stk-stamp small{display:block;font-size:.58rem;font-weight:700;letter-spacing:.04em}
.sbm-done .stk-stamp{animation:stkstamp .55s .55s cubic-bezier(.3,0,.2,1) both}
@keyframes stkstamp{
  0%{opacity:0;transform:translate(14px,-18px) rotate(calc(var(--rot) - 10deg)) scale(2.6)}
  55%{opacity:1;transform:rotate(var(--rot)) scale(1)}
  68%{opacity:1;transform:rotate(var(--rot)) scale(.9)}
  100%{opacity:1;transform:rotate(var(--rot)) scale(1)}}
.sbm-result.stamped{animation:stkshake .38s .85s cubic-bezier(.36,.07,.19,.97) both}
@keyframes stkshake{10%,90%{transform:translate(-1px,1px) rotate(-.4deg)}20%,80%{transform:translate(2px,-1px) rotate(.6deg)}30%,50%,70%{transform:translate(-3px,1px) rotate(-1deg)}40%,60%{transform:translate(3px,0) rotate(1deg)}}
@media (prefers-reduced-motion:reduce){.sbm-done .stk-stamp{animation:none;opacity:1;transform:rotate(var(--rot))}.sbm-result.stamped{animation:none}}

/* Stripey cards (Condor's Sunshine / Sea / Island / Beach / Passion stripes and its specials): bold stripes run all the way down the details, the writing sits on dark labels so it stays easy to read.
   --st and --st2 are set by sticker.js stripeFor(). */
.stk-striped{border-color:var(--st);border-width:2px}
.stk-band{display:none}
.stk-striped .stk-info{background:repeating-linear-gradient(100deg,var(--st) 0 24px,var(--st2) 24px 48px)} /* just the aircraft's two colours, in even stripes */
.stk-striped .stk-info>*{width:fit-content;max-width:100%;box-sizing:border-box;padding:1px 7px;border-radius:3px;background:rgba(8,12,22,.78);color:#fff}
.stk-striped .stk-info>.stk-reg{color:#ffd27a}
.stk-striped .stk-info>.stk-liv,.stk-striped .stk-info>.stk-coll{color:#fff}
.stk-striped .stk-info>*+*{margin-top:3px}


/* the redesigned Sticker Book: stats as chips, a one-line summary of today, tabs, and a search row (book.php, sticker.js) */
.sb-stats{display:inline-flex;vertical-align:top;margin-right:8px}
.sb-streakchip{display:inline-block;vertical-align:top;margin:0 8px 12px 0;padding:6px 14px;border:1px solid var(--amber);border-radius:999px;color:var(--amber);font-size:.85rem}
.sb-streakchip[hidden],.sb-today[hidden],.sb-tabnote[hidden]{display:none}
.sb-today{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);font-size:.9rem}
.sb-today.done{border-color:#1f5a3b;background:linear-gradient(90deg,#10261c,var(--panel));color:var(--green)}
.sb-today .sbt-go{margin-left:auto}
.sb-tabs{position:sticky;top:0;z-index:6;display:flex;gap:4px;margin:0 0 14px;padding:6px 0 0;background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.sb-tabs::-webkit-scrollbar{display:none}
.sb-tab{flex:none;display:flex;align-items:baseline;gap:6px;padding:10px 16px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.sb-tab small{font-size:.78rem;color:var(--amber)}
.sb-tab small:empty{display:none}
.sb-tab[aria-selected="true"]{background:var(--panel2);border-color:var(--line2);color:var(--text);box-shadow:inset 0 -3px 0 var(--amber)}
.sb-tab:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.sb-search{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--text);font:inherit}
.sb-search:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sb-tabnote{margin:0 0 14px}
body[data-sbtab="stickers"] :is(.sb-albums,.sb-plus,#sbmap,#sbswapsec,#sbboard,#sbfriends){display:none!important}
body[data-sbtab="collections"] :is(.sb-tools,#sbempty,#sbgrid,#sbpager,.sb-plus,#sbmap,#sbswapsec,#sbboard,#sbfriends){display:none!important}
body[data-sbtab="challenges"] :is(.sb-tools,#sbempty,#sbgrid,#sbpager,.sb-albums,#sbmap,#sbswapsec,#sbboard,#sbfriends){display:none!important}
body[data-sbtab="swaps"] :is(.sb-tools,#sbempty,#sbgrid,#sbpager,.sb-albums,.sb-plus,#sbmap){display:none!important}
body[data-sbtab="map"] :is(.sb-tools,#sbempty,#sbgrid,#sbpager,.sb-albums,.sb-plus,#sbswapsec,#sbboard,#sbfriends){display:none!important}
@media (max-width:600px){.sb-tab{padding:9px 12px}.sb-today .sbt-go{margin-left:0}.sb-tools .sb-filter{flex-wrap:wrap}}
body:has(#sbbook) .ap-head{margin-bottom:12px}
body:has(#sbbook) .ap-head .ab-lead{font-size:1rem;margin:6px 0 4px}

/* deleting an account: save a copy, then type DELETE to switch the button on (sticker.js) */
.sba-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.sba-confirm>p{flex:1 0 100%;margin:0}
.sba-type{flex:1 0 100%;display:grid;gap:4px;font-size:.84rem;color:var(--muted)}
.sba-type input{padding:9px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;letter-spacing:.12em;text-transform:uppercase}
.sba-type input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sba-copied{font-size:.8rem;color:var(--green)}
.sba-confirm .btn{margin-left:0!important}
.sba-confirm .btn:disabled{opacity:.45;cursor:not-allowed}

.stk-sky,.stk-skys{font-size:.72rem!important}.stk-sky{color:var(--cyan);margin-top:2px}.stk-skys{color:var(--muted);font-family:var(--mono)}
