@font-face{font-family:Atelier;src:url('../assets/fonts/CooperHewitt-Book.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Atelier;src:url('../assets/fonts/CooperHewitt-Semibold.woff') format('woff');font-weight:600 900;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#f6ecd2;font-family:Atelier,sans-serif}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #f4d392;outline-offset:3px}button{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-library{position:absolute;width:0;height:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.game-shell{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform-origin:center;overflow:hidden;isolation:isolate;background:#071311}.world-art,.world-art img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-art img{object-fit:fill}.arena{position:absolute;inset:0;pointer-events:none}.board-wrap{position:absolute;left:25.25%;top:12%;width:49.5%;height:66.4%}#board{display:block;width:100%;height:100%}.board-status{position:absolute;left:25.4%;top:11%;width:20%;font-size:16px;color:#b2c0b8;letter-spacing:.08em;opacity:.8}.collection{position:absolute;left:62%;top:10.7%;width:11%;text-align:right}.collection span{display:block;font-size:12px;letter-spacing:.15em;color:#bdbeaa}.collection strong{display:block;font-size:35px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.landing-display{position:absolute;left:31%;width:38%;top:74.5%;text-align:center;font-size:19px;color:#ffe0a1;opacity:0;transition:opacity .25s}.landing-display.visible{opacity:1}.mode-control{position:absolute;left:50%;top:79.4%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;justify-content:center}.mode-control p{position:absolute;top:46px;width:360px;margin:0;text-align:center;font-size:13px;letter-spacing:.04em;color:#c3bea5}.painted{position:relative;border:0;background:none;padding:0;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;user-select:none;transition:transform .16s ease,color .2s ease}.painted:before,.painted:after{content:"";position:absolute;inset:0;background:var(--normal) center/100% 100% no-repeat;z-index:-1;pointer-events:none;transition:opacity .22s ease}.painted:after{background-image:var(--pressed);opacity:0}.painted:active:not(:disabled){transform:translateY(2px) scale(.98)}.painted:active:not(:disabled):after,.painted[aria-pressed=true]:after{opacity:1}.painted:disabled:after{background-image:var(--disabled);opacity:1}.painted:disabled{color:#7f837e}.painted:not(:disabled):hover{color:#fff9e9}.mode-button{--normal:url('../assets/atelier/mode-normal.webp');--pressed:url('../assets/atelier/mode-pressed.webp');--disabled:url('../assets/atelier/mode-disabled.webp');width:174px;height:50px;font-size:18px;font-weight:600;letter-spacing:.05em}.utility{--normal:url('../assets/atelier/utility-normal.webp');--pressed:url('../assets/atelier/utility-pressed.webp');--disabled:url('../assets/atelier/utility-disabled.webp');width:62px;height:62px}.utility svg{width:27px;height:27px}.console{position:absolute;left:13.5%;right:13.5%;top:87%;height:95px;display:flex;align-items:center;gap:26px}.readout{min-width:0;text-align:center;font-variant-numeric:tabular-nums}.readout>span{display:block;color:#b9b49e;font-size:14px;letter-spacing:.1em;line-height:1.5}.readout strong{display:block;white-space:nowrap;font-size:32px;font-weight:600;line-height:1.45;overflow:hidden}.balance-readout{width:160px;flex-shrink:0}.bet-control{display:flex;align-items:center;gap:8px}.bet-control .readout{width:146px}.win-readout{width:180px;flex-shrink:0}.win-readout strong{color:#f7db9e}.drop-button{--normal:url('../assets/atelier/drop-normal.webp');--pressed:url('../assets/atelier/drop-pressed.webp');--disabled:url('../assets/atelier/drop-disabled.webp');width:158px;height:158px;margin-top:-15px;flex-direction:column;filter:drop-shadow(0 8px 10px #0009)}.drop-button>span{font-size:30px;font-weight:600;letter-spacing:.06em;line-height:1.5}.drop-button small{font-size:10px;letter-spacing:.15em;color:#a9c6cd}.console-tools{display:flex;gap:12px}.settings-button{position:absolute;right:11.4%;top:6.2%;width:52px;height:52px}.win-overlay{position:absolute;left:23.8%;top:16%;width:52.4%;height:59%;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:#050e13d9;opacity:0;visibility:hidden;transform:translateY(12px) scale(.96);transition:opacity .45s,transform .6s cubic-bezier(.16,1,.3,1),visibility .45s;pointer-events:none}.win-overlay.visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}.win-overlay img{width:88%;height:auto;max-height:42%;object-fit:contain;filter:drop-shadow(0 6px 10px #0009)}#win-value{font-size:90px;line-height:1.25;font-weight:600;color:#ffe2a3;text-align:center;font-variant-numeric:tabular-nums;max-width:95%;white-space:nowrap}.win-continue{border:0;background:none;font-size:17px;letter-spacing:.05em;padding:18px 40px;color:#d1c3a5}.win-overlay.max #win-value{color:#fff1c3}.error-notice{position:absolute;z-index:9;left:30%;top:35%;width:40%;padding:50px;background:#10191e url('../assets/atelier/marble.webp') center/cover;text-align:center;font-size:22px}.error-notice[hidden]{display:none}.modal{font-family:Atelier,sans-serif;color:#f1e8d2;background:#0a171a url('../assets/atelier/marble.webp') center/cover;border:0;padding:28px;width:min(480px,calc(100vw - 28px));max-height:90vh;overflow:auto;box-shadow:0 24px 90px #000b;font-size:16px;line-height:1.65}.modal::backdrop{background:#02090bd9}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.modal h2{font-size:26px;font-weight:600;margin:0}.modal .utility{width:44px;height:44px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:55px}.setting-row input{width:22px;height:22px;accent-color:#bc9656}.setting-row select{max-width:60%;background:#09191b;color:#eee3c8;border:1px solid #81765c;padding:9px;font-size:13px}.fine-print,.keyboard-note{font-size:13px;color:#abae9e}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-actions .mode-button{width:230px;height:60px;font-size:14px}.how-to{padding-left:22px}.how-to li{padding:6px 0}.world-dust{position:absolute;inset:8% 7% 12%;pointer-events:none;overflow:hidden}.world-dust i{position:absolute;width:2px;height:2px;background:#efd5a1;opacity:0;animation:drift 12s linear infinite}.is-hit{animation:counter-hit .45s ease-out}.reduce-motion *{animation:none!important;scroll-behavior:auto!important}.reduce-motion .painted,.reduce-motion .win-overlay,.reduce-motion .landing-display{transition-duration:.1s}.game-shell[data-state=loading] .console{opacity:.5}.game-shell[data-state=playing] .drop-button{animation:breath 3s ease-in-out infinite}.game-shell[data-state=playing] .drop-button small{color:#bdd6db}
@keyframes drift{0%{transform:translate(0,18px);opacity:0}20%{opacity:.24}80%{opacity:.14}100%{transform:translate(14px,-34px);opacity:0}}
@keyframes counter-hit{0%{color:#fff;transform:translateY(0)}25%{color:#fff4cc;transform:translateY(-3px)}100%{transform:none}}
@keyframes breath{50%{filter:drop-shadow(0 4px 14px #548ca638)}}

body{position:fixed;inset:0;contain:layout paint size}
.game-shell[data-layout=desktop] .drop-button{width:144px;height:144px;margin-top:-28px}
