@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#173436;background:#edf0e7;font-size:16px;--ink:#102e31;--green:#275954;--orange:#ffbf70;--line:#cbd3c8}*{box-sizing:border-box}body{margin:0}button,a,select,input{ -webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e68b36;outline-offset:3px}header{display:flex;align-items:center;gap:2rem;padding:1.4rem 3.6%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;font:800 28px/.95 'Barlow Condensed',sans-serif;letter-spacing:1px}.brand-icon{font-size:40px;line-height:48px;width:48px;text-align:center;border:2px solid var(--ink);border-radius:50%;transform:rotate(-40deg)}.brand em{font-style:normal;color:#a4622c;margin-left:6px}.brand small{display:block;font:600 9px/2 'DM Sans';letter-spacing:1.8px}nav{display:flex;gap:12px;margin:auto}nav button,.text-btn{background:none;border:0;padding:12px 14px;font-size:14px}nav button.active{background:var(--ink);color:white;border-radius:5px}nav span{font-size:11px;margin-left:4px;background:#dce2d8;padding:3px 5px;border-radius:3px;color:#27423d}.icon-btn{background:transparent;border:1px solid #b4c0b6;width:40px;height:40px;border-radius:50%;font-size:23px}main{max-width:1900px;margin:auto;padding:2rem 3.6%}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem}.eyebrow,.section-cap,.party-label,.setup label{font-size:12px;font-weight:700;letter-spacing:1.4px}.eyebrow{color:#648075;margin:0 0 9px}h1{font:700 clamp(27px,2.7vw,45px)/1.1 'Barlow Condensed',sans-serif;margin:0;letter-spacing:.1px}h1 i{font-style:normal;color:#6b8074}.wallet{border-left:1px solid var(--line);padding-left:22px}.wallet small{display:block;font-size:10px;letter-spacing:1px}.wallet strong{font:700 30px 'Barlow Condensed'}.arena-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:24px}.setup{background:#e3e8dd;border:1px solid #cbd4c6;border-radius:8px;padding:20px;display:flex;flex-direction:column}.section-cap{margin-bottom:16px}.mode{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:5px;padding:10px 11px;display:flex;align-items:center;gap:12px;margin-bottom:4px}.mode.active{background:var(--ink);color:#fff}.mode .mode-icon{font:600 25px 'Barlow Condensed';color:#9ba89b}.mode.active .mode-icon{color:var(--orange)}.mode b{display:block;font-size:14px}.mode small{font-size:11px;opacity:.7}.setup-bottom{margin-top:15px}.setup select{width:100%;border:1px solid #b6c4b6;background:#f4f5ee;border-radius:4px;padding:10px 7px;margin:8px 0 18px;font-size:13px}.party-label{display:flex;justify-content:space-between;margin:0 0 10px;letter-spacing:.8px}.party-label span{font-weight:400;font-size:11px;letter-spacing:0}.crew-row{display:flex;gap:7px;align-items:center;margin-bottom:7px}.player-dot{width:9px;height:9px;border-radius:50%;background:var(--p)}.crew-row b{font-size:12px;white-space:nowrap}.crew-row select{width:auto;flex:1;min-width:0;margin:0;padding:4px;border:0;background:transparent;font-size:12px}.primary{background:var(--orange);border:0;border-radius:4px;font-weight:700;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:24px}.setup .primary{width:100%;margin-top:18px}.primary:hover{background:#ffcd92}.subtle{font-size:11px;line-height:1.6;opacity:.65;text-align:center;margin:9px 0 0}.arena-wrap{min-width:0;background:var(--ink);border-radius:8px;overflow:hidden;border:1px solid var(--ink);display:flex;flex-direction:column}.arena-top{padding:12px 18px;display:flex;justify-content:space-between;color:#e9ede0;font-size:12px;align-items:center}.arena-top b{font-weight:500}.live-dot{width:6px;height:6px;background:var(--orange);display:inline-block;margin-right:8px;border-radius:50%}.text-btn{color:inherit;padding:0;font-size:12px}.weather{color:#9fb4a9}#game-shell{position:relative;aspect-ratio:16/9;background:linear-gradient(#7ca88e 30%,#177b7e 30%,#092f39);overflow:hidden;flex:1;min-height:330px}#game{position:absolute;inset:0}#game canvas{width:100%!important;height:100%!important;object-fit:contain}.game-caption{position:absolute;top:10%;left:6%;pointer-events:none;color:#fff4d4;text-shadow:0 3px 20px #0b343a}.game-caption>span{font-size:11px;letter-spacing:3px}.game-caption h2{font:800 clamp(35px,4.3vw,72px)/.96 'Barlow Condensed';letter-spacing:1px;margin:18px 0}.game-caption p{font-size:13px;max-width:270px;line-height:1.6}.playing .game-caption{display:none}.timer{position:absolute;top:22px;right:26px;color:#fff4d7;font:600 clamp(28px,3vw,50px)/1 'Barlow Condensed';text-align:center;text-shadow:1px 3px 10px #153b3a}.timer small{display:block;font:500 9px 'DM Sans';letter-spacing:1.5px;margin-top:5px}.pause{position:absolute;top:85px;right:25px;background:#102e31bd;border:1px solid #ffffff40;border-radius:4px;color:white;padding:7px 12px;font-size:12px}.water-label{position:absolute;left:25px;bottom:20px;right:25px;display:flex;justify-content:space-between;pointer-events:none;color:#cadeda;font-size:9px;letter-spacing:1.5px;opacity:.65}.water-label b{font-weight:400}.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);color:#eaf1e4;border-top:1px solid #39534c}.score{padding:14px 15px 12px;border-right:1px solid #39534c;position:relative}.score:last-child{border:0}.score-title{display:flex;gap:7px;align-items:center;font-size:11px;letter-spacing:.7px}.score-title span:last-child{opacity:.5;margin-left:auto;font-size:9px}.score strong{font:600 29px 'Barlow Condensed';display:inline-block;margin:5px 8px 0 0}.score small{font-size:11px;color:#a4b9af}.tension{height:3px;margin-top:8px;background:#385047;border-radius:3px;overflow:hidden}.tension i{display:block;height:100%;background:var(--p);transition:width .1s}.score-state{font-size:10px;min-height:14px;margin-top:4px;color:#c0d1c6}.arena-help{display:flex;justify-content:space-between;gap:12px;background:#1b3c3b;color:#b7c9bd;padding:12px 16px;font-size:10px;align-items:center}.arena-help button{background:transparent;border:0;font-size:10px;color:var(--orange);padding:0}kbd{font:500 10px 'DM Sans';border:1px solid #668078;padding:2px 4px;border-radius:3px;margin-right:4px}.below{display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;gap:25px;margin-top:28px}.below>div{position:relative;padding-left:40px}.below .number{position:absolute;left:0;top:0;font:600 24px 'Barlow Condensed';color:#83937e}.below b{font-size:13px}.below p{font-size:12px;color:#728173;line-height:1.65;margin:5px 0}.below .deck-promo{border-left:1px solid var(--line);padding-left:24px}.deck-promo span{font-size:9px;letter-spacing:1px;display:block;color:#6c7f73;margin-bottom:6px}.deck-promo b{display:block;font:600 21px 'Barlow Condensed'}.deck-promo button{background:none;border:0;padding:8px 0 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}footer{display:flex;gap:20px;justify-content:space-between;margin:10px 3.6% 0;padding:22px 0;border-top:1px solid var(--line);font-size:10px;color:#728174}footer b{padding:0 10px}footer button{background:none;border:0;font-size:10px;color:inherit}.hidden{display:none!important}[hidden]{display:none!important}.touch{display:none;position:absolute;bottom:16px;left:15px;gap:5px}.touch button{border:1px solid #ffffff50;background:#103f43d9;color:white;min-width:42px;min-height:42px;border-radius:7px;touch-action:none;user-select:none}.touch button:last-child{background:var(--orange);color:var(--ink);margin-left:8px;font-size:12px;font-weight:700}#announcement{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);pointer-events:none;color:#fff1c6;text-align:center;font:700 35px 'Barlow Condensed';text-shadow:0 2px 8px #123f3a;white-space:pre-line}dialog{border:0;border-radius:12px;padding:36px;background:#eff1e7;color:var(--ink);max-width:780px;width:calc(100% - 30px);max-height:88vh;box-shadow:0 24px 100px #03191988}dialog::backdrop{background:#061f27bd;backdrop-filter:blur(5px)}.close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:27px}.modal-title,.view-title{font:700 38px/1.05 'Barlow Condensed';margin:0 0 16px}.intro{font-size:15px;line-height:1.7;color:#5b7169;max-width:680px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px;margin-top:25px}.card{background:#e1e8db;border:1px solid #c1cfbe;border-radius:7px;padding:20px;overflow:hidden}.card h3{font:600 27px 'Barlow Condensed';margin:10px 0}.card p{font-size:13px;line-height:1.65;color:#526d63}.card .tag,.tag{display:inline-block;font-size:10px;letter-spacing:1px;padding:4px 7px;background:#d0dbc9;border-radius:3px}.card button{width:100%;margin-top:10px;justify-content:center;padding:10px;font-size:13px}.card strong{font:600 30px 'Barlow Condensed'}.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:32px}.story-art{min-height:440px;border-radius:8px;background:url('assets/river.png') center/cover;display:flex;align-items:flex-end;padding:30px;color:#fff1d1}.story-art h2{font:800 60px/.97 'Barlow Condensed';margin:0;text-shadow:0 3px 12px #123f39}.chapter{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:18px 0;align-items:center}.chapter .chapter-number{font:700 35px 'Barlow Condensed';color:#91a18a}.chapter h3{font:600 25px 'Barlow Condensed';margin:0}.chapter p{font-size:12px;line-height:1.5;margin:6px 0}.chapter button{margin-left:auto;white-space:nowrap;font-size:12px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar input,.toolbar select{border:1px solid #b3c2b2;padding:11px;border-radius:4px;background:#f7f7ef;color:inherit}.toolbar input{min-width:220px}.toolbar button{padding:10px 15px;border:1px solid #afbfad;border-radius:4px;background:#dde6d7}.fish-art{height:120px;background-image:url('assets/fish.png');background-size:200% 200%;mix-blend-mode:multiply}.fish-art.f0{background-position:0 0}.fish-art.f1{background-position:100% 0}.fish-art.f2{background-position:0 100%}.fish-art.f3{background-position:100% 100%}.fish-card{position:relative;transition:transform .2s}.fish-card:hover{transform:translateY(-4px)}.fish-card .tag{background:#102e31;color:#ffcc87}.fish-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.fish-card dt{color:#647869}.fish-card dd{margin:0;text-align:right}.fish-card h3{margin:0 0 12px}.fish-card .serial{font-size:10px;letter-spacing:1px;float:right;color:#658170}.key-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.key-player{border:1px solid #c4cebe;border-radius:5px;padding:12px}.key-player b{font-size:13px}.key-player button{display:block;width:100%;padding:6px;margin-top:6px;background:#dbe5d4;border:1px solid #bfccba;font-size:11px;border-radius:3px}.settings-row{padding:12px 0;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;font-size:14px}.settings-row button{border:1px solid #b4c3ac;background:#d9e2d1;padding:5px 12px;border-radius:4px}.results-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.results-row strong{font:700 29px 'Barlow Condensed'}.bank{background:#102e31;color:#f0edd8;padding:22px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:20px}.bank strong{font:700 32px 'Barlow Condensed'}.bank p{font-size:13px;color:#a8bdb1}.owned{border:1px solid #6b8c62;background:transparent!important}.notice{background:#dae5d2;padding:14px;border-radius:5px;font-size:13px;line-height:1.6}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);background:#122f30;color:#fff0d1;border:1px solid #526c5e;padding:15px 24px;border-radius:6px;box-shadow:0 6px 30px #0d35354d;font-size:14px;transition:transform .2s;z-index:20;max-width:90vw}#toast.visible{transform:translateX(-50%) translateY(0)}@media(min-width:2000px){main{max-width:90vw}.arena-layout{grid-template-columns:360px 1fr}.mode{padding:20px}.mode b{font-size:20px}.mode small{font-size:16px}.setup select{font-size:16px}.crew-row b,.crew-row select{font-size:16px}.score strong{font-size:40px}.score-title{font-size:16px}.score-state,.arena-help{font-size:14px}.brand{font-size:38px}nav button{font-size:18px}}@media(max-width:1100px){header{gap:15px;padding:16px 3%}nav{gap:0}nav button{padding:10px;font-size:12px}.brand{font-size:23px}.brand-icon{display:none}.arena-layout{grid-template-columns:215px 1fr;gap:15px}.setup{padding:14px}.game-caption h2{font-size:43px}.arena-help>span:nth-child(2){display:none}.weather{display:none}.below{gap:15px}.below>div{padding-left:30px}}@media(max-width:760px){header{flex-wrap:wrap;gap:10px}.brand{flex:1}.icon-btn{order:1}nav{order:2;width:100%;justify-content:space-between}nav button{font-size:12px;padding:9px 8px}nav span{display:none}.page-heading{gap:12px;margin-bottom:20px}.eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:30px;max-width:290px}.wallet{padding-left:12px}.wallet small{font-size:8px}.arena-layout{display:flex;flex-direction:column-reverse}.setup{display:block}.section-cap{margin-bottom:8px}#modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.mode{padding:8px}.mode-icon{display:none}.mode b{font-size:12px}.mode small{font-size:9px}.setup-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup label{grid-column:1;align-self:end}.setup select{grid-column:1;margin:0}.party-label{grid-column:2;grid-row:1;margin:0}#crew{grid-column:2;grid-row:2/5}.setup .primary{margin:5px 0 0}.subtle{margin:0}.score{padding:10px 7px}.score-title{font-size:9px}.score-title span:last-child{display:none}.score strong{font-size:23px}.score small{font-size:9px}.score-state{font-size:9px}.game-caption h2{font-size:38px}.game-caption>span{font-size:9px}.game-caption p{max-width:180px;font-size:11px}.game-caption{top:12%;left:6%}#game-shell{min-height:320px}.water-label{display:none}.playing .touch{display:flex}.timer{font-size:32px;right:17px}.below{grid-template-columns:1fr 1fr}.below .deck-promo{border:0;padding-left:30px}.arena-help{font-size:9px;padding:12px 8px}.arena-help kbd{font-size:8px}.story-grid{grid-template-columns:1fr}.story-art{min-height:260px}.key-grid{grid-template-columns:1fr 1fr}footer{flex-wrap:wrap;font-size:9px}.bank{flex-wrap:wrap}dialog{padding:30px 20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:13px}.card h3{font-size:23px}.fish-art{height:90px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Fit the playfield without Phaser's inline letterbox margins. */
#game-shell{flex:initial;min-height:0}#game canvas{margin:0!important;position:absolute;inset:0;object-fit:fill}.cast-in{position:absolute;right:28px;bottom:28px;box-shadow:0 5px 30px #082e3c70}.playing .cast-in{display:none}.rig-animation{background:#12383b;border-radius:8px;padding:25px}.rig-animation svg{width:100%;max-height:240px}.rig-piece{animation:assemble 1.3s ease both}.bait-piece{animation:assemble 2s ease both}.fish-card{animation:card-in .3s ease both}@keyframes assemble{from{transform:translateY(-45px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.arena-wrap:fullscreen{border:0;border-radius:0;width:100%;height:100%;background:#102e31}.arena-wrap:fullscreen #game-shell{flex:1;aspect-ratio:auto}.arena-wrap:fullscreen .arena-help{padding:10px 20px}@media(max-width:760px){#game-shell{aspect-ratio:4/3;min-height:290px}.cast-in{right:15px;bottom:15px;padding:12px;font-size:12px}.game-caption h2{font-size:32px}.game-caption p{font-size:11px;max-width:175px}}

.cast-in{top:45%;bottom:auto} @media(max-width:760px){.cast-in{top:64%;bottom:auto}}
