/* The daily token hangs beside the menu; it takes no space from the old layout. */
.lucky-cap-entry{position:absolute;z-index:12;top:var(--cap-entry-y,34%);left:var(--cap-entry-x,6px);width:48px;padding:0;border:0;background:none;color:#d9c596;cursor:pointer;text-align:center;filter:drop-shadow(0 2px 2px #000b);transition:filter .2s,translate .15s,opacity .6s}
.lucky-cap-entry svg{display:block;width:44px;height:49px;margin:auto}.lucky-cap-entry>span{display:block;margin-top:-2px;font:5px 'Knightle Quill',Georgia;letter-spacing:.4px}.lucky-cap-entry>small{display:block;font:6px 'Knightle Quill',Georgia;letter-spacing:1px;color:#9aa98c;margin-top:4px}.lucky-cap-entry:active{translate:0 3px}.lucky-cap-entry:hover{filter:brightness(1.25)}.lucky-cap-entry:focus-visible{outline:2px solid #ead29b;outline-offset:3px}.intro-active .lucky-cap-entry{opacity:0;pointer-events:none}
.cap-available svg{animation:cap-ready-glow 4.5s ease-in-out infinite}.cap-available .cap-sigil-coin{animation:cap-coin-shine 4.5s ease-in-out infinite}.cap-available .cap-sigil-pegs{animation:cap-peg-shine 4.5s ease-in-out infinite}.cap-available small{color:#edd18a}.cap-notice{position:absolute;right:7px;top:8px;width:5px;height:5px;rotate:45deg;background:#f2d684;box-shadow:0 0 0 1px #57462a,0 0 8px 2px #d9bc6380;animation:cap-lamp 4.5s ease-in-out infinite}
@keyframes cap-ready-glow{0%,60%,100%{filter:brightness(1)}76%{filter:brightness(1.25) drop-shadow(0 0 5px #e7bd6455)}}@keyframes cap-coin-shine{0%,62%,100%{filter:brightness(1)}70%{filter:brightness(1.9) drop-shadow(0 0 3px #f5dc95)}}@keyframes cap-peg-shine{0%,73%,100%{filter:brightness(1)}81%{filter:brightness(1.8)}}@keyframes cap-lamp{0%,55%,100%{opacity:.65}72%{opacity:1;box-shadow:0 0 0 1px #b59854,0 0 12px 4px #e1c57299}}
/* A worn cabinet: timber edges, forged corner straps and a felt-backed board. */
.lucky-cap-backdrop{z-index:80;padding:16px;background:#07140f;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;align-items:center;justify-content:center;animation:none}
/* Keep full-screen rendering local to the cabinet, especially on Windows GPUs. */
.cap-is-open>.stage *,.cap-is-open>.stage *::before,.cap-is-open>.stage *::after{animation-play-state:paused!important}
.cap-is-open>.stage{visibility:hidden}
.cap-board-wrap{contain:paint}
.cap-motion-window{position:absolute;left:2.5%;top:0;width:95%;height:92.9032258065%;overflow:hidden;pointer-events:none;z-index:1}
.cap-motion-plane{position:absolute;left:-2.6315789474%;top:0;width:105.2631578947%;height:107.6388888889%}
.cap-flight{position:absolute;inset:0;will-change:transform;pointer-events:none}
.cap-coin-art{position:absolute;left:-2.5%;top:-2.5806451613%;width:5%;height:5.1612903226%;image-rendering:pixelated;will-change:transform}
.cap-aim-art{display:none;position:absolute;left:-4.6875%;top:-7.0967741935%;width:9.375%;height:18.7096774194%;image-rendering:pixelated}
[data-phase=aim] .cap-aim-art{display:block}
.cap-trail{display:none}.cap-trail i{position:absolute;left:-1.25%;top:-1.2903225806%;width:2.5%;height:2.5806451613%;background:#f1d283}
[data-phase=dropping]:not(.cap-motion-reduced) .cap-trail{display:block}
.cap-trail[data-cap-trail="4"]{opacity:.055}.cap-trail[data-cap-trail="3"]{opacity:.11}.cap-trail[data-cap-trail="2"]{opacity:.165}.cap-trail[data-cap-trail="1"]{opacity:.22}
[data-phase=used] .cap-token{display:none}
.cap-board-front{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;z-index:1}
.lucky-cap-dialog{position:relative;width:min(380px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;padding:20px 20px 14px;text-align:center;color:#ead8b1;background:repeating-linear-gradient(2deg,#c3a16903 0 1px,transparent 1px 7px),radial-gradient(ellipse at 50% 0,#324538,#152820 54%,#101b16);border:3px solid #493a27;box-shadow:0 0 0 1px #c5a46a,0 0 0 4px #131d16,0 0 0 5px #74603d,0 18px 70px #000d,inset 0 0 0 1px #a68c56,inset 0 0 0 5px #14221a,inset 0 0 35px #0008;animation:cap-dialog-in .4s cubic-bezier(.2,.8,.3,1) both}
.lucky-cap-dialog:before,.lucky-cap-dialog:after{content:'';position:absolute;left:9px;right:9px;height:7px;border-left:7px solid #c3a26a;border-right:7px solid #c3a26a;box-shadow:0 -1px #e3c98e55;pointer-events:none}.lucky-cap-dialog:before{top:9px}.lucky-cap-dialog:after{bottom:9px;rotate:180deg}.cap-close{position:absolute;right:10px;top:9px;width:30px;height:30px;border:0;color:#c7b389;background:transparent;font:23px Georgia;cursor:pointer;z-index:4}.cap-close:hover{color:#fff0bb}.cap-close:focus-visible{outline:1px solid #cfb475;outline-offset:-3px}
.cap-heading .eyebrow{font-size:7px;letter-spacing:2.2px;margin:0 20px 6px;color:#af9d72}.cap-heading h2{font:29px/1.15 'Knightle Herald',Georgia;margin:0;letter-spacing:1.3px;text-shadow:0 3px #071713;color:#eed6a1}.cap-heading>p:last-child{font:italic 11px Georgia;color:#b4bda3;margin:7px 0 14px}.cap-machine{border:4px solid #4b3625;background:#17221c;box-shadow:0 0 0 1px #b7985f,0 5px 0 #07110d,inset 0 0 0 1px #d1b371;position:relative;isolation:isolate}.cap-jackpot{height:42px;display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:2px solid #755733;background:repeating-linear-gradient(3deg,transparent 0 4px,#bd93570b 4px 5px),linear-gradient(90deg,#241e16,#443522,#241e16)}.cap-jackpot canvas{width:27px;height:31px;image-rendering:pixelated}.cap-jackpot span{font:9px 'Knightle Quill',Georgia;color:#ead399;letter-spacing:.6px}.cap-jackpot small{display:block;font:6px 'Knightle Quill',Georgia;letter-spacing:1px;color:#b5bd94;margin-top:5px}.cap-jackpot i{font-size:18px;color:#c7b06a;font-style:normal}
.cap-board-wrap{position:relative;isolation:isolate}.cap-board{width:100%;height:auto;display:block;image-rendering:pixelated;touch-action:pan-y}.cap-slot-labels{display:grid;grid-template-columns:52fr 48fr 42fr 20fr 42fr 48fr 52fr;padding:0 2.5%;background:linear-gradient(#2e2a1c,#141d16);border-top:1px solid #ad8d52;min-height:38px}.cap-slot-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-right:1px solid #77634155;color:#efd18e;padding:5px 0 6px;position:relative;transition:background .3s,box-shadow .3s}.cap-slot-label:last-child{border:0}.cap-slot-label b{font:bold 15px/1 Georgia;letter-spacing:.3px;color:inherit;text-shadow:0 1px #080d08}.cap-slot-label small{font:6px/1.2 'Knightle Quill',Georgia;letter-spacing:.3px;color:inherit}.slot-xp{color:#b3d5ac}.slot-dye{color:#d7b9dd}.slot-helmet{color:#ffe6a5;background:#9075352c}.slot-helmet span{font:16px/.9 Georgia}.slot-helmet small{font-size:5px;letter-spacing:0}.cap-slot-label.slot-lit{background:linear-gradient(#c8ad5c5c,#6d603322);box-shadow:inset 0 1px #ffe5a8,0 0 13px #d8bf6470;color:#fff3c7;animation:cap-slot-stamp .5s ease both}
.cap-status{min-height:15px;font:italic 11px Georgia;color:#c8c3a4;margin:14px 0 10px}.cap-controls .btn{width:100%;min-height:46px;letter-spacing:1.3px;position:relative}.cap-controls .btn:disabled{opacity:.6;cursor:default}.cap-footnote{font:9px/1.4 Georgia;color:#8c9a81;margin:11px 0 0}.cap-next{padding:9px 0 14px;font:7px 'Knightle Quill',Georgia;color:#a3b099;letter-spacing:1.5px}.cap-next strong{display:block;font:22px Georgia;color:#e4c986;letter-spacing:2px;margin-top:7px;font-variant-numeric:tabular-nums}
/* Rules fade away before the only timing control is shown. */
.cap-intro-panel{position:absolute;inset:14px 12px 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#142b21fc 25%,#12251ff0 62%,#11231bb0);opacity:0;transition:opacity .24s ease;pointer-events:none;z-index:2;color:#d8d2b1}.cap-intro-panel.intro-visible{opacity:1}.cap-intro-seal svg{width:50px;height:56px;filter:drop-shadow(0 3px 3px #0009)}.cap-intro-panel h3{font:10px 'Knightle Quill',Georgia;letter-spacing:1px;color:#ebd6a4;margin:12px 0}.cap-intro-panel p{font:14px/1.6 Georgia;color:#d8dbc0;margin:0}.cap-intro-panel b{font:10px 'Knightle Quill',Georgia;color:#f4d796;letter-spacing:1px}.cap-intro-panel>small{font:6px 'Knightle Quill',Georgia;letter-spacing:1.2px;margin-top:16px;color:#a7b599}
/* An illuminated invitation set into the old timber cabinet. */
.cap-heading h2{color:#f2dfb3;text-shadow:0 2px #06150d,0 0 18px #c9a66325}
.cap-heading>p:last-child{color:#b8c5a5}
.cap-jackpot{background:linear-gradient(90deg,#1b241a,#38432b 50%,#1b241a);box-shadow:inset 0 1px #c6b27355,inset 0 -3px #111b11}
.cap-jackpot i{color:#f0d99c;text-shadow:0 0 13px #e6c26280}
.cap-intro-panel{background:radial-gradient(ellipse at 50% 40%,#1b3428fc 20%,#10271ff2 65%,#0d2119c9);box-shadow:inset 0 1px #b5a06c55,inset 0 -1px #ae986733;border:1px solid #9c865327}
.cap-intro-panel:before,.cap-intro-panel:after{content:'';position:absolute;width:13px;height:13px;border-color:#aa945d;border-style:solid;pointer-events:none}
.cap-intro-panel:before{top:5px;left:5px;border-width:1px 0 0 1px}.cap-intro-panel:after{right:5px;bottom:5px;border-width:0 1px 1px 0}
.cap-intro-panel h3{color:#f2dfb0;letter-spacing:1.5px;text-shadow:0 2px #0d1c12}
.cap-intro-seal{filter:drop-shadow(0 0 13px #d2b26125)}
.cap-magic-key{display:flex;gap:10px;align-items:center;margin:14px 0 0;height:12px}
.cap-magic-key i{display:block;width:4px;height:4px;rotate:45deg;background:#d9aa58;box-shadow:0 0 6px #d9aa5866}
.cap-magic-key i:nth-child(2){width:5px;height:5px;background:#a8d8a9;box-shadow:0 0 8px #a8d8a977}
.cap-magic-key i:nth-child(3){width:6px;height:6px;background:#c8a4e8;box-shadow:0 0 10px #c8a4e888}
.cap-magic-key i:nth-child(4){width:8px;height:8px;background:#f3de9c;box-shadow:0 0 11px #f3de9c99,0 0 18px #b9d7bf44}
.cap-intro-panel>small{font-size:5.5px;letter-spacing:.7px;margin-top:10px}
.cap-slot-labels{background:linear-gradient(#283324,#111d15);border-top-color:#b19a63;box-shadow:inset 0 1px #d6bf7a22}
.cap-slot-label.slot-dye{text-shadow:0 0 8px #b88bd635}.cap-slot-label.slot-helmet{text-shadow:0 0 12px #f1dc9188;background:linear-gradient(#8b77452e,#263b2c55)}
@media(max-height:640px){.cap-magic-key{margin-top:8px;gap:8px}.cap-intro-panel>small{font-size:4.5px;letter-spacing:.2px}}
/* The reward rises from its actual hole; the board never changes position. */
.cap-prize-layer{position:absolute;inset:5px 9px 38px;background:radial-gradient(ellipse,#10271deb 18%,#12251fc4 60%,#12241f00 78%);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;padding:12px;color:#efd798;z-index:3}.cap-prize-layer.prize-visible{animation:cap-prize-veil .8s ease both}.cap-prize-overline{position:relative;z-index:2;font:7px 'Knightle Quill',Georgia;letter-spacing:1.6px;color:#cbd4ae;margin:0 0 8px}.cap-prize-halo{position:absolute;left:50%;top:43%;width:136px;height:136px;translate:-50% -50%;background:repeating-conic-gradient(from 12deg,#f1d28b14 0 9deg,transparent 9deg 28deg);border-radius:50%;mask-image:radial-gradient(circle,#0000 7%,#000 16%,#0000 69%);opacity:0}.prize-visible .cap-prize-halo{animation:cap-prize-halo 3s ease .55s both}.cap-prize-art{position:relative;width:72px;height:72px;display:grid;place-items:center;filter:drop-shadow(0 0 12px #efd28577);z-index:2}.cap-prize-art canvas{width:72px;height:72px;image-rendering:pixelated}.cap-prize-art [data-currency-coin]{width:52px;height:52px}.cap-xp-gem{font-size:59px;color:#b6d5a0;line-height:1}.cap-prize-layer h3{position:relative;font:13px 'Knightle Quill',Georgia;margin:9px 0 7px;color:#f2dba4;text-shadow:0 2px #14251c}.cap-prize-count{font:bold 37px/1.1 Georgia;color:#ffe5a1;font-variant-numeric:tabular-nums;text-shadow:0 2px #182217,0 0 15px #d7b85c33}.cap-prize-keep{font:7px 'Knightle Quill',Georgia;letter-spacing:1px;color:#bed4ac;margin:5px}.cap-prize-layer>p:not(.cap-prize-overline){font:italic 11px/1.4 Georgia;color:#cbd0b0;margin:6px 0;max-width:210px}.cap-purse{font:7px 'Knightle Quill',Georgia;color:#a8b293;margin:8px 0 0}.cap-purse b{display:inline-block;color:#ecd39b;font:14px Georgia;margin-left:6px;min-width:43px;font-variant-numeric:tabular-nums}.prize-visible .cap-prize-art{animation:cap-prize-flight .95s cubic-bezier(.12,.65,.24,1) both}.prize-visible>:not(.cap-prize-art):not(.cap-prize-halo){animation:cap-prize-copy .6s ease .7s both}.cap-claim-ready{animation:cap-claim-shine .6s ease both}.cap-phase-landing .cap-machine{animation:cap-slot-impact .42s ease-out both}.cap-phase-dropping .cap-drop{animation:cap-button-press .28s ease-out both}.cap-won .cap-jackpot{border-bottom-color:#b49960;transition:border-color .5s}
.cap-closing{animation:cap-backdrop-out .22s ease both}.cap-closing .lucky-cap-dialog{animation:cap-dialog-out .22s ease both}
@keyframes cap-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes cap-dialog-in{from{opacity:0;translate:0 14px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes cap-backdrop-out{to{opacity:0}}@keyframes cap-dialog-out{to{translate:0 8px;scale:.98}}@keyframes cap-prize-veil{from{opacity:0}to{opacity:1}}@keyframes cap-prize-flight{0%{transform:translate(var(--cap-flight-x,0px),var(--cap-flight-y,120px)) scale(.18) rotate(-8deg);filter:brightness(2) drop-shadow(0 0 14px #ffe6a6)}65%{transform:translate(0,-6px) scale(1.13) rotate(2deg);filter:brightness(1.25) drop-shadow(0 0 18px #efd285)}100%{transform:translate(0,0) scale(1);filter:brightness(1) drop-shadow(0 0 12px #efd28577)}}@keyframes cap-prize-copy{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes cap-prize-halo{0%{opacity:0;rotate:-25deg;scale:.7}25%{opacity:1}100%{opacity:.6;rotate:12deg;scale:1.1}}@keyframes cap-slot-impact{0%,100%{translate:0 0}15%{translate:0 4px}32%{translate:-3px -2px}50%{translate:3px 1px}70%{translate:-1px 0}}@keyframes cap-slot-stamp{0%{filter:brightness(2);translate:0 2px}100%{filter:brightness(1);translate:0 0}}@keyframes cap-claim-shine{0%{filter:brightness(1.55)}100%{filter:brightness(1)}}@keyframes cap-button-press{0%,25%{translate:0 3px;scale:.99 .95;filter:brightness(1.2)}65%{translate:0 -1px;scale:1.003 1.01}100%{translate:0 0;scale:1;filter:none}}
@media(max-height:720px){.lucky-cap-dialog{width:350px;padding:16px 16px 12px}.cap-heading h2{font-size:27px}.cap-heading>p:last-child{margin:6px 0 11px}.cap-jackpot{height:38px}.cap-status{margin-top:12px}.cap-footnote{margin-top:9px}}
@media(max-width:350px){.lucky-cap-entry{width:42px}.lucky-cap-entry svg{width:37px;height:42px}.lucky-cap-entry>span{font-size:4.5px}.lucky-cap-entry>small{font-size:5px;margin-top:3px}.lucky-cap-backdrop{padding:12px}.lucky-cap-dialog{padding:14px 12px 10px}.cap-heading h2{font-size:25px}.cap-heading .eyebrow{font-size:6px}.cap-heading>p:last-child{font-size:10px}.cap-status{font-size:10px;margin:10px 0 8px}.cap-footnote{font-size:8px}.cap-slot-label b{font-size:13px}.cap-slot-label small{font-size:5px}.slot-helmet small{font-size:4px}}
@media(max-height:640px) and (max-width:499px){.lucky-cap-dialog{padding:13px 12px 10px}.cap-machine{width:min(100%,220px);margin-inline:auto}.cap-jackpot{height:30px;gap:7px}.cap-jackpot canvas{width:22px;height:25px}.cap-jackpot span{font-size:7px}.cap-jackpot small{font-size:5px;margin-top:3px}.cap-slot-labels{min-height:30px}.cap-slot-label{gap:2px;padding:4px 0}.cap-slot-label b{font-size:12px}.cap-slot-label small{font-size:5px;letter-spacing:0}.slot-helmet small{font-size:4px}.slot-helmet span{font-size:13px}.cap-next{padding:4px 0 5px}.cap-next strong{font-size:18px;margin-top:4px}.cap-phase-used .cap-status{margin:7px 0 0}.cap-phase-used .cap-footnote{font-size:7px;margin-top:4px}.cap-intro-panel{inset:6px 6px 34px}.cap-intro-seal svg{width:34px;height:38px}.cap-intro-panel h3{font-size:8px;margin:8px 0}.cap-intro-panel p{font-size:11px;line-height:1.5}.cap-intro-panel b{font-size:8px}.cap-intro-panel>small{font-size:5px;margin-top:10px}.cap-prize-layer{inset:2px 5px 27px;padding:6px}.cap-prize-overline{font-size:5px;letter-spacing:1px;margin-bottom:5px}.cap-prize-art,.cap-prize-art canvas{width:46px;height:46px}.cap-prize-art [data-currency-coin]{width:36px;height:36px}.cap-xp-gem{font-size:40px}.cap-prize-layer h3{font-size:9px;margin:5px 0}.cap-prize-count{font-size:27px}.cap-prize-keep{font-size:5px;margin:4px}.cap-prize-layer>p:not(.cap-prize-overline){font-size:9px;margin:5px 0}.cap-purse{font-size:5px;margin-top:3px}.cap-purse b{font-size:11px}}
@media(max-height:460px) and (min-width:500px){.lucky-cap-dialog{width:580px;display:grid;grid-template-columns:218px 1fr;gap:0 19px;padding:13px 16px;align-items:center}.cap-heading{grid-column:2;grid-row:1}.cap-machine{grid-row:1/3;grid-column:1}.cap-controls{grid-column:2;grid-row:2}.cap-jackpot{height:28px;gap:7px}.cap-jackpot span{font-size:7px}.cap-jackpot small{font-size:5px;margin-top:3px}.cap-jackpot canvas{width:22px;height:25px}.cap-slot-labels{min-height:30px}.cap-slot-label{gap:2px;padding:4px 0}.cap-slot-label b{font-size:12px}.cap-slot-label small{font-size:5px;letter-spacing:0}.slot-helmet small{font-size:4px}.cap-heading h2{font-size:27px}.cap-heading>p:last-child{font-size:11px}.cap-controls .btn{font-size:9px}.cap-status{margin-top:4px}.cap-footnote{font-size:9px}.cap-intro-panel{inset:5px 5px 34px}.cap-intro-seal svg{width:34px;height:38px}.cap-intro-panel h3{font-size:8px;margin:7px 0}.cap-intro-panel p{font-size:11px}.cap-intro-panel>small{font-size:5px;margin-top:8px}.cap-prize-layer{inset:3px 5px 26px;padding:7px}.cap-prize-overline{font-size:6px}.cap-prize-art,.cap-prize-art canvas{width:43px;height:43px}.cap-prize-art [data-currency-coin]{width:34px;height:34px}.cap-prize-layer h3{font-size:9px;margin:5px 0}.cap-prize-count{font-size:27px}.cap-prize-layer>p:not(.cap-prize-overline){font-size:9px;margin:4px 0}.cap-purse{font-size:5px;margin-top:3px}.cap-purse b{font-size:11px}.cap-prize-keep{font-size:5px}.cap-xp-gem{font-size:39px}}
@media(prefers-reduced-motion:reduce){.cap-available svg,.cap-available .cap-sigil-coin,.cap-available .cap-sigil-pegs,.cap-notice,.lucky-cap-backdrop,.lucky-cap-dialog,.cap-prize-layer.prize-visible,.prize-visible .cap-prize-art,.prize-visible>:not(.cap-prize-art):not(.cap-prize-halo),.prize-visible .cap-prize-halo,.cap-phase-landing .cap-machine,.cap-slot-label.slot-lit,.cap-phase-dropping .cap-drop,.cap-claim-ready{animation:none}.cap-available svg{filter:drop-shadow(0 0 4px #e7bd6455)}.cap-prize-layer.prize-visible{opacity:1}.cap-prize-halo{display:none}.cap-closing{opacity:0;transition:opacity .15s}.cap-closing .lucky-cap-dialog{animation:none}}
