/* Stemmen — page furniture only. The finale arena and the round-two rail are Coral's approved components,
 * styled by /filmmaand/site/finale.css (loaded before this file). This file adds: heading, action bar, the hover
 * description, the search/eigen-thema controls, the stamp in flight, and the plain Bedankt fallback. */
#stemmen{margin:0 4vw;padding:26px 0 20px;color:#191919;font:13px/1.6 Everett,Arial,sans-serif;-webkit-font-smoothing:antialiased}
#stemmen *{box-sizing:border-box}
#stemmen button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
#stemmen img{display:block}
#stemmen [hidden]{display:none!important}
#stemmen .st-loading{padding:80px 0;color:#888;font-size:12px}

/* Heading — a prompt, not a poster */
#stemmen .st-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 0 26px}
#stemmen .st-kicker{display:block;font:400 10px/1.4 Everett,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#777}
#stemmen .st-title{font:300 clamp(34px,4vw,56px)/1.04 'Canela Trial',Georgia,serif;letter-spacing:-.03em;margin:8px 0 0;color:#141414}
#stemmen .st-total{font:400 12px/1.4 Everett,Arial,sans-serif;color:#777;white-space:nowrap;padding-bottom:9px;margin:0}
#stemmen .st-total strong{font:300 26px/1 'Canela Trial',Georgia,serif;color:#191919;margin-right:7px;letter-spacing:-.02em}

body.st-no-strip .site-shell-strip{display:none!important}
/* No resizing after the reveal: equal tiles, the share as a bar along the bottom, the leader lifts */
#stemmen .battle-scene{height:410px!important}
#stemmen .people-view .battle-lane.battle-leading .battle-scene{transform:translateY(-8px)}
#stemmen .st-share{position:absolute;left:0;bottom:0;height:5px;width:0;background:rgba(255,255,255,.92);z-index:3;transition:width .9s cubic-bezier(.2,.8,.2,1)}
#stemmen .battle-leading .st-share{background:#e2c063}
#stemmen .battle-title{bottom:34px}
#stemmen .st-cta{min-width:200px;justify-content:space-between;transition:background .35s,color .35s,transform .15s}
#stemmen .st-cta.is-next{background:#2f5a3b}
#stemmen .st-cta.is-next:hover{background:#3b6f49}
#stemmen .st-cta[hidden]{display:none!important}
/* The ballot: a step header, one prompt, three answer tiles. The tile is the control. */
#stemmen .st-steps{display:flex;gap:10px;margin:0 0 22px}
#stemmen .st-step{display:flex;flex-direction:column;gap:8px;flex:1;max-width:200px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#a3a59c}
#stemmen .st-step i{display:block;height:3px;background:#e4e5df;border-radius:2px;transition:background .3s}
#stemmen .st-step.is-active{color:#191919}#stemmen .st-step.is-active i,#stemmen .st-step.is-done i{background:#191919}
#stemmen .st-prompt{margin:0 0 20px;font:400 clamp(26px,2.6vw,36px)/1.1 'Canela Trial',Georgia,serif;letter-spacing:-.025em;color:#141414}
#stemmen .st-mark{position:absolute;right:16px;bottom:16px;width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:rgba(0,0,0,.28);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#191919;z-index:3;transition:background .2s,transform .2s,border-color .2s}
#stemmen .st-mark svg{width:18px;height:18px;opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s cubic-bezier(.3,1.3,.5,1)}
#stemmen .battle-lane.is-mine .st-mark{background:#fff;border-color:#fff}
#stemmen .battle-lane.is-mine .st-mark svg{opacity:1;transform:none}
#stemmen .battle-scene:focus-visible{outline:3px solid #191919;outline-offset:3px}
#stemmen .battle-scene:active{transform:scale(.985)}
#stemmen .battle-lane.is-mine .battle-scene::after{content:'';position:absolute;inset:0;border:3px solid #fff;border-radius:inherit;pointer-events:none;z-index:2}
#stemmen .people-view:not(.is-revealed).has-choice .battle-lane:not(.is-mine) .battle-still{filter:brightness(.8) saturate(.85)}
#stemmen .people-view:not(.is-revealed) .battle-people{min-height:0;margin-top:0}
#stemmen .st-ballot .st-bar .st-button{height:52px;padding:0 24px;font-size:13px}
/* Three equal cards, floating — not a band. After the reveal they still share width by vote. */
#stemmen .battle-arena{gap:clamp(14px,1.8vw,26px);padding:10px 0 0}
#stemmen .battle-scene{border-radius:10px;box-shadow:0 12px 32px #0000001f;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,height .55s cubic-bezier(.2,.8,.2,1)}
body.can-vote #stemmen .people-view:not(.is-revealed) .battle-lane:hover .battle-scene{transform:translateY(-6px);box-shadow:0 22px 44px #00000029}
#stemmen .battle-lane{transition:flex-grow .85s cubic-bezier(.2,.75,.2,1)}
#stemmen .st-screen.st-enter{animation:st-enter .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes st-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#stemmen .st-bar.is-idle{border-top-color:transparent;min-height:46px}
#stemmen .st-demo{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#9a9c92;margin-right:auto}
#stemmen .fin-round-rule{display:flex;align-items:center;gap:16px;margin:0 0 22px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8a8d82}
#stemmen .fin-round-rule::before,#stemmen .fin-round-rule::after{content:'';flex:1;height:1px;background:#d6d8d0}

/* Arena additions on top of finale.css: the description on hover, reveal motion, disabled state */
#stemmen .battle-scene .st-desc{position:absolute;left:23px;right:18px;bottom:96px;margin:0;max-width:44ch;font-size:12px;line-height:1.7;color:rgba(255,255,255,.92);text-shadow:0 1px 10px rgba(0,0,0,.6);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none}
#stemmen .battle-lane:hover .st-desc,#stemmen .battle-lane:focus-within .st-desc{opacity:1;transform:none}
#stemmen .battle-scene .fin-seal{color:#fff}
#stemmen .battle-vote:disabled{cursor:default;opacity:.7}
#stemmen .battle-more{display:flex;align-items:center;justify-content:center;font:400 10px Everett,Arial,sans-serif;color:#555}
#stemmen .battle-person img[hidden]{display:none}
#stemmen .battle-person:not(:has(img:not([hidden]))){background:#f3f1ea;border:1px solid #0000002e}
#stemmen .st-revealing .battle-person{animation:st-rise .38s cubic-bezier(.2,.8,.2,1) both}
#stemmen .st-revealing .battle-number,#stemmen .st-revealing .fin-card-count{animation:st-rise .5s .1s cubic-bezier(.2,.8,.2,1) both}
#stemmen .st-revealing .fin-seal{animation:st-pop .42s .2s cubic-bezier(.3,1.4,.5,1) both}
@keyframes st-pop{from{opacity:0;transform:scale(1.42) rotate(-9deg)}62%{opacity:1;transform:scale(.94) rotate(2deg)}to{opacity:1;transform:none}}
@keyframes st-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#stemmen .battle-lane time{display:block;font:400 clamp(18px,1.9vw,26px)/1.15 'Canela Trial',Georgia,serif;letter-spacing:-.02em;color:#fff;margin:0 0 8px}


/* Coral's vote button, restated after the page reset (an id selector beats finale.css's class rules) */
#stemmen .battle-vote{width:100%;min-height:47px;border:1px solid #d2d2ce;border-radius:4px;font-size:12px;font-weight:500;background:#fff;color:#191919;transition:background .18s,border-color .18s,transform .09s}
#stemmen .battle-vote:hover:not(:disabled){border-color:#191919}
#stemmen .battle-vote[aria-pressed=true]{background:#263c2c;color:#fff;border-color:#263c2c}
#stemmen .battle-vote:focus-visible{outline:2px solid #191919;outline-offset:3px}
/* Before your own vote there is no crowd: the button sits right under the still */
#stemmen .battle-people{transition:min-height .45s cubic-bezier(.2,.8,.2,1)}
#stemmen .battle-people.is-empty{min-height:0;margin-top:0}
@media(max-width:750px){
 /* phones: the answers stack, one wide tile each; the leader grows in height, not width */
 #stemmen .battle-arena{flex-direction:column;gap:12px;padding-top:4px}
 #stemmen .battle-lane{flex:none!important;min-width:0;width:100%}
 #stemmen .battle-scene{height:188px!important;border-radius:8px}
 #stemmen .people-view .battle-lane.battle-leading .battle-scene{transform:none}
 #stemmen .battle-title{bottom:22px}
 #stemmen .battle-title{left:16px;right:64px;bottom:16px}
 #stemmen .battle-title h2{font-size:24px;line-height:1.05}
 #stemmen .battle-title p{display:block;font-size:10px;margin-top:4px}
 #stemmen .battle-number{top:12px;left:16px;display:flex;align-items:baseline;gap:6px}
 #stemmen .battle-number strong{font-size:40px}
 #stemmen .battle-number span{font-size:9px;margin:0}
 #stemmen .fin-seal{width:72px;height:72px;top:8px;right:8px}
 #stemmen .st-mark{right:14px;bottom:14px}
 #stemmen .battle-people{margin:-8px 10px 0;min-height:0;gap:5px}
 #stemmen .people-view.is-revealed .battle-people{min-height:44px;margin-bottom:6px}
 #stemmen .people-view .battle-lane.battle-leading .battle-person{width:32px;height:32px}
}

