@font-face{font-family:'DM Sans';src:url('assets/dm-sans.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('assets/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;background:#0b0f0b;color:#d6dbc9}
*{box-sizing:border-box}body{margin:0}
.experience{height:100svh;min-height:360px;position:relative;overflow:hidden;background:#0b0f0b}
.scene,.scene img,.scene video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene img,.scene video{object-fit:cover;object-position:center}.scene video{opacity:0}.scene.video-ready video{opacity:1}
#water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sound{position:absolute;top:28px;right:28px;display:grid;place-items:center;width:44px;height:44px;padding:6px;border:0;background:transparent;color:#a2a2a2;opacity:.72;cursor:pointer;transition:opacity .2s}
.sound:hover,.sound:focus-visible{opacity:1}.sound svg{width:32px;height:32px;overflow:visible}.speaker-body{fill:#929292}.speaker-facet{fill:#b0b0b0}.speaker-waves,.speaker-muted{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.speaker-waves{display:none}.sound[aria-pressed=true] .speaker-waves{display:initial}.sound[aria-pressed=true] .speaker-muted{display:none}
.claim-form{position:absolute;width:min(286px,calc(100% - 40px));top:25%;left:50%;transform:translate(-50%,10px);display:flex;flex-direction:column;align-items:center;gap:9px;opacity:0;visibility:hidden;transition:opacity 1.6s ease,transform 1.6s ease,visibility 1.6s}
.revealed .claim-form{opacity:1;visibility:visible;transform:translate(-50%,0)}
input,button{border-radius:0}
input{width:100%;height:40px;padding:0 12px;border:1px solid #a0b08d70;background:rgba(0,0,0,.58);box-shadow:0 5px 25px #0003;color:#e2e6d8;font:400 11px 'IBM Plex Mono',monospace;letter-spacing:0;outline:none;text-align:center}
input::placeholder{color:#c2c8b9}input:focus{border-color:#d1dcb8}input[aria-invalid=true]{border-color:#c48c73}
#claim-button{width:116px;height:34px;border:1px solid #c0c9ad;background:#bec8a9ed;color:#192014;font:600 12px 'DM Sans',Arial,sans-serif;letter-spacing:.3px;cursor:pointer;transition:background .2s}
#claim-button:hover{background:#d9e1c8}button:focus-visible{outline:2px solid #e5efcc;outline-offset:5px}
#form-message:empty{display:none}#form-message{width:100%;margin:0;text-align:center;font:10px/1.6 'IBM Plex Mono',monospace;color:#d2dbc5;text-shadow:0 1px 5px #000;background:#0009;padding:8px}#form-message.error{color:#e0b39c}
@media(max-width:600px){.sound{top:20px;right:20px}}
@media(max-height:600px){.sound{top:18px;right:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.scene video{display:none}}
.claim-form{top:18%}
.token-link{position:absolute;top:28px;left:28px;display:flex;align-items:center;gap:19px;padding:11px 16px;color:#eee;background:rgba(255,255,255,.09);border:1px solid #ffffff52;font:600 12px 'DM Sans',Arial,sans-serif;text-decoration:none;transition:background .2s}
.token-link:not([aria-disabled]):hover{background:rgba(255,255,255,.18)}.token-link[aria-disabled]{cursor:default;color:#b7bcb1}.token-link:focus-visible{outline:2px solid #e5efcc;outline-offset:5px}
.faucet-data{position:absolute;bottom:32px;left:32px;right:32px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:24px;pointer-events:none}
.data-block{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-family:'IBM Plex Mono',monospace;text-shadow:0 2px 8px #000;pointer-events:auto}
.balance-data{grid-column:2;text-align:center;align-items:center}.data-label{font-size:9px;letter-spacing:1.5px;color:#aeb9a0}.data-value{font-size:24px;letter-spacing:-.5px;color:#e2e6d8}.sol-unit{font-size:12px;letter-spacing:1px;color:#b4c19f}.data-status,.wallet-address{font-size:8px;color:#9ca78e;letter-spacing:.1px}.wallet-address{color:#bcc6ad;text-decoration:none}.wallet-address[hidden]{display:none}.wallet-address:hover{color:#fff}
@media(max-width:600px){.token-link{top:20px;left:20px;padding:10px 12px}.faucet-data{left:20px;right:20px;bottom:25px;grid-template-columns:1fr 1fr;gap:16px}.balance-data{grid-column:2;text-align:right;align-items:flex-end}.data-value{font-size:20px}.data-label{font-size:8px;letter-spacing:1px}.data-status{font-size:7px}.claim-form{top:19%}}
@media(max-height:500px){.faucet-data{bottom:15px}.data-block{gap:5px}.data-value{font-size:18px}.claim-form{top:24%}}
.odds-data{grid-column:3;align-items:flex-end;text-align:right}
.holding-instruction{width:min(320px,calc(100vw - 40px));max-width:none;margin:0 0 7px;font:400 13px/1.55 'IBM Plex Mono',monospace;color:#fff0e4;text-align:right}
@media(max-width:600px){.holding-instruction{width:min(280px,calc(100vw - 40px));font-size:11px}}
.odds-table{border-collapse:collapse;width:150px;max-width:100%;font-size:10px;color:#c6cebb;font-variant-numeric:tabular-nums}
.odds-table th{font-size:7px;font-weight:400;letter-spacing:1px;color:#929e83;padding:0 0 7px}
.odds-table td{padding:4px 0;border-top:1px solid #b6c59d15}
.odds-table th:first-child,.odds-table td:first-child{text-align:left}
.odds-table th:last-child,.odds-table td:last-child{text-align:right}
@media(max-width:600px){.faucet-data{grid-template-columns:1fr 1fr 1fr;gap:10px}.balance-data{text-align:center;align-items:center}.odds-table{width:100%;font-size:8px}.odds-table th{font-size:6px;letter-spacing:.5px}.odds-table td{padding:4px 0}.data-label{font-size:7px;letter-spacing:.5px}.data-status{font-size:7px;line-height:1.6}.data-value{font-size:18px}.sol-unit{font-size:9px}.odds-data .data-label{white-space:nowrap}}
@media(max-height:500px){.odds-table td{padding:2px 0}.odds-data{gap:4px}}

#bot-check:empty{display:none}#bot-check{width:100%;margin-top:3px}#form-message a{color:#dce9c5}#claim-button:disabled{opacity:.65;cursor:wait}
#eligibility-note{margin:0;text-align:center;font:10px/1.5 'IBM Plex Mono',monospace;color:#e0d6dc;text-shadow:0 1px 5px #000}#eligibility-note[hidden]{display:none}
.token-link{width:68px;height:58px;padding:0;background:transparent;border:0;gap:0}
.token-link img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease-out}
.token-link:hover img,.token-link:focus-visible img{transform:scale(1.1)}
.token-link:active img{transform:scale(1.05)}
.token-link:not([aria-disabled]):hover{background:transparent;filter:brightness(1.15)}
@media(max-width:600px){.token-link{width:56px;height:48px;padding:0}}
.x-link{position:absolute;top:39px;left:112px;z-index:3;display:grid;place-items:center;width:36px;height:36px;color:#d1c8cf;opacity:.78;text-decoration:none;transition:opacity .2s}
.x-link svg{display:block;width:26px;height:26px;transition:transform .2s ease-out}
.x-link:hover,.x-link:focus-visible{opacity:1}.x-link:hover svg,.x-link:focus-visible svg{transform:scale(1.1)}.x-link:active svg{transform:scale(1.05)}
.x-link:focus-visible{outline:2px solid #ff488f;outline-offset:5px}
@media(max-width:600px){.x-link{top:26px;left:90px}.x-link svg{width:24px;height:24px}}
/* Mogz-inspired visual theme; layout and payout behavior stay unchanged. */
:root,body,.experience{background:#0d0d10;color:#f0edf0}
.experience::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0d0d1025,transparent 32%,transparent 63%,#0d0d10d9);z-index:0}
#water{z-index:1}.claim-form,.token-link,.sound,.faucet-data{z-index:3}
input{background:#101014b8;border-color:#ffffff35;color:#f5f0eb;box-shadow:0 5px 24px #0003}
input::placeholder{color:#d4cdd2}input:focus{border-color:#ff408d;box-shadow:0 0 0 2px #ff408d14}
#claim-button{background:#ff9c37;border-color:#ffb76f;color:#1b1010;border-radius:4px;box-shadow:0 3px 15px #ff7c141f}
#claim-button:hover{background:#ffb15e}button:focus-visible,.token-link:focus-visible{outline-color:#ff488f}
#form-message{background:#111115dc;color:#e5dee6}#form-message.error{color:#ffb2b8}#form-message a{color:#ffb460}
.data-label{color:#d0c6ce}.data-value{color:#fff6ed}.balance-data .data-value{color:#ffb35f}.sol-unit{color:#ffb35f}.data-status,.wallet-address{color:#b9aeb8}.wallet-address:hover{color:#ffad4d}
.odds-table{color:#ede6eb}.odds-table th{color:#b4a4b1}.odds-table td{border-color:#ffffff16}.odds-table td:last-child{color:#ffb460}
