.ab-roulette{--play-ivory:#f6f0e7;--play-wine:#4b1026;--play-crimson:#aa2945;--play-ink:#241b22;--play-gold:#b88a49;--play-line:#d7c4b5;background:var(--play-ivory);color:var(--play-ink);padding:20px 0 48px}.ab-roulette [hidden]{display:none!important}.ab-roulette .ab-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.ab-roulette-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px!important}.ab-roulette-heading h1{font-family:var(--ab-font-display,Georgia,serif);font-size:clamp(30px,3.2vw,46px);line-height:1.05;margin:5px 0 0;color:inherit}.ab-roulette-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--play-crimson);margin:0}.ab-roulette-byline{font-size:13px;margin:0 0 4px;white-space:nowrap}.ab-roulette-layout{max-width:960px}.ab-roulette fieldset{border:0;margin:0;padding:0;min-width:0}.ab-roulette-formats{display:flex;justify-content:center;gap:6px;margin:0 0 12px;flex-wrap:wrap}.ab-roulette-formats button{font:inherit;font-size:13px;font-weight:600;border:1px solid var(--play-line);border-radius:99px;min-height:44px;padding:8px 18px;background:transparent;color:inherit;cursor:pointer}.ab-roulette-formats button[aria-pressed=true]{color:var(--play-ivory);background:var(--play-wine);border-color:var(--play-wine)}.ab-roulette-stage{position:relative;min-height:290px;padding:22px 32px 14px;border-radius:20px;background:radial-gradient(ellipse at 50% 100%,#7b344c 0%,#471026 60%,#300c1b 100%);box-shadow:0 16px 35px #4b102619,inset 0 0 0 1px #b88a494d;overflow:hidden;color:#fff5e7}.ab-roulette-stage:before{content:'';position:absolute;inset:9px;border:1px solid #d0b68c33;border-radius:14px;pointer-events:none}.ab-roulette-placeholder{position:relative;text-align:center}.ab-roulette-placeholder p{margin:14px 0 0;color:#e6d5c6;font-size:13px;line-height:1.5}.ab-roulette-wheel{position:relative;height:224px;width:100%;max-width:600px;margin:auto;perspective:900px}.ab-roulette-deck-cover{position:absolute;left:50%;bottom:0;width:140px;height:210px;object-fit:cover;border-radius:3px 8px 8px 3px;border-left:3px solid #ffffff40;box-shadow:4px 9px 18px #13030990;transform:translateX(calc(-50% + (var(--card) - 2)*93px)) rotate(calc((var(--card) - 2)*9deg)) scale(calc(1 - (var(--card) - 2)*(var(--card) - 2)*.035));z-index:calc(5 - (var(--card) - 2)*(var(--card) - 2));transition:filter .15s}.ab-roulette-wheel[data-cards='1'] img{transform:translateX(-50%)}.ab-roulette-wheel[data-cards='2'] img{transform:translateX(calc(-50% + (var(--card) - .5)*100px)) rotate(calc((var(--card) - .5)*9deg))}.ab-roulette-wheel[data-cards='3'] img{transform:translateX(calc(-50% + (var(--card) - 1)*100px)) rotate(calc((var(--card) - 1)*9deg))}.ab-roulette-wheel[data-cards='4'] img{transform:translateX(calc(-50% + (var(--card) - 1.5)*90px)) rotate(calc((var(--card) - 1.5)*9deg))}.ab-roulette-wheel.is-spinning{animation:ab-deck-pulse .23s ease-in-out infinite alternate}.ab-roulette-draw{text-align:center;margin:18px auto 0}.ab-roulette .ab-roulette-spin{display:inline-flex;align-items:center;justify-content:center;min-height:54px;width:min(100%,360px);border:0;border-radius:99px;background:var(--play-crimson);color:#fff6ec;font-family:inherit;font-size:17px;font-weight:700;line-height:1.3;box-shadow:0 5px 0 #711a32,0 9px 20px #aa294529;padding:12px 22px;cursor:pointer}.ab-roulette-spin:before{content:'↻';font-size:28px;margin-right:12px;line-height:1}.ab-roulette-spin:hover{background:#8e1d38;transform:translateY(-1px)}.ab-roulette-spin:active{transform:translateY(3px);box-shadow:0 2px 0 #711a32}.ab-roulette-draw p{font-size:12px;margin:13px 0 0;color:#6b535e}.ab-roulette-status{font-size:13px;line-height:1.45;text-align:center;margin:9px auto;max-width:70ch;min-height:0}.ab-roulette-status:empty{display:none}.ab-roulette-controls{margin:14px 0 0;border-top:1px solid var(--play-line);border-bottom:1px solid var(--play-line)}.ab-roulette summary{cursor:pointer;padding:14px 0;font-weight:600;min-height:44px;line-height:1.4}.ab-roulette-controls summary span{float:right;font-size:12px;font-weight:400}.ab-roulette-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 0 16px}.ab-roulette-filter-grid label{display:grid;gap:5px;font-size:13px}.ab-roulette select{font:inherit;background:#fffaf4;color:#241b22;border:1px solid var(--play-line);border-radius:8px;padding:10px;min-height:44px;width:100%}.ab-roulette-hint{font-size:13px;line-height:1.5;margin:0}.ab-roulette .ab-btn-ghost{font-size:12px;min-height:44px;background:transparent;border:1px solid var(--play-line);color:inherit;white-space:normal;border-radius:8px;padding:9px 14px;text-align:center;cursor:pointer}.ab-roulette-small-actions{display:flex;gap:8px;justify-content:center;margin:12px 0}.ab-roulette button:disabled{opacity:.45;cursor:not-allowed}.ab-roulette :is(button,a,select,summary):focus-visible{outline:3px solid var(--play-gold);outline-offset:4px}.ab-roulette-pick{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;align-items:center;max-width:720px;margin:auto;position:relative;animation:ab-pick-reveal .45s ease-out}.ab-roulette-cover{width:160px;aspect-ratio:2/3;object-fit:cover;border-radius:3px 8px 8px 3px;box-shadow:4px 12px 25px #16040c80}.ab-roulette-book-kind{text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:#e3c99f;margin:0 0 7px}.ab-roulette-book-title{font-family:var(--ab-font-display,Georgia,serif);font-size:clamp(23px,2.6vw,36px);line-height:1.07;margin:0 0 10px;color:#fff5e7;overflow-wrap:anywhere}.ab-roulette-description{font-size:13px;line-height:1.5;margin:0 0 12px;color:#e6d5dc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ab-roulette-tags{display:flex;list-style:none!important;padding:0!important;margin:0 0 14px!important;gap:5px;flex-wrap:wrap}.ab-roulette-tags li{font-size:10px;border:1px solid #e1c49d66;border-radius:99px;padding:4px 8px;color:#efddc9}.ab-roulette-pick-actions{display:flex;gap:8px;flex-wrap:wrap}.ab-roulette-pick-actions .ab-btn{font-size:12px;min-height:44px;white-space:normal;text-align:center;padding:10px 14px;border-radius:8px}.ab-roulette-pick-actions .ab-btn-blood{background:#f5dfb8;color:#391022;border-color:#f5dfb8}.ab-roulette-pick-actions .ab-btn-ghost{color:#fff5e7;border-color:#e1c49d66}.ab-roulette-print-link{display:none}.ab-roulette-method{border-top:1px solid var(--play-line);margin-top:24px;font-size:13px;line-height:1.6}.ab-roulette-method p,.ab-roulette-method li{max-width:85ch}.ab-roulette-related{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:20px;font-size:13px}.ab-roulette-related a{color:inherit}.ab-roulette-recent{border-top:1px solid var(--play-line);margin-top:20px;padding-top:15px}.ab-roulette-recent h2{font-size:14px;margin:0 0 12px}.ab-roulette-recent-list,#ab-roulette-recent-list{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.ab-roulette-recent-pick{display:flex;align-items:center;gap:9px;flex:0 0 170px;font-size:12px;line-height:1.35;color:inherit;text-decoration:none}.ab-roulette-recent-pick img{width:40px;height:60px;object-fit:cover;border-radius:3px}.ab-roulette-recent-pick:hover span{text-decoration:underline}@keyframes ab-deck-pulse{from{opacity:.75;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@keyframes ab-pick-reveal{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.ab-roulette{padding-top:16px}.ab-roulette .ab-shell{width:calc(100% - 28px)}.ab-roulette-heading{align-items:start;gap:8px}.ab-roulette-heading h1{font-size:30px}.ab-roulette-eyebrow{font-size:9px;letter-spacing:.1em}.ab-roulette-byline{font-size:10px;white-space:normal;max-width:85px;text-align:right;padding-top:17px}.ab-roulette-formats{gap:4px;margin-bottom:10px}.ab-roulette-formats button{font-size:11px;padding:7px 11px}.ab-roulette-stage{padding:19px 14px 14px;min-height:238px;border-radius:15px}.ab-roulette-wheel{height:175px}.ab-roulette-deck-cover{width:105px;height:158px;transform:translateX(calc(-50% + (var(--card) - 2)*49px)) rotate(calc((var(--card) - 2)*10deg)) scale(calc(1 - (var(--card) - 2)*(var(--card) - 2)*.04))}.ab-roulette-placeholder p{font-size:11px;max-width:28ch;margin:12px auto 0}.ab-roulette-draw{margin-top:14px}.ab-roulette .ab-roulette-spin{min-height:50px;font-size:15px;width:100%}.ab-roulette-controls summary{font-size:13px}.ab-roulette-controls summary span{float:none;display:block;font-size:11px;margin-top:4px}.ab-roulette-pick{grid-template-columns:94px minmax(0,1fr);gap:14px;align-items:start;min-height:200px}.ab-roulette-cover{width:94px}.ab-roulette-book-title{font-size:23px}.ab-roulette-description{display:none}.ab-roulette-tags{gap:4px;margin-bottom:9px!important}.ab-roulette-tags li{font-size:9px;padding:3px 6px}.ab-roulette-tags li:nth-child(n+4){display:none}.ab-roulette-pick-actions{gap:6px}.ab-roulette-pick-actions .ab-btn{width:100%;font-size:11px;padding:8px}.ab-roulette-small-actions .ab-btn{flex:1}.ab-roulette-filter-grid{grid-template-columns:1fr}.ab-roulette-recent{margin-top:16px}}
html[data-theme='dark'] .ab-roulette{--play-ivory:#231921;--play-ink:#f6eee3;--play-line:#61424f;background:#231921;color:#f6eee3}html[data-theme='dark'] .ab-roulette-formats button[aria-pressed=true]{background:#e8ccb0;border-color:#e8ccb0;color:#391022}html[data-theme='dark'] .ab-roulette-eyebrow,html[data-theme='dark'] .ab-roulette-draw p{color:#d6b49a}
@media(prefers-reduced-motion:reduce){.ab-roulette *{animation:none!important;transition:none!important}}
@media print{.ab-site-header,.ab-site-footer,.ab-consent-bar,.ab-popup,.ab-lang-suggest,.ab-roulette-formats,.ab-roulette-placeholder,.ab-roulette-draw,.ab-roulette-controls,.ab-roulette-small-actions,.ab-roulette-status,.ab-roulette-related,.ab-roulette-method,.ab-roulette-recent,.ab-roulette-pick-actions{display:none!important}.ab-roulette,.ab-roulette-stage{background:#fff!important;color:#111!important;padding:0;box-shadow:none}.ab-roulette-stage:before{display:none}.ab-roulette-pick{break-inside:avoid}.ab-roulette-book-title,.ab-roulette-book-kind,.ab-roulette-description,.ab-roulette-tags li{color:#111!important}.ab-roulette-description{display:block}.ab-roulette-print-link{display:block;font-size:10pt;overflow-wrap:anywhere}.ab-roulette-cover{box-shadow:none}.ab-roulette-heading h1{font-size:22pt}.ab-roulette .ab-shell{width:100%}}

/* Keep the deck counter clear of the tactile button edge in both shell themes. */
.ab-roulette .ab-roulette-draw #ab-roulette-remaining{display:block;margin:0;padding:17px 0 0;line-height:1.4}.ab-roulette #ab-roulette-preview-label{width:100%;max-width:none;text-align:center;margin:14px 0 0;line-height:1.45}
@media(max-width:600px){.ab-roulette #ab-roulette-preview-label{font-size:11px;margin-top:14px}}

.ab-roulette-pick:not(.has-cover){display:block;max-width:650px;min-height:224px}.ab-roulette-pick:not(.has-cover) .ab-roulette-details{max-width:600px}
@media(max-width:600px){.ab-roulette-pick:not(.has-cover){min-height:200px}}

/* The playground shell has a fixed header; reserve its actual height. */
body.ab-playground-page main.ab-roulette{padding-top:calc(var(--ab-header-h,64px) + 18px)}.ab-roulette .ab-roulette-pick-actions .ab-btn-blood{color:#391022!important;background:#f5dfb8;box-shadow:none}.ab-roulette .ab-roulette-pick-actions .ab-btn-blood:hover{color:#391022!important;background:#ffe9c5}.ab-roulette .ab-roulette-pick-actions .ab-btn-blood::before{display:none}@keyframes ab-pick-reveal{from{transform:translateY(8px)}to{transform:none}}
@media(max-width:600px){body.ab-playground-page main.ab-roulette{padding-top:calc(var(--ab-header-h,58px) + 16px)}}
@media print{body.ab-playground-page main.ab-roulette{padding-top:0}}
