@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#061f25}body{font-family:Manrope,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#fff0d2;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:radial-gradient(ellipse at 50% 18%,#24544c,#061f25 68%)}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #fcdf8d;outline-offset:4px}button:disabled{cursor:default}button{user-select:none;-webkit-user-select:none}#app{position:relative;width:100%;max-width:500px;height:100dvh;margin:auto;overflow:hidden;isolation:isolate;background:#0b4b52;box-shadow:0 0 100px #0007}#world{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none}#vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#071d2b44,transparent 24%,transparent 42%,#041f2f22 65%,#041d2deb)}.hidden{display:none!important}.screen{position:absolute;inset:0}#loading{position:absolute;inset:0;z-index:30;background:#082f35;display:grid;place-content:center;text-align:center;gap:20px}#loading p{font-size:10px;letter-spacing:3px;color:#b6d8cf}.loader-mark{font-weight:900;font-size:72px;color:#f5c467}.loading-track{height:3px;width:180px;border-radius:10px;background:#ffffff20}.loading-track i{display:block;width:2%;height:100%;background:#e8bc6a;transition:width .15s}#topbar{position:absolute;inset:0 0 auto;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top,0px)) 20px 10px;pointer-events:none}.brand{font-size:9px;letter-spacing:1.8px;font-weight:800;text-shadow:0 1px 10px #0007}.brand b{opacity:.4;margin:0 5px}.top-actions{display:flex;gap:8px;pointer-events:auto}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #fff2;border-radius:50%;background:#06292b66;backdrop-filter:blur(8px)}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-title{position:absolute;top:33%;left:16px;right:16px;text-align:center;text-shadow:0 3px 20px #072b35}.eyebrow{display:flex;justify-content:center;align-items:center;gap:10px;font-size:9px;letter-spacing:2.3px;font-weight:700;color:#c6e7db}.eyebrow span{height:1px;width:25px;background:#95d4c18a}h1{font-size:clamp(54px,17vw,83px);letter-spacing:-4px;line-height:.95;margin:12px 0 15px;font-weight:900;color:#ffe1a0}h1>span{display:block;font-size:clamp(23px,7.2vw,34px);letter-spacing:1.6px;line-height:1.12;margin-top:9px;font-weight:800;color:#fff2d8}.home-title p{font-size:13px;color:#cee3d7;line-height:1.7;margin:0}.home-title p strong{font-weight:600;color:#fff0d2}.home-bottom{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:24px;right:24px;text-align:center}.home-record{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:15px;font-size:9px;letter-spacing:1.3px;color:#bad1c7}.home-record strong{font-size:24px;font-weight:800;letter-spacing:-1px;color:#f6d797}.home-record small{font-size:8px}.primary{width:100%;min-height:58px;border-radius:15px;background:linear-gradient(135deg,#ffe0a0,#eeb85b);color:#233a35;display:flex;align-items:center;justify-content:center;gap:20px;font-size:14px;font-weight:900;letter-spacing:1px;box-shadow:0 5px 0 #936c35,0 15px 30px #001c3570;transition:transform .12s,filter .15s}.primary span{font-size:23px;font-weight:400}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #936c35,0 5px 15px #001c3550}.primary:hover{filter:brightness(1.05)}.microcopy{font-size:10px;letter-spacing:.35px;color:#acc8c0;margin:15px 0 18px}.home-nav{display:flex;justify-content:center;gap:8px}.home-nav button{background:transparent;padding:7px 5px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;color:#d4e5d7;min-width:90px}.home-nav button>span{width:20px;height:20px;display:block;color:#e6c68a}.home-nav button b{font-weight:500;font-size:9px;color:#8daea5;position:absolute;transform:translate(32px,-5px)}.fan-note{font-size:8px;color:#80a199;margin:15px 0 0;letter-spacing:.1px}.run-stats{position:absolute;z-index:9;left:20px;top:calc(56px + env(safe-area-inset-top,0px));right:20px;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1.2px;pointer-events:none}.run-stats>span{background:#082c3280;border:1px solid #e1ead61c;padding:8px 10px;border-radius:10px;backdrop-filter:blur(6px)}.run-stats b{font-size:13px;letter-spacing:0;margin-left:7px}.run-stats #score-label{font-size:16px;letter-spacing:0;color:#ffe0a0}.run-stats small{font-size:8px;margin-left:4px;letter-spacing:1px;color:#e9ead8}.water-status{position:absolute;top:31.5%;left:18px;right:18px;pointer-events:none;text-align:center}#fish-name{font-size:12px;font-weight:800;letter-spacing:.2px;text-shadow:0 2px 8px #002c36}#fish-tier{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;color:#b7dace}.warning,.perfect{font-size:10px;font-weight:800;letter-spacing:.7px;border-radius:20px;padding:8px 13px;margin:10px auto 0;width:max-content}.warning{background:#ffbe6b;color:#3d3931;box-shadow:0 4px 18px #002b4350}.perfect{background:#97e5b8;color:#173c32}.depth{position:absolute;right:16px;top:65%;font-size:10px;color:#b0d5cb;letter-spacing:1px;pointer-events:none}.depth:before{content:'';display:inline-block;width:10px;height:1px;background:#b0d5cb80;vertical-align:middle;margin-right:6px}.speech{position:absolute;right:15px;top:19%;max-width:45%;border-radius:12px 12px 12px 2px;padding:9px 12px;font-size:10px;line-height:1.5;background:#fff3d6;color:#253f3c;box-shadow:0 5px 20px #00313a3b;z-index:4;pointer-events:none}.cast-panel{position:absolute;bottom:calc(38px + env(safe-area-inset-bottom,0px));left:25px;right:25px;text-align:center}.cast-panel p{font-size:12px;color:#c3ddd4;margin:0 0 20px;line-height:1.6}.controls{position:absolute;left:22px;right:22px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.tension-head{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.3px;color:#bdd9cc;margin-bottom:9px}.tension-head strong{font-size:10px;color:#def0d4;letter-spacing:.15px}.tension-track{position:relative;height:8px;background:#ffffff18;border-radius:5px;overflow:hidden;margin-bottom:15px}.tension-track i{position:absolute;inset:0 auto 0 0;background:#84d8ba;width:0;border-radius:5px;will-change:width}.tension-track b{position:absolute;left:80%;height:100%;width:2px;background:#ffc78599}.reel{display:flex;align-items:center;gap:14px;justify-content:center;border-radius:16px;width:100%;height:68px;color:#e7eed8;border:1px solid #cce8d154;background:linear-gradient(150deg,#2d726a,#164e4f);box-shadow:0 4px 0 #092f35,0 7px 28px #03202d5c;touch-action:none;user-select:none;transition:background .1s,transform .08s}.reel.pressed{background:linear-gradient(150deg,#77bba1,#45947f);color:#133c37;transform:translateY(2px);box-shadow:0 2px 0 #092f35}.reel.danger{background:linear-gradient(150deg,#ce7d55,#965648);border-color:#ffc591;color:#fff0d2}.reel strong{font-size:13px;letter-spacing:1.2px;display:block}.reel small{font-size:9px;display:block;margin-top:5px;opacity:.8}.reel-icon{width:32px;height:32px;display:grid;place-items:center}.reel-icon svg{width:30px;height:30px}.pressed .reel-icon svg{animation:spin 1s linear infinite}.steer-hint{text-align:center;color:#90b8ac;font-size:8px;margin-top:11px;letter-spacing:.5px}@keyframes spin{to{transform:rotate(360deg)}}.modal{position:absolute;inset:0;z-index:20;background:#041d2e99;backdrop-filter:blur(7px);display:flex;align-items:flex-end;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));overflow:hidden}.modal-card{position:relative;width:100%;max-height:calc(100% - 50px);overflow:auto;overscroll-behavior:contain;border-radius:25px;background:linear-gradient(155deg,#174b4b,#092f39);border:1px solid #b3dab42e;padding:28px 22px 22px;box-shadow:0 20px 70px #001a2b99;animation:sheet-in .22s ease-out;text-align:center;scrollbar-width:thin;scrollbar-color:#47766b transparent}.modal-card.wide{padding:25px 18px 20px}.modal.center{align-items:center}.modal-card h2{font-size:27px;letter-spacing:-.8px;line-height:1.18;margin:8px 0 12px;font-weight:800;color:#fff0d2}.modal-card .kicker{font-size:9px;letter-spacing:2px;color:#e3c28b;font-weight:700}.modal-card p{font-size:12px;line-height:1.65;color:#c4dbce;margin:10px 0 18px}.modal-card .close{position:absolute;right:14px;top:14px;width:32px;height:32px;border:1px solid #fff2;border-radius:50%;background:#082e37;font-size:22px;color:#d6e7d8}.secondary{width:100%;border:1px solid #bdd2bc44;background:#153f43;color:#e0e7d4;border-radius:13px;min-height:46px;font-size:12px;font-weight:700;margin-top:12px}.tertiary{background:transparent;color:#a4c5b8;font-size:11px;min-height:38px;margin:10px auto 0;padding:8px 18px}.modal-card .primary{min-height:54px;font-size:12px;margin-top:15px}.fish-portrait{width:100%;height:110px;object-fit:contain;filter:drop-shadow(0 9px 6px #00272c66)}.catch-medal{font-size:10px;color:#ffe0a0;letter-spacing:1.4px;margin:3px 0 9px}.catch-metrics{display:flex;justify-content:center;gap:30px;margin:13px 0 20px}.catch-metrics strong{display:block;font-size:29px;color:#ffe0a0;letter-spacing:-1px}.catch-metrics small{display:block;font-size:8px;letter-spacing:1.5px;color:#9fc5b8;margin-top:3px}.risk-preview{display:flex;align-items:center;justify-content:center;gap:8px;background:#082d3580;border:1px solid #9acbb425;border-radius:16px;padding:8px;margin:16px 0}.risk-preview img{width:55%;height:80px;object-fit:contain}.risk-preview>div{text-align:left;font-size:11px;color:#c9e2d2}.risk-preview strong{display:block;color:#ffe1a4;font-size:17px;margin-bottom:4px}.risk-warning{font-size:10px!important;color:#e7cc9f!important}.choice-kept{display:flex;justify-content:space-between;padding:12px 2px;border-bottom:1px solid #b6cebd25;color:#bcd8c7;font-size:11px}.choice-kept strong{color:#f0ddb5}.summary-score{font-size:67px;line-height:1.1;color:#ffe0a0;font-weight:800;letter-spacing:-3px;margin:12px 0 6px}.summary-score small{font-size:10px;display:block;color:#a8cabe;letter-spacing:2px;margin-top:8px}.result-list{text-align:left;margin:20px 0 10px}.result-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #9ebea51d}.result-row img{width:68px;height:35px;object-fit:contain}.result-row>div{flex:1}.result-row strong{font-size:11px}.result-row small{display:block;font-size:9px;color:#9ec4b4;margin-top:3px}.result-row>b{font-size:13px;color:#e9cf99}.result-row.lost{opacity:.5}.unlock{padding:10px;border:1px solid #d6be7250;border-radius:12px;background:#eacb7110;font-size:11px;color:#f4dca5;margin:13px 0}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.album-fish{border:1px solid #c1d7ba20;border-radius:13px;background:#072c3380;padding:8px 3px 10px;min-height:100px}.album-fish img{width:100%;height:46px;object-fit:contain}.album-fish strong{font-size:9px;display:block}.album-fish small{display:block;font-size:8px;color:#c0d1ad;margin-top:5px}.album-fish.locked img{filter:brightness(0) opacity(.35)}.album-fish.locked strong{color:#83ab9c}.album-fish.legend{border-color:#e8c27f66}.gear-list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.gear-item{position:relative;background:#072f3690;border:1px solid #c7dfbd22;border-radius:14px;text-align:left;padding:17px;width:100%}.gear-item.selected{border-color:#efcc8d;background:#d7bf6012}.gear-item:disabled{opacity:.58}.gear-item strong{display:block;font-size:15px;color:#f3e7c9;margin:5px 0 7px}.gear-item .gear-tag{font-size:8px;letter-spacing:1.5px;color:#d2c18c}.gear-item .gear-desc{font-size:11px;line-height:1.6;color:#afcabb}.gear-item .gear-state{display:block;font-size:9px;color:#ebcd8b;margin-top:10px}.help-step{display:flex;align-items:flex-start;text-align:left;gap:12px;margin:18px 0}.help-step>b{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid #c7dcb63d;border-radius:50%;font-size:12px;color:#f5d28b}.help-step strong{font-size:12px;color:#f0e6ca;display:block;margin:1px 0 5px}.help-step p{margin:0;font-size:11px}.toast{position:absolute;z-index:40;top:12%;left:22px;right:22px;text-align:center;background:#f5dfad;color:#24423c;font-size:11px;padding:12px;border-radius:12px;box-shadow:0 4px 25px #002d2c77}.pause-links{display:flex;gap:8px}.pause-links button{flex:1}.back-link{display:inline-block;font-size:11px;color:#cce0ce;padding:13px;text-decoration:none}.footer-note{font-size:9px!important;color:#8eb2a5!important}.no-anim *{animation:none!important;transition:none!important}@keyframes sheet-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:650px){#app{max-width:min(500px,calc(100dvh * .5625));min-width:320px}.home-title h1{font-size:72px}.home-title h1>span{font-size:29px}.home-bottom{left:25px;right:25px}}
@media(max-height:720px){.home-title{top:32%}h1{font-size:57px;margin:8px 0 9px}h1>span{font-size:25px;margin-top:7px}.home-title p{font-size:11px}.home-record{margin-bottom:9px}.home-record strong{font-size:20px}.primary{min-height:51px}.microcopy{margin:11px 0 9px;font-size:9px}.home-nav button{font-size:9px;gap:3px}.fan-note{margin-top:7px;font-size:7px}.home-bottom{bottom:8px}.eyebrow{font-size:8px}.modal-card{padding:23px 18px 17px}.modal-card h2{font-size:23px}.fish-portrait{height:85px}.catch-metrics{margin:8px 0 12px}.controls{bottom:8px}.reel{height:59px}.run-stats{top:49px}.summary-score{font-size:50px}.result-list{margin:10px 0}.modal-card p{margin:9px 0 12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
