.kb-read{--berry:#993d59;--teal:#235f63;--muted:#5c6866;--rule:#e6d7cb;max-width:1000px;margin:24px auto 55px;color:#253c3d;line-height:1.65}.kb-read [hidden]{display:none!important}.kb-read button{font:inherit;cursor:pointer}.kb-read button:focus-visible,.kb-read input:focus-visible,.kb-prompt:focus-visible,.kb-story:focus-visible{outline:3px solid #33787b;outline-offset:4px}.kb-head{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:clamp(20px,4vw,42px);border:1px solid var(--rule);border-radius:22px 22px 0 0;background:radial-gradient(at 85% 5%,#fce3de,transparent 48%),#fff9ef}.kb-dominos .kb-head{background:radial-gradient(at 85% 8%,#dfefdf,transparent 52%),#fcfbf0}.kb-cartes32 .kb-head{background:radial-gradient(at 85% 8%,#f9dedf,transparent 52%),#faf6ef}.kb-mark{font:48px/1 Georgia;color:var(--berry);height:78px;width:78px;display:grid;place-items:center;border:1px solid #cda576;border-radius:42% 42% 48% 48%;background:#fff9ea;box-shadow:inset 0 0 0 5px #fff9ea,inset 0 0 0 6px #ddc394}.kb-read h2,.kb-read h3{color:var(--teal);font-family:Georgia,serif;font-weight:400;line-height:1.15}.kb-read h2{font-size:clamp(27px,4vw,43px);margin:7px 0 12px}.kb-read h3{font-size:clamp(23px,3vw,33px);margin:5px 0 12px}.kb-read small,.kb-note{display:block;color:var(--berry);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:.71rem}.kb-head p,.kb-read p{max-width:72ch}.kb-head p{margin:0}.kb-start,.kb-draw{border:1px solid var(--rule);border-top:0;border-radius:0 0 22px 22px;padding:clamp(18px,4vw,38px)}.kb-start>label,.kb-start legend{display:block;font-weight:650;color:var(--teal);margin:0 0 7px}.kb-start>label span{font-size:.88em;font-weight:400;color:var(--muted)}.kb-start input[type=text]{display:block;box-sizing:border-box;width:100%;max-width:650px;min-height:48px;margin-bottom:20px;padding:10px 14px;border:1px solid #c4cbc5;border-radius:10px;font:inherit;color:#213d3d;background:#fff}.kb-start fieldset{border:0;margin:0 0 21px;padding:0;min-width:0}.kb-domains{display:flex;flex-wrap:wrap;gap:7px}.kb-domains label{position:relative;cursor:pointer}.kb-domains input{position:absolute;width:1px;height:1px;opacity:0}.kb-domains span{display:inline-flex;align-items:center;min-height:43px;padding:0 18px;border:1px solid #d6ccc1;border-radius:22px;background:#fff}.kb-domains input:checked+span{background:#fbe7ec;color:#83334d;border-color:#b4667f}.kb-domains input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}.kb-main,.kb-goto,.kb-reset{padding:11px 21px;border-radius:30px;min-height:46px;font-weight:650!important}.kb-main,.kb-goto{background:var(--berry);color:#fff;border:1px solid var(--berry)}.kb-main b{margin-left:8px}.kb-reset{background:white;color:var(--teal);border:1px solid #9ebbb3;margin-top:20px}.kb-goto{margin:4px 0 14px}.kb-note{padding-bottom:8px;overflow-wrap:anywhere}.kb-status{font-size:.94rem;color:var(--muted);margin:6px 0 16px}.kb-choices{background:radial-gradient(ellipse at 45% 50%,#f4ebe0,transparent),#fbf7ef;border:1px solid #e9ddd0;padding:clamp(12px,2.4vw,24px);border-radius:15px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(4px,1vw,12px);margin-bottom:14px}.kb-dominos .kb-choices{grid-template-columns:repeat(7,minmax(0,1fr))}.kb-back{min-width:0;aspect-ratio:112/170;position:relative;display:grid;place-items:center;overflow:hidden;border:2px solid #f7e6c8;border-radius:9px;padding:0;background:repeating-linear-gradient(45deg,transparent 0 8px,#d2a28c55 9px,transparent 10px 20px),repeating-linear-gradient(-45deg,transparent 0 8px,#d2a28c55 9px,transparent 10px 20px),#79394e;color:#fae4b3;box-shadow:0 2px 7px #573f372c;transition:transform .25s}.kb-back:not(.revealed):before{content:'';position:absolute;inset:5px;border:1px solid #eed2aa;border-radius:5px}.kb-back:not(.revealed) span{display:grid;place-items:center;width:50%;aspect-ratio:1;background:#79394e;border:2px double #e5bd87;border-radius:50%;font:clamp(15px,3vw,32px)/1 Georgia}.kb-back i{position:absolute;font:italic 10px Georgia;bottom:9%;color:#fae4b3}.kb-dominos .kb-back{background-color:#2f6968}.kb-dominos .kb-back span{background:#2f6968}.kb-cartes32 .kb-back{background-color:#364654}.kb-cartes32 .kb-back span{background:#364654}.kb-back:enabled:hover{transform:translateY(-3px)}.kb-back.revealed{border-color:transparent;background:transparent}.kb-back.revealed svg{width:100%;height:100%;animation:kb-show .38s ease-out}.kb-back:disabled{cursor:default}.kb-results{display:grid;gap:14px;margin-top:22px}.kb-result{display:grid;grid-template-columns:minmax(78px,150px) 1fr;align-items:start;gap:clamp(15px,3vw,30px);border:1px solid #dfded3;background:linear-gradient(110deg,#fff9ed,white 53%);padding:clamp(15px,2.5vw,25px);border-radius:16px}.kb-result figure{margin:0;text-align:center;position:sticky;top:15px}.kb-result svg{width:100%;height:auto;max-height:250px;filter:drop-shadow(0 3px 3px #4b382b21)}.kb-result h3{margin:7px 0}.kb-tag{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.81em;color:#814259;background:#fbe6ec}.kb-result p{margin:10px 0 0}.kb-story{background:#eff6f2;border:1px solid #c9dfd2;border-left:4px solid var(--teal);border-radius:15px;padding:clamp(19px,3vw,32px);margin-top:24px}.kb-story h3{margin:9px 0 15px}.kb-story p{margin:10px 0}.kb-disclaimer{font-size:.82rem;color:var(--muted);margin:12px auto}.kb-read button:disabled:not(.revealed){opacity:.72}@keyframes kb-show{from{transform:perspective(400px) rotateY(75deg);opacity:.4}to{transform:perspective(400px) rotateY(0);opacity:1}}@media(max-width:640px){.kb-choices,.kb-dominos .kb-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.kb-mark{width:48px;height:48px;font-size:30px}.kb-head{gap:13px}.kb-result{grid-template-columns:72px 1fr}.kb-result figure{position:static}.kb-result small{letter-spacing:.04em}}@media(max-width:410px){.kb-head{grid-template-columns:1fr}.kb-mark{display:none}.kb-result{display:block}.kb-result figure{float:right;width:68px;margin:0 0 10px 12px}.kb-result:after{content:'';clear:both;display:block}.kb-domains span{padding:0 13px}}@media(prefers-reduced-motion:reduce){.kb-read *{animation:none!important;transition:none!important}}

.kb-tarot .kb-back{aspect-ratio:325/515;border:0;border-radius:7%;background:transparent url("/art/tarot/dos.webp") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 2px #63483b30)}
.kb-tarot .kb-back::before,.kb-tarot .kb-back span,.kb-tarot .kb-back i{display:none}
.kb-tarot .kb-back.revealed{background:none}
.kb-tarot .kb-arcane{display:block;width:100%;height:100%;object-fit:contain}
.kb-tarot .kb-back.revealed .kb-arcane{animation:kb-show .38s ease-out}
.kb-tarot .kb-result .kb-arcane{width:auto;max-width:100%;height:clamp(150px,24vw,235px);margin:auto;filter:drop-shadow(0 2px 3px #503b2525)}
@media(max-width:640px){.kb-tarot .kb-result .kb-arcane{width:100%;height:auto}}

.kb-tarot .kb-choices{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:clamp(12px,2vw,24px)}
.kb-tarot .kb-back{width:min(100%,158px);aspect-ratio:300/490}
.kb-tarot .kb-result{grid-template-columns:minmax(145px,210px) minmax(0,1fr);align-items:center}
.kb-tarot .kb-result figure{width:auto;float:none;margin:0;position:static}
.kb-tarot .kb-result .kb-arcane{width:100%;height:auto;max-height:none}
.kb-enlarge{display:block;margin:0 auto;padding:0;border:0;background:none;cursor:zoom-in!important}
.kb-enlarge::after{content:'Agrandir ↗';display:block;font-size:.8rem;color:var(--teal);margin:.4em}
.kb-viewer{padding:10px;border:1px solid #bd9259;border-radius:14px;background:#fffbf3;max-width:95vw;max-height:95vh;box-sizing:border-box}
.kb-viewer::backdrop{background:#271526c9}
.kb-viewer figure{margin:5px auto}
.kb-viewer .kb-arcane{display:block;margin:auto;width:auto;height:min(75vh,720px);max-width:86vw;object-fit:contain}
.kb-viewer button{display:block;margin-left:auto;padding:7px 15px;border-radius:2em;border:1px solid #a91f52;background:white;color:#821d45}
@media(max-width:640px){.kb-tarot .kb-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kb-tarot .kb-result{display:grid;grid-template-columns:1fr}.kb-tarot .kb-enlarge{width:min(52vw,180px)}}

.kb-dominos .kb-start{text-align:center}
.kb-pouch{display:flex;justify-content:center;padding:10px 0 16px}
.kb-pouch img{width:clamp(106px,17vw,160px);height:auto;object-fit:contain;transform-origin:50% 79%}
.kb-dominos .kb-choices{grid-template-columns:repeat(3,minmax(0,112px));justify-content:center;gap:clamp(8px,3vw,32px);background:radial-gradient(ellipse at center,#fff8f1,#fcf0ea)}
.kb-dominos .kb-back,.kb-cartes32 .kb-back{background:transparent center/contain no-repeat;border:0;box-shadow:none}
.kb-dominos .kb-back{background-image:url("/art/dominos-kelly/dos.webp");aspect-ratio:145/235}
.kb-cartes32 .kb-back{background-image:url("/art/cartes32-kelly/dos.webp");aspect-ratio:150/232}
.kb-dominos .kb-back::before,.kb-cartes32 .kb-back::before,.kb-dominos .kb-back span,.kb-cartes32 .kb-back span,.kb-dominos .kb-back i,.kb-cartes32 .kb-back i{display:none}
.kb-dominos .kb-back.revealed,.kb-cartes32 .kb-back.revealed{background:none}
.kb-dominos .kb-arcane,.kb-cartes32 .kb-arcane{width:100%;height:100%;object-fit:contain;display:block}
.kb-dominos .kb-result .kb-arcane,.kb-cartes32 .kb-result .kb-arcane{height:auto;max-height:240px}
.kb-cartes32 .kb-choices{grid-template-columns:repeat(4,minmax(0,133px));justify-content:center;gap:clamp(8px,2vw,22px)}
@media(prefers-reduced-motion:no-preference){.kb-dominos .revealed img,.kb-cartes32 .revealed img{animation:kb-show .4s ease-out}}

.kb-dominos .kb-pouch img{width:clamp(215px,37vw,345px);max-width:95%}
.kb-dominos .kb-choices{grid-template-columns:repeat(3,minmax(0,180px));gap:clamp(6px,2vw,24px)}
.kb-dominos .kb-back{width:100%;aspect-ratio:1.82;background-image:url("/art/dominos-kelly/revers.svg");border:0;border-radius:8%;filter:drop-shadow(0 4px 3px #4b352533)}
.kb-dominos .kb-back.revealed{background:none}
.kb-domino-face{display:block;width:100%;height:auto}
.kb-dominos .kb-result{grid-template-columns:minmax(110px,185px) minmax(0,1fr);align-items:center}
@media(max-width:640px){.kb-dominos .kb-result{grid-template-columns:1fr}.kb-dominos .kb-result figure{float:none;position:static;width:min(170px,65%);margin:0 auto 12px}}
.kb-domino-guide{margin:12px 0 18px;padding:10px 16px;border:1px solid var(--rule);border-radius:12px;background:#fffaf1}
.kb-domino-guide summary{cursor:pointer;color:var(--teal);font-weight:650}

.page-dominos .kb-start,.page-dominos .kb-draw .kb-pouch{background:white url('/art/dominos-kelly/etoiles-et-nombres.svg') center center/100% auto no-repeat}
.page-cartes32 .kb-spread-choice{display:grid;gap:6px;margin:0 0 18px}
.kb-spread-choice select{font:inherit;color:#762445;background:#fff7f9;border:1px solid #ce91a4;border-radius:12px;padding:10px 14px;max-width:100%;width:fit-content}
.kb-inverted{display:block;width:100%;height:100%;transform:rotate(180deg)}

/* A visible waiting deck; shuffling still controls the actual draw. */
.kb-ready-deck{display:flex;justify-content:center;align-items:center;width:min(100%,620px);margin:24px auto 30px;padding:14px 12px;min-width:0}
.kb-ready-deck img{display:block;width:clamp(48px,13%,86px);height:auto;object-fit:contain;transform:rotate(calc((var(--i) - 2.5)*3deg));filter:drop-shadow(0 3px 3px #5a29422b)}
.kb-ready-deck img+img{margin-left:clamp(-20px,-2vw,-8px)}
