/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#15384b;--blue:#138fc6;--paper:#fffdf7}*{box-sizing:border-box}html,body{background:#dff2fa;min-height:100%;margin:0}body{color:var(--ink);font-family:Arial,Apple SD Gothic Neo,sans-serif}button{color:inherit;font:inherit}.game-shell{background:radial-gradient(circle at 50% 10%,#fff 0,#dff3fb 45%,#b9deeb 100%);place-items:center;min-height:100svh;padding:18px;display:grid}.game-stage{aspect-ratio:16/9;isolation:isolate;background:#66c6e5;border:1px solid #fffc;border-radius:32px;width:min(1500px,100%);min-height:620px;position:relative;overflow:hidden;box-shadow:0 28px 80px #144a5f3b}.scene{z-index:-3;background:url(/sd-harbor-game-scene-v1.png) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.005)}.sky-wash{pointer-events:none;z-index:-2;background:linear-gradient(#105e9326,#0000 30% 72%,#042e493d);position:absolute;inset:0}.topbar{z-index:7;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid;position:absolute;inset:22px 26px auto}.brand,.day-chip,.money-chip,.mission-card,.water-hint,.dock,.angler-chip,.reel-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7e8;border:1px solid #ffffffe0;box-shadow:0 10px 28px #15384b24}.brand{border-radius:18px;justify-self:start;align-items:center;gap:11px;padding:9px 16px 9px 9px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#1bb7d1,#1774b7);border-radius:13px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid;transform:rotate(-4deg)}.brand div{display:grid}.brand strong{letter-spacing:.03em;font-size:17px;font-weight:950}.brand div span{color:#577686;font-size:11px;font-weight:700}.day-chip,.money-chip{border-radius:999px;padding:12px 18px;font-size:13px;font-weight:800}.money-chip{text-align:center;justify-self:end;min-width:112px}.money-chip span{color:#ffbe2f;text-shadow:0 1px #b27700;margin-right:8px}.mission-card{z-index:5;border-radius:18px;gap:4px;width:218px;padding:15px 17px;display:grid;position:absolute;top:100px;left:26px}.mission-card>span,.menu-heading>span{color:#1683ac;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:900}.mission-card strong{font-size:14px}.mission-track{background:#d6e4e9;border-radius:10px;height:7px;margin-top:6px;position:relative}.mission-track i{border-radius:inherit;background:#1b9bc4;height:100%;transition:width .4s;display:block}.mission-track em{white-space:nowrap;color:#75919d;font-size:10px;font-style:normal;position:absolute;top:-2px;left:calc(100% + 8px)}.angler-chip{z-index:5;cursor:pointer;text-align:left;border-radius:18px;align-items:center;gap:9px;padding:8px 11px 8px 8px;display:flex;position:absolute;bottom:98px;left:26px}.angler-chip>i{border:2px solid #fff;border-radius:14px;width:42px;height:42px;box-shadow:0 3px 9px #15384b33}.angler-chip>span{display:grid}.angler-chip small{color:#73909c;font-size:9px}.angler-chip b{font-size:11px}.angler-chip em{color:#1683ac;margin-left:6px;font-size:9px;font-style:normal;font-weight:900}.water-hint{z-index:5;text-align:center;color:#427080;border-radius:15px;padding:13px 18px;animation:2.8s ease-in-out infinite float;display:grid;position:absolute;top:28%;right:9%}.water-hint span{color:#1683ac;font-size:10px;font-weight:900}.water-hint strong{font-size:13px}.fishing-line{z-index:2;transform-origin:0;background:#eefaffcc;width:24%;height:1px;position:absolute;top:35%;left:53.5%;transform:rotate(25deg);box-shadow:0 0 2px #0a5670}.bobber{z-index:3;width:14px;height:28px;animation:1.8s ease-in-out infinite bob;position:absolute;top:56%;left:72.5%;transform:rotate(5deg)}.bobber i{background:#ff514f;border-radius:9px 9px 2px 2px;width:100%;height:50%;display:block;box-shadow:0 2px 4px #00000040}.bobber span{background:#fff;border-radius:2px 2px 9px 9px;width:100%;height:50%;display:block}.bobber.biting{animation:.28s ease-in-out infinite bite}.ripple{z-index:2;border:2px solid #e8fcffbf;border-radius:50%;width:50px;height:14px;animation:1.8s ease-out infinite ripple;position:absolute;top:58%;left:71%}.ripple.r2{animation-delay:.8s}.bite-burst{z-index:5;color:#fff;text-shadow:0 3px 8px #0439546b;place-items:center;animation:.28s ease-out pop;display:grid;position:absolute;top:43%;left:71%}.bite-burst strong{background:#ff5d57;border-radius:50%;place-items:center;width:56px;height:56px;font-size:38px;display:grid;box-shadow:0 0 0 9px #ffffff80}.bite-burst span{margin-top:9px;font-size:18px;font-weight:950}.fish-shadow{z-index:2;opacity:.55;pointer-events:none;filter:blur(.35px)drop-shadow(0 7px 7px #04365040);width:96px;height:42px;transition:left .12s linear,top .12s linear,filter .2s;position:absolute}.fish-shadow>i{transform-origin:50%;background:#074666b8;border-radius:58% 45% 45% 58%;width:70px;height:29px;position:absolute;top:7px;left:7px}.fish-shadow>i:before{content:"";background:#b3ebf4b3;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:10px}.fish-shadow>i:after{content:"";clip-path:polygon(100% 0,100% 100%,0 52%);transform-origin:0;background:#074666ad;width:27px;height:23px;animation:.34s ease-in-out infinite alternate tail-swish;position:absolute;top:3px;right:-22px}.fish-shadow .bubble{border:1px solid #e1fbffd9;border-radius:50%;width:6px;height:6px;animation:1.2s ease-out infinite bubble-up;position:absolute}.fish-shadow .b1{top:8px;left:2px}.fish-shadow .b2{width:4px;height:4px;animation-delay:.45s;top:-1px;left:17px}.fish-shadow .water-streak{opacity:.35;background:#d6f9ffa6;border-radius:99px;width:35px;height:2px;position:absolute;top:20px;right:-33px;box-shadow:9px -9px 0 -1px #d6f9ff6b}.fish-shadow.gliding{animation:1.35s ease-in-out infinite fish-glide}.fish-shadow.pulling{opacity:.75;filter:blur(.15px)drop-shadow(0 9px 8px #04365057);animation:.28s ease-in-out infinite alternate fish-pull}.fish-shadow.danger{filter:blur(.15px)drop-shadow(0 0 9px #ff6f5394)}.fish-shadow.fight-flutter{animation-duration:.55s}.fish-shadow.fight-dash{animation-duration:.2s}.fish-shadow.fight-heavy{animation-duration:1.8s;transform:scale(1.12)}.fish-shadow.fight-legend{filter:drop-shadow(0 0 10px #ffd646bf);animation-duration:.16s;transform:scale(1.18)}.cast-button{z-index:8;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(160deg,#28bddd,#117eb9);border:0;border-radius:22px;justify-content:center;align-items:center;gap:10px;min-width:154px;height:72px;transition:all .16s;display:flex;position:absolute;bottom:16%;left:70%;transform:translate(-50%);box-shadow:0 9px #0c6695,0 18px 28px #074c6f4d,inset 0 1px #fff6}.cast-button:not(:disabled):hover{filter:brightness(1.05);transform:translate(-50%)translateY(-3px)}.cast-button:not(:disabled):active,.cast-button.holding{transform:translate(-50%)translateY(5px);box-shadow:0 4px #0c6695,0 10px 20px #074c6f40}.cast-button:disabled{cursor:wait;opacity:.83}.cast-button.urgent{background:linear-gradient(160deg,#ff806d,#ef4648);animation:.65s ease-in-out infinite urgent;box-shadow:0 9px #bd333d,0 18px 28px #9f222d4d}.cast-icon{font-size:28px}.cast-button>span:last-child{text-align:left;display:grid}.cast-button b{font-size:16px}.cast-button small{opacity:.75;letter-spacing:.08em;font-size:9px}.reel-panel{z-index:7;border-radius:18px;width:300px;padding:14px 16px;position:absolute;top:19%;right:5%}.meter-title,.meter-labels{justify-content:space-between;align-items:center;display:flex}.meter-title span{font-size:11px;font-weight:900}.meter-title b{color:#1683ac;font-size:12px}.tension-meter{background:linear-gradient(90deg,#70bde0 0 22%,#6ad29a 22% 72%,#ffb34e 72% 88%,#ff5d57 88%);border-radius:99px;height:14px;margin:10px 0 5px;position:relative;box-shadow:inset 0 1px 3px #0003}.safe-zone{border:1px dashed #fffc;border-radius:10px;height:8px;position:absolute;top:3px;left:28%;right:30%}.tension-meter>i{background:#fff;border-radius:4px;width:5px;height:24px;transition:left 50ms linear;position:absolute;top:-5px;box-shadow:0 1px 5px #00000073}.meter-labels{color:#74909d;font-size:8px}.meter-labels strong{color:#2a9c69}.catch-progress{background:#d9e7eb;border-radius:99px;height:6px;margin-top:11px;overflow:hidden}.catch-progress i{border-radius:inherit;background:linear-gradient(90deg,#2ec1cf,#147db9);height:100%;transition:width 80ms linear;display:block}.meter-title span em{color:#197a9d;white-space:nowrap;background:#dff3f8;border-radius:99px;margin-left:5px;padding:3px 6px;font-size:8px;font-style:normal}.tension-feedback{background:#eaf8ef;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;padding:8px 10px;transition:background .2s,color .2s;display:flex}.tension-feedback b{white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.tension-feedback b i{color:#fff;background:#2aaa70;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;display:grid}.tension-feedback span{color:#527767;text-align:right;font-size:8px}.tension-feedback.loose{background:#e8f3fa}.tension-feedback.loose b i{background:#3d9dc8}.tension-feedback.loose span{color:#4e7487}.tension-feedback.danger{color:#b53f3c;background:#ffebe8;animation:.7s ease-in-out infinite urgent}.tension-feedback.danger b i{background:#ef5852}.tension-feedback.danger span{color:#a35652}.dock{z-index:20;border-radius:22px;align-items:flex-end;gap:5px;padding:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.dock button{color:#66808b;cursor:pointer;background:0 0;border:0;border-radius:16px;place-items:center;gap:2px;width:68px;height:57px;font-size:10px;font-weight:800;display:grid}.dock button span{font-size:21px;line-height:20px;display:block}.dock button.active{color:#fff;background:linear-gradient(160deg,#24b4d3,#1382bc);transform:translateY(-4px);box-shadow:0 5px 12px #0e74a247}.modal-layer,.menu-layer{z-index:15;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d314147;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.catch-card{text-align:center;background:#fffdf8;border-radius:28px;width:min(340px,92%);padding:24px;animation:.35s ease-out pop;box-shadow:0 25px 70px #042a3c59}.sparkles{color:#f0b827;letter-spacing:.15em}.catch-card>small{color:#1683ac;text-transform:uppercase;letter-spacing:.12em;margin:8px 0 12px;font-weight:900;display:block}.fish-icon{border-radius:32px;place-items:center;width:112px;height:112px;margin:auto;font-size:66px;display:grid;transform:rotate(-4deg)}.catch-card h2{margin:14px 0 2px;font-size:28px}.catch-card p{color:#67828e;margin:0 0 18px;font-size:13px}.catch-card button{color:#fff;cursor:pointer;background:linear-gradient(160deg,#25b7d5,#147eb8);border:0;border-radius:15px;width:100%;padding:14px;font-weight:900}.menu-layer{z-index:14;padding-bottom:108px}.menu-card{background:#fffdf8f7;border-radius:28px;width:min(920px,94%);max-height:min(680px,100% - 30px);padding:27px;animation:.28s ease-out rise;position:relative;overflow:auto;box-shadow:0 25px 70px #042a3c59}.close-button{z-index:2;color:#64808c;cursor:pointer;background:#e8f1f3;border:0;border-radius:50%;width:36px;height:36px;font-size:23px;position:absolute;top:18px;right:18px}.menu-heading{padding-right:45px}.menu-heading h2{margin:5px 0 3px;font-size:24px}.menu-heading p{color:#738a93;margin:0;font-size:12px}.lineup-image{background:#c7dded url(/five-anglers-character-lineup-v1.png) 50%/contain no-repeat;border-radius:20px;height:clamp(250px,34vw,350px);margin:17px 0;box-shadow:inset 0 0 0 1px #2f718c14}.character-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.character-grid button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce9ed;border-radius:15px;align-items:center;gap:8px;padding:9px;display:flex;position:relative}.character-grid button.selected{background:#f2fbfd;border-color:#19a5c9;box-shadow:0 0 0 2px #19a5c91f}.character-grid i{border:2px solid #fff;border-radius:13px;flex:0 0 42px;height:42px;box-shadow:0 3px 8px #15384b29}.character-grid span{display:grid}.character-grid b{font-size:12px}.character-grid small{color:#78909b;font-size:9px}.character-grid em{color:#1595b8;font-size:8px;font-style:normal;font-weight:900;position:absolute;top:5px;right:6px}.perk-note{background:#eaf6f8;border-radius:13px;align-items:center;gap:10px;margin-top:12px;padding:11px 14px;font-size:11px;display:flex}.perk-note b{color:#1683ac}.perk-note span{color:#54717d}.angler-chip>i,.character-grid i{background-image:url(/sd-character-sheet-v1.png);background-repeat:no-repeat;background-size:500%}.fish-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px;display:grid}.fish-grid>div{background:#fff;border:1px solid #e2ecef;border-radius:17px;align-items:center;gap:12px;padding:13px;display:flex}.fish-grid>div>i{border-radius:14px;place-items:center;width:48px;height:48px;font-size:28px;font-style:normal;display:grid}.fish-grid>div>span{flex:1;display:grid}.fish-grid b{font-size:13px}.fish-grid small{color:#7b929c;font-size:9px}.fish-grid em{color:#1683ac;font-size:10px;font-style:normal;font-weight:900}.fish-grid .locked{filter:grayscale();opacity:.57}.bag-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.bag-summary>div{background:#eaf6f8;border-radius:17px;gap:4px;padding:17px;display:grid}.bag-summary small{color:#6d8a96;font-size:9px}.bag-summary strong{font-size:15px}.bag-summary>div:first-child strong{color:#d69c12}.bag-list{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.bag-list>div,.bag-list>p{background:#fff;border:1px solid #e2ecef;border-radius:14px;align-items:center;gap:9px;padding:12px;display:flex}.bag-list p{color:#78909b;grid-column:1/-1;justify-content:center}.bag-list b{flex:1;font-size:12px}.bag-list em{color:#1683ac;font-size:11px;font-style:normal;font-weight:900}.settings-list{gap:9px;margin-top:20px;display:grid}.settings-list>button,.settings-list>div{text-align:left;background:#fff;border:1px solid #e2ecef;border-radius:16px;justify-content:space-between;align-items:center;padding:15px;display:flex}.settings-list>button{cursor:pointer}.settings-list span{display:grid}.settings-list b{font-size:13px}.settings-list small{color:#78909b;font-size:9px}.settings-list i,.settings-list kbd{color:#66808b;background:#dce8ec;border-radius:99px;padding:7px 10px;font-size:9px;font-style:normal;font-weight:900}.settings-list i.on{color:#fff;background:#24b1cd}.settings-list .reset i{color:#db5b59;background:#ffe8e7}@keyframes float{50%{transform:translateY(-7px)}}@keyframes bob{50%{transform:translateY(5px)rotate(8deg)}}@keyframes bite{50%{transform:translateY(18px)rotate(-12deg)}}@keyframes ripple{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}@keyframes urgent{50%{filter:brightness(1.18)}}@keyframes pop{0%{opacity:0;transform:scale(.72)}}@keyframes rise{0%{opacity:0;transform:translateY(25px)}}@keyframes tail-swish{to{transform:scaleX(.72)rotate(8deg)}}@keyframes bubble-up{0%{opacity:0;transform:translateY(8px)scale(.7)}30%{opacity:.9}to{opacity:0;transform:translate(-6px,-18px)scale(1.1)}}@keyframes fish-glide{50%{transform:translate(8px,4px)rotate(2deg)}}@keyframes fish-pull{0%{transform:translate(7px,3px)rotate(3deg)}to{transform:translate(-5px,-3px)rotate(-3deg)}}@media (max-width:800px){.game-shell{place-items:stretch stretch;padding:0}.game-stage{aspect-ratio:auto;border:0;border-radius:0;min-height:100svh}.scene{background-position:42%}.topbar{grid-template-columns:1fr auto;inset:12px 12px auto}.day-chip,.brand div span{display:none}.money-chip{padding:10px 13px}.mission-card{top:82px;left:12px}.angler-chip{bottom:92px;left:12px}.cast-button{bottom:18%;left:72%}.water-hint{top:31%;right:4%}.reel-panel{width:260px;top:19%;right:3%}.tension-feedback{gap:3px;display:grid}.tension-feedback span{text-align:left}.fish-shadow{transform:scale(.82)}.dock{justify-content:space-around;width:calc(100% - 24px);bottom:12px}.dock button{width:58px}.menu-layer{padding:12px 12px 98px}.menu-card{width:100%;padding:22px 17px}.lineup-image{height:240px}.character-grid{grid-template-columns:repeat(2,1fr)}.fish-grid,.bag-summary{grid-template-columns:1fr}.bag-list{grid-template-columns:1fr 1fr}}@media (max-height:700px) and (min-width:801px){.game-stage{min-height:560px}.mission-card{top:92px}.angler-chip{display:none}.dock{bottom:13px}.cast-button{bottom:14%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
