@font-face{font-family:Title;src:url('/assets/fonts/title.ttf')}@font-face{font-family:Quote;src:url('/assets/fonts/quote.ttf')}@font-face{font-family:Book;src:url('/assets/fonts/book.otf')}@font-face{font-family:UI;src:url('/assets/fonts/ui.ttf')}*{box-sizing:border-box}:root{color:#244c20;font-family:UI,sans-serif;background:#eeeade;font-synthesis:none}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;font:inherit;background:white;border:2px solid #244c20;padding:9px 18px;line-height:1.2}button:disabled{cursor:wait}a{color:inherit}[hidden]{display:none!important}.page{width:min(100%,470px);min-height:836px;height:max(100svh,836px);max-height:1000px;margin:auto;position:relative;background:url('/assets/pixel/room.png') center/100% 100% no-repeat;overflow:hidden}header{position:absolute;top:3%;left:6.4%;right:6.4%;display:flex;justify-content:space-between;align-items:center;z-index:5}.brand{text-decoration:none;font-size:19px}.sound{font-size:19px;padding:6px 14px}.intro{position:absolute;top:8%;width:100%;text-align:center}.intro h1{font:39px/1.4 Title,sans-serif;margin:0 0 12px;white-space:nowrap}.intro p{font:24px/1.4 UI;margin:0}.subtitle-clover{width:15px;height:15px;vertical-align:middle;image-rendering:pixelated}.play-area{position:absolute;top:28%;bottom:25%;left:19%;width:62%}.machine{position:relative;width:100%;height:100%;isolation:isolate}.machine-image{position:absolute;left:0;top:9%;width:100%;height:91%;image-rendering:pixelated;z-index:1}.machine-lid{position:absolute;left:-1%;top:0;width:102%;height:15%;image-rendering:pixelated;z-index:4}.capsules{position:absolute;left:12%;top:14%;width:76%;height:48%;overflow:hidden;z-index:2}.capsule{position:absolute;background:url('/assets/pixel/capsule.png') center/contain no-repeat;width:28%;aspect-ratio:1;image-rendering:pixelated}.knob{position:absolute;left:37%;top:72%;width:25%;height:22%;background:url('/assets/pixel/knob.png') center/contain no-repeat;border:0;padding:0;touch-action:none;z-index:3;image-rendering:pixelated}.spinning{animation:spin 1s ease-in-out}.mixing .capsules .capsule{animation:mix .32s ease-in-out infinite alternate;animation-delay:var(--delay)}.caught{animation:catch .3s ease-in forwards!important}.prize{left:69%;top:76%;width:26%;height:auto;border:0;padding:0;z-index:4;animation:drop .55s ease-out}.prize:after{content:'';position:absolute;bottom:0;left:12%;width:76%;height:8%;border-radius:50%;background:#244c2040;z-index:-1}.opening{animation:open .35s ease forwards}.instruction{position:absolute;top:89.5%;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 12px}.instruction p{background:white;border:2px solid #244c20;padding:10px 18px;line-height:1.25;font-size:24px;margin:0;max-width:100%;text-align:center}.instruction button{font-size:24px}footer{position:absolute;bottom:10px;width:100%;display:flex;justify-content:center;gap:12px;align-items:center}footer button{font-size:14px;padding:3px 6px;background:#fff9}footer small{font-size:12px;background:#fff9;padding:3px}dialog{color:#244c20;font-family:UI;border:3px solid #486736;background:#fffdf4}dialog::backdrop{background:#25351b38}.result{width:min(86%,402px);max-height:82svh;padding:26px 32px 22px;overflow:auto;box-shadow:8px 8px #7a633f;position:fixed}.dialog-close{position:absolute;top:5px;right:9px;border:0;background:none;font:24px UI;padding:2px 6px}.result-label{text-align:center;font:24px UI;margin:3px 0 36px}blockquote{font:25px/1.65 Quote,sans-serif;text-align:center;white-space:pre-line;margin:0;min-height:125px;display:flex;align-items:center;justify-content:center;color:#31352b}#source-note{font:13px Book;text-align:center}.paper-rule{height:1px;background:#cbd0b4;margin:22px 0 14px}.book-info{display:grid;grid-template-columns:98px minmax(0,1fr);gap:22px;align-items:center;margin-bottom:18px}.book-info>img{width:98px;height:145px;object-fit:contain}.book-info h2{font:15px/1.8 Book;margin:0;white-space:pre-line;overflow-wrap:anywhere}.book-info #author{font:13px/1.5 Book;margin:18px 0 0;color:#626657}.primary{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;padding:9px 12px;text-align:center;background:#244c20;color:white;text-decoration:none;font:24px/1.2 UI}.result-again,#result-again{display:block;margin:22px auto 0;font:24px UI;padding:9px 18px}.about{width:min(90%,470px);padding:28px;line-height:1.7}.loader{position:fixed;inset:0;z-index:20;background:#fff6e7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:hidden}.loader p{font:24px UI;text-align:center;margin:10px 12px}.loader small{font:20px UI}progress{appearance:none;width:min(72%,320px);height:16px;border:2px solid #244c20;background:white}progress::-webkit-progress-bar{background:white}progress::-webkit-progress-value{background:#82bd40}progress::-moz-progress-bar{background:#82bd40}.loading-art{position:relative;width:min(90vw,440px);height:270px;border-bottom:3px solid #bd975f}.loading-machine{position:absolute;width:125px;height:170px;left:80px;bottom:1px;transform-origin:95% 98%;z-index:2}.load-body{position:absolute;top:10%;width:100%;height:90%}.load-lid{position:absolute;top:0;left:0;width:100%;height:16%;z-index:3}.load-knob{position:absolute;width:25%;height:22%;left:37%;top:73%}.load-ball{position:absolute;width:25px;height:25px;background:url('/assets/pixel/capsule.png') center/contain no-repeat;image-rendering:pixelated}#loading-balls{position:absolute;inset:0}.rolling-ball{position:absolute;width:30px;height:30px;left:0;top:0;background:url('/assets/pixel/capsule.png') center/contain no-repeat;image-rendering:pixelated;z-index:4;will-change:transform}.ball-shadow{position:absolute;width:25px;height:5px;background:#57452240;border-radius:50%;bottom:1px;left:0;z-index:1}.detached-lid{position:absolute;width:128px;height:31px;background:url('/assets/pixel/lid.png') center/contain no-repeat;image-rendering:pixelated;z-index:5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes mix{to{translate:var(--dx) var(--dy);rotate:var(--rot)}}@keyframes catch{to{translate:30px 120px;rotate:120deg;opacity:0}}@keyframes drop{0%{transform:translateY(-60px) rotate(-70deg);opacity:0}55%{transform:translateY(5px) rotate(12deg);opacity:1}80%{transform:translateY(-9px) rotate(-6deg)}100%{transform:none}}@keyframes open{to{transform:scale(1.25);opacity:0}}@media(max-width:390px){.page{min-height:740px;height:max(100svh,740px)}.intro h1{font-size:33px}.intro p,.instruction p,.instruction button{font-size:21px}.brand,.sound{font-size:17px}.book-info{grid-template-columns:85px minmax(0,1fr);gap:15px}.book-info>img{width:85px;height:126px}.result{padding:24px 20px}.book-info h2{font-size:13px}.book-info #author{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;transition:none!important}}
.instruction:has(#redraw:not([hidden])){flex-direction:row;justify-content:center;align-items:center}.instruction:has(#redraw:not([hidden])) p,.instruction:has(#redraw:not([hidden])) button{font-size:18px;padding:8px 12px}.book-info h2{word-break:keep-all}.book-info:has(h2[data-long="true"]){gap:15px}
.prize.opening{background:none;animation:none}.prize.opening:before,.prize.opening:after{content:'';position:absolute;left:0;width:100%;height:50%;background-image:url('/assets/pixel/capsule.png');background-size:100% 200%;background-repeat:no-repeat}.prize.opening:before{top:0;background-position:top;animation:shell-top .35s ease forwards}.prize.opening:after{bottom:0;background-position:bottom;animation:shell-bottom .35s ease forwards;border-radius:0;z-index:auto}.result[open]{animation:paper-unfold .25s ease-out}@keyframes shell-top{to{transform:translate(-8px,-24px) rotate(-25deg);opacity:0}}@keyframes shell-bottom{to{transform:translate(6px,10px) rotate(15deg);opacity:0}}@keyframes paper-unfold{from{opacity:0;transform:scaleY(.7)}to{opacity:1;transform:scaleY(1)}}@media(max-width:390px){.book-info h2{font-size:12px}}
/* Bottom labels follow the header alignment, without boxes. */
footer{left:6.4%;right:6.4%;width:auto;justify-content:space-between;gap:8px;align-items:center}footer button,footer small{border:0;background:none;padding:0;color:#244c20;font-size:14px;line-height:1.4}footer small{font-size:12px;text-align:right}.instruction:has(#status[hidden]){flex-direction:row;justify-content:center}
blockquote{display:block;word-break:keep-all;overflow-wrap:normal;line-height:1.65;min-height:0;padding:14px 0}.result{height:auto}.loading-art{overflow:visible}.detached-lid{pointer-events:none}
.result{height:fit-content}
/* Center the actual cover-and-text group, including for short titles. */
.book-info{display:flex;justify-content:center;align-items:center;gap:22px;width:100%;margin:0 auto 18px}.book-info>img{flex:0 0 98px}.book-info>div{flex:0 1 auto;width:max-content;max-width:calc(100% - 120px);min-width:0}.book-info h2{width:max-content;max-width:100%;overflow-wrap:normal;word-break:keep-all}.book-info #author{text-align:left}@media(max-width:390px){.book-info{gap:15px}.book-info>img{flex-basis:85px}.book-info>div{max-width:calc(100% - 100px)}}

/* Explicit mobile focus reset, revision 20261106-focus2. */
button,a{-webkit-tap-highlight-color:transparent}button:focus,button:focus-visible,a:focus,a:focus-visible{outline:none!important}html.keyboard-nav button:focus-visible,html.keyboard-nav a:focus-visible{outline:2px solid #486736!important;outline-offset:3px}

/* Compact quote spacing keeps the purchase button higher. */
blockquote{line-height:1.45;padding-block:10px}.result-label{margin-bottom:28px}