/* Round two: a page — header with the pick restated, one search field with two depths, grouped grid */
#stemmen .st-r2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:6px 0 28px}
#stemmen .st-lead{margin:14px 0 0;max-width:52ch;font-size:13px;line-height:1.7;color:#4d4945}
#stemmen .fin-mypick{display:flex;align-items:center;gap:14px;flex:none;padding:10px 14px 10px 10px;border:1px solid #deded8;background:#fff}
#stemmen .fin-mypick-art{width:44px;height:66px;background:#f3f1ea;flex:none;overflow:hidden}
#stemmen .fin-mypick-art img{width:100%;height:100%;object-fit:cover;display:block}
#stemmen .fin-mypick-label{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8a8d82;margin-bottom:4px}
#stemmen .fin-mypick-title{font:400 16px/1.2 'Canela Trial',Georgia,serif;letter-spacing:-.015em;color:#161b14}
#stemmen .fin-rest.is-round-two{margin-top:0;padding-top:0;border-top:0}
#stemmen .st-add{display:flex;align-items:flex-start;gap:22px;margin:0 0 30px;padding-bottom:22px;border-bottom:1px solid #deded8}
#stemmen .st-search:not(.is-deep) .hp-search-results,#stemmen .st-search:not(.is-deep) .hp-search-status{display:none}
#stemmen .st-group{margin:0 0 34px}
#stemmen .st-group-title{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #deded8;font:400 10px/1.4 Everett,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#777}
#stemmen .fin-rail.is-grid{flex-wrap:wrap;overflow:visible;gap:26px 18px;padding:2px 0 6px;margin:0;scroll-snap-type:none}
#stemmen .fin-rail.is-grid .fin-card{scroll-snap-align:none}
#stemmen .fin-card[hidden]{display:none!important}
#stemmen .st-card-by{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:10px;color:#777}
#stemmen .st-card-by img{width:18px;height:18px;border-radius:3px;object-fit:contain;background:#f3f1ea;box-shadow:0 0 0 1px #0000001f}
#stemmen .st-empty{margin:0 0 26px;font-size:12px;color:#8a5a2b}
#stemmen .st-search{position:relative;flex:1 1 320px;max-width:520px}
#stemmen .hp-search-label{display:block;font-size:0;line-height:0;color:transparent}
#stemmen .hp-movie-query{display:block;width:100%;border:1px solid #d9ddd3;background:#fcfcfa;padding:12px;font:13px/1.4 Everett,Arial,sans-serif;color:#191919;-webkit-appearance:none;border-radius:0}
#stemmen .hp-movie-query:focus{outline:0;border-color:#191919}
#stemmen .hp-search-status{position:absolute;left:0;top:100%;margin:6px 0 0;font-size:11px;color:#888;white-space:nowrap}
#stemmen .hp-search-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;border:1px solid #e2e2dc;background:#fff;max-height:60vh;overflow:auto;box-shadow:0 14px 34px #0002}
#stemmen .hp-search-results[hidden]{display:none}
#stemmen .hp-search-result{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:10px 12px;border-bottom:1px solid #eeeee9}
#stemmen .hp-search-result:hover,#stemmen .hp-search-result[aria-selected=true]{background:#f5f5f1}
#stemmen .hp-result-art{position:relative;flex:none;width:40px;height:60px;background:#f3f1ea;display:flex;align-items:flex-end;justify-content:center;font-size:10px;color:#777}
#stemmen .hp-result-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#stemmen .hp-result-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
#stemmen .hp-result-copy strong{font:400 15px/1.25 'Canela Trial',Georgia,serif}
#stemmen .hp-result-copy small{font-size:10px;color:#777;line-height:1.4}
#stemmen .hp-result-existing{color:#8a5a2b}
#stemmen .hp-result-arrow{color:#999}
#stemmen .st-own{position:relative;padding-top:12px}
#stemmen .st-own summary{cursor:pointer;list-style:none;font-size:12px;border-bottom:1px solid #888;padding:4px 0;white-space:nowrap}
#stemmen .st-own summary::-webkit-details-marker{display:none}
#stemmen .st-own form{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:min(360px,86vw);background:#fff;border:1px solid #e2e2dc;box-shadow:0 14px 34px #0002;padding:16px;display:grid;gap:12px}
#stemmen .st-own label{display:block;font-size:11px;color:#777}
#stemmen .st-own input,#stemmen .st-own textarea{display:block;width:100%;margin-top:6px;border:1px solid #d9ddd3;background:#fcfcfa;padding:11px;font:13px/1.5 Everett,Arial,sans-serif;color:#191919;border-radius:0}
#stemmen .st-own textarea{min-height:80px;resize:vertical}
#stemmen .st-own input:focus,#stemmen .st-own textarea:focus{outline:0;border-color:#191919}
#stemmen .fin-card-art:disabled{cursor:default}
#stemmen .fin-card-art .fin-seal{color:#fff}

/* Action bar */
#stemmen .st-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:34px 0 0;padding-top:22px;border-top:1px solid #deded8}
#stemmen .st-bar:has(> .st-status:empty + .st-actions){justify-content:flex-end}
#stemmen .st-actions{display:flex;align-items:center;gap:26px;flex:none}
#stemmen .st-button{display:inline-flex;align-items:center;gap:34px;height:46px;background:#20221f;color:#fff;padding:0 20px;font-size:12px;text-decoration:none;transition:background .2s,transform .15s}
#stemmen .st-button:hover{background:#424a3d}
#stemmen .st-button:active{transform:scale(.98)}
#stemmen .st-button:focus-visible,#stemmen .st-text:focus-visible{outline:2px solid #191919;outline-offset:4px}
#stemmen .st-text{border-bottom:1px solid #888;padding:4px 0;color:#333;font-size:12px;text-decoration:none;white-space:nowrap}
#stemmen .st-text:hover{border-bottom-color:#191919;color:#191919}
#stemmen .st-status{font-size:11px;color:#8a5a2b}
#stemmen .st-status:empty{display:none}
#stemmen .st-status button{border-bottom:1px solid currentColor;margin-left:8px}

