/* Poo Star hardware: glazed porcelain, worn brass and pink enamel. */
:root{--porcelain:#e9dfc5;--ink:#352519;--brass:#aa783b}
.brand-mark{color:#eac077;font-family:Georgia,serif}.topbar{background:linear-gradient(#201711,#100d0d);border-color:#74552d}
.controls{left:13%;right:6%;bottom:2.6%;height:11.2%;gap:clamp(7px,1vw,16px);padding:8px 18px;border:3px solid #976831;border-radius:42px;background:repeating-linear-gradient(117deg,transparent 0 34px,#fff2 35px,transparent 36px 120px),linear-gradient(#392a20,#14110f 45%,#211813);box-shadow:0 0 0 2px #241a11,0 0 0 4px #c6a05d66,inset 0 2px 2px #fff3,0 8px 15px #000a}
.controls:before,.controls:after{content:'✦';position:absolute;top:42%;font-size:9px;color:#d4ae63}.controls:before{left:5px}.controls:after{right:5px}
.icon-btn,.bet-control button,.auto{flex-shrink:0;background:radial-gradient(ellipse at 32% 20%,#faf2d9,#d6c9a9 65%,#99835f);color:#47301d;border:2px solid #ad8044;box-shadow:inset 0 2px 1px #fff9,inset 0 -3px 4px #77614490,0 2px 2px #0009;text-shadow:0 1px #fff7;border-radius:50%}
.icon-btn{width:39px;height:39px}.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bet-control{gap:9px}.bet-control button{width:30px;height:30px;font-weight:bold;line-height:24px;font-size:22px}.meter span{color:#d5b77d;font-size:8px}.meter strong{color:#fff0c8;text-shadow:0 2px 1px #000}.meter small{color:#a89673}.win-meter strong{color:#ffca70}
.balance-meter{min-width:85px}.win-meter{min-width:80px}.auto{height:43px;min-width:43px;font-size:8px;padding:5px;letter-spacing:.4px}.auto span{line-height:20px}.sound{width:35px;height:35px}.icon-btn[aria-pressed=true],.auto.active{background:radial-gradient(#ffd2df,#f078a3);border-color:#deb175;color:#531d31}
.spin{position:relative;flex:0 0 auto;align-self:center;width:clamp(79px,7.8vw,125px);height:clamp(79px,7.8vw,125px);min-width:0;max-width:none;padding:0;margin:0 12px;border:0;border-radius:50%;background:transparent url('assets/spin-medallion.webp?v=field-8') center/contain no-repeat;box-shadow:0 6px 9px #0007;filter:drop-shadow(0 0 6px #ed549742);overflow:visible}
.spin span{position:absolute;bottom:7%;left:0;width:100%;font:900 clamp(10px,1vw,16px)/1 Arial,sans-serif;letter-spacing:1.4px;color:#fff0bf;text-shadow:0 1px 3px #251000,0 0 5px #190e04}.spin b{display:none}.spin.busy span{font:800 clamp(8px,.65vw,11px)/1 Arial,sans-serif;letter-spacing:0}.spin:disabled{opacity:.5}.spin:focus-visible{outline-offset:2px}.spin:hover:not(:disabled){filter:drop-shadow(0 0 9px #ff5eae99) brightness(1.06)}
.buy-control{position:absolute;left:5%;top:35%;z-index:6;min-width:118px;max-width:15%;padding:9px 11px;border:2px solid #b58a4d;border-radius:5px 16px 5px 16px;color:#f7d68d;background:linear-gradient(120deg,#563c26,#201610 50%,#48301d);box-shadow:0 3px 0 #170f09,0 0 0 2px #48321b,inset 0 1px #f7d88b6b;text-shadow:0 2px #140b08;font:italic 700 clamp(11px,1.15vw,17px)/1.1 Georgia,serif;letter-spacing:.7px}
.buy-control small{display:block;margin-top:5px;font:700 8px Arial,sans-serif;letter-spacing:1.5px;color:#ef9bb9}.buy-control:before{content:'★';margin-right:7px;color:#f791ba}
.toilet{position:absolute;left:.5%;top:43%;width:21%;height:44%;padding:0;border:0;background:none;z-index:2;filter:drop-shadow(0 9px 7px #09040090)}.toilet-canvas{display:block;width:100%;height:100%;pointer-events:none}.toilet canvas{width:100%!important;height:100%!important}.toilet:focus-visible{outline:2px solid #e4b664;border-radius:35%}.toilet-hint{position:absolute;bottom:2%;left:23%;color:#f2d298;font-size:8px;letter-spacing:1.4px;opacity:0;text-shadow:0 2px #000}.toilet:hover .toilet-hint,.toilet:focus-visible .toilet-hint{opacity:1}
.saying{top:23%;font-size:clamp(12px,1.6vw,24px)}
.pink-button{border:2px solid #d7a85b;border-radius:28px;color:#2e101b;background:radial-gradient(ellipse at 30% 0,#ffa9c6,#f35592 65%,#b22c60);box-shadow:inset 0 2px 1px #ffdae9cc,inset 0 -3px 3px #97234f,0 3px 0 #493019,0 0 0 2px #4d3423;letter-spacing:1.2px}.pink-button:hover{filter:brightness(1.07)}
dialog{padding:24px 28px 26px;color:var(--ink);background:repeating-linear-gradient(133deg,transparent 0 94px,#6c4e2720 95px,transparent 96px 245px),radial-gradient(ellipse at 26% 10%,#faf1d9,#e2d4b3 60%,#c3ad83);border:6px ridge #a57d43;border-radius:18px;box-shadow:inset 0 0 26px #8961397d,0 0 0 3px #24190e,0 25px 90px #000c;scrollbar-color:#8d663c #d0bc97}
dialog::backdrop{background:#160d0bea;backdrop-filter:blur(4px)}.panel-heading{border-bottom:3px double #a28352;padding:0 0 15px;margin-bottom:18px}.panel-heading h2{font:italic bold 27px Georgia,serif;text-shadow:0 1px #fff9;color:#4b321a}.panel-heading h2:before{content:'♛';font-size:22px;color:#97631b;margin-right:11px}.panel-heading button{border:2px solid #a57b43;font-size:27px;width:36px;height:36px}
.panel-tabs{gap:7px}.panel-tabs button,.option-button{background:linear-gradient(#fff5db,#d4c09a);color:#543820;border:1px solid #9a723b;border-radius:20px;box-shadow:inset 0 1px #ffff,0 2px 0 #8a6b3e66;font-weight:bold;padding:10px 13px}.panel-tabs button:hover,.option-button:hover{background:linear-gradient(#fbdde3,#eaa2b6)}.setting{border-color:#97744550;font-weight:600;font-size:12px}.setting input[type=range]{accent-color:#b7446c}.setting input[type=checkbox]{accent-color:#a2355c}.rules-copy,.auto-note{color:#59432f}.rules-copy h3{color:#8c3654}.small{color:#72573c}.history-row{border-color:#ac8d5b66}.history-row b{color:#914166}.paytable th,.paytable td{border-color:#a0825370}.paytable th{color:#78344e}
.feature-cards article{background:repeating-linear-gradient(138deg,transparent 0 70px,#664b2317 71px,transparent 72px 180px),linear-gradient(120deg,#eee3c8,#c9b288);color:#3a2a1b;border:3px ridge #ad8245;box-shadow:inset 0 0 14px #7c573f55,0 5px 12px #0005;border-radius:6px 15px 6px 15px}.feature-cards article>span{color:#8c3b5b}.feature-cards p{color:#5c462f}.feature-cards b{color:#843453}.feature-cards h2{font-family:Georgia,serif;font-style:italic;font-size:17px}
.buy-intro{text-align:center;font-size:12px;line-height:1.7;color:#61482d}.buy-stake{display:flex;gap:15px;align-items:center;justify-content:center;margin:17px 0}.buy-stake strong{font-size:20px;color:#713048}.buy-stake .option-button{width:37px;padding:7px}
.buy-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:19px 0}.buy-card{text-align:center;border:2px solid #997239;border-radius:8px;background:linear-gradient(#493323,#21160f);color:#f5deb7;box-shadow:inset 0 0 0 3px #1d150d,inset 0 0 0 4px #a3834966,0 4px 6px #5e3d2444;padding:15px 13px}.buy-card img{width:92px;height:91px;object-fit:contain;filter:drop-shadow(0 3px 4px #0009)}.buy-card h3{font:italic bold 20px/1.1 Georgia,serif;color:#f5b0c8;margin:5px 0 11px}.buy-card p{font-size:11px;line-height:1.65;min-height:54px;color:#dcc8a6}.buy-card .price{font-size:24px;font-weight:bold;color:#f4cf78;margin:14px 0 4px}.buy-card .price small{font-size:9px;display:block;letter-spacing:1px;font-weight:normal;margin-top:4px;color:#c2ae8c}.buy-card button{width:100%;font-size:10px;padding:12px 6px;margin-top:12px}.buy-card button:disabled{cursor:not-allowed}
.buy-confirm{text-align:center}.buy-confirm img{width:112px;height:112px;object-fit:contain}.buy-confirm h3{font:italic bold 27px Georgia,serif;color:#78324f;margin:6px 0 16px}.buy-receipt{max-width:330px;margin:0 auto 24px;border-top:2px dashed #9c8055;border-bottom:2px dashed #9c8055;padding:12px 0}.buy-receipt p{display:flex;justify-content:space-between;gap:20px;font-size:12px}.buy-receipt p.total{font-size:18px;color:#74304c}.confirm-actions{display:flex;gap:15px;justify-content:center;margin:15px 0}.confirm-actions button{flex:1;max-width:230px}.buy-receipt b{font-variant-numeric:tabular-nums}
#celebration-inner{padding:30px 40px;border:5px ridge #b18648;border-radius:8px;background:radial-gradient(#392720ee,#1c130fed);box-shadow:0 0 0 3px #23160e,0 20px 70px #000b;width:min(690px,88%)}.skip{border:2px solid #9c7945;color:#ead5b5;background:#302016}.toast{background:linear-gradient(#eee2c4,#d2bc93);color:#593525;border:3px ridge #b28b4c;box-shadow:0 6px 20px #0008}
@media(max-width:1050px) and (min-width:601px){.controls{gap:7px;padding:5px 11px;left:12%;right:5%}.controls .icon-btn{width:29px;height:29px;font-size:18px}.controls .icon-btn svg{width:17px;height:17px}.auto{min-width:32px;height:33px;padding:3px;font-size:7px}.balance-meter{min-width:63px}.win-meter{min-width:58px}.meter strong{font-size:14px}.spin{width:80px;height:80px;margin:0 5px}.spin span{font-size:10px}.bet-control{gap:4px}.bet-control button{width:24px;height:24px;font-size:18px}.buy-control{min-width:98px;left:3.8%;padding:7px 6px}}
@media(max-width:600px) and (orientation:portrait){.controls{left:3%;right:3%;bottom:2%;height:17%;padding:7px 10px;grid-template-columns:32px 1fr 1.2fr 1fr 32px;grid-template-rows:36% 64%;gap:2px 5px;border-radius:20px}.controls:before,.controls:after{display:none}.controls .icon-btn{width:30px;height:30px;font-size:19px}.controls .icon-btn svg{width:18px;height:18px}.balance-meter,.win-meter{min-width:0}.bet-control{gap:5px}.bet-control button{width:25px;height:25px;font-size:18px}.meter strong{font-size:14px}.spin{grid-column:3;grid-row:2;width:88px;height:88px;justify-self:center;align-self:center;margin:0;min-height:0;top:0}.spin span{font-size:10px}.spin.busy span{font-size:8px}.auto{min-width:31px;width:31px;height:33px;font-size:7px}.buy-control{left:5%;top:24%;max-width:none;width:38%;min-width:0;font-size:12px;padding:8px 5px;z-index:4}.buy-control small{font-size:7px;margin-top:3px}.toilet{left:8%;top:15%;height:17%;width:27%;z-index:2}.toilet-hint{display:none}.saying,.saying.right{left:5%;top:17%;width:40%;font-size:14px;background:#24140cba;border-radius:6px;padding:5px;z-index:3}.machine{top:33%;height:40%}.feature-cards h2{font-size:15px}dialog{padding:18px 15px 20px;border-width:5px;max-height:88dvh}.panel-heading h2{font-size:23px}.panel-heading h2:before{font-size:18px;margin-right:7px}.panel-tabs button{font-size:10px;padding:9px}.setting{gap:10px;font-size:11px}.setting input[type=range]{width:140px}.buy-options{gap:10px}.buy-card{padding:12px 8px}.buy-card img{width:74px;height:74px}.buy-card h3{font-size:18px}.buy-card p{font-size:10px;min-height:64px}.buy-card .price{font-size:22px}.buy-card .pink-button{font-size:9px;letter-spacing:.6px}.confirm-actions{gap:10px}.confirm-actions button{font-size:10px;padding:13px 10px}#celebration-inner{padding:27px 14px;width:91%;max-width:91%}#celebration-description{padding:0 10px}#celebration-title{font-size:38px}}
