
:root{color-scheme:dark;--gold:#e1be75;--ink:#0d1715;--muted:#aebdb4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 10%,#27372e 0,#101916 60%);color:#f5eee0;font-family:Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:#e4dac4;background:#1b2923;border:1px solid #53604a;border-radius:8px;padding:13px 18px;transition:background .2s,transform .2s}button:hover:enabled{background:#344333}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #f5cd71;outline-offset:5px}button.gold{background:linear-gradient(120deg,#e6c782,#b58a3e);color:#251d0c;border-color:#edce8e;font-weight:bold;font-size:23px;padding:21px 34px;box-shadow:0 4px 28px #dfaa3820}button.gold:hover:enabled{background:#efd394;transform:translateY(-2px)}.masthead{max-width:1560px;margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a98d4833}.brand{display:flex;align-items:center;gap:12px;color:var(--gold);text-decoration:none;letter-spacing:2px;font-size:17px}.brand small{display:block;font:9px/2.5 sans-serif;letter-spacing:2px;color:var(--muted)}.demo-tag,.eyebrow,.location{font:11px/1.5 system-ui,sans-serif;letter-spacing:2.5px;color:var(--gold)}main{max-width:1488px;margin:auto;padding:34px 36px}.intro{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:30px}.intro h1{font-size:clamp(32px,3.7vw,56px);font-weight:400;margin:10px 0}.intro p:not(.eyebrow){color:var(--muted);font-size:18px}.purse{text-align:right;min-width:280px}.purse>span,.purse small{display:block;color:var(--muted);font:13px/2 system-ui,sans-serif}.purse strong{display:block;font:32px/1.6 system-ui,sans-serif;font-weight:300;font-variant-numeric:tabular-nums}.purse i{color:var(--gold);font-style:normal;font-size:25px}.game{border:1px solid #ab8b465c;border-radius:16px;overflow:hidden;background:#131e19;box-shadow:0 24px 90px #0006}.scene{position:relative;aspect-ratio:16/9;background:#173239 url('/fishing-assets/moonlit-lake.png') center/cover;overflow:hidden;isolation:isolate}.scene:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#081615bb);pointer-events:none}.scene canvas{position:absolute;width:100%;height:100%;inset:0;z-index:2}.location{position:absolute;top:26px;left:26px;border:1px solid #cfb87855;padding:10px 16px;border-radius:30px;background:#10251caa;z-index:3}.scene-caption{position:absolute;bottom:26px;left:20px;right:20px;text-align:center;color:#ebdfc6;text-shadow:0 2px 8px #000;z-index:3;font-size:19px}.mist{position:absolute;inset:30% -15% 28%;background:radial-gradient(ellipse,#d1ede612,transparent 65%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none;z-index:1}@keyframes drift{to{transform:translateX(12%) translateY(12px);opacity:.4}}.controls{display:grid;grid-template-columns:1fr 1.3fr .65fr;align-items:center;gap:30px;padding:30px}.stake-control label{display:block;color:var(--muted);font:12px system-ui;margin-bottom:12px}.stake-control>div{display:flex;align-items:center;gap:12px}.stake-control output{font:20px system-ui;font-variant-numeric:tabular-nums}.stake-control button{font:23px system-ui;padding:7px 14px}.cast-control{text-align:center}.cast-control>button{width:100%}.cast-control p{font:12px/1.6 system-ui;color:var(--muted);margin-bottom:0;min-height:38px}.utility{display:flex;flex-direction:column;gap:10px}.utility button{font:14px system-ui}.collection{padding:36px 0}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-weight:400;font-size:29px;margin:8px 0 24px}.section-heading>span{color:var(--muted);font:13px system-ui}.catch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.catch-card{border:1px solid #72835a44;border-radius:12px;text-align:center;background:#17231ccc;padding:14px 12px 22px}.catch-card h3{font-size:17px;font-weight:400;margin:0 0 10px}.catch-card p{font:12px system-ui;color:var(--muted);margin:0}.sprite{background-image:url('/fishing-assets/catches.png');background-size:300% 200%;width:130px;height:130px;margin:auto;filter:drop-shadow(0 5px 12px #0006)}.catch-card.empty .sprite{opacity:.4}.catch-card.new{animation:glow 1s ease-out}@keyframes glow{50%{border-color:#ebca73;box-shadow:0 0 25px #ebca7344}}.catch-reveal{position:absolute;z-index:4;inset:8% auto auto 50%;transform:translateX(-50%);width:min(410px,82%);padding:22px 24px;background:linear-gradient(140deg,#101d19ed,#162c29ed);border:1px solid #cfaa5b;border-radius:18px;text-align:center;box-shadow:0 12px 80px #0009;animation:reveal .6s ease-out}.catch-reveal .sprite{width:150px;height:150px}.catch-reveal h2{font-weight:400;color:#f3d38c;font-size:30px;margin:0 0 12px}.catch-reveal p{color:#b9c6bc;line-height:1.5;font-size:14px;margin:8px 0}.catch-reveal strong{font:20px/1.8 system-ui;color:#f1d28d}@keyframes reveal{from{opacity:0;translate:0 25px;scale:.92}to{opacity:1;translate:0 0;scale:1}}[hidden]{display:none!important}footer{border-top:1px solid #6f795a44;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}footer p{font:12px/1.9 system-ui;color:var(--muted)}footer button{white-space:nowrap;font:12px system-ui}dialog{max-width:620px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;background:#17261f;color:#e9e2d2;border:1px solid #c4a360;border-radius:16px;padding:32px;box-shadow:0 20px 100px #000}dialog::backdrop{background:#020a08bb;backdrop-filter:blur(5px)}dialog h2{font-size:29px;font-weight:400}dialog p{font:14px/1.8 system-ui;color:#c2cbc3}.close{float:right;padding:4px 12px;font-size:24px}#odds>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #a1aa8b33}#odds span{color:var(--gold)}
@media(max-width:850px){main{padding:22px 18px}.masthead{padding:20px 18px}.intro{align-items:flex-start;flex-direction:column;gap:6px}.purse{text-align:left;min-width:0}.purse strong{font-size:27px}.controls{grid-template-columns:1fr 1fr;gap:20px;padding:22px}.cast-control{grid-column:1/-1;grid-row:1}.utility{flex-direction:column}.catch-grid{grid-template-columns:repeat(3,1fr)}.scene{aspect-ratio:4/3}.catch-reveal{inset:5% auto auto 50%;padding:14px}.catch-reveal .sprite{width:105px;height:105px}.catch-reveal h2{font-size:25px}.scene-caption{font-size:15px;bottom:16px}.location{top:14px;left:14px;font-size:9px;padding:7px 10px}.demo-tag{font-size:9px;max-width:90px;text-align:right}.brand{font-size:12px;letter-spacing:1px}.brand small{font-size:7px}footer{align-items:flex-start;flex-direction:column}.sprite{width:100px;height:100px}.catch-card{padding:10px 4px 18px}.catch-card h3{font-size:15px}}
@media(max-width:420px){.controls{grid-template-columns:1fr}.utility{flex-direction:row}.utility button{flex:1}.stake-control>div{justify-content:space-between}.catch-grid{grid-template-columns:repeat(2,1fr)}.scene{aspect-ratio:1/1}.catch-reveal .sprite{width:90px;height:90px}.catch-reveal p{font-size:12px}.scene-caption{font-size:13px}.section-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.mist{display:none}}