/* The stamp in flight */
.st-stamp{position:fixed;z-index:400;width:36px;height:36px;pointer-events:none;background:#fff;border-radius:5px;box-shadow:0 0 0 3px #fff,0 0 0 5px #c56334,0 8px 22px #0003;transform:translate(-50%,-50%)}
.st-stamp img{width:100%;height:100%;object-fit:contain;border-radius:4px;display:block}

/* Shared pieces the Bedankt module may use */
#stemmen .st-laurel{display:inline-block;width:44px;height:44px;vertical-align:middle;color:#b8902e}
#stemmen .st-laurel svg{width:100%;height:100%;display:block;overflow:visible}
#stemmen .st-laurel text{font-family:Arial,sans-serif;letter-spacing:.11em;font-weight:700}
#stemmen .st-crowd{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
#stemmen .st-person{position:relative;display:block;width:30px;height:30px;flex:none;background:#f3f1ea;border:1px solid #0000002e;border-radius:5px;box-shadow:0 0 0 2px #fff}
#stemmen .st-person img{width:100%;height:100%;object-fit:contain;border-radius:4px}
#stemmen .st-person.is-me{outline:2px solid #c56334;outline-offset:3px}

/* Bedankt fallback (the real screen is /filmmaand/stemmen/bedankt.css) */
#stemmen .st-standings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;max-width:860px}
#stemmen .st-standing .st-lead{display:flex;gap:22px;align-items:flex-end;margin-top:16px}
#stemmen .st-poster-frame{width:118px;flex:none;aspect-ratio:2/3;border:4px solid #f4f2ee;background:#fff;box-shadow:0 5px 14px #0002}
#stemmen .st-poster-frame img{width:100%;height:100%;object-fit:contain}
#stemmen .st-standing h2{font:400 clamp(20px,2vw,28px)/1.12 'Canela Trial',Georgia,serif;letter-spacing:-.02em;margin:0}
#stemmen .st-standing p{margin:6px 0 0;font-size:12px;color:#777}
#stemmen .st-none{font:300 clamp(20px,2vw,28px)/1.12 'Canela Trial',Georgia,serif;color:#999;margin:16px 0 0}
#stemmen .st-pudding{margin-top:40px;padding-top:24px;border-top:1px solid #deded8;width:100%;max-width:380px;color:#181717}
#stemmen .st-pudding h3{font:300 29px/1.12 'Canela Trial',Georgia,serif;letter-spacing:-.02em;margin:6px 0 0}
#stemmen .st-pudding-foot{display:flex;align-items:center;gap:20px;margin-top:12px}
#stemmen .st-pudding-foot button{font-size:11px;padding:8px 0;color:#181717;border-bottom:1px solid #888}
#stemmen .st-pudding-foot button:disabled{color:#aaa;cursor:default;border-color:#ddd}
#stemmen .st-pudding-foot span{font-size:10px;color:#777}
#stemmen .st-pudding figure{position:relative;margin:14px 0 0;width:100%;height:240px;background:#fff}
#stemmen .st-pudding canvas{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}
#stemmen .hp-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#888;background:#fff}
#stemmen .hp-controls{display:none!important}

@media(max-width:900px){#stemmen .st-standings{grid-template-columns:1fr;gap:34px}}
@media(max-width:750px){
 #stemmen{margin:0 6vw;padding-top:30px}
 #stemmen .st-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}
 #stemmen .st-total{padding:0}
 #stemmen .battle-scene .st-desc{display:none}
 #stemmen .st-add{flex-direction:column;gap:14px}
 #stemmen .st-r2-head{flex-direction:column;align-items:flex-start;gap:16px}
 #stemmen .st-steps{margin-bottom:16px}
 #stemmen .st-step{font-size:9px}
 #stemmen .fin-rail.is-grid{gap:18px 10px}
 #stemmen .fin-rail.is-grid .fin-card{flex-basis:calc(33.333% - 7px)!important}
 #stemmen .st-own{padding-top:0}
 #stemmen .st-own form{left:0;right:auto}
 #stemmen .st-bar{margin-top:26px;flex-wrap:wrap}
 #stemmen .st-button{gap:20px;width:100%;justify-content:space-between}
 #stemmen .st-pudding{max-width:none}
}
@media(prefers-reduced-motion:reduce){
 #stemmen .battle-scene .st-desc{transition:none}
 #stemmen .st-revealing .battle-person,#stemmen .st-revealing .battle-number,#stemmen .st-revealing .fin-card-count,#stemmen .st-revealing .fin-seal{animation:none}
}

/* Stable ballot geometry: reserve the landing row before revealing any faces. */
#stemmen .people-view .battle-people,#stemmen .people-view:not(.is-revealed) .battle-people,#stemmen .battle-people.is-empty{min-height:80px;margin:12px 4px 0;gap:6px;transition:none}
#stemmen .people-view .battle-person,#stemmen .people-view .battle-lane.battle-leading .battle-person{width:34px;height:34px;margin-right:0;flex:none;background:#fff;filter:none;transition:transform .18s}
#stemmen .people-view .battle-lane .battle-scene{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
#stemmen .battle-title{right:60px}
#stemmen .st-bar{min-height:76px}
#stemmen .st-cta:disabled{cursor:wait}
/* Round two has a steady, readable poster grid. Tallies update within each card. */
#stemmen .st-r2-head{align-items:center;min-height:112px}
#stemmen .fin-mypick{width:260px;min-height:88px}
#stemmen .st-round2 .fin-rail.is-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 22px;align-items:start}
#stemmen .st-round2 .fin-card{width:100%;transition:none}
#stemmen .st-round2 .fin-card-art{border-radius:7px;box-shadow:0 5px 16px #00000012;isolation:isolate;aspect-ratio:2/3}
#stemmen .st-round2 .fin-card-art>img{position:absolute;inset:0;transition:filter .25s}
#stemmen .st-round2 .fin-card-art::after{content:'';position:absolute;inset:0;border:3px solid transparent;border-radius:inherit;pointer-events:none;z-index:3;transition:border-color .2s}
#stemmen .st-round2 .fin-card.is-mine .fin-card-art{outline:none}
#stemmen .st-round2 .fin-card.is-mine .fin-card-art::after{border-color:#fff;box-shadow:inset 0 0 0 1px #263c2c}
#stemmen .st-round2 .fin-card-art:focus-visible{outline:3px solid #263c2c;outline-offset:4px}
#stemmen .st-round2 .fin-card h3{font-size:clamp(17px,1.5vw,22px);line-height:1.16;margin:2px 0 7px}
#stemmen .st-round2 .fin-card-detail{font-size:11px;min-height:32px;color:#686b62}
#stemmen .st-round2 .fin-card-crowd{min-height:64px;gap:5px;flex-wrap:wrap;margin:8px 0}
#stemmen .st-round2 .battle-person{width:28px;height:28px;flex:none;background:#fff}
#stemmen .st-round2 .fin-card-mine{min-height:18px;color:#2f5a3b;font-weight:400}
#stemmen .st-round2 .st-bar{position:sticky;bottom:0;z-index:20;background:rgba(255,255,255,.97);padding:16px 0;margin-top:18px;border-top:1px solid #deded8}
#stemmen .st-round2 .st-group-title{font-size:11px;padding-bottom:13px;margin-bottom:20px}
@media(max-width:1050px){#stemmen .st-round2 .fin-rail.is-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px}}
@media(max-width:750px){
 #stemmen .st-round2 .fin-rail.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 #stemmen .st-r2-head{align-items:stretch;gap:8px}
 #stemmen .fin-mypick{width:100%;min-height:70px}
 #stemmen .fin-mypick-art{height:48px;width:32px}
 #stemmen .st-search{flex:auto;width:100%;max-width:none}
 #stemmen .st-actions{gap:16px;flex:1;min-width:0}
 #stemmen .st-cta{min-width:160px}
 #stemmen .st-status:empty{display:none}
 #stemmen .st-round2 .st-bar{padding-bottom:max(14px,env(safe-area-inset-bottom))}
 #stemmen .st-round2 .fin-card h3{font-size:19px}
 #stemmen .st-round2 .fin-card-count b{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
 #stemmen *,#stemmen *::before,#stemmen *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media(max-width:750px){#stemmen .st-status:not(:empty){flex:1 0 100%;overflow-wrap:anywhere}#stemmen .st-bar .st-actions{width:100%}}

/* Programmatic step focus announces the heading without a button-shaped outline. */
#stemmen h1[tabindex='-1']:focus{outline:none}

/* Choice → physical commitment → confirmed reveal. No extra screen or instructions. */
#stemmen .st-ballot > .st-bar{justify-content:space-between;max-width:760px;margin:28px auto 0;min-height:86px;gap:18px;align-items:center}
#stemmen .st-ballot-selection{display:flex;align-items:center;gap:14px;min-width:0;font:400 22px/1.1 'Canela Trial',Georgia,serif}
#stemmen .st-ballot-selection[hidden]{display:none}
#stemmen .st-ballot-selection img{width:34px;height:48px;object-fit:cover;flex:none;box-shadow:0 2px 5px #0002}
#stemmen .st-ballot > .st-bar .st-status:empty{display:none}
#stemmen .st-ballot .st-cta{min-width:218px;box-shadow:0 4px 0 #0c0d0b,0 7px 12px #0001;border-radius:3px;transition:transform .15s,box-shadow .15s,background .25s;white-space:nowrap}
#stemmen .st-ballot .st-cta:active:not(:disabled),#stemmen.is-committing .st-ballot .st-cta{transform:translateY(3px);box-shadow:0 1px 0 #0c0d0b}
#stemmen .st-ballot .st-cta:disabled:not([aria-busy=true]){opacity:.35;cursor:default;box-shadow:none}
#stemmen .st-ballot .st-cta[aria-busy=true]{background:#42463e;cursor:progress}
#stemmen .people-view:not(.is-revealed).has-choice .battle-lane.is-mine .battle-scene{transform:translateY(-8px);box-shadow:0 18px 36px #0003}
#stemmen .people-view:not(.is-revealed).has-choice .battle-lane:not(.is-mine) .battle-still{filter:brightness(.72) saturate(.8)}
#stemmen .battle-lane.is-cast .st-mark{box-shadow:0 0 0 3px #fff5;background:#fff}
#stemmen.is-committing .battle-lane.is-mine .st-mark{animation:st-await 1.2s ease-in-out infinite}
@keyframes st-await{50%{box-shadow:0 0 0 7px #fff2}}
@media(max-width:650px){#stemmen .st-ballot > .st-bar{gap:16px;align-items:center}#stemmen .st-ballot-selection{font-size:20px}#stemmen .st-ballot > .st-bar .st-actions{width:auto;margin-left:auto}#stemmen .st-ballot .st-cta{min-width:190px}#stemmen .st-ballot-selection{flex:1 0 100%}}
@media(prefers-reduced-motion:reduce){#stemmen.is-committing .st-mark{animation:none}#stemmen .st-ballot .st-cta{transition:none}}
#stemmen .st-ballot > .st-bar:has(.st-ballot-selection){justify-content:space-between}

/* Round two distinguishes browsing, a draft pick and a server-confirmed vote. */
#stemmen .st-round2 .st-lead{max-width:52ch;line-height:1.65}
#stemmen .st-round2 .fin-mypick-label{letter-spacing:.04em;font-size:11px}
#stemmen .st-round2 .st-cta:disabled:not([aria-busy=true]){opacity:.4;cursor:default}
#stemmen .st-round2 .st-cta{min-width:218px}
#stemmen .st-round2 .fin-card-mine{font-size:12px;font-weight:500}
#stemmen .st-round2 .fin-card.is-mine .fin-card-mine{color:#263c2c}
@media(max-width:650px){#stemmen .st-round2 .st-cta{min-width:0;width:100%}}

/* One decision, with a remembered optional explanation and an explicit receipt. */
#stemmen .st-decision-head{margin-bottom:12px}
#stemmen .st-decision-head .st-prompt{margin:8px 0}
#stemmen .st-choice-count{margin:0;color:#696969}
#stemmen .st-help{margin:0 0 24px;max-width:650px;font-size:12px;color:#555}
#stemmen .st-help summary{cursor:pointer;list-style:revert;text-decoration:underline;text-underline-offset:3px;width:fit-content}
#stemmen .st-help p{margin:10px 0;max-width:58ch}
#stemmen .st-help button{text-decoration:underline;text-underline-offset:3px}
#stemmen .st-vote-receipt{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px;padding:14px 0;border-block:1px solid #deded8}
#stemmen .st-vote-receipt strong{font-weight:500}
#stemmen .st-vote-receipt span{font-size:12px;color:#666}
#stemmen .st-vote-receipt button{margin-left:auto;text-decoration:underline;text-underline-offset:3px}
#stemmen .st-saved-choice{font-size:14px;font-weight:500;margin:16px 0 8px}
@media(max-width:600px){#stemmen .st-vote-receipt{align-items:flex-start;flex-direction:column}#stemmen .st-vote-receipt button{margin-left:0}}

#stemmen .st-status:not(.is-error){color:#48634c}

#stemmen .st-help:not([open]){margin:0 0 14px}#stemmen .st-help summary{list-style:none;border:1px solid #bdbdb7;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;text-decoration:none}#stemmen .st-help summary::-webkit-details-marker{display:none}

/* Approved DVD table — direct material/geometry translation, 7 September. */
body.st-dvd-page{background:radial-gradient(ellipse at 50% 48%,#fffef8,#ede9df 80%);min-height:100vh}
#stemmen .st-dvd{max-width:1296px;margin:0 auto;padding-top:12px}
#stemmen .st-dvd .st-decision-head{text-align:center;margin:0 0 12px}
#stemmen .st-dvd .st-prompt{font:normal clamp(38px,5vw,66px)/1.08 'Canela Trial',Georgia,serif;letter-spacing:-.04em;margin:9px 0 0}
#stemmen .st-dvd .st-help{margin:0 auto 10px;width:fit-content;text-align:center}
#stemmen .st-dvd .st-help[open]{max-width:550px;text-align:left}
#stemmen .st-dvd .people-view{margin:0;padding:0;background:none;border:0;width:100%;max-width:none}
#stemmen .st-dvd .battle-arena{display:flex!important;justify-content:center;align-items:flex-start;gap:4vw!important;padding:24px 0 14px;margin:0;perspective:1400px;overflow:visible;min-height:0}
#stemmen .st-dvd .battle-lane{width:clamp(165px,21vw,260px)!important;min-width:0!important;flex:0 0 auto!important;padding:0;background:none;overflow:visible;transform:none!important;border:0;transition:none}
#stemmen .st-dvd .battle-scene{position:relative!important;display:block!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;overflow:visible!important;background:none!important;box-shadow:none!important;color:#22231f;transform:rotate(var(--angle))!important;transition:transform .6s cubic-bezier(.2,.8,.2,1)!important;animation:st-case-deal .8s cubic-bezier(.18,.7,.2,1) both;animation-delay:calc(var(--i)*110ms);outline-offset:10px;cursor:pointer}
#stemmen .st-dvd .battle-scene:before,#stemmen .st-dvd .battle-scene:after{display:none!important}
#stemmen .st-dvd .st-case-object{position:relative;aspect-ratio:.69;border-radius:5px 9px 9px 5px;padding:6px 7px 6px 10px;background:#282a29;box-shadow:-3px 0 0 #797b70,-5px 1px 0 #383e37,5px 10px 10px #1c221c25,13px 27px 34px #1c221c35;overflow:hidden}
#stemmen .st-dvd .battle-still{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:2px;display:block;filter:none!important;opacity:1!important;transform:none!important;transition:none!important;mix-blend-mode:normal!important}
#stemmen .st-dvd .st-case-shine{pointer-events:none;position:absolute;inset:0;background:linear-gradient(115deg,transparent 5%,#ffffff25 20%,transparent 30%,transparent 61%,#ffffff35 63%,transparent 68%);box-shadow:inset 0 1px 1px #ffffff77}
#stemmen .st-dvd .battle-title{position:relative!important;inset:auto!important;padding:22px 0 0!important;text-align:center;color:#22231f!important;transform:none!important;text-shadow:none!important}
#stemmen .st-dvd .battle-title h2{font:normal 27px/1.05 'Canela Trial',Georgia,serif!important;letter-spacing:-.035em;margin:8px 0!important;color:inherit!important}
#stemmen .st-dvd .battle-title p{font:normal 10px/1.4 Arial,sans-serif!important;letter-spacing:.07em;color:#78786e!important;margin:0!important}
#stemmen .st-dvd .battle-scene:hover,#stemmen .st-dvd .battle-scene:focus-visible{transform:translateY(-15px) rotate(0deg)!important}
#stemmen .st-dvd .battle-lane.is-mine .battle-scene{transform:translateY(-24px) rotate(0) scale(1.04)!important}
#stemmen .st-dvd .battle-lane.is-cast .st-case-object{box-shadow:0 0 0 3px #c77e49,12px 24px 30px #1c221c35}
#stemmen .st-dvd .st-mark{position:absolute;inset:auto 14px 14px auto!important;display:grid;place-items:center;width:38px;height:38px;background:#f8f5eb;color:#222;border:0;box-shadow:none;opacity:0;transform:scale(.4);transition:transform .4s,opacity .3s}
#stemmen .st-dvd .is-mine .st-mark{opacity:1;transform:scale(1)}
#stemmen .st-dvd .battle-number{position:relative!important;inset:auto!important;padding:12px 0 0!important;text-align:center;color:#22231f!important;line-height:1.3}
#stemmen .st-dvd .battle-number strong{font:normal 26px 'Canela Trial',Georgia,serif!important;color:inherit}
#stemmen .st-dvd .battle-number span{font-size:10px!important;margin-left:5px;color:#777}
#stemmen .st-dvd .fin-seal{width:62px!important;height:62px!important;inset:10px 8px auto auto!important;color:#fff8e6;filter:drop-shadow(0 1px 3px #0009);pointer-events:none}
#stemmen .st-dvd .st-share{display:none!important}
#stemmen .st-dvd .battle-people{display:flex;justify-content:center;flex-wrap:wrap;margin:18px 0 0!important;padding:0!important;min-height:0!important;height:auto!important;gap:4px!important}
#stemmen .st-dvd .battle-people.is-empty{display:none!important}
#stemmen .st-dvd .battle-person{width:28px!important;height:28px!important;flex:0 0 28px!important}
#stemmen .st-dvd .battle-person img{width:100%;height:100%}
#stemmen .st-dvd > .st-bar{max-width:850px;width:100%;min-height:82px;padding:10px 0;margin:30px auto 0;border:0;gap:28px;justify-content:center!important;background:none;position:static}
#stemmen .st-dvd .st-ballot-selection{min-width:0;flex:0 1 auto}
#stemmen .st-dvd .st-ballot-selection img{display:none}
#stemmen .st-dvd .st-ballot-selection span{font:24px 'Canela Trial',Georgia,serif}
#stemmen .st-dvd .st-vote-receipt{max-width:850px;margin:20px auto 36px}
@keyframes st-case-deal{from{opacity:0;translate:0 50px}to{opacity:1;translate:0 0}}
@media(max-width:700px){
 #stemmen .st-dvd .st-prompt{font-size:40px}
 #stemmen .st-dvd .battle-arena{gap:3vw!important;padding:30px 0 10px}
 #stemmen .st-dvd .battle-lane{width:26vw!important}
 #stemmen .st-dvd .st-case-object{padding:3px 3px 3px 5px;box-shadow:-2px 0 #777,4px 15px 18px #2223}
 #stemmen .st-dvd .battle-title h2{font-size:20px!important}
 #stemmen .st-dvd .battle-title p{font-size:8px!important;letter-spacing:0}
 #stemmen .st-dvd .st-mark{width:28px;height:28px;right:8px!important;bottom:8px!important}
 #stemmen .st-dvd .fin-seal{width:40px!important;height:40px!important}
 #stemmen .st-dvd > .st-bar{flex-direction:column;gap:12px;margin-top:25px}
 #stemmen .st-dvd .st-bar .st-actions{justify-content:center}
 #stemmen .st-dvd .st-cta{width:100%;max-width:320px}
 #stemmen .st-dvd .battle-person{width:22px!important;height:22px!important;flex-basis:22px!important}
}
@media(prefers-reduced-motion:reduce){#stemmen .st-dvd .battle-scene,#stemmen .st-dvd .st-mark{animation:none!important;transition:none!important}}
/* Confirmed voters live on the plastic as opaque little stickers. */
#stemmen .st-dvd .st-case-object .battle-people{position:absolute;left:13px;bottom:15px;right:48px;z-index:5;justify-content:flex-start;margin:0!important;gap:3px!important;pointer-events:auto}
#stemmen .st-dvd .battle-person{position:relative;background:#fffcf5!important;border:2px solid #fffcf5!important;border-radius:6px!important;box-shadow:1px 2px 3px #0005;transform:rotate(-5deg)}
#stemmen .st-dvd .battle-person:nth-child(2n){transform:rotate(6deg)}
#stemmen .st-dvd .battle-person:nth-child(3n){transform:rotate(-2deg)}
#stemmen .st-dvd .battle-person img{border-radius:3px;object-fit:cover}
#stemmen .st-dvd .battle-person:focus-visible{outline:2px solid #d77e43;outline-offset:3px;z-index:7}
#stemmen .st-dvd .fin-seal{display:none!important}
#stemmen .st-dvd .battle-lane.is-cast .st-case-object{box-shadow:-3px 0 0 #797b70,-5px 1px 0 #383e37,5px 10px 10px #1c221c25,13px 27px 34px #1c221c35}
#stemmen .st-dvd .battle-lane.battle-leading .st-case-object{box-shadow:0 0 0 2px #bca371,12px 24px 30px #1c221c35}
#stemmen .st-dvd .battle-more{display:grid;place-items:center;font-size:10px;color:#333}
@media(max-width:700px){#stemmen .st-dvd .st-case-object .battle-people{left:7px;right:8px;bottom:40px;gap:2px!important}#stemmen .st-dvd .battle-person{border-width:1px!important;border-radius:4px!important}}
body.st-dvd-page{background:radial-gradient(ellipse at 50% 48%,#fffef8,#ede9df 80%)!important}
#stemmen .st-dvd .battle-number{justify-content:center;align-items:baseline;gap:4px;text-shadow:none!important}
#stemmen .st-dvd .battle-name{transform:none!important;left:0;max-width:160px;white-space:normal;overflow-wrap:anywhere;bottom:calc(100% + 6px);text-align:left}
@media(max-width:700px){#stemmen .st-dvd .battle-number{display:block!important;padding-top:8px!important}#stemmen .st-dvd .battle-number span{display:block;margin:2px 0 0;font-size:8px!important}#stemmen .st-dvd .battle-name{max-width:72px;font-size:9px;padding:4px}}
html body.site-standalone.site-stemmen.st-dvd-page{background:radial-gradient(ellipse at 50% 48%,#fffef8,#ede9df 80%)!important}
#stemmen .st-dvd .battle-arena{flex-direction:row!important;flex-wrap:nowrap!important}
@media(max-width:700px){#stemmen .st-dvd .battle-lane{width:25.5vw!important}#stemmen .st-dvd .battle-title h2{font-size:18px!important}#stemmen .st-dvd .st-ballot-selection{max-width:100%;white-space:normal;text-align:center}#stemmen .st-dvd .st-ballot-selection span{white-space:normal;overflow-wrap:anywhere}}

/* Chris: white stage, prompt/cases/action only; transient failures remain visible. */
html body.site-standalone.site-stemmen.st-dvd-page{background:#fff!important}
#stemmen .st-dvd,#stemmen .st-dvd .people-view{background:transparent!important}
/* More breathing room; one blue edge identifies the own sticker. */
#stemmen .st-dvd .st-decision-head{margin-bottom:42px}
#stemmen .st-dvd .battle-person.battle-own,#stemmen .st-dvd .battle-person.battle-own:hover,#stemmen .st-dvd .battle-person.battle-own:focus{border:2px solid #4585d1!important;outline:none!important;box-shadow:1px 2px 3px #0003!important}
.st-stamp{display:grid;place-items:center;border:2px solid #4585d1!important;background:#fff;border-radius:6px;box-shadow:0 12px 22px #0002!important;outline:none!important}
#stemmen .st-dvd .people-view.is-revealed .battle-lane:not(.battle-leading) .st-case-object{filter:brightness(.72) saturate(.8);transition:filter .7s ease,box-shadow .7s ease}
#stemmen .st-dvd .people-view.is-revealed .battle-leading .st-case-object{filter:brightness(1.06);box-shadow:0 0 0 2px #c7b991,0 0 38px #eee8d9,12px 24px 30px #1c221c25;transition:filter .7s ease,box-shadow .7s ease}
#stemmen .st-dvd .battle-number strong{transform-origin:center;backface-visibility:hidden;display:inline-block;min-width:1ch;font-variant-numeric:tabular-nums}
.st-dvd-demo-label{text-align:center;margin:18px 0 0;font:11px Arial,sans-serif;color:#777}
@media(max-width:700px){#stemmen .st-dvd .st-decision-head{margin-bottom:38px}}
@media(prefers-reduced-motion:reduce){#stemmen .st-dvd .st-case-object{transition:none!important}}
#stemmen .st-dvd .battle-name{width:max-content!important}
/* One steady physical shadow in every state; only the printed artwork dims. */
#stemmen .st-dvd .people-view .battle-lane .st-case-object{filter:none!important;box-shadow:-3px 0 0 #797b70,-5px 1px 0 #383e37,5px 10px 10px #1c221c25,13px 27px 34px #1c221c35!important;transition:none!important}
#stemmen .st-dvd .people-view.is-revealed .battle-lane:not(.battle-leading) .battle-still{filter:brightness(.72) saturate(.8)!important;transition:filter .6s ease!important}
#stemmen .st-dvd .people-view.is-revealed .battle-leading .battle-still{filter:brightness(1.05)!important;transition:filter .6s ease!important}
#stemmen .st-dvd .battle-number strong{position:relative;min-width:1.15em;padding:4px 7px;border:1px solid #e3e3dd;border-radius:3px;background:#f7f7f3;font-size:34px!important;line-height:1.1!important;box-shadow:0 2px 1px #0000000a}
#stemmen .st-dvd .battle-number strong:after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px solid #0000000b;pointer-events:none}
@media(max-width:700px){#stemmen .st-dvd .people-view .battle-lane .st-case-object{box-shadow:-2px 0 #777,4px 15px 18px #2223!important}#stemmen .st-dvd .battle-number strong{font-size:28px!important}}
@media(prefers-reduced-motion:reduce){#stemmen .st-dvd .battle-still{transition:none!important}}
/* During the paced reveal, reserve every final slot and withhold leader emphasis. */
#stemmen .st-dvd.st-reveal-sequence .people-view .battle-lane .battle-still{filter:none!important;transition:none!important}
#stemmen .st-dvd .battle-person{transform-origin:center center;backface-visibility:hidden}
#stemmen .st-dvd .battle-number strong{min-width:1.4em}
/* The visible count now changes the physical standing of the whole case. */
#stemmen .st-dvd .people-view.is-revealed .battle-lane{transform:translateY(calc(-18px * var(--standing-weight,.363636))) scale(calc(.96 + .11 * var(--standing-weight,.363636)))!important;transition:transform .42s cubic-bezier(.2,.75,.25,1)!important}
#stemmen .st-dvd.st-reveal-sequence .people-view.has-counts .battle-lane:not(.battle-leading) .battle-still{filter:brightness(.76) saturate(.88)!important;transition:filter .35s!important}
#stemmen .st-dvd.st-reveal-sequence .people-view.has-counts .battle-leading .battle-still{filter:brightness(1.05)!important;transition:filter .35s!important}
@media(max-width:700px){#stemmen .st-dvd .people-view.is-revealed .battle-lane{transform:translateY(calc(-10px * var(--standing-weight,.363636))) scale(calc(.985 + .045 * var(--standing-weight,.363636)))!important}}
@media(prefers-reduced-motion:reduce){#stemmen .st-dvd .people-view.is-revealed .battle-lane{transition:none!important}}
#stemmen .st-dvd .people-view.is-revealed .battle-lane.is-mine .battle-scene{transform:rotate(0deg)!important}
/* Approved crown race: production binding of winner-studies/counting.html. */
#stemmen .st-dvd .st-decision-head{margin-bottom:65px!important}
#stemmen .st-dvd .st-prompt{font:normal clamp(35px,4.3vw,58px)/1.06 'Canela Trial',Georgia,serif!important;letter-spacing:-.035em!important}
#stemmen .st-dvd .battle-arena{gap:4vw!important;align-items:center!important;min-height:470px}
#stemmen .st-dvd .battle-lane{flex:0 0 auto!important;width:clamp(160px,21vw,260px)!important;max-width:none!important}
#stemmen .st-dvd .people-view.is-revealed .battle-lane{transform:translateY(var(--race-lift,0px)) scale(var(--race-scale,1))!important;transition:transform 650ms cubic-bezier(.2,.7,.2,1)!important;transform-origin:center center}
#stemmen .st-dvd .people-view.is-revealed .battle-scene{transform:none!important}
#stemmen .st-dvd .people-view .battle-lane .st-case-object{overflow:visible!important;transition:translate .8s cubic-bezier(.2,.8,.2,1),opacity .8s,filter .8s!important}
#stemmen .st-dvd .people-view .battle-lane .battle-still{filter:brightness(var(--race-light,1))!important;transition:filter 650ms ease!important}
#stemmen .st-dvd .fin-seal,#stemmen .st-dvd .st-share{display:none!important}
#stemmen .st-dvd .battle-title h2{font:normal 25px/1.08 'Canela Trial',Georgia,serif!important;min-height:55px;margin:24px 0 0!important}
#stemmen .st-dvd .battle-title p{display:none!important}
#stemmen .st-dvd .battle-number{display:flex!important;align-items:center!important;justify-content:initial!important;gap:15px!important;margin-top:5px!important;padding:0!important}
#stemmen .st-dvd .battle-number[hidden]{display:none!important}
#stemmen .st-dvd .battle-number strong{font:normal 42px/1 'Canela Trial',Georgia,serif!important;min-width:28px!important;border:0!important;border-radius:0!important;padding:0!important;background:none!important;box-shadow:none!important}
#stemmen .st-dvd .battle-number strong:after,#stemmen .st-dvd .battle-number>span{display:none!important}
#stemmen .st-race-track{height:12px;border-radius:2px;background:#eef0e9;flex:1;overflow:hidden}
#stemmen .st-race-fill{height:100%;width:0;background:#5a7150;transition:width .35s ease}
#stemmen .st-dvd .st-bar{justify-content:center!important;margin-top:35px!important;gap:22px!important;border:0!important}
#stemmen .st-dvd .st-actions{justify-content:center!important;gap:22px!important}
#stemmen .st-dvd .st-cta{padding:15px 32px!important;border-radius:3px!important;background:#242820!important;color:white!important;font:16px Arial,sans-serif!important;min-width:0!important;border:0!important;box-shadow:none!important;letter-spacing:0!important;text-transform:none!important}
#stemmen .st-dvd .st-cta:disabled{opacity:.3!important}
#stemmen .st-dvd .st-cta.is-next{background:transparent!important;border:1px solid #999!important;color:#242820!important;padding:12px 22px!important}
#stemmen .st-dvd .st-result-edit{font:13px Arial,sans-serif;border-bottom:1px solid #aaa;padding:5px 0}
#stemmen .st-dvd .st-case-object .battle-people{bottom:12px!important;left:12px!important;right:12px!important;gap:4px!important}
#stemmen .st-dvd .battle-person{width:30px!important;height:30px!important;border-radius:6px!important}
#stemmen .st-winner-crown{position:absolute;width:32px;height:26px;left:calc(50% - 16px);top:-39px;opacity:0;pointer-events:none}
#stemmen .st-winner-crown svg{width:100%;height:100%;display:block}
#stemmen .st-result-landed .battle-leading .st-winner-crown{animation:st-crown-arrive .55s .12s cubic-bezier(.2,.8,.2,1) forwards}
#stemmen .st-result-landed .battle-leading .st-case-object{translate:0 -14px}
#stemmen .st-result-landed .battle-lane:not(.battle-leading) .st-case-object{opacity:.42;filter:saturate(.45)!important}
#stemmen .st-result-landed .battle-lane:not(.battle-leading) .battle-title,#stemmen .st-result-landed .battle-lane:not(.battle-leading) .battle-number{opacity:.55;transition:opacity .8s}
@keyframes st-crown-arrive{from{opacity:0;transform:translateY(-8px) scale(.8)}to{opacity:1;transform:none}}
@media(max-width:700px){#stemmen .st-dvd .battle-arena{gap:3vw!important;min-height:345px}#stemmen .st-dvd .battle-lane{width:25.5vw!important}#stemmen .st-dvd .battle-title h2{font-size:18px!important;min-height:60px}#stemmen .st-dvd .battle-number{gap:6px!important;flex-wrap:wrap}#stemmen .st-dvd .battle-number strong{font-size:34px!important}#stemmen .st-race-track{flex-basis:100%;height:8px}#stemmen .st-dvd .st-case-object .battle-people{left:5px!important;right:5px!important;bottom:7px!important;gap:2px!important}#stemmen .st-dvd .battle-person{width:20px!important;height:20px!important}#stemmen .st-winner-crown{width:26px;height:22px;left:calc(50% - 13px);top:-32px}}
@media(prefers-reduced-motion:reduce){#stemmen .st-dvd .people-view.is-revealed .battle-lane,#stemmen .st-race-fill{transition:none!important}#stemmen .st-result-landed .battle-leading .st-winner-crown{opacity:1;animation:none!important}}
#stemmen .st-dvd .people-view.is-revealed .st-mark{display:none!important}
/* Approved full-screen result backdrop. Scoped to voting; Bedankt is unchanged. */
body.st-cinema-result{isolation:isolate;background:#09100b!important}
html body.site-standalone.site-stemmen.st-dvd-page.st-cinema-result{background:#09100b!important}
.st-cinema-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
.st-cinema-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09100be6,#09100b77 55%,#09100b99)}
.st-cinema-result .st-cinema-backdrop{opacity:1}
.st-cinema-result .site-shell-header,.st-cinema-result .navigation,.st-cinema-result .site-footer{background:transparent!important;backdrop-filter:none!important;border-color:#ffffff25!important}
.st-cinema-result .masthead{background:#09100b!important}
.st-cinema-result #festival-moire{opacity:.85}
.st-cinema-result .navigation a,.st-cinema-result .site-footer a,.st-cinema-result .site-footer span{color:#eee!important}
.st-cinema-result .navigation{border-bottom:1px solid #ffffff25!important}
.st-cinema-result #stemmen .st-dvd .st-prompt,.st-cinema-result #stemmen .st-dvd .battle-title h2,.st-cinema-result #stemmen .st-dvd .battle-number strong{color:#fff!important}
.st-cinema-result #stemmen .st-result-landed .battle-lane:not(.battle-leading) .st-case-object{opacity:1;filter:brightness(.6) saturate(.5)!important}
.st-cinema-result #stemmen .st-race-track{background:#ffffff33}
.st-cinema-result #stemmen .st-race-fill{background:#d4e0c4}
.st-cinema-result #stemmen .st-dvd .st-cta.is-next,.st-cinema-result #stemmen .st-result-edit{color:#eee!important;border-color:#dce4d088!important;background:transparent!important}
.st-cinema-result #stemmen .st-status{color:#eee}
#stemmen .st-dvd .battle-person.is-name-open .battle-name,#stemmen .st-dvd .battle-person:focus .battle-name,#stemmen .st-dvd .battle-person:hover .battle-name{display:block!important;opacity:1!important;visibility:visible!important;z-index:20;background:#fff!important;color:#202820!important;border:1px solid #d4d8ce;border-radius:4px;padding:6px 8px;box-shadow:0 4px 14px #0003;line-height:1.3}
#stemmen .st-dvd .battle-person:has(.battle-name):hover,#stemmen .st-dvd .battle-person:focus,#stemmen .st-dvd .battle-person.is-name-open{z-index:25!important}
@media(max-width:700px){.st-cinema-backdrop{background-position:55% center}}
@media(prefers-reduced-motion:reduce){.st-cinema-backdrop{transition:none}}
/* Result scene: uninterrupted image beneath the top navigation. */
.st-cinema-result .navigation{border-bottom:0!important;box-shadow:none!important}
/* Clear forward action, with editing to its left. */
#stemmen .st-dvd .st-actions .st-result-edit{order:0}
#stemmen .st-dvd .st-actions .st-cta{order:1}
#stemmen .st-dvd .st-cta.is-next,.st-cinema-result #stemmen .st-dvd .st-cta.is-next{display:inline-flex!important;align-items:center;justify-content:center;gap:24px;background:#456539!important;color:#fff!important;border:1px solid #456539!important;padding:15px 28px!important;font-weight:600!important}
#stemmen .st-dvd .st-cta.is-next:hover{background:#35502b!important;border-color:#35502b!important}
#stemmen .st-dvd .st-cta.is-next:focus-visible{outline:2px solid #a8c696;outline-offset:4px}
.st-cinema-result .site-footer{border-top:0!important;border-bottom:0!important;box-shadow:none!important}
/* Only the pudding waits for the outgoing film to finish fading to white. */
#stemmen .st-bedankt-pudding{opacity:1;transition:opacity .45s ease}
#stemmen.st-pudding-waits .st-bedankt-pudding{opacity:0;transition:none;pointer-events:none}
@media(prefers-reduced-motion:reduce){#stemmen .st-bedankt-pudding{transition:none}}
/* The canvas colour follows the image fade, rather than snapping dark underneath. */
body.site-stemmen{transition:background-color 1.2s ease}
@media(prefers-reduced-motion:reduce){body.site-stemmen{transition:none}}
/* Slightly more cinematic entrance; exit remains1.2s for the pudding handoff. */
.st-cinema-result .st-cinema-backdrop{transition-duration:1.8s;transition-timing-function:cubic-bezier(.22,.55,.3,1)}
body.site-stemmen.st-cinema-result{transition-duration:1.8s;transition-timing-function:cubic-bezier(.22,.55,.3,1)}
@media(prefers-reduced-motion:reduce){.st-cinema-result .st-cinema-backdrop,body.site-stemmen.st-cinema-result{transition:none}}

/* One compositor fade: avoid repainting the entire page colour underneath it. */
html body.site-standalone.site-stemmen.st-dvd-page.st-cinema-result{background:#fff!important;transition:none!important}
body.site-stemmen{transition:none}
.st-cinema-backdrop{background-color:#09100b;will-change:opacity;transform:translateZ(0)}

/* Fine score rules and a quieter, carefully proportioned forward control. */
#stemmen .st-race-track{height:4px;border-radius:1px;background:#e3e7dd}
#stemmen .st-race-fill{border-radius:1px;background:#526647}
.st-cinema-result #stemmen .st-race-track{background:#ffffff22}
.st-cinema-result #stemmen .st-race-fill{background:#d3dfc4}
#stemmen .st-dvd .st-cta.is-next,.st-cinema-result #stemmen .st-dvd .st-cta.is-next{min-height:48px!important;padding:13px 24px!important;gap:32px;background:#374c30!important;border:1px solid #ffffff20!important;border-radius:3px!important;font-size:14px!important;font-weight:400!important;line-height:20px!important;box-shadow:inset 0 1px 0 #ffffff0d,0 2px 6px #00000012!important}
#stemmen .st-dvd .st-cta.is-next:hover{background:#425b39!important;border-color:#ffffff35!important}
#stemmen .st-dvd .st-cta.is-next span{font-size:18px;font-weight:400;line-height:1;transition:transform .18s ease}
#stemmen .st-dvd .st-cta.is-next:hover span{transform:translateX(2px)}
#stemmen .st-dvd .st-result-edit{font-size:12px;color:#65705e;border-color:#9ba394;padding:8px 0}
@media(max-width:700px){#stemmen .st-race-track{height:4px}}
/* Result transition preserves masthead geometry: fade paint, never collapse layout. */
body.site-stemmen .site-edition-strip,body.site-stemmen #festival-moire{transition:opacity 1.1s ease,visibility 0s linear}
body.site-stemmen .masthead{transition:background-color 1.1s ease}
body.site-stemmen:has(#stemmen .st-result-landed) .site-edition-strip,body.site-stemmen:has(#stemmen .st-result-landed) #festival-moire{opacity:0!important;visibility:hidden;pointer-events:none;transition-delay:0s,1.1s}
body.site-stemmen:has(#stemmen .st-result-landed) .masthead{background:transparent!important}
body.site-stemmen:has(#stemmen .st-result-landed):not(.st-cinema-result) .wordmark{color:#272c27!important}
/* Preserve the account control's footprint; omit its picture on landed results. */
body.site-stemmen:has(#stemmen .st-result-landed) .profile-menu,body.site-stemmen:has(#stemmen .st-result-landed) .profile-login{visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){body.site-stemmen .site-edition-strip,body.site-stemmen #festival-moire,body.site-stemmen .masthead{transition:none}}

/* Equal tied-film panels, softly joined, under the existing cinematic shading. */
.st-cinema-pane{position:absolute;top:0;bottom:0;background-size:cover;background-position:center}
.st-cinema-pane.has-seam{mask-image:linear-gradient(to right,transparent,#000 6%);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%)}

/* Selected compact clock: dark before choosing, absent during reveal, corner after backdrop. */
#stemmen .st-clock-origin{min-height:74px;margin-top:24px}
#stemmen .st-clock-origin:has(.st-deadline[hidden]){display:none}
#stemmen .st-deadline{text-align:center;color:#171c19;transition:opacity .35s ease,color .5s ease}
#stemmen .st-deadline[hidden],#stemmen .st-countdown[hidden]{display:none}
#stemmen .st-countdown{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:0;font:400 38px/1 monospace;letter-spacing:-.05em;font-variant-numeric:tabular-nums;white-space:nowrap}
#stemmen .st-deadline-date{display:block;margin-top:10px;font:10px/1.5 Arial,sans-serif;color:inherit}
#stemmen.is-committing .st-deadline,#stemmen .st-reveal-sequence .st-deadline{opacity:0!important;pointer-events:none}
#stemmen .st-deadline.is-result-clock{position:fixed;right:30px;bottom:24px;z-index:30;color:#171c19;text-align:right}
#stemmen .is-result-clock .st-countdown{font-size:30px}
#stemmen .is-closed .st-countdown{font:400 18px/1.3 Arial,sans-serif;letter-spacing:0;white-space:normal}
@keyframes st-clock-return{from{opacity:0}to{opacity:1}}
@media(max-width:700px){#stemmen .st-countdown{font-size:34px}#stemmen .st-deadline.is-result-clock{position:static;margin:24px auto 0;text-align:center}#stemmen .is-result-clock .st-countdown{font-size:30px}}
@media(prefers-reduced-motion:reduce){#stemmen .st-deadline{animation:none!important;transition:none!important}}

/* Bedankt's optional edit button is unavailable after authoritative closure; programme link remains. */
body.st-round-closed #stemmen .st-confirm-actions>button{display:none}

/* Distinguish this film night from the following shortlist without altering the ballot. */
#stemmen .st-round-purpose{margin:14px 0 0;font:13px/1.5 Arial,sans-serif;color:#647065}
#stemmen .st-round-context{margin:22px auto 0;text-align:center;max-width:620px;font:12px/1.6 Arial,sans-serif;color:#647065}
#stemmen .st-round-context[hidden],#stemmen .st-round-links a[hidden]{display:none}
#stemmen .st-round-state{margin:0 0 8px}
#stemmen .st-round-links{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap}
#stemmen .st-round-links a{color:inherit;text-underline-offset:4px}
body.st-cinema-result #stemmen .st-round-purpose,body.st-cinema-result #stemmen .st-round-context{color:#eee}

/* The closed round becomes one film, with no remaining choice controls. */
#stemmen .st-closed{max-width:1000px;margin:0 auto;padding:64px 32px 84px;min-height:580px;display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:88px;align-items:center;color:#243129}
#stemmen .st-closed:not(:has(.st-closed-art)){display:block;max-width:720px;text-align:center;padding-top:100px}
#stemmen .st-closed-art{position:relative;padding-top:30px;max-width:280px;width:100%;justify-self:center}
#stemmen .st-closed-case{position:relative;aspect-ratio:2/3;transform:rotate(-4deg);border:4px solid #252a29;border-left-width:10px;border-radius:5px;background:#252a29;box-shadow:0 25px 40px #0003,2px 2px 0 #fff4 inset;overflow:hidden}
#stemmen .st-closed-case img{display:block;width:100%;height:100%;object-fit:cover}
#stemmen .st-closed-shine{position:absolute;inset:0;background:linear-gradient(112deg,#ffffff20,transparent 38%,#ffffff05 63%,#ffffff1c);pointer-events:none}
#stemmen .st-closed-crown{display:block;text-align:center;color:#c8a35b;font:44px/1 Georgia,serif;margin-bottom:22px}
#stemmen .st-closed-kicker{margin:0 0 20px;font:12px/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
#stemmen .st-closed-title{font-family:'Canela Trial',Georgia,serif;font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1.06;letter-spacing:-.035em;margin:0 0 24px;text-wrap:balance}
#stemmen .st-closed-date{display:block;font-family:'Canela Trial',Georgia,serif;font-size:25px;line-height:1.3;margin-bottom:20px}
#stemmen .st-closed-meta,#stemmen .st-closed-note{font:14px/1.6 Arial,sans-serif;margin:0 0 26px;max-width:420px}
#stemmen .st-closed-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:32px}
#stemmen .st-closed:not(:has(.st-closed-art)) .st-closed-actions{justify-content:center}
#stemmen .st-closed-actions .st-button{background:#30482a;color:white;border:0;padding:18px 24px;font:14px/1.3 Arial,sans-serif;text-decoration:none;display:inline-flex;gap:24px;align-items:center}
#stemmen .st-closed-actions .st-text{color:inherit}
#stemmen .st-closed .st-status{display:block;margin-top:24px}
body.st-cinema-result #stemmen .st-closed{color:#fff}
@media(max-width:650px){#stemmen .st-closed{grid-template-columns:1fr;gap:36px;padding:36px 24px 56px;text-align:center;min-height:0}#stemmen .st-closed-art{max-width:185px;padding-top:0}#stemmen .st-closed-crown{font-size:34px;margin-bottom:14px}#stemmen .st-closed-kicker{margin-bottom:12px;font-size:11px}#stemmen .st-closed-title{font-size:40px;margin-bottom:18px}#stemmen .st-closed-date{font-size:22px}#stemmen .st-closed-actions{justify-content:center;gap:18px;margin-top:26px}#stemmen .st-closed-actions .st-button{font-size:13px;padding:16px 18px;gap:16px}#stemmen .st-closed-note{margin-left:auto;margin-right:auto}}

#stemmen .st-closed-crown svg{display:block;width:36px;height:30px;margin:auto}

/* Decided: a white record of the vote, separate from the live race. */
#stemmen .st-vote-summary{grid-template-columns:230px minmax(0,1fr);gap:40px 72px;max-width:1000px;padding-top:48px;color:#243129}
#stemmen .st-vote-summary .st-closed-art{max-width:205px;padding:0}
#stemmen .st-vote-summary .st-closed-case{transform:rotate(-2deg);box-shadow:0 18px 24px #12201619;border-width:3px;border-left-width:7px}
#stemmen .st-vote-summary .st-closed-crown{margin-bottom:18px}
#stemmen .st-vote-summary .st-closed-title{font-size:clamp(36px,4.2vw,58px);max-width:620px}
#stemmen .st-vote-summary .st-closed-kicker{color:#61705f;letter-spacing:.08em}
#stemmen .st-vote-summary .st-closed-date{font-size:26px;color:#455140}
#stemmen .st-vote-summary .st-closed-actions{margin-top:28px}
#stemmen .st-summary-votes{grid-column:1/-1;margin-top:18px;border-top:1px solid #dfe3dc;padding-top:26px}
#stemmen .st-summary-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:24px}
#stemmen .st-summary-heading h2{font:normal 31px/1.1 'Canela Trial',Georgia,serif;margin:0;letter-spacing:-.025em}
#stemmen .st-summary-heading>span{font:12px/1.4 Arial,sans-serif;color:#65705f}
#stemmen .st-summary-results{list-style:none;margin:0;padding:0;display:grid;gap:26px}
#stemmen .st-summary-line{display:flex;justify-content:space-between;gap:24px;align-items:baseline}
#stemmen .st-summary-film{font:15px/1.4 Arial,sans-serif;color:#65705f}
#stemmen .is-winner .st-summary-film{color:#233521;font-weight:600}
#stemmen .st-summary-count{font:normal 28px/1 'Canela Trial',Georgia,serif;font-variant-numeric:tabular-nums}
#stemmen .st-summary-track{height:3px;background:#f0f2ed;margin:11px 0 12px;overflow:hidden}
#stemmen .st-summary-track>span{height:100%;display:block;background:#b9c2b3}
#stemmen .is-winner .st-summary-track>span{background:#344e2d}
#stemmen .st-summary-people{display:flex;gap:8px 20px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
#stemmen .st-summary-people li{display:flex;align-items:center;gap:8px;font:12px/1.4 Arial,sans-serif;color:#4f594b;max-width:100%;overflow-wrap:anywhere}
#stemmen .st-summary-people img{width:28px;height:28px;object-fit:cover;border-radius:4px;background:#f2f3ef}
#stemmen .st-summary-anonymous{color:#7c8278}
@media(max-width:650px){#stemmen .st-vote-summary{grid-template-columns:1fr;gap:28px;padding:30px 12px 48px}#stemmen .st-vote-summary .st-closed-art{max-width:150px}#stemmen .st-vote-summary .st-closed-title{font-size:38px;margin-bottom:16px}#stemmen .st-vote-summary .st-closed-date{font-size:23px}#stemmen .st-summary-votes{text-align:left;margin-top:4px;padding-top:22px}#stemmen .st-summary-heading{margin-bottom:22px}#stemmen .st-summary-heading h2{font-size:29px}#stemmen .st-summary-heading>span{font-size:11px}#stemmen .st-summary-film{font-size:13px}#stemmen .st-summary-people{gap:8px 14px}#stemmen .st-summary-people li{font-size:11px}}

/* One server clock across selection, reveal and the existing returning-voter receipt. */
#stemmen .st-clock-unit{display:inline-flex;align-items:baseline;gap:4px}
#stemmen .st-clock-label{font:400 11px/1 Arial,sans-serif;letter-spacing:0;opacity:.65}
#stemmen .is-result-clock .st-countdown{justify-content:flex-end}
#stemmen .st-deadline.is-clock-counting{opacity:0!important;pointer-events:none}
body.st-cinema-result #stemmen .is-result-clock{color:#f3f3e9}
#stemmen .st-thanks-clock{margin:12px 0 0;text-align:center}
#stemmen .st-thanks-clock .st-countdown{justify-content:center;font-size:28px;gap:8px}
#stemmen.st-pudding-waits .st-thanks-clock{visibility:hidden}
@media(max-width:700px){#stemmen .is-result-clock .st-countdown{justify-content:center}#stemmen .st-thanks-clock .st-countdown{font-size:30px}}

@media(min-width:1100px) and (max-width:1399px){#stemmen .st-thanks-clock .st-countdown{font-size:20px;gap:7px}#stemmen .st-thanks-clock .st-clock-unit{gap:2px}#stemmen .st-thanks-clock .st-clock-label{font-size:9px}}
