/* Gone Fishin' GA — BassTour-style tournament sim (riktom.com) */
*{box-sizing:border-box;}
html{height:100%;}
body{height:auto;min-height:100%;margin:0;overflow:auto;display:flex;flex-direction:column;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0c1f12;color:#fff;-webkit-tap-highlight-color:transparent;}
.rk-nav{flex:0 0 auto;}
.fg-frame{flex:0 0 auto;height:calc(100vh - 52px);height:calc(100dvh - 52px);min-height:560px;overflow:hidden;
  display:flex;justify-content:center;background:radial-gradient(130% 100% at 50% 0%,#16291d,#0a130d);}
/* the lake in the middle, the instruments beside it (below it on a phone) */
#fg{position:relative;width:100%;max-width:1280px;height:100%;display:grid;grid-template-columns:1fr 300px;gap:0;user-select:none;-webkit-user-select:none;}
.fg-map{position:relative;overflow:hidden;background:#6f8c48;touch-action:none;}
#fg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair;}
.fg-topbar{position:absolute;top:8px;right:8px;display:flex;gap:.4rem;z-index:5;}
.fg-icon{background:rgba(12,31,18,.65);border:none;color:#fff;font-size:1rem;width:36px;height:36px;border-radius:10px;cursor:pointer;}

/* ---------- instrument panel ---------- */
.fg-panel{background:#1a2b1e;border-left:2px solid #2f4a33;padding:.6rem .7rem;overflow-y:auto;font-size:.85rem;display:flex;flex-direction:column;gap:.5rem;}
.fg-row{display:flex;gap:.4rem;flex-wrap:wrap;}
.fg-k{display:block;font-size:.58rem;letter-spacing:.08em;color:#9fc79a;font-weight:700;}
.fg-gauge{flex:1 1 0;background:#0f1a12;border:1px solid #2f4a33;border-radius:8px;padding:.35rem .5rem;min-width:0;}
.fg-gauge b{font-size:1.05rem;font-variant-numeric:tabular-nums;}
.fg-gauge .track{height:9px;background:#0a120c;border-radius:5px;margin-top:.3rem;overflow:hidden;}
.fg-gauge .bar{height:100%;background:#66bb6a;border-radius:5px;transition:width .3s;}
.fg-gauge .bar.low{background:#ef5350;}
.fg-tog{flex:1 1 auto;background:#0f1a12;border:1px solid #2f4a33;color:#dfe9dc;border-radius:8px;padding:.5rem .4rem;font-size:.8rem;font-weight:700;cursor:pointer;min-height:38px;}
.fg-tog.on{background:#2e7d32;border-color:#4caf50;color:#fff;}
.fg-finder{align-items:stretch;}
.fg-lcd{flex:1 1 0;background:#0b2a1c;border:2px solid #1e5a3c;border-radius:8px;padding:.35rem .5rem;color:#8fe3a8;font-family:ui-monospace,Menlo,Consolas,monospace;}
.fg-lcd .fg-k{color:#5fae7a;}
.fg-lcd b{font-size:1.3rem;display:block;line-height:1.1;}
.fg-lcd small{display:block;font-size:.72rem;}
.fg-lcd em{display:block;font-style:normal;font-size:.7rem;color:#c9f2d3;margin-top:.15rem;}
.fg-toggles{display:flex;flex-direction:column;gap:.3rem;width:88px;}
.fg-tackle{flex-direction:column;gap:.3rem;}
.fg-tackle label{display:flex;flex-direction:column;gap:.15rem;}
.fg-tackle select{width:100%;font-size:16px;min-height:38px;border-radius:8px;border:1px solid #2f4a33;background:#0f1a12;color:#fff;padding:.3rem .4rem;}
.match{font-size:.74rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;align-self:flex-start;}
.match.good{background:#2e7d32;} .match.fair{background:#8a6d1a;} .match.poor{background:#7a2e2a;}
.fg-wx{font-size:.78rem;color:#c8e6c9;align-items:center;gap:.5rem;}
.fg-wx .fg-k{display:inline;}
.fg-well{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem;}
.fg-well li{background:#0f1a12;border:1px solid #2f4a33;border-radius:6px;padding:.15rem .4rem;font-size:.78rem;}
.fg-well li.empty{color:#7a9a7a;border-style:dashed;}
.fg-actions{margin-top:auto;}
.fg-cast{flex:2 1 0;min-height:56px;border:none;border-radius:12px;background:#2e7d32;color:#fff;font-size:1.05rem;font-weight:900;
  box-shadow:0 4px 0 #1b5e20;cursor:pointer;touch-action:none;}
.fg-cast:active{transform:translateY(2px);box-shadow:0 2px 0 #1b5e20;}
.fg-cast.hot{background:#e65100;box-shadow:0 4px 0 #a33c00;animation:fg-hot .5s ease-in-out infinite alternate;}
@keyframes fg-hot{from{transform:scale(1)}to{transform:scale(1.05)}}
.fg-weigh{flex:1 1 0;min-height:56px;border:none;border-radius:12px;background:#ffe14d;color:#3d2e00;font-weight:900;cursor:pointer;box-shadow:0 4px 0 #b39b1c;}
.fg-weigh:disabled{background:#3a4a3c;color:#8aa08c;box-shadow:none;cursor:default;}

/* banner */
.fg-banner{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:6;pointer-events:none;background:rgba(12,31,18,.92);
  border:2px solid #a5d6a7;border-radius:12px;padding:.6rem 1rem;text-align:center;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:92%;animation:fg-banner 3.2s ease both;}
.fg-banner .big{display:block;font-size:1.05rem;color:#ffe14d;}
.fg-banner .small{display:block;font-size:.8rem;color:#dff0d6;font-weight:600;margin-top:.15rem;}
@keyframes fg-banner{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}10%,85%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0}}

/* screens */
.fg-screen[hidden]{display:none!important;}
.fg-screen{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at center,rgba(12,31,18,.6),rgba(12,31,18,.85));overflow:auto;}
.fg-card{background:linear-gradient(#fff,#f3f7ef);color:#1c2b1c;border-radius:20px;padding:1.4rem 1.3rem;max-width:420px;width:100%;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.45);border:1px solid #d9e4cf;}
.fg-logo{font-size:3rem;line-height:1;}
.fg-card h1{margin:.3rem 0 .3rem;font-size:1.8rem;line-height:1.05;color:#1b5e20;}
.fg-card h2{margin:.1rem 0 .5rem;font-size:1.5rem;color:#1b5e20;}
.fg-sub{margin:.2rem 0;color:#46563f;font-size:.92rem;}
.fg-rule{margin:.7rem 0;font-size:.82rem;color:#5a4a2a;background:#fbf3da;border:1px solid #ecdfb0;border-radius:10px;padding:.5rem .7rem;text-align:left;line-height:1.5;}
.fg-btn{display:block;width:100%;margin:.55rem 0 0;padding:.8rem 1rem;border:none;border-radius:12px;background:#2e7d32;color:#fff;font-size:1.05rem;font-weight:800;cursor:pointer;box-shadow:0 4px 0 #1b5e20;}
.fg-btn:active{transform:translateY(2px);box-shadow:0 2px 0 #1b5e20;}
.fg-btn-ghost{background:#eef3e8;color:#1b5e20;box-shadow:0 4px 0 #c7d8b6;}
.fg-hi{margin:.7rem 0 0;color:#46563f;font-size:.9rem;}
.fg-fineprint{margin:.8rem 0 0;font-size:.76rem;color:#8a9a80;} .fg-fineprint a,.fg-hi a{color:#2e7d32;}
.fg-final{margin:.3rem 0;display:flex;flex-direction:column;} .fg-final b{font-size:2.4rem;color:#1b5e20;line-height:1;}
.fg-standings{list-style:none;margin:.6rem 0 0;padding:0;text-align:left;}
.fg-standings li{display:flex;justify-content:space-between;padding:.3rem .5rem;border-bottom:1px solid #e2ebe4;font-size:.92rem;}
.fg-standings li.you{background:#e8f5e9;font-weight:800;border-radius:6px;}
.fg-newbest{color:#c98a00;font-weight:800;margin:.3rem 0;}

@media (prefers-reduced-motion:reduce){.fg-cast.hot{animation:none!important}}
/* phone: lake on top, instruments below */
@media (max-width:820px){
  .fg-frame{height:auto;min-height:0;}
  #fg{grid-template-columns:1fr;grid-template-rows:min(62vh,420px) auto;height:auto;}
  .fg-panel{border-left:none;border-top:2px solid #2f4a33;overflow:visible;}
  /* primary actions right under the lake, so you never scroll away from the water to cast */
  .fg-actions{order:-2;margin-top:0;}
  .fg-clockrow{order:-1;}
  .fg-screen{position:fixed;}
}
