/* Reserve the first viewport while the module loads: the server FAQ belongs below the app.
   Mounting replaces this shell synchronously, without a scroll reset or a hidden FAQ. */
.ob-loading{min-height:100vh;min-height:100svh;box-sizing:border-box;display:grid;place-items:start center;padding-top:15vh;overflow-anchor:none}
.ob-loading h1{font:clamp(3rem,12vw,8rem)/1 var(--font-display,Impact,sans-serif);margin:0}
/* Shared festival shell; preserve Outbid's component typography beneath global site defaults. */
.ob-site-shell{background:var(--ink,#080808);color:var(--paper,#fff8ee)}
:where(.outbid-page main,.outbid-page .outbid-dialog) p{font-size:1em;line-height:inherit;max-width:none;margin:1em 0}
:where(.outbid-page main,.outbid-page .outbid-dialog) h1,:where(.outbid-page main,.outbid-page .outbid-dialog) h2,:where(.outbid-page main,.outbid-page .outbid-dialog) h3{font-family:inherit;letter-spacing:normal;line-height:inherit}
:where(.outbid-page main,.outbid-page .outbid-dialog) h2{font-size:1.5em;margin:.83em 0}
:where(.outbid-page main,.outbid-page .outbid-dialog) h3{font-size:1.17em;margin:1em 0}
/* Outbid owns its page and account block; shared account styles stay untouched. */
.outbid-page,.account-outbid,.outbid-dialog{--ob-paper:var(--colour-paper,#fff8ee);--ob-ink:#29281f;--ob-olive:var(--colour-olive,#4c5229);--ob-berry:var(--colour-berry,#5b1f33);--ob-line:#c7bda9;font-family:var(--font-body,Arial,sans-serif);color:var(--ob-ink);line-height:1.55;overflow-wrap:anywhere}
.outbid-page{margin:0;background:var(--ob-paper)}
.outbid-page *,.account-outbid *,.outbid-dialog *{box-sizing:border-box}
.outbid-page [hidden],.account-outbid [hidden],.outbid-dialog [hidden]{display:none!important}
.outbid-page a,.account-outbid a,.outbid-dialog a{color:inherit;text-underline-offset:4px}
.outbid-page button,.account-outbid button,.outbid-dialog button,.outbid-dialog input,.account-outbid input{font:inherit}
.outbid-page button,.account-outbid button,.outbid-dialog button{cursor:pointer}
.outbid-page :focus-visible,.account-outbid :focus-visible,.outbid-dialog :focus-visible{outline:3px solid #2477ad;outline-offset:4px}
.ob-wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}
/* Session 122: compact rules and prize rows use the existing festival card rhythm. */
.ob-how-summary p{margin:0 0 12px}
.ob-all-rules{border-top:1px solid var(--ob-line);margin-top:12px}
.ob-all-rules>summary{min-height:44px;padding-block:10px;color:var(--ob-olive);font-weight:700;cursor:pointer}
.ob-all-rules>section{margin-top:20px}
.ob-all-rules h3{margin:0 0 8px}
.ob-all-rules p{margin:0 0 10px}
.ob-prize-eligibility p{margin:0 0 10px}
.ob-merch-prize{padding:14px 0;border-bottom:1px solid var(--ob-line)}
.ob-merch-prize p{margin:0;font-size:16px;line-height:1.55}
#ob-prizes>.ob-merch-prize{margin-top:14px;width:100%;padding:14px 0;border:0;border-top:1px solid var(--ob-line);border-bottom:1px solid var(--ob-line);border-radius:0;background:transparent}
.ob-monthly-prizes{margin-top:16px;border-top:1px solid var(--ob-line);padding-top:12px}
.ob-monthly-prizes p{margin:0 0 10px;font-size:16px;line-height:1.55}
.ob-winners-link{margin:12px 0;font-weight:700}
/* Winner history shares the live can and consent-aware gang characters. */
.ob-history{padding-top:32px;padding-bottom:24px}
.ob-history-nav{display:flex;gap:20px;margin-left:auto}
.ob-history-nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:700;font-size:16px}
.ob-history-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.ob-history-heading h1{margin:0;font:900 clamp(32px,5vw,58px)/1.1 var(--font-display,Impact,sans-serif);text-transform:uppercase;letter-spacing:-.025em}
.ob-history-heading>a{min-height:44px;display:inline-flex;align-items:center;font-weight:700;font-size:16px}
.ob-history-empty{padding:24px;border:1px solid var(--ob-line);border-radius:10px;background:#fffdf8;font-size:18px}
.ob-history-month{margin-bottom:32px}
.ob-history-month>h2,.ob-history-overall h2{margin:0 0 16px;font-size:26px;font-weight:800;line-height:1.25}
.ob-history-prizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ob-history-prize{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;border:1px solid var(--ob-line);border-radius:10px;background:#fffdf8}
.ob-history-prize h3{margin:0 0 16px;font-size:20px;line-height:1.3}
.ob-history-prize p{margin:8px 0 0;font-size:16px;line-height:1.5}
.ob-history-prize .ob-history-name{font-size:24px;font-weight:800;line-height:1.25}
.ob-history-can{width:100%;display:flex;justify-content:center}
.ob-history-can .ob-live-can{width:min(100%,260px);margin:0;height:310px}
.ob-history-validity{margin:10px 0 0;font-size:14px;color:#60584f}
.ob-history-gang .ob-gang-members{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.ob-history-gang .ob-gang-character{height:160px}
.ob-history-gang .ob-gang-member{min-width:0;margin:0}
.ob-history-gang .ob-gang-member figcaption{font-size:16px}
.ob-history-overall{padding-top:24px;border-top:1px solid var(--ob-line)}
.ob-history-overall ol{padding-left:28px;margin:0}
.ob-history-overall li{padding:12px 0;border-bottom:1px solid var(--ob-line);font-size:18px}
.ob-history-overall li span{display:block;font-size:16px}
@media(max-width:760px){
  .outbid-winners-page .festival-header{flex-wrap:wrap;gap:8px 12px;padding-block:14px}
  .ob-history-nav{order:4;width:100%;margin:0;gap:24px}
  .ob-history{padding-top:24px}
  .ob-history-heading{gap:6px;margin-bottom:20px}
  .ob-history-prizes{grid-template-columns:minmax(0,1fr);gap:12px}
  .ob-history-prize{padding:20px}
  .ob-history-can .ob-live-can{height:280px}
  .ob-history-gang .ob-gang-character{height:145px}
}
.ob-header{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:94px;border-bottom:1px solid var(--ob-line)}
.ob-logo{display:inline-flex;align-items:center;flex:none;min-height:44px;color:var(--ob-berry)!important;text-decoration:none;font:900 34px/1 var(--font-display,Impact,sans-serif);letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;overflow-wrap:normal}
.ob-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.ob-nav a,.ob-footer a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:700}
.ob-skip{position:absolute;top:10px;left:12px;z-index:40;padding:10px 16px;border:2px solid var(--ob-olive);border-radius:999px;background:var(--ob-paper);color:var(--ob-ink)!important;font-weight:700;text-decoration:none;box-shadow:0 4px 14px #29281f33}
.ob-skip:not(:focus){width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;box-shadow:none}
.ob-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:34px;row-gap:30px;align-items:center;padding-block:48px 36px}.ob-hero-copy{align-self:end;min-width:0}
.ob-eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin:0 0 16px}
.ob-hero h1{font:900 clamp(50px,6.5vw,84px)/.98 var(--font-display,Impact,sans-serif);letter-spacing:-.035em;margin:0 0 20px;text-transform:uppercase;max-width:12ch}
.ob-hero h1 span{color:var(--ob-berry)}
.ob-intro{font-size:18px;max-width:42ch;margin:0 0 20px}
.ob-countdown{align-self:start;max-width:390px;padding:22px 0 0;border-top:1px solid var(--ob-line);text-align:left}
.ob-countdown .ob-eyebrow{margin-bottom:20px}
.ob-countdown .flip-clock{--flap-height:32px;display:block}
.ob-countdown .flip-clock__face{gap:12px;justify-content:flex-start}.ob-countdown .flip-clock__label{font-size:12px;margin-top:8px;letter-spacing:.02em}
.ob-countdown .flip-clock--last-day .flip-clock__group:nth-child(n+3){display:flex}
.ob-countdown .ob-deadline{font-size:14px;line-height:1.6;margin:16px 0 0}
.ob-deadline span{display:block}.ob-state{font-weight:700;font-size:14px;color:var(--ob-olive);margin:10px 0 0;padding-top:0;border-top:0}
.ob-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ob-actions>a{display:inline-flex;align-items:center;min-height:44px}
.ob-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--ob-olive);border-radius:7px;background:var(--ob-olive);color:var(--ob-paper)!important;font-weight:700;text-decoration:none;text-align:center}
.ob-button.ob-secondary{background:transparent;color:var(--ob-olive)!important}.ob-button:disabled{opacity:.55;cursor:wait}
.ob-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:36px;align-items:start;padding-block:52px 60px;min-width:0}.ob-layout>*{min-width:0}
.ob-section-title{font:700 clamp(26px,3vw,36px)/1.15 var(--font-body);letter-spacing:-.025em;margin:0 0 12px}
.ob-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}
.ob-list-heading p{font-size:14px;margin:0}.ob-list-note{font-size:14px;margin:0 0 20px}
.ob-you{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:18px;margin:0 0 22px;background:#e8e9d8;border-left:4px solid var(--ob-olive);border-radius:2px}
.ob-you p{margin:0}.ob-you strong{display:block}.ob-you .ob-button{flex-shrink:0;font-size:14px}
.ob-column-labels{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:0 16px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;border-bottom:2px solid var(--ob-ink)}
.ob-list{list-style:none;margin:0;padding:0}.ob-row{position:relative;border-bottom:1px solid var(--ob-line)}
.ob-row-control{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:16px;border:0;background:transparent;color:inherit;text-align:left;min-height:64px}
button.ob-row-control:hover{background:#ede7db}.ob-row.is-you{box-shadow:inset 4px 0 var(--ob-olive);background:#e8e9d8}
.ob-place{font:900 29px/1 var(--font-display,Impact,sans-serif);font-variant-numeric:tabular-nums;color:var(--ob-olive);white-space:nowrap;overflow-wrap:normal}
.ob-row-copy{min-width:0}.ob-name{display:block;font-weight:700;font-size:17px}.ob-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
.ob-badge{font-size:12px;border:1px solid #9c967f;border-radius:3px;padding:1px 5px;font-weight:400}
.ob-points{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-size:20px;white-space:nowrap}
.ob-movement{display:block;font-size:12px;font-weight:400;min-height:19px}.ob-movement.up{color:#3c521d}.ob-movement.down{color:var(--ob-berry)}
.ob-prize-line{display:block;margin-top:6px;font-size:14px;line-height:1.4;font-weight:400}.ob-row.is-top .ob-place{color:var(--ob-berry)}
.ob-row.is-first{background:var(--ob-berry);color:var(--ob-paper);border-color:var(--ob-berry)}
.ob-row.is-first .ob-place,.ob-row.is-first .ob-movement{color:var(--ob-paper)}.ob-row.is-first button:hover{background:#6a2d42}.ob-row.is-first .ob-badge{border-color:#c3a4ad}
.ob-open{color:#655e50}.ob-divider{padding:22px 16px 10px;font-size:14px;font-weight:700;border-bottom:1px solid var(--ob-line)}
.ob-more{width:100%;margin-top:20px}.ob-feedback{font-size:14px;min-height:22px;margin:12px 0}.ob-error{color:var(--ob-berry);font-weight:700}
.ob-prizes{width:100%;max-width:100%;min-width:0;padding:26px;background:#eeeedf;border:1px solid #d0d2b9;border-radius:16px}
.ob-prizes>p{font-size:16px}.ob-prize{border-top:1px solid var(--ob-line);padding:16px 0}.ob-prize:last-child{padding-bottom:0}
.ob-prize summary{display:flex;gap:12px;align-items:center;min-height:44px;cursor:pointer;list-style:none;font-weight:700}.ob-prize summary::after{content:'+';margin-left:auto;font-size:22px}.ob-prize[open] summary::after{content:'−'}
.ob-prize summary::-webkit-details-marker{display:none}.ob-prize-number{color:var(--ob-berry);font:900 28px var(--font-display)}.ob-prize ul{padding-left:22px;font-size:16px;margin-bottom:0}.ob-prize li+li{margin-top:5px}
.ob-how{border-top:2px solid var(--ob-ink);padding-block:32px 48px}.ob-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:28px 0}.ob-steps h3{font-size:18px;margin:0 0 10px}.ob-steps p{margin:0;font-size:16px}.ob-tip{padding:20px;background:#e8e9d8;max-width:80ch}
.ob-footer{border-top:1px solid var(--ob-line);padding-block:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ob-music-section{display:flex;align-items:center;gap:18px;margin-top:22px;padding:22px;background:var(--ob-berry);color:var(--ob-paper);border-radius:14px}.ob-music-section>div{min-width:0}.ob-music-section .ob-eyebrow{margin-bottom:6px;letter-spacing:.07em}.ob-music-section #ob-music-note{margin:6px 0 0}.ob-record{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;background:repeating-radial-gradient(circle,#392028 0 3px,#6e3b4c 4px 5px);border:1px solid #885467}.ob-record>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6bc64;color:var(--ob-berry);font-size:18px}.ob-music-section h3{font-size:18px;margin:0}.ob-music-section p{font-size:14px}
/* The band (feature-research/outbid-wall/preview-fix.md): the Suno video's illustrated band, as on the festival home page. The poster shows at once; music-player.js plays the looping video only while the song plays, and never loads it under reduced motion. While the player is live the art replaces the record, so it gets the card's full width. */
.ob-music-section:has(.ob-music:not([hidden])) .ob-record{display:none}.ob-music-section>div{flex:1 1 auto}.ob-music:not([hidden]){display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;margin-top:14px;min-width:0}.ob-music .music-art{grid-column:1/-1;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:12px;background:#fffdf6;border:1px solid #885467;box-shadow:0 10px 28px #20141b40}.ob-music .music-art video{display:block;width:100%;height:100%;object-fit:cover}.ob-music .music-controls{display:flex;gap:10px}.ob-music button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--ob-olive);border-radius:50%;color:var(--ob-paper);background:var(--ob-olive)}.ob-music svg{width:20px;height:20px;fill:currentColor}.ob-music button:disabled{opacity:.4}.ob-music .music-status{font-size:14px}.ob-music .music-pause-visible{position:fixed;bottom:16px;right:16px;z-index:20}
.outbid-dialog{width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:28px;border:1px solid var(--ob-line);border-radius:18px;background:var(--ob-paper);overflow-y:auto}
.outbid-dialog::backdrop{background:#20141bd9}.ob-dialog-top{display:flex;gap:16px;justify-content:space-between;align-items:start}.ob-dialog-top h2{font-size:27px;line-height:1.2;margin:4px 0 20px}.ob-close{min-width:44px;min-height:44px;border:1px solid var(--ob-line);background:none;border-radius:50%;font-size:24px!important;flex:none}
.ob-field{display:block;font-weight:700}.ob-field input{display:block;min-height:48px;width:100%;padding:10px 14px;background:#fffdf8;border:1px solid #827962;border-radius:3px;margin-top:8px;color:var(--ob-ink)}
.ob-amount-help{font-size:14px;margin:8px 0 20px}.ob-presets{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.ob-preset{min-height:44px;padding:8px 12px;background:#e8e9d8;border:1px solid #929679;border-radius:3px;color:var(--ob-ink);font-size:14px!important}.ob-preset strong{display:block}
.ob-warning{padding:16px;background:#ece3dc;border-left:3px solid var(--ob-berry);font-size:15px}.ob-check{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:10px 0;font-size:15px}.ob-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--ob-olive)}
.ob-submit{width:100%;margin-top:16px}.ob-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.account-outbid{border:1px solid var(--ob-line);border-top:6px solid var(--ob-olive);border-radius:16px;padding:26px;margin-block:28px;background:var(--ob-paper)}
.account-outbid h2{font:700 28px var(--font-body);margin:0 0 12px}.account-outbid p{font-size:16px;max-width:65ch;line-height:1.55}.account-outbid .ob-account-stats{display:flex;gap:32px;flex-wrap:wrap;margin:20px 0}.ob-account-stats strong{display:block;font-size:32px;color:var(--ob-olive)}
.account-outbid .ob-account-settings{border-top:1px solid var(--ob-line);padding-top:20px;margin-top:24px;max-width:620px}.account-outbid .ob-field{max-width:400px}.account-outbid summary{min-height:44px;cursor:pointer;align-content:center;font-weight:700}.ob-remove{border-top:1px solid var(--ob-line);margin-top:24px;padding-top:16px}.ob-remove .ob-button{background:var(--ob-berry);border-color:var(--ob-berry)}
/* The fund is a single responsive illustration; its moving liquid stays inside the glass. */
.ob-fund{grid-column:2;grid-row:1 / 3;margin:0;min-width:0;text-align:center}
.ob-fund .ob-eyebrow{margin-bottom:8px;color:var(--ob-olive)}
.ob-raised{margin:0;line-height:1.1}.ob-raised strong{font:900 clamp(42px,4.8vw,64px)/1.1 var(--font-display,Impact,sans-serif);letter-spacing:-.025em;white-space:nowrap}.ob-raised>span{display:block;font-size:16px;margin-top:6px}
.ob-goal{font-size:14px;margin:8px 0 0;color:#595d43}
.ob-tank-stage{width:100%;max-width:490px;margin:-4px auto 0}.ob-tank{display:block;width:100%;height:auto;overflow:visible}
.ob-scale-mark{fill:#444e39;stroke:#58634b;stroke-width:1.5}.ob-scale-mark text{stroke:none;font:700 15px var(--font-body,Arial,sans-serif);font-variant-numeric:tabular-nums}.ob-scale-mark.is-reached{fill:#5b1f33;stroke:#5b1f33}.ob-scale-mark.is-reached circle{r:5px;fill:#ecc061;stroke-width:2}.ob-scale-unit{font:14px var(--font-body,Arial,sans-serif);fill:#444e39}
.ob-bubbles{display:none}.has-beer .ob-bubbles{display:block}.ob-bubble{animation:ob-rise 4s linear infinite}.ob-bubble-1,.ob-bubble-5{animation-delay:-1.2s;animation-duration:3.4s}.ob-bubble-2,.ob-bubble-6{animation-delay:-2.8s;animation-duration:5.2s}.ob-bubble-3,.ob-bubble-7{animation-delay:-3.6s}.ob-bubble-4{animation-delay:-.6s}
@keyframes ob-rise{0%{transform:translateY(80px);opacity:0}20%{opacity:.75}90%{opacity:.5}100%{transform:translateY(-180px);opacity:0}}
.ob-milestones{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:0;margin:0 0 22px;list-style:none;text-align:left;font-size:14px}.ob-milestones li{padding:10px 14px;border:1px solid var(--ob-line);border-radius:8px}.ob-milestones li span{display:block;font-weight:700}.ob-milestones .is-reached{background:#e5e8cb;border-color:var(--ob-olive)}
.ob-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;padding:32px 36px;background:var(--ob-olive);color:var(--ob-paper);border-radius:16px;align-items:center}.ob-story h2{font:900 clamp(30px,3.4vw,43px)/1.1 var(--font-display,Impact,sans-serif);text-transform:uppercase;letter-spacing:-.02em;margin:0}.ob-story .ob-eyebrow{font-size:12px;letter-spacing:.12em;color:#e2e4c5}.ob-story p{font-size:16px;margin:0}.ob-story p+p{margin-top:12px}
.ob-actions .ob-button{gap:26px}.ob-button:hover{filter:brightness(1.08)}
/* DOM and keyboard order remain 1, 2, 3; tier heights create the podium. */
.ob-top-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end}
.ob-top-list>.ob-row{grid-column:span 6;border:1px solid var(--ob-line);border-radius:10px;background:#fffdf7;overflow:hidden}
.ob-top-list>.is-you{box-shadow:inset 4px 0 var(--ob-olive)}
.ob-you{border-radius:10px;background:#e8ead7}.ob-prize-icon{flex:none;width:32px;height:32px;color:var(--ob-olive)}
.ob-pass-prize[open]{padding:16px;margin:16px -10px;background:#fff8ee;border:1px solid #b9bda0;border-radius:9px;position:relative}.ob-pass-prize[open] summary{border-bottom:1px dashed #b9bda0;padding-bottom:14px}.ob-pass-prize[open] ul{margin-top:16px}
.ob-account-stats{padding:18px 22px;background:#e8ead7;border:1px solid #cbd0af;border-radius:10px}.account-outbid .ob-account-stats>div{min-width:100px}.outbid-dialog .ob-eyebrow{color:var(--ob-olive)}
@media(max-width:1000px) and (min-width:761px){.ob-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}}
@media(max-width:760px){
.ob-wrap{width:calc(100% - 32px)}.ob-header{min-height:80px;gap:12px}.ob-logo{font-size:28px}.ob-nav{gap:12px}.ob-nav a{font-size:14px}
.ob-hero{grid-template-columns:1fr;gap:24px;padding-top:30px}.ob-hero-copy{align-self:auto}.ob-hero h1{font-size:clamp(48px,10.5vw,72px);max-width:15ch;margin-bottom:16px}.ob-intro{font-size:17px}.ob-hero .ob-eyebrow{margin-bottom:12px}.ob-fund{grid-column:1;grid-row:2}.ob-raised strong{font-size:48px}.ob-tank-stage{max-width:390px;margin-top:0}.ob-countdown{max-width:none;width:100%;padding:22px 12px 0;text-align:center}.ob-countdown .flip-clock{--flap-height:32px}.ob-countdown .flip-clock__face{justify-content:center}.ob-countdown .ob-deadline{margin-top:14px}
.ob-story{grid-template-columns:1fr;gap:22px;padding:26px 24px}.ob-story h2{font-size:34px}.ob-story .ob-eyebrow{margin-bottom:12px}
.ob-layout{grid-template-columns:1fr;gap:32px;padding-top:36px}.ob-prizes{padding:22px}.ob-steps{grid-template-columns:1fr;gap:24px}.ob-you{align-items:start;flex-direction:column}.ob-row-control,.ob-column-labels{grid-template-columns:32px minmax(0,1fr) auto;gap:10px;padding-inline:10px}.ob-points{font-size:18px}.ob-place{font-size:25px}.ob-name{font-size:16px}.ob-list-heading{align-items:start;flex-direction:column;gap:0}.outbid-dialog{padding:20px}.account-outbid{padding:20px}
.ob-top-list{gap:8px}
}
@media(max-width:360px){.ob-logo{font-size:24px}.ob-nav{gap:8px}.ob-nav a{font-size:13px}.ob-countdown .flip-clock{--flap-height:28px}.ob-countdown .flip-clock__face{gap:9px}}
@media(prefers-reduced-motion:reduce){.outbid-page *,.outbid-dialog *,.account-outbid *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.has-beer .ob-bubbles{display:none}}
/* Session 50 · page-wide refinements (the top 3 podium has its own section at the end). */
.outbid-page,.account-outbid,.outbid-dialog{overflow-wrap:normal}.ob-name{overflow-wrap:anywhere}
.ob-nav{flex-wrap:nowrap;gap:14px}.ob-language-short{display:none}
.ob-hero h1{font-size:clamp(48px,5vw,72px);max-width:none}
.ob-countdown .flip-clock{--flap-height:40px}.ob-countdown .flip-clock__label{color:var(--ob-olive);font:700 11px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:.08em}.ob-countdown .flip-clock__group{min-width:calc(var(--flap-width)*2 + 4px)}
.ob-state{display:inline-block;border:1px solid var(--ob-olive);border-radius:24px;padding:6px 12px}
[data-state="ended"] .ob-countdown{background:#f3e4b8;padding:18px;border-radius:10px}
#ob-board{min-width:0;max-width:100%;overflow:clip;padding:4px}.ob-list-note,#ob-bid-hint{font-size:14px;margin:0 0 12px}
.ob-unit{display:block;font-size:10px;font-weight:400;letter-spacing:.06em;color:#655e50;line-height:1.4}.ob-movement:empty,.ob-badges:empty,.ob-presets:empty{display:none}
.ob-row-control{grid-template-columns:42px minmax(0,1fr) auto auto;gap:10px;padding:12px}.ob-points{align-self:center;font-size:19px}
.ob-bid-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:3px 10px;border:1px solid var(--ob-olive);border-radius:20px;color:var(--ob-olive);font-size:12px;font-weight:700;white-space:nowrap}
.ob-row-control:hover .ob-bid-pill,.ob-row-control:focus-visible .ob-bid-pill{background:var(--ob-olive);color:var(--ob-paper)}
.ob-top-list{display:block}.ob-top-list>.ob-row{margin-bottom:6px}.ob-top-list .ob-prize-line{font-size:12px;margin-top:3px}
.ob-row.is-you{box-shadow:inset 3px 0 var(--ob-olive)}
.ob-percent{display:inline-block;margin-left:10px;padding:5px 8px;border-radius:20px;background:#e8e9d8;color:var(--ob-olive);font:700 13px var(--font-body,Arial,sans-serif);vertical-align:middle}
.ob-bubble{animation-duration:5s;animation-play-state:paused}.ob-wave{animation:ob-wave 4.7s ease-in-out infinite paused}.ob-foam{animation:ob-foam 3.6s ease-in-out infinite paused}.ob-shimmer{animation:ob-shimmer 6s ease-in-out infinite paused}
.is-moving .ob-bubble,.is-moving .ob-wave,.is-moving .ob-foam,.is-moving .ob-shimmer{animation-play-state:running}
@keyframes ob-wave{0%,100%{transform:translate(-14px,1px)}50%{transform:translate(14px,-1px)}}
@keyframes ob-foam{0%,100%{transform:translate(10px,0)}50%{transform:translate(-12px,2px)}}
@keyframes ob-shimmer{0%,100%{transform:translateX(0);opacity:.08}50%{transform:translateX(46px);opacity:.22}}
.ob-footer{align-items:center}.outbid-page .ob-button,.account-outbid .ob-button{font-weight:700}.ob-tip,.ob-warning{border-radius:10px}
.ob-sticky{display:none}.account-outbid input[readonly]{background:#efeadf;border-style:dashed;color:#655e50;cursor:default}.account-outbid .ob-account-stats strong{font-size:22px}.account-outbid .ob-actions+p{margin-top:12px}.account-outbid .ob-check{min-height:0;padding:8px 0}.account-outbid .is-rejoin>summary{display:none}.account-outbid .is-rejoin .ob-button{background:var(--ob-olive);border-color:var(--ob-olive)}
.ob-field input[type="number"]{font-size:20px;appearance:textfield}.ob-field input::-webkit-inner-spin-button{appearance:none}
@media(min-width:1001px){.ob-layout>aside{position:sticky;top:24px}}
@media(max-width:760px){
 .ob-header{min-height:68px}.ob-logo{font-size:24px}.ob-language-full{display:none}.ob-language-short{display:inline}.ob-nav a{font-size:13px}
 .ob-hero{gap:18px;padding-block:24px}.ob-hero h1{font-size:min(46px,11vw);overflow-wrap:break-word}.ob-intro{font-size:16px}.ob-fund{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center;width:100%;min-width:0;text-align:left}.ob-fund figcaption{grid-column:2;grid-row:1;min-width:0;max-width:52vw;position:relative;z-index:1}.ob-tank-stage{grid-column:1;grid-row:1;width:100%;max-width:230px;margin:0}.ob-fund .ob-eyebrow{font-size:10px}.ob-raised strong{font-size:clamp(28px,8.4vw,38px);letter-spacing:-.04em}.ob-raised>span{font-size:13px}.ob-goal{font-size:12px}.ob-percent{margin:8px 0 0;font-size:11px}.ob-scale-mark text{font-size:20px}.ob-milestones{grid-column:1/-1}
 .ob-countdown{padding:16px 0 0}.ob-countdown .ob-eyebrow{margin-bottom:12px}.ob-countdown .flip-clock{--flap-height:30px}.ob-countdown .ob-deadline{font-size:12px;margin-top:10px}
 .ob-story{padding:20px;gap:12px}.ob-story h2{font-size:26px}.ob-story p{font-size:14px}.ob-story .ob-eyebrow{margin-bottom:8px}
 .ob-layout{padding-block:26px;gap:24px}.ob-section-title{font-size:25px}.ob-you{padding:12px;gap:8px;margin-bottom:14px}.ob-you p{font-size:14px}.ob-you .ob-button{width:100%}
 .ob-row-control{grid-template-columns:42px minmax(0,1fr) auto auto;gap:7px;padding:8px;min-height:52px}.ob-name{font-size:14px}.ob-place{font-size:21px}.ob-points{font-size:16px}.ob-bid-pill{padding:3px 7px;font-size:11px}.ob-unit{font-size:9px}.ob-badge{font-size:10px}.ob-top-list .ob-row-control{min-height:64px}
 .ob-layout>aside{min-width:0;max-width:100%;overflow:hidden}.ob-prizes{padding:16px}.ob-prize-list{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;align-items:start;min-width:0}.ob-prizes>p,.ob-prizes>h2{display:none}.ob-prize,.ob-pass-prize[open]{flex:0 0 180px;min-width:0;scroll-snap-align:start;padding:12px;margin:0;border:1px solid #b9bda0;border-radius:9px;background:#fff8ee}.ob-prize summary{font-size:13px;gap:7px}.ob-prize summary::after{display:none}.ob-prize ul{font-size:13px;padding-left:16px}.ob-prize-icon{width:24px;height:24px}.ob-prize-number{font-size:22px}
 .ob-steps{gap:18px;margin:20px 0}.ob-steps h3{font-size:16px;margin-bottom:6px}.ob-steps p,.ob-tip{font-size:14px}.ob-tip{padding:14px}.ob-how{padding-block:24px}.ob-footer{gap:8px;padding-bottom:100px;font-size:13px}
 .ob-sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--ob-paper);border-top:1px solid var(--ob-line);box-shadow:0 -4px 20px #29281f1f}.ob-sticky>span{font-size:13px;font-weight:700}.ob-sticky small{display:block;font-size:11px;font-weight:400}.ob-sticky .ob-button{flex:none;min-height:44px;font-size:13px;padding:10px 14px;white-space:nowrap}
 .account-outbid .ob-button{width:100%}.account-outbid .ob-account-stats{gap:20px;padding:14px}.account-outbid .ob-account-stats>div{min-width:0}
 .outbid-dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:16px 16px 0 0;padding:18px}.ob-dialog-top h2{font-size:23px}.outbid-dialog .ob-submit{position:sticky;bottom:0;box-shadow:0 0 0 8px var(--ob-paper),0 26px 0 8px var(--ob-paper)}
}
.ob-goal-reached{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#f7e7b0,#e2b95b,#f5dc92);border:1px solid #ad9760;border-radius:6px;font-weight:700;color:var(--ob-berry);margin:0 0 12px}
@media(max-width:760px){.ob-goal-reached{grid-column:1/-1;text-align:center;font-size:13px}}
/* Tanks · a full tank feeds the next one through a hose. The two-tank stage is 1000 x 740 units
   (web/outbid.js SLOTS, VALVE, INLET): every position below is a share of that box. */
.ob-tank-stage{position:relative;isolation:isolate;overflow:hidden}
.ob-vessel{min-width:0;position:relative;transform-origin:50% 93%}
.ob-inlet,.ob-casters,.ob-inflow,.ob-crown,.ob-drips,.ob-splash-gush,.ob-splash-ring{display:none}
.ob-tank-stage.has-tanks{display:block;width:100%;max-width:620px;aspect-ratio:1000/740;margin:6px auto 0;container-type:inline-size;overflow:clip}
.ob-tank-stage.has-tanks.is-gliding{overflow-x:clip;overflow-y:visible}
.has-tanks>.ob-vessel{position:absolute;margin:0}
.has-tanks>.ob-vessel.is-full{left:1%;top:44.892%;width:31.2%}
.has-tanks>.ob-vessel.is-current{left:34.8%;top:11.757%;width:52%}
.has-tanks .is-full .ob-scale-mark,.has-tanks .is-full .ob-scale-unit{display:none}
.has-tanks .is-current .ob-inlet,.has-tanks .is-current .ob-casters,.has-tanks .is-current .ob-inflow,.has-tanks .is-current .ob-splash-ring,.has-tanks .is-full .ob-crown,.is-topped .is-current .ob-crown{display:inline}
.is-celebrating .is-full .ob-drips,.is-celebrating .is-current .ob-splash-gush{display:inline}
.is-topped .ob-inflow,.is-topped .ob-splash-ring,.is-celebrating .ob-trickle-drops,.is-celebrating .ob-splash-ring{display:none}
.has-tanks .is-current .ob-scale-mark text{font-size:24px;transform:translateX(-38px)}.has-tanks .is-current .ob-scale-unit{font-size:20px;transform:translateX(-38px)}
.ob-crown{transform-origin:260px 46px;transform:scale(.55)}
.ob-drip-0{transform-origin:165px 48px}.ob-drip-1{transform-origin:355px 48px}.ob-drip-2{transform-origin:260px 56px}
.ob-valve-lever{transform-origin:398px 470px}
.ob-wheel-0{transform-origin:120px 624px}.ob-wheel-1{transform-origin:402px 624px}
.ob-inflow-gush,.ob-splash-gush{opacity:0}.ob-inflow-gush{transform-origin:97px 125px}
.ob-splash-drop,.ob-splash-crown{transform-box:fill-box;transform-origin:50% 100%}
.ob-trickle-drop{opacity:0;animation:ob-drip 1.2s linear infinite paused}.ob-trickle-drop:nth-child(2){animation-delay:-.4s}.ob-trickle-drop:nth-child(3){animation-delay:-.8s}
.ob-splash-ring{transform-box:fill-box;transform-origin:50% 50%;animation:ob-ring 1.2s ease-out infinite paused}
.ob-crown{animation:ob-cap 3.4s ease-in-out infinite paused}
.ob-hose-beer{animation:ob-hose 2.6s ease-in-out infinite paused}
.is-celebrating .ob-crown,.is-celebrating .ob-hose-beer{animation:none}
.is-moving .ob-trickle-drop,.is-moving .ob-splash-ring,.is-moving .ob-crown,.is-moving .ob-hose-beer{animation-play-state:running}
@keyframes ob-drip{0%{transform:translateY(-40px);opacity:0}12%{opacity:1}100%{transform:translateY(340px);opacity:1}}
@keyframes ob-ring{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes ob-cap{50%{transform:scale(.585) translateY(-1px)}}
@keyframes ob-hose{50%{opacity:.78}}
/* The hose and its coupling, drawn over both tanks in stage units. */
.ob-pipe,.ob-scene,.ob-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ob-pipe{z-index:2;overflow:visible}.ob-scene{z-index:3}.ob-fx{overflow:visible}
.ob-hose-shell{fill:none;stroke:#3d4331;stroke-width:18;stroke-linecap:round}
.ob-hose-beer{fill:none;stroke:#e6ad35;stroke-width:9;stroke-linecap:round}
.ob-hose-shine{fill:none;stroke:#fff8e0;stroke-width:2.5;stroke-linecap:round;opacity:.35;transform:translate(-2px,-3px)}
.ob-tank-captions{position:relative;width:100%;max-width:620px;height:20px;margin:2px auto 10px}
.ob-tank-caption{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap;font-size:12px;font-weight:700;color:var(--ob-olive)}
.ob-tank-caption-full{left:16.6%}.ob-tank-caption-current{left:60.8%}
.ob-tank-captions{container-type:inline-size}
@container (max-width:440px){.ob-tank-caption-full{left:1%;transform:none}}
@container (max-width:340px){.ob-tank-caption{font-size:10px}.ob-tank-caption-current{left:auto;right:1%;transform:none}}
/* The one-time show: brewers are Astra's ink drawings, moved with transforms and opacity only. */
.ob-fx>*{opacity:0}
.ob-spurt{transform-origin:272.8px 626.2px}.ob-puddle,.ob-burst{transform-box:fill-box;transform-origin:50% 100%}.ob-puddle{transform-origin:30% 50%}
.ob-slug circle{fill:#e6ad35}.ob-slug.is-shine circle{fill:#fff4d0}
.ob-brewer{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform}
.ob-brewer-a{z-index:1}.ob-brewer-b{z-index:2}.ob-brewer-c{z-index:3}.ob-brewer-g{z-index:4}
.ob-scene .ob-pose{position:absolute;display:block;max-width:none;opacity:0;pointer-events:none;user-select:none}
.ob-banner{position:absolute;left:3.5%;top:5%;z-index:5;margin:0;padding:.5em .85em .6em;max-width:38%;background:linear-gradient(135deg,#f7e7b0,#e2b95b 55%,#f5dc92);border:2px solid var(--ob-ink);border-radius:12px;box-shadow:3px 4px 0 var(--ob-ink);color:var(--ob-ink);text-align:left;line-height:1.1;opacity:0;transform-origin:18% 100%}
.ob-banner strong{display:block;font:900 clamp(15px,4.4cqw,27px)/1.05 var(--font-display,Impact,sans-serif);text-transform:uppercase;letter-spacing:-.01em;color:var(--ob-berry)}
.ob-banner span{display:block;margin-top:.3em;font:700 clamp(11px,2.5cqw,15px)/1.2 var(--font-body,Arial,sans-serif)}
@container (max-width:440px){
 .ob-banner{left:2.5%;top:3.5%;max-width:44%;padding:.35em .6em .45em;border-radius:9px;box-shadow:2px 3px 0 var(--ob-ink)}
 .ob-banner strong{font-size:13px}.ob-banner span{font-size:10.5px;margin-top:.2em}
 .has-tanks .is-current .ob-scale-mark text{font-size:27px;transform:translateX(-44px)}.has-tanks .is-current .ob-scale-unit{font-size:24px;transform:translateX(-44px)}
}
@container (max-width:340px){.ob-banner{max-width:40%}.ob-banner strong{font-size:12px}.ob-banner span{font-size:10px}}
.ob-tank-hint{font-weight:700;color:var(--ob-olive);margin:0 0 12px}
/* Said once to screen readers; seen as text only when motion is reduced (the show says it otherwise). */
.ob-tank-announcement{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ob-company{font-size:15px;line-height:1.6;max-width:52ch;margin:0 0 20px}
@media(max-width:760px){
 .ob-fund.has-tanks{display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:6px}
 .ob-fund.has-tanks figcaption{max-width:100%;order:1}
 .ob-fund.has-tanks .ob-tank-stage{order:2;max-width:none;margin:2px 0 0}
 .ob-fund.has-tanks .ob-tank-captions{order:3;max-width:none;height:16px;margin:0 0 6px}
 .ob-fund.has-tanks .ob-tank-announcement,.ob-fund.has-tanks .ob-goal-reached,.ob-fund.has-tanks .ob-milestones{order:4}
 .ob-fund.has-tanks .ob-percent{margin:0 0 0 8px}
 .ob-tank-caption{font-size:11px}.ob-tank-hint{grid-column:1/-1;text-align:center}.ob-company{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 .ob-scene{display:none}.ob-tank-stage *{animation:none!important;transition:none!important}
 .ob-tank-announcement:not(:empty){position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;display:inline-block;margin:6px auto 12px;padding:10px 16px;border-radius:10px;background:#f3dfa2;font-weight:800;color:var(--ob-berry);text-wrap:balance}
}
/* The staff preview (payload preview: true, feature-research/outbid-wall/preview-live.md): a small badge in a corner, never
   in the way of a click, and the bid dialog's calm notice in place of an error. */
.ob-preview-badge{position:fixed;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:16;margin:0;padding:4px 10px;border-radius:999px;border:1px solid var(--ob-paper);background:var(--ob-berry);color:var(--ob-paper);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;box-shadow:0 2px 8px #29281f24}
@media(max-width:760px){.ob-preview-badge{bottom:calc(72px + env(safe-area-inset-bottom))}}
.ob-notice{color:var(--ob-olive);font-weight:700}
/* The bidder photo card on Mina sidor (feature-research/outbid-photo), with the photo editor (Marcus,
   27 September 2026): its poster is a live copy of the monthly leader poster; a closed card shows each
   saved photo as a small thumbnail from the account's own private address. */
.account-outbid .ob-photo{border-top:1px solid var(--ob-line);margin-top:24px;padding-top:20px;max-width:760px;container-type:inline-size}
.account-outbid .ob-photo h3{font:700 22px var(--font-body,Arial,sans-serif);margin:0 0 8px}
.account-outbid .ob-photo-help{font-size:14px;color:#5d5747;margin:8px 0 0}
.account-outbid .ob-photo-current{display:flex;gap:16px;align-items:center;margin:16px 0}
.account-outbid .ob-photo-current img{flex:none;width:112px;height:112px;object-fit:cover;border-radius:10px;border:1px solid var(--ob-line);background:#fff}
.account-outbid .ob-photo-current p{margin:0;font-size:15px}
.account-outbid .ob-photo-current .ob-saved-photo{flex:0 0 112px;width:112px;height:112px}
.account-outbid .ob-photo-current .ob-list-initials{font-size:28px}
@media(max-width:760px){.account-outbid .ob-photo-current .ob-saved-photo{flex-basis:88px;width:88px;height:88px}}
.account-outbid .ob-photo-delete .ob-remove{margin-top:0;padding-top:0;border-top:0}
@media(max-width:760px){.account-outbid .ob-photo-current{align-items:flex-start}.account-outbid .ob-photo-current img{width:88px;height:88px}}
/* The mug-shot pair: two slots side by side on a wide screen, stacked on a phone; the consent sits
   once above both. */
.account-outbid .ob-photo-consent{margin:12px 0 4px}
.account-outbid .ob-photo-consent span{font-size:14px;line-height:1.5;font-weight:400}
.account-outbid .ob-photo-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:12px}
.account-outbid .ob-photo-slot{min-width:0}
.account-outbid .ob-photo-slot h4{font:700 18px var(--font-body,Arial,sans-serif);margin:0 0 4px}
.account-outbid .ob-photo-slot .ob-field{max-width:none}
@media(max-width:760px){.account-outbid .ob-photo-slots{grid-template-columns:1fr}}
/* The monthly race (feature-research/outbid-monthly plan 7): leader cards, tabs, the monthly board,
   the feed, the winners row, the placeholder cap until Astra's art lands, and the account parts. */
.ob-leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:24px}
.ob-leader{min-width:0;padding:18px 20px;border-radius:14px;background:#eeeedf;border:1px solid #d0d2b9}
.ob-leader-month{background:var(--ob-olive);color:var(--ob-paper);border-color:var(--ob-olive)}
.ob-leader .ob-eyebrow{margin:0 0 8px;font-size:12px}.ob-leader-month .ob-eyebrow{color:#e2e4c5}
.ob-leader-name{margin:0;font:900 clamp(26px,3vw,36px)/1.05 var(--font-display,Impact,sans-serif);text-transform:uppercase;overflow-wrap:anywhere}
.ob-leader-points{margin:4px 0 0;font-size:15px}.ob-leader-points strong{font-size:20px}
.ob-leader-note,.ob-leader-empty{margin:8px 0 0;font-size:14px}
.ob-leader-lock{margin:10px 0 0;font-size:13px}
.ob-leader-countdown{margin:2px 0 0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.ob-leader-ended{margin:0 0 10px;padding:8px 10px;border-radius:10px;background:#ffffff1f;font-size:14px}
.ob-leader-total .ob-leader-ended{background:#fff8ee}
.ob-leader-winner{display:flex;gap:10px;align-items:center}.ob-leader-winner p{margin:0}
.ob-slutspurt{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#e6bc64;color:var(--ob-ink);letter-spacing:.06em}
.ob-leader.is-slutspurt{box-shadow:0 0 0 3px #e6bc64}
.ob-cap{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#45453c,#141410 72%);color:var(--ob-paper);font-weight:900;line-height:1;outline:2px dotted #29281f;outline-offset:-1px;box-shadow:inset 0 0 0 3px #57574c;vertical-align:middle}
.ob-cap-small{width:22px;height:22px;font-size:9px;margin-right:4px}
.ob-cap-medium{width:40px;height:40px;font-size:13px}
.ob-cap-large{width:64px;height:64px;font-size:18px}
.ob-tabs{display:inline-flex;gap:4px;padding:4px;margin:8px 0 14px;border-radius:999px;background:#e8e9d8;border:1px solid #cbd0af}
.ob-tabs [role="tab"]{min-height:40px;padding:6px 18px;border:0;border-radius:999px;background:transparent;color:inherit;font-weight:700}
.ob-tabs [aria-selected="true"]{background:var(--ob-olive);color:var(--ob-paper)}
.ob-month-panel:focus-visible{outline-offset:2px}
.ob-month-head .ob-eyebrow{margin-bottom:6px}.ob-month-rule{font-size:14px;margin:0 0 10px}
.ob-fresh{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--ob-berry);background:#f3e4b8;font-weight:700}
.ob-month-empty{padding:18px;border:1px dashed var(--ob-line);border-radius:10px}
.ob-month-past .ob-row-control{opacity:.85}
.ob-month-ended{margin-top:18px}.ob-month-ended summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.ob-feed{margin-bottom:22px;padding:20px;border:1px solid #d0d2b9;border-radius:16px;background:#fffdf6}
.ob-feed .ob-section-title{font-size:22px}
.ob-feed-list{list-style:none;margin:0;padding:0}
.ob-feed-item{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;padding:8px 0;border-bottom:1px solid #e3dcc9;font-size:14px}
.ob-feed-item time{color:#6b6655;font-size:12px}
.ob-feed-item.is-winner{font-weight:700}
.ob-feed-item.is-new{animation:ob-slide-in .45s cubic-bezier(.22,1,.36,1)}
@keyframes ob-slide-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.ob-winners{padding-block:8px 32px}
.ob-winners-list{display:flex;gap:16px;overflow-x:auto;list-style:none;margin:16px 0 0;padding:0 0 8px}
.ob-winner{flex:0 0 190px;padding:16px;border-radius:14px;background:#eeeedf;border:1px solid #d0d2b9;text-align:center}
.ob-winner p{margin:6px 0 0}.ob-winner-name{font-weight:900;font-size:18px}.ob-winner-title{font-size:14px}.ob-ring{font-size:11px;letter-spacing:.08em}
.ob-artwork-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover}
.ob-how-month{padding:18px 20px;border-radius:12px;background:#eeeedf;max-width:80ch}.ob-how-month h3{margin:0 0 8px;font-size:18px}.ob-how-month p{margin:6px 0 0;font-size:16px}
.ob-month-dialog{margin:14px 0}.ob-month-dialog #ob-month-notice{font-size:14px;margin:8px 0 0}
.ob-lock-line{font-weight:700}
.ob-lock-note{font-size:14px}
.ob-account-badges p{display:flex;gap:12px;align-items:center}
.ob-title-choice{border:1px solid var(--ob-line);border-radius:10px;padding:10px 14px;margin:10px 0}
.ob-title-choice legend{font-weight:700;padding:0 6px}
.ob-sticky-leaders{display:grid;grid-template-columns:minmax(4.2em,min(46%,12em)) minmax(0,1fr);column-gap:8px;row-gap:4px;align-items:baseline;flex:1 1 auto;min-width:0;font-size:12px;line-height:1.25}
.ob-sticky-item{display:contents}
.ob-sticky-label{min-width:0;font-size:11px;font-weight:400;color:#5f5646;overflow-wrap:normal}
.ob-sticky-who{display:flex;gap:5px;align-items:baseline;min-width:0;white-space:nowrap}
.ob-sticky-who .ob-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.ob-sticky-points{flex:none;font-variant-numeric:tabular-nums}
@media(max-width:760px){.ob-leaders{grid-template-columns:1fr;gap:10px;padding-top:14px}.ob-leader{padding:14px 16px}.ob-leader-name{font-size:26px}.ob-leader-lock{margin-top:6px}.ob-tabs{display:flex}.ob-tabs [role="tab"]{flex:1}.ob-feed{padding:16px}}
@media(max-width:360px){.ob-sticky-leaders{font-size:11px}.ob-sticky{gap:8px;padding-inline:12px}.ob-sticky .ob-button{padding:8px 10px;font-size:12px}}
@media(max-width:340px){.ob-sticky-leaders{grid-template-columns:minmax(3.6em,38%) minmax(0,1fr);column-gap:6px}.ob-sticky-who{gap:4px}.ob-sticky-who .ob-ellipsis{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ob-feed-item.is-new{animation:none}}
.account-outbid .ob-photo-slots:has(>.ob-photo-slot:only-child){grid-template-columns:minmax(0,1fr);max-width:320px}
/* Leader and podium cards use the site's cream, olive and burgundy surfaces. */
.ob-sprite{position:absolute;width:0;height:0;overflow:hidden}

/* Overall podium: the person leads; the real pass artwork is a small reward badge. */
.ob-podium{position:relative;isolation:isolate;container-type:inline-size;margin:2px -4px 16px;padding:12px 8px 6px}
.ob-podium .ob-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;background:none;border:0}
.ob-podium .ob-podium-item{position:relative;z-index:1;min-width:0;display:flex;border:0;background:none;box-shadow:none;color:inherit}
.ob-podium .ob-podium-item.is-flying{z-index:4}
.ob-podium .ob-poster{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-areas:"portrait text" "foot foot";align-items:center;gap:12px 16px;
  width:100%;min-height:186px;padding:16px;border:1px solid var(--ob-line);border-radius:14px;background:var(--ob-paper);color:var(--ob-ink);text-align:left;text-decoration:none;
  transition:border-color var(--motion-fast,150ms) ease,box-shadow var(--motion-fast,150ms) ease}
.ob-podium .ob-poster:is(button,a):hover{border-color:var(--ob-olive);box-shadow:0 4px 14px #29281f12}
.ob-podium .is-place-1 .ob-poster{border-color:var(--ob-olive);box-shadow:inset 0 3px var(--ob-olive)}
.ob-podium .ob-poster .ob-place{position:absolute;top:10px;left:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid var(--ob-paper);border-radius:50%;background:#eeeedf;color:var(--ob-olive);font:800 16px/1 var(--font-body,Arial,sans-serif)}
.ob-podium .is-place-1 .ob-poster .ob-place{background:var(--ob-olive);color:var(--ob-paper)}
.ob-podium-portrait{grid-area:portrait;position:relative;display:block;width:84px;height:96px;overflow:hidden;border:1px solid var(--ob-line);border-radius:10px;background:#e8dfcd}
.ob-podium-portrait .ob-list-photo,.ob-podium-portrait .ob-list-photo img{width:100%;height:100%;border-radius:0}
.ob-podium-portrait .ob-booking-character{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.ob-podium-portrait .ob-booking-chart{display:none}
.ob-podium .ob-poster-text{grid-area:text;display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}
.ob-podium .ob-name{width:100%;font:900 24px/1.15 var(--font-display,Impact,sans-serif);letter-spacing:0;text-transform:uppercase;white-space:nowrap;overflow-wrap:normal;hyphens:none;-webkit-hyphens:none;text-wrap:nowrap}
.ob-podium .ob-points{display:flex;flex-wrap:wrap;align-items:baseline;align-self:stretch;gap:0 5px;margin:0;text-align:inherit;font:800 23px/1.2 var(--font-body,Arial,sans-serif);font-variant-numeric:tabular-nums;white-space:normal}
.ob-podium .ob-points .ob-unit{display:inline;margin:0;font:400 13px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:0;text-transform:none;color:#655b48}
.ob-podium-note{display:block;min-height:18px}
.ob-gap{margin-top:4px;font-size:13px;font-weight:700;line-height:1.3;color:var(--ob-olive)}
.ob-podium .ob-gap{display:block;margin:0;font-size:12px;font-weight:400;line-height:1.4}
.ob-podium .ob-badges{margin-top:4px}
.ob-podium-invite{font-size:14px;line-height:1.4;color:#655b48;max-width:22ch}
.ob-podium .ob-poster-foot{grid-area:foot;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-top:12px;border-top:1px solid var(--ob-line)}
.ob-podium .ob-prize-line{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;margin:0;font:700 14px/1.3 var(--font-body,Arial,sans-serif)}
.ob-podium .ob-poster-art{display:block;flex:0 0 28px;width:28px}
.ob-reward{display:block;margin-bottom:2px;font:700 10px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--ob-berry)}
.ob-podium .ob-bid-pill{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;min-width:70px;margin:0;padding:8px 18px;border:1px solid var(--ob-olive);border-radius:7px;background:var(--ob-olive);color:var(--ob-paper);font-size:14px;font-weight:700}
.ob-podium .ob-poster:hover .ob-bid-pill,.ob-podium .ob-poster:focus-visible .ob-bid-pill{background:var(--ob-berry);border-color:var(--ob-berry)}
.ob-podium .is-you .ob-poster{border-color:var(--ob-olive);box-shadow:inset 0 3px var(--ob-olive)}
.ob-podium .ob-open .ob-podium-portrait{opacity:.65}
.ob-pass-art{display:block;width:100%;height:auto;overflow:visible}
.ob-pass-art text{font-family:var(--font-display,Impact,sans-serif);font-weight:900;text-anchor:middle}
.ob-pass-band{font-size:4.4px;fill:#e9c76a;letter-spacing:.3px}.ob-pass-word{font-size:6px;fill:#1d1b18}.ob-pass-big{font-size:7.6px}
.ob-pass-count text{font-size:8.2px;fill:#3b1624}
.ob-pass-swing{transform-origin:38px 5px}
/* Live movement keeps a clear label and the existing pass animation. */
.ob-moved{position:absolute;top:-10px;left:16px;z-index:4;padding:3px 9px;border:1px solid var(--ob-olive);border-radius:6px;background:var(--ob-paper);color:var(--ob-olive);font:700 12px/1.3 var(--font-body,Arial,sans-serif);white-space:nowrap}
.is-moved-first .ob-moved{background:var(--ob-olive);color:var(--ob-paper)}
.is-fresh .ob-moved{animation:ob-stamp .5s cubic-bezier(.2,1.35,.4,1) .4s both}
.is-fresh .ob-poster{animation:ob-glow 1.8s ease-out .5s}
.is-fresh .ob-pass-swing{animation:ob-swing 1.5s cubic-bezier(.3,.6,.4,1) .3s}
@keyframes ob-stamp{from{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}
@keyframes ob-glow{from{border-color:var(--ob-olive);box-shadow:0 0 0 2px var(--ob-olive)}to{border-color:var(--ob-line);box-shadow:none}}
@keyframes ob-swing{0%{transform:rotate(0)}18%{transform:rotate(11deg)}40%{transform:rotate(-7deg)}60%{transform:rotate(4deg)}80%{transform:rotate(-1.5deg)}100%{transform:rotate(0)}}
.ob-podium-floor{display:none}
@container (min-width:560px){
  .ob-podium .ob-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);gap:14px;align-items:stretch}
  .ob-podium .ob-stage>.is-place-1{grid-area:1/2}
  .ob-podium .ob-stage>.is-place-2{grid-area:1/1;margin-top:18px}
  .ob-podium .ob-stage>.is-place-3{grid-area:1/3;margin-top:18px}
  .ob-podium .ob-poster{display:flex;flex-direction:column;gap:14px;min-height:338px;padding:24px 12px 16px;text-align:center}
  .ob-podium .is-place-1 .ob-poster{padding-top:26px}
  .ob-podium-portrait{flex:none;width:104px;height:112px}
  .ob-podium .is-place-1 .ob-podium-portrait{width:120px;height:128px}
  .ob-podium .ob-poster-text{align-items:center}
  .ob-podium .ob-name{font-size:25px}
  .ob-podium .is-place-1 .ob-name{font-size:28px}
  .ob-podium .ob-points{justify-content:center;font-size:24px}
  .ob-podium .ob-badges{justify-content:center}
  .ob-podium .ob-poster-foot{flex-direction:column;margin-top:auto;gap:12px}
  .ob-podium .ob-bid-pill{width:100%}
}
@container (max-width:320px){
  .ob-podium .ob-poster{grid-template-columns:72px minmax(0,1fr);padding:14px;column-gap:12px}
  .ob-podium-portrait{width:72px;height:88px}
  .ob-podium .ob-name{font-size:21px}
  .ob-podium .ob-points{font-size:21px}
  .ob-podium .ob-prize-line{font-size:13px;gap:4px}
  .ob-podium .ob-poster-art{flex-basis:24px;width:24px}
}
.ob-month-board{margin-top:4px}.ob-month-list{margin-top:6px}
.ob-tagline{margin:12px 0 0;font-size:14px;font-style:italic;line-height:1.45}
.ob-month-head .ob-tagline{margin:0 0 8px;color:#6b4a26;font-size:15px}
.ob-prize-pass{flex:none;display:block;width:30px}

/* Leader cards: plain photo or a complete character beside the leader's details. */
.ob-leaders{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:26px;align-items:stretch}
.ob-leader.has-poster{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"title title" "ended ended" "art who" "reward reward" "info info";column-gap:16px;align-content:start;border:1px solid var(--ob-line);padding:22px;border-radius:16px;background:var(--ob-paper);color:var(--ob-ink)}
.ob-leader.has-poster.is-slutspurt{border-color:var(--ob-olive);box-shadow:inset 0 4px var(--ob-olive)}
.ob-wanted-title{grid-area:title;margin:0 0 14px;text-align:center;line-height:1;color:var(--ob-ink)}
.ob-wanted-title-head{display:block;font:900 clamp(26px,8.2vw,40px)/.92 var(--font-display,Impact,sans-serif);letter-spacing:.012em;text-transform:uppercase;overflow-wrap:normal}
.ob-wanted-title-sub{display:block;margin-top:7px;font:700 12px/1.2 var(--font-body,Arial,sans-serif);letter-spacing:.3em;text-transform:uppercase;color:var(--ob-berry)}
.ob-wanted-title .ob-slutspurt{display:block;width:fit-content;margin:9px auto 0;padding:3px 10px 2px;font:700 11px/1.35 var(--font-body,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.ob-leader.has-poster>.ob-leader-ended{grid-area:ended;margin:0 0 14px;background:var(--ob-paper);border:1px solid var(--ob-line);color:var(--ob-ink)}
.ob-leader-poster{grid-area:art;align-self:start;min-width:0;container-type:inline-size}
.ob-leader-text{display:contents}
.ob-leader.has-poster .ob-leader-who{grid-area:who;align-self:center;min-width:0;margin:0;container-type:inline-size}
.ob-leader.has-poster .ob-leader-info{grid-area:info;min-width:0;margin-top:14px;padding-top:10px;border-top:1px solid var(--ob-line)}
.ob-leader.has-poster .ob-leader-info>*,.ob-leader.has-poster .ob-leader-when>*{margin:0}
.ob-leader.has-poster .ob-leader-info>*+*{margin-top:7px}
/* A clean crop, without a decorative overlay, keeps the complete saved photo visible. */
.ob-wanted{position:relative;display:grid;grid-template-columns:minmax(0,1fr);margin:0}
.ob-wanted-art{grid-area:1/1;position:relative;min-width:0}
.ob-wanted-art.is-waiting{opacity:0}
.ob-wanted-ghost{z-index:1;pointer-events:none}
.ob-wanted-frame{display:block}
.ob-wanted-photo{display:block;aspect-ratio:1210/1000;overflow:hidden;border:1px solid var(--ob-line);border-radius:10px;background:var(--ob-paper)}
.ob-wanted-photo img,.ob-wanted-photo canvas{display:block;width:100%;height:100%;object-fit:contain}
.ob-wanted-stamp{position:absolute;z-index:3;top:8px;right:8px;max-width:calc(100% - 16px);padding:4px 8px;border-radius:6px;background:var(--ob-berry);color:var(--ob-paper);font:700 12px/1.3 var(--font-body,Arial,sans-serif)}
.ob-wanted-stamp.is-fresh{animation:ob-poster-stamp .55s ease both}
@keyframes ob-poster-stamp{from{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}
.ob-wanted-report{margin:6px 0 0;text-align:center;font-size:12px;line-height:1.4}
.ob-report{min-height:28px;padding:4px 2px;border:0;background:none;color:#574e40;font-size:12px!important;text-decoration:underline;text-underline-offset:3px}
.ob-report:hover,.ob-report:focus-visible{color:var(--ob-ink)}
.ob-leader .ob-wanted-report.ob-notice{color:var(--ob-olive)}
/* Leader details. */
.ob-leader.has-poster .ob-leader-name{margin:0;font:900 clamp(21px,6.4vw,27px)/1 var(--font-display,Impact,sans-serif);letter-spacing:.005em;text-transform:uppercase;hyphens:auto;-webkit-hyphens:auto}
.ob-leader.has-poster .ob-leader-name.is-long{font-size:clamp(17px,4.8vw,21px)}.ob-leader.has-poster .ob-leader-name.is-longer{font-size:clamp(11px,7.4cqw,19px)}
.ob-leader.has-poster .ob-leader-points{margin:7px 0 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5f5646}
.ob-leader.has-poster .ob-leader-points strong{margin-right:4px;font:900 25px/1 var(--font-display,Impact,sans-serif);letter-spacing:0;color:var(--ob-ink);font-variant-numeric:tabular-nums}
.ob-leader-gap{margin:4px 0 0;font-size:13px;font-weight:700;line-height:1.3;color:var(--ob-olive)}
.ob-leader.has-poster .ob-leader-reward{grid-area:reward;min-width:0;margin:14px 0 0;padding-top:10px;border-top:1px solid var(--ob-line);font-size:15px;font-weight:700;line-height:1.3}
.ob-leader.has-poster .ob-leader-reward>span{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ob-berry);opacity:1}
.ob-leader.has-poster .ob-leader-reward.is-sentence{font-size:14px;font-weight:400;line-height:1.45;text-wrap:pretty}
.ob-leader.has-poster .ob-leader-empty{margin:0;font-size:14px;font-weight:700;line-height:1.35}
.ob-leader.has-poster .ob-leader-note{font-size:13px;line-height:1.4;color:#4a4232}
.ob-leader.has-poster .ob-leader-nudge{font-size:13px;line-height:1.35}
.ob-leader.has-poster .ob-leader-nudge a{color:var(--ob-berry);text-decoration-thickness:2px}
.ob-leader.has-poster .ob-tagline{font-size:13px;color:#6b4a26}
.ob-leader.has-poster .ob-leader-lock{font-size:13px;line-height:1.45;color:#4a4232}
.ob-leader.has-poster .ob-leader-countdown{margin-top:2px;font-size:13px;font-weight:700;color:var(--ob-ink)}
@media(max-width:760px){.ob-leader .ob-tagline{display:none}}
@media(min-width:700px){
  .ob-leaders{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}

}
@media(min-width:1000px){
  .ob-leaders{gap:36px;align-items:stretch}
  .ob-leader.has-poster{grid-template-columns:minmax(0,46%) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"title title" "ended ended" "art text";align-content:stretch;column-gap:22px;padding:28px}

  .ob-wanted-title{margin-bottom:18px}
  .ob-wanted-title-head{font-size:46px}
  .ob-wanted-title-sub{margin-top:8px;font-size:13px}
  .ob-leader-text{display:flex;flex-direction:column;grid-area:text;min-width:0}
  .ob-leader.has-poster .ob-leader-who{align-self:auto;padding-top:4px}
  .ob-leader.has-poster .ob-leader-info{display:flex;flex:1 1 auto;flex-direction:column;margin-top:12px;padding-top:0;border-top:0}
  .ob-leader.has-poster .ob-leader-when{margin-top:auto;padding-top:10px;border-top:1px solid var(--ob-line)}
  .ob-leader.has-poster .ob-leader-info>.ob-leader-when{margin-top:auto}
  .ob-leader.has-poster .ob-leader-name{font-size:32px}.ob-leader.has-poster .ob-leader-name.is-long{font-size:24px}.ob-leader.has-poster .ob-leader-name.is-longer{font-size:clamp(13px,8.6cqw,22px)}
  .ob-leader.has-poster .ob-leader-points strong{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.ob-podium button.ob-poster:hover{transform:none}}
/* The Questions section (src/outbid/faq.mjs, config/outbid-faq.json): rendered on the server, moved above the footer by the page script. */
.ob-faq{border-top:2px solid var(--ob-ink);padding-block:32px 48px}.ob-faq-list{display:grid;gap:8px;max-width:860px;margin-top:20px}
.ob-faq-item{border:1px solid var(--ob-line);border-radius:10px;background:#fffdf7}.ob-faq-item[open]{border-color:#b9bda0}
.ob-faq-item summary{display:flex;gap:12px;align-items:center;min-height:44px;padding:12px 16px;cursor:pointer;list-style:none;font-weight:700;font-size:17px;line-height:1.4;border-radius:10px}
.ob-faq-item summary::-webkit-details-marker{display:none}.ob-faq-item summary::after{content:'+';flex:none;margin-left:auto;font-size:22px;line-height:1;color:var(--ob-olive)}.ob-faq-item[open] summary::after{content:'−'}
.ob-faq-item summary:hover{background:#ede7db}.ob-faq-item p{margin:0;padding:0 16px 16px;font-size:16px;max-width:70ch}
@media(max-width:760px){.ob-faq{padding-block:24px}.ob-faq-list{margin-top:14px}.ob-faq-item summary{font-size:15px;padding:10px 12px}.ob-faq-item p{font-size:14px;padding:0 12px 14px}}
/* Complete stand-in drawings share the same simple image surface as the photo editor. */
.ob-bandit{position:relative;display:block;container-type:inline-size}
.ob-wanted-character{display:block;width:100%;height:auto;max-height:320px;object-fit:contain}
.ob-bandit-body{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}
/* The editor: the tips, then the poster and the controls side by side when the card is wide. */
.account-outbid .ob-photo-tips{margin:12px 0 0;padding:14px 16px;border-left:4px solid var(--ob-olive);border-radius:4px;background:#e8e9d8}
.account-outbid .ob-photo-tips p{margin:0;font-size:15px}.account-outbid .ob-photo-tips p+p{margin-top:8px}
.account-outbid .ob-photo-hidden{margin:12px 0 0;padding:10px 14px;border-left:3px solid var(--ob-berry);background:#ece3dc;font-size:14px}
.ob-photo-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:16px}
@container (min-width:600px){.ob-photo-editor{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:28px;align-items:start}.ob-photo-stage{position:sticky;top:16px}}
.ob-photo-stage,.ob-photo-side{min-width:0}
.ob-photo-side{display:flex;flex-direction:column;gap:14px}
.account-outbid .ob-photo-poster{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "art";width:100%;max-width:300px;margin:18px auto 0;rotate:none;container-type:inline-size}
.account-outbid .ob-photo-poster.is-editing .ob-wanted-art{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}
.account-outbid .ob-photo.is-dragging .ob-wanted-art{cursor:grabbing}
.account-outbid .ob-photo-poster .ob-wanted-art:focus-visible{outline:3px solid var(--ob-berry);outline-offset:6px;border-radius:4px}
.account-outbid .ob-photo-caption{margin:14px auto 0;max-width:300px;font-size:14px;line-height:1.45;text-align:center;color:#4a4232}
.ob-photo-controls{display:flex;flex-direction:column;gap:12px;min-width:0}
.account-outbid .ob-photo-controls p{margin:0}
.account-outbid .ob-photo-status{min-height:1.5em;font-size:15px;font-weight:700;color:var(--ob-olive)}
.account-outbid .ob-photo-status:empty{display:none}
.ob-photo-pick{display:flex;flex-wrap:wrap;gap:10px}
.ob-photo-file{position:relative;overflow:hidden;cursor:pointer}
.ob-photo-file input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ob-photo-file:focus-within{outline:3px solid var(--ob-berry);outline-offset:3px}
.ob-photo-edit{display:flex;flex-direction:column;gap:12px}
.ob-photo-edit[hidden]{display:none}
.ob-photo-zoom{display:flex;align-items:center;gap:8px}
.ob-photo-zoom label{font-weight:700;margin-right:4px}
.ob-photo-zoom input{flex:1 1 auto;min-width:0;height:44px;accent-color:var(--ob-olive)}
.ob-photo-step{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ob-olive);border-radius:50%;background:#fffdf8;color:var(--ob-olive);font:700 22px/1 var(--font-body,Arial,sans-serif)}
.ob-photo-step:hover{background:#e8e9d8}
.account-outbid .ob-photo-actions{display:flex;flex-wrap:wrap;gap:6px 18px}
.ob-photo-reset,.ob-photo-cancel{min-height:44px;padding:0;border:0;background:none;color:var(--ob-olive);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ob-photo-progress{width:100%;height:10px;accent-color:var(--ob-olive)}
.ob-photo-progress[hidden]{display:none}
.account-outbid .ob-photo-controls .ob-feedback{min-height:0;margin:0}
.account-outbid .ob-photo-controls .ob-feedback:empty{display:none}
.account-outbid .ob-photo-controls .ob-feedback:not(:empty){color:var(--ob-berry);font-weight:700}
.account-outbid .ob-photo-when{font-size:15px}.account-outbid .ob-photo-when:empty{display:none}
.account-outbid .ob-photo-saved:empty{display:none}.account-outbid .ob-photo-saved .ob-remove{margin-top:0}
/* Both races on Mina sidor: the place and Brewski in each, the reward if it ended now, and for the month
   whether the account can win; a link to the Questions on the Outbid page. */
.account-outbid .ob-races{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin:20px 0}
.ob-race{min-width:0;padding:16px 18px;border:1px solid #cbd0af;border-radius:10px;background:#e8ead7}
.account-outbid .ob-race-title{margin:0 0 10px;font:700 12px/1.4 var(--font-body,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.ob-race-stats{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:15px}
.ob-race-stats>div{min-width:0}
.ob-race-stats strong{display:block;font-size:26px;line-height:1.2;color:var(--ob-olive);font-variant-numeric:tabular-nums}
.ob-race-reward{margin-top:12px;padding-top:10px;border-top:1px dashed #a4a987}
.account-outbid .ob-race-reward p{margin:0;font-size:16px;font-weight:700}
.ob-race-reward p span{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ob-berry)}
.account-outbid .ob-race-reward summary{min-height:36px;font-size:14px;color:var(--ob-olive)}
.ob-race-reward ul{margin:4px 0 0;padding-left:20px;font-size:14px}
.account-outbid .ob-race-note{margin:12px 0 0;font-size:14px}
.account-outbid .ob-race-status{margin:12px 0 0;font-size:16px;font-weight:700}
.ob-race-status.is-ok{color:var(--ob-olive)}.ob-race-status.is-ok::before{content:'✓ '}
.ob-race-status.is-todo a{color:var(--ob-berry);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.account-outbid .ob-race .ob-lock-note{margin:10px 0 0;font-size:13px}
.account-outbid .ob-account-faq{margin:14px 0 0;font-size:15px}
.account-outbid .ob-account-faq a{color:var(--ob-olive);font-weight:700;text-underline-offset:3px}
/* "When I have no photo, show me as": John Doe or Jane Doe, each with its picture. */
.ob-figure-choice{margin:14px 0;padding:10px 14px 12px;border:1px solid var(--ob-line);border-radius:10px}
.ob-figure-choice legend{padding:0 6px;font-weight:700}
.ob-figure-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.ob-figure-option{display:flex;flex-direction:column;align-items:center;gap:8px;width:124px;padding:10px 8px 8px;border:2px solid var(--ob-line);border-radius:10px;background:#fffdf7;font-size:14px;font-weight:700;cursor:pointer}
.ob-figure-name{display:flex;align-items:center;gap:8px}
.ob-figure-option input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--ob-olive)}
.ob-figure-option img{display:block;width:96px;height:auto;border-radius:6px;background:var(--ob-paper)}
.ob-figure-option:has(input:checked){border-color:var(--ob-olive);background:#e8ead7}
.ob-figure-option:has(input:focus-visible){outline:3px solid var(--ob-berry);outline-offset:2px}
.account-outbid .ob-figure-choice p{margin:8px 0 0;font-size:14px}
@media(max-width:430px){.account-outbid .ob-race{padding:14px}.ob-race-stats strong{font-size:23px}.ob-figure-option{width:calc(50% - 6px)}}

/* Three tanks (Marcus, 27 September 2026): the tanks filled before the one standing full are a small row
   under the captions, so the live tank keeps its size at every width. */
.ob-tanks-done{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 10px;font-size:13px;font-weight:700;color:var(--ob-olive)}
.ob-tanks-done[hidden]{display:none}
.ob-tanks-done-icons{display:inline-flex;gap:2px}
.ob-tank-mini{display:block;width:14px;height:19px}
@media(max-width:760px){.ob-fund.has-tanks .ob-tanks-done{order:3;margin:-2px 0 6px;font-size:12px}.ob-fund.has-tanks .ob-tank-hint{order:3;margin:0 0 6px}}

/* Session 75: paged standings and displayed-name search. */
.ob-pages{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.ob-pages .ob-button{min-height:44px;padding:10px 14px}
.ob-pages .ob-button[aria-current="page"]{background:var(--ob-olive);color:var(--ob-paper)!important}
.ob-friend-search{margin:20px 0}
.ob-friend-search label{display:block;margin-bottom:8px;font-weight:700}
.ob-friend-search input{width:100%;min-width:0}
.ob-you-link{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:8px 0}
.account-outbid .ob-photo-full{margin:12px 0;font-size:14px;line-height:1.5}
.account-outbid .ob-photo-full summary{cursor:pointer;text-decoration:underline}
.account-outbid .ob-photo-age{margin-top:16px}

/* QA pass, 28 September 2026 (feature-research/outbid-demo/qa-0928.md). */
/* The header's language switch is a link here (a button on the festival pages): centre its label like theirs. */
.ob-site-shell .language{display:inline-flex;align-items:center;justify-content:center}
/* The page ends in the festival site's own footer (web/app.js footer(), festival-footer in styles.css), as
   brewskival.se does; the two Outbid links stay just above it. */
.ob-site-footer{color:var(--paper,#fff8ee)}
.ob-footer{justify-content:flex-start;gap:8px 28px;border-top:1px solid var(--ob-line);padding-block:18px 8px}
@media(max-width:760px){.ob-footer{padding-bottom:8px}.ob-site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
/* Air between the leader cards and the green story band (they touched at every width). */
.ob-leaders{margin-bottom:40px}
@media(max-width:760px){.ob-leaders{margin-bottom:24px}}
/* A saved photo in another shape than the poster (the demo seed's 4:5 portraits, legacy crops) is shown
   whole in a frame of its own shape, up to 4:5, instead of between cream side bars. Editor output
   (1210 x 1000) keeps its frame; before a photo loads the frame holds that shape; the editing canvas
   is untouched. */
.ob-leader .ob-wanted-photo:has(>img){aspect-ratio:auto}
.ob-leader .ob-wanted-photo>img{width:100%;height:auto;aspect-ratio:auto 1210 / 1000;max-height:calc(100cqw * 1.25)}
/* The board's short notes share one size and rhythm; the signed-out line was 17 px among 14 px lines. */
#ob-you>p{margin:0 0 12px;font-size:14px}
.ob-company{margin-bottom:12px}
/* A poster keeps its paper on hover: the old list rule turned place 1 burgundy with dark text on it. */
.ob-podium button.ob-poster:hover,.ob-podium .is-first button.ob-poster:hover{background:var(--ob-paper)}
/* Find a friend sits right under the tabs, the same place for both lists. */
.ob-friend-search{margin:2px 0 18px}
.ob-friend-search label{margin-bottom:6px;font-size:14px}
.ob-friend-search input{max-width:520px;margin-top:0}
#ob-search-results{margin-bottom:16px}
#ob-search-count{margin:0 0 8px;font-size:14px;font-weight:700}
/* The board takes focus after "Till listan" or a page button: no 3 px ring around the whole section. */
#ob-board:focus,#ob-board:focus-visible{outline:none}
/* The list's status line takes room only when it has something to say. */
#ob-feedback:empty{min-height:0;margin:0}
/* The soundtrack's play and pause sit side by side in this card (the site's column suits its home page). */
.ob-music .music-controls{flex-direction:row;justify-content:flex-start;height:auto;min-height:0}
/* The floating pause button clears the phone's sticky bar instead of covering its button. */
@media(max-width:760px){.outbid-page:has(#ob-sticky:not([hidden])) .ob-music .music-pause-visible{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* Mina sidor. "Ta bort fotot" asks first in a modal, styled as the account page's own confirm. */
.account-outbid .ob-photo-delete{display:block;max-width:none;margin:2px 0 0;padding:0;border:0;border-radius:0;background:none}
.ob-photo-delete-open{min-height:44px;cursor:pointer}
.outbid-dialog.ob-confirm{width:min(92vw,440px);max-height:calc(100dvh - 32px);margin:auto;padding:22px;border-radius:12px;background:#fffdf8}
.ob-confirm h2{margin:0 0 10px;font:800 21px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:0}
.ob-confirm p{max-width:none;margin:0 0 10px;font-size:16px;line-height:1.5;color:var(--ob-ink)}
.ob-confirm .ob-confirm-small{margin:4px 0 0;font-size:13px;line-height:1.45;color:#5d5747}
.ob-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ob-button.ob-danger{background:var(--ob-berry);border-color:var(--ob-berry);color:var(--ob-paper)!important}
.ob-button.ob-danger:hover{filter:brightness(1.15)}
.ob-purchase-box{border:1px solid var(--ob-olive);border-left:4px solid var(--ob-olive);background:#f1f0e3;padding:16px 18px;margin:22px 0;font-size:16px;line-height:1.55;max-width:70ch}
.ob-purchase-box p{margin:0 0 10px}.ob-purchase-box p:last-child{margin-bottom:0}.ob-purchase-box a{font-weight:700;text-underline-offset:3px}
.ob-purchase-summary{padding:12px 14px;background:#e8e9d8;font-weight:700;line-height:1.5}
.ob-dialog-rules,.ob-seller{font-size:14px;line-height:1.55}.ob-dialog-rules p,.ob-seller{margin:14px 0}
.ob-photo-withdraw{margin-top:18px;padding-top:14px;border-top:1px solid var(--ob-line)}.ob-photo-withdraw summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ob-photo-withdraw p{font-size:14px;line-height:1.55}
.ob-confirm [data-delete-panel] .ob-button{margin-top:12px}.ob-confirm .ob-eyebrow{font-size:12px}.ob-confirm .ob-check{margin-block:16px}
.ob-account-rules{margin:22px 0;font-size:14px;line-height:1.55}.ob-account-rules p,.ob-steps p+p{margin-top:12px}
.ob-tank-relation{font-size:13px;line-height:1.5;margin:8px 0;color:var(--ob-ink)}
@media(max-width:760px){.outbid-dialog.ob-confirm{width:calc(100% - 32px);margin:auto;border-radius:12px;padding:20px}.ob-confirm-actions .ob-button{flex:1 1 100%}}
/* "Visa mig inte med namn": the note and the required "Visa mig som" choice line up under the box text. */
.account-outbid .ob-hide-note{margin:0 0 8px 34px;font-size:14px}
.account-outbid .ob-figure-choice .ob-feedback{margin:8px 0 0;color:var(--ob-berry)}
.account-outbid .ob-figure-note{margin:0 0 20px;font-size:15px;line-height:1.5}
@media(max-width:430px){.account-outbid .ob-hide-note{margin-left:0}}
/* The account page gives every input 48 px of height (engine-pages.css); a tick box or a radio keeps its
   own size here, so it lines up with a one-line label and the pills keep their height. */
.account-outbid input[type="checkbox"],.account-outbid input[type="radio"]{min-height:0;padding:0}
/* The figure names never break inside ("John / Doe" at 390 px). */
.ob-figure-name{white-space:nowrap}
@media(max-width:430px){.ob-figure-option{padding-inline:6px}.ob-figure-name{gap:6px;font-size:13px}}
/* One right edge for the photo card and the settings under the full-width race cards. */
.account-outbid .ob-account-settings{max-width:760px}

/* Session 81: the same booking card for the monthly and overall race. */
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-leader.has-poster{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"title" "ended" "art" "who" "reward" "info";gap:0;padding:0 24px 22px;border-radius:8px;overflow:hidden;align-content:start}
.ob-leaders .ob-leader-text{display:contents}
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-title{display:flex;flex-direction:column;gap:16px;margin:0 -24px 26px;padding:24px;background:var(--ob-berry);color:var(--ob-paper);text-align:left;min-width:0}
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-title-head{font-size:clamp(44px,12vw,64px);line-height:.94;letter-spacing:-.035em;max-width:7.5em}
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-title-sub{order:-1;margin:0;color:var(--ob-paper);font-size:12px;letter-spacing:.16em;line-height:1.4}
.ob-leaders .ob-wanted-title .ob-slutspurt{margin:0;align-self:start}
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-leader-poster{width:100%;max-width:390px;justify-self:center}
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-photo{border:0;border-radius:0;background:transparent;aspect-ratio:auto}
:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-photo>img,:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-photo>canvas{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none}
.ob-booking-placard{position:relative;z-index:2;grid-column:1;display:block;margin:-42px 12px 0;padding:13px 6px;background:#080808;color:#fff;text-align:center;font-family:var(--font-body,Arial,sans-serif);line-height:1.4}
.ob-booking-placard strong{display:block;font-size:clamp(12px,var(--ob-name-size,7cqw),26px);letter-spacing:.04em;font-weight:700;overflow-wrap:anywhere}
.ob-booking-placard .ob-placard-name-1{--ob-name-size:1cqw}
.ob-booking-placard .ob-placard-name-2{--ob-name-size:2cqw}
.ob-booking-placard .ob-placard-name-3{--ob-name-size:3cqw}
.ob-booking-placard .ob-placard-name-4{--ob-name-size:4cqw}
.ob-booking-placard .ob-placard-name-5{--ob-name-size:5cqw}
.ob-booking-placard .ob-placard-name-6{--ob-name-size:6cqw}
.ob-booking-placard .ob-placard-name-7{--ob-name-size:7cqw}
.ob-booking-placard .ob-placard-name-8{--ob-name-size:8cqw}
.ob-booking-placard .ob-placard-name-9{--ob-name-size:9cqw}
.ob-booking-placard>span{display:block;margin-top:3px;font-size:clamp(10px,3.5cqw,12px);letter-spacing:.025em;overflow-wrap:anywhere;text-transform:uppercase}
.ob-booking-character{display:block;position:relative;isolation:isolate;width:100%;aspect-ratio:4/5;overflow:hidden;background:#fff}
.ob-booking-bust>.ob-wanted-character{position:absolute;inset:12% 1% 0;width:98%;height:88%}
.ob-booking-bust>.ob-wanted-character{max-height:none;object-fit:fill}
.ob-booking-body .ob-wanted-character,.ob-booking-hat .ob-wanted-character{width:100%;height:100%;max-height:none;object-fit:fill}
.ob-booking-chart{position:absolute;inset:4% 3%;font-family:Arial,sans-serif;font-size:clamp(7px,2.3cqw,9px);color:#252723}
.ob-chart-unit{position:absolute;top:-3%;left:0}
.ob-chart-line{position:absolute;left:0;right:0;border-top:1px solid #aaa}
.ob-chart-line b{position:absolute;top:-.65em;background:#fff;padding:0 2px;font-weight:400}.ob-chart-line b:last-child{right:0}
.ob-chart-line-0{top:0}.ob-chart-line-1{top:19%}.ob-chart-line-2{top:38%}.ob-chart-line-3{top:57%}.ob-chart-line-4{top:76%}.ob-chart-line-5{top:95%}
/* Complete artwork layers share one canvas. The collar covers the photo's neck edge. */
.ob-booking-head{position:absolute;z-index:1}
.ob-booking-body,.ob-booking-hat{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ob-booking-body{z-index:2;transform:translateY(var(--ob-body-offset-y,0%));filter:drop-shadow(0 -2px 2px #25181230)}
.ob-booking-hat{transform-origin:0 0;filter:none}
.ob-booking-hat-back{z-index:0}.ob-booking-hat-front{z-index:3}
.ob-booking-bust[data-head-in-front="true"]>.ob-booking-body{z-index:0}
.ob-booking-bust[data-head-in-front="true"]>.ob-booking-head{z-index:1}
.ob-booking-bust[data-head-in-front="true"]>.ob-booking-hat-back{z-index:2}
/* Independent body/hat order: the source always remains complete. */
.ob-booking-bust[data-head-in-front-of-hat="true"]>.ob-booking-hat-back{z-index:0}
.ob-booking-bust[data-head-in-front-of-hat="true"]>.ob-booking-hat-front{z-index:1}
.ob-booking-bust[data-head-in-front-of-hat="true"]>.ob-booking-head{z-index:2}
.ob-booking-bust[data-head-in-front-of-hat="true"]>.ob-booking-body{z-index:3}
.ob-booking-bust[data-head-in-front="true"][data-head-in-front-of-hat="true"]>.ob-booking-body{z-index:0}
.ob-booking-bust[data-head-in-front="true"][data-head-in-front-of-hat="true"]>.ob-booking-hat-back{z-index:1}
.ob-booking-bust[data-head-in-front="true"][data-head-in-front-of-hat="true"]>.ob-booking-hat-front{z-index:2}
.ob-booking-bust[data-head-in-front="true"][data-head-in-front-of-hat="true"]>.ob-booking-head{z-index:3}
.ob-booking-hat[hidden]{display:none}
.ob-booking-hat img{position:absolute;max-width:none;max-height:none;object-fit:fill}
.ob-booking-bust.is-prepared .ob-booking-body,.ob-booking-bust.is-prepared .ob-booking-hat{filter:none}
.is-editing .ob-booking-head{will-change:transform}
.ob-leaders .ob-wanted-report{margin-top:8px}.ob-leaders .ob-report{min-height:40px;font-size:12px!important}
.ob-leaders .ob-leader.has-poster .ob-leader-who{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;align-items:center;align-self:auto;padding:20px 0 0;width:100%}
.ob-leaders .ob-leader.has-poster .ob-leader-name{grid-row:1/3;font-size:clamp(30px,9vw,48px);line-height:1;min-width:0}
.ob-leaders .ob-leader.has-poster .ob-leader-name.is-long{font-size:clamp(23px,7vw,34px)}
.ob-leaders .ob-leader.has-poster .ob-leader-name.is-longer{font-size:clamp(18px,6vw,26px)}
.ob-leaders .ob-leader.has-poster .ob-leader-points{margin:0;font-size:10px;color:var(--ob-ink)}
.ob-leaders .ob-leader.has-poster .ob-leader-points strong{display:block;margin:0 0 5px;font-size:28px}
.ob-leaders .ob-leader-gap{margin:0;font-size:12px;text-align:right}
.ob-leaders .ob-leader.has-poster .ob-leader-reward,.ob-leaders .ob-leader.has-poster .ob-leader-reward.is-sentence{margin:22px 0 0;padding-top:20px;font-size:16px;font-weight:400;line-height:1.55}
.ob-leaders .ob-leader.has-poster .ob-leader-reward>span{font-size:12px;letter-spacing:.08em;text-transform:none;margin-bottom:8px}
.ob-leaders .ob-leader.has-poster .ob-leader-info{display:block;margin-top:22px;padding-top:18px;border-top:1px solid var(--ob-line)}
.ob-leaders .ob-leader.has-poster .ob-leader-when{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0;padding:0;border:0}
.ob-leaders .ob-leader.has-poster .ob-leader-info>.ob-leader-when{margin-top:0}
.ob-leaders .ob-leader.has-poster .ob-leader-countdown{margin:0}
@media(min-width:761px){.ob-leaders{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-title-head{font-size:clamp(48px,5vw,64px)}}
@media(max-width:360px){:is(.ob-leaders,.ob-photo-poster-wrap) .ob-leader.has-poster{padding-inline:18px}:is(.ob-leaders,.ob-photo-poster-wrap) .ob-wanted-title{margin-inline:-18px;padding-inline:18px}.ob-leaders .ob-leader.has-poster .ob-leader-who{grid-template-columns:minmax(0,1fr);gap:8px}.ob-leaders .ob-leader.has-poster .ob-leader-name{grid-row:auto}.ob-leaders .ob-leader-gap{grid-column:1}.ob-leaders .ob-leader.has-poster .ob-leader-points strong{display:inline;margin-right:6px}}

/* Session 82: crop the shared character coordinates to a hat-to-chest portrait.
   Keep body, member face and hat in one stage so their alignment survives the crop. */
.ob-booking-bust{position:absolute;display:block;width:139.6%;height:163%;left:-19.8%;top:-10%}
/* Legacy single-layer Robin hat: layered hats carry their own landmark fit. */
[data-booking-photo="/assets/outbid-wanted/example-leader.png"] .ob-booking-hat:not(.ob-booking-hat-back):not(.ob-booking-hat-front){transform:translateY(7%) scale(.88);transform-origin:50% 0}
.ob-booking-jane .ob-booking-bust{width:114.8%;height:134%;left:-7.4%;top:-7%}
.ob-wanted:has(.ob-booking-character)>.ob-booking-placard{margin-top:-8cqw}
/* Cover the full lower portrait edge, including sleeves at extreme hat framing. */
.ob-wanted:has(.ob-booking-composite)>.ob-booking-placard{margin-inline:0}

/* Fit the shared header to the account editor column. */
.ob-photo-poster-wrap .ob-photo-poster .ob-wanted-title-head{font-size:clamp(28px,14cqw,44px)}

/* Explainer uses the native dialog focus boundary and native media controls. */
.outbid-dialog.ob-explainer{width:min(960px,calc(100% - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:20px;border-radius:16px}
.ob-explainer .ob-dialog-top h2{margin:0;font-size:24px}
.ob-explainer #ob-explainer-language{margin:4px 0 16px;font-size:14px}
.ob-explainer video{display:block;width:100%;max-height:calc(100dvh - 230px);aspect-ratio:16/9;object-fit:contain;background:#171713;border-radius:8px}
.outbid-dialog.ob-explainer[data-shape="9x16"]{width:min(420px,calc(100% - 28px))}
.ob-explainer[data-shape="9x16"] video{aspect-ratio:9/16;width:auto;max-width:100%;margin:auto}
.ob-explainer .ob-explainer-cta{display:flex;justify-content:flex-end;margin:16px 0 0}
.ob-explainer .ob-explainer-cta .ob-button{min-height:44px;text-align:center}
@media(max-width:760px){.ob-explainer .ob-explainer-cta .ob-button{width:100%}}

.ob-explainer-action:has(button:not([hidden])){margin-top:12px}

/* Versioned head placement uses the whole character stage, underneath body and hat. */
.ob-booking-bust>.ob-booking-head,.ob-booking-jane .ob-booking-bust>.ob-booking-head{inset:0;width:100%;height:100%;object-fit:fill}
.ob-photo-body{border:0;padding:0;margin:0 0 20px;display:flex;gap:10px;flex-wrap:wrap}
.ob-photo-body[hidden]{display:none}
.ob-photo-body legend{font-weight:700;margin-bottom:8px}
.ob-photo-body label{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--ob-line);border-radius:6px;cursor:pointer}
.ob-photo-body label:has(input:checked){border-color:var(--ob-olive);background:#f0eedf}

/* Supplied John/Jane can cards: a quiet pair above the configured monthly reward. */
.ob-monthly-reveal figure{margin:0}
.ob-reward-cans{display:flex;justify-content:center;max-width:300px;margin:0 auto 16px}
.ob-reward-cans img{display:block;width:100%;height:auto;border-radius:4px}
.ob-reward-can{position:relative;width:158px;max-width:70%;padding:12px 3px 10px;border-radius:22px 22px 25px 25px;background:linear-gradient(90deg,#969a96,#e6e8e0 10%,#f9faf3 40%,#c8ccc3 80%,#878d88);box-shadow:5px 9px 11px #29281f25;isolation:isolate}
.ob-reward-can::before,.ob-reward-can::after{content:'';position:absolute;left:4%;right:4%;height:10px;border:2px solid #949b94;border-radius:50%;background:linear-gradient(#d6dbd4,#fcfcf4,#b9c0b7)}.ob-reward-can::before{top:0}.ob-reward-can::after{bottom:0}
.ob-reward-can-label{padding:12px 10px 10px;background:linear-gradient(90deg,#c7b799,#fff2d5 16%,#fff6dd 50%,#ddd0ae 87%,#aa9c80);display:flex;flex-direction:column;align-items:center;color:#29281f;overflow:hidden}
.ob-reward-can-brand{font:900 17px/1.1 var(--font-display);letter-spacing:-.02em}.ob-reward-can-series{font:800 10px/1.2 var(--font-body,Arial,sans-serif);text-transform:uppercase;margin:5px 0 8px;letter-spacing:.06em}
.ob-reward-can-art{display:block;width:100%;border:1px solid #877b62}.ob-reward-can-art .ob-booking-character{background:#f3e6c9;filter:sepia(.3)}
.ob-reward-can-label>strong{font:900 18px/1.1 var(--font-display);margin:8px 0 2px;white-space:nowrap}.ob-reward-can-year{font-size:10px;font-weight:800;letter-spacing:.15em}
.ob-monthly-reveal .ob-button{max-width:100%;white-space:normal;text-align:center}

/* The complete character list uses native radios for Tab, arrow keys and Space. */
.ob-character-picker{min-width:0;border:0;padding:0;margin:20px 0 10px}
.ob-character-picker legend{font-weight:700;margin-bottom:12px}
.ob-character-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;max-height:390px;overflow-y:auto;padding:3px}
.ob-character-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:8px;border:1px solid var(--ob-line);border-radius:8px;cursor:pointer;text-align:center;font-size:13px;line-height:1.3}
.ob-character-option input{position:absolute;z-index:1;left:7px;top:7px;accent-color:var(--ob-olive);margin:0;width:17px;height:17px}
.ob-character-art{position:relative;display:block;width:100%;height:108px;pointer-events:none}
.ob-character-option .ob-wanted-character{position:absolute;inset:0;width:100%;height:108px;object-fit:contain;pointer-events:none}
.ob-character-option:has(input:checked){border-color:var(--ob-olive);background:#f0eedf;box-shadow:inset 0 0 0 1px var(--ob-olive)}
.ob-character-option:focus-within{outline:3px solid var(--ob-olive);outline-offset:1px}
.ob-character-help{font-size:14px;line-height:1.5}
.ob-character-save{margin-bottom:18px}
.ob-character-taken{padding:12px;border:1px solid var(--ob-line);border-radius:6px}
.ob-booking-composite .ob-booking-bust{inset:-1% auto auto -17%;width:134%;height:auto;aspect-ratio:var(--ob-character-ratio,4/5)}
.ob-head-controls{border:0;padding:0;margin:20px 0}
.ob-head-controls legend{font-weight:700;margin-bottom:10px}
.ob-portrait-status{font-size:14px;line-height:1.5;min-height:1.5em}
.ob-portrait-status:empty{display:none}
.ob-photo-controls .ob-portrait-auto{min-height:44px;margin:10px 0;padding:8px 14px;background:#fff;border:1px solid var(--ob-line);border-radius:6px;font:inherit;color:var(--ob-ink)}
.ob-photo-controls .ob-hat-rotation[hidden],.ob-photo-controls .ob-head-rotation[hidden],.ob-photo-controls .ob-portrait-auto[hidden]{display:none}
.ob-hat-controls{min-width:0;margin:18px 0;padding:14px;border:1px solid var(--ob-line);border-radius:8px}
.ob-hat-controls[hidden]{display:none}
.ob-hat-controls legend{font-weight:700;padding:0 5px}
.ob-hat-controls p{margin:0 0 10px;font-size:14px;line-height:1.5}
.ob-hat-moves{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.ob-hat-move,.ob-hat-reset{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--ob-line);border-radius:6px;background:#fff;color:var(--ob-ink);cursor:pointer}
.ob-hat-move{font-size:22px}
.ob-hat-reset{margin-top:10px;font:inherit}
.ob-hat-settings{min-width:0;margin:20px 0;padding:14px;border:1px solid var(--ob-line);border-radius:8px}
.ob-hat-settings[hidden]{display:none}.ob-hat-settings>legend{font-weight:700;padding:0 5px}
.ob-hat-toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 14px;padding:8px 14px;border:1px solid var(--ob-line);border-radius:6px;background:#fff;color:var(--ob-ink);font:inherit;font-weight:700;cursor:pointer}
.ob-hat-toggle::before{content:'';width:30px;height:18px;border-radius:12px;background:radial-gradient(circle at 9px 9px,#fff 6px,transparent 7px),#777}
.ob-hat-toggle[aria-checked=true]::before{background:radial-gradient(circle at 21px 9px,#fff 6px,transparent 7px),var(--ob-olive)}
.ob-hat-picker{min-width:0;border:0;padding:0;margin:0}.ob-hat-picker legend{font-size:14px;font-weight:700;margin-bottom:8px}
.ob-hat-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ob-hat-option{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;gap:4px;padding:5px;border:1px solid var(--ob-line);border-radius:6px;font-size:14px;text-align:center;line-height:1.25;cursor:pointer}
.ob-hat-option:has(input:checked){border:2px solid var(--ob-olive);padding:4px;background:#f0eedf}
.ob-hat-option input{position:absolute;top:5px;left:5px;z-index:1;width:16px;height:16px;margin:0;accent-color:var(--ob-olive)}
.ob-hat-art{position:relative;display:block;width:100%;aspect-ratio:1}.ob-hat-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.ob-hat-settings .ob-hat-controls{border:0;margin:18px 0 0;padding:0}.ob-hat-controls:disabled,.ob-hat-picker:disabled{opacity:.55}
.ob-hat-option:focus-within,.ob-hat-toggle:focus-visible{outline:3px solid var(--ob-olive);outline-offset:3px}
@media(max-width:420px){.ob-hat-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Names live on the sign; points and the lead form one reading column below it. */
.ob-leaders .ob-leader.has-poster .ob-leader-who{grid-template-columns:minmax(0,1fr);gap:8px}
.ob-leaders .ob-leader.has-poster .ob-leader-gap{grid-column:1}

/* Session 106: one reversible face treatment on every shared photo surface. */
[data-face-filter="warm"]>.ob-booking-bust>.ob-booking-head,
.ob-photo-current[data-face-filter="warm"] img,
.ob-wanted-photo[data-face-filter="warm"]>img,
.ob-wanted-photo[data-face-filter="warm"]>canvas{filter:sepia(.48) saturate(.78) contrast(1.04)}
[data-face-filter="off"]>.ob-booking-bust>.ob-booking-head,
.ob-photo-current[data-face-filter="off"] img,
.ob-wanted-photo[data-face-filter="off"]>img,
.ob-wanted-photo[data-face-filter="off"]>canvas{filter:none}
.ob-face-filter{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:20px 0 0;min-width:0}
.ob-face-filter legend{font-weight:700;margin-bottom:8px}
.ob-face-filter label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;border:1px solid var(--ob-line);border-radius:7px;cursor:pointer}
.ob-face-filter label:has(input:checked){background:var(--ob-olive);border-color:var(--ob-olive);color:var(--ob-paper)}
.ob-face-filter input{accent-color:var(--ob-berry);width:18px;height:18px;margin:0}
.ob-face-filter:disabled{opacity:.6}
.ob-filter-help{font-size:14px!important;margin:8px 0 18px!important}

/* Restore the approved large fermenter, with the current vessel's litres beside its scale. */
.ob-hero .ob-fund{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;text-align:center;align-self:center}
.ob-hero .ob-fund figcaption{width:100%;max-width:none}
.ob-fund #ob-tank-title{font-size:20px;line-height:1.3;margin:10px 0 16px}
.ob-hero .ob-fund .ob-eyebrow{font-size:14px;color:var(--ob-olive)}
.ob-fund .ob-raised{margin:0}
.ob-fund .ob-raised strong{font-size:clamp(40px,4.5vw,58px)}
.ob-fund .ob-raised>span{display:inline;font-size:16px}
.ob-fund .ob-goal{font-size:16px;margin:8px 0}
.ob-fund .ob-tank-total{margin:14px 0 0;font-size:14px;color:#555748}
.ob-fund .ob-tank-relation{margin:4px 0 0}
.ob-fund .ob-tank-replay{display:inline-flex;align-items:center;gap:4px;margin:0 auto 10px;padding:4px 0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ob-olive);font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.ob-fund .ob-tank-replay[hidden]{display:none}
.ob-fund .ob-tank-replay:disabled{opacity:.55;cursor:default}
.ob-fund .ob-tank-replay:hover:not(:disabled){text-decoration:underline}
.ob-fund .ob-tank-replay:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.ob-fund .ob-vessel{position:relative;height:auto}
.ob-fund .ob-scale-mark text{font-size:21px}
.ob-fund .ob-feed{width:100%;max-width:400px;text-align:left;margin:8px auto 0;padding:16px 20px;border-radius:8px;position:relative}
.ob-fund .ob-feed .ob-section-title{font-size:18px;margin:0 0 8px}
.ob-feed-empty{font-size:14px;color:#625f51}
@media(max-width:760px){.ob-hero .ob-fund{width:100%}.ob-fund #ob-tank-title{font-size:20px}.ob-fund .ob-raised strong{font-size:42px}.ob-fund .ob-feed{max-width:none}}

/* The original metal photograph and shared portrait feed one still cylinder projection. */
.ob-live-can{position:relative;isolation:isolate;container-type:inline-size;width:100%;max-width:340px;aspect-ratio:350/520;overflow:hidden;border-radius:7px;background:#d0cecc;margin-inline:auto}
.ob-live-can-photo{position:absolute;inset:0;top:0;left:0;width:100%;height:auto;max-width:none;display:block}
.ob-live-can-label{position:absolute;left:25.14%;top:13.46%;width:49.14%;height:72.3%;display:flex;flex-direction:column;align-items:center;padding:4% 1.6% 2.5%;container-type:inline-size;background:linear-gradient(90deg,#d8d7d6 0%,#f2f1f0 13%,#fff 48%,#f1f0ef 87%,#d6d5d4 100%);overflow:hidden;color:#151510;text-align:center}
.ob-live-can .ob-live-can-brand{display:block;width:68%;height:auto;max-width:none;flex:none;margin:0 auto}
.ob-live-can-render{position:absolute;inset:0;top:0;left:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.ob-live-can .ob-can-placeholder{display:flex;align-items:center;justify-content:center;background:var(--colour-paper);aspect-ratio:4/5}
.ob-live-can .ob-can-placeholder img{width:80%;height:auto;object-fit:contain;opacity:.45}
.ob-can-recovery{position:absolute;z-index:2;inset:auto 5% 3%;padding:8px 10px;border-radius:4px;background:var(--colour-paper);color:var(--colour-olive);text-align:center;font:12px/1.4 var(--font-body)}
.ob-can-recovery[hidden],.ob-can-recovery button[hidden]{display:none}
.ob-can-recovery button{display:block;margin:5px auto 0;padding:6px 12px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;font:700 12px/1.4 var(--font-body);cursor:pointer;transition:background var(--motion-feedback) var(--ease-standard)}
.ob-can-recovery button:hover{background:#4c522918}
.ob-can-recovery button:active{background:#4c522930}
.ob-can-recovery button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.ob-portrait-recovery{position:static;margin:8px 0}
.ob-overall-can{margin:0;container-type:inline-size}
.ob-overall-can>.ob-booking-placard{margin:12px 0 0}
.ob-leader-total .ob-wanted-title-head{font-size:clamp(28px,6vw,40px);hyphens:none;overflow-wrap:normal}
.ob-wanted .ob-can-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:var(--colour-paper,#fff8ee)}
.ob-wanted .ob-can-placeholder>img{position:static;inset:auto;width:80%;max-width:80%;height:auto;object-fit:contain}
/* Shared by Gang cards/frames, saved profiles and cans, including before JS mounts.
   The native wordmark remains available even when image requests are unavailable. */
[data-booking-photo][data-booking-pending]{position:relative;background:var(--colour-paper,#fff8ee)}
[data-booking-photo][data-booking-pending]::after,.ob-live-can:not([data-can-rendered])::after{content:'BREWSKI';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--colour-paper,#fff8ee);color:var(--colour-olive,#4c5229);font:900 clamp(12px,2vw,20px)/1 var(--font-body,Arial,sans-serif);letter-spacing:-.06em}
.ob-live-can:not([data-can-rendered])>.ob-can-recovery{z-index:2}
.ob-can-placeholder{position:relative;display:flex;align-items:center;justify-content:center;min-height:36px;aspect-ratio:4/5;background:var(--colour-paper,#fff8ee);overflow:hidden}
.ob-can-placeholder>img{position:relative;z-index:1;width:80%;height:auto;object-fit:contain;background:var(--colour-paper,#fff8ee);visibility:hidden}
.ob-can-placeholder>img[data-brand-ready="true"]{visibility:visible}
.ob-can-placeholder:has(>img[data-brand-ready="true"])>.ob-portrait-monogram{visibility:hidden}
.ob-can-placeholder>img[hidden]{display:none!important}
.ob-portrait-monogram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--colour-olive,#4c5229);font:900 32px/1 var(--font-body,Arial,sans-serif)}
.ob-gang-member>.ob-portrait-recovery{font-size:11px;padding:4px;margin:4px 0}
.ob-live-can:not([data-can-rendered])>.ob-can-recovery{visibility:visible}
.ob-live-can[data-can-rendered="true"]>.ob-live-can-render{opacity:1}
.ob-live-can[data-can-rendered="true"]>.ob-live-can-label,.ob-live-can[data-can-rendered="true"]>.ob-live-can-photo{opacity:0}
.ob-live-can[data-can-rendered="placeholder"]>.ob-live-can-render{opacity:1}
.ob-live-can[data-can-rendered="placeholder"]>.ob-live-can-label,.ob-live-can[data-can-rendered="placeholder"]>.ob-live-can-photo{opacity:0}
/* The figure appears once, finished. A can with no data-can-rendered yet shows only its grey backdrop (the
   box already holds the can's space, so nothing moves), and a member's photo that is still being composed
   shows only its white frame: never the raw photo, a lone head or a body without its head. "fallback" and
   "late" (live-can.mjs) show the readable label instead. */
.ob-live-can:not([data-can-rendered])>*,[data-booking-pending]>*{visibility:hidden}
/* A poster's figure is painted into one canvas (live-can.mjs flattenFigure); its layers stay under it as the
   source for repaints and as the fallback, and are never shown beside it. */
.ob-booking-flat{display:none;position:absolute;inset:0;width:100%;height:100%}
.ob-booking-character[data-flat="true"]>.ob-booking-flat{display:block}
.ob-booking-character[data-flat="true"]>:not(.ob-booking-flat){visibility:hidden}
.ob-live-can-title{font:900 9.5cqw/1.1 var(--font-display,Impact,sans-serif);letter-spacing:-.02em;white-space:nowrap;margin:5% 0 8%}
.ob-live-can .ob-wanted{width:100%;margin:0;flex:none}
.ob-live-can .ob-wanted-photo{border:0;border-radius:0;background:#fff;aspect-ratio:4/5}
.ob-live-can .ob-wanted-photo>img{height:100%;width:100%;object-fit:contain}
.ob-live-can .ob-booking-character{background:#fff}
.ob-live-can .ob-booking-chart{font-size:6px}
.ob-live-can .ob-booking-placard{margin:-9% 0 0;padding:5% 2%;line-height:1.15}
.ob-live-can .ob-booking-placard strong{font-size:8cqw;letter-spacing:.025em}
.ob-live-can .ob-booking-placard>span{display:none}
.ob-live-can-month{font:700 6cqw/1.2 var(--font-body,Arial,sans-serif);text-transform:uppercase;margin-top:auto;padding-top:9%;letter-spacing:.03em}
.ob-live-can-foot{font:700 4cqw/1.3 var(--font-body,Arial,sans-serif);margin-top:4%;letter-spacing:.07em}
/* Tizen 6.5 uses Chromium 85, before CSS aspect-ratio and container units.
   Reserve the same geometry so the mounted portrait can still be projected. */
@supports not (aspect-ratio:1){
  .ob-live-can::before{content:"";display:block;padding-top:148.5714286%}
  .ob-live-can .ob-booking-character::before{content:"";display:block;padding-top:var(--ob-portrait-height,125%)}
  .ob-live-can .ob-booking-composite .ob-booking-bust::before{content:"";display:block;padding-top:var(--ob-character-height,125%)}
  .ob-live-can .ob-booking-bust>.ob-booking-head,.ob-live-can .ob-booking-body,.ob-live-can .ob-booking-hat{top:0;left:0}
}

.ob-tabs{width:100%;max-width:100%;border-radius:10px;align-items:stretch}
.ob-tabs [role="tab"]{border-radius:7px;white-space:normal;font-size:14px;line-height:1.3;padding:10px 14px}
.ob-tabs #ob-tab-month{flex:0 1 30%}.ob-tabs #ob-tab-total{flex:1}
.ob-month-can{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:24px;align-items:center;margin:0 0 26px;padding:22px;background:#f0eee6;border:1px solid var(--ob-line);border-radius:10px}
.ob-can-lead-copy{min-width:0}
.ob-can-lead-copy .ob-eyebrow{margin:0 0 16px;font-size:14px;color:var(--ob-olive)}
.ob-can-status{font-size:14px;margin:0 0 6px!important}
.ob-can-lead-copy h3{font:900 clamp(26px,3vw,38px)/1.08 var(--font-display,Impact,sans-serif);margin:0 0 16px;letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:anywhere}
.ob-can-points{font-size:16px;margin:0 0 12px!important}.ob-can-points strong{font-size:25px;white-space:nowrap}
.ob-can-countdown{font-size:16px;font-weight:700;color:var(--ob-berry);margin:12px 0 18px!important}
.ob-can-preview-note{font-size:14px!important;margin:18px 0 0!important;line-height:1.5!important}
.ob-chasers-title{font-size:23px!important;margin:0 0 6px!important;line-height:1.2!important}
.ob-chasers-range{font-size:14px!important;margin:0 0 12px!important;color:#58584b}
.ob-month-head{margin-top:22px}.ob-month-head .ob-month-rule{font-size:14px;line-height:1.6}
.ob-month-rules summary{cursor:pointer;list-style:none;font-size:14px}
.ob-month-rules summary::-webkit-details-marker{display:none}
.ob-month-rules[open] summary{margin-bottom:12px}
@media(max-width:760px){.ob-chasers-title,.ob-chasers-range,.ob-month-head{padding-inline:16px}}
.ob-month-panel .ob-winners{border-top:1px solid var(--ob-line);padding-top:24px;margin-top:26px}
.ob-month-panel .ob-winners .ob-section-title{font-size:24px}
.ob-winners-list{scroll-snap-type:x proximity;gap:16px;overscroll-behavior-x:contain}
.ob-winners-list .ob-winner{flex:0 0 210px;padding:0 0 14px;border-radius:8px;overflow:hidden;scroll-snap-align:start;background:#fffdf7}
.ob-winner .ob-live-can{border-radius:0}
.ob-winner-name,.ob-winner-month{padding-inline:12px}.ob-winner-month{font-size:14px}
@media(max-width:760px){.ob-month-can{gap:18px;padding:16px}.ob-can-lead-copy h3{font-size:28px}.ob-can-lead-copy .ob-eyebrow{font-size:12px;margin-bottom:12px}.ob-can-countdown{font-size:14px}.ob-can-points strong{font-size:22px}}
@media(max-width:420px){.ob-month-can{grid-template-columns:minmax(0,1fr);gap:18px}.ob-month-can>.ob-live-can{max-width:220px}.ob-can-lead-copy{text-align:center}.ob-can-lead-copy h3{font-size:34px}.ob-can-lead-copy .ob-eyebrow{font-size:14px}.ob-can-preview-note{max-width:28ch;margin-inline:auto!important}.ob-tabs [role="tab"]{padding:10px 9px}.ob-tabs #ob-tab-month{flex-basis:32%}}
/* The reward is a compact product detail beside the booking portrait. */
.ob-monthly-reveal>figure{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr);align-items:center;gap:12px;margin-top:10px}
.ob-reward-live-can{width:100%;max-width:130px;margin:0}
.ob-monthly-reveal>figure>figcaption{min-width:0;font-size:14px;line-height:1.5}
.ob-monthly-reveal>figure>figcaption>small{display:block;margin-bottom:5px;color:#58584b;font-size:12px}

/* The crew removes a full tank before bringing the next into this single slot. */
.ob-fund .ob-tank-stage.ob-tank-sequence{max-width:620px;width:100%;margin:0 auto;aspect-ratio:650/660;container-type:inline-size}
.ob-fund .ob-tank-sequence>.ob-vessel{width:80%;margin-inline:auto}
/* Keep the approved 490 px vessel at desktop/tablet widths. The stage may
   narrow independently; its height follows the vessel so the feet stay inside. */
@media(min-width:761px){
 .ob-hero .ob-tank-stage.ob-tank-sequence{aspect-ratio:auto}
 .ob-hero .ob-tank-sequence>.ob-vessel{width:min(490px,100%)}
}
.ob-tank-sequence .ob-inlet{display:inline}
.ob-tank-sequence.is-changing-tank .ob-casters,.ob-tank-sequence.is-changing-tank .is-full .ob-crown{display:inline}
.ob-tank-sequence .ob-scene{overflow:hidden}
.ob-tank-sequence:not(.is-changing-tank) .ob-liquid{transition:transform 1.8s ease-in-out}
.is-feeding .ob-inflow,.is-feeding .ob-inflow-gush,.is-feeding .ob-splash-ring{display:inline;opacity:1}
.is-feeding .ob-inflow-thin,.is-feeding .ob-trickle-drops{display:none}
.ob-bid-hose{position:absolute;pointer-events:none;overflow:visible;z-index:2;transition:opacity .2s ease}
.ob-bid-hose path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ob-bid-hose-shell{stroke:#454b3d;stroke-width:9}
.ob-bid-hose-core{stroke:#7f8975;stroke-width:4}
.ob-bid-hose-flow{stroke:#f0bd55;stroke-width:4;stroke-dasharray:12 19;opacity:0}
.ob-bid-hose-coupling{fill:#7f8975;stroke:#454b3d;stroke-width:2}
.ob-bid-hose.is-feeding .ob-bid-hose-flow{opacity:1;animation:ob-feed-flow .7s linear infinite paused}
.ob-bid-hose.is-moving .ob-bid-hose-flow{animation-play-state:running}
.ob-bid-hose.is-changing-tank{opacity:0}
@keyframes ob-feed-flow{to{stroke-dashoffset:-31}}
@media(prefers-reduced-motion:reduce){.ob-bid-hose,.ob-bid-hose *{animation:none!important;transition:none!important}.ob-bid-hose-flow{display:none}.ob-fund .ob-inflow{display:none}}
.ob-leaders .ob-leader-month .ob-leader-poster{max-width:280px}
.ob-leader-month .ob-live-can{margin-top:4px}
.ob-leader-can-name{margin:0;font:900 clamp(24px,3vw,32px)/1.1 var(--font-display,Arial,sans-serif);text-transform:uppercase;overflow-wrap:anywhere}
.ob-leader-reward .ob-can-reward-note{display:block;font-size:12px;color:#58584b;margin-bottom:5px}
.ob-prize-photo{display:block;position:relative;aspect-ratio:4/3;margin:20px 0;border-radius:8px;overflow:hidden}
.ob-prize-photo-layer{position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
.ob-prize-photo-layer.is-current{opacity:1}
.ob-prize-photo-layer.is-incoming{z-index:1}
.ob-prize-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.ob-prize-photo-layer{transition:none}}
.ob-faq-more{margin-top:18px}

/* Session 108: an account workspace with separate clothes and hat catalogues. */
.account-outbid.ob-account-workspace{margin:0;padding:24px;border-top-width:1px;background:#fffdf8}
.ob-account-workspace>.ob-eyebrow{margin-top:0}
.account-outbid.ob-account-workspace .ob-photo,.account-outbid.ob-account-workspace .ob-account-settings{max-width:none}
.ob-account-workspace .ob-photo-editor{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr)}
.ob-account-workspace .ob-photo-stage{align-self:start;position:sticky;top:24px}
.ob-account-workspace .ob-photo-tips{max-width:none;margin-bottom:24px}
.ob-account-workspace .ob-photo-bonus{padding:16px;background:#f0f0e3;border-radius:8px;margin-bottom:12px;font-size:15px}
.ob-account-workspace .ob-photo-bonus p{margin:0 0 8px}
.ob-account-workspace .ob-photo-bonus p:last-child{margin:0;font-size:14px}
.ob-account-workspace .ob-photo-bonus-status{color:var(--ob-olive);font-weight:700}
.ob-account-workspace .ob-background-guide,.ob-account-workspace details.ob-photo-tips{font-size:14px;background:none;padding:0;border:0}
.ob-account-workspace .ob-background-guide summary,.ob-account-workspace details.ob-photo-tips summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:var(--ob-olive);font-weight:700}
.ob-account-workspace .ob-background-guide dl{display:block;border:0;padding:0;margin:8px 0 12px}.ob-background-guide dt{font-weight:700;margin-top:12px}.ob-background-guide dd{margin:4px 0 12px}
.ob-account-workspace .ob-hat-option>span:last-child{max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.ob-account-workspace .ob-character-picker legend,.ob-account-workspace .ob-hat-picker legend{font-size:18px}
.ob-account-workspace .ob-character-picker{margin-top:24px}
.ob-account-workspace .ob-hat-picker{margin-top:24px}
.ob-account-workspace .ob-character-option{font-size:13px}
.ob-account-workspace .ob-character-option>span:last-child{max-width:100%;overflow-wrap:anywhere}
.ob-account-workspace .ob-hat-list{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));max-height:286px;overflow-y:auto;padding:4px}
.ob-account-workspace .ob-skin-help{font-size:14px;margin-top:14px}
.ob-account-workspace .ob-account-settings,.ob-account-workspace .ob-share-link,.ob-account-workspace .ob-remove{padding-top:24px;margin-top:28px;border-top:1px solid var(--ob-line)}
.ob-account-workspace h3{font-size:22px;line-height:1.35;margin:0 0 16px}
.ob-account-workspace .ob-account-emails{padding:20px 0 10px;margin-top:24px;border:0;border-top:1px solid var(--ob-line)}
.ob-account-workspace .ob-account-emails legend{font-weight:700;font-size:18px;padding-right:12px}
.ob-self-bid-targets{display:grid;gap:8px;margin:18px 0;padding:14px;border:1px solid var(--ob-line);border-radius:8px;background:#f0f0e3}
.ob-self-bid-targets:empty{display:none}
#ob-presets.is-self{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
#ob-presets.is-self .ob-preset{min-width:0;white-space:normal}
.ob-self-bid-targets .ob-self-bid-race p{margin:4px 0;font-size:15px;line-height:1.45}
.ob-self-bid-targets h3{font-size:14px;margin:0;color:var(--ob-olive)}
@media(max-width:760px){
 .account-outbid.ob-account-workspace{padding:18px}
 .ob-account-workspace .ob-photo-editor{grid-template-columns:minmax(0,1fr)}
 .ob-account-workspace .ob-photo-stage{position:static}
 .ob-account-workspace .ob-character-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:322px}
 .ob-account-workspace .ob-hat-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:270px}
 .ob-account-workspace .ob-character-art,.ob-account-workspace .ob-character-option .ob-wanted-character{height:88px}
}

/* A Bid checkout keeps its price, contract and actions in one compact reading column. */
.ob-pay-page{padding:24px 16px}
.ob-pay-page .ob-pay-card{box-sizing:border-box;width:100%;max-width:640px;margin:0 auto;padding:28px;border:1px solid var(--ob-line);border-radius:14px;background:var(--ob-paper);font-size:14px;line-height:1.5}
.ob-pay-card h1{margin:12px 0 20px;font-size:30px;line-height:1.15;letter-spacing:-.025em}
.ob-pay-card>p{margin:14px 0}
.ob-pay-card>.ob-eyebrow{margin:0;font-size:11px}
.ob-pay-card .ob-pay-summary{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--ob-line);font-size:17px;line-height:1.45;font-weight:700}
.ob-pay-card .ob-warning{padding:12px 14px;font-size:13px;line-height:1.5}
.ob-pay-card .ob-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.ob-pay-card .ob-actions>form{margin:0;min-width:0}
.ob-pay-card .ob-actions .ob-button{width:100%;min-height:48px;padding:12px 8px;font-size:14px;white-space:normal}
.ob-pay-card .ob-pay-back{margin:10px 0 0}
.ob-pay-card .ob-pay-back .ob-button{min-height:44px;padding:8px 0;border:0;background:transparent;font-size:13px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.ob-pay-page{padding:16px 12px}.ob-pay-page .ob-pay-card{padding:20px 16px}.ob-pay-card h1{font-size:28px}}
.ob-pay-card .ob-actions>form:only-child{grid-column:1/-1}

/* Keep supporting rules in the same compact disclosure style as account cards. */
.ob-rule-details{margin:12px 0;padding:10px 0;border-top:1px solid var(--ob-line);font-size:14px;line-height:1.55}
.ob-rule-details summary{cursor:pointer;font-weight:700;color:var(--ob-olive);text-underline-offset:3px}
.ob-rule-details[open] summary{margin-bottom:10px}
.ob-rule-details p{margin:8px 0}
/* Monthly Gang uses the existing board and portrait language. Details stay in
   the selected tab; a compact crew beside the tank is the only extra overview. */
.ob-tabs #ob-tab-month{flex:0 1 21%}.ob-tabs #ob-tab-total{flex:1 1 47%}.ob-tabs #ob-tab-gang{flex:1 1 32%}
.ob-gang-panel{padding:20px 0}.ob-gang-panel h3,.ob-gang-entry h3{margin:0;font-size:22px}
.ob-gang-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ob-gang-board-head .ob-eyebrow{margin:0 0 6px}
.ob-gang-panel>p,.ob-gang-rules p,.ob-gang-account>p{font-size:16px;line-height:1.5}
.ob-gang-list{margin:20px 0!important}.ob-gang-row{border-bottom:1px solid var(--ob-line,#ccc8b4)}
.ob-gang-row>button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;background:none;color:inherit;border:0;width:100%;min-height:72px;text-align:left;padding:12px 8px;cursor:pointer;font:inherit}
.ob-gang-row>button:hover{background:#e9eadb}.ob-gang-row strong{display:block;overflow-wrap:anywhere}.ob-gang-row small{display:block;font-size:13px;font-weight:400;margin-top:4px;line-height:1.4}.ob-gang-row>b,.ob-gang-row>button>b{text-align:right;font-size:20px;font-variant-numeric:tabular-nums}.ob-gang-place{font-weight:700;color:var(--ob-olive,#4c5229)}
.ob-gang-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.ob-gang-member{min-width:0;margin:0;text-align:center}.ob-gang-character{aspect-ratio:4/4.5;overflow:hidden;background:#efe9da;border-radius:5px;position:relative}
.ob-gang-character>.ob-booking-character,.ob-gang-character>.ob-wanted-photo{width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0}
.ob-gang-character .ob-wanted-photo img{width:100%;height:100%;object-fit:contain}.ob-gang-member figcaption{font-size:15px;line-height:1.3;font-weight:700;margin-top:8px;overflow-wrap:anywhere}.ob-gang-member figcaption small{display:block;font-size:13px;font-weight:400;margin-top:4px}.ob-gang-member .ob-button{font-size:14px;margin-top:8px;padding:8px 16px;min-height:40px}
.ob-gang-members.is-compact{display:flex;justify-content:center;gap:6px}.ob-gang-members.is-compact .ob-gang-member{flex:1;max-width:100px}.ob-gang-members.is-compact .ob-gang-member figcaption{font-size:13px}.ob-gang-members.is-compact .ob-chart-unit,.ob-gang-members.is-compact .ob-chart-line b{display:none}
.ob-gang-feature{background:#eeeedf;border:1px solid var(--ob-line,#ccc8b4);border-radius:8px;padding:18px;margin-top:18px}.ob-gang-feature>button{display:block;border:0;background:none;color:inherit;font:inherit;text-align:left;padding:0 0 16px;cursor:pointer}.ob-gang-feature>button strong{font-size:24px;overflow-wrap:anywhere;display:block}.ob-gang-feature>button span{display:block;font-size:14px;margin-top:5px}
.ob-gang-rules{border-top:1px solid var(--ob-line,#ccc8b4);padding-top:18px;margin-top:20px}.ob-gang-rules summary,.ob-gang-settings summary,.ob-gang-leave summary{cursor:pointer;font-size:15px;font-weight:700;min-height:44px;align-content:center}
.ob-gang-lead-copy{flex:1;min-width:0}.ob-gang-lead-copy p{font-size:12px;margin:0 0 5px}.ob-gang-lead-copy>button{display:block;text-align:left;background:none;border:0;padding:0;font:inherit;font-size:20px;font-weight:700;line-height:1.2;color:inherit;cursor:pointer;overflow-wrap:anywhere}.ob-gang-lead-copy>span{font-size:13px;display:block;margin-top:5px}
.ob-gang-you:empty{display:none}.ob-gang-you{font-size:14px;line-height:1.5;margin:10px 0}.ob-gang-you a{color:inherit}
.ob-gang-dialog{width:min(700px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:28px;box-sizing:border-box;color:var(--ob-ink,#29281f)}.ob-gang-dialog>.ob-close{float:right;margin:-8px -8px 4px 12px}.ob-gang-dialog h2{overflow-wrap:anywhere;padding-right:28px;margin-top:0}.ob-gang-dialog .ob-check{margin:20px 0}.ob-gang-dialog .ob-field{margin:16px 0}.ob-gang-dialog .ob-gang-members{margin:22px 0}.ob-gang-popup-score{font-size:16px}
.ob-gang-dialog .ob-gang-member figcaption{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:calc(2.6em + 52px)}.ob-gang-dialog .ob-gang-member .ob-button{display:block;flex-shrink:0;margin:8px 0 0;min-height:44px}
.ob-gang-entry{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:18px 0;border-block:1px solid var(--ob-line,#ccc8b4);margin:24px 0}.ob-gang-entry p{font-size:15px;margin:5px 0 0}.ob-gang-invitations{flex-basis:100%}
.ob-gang-account{padding:24px}.ob-gang-account h2{overflow-wrap:anywhere}.ob-gang-score{display:flex;gap:36px;padding:16px 0;margin:10px 0}.ob-gang-score p{margin:0}.ob-gang-score span{display:block;font-size:14px;margin-bottom:5px}.ob-gang-score strong{font-size:32px;line-height:1.1}.ob-gang-score small{font-size:16px;font-weight:400}.ob-gang-eligibility{border-left:3px solid #936738;padding:8px 14px;background:#eee8da}.ob-gang-eligibility.is-ready{border-color:var(--ob-olive,#4c5229)}
.ob-gang-account>.ob-gang-members{max-width:670px;margin:16px 0}.ob-gang-invite,.ob-gang-settings,.ob-gang-leave{border-top:1px solid var(--ob-line,#ccc8b4);padding-top:18px;margin-top:24px}.ob-gang-invite form{margin:20px 0}.ob-gang-invite .ob-field{max-width:600px}.ob-gang-invite input{min-width:0;width:100%;box-sizing:border-box}.ob-gang-friends{list-style:none;margin:12px 0;padding:0}.ob-gang-friends li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0}.ob-gang-account [role="status"]:empty{display:none}
@media(max-width:600px){
 .ob-tabs [role="tab"]{padding:10px 6px;font-size:13px}.ob-gang-panel{padding:18px 14px}.ob-gang-panel .ob-gang-row>button{gap:8px;padding-inline:0}.ob-gang-row>button>b{font-size:18px}.ob-gang-dialog{padding:22px 18px}.ob-gang-dialog .ob-gang-members{gap:14px 8px}.ob-gang-member figcaption{font-size:14px}.ob-gang-members.is-compact .ob-gang-member figcaption{font-size:12px}.ob-gang-lead-copy>button{font-size:17px}.ob-gang-board-head .ob-button{padding:10px 12px;font-size:14px}.ob-gang-board-head h3{font-size:21px}
}

@media(max-width:600px){.ob-gang-account{padding:20px 16px}}
/* One selected race: its card by the list. */
.ob-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:flex-start}
.ob-tabs #ob-tab-month,.ob-tabs #ob-tab-total,.ob-tabs #ob-tab-gang{flex:1 0 auto;white-space:nowrap;padding:12px 10px;font-size:13px;line-height:1.2}
.ob-board>.ob-leaders{display:block;margin:18px 0 24px}.ob-leaders[hidden],.ob-leaders .ob-leader[hidden]{display:none!important}
.ob-board>.ob-leaders .ob-leader{max-width:680px;margin-inline:auto}
.ob-gang-banner{--ob-paper:#fff8ee;--ob-olive:#4c5229;background:#f2ecd9;border:1px solid #c4b790;border-radius:10px;padding:16px;margin:16px 0;color:#27271e}
.ob-gang-banner[hidden]{display:none}.ob-gang-banner>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.ob-gang-banner p{margin:0 0 8px}.ob-gang-banner [role=status]:empty{display:none}
.ob-gang-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.ob-gang-banner .ob-button{font:inherit;min-height:44px;border:1px solid #4c5229;border-radius:4px;padding:10px 14px;background:#4c5229;color:#fff;cursor:pointer}.ob-gang-banner .ob-secondary{background:transparent;color:#27271e}
.ob-gang-account{padding:20px 0;border-top:1px solid var(--ob-line,#ccc8b4)}.ob-gang-account[hidden]{display:none}
.ob-gift-cards{padding:22px 0;border-top:1px solid var(--ob-line,#ccc8b4);margin-top:24px}.ob-gift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.ob-gift-card{border:1px solid var(--ob-line,#ccc8b4);border-radius:8px;padding:20px;text-align:center}.ob-gift-card h4{font-size:32px;margin:12px 0}.ob-gift-qr{display:block;width:min(220px,100%);height:auto;margin:16px auto}
@media(max-width:600px){.ob-gang-banner>div{display:block}.ob-gang-banner>div+div{border-top:1px solid #c4b790;margin-top:16px;padding-top:16px}.ob-gang-account{padding:20px 0}.ob-tabs #ob-tab-month,.ob-tabs #ob-tab-total,.ob-tabs #ob-tab-gang{font-size:13px}}
.ob-race-switch{display:flex;align-items:stretch;gap:6px;min-width:0;margin:8px 0 14px}.ob-race-switch[hidden]{display:none}.ob-race-switch .ob-tabs{flex:1;min-width:0;margin:0}
.ob-race-next{flex:0 0 40px;min-height:44px;border:1px solid #cbd0af;border-radius:8px;background:#e8e9d8;color:var(--ob-ink);font-size:28px;cursor:pointer}.ob-race-next[hidden]{display:none}.ob-race-next:hover{background:#daddbe}

/* SOL 127: one compact purchase path, with full rules in the versioned terms. */
#ob-dialog{width:min(540px,calc(100% - 24px));padding:18px;line-height:1.35}
#ob-dialog .ob-dialog-top{align-items:center;gap:10px}
#ob-dialog .ob-dialog-top h2{margin:0;font-size:23px;line-height:1.15}
#ob-dialog p{margin:8px 0}
#ob-dialog #ob-target-summary{font-size:14px;color:var(--ob-olive)}
#ob-dialog .ob-self-bid-targets{margin:10px 0;padding:0;border:0;background:none}
#ob-dialog .ob-self-bid-race{padding:0;border:0}
#ob-dialog .ob-self-bid-race p{margin:5px 0;font-size:14px}
#ob-dialog .ob-field{font-size:15px}
#ob-dialog .ob-field input{margin-top:5px;min-height:44px;padding:8px 12px;font-size:18px}
#ob-dialog .ob-amount-help{font-size:12px;color:#655e50}
#ob-dialog .ob-purchase-summary{padding:8px 10px;font-size:14px}
#ob-dialog .ob-check{min-height:44px;padding:8px 0;gap:9px;font-size:14px;line-height:1.35;align-items:center}
#ob-dialog .ob-check input{width:20px;height:20px}
#ob-dialog .ob-dialog-rules{font-size:12px;line-height:1.35;color:#655e50}
#ob-dialog #ob-confirm{padding:0;border:0;background:none;font-size:inherit}
#ob-dialog .ob-submit{margin-top:8px;position:static;box-shadow:none;font-size:16px;min-height:44px}
#ob-dialog .ob-feedback:empty{display:none}
@media(max-width:760px){#ob-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:14px;padding:14px}#ob-dialog .ob-dialog-top h2{font-size:21px}}
#ob-dialog .ob-check a{text-decoration:underline;text-underline-offset:2px}

/* List photos reserve their space before lazy loading and for accounts without consent. */
.ob-person-name{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:36px;text-align:left}
.ob-person-name>.ob-name,.ob-person-name>span:last-child{min-width:0;overflow-wrap:anywhere}
.ob-list-photo{position:relative;display:block;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border-radius:8px;background:#e8dfcd}
.ob-list-initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 12px/1 var(--font-body,Arial,sans-serif);color:var(--colour-olive,#4c5229)}
.ob-podium-portrait .ob-list-initials{font-size:24px}
.ob-list-photo:has(img[data-thumbnail-state="complete"]) .ob-list-initials{visibility:hidden}
.ob-list-photo img[data-thumbnail-state="pending"],.ob-list-photo img[data-thumbnail-state="placeholder"]{visibility:hidden}
.ob-list-photo img{position:relative;display:block;width:36px;height:36px;object-fit:cover;border-radius:8px;background:#e8dfcd}
.ob-list-consent{margin:16px 0;padding:16px;border:1px solid var(--ob-line);border-radius:10px;background:#eeeedf}
.ob-list-consent p{font-size:14px;line-height:1.5}
.ob-list-consent .ob-button{white-space:normal;text-align:left}
.ob-gang-member figcaption>.ob-person-name{width:100%;justify-content:flex-start}
@media(max-width:760px){.ob-person-name{gap:6px}.ob-list-consent{padding:12px}.ob-podium{margin-inline:0;padding-inline:0}}
/* One shared Monthly Gang frame on Outbid and the phone Most Wanted page. */
.ob-gang-frame{width:min(1020px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:32px;background:#fff8ee;border:2px solid #8d7d60;border-radius:12px;font-size:16px;box-shadow:0 20px 90px #100b0866}
.ob-gang-frame>.ob-close{position:absolute;right:18px;top:18px;margin:0;float:none;background:#fff8ee;z-index:2}
.ob-gang-frame-head{padding:8px 48px 22px 0;border-bottom:2px solid #a8997b}
.ob-gang-frame .ob-gang-frame-head .ob-eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;color:#5b1f33;margin:0 0 12px}
.ob-gang-frame .ob-gang-frame-head h2{font:900 clamp(34px,5vw,64px)/1.03 var(--font-display,Impact,sans-serif);letter-spacing:-.015em;margin:0;text-transform:uppercase;padding:0;overflow-wrap:anywhere}
.ob-gang-frame .ob-gang-frame-month{font-size:16px;margin:12px 0 0;color:#655b48;text-transform:capitalize}
.ob-gang-frame-score{display:flex;align-items:start;gap:32px;border-bottom:1px solid #c7bda9;padding:18px 0}
.ob-gang-frame .ob-gang-frame-score p{margin:0;line-height:1.2}
.ob-gang-frame-score span{display:block;font-size:13px;margin-bottom:8px;color:#655b48}
.ob-gang-frame-score strong{font:900 clamp(26px,4vw,40px)/1.05 var(--font-display,Impact,sans-serif);color:#4c5229;font-variant-numeric:tabular-nums}
.ob-gang-frame-score small{font:400 16px var(--font-body,Arial,sans-serif)}
.ob-gang-frame .ob-gang-members{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 16px;margin:24px 0}
.ob-gang-frame .ob-gang-members[data-members="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}
.ob-gang-frame .ob-gang-members[data-members="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.ob-gang-frame .ob-gang-members[data-members="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.ob-gang-frame .ob-gang-members[data-members="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.ob-gang-frame .ob-gang-members[data-members="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.ob-gang-frame .ob-gang-character{aspect-ratio:4/5;border:1px solid #c7bda9;border-radius:4px;background:#eee5d3}
.ob-gang-frame .ob-gang-member figcaption{font-size:17px;line-height:1.25;min-height:88px;gap:4px}
.ob-gang-frame .ob-gang-member figcaption>.ob-person-name{justify-content:center;min-height:2.5em}
.ob-gang-frame .ob-gang-member .ob-button{min-height:44px;margin-top:4px;padding:8px 24px;font-size:16px}
.ob-gang-frame-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:2px solid #a8997b;padding-top:18px}
.ob-gang-frame .ob-gang-frame-footer p{margin:0;font-size:15px;line-height:1.4;max-width:40ch}
.ob-gang-frame-footer button{flex:none;min-height:44px}
.ob-gang-frame .ob-feedback{margin:12px 0 0;font-size:15px}
.ob-gang-frame .ob-feedback:empty{display:none}
.ob-gang-frame [data-gang-share-fallback]{font-size:15px}
.ob-gang-frame [data-gang-share-fallback] input{width:100%;min-width:0}
.ob-gang-nudge{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#eee8da;border-left:3px solid #936738;padding:14px 16px;margin:16px 0}
.ob-gang-account .ob-gang-nudge p{margin:0;font-size:16px;line-height:1.45}
.ob-gang-nudge button{flex:none;min-height:44px}
@media(max-width:760px){
 .ob-gang-frame{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px}
 .ob-gang-frame>.ob-close{right:12px;top:12px}
 .ob-gang-frame-head{padding-right:42px;padding-bottom:18px}
 .ob-gang-frame .ob-gang-frame-head .ob-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:12px}
 .ob-gang-frame .ob-gang-frame-head h2{font-size:35px}
 .ob-gang-frame-score{gap:24px;padding:16px 0}
 .ob-gang-frame-score strong{font-size:29px}.ob-gang-frame-score small{font-size:13px}
 .ob-gang-frame .ob-gang-members[data-members]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin:20px 0}
 .ob-gang-frame .ob-gang-member figcaption{font-size:15px;min-height:88px}
 .ob-gang-frame-footer{align-items:start;flex-direction:column;gap:14px}
 .ob-gang-frame-footer button{width:100%}
 .ob-gang-nudge{align-items:start;flex-direction:column;gap:12px}
}
@media(max-width:760px){
 .mw-gang .ob-gang-lead-copy h2>button{display:block;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
}
@media(min-width:761px){.mw-gang .ob-gang-lead-copy h2>button{padding:0;background:none;border:0;color:inherit;font:inherit;pointer-events:none}}
.ob-bid-nudge{display:flex;align-items:center;gap:12px;padding:12px 14px;border-left:3px solid #936738;background:#eee8da;font-size:14px;line-height:1.45;margin:12px 0}
.ob-bid-nudge[hidden]{display:none!important}
.ob-bid-nudge>span{flex:1;min-width:0}
.ob-bid-nudge>a,.ob-bid-nudge>button{flex:none;min-height:44px}
.ob-you:has(.ob-bid-nudge){flex-wrap:wrap}
.ob-you>.ob-bid-nudge{flex-basis:100%;margin-bottom:0}
@media(max-width:600px){.ob-bid-nudge{align-items:start}.ob-bid-nudge>a,.ob-bid-nudge>button{padding-inline:14px}}
.ob-gang-name-button{background:none;color:inherit;border:0;padding:0;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:5px;cursor:pointer;overflow-wrap:anywhere}
/* Upload status and the compact account card have different inherited controls. */
.ob-bid-nudge{font-weight:400;color:var(--ob-ink,#29281f)}
.account-outbid .ob-bid-nudge>.ob-button,.ob-bid-nudge>.ob-button{width:auto;color:var(--ob-paper,#fff8ee)!important;align-self:center}
.ob-hidden-name-nudge{display:grid;grid-template-columns:minmax(0,1fr) auto}
.ob-hidden-name-nudge>span{overflow-wrap:anywhere}
.ob-hidden-name-how,.ob-hidden-name-status{grid-column:1/-1;margin:0!important}
.ob-hidden-name-how>summary{min-height:44px;display:list-item;cursor:pointer;font-weight:700;color:var(--ob-olive,#545e35);padding-block:10px}
.ob-hidden-name-how>p{margin:0 0 6px!important;font-size:14px!important;line-height:1.5}
.ob-hidden-name-status:empty{display:none}
@media(max-width:600px){.ob-hidden-name-nudge{grid-template-columns:minmax(0,1fr)}.ob-hidden-name-nudge>.ob-button{justify-self:start}}

/* SOL 132: the gang name opens the full member frame. */
.ob-gang-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;text-align:left;padding:12px 8px;box-sizing:border-box}
.ob-gang-row-name{display:block;border:0;background:none;color:inherit;padding:0;min-height:44px;max-width:100%;font:inherit;font-weight:700;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.ob-gang-row-name:hover{text-decoration:underline;text-underline-offset:3px}
.ob-gang-row-name:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.ob-gang-frame .ob-gang-frame-status{font-size:16px;margin:16px 0 0}
.ob-gang-frame .ob-gang-frame-bid-help{font-size:15px;line-height:1.45;margin:12px 0 0}
@media(max-width:700px){.ob-gang-panel .ob-gang-row{gap:8px;padding-inline:0}.ob-gang-row>b{font-size:18px}}

/* SOL 132: a consented can beside the chosen person, with compact guest details. */
#ob-dialog.has-bid-preview{width:min(650px,calc(100% - 24px))}
#ob-dialog .ob-bid-intro{display:block;margin:8px 0}
#ob-dialog.has-bid-preview .ob-bid-intro{display:grid;grid-template-columns:115px minmax(0,1fr);align-items:center;gap:16px}
#ob-dialog #ob-bid-preview{margin:0;text-align:center}
#ob-dialog #ob-bid-preview .ob-live-can{width:105px;margin:0 auto}
#ob-dialog #ob-bid-preview .ob-live-can:has(>.ob-can-recovery:not([hidden])){overflow:visible;margin-bottom:44px}
#ob-dialog #ob-bid-preview .ob-live-can:has(>.ob-can-recovery button:not([hidden])){margin-bottom:100px}
#ob-dialog #ob-bid-preview .ob-can-recovery{inset:100% 0 auto;padding:6px 4px;font-size:11px}
#ob-dialog #ob-bid-preview figcaption{font-size:11px;line-height:1.25;margin:4px 0 0;color:#655e50}
#ob-dialog .ob-bid-target-copy{min-width:0}
#ob-dialog .ob-bid-target-copy #ob-target-summary{margin:0 0 6px;overflow-wrap:anywhere}
#ob-dialog .ob-guest-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;border:0;padding:0;margin:8px 0 12px;min-width:0}
#ob-dialog .ob-guest-fields .ob-field{display:block;min-width:0;font-size:13px}
#ob-dialog .ob-guest-fields input{width:100%;font-size:16px}
#ob-dialog .ob-guest-signin{font-size:12px;text-align:center;margin:10px 0 0}
@media(max-width:760px){
 #ob-dialog.has-bid-preview{width:calc(100% - 16px)}
 #ob-dialog.has-bid-preview .ob-bid-intro{grid-template-columns:108px minmax(0,1fr);gap:12px}
 #ob-dialog #ob-bid-preview .ob-live-can{width:101px}
 #ob-dialog .ob-bid-target-copy #ob-target-summary{font-size:13px}
 #ob-dialog .ob-bid-target-copy .ob-self-bid-race p,#ob-dialog .ob-bid-target-copy .ob-self-bid-targets p{font-size:12px}
 #ob-dialog .ob-bid-target-copy #ob-gang-bid-note{font-size:11px}
}

#ob-dialog .ob-guest-name-option summary{font-size:12px;cursor:pointer;min-height:24px;padding:4px 0}
#ob-dialog.is-guest-bid .ob-bid-fields{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:0 12px;align-items:start}
#ob-dialog.is-guest-bid .ob-guest-fields{grid-column:1;grid-row:1/4;margin:0}
#ob-dialog.is-guest-bid .ob-bid-fields>label,#ob-dialog.is-guest-bid .ob-bid-fields>.ob-field,#ob-dialog.is-guest-bid .ob-bid-fields>.ob-amount-help{grid-column:2;margin:0}
#ob-dialog.is-guest-bid .ob-bid-fields>label{font-size:13px}
#ob-dialog.is-guest-bid .ob-bid-fields>.ob-amount-help{font-size:10px;margin-top:3px}
@media(max-width:760px){
 #ob-dialog p{margin:6px 0}
 #ob-dialog.is-guest-bid .ob-dialog-rules{font-size:11px;line-height:1.3}
 #ob-dialog.is-guest-bid .ob-purchase-summary{font-size:13px;padding:6px 8px}
 #ob-dialog.is-guest-bid .ob-check{padding-block:6px}
}

/* Staff uses the member editor's exact card, canvas and controls. */
.ob-admin-photo-editor{container-type:inline-size;max-width:100%;padding:18px;background:var(--ob-paper,#fff8ee);border:1px solid var(--ob-line,#c7bda9);border-radius:10px}
.ob-admin-photo-editor .ob-photo-editor{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px}
.ob-admin-photo-editor .ob-photo-stage{position:sticky;top:16px}
.ob-admin-photo-editor .ob-photo-controls{min-width:0}
.ob-admin-photo-editor .ob-character-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));max-height:270px;overflow-y:auto;padding:4px}
.ob-admin-photo-editor .ob-hat-list{max-height:230px}
.ob-admin-photo-editor .ob-photo-controls :is(button,.ob-photo-file){min-height:44px}
.ob-admin-photo-editor .ob-photo-controls .ob-no-skin{margin:12px 0 0}
.ob-admin-photo-editor .ob-no-skin-help{font-size:14px;margin:4px 0 12px}
.ob-admin-photo-editor .ob-photo-save{width:100%;margin-top:16px}
.ob-admin-photo-editor .ob-photo-paste{display:none}
.ob-booking-no-skin{position:relative;overflow:hidden;aspect-ratio:4/5;background:#fff}
.ob-booking-no-skin>img,.ob-booking-no-skin>canvas{position:relative;z-index:1;display:block;width:100%!important;height:100%!important;aspect-ratio:4/5!important;object-fit:contain!important;filter:none!important}
@container(max-width:680px){
 .ob-admin-photo-editor .ob-photo-editor{grid-template-columns:minmax(0,1fr)}
 .ob-admin-photo-editor .ob-photo-stage{position:static}
 .ob-admin-photo-editor .ob-photo-poster-wrap{max-width:290px;margin-inline:auto}
 .ob-admin-photo-editor.is-editing .ob-photo-stage{position:sticky;top:8px;z-index:5;justify-self:center;width:180px;background:var(--ob-paper);padding-bottom:8px;border-radius:8px;box-shadow:0 3px 8px #29281f18;pointer-events:none}
 .ob-admin-photo-editor.is-editing .ob-photo-stage .ob-wanted-art{pointer-events:auto}
 .ob-admin-photo-editor.is-editing .ob-photo-controls :is(input,button,label){scroll-margin-top:290px}
 .ob-admin-photo-editor.is-editing .ob-photo-poster-wrap .ob-leader.has-poster{padding:0 12px 10px}
 .ob-admin-photo-editor.is-editing .ob-photo-poster-wrap .ob-wanted-title{display:none}
 .ob-admin-photo-editor .ob-character-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ob-admin-photo-editor .ob-hat-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Larger square tiles contain the whole saved composite, including tall hats. */
.ob-podium .ob-poster{grid-template-columns:108px minmax(0,1fr)}
.ob-podium-portrait{width:108px;height:108px;aspect-ratio:1;border-radius:12px}
.ob-podium-portrait .ob-list-photo img{object-fit:contain;object-position:center}
@media(min-width:700px){
 .ob-podium .ob-poster{padding-top:24px}
 .ob-podium .ob-podium-portrait,.ob-podium .is-place-1 .ob-podium-portrait{width:min(100%,160px);height:auto;aspect-ratio:1}
}
@media(max-width:430px){
 .ob-podium .ob-poster{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px}
 .ob-podium-portrait{width:96px;height:96px}
 .ob-podium .ob-poster .ob-place{top:6px;left:6px;width:28px;height:28px;font-size:13px}
}
/* Keep the complete portrait and its sign in flow; the negative sign overlap
   previously removed the lower character and could cover a beard/collar. */
.ob-wanted:has(.ob-booking-character)>.ob-booking-placard{margin-top:0}
.ob-wanted>.ob-booking-placard{margin-inline:0}
.ob-booking-character:not(.ob-booking-composite) .ob-booking-bust{left:0;top:0;width:100%;height:100%}
.ob-booking-character:not(.ob-booking-composite) .ob-booking-bust>.ob-wanted-character{inset:0;width:100%;height:100%;object-fit:contain}
.ob-live-can .ob-booking-placard{margin-top:0}
/* Localised leader headings wrap inside their own card at narrow widths. */
.ob-leaders .ob-wanted-title-head{font-size:clamp(30px,8.3vw,54px);overflow-wrap:anywhere;hyphens:auto;max-width:100%}

/* Each paid Bid uses the existing tank, with a quiet label in the page palette. */
.ob-tank-bid{box-sizing:border-box;width:90%;max-width:440px;margin:10px auto 12px;padding:12px 18px;border:2px solid var(--ob-olive);border-radius:8px;background:var(--ob-paper);color:var(--ob-olive);text-align:center;line-height:1.35;overflow-wrap:anywhere}
.ob-tank-bid[hidden]{display:none}
.ob-tank-bid small,.ob-tank-bid strong,.ob-tank-bid span{display:block}
.ob-tank-bid small{font-size:13px;font-weight:700}
.ob-tank-bid strong{font-size:26px;margin:3px 0;font-weight:800}
.ob-tank-bid span{font-size:20px;font-variant-numeric:tabular-nums}
.ob-tank-bid.is-reward{background:var(--ob-olive);color:var(--ob-paper);box-shadow:0 0 0 7px #545e3520}
.ob-tank-bid.is-reward strong{font-size:34px}
.has-bid-moment .ob-tank-bid{animation:ob-bid-arrive .35s ease-out both}
.ob-fund.has-bid-moment .ob-liquid{transition:none}
@keyframes ob-bid-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.ob-fund .ob-tank-bid{order:0;grid-column:1/-1;width:100%}}
@media(prefers-reduced-motion:reduce){.ob-tank-bid{animation:none!important;transition:none!important}}
/* Paid confirmation only: no modal, no focus or scroll changes, receipt links stay available. */
.ob-bid-reward{--ob-paper:var(--colour-paper,#fff8ee);--ob-olive:var(--colour-olive,#4c5229);--ob-ink:#29281f;--ob-berry:#5b1f33;max-width:480px;margin:24px 0;color:var(--ob-ink);font-family:var(--font-body,Arial,sans-serif)}
.ob-bid-reward .ob-tank-stage{max-width:340px;margin:0 auto}
.ob-bid-reward .ob-tank-bid{width:calc(100% - 14px)}
.ob-bid-reward .ob-liquid{transition:none}
.ob-bid-reward .ob-reward-level{text-align:center;font-size:15px;margin:8px 0}
.ob-bid-reward.is-reward-moving .ob-halo{transform-origin:262px 313px;animation:ob-reward-halo 1.1s ease-in-out 3}
.ob-bid-reward.is-reward-moving .ob-crown{display:inline;transform-origin:260px 60px;animation:ob-reward-foam 3.2s ease-out both}
@keyframes ob-reward-halo{50%{transform:scale(1.07)}}
@keyframes ob-reward-foam{0%,15%{opacity:0;transform:scale(.7)}45%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.95)}}
@media(prefers-reduced-motion:reduce){.ob-bid-reward *{animation:none!important;transition:none!important}}

/* Preserve the announcement colours above Outbid's inherited link theme. */
.outbid-page .festival-ticket-banner{color:#fff8ee}
.outbid-page .festival-ticket-banner:focus-visible{outline:3px solid currentColor;outline-offset:-3px}
/* A completed server portrait shares the saved podium composition, without another face filter. */
.ob-live-can .ob-can-composite,.ob-live-can .ob-can-placeholder{display:block;aspect-ratio:4/5;overflow:hidden}
.ob-live-can .ob-can-composite>img,.ob-live-can .ob-can-placeholder>img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.ob-live-can .ob-can-composite>.ob-can-placeholder{width:100%;height:100%}
/* Explicit score periods remain readable beside long names on narrow screens. */
.ob-sticky-who{flex-wrap:wrap;white-space:normal;row-gap:1px}
.ob-sticky-who .ob-ellipsis{flex:1 1 5em;white-space:nowrap}
.ob-sticky-points{font-size:11px}
