/* Fishing-only layout: large independent controls, unobstructed centre. */
#arcade-page[data-game="balik"] #arc-buttons{right:max(18px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,100px);grid-template-rows:repeat(2,72px);height:154px;gap:10px}
#arcade-page[data-game="balik"] #arc-buttons button{min-width:0;min-height:72px;padding:8px;font-weight:750;font-size:14px;border-radius:19px;background:linear-gradient(155deg,#244c52e6,#10303ce6);box-shadow:inset 0 1px #fff3,0 3px 12px #092a3433}
#arcade-page[data-game="balik"] #arc-boost{border-color:#80dfbd;background:linear-gradient(140deg,#297762e6,#17473ce6)}
#arcade-page[data-game="balik"] #arc-cancel-fish{grid-column:2;grid-row:1}
#arcade-page[data-game="balik"] #arc-game[data-fish-phase="fighting"] #arc-boost{grid-column:2;grid-row:2}
#arcade-page[data-game="balik"] #arc-game[data-fish-phase="fighting"] #arc-release{grid-column:1;grid-row:2}
#arcade-page[data-game="balik"] #arc-game[data-fish-phase="bite"] #arc-action,
#arcade-page[data-game="balik"] #arc-game[data-fish-phase="fighting"] #arc-action{grid-column:2}
#arcade-page[data-game="balik"] #arc-buttons button[aria-pressed="true"]{border-color:#fff2ab;background:#478563;box-shadow:0 0 15px #86e7a166}
#arcade-page[data-game="balik"] #arc-look{display:none}
#arcade-page[data-game="balik"] #arc-shot{bottom:36px;left:48%;width:160px;max-width:23vw;background:#133e423d;border:2px solid #91d1aa77;box-shadow:0 0 8px #a5eec022;text-shadow:0 1px 3px #143442;padding:10px}
#arcade-page[data-game="balik"] #arc-shot input{min-height:30px;touch-action:pan-x}
#arcade-page[data-game="balik"] #arc-shot label{font-size:10px;white-space:nowrap}
#fish-panel{position:absolute;left:50%;top:86px;transform:translateX(-50%);width:260px;max-width:42vw;display:flex;flex-direction:column;gap:5px;text-align:center;pointer-events:none;color:#f3f4da;text-shadow:0 2px 4px #092a40,0 0 5px #092a40}
#fish-panel[hidden]{display:none}
#fish-panel>small{font-size:10px;letter-spacing:.035em}
#fish-phase,#fish-tip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#fish-tension{position:relative;height:10px;background:linear-gradient(90deg,#29a96d77,#91e4bc22 40%,#e7efdd22 50%,#ecb69922 60%,#e5534677);border:1px solid #c5eadb77;border-radius:8px;overflow:hidden}
#fish-tension>span{position:absolute;left:50%;width:0;height:100%;background:linear-gradient(90deg,#e3d9a5,#ef6253);transition:width .1s linear,left .1s linear}
#fish-tension[data-side="slack"]>span{background:linear-gradient(90deg,#32c68b,#c7ebd6)}
.fish-zero,.fish-needle{position:absolute;top:0;height:100%;width:2px;background:#fff8e6;left:50%;transform:translateX(-50%)}.fish-zero{opacity:.7;width:1px}.fish-needle{left:var(--fish-pos,50%);width:3px;box-shadow:0 0 4px #fff}
.fish-scale{display:flex;justify-content:space-between;font-size:9px;line-height:1;margin-top:-2px}.fish-scale>span:first-child{color:#b4f0d1}.fish-scale>span:last-child{color:#ffc1b7}
#fish-panel[data-danger="true"] #fish-tension{border-color:#ff9e7e;box-shadow:0 0 7px #ff755866}
#fish-notice{position:absolute;left:50%;top:35%;transform:translateX(-50%);max-width:70%;padding:9px 15px;background:#17423d99;color:#fff2bf;border:1px solid #e0cc85bf;border-radius:15px;text-align:center;font-weight:750;font-size:15px;pointer-events:none}
#fish-notice.fish-bait-notice{background:rgba(23,66,61,.6);animation:fish-bait-pop .22s ease-out}
#fish-panel #fish-notice.fish-hook-notice{box-sizing:border-box;top:auto;bottom:calc(100% + 12px);width:100%;max-width:100%;padding:6px 8px;font-size:12px;line-height:1.35}
@keyframes fish-bait-pop{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
#fish-distance{transform:translateY(-7px)}
#arcade-page[data-game="balik"].kk-watching #fish-panel,#arc-game.kk-watching #fish-panel{visibility:hidden}
#fish-mode-hint{flex-basis:100%;max-width:620px;text-align:center;font-size:12px;color:#fff3d9}
#fish-target{box-sizing:border-box;min-height:44px;max-width:190px;background:#1d4b3a;border:1px solid #c9aa64;border-radius:12px;padding:10px;color:#fff2d7;font:inherit}
#fish-equipment{position:absolute;left:12px;top:215px;max-width:170px;display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.2;color:#e9f3dc;text-shadow:0 1px 3px #082f36,0 0 4px #082f36;pointer-events:none}
#fish-bite-burst{position:absolute;left:50%;top:47%;width:0;height:0;pointer-events:none;color:#fff0ac;z-index:3}
#fish-bite-burst>strong{position:absolute;width:180px;left:-90px;top:-58px;text-align:center;font-size:18px;white-space:nowrap;text-shadow:0 2px 4px #14343c,0 0 12px #67dbf2}
.fish-bite-ring{position:absolute;left:-34px;top:-20px;width:68px;height:40px;border:3px solid #b9f7ff;border-radius:50%;box-shadow:0 0 14px #72eaff88}
#fish-bite-burst>i{position:absolute;width:6px;height:11px;left:-3px;top:-5px;background:#b5f6ff;border-radius:50%;box-shadow:0 0 6px #7bf0ff}
.fish-burst-on>.fish-bite-ring{animation:fish-bite-ring .75s ease-out both}.fish-burst-on>i{animation:fish-bite-drop .75s ease-out both}.fish-burst-on>strong{animation:fish-bite-word .75s ease-out both}
@keyframes fish-bite-ring{0%{transform:scale(.2);opacity:1}100%{transform:scale(2);opacity:0}}
@keyframes fish-bite-drop{0%{transform:translate(0,0) scale(.4);opacity:1}75%{opacity:.9}100%{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
@keyframes fish-bite-word{0%{transform:scale(.6);opacity:0}20%{transform:scale(1.08);opacity:1}75%{transform:scale(1);opacity:1}100%{transform:translateY(-10px);opacity:0}}
#arcade-page[data-game="balik"] #arc-dialog:has(.fish-market-body){width:min(720px,94vw);max-height:90dvh;box-sizing:border-box;overflow:auto;overscroll-behavior:contain}
#arcade-page[data-game="balik"] #arc-dialog:has(.fish-market-body) #arc-close{position:sticky;float:right;top:0;z-index:2}
#arcade-page[data-game="balik"] #arc-progress{font-size:clamp(12px,2.7vw,20px)}
.fish-market-body{font-size:13px}.fish-market-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.fish-market-summary strong{font-size:20px;color:#ffe094}.fish-market-summary small{opacity:.8}
.fish-market-body h3{font-size:15px;margin:18px 0 8px}.fish-market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.fish-market-card{display:flex;flex-direction:column;gap:7px;border:1px solid #b6d7a466;border-radius:14px;background:linear-gradient(150deg,#255b4eaa,#153c3c77);padding:11px;min-width:0}.fish-market-card>strong{font-size:15px;color:#ffe7ab}.fish-market-card>small{opacity:.87;line-height:1.4;flex:1}
.fish-market-actions{display:flex;flex-direction:column;gap:6px}.fish-market-actions button{margin:0!important;min-height:44px;padding:7px!important;font-size:12px!important;width:100%;touch-action:manipulation}.fish-market-body>p,.fish-market-body>div>p{font-size:12px;line-height:1.5}.fish-market-body button:disabled{opacity:.45}
#fish-market-status{color:#ffe094;min-height:1.4em;position:sticky;bottom:0;background:#173f33;padding:8px;border-radius:8px}
@media(max-width:600px){.fish-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fish-market-card{padding:9px}.fish-market-card>strong{font-size:13px}#fish-equipment{font-size:9px}}
@media(max-width:600px) and (orientation:portrait){
 #arcade-page[data-game="balik"] #arc-stick{left:15px;bottom:40px;width:118px;height:118px}
 #arcade-page[data-game="balik"] #arc-buttons{right:12px;bottom:35px;grid-template-columns:repeat(2,94px);gap:8px}
 #arcade-page[data-game="balik"] #arc-buttons button{min-height:72px;font-size:12px}
 #arcade-page[data-game="balik"] #arc-shot{left:15px;bottom:180px;transform:none;max-width:40vw;width:118px;padding:8px}
 #fish-panel{top:260px;width:235px;max-width:75vw}
 #arcade-page[data-game="balik"] #arc-top-actions{top:85px;gap:4px}
 #arcade-page[data-game="balik"] #arc-ranks{top:79px;max-width:170px}
}
@media(max-width:350px) and (orientation:portrait){
 #arcade-page[data-game="balik"] #arc-stick{left:10px;width:100px;height:100px}
 #arcade-page[data-game="balik"] #arc-buttons{right:9px;grid-template-columns:repeat(2,86px);gap:7px}
 #arcade-page[data-game="balik"] #arc-shot{left:10px;width:100px}
 #fish-panel{top:250px}#arcade-page[data-game="balik"] #arc-top-actions{right:8px}
}
@media(max-height:520px) and (orientation:landscape){
 #arcade-page[data-game="balik"] #arc-buttons{right:17px;bottom:26px;grid-template-columns:repeat(2,85px);gap:7px}
 #arcade-page[data-game="balik"] #arc-buttons button{min-height:57px;font-size:11px;border-radius:15px}
 #arcade-page[data-game="balik"] #arc-shot{bottom:28px;left:50%;transform:translateX(-50%);width:140px}
 #fish-panel{top:59px;width:225px;max-width:34vw}#fish-panel>strong{font-size:12px}
 #fish-equipment{font-size:9px;line-height:1.15;gap:1px}
 #fish-notice{font-size:12px;top:46%}
}
@media(prefers-reduced-motion:reduce){#fish-tension>span{transition:none}}
@media(max-height:350px) and (orientation:landscape){#arcade-page[data-game="balik"] #arc-ranks{top:54px}#arcade-page[data-game="balik"] #arc-ranks li{margin:2px 0}#arcade-page[data-game="balik"] #arc-ranks button{display:block;min-height:0;padding:2px 5px!important;font-size:9px!important;line-height:1.2}#fish-equipment{left:9px;font-size:8px;line-height:1;gap:0}#fish-panel{top:57px}}
@media(prefers-reduced-motion:reduce){.fish-burst-on>*{animation:none!important}#fish-bite-burst>i{display:none}}

/* A horizontal, right-thumb reel stick on touch screens only. Desktop keeps
   its original Sar / Yol Ver buttons, Space and R. */
#fish-reel{display:none;position:absolute;box-sizing:border-box;right:max(22px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:min(230px,48vw);height:76px;border:0;border-radius:0;background:transparent;box-shadow:none;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ew-resize}
#fish-reel::before{content:'';position:absolute;left:12px;right:12px;top:calc(50% - 1px);height:2px;background:linear-gradient(90deg,#8adbc4,#fff5c3,#9be590);opacity:.75}
#fish-reel>span{position:absolute;box-sizing:border-box;left:calc(50% - 21px);top:calc(50% - 21px);width:42px;height:42px;border:1px solid #fff0bd;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fff0c2,#b78b43);box-shadow:0 2px 5px #071f3466;pointer-events:none}
#fish-reel>small{position:absolute;bottom:-16px;font-size:9px;font-weight:750;color:#e3f6de;pointer-events:none}.fish-reel-left{left:9px}.fish-reel-right{right:10px}
#fish-reel>strong{position:absolute;top:-18px;left:0;width:100%;text-align:center;font-size:10px;letter-spacing:.08em;pointer-events:none}
#fish-reel[data-direction="reel"]::before{height:3px;opacity:1;filter:drop-shadow(0 0 5px #bcf591)}
#fish-reel[data-direction="release"]::before{height:3px;opacity:1;filter:drop-shadow(0 0 5px #9ceee1)}
#fish-reel[aria-disabled="true"]{opacity:.45;cursor:default}#fish-reel[data-phase="bite"] .fish-reel-left{opacity:.3}#fish-reel[hidden]{display:none!important}
@media(pointer:coarse){
 #fish-reel{display:block}
 #arcade-page[data-game="balik"] #arc-boost,#arcade-page[data-game="balik"] #arc-release{display:none!important}
 #arcade-page[data-game="balik"] #arc-game #arc-buttons{right:max(34px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)) + 134px);grid-template-columns:repeat(2,76px);grid-template-rows:repeat(2,64px);height:136px;gap:8px;align-items:center}
 #arcade-page[data-game="balik"] #arc-game #arc-buttons button{min-width:0;min-height:48px;font-size:11px;padding:6px 5px}
 #arcade-page[data-game="balik"] #arc-game #arc-action{grid-column:1;grid-row:1}
 #arcade-page[data-game="balik"] #arc-game #arc-boat{grid-column:2;grid-row:1}
 #arcade-page[data-game="balik"] #arc-game #arc-cancel-fish{grid-column:2;grid-row:1}
 #arcade-page[data-game="balik"] #arc-game[data-fish-phase="bite"] #arc-action{grid-column:1/span 2;grid-row:2;justify-self:start;width:118px;height:64px;margin-left:8px}
 #arcade-page[data-game="balik"] #arc-game #fish-reel{--fish-reel-width:clamp(168px,56vw,230px);position:relative;right:auto;bottom:auto;width:var(--fish-reel-width);height:64px;grid-column:1/span 2;grid-row:2;justify-self:start;margin-left:8px;transform:translateX(calc((118px - var(--fish-reel-width))/2))}
}
@media(pointer:coarse) and (max-width:600px) and (orientation:portrait){
 #fish-reel{right:auto;bottom:auto}
 #arcade-page[data-game="balik"] #arc-game #arc-buttons{right:max(24px,env(safe-area-inset-right));bottom:calc(max(35px,env(safe-area-inset-bottom)) + 134px);grid-template-columns:repeat(2,76px)}
}
