@font-face{font-family:Big Shoulders Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-vietnamese-opsz-normal-CcSE2nLi.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-latin-ext-opsz-normal-Ctdd2Rbx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-latin-opsz-normal-D0XSQJTG.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--stock: #f2ede2;--stock-2: #e7dfcd;--stock-3: #d6ccb6;--ink: #111111;--ink-2: #312d28;--ink-3: #625b50;--red: #d7261e;--red-2: #b01c15;--on-ink: #f2ede2;--on-ink-2: #bdb5a6;--display: "Big Shoulders Variable", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;--text: "Archivo Variable", "Arial Narrow", Arial, sans-serif;--t-label: 14px;--t-body: 16px;--t-ui: 19px;--t-title: 22px;--t-lever: 26px;--t-numeral: 30px;--t-numeral-xl: 52px;--t-headline: clamp(30px, 3vw, 48px);--t-display: clamp(44px, 6vw, 82px);--t-shout: clamp(76px, 11vw, 168px);--bolt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f7f8f9'/%3E%3Cstop offset='.42' stop-color='%23a9b0b6'/%3E%3Cstop offset='.56' stop-color='%23d3d7db'/%3E%3Cstop offset='1' stop-color='%23686f76'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%232a2e33'/%3E%3Cstop offset='1' stop-color='%23767d84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='21.5' cy='22' r='17' fill='%23111' fill-opacity='.4'/%3E%3Ccircle cx='20' cy='20' r='17' fill='url(%23a)' stroke='%23464c52' stroke-width='1.6'/%3E%3Ccircle cx='20' cy='20' r='12.6' fill='none' stroke='%23fff' stroke-opacity='.4'/%3E%3Cpath d='M13.8 20l3.1-5.4h6.2l3.1 5.4-3.1 5.4h-6.2z' fill='url(%23b)'/%3E%3C/svg%3E");--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .1 0 0 0 0 .07 0 0 0 1.5 -.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--speck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .93 0 0 0 0 .89 0 0 0 2.2 -1.38'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color-scheme:light;font-family:var(--text);font-stretch:88%;color:var(--ink);background:var(--stock);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--stock)}body:before,body:after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none}body:before{background:var(--grain);opacity:.5}body:after{background:var(--speck);opacity:.55}button,input{font:inherit;color:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--red);outline-offset:4px}button svg,summary svg{flex-shrink:0}[hidden]{display:none!important}::selection{background:var(--red);color:var(--stock)}h1,h2{margin:0;font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bolt{--s: 22px;display:inline-block;flex:none;width:var(--s);height:var(--s);background:var(--bolt) center / contain no-repeat}.lever,.plate-button,.game-options>summary{--face: var(--stock);--fg: var(--ink);--edge: var(--ink);--drop: var(--ink);--slant: 16px;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:9px calc(var(--slant) + 16px) 9px 11px;border:0;background:none;color:var(--fg);font-family:var(--display);font-weight:800;font-size:var(--t-title);line-height:1;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;filter:drop-shadow(4px 4px 0 var(--drop));transition:transform .14s cubic-bezier(.16,1,.3,1),filter .14s cubic-bezier(.16,1,.3,1)}.lever:before,.plate-button:before,.game-options>summary:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--edge);clip-path:polygon(0 0,100% 0,calc(100% - var(--slant)) 100%,0 100%)}.lever:after,.plate-button:after,.game-options>summary:after{content:"";position:absolute;inset:3px;z-index:-1;background:var(--face);clip-path:polygon(0 0,calc(100% - 1px) 0,calc(100% - var(--slant) + 1px) 100%,0 100%)}.lever .label,.plate-button .label,.game-options>summary .label{display:inline-block;transform:skew(-9deg)}.lever{--face: var(--red);min-height:58px;font-size:var(--t-lever);font-weight:900}.lever:hover:not(:disabled){--fg: var(--stock)}.plate-button:hover:not(:disabled),.game-options>summary:hover{--face: var(--ink);--fg: var(--stock)}:is(.lever,.plate-button,.game-options>summary):hover:not(:disabled){transform:translate(-2px,-2px);filter:drop-shadow(6px 6px 0 var(--drop))}:is(.lever,.plate-button,.game-options>summary):active:not(:disabled){transform:translate(3px,3px);filter:drop-shadow(1px 1px 0 var(--drop));transition-duration:.05s}:is(.lever,.plate-button):disabled{--face: var(--stock-3);--fg: var(--ink-3);--edge: var(--ink-3);filter:none}:is(.lever,.plate-button):disabled .bolt{filter:grayscale(1) opacity(.55)}.full-width{width:100%}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:2px solid var(--ink);background:var(--stock);color:var(--ink);transition:background .12s,color .12s,transform .12s}.icon-button:hover:not(:disabled){background:var(--ink);color:var(--stock)}.icon-button:active:not(:disabled){transform:translate(1px,1px)}.icon-button:disabled{opacity:.35}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 0;border:0;background:none;font-family:var(--display);font-size:var(--t-ui);font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:.04em;text-decoration:underline 2px transparent;text-underline-offset:5px;transition:color .12s,text-decoration-color .12s}.text-button:hover:not(:disabled){color:var(--red);text-decoration-color:currentColor}.text-button:disabled{opacity:.4}.eyebrow{display:inline-block;margin:0;padding:6px 11px 5px;background:var(--ink);color:var(--stock);font-family:var(--display);font-size:var(--t-label);font-weight:800;line-height:1;letter-spacing:.16em;text-transform:uppercase}kbd{display:inline-block;padding:1px 6px 0;border:2px solid var(--ink);border-bottom-width:4px;background:var(--stock);font:800 var(--t-label)/1.3 var(--display);letter-spacing:.06em}.app-shell{display:grid;grid-template-columns:58px minmax(0,1fr);height:100dvh;min-height:460px;padding:14px 14px 14px 0}.spine{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 0}.spine .bolt{--s: 30px}.spine-text{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:var(--t-ui);font-weight:900;letter-spacing:.2em;text-transform:uppercase}.spine-text b{color:var(--red);font-weight:900;margin-bottom:14px}.game-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;min-height:0;background:var(--stock);border:3px solid var(--ink);overflow:hidden}.scene-head{position:absolute;top:14px;left:18px;z-index:3;display:flex;align-items:flex-start;gap:18px;pointer-events:none}.masthead{display:flex;flex-direction:column;margin:-5px -9px;padding:5px 9px 7px;font-size:var(--t-headline);line-height:.8;color:var(--ink);background:var(--stock)}.masthead span{font-size:calc(var(--t-headline) * .4);font-weight:800;letter-spacing:.21em;margin-bottom:2px}.scene-status{display:flex;align-items:center;gap:9px;margin-top:7px;padding:7px 22px 6px 11px;background:var(--ink);color:var(--stock);font-family:var(--display);font-size:var(--t-ui);font-weight:800;line-height:1;letter-spacing:.1em;clip-path:polygon(0 0,100% 0,calc(100% - 11px) 100%,0 100%)}.status-dot{width:9px;height:9px;background:var(--stock-3)}.is-fishing .status-dot{background:var(--red);animation:blink 1s steps(2,jump-none) infinite}.game-options{position:absolute;top:16px;right:16px;z-index:5}.game-options>summary{--slant: 12px;display:flex;min-height:48px;width:max-content;margin-left:auto;font-size:var(--t-title);list-style:none;cursor:pointer}.game-options>summary::-webkit-details-marker{display:none}.game-options>summary svg:last-child{transition:transform .18s cubic-bezier(.16,1,.3,1)}.game-options[open]>summary{--face: var(--ink);--fg: var(--stock);--drop: var(--red)}.game-options[open]>summary svg:last-child{transform:rotate(180deg)}.options-panel,dialog,.depth-gauge{--corner: 22px;border:3px solid var(--ink);clip-path:polygon(0 0,calc(100% - var(--corner)) 0,100% var(--corner),100% 100%,0 100%)}.options-panel{width:min(360px,calc(100vw - 48px));max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--stock-2);margin-top:14px;padding:18px 18px 34px;background:var(--bolt) 8px calc(100% - 7px) / 18px 18px no-repeat,var(--bolt) calc(100% - 8px) calc(100% - 7px) / 18px 18px no-repeat,linear-gradient(to bottom left,transparent 50%,var(--ink) 50% calc(50% + 3px),transparent 0) right top / var(--corner) var(--corner) no-repeat border-box,var(--stock)}.crew-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.crew-heading h2{font-size:var(--t-numeral)}.count-badge{padding:5px 8px 4px;background:var(--ink);color:var(--stock);font:900 var(--t-title)/1 var(--display);font-variant-numeric:tabular-nums}.crew-list{display:flex;flex-direction:column;border-top:3px solid var(--ink)}.crew-row{display:flex;align-items:center;gap:10px;min-height:46px;padding-right:2px;border-bottom:1px solid var(--ink);transition:background .12s}.crew-row:focus-within{background:var(--stock-2);box-shadow:inset 0 -3px var(--red)}.boat-number{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;background:var(--ink);color:var(--stock);font:900 var(--t-ui)/1 var(--display);font-variant-numeric:tabular-nums}.crew-row input{flex:1;width:100%;min-width:0;padding:8px 0;border:0;background:transparent;color:var(--ink);font-size:var(--t-body);font-weight:600;font-stretch:85%}.crew-row input:focus{outline:none}.crew-row input:disabled{color:var(--ink-2)}.row-state{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;color:var(--ink)}.row-dot{width:6px;height:6px;background:var(--ink)}.remove-group{width:32px;height:32px;flex-shrink:0;border-color:transparent;background:transparent}.crew-row.excluded .boat-number{background:transparent;color:var(--ink-3);box-shadow:inset 0 0 0 2px var(--ink-3)}.crew-row.excluded input{color:var(--ink-3);text-decoration:line-through 2px}.crew-row.excluded .row-state,.crew-row.has-catch .row-state{color:var(--red)}.add-button{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px 12px;border:2px dashed var(--ink);background:transparent;font:800 var(--t-ui)/1 var(--display);letter-spacing:.04em;text-transform:uppercase;transition:background .12s,color .12s}.add-button:hover:not(:disabled){background:var(--ink);color:var(--stock);border-style:solid}.add-button:disabled{opacity:.4}#capacity-label{margin-left:auto;font-variant-numeric:tabular-nums}.crew-tip{margin:12px 0 8px;font-size:var(--t-label);line-height:1.45;color:var(--ink-2)}.crew-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font:800 var(--t-ui)/1 var(--display);letter-spacing:.04em;text-transform:uppercase}.crew-footer>span{display:flex;align-items:center;gap:6px}.ready-dot{width:9px;height:9px;background:var(--red)}.last-catch-button{width:100%;justify-content:flex-start;margin-top:12px;padding-top:12px;border-top:2px solid var(--ink)}.last-catch-button svg:last-child{margin-left:auto}.options-tools{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:2px solid var(--ink)}.scene-actions{display:flex;gap:6px}.ocean-viewport{grid-area:1 / 1;min-height:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--stock-2)}.ocean-world{position:relative;width:100%;height:100%;overflow:hidden}#ocean{display:block;width:100%;height:100%}.boat-labels{position:absolute;top:84px;left:0;right:0;z-index:2}.boat-label{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;width:min(118px,calc(100% / var(--boats, 8) - 6px));transform:translate(-50%)}.boat-name{display:block;max-width:100%;padding:5px 8px 4px;background:var(--ink);color:var(--stock);font:800 var(--t-title)/1 var(--display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presented-label{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 6px 2px 4px;background:var(--stock);color:var(--ink);font:800 var(--t-label)/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.presented-label input{appearance:none;display:grid;place-items:center;width:16px;height:16px;margin:0;border:2px solid var(--ink);background:var(--stock);cursor:pointer}.presented-label input:checked{background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='%23111' stroke-width='2.4'/%3E%3C/svg%3E") center / 10px no-repeat}.presented-label input:focus-visible{outline-offset:2px}.boat-label.excluded .boat-name{background:var(--stock);color:var(--ink-3);box-shadow:inset 0 0 0 2px var(--ink-3);text-decoration:line-through 2px}.is-fishing .boat-labels{pointer-events:none}.cast-callout{display:none;position:absolute;z-index:3;top:40%;left:50%;width:max-content;max-width:92%;text-align:center;pointer-events:none;transform:translate(-50%,-50%) rotate(-15deg)}.cast-callout strong{display:block;color:var(--red);font:900 var(--t-shout)/.8 var(--display);text-transform:uppercase;letter-spacing:-.01em;text-shadow:.045em .045em 0 var(--ink)}.cast-callout span{display:inline-block;margin-top:10px;padding:7px 14px 6px;background:var(--ink);color:var(--stock);font:800 var(--t-title)/1 var(--display);letter-spacing:.16em;text-transform:uppercase}.cast-callout:before{content:"";position:absolute;left:50%;top:42%;z-index:-1;width:120%;aspect-ratio:1;border:4px solid var(--ink);border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0}.is-fishing .cast-callout{display:block}.is-fishing .cast-callout strong{animation:slam 1.7s cubic-bezier(.16,1,.3,1) both}.is-fishing .cast-callout span{animation:slam-tag 1.7s cubic-bezier(.16,1,.3,1) both}.is-fishing .cast-callout:before{animation:shockwave 1.7s cubic-bezier(.1,.7,.3,1) both}.is-paused :is(.cast-callout strong,.cast-callout span,.cast-callout:before,.status-dot){animation-play-state:paused}.scene-bottom{grid-area:1 / 1;align-self:end;justify-self:stretch;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;min-width:0;z-index:3;margin:18px;pointer-events:none}.depth-gauge{--corner: 12px;flex-shrink:0;display:flex;align-items:baseline;gap:10px;padding:8px 36px 8px 12px;color:var(--ink);background:var(--bolt) right 9px bottom 8px / 17px 17px no-repeat,linear-gradient(to bottom left,transparent 50%,var(--ink) 50% calc(50% + 3px),transparent 0) right top / var(--corner) var(--corner) no-repeat border-box,var(--stock)}.gauge-key{font:800 var(--t-label)/1 var(--display);letter-spacing:.16em;text-transform:uppercase}.gauge-value{font:900 var(--t-numeral)/.8 var(--display);font-variant-numeric:tabular-nums}.gauge-value small{margin-left:2px;font-size:var(--t-ui);font-weight:800}#depth-label{font:800 var(--t-ui)/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.is-fishing #depth-label{color:var(--red)}.catch-feed{min-width:250px;max-width:380px;padding:11px 14px 12px 36px;background:var(--bolt) 9px 11px / 17px 17px no-repeat,var(--bolt) 9px calc(100% - 11px) / 17px 17px no-repeat,var(--ink);color:var(--stock);clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px))}.catch-feed-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:5px}.catch-feed-label{font:800 var(--t-ui)/1 var(--display);letter-spacing:.1em;color:var(--red);text-transform:uppercase}.catch-feed-count{font:900 var(--t-title)/1 var(--display);letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums}.catch-feed strong{display:block;font:800 var(--t-title)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catch-feed:after{content:"";display:block;height:9px;margin-top:9px;background:linear-gradient(90deg,var(--red) var(--catch-progress, 0%),#f2ede22e 0);-webkit-mask:repeating-linear-gradient(90deg,var(--ink) 0 11px,transparent 11px 14px);mask:repeating-linear-gradient(90deg,var(--ink) 0 11px,transparent 11px 14px)}.boat-scroll-hint{grid-row:2;display:none;justify-content:center;align-items:center;gap:14px;padding:8px 12px 7px;background:var(--stock-2);border-top:2px solid var(--ink);font:800 var(--t-label)/1 var(--display);letter-spacing:.14em;text-transform:uppercase}.has-overflow .boat-scroll-hint{display:flex}.game-controls{position:relative;grid-row:3;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:104px;padding:18px 30px 20px 26px;background:var(--ink);color:var(--stock)}.control-message{min-width:0}.control-message strong{display:block;font:900 var(--t-headline)/.9 var(--display);text-transform:uppercase;letter-spacing:.005em;overflow-wrap:anywhere}.control-message>span{display:block;margin-top:7px;color:var(--on-ink-2);font:700 var(--t-ui)/1.15 var(--display);letter-spacing:.08em;text-transform:uppercase}.game-controls .lever{--drop: var(--stock);min-height:64px;padding-right:44px;font-size:var(--t-numeral);gap:14px}.game-controls .lever .bolt{--s: 26px}.game-controls .plate-button{--drop: var(--red)}.game-controls :focus-visible{outline-color:var(--stock)}.cast-actions{flex-shrink:0}.fishing-actions{display:flex;align-items:center;gap:16px}.pause-button{width:56px;height:56px;border:3px solid var(--stock);background:var(--ink);color:var(--stock)}.pause-button:hover:not(:disabled){background:var(--stock);color:var(--ink)}dialog{--corner: 26px;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--ink) var(--stock-2);padding:34px 38px 28px 76px;color:var(--ink);--spine: 46px;--bolt-s: 26px;--bolt-x: 10px;background:var(--bolt) var(--bolt-x) 14px / var(--bolt-s) var(--bolt-s) no-repeat,var(--bolt) var(--bolt-x) calc(100% - 14px) / var(--bolt-s) var(--bolt-s) no-repeat,var(--speck),var(--grain),linear-gradient(90deg,var(--stock-2) 0 var(--spine),var(--ink) var(--spine) calc(var(--spine) + 3px),transparent 0),linear-gradient(to bottom left,transparent 50%,var(--ink) 50% calc(50% + 3px),transparent 0) right top / var(--corner) var(--corner) no-repeat border-box,var(--stock)}dialog::backdrop{background:repeating-linear-gradient(-45deg,transparent 0 7px,#f2ede212 7px 8px),#111c}dialog[open]{animation:page-slam .38s cubic-bezier(.16,1,.3,1) both}.dialog-close{position:absolute;top:16px;right:30px}.help-dialog{width:min(740px,calc(100% - 32px))}.help-dialog h2{margin:24px 0 4px;font-size:var(--t-display);transform:rotate(-4deg);transform-origin:left bottom}.help-dialog h2 span{display:block;color:var(--red)}.help-dialog ol{margin:20px 0 16px;padding:0;list-style:none;counter-reset:step}.help-dialog li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:10px;margin-bottom:10px;font-size:var(--t-body);line-height:1.4;color:var(--ink-2);counter-increment:step}.help-dialog li:before{content:counter(step);grid-row:span 2;color:var(--red);font:900 var(--t-numeral-xl)/.78 var(--display);text-shadow:2px 2px 0 var(--ink)}.help-dialog li strong{display:block;color:var(--ink);font:800 var(--t-title)/1 var(--display);letter-spacing:.02em;text-transform:uppercase;margin-bottom:3px}.fairness-note{display:flex;gap:14px;padding:15px 16px;border:3px solid var(--ink);background:var(--stock-2);color:var(--ink-2)}.fairness-note svg{flex-shrink:0;color:var(--red)}.fairness-note p{margin:0;font-size:var(--t-body);line-height:1.5}.fairness-note strong{display:block;margin-bottom:3px;color:var(--ink);font:800 var(--t-title)/1 var(--display);text-transform:uppercase;letter-spacing:.02em}.help-footnote{margin:14px 0 18px;font-size:var(--t-label);line-height:1.6;color:var(--ink-3)}.results-dialog{width:min(800px,calc(100% - 28px));padding:26px 36px 22px 76px}.result-heading{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center}.result-heading .eyebrow{grid-column:1 / -1;justify-self:start;margin-bottom:14px}.winner-art{position:relative;width:190px;height:92px}.winner-art:before{content:"";position:absolute;left:50%;top:50%;width:170px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 9px,#11111124 9px 11px);transform:translate(-50%,-50%)}.winner-art>svg{position:relative;width:100%;height:100%;transform:rotate(-12deg);animation:fish-slam .5s .1s cubic-bezier(.16,1,.3,1) both}.winner-copy{min-width:0}.next-presenter-tag{display:inline-flex;align-items:center;gap:8px;color:var(--red);font:900 var(--t-headline)/.9 var(--display);letter-spacing:.04em;text-transform:uppercase;text-shadow:2px 2px 0 var(--ink);rotate:-6deg;transform-origin:left bottom}.next-presenter-tag svg{filter:drop-shadow(2px 2px 0 var(--ink))}.result-heading h2{margin:6px 0 12px;font-size:var(--t-display);overflow-wrap:anywhere;rotate:-6deg;transform-origin:left bottom;animation:word-slam .55s cubic-bezier(.16,1,.3,1) both}.winner-copy p{margin:0;font-size:var(--t-body);line-height:1.35;color:var(--ink-2)}.winner-copy p strong{color:var(--red);font:900 var(--t-lever)/1 var(--display)}.catch-comparison{margin-top:22px;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}.comparison-heading{display:flex;justify-content:space-between;padding:9px 2px 8px;border-bottom:2px solid var(--ink);font:800 var(--t-label)/1 var(--display);letter-spacing:.16em;text-transform:uppercase}.catch-row{--fish: 58px;display:grid;grid-template-columns:minmax(170px,38%) minmax(0,1fr) 96px;gap:18px;align-items:center;min-height:48px;padding:0 10px 0 0;border-bottom:1px solid var(--ink);animation:row-slam .42s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 45ms + .22s)}.catch-row:last-of-type{border-bottom:0}.catch-group{display:flex;align-items:center;gap:10px;min-width:0;font:800 var(--t-title)/1 var(--display);letter-spacing:.02em;text-transform:uppercase}.catch-group>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catch-number{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;background:var(--ink);color:var(--stock);font:900 var(--t-ui)/1 var(--display);font-variant-numeric:tabular-nums}.smallest-badge{flex-shrink:0;padding:4px 7px 3px;background:var(--red);color:var(--ink);font:900 var(--t-ui)/1 var(--display);letter-spacing:.08em;transform:rotate(-6deg)}.fish-comparison-track{position:relative;display:flex;align-items:center;width:100%;height:40px;background:linear-gradient(currentColor,currentColor) right bottom / 2px 8px no-repeat,repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 10%) left bottom / 100% 5px no-repeat}.comparison-fish{display:flex;align-items:center;width:calc(100% * var(--scale, 1))}.comparison-fish:before{content:"";flex:1;height:6px;margin-right:-2px;background:currentColor}.comparison-fish svg{display:block;flex:none;width:min(var(--fish),100%);height:auto;aspect-ratio:150 / 72}.winning-catch .comparison-fish:before{background:var(--red)}.fish-length{font:900 var(--t-numeral)/1 var(--display);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fish-length small{margin-left:2px;font-size:var(--t-label);font-weight:800}.catch-row.winning-catch{position:relative;isolation:isolate;background:var(--ink);color:var(--stock)}.winning-catch:before{content:"";position:absolute;inset:0 -8px;z-index:-1;background:var(--ink)}.winning-catch .catch-number{background:var(--red);color:var(--ink)}.winning-catch .fish-length{color:var(--red)}.comparison-scale{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-top:2px solid var(--ink);font:800 var(--t-label)/1 var(--display);letter-spacing:.12em;text-transform:uppercase}.catch-comparison:has(.catch-row:nth-of-type(10)) .catch-row{min-height:42px}.results-actions{position:sticky;bottom:-22px;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 24px;margin-top:18px;padding:16px 0 20px;border-top:3px solid var(--ink);background:var(--speck),var(--grain),var(--stock)}.results-actions :is(.lever,.plate-button){font-size:var(--t-title)}.results-footnote{margin:16px 0 0;text-align:center;font:700 var(--t-label)/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.toast{position:fixed;left:50%;bottom:28px;z-index:10;width:max-content;max-width:calc(100% - 32px);padding:13px 20px 12px;background:var(--ink);color:var(--stock);font:800 var(--t-title)/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase;box-shadow:5px 5px 0 var(--red);opacity:0;pointer-events:none;transform:translate(-50%,18px) rotate(-2deg);transition:opacity .2s,transform .28s cubic-bezier(.16,1,.3,1)}.toast.visible{opacity:1;transform:translate(-50%) rotate(-2deg)}@keyframes blink{50%{opacity:.15}}@keyframes slam{0%{opacity:0;transform:scale(2.8);font-variation-settings:"wght" 250}13%{opacity:1;transform:scale(.93);font-variation-settings:"wght" 900}19%{transform:scale(1.04)}25%,70%{opacity:1;transform:scale(1)}to{opacity:0;transform:translate(4%,-40%) scale(1.08)}}@keyframes slam-tag{0%,12%{opacity:0;transform:translate(-60%) skew(-20deg)}24%,70%{opacity:1;transform:none}to{opacity:0;transform:translate(30%)}}@keyframes shockwave{0%,10%{opacity:0;transform:translate(-50%,-50%) scale(.1)}14%{opacity:.9}55%{opacity:0;transform:translate(-50%,-50%) scale(1.5);border-width:1px}to{opacity:0}}@keyframes page-slam{0%{opacity:0;transform:translateY(26px) rotate(-1.5deg) scale(.97)}to{opacity:1;transform:none}}@keyframes word-slam{0%{opacity:0;transform:translateY(-38px) skew(-18deg);font-variation-settings:"wght" 200}55%{opacity:1;transform:translateY(3px) skew(2deg);font-variation-settings:"wght" 900}to{transform:none}}@keyframes fish-slam{0%{opacity:0;transform:translate(-60px) rotate(-30deg) scale(.6)}to{opacity:1;transform:rotate(-12deg)}}@keyframes row-slam{0%{opacity:0;transform:translate(-44px) skew(-14deg)}60%{opacity:1;transform:translate(4px) skew(3deg)}to{opacity:1;transform:none}}@media(max-width:900px){.control-message>span{font-size:var(--t-label)}.game-controls .lever{font-size:var(--t-lever)}}@media(max-width:600px){.app-shell{display:block;height:auto;padding:0}.spine{display:none}.game-card{height:100dvh;min-height:440px;border:0}.scene-head{top:12px;left:14px}.scene-status{display:none}.boat-name{font-size:var(--t-ui)}.game-options{top:12px;right:12px}.game-options>summary{min-height:44px;font-size:var(--t-ui)}.options-panel{width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 84px)}.scene-bottom{margin:12px;gap:10px}.depth-gauge{padding:7px 14px 7px 9px;gap:7px}.gauge-key,#depth-label{display:none}.gauge-value{font-size:var(--t-lever)}.catch-feed{min-width:0;max-width:calc(100% - 96px);padding:9px 11px 10px}.catch-feed-heading{gap:10px}.catch-feed-count,.catch-feed strong{font-size:var(--t-ui)}.game-controls{flex-direction:column;align-items:stretch;gap:14px;min-height:0;padding:16px 16px 18px;text-align:center}.control-message>span{font-size:var(--t-label)}.cast-actions,.cast-actions .lever{width:100%}.fishing-actions{justify-content:center;min-height:64px}.cast-callout{transform:translate(-50%,-50%) rotate(-24deg)}dialog{--spine: 30px;--bolt-s: 20px;--bolt-x: 5px;padding:24px 18px 20px 50px;max-height:calc(100dvh - 24px)}.dialog-close{top:12px;right:22px;width:36px;height:36px}.help-dialog h2{margin-right:34px}.help-dialog li{grid-template-columns:40px minmax(0,1fr)}.help-dialog li strong{font-size:var(--t-ui)}.results-dialog{padding:22px 14px 18px 46px}.result-heading{grid-template-columns:minmax(0,1fr)}.winner-art{width:150px;height:70px;margin:-4px 0 4px}.winner-art:before{width:130px}.winner-copy p strong{font-size:var(--t-ui)}.comparison-heading,.comparison-scale{letter-spacing:.06em}.catch-row,.catch-comparison:has(.catch-row:nth-of-type(10)) .catch-row{--fish: 38px;grid-template-columns:minmax(0,44%) minmax(0,1fr) 58px;gap:8px;min-height:44px;padding-right:6px}.fish-comparison-track{height:32px}.comparison-fish:before{height:5px}.results-actions{bottom:-20px;padding:14px 0 18px}.winning-catch:before{inset-inline:-6px}.catch-group{flex-wrap:wrap;row-gap:3px;gap:6px;font-size:var(--t-ui)}.catch-number{width:26px;height:26px}.smallest-badge{padding:3px 5px 2px}.fish-length{font-size:var(--t-title)}.results-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:18px}.results-actions .lever,.results-actions .plate-button{justify-content:flex-start;font-size:var(--t-title);line-height:1.02;white-space:normal;text-align:left}.results-actions svg:last-child{margin-left:auto}}@media(max-height:520px){.app-shell{height:auto;padding:0;display:block}.spine{display:none}.game-card{height:100dvh;min-height:320px;border:0}.game-options{top:12px;right:12px}.options-panel{max-height:calc(100dvh - 80px)}.scene-bottom{margin:12px}.game-controls{flex-direction:row;min-height:0;padding:12px 18px;text-align:left}.control-message strong{font-size:var(--t-lever)}.control-message>span{font-size:var(--t-label)}.cast-actions,.cast-actions .lever{width:auto}.game-controls .lever{min-height:54px;font-size:var(--t-title)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cast-callout{display:none!important}}
