/* ============================================================
   AEGVIIDU KALASTUSSELTS — "SUKELDU" disainisüsteem
   Kerimine = laskumine järve. Julge, kollaažilik, plakatlik
   tüpograafia kohtub päris veega: kalad, lant ja paat elavad
   lehe taga ja ees.
   ============================================================ */

/* ---------- Fondid (self-hosted, OFL) ---------- */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('/public/fonts/anton-latin-ext-400-normal.woff2') format('woff2');
  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:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('/public/fonts/anton-latin-400-normal.woff2') format('woff2');
  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:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
  src:url('/public/fonts/bebas-neue-latin-ext-400-normal.woff2') format('woff2');
  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:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
  src:url('/public/fonts/bebas-neue-latin-400-normal.woff2') format('woff2');
  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:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('/public/fonts/inter-latin-ext-400-normal.woff2') format('woff2');
  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:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('/public/fonts/inter-latin-400-normal.woff2') format('woff2');
  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:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/public/fonts/inter-latin-ext-600-normal.woff2') format('woff2');
  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:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/public/fonts/inter-latin-600-normal.woff2') format('woff2');
  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:'Inter';font-style:normal;font-weight:700;font-display:swap;
  src:url('/public/fonts/inter-latin-ext-700-normal.woff2') format('woff2');
  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:'Inter';font-style:normal;font-weight:700;font-display:swap;
  src:url('/public/fonts/inter-latin-700-normal.woff2') format('woff2');
  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;}

/* ---------- Muutujad ---------- */
:root{
  /* Vesi — sügavuse skaala */
  --abyss:#04141a;
  --deep:#07272e;
  --water-950:#04141a;
  --water-900:#07272e;
  --water-800:#0b3a41;
  --water-700:#0f4d52;
  --water-600:#166a68;
  --water-400:#2fa79c;

  /* Signaalvärvid */
  --lime:#c9f549;
  --lime-hi:#dcff6b;
  --lime-deep:#9ccb1f;
  --coral:#ff5b2e;
  --coral-deep:#e0431a;
  --gold-500:#e8a93c;
  --gold-400:#ffc857;
  --steel:#9fb6ba;

  /* Paber */
  --paper:#f2eee1;
  --paper-2:#e6e0cd;
  --paper-3:#d8d1b9;

  /* Tint */
  --ink:#0a1214;
  --ink-900:#0a1214;
  --ink-700:#2c3a3c;
  --ink-500:#5b6b6d;
  --ink-050:#ffffff;

  /* Tagasiühilduvus vanade vaadetega (admin/liige) */
  --mist-50:#f2eee1; --mist-100:#e6e0cd; --mist-200:#d8d1b9; --mist-300:#b9b299;
  --forest-950:var(--water-950); --forest-900:var(--water-900); --forest-800:var(--water-800);
  --forest-700:var(--water-700); --forest-600:var(--water-600);
  --amber-500:var(--gold-500); --amber-400:var(--gold-400);
  --lime-500:var(--lime-deep); --lime-400:var(--lime);
  --scale-100:var(--paper-2); --scale-300:var(--paper-3);
  --sand-50:var(--paper); --sand-100:var(--paper-2); --sand-200:var(--paper-3);
  --moss-700:#4d5936; --moss-500:#6b7a4a; --moss-300:#97a273;
  --peat-700:#5c4a34; --peat-500:#7a6142; --peat-300:#a68a63;

  --radius:6px;
  --radius-lg:18px;
  --shadow:0 12px 32px -16px rgba(4,20,26,.5);
  --shadow-lg:0 30px 70px -24px rgba(4,20,26,.6);
  --hard:6px 6px 0 var(--ink);
  --hard-lg:10px 10px 0 var(--ink);
  --max-w:1240px;
  --ease:cubic-bezier(.22,.68,.36,1);
  --bd:3px solid var(--ink);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.6;color:var(--paper);
  background:linear-gradient(180deg,#0a3a44 0%,#07272e 26%,#062028 55%,#04141a 100%);
  background-attachment:fixed;
  overflow-x:hidden;
}
/* Riso-grain — ainult staatilistel pindadel (jõudluse pärast mitte fixed-overlay) */
:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");}
.zone--paper{background-image:var(--grain);background-blend-mode:multiply;}
.ticker{background-image:var(--grain);background-blend-mode:multiply;}
.slab,.price-card,.rules li,.event-card,.statute-body,.auth-card,.card{background-image:var(--grain);background-blend-mode:multiply;}
.slab--glass{background-image:none;}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
p{margin:0 0 1em;}

/* ---------- Tüpograafia ---------- */
h1,h2,h3,h4{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02;margin:0 0 .4em;}
.display{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(2.5rem,8.6vw,7.8rem);line-height:.94;letter-spacing:-.02em;margin:0;
}
.zone-title{font-size:clamp(2.3rem,7vw,5.6rem);line-height:.94;letter-spacing:-.02em;margin:0 0 .3em;}
.outline{-webkit-text-stroke:2px currentColor;color:transparent;}
@media(min-width:900px){.outline{-webkit-text-stroke:3px currentColor;}}
.kicker{
  font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(.85rem,1.4vw,1.05rem);
  letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;display:inline-flex;align-items:center;gap:10px;
}
.kicker::before{content:"";width:26px;height:3px;background:currentColor;display:block;}
.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.5;max-width:52ch;}
.mono{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;}

.container{max-width:var(--max-w);margin:0 auto;padding:0 clamp(18px,4vw,36px);width:100%;}

/* ---------- Nupud ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:15px 28px;
  font-family:'Bebas Neue',Impact,sans-serif;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;
  border:var(--bd);border-radius:999px;cursor:pointer;background:var(--lime);color:var(--ink);
  box-shadow:var(--hard);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .2s;
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink);text-decoration:none;}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink);}
.btn-primary{background:var(--lime);color:var(--ink);}
.btn-outline{background:transparent;color:var(--paper);border-color:var(--paper);box-shadow:6px 6px 0 rgba(242,238,225,.25);}
.btn-outline:hover{background:var(--paper);color:var(--ink);box-shadow:8px 8px 0 rgba(242,238,225,.3);}
.btn-dark{background:var(--ink);color:var(--lime);}
.btn-coral{background:var(--coral);color:var(--paper);}

/* ---------- Kleeps / silt / pill ---------- */
.sticker{
  display:inline-block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  background:var(--lime);color:var(--ink);border:var(--bd);border-radius:999px;padding:9px 20px;font-size:1rem;
  box-shadow:4px 4px 0 var(--ink);
}
.sticker--coral{background:var(--coral);color:var(--paper);}
.sticker--paper{background:var(--paper);color:var(--ink);}
.sticker--gold{background:var(--gold-400);color:var(--ink);}
.tag{
  display:inline-block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  font-size:.85rem;padding:5px 12px;border:2px solid currentColor;border-radius:999px;
}

/* ---------- Kaardid ---------- */
.slab{
  background:var(--paper);color:var(--ink);border:var(--bd);border-radius:20px;
  box-shadow:var(--hard-lg);padding:clamp(22px,3vw,34px);
}
.slab--lime{background:var(--lime);}
.slab--coral{background:var(--coral);color:var(--paper);}
.slab--ink{background:var(--ink);color:var(--paper);}
.slab--glass{background:rgba(6,32,38,.72);color:var(--paper);border-color:rgba(201,245,73,.5);backdrop-filter:blur(9px);box-shadow:0 24px 60px -30px #000;}

/* ---------- Kanvaad (järv lehe taga ja ees) ---------- */
.lake-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;}
.lake-fg{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none;}
/* Õnge lõuend elab sisu EES (aga menüü ja HUD taga), et nöör ja lant
   ei kaoks kunagi heleda sektsiooni alla — nendega ju mängitakse. */
.lake-rod{position:fixed;inset:0;width:100vw;height:100vh;z-index:40;pointer-events:none;}

/* ---------- Navi ---------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:80;padding:14px 0;transition:background .3s var(--ease),padding .3s var(--ease);}
.site-nav.is-stuck{background:rgba(4,20,26,.82);backdrop-filter:blur(14px);border-bottom:2px solid rgba(201,245,73,.28);padding:8px 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:var(--max-w);margin:0 auto;padding:0 clamp(18px,4vw,36px);}
.brand{display:flex;align-items:center;gap:11px;color:var(--paper);}
.brand img{width:42px;height:42px;}
.brand span{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.05rem;letter-spacing:.02em;line-height:1;max-width:9ch;}
.nav-links{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0;}
.nav-links a{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:1.02rem;
  color:var(--paper);padding:8px 14px;border-radius:999px;border:2px solid transparent;transition:.2s var(--ease);
}
.nav-links a:hover{border-color:var(--lime);color:var(--lime);}
.nav-cta{background:var(--lime);color:var(--ink)!important;border:2px solid var(--ink)!important;box-shadow:3px 3px 0 var(--ink);}
.nav-cta:hover{background:var(--lime-hi);color:var(--ink)!important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:var(--lime);border:var(--bd);border-radius:10px;cursor:pointer;padding:9px 10px;}
.nav-toggle span{width:22px;height:3px;background:var(--ink);display:block;border-radius:2px;}
@media(max-width:940px){
  .nav-toggle{display:flex;}
  .nav-links{
    position:absolute;top:100%;left:clamp(12px,4vw,28px);right:clamp(12px,4vw,28px);flex-direction:column;align-items:stretch;
    background:var(--paper);border:var(--bd);border-radius:18px;box-shadow:var(--hard-lg);padding:14px;gap:4px;display:none;
  }
  .nav-links.open{display:flex;}
  .nav-links a{color:var(--ink);}
  .nav-links a:hover{background:var(--lime);color:var(--ink);}
  .brand span{font-size:.9rem;}
}

/* ---------- Sügavuse HUD ---------- */
.depth-hud{
  position:fixed;left:10px;top:50%;transform:translateY(-50%);z-index:62;
  display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:none;width:52px;
  font-family:'Bebas Neue',Impact,sans-serif;color:var(--lime);
  background:rgba(10,18,20,.82);border:2px solid rgba(201,245,73,.35);border-radius:999px;
  padding:14px 4px;backdrop-filter:blur(8px);box-shadow:0 14px 34px -18px #000;
}
.depth-hud .depth-val{font-size:1.45rem;line-height:1;letter-spacing:.04em;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.depth-hud .depth-lbl{font-size:.72rem;letter-spacing:.22em;color:var(--steel);writing-mode:vertical-rl;}
.depth-rail{width:3px;height:min(32vh,260px);background:rgba(201,245,73,.22);position:relative;border-radius:2px;}
.depth-rail i{position:absolute;left:-4.5px;width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px var(--lime);transition:top .12s linear;}
@media(max-width:1200px){.depth-hud{display:none;}}

/* ---------- Püügipäeviku HUD ---------- */
.tackle-hud{
  position:fixed;right:clamp(10px,2vw,20px);bottom:clamp(10px,2vw,20px);z-index:62;
  display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;
  background:var(--ink);border:2px solid var(--lime);color:var(--paper);
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:1rem;
  box-shadow:0 12px 30px -14px #000;transform:translateY(14px);opacity:0;transition:.35s var(--ease);
}
.tackle-hud.is-visible{opacity:1;transform:none;}
.tackle-hud b{color:var(--lime);font-size:1.25rem;}
.tackle-hud svg{color:var(--lime);}
.hud-hint{
  position:fixed;left:clamp(12px,3vw,28px);bottom:82px;z-index:62;pointer-events:none;max-width:min(78vw,420px);
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.85rem;color:var(--paper);white-space:nowrap;
  background:rgba(10,18,20,.78);border:2px solid rgba(201,245,73,.45);border-radius:999px;padding:7px 16px;
  opacity:0;transition:opacity .4s var(--ease);
}
.hud-hint.is-visible{opacity:1;}
@media(pointer:coarse){.hud-hint{display:none;}}

/* Püügikaart — ilmub tabamuse järel */
.catch-card{
  position:fixed;right:clamp(10px,2vw,20px);bottom:clamp(76px,10vh,98px);z-index:63;
  background:var(--paper);color:var(--ink);border:var(--bd);border-radius:16px;padding:14px 18px;
  box-shadow:var(--hard);min-width:210px;pointer-events:none;
  transform:translateY(18px) rotate(-2deg);opacity:0;transition:.35s var(--ease);
}
.catch-card.is-visible{opacity:1;transform:rotate(-2deg);}
.catch-card .cc-top{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;font-size:.72rem;color:var(--ink-500);}
.catch-card .cc-name{font-family:'Anton',Impact,sans-serif;font-size:1.45rem;line-height:1;margin:2px 0 0;}
.catch-card .cc-kg{font-family:'Anton',Impact,sans-serif;font-size:2.3rem;line-height:1;color:var(--coral);margin:2px 0 7px;}
.catch-card .cc-meta{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:.95rem;display:flex;gap:14px;color:var(--ink-700);}
.catch-card.is-rare{background:var(--coral);color:var(--paper);}
.catch-card.is-rare .cc-top,.catch-card.is-rare .cc-meta{color:rgba(255,255,255,.85);}
.catch-card.is-rare .cc-kg{color:var(--paper);}
.catch-card.is-record{background:var(--gold-400);color:var(--ink);}
.catch-card.is-record .cc-kg{color:var(--ink);}
.catch-card.is-record .cc-top::after{content:" · REKORD";color:var(--coral-deep);}
/* Millise söödaga kala tuli — kõige olulisem õppetund kasutajale */
.catch-card .cc-lure{
  display:flex;align-items:center;gap:9px;margin:9px -18px -14px;padding:9px 18px 11px;
  border-top:2px solid rgba(10,18,20,.14);background:rgba(10,18,20,.055);
  border-radius:0 0 14px 14px;
}
.catch-card .cc-lure-ico{font-size:1.3rem;line-height:1;filter:saturate(1.1);}
.catch-card .cc-lure-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.catch-card .cc-lure-txt i{
  font-style:normal;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.62rem;color:var(--ink-500);
}
.catch-card .cc-lure-txt b{
  font-family:'Anton',Impact,sans-serif;font-size:.98rem;letter-spacing:.01em;
  text-transform:uppercase;color:var(--ink);
}
.catch-card.is-rare .cc-lure{border-top-color:rgba(255,255,255,.28);background:rgba(0,0,0,.16);}
.catch-card.is-rare .cc-lure-txt i{color:rgba(255,255,255,.8);}
.catch-card.is-rare .cc-lure-txt b{color:var(--paper);}
.catch-card.is-record .cc-lure{border-top-color:rgba(10,18,20,.2);background:rgba(10,18,20,.09);}

/* ---------- Tsoonid ---------- */
.zone{position:relative;z-index:2;padding:clamp(80px,11vh,140px) 0;}
.zone--water{background:transparent;color:var(--paper);}
/* Hele sektsioon on pisut läbipaistev: tekst jääb loetav, aga kalad
   aimduvad selle taga — vesi ei kao lehe keskel ära. */
.zone--paper{background:rgba(242,238,225,.93);color:var(--ink);}
@supports not (backdrop-filter:blur(2px)){
  .zone--paper{background:rgba(242,238,225,.96);}
}
.zone--paper h1,.zone--paper h2,.zone--paper h3{color:var(--ink);}
.zone--ink{background:var(--ink);color:var(--paper);}
.zone--lime{background:var(--lime);color:var(--ink);}
.zone-mark{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.2em;font-size:.9rem;
  display:flex;align-items:center;gap:12px;margin-bottom:16px;opacity:.85;
}
.zone-mark b{font-size:1.5rem;letter-spacing:.04em;}
.zone--paper .zone-mark{color:var(--water-700);}
.zone--water .zone-mark{color:var(--lime);}

/* Rebitud üleminek tsoonide vahel */
.tear{position:relative;z-index:3;line-height:0;background:transparent;}
.tear svg{display:block;width:100%;height:clamp(30px,4.5vw,58px);}

/* ---------- HERO ---------- */
.hero{
  position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(92px,12vh,120px) 0 clamp(84px,11vh,110px);color:var(--paper);background:transparent;overflow:hidden;
}
.hero-inner{position:relative;z-index:3;max-width:var(--max-w);margin:0 auto;padding:0 clamp(18px,4vw,36px);width:100%;}
.hero .display{color:var(--paper);text-shadow:0 10px 40px rgba(4,20,26,.45);}
.hero .display em{font-style:normal;color:var(--lime);}
.hero .display .outline{-webkit-text-stroke-color:var(--lime);}
.hero-lead{max-width:42ch;font-size:clamp(.98rem,1.35vw,1.14rem);color:#dce7e6;margin:20px 0 26px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px;}
.hero-stats{display:flex;gap:clamp(18px,3.4vw,46px);flex-wrap:wrap;}
.hero-stat b{display:block;font-family:'Anton',Impact,sans-serif;font-size:clamp(1.6rem,2.6vw,2.3rem);color:var(--lime);line-height:1;}
.hero-stat span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.82rem;color:var(--steel);}
.hero-badge{position:absolute;z-index:4;}
.hero-badge--1{top:clamp(90px,14vh,170px);right:clamp(16px,6vw,120px);transform:rotate(9deg);}
.hero-badge--2{top:clamp(330px,52vh,560px);right:clamp(16px,9vw,150px);transform:rotate(-7deg);}
@media(max-width:820px){.hero-badge{display:none;}}

/* ---------- Veebijärve kutse (hero paremal pool) ----------
   Kitsal ekraanil on ta tavavoos hero sisu all, laial ekraanil kolib
   paremale vabale poolele, kus ta saab olla suur ja jutukas. */
.jarv-cta{
  display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;max-width:100%;
  margin:26px clamp(16px,4vw,40px) 0;padding:20px 22px 18px;
  text-decoration:none;color:var(--ink);
  background:var(--lime);border:var(--bd);border-radius:22px;
  box-shadow:8px 8px 0 var(--ink);
  position:relative;z-index:5;
  /* Kleeps on alati kergelt viltu — nii loeb silm ta lehe peale kleebituna,
     mitte kastina, mis lehe sisse kuulub. */
  transform:rotate(-2deg);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease);
}
.jarv-cta::after{
  content:"";position:absolute;inset:-10px;border-radius:28px;
  border:2px solid var(--lime);opacity:0;pointer-events:none;
  animation:jarvPuls 3.4s var(--ease) infinite;
}
@keyframes jarvPuls{
  0%{transform:scale(.97);opacity:.5}
  70%{transform:scale(1.06);opacity:0}
  100%{transform:scale(1.06);opacity:0}
}
.jarv-cta:hover,.jarv-cta:focus-visible{
  transform:rotate(-2deg) translate(-3px,-3px);box-shadow:12px 12px 0 var(--ink);background:var(--lime-hi,#dcff6b);
}
.jarv-cta:hover .jarv-cta-go i{transform:translateX(5px);}

.jarv-cta-ico{
  flex:none;line-height:0;margin-top:1px;
  width:46px;height:46px;border-radius:50%;
  box-shadow:0 3px 0 rgba(10,18,20,.28);
}
.jarv-cta-ico img{display:block;width:100%;height:100%;}
.jarv-cta-body{display:flex;flex-direction:column;gap:7px;min-width:0;}
.jarv-cta-kick{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  font-size:.74rem;color:rgba(10,18,20,.66);
}
.jarv-cta-title{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;line-height:.92;
  font-size:clamp(1.9rem,5.2vw,2.6rem);letter-spacing:.005em;
}
.jarv-cta-lead{font-size:.87rem;line-height:1.5;color:rgba(10,18,20,.82);}
.jarv-cta-lead b{font-weight:700;color:var(--ink);}
.jarv-cta-go{
  display:inline-flex;align-items:center;gap:8px;margin-top:4px;align-self:flex-start;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  font-size:.95rem;background:var(--ink);color:var(--lime);
  padding:9px 17px;border-radius:999px;
}
.jarv-cta-go i{font-style:normal;font-size:1.1rem;transition:transform .22s var(--ease);}

@media(max-width:560px){
  .jarv-cta{gap:12px;padding:17px 18px 15px;box-shadow:6px 6px 0 var(--ink);}
  .jarv-cta-ico{width:38px;height:38px;}
  .jarv-cta-lead{font-size:.83rem;}
}

/* Tahvli laiuselt tõmbame kutse paremasse serva — vasakus allnurgas
   hõljub landikast ja selle vihje, mis muidu satuks kutse peale. */
@media(min-width:700px) and (max-width:1079.98px){
  .jarv-cta{
    margin-left:auto;
    width:min(480px,calc(100% - clamp(32px,8vw,80px)));
  }
}

/* Laiast ekraanist alates istub kutse hero paremal vabal poolel */
@media(min-width:1080px){
  .jarv-cta{
    position:absolute;top:38%;right:clamp(28px,5vw,96px);
    width:min(400px,33vw);margin:0;
    transform:translateY(-50%) rotate(-3.2deg);
    padding:26px 28px 24px;
  }
  .jarv-cta:hover,.jarv-cta:focus-visible{
    transform:translateY(-50%) rotate(-3.2deg) translate(-3px,-3px);
  }
  .jarv-cta-ico{width:56px;height:56px;}
  .jarv-cta-title{font-size:clamp(2.3rem,3vw,2.9rem);}
  .jarv-cta-lead{font-size:.9rem;}
  /* Kleepsud sativad end kutse umber. Kutse tosteti ules ja on rohkem viltu,
     seega raudkala-kleeps tuleb kutsest VASAKULE, muidu katab ta kaardi nurka. */
  .hero-badge--1{top:clamp(150px,19vh,230px);right:clamp(300px,34vw,520px);}
  .hero-badge--2{top:auto;bottom:clamp(56px,9vh,120px);right:clamp(34px,10vw,180px);}
}
@media(prefers-reduced-motion:reduce){.jarv-cta::after{animation:none;}}

/* Menüüs on Järv esile tõstetud — see on lehe mängulisim osa */
.site-nav .nav-jarv{
  color:var(--ink);background:var(--lime);border-radius:999px;
  padding:5px 13px;font-weight:700;
}
.site-nav .nav-jarv:hover,.site-nav .nav-jarv:focus-visible{background:var(--gold-400);color:var(--ink);}
.scroll-cue{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:4;text-align:center;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.2em;font-size:.85rem;color:var(--steel);
}
.scroll-cue i{display:block;width:2px;height:38px;margin:8px auto 0;background:linear-gradient(var(--lime),transparent);animation:cue 1.9s var(--ease) infinite;}
@keyframes cue{0%{transform:scaleY(.3);transform-origin:top;opacity:0;}40%{transform:scaleY(1);opacity:1;}100%{transform:scaleY(1);transform-origin:bottom;opacity:0;}}

/* Madalad sülearvutiekraanid: hero peab ühte vaatesse mahtuma */
@media (max-height:880px){
  .hero{padding:clamp(80px,11vh,104px) 0 clamp(64px,9vh,86px);}
  .display{font-size:clamp(2.2rem,6.6vw,5.4rem);}
  .hero-lead{margin:14px 0 20px;font-size:1rem;}
  .hero-actions{margin-bottom:22px;}
  .hero-stat b{font-size:1.5rem;}
  .hero-stat span{font-size:.74rem;}
  .btn{padding:12px 22px;font-size:1.05rem;}
}
@media (max-height:660px){ .hero-stats{display:none;} }

/* Staatiline varuversioon (no-JS / reduced motion) */
.hero-fallback-art{position:absolute;inset:0;display:none;align-items:center;justify-content:center;opacity:.55;z-index:1;}
.no-js .hero-fallback-art,.reduced-motion-static .hero-fallback-art{display:flex;}
.hero-fallback-art svg{width:70%;max-width:760px;}

/* ---------- Jooksev tekstiriba ---------- */
.ticker{
  position:relative;z-index:3;background:var(--lime);color:var(--ink);
  border-top:var(--bd);border-bottom:var(--bd);padding:12px 0;overflow:hidden;
}
.ticker--coral{background:var(--coral);color:var(--ink);}
.ticker-track{display:flex;gap:0;width:max-content;animation:tick 34s linear infinite;}
.ticker span{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:clamp(1.1rem,2.3vw,1.9rem);
  padding:0 26px;display:flex;align-items:center;gap:26px;white-space:nowrap;letter-spacing:.01em;
}
.ticker span::after{content:"";width:12px;height:12px;background:currentColor;border-radius:50%;display:block;}
@keyframes tick{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;}}

/* ---------- Meist / kollaaž ---------- */
.collage{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,70px);align-items:center;}
.collage-media{position:relative;}
.collage-photo{
  border:var(--bd);border-radius:22px;overflow:hidden;box-shadow:var(--hard-lg);aspect-ratio:4/5;background:var(--water-800);
  transform:rotate(-2deg) translateY(var(--para,0px));will-change:transform;
}
.collage-photo img{width:100%;height:100%;object-fit:cover;}
.collage-photo--sm{
  position:absolute;right:-6%;bottom:-9%;width:52%;aspect-ratio:1/1;transform:rotate(5deg) translateY(var(--para,0px));border-radius:18px;
}
.collage-blob{
  position:absolute;z-index:-1;border-radius:50%;
}
.collage-blob--1{width:58%;aspect-ratio:1;background:var(--coral);left:-12%;top:-8%;transform:translateY(var(--para,0px));}
.collage-blob--2{width:38%;aspect-ratio:1;background:var(--lime);right:-4%;top:38%;transform:translateY(var(--para,0px));}
.value-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:16px;}
.value-list li{display:flex;gap:16px;align-items:flex-start;}
.value-num{
  font-family:'Anton',Impact,sans-serif;font-size:1.5rem;line-height:1;flex-shrink:0;
  background:var(--ink);color:var(--lime);width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
}
.value-list p{margin:0;color:var(--ink-700);}
.value-list strong{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1.15rem;color:var(--ink);}
@media(max-width:900px){.collage{grid-template-columns:1fr;}.collage-photo{aspect-ratio:3/2;}.collage-photo--sm{display:none;}}

/* ---------- Liigid (avanevad kaardid) ---------- */
.species-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;align-items:start;}
.species-card{
  background:rgba(6,32,38,.72);border:2px solid rgba(201,245,73,.28);border-radius:16px;
  padding:18px 20px 16px;backdrop-filter:blur(9px);transition:border-color .2s var(--ease),transform .2s var(--ease),background .2s;
  display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer;color:inherit;font:inherit;width:100%;
}
.species-card:hover{border-color:var(--lime);transform:translateY(-3px);}
.species-icon{display:block;}
.species-icon svg{height:44px;width:auto;}
.species-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.species-name{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1;color:var(--paper);}
.species-weight{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:.85rem;
  background:var(--lime);color:var(--ink);border-radius:999px;padding:3px 11px;white-space:nowrap;
}
.species-short{font-size:.9rem;color:#b9c8c8;line-height:1.45;}
.species-more{
  display:grid;gap:12px;overflow:hidden;max-height:0;opacity:0;
  transition:max-height .45s var(--ease),opacity .3s var(--ease),margin .3s var(--ease);
}
.species-card.is-open{grid-column:1/-1;border-color:var(--lime);background:rgba(6,32,38,.9);}
.species-card.is-open .species-more{max-height:900px;opacity:1;margin-top:4px;}
.species-card.is-open .species-icon svg{height:64px;}
.species-row{display:block;font-size:.92rem;color:#cfdcdb;line-height:1.55;}
.species-row b{
  display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;font-size:.78rem;
  color:var(--lime);margin-bottom:2px;
}
.species-toggle{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.8rem;color:var(--steel);
  display:inline-flex;align-items:center;gap:7px;margin-top:2px;
}
.species-toggle i{
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid var(--lime);display:block;transition:transform .3s var(--ease);
}
.species-card.is-open .species-toggle i{transform:rotate(180deg);}
.species-card.is-open .species-toggle{color:var(--lime);}
.species-card--robot{border-color:rgba(255,91,46,.55);}
.species-card--robot .species-weight{background:var(--coral);color:var(--paper);}
.species-card--robot .species-name{color:var(--coral);}
.species-card--robot .species-row b{color:var(--coral);}
@media(min-width:900px){
  .species-card.is-open{display:grid;grid-template-columns:150px 1fr;column-gap:28px;row-gap:6px;align-items:start;}
  .species-card.is-open .species-icon{grid-row:1/4;}
  .species-card.is-open .species-more{grid-column:2;grid-template-columns:1fr 1fr;}
}

/* Klubi kokkusaak */
.club-totals{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;padding-top:20px;
  border-top:2px solid rgba(201,245,73,.28);
}
.club-totals b{
  display:block;font-family:'Anton',Impact,sans-serif;font-size:clamp(1.5rem,2.6vw,2.2rem);
  line-height:1;color:var(--lime);
}
.club-totals span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.78rem;color:var(--steel);}

/* ---------- Liikmelisus ---------- */
.member-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:start;}
.steps{list-style:none;counter-reset:s;margin:30px 0 0;padding:0;display:grid;gap:14px;}
.steps li{
  counter-increment:s;display:flex;gap:18px;align-items:flex-start;background:rgba(242,238,225,.06);
  border:2px solid rgba(242,238,225,.16);border-radius:16px;padding:18px 22px;transition:.25s var(--ease);
}
.steps li:hover{background:rgba(201,245,73,.1);border-color:var(--lime);transform:translateX(4px);}
.steps li::before{
  content:counter(s,decimal-leading-zero);font-family:'Anton',Impact,sans-serif;font-size:1.5rem;color:var(--lime);flex-shrink:0;line-height:1.1;
}
.steps strong{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1.2rem;}
.steps p{margin:2px 0 0;color:#cfdcdb;font-size:.96rem;}
.price-card{background:var(--lime);color:var(--ink);border:var(--bd);border-radius:22px;padding:clamp(24px,3vw,34px);box-shadow:var(--hard-lg);}
.price-card h3{font-size:1.9rem;margin-bottom:18px;}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-bottom:2px solid rgba(10,18,20,.18);}
.price-row:last-of-type{border-bottom:none;}
.price-row span{font-size:.95rem;}
.price-row b{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.3rem;letter-spacing:.06em;}
@media(max-width:900px){.member-grid{grid-template-columns:1fr;}}

/* ---------- Reeglid ---------- */
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:44px;list-style:none;padding:0;}
.rules li{
  background:var(--paper);border:var(--bd);border-radius:18px;padding:24px;box-shadow:var(--hard);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.rules li:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink);}
.rules li:nth-child(3n+1){background:var(--paper);}
.rules li:nth-child(3n+2){background:var(--lime);}
.rules li:nth-child(3n+3){background:var(--paper-2);}
.rule-label{display:block;font-family:'Anton',Impact,sans-serif;font-size:1.35rem;margin-bottom:8px;color:var(--ink);}
.rules p{margin:0;font-size:.95rem;color:var(--ink-700);}
.rules-note{margin-top:26px;font-size:.9rem;color:var(--ink-700);border-left:5px solid var(--coral);padding-left:16px;}

/* ---------- Saagiaruanded / sonar ---------- */
.sonar{
  background:#04191c;border:var(--bd);border-color:rgba(201,245,73,.4);border-radius:22px;padding:clamp(22px,3vw,34px);
  position:relative;overflow:hidden;box-shadow:0 30px 70px -30px #000;
}
.sonar::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(201,245,73,.06) 0 1px,transparent 1px 4px);
}
.sonar-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;color:var(--lime);font-size:.95rem;}
.sonar-dot{width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);animation:blip 2s infinite;}
@keyframes blip{0%,100%{opacity:1;}50%{opacity:.25;}}
.chart-row{display:grid;grid-template-columns:110px 1fr 54px;align-items:center;gap:14px;margin-bottom:12px;position:relative;}
.chart-label{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1.05rem;color:var(--paper);}
.chart-track{height:16px;background:rgba(201,245,73,.12);border-radius:3px;overflow:hidden;border:1px solid rgba(201,245,73,.25);}
.chart-fill{height:100%;background:linear-gradient(90deg,var(--lime-deep),var(--lime));transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease);}
.chart-fill.is-visible{transform:scaleX(1);}
.chart-value{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.15rem;color:var(--lime);text-align:right;}
.catch-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,3vw,44px);align-items:start;}
.catch-feed{display:grid;gap:2px;}
.catch-item{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(242,238,225,.14);}
.catch-item:last-child{border-bottom:none;}
.avatar{width:42px;height:42px;border-radius:12px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;
  font-family:'Anton',Impact,sans-serif;color:var(--ink);flex-shrink:0;}
.catch-meta{font-size:.82rem;color:var(--steel);}
@media(max-width:900px){.catch-grid{grid-template-columns:1fr;}.chart-row{grid-template-columns:88px 1fr 42px;}}

/* Sinu isiklik püügipäevik (mängust) */
.my-log{
  margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:baseline;
  border-top:2px solid rgba(201,245,73,.28);padding-top:18px;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;color:var(--steel);font-size:.95rem;
}
.my-log b{color:var(--lime);font-size:1.5rem;letter-spacing:.02em;}
.my-log .ml-rec b{color:var(--gold-400);}
.my-log.is-empty{opacity:.75;}

/* ---------- Üritused ---------- */
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;}
.event-card{
  background:var(--paper);color:var(--ink);border:var(--bd);border-radius:20px;overflow:hidden;
  box-shadow:var(--hard-lg);display:flex;flex-direction:column;transition:transform .22s var(--ease);
}
.event-card:hover{transform:translateY(-6px) rotate(-.6deg);}
.event-card-photo{aspect-ratio:16/10;overflow:hidden;border-bottom:var(--bd);position:relative;}
.event-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.event-card:hover .event-card-photo img{transform:scale(1.07);}
.event-card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1;}
.event-date{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.95rem;color:var(--coral);}
.event-card h3{font-size:1.5rem;margin:0;}
.event-card p{margin:0;color:var(--ink-700);font-size:.94rem;}
.event-card a{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;margin-top:auto;padding-top:10px;color:var(--ink);border-bottom:3px solid var(--lime);align-self:flex-start;}
.event-empty{color:var(--steel);grid-column:1/-1;}

/* ---------- Kontakt ---------- */
.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,4vw,56px);align-items:start;}
.contact-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px;}
.contact-list strong{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;color:var(--lime);font-size:.95rem;margin-bottom:2px;}
.contact-map{border:var(--bd);border-radius:22px;overflow:hidden;box-shadow:var(--hard-lg);aspect-ratio:4/3;background:var(--water-800);}
.contact-map iframe{width:100%;height:100%;border:0;filter:saturate(.75) contrast(1.05);}
.social-row{display:flex;gap:12px;margin-top:24px;}
.social-row a{width:46px;height:46px;border-radius:14px;border:var(--bd);background:var(--lime);color:var(--ink);
  display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 var(--ink);transition:.18s var(--ease);}
.social-row a:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- Jalus ---------- */
.site-footer{position:relative;z-index:3;background:var(--ink);color:var(--paper);padding:70px 0 30px;border-top:4px solid var(--lime);}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px;padding-bottom:36px;border-bottom:2px solid rgba(242,238,225,.16);}
.footer-grid h4{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;font-size:.95rem;color:var(--lime);margin-bottom:14px;}
.footer-grid a{display:block;color:#c4d1d1;margin-bottom:9px;font-size:.95rem;}
.footer-grid a:hover{color:var(--lime);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;font-size:.8rem;color:var(--steel);flex-wrap:wrap;gap:10px;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:26px;}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}

/* ---------- Vanad/muud lehed (võistlused, põhikiri, login, admin) ---------- */
.simple{padding:130px 0 80px;position:relative;z-index:2;}
.hero-blobs,.hero-wave{display:none;}
.hero-eyebrow{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--lime);display:block;margin-bottom:14px;}
.table-wrap{overflow-x:auto;background:rgba(242,238,225,.06);border:2px solid rgba(242,238,225,.15);border-radius:16px;}
table{width:100%;border-collapse:collapse;font-size:.95rem;}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid rgba(242,238,225,.12);}
th{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;color:var(--lime);}
.statute-body{background:var(--paper);color:var(--ink);border:var(--bd);border-radius:20px;padding:clamp(24px,4vw,48px);box-shadow:var(--hard-lg);}
.statute-body h2,.statute-body h3{color:var(--ink);}
.statute-body p,.statute-body li{color:var(--ink-700);}
/* --- Pohikirja terviktekst (content/pohikiri.html). Steve, 11.09.2026 --- */
/* .app-main h2 (rida ~739) varvis pohikirja pealkirjad paberivarvi ehk
   nahtamatuks. Suurem spetsiifilisus toob nad tagasi. */
.statute-card .statute-body h2,.statute-card .statute-body h3{color:var(--ink);}
.statute-body h2{margin:38px 0 14px;scroll-margin-top:110px;}
.statute-body h2:first-of-type{margin-top:10px;}
.statute-body p{line-height:1.7;}
.statute-meta{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;color:var(--ink-700);opacity:.72;margin:0 0 22px;}
.statute-toc{border:2px solid rgba(10,18,20,.18);border-radius:14px;padding:18px 22px 14px;margin:0 0 34px;background:rgba(10,18,20,.03);}
.stoc-silt{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:.86rem;color:var(--ink-700);margin-bottom:10px;}
.statute-toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px;}
.statute-toc li{margin:0 0 6px;font-size:.94rem;break-inside:avoid;}
.statute-toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(10,18,20,.22);}
.statute-toc a:hover{color:var(--ink);border-bottom-color:var(--ink);background:var(--lime);}
.statute-loend{margin:10px 0 18px;padding-left:24px;}
.statute-loend li{margin-bottom:7px;line-height:1.6;}
.statute-tahed{list-style:lower-alpha;}
.statute-lisa{margin:12px 0 18px;padding-left:24px;}
.statute-lisa li{margin-bottom:6px;font-weight:600;color:var(--ink);}
.statute-footer{margin-top:26px;padding-left:16px;border-left:5px solid var(--lime);font-size:.9rem;color:var(--ink-700);}
@media(max-width:640px){.statute-toc ol{columns:1;}}
.auth-wrap{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:100px 20px 40px;position:relative;z-index:2;}
.auth-card{background:var(--paper);color:var(--ink);border:var(--bd);border-radius:22px;padding:clamp(26px,4vw,42px);box-shadow:var(--hard-lg);max-width:440px;width:100%;}
.auth-card h1,.auth-card h2{color:var(--ink);}
.text-center{text-align:center;}
.comp-item{background:rgba(242,238,225,.06);border:2px solid rgba(242,238,225,.16);border-radius:16px;margin-bottom:12px;overflow:hidden;}
.comp-head{width:100%;text-align:left;background:none;border:none;color:var(--paper);padding:20px 24px;cursor:pointer;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1.2rem;display:flex;justify-content:space-between;gap:14px;align-items:center;}
.comp-head:hover{color:var(--lime);}
.comp-body{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.comp-body-inner{padding:0 24px 22px;}
.field{display:grid;gap:6px;margin-bottom:16px;}
.field label{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.95rem;color:var(--ink-700);}
.field input,.field textarea,.field select{border:2px solid var(--ink);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.98rem;background:#fff;color:var(--ink);}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid var(--lime);outline-offset:1px;}
.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr;}}
.card{background:var(--paper);color:var(--ink);border:var(--bd);border-radius:18px;padding:24px;box-shadow:var(--hard);}
.card h3,.card h2{color:var(--ink);}

/* ---------- Liikme/admin ala paigutus ---------- */
.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100svh;position:relative;z-index:2;padding-top:76px;}
.app-side{
  background:rgba(10,18,20,.86);border-right:2px solid rgba(201,245,73,.22);padding:26px 18px;
  display:flex;flex-direction:column;gap:4px;backdrop-filter:blur(10px);
}
.side-user{
  background:rgba(201,245,73,.1);border:2px solid rgba(201,245,73,.3);border-radius:14px;
  padding:14px 16px;margin-bottom:16px;
}
.side-user div:first-child{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1.1rem;color:var(--paper)!important;}
.app-side a{
  display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:12px;color:#c4d1d1;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1rem;transition:.18s var(--ease);
}
.app-side a:hover{background:rgba(201,245,73,.12);color:var(--lime);}
.app-side a.active{background:var(--lime);color:var(--ink);}
.app-main{padding:clamp(26px,4vw,48px);max-width:1120px;width:100%;}
.app-main h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.2em;}
.app-main h2{color:var(--paper);}
.mt-0{margin-top:0;}
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.btn-sm{padding:9px 18px;font-size:.95rem;}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:28px;}
.stat-box{background:rgba(242,238,225,.06);border:2px solid rgba(201,245,73,.25);border-radius:16px;padding:18px 20px;}
.stat-box b{display:block;font-family:'Anton',Impact,sans-serif;font-size:1.8rem;line-height:1;color:var(--lime);}
.stat-box span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.75rem;color:var(--steel);}
.comp-meta span{display:inline-flex;align-items:center;gap:6px;}
.comp-meta .ico{width:15px;height:15px;opacity:.8;}
.comp-countdown .ico{opacity:1;}
.zone-mark-ico{display:inline-flex;align-items:center;}
.zone-mark-ico .ico{width:22px;height:22px;stroke-width:1.9;}
.season-rank--podium{font-family:'Anton',Impact,sans-serif;color:var(--coral-deep,#b8360f);}
.ice-flake .ico{width:15px;height:15px;stroke-width:2.1;}
.comp-meta{font-size:.85rem;color:var(--ink-500);}
.pill,.badge{
  display:inline-block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.75rem;
  padding:3px 10px;border-radius:999px;border:1px solid currentColor;
}
.pill-admin{color:var(--coral);}
.pill-founder{color:var(--gold-400);}
.form-error{background:rgba(255,91,46,.15);border:2px solid var(--coral);border-radius:12px;padding:12px 16px;color:var(--paper);margin-bottom:16px;}
.form-note{font-size:.85rem;color:var(--steel);}
.catch-photo{border-radius:12px;overflow:hidden;border:2px solid var(--ink);}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr;padding-top:70px;}
  .app-side{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:2px solid rgba(201,245,73,.22);padding:14px;}
  .side-user{width:100%;margin-bottom:8px;}
}

/* Hooaja rekordikaardid */
.season-rec{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:8px;}
.rec-card{
  background:rgba(242,238,225,.06);border:2px solid rgba(255,200,87,.4);border-radius:14px;padding:14px 16px;
  display:flex;flex-direction:column;gap:2px;
}
.rec-card b{font-family:'Anton',Impact,sans-serif;font-size:1.6rem;line-height:1.05;color:var(--gold-400);}
.rec-species{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;font-size:.78rem;color:var(--steel);}
.rec-sub{font-size:.86rem;color:#cfdcdb;}
.rec-date{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:.72rem;color:var(--steel);}
.rec-tag{
  align-self:flex-start;margin-top:5px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.68rem;
  color:var(--lime);border:1px solid var(--lime);border-radius:999px;padding:1px 8px;
}
.rec-card--virtual{border-color:rgba(201,245,73,.45);}
.rec-card--virtual b{color:var(--lime);}

/* ---------- Liikme statistika ---------- */
.life-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:22px;}
.life-box{
  background:rgba(242,238,225,.06);border:2px solid rgba(201,245,73,.25);border-radius:16px;padding:18px 20px;
}
.life-box b{display:block;font-family:'Anton',Impact,sans-serif;font-size:1.9rem;line-height:1;color:var(--lime);}
.life-box span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.75rem;color:var(--steel);}
.life-box--gold{border-color:rgba(255,200,87,.5);}
.life-box--gold b{color:var(--gold-400);}

.split-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.split-card{
  background:rgba(242,238,225,.05);border:2px solid rgba(242,238,225,.16);border-radius:16px;padding:20px 22px;
  display:flex;flex-direction:column;gap:4px;
}
.split-card b{font-family:'Anton',Impact,sans-serif;font-size:1.6rem;line-height:1;color:var(--paper);}
.split-card span{font-size:.9rem;color:var(--steel);}
.split-tag{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;font-size:.76rem;color:var(--steel);
  border:1px solid currentColor;border-radius:999px;padding:2px 10px;align-self:flex-start;margin-bottom:6px;
}
.split-card--virtual{border-color:rgba(201,245,73,.45);}
.split-card--virtual .split-tag{color:var(--lime);}
.split-card--virtual b{color:var(--lime);}
@media(max-width:760px){.split-stats{grid-template-columns:1fr;}}

.rec-table{width:100%;border-collapse:collapse;font-size:.95rem;}
.rec-table th{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;color:var(--lime);font-size:.85rem;
  text-align:left;padding:12px 16px;border-bottom:2px solid rgba(201,245,73,.28);white-space:nowrap;
}
.rec-table td{padding:12px 16px;border-bottom:1px solid rgba(242,238,225,.1);color:var(--paper);}
.rec-table tbody tr:hover{background:rgba(201,245,73,.06);}
.rec-virtual{color:var(--lime);}

::selection{background:var(--lime);color:var(--ink);}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;}

/* =========================================================================
   ALAMLEHTEDE PÄIS — hero ilma 100svh kõrguseta, tekst üleval
   ========================================================================= */
.hero--page{
  min-height:0;justify-content:flex-start;
  padding:clamp(112px,15vh,150px) 0 clamp(26px,4vh,46px);
}
.display--page{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;line-height:.92;
  font-size:clamp(2.4rem,7vw,5rem);letter-spacing:.01em;color:var(--paper);
  text-shadow:0 10px 40px rgba(4,20,26,.45);margin:0;
}
.hero--page .kicker{margin-bottom:10px;}
.hero--page .lead,.hero--page .hero-lead{color:#dce7e6;max-width:52ch;margin-top:14px;}
@media (max-height:880px){ .hero--page{padding:clamp(100px,13vh,124px) 0 clamp(20px,3vh,34px);} }

/* =========================================================================
   VÕISTLUSTE LEHT
   ========================================================================= */
.comp-group{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:clamp(1.3rem,2.4vw,1.75rem);
  color:var(--paper);margin:clamp(30px,5vh,52px) 0 16px;
}
.comp-group:first-child{margin-top:0;}

/* ---------------------------------------------------------------------------
   Võistluste teemaplokid — piiritletud sügavusraudiga, päis lehe enda
   tüpograafias. Emotikonide asemel joonikoonid (views/partials/ico.ejs),
   mis pärivad ploki aksentvärvi.
   --------------------------------------------------------------------------- */
.cgroup{
  --cg: var(--steel);
  position:relative;
  margin:0 0 clamp(40px,6vh,72px);
  padding-left:clamp(16px,2.4vw,30px);
}
.cgroup:last-child{margin-bottom:0;}
/* sügavusraud: sama motiiv nagu lehe vasakus servas olev sügavusskaala */
.cgroup::before{
  content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;
  border-radius:3px;background:var(--cg);opacity:.32;
}
.cgroup--kaib{--cg:var(--lime);}
.cgroup--tulevane{--cg:#dfe8e9;}
.cgroup--arhiiv{--cg:var(--gold-400);}

.cgroup-head{display:flex;align-items:center;gap:13px;margin:0 0 18px;}
.cgroup-ico{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:34px;height:34px;color:var(--cg);
  border:2px solid var(--cg);border-radius:11px;
  background:rgba(4,24,30,.5);
}
.cgroup-ico .ico{width:19px;height:19px;}
.cgroup--kaib .cgroup-ico{box-shadow:0 0 0 5px rgba(201,245,73,.12);}
.cgroup-head h2{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(1.25rem,2.5vw,1.85rem);line-height:1;letter-spacing:.01em;
  color:var(--paper);margin:0;
}
.cgroup-rule{
  flex:1 1 auto;height:2px;min-width:20px;border-radius:2px;
  background:linear-gradient(90deg,var(--cg),rgba(242,238,225,0));opacity:.45;
}
.cgroup-count{
  flex:none;font-family:'Anton',Impact,sans-serif;font-size:.95rem;line-height:1;
  color:var(--cg);border:2px solid var(--cg);border-radius:999px;
  padding:6px 12px 5px;opacity:.85;
}
.cgroup-empty{
  margin:0;padding:16px 0 4px;font-size:.9rem;color:var(--steel);
}
@media(max-width:560px){
  .cgroup{padding-left:14px;}
  .cgroup-head{gap:10px;}
  .cgroup-ico{width:30px;height:30px;border-radius:9px;}
  .cgroup-ico .ico{width:17px;height:17px;}
}

/* Joonikoon: vaikimisi tekstiga ühes joones */
.ico{
  width:1em;height:1em;flex:none;vertical-align:-.14em;
  stroke-width:2;
}
.comp-item{position:relative;}
.comp-title-wrap{flex:1 1 auto;min-width:0;}
.comp-title-wrap h3{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-size:1.24rem;
  color:inherit;margin:0 0 6px;line-height:1.15;
}
.comp-date{
  flex:0 0 auto;width:56px;text-align:center;line-height:1;
  border-right:2px solid rgba(242,238,225,.16);padding-right:14px;
}
.comp-date b{display:block;font-family:'Anton',Impact,sans-serif;font-size:1.7rem;color:var(--lime);}
.comp-date span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.72rem;color:var(--steel);text-transform:uppercase;}
.comp-meta{
  display:flex;flex-wrap:wrap;gap:6px 16px;font-family:'Inter',system-ui,sans-serif;
  letter-spacing:0;font-size:.84rem;color:#b9c8c8;text-transform:none;
}
.comp-map{color:var(--lime);border-bottom:1px solid rgba(201,245,73,.5);}
.comp-countdown{color:var(--gold-400);}
.comp-note{color:var(--steel);font-size:.9rem;margin:0 0 12px;}
.comp-note a{color:var(--lime);border-bottom:1px solid rgba(201,245,73,.5);}
.chevron{flex:0 0 auto;transition:transform .3s var(--ease);}
.comp-item.open .chevron{transform:rotate(180deg);}
.badge-upcoming{color:var(--lime);}
.badge-ongoing{color:#7ef2a8;}
.badge-archived,.badge-completed{color:var(--gold-400);}
.badge-cancelled{color:var(--coral);}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.results{width:100%;border-collapse:collapse;font-size:.9rem;color:#cfdcdb;}
.results th{
  text-align:left;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.8rem;
  color:var(--steel);border-bottom:2px solid rgba(242,238,225,.18);padding:8px 12px 8px 0;
}
.results td{padding:8px 12px 8px 0;border-bottom:1px solid rgba(242,238,225,.08);}

/* --- Talvine võistlus: kaart on LÄBIPAISTEV jääplaat ---------------------
   Plaat on härmatanud klaas: vesi ja taimestik selle taga jäävad näha, aga
   udusena, nagu läbi tõelise jää. Sellepärast on taust läbipaistev ja
   backdrop-filter ajab tagant tuleva pildi uduseks. */
.comp-item--ice{
  background:
    linear-gradient(158deg,
      rgba(219,242,255,.80) 0%,
      rgba(137,190,229,.70) 32%,
      rgba(192,231,251,.78) 56%,
      rgba(110,167,212,.74) 100%);
  /* brightness tõstab jää taga oleva tumeda vee heledaks ja hue-rotate kallutab
     selle sinisesse — nii paistab sealt olev elu läbi, aga plaat on külm jää. */
  -webkit-backdrop-filter:blur(8px) brightness(1.5) saturate(.85) hue-rotate(-12deg);
  backdrop-filter:blur(8px) brightness(1.5) saturate(.85) hue-rotate(-12deg);
  border-color:rgba(226,244,255,.82);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.9),
    inset 0 -3px 20px rgba(52,130,190,.48),
    inset 0 0 46px rgba(168,216,248,.34),
    0 10px 32px rgba(6,32,52,.55),
    0 0 0 1px rgba(150,205,238,.62);
  color:#06202c;
}
/* Kui brauser backdrop-filtrit ei toeta, teeme plaadi tihedamaks, et tekst loeks. */
@supports not ((backdrop-filter:blur(4px)) or (-webkit-backdrop-filter:blur(4px))){
  .comp-item--ice{
    background:linear-gradient(158deg,#e4f4ff 0%,#bfdcf0 38%,#d6effc 62%,#a8cbe6 100%);
  }
}

/* Jääkristallide muster kogu plaadi ulatuses. Taustapildina, et kuju
   ei veniks laiali nagu preserveAspectRatio="none" SVG puhul. */
.comp-item--ice::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg fill='none' stroke='rgba(233,247,255,.6)' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M34 14v25M22.8 20.2 45.2 33.2M45.2 20.2 22.8 33.2'/%3E%3Cpath d='M34 20.5l-4.4-3.2M34 20.5l4.4-3.2M34 32.5l-4.4 3.2M34 32.5l4.4 3.2'/%3E%3Cpath d='M27.6 22.6l-4.6.5M40.4 22.6l4.6.5M27.6 30.8l-4.6-.5M40.4 30.8l4.6-.5'/%3E%3Cpath d='M100 76v20M91.3 81 108.7 91M108.7 81 91.3 91'/%3E%3Cpath d='M100 80.6l-3.4-2.5M100 80.6l3.4-2.5M100 91.4l-3.4 2.5M100 91.4l3.4 2.5'/%3E%3Cpath d='M66 112v13M60.4 115.2 71.6 121.7M71.6 115.2 60.4 121.7'/%3E%3Cpath d='M14 96v11M9.2 98.8 18.8 104.3M18.8 98.8 9.2 104.3'/%3E%3C/g%3E%3C/svg%3E");
  background-size:140px 140px;
  background-repeat:repeat;
  opacity:.62;
  mix-blend-mode:screen;
}
.comp-item--ice .comp-head{color:#08222c;text-shadow:0 1px 0 rgba(255,255,255,.65);}
.comp-item--ice .comp-head:hover{color:#064f6b;}
.comp-item--ice .comp-date{border-right-color:rgba(12,60,84,.3);}
.comp-item--ice .comp-date b{color:#064f6b;}
.comp-item--ice .comp-date span{color:#356b82;}
.comp-item--ice .comp-meta{color:#123c4d;}
.comp-item--ice .comp-tbd{color:#7d3d04;}
.comp-item--ice .comp-map{color:#05627f;border-bottom-color:rgba(5,98,127,.55);}
.comp-item--ice .comp-countdown{color:#7d3d04;font-weight:600;}
.comp-item--ice .badge{color:#064f6b;}
.comp-item--ice .comp-note{color:#325e70;}
.comp-item--ice .results{color:#0c2b38;}
.comp-item--ice .results th{color:#356b82;border-bottom-color:rgba(12,60,84,.38);}
.comp-item--ice .results td{border-bottom-color:rgba(12,60,84,.18);}
.comp-item--ice .btn-outline{border-color:#064f6b;color:#064f6b;background:rgba(255,255,255,.35);}
.comp-item--ice .btn-outline:hover{background:rgba(255,255,255,.62);}

/* Härmatis servades + jäine sära (nüüd hõredam, et jää paistaks läbi) */
.ice-sheet{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;border-radius:14px;}
.ice-sheet::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(220px 70px at 8% -12%,rgba(255,255,255,.8),transparent 72%),
    radial-gradient(240px 80px at 92% 112%,rgba(255,255,255,.6),transparent 74%),
    radial-gradient(130px 44px at 55% -8%,rgba(255,255,255,.5),transparent 72%),
    linear-gradient(112deg,transparent 40%,rgba(255,255,255,.5) 47%,transparent 55%),
    linear-gradient(74deg,transparent 62%,rgba(255,255,255,.3) 68%,transparent 74%);
  opacity:.85;
}
.ice-sheet::after{
  content:"";position:absolute;inset:0;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.6),inset 0 0 26px rgba(255,255,255,.4);
  border-radius:14px;
}
.ice-sheet svg{position:absolute;inset:0;width:100%;height:100%;}
.ice-frost{opacity:.8;}
/* Jää all olev maailm — nõrgalt läbi paistev, et plaat näeks välja läbipaistev */
.ice-under{opacity:.16;mix-blend-mode:multiply;}
.ice-crack{
  fill:none;stroke:rgba(255,255,255,.9);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 1px 0 rgba(50,110,145,.5));
}
/* Jäässe külmunud õhumullid — annavad plaadile paksuse */
.ice-bubble{fill:rgba(255,255,255,.55);stroke:rgba(255,255,255,.85);stroke-width:.8;}
/* Härmatise kristallid nurkades */
.ice-kristall{
  fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.3;stroke-linecap:round;
}
.comp-item--ice > .comp-head,.comp-item--ice > .comp-body{position:relative;z-index:2;}
.comp-item--suvi > .comp-head,.comp-item--suvi > .comp-body{position:relative;z-index:2;}

/* --- Aastaaja toonid -------------------------------------------------------
   Igal etapil on oma aastaaeg ja iga aastaaeg oma värv, valgus ja
   põhjamotiiv. Talv on eraldi lugu (jääplaat ülalpool), ülejäänud kolm
   jagavad sama avavee skeleti, aga --ha aksentvärv ja motiivid erinevad.
   ------------------------------------------------------------------------- */
.comp-item--kevad,.comp-item--suvi,.comp-item--sygis{
  background:
    linear-gradient(176deg, var(--ha-1) 0%, var(--ha-2) 46%, var(--ha-3) 100%),
    rgba(242,238,225,.05);
  border-color:color-mix(in srgb, var(--ha) 30%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--ha) 26%, transparent),
    inset 0 -20px 30px rgba(4,22,28,.25),
    0 6px 22px rgba(4,22,28,.32);
}
/* color-mix'ita brauseritele piisab ka ühtsest äärisest */
@supports not (color: color-mix(in srgb, red 50%, blue)){
  .comp-item--kevad,.comp-item--suvi,.comp-item--sygis{
    border-color:rgba(201,245,73,.3);
    box-shadow:inset 0 1px 0 rgba(201,245,73,.24),0 6px 22px rgba(4,22,28,.32);
  }
}

/* KEVAD — sulavesi: kahvatu värske roheline, kõrge valgus, jääpangad pinnal */
.comp-item--kevad{
  --ha:#a8e06a;
  --ha-1:rgba(120,186,118,.32);
  --ha-2:rgba(28,96,92,.22);
  --ha-3:rgba(8,44,50,.30);
}
/* SUVI — päikeseline avavesi: soe türkiis, laimikollane valgus */
.comp-item--suvi{
  --ha:#c9f549;
  --ha-1:rgba(78,152,116,.34);
  --ha-2:rgba(22,84,80,.24);
  --ha-3:rgba(7,40,47,.32);
}
/* SÜGIS — madal kuldne vesi: pruunikas-merevaigune, madal päike */
.comp-item--sygis{
  --ha:#e8b246;
  --ha-1:rgba(158,112,44,.30);
  --ha-2:rgba(74,70,44,.24);
  --ha-3:rgba(24,32,32,.34);
}
.comp-item--kevad:hover,.comp-item--suvi:hover,.comp-item--sygis:hover{
  border-color:color-mix(in srgb, var(--ha) 52%, transparent);
}

/* Kuupäeva number ja hooajamärk võtavad aastaaja värvi */
.comp-item--kevad .comp-date b,.comp-item--suvi .comp-date b,.comp-item--sygis .comp-date b{color:var(--ha);}
.hooaeg-mark{display:inline-flex;align-items:center;vertical-align:-.12em;}
.hooaeg-mark .ico{width:15px;height:15px;stroke-width:2.1;}
.comp-item--kevad .hooaeg-mark,.comp-item--suvi .hooaeg-mark,.comp-item--sygis .hooaeg-mark{color:var(--ha);}
.comp-item--ice .hooaeg-mark{color:#0a6f95;}
@media (prefers-reduced-motion:no-preference){
  .comp-item--talv .hooaeg-mark{display:inline-flex;animation:flake 9s linear infinite;}
}

/* --- Avavee kiht ---------------------------------------------------------- */
.oc-sheet{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;border-radius:14px;}
.oc-sheet svg{position:absolute;inset:0;width:100%;height:100%;}
/* valguskiired läbi vee */
.oc-ray path{fill:color-mix(in srgb, var(--ha) 11%, transparent);}
@supports not (color: color-mix(in srgb, red 50%, blue)){
  .oc-ray path{fill:rgba(201,245,73,.1);}
}
.comp-item--sygis .oc-ray path{opacity:.85;}
/* veepinna virvendus ülaservas */
.oc-surface{
  fill:none;stroke:var(--ha);stroke-width:2.2;stroke-linecap:round;opacity:.55;
}
.comp-item--kevad .oc-surface{opacity:.62;stroke-width:2.4;}
.comp-item--sygis .oc-surface{opacity:.45;}
/* suvi: vesiroosad ja kõrkjad */
.oc-lily ellipse{fill:rgba(26,80,60,.5);}
.oc-reed path{stroke:rgba(26,80,60,.55);stroke-width:3.5;fill:none;stroke-linecap:round;}
/* sügis: kuivanud, looka vajunud kõrkjad ja hõljuvad lehed */
.oc-reed--kuiv path{stroke:rgba(120,88,40,.55);}
.oc-leht path{fill:rgba(196,132,48,.42);}
/* kevad: triivivad jääpangad ja põhjast tõusvad võrsed */
.oc-jaa path{fill:rgba(214,240,252,.30);stroke:rgba(232,246,255,.42);stroke-width:1.2;}
.oc-vorse path{stroke:rgba(140,196,96,.5);stroke-width:3;fill:none;stroke-linecap:round;}
@media (prefers-reduced-motion:no-preference){
  .oc-surface{animation:ocLaine 7s var(--ease) infinite alternate;}
  @keyframes ocLaine{to{transform:translateX(14px)}}
  .oc-leht{animation:ocLeht 11s var(--ease) infinite alternate;}
  @keyframes ocLeht{to{transform:translate(12px,5px) rotate(1.5deg)}}
  .oc-jaa{animation:ocJaa 13s var(--ease) infinite alternate;}
  @keyframes ocJaa{to{transform:translateX(-16px)}}
}
.ice-flake{color:#0a6f95;}
@media (prefers-reduced-motion:no-preference){
  .ice-flake{display:inline-block;animation:flake 6s linear infinite;}
  @keyframes flake{to{transform:rotate(360deg)}}
}

/* =========================================================================
   KUULSUSTE HALL + HOOAJA KOKKUVÕTE
   ========================================================================= */
.hof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px;}
.hof-card{
  display:flex;flex-direction:column;gap:3px;background:var(--paper);color:var(--ink);
  border:var(--bd);border-radius:16px;padding:20px 22px;box-shadow:var(--hard);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
a.hof-card:hover{transform:translateY(-3px);box-shadow:var(--hard-lg);}
.hof-medal{display:flex;line-height:1;color:var(--gold-400);}
.hof-medal .ico{width:24px;height:24px;stroke-width:1.9;}
.hof-species{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.7rem;line-height:1;}
.hof-name{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:1.05rem;color:var(--water-700);}
.hof-stats{font-weight:700;margin-top:4px;}
.hof-where{font-size:.84rem;color:var(--ink-500);}
.season-table{width:100%;border-collapse:collapse;margin-top:24px;color:var(--ink);min-width:460px;}
.season-table th{
  text-align:left;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.82rem;
  color:var(--ink-500);border-bottom:3px solid var(--ink);padding:10px 14px 10px 0;white-space:nowrap;
}
.season-table td{padding:11px 14px 11px 0;border-bottom:1px solid rgba(10,18,20,.12);}
.season-table tr.is-podium td{background:rgba(201,245,73,.16);}
.season-rank{font-size:1.15rem;width:60px;}
@media(max-width:640px){
  .comp-head{flex-wrap:wrap;padding:16px 18px;}
  .comp-body-inner{padding:0 18px 18px;}
  .comp-date{width:auto;border-right:none;padding-right:0;display:flex;gap:6px;align-items:baseline;}
  .comp-date b{font-size:1.3rem;}
}

/* =========================================================================
   LIITUMISSOOVI VORM
   ========================================================================= */
.container--narrow{max-width:760px;}
.apply-form{color:var(--ink);}
.apply-block{
  border:var(--bd);border-radius:18px;background:var(--paper);box-shadow:var(--hard);
  padding:clamp(20px,3vw,30px);margin:0 0 22px;
}
.apply-block legend{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1;color:var(--ink);
  background:var(--lime);border:var(--bd);border-radius:999px;padding:7px 18px;margin-left:-4px;
}
.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:18px;align-items:start;}
.apply-grid .field{align-content:start;}
.apply-block .field{margin-bottom:18px;}
.apply-block .field:last-child{margin-bottom:0;}
.apply-block > .field:first-of-type{margin-top:18px;}
.apply-block textarea{resize:vertical;min-height:120px;line-height:1.55;}
.req{color:var(--coral);font-weight:700;}
.check-list{display:grid;gap:12px;margin-top:18px;}
.check{
  display:flex;gap:12px;align-items:flex-start;cursor:pointer;line-height:1.5;
  border:2px solid rgba(10,18,20,.16);border-radius:12px;padding:12px 14px;
  transition:border-color .15s var(--ease),background .15s var(--ease);
}
.check:hover{border-color:var(--ink);background:rgba(201,245,73,.14);}
.check input{
  flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--lime-deep);cursor:pointer;
}
.check:has(input:checked){border-color:var(--ink);background:rgba(201,245,73,.24);}
.check a{border-bottom:2px solid var(--lime-deep);}
.form-error--paper{background:rgba(255,91,46,.14);color:var(--ink);border-color:var(--coral);}
.form-note--paper{color:var(--ink-500);margin-top:16px;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.apply-done{
  background:var(--paper);border:var(--bd);border-radius:18px;box-shadow:var(--hard-lg);
  padding:clamp(26px,4vw,44px);text-align:center;color:var(--ink);
}
.apply-done h2{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:clamp(1.6rem,4vw,2.6rem);
  line-height:1;margin:0 0 14px;
}
.apply-done p{color:var(--ink-700);max-width:46ch;margin:0 auto 24px;}
@media(max-width:640px){ .apply-grid{grid-template-columns:1fr;} }

/* Admin: liitumissoovid */
.appl-card{
  background:rgba(242,238,225,.06);border:2px solid rgba(242,238,225,.16);border-radius:16px;
  padding:22px 24px;margin-bottom:14px;color:#cfdcdb;
}
.appl-card--new{border-color:rgba(201,245,73,.55);}
.appl-card--accepted{border-color:rgba(126,242,168,.5);}
.appl-card--declined{opacity:.6;}
.appl-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;}
.appl-head h3{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-size:1.35rem;color:var(--paper);margin:0 0 6px;}
.appl-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.84rem;color:#a9bcbc;}
.appl-meta a{color:var(--lime);}
.badge-appl-new{color:var(--lime);}
.badge-appl-reviewed{color:var(--gold-400);}
.badge-appl-accepted{color:#7ef2a8;}
.badge-appl-declined{color:var(--coral);}
.appl-motivation{margin:16px 0;white-space:pre-wrap;line-height:1.6;}
.appl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px;}
.appl-facts div{background:rgba(10,18,20,.35);border-radius:10px;padding:10px 12px;font-size:.86rem;}
.appl-facts b{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.72rem;color:var(--steel);margin-bottom:2px;}
.appl-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.appl-actions select{border:2px solid var(--ink);border-radius:10px;padding:9px 12px;font-family:inherit;background:#fff;color:var(--ink);}

/* =========================================================================
   LANDIKAST (HUD) — vasak alanurk, avaneb ülespoole
   ========================================================================= */
.lure-box{
  position:fixed;left:74px;bottom:14px;z-index:64;
  font-family:'Inter',system-ui,sans-serif;
}
@media(max-width:1200px){ .lure-box{left:12px;} }
.lb-toggle{
  display:flex;align-items:center;gap:10px;
  background:#04181e;
  border:2px solid var(--lime);border-radius:999px;
  padding:8px 10px 8px 9px;cursor:pointer;color:var(--paper);
  box-shadow:0 10px 30px -12px rgba(0,0,0,.9), 0 0 0 0 rgba(201,245,73,.5);
  transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .3s var(--ease);
}
.lb-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(0,0,0,.9),0 0 0 5px rgba(201,245,73,.16);}
/* "Vaheta sööta" silt teeb selgeks, et tegu on nupuga */
.lb-swap{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:.6rem;line-height:1.05;
  color:#04181e;background:var(--lime);border-radius:8px;padding:4px 7px;text-align:center;
}
.lure-box.is-open .lb-swap{background:rgba(201,245,73,.22);color:var(--lime);}

/* Pulseeriv rõngas, kuni kasutaja pole landikasti avanud */
.lure-box.is-nudging .lb-toggle,
.lure-box.is-poked .lb-toggle{animation:lbPulse 1.9s var(--ease) infinite;}
@keyframes lbPulse{
  0%{box-shadow:0 10px 30px -12px rgba(0,0,0,.9),0 0 0 0 rgba(201,245,73,.55);}
  70%{box-shadow:0 10px 30px -12px rgba(0,0,0,.9),0 0 0 16px rgba(201,245,73,0);}
  100%{box-shadow:0 10px 30px -12px rgba(0,0,0,.9),0 0 0 0 rgba(201,245,73,0);}
}

/* Vihjemull landikasti kohal */
.lb-nudge{
  position:absolute;left:0;bottom:calc(100% + 14px);width:min(288px,calc(100vw - 30px));
  background:var(--lime);color:#04181e;border-radius:14px;padding:11px 13px;
  box-shadow:0 20px 44px -18px rgba(0,0,0,.9);
  opacity:0;transform:translateY(8px) scale(.96);transform-origin:14px 100%;
  transition:opacity .3s var(--ease),transform .3s var(--ease);
  pointer-events:none;
}
.lb-nudge::after{
  content:'';position:absolute;left:20px;top:100%;
  border:9px solid transparent;border-top-color:var(--lime);border-bottom:0;
}
.lb-nudge b{
  display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-size:1.02rem;font-weight:400;margin-bottom:3px;
}
.lb-nudge span{display:block;font-size:.74rem;line-height:1.38;opacity:.85;}
.lure-box.is-nudging .lb-nudge{opacity:1;transform:none;}
.lure-box.is-open .lb-nudge{opacity:0;transform:translateY(8px) scale(.96);}

/* Lehe sees olev nupp, mis landikasti avab */
.tackle-open{
  display:inline-flex;align-items:center;gap:8px;margin-top:10px;
  background:var(--lime);color:#04181e;border:0;border-radius:999px;
  padding:9px 15px;cursor:pointer;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.11em;font-size:.92rem;
  transition:transform .16s var(--ease),filter .16s var(--ease);
}
.tackle-open:hover{transform:translateY(-2px);filter:brightness(1.08);}
.tackle-open .ico{width:17px;height:17px;flex:0 0 auto;}
.lb-cur{font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));}
.lb-curtxt{display:flex;flex-direction:column;line-height:1.1;text-align:left;}
.lb-curtxt b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-size:.9rem;font-weight:400;}
.lb-curtxt i{font-style:normal;font-size:.66rem;color:var(--lime);letter-spacing:.1em;text-transform:uppercase;}

/* Arvutiekraanil on landikast selgelt suurem — see on lehe peamine juhtnupp */
@media (min-width:900px){
  .lure-box{bottom:20px;}
  .lb-toggle{gap:14px;padding:12px 14px 12px 14px;border-radius:22px;border-width:3px;}
  .lb-cur{font-size:2.15rem;}
  .lb-curtxt b{font-size:1.3rem;letter-spacing:.06em;}
  .lb-curtxt i{font-size:.82rem;}
  .lb-swap{font-size:.78rem;padding:7px 11px;border-radius:11px;letter-spacing:.09em;}
  .lb-panel{width:min(400px,calc(100vw - 28px));padding:18px;border-radius:20px;}
  .lb-head{font-size:.92rem;}
  .lb-ico{font-size:1.5rem;}
  .lb-name{font-size:.68rem;}
  .lb-item{padding:11px 4px 9px;border-radius:12px;}
  .lb-size{padding:10px 0;font-size:1.05rem;}
  .lb-tip{font-size:.82rem;}
  .lb-nudge{width:min(340px,calc(100vw - 30px));padding:14px 16px;}
  .lb-nudge b{font-size:1.18rem;}
  .lb-nudge span{font-size:.84rem;}
}
@media (min-width:1400px){
  .lb-cur{font-size:2.5rem;}
  .lb-curtxt b{font-size:1.5rem;}
  .lb-swap{font-size:.86rem;}
}
.lb-panel{
  position:absolute;left:0;bottom:calc(100% + 10px);width:min(320px,calc(100vw - 28px));
  background:rgba(4,17,21,.985);backdrop-filter:blur(14px);
  border:2px solid rgba(201,245,73,.28);border-radius:16px;padding:14px;
  box-shadow:0 26px 60px -20px rgba(0,0,0,.85);
  animation:lbIn .22s var(--ease);
}
@keyframes lbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lb-head{
  margin:0 0 9px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.78rem;color:var(--steel);text-transform:uppercase;
}
.lb-head--sm{margin-top:14px;}
.lb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.lb-item{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  background:rgba(255,255,255,.04);border:1.5px solid transparent;border-radius:10px;
  padding:8px 3px 6px;cursor:pointer;color:var(--paper);transition:.16s var(--ease);
}
.lb-item:hover{background:rgba(201,245,73,.12);}
.lb-item.is-on{border-color:var(--lime);background:rgba(201,245,73,.16);}
.lb-ico{font-size:1.15rem;line-height:1;}
.lb-name{font-size:.56rem;letter-spacing:.03em;text-align:center;line-height:1.15;opacity:.82;}
.lb-sizes{display:flex;gap:6px;}
.lb-size{
  flex:1;background:rgba(255,255,255,.04);border:1.5px solid transparent;border-radius:9px;
  padding:7px 0;cursor:pointer;color:var(--paper);
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.9rem;transition:.16s var(--ease);
}
.lb-size:hover{background:rgba(201,245,73,.12);}
.lb-size.is-on{border-color:var(--lime);background:rgba(201,245,73,.16);color:var(--lime);}
.lb-tip{margin:12px 0 0;font-size:.72rem;line-height:1.45;color:var(--steel);}
@media (max-width:640px){
  .lure-box{left:10px;bottom:10px;}
  .lb-curtxt{display:none;}
  .lb-toggle{padding:9px;}
  .lb-swap{font-size:.55rem;padding:3px 6px;}
  .lb-nudge{width:min(250px,calc(100vw - 24px));padding:9px 11px;}
  .lb-nudge b{font-size:.94rem;}
  .lb-nudge span{font-size:.7rem;}
}
@media print{ .lure-box{display:none;} }

/* =========================================================================
   KALADE KATALOOG
   ========================================================================= */
.zone-title--sm{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;
  font-size:clamp(1.1rem,2vw,1.4rem);color:var(--paper);margin:30px 0 14px;
}
.lure-legend{margin-bottom:40px;}
.lure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.lure-grid--tight{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.lure-card{
  background:rgba(6,34,40,.86);border:1.5px solid rgba(242,238,225,.12);backdrop-filter:blur(3px);
  border-radius:14px;padding:14px 15px;
}
.lure-card .lure-ico{display:block;line-height:0;margin-bottom:8px;color:var(--lime-deep);}
.lure-card .lure-ico .ico{width:26px;height:26px;}
.ff-chip--lure .ico{width:15px;height:15px;vertical-align:-2px;margin-right:3px;}
.fish-lures .ico{width:16px;height:16px;opacity:.75;}
.lure-card h3{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.09em;font-size:1.02rem;
  margin:0 0 5px;color:var(--lime);
}
.lure-card p{margin:0;font-size:.79rem;line-height:1.5;color:#c9d6d6;}
.lure-size{
  display:inline-block;margin-top:8px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-400);border:1px solid rgba(255,200,87,.3);border-radius:99px;padding:2px 9px;
}
.fish-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;}
.ff-chip{
  background:rgba(255,255,255,.05);border:1.5px solid rgba(242,238,225,.14);border-radius:999px;
  color:var(--paper);padding:7px 14px;cursor:pointer;font-size:.8rem;transition:.16s var(--ease);
}
.ff-chip b{font-weight:600;color:var(--steel);margin-left:5px;font-size:.74rem;}
.ff-chip:hover{border-color:rgba(201,245,73,.5);}
.ff-chip.is-on{background:var(--lime);color:var(--ink);border-color:var(--lime);}
.ff-chip.is-on b{color:rgba(10,18,20,.6);}
.fish-group[hidden]{display:none;}
.fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px;}
.fish-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:rgba(6,34,40,.88);border:1.5px solid rgba(242,238,225,.12);
  backdrop-filter:blur(3px);
  border-radius:16px;overflow:hidden;transition:.2s var(--ease);
}
.fish-card:hover{transform:translateY(-3px);border-color:rgba(201,245,73,.5);background:rgba(14,52,54,.92);}
.fish-card[hidden]{display:none;}
.fish-card-art{
  position:relative;background:linear-gradient(160deg,rgba(15,77,82,.85),rgba(4,20,26,.9));
  padding:16px 14px;display:flex;align-items:center;justify-content:center;min-height:86px;
}
/* Kalade siluetid värvivad end ise (vt views/partials/fish-silhouette.ejs),
   nii et siin ei tohi fill'e üle kirjutada — muidu kaob liigiomane välimus. */
.fs-svg{
  width:100%;max-width:172px;height:auto;overflow:visible;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));
  transition:transform .25s var(--ease),filter .25s var(--ease);
}
.fish-card:hover .fs-svg{
  transform:translateX(4px) scale(1.05);
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.45)) saturate(1.15) brightness(1.06);
}
@media(prefers-reduced-motion:reduce){.fish-card:hover .fs-svg{transform:none;}}
.fish-tag{
  position:absolute;top:8px;right:8px;background:var(--coral);color:#fff;
  font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:99px;
}
.fish-card-body{padding:12px 14px 10px;flex:1;}
.fish-card-body h3{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-size:1.18rem;
  margin:0 0 2px;color:var(--paper);
}
.fish-lat{margin:0 0 8px;font-size:.68rem;font-style:italic;color:var(--steel);}
.fish-lat--big{font-size:1rem;color:#c9d6d6;margin-top:8px;}
.fish-teaser{margin:0;font-size:.78rem;line-height:1.5;color:#bccbcb;}
.fish-lures{display:flex;gap:5px;margin-top:10px;font-size:.95rem;flex-wrap:wrap;}
.fish-nolure{font-size:.68rem;color:var(--steel);letter-spacing:.05em;}
.fish-card-foot{
  border-top:1px solid rgba(242,238,225,.1);padding:8px 14px;
  font-size:.7rem;color:var(--steel);
}
.fish-card-foot b{color:var(--paper);font-weight:600;margin-right:5px;}
.fish-card--myth .fish-card-art{background:linear-gradient(160deg,rgba(255,91,46,.28),rgba(4,20,26,.6));}
.fish-source{margin:38px 0 0;font-size:.75rem;color:var(--steel);max-width:70ch;}

/* --- kala detailleht --- */
.hero--fish{position:relative;overflow:hidden;}
.hero-fish-art{
  position:absolute;right:-4%;bottom:-14%;width:min(46vw,520px);opacity:.13;pointer-events:none;
}
.hero-fish-art .fs-svg{filter:none;}
.hero-fish-art .fs-svg path,.hero-fish-art .fs-svg circle,.hero-fish-art .fs-svg ellipse,.hero-fish-art .fs-svg rect{
  fill:var(--lime);stroke:none;opacity:1;
}
.back-link{color:var(--lime);text-decoration:none;}
.back-link:hover{text-decoration:underline;}
.fish-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:34px;align-items:start;}
@media (max-width:900px){ .fish-detail{grid-template-columns:1fr;} }
.fd-lede{font-size:1.06rem;line-height:1.72;color:#dbe6e5;margin:0 0 8px;}
.fd-text{font-size:.95rem;line-height:1.75;color:#c4d2d2;margin:0;}
.fd-bait{
  margin:16px 0 0;font-size:.85rem;color:var(--gold-400);
  border-left:3px solid var(--gold-500);padding-left:12px;
}
.fd-bait b{color:var(--paper);}
.fd-side{position:sticky;top:96px;}
.fd-facts{
  background:rgba(6,34,40,.9);border:1.5px solid rgba(242,238,225,.12);backdrop-filter:blur(3px);
  border-radius:16px;padding:6px 16px;
}
.fd-facts>div{
  display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid rgba(242,238,225,.08);
}
.fd-facts>div:last-child{border-bottom:0;}
.fd-facts span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);flex:0 0 auto;}
.fd-facts b{font-size:.84rem;text-align:right;font-weight:600;color:var(--paper);}
.fd-inwater{
  margin:14px 0 0;font-size:.82rem;color:#c9d6d6;background:rgba(201,245,73,.08);
  border:1px solid rgba(201,245,73,.25);border-radius:12px;padding:12px 14px;
}
.fd-inwater a{color:var(--lime);}
.fd-source{margin:14px 0 0;font-size:.7rem;color:var(--steel);line-height:1.5;}

/* =========================================================================
   REKORDIRAAMAT
   ========================================================================= */
.rec-totals{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:8px;
}
.rec-totals>div{
  background:rgba(6,34,40,.9);border:1.5px solid rgba(242,238,225,.12);backdrop-filter:blur(3px);
  border-radius:14px;padding:16px;text-align:center;
}
.rec-totals b{
  display:block;font-family:'Anton',Impact,sans-serif;font-size:1.9rem;color:var(--lime);line-height:1;
}
.rec-totals span{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
.rec-card{
  background:rgba(6,34,40,.9);border:1.5px solid rgba(242,238,225,.12);backdrop-filter:blur(3px);
  border-radius:14px;padding:14px 15px;
}
.rec-card header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.rec-card h3{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-size:1.1rem;margin:0;color:var(--paper);
}
.rec-kg{font-family:'Anton',Impact,sans-serif;font-size:1.1rem;color:var(--lime);}
.rec-kg--none{font-family:'Inter',sans-serif;font-size:.7rem;color:var(--steel);letter-spacing:.08em;text-transform:uppercase;}
.rec-bar{height:5px;border-radius:99px;background:rgba(242,238,225,.1);margin:10px 0 9px;overflow:hidden;}
.rec-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--water-400),var(--lime));border-radius:99px;}
.rec-card footer{display:flex;justify-content:space-between;gap:10px;font-size:.74rem;color:#c2d0d0;}
.rec-holder{display:flex;align-items:center;gap:6px;min-width:0;}
.rec-holder--free{color:var(--steel);font-style:italic;}
.rec-cm{color:var(--steel);flex:0 0 auto;}
.rec-dot{width:9px;height:9px;border-radius:99px;display:inline-block;flex:0 0 auto;margin-right:6px;}
.rec-card--empty{opacity:.62;border-style:dashed;}
.rec-card--myth{border-color:rgba(255,200,87,.4);background:rgba(255,200,87,.07);}
.rec-card--myth .rec-kg{color:var(--gold-400);}
.rec-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:30px;align-items:start;}
@media (max-width:900px){ .rec-split{grid-template-columns:1fr;} }
.rec-table .rec-rank{font-family:'Anton',Impact,sans-serif;color:var(--lime);}
.rec-feed{list-style:none;margin:0;padding:0;}
.rec-feed li{
  display:flex;align-items:center;gap:8px;padding:10px 0;
  border-bottom:1px solid rgba(242,238,225,.08);font-size:.8rem;
}
.rf-name{font-weight:600;}
.rf-sp{color:var(--lime);}
.rf-kg{margin-left:auto;font-family:'Anton',Impact,sans-serif;color:var(--paper);}
.rf-date{color:var(--steel);font-size:.68rem;flex:0 0 auto;}
.rec-none{color:var(--steel);font-size:.88rem;line-height:1.6;}
.rec-cta{margin-top:34px;font-size:.9rem;color:#c9d6d6;}
.rec-cta a{color:var(--lime);}

/* =========================================================================
   VIRTUAALJÄRVE KAART (/jarv)
   Kaart on batümeetriline joonis: kindlad sügavusvärvid, selged kirjad.
   ========================================================================= */
.hero--map{padding-bottom:clamp(14px,2vh,26px);}
.lm-section{padding-bottom:clamp(40px,7vh,90px);}
.lm-wrap{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);
  gap:26px;align-items:start;
}
@media (max-width:1020px){ .lm-wrap{grid-template-columns:1fr;} }

.lm-map{
  margin:0;background:#031318;
  border:2px solid rgba(242,238,225,.22);border-radius:20px;padding:10px 10px 0;
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.lm-map svg{display:block;width:100%;height:auto;}

/* --- maa, kaldamets ja rannajoon --- */
.lm-land{fill:url(#lmLand);}
.lm-mets circle{opacity:.85;}
.lm-rand{fill:none;stroke:#d8c48a;stroke-width:5;}

/* --- sügavusvööndid (läbipaistmatud) --- */
.lm-d1{fill:#3fb3a6;}
.lm-d2{fill:#248e92;}
.lm-d3{fill:#15697a;}
.lm-d4{fill:#0d4660;}
.lm-d5{fill:#062a45;}
.lm-contour path,.lm-contour ellipse{
  fill:none;stroke:rgba(255,255,255,.4);stroke-width:1.6;stroke-dasharray:8 7;
}

/* --- maastik: jõgi, saar, uppunud puud --- */
.lm-river{fill:none;stroke:#6fe3d8;stroke-width:10;stroke-linecap:round;}
.lm-river--thin{stroke-width:5;opacity:.7;}
.lm-island{fill:#3c5a34;stroke:#d8c48a;stroke-width:3;}
.lm-island-tree path{fill:#a8d36a;}
.lm-island-tree .lm-tyvi{fill:none;stroke:#7d5a34;stroke-width:2.6;stroke-linecap:round;}
.lm-snag path{stroke:#9c7a4e;stroke-width:4;stroke-linecap:round;fill:none;}

/* --- taimestik: kõrkjad, vesiroosid --- */
.lm-reeds path{stroke:#b9d96a;stroke-width:2.4;stroke-linecap:round;fill:none;}
.lm-reeds .lm-reed-pea{fill:#c8a54a;}
.lm-lily path{fill:#2e7a4a;stroke:#a8d36a;stroke-width:1.6;}
.lm-lily-ois circle{fill:#f2eee1;stroke:#c8a54a;stroke-width:1.2;}

/* --- kivid ja liiv --- */
.lm-rocks ellipse{fill:#8fa3aa;stroke:#e4eef0;stroke-width:1.6;}
.lm-rocks--karestik ellipse{fill:#7f939a;}
.lm-sand{fill:rgba(232,196,138,.45);stroke:#e8c48a;stroke-width:2.4;stroke-dasharray:9 7;}
.lm-sand-tapid circle{fill:rgba(232,196,138,.85);}

/* --- paadisild --- */
.lm-sild rect{fill:#a8804f;stroke:#5f4327;stroke-width:1.4;}

/* --- kirjad kaardil --- */
.lm-depth text{
  fill:#f2eee1;font-family:'Bebas Neue',Impact,sans-serif;
  font-size:22px;letter-spacing:.1em;text-anchor:middle;
  paint-order:stroke;stroke:rgba(3,19,24,.9);stroke-width:5px;
}
.lm-depth .lm-depth--deep{fill:var(--gold-400);font-size:24px;}
.lm-compass-ring{fill:rgba(3,19,24,.55);stroke:rgba(242,238,225,.5);stroke-width:2;}
.lm-compass-n{fill:var(--coral);}
.lm-compass-s{fill:rgba(242,238,225,.6);}
.lm-compass text{
  fill:#f2eee1;font-family:'Bebas Neue',Impact,sans-serif;font-size:20px;
  text-anchor:middle;letter-spacing:.1em;
  paint-order:stroke;stroke:rgba(3,19,24,.9);stroke-width:5px;
}
.lm-scale path{stroke:#f2eee1;stroke-width:2.4;fill:none;}
.lm-scale text{fill:#f2eee1;font-size:16px;font-family:'Inter',sans-serif;font-weight:600;}

/* --- sügavuse legend --- */
.lm-lg1{fill:#3fb3a6;} .lm-lg2{fill:#248e92;} .lm-lg3{fill:#15697a;}
.lm-lg4{fill:#0d4660;} .lm-lg5{fill:#062a45;}
.lm-legend rect{stroke:rgba(242,238,225,.35);stroke-width:1;}
.lm-legend text{fill:#f2eee1;font-size:15px;font-family:'Inter',sans-serif;font-weight:600;}
.lm-legend-pealkiri{
  font-family:'Bebas Neue',Impact,sans-serif!important;font-size:16px!important;
  letter-spacing:.2em;fill:var(--steel)!important;
}

/* --- püügikoha nõelad --- */
.lm-spot{cursor:pointer;}
.lm-spot:focus{outline:none;}
.lm-pulse{fill:rgba(255,91,46,.22);opacity:0;transition:opacity .25s var(--ease);}
.lm-pin{fill:#f2eee1;stroke:#0a1214;stroke-width:3.5;transition:.2s var(--ease);}
.lm-ico{color:#0a1214;pointer-events:none;transition:color .2s var(--ease);}
.lm-label{
  fill:#f2eee1;font-family:'Bebas Neue',Impact,sans-serif;font-size:21px;
  letter-spacing:.07em;pointer-events:none;
  paint-order:stroke;stroke:rgba(3,19,24,.92);stroke-width:6px;
  transition:fill .2s var(--ease);
}
.lm-spot:hover .lm-pin,.lm-spot:focus .lm-pin{fill:var(--lime);stroke:#0a1214;}
.lm-spot:hover .lm-label,.lm-spot:focus .lm-label{fill:var(--lime-hi);}
.lm-spot.is-on .lm-pin{fill:var(--coral);stroke:#f2eee1;stroke-width:4;}
.lm-spot.is-on .lm-ico{color:#fff;}
.lm-spot.is-on .lm-label{fill:var(--coral);font-size:24px;}
.lm-spot.is-on .lm-pulse{opacity:1;animation:lmPulse 2.2s var(--ease) infinite;}
@keyframes lmPulse{
  0%{r:20;opacity:.6} 70%{r:52;opacity:0} 100%{r:52;opacity:0}
}
.lm-cap{
  display:flex;flex-wrap:wrap;gap:24px;justify-content:center;
  padding:14px 8px 16px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#c9d6d6;
}
.lm-cap b{color:var(--lime);font-family:'Bebas Neue',Impact,sans-serif;font-size:1.15rem;letter-spacing:.06em;}

/* --- paneel --- */
.lm-panel{position:sticky;top:92px;}
.lm-empty,.lm-card{
  background:#062228;border:2px solid rgba(242,238,225,.2);
  border-radius:18px;padding:26px;
}
.lm-empty-ico{display:block;line-height:0;margin-bottom:10px;color:var(--lime);}
.lm-empty-ico .ico{width:30px;height:30px;}
.lm-empty h2{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.09em;font-size:1.7rem;margin:0 0 10px;}
.lm-empty p{margin:0 0 16px;font-size:1rem;line-height:1.6;color:#d5e2e1;}
.lm-hintlist{margin:0;padding-left:20px;font-size:.92rem;line-height:2;color:#b8c8c8;}
.lm-card{animation:lbIn .25s var(--ease);}
.lm-card-num{
  margin:0;line-height:0;color:var(--aksent,#c9f549);opacity:.75;
}
.lm-card-num .ico{width:clamp(28px,3.4vw,36px);height:clamp(28px,3.4vw,36px);}
.lm-card h2{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-size:2.1rem;
  margin:10px 0 20px;color:var(--paper);line-height:1;
}
.lm-depthbar{margin-bottom:20px;}
.lm-depthbar-rail{position:relative;height:12px;border-radius:99px;background:linear-gradient(90deg,#3fb3a6,#248e92 30%,#15697a 55%,#0d4660 80%,#062a45);}
.lm-depthbar-rail i{position:absolute;top:-3px;bottom:-3px;background:var(--lime);border-radius:99px;box-shadow:0 0 14px rgba(201,245,73,.6);}
.lm-depthbar-lbl{display:flex;justify-content:space-between;align-items:baseline;margin-top:9px;font-size:.8rem;color:#b8c8c8;letter-spacing:.06em;}
.lm-depthbar-lbl b{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.3rem;color:var(--lime);letter-spacing:.05em;}
.lm-facts{margin:0 0 18px;}
.lm-facts>div{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid rgba(242,238,225,.12);}
.lm-facts dt{flex:0 0 62px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);padding-top:3px;}
.lm-facts dd{margin:0;font-size:.98rem;color:#dbe6e5;line-height:1.5;}
.lm-sub{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:1rem;
  color:var(--lime);text-transform:uppercase;margin:22px 0 11px;
}
.lm-species{list-style:none;margin:0;padding:0;}
.lm-species li{display:flex;align-items:center;gap:11px;padding:7px 0;font-size:1rem;}
.lm-species a{color:var(--paper);text-decoration:none;flex:0 0 108px;font-weight:600;}
.lm-species a:hover{color:var(--lime);text-decoration:underline;}
.lm-species li.is-myth a{color:var(--gold-400);}
.lm-sbar{flex:1;height:8px;border-radius:99px;background:rgba(242,238,225,.14);overflow:hidden;}
.lm-sbar i{display:block;height:100%;background:linear-gradient(90deg,var(--water-400),var(--lime));}
.lm-species li.is-myth .lm-sbar i{background:linear-gradient(90deg,var(--coral),var(--gold-400));}
.lm-species b{flex:0 0 86px;text-align:right;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#b8c8c8;font-weight:700;white-space:nowrap;}
.lm-lures{display:flex;flex-wrap:wrap;gap:8px;}
.lm-lure{
  display:inline-flex;align-items:center;gap:7px;background:rgba(201,245,73,.14);
  border:1.5px solid rgba(201,245,73,.4);border-radius:99px;padding:7px 15px;font-size:.9rem;color:var(--paper);
}
.lm-lure .ico{width:17px;height:17px;flex:0 0 auto;opacity:.9;}
.lm-tip{
  margin:18px 0 20px;font-size:.96rem;line-height:1.65;color:#d5e2e1;
  border-left:4px solid var(--lime);padding-left:15px;
}
.lm-go{width:100%;justify-content:center;font-size:1.05rem;}
.lm-active{
  display:flex;align-items:center;gap:14px;margin-top:24px;
  background:rgba(201,245,73,.1);border:2px solid rgba(201,245,73,.35);
  border-radius:14px;padding:16px 20px;
}
.lm-active[hidden]{display:none;}
.lm-active p{margin:0;font-size:.96rem;color:#dbe6e5;line-height:1.55;}
.lm-active b{color:var(--lime);}
.lm-active-dot{
  width:12px;height:12px;border-radius:99px;background:var(--lime);flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(201,245,73,.6);animation:lmDot 2s infinite;
}
@keyframes lmDot{
  0%{box-shadow:0 0 0 0 rgba(201,245,73,.55)}
  70%{box-shadow:0 0 0 14px rgba(201,245,73,0)}
  100%{box-shadow:0 0 0 0 rgba(201,245,73,0)}
}
.lm-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:24px;
}
.lm-stats>div{
  background:#062228;border:2px solid rgba(242,238,225,.18);
  border-radius:14px;padding:18px;text-align:center;display:flex;flex-direction:column;justify-content:center;
}
.lm-stats b{font-family:'Anton',Impact,sans-serif;font-size:2rem;color:var(--lime);line-height:1;}
.lm-stats span{margin-top:7px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#b8c8c8;}
.lm-stats-link{color:var(--gold-400);text-decoration:none;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1.2rem;}
.lm-stats-link:hover{text-decoration:underline;}
.lm-water{min-height:62vh;display:flex;align-items:center;}
.lm-water p{
  text-align:center;color:rgba(242,238,225,.28);font-family:'Bebas Neue',Impact,sans-serif;
  letter-spacing:.4em;font-size:1rem;margin:0;
}
@media (max-width:1020px){
  .lm-panel{position:static;}
}

/* Täpsustamata kuupäev võistluste nimekirjas */
.comp-date--tbd{color:var(--gold-400)!important;}
.comp-tbd{color:var(--gold-400);}

/* =========================================================================
   PÜÜGIKOHA LEHT (/jarv/:id)
   Taust muutub sügavuse järgi: madal = hele ja rohekas, sügav = pime.
   ========================================================================= */
body.on-spot{
  background:linear-gradient(180deg,
    var(--vesi-1,#1d7a68) 0%,
    var(--vesi-2,#0f5148) 42%,
    var(--vesi-3,#04141a) 100%);
  background-attachment:fixed;
}
.hero--spot .hero-lead{max-width:60ch;font-size:1.06rem;}
.sp-meta{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;
}
.sp-meta>div{
  background:rgba(3,20,25,.82);border:2px solid rgba(242,238,225,.22);
  border-radius:14px;padding:12px 18px;backdrop-filter:blur(4px);
}
.sp-meta span{
  display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);
}
.sp-meta b{
  display:block;margin-top:4px;font-family:'Bebas Neue',Impact,sans-serif;
  letter-spacing:.05em;font-size:1.2rem;color:var(--paper);font-weight:400;
}

.sp-body{padding-bottom:clamp(40px,7vh,90px);}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:28px;align-items:start;}
@media (max-width:1020px){ .sp-grid{grid-template-columns:1fr;} }

.sp-main,.sp-card{
  background:rgba(3,20,25,.93);border:2px solid rgba(242,238,225,.22);
  border-radius:18px;padding:26px;backdrop-filter:blur(5px);
}
.sp-main .zone-title--sm:first-child{margin-top:0;}
.sp-profile{margin-bottom:14px;}
.sp-profile-rail{
  position:relative;height:22px;border-radius:8px;
  background:linear-gradient(90deg,#3fb3a6,#248e92 25%,#15697a 50%,#0d4660 75%,#062a45);
  border:1px solid rgba(242,238,225,.25);
}
.sp-profile-rail i{
  position:absolute;top:-4px;bottom:-4px;border-radius:8px;
  background:rgba(201,245,73,.28);border:2.5px solid var(--lime);
  box-shadow:0 0 18px rgba(201,245,73,.5);
}
.sp-profile-lbl{
  display:flex;justify-content:space-between;margin-top:8px;
  font-size:.76rem;letter-spacing:.08em;color:#b8c8c8;
}
.sp-note{
  margin:0 0 8px;font-size:.98rem;line-height:1.65;color:#dbe6e5;
  border-left:4px solid var(--lime);padding-left:15px;
}

.sp-species{list-style:none;margin:0;padding:0;}
.sp-species>li{
  padding:16px 0;border-bottom:1px solid rgba(242,238,225,.14);
}
.sp-species>li:last-child{border-bottom:0;padding-bottom:0;}
.sp-species-head{display:flex;align-items:center;gap:12px;margin-bottom:7px;}
.sp-species-head a{
  color:var(--paper);text-decoration:none;flex:0 0 auto;min-width:110px;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:1.35rem;
}
.sp-species-head a:hover{color:var(--lime);text-decoration:underline;}
.sp-species li.is-myth .sp-species-head a{color:var(--gold-400);}
.sp-species-bar{flex:1;height:9px;border-radius:99px;background:rgba(242,238,225,.16);overflow:hidden;}
.sp-species-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--water-400),var(--lime));}
.sp-species li.is-myth .sp-species-bar i{background:linear-gradient(90deg,var(--coral),var(--gold-400));}
.sp-species-head b{
  flex:0 0 88px;text-align:right;font-size:.7rem;letter-spacing:.06em;
  text-transform:uppercase;color:#b8c8c8;font-weight:700;white-space:nowrap;
}
.sp-species p{margin:0 0 4px;font-size:.94rem;line-height:1.6;color:#c9d6d6;}
.sp-species-soot{font-size:.86rem!important;color:var(--gold-400)!important;}
.sp-species-soot b{color:var(--paper);}

.sp-card{margin-bottom:18px;}
.sp-card .lm-sub{margin-top:0;}
.sp-card-note{margin:14px 0 0;font-size:.86rem;line-height:1.55;color:#b8c8c8;}
.sp-mini{display:block;width:100%;height:auto;border-radius:12px;background:#031318;}
/* Kaardil olevad tähised on nüüd lingid — üks klõps viib teise püügikohta */
.sp-mini-pin{cursor:pointer;}
/* Suured, loetavad valikunupud kaardil — kohe näha, kuhu klõpsata */
.sp-mini-hit{fill:transparent;}
.sp-mini-disc{
  fill:#f2eee1;stroke:#0a1214;stroke-width:4;
  transition:fill .16s var(--ease),stroke .16s var(--ease);
}
.sp-mini-ico{color:#0a1214;pointer-events:none;transition:color .16s var(--ease);}
.sp-mini-pin:hover .sp-mini-disc,
.sp-mini-pin:focus .sp-mini-disc{fill:var(--lime);stroke:#0a1214;}
.sp-mini-pin:focus{outline:none;}
.sp-mini-pin.is-here .sp-mini-disc{fill:var(--coral);stroke:#fff;stroke-width:5;}
.sp-mini-pin.is-here .sp-mini-ico{color:#fff;}
.sp-mini-halo{
  fill:none;stroke:var(--coral);stroke-width:4;opacity:.55;
  animation:spMiniPulse 2.4s var(--ease) infinite;
}
@keyframes spMiniPulse{
  0%{r:38;opacity:.6} 70%{r:64;opacity:0} 100%{r:64;opacity:0}
}
.sp-mini-lbl{
  fill:#fff;font-family:'Bebas Neue',Impact,sans-serif;font-size:30px;
  letter-spacing:.08em;text-anchor:middle;pointer-events:none;
  paint-order:stroke;stroke:rgba(3,19,24,.92);stroke-width:8px;
}
.sp-mini-hint{
  margin:10px 0 0;font-size:.8rem;color:var(--steel);text-align:center;
}
.sp-mini-pin circle{transition:fill .16s var(--ease),stroke .16s var(--ease);}
.sp-mini-pin:hover circle{fill:var(--aksent,#c9f549);stroke:var(--paper);}
.sp-mini-pin:hover text{fill:#04181e;}
.sp-mini-pin:focus-visible circle{stroke:var(--paper);stroke-width:5;}

/* Kiirvalik: kõik püügikohad ühe klõpsu kaugusel */
.sp-jump{margin-top:16px;}
.sp-jump-head{
  margin:0 0 8px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.74rem;color:var(--steel);text-transform:uppercase;
}
.sp-jump-list{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.sp-jump-list a,
.sp-jump-list .is-here{
  display:flex;align-items:center;gap:9px;
  padding:7px 10px;border-radius:10px;text-decoration:none;
  background:rgba(255,255,255,.04);border:1.5px solid transparent;
  color:rgba(242,238,225,.86);font-size:.84rem;line-height:1.2;
  transition:.15s var(--ease);
}
.sp-jump-list a:hover{background:rgba(255,255,255,.09);border-color:var(--aksent,#c9f549);}
.sp-jump-list .ico{
  width:17px;height:17px;flex:0 0 auto;
  color:var(--aksent,#c9f549);opacity:.85;transition:opacity .15s var(--ease);
}
.sp-jump-list a:hover .ico{opacity:1;}
.sp-jump-list .is-here{
  background:color-mix(in srgb, var(--aksent,#c9f549) 16%, transparent);
  border-color:var(--aksent,#c9f549);color:var(--paper);pointer-events:none;
}
.sp-jump-list .is-here .ico{color:var(--paper);opacity:1;}
.sp-jump-dep{margin-left:auto;font-size:.72rem;color:var(--steel);white-space:nowrap;}

/* Päise kiirriba — kõik püügikohad ühe klõpsu kaugusel, ilma kaardile naasmata */
.sp-strip{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 clamp(14px,2.4vh,26px);
}
.sp-strip-lbl{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;font-size:.72rem;
  color:rgba(242,238,225,.5);text-transform:uppercase;margin-right:2px;
}
.sp-chip{
  display:inline-flex;align-items:center;gap:5px;text-decoration:none;
  background:rgba(4,24,30,.9);border:2px solid rgba(242,238,225,.16);border-radius:999px;
  padding:4px 10px 4px 7px;color:rgba(242,238,225,.82);
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.05em;font-size:.78rem;
  transition:.15s var(--ease);white-space:nowrap;
}
.sp-chip .ico{width:15px;height:15px;flex:0 0 auto;}
/* Kitsamal ekraanil jääb alles ikoon, nimi on tooltipis */
@media (max-width:1180px){ .sp-chip span{display:none;} }
.sp-chip:hover{border-color:var(--aksent,#c9f549);color:var(--paper);transform:translateY(-1px);}
.sp-chip.is-here{
  background:var(--aksent,#c9f549);border-color:var(--aksent,#c9f549);color:#04181e;
  pointer-events:none;
}
@media (max-width:640px){
  .sp-strip-lbl{display:none;}
  .sp-chip{padding:5px 9px 5px 7px;font-size:.8rem;}
  .sp-chip span{display:none;}
}

.sp-nav{display:flex;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap;}
.sp-nav a{
  color:var(--lime);text-decoration:none;font-size:.86rem;font-weight:600;
}
.sp-nav a:hover{text-decoration:underline;}
.lm-stats--tight{grid-template-columns:1fr 1fr;margin-top:0;margin-bottom:14px;}
.lm-stats--tight>div{padding:14px;}
.lm-stats--tight b{font-size:1.6rem;}

/* --- püügikoha päis: suur märk, motiiv taustal --- */
.hero--spot{position:relative;overflow:hidden;}
/* Pehme tumendus päise all, et suur kiri ja juhtlõik jääksid alati loetavaks */
.hero--spot::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(105deg, rgba(3,20,25,.62) 0%, rgba(3,20,25,.42) 42%, rgba(3,20,25,0) 78%);
}
.sp-motif{
  position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(180px,34vh,340px);
  pointer-events:none;z-index:0;
}
.sp-motif .sp-m-line,.sp-motif .sp-m-line path,.sp-motif .sp-m-line ellipse{
  fill:none;stroke:var(--aksent,#c9f549);stroke-width:2.5;stroke-linecap:round;opacity:.3;
}
.sp-motif .sp-m-line--thick path{stroke-width:5;opacity:.16;}
.sp-motif .sp-m-fill,.sp-motif .sp-m-fill *{fill:var(--aksent,#c9f549);opacity:.17;}
.hero--spot .hero-inner{position:relative;z-index:1;}

.sp-back{
  display:inline-block;margin-bottom:18px;color:var(--aksent,#c9f549);text-decoration:none;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.95rem;
}
.sp-back:hover{text-decoration:underline;}

.sp-head{display:flex;align-items:center;gap:clamp(14px,2.5vw,26px);}
.sp-badge{
  flex:0 0 auto;position:relative;width:clamp(84px,11vw,124px);height:clamp(84px,11vw,124px);
  border-radius:22px;background:rgba(3,20,25,.7);
  border:3px solid var(--aksent,#c9f549);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 0 40px -8px color-mix(in srgb, var(--aksent,#c9f549) 45%, transparent);
  backdrop-filter:blur(4px);
}
.sp-badge-ico{line-height:0;color:var(--aksent,#c9f549);}
.sp-badge-ico .ico{width:clamp(38px,5.4vw,60px);height:clamp(38px,5.4vw,60px);}
.sp-head-txt{min-width:0;}
.sp-head-kicker{
  margin:0 0 4px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;
  font-size:clamp(.78rem,1.4vw,1rem);text-transform:uppercase;color:var(--aksent,#c9f549);
}
.sp-title{
  font-size:clamp(2.1rem,6.2vw,4.6rem)!important;
  text-shadow:0 8px 34px rgba(3,20,25,.7);
}
.sp-lead{
  margin-top:20px;max-width:62ch;font-size:1.06rem;line-height:1.7;color:#eaf3f1;
  text-shadow:0 2px 12px rgba(3,20,25,.6);
}
.sp-meta>div{border-color:color-mix(in srgb, var(--aksent,#c9f549) 42%, transparent);}
.sp-meta b{color:var(--paper);}

/* aksentvärv kandub ka sisulehele */
.on-spot .zone-title--sm,.on-spot .lm-sub{color:var(--aksent,#c9f549);}
.on-spot .sp-note{border-left-color:var(--aksent,#c9f549);}
.on-spot .sp-profile-rail i{
  border-color:var(--aksent,#c9f549);
  background:color-mix(in srgb, var(--aksent,#c9f549) 26%, transparent);
  box-shadow:0 0 18px color-mix(in srgb, var(--aksent,#c9f549) 55%, transparent);
}
.on-spot .lm-lure{
  background:color-mix(in srgb, var(--aksent,#c9f549) 14%, transparent);
  border-color:color-mix(in srgb, var(--aksent,#c9f549) 42%, transparent);
}
.on-spot .sp-species-bar i{
  background:linear-gradient(90deg, color-mix(in srgb, var(--aksent,#c9f549) 45%, #2fa79c), var(--aksent,#c9f549));
}
.on-spot .lm-stats b,.on-spot .sp-nav a{color:var(--aksent,#c9f549);}
.on-spot .lm-water p{color:color-mix(in srgb, var(--aksent,#c9f549) 34%, transparent);}
@media (max-width:640px){
  .sp-head{gap:12px;}
  .sp-meta>div{padding:10px 14px;}
}

/* =========================================================================
   SISU KANVASE ETTE
   .lake-bg on position:fixed;z-index:0 — positsioneeritud element joonistub
   staatilise sisu PEALE. Kõik uued sektsioonid vajavad seetõttu sama
   z-index:2 kihti, mida .zone juba kasutab, muidu taimestik ja kivid
   joonistuvad kaartide ja teksti ette.
   ========================================================================= */
.fish-page,
.sp-body,
.lm-section,
.zone--content,
.fish-detail,
.records-body{
  position:relative;
  z-index:2;
}
.hero--spot .hero-inner,
.hero--map .hero-inner,
.hero--fish .hero-inner{position:relative;z-index:3;}

/* Püügikoha kaardid täiesti läbipaistmatud — tekst peab olema loetav
   ka kõige tihedamas kõrkjastikus. */
.sp-main,.sp-card{background:#04181e;backdrop-filter:none;}
.sp-meta>div{background:#04181e;}
.lm-empty,.lm-card{background:#04181e;backdrop-filter:none;}
.lm-stats>div{background:#04181e;backdrop-filter:none;}

/* =========================================================================
   Sisulehtedel on tekst ALATI kalade ees
   -------------------------------------------------------------------------
   .lake-fg elas z-index:45 peal, et avalehel ujuksid kalad kõige ees.
   Sisurohketel lehtedel (kalade kataloog, järvekaart, püügikoht, rekordid)
   peab aga info olema ees pool — kaladel on koht tausta ja sisu vahel.
   ========================================================================= */
/* (z-index on nüüd .lake-fg reeglis endas — tekst on igal lehel kalade ees) */

/* =========================================================================
   SUKELDUMINE — püügikoha sügavuskihid
   -------------------------------------------------------------------------
   Annab lehele korraliku kerimisruumi ja täidab vee sisuga: kaardid
   vahelduvad vasak-parem, nii et teine pool jääb avatud veeks, kus
   kalad ja peidukohad paistavad.
   ========================================================================= */
.sp-dive{position:relative;z-index:2;padding-block:clamp(48px,7vh,96px) clamp(64px,10vh,140px);}
.sp-dive-head{max-width:640px;margin:0 0 clamp(24px,4vh,52px);}
.sp-dive-kicker{
  margin:0 0 6px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.24em;
  font-size:.8rem;color:var(--aksent,#c9f549);text-transform:uppercase;
}
.sp-dive-title{margin:0 0 8px;}
.sp-dive-lead{margin:0;color:rgba(242,238,225,.7);font-size:.95rem;line-height:1.55;}
.sp-dive-list{list-style:none;margin:0;padding:0;position:relative;}
/* Kerge sügavusjoon kaartide vahel */
.sp-dive-list::before{
  content:'';position:absolute;left:clamp(14px,4vw,60px);top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--aksent,#c9f549) 40%, transparent),
    rgba(242,238,225,.06));
}
.sp-dive-step{
  min-height:clamp(300px,50vh,520px);
  display:flex;align-items:center;
  padding-left:clamp(34px,7vw,110px);
}
.sp-dive-step--r{justify-content:flex-end;padding-left:0;padding-right:clamp(0px,3vw,40px);}
.sp-dive-card{
  position:relative;max-width:min(440px,100%);
  background:#04181e;border:2px solid rgba(242,238,225,.12);border-radius:18px;
  padding:clamp(16px,2.2vw,24px);
  box-shadow:0 28px 60px -28px rgba(0,0,0,.9);
}
.sp-dive-card::before{
  content:'';position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;
  background:var(--aksent,#c9f549);
}
.sp-dive-depth{
  margin:0 0 4px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:1.02rem;color:var(--aksent,#c9f549);
}
.sp-dive-name{
  margin:0 0 8px;font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;
  letter-spacing:.05em;font-size:clamp(1.3rem,2.4vw,1.75rem);color:var(--paper);
  text-transform:uppercase;line-height:1.05;
}
.sp-dive-txt{margin:0;color:rgba(242,238,225,.86);font-size:.95rem;line-height:1.6;}
.sp-dive-foot{
  margin:clamp(20px,3vh,40px) 0 0;padding-left:clamp(34px,7vw,110px);
  color:rgba(242,238,225,.55);font-size:.9rem;
}
.sp-dive-foot a{color:var(--aksent,#c9f549);}
.sp-dive-foot span{margin-right:8px;color:var(--aksent,#c9f549);}
@media (max-width:640px){
  .sp-dive-step{min-height:clamp(260px,42vh,380px);padding-left:26px;}
  .sp-dive-step--r{padding-left:26px;padding-right:0;justify-content:flex-start;}
  .sp-dive-list::before{left:6px;}
  .sp-dive-foot{padding-left:26px;}
}

/* =========================================================================
   TEADETETAHVEL (liikmetele) + tahvli sisemised lingid
   ========================================================================= */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.app-kicker{
  margin:0 0 6px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.22em;
  font-size:.8rem;color:var(--lime);text-transform:uppercase;
}
.app-lead{color:var(--steel);margin:0 0 30px;max-width:62ch;line-height:1.6;}

/* --- Minu tahvli lingid teadetetahvlile ja põhikirjale --- */
.tahvel-links{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;margin-bottom:14px;
}
.tahvel-link{
  display:flex;align-items:center;gap:14px;
  background:rgba(242,238,225,.06);border:2px solid rgba(201,245,73,.25);
  border-radius:16px;padding:16px 18px;color:var(--paper);
  transition:.18s var(--ease);
}
.tahvel-link:hover{background:rgba(201,245,73,.12);border-color:var(--lime);transform:translateY(-2px);}
.tahvel-link--main{background:rgba(201,245,73,.1);border-color:var(--lime);}
.tahvel-link-ico{font-size:1.6rem;line-height:1;}
.tahvel-link-txt{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;}
.tahvel-link-txt b{
  font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.08em;
  font-size:1.16rem;color:var(--paper);
}
.tahvel-link-txt i{font-style:normal;font-size:.82rem;color:var(--steel);}
.tahvel-link-arrow{color:var(--lime);font-size:1.2rem;}

.tahvel-teated{display:grid;gap:7px;margin-bottom:34px;}
.tahvel-teade{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding:10px 14px;border-radius:12px;background:rgba(242,238,225,.04);
  border-left:3px solid rgba(201,245,73,.4);color:var(--paper);transition:.16s var(--ease);
}
.tahvel-teade:hover{background:rgba(201,245,73,.1);border-left-color:var(--lime);}
.tahvel-teade b{font-weight:600;font-size:.95rem;}
.tahvel-teade span{font-size:.8rem;color:var(--steel);margin-left:auto;white-space:nowrap;}
.tahvel-teade-pin{margin-right:-4px;}

/* --- Uue teate vorm --- */
.nb-new{margin-bottom:38px;}
.nb-new-title{margin:0 0 16px;font-size:1.3rem;}
.nb-new-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px;}
.nb-pin-check{
  display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ink-500);cursor:pointer;
}
.nb-pin-check input{width:17px;height:17px;accent-color:#2f6b3a;}

.nb-head{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;}
.nb-head h2{margin:0;font-size:1.3rem;}

.nb-empty{display:flex;align-items:center;gap:16px;}
.nb-empty span{font-size:1.9rem;line-height:1;}
.nb-empty p{margin:0;color:var(--ink-500);}

/* --- Üksik teade --- */
.nb-item{margin-bottom:20px;padding:22px 24px;}
.nb-item.is-pinned{border-color:var(--lime);box-shadow:8px 8px 0 rgba(201,245,73,.35);}
.nb-pin{
  margin:0 0 10px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.78rem;color:#2f6b3a;text-transform:uppercase;
}
.nb-item-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.nb-avatar{width:38px;height:38px;border-radius:11px;font-size:1rem;}
.nb-avatar--sm{width:30px;height:30px;border-radius:9px;font-size:.85rem;border-width:1.5px;}
.nb-item-meta{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex:1 1 auto;min-width:0;}
.nb-item-name{display:flex;align-items:center;gap:7px;margin:0;flex-wrap:wrap;}
.nb-item-meta b{font-size:.96rem;color:var(--ink);}
.nb-item-meta time{font-size:.78rem;color:var(--ink-500);}
.nb-role{
  display:inline-block;padding:1px 7px;border-radius:999px;
  background:#2f6b3a;color:#fff;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  font-family:'Bebas Neue',Impact,sans-serif;vertical-align:1px;
}
.nb-item-tools{display:flex;gap:6px;margin-left:auto;}
.nb-item-tools form{margin:0;}
.nb-tool{
  border:1.5px solid rgba(10,18,20,.18);background:transparent;border-radius:9px;
  width:30px;height:30px;cursor:pointer;line-height:1;font-size:.85rem;color:var(--ink);
  display:flex;align-items:center;justify-content:center;transition:.15s var(--ease);
}
.nb-tool:hover{background:rgba(10,18,20,.08);border-color:rgba(10,18,20,.4);}
.nb-tool--del:hover{background:var(--coral);border-color:var(--coral);color:#fff;}

.nb-title{margin:0 0 8px;font-size:1.35rem;line-height:1.2;}
.nb-body{margin:0 0 18px;}
.nb-body p{margin:0 0 .7em;line-height:1.62;white-space:pre-wrap;}
.nb-body p:last-child{margin-bottom:0;}

/* --- Kommentaarid --- */
.nb-comments{border-top:2px solid rgba(10,18,20,.12);padding-top:16px;}
.nb-comments-head{
  margin:0 0 12px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;
  font-size:.82rem;color:var(--ink-500);text-transform:uppercase;
}
.nb-comment{display:flex;gap:11px;padding:9px 0;border-top:1px solid rgba(10,18,20,.08);}
.nb-comment:first-of-type{border-top:0;}
.nb-comment-body{flex:1 1 auto;min-width:0;}
.nb-comment-meta{display:flex;align-items:baseline;gap:9px;margin:0 0 2px;flex-wrap:wrap;}
.nb-comment-meta b{font-size:.88rem;color:var(--ink);}
.nb-comment-meta time{font-size:.74rem;color:var(--ink-500);}
.nb-comment-txt{margin:0;font-size:.92rem;line-height:1.55;white-space:pre-wrap;}
.nb-comment-del{margin:0;}

.nb-reply{display:flex;gap:10px;align-items:flex-end;margin-top:14px;}
.nb-reply textarea{
  flex:1 1 auto;resize:vertical;min-height:46px;
  border:2px solid var(--ink);border-radius:10px;padding:11px 13px;
  font-family:inherit;font-size:.94rem;background:#fff;color:var(--ink);
}
.nb-reply textarea:focus{outline:3px solid var(--lime);outline-offset:1px;}
@media (max-width:640px){
  .nb-item{padding:18px 16px;}
  .nb-reply{flex-direction:column;align-items:stretch;}
  .nb-reply .btn{width:100%;justify-content:center;}
  .tahvel-teade span{margin-left:0;width:100%;}
}

/* --- Põhikiri liikme vaates --- */
.statute-card{padding:clamp(20px,3vw,36px);}
.statute-card .statute-body{max-width:none;}


/* =====================================================================
   Veebijärve edetabelid (/jarv) + märkus klubi päevikus
   ===================================================================== */
.jv-board{background:#04181e;color:var(--paper);}
.jv-board .zone-title{color:var(--paper);margin-bottom:.4em;}
.jv-lead{color:#cfdcdb;max-width:62ch;margin-bottom:26px;}

.jv-sum{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:26px;
}
.jv-sum>div{
  background:rgba(255,255,255,.055);border:2px solid rgba(255,255,255,.14);border-radius:14px;
  padding:14px 16px;display:flex;flex-direction:column;gap:3px;
}
.jv-sum b{font-family:'Anton',Impact,sans-serif;font-size:1.7rem;line-height:1;color:var(--lime);}
.jv-sum span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:.74rem;color:#9fb6ba;}

.jv-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;align-items:start;}
.jv-card{background:#f2eee1;color:var(--ink);}
.jv-card-title{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.15rem;
  letter-spacing:.01em;margin:0 0 14px;
}
.jv-empty{color:var(--ink-500);font-size:.9rem;margin:0;}
.jv-more{
  display:inline-block;margin-top:14px;font-family:'Bebas Neue',Impact,sans-serif;
  letter-spacing:.12em;font-size:.85rem;color:var(--coral-deep,#b8360f);text-decoration:none;
}
.jv-more:hover{text-decoration:underline;}

/* pingerida */
.jv-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.jv-rank li{
  display:grid;grid-template-columns:26px 30px 1fr auto;align-items:center;gap:10px;
  padding:8px 8px;border-radius:10px;
}
.jv-rank li:nth-child(odd){background:rgba(10,18,20,.045);}
.jv-rank li.is-me{background:rgba(201,245,73,.34);box-shadow:inset 0 0 0 2px rgba(10,18,20,.16);}
.jv-rank-nr{font-family:'Anton',Impact,sans-serif;font-size:1rem;color:var(--ink-500);text-align:center;}
.jv-rank li:nth-child(1) .jv-rank-nr{color:#b8360f;font-size:1.25rem;}
.jv-rank-av{width:30px;height:30px;font-size:.85rem;}
.jv-rank-name{display:flex;flex-direction:column;line-height:1.2;min-width:0;font-weight:700;font-size:.92rem;}
.jv-rank-name i{font-style:normal;font-weight:400;font-size:.74rem;color:var(--ink-500);}
.jv-rank-kg{font-family:'Anton',Impact,sans-serif;font-size:1.02rem;white-space:nowrap;}

/* liigirekordid */
.jv-recs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.jv-recs li{display:grid;grid-template-columns:1fr auto;grid-template-areas:"sp kg" "bar bar" "who who";gap:3px 10px;}
.jv-recs-sp{grid-area:sp;font-weight:700;font-size:.9rem;}
.jv-recs-kg{grid-area:kg;font-family:'Anton',Impact,sans-serif;font-size:.95rem;white-space:nowrap;}
.jv-recs-bar{grid-area:bar;height:6px;border-radius:99px;background:rgba(10,18,20,.12);overflow:hidden;}
.jv-recs-bar i{display:block;height:100%;background:var(--lime);border-radius:99px;}
.jv-recs-who{grid-area:who;font-size:.74rem;color:var(--ink-500);}

/* viimaste püükide vool */
.jv-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.jv-feed li{display:flex;align-items:center;gap:10px;}
.jv-feed-av{width:28px;height:28px;font-size:.8rem;flex:none;}
.jv-feed-txt{display:flex;flex-direction:column;line-height:1.2;font-size:.88rem;min-width:0;}
.jv-feed-txt i{font-style:normal;font-size:.74rem;color:var(--ink-500);}

/* märkus klubi päevikus, et veebijärv on eraldi */
/* NB: see riba istub TUMEDAL veelehel. Varem oli tal poolläbipaistev lime
   taust ja tume tekst — tumedal pohjal muutus taust mudaseks roheliseks ja
   teksti ei olnud enam voimalik lugeda. Nuud on tume kaart lime raamiga. */
.jarv-note{
  display:flex;align-items:flex-start;gap:14px;margin:0 0 32px;padding:16px 19px;
  text-decoration:none;color:var(--paper);
  background:rgba(4,22,28,.82);
  border:2px solid var(--lime);border-radius:16px;
  box-shadow:0 14px 34px -20px rgba(0,0,0,.85);transition:.2s var(--ease);
}
.jarv-note:hover,.jarv-note:focus-visible{
  transform:translateY(-2px);
  background:rgba(9,40,46,.9);
  box-shadow:0 18px 40px -20px rgba(0,0,0,.9);
}
.jarv-note-ico{flex:none;line-height:0;color:var(--lime);margin-top:2px;}
.jarv-note-ico .ico{width:24px;height:24px;}
.jarv-note-txt{
  display:flex;flex-direction:column;gap:4px;
  font-size:.88rem;line-height:1.55;color:#cddedd;
}
.jarv-note-txt b{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.02rem;
  letter-spacing:.01em;color:var(--lime);
}
.jarv-note-go{
  font-family:'Anton',Impact,sans-serif;font-size:1.4rem;margin-left:auto;flex:none;
  color:var(--lime);align-self:center;
}
@media(max-width:560px){.jarv-note-go{display:none;}}

/* =====================================================================
   LIIKMED — kontaktandmetega kaardid
   ===================================================================== */
.mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px;}
.mem-card{display:flex;flex-direction:column;gap:12px;}
.mem-card.is-me{box-shadow:inset 0 0 0 2px var(--lime);}
.mem-head{display:flex;align-items:center;gap:12px;}
.mem-av{width:50px;height:50px;font-size:1.25rem;flex:none;}
.mem-id{min-width:0;}
.mem-id h3{margin:0 0 4px;font-size:1.1rem;line-height:1.2;}
.mem-pills{display:flex;flex-wrap:wrap;gap:5px;}
.mem-bio{margin:0;font-size:.88rem;line-height:1.55;color:var(--ink-700);}
.mem-contact{margin:0;display:flex;flex-direction:column;gap:7px;}
.mem-contact>div{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:baseline;}
.mem-contact dt{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.72rem;
  color:var(--ink-500);margin:0;
}
.mem-contact dd{margin:0;font-size:.88rem;word-break:break-word;}
.mem-contact dd a{color:var(--water-700,#0d5a63);text-decoration:none;border-bottom:1px solid currentColor;}
.mem-contact dd a:hover{color:var(--coral);}
.mem-hidden{margin:0;font-size:.8rem;color:var(--ink-500);line-height:1.5;}
.mem-edit{align-self:flex-start;margin-top:auto;}

/* =====================================================================
   MINU PROFIIL
   ===================================================================== */
.pr-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start;}
.pr-card{display:flex;flex-direction:column;}
.pr-title{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.2rem;
  margin:0 0 6px;letter-spacing:.01em;
}
.pr-lead{margin:0 0 16px;font-size:.86rem;line-height:1.55;color:var(--ink-500);}
.pr-hint{font-weight:400;font-size:.78rem;color:var(--ink-500);}
.pr-varv{display:flex;align-items:center;gap:12px;}
.pr-varv input[type=color]{
  width:56px;height:38px;padding:0;border:2px solid var(--ink);border-radius:8px;
  background:none;cursor:pointer;
}
.pr-av{width:38px;height:38px;font-size:1rem;}
.pr-check{
  display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;
  font-size:.88rem;line-height:1.45;cursor:pointer;
}
.pr-check input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:#1f5c4d;}
.pr-facts{
  margin:20px 0 0;padding-top:16px;border-top:2px solid rgba(10,18,20,.12);
  display:flex;flex-direction:column;gap:7px;
}
.pr-facts>div{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:baseline;}
.pr-facts dt{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.72rem;
  color:var(--ink-500);margin:0;
}
.pr-facts dd{margin:0;font-size:.88rem;}
.form-ok{
  background:rgba(201,245,73,.35);border:2px solid var(--ink);border-radius:12px;
  padding:11px 15px;margin-bottom:20px;font-size:.9rem;font-weight:600;
}


/* =====================================================================
   MIKS LIITUDA — liikme hüved (avaleht, tumeda vee sektsioonis)
   Neli teemat, igas kaks konkreetset alapunkti.
   ===================================================================== */
.perks-grid{
  display:grid;grid-template-columns:1fr;
  gap:16px;
}
/* Neli teemat istuvad 2x2 ruudustikus — nii ei jää ükski kaart reale üksi. */
@media(min-width:760px){
  .perks-grid{grid-template-columns:1fr 1fr;gap:18px;}
}
.perk{
  position:relative;
  background:rgba(6,34,40,.74);border:1.5px solid rgba(201,245,73,.22);
  border-radius:20px;padding:24px 24px 22px;
  backdrop-filter:blur(3px);
  transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
}
.perk:hover{
  transform:translateY(-3px);border-color:rgba(201,245,73,.55);background:rgba(14,52,54,.84);
}
.perk-nr{
  display:block;font-family:'Anton',Impact,sans-serif;font-size:1.5rem;line-height:1;
  color:rgba(201,245,73,.42);margin-bottom:8px;letter-spacing:.02em;
}
.perk h3{
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.08;letter-spacing:.01em;
  margin:0 0 14px;color:var(--lime);
}
.perk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.perk-list li{
  position:relative;padding-left:16px;
  font-size:.88rem;line-height:1.58;color:#cfdcdb;
}
.perk-list li::before{
  content:"";position:absolute;left:0;top:.58em;
  width:6px;height:6px;border-radius:50%;background:var(--lime);opacity:.7;
}
.perk-list b{color:var(--paper);font-weight:700;}
@media(max-width:560px){
  .perk{padding:20px 20px 18px;}
  .perk-list li{font-size:.85rem;}
}

/* =====================================================================
   TASEMESÜSTEEM — ussist mootorpaadini
   Veebijärve mäng avaneb astmete kaupa: sööt, riist, paat, sügavus.
   Lukud on nähtavad, mitte peidetud — mängija peab nägema, mis ees ootab.
   ===================================================================== */

.tase-zone{position:relative;z-index:2;}
.tase-lead{
  max-width:74ch;margin:0 0 clamp(26px,4vh,44px);
  font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.7;color:#cfe0df;
}

/* ---------- Kus sa praegu oled ---------- */
.tase-nyyd{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2.6vw,30px);
  align-items:center;
  background:linear-gradient(135deg, rgba(9,44,52,.9), rgba(4,20,26,.9));
  border:2px solid rgba(201,245,73,.34);border-radius:22px;
  padding:clamp(18px,2.6vw,30px);margin-bottom:clamp(18px,2.6vh,30px);
  box-shadow:0 22px 50px -28px rgba(0,0,0,.8);
}
.tase-nyyd-mark{
  flex:0 0 auto;display:flex;align-items:baseline;gap:3px;
  font-family:'Anton',Impact,sans-serif;color:var(--lime);line-height:.85;
}
.tase-nyyd-nr{font-size:clamp(3.4rem,7vw,5.4rem);}
.tase-nyyd-koik{font-size:clamp(1rem,1.8vw,1.5rem);opacity:.5;}
.tase-nyyd-txt{min-width:0;}
.tase-nyyd-kicker{
  margin:0 0 2px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.2em;
  font-size:.78rem;text-transform:uppercase;color:var(--lime);
}
.tase-nyyd-txt h3{
  margin:0 0 8px;font-family:'Anton',Impact,sans-serif;line-height:1;
  font-size:clamp(1.7rem,3.4vw,2.6rem);color:var(--paper);text-transform:uppercase;
}
.tase-nyyd-lead{margin:0;font-size:.98rem;line-height:1.6;color:#c2d5d4;max-width:62ch;}
.tase-nyyd-arv{
  grid-column:1 / -1;list-style:none;margin:6px 0 0;padding:16px 0 0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  border-top:1.5px solid rgba(242,238,225,.14);
}
.tase-nyyd-arv li{display:flex;flex-direction:column;gap:2px;}
.tase-nyyd-arv b{font-family:'Anton',Impact,sans-serif;font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--paper);line-height:1;}
.tase-nyyd-arv span{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.13em;font-size:.7rem;
  text-transform:uppercase;color:var(--steel);
}
@media (max-width:640px){
  .tase-nyyd{grid-template-columns:1fr;text-align:left;}
  .tase-nyyd-arv{grid-template-columns:repeat(2,1fr);}
}

/* ---------- Mis on järgmiseks vaja ---------- */
.tase-edasi{
  background:rgba(4,22,28,.78);border:1.5px solid rgba(242,238,225,.14);
  border-left:5px solid var(--gold-400);border-radius:18px;
  padding:clamp(16px,2.4vw,26px);margin-bottom:clamp(24px,3.6vh,40px);
}
.tase-edasi.is-ok{border-left-color:var(--lime);background:rgba(20,48,30,.62);}
.tase-edasi-head{
  display:flex;align-items:center;gap:10px;margin:0 0 8px;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.09em;
  font-size:clamp(1.1rem,2vw,1.4rem);color:var(--gold-400);text-transform:uppercase;
}
.tase-edasi.is-ok .tase-edasi-head{color:var(--lime);}
.tase-edasi-head .ico{width:20px;height:20px;flex:0 0 auto;}
.tase-edasi-txt{margin:0 0 18px;font-size:.98rem;line-height:1.65;color:#c8d9d8;max-width:70ch;}
.tase-edasi-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.tase-edasi-list li{
  display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start;
  padding:11px 14px;border-radius:12px;
  background:rgba(255,255,255,.045);border:1.5px solid rgba(242,238,225,.09);
}
.tase-edasi-list li.is-done{
  background:color-mix(in srgb, var(--lime) 11%, transparent);
  border-color:color-mix(in srgb, var(--lime) 34%, transparent);
}
.tase-samm-mark{display:inline-flex;color:var(--gold-400);}
.tase-samm-mark .ico{width:18px;height:18px;}
.is-done .tase-samm-mark{color:var(--lime);}
.tase-samm-txt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;}
.tase-samm-txt b{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-weight:400;
  font-size:1rem;color:var(--paper);text-transform:uppercase;
}
.tase-samm-txt i{font-style:normal;font-family:'Anton',Impact,sans-serif;font-size:.95rem;color:var(--lime);}
.tase-samm-txt em{
  flex:1 1 100%;font-style:normal;font-size:.82rem;line-height:1.5;color:var(--steel);
}
.tase-samm-riba{
  grid-column:2;display:block;height:4px;border-radius:99px;
  background:rgba(242,238,225,.13);overflow:hidden;
}
.tase-samm-riba i{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg, var(--water-400), var(--gold-400));
}
.is-done .tase-samm-riba i{background:linear-gradient(90deg, var(--water-400), var(--lime));}
.tase-edasi-ok{
  margin:16px 0 0;padding-top:14px;border-top:1.5px solid rgba(201,245,73,.26);
  font-size:.95rem;line-height:1.6;color:var(--lime-hi);
}

/* ---------- Kolm astet ---------- */
.tase-rada{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:clamp(14px,2vw,22px);margin-bottom:clamp(24px,3.6vh,40px);
}
.tase-aste{
  background:rgba(4,22,28,.8);border:2px solid rgba(242,238,225,.12);
  border-radius:20px;padding:clamp(16px,2vw,22px);
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.tase-aste.is-on{
  border-color:var(--lime);
  box-shadow:0 0 44px -18px color-mix(in srgb, var(--lime) 60%, transparent);
}
.tase-aste.is-done{border-color:rgba(201,245,73,.34);}
.tase-aste.is-locked{opacity:.68;}
.tase-aste > header{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  padding-bottom:14px;margin-bottom:14px;
  border-bottom:1.5px solid rgba(242,238,225,.12);
}
.tase-aste-nr{
  font-family:'Anton',Impact,sans-serif;font-size:2.3rem;line-height:.8;
  color:rgba(242,238,225,.2);
}
.tase-aste.is-on .tase-aste-nr{color:var(--lime);}
.tase-aste.is-done .tase-aste-nr{color:rgba(201,245,73,.5);}
.tase-aste-hyyd{
  margin:0;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.68rem;text-transform:uppercase;color:var(--steel);
}
.tase-aste > header h3{
  margin:0;font-family:'Anton',Impact,sans-serif;font-size:1.32rem;line-height:1;
  color:var(--paper);text-transform:uppercase;
}
.tase-aste-mark{display:inline-flex;color:var(--steel);}
.tase-aste.is-on .tase-aste-mark{color:var(--lime);}
.tase-aste.is-done .tase-aste-mark{color:rgba(201,245,73,.7);}
.tase-aste-mark .ico{width:20px;height:20px;}
.tase-aste-txt{margin:0 0 16px;font-size:.92rem;line-height:1.6;color:#c2d5d4;}
.tase-aste-sub{
  margin:0 0 8px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.68rem;text-transform:uppercase;color:var(--lime);
}
.tase-aste-sub--suur{font-size:.86rem;margin-bottom:14px;}
.tase-viisid,.tase-kohad,.tase-landid{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:5px;}
.tase-viisid li,.tase-kohad li,.tase-landid li{
  display:flex;align-items:center;gap:8px;
  font-size:.86rem;color:rgba(242,238,225,.86);line-height:1.3;
}
.tase-viisid .ico,.tase-kohad .ico,.tase-landid .ico{
  width:16px;height:16px;flex:0 0 auto;color:var(--lime);opacity:.8;
}
.tase-kohad li span,.tase-landid li span{
  margin-left:auto;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-size:.72rem;text-transform:uppercase;color:var(--steel);white-space:nowrap;
}
.tase-landid li{
  padding:7px 10px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1.5px solid transparent;flex-wrap:wrap;
}
.tase-landid li.is-open{
  background:color-mix(in srgb, var(--lime) 10%, transparent);
  border-color:color-mix(in srgb, var(--lime) 28%, transparent);
}
.tase-landid li.is-shut .ico{color:var(--steel);opacity:.7;}
.tase-landid li b{font-weight:600;}
.tase-landid li em{
  flex:1 1 100%;font-style:normal;font-size:.76rem;color:var(--gold-400);
  padding-left:24px;
}

/* Viiside ja kohtade tegelik seis taseme kaardil: lukus rida utleb pohjuse
   valja. Steve, 11.09.2026 — proff nagi kaardil suvikut, mis oli tegelikult
   mootorpaadi taga kinni. */
.tase-viisid li,.tase-kohad li{flex-wrap:wrap;}
.tase-viisid li.is-shut,.tase-kohad li.is-shut{color:rgba(242,238,225,.5);}
.tase-viisid li.is-shut .ico,.tase-kohad li.is-shut .ico{color:var(--steel);opacity:.7;}
.tase-viisid li em,.tase-kohad li em{
  flex:1 1 100%;font-style:normal;font-size:.74rem;color:var(--gold-400);
  padding-left:24px;line-height:1.35;
}

/* ---------- Riistade redel ---------- */
.tase-riistad{
  background:rgba(4,22,28,.7);border:1.5px solid rgba(242,238,225,.12);
  border-radius:20px;padding:clamp(16px,2.2vw,26px);
}
.tase-riistad > ul{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;
}
.tase-riistad > ul > li{
  display:flex;gap:12px;align-items:flex-start;
  padding:13px 15px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1.5px solid rgba(242,238,225,.1);
}
.tase-riistad > ul > li.is-open{
  background:color-mix(in srgb, var(--lime) 9%, transparent);
  border-color:color-mix(in srgb, var(--lime) 30%, transparent);
}
.tase-riist-ico{display:inline-flex;flex:0 0 auto;color:var(--lime);}
.is-shut .tase-riist-ico{color:var(--steel);}
.tase-riist-ico .ico{width:24px;height:24px;}
.tase-riistad b{
  display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-weight:400;font-size:1.05rem;color:var(--paper);text-transform:uppercase;
}
.tase-riistad i{display:block;font-style:normal;font-size:.84rem;line-height:1.5;color:#b8cbca;margin-top:2px;}
.tase-riistad em{display:block;font-style:normal;font-size:.76rem;color:var(--gold-400);margin-top:5px;}

/* ---------- Püügiviisi valik püügikoha lehel ---------- */
.sp-card--viis .sp-viis-note{margin:0 0 14px;font-size:.86rem;line-height:1.55;color:#b8cbca;}
.sp-viisid{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.sp-viis > a,.sp-viis > span{
  display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;
  padding:11px 13px;border-radius:13px;text-decoration:none;
  background:rgba(255,255,255,.04);border:1.5px solid rgba(242,238,225,.1);
  transition:.16s var(--ease);
}
.sp-viis > a:hover{background:rgba(255,255,255,.09);border-color:var(--aksent,#c9f549);}
.sp-viis.is-on > span{
  background:color-mix(in srgb, var(--aksent,#c9f549) 15%, transparent);
  border-color:var(--aksent,#c9f549);
}
.sp-viis.is-locked > span{opacity:.6;}
.sp-viis-ico{display:inline-flex;color:var(--aksent,#c9f549);}
.sp-viis.is-locked .sp-viis-ico{color:var(--steel);}
.sp-viis-ico .ico{width:21px;height:21px;}
.sp-viis-txt{min-width:0;display:block;}
.sp-viis-txt b{
  display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;
  font-weight:400;font-size:.98rem;color:var(--paper);text-transform:uppercase;line-height:1.15;
}
.sp-viis-txt i{display:block;font-style:normal;font-size:.8rem;line-height:1.5;color:#b0c4c3;margin-top:3px;}
.sp-viis-noue{color:var(--gold-400) !important;}
.sp-viis-arv{
  display:flex;gap:12px;margin-top:6px;
  font-family:'Anton',Impact,sans-serif;font-size:.82rem;color:var(--aksent,#c9f549);
}
.sp-viis-arv em{
  font-family:'Bebas Neue',Impact,sans-serif;font-style:normal;letter-spacing:.13em;
  font-size:.66rem;text-transform:uppercase;color:var(--steel);margin-right:4px;
}
.sp-viis-mark{display:inline-flex;color:var(--aksent,#c9f549);}
.sp-viis-mark .ico{width:18px;height:18px;}

/* ---------- Taseme kaart püügikoha küljeribal ---------- */
.sp-card--tase .sp-tase-nimi{
  margin:0 0 12px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-size:1.05rem;text-transform:uppercase;color:var(--paper);
}
.sp-card--tase .sp-tase-nimi b{font-family:'Anton',Impact,sans-serif;color:var(--aksent,#c9f549);margin-right:6px;}
.sp-tase-sammud{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;}
.sp-tase-sammud li{
  display:flex;align-items:baseline;gap:8px;font-size:.84rem;color:rgba(242,238,225,.82);
  padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.04);
}
.sp-tase-sammud li.is-done{
  background:color-mix(in srgb, var(--aksent,#c9f549) 12%, transparent);
  color:var(--paper);
}
.sp-tase-sammud b{margin-left:auto;font-family:'Anton',Impact,sans-serif;font-size:.86rem;color:var(--aksent,#c9f549);white-space:nowrap;}
.sp-tase-teade{margin:0 0 10px;font-size:.84rem;line-height:1.5;color:var(--gold-400);}
.sp-tase-teade.is-ok{color:var(--aksent,#c9f549);}
.sp-tase-link{
  display:inline-block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;
  font-size:.82rem;text-transform:uppercase;color:var(--aksent,#c9f549);text-decoration:none;
}
.sp-tase-link:hover{text-decoration:underline;}

/* ---------- Lukus olekud olemasolevates elementides ---------- */
.lm-lure.is-locked{
  background:rgba(255,255,255,.05);border-color:rgba(242,238,225,.16);
  color:var(--steel);text-decoration:line-through;text-decoration-thickness:1px;
}
.lm-lure.is-locked .ico{color:var(--steel);text-decoration:none;}
.sp-card-note--lock{color:var(--gold-400);}
.sp-chip.is-locked{
  background:rgba(4,24,30,.6);border-color:rgba(242,238,225,.1);
  color:rgba(242,238,225,.45);cursor:default;
}
.sp-jump-list .is-locked{
  background:rgba(255,255,255,.03);color:rgba(242,238,225,.44);cursor:default;
}
.sp-jump-list .is-locked .ico{color:var(--steel);opacity:.7;}
.sp-mini-pin.is-locked .sp-mini-disc{fill:#5d6f72;stroke:#0a1214;}
.sp-mini-pin.is-locked .sp-mini-ico{color:rgba(10,18,20,.75);}
.lm-spot.is-locked .lm-pin{fill:#5d6f72;stroke:#0a1214;}
.lm-spot.is-locked .lm-ico{color:rgba(10,18,20,.72);}
.lm-spot.is-locked:hover .lm-pin{fill:#7b8d90;}
.lm-spot.is-locked .lm-label{fill:rgba(242,238,225,.5);}
.lm-lock{
  display:flex;align-items:baseline;gap:8px;margin:0 0 14px;
  font-size:.92rem;line-height:1.6;color:var(--gold-400);
}
.lm-lock .ico{width:17px;height:17px;flex:0 0 auto;align-self:center;}
.lm-lock b{color:var(--paper);}
.lm-viisid{
  margin:12px 0 0;font-size:.84rem;line-height:1.55;color:var(--steel);
}
.lm-viisid b{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-weight:400;
  font-size:.72rem;text-transform:uppercase;color:var(--lime);margin-right:5px;
}

/* Lukus sööt landikastis — nähtav, aga valimatu */
.lb-item.is-locked{opacity:.42;cursor:not-allowed;filter:grayscale(1);}
.lb-item.is-locked:hover{background:inherit;transform:none;}

/* Lukus püügikohta üritati avada — kaardil selge põhjus */
.lm-lukus{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  margin:0 0 clamp(14px,2vh,22px);padding:12px 16px;border-radius:14px;
  background:rgba(232,169,60,.13);border:1.5px solid rgba(255,200,87,.4);
  font-size:.95rem;line-height:1.5;color:var(--gold-400);
}
.lm-lukus .ico{width:18px;height:18px;flex:0 0 auto;}
.lm-lukus b{color:var(--paper);}
.lm-lukus a{color:var(--lime);text-decoration:none;font-weight:600;margin-left:auto;}
.lm-lukus a:hover{text-decoration:underline;}

/* Elav söödasobivus liigi juures — teeb nähtavaks reegli, et kala suu
   suurus tuleb kala pikkusest. Ilma selleta tundub "kala ei võta" veana. */
.sp-fit{
  margin:6px 0 0;font-size:.84rem;line-height:1.5;
  padding-left:12px;border-left:3px solid transparent;
}
.sp-species li.fit-hea .sp-fit{color:var(--aksent,#c9f549);border-left-color:var(--aksent,#c9f549);}
.sp-species li.fit-kesine .sp-fit{color:var(--gold-400);border-left-color:var(--gold-400);}
.sp-species li.fit-ei .sp-fit{color:var(--steel);border-left-color:rgba(159,182,186,.5);}
.sp-species li.fit-ei .sp-species-head a,
.sp-species li.fit-ei .sp-species-nimi{opacity:.62;}
.sp-species-nimi{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;
  font-size:1.02rem;text-transform:uppercase;color:var(--paper);
}
.sp-fit-hoiatus{
  margin:12px 0 0;padding:10px 13px;border-radius:11px;
  background:rgba(255,91,46,.14);border:1.5px solid rgba(255,91,46,.42);
  font-size:.86rem;line-height:1.5;color:#ffb59d;
}

/* ---------- Liinid landikastis ---------- */
.lb-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;}
.lb-line{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:7px 4px;border-radius:10px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1.5px solid rgba(242,238,225,.14);
  color:var(--paper);font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.05em;
  transition:.15s var(--ease);
}
.lb-line:hover:not(.is-locked){background:rgba(255,255,255,.12);}
.lb-line.is-on{background:var(--lime);border-color:var(--lime);color:#04181e;}
.lb-line.is-locked{opacity:.4;cursor:not-allowed;}
.lb-line-nimi{font-size:.78rem;line-height:1;}
.lb-line-kg{font-size:.66rem;opacity:.7;line-height:1;}
.lb-line-info{
  margin:0 0 8px;font-size:.74rem;line-height:1.5;color:#b8cbca;
  font-family:'Inter',system-ui,sans-serif;letter-spacing:0;
}
.lb-line-info b{color:var(--paper);}
.lb-line-info i{font-style:normal;color:var(--steel);}
.lb-line-info i.is-labi,.lb-line-info.is-labi i{color:var(--coral);font-weight:600;}

/* ---------- Liin katkes ---------- */
.sp-liin-teade{
  margin:0 0 14px;padding:12px 15px;border-radius:13px;
  background:rgba(255,91,46,.15);border:1.5px solid rgba(255,91,46,.5);
  border-left-width:5px;
  font-size:.88rem;line-height:1.55;color:#ffbaa6;
}
.sp-liin-teade b{color:var(--paper);}
.sp-liin-teade i{font-style:normal;display:block;margin-top:4px;color:var(--gold-400);}
.sp-liin-teade.is-labi{background:rgba(255,91,46,.24);}

/* ---------- Praegused olud ---------- */
.sp-card--olud .sp-olud-kell{
  margin:0 0 6px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-size:1.02rem;text-transform:uppercase;color:var(--paper);
}
.sp-card--olud .sp-olud-kell b{
  font-family:'Anton',Impact,sans-serif;color:var(--aksent,#c9f549);margin-right:7px;
}
.sp-olud-txt{margin:0 0 8px;font-size:.86rem;line-height:1.55;color:#b8cbca;}
.sp-olud-paike{
  margin:0 0 12px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;
  font-size:.7rem;text-transform:uppercase;color:var(--steel);
}
.sp-olud-liigid{
  list-style:none;margin:0;padding:12px 0 0;display:grid;gap:5px;
  border-top:1.5px solid rgba(242,238,225,.12);
}
.sp-olud-liigid li{
  display:flex;align-items:baseline;gap:8px;font-size:.84rem;
  color:rgba(242,238,225,.8);
}
.sp-olud-liigid b{
  margin-left:auto;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;
  font-size:.7rem;text-transform:uppercase;color:var(--steel);
}
.sp-olud-liigid li.is-agar b{color:var(--aksent,#c9f549);}
.sp-olud-liigid li.is-agar span{color:var(--paper);}
.sp-olud-liigid li.is-loid{opacity:.6;}

/* ---------- Veebijärve nullimine profiilis ---------- */
.pr-nulli{
  margin:26px 0 22px;padding:18px 20px;border-radius:16px;
  background:rgba(255,91,46,.09);border:1.5px solid rgba(255,91,46,.34);
}
.pr-nulli h3{
  margin:0 0 8px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-size:1.08rem;text-transform:uppercase;color:var(--coral);
}
.pr-nulli p{margin:0 0 14px;font-size:.88rem;line-height:1.6;}
.pr-nulli-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.pr-nulli-form .field{margin:0;flex:1 1 180px;}
.btn--ohtlik{
  background:var(--coral);color:#fff;border-color:var(--coral-deep);
}
.btn--ohtlik:hover{background:var(--coral-deep);}

/* Mänguliik (maim) ilma entsüklopeedia lehe linki — kuid sama kaaluga tekst */
.lm-species-nimi{color:var(--paper);}

/* Mängu kell käib kiiremini kui päris kell — ütleme selle välja, muidu
   tundub tiksuv kell veana. */
.sp-olud-kiirus{
  margin:0 0 12px;font-size:.78rem;line-height:1.5;color:var(--steel);
}
.sp-olud-kiirus b{color:var(--aksent,#c9f549);}
.sp-card--olud .sp-olud-kell b{font-variant-numeric:tabular-nums;}

/* ---------- Püügiriistade valik landikastis ---------- */
.lb-rods{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;}
.lb-rod{
  padding:8px 5px;border-radius:10px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1.5px solid rgba(242,238,225,.14);
  color:var(--paper);font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;
  font-size:.8rem;line-height:1.1;transition:.15s var(--ease);
}
.lb-rod:hover:not(.is-locked){background:rgba(255,255,255,.12);}
.lb-rod.is-on{background:var(--lime);border-color:var(--lime);color:#04181e;}
.lb-rod.is-locked{opacity:.4;cursor:not-allowed;}
.lb-rod-info{
  margin:0 0 10px;font-size:.74rem;line-height:1.5;color:#b8cbca;
  font-family:'Inter',system-ui,sans-serif;letter-spacing:0;
}
.lb-rod-info b{color:var(--paper);}
.lb-rod-info i{font-style:normal;color:var(--lime);}
/* Sööt on lahti, aga käib teise riista otsa — teistsugune lukk kui tasemelukk */
.lb-item.is-vale-riist{opacity:.34;cursor:not-allowed;filter:grayscale(.7);}

/* ---------- Tasemetõusu teavitus (kinnitatav) ---------- */
.tase-teade{
  position:fixed;inset:0;z-index:120;
  display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(3,16,20,.78);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .26s var(--ease);
}
.tase-teade.is-visible{opacity:1;}
.tase-teade-kaart{
  width:min(460px,100%);text-align:center;
  background:linear-gradient(150deg, rgba(12,52,58,.98), rgba(4,22,28,.98));
  border:3px solid var(--lime);border-radius:26px;
  padding:clamp(24px,4vw,38px) clamp(20px,3.5vw,34px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.9),
             0 0 90px -30px color-mix(in srgb, var(--lime) 70%, transparent);
  transform:translateY(16px) scale(.97);
  transition:transform .3s var(--ease);
}
.tase-teade.is-visible .tase-teade-kaart{transform:none;}
.tase-teade-kick{
  margin:0 0 8px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.24em;
  font-size:.76rem;text-transform:uppercase;color:var(--lime);
}
.tase-teade-kaart h2{
  margin:0;font-family:'Anton',Impact,sans-serif;line-height:.95;
  font-size:clamp(2.1rem,6vw,3.1rem);text-transform:uppercase;color:var(--paper);
}
.tase-teade-alam{
  margin:8px 0 0;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;
  font-size:1.06rem;text-transform:uppercase;color:var(--gold-400);
}
.tase-teade-list{
  list-style:none;margin:20px 0 0;padding:16px 0 0;display:grid;gap:9px;
  border-top:1.5px solid rgba(201,245,73,.28);text-align:left;
}
.tase-teade-list li{display:flex;flex-direction:column;gap:2px;}
.tase-teade-list span{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;
  font-size:.68rem;text-transform:uppercase;color:var(--steel);
}
.tase-teade-list b{font-size:.98rem;color:var(--lime-hi);line-height:1.35;}
.tase-teade-ok{
  margin-top:22px;width:100%;cursor:pointer;
  background:var(--lime);color:#04181e;border:0;border-radius:999px;
  padding:14px 20px;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.13em;font-size:1.02rem;
  transition:filter .16s var(--ease),transform .16s var(--ease);
}
.tase-teade-ok:hover{filter:brightness(1.08);transform:translateY(-2px);}
@media (prefers-reduced-motion:reduce){
  .tase-teade,.tase-teade-kaart{transition:none;}
}

/* ============================================================ SAAVUTUSED
   Margid ja tiitlid. Taust on tume (app-main), seega tekst on paberivarvi
   ja aste annab ainult aktsendi — mitte kogu plaadi tausta. */
.mk-yle{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;
  margin:26px 0 22px;
}
.mk-yle-num{
  background:rgba(10,18,20,.72);border:1px solid rgba(201,245,73,.22);border-radius:16px;
  padding:18px 20px;
}
.mk-yle-num b{
  display:block;font-family:'Anton',Impact,sans-serif;font-size:2.5rem;line-height:1;
  color:var(--lime);letter-spacing:.01em;
}
.mk-yle-num b span{font-size:1.2rem;color:var(--steel);}
.mk-yle-num>span{
  display:block;margin-top:6px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--steel);
}

/* --- margirida (profiil, liikmed, saavutuste ylaosa) --- */
.mk-rida{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;}
.mk-nupp{
  display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 9px;
  border-radius:999px;background:rgba(242,238,225,.06);
  border:1px solid rgba(242,238,225,.18);color:var(--paper);
  font-size:.82rem;line-height:1.2;
}
.mk-nupp i{display:flex;width:18px;height:18px;flex:0 0 18px;}
.mk-nupp i .ico{width:18px;height:18px;}
.mk-nupp em{font-style:normal;}
.mk-nupp--pronks  {border-color:rgba(181,119,63,.6); background:rgba(181,119,63,.14); color:#f0d9c2;}
.mk-nupp--hobe    {border-color:rgba(169,182,189,.6);background:rgba(169,182,189,.14);color:#e8eef1;}
.mk-nupp--kuld    {border-color:rgba(224,178,60,.62); background:rgba(224,178,60,.15); color:#ffe9b4;}
.mk-nupp--plaatina{border-color:rgba(127,216,232,.6); background:rgba(127,216,232,.14);color:#d8f6fb;}
.mk-nupp--legend  {border-color:rgba(201,245,73,.7);  background:rgba(201,245,73,.16); color:#eaffb8;}
.mk-nupp--tiitel  {border-color:rgba(255,200,87,.66); background:rgba(255,200,87,.13); color:#ffe6ae;}
.mk-nupp--sm{padding:5px 10px 5px 7px;font-size:.74rem;}
.mk-nupp--sm i,.mk-nupp--sm i .ico{width:15px;height:15px;flex-basis:15px;}

/* --- pealkirjad --- */
.mk-pea{margin:44px 0 6px;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--paper);}
.mk-pea-lead{color:var(--steel);font-size:.92rem;margin-bottom:18px;max-width:64ch;}
.mk-tyhi{color:var(--steel);font-size:.92rem;margin-bottom:20px;}
.mk-tyhi-mini{color:var(--steel);}

/* --- grupid --- */
.mk-grupp{margin:36px 0 8px;}
.mk-grupp-pea{
  display:flex;align-items:center;gap:16px;
  padding-bottom:12px;margin-bottom:18px;
  border-bottom:2px solid rgba(201,245,73,.2);
}
.mk-grupp-pea>i{display:flex;flex:0 0 34px;width:34px;height:34px;color:var(--lime);}
.mk-grupp-pea>i .ico{width:34px;height:34px;}
.mk-grupp-pea h2{margin:0;font-size:1.5rem;color:var(--paper);}
.mk-grupp-pea p{margin:2px 0 0;color:var(--steel);font-size:.85rem;}
.mk-grupp-arv{
  margin-left:auto;font-family:'Anton',Impact,sans-serif;font-size:1.5rem;
  color:var(--lime);letter-spacing:.02em;white-space:nowrap;
}
.mk-grupp-tiitlid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}

/* --- margikaardid --- */
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px;}
.mk-kaart{
  background:rgba(10,18,20,.72);border:1px solid rgba(242,238,225,.14);
  border-radius:18px;padding:16px 17px 14px;display:flex;flex-direction:column;
}
.mk-kaart.is-lukus{opacity:.62;}
.mk-kaart.is-teenitud{border-color:rgba(242,238,225,.28);}
.mk-kaart--pronks  {border-color:rgba(181,119,63,.55); box-shadow:inset 0 0 0 1px rgba(181,119,63,.18);}
.mk-kaart--hobe    {border-color:rgba(169,182,189,.55);box-shadow:inset 0 0 0 1px rgba(169,182,189,.18);}
.mk-kaart--kuld    {border-color:rgba(224,178,60,.6);  box-shadow:inset 0 0 0 1px rgba(224,178,60,.2);}
.mk-kaart--plaatina{border-color:rgba(127,216,232,.6); box-shadow:inset 0 0 0 1px rgba(127,216,232,.2);}
.mk-kaart--legend  {border-color:rgba(201,245,73,.66); box-shadow:inset 0 0 0 1px rgba(201,245,73,.24);}

.mk-kaart-pea{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.mk-ico{display:flex;flex:0 0 30px;width:30px;height:30px;color:var(--lime);}
.mk-ico .ico{width:30px;height:30px;}
.mk-kaart.is-lukus .mk-ico{color:var(--steel);}
.mk-nimi{flex:1;min-width:0;}
.mk-nimi b{display:block;color:var(--paper);font-size:1rem;line-height:1.25;}
.mk-nimi span{display:block;color:var(--gold-400);font-size:.8rem;margin-top:2px;}
.mk-kaart.is-lukus .mk-nimi span{color:var(--steel);}
.mk-aste{
  font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--steel);
  border:1px solid rgba(242,238,225,.2);border-radius:999px;padding:3px 8px;white-space:nowrap;
}
.mk-aste--lukus{display:flex;padding:4px;border-color:rgba(242,238,225,.14);}
.mk-aste--lukus .ico{width:13px;height:13px;}
.mk-selg{color:var(--steel);font-size:.82rem;line-height:1.45;margin:0 0 12px;}

.mk-riba{
  height:7px;border-radius:999px;background:rgba(242,238,225,.12);overflow:hidden;margin-bottom:8px;
}
.mk-riba i{display:block;height:100%;border-radius:999px;background:var(--lime);}
.mk-kaart.is-lukus .mk-riba i{background:var(--steel);}
.mk-kaart.is-taidetud .mk-riba i{background:linear-gradient(90deg,var(--gold-400),var(--lime));}

.mk-seis{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap;}
.mk-seis-nyyd{font-family:'Anton',Impact,sans-serif;font-size:1.15rem;color:var(--paper);letter-spacing:.02em;}
.mk-seis-siht{color:var(--steel);font-size:.75rem;text-align:right;}
.mk-seis-siht--valmis{color:var(--lime);}

.mk-astmed{list-style:none;display:flex;gap:6px;margin:12px 0 0;padding:0;flex-wrap:wrap;}
.mk-astmed li{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--steel);}
.mk-astmed li i{
  width:9px;height:9px;border-radius:50%;background:rgba(242,238,225,.18);
  border:1px solid rgba(242,238,225,.28);flex:0 0 9px;
}
.mk-astmed li.kas{color:var(--paper);}
.mk-astmed li.kas i{border-color:transparent;}

/* --- tiitlid --- */
.mk-ryhm{margin:26px 0;}
.mk-ryhm-pea{display:flex;align-items:center;gap:11px;margin-bottom:4px;}
.mk-ryhm-pea>i{display:flex;flex:0 0 22px;width:22px;height:22px;color:var(--gold-400);}
.mk-ryhm-pea>i .ico{width:22px;height:22px;}
.mk-ryhm-pea h3{margin:0;font-size:1.15rem;color:var(--paper);}
.mk-ryhm-pea>span{
  font-size:.7rem;letter-spacing:.12em;color:var(--steel);border:1px solid rgba(242,238,225,.2);
  border-radius:999px;padding:2px 8px;
}
.mk-ryhm-selg{color:var(--steel);font-size:.82rem;margin:0 0 12px;max-width:70ch;}

.mk-tiitlid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:8px;}
.mk-tiitel{
  display:flex;gap:12px;align-items:flex-start;
  background:rgba(10,18,20,.72);border:1px solid rgba(255,200,87,.28);border-radius:16px;padding:14px 15px;
}
.mk-tiitel--minu{border-color:rgba(201,245,73,.6);background:rgba(201,245,73,.07);}
.mk-tiitel-ico{display:flex;flex:0 0 24px;width:24px;height:24px;color:var(--gold-400);margin-top:2px;}
.mk-tiitel-ico .ico{width:24px;height:24px;}
.mk-tiitel--minu .mk-tiitel-ico{color:var(--lime);}
.mk-tiitel>div{min-width:0;}
.mk-tiitel b{display:block;color:var(--paper);font-size:.95rem;line-height:1.25;}
.mk-tiitel-hoidja{
  display:flex;align-items:center;gap:6px;color:var(--steel);font-size:.8rem;margin-top:4px;
}
.mk-tiitel-val{display:block;color:var(--gold-400);font-size:.85rem;margin-top:3px;}
.mk-tiitel--minu .mk-tiitel-val{color:var(--lime);}
.mk-tiitel-ala{
  display:block;color:var(--steel);font-size:.72rem;margin-top:3px;
  letter-spacing:.06em;text-transform:uppercase;
}

/* --- edetabeli minimärgid --- */
.mk-tabel-margid{white-space:nowrap;}
.mk-mini{
  display:inline-flex;width:22px;height:22px;padding:3px;margin-right:4px;
  border-radius:50%;border:1px solid rgba(242,238,225,.22);color:var(--paper);vertical-align:middle;
}
.mk-mini .ico{width:14px;height:14px;}
.mk-mini--pronks  {border-color:rgba(181,119,63,.7); color:#f0d9c2;}
.mk-mini--hobe    {border-color:rgba(169,182,189,.7);color:#e8eef1;}
.mk-mini--kuld    {border-color:rgba(224,178,60,.75); color:#ffe9b4;}
.mk-mini--plaatina{border-color:rgba(127,216,232,.7); color:#d8f6fb;}
.mk-mini--legend  {border-color:rgba(201,245,73,.8);  color:#eaffb8;}
.rec-table tr.is-mina{background:rgba(201,245,73,.09);}

/* --- rekordilehe tiitliriba (avalik, tume hero-taust) --- */
.rec-tiitlid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:30px;}

@media (max-width:720px){
  .mk-grid{grid-template-columns:1fr;}
  .mk-grupp-pea{flex-wrap:wrap;}
  .mk-grupp-arv{margin-left:0;}
  .mk-yle-num b{font-size:2rem;}
}

/* --- saavutused profiilil ja liikmete kaardil --- */
.pr-margid{
  background:rgba(10,18,20,.72);border:1px solid rgba(201,245,73,.22);border-radius:18px;
  padding:18px 20px;margin:0 0 26px;
}
.pr-margid-pea{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.pr-margid-pea h2{margin:0;font-size:1.25rem;color:var(--paper);}
.pr-margid-pea>span{color:var(--steel);font-size:.82rem;}
.pr-margid-pea .btn{margin-left:auto;}
.pr-margid-tyhi{color:var(--steel);font-size:.85rem;margin:0;}
.mem-margid{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin:12px 0 2px;padding-top:12px;border-top:1px solid rgba(10,18,20,.12);
}
.mem-margid .mk-mini{border-color:rgba(10,18,20,.28);color:var(--ink-700);}
.mem-margid-arv{margin-left:4px;font-size:.76rem;color:var(--ink-500);letter-spacing:.04em;}

/* Külalisnimega (imporditud) püük — pole veel liikmekontoga seotud */
.pill-kylaline{
  display:inline-block;margin-left:8px;
  background:rgba(255,200,87,.14);border:1px solid rgba(255,200,87,.5);
  color:var(--gold-400);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  padding:2px 8px;border-radius:999px;white-space:nowrap;vertical-align:middle;
}

/* ============================================================ ADMIN
   Sama tume paneelikeel nagu .mk-* saavutustel — admin elab samas kestas. */
.hal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:24px 0 26px;}
.hal-stat{
  background:rgba(10,18,20,.72);border:1px solid rgba(201,245,73,.22);
  border-radius:16px;padding:18px 20px;
}
.hal-stat b{
  display:block;font-family:'Anton',Impact,sans-serif;font-size:2.4rem;line-height:1;color:var(--lime);
}
.hal-stat span{
  display:block;margin-top:6px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);
}
.hal-stat.is-tahelepanu{border-color:rgba(255,200,87,.6);}
.hal-stat.is-tahelepanu b{color:var(--gold-400);}

.hal-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:34px;}
.hal-nav-card{
  display:flex;align-items:flex-start;gap:14px;
  background:rgba(10,18,20,.72);border:1px solid rgba(242,238,225,.16);
  border-radius:18px;padding:18px 20px;color:var(--paper);transition:border-color .16s,transform .16s;
}
.hal-nav-card:hover{border-color:rgba(201,245,73,.55);transform:translateY(-2px);}
.hal-nav-card>i{display:flex;flex:0 0 26px;width:26px;height:26px;color:var(--lime);margin-top:2px;}
.hal-nav-card>i .ico{width:26px;height:26px;}
.hal-nav-card div{flex:1;min-width:0;}
.hal-nav-card b{display:block;font-size:1.05rem;}
.hal-nav-card span{display:block;margin-top:4px;font-size:.82rem;color:var(--steel);line-height:1.45;}
.hal-nav-card em{font-style:normal;color:var(--lime);font-size:1.2rem;align-self:center;}
.hal-nav-card.is-tahelepanu{border-color:rgba(255,200,87,.5);}
.hal-nav-card.is-tahelepanu>i{color:var(--gold-400);}

.hal-panel{
  background:rgba(10,18,20,.72);border:1px solid rgba(201,245,73,.22);
  border-radius:18px;padding:22px 24px;margin:0 0 28px;
}
.hal-panel--seo{border-color:rgba(255,200,87,.4);}
.hal-panel-pea{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;}
.hal-panel-pea>i{display:flex;flex:0 0 26px;width:26px;height:26px;color:var(--lime);margin-top:3px;}
.hal-panel-pea>i .ico{width:26px;height:26px;}
.hal-panel--seo .hal-panel-pea>i{color:var(--gold-400);}
.hal-panel-pea h2{margin:0;font-size:1.35rem;color:var(--paper);}
.hal-panel-pea p{margin:5px 0 0;color:var(--steel);font-size:.86rem;line-height:1.5;max-width:72ch;}
.hal-panel-pea code{
  background:rgba(242,238,225,.1);border-radius:5px;padding:1px 6px;font-size:.85em;color:var(--paper);
}

.hal-mini{display:flex;flex-wrap:wrap;gap:26px;margin-bottom:14px;}
.hal-mini b{
  font-family:'Anton',Impact,sans-serif;font-size:1.7rem;color:var(--lime);line-height:1;margin-right:8px;
}
.hal-mini span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);}

.hal-note{color:var(--steel);font-size:.86rem;line-height:1.6;margin:0 0 14px;max-width:78ch;}
.hal-note b{color:var(--gold-400);font-weight:600;}
.hal-note a{color:var(--lime);text-decoration:underline;}
.hal-note--ok b,.hal-note--ok{color:var(--lime);}

.hal-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0;}
.hal-hint{color:var(--steel);font-size:.78rem;}

/* --- külalisnime sidumine --- */
.hal-seo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;}
.hal-seo{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,200,87,.06);border:1px solid rgba(255,200,87,.28);
  border-radius:14px;padding:12px 14px;margin:0;
}
.hal-seo-nimi{flex:1 1 100%;}
.hal-seo-nimi b{display:block;color:var(--paper);font-size:1rem;}
.hal-seo-nimi span{display:block;color:var(--steel);font-size:.76rem;margin-top:2px;}
.hal-seo select{flex:1 1 150px;min-width:0;}
.hal-seo .btn{flex:0 0 auto;}

@media (max-width:720px){
  .hal-nav-card{flex-wrap:wrap;}
  .hal-stat b{font-size:2rem;}
  .hal-mini{gap:16px;}
}

/* ============================================================ EDETABEL JA
   ETAPI PINGEREA TABELID  (/voistlused)
   .sar-* = sarja edetabel lehe ülaosas
   .pg-*  = ühe etapi pingerida rippmenüü sees
   Mõlemad seisavad tumedal veetaustal; talvise kaardi jääplaadi jaoks on
   allpool eraldi .comp-item--ice ülekirjutused. ------------------------- */
.sar{margin:0 0 clamp(34px,5vw,58px);}
.sar-vali{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.sar-chip{
  appearance:none;border:1px solid rgba(242,238,225,.22);background:rgba(242,238,225,.05);
  color:#cfdcdb;font:inherit;font-size:.86rem;padding:7px 14px;border-radius:999px;
  cursor:pointer;transition:background .18s,border-color .18s,color .18s;
}
.sar-chip:hover{background:rgba(242,238,225,.11);color:#f2eee1;}
.sar-chip.is-on{background:var(--lime);border-color:var(--lime);color:#12251f;font-weight:600;}

.sar-pea{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 14px;}
.sar-nimi{
  margin:0;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.05em;
  font-size:clamp(1.3rem,3.4vw,1.85rem);color:#f2eee1;
}
.sar-alt{margin:0;font-size:.86rem;color:var(--steel);}

.sar-table,.pg-table{font-size:.9rem;}
.sar-table th,.pg-table th{white-space:nowrap;}
.sar-table td,.pg-table td{vertical-align:middle;}

.pg-th-koht{width:1%;}
.pg-koht{
  font-family:'Bebas Neue',Impact,sans-serif;font-size:1.15rem;letter-spacing:.04em;
  color:var(--steel);width:1%;padding-right:16px;
}
.pg-nimi{display:flex;align-items:center;gap:9px;min-width:0;}
.pg-avatar{
  flex:0 0 auto;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;
  font-family:'Bebas Neue',Impact,sans-serif;font-size:.95rem;color:#f2eee1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.pg-tulemus{font-weight:600;color:#f2eee1;white-space:nowrap;}
.pg-lisa{color:var(--steel);font-size:.83rem;}
.pg-th-lisa{width:36%;}

/* Esikolmik saab oma tooni — kuld, hõbe, pronks. */
.pg-poodium--1 .pg-koht{color:var(--gold-400);}
.pg-poodium--2 .pg-koht{color:#cdd7dc;}
.pg-poodium--3 .pg-koht{color:#c98a5a;}
.pg-poodium--1 td{background:linear-gradient(90deg,rgba(212,175,55,.13),transparent 62%);}
.pg-poodium--2 td{background:linear-gradient(90deg,rgba(205,215,220,.09),transparent 62%);}
.pg-poodium--3 td{background:linear-gradient(90deg,rgba(201,138,90,.09),transparent 62%);}

.sar-kala{white-space:nowrap;color:#cfdcdb;}
.sar-kala--tipp{color:var(--lime);font-weight:600;}
.sar-kroon{display:inline-flex;vertical-align:-3px;margin-right:5px;color:var(--lime);}
.sar-kroon .ico{width:15px;height:15px;stroke-width:2;}
.sar-liik{color:var(--steel);font-weight:400;font-size:.82rem;}
.sar-etappe,.sar-voite{text-align:center;color:var(--steel);}
.sar-th-etappe,.sar-th-voite{text-align:center;width:1%;}
.sar-voite{font-weight:600;color:#f2eee1;}

.sar-marge{margin:12px 0 0;font-size:.82rem;line-height:1.55;color:var(--steel);}
.sar-marge--selgitus{opacity:.82;}
.sar-marge b{color:#cfdcdb;font-weight:600;}

/* ---------- Hooajaplokid, punktiarvestus ja tiimid. Steve, 11.09.2026 ----- */
.sar-hooaeg-alt{margin:-6px 0 16px;font-size:.86rem;color:var(--steel);}
.sar-punktid{font-variant-numeric:tabular-nums;color:var(--lime);font-weight:700;}
.sar-kg{text-align:right;color:var(--steel);font-variant-numeric:tabular-nums;}
.sar-th-kg{text-align:right;}
.sar-teine{margin-top:16px;}
.sar-teine > summary{
  cursor:pointer;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;
  font-size:.92rem;color:var(--steel);padding:9px 0;list-style:none;
  display:flex;align-items:center;gap:9px;
}
.sar-teine > summary::-webkit-details-marker{display:none;}
.sar-teine > summary::before{
  content:'';width:8px;height:8px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(-45deg);
  transition:transform .25s var(--ease);flex:0 0 auto;
}
.sar-teine[open] > summary::before{transform:rotate(45deg);}
.sar-teine > summary:hover{color:var(--lime);}

/* Tiimirida pingereas: koosseis kaib nime alla peene reana. */
.pg-koosseis{display:block;font-size:.78rem;color:var(--steel);margin-top:3px;}
.pg-tiim-ico{display:inline-flex;vertical-align:-3px;margin-right:5px;color:var(--steel);}
.pg-tiim-ico .ico{width:15px;height:15px;}

@media (max-width:640px){ .sar-th-kg,.sar-kg{display:none;} }

/* Admini laiad tabelid (etappide jaotus) peavad kitsal ekraanil kerima,
   muidu venitab select kogu lehe laiemaks. */
.hal-tabel-kerib{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.hal-tabel-kerib .hal-tulemused{min-width:520px;}

/* ---------- Admini tiimihaldus (tume paneel) ---------- */
.hal-rida-vorm{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;}
.hal-rida-vorm select,.hal-rida-vorm input{
  border:2px solid rgba(242,238,225,.2);border-radius:9px;padding:8px 11px;
  font-family:inherit;font-size:.9rem;background:rgba(4,22,28,.9);color:var(--paper);
  min-width:0;flex:1 1 auto;
}
.hal-rida-vorm select option{background:#0a1214;color:var(--paper);}
.hal-rida-vorm input[type=number]{flex:0 0 78px;}
.hal-rida-vorm .btn{flex:0 0 auto;white-space:nowrap;}
.hal-tiimid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.hal-tiim{
  background:rgba(242,238,225,.05);border:1.5px solid rgba(242,238,225,.16);
  border-radius:14px;padding:13px 14px;
}
.hal-tiim > header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;}
.hal-tiim > header b{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.09em;font-size:1.08rem;
  color:var(--lime);
}
.hal-tiim ul{list-style:none;margin:0 0 11px;padding:0;display:grid;gap:5px;}
.hal-tiim li{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:.9rem;padding:5px 9px;border-radius:8px;background:rgba(242,238,225,.05);
  color:var(--paper);
}
.hal-tiim li.hal-note{background:none;padding:0;}

/* Etapi info rippmenüü sees: väiksed sildid ühel real. */
.pg-info{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;}
.pg-chip{
  display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#cfdcdb;
  background:rgba(242,238,225,.06);border:1px solid rgba(242,238,225,.13);
  border-radius:999px;padding:5px 11px;
}
.pg-chip b{color:#f2eee1;font-weight:600;}
.pg-chip .ico{width:14px;height:14px;stroke-width:2;color:var(--steel);}

.comp-voitja{color:var(--gold-400);}
.comp-voitja .ico{color:var(--gold-400);}

@media (max-width:640px){
  /* Kitsal ekraanil kaob "Kokku" veerg ja etappide/võitude arv — tulemus on
     tähtsam kui selle lahtiseletus, ja tabel mahub muidu ekraanilt välja. */
  .pg-th-lisa,.pg-lisa,.sar-th-etappe,.sar-etappe{display:none;}
  .pg-avatar{width:22px;height:22px;border-radius:7px;font-size:.82rem;}
  .sar-liik{display:none;}
  .sar-table,.pg-table{font-size:.84rem;}
}

/* Talvise etapi jääplaadil on taust hele — tabel läheb tumedaks. */
.comp-item--ice .pg-chip{background:rgba(255,255,255,.42);border-color:rgba(12,60,84,.22);color:#0c2b38;}
.comp-item--ice .pg-chip b{color:#04222e;}
.comp-item--ice .pg-chip .ico{color:#356b82;}
.comp-item--ice .pg-koht{color:#356b82;}
.comp-item--ice .pg-tulemus{color:#04222e;}
.comp-item--ice .pg-lisa{color:#325e70;}
.comp-item--ice .comp-voitja,.comp-item--ice .comp-voitja .ico{color:#8a5a12;}
.comp-item--ice .pg-poodium--1 td{background:linear-gradient(90deg,rgba(212,175,55,.26),transparent 62%);}
.comp-item--ice .pg-poodium--2 td{background:linear-gradient(90deg,rgba(120,150,165,.18),transparent 62%);}
.comp-item--ice .pg-poodium--3 td{background:linear-gradient(90deg,rgba(201,138,90,.20),transparent 62%);}
.comp-item--ice .pg-poodium--1 .pg-koht{color:#8a5a12;}
.comp-item--ice .pg-poodium--2 .pg-koht{color:#4b6a78;}
.comp-item--ice .pg-poodium--3 .pg-koht{color:#8c5330;}
.link-back{color:var(--lime);border-bottom:1px solid rgba(201,245,73,.4);text-decoration:none;}
.link-back:hover{border-bottom-color:var(--lime);}

/* ------------------------------------------------- admin: võistluste haldus */
.hal-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0;}
.hal-legend span{
  display:flex;flex-direction:column;gap:3px;flex:1 1 220px;
  background:rgba(242,238,225,.05);border:1px solid rgba(242,238,225,.12);
  border-radius:12px;padding:10px 14px;
}
.hal-legend b{color:var(--paper);font-size:.92rem;font-weight:600;}
.hal-legend em{font-style:normal;color:var(--steel);font-size:.76rem;line-height:1.45;}

.hal-voistlus{
  background:rgba(10,18,20,.6);border:1px solid rgba(242,238,225,.13);
  border-radius:18px;padding:20px 22px;margin:0 0 18px;
}
.hal-voistlus-pea{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.hal-voistlus-nimi{min-width:0;flex:1 1 280px;}
.hal-voistlus-nimi h2{margin:0;font-size:1.22rem;color:var(--paper);}
.hal-voistlus-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px;font-size:.78rem;color:var(--steel);}
.hal-voistlus-meta>span{
  background:rgba(242,238,225,.05);border-radius:999px;padding:3px 10px;
  border:1px solid rgba(242,238,225,.1);
}
.hal-voistlus-meta .badge{border-radius:999px;padding:3px 10px;}
.hal-arvestus{color:var(--lime)!important;border-color:rgba(201,245,73,.35)!important;}
.hal-import{color:var(--gold-400)!important;border-color:rgba(255,200,87,.3)!important;}

.hal-kustuta{background:none;border:1px solid rgba(200,74,58,.45);color:#e08a7c;display:inline-flex;align-items:center;gap:7px;}
.hal-kustuta:hover{background:rgba(200,74,58,.16);color:#f2b6ab;}
.hal-kustuta i{display:flex;}
.hal-kustuta .ico{width:15px;height:15px;}

.hal-pingerida{margin:18px 0 4px;}
.hal-pingerida h3{margin:0 0 10px;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;color:var(--steel);}
.hal-pingerida h3 em{font-style:normal;text-transform:none;letter-spacing:0;opacity:.8;}
.hal-pingerida ol{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.hal-pingerida li{font-size:.9rem;color:#cfdcdb;}
.hal-pingerida li b{color:var(--lime);font-family:'Bebas Neue',Impact,sans-serif;font-size:1.05rem;margin-right:5px;}

.hal-lisa{margin-top:16px;border-top:1px solid rgba(242,238,225,.09);padding-top:14px;}
.hal-lisa>summary{
  cursor:pointer;display:flex;align-items:center;gap:9px;
  font-size:.86rem;font-weight:600;color:var(--lime);list-style:none;
}
.hal-lisa>summary::-webkit-details-marker{display:none;}
.hal-lisa>summary i{display:flex;}
.hal-lisa>summary .ico{width:16px;height:16px;}
.hal-lisa>summary:hover{color:var(--paper);}

.hal-vorm{margin-top:16px;}
.hal-vorm-rida{display:grid;gap:13px;margin-bottom:13px;}
.hal-vorm-rida--2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.hal-vorm-rida--3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}

.hal-tulemused{width:100%;border-collapse:collapse;margin-top:18px;font-size:.85rem;color:#cfdcdb;}
.hal-tulemused th{
  text-align:left;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--steel);border-bottom:1px solid rgba(242,238,225,.16);padding:7px 10px 7px 0;
}
.hal-tulemused td{padding:7px 10px 7px 0;border-bottom:1px solid rgba(242,238,225,.07);vertical-align:middle;}
.hal-tulemused td:last-child{text-align:right;padding-right:0;}
.hal-tulemused .hal-kustuta{padding:5px 8px;}

/* ================================================================= XP JA
   LEVEL  (veebijärv)
   .xp-hud  — püsiriba püügikoha lehel, mujal välgatab püügi peale
   .lvl-up  — leveli tõusu hüüd
   .cc-xp   — rida püügikaardil
   .xpk-*   — XP-kaart ja tabelid lehtedel (saavutused, järv, profiil) --- */
/* Vasak alanurk on soodavalija ja parem puugipaeviku riba kaes, seega
   XP-riba istub all keskel. */
.xp-hud{
  position:fixed;left:50%;bottom:clamp(10px,2vw,20px);z-index:62;
  display:flex;align-items:center;gap:12px;padding:9px 16px 9px 11px;border-radius:16px;
  background:var(--ink);border:2px solid var(--gold-400);color:var(--paper);
  box-shadow:0 12px 30px -14px #000;pointer-events:none;
  transform:translate(-50%,14px);opacity:0;transition:.35s var(--ease);
  width:max-content;max-width:min(86vw,340px);
}
.xp-hud.is-visible{opacity:1;transform:translate(-50%,0);}
.xp-lvl{display:flex;flex-direction:column;align-items:center;line-height:1;flex:0 0 auto;}
.xp-lvl i{font-style:normal;font-size:.58rem;letter-spacing:.2em;color:var(--steel);}
.xp-lvl b{font-family:'Anton',Impact,sans-serif;font-size:1.7rem;color:var(--gold-400);}
.xp-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto;}
.xp-nimi{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.9rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.xp-rail{display:block;height:5px;border-radius:99px;background:rgba(242,238,225,.16);overflow:hidden;}
.xp-rail i{display:block;height:100%;background:var(--gold-400);border-radius:99px;transition:width .5s var(--ease);}
.xp-txt{font-size:.68rem;color:var(--steel);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.lvl-up{
  position:fixed;left:50%;top:22%;z-index:80;transform:translate(-50%,-14px) scale(.94);
  display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;
  padding:20px 34px;border-radius:20px;pointer-events:none;
  background:var(--ink);border:2px solid var(--gold-400);
  box-shadow:0 26px 60px -20px #000, 0 0 0 6px rgba(255,200,87,.12);
  opacity:0;transition:.5s var(--ease);
}
.lvl-up.is-visible{opacity:1;transform:translate(-50%,0) scale(1);}
.lvl-up b{font-family:'Anton',Impact,sans-serif;font-size:1.5rem;letter-spacing:.06em;color:var(--gold-400);line-height:1;}
.lvl-up span{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:1.5rem;color:var(--paper);line-height:1.1;}
.lvl-up small{font-size:.78rem;color:var(--steel);}

.cc-xp{display:flex;align-items:baseline;gap:8px;margin-top:6px;}
.cc-xp b{font-family:'Anton',Impact,sans-serif;font-size:1.05rem;color:#8a5a12;letter-spacing:.03em;}
.cc-xp span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);}

/* --- XP kaart ja tabelid lehtedel -------------------------------------- */
.xpk{
  display:flex;align-items:center;gap:clamp(14px,3vw,24px);flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(255,200,87,.11),rgba(10,18,20,.6));
  border:1px solid rgba(255,200,87,.34);border-radius:20px;padding:20px 24px;margin:0 0 24px;
}
.xpk-ring{
  flex:0 0 auto;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--gold-400) calc(var(--pct,0) * 1%), rgba(242,238,225,.13) 0);
}
.xpk-ring b{
  width:64px;height:64px;border-radius:50%;background:var(--ink);display:grid;place-items:center;
  font-family:'Anton',Impact,sans-serif;font-size:1.7rem;color:var(--gold-400);
}
.xpk-txt{flex:1 1 220px;min-width:0;}
.xpk-nimi{
  margin:0;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.05em;
  font-size:clamp(1.3rem,3.4vw,1.8rem);color:var(--paper);
}
.xpk-alt{margin:4px 0 0;font-size:.86rem;color:var(--steel);line-height:1.5;}
.xpk-alt b{color:var(--gold-400);font-weight:600;}
.xpk-arvud{display:flex;gap:22px;flex-wrap:wrap;}
.xpk-arv{display:flex;flex-direction:column;gap:2px;}
.xpk-arv b{font-family:'Anton',Impact,sans-serif;font-size:1.5rem;color:var(--paper);line-height:1;}
.xpk-arv span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--steel);}

.xp-tabel{width:100%;border-collapse:collapse;font-size:.88rem;color:#cfdcdb;}
.xp-tabel th{
  text-align:left;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:.78rem;
  color:var(--steel);border-bottom:2px solid rgba(242,238,225,.18);padding:8px 12px 8px 0;white-space:nowrap;
}
.xp-tabel td{padding:8px 12px 8px 0;border-bottom:1px solid rgba(242,238,225,.08);}
.xp-tabel .xp-arv{font-family:'Anton',Impact,sans-serif;color:var(--gold-400);font-size:1.05rem;}
.xp-tabel .xp-max{color:var(--steel);}
.xp-tabel tr.is-mina td{background:linear-gradient(90deg,rgba(201,245,73,.12),transparent 62%);}
.xp-tase-silt{
  display:inline-block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(242,238,225,.2);border-radius:999px;padding:2px 8px;color:var(--steel);
}
.xp-redel{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:18px;}
.xp-redel-tase{
  display:flex;align-items:baseline;gap:8px;padding:9px 12px;border-radius:12px;
  background:rgba(242,238,225,.04);border:1px solid rgba(242,238,225,.1);font-size:.82rem;color:var(--steel);
}
.xp-redel-tase b{font-family:'Anton',Impact,sans-serif;color:var(--steel);font-size:1rem;}
.xp-redel-tase.is-tehtud{background:rgba(255,200,87,.1);border-color:rgba(255,200,87,.3);color:#f2eee1;}
.xp-redel-tase.is-tehtud b{color:var(--gold-400);}
.xp-redel-tase.is-nyyd{background:var(--gold-400);border-color:var(--gold-400);color:#231a05;font-weight:600;}
.xp-redel-tase.is-nyyd b{color:#231a05;}
.xp-redel-tase i{font-style:normal;margin-left:auto;font-size:.72rem;opacity:.75;}

.pill-xp{
  display:inline-flex;align-items:center;gap:4px;font-size:.7rem;letter-spacing:.06em;
  background:rgba(255,200,87,.14);border:1px solid rgba(255,200,87,.34);color:var(--gold-400);
  border-radius:999px;padding:1px 8px;font-weight:600;
}

@media (max-width:640px){
  .xp-hud{max-width:calc(100vw - 20px);bottom:76px;}
  .xpk-ring{width:66px;height:66px;}
  .xpk-ring b{width:52px;height:52px;font-size:1.3rem;}
}
.mk-pea--vaike{margin:32px 0 12px;font-size:clamp(1.1rem,2vw,1.4rem);}
.jv-rank-xp{display:block;font-style:normal;font-size:.7rem;color:var(--gold-400);letter-spacing:.06em;}
.tase-samm-valikust{opacity:.7;font-size:.88em;}

/* ============================================================== AJA HUD
   Mängu kell on alati nähtaval: kellaaeg, päike või kuu ja kellaaja nimi.
   Toon tuleb perioodist — koit ja eha on soojad, päev hele, öö külm. --- */
.aeg-hud{
  /* top tuleb JS-ist (lake.js aegPaika) — mooedab navi paris korguse.
     Siin olev vaartus on ainult varuvariant enne esimest mootmist. */
  position:fixed;right:clamp(10px,2vw,20px);top:86px;z-index:62;
  display:flex;align-items:center;gap:10px;padding:8px 15px 8px 10px;border-radius:999px;
  background:rgba(10,18,20,.86);border:2px solid var(--aeg,#8fa3a8);color:var(--paper);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 14px 34px -18px #000;pointer-events:none;
}
.aeg-hud[data-periood="koit"]  { --aeg:#ff9a4d; }
.aeg-hud[data-periood="hommik"]{ --aeg:#ffd88a; }
.aeg-hud[data-periood="paev"]  { --aeg:#ffc857; }
.aeg-hud[data-periood="eha"]   { --aeg:#ff7043; }
.aeg-hud[data-periood="oo"]    { --aeg:#7ea8d8; }

.aeg-taevas{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;color:var(--aeg,#ffc857);}
.aeg-taevas svg{width:24px;height:24px;grid-area:1/1;}
/* Päike ja kuu vahetuvad päikesetõusu ja loojangu järgi, mitte perioodi nime järgi */
.aeg-hud.on-paev .aeg-kuu,
.aeg-hud.on-oo .aeg-paike{display:none;}
.aeg-hud.on-paev .aeg-paike{animation:aegPaike 9s linear infinite;}
@keyframes aegPaike{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.aeg-hud .aeg-paike{animation:none;}}

.aeg-txt{display:flex;flex-direction:column;line-height:1.05;min-width:0;}
.aeg-kell{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-size:1.15rem;
  color:var(--paper);font-weight:400;
}
.aeg-nimi{
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--aeg,var(--steel));
  white-space:nowrap;
}

@media (max-width:640px){
  .aeg-hud{padding:6px 12px 6px 8px;gap:8px;}
  .aeg-taevas{width:22px;height:22px;}
  .aeg-taevas svg{width:20px;height:20px;}
  .aeg-kell{font-size:1rem;}
}
/* Leveli tõstetud trofeelagi püügiviisi kaardil */
.sp-viis-boost{
  display:inline-block;margin-left:3px;font-size:.82em;color:var(--gold-400);font-weight:700;
  vertical-align:1px;
}


/* Peibutusvali registreerimisvormil — nahtamatu inimesele, taidetav robotile.
   display:none oleks liiga ilmne, seega viime ta lihtsalt vaateaknast valja. */
.hp-vali { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* =========================================================================
   TEST JÄRV — esimese isiku vaade paadisillalt
   -------------------------------------------------------------------------
   KOGU MÄNG ELAB ÜHES KASTIS (.tj-stseen) ja iga nupp on selle ÜLEKIHT.
   Nii töötab sama asi ka täisekraanil telefoni külili asendis, kus lehe
   ülejäänud osa ei ole nähtav. Kui lisad uue juhtelemendi, pane ta kasti
   SISSE, mitte alla.
   ========================================================================= */
.tj-leht{max-width:1180px;margin:0 auto;padding:110px 20px 70px;}
.tj-pea{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:14px;}
.tj-pea h1{margin:2px 0 0;}
.tj-kicker{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.18em;font-size:.72rem;color:var(--gold-400);margin:0;}
.tj-tagasi{color:var(--steel);font-size:.9rem;border-bottom:1px solid rgba(242,238,225,.25);}
.tj-tagasi:hover{color:var(--lime);border-color:var(--lime);}
.tj-lead{color:#cfdcdb;max-width:74ch;margin:18px 0 0;}

.tj-mang{width:100%;}
.tj-stseen{
  position:relative;width:100%;aspect-ratio:16/9;max-height:min(72vh,660px);
  border-radius:18px;overflow:hidden;background:#06131a;
  border:2px solid rgba(201,245,73,.18);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  cursor:crosshair;user-select:none;-webkit-user-select:none;touch-action:manipulation;
  --tj-pad:12px; --tj-chip:.72rem;
}
.tj-stseen canvas{display:block;width:100%;height:100%;}

/* --- täisekraan: kast võtab terve ekraani ja kaotab raamid ------------- */
.tj-stseen:fullscreen,
.tj-stseen:-webkit-full-screen{
  width:100vw;height:100vh;max-height:none;aspect-ratio:auto;border-radius:0;border:none;
}
/* 10.10.2026: AINULT mängu- ja kaardilõuend. Varem „canvas" tabas ka minikaarti
   (ja riidekapi eelvaadet) — täisekraanis kattis minikaart kogu ekraani. */
.tj-stseen:fullscreen #tj-canvas,.tj-stseen:fullscreen #tj-jaa-canvas{width:100vw;height:100vh;}
.tj-stseen:-webkit-full-screen #tj-canvas,.tj-stseen:-webkit-full-screen #tj-jaa-canvas{width:100vw;height:100vh;}

/* --- ülekihtide ribad -------------------------------------------------- */
.tj-riba{position:absolute;left:0;right:0;display:flex;gap:10px;padding:var(--tj-pad);
  pointer-events:none;z-index:4;}
.tj-riba--yles{top:0;align-items:flex-start;justify-content:space-between;}
.tj-riba--alla{bottom:0;align-items:flex-end;justify-content:space-between;}
.tj-riba > *{pointer-events:auto;}

.tj-klaas{background:rgba(4,20,26,.58);backdrop-filter:blur(6px);
  border:1px solid rgba(242,238,225,.14);border-radius:12px;}

.tj-kell,.tj-tase,.tj-ilm,.tj-karp{background:rgba(4,20,26,.58);backdrop-filter:blur(6px);
  border:1px solid rgba(242,238,225,.14);border-radius:12px;}

.tj-kell{padding:6px 11px;display:flex;flex-direction:column;line-height:1.05;flex:0 0 auto;}
.tj-kell b{font-family:'Anton',Impact,sans-serif;font-size:1.15rem;color:var(--lime);}
.tj-kell span{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);}

/* tase + XP */
.tj-tase{padding:6px 12px 8px;display:flex;align-items:center;gap:9px;flex:0 1 auto;min-width:0;position:relative;}
.tj-tase-nr{font-family:'Anton',Impact,sans-serif;font-size:1.35rem;color:var(--gold-400);line-height:1;}
.tj-tase-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.tj-tase-txt b{font-size:.76rem;color:#eef4f2;white-space:nowrap;}
.tj-tase-txt i{font-style:normal;font-size:.62rem;color:var(--steel);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:22ch;}
.tj-xp-rada{position:absolute;left:8px;right:8px;bottom:3px;height:3px;border-radius:99px;
  background:rgba(242,238,225,.16);overflow:hidden;}
.tj-xp-rada i{display:block;height:100%;background:var(--gold-400);transition:width .4s var(--ease,ease);}

/* ilma ikoonid */
.tj-ilm{padding:5px 8px;display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-end;}
.tj-ilm-tk{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:8px;
  font-size:var(--tj-chip);color:#cfdcdb;line-height:1;}
.tj-ilm-tk svg{width:16px;height:16px;flex:0 0 auto;opacity:.85;}
.tj-ilm-tk b{font-weight:600;color:#eef4f2;font-size:var(--tj-chip);}
/* m/s on teisejärguline number palli kõrval — hoiame ta vaiksemana. */
.tj-ilm-tk u{text-decoration:none;color:#9fb0af;font-size:calc(var(--tj-chip) * .92);
  font-variant-numeric:tabular-nums;}
.tj-ilm-tk u::before{content:'·';margin-right:3px;opacity:.6;}
.tj-nool{font-style:normal;color:var(--lime);font-size:.8rem;line-height:1;display:inline-block;}
.tj-nool.on-alla{color:#ff9d7a;}
button.tj-taisekraan{background:rgba(242,238,225,.06);border:1px solid rgba(242,238,225,.18);
  cursor:pointer;padding:5px;border-radius:8px;color:#cfdcdb;}
button.tj-taisekraan:hover{color:var(--lime);border-color:var(--lime);}

/* --- landikarp ja liinikarp ------------------------------------------- */
.tj-karp{padding:7px 9px 8px;max-width:38%;}
.tj-karp--liin{text-align:right;}
.tj-karp-silt{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.58rem;text-transform:uppercase;color:var(--steel);margin-bottom:5px;}
.tj-karp-read{display:flex;gap:6px;flex-wrap:wrap;}
.tj-lant{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:6px 8px;min-width:52px;border-radius:10px;cursor:pointer;
  background:rgba(242,238,225,.05);border:1.5px solid rgba(242,238,225,.16);
  color:#cfdcdb;font-size:.66rem;line-height:1.1;transition:all .15s var(--ease,ease);
}
.tj-lant:hover:not(.on-lukus){border-color:rgba(201,245,73,.6);color:#eef4f2;}
.tj-lant.on{background:rgba(201,245,73,.16);border-color:var(--lime);color:var(--lime);}
.tj-lant.on-lukus{opacity:.42;cursor:not-allowed;}
.tj-lant.on-ei-sobi{opacity:.5;filter:saturate(.3);}   /* ritv ei heida seda sööta */
.tj-lant-ico svg{width:20px;height:20px;}
.tj-lant-nimi{white-space:nowrap;}
.tj-lant-alt{font-size:.58rem;color:var(--steel);}
.tj-lant--liin{min-width:56px;}
.tj-lukk{position:absolute;top:-6px;right:-6px;background:#0c1c22;border-radius:50%;padding:2px;
  border:1px solid rgba(242,238,225,.2);}
.tj-lukk svg{width:11px;height:11px;color:#ff9d7a;}

/* --- nupud ------------------------------------------------------------- */
/* Tegevusnupud on ekraani KÜLJEL, vertikaalses sambas. Telefoni külili
   hoides jääb pöial siia; keskel oleks kerimise all hoidmine kohmakas.
   Külg on vahetatav (.on-vasak) ja valik elab seadme localStorage'is. */
.tj-nupud{position:absolute;z-index:6;top:50%;transform:translateY(-50%);
  right:var(--tj-pad);display:flex;flex-direction:column;align-items:stretch;gap:8px;
  max-width:38%;pointer-events:none;}
/* Sammas ise on läbiklõpsatav — muidu blokeeriks ta nuppude vahelt
   viskamise. Ainult nupud ise püüavad klõpsu kinni. */
.tj-nupud .tj-nupp{pointer-events:auto;}
.tj-stseen.on-vasak .tj-nupud{right:auto;left:var(--tj-pad);}
.tj-nupud .tj-nupp{width:100%;}

/* RÜSELUSE AJAL rändab nupp: iga rünnaku juures hüppab ta uude kohta.
   `on-rannak` võtab samba paigutuse maha ja laseb JS-il left/top panna.
   Üleminek on tahtlikult kiire (.18s) — mängija peab nägema, KUHU ta
   läks, aga mitte ootama, kuni ta kohale jõuab. */
.tj-nupud.on-rannak{top:auto;right:auto;max-width:none;
  transition:left .18s var(--ease,ease), top .18s var(--ease,ease);}
.tj-nupud.on-rannak .tj-nupp{width:auto;padding:16px 34px;font-size:1.05rem;
  box-shadow:0 0 0 3px rgba(4,16,22,.55), 0 10px 26px rgba(0,0,0,.45);}
/* Lühike pulss uues kohas — silm leiab ta kiiremini üles. */
.tj-nupud.on-rannak .tj-nupp--keri{animation:tj-hype .5s ease-out;}
@keyframes tj-hype{
  0%{transform:scale(.72);opacity:.35;}
  60%{transform:scale(1.06);opacity:1;}
  100%{transform:scale(1);opacity:1;}
}
.tj-nupp{
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;font-size:1rem;
  padding:13px 30px;border-radius:99px;border:2px solid rgba(242,238,225,.3);
  background:rgba(4,20,26,.6);backdrop-filter:blur(6px);color:#eef4f2;cursor:pointer;
  transition:all .16s var(--ease,ease);white-space:nowrap;
}
/* Hover AINULT hiirega. Puuteekraanil jääb :hover pärast puudutust
   külge ja VISKA-nupu kiri muutus lubjaseks lubja peal — nähtamatuks.
   Vt õppetund nr 20. Ja :not(:disabled) tõstis üldreegli spetsiifilisuse
   värvinupu omast kõrgemaks, seega kandub sama kaitse ka sinna. */
@media (hover:hover) and (pointer:fine) {
  /* tj22b: avalehe teemas hõljumine = nihe + suurem vari (vt "JÄRVE TEEMA").
     Siin värvi EI muudeta — tumeda teema laimitekst laimil nupul kadus. */
  .tj-nupp--peamine:hover:not(:disabled){filter:brightness(1.06);}
}
.tj-nupp:disabled{opacity:.45;cursor:default;}
.tj-nupp--vaike{padding:7px 16px;font-size:.78rem;}
.tj-nupp--peamine{background:var(--lime);border-color:var(--lime);color:#06131a;}
.tj-nupp--loo{background:#e0553f;border-color:#e0553f;color:#fff;animation:tj-tuks .9s infinite;}
.tj-nupp--keri{background:var(--gold-400);border-color:var(--gold-400);color:#1a1205;}
@keyframes tj-tuks{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

/* Vihje, pinge ja edu istuvad ALUMISE RIBA kohal. Riba kõrgus ei ole
   konstant: landikarp murdub kahele reale, kui söödad avanevad, ja
   külili asendis on ta madalam. Seepärast tuleb --alariba JS-ist, kus
   ta päriselt ära mõõdetakse (sama viga nagu õppetund nr 16). */
.tj-vihje{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--alariba, 96px) + 12px);
  margin:0;color:#cfdcdb;font-size:.8rem;text-align:center;max-width:46ch;pointer-events:none;
  text-shadow:0 2px 8px rgba(0,0,0,.8);z-index:3;}

/* --- teated ------------------------------------------------------------ */
.tj-yle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;padding:20px;z-index:5;}
.tj-sonum{
  display:block;max-width:28ch;text-align:center;padding:13px 20px;border-radius:14px;
  background:rgba(4,16,22,.82);backdrop-filter:blur(6px);
  border:2px solid rgba(242,238,225,.16);color:#eef4f2;font-size:.95rem;line-height:1.45;
  animation:tj-ilmu .25s var(--ease,ease) both;
}
.tj-sonum b{font-family:'Anton',Impact,sans-serif;font-size:1.35rem;letter-spacing:.02em;}
.tj-sonum i{font-style:normal;color:var(--gold-400);font-size:.84rem;}
.tj-sonum--hea{border-color:var(--lime);} .tj-sonum--hea b{color:var(--lime);}
.tj-sonum--halb{border-color:#c2503f;} .tj-sonum--halb b{color:#ff8f7a;}
@keyframes tj-ilmu{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}

/* --- rüselus ----------------------------------------------------------- */
.tj-pinge{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--alariba, 96px) + 52px);
  width:min(420px,70%);pointer-events:none;z-index:4;}
.tj-pinge-riba{display:block;position:relative;height:14px;border-radius:99px;
  background:rgba(4,16,22,.75);border:1px solid rgba(242,238,225,.22);overflow:hidden;}
.tj-pinge-riba b{display:block;height:100%;width:0;border-radius:99px;background:var(--lime);
  transition:width .06s linear;}
.tj-pinge-riba b.on-hea{background:var(--lime);}
.tj-pinge-riba b.on-lotv{background:#6a8fa0;}
.tj-pinge-riba b.on-ule{background:#e0553f;}
.tj-pinge-hea{position:absolute;top:0;bottom:0;border-left:2px solid rgba(201,245,73,.55);
  border-right:2px solid rgba(201,245,73,.55);pointer-events:none;}
.tj-pinge span{display:block;text-align:center;margin-top:4px;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel);text-shadow:0 2px 6px rgba(0,0,0,.8);}
.tj-edu{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--alariba, 96px) + 34px);
  width:min(420px,70%);height:7px;border-radius:99px;background:rgba(4,16,22,.75);
  border:1px solid rgba(242,238,225,.18);overflow:hidden;pointer-events:none;z-index:4;}
.tj-edu i{display:block;height:100%;width:0;background:var(--gold-400);transition:width .1s linear;}

/* --- saagikaart: siin näeb mängija esimest korda, kes seal all oli ----- */
.tj-saak{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(3,12,16,.72);backdrop-filter:blur(3px);z-index:9;padding:16px;}
.tj-saak-kaart{
  max-width:min(420px,92%);text-align:center;padding:20px 24px 18px;border-radius:18px;
  background:rgba(8,26,32,.96);border:2px solid var(--lime);
  box-shadow:0 20px 60px rgba(0,0,0,.6);animation:tj-ilmu .3s var(--ease,ease) both;
}
.tj-saak-pilt{margin-bottom:6px;}
.tj-saak-pilt svg{width:100%;max-width:280px;height:auto;}
.tj-saak-kaart b{display:block;font-family:'Anton',Impact,sans-serif;font-size:1.9rem;
  color:var(--lime);letter-spacing:.01em;line-height:1.05;}
.tj-saak-kaart span{display:block;color:#eef4f2;font-size:1rem;margin-top:2px;}
.tj-saak-kaart i{display:block;font-style:normal;color:var(--gold-400);font-size:.84rem;
  margin-top:6px;line-height:1.4;}
.tj-saak-kaart .tj-nupp{margin-top:14px;}

/* --- kalaraamat -------------------------------------------------------- */
.tj-raamat{margin-top:44px;}
.tj-raamat-pea h2{margin:0 0 4px;}
.tj-raamat-pea p{color:var(--steel);max-width:66ch;margin:0 0 20px;font-size:.92rem;}
.tj-edasi{margin:18px 0 6px;padding:13px 17px;border-radius:12px;background:rgba(242,238,225,.05);
  border:1px solid rgba(242,238,225,.14);}
.tj-edasi b{display:block;color:var(--gold-400);font-size:.92rem;margin-bottom:6px;}
.tj-edasi ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;color:#cfdcdb;font-size:.86rem;}
.tj-edasi li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;}
.tj-edasi li i{font-style:normal;color:#9fb0af;font-variant-numeric:tabular-nums;}
.tj-edasi li.on-tehtud{color:var(--lime);}
.tj-edasi li.on-tehtud i{color:var(--lime);}
.tj-edasi-riba{grid-column:1 / -1;height:4px;border-radius:3px;background:rgba(242,238,225,.1);overflow:hidden;}
.tj-edasi-riba b{display:block;height:100%;border-radius:3px;background:var(--gold-400);}
.tj-edasi li.on-tehtud .tj-edasi-riba b{background:var(--lime);}
.tj-raamat-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:8px;}
.tj-kaart{padding:14px 16px;border-radius:14px;background:rgba(242,238,225,.05);
  border:1.5px solid rgba(242,238,225,.12);display:flex;flex-direction:column;gap:3px;}
.tj-kaart-pilt{margin-bottom:4px;}
.tj-kaart-pilt svg{width:100%;max-width:190px;height:auto;}
.tj-kaart b{font-family:'Anton',Impact,sans-serif;font-size:1.15rem;color:var(--lime);letter-spacing:.01em;}
.tj-kaart span{font-size:.82rem;color:#cfdcdb;}
.tj-kaart i{display:block;font-style:normal;font-size:.75rem;color:var(--steel);}
.tj-tyhi{color:var(--steel);}
.tj-saamata-pea{margin:30px 0 10px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;
  font-size:.95rem;color:var(--steel);text-transform:uppercase;}
.tj-saamata{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.tj-saamata li{padding:10px 14px;border-radius:12px;background:rgba(224,85,63,.07);
  border-left:3px solid rgba(224,85,63,.5);font-size:.88rem;color:#cfdcdb;}
.tj-saamata li b{color:#ff8f7a;font-weight:600;}
.tj-saamata li span{display:block;font-size:.76rem;color:var(--steel);margin-top:2px;}
.tj-margus{margin-top:38px;padding:14px 18px;border-radius:12px;background:rgba(201,245,73,.06);
  border:1px solid rgba(201,245,73,.2);color:#cfdcdb;font-size:.86rem;}

/* =========================== KITSAS JA MADAL EKRAAN ======================
   Telefon külili on mängu päris kodu: seal on kast peaaegu ruudust laiem
   ja kõrgust vähe. Kõik ülekihid lähevad väiksemaks ja karbid kitsamaks,
   et vesi jääks nähtavaks. */
@media (max-width:720px){
  .tj-leht{padding:96px 12px 56px;}
  .tj-stseen{aspect-ratio:4/3;max-height:64vh;--tj-pad:8px;--tj-chip:.62rem;}
  .tj-karp{max-width:42%;}
  .tj-lant{min-width:44px;padding:5px 6px;font-size:.6rem;}
  .tj-lant-ico svg{width:17px;height:17px;}
  .tj-nupp{padding:11px 20px;font-size:.88rem;}
  .tj-vihje{display:none;}
  .tj-ilm-tk svg{width:14px;height:14px;}
  /* Kitsas ekraanis on m/s infomahukam kui pall — pall läheb title alla. */
  #tj-i-tuul b{display:none;}
  #tj-i-tuul u::before{content:none;}
}

/* ---------------------------------------------------- KOHAVALIK ------- */
.tj-kohanupp{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:10px;
  border:1px solid rgba(242,238,225,.16);background:rgba(4,16,20,.55);color:#eef4f2;
  font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:var(--tj-chip);
  cursor:pointer;backdrop-filter:blur(3px);}
.tj-kohanupp:hover{border-color:var(--lime);color:var(--lime);}
.tj-kohanupp svg{width:15px;height:15px;opacity:.85;}
.tj-kohanupp i{font-style:normal;color:#9fb0af;font-size:.86em;}

.tj-kv{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;
  padding:var(--tj-pad);background:rgba(3,12,16,.82);backdrop-filter:blur(4px);}
.tj-kv-kast{width:min(760px,100%);max-height:100%;overflow:auto;border-radius:14px;
  border:1px solid rgba(242,238,225,.14);background:rgba(8,22,27,.96);padding:14px 16px;}
.tj-kv-pea{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.tj-kv-pea b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;
  font-size:1.05rem;color:var(--lime);}
.tj-kv-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
.tj-koht{display:grid;gap:2px;text-align:left;padding:9px 11px;border-radius:11px;cursor:pointer;
  border:1px solid rgba(242,238,225,.13);background:rgba(242,238,225,.045);color:#eef4f2;}
.tj-koht:hover{border-color:var(--lime);}
.tj-koht.on{border-color:var(--lime);background:rgba(190,242,100,.12);}
.tj-koht-ico{color:var(--gold-400);}
.tj-koht-ico svg{width:18px;height:18px;}
.tj-koht-nimi{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.05em;font-size:.98rem;}
.tj-koht-syg{color:var(--lime);font-size:.76rem;font-variant-numeric:tabular-nums;}
.tj-koht-pohi{color:#9fb0af;font-size:.76rem;line-height:1.35;}
.tj-koht-noue{display:flex;align-items:center;gap:4px;color:var(--gold-400);font-size:.72rem;margin-top:2px;}
.tj-koht-noue svg{width:12px;height:12px;flex:0 0 auto;}
.tj-koht.on-lukus{opacity:.55;cursor:not-allowed;}
.tj-koht.on-lukus:hover{border-color:rgba(242,238,225,.13);}

.tj-kv-viisid{margin-top:12px;padding-top:10px;border-top:1px solid rgba(242,238,225,.1);}
.tj-viisi-read{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.tj-viis{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;cursor:pointer;
  border:1px solid rgba(242,238,225,.13);background:rgba(242,238,225,.045);color:#eef4f2;font-size:.84rem;}
.tj-viis:hover{border-color:var(--lime);}
.tj-viis.on{border-color:var(--lime);background:rgba(190,242,100,.12);color:var(--lime);}
.tj-viis.on-lukus{opacity:.5;cursor:not-allowed;}
.tj-viis svg{width:16px;height:16px;}
.tj-viis .tj-lukk svg{width:12px;height:12px;}

/* ------------------------------------------------------ KALAKAUP ------ */
/* Rahakiip kasutab lehe põhikirja, MITTE Bebas Neue'd: meie Bebase
   latin-alamhulgas ei ole euromärki ja "2068,20 €" tuli välja kujul
   "2068,20 6" (vt õppetund nr 21). */
.tj-raha{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:10px;
  border:1px solid rgba(242,238,225,.16);background:rgba(4,16,20,.55);color:var(--lime);
  font-size:var(--tj-chip);font-weight:600;
  cursor:pointer;backdrop-filter:blur(3px);font-variant-numeric:tabular-nums;}
.tj-raha:hover{border-color:var(--lime);}
.tj-raha svg{width:15px;height:15px;opacity:.8;}

.tj-pood{position:absolute;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;
  padding:var(--tj-pad);background:rgba(3,12,16,.85);backdrop-filter:blur(4px);}
.tj-pood-kast{width:min(880px,100%);max-height:100%;overflow:auto;border-radius:14px;
  border:1px solid rgba(242,238,225,.14);background:rgba(8,22,27,.97);padding:14px 16px;}
.tj-pood-raha{margin-left:auto;margin-right:10px;color:#9fb0af;font-size:.82rem;}
.tj-pood-raha i{font-style:normal;color:var(--lime);font-variant-numeric:tabular-nums;}
.tj-pood-pooled{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;margin-top:10px;}
.tj-pood h3{margin:0 0 6px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.09em;
  font-size:.95rem;color:var(--gold-400);}
.tj-pood-kokku{margin:0 0 8px;color:#cfdcdb;font-size:.84rem;}
.tj-pood-kokku b{color:var(--lime);font-variant-numeric:tabular-nums;}
.tj-myyk-read{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;max-height:210px;overflow:auto;}
.tj-myyk-read li{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;color:#cfdcdb;
  padding:4px 8px;border-radius:8px;background:rgba(242,238,225,.04);}
.tj-myyk-read li i{font-style:normal;color:var(--lime);font-variant-numeric:tabular-nums;}
.tj-pood-grupp{margin-bottom:12px;}
.tj-pood-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-top:5px;}
.tj-ost{display:grid;gap:1px;text-align:left;padding:7px 10px;border-radius:10px;cursor:pointer;
  border:1px solid rgba(242,238,225,.13);background:rgba(242,238,225,.045);color:#eef4f2;font-size:.8rem;}
.tj-ost:hover:not(:disabled){border-color:var(--lime);}
.tj-ost b{font-weight:600;}
.tj-ost i{font-style:normal;color:var(--lime);font-size:.76rem;font-variant-numeric:tabular-nums;}
.tj-ost.on-olemas{opacity:.55;cursor:default;}
.tj-ost.on-olemas i{color:var(--steel);}
.tj-ost:disabled{opacity:.45;cursor:not-allowed;}
.tj-ost:disabled i{color:var(--gold-400);}

/* Madal ekraan (telefon külili). Mäng võtab kogu vaate; menüü jääb
   alles, sest ilma täisekraanita peab kusagilt ka välja saama. */
@media (orientation:landscape) and (max-height:560px){
  .tj-leht{padding:calc(var(--navi-korgus, 64px) + 6px) 8px 8px;}
  .tj-stseen{aspect-ratio:auto;height:calc(100vh - var(--navi-korgus, 64px) - 14px);
    max-height:none;--tj-pad:6px;--tj-chip:.56rem;border-radius:12px;}
  .tj-pea,.tj-lead,.tj-raamat,.tj-margus{display:none;}
  .tj-karp-silt{display:none;}
  .tj-karp{padding:4px 5px;max-width:30%;}
  .tj-karp-read{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .tj-karp-read::-webkit-scrollbar{display:none;}
  .tj-lant{min-width:38px;padding:4px 5px;flex:0 0 auto;}
  .tj-lant-nimi{display:none;}
  .tj-lant--liin .tj-lant-nimi{display:none;}
  .tj-lant--liin .tj-lant-alt{display:block;font-size:.62rem;color:#cfdcdb;}
  .tj-lant--liin{min-width:40px;}
  .tj-nupp{padding:9px 18px;font-size:.82rem;}
  .tj-nupp--vaike{padding:5px 12px;font-size:.68rem;}
  .tj-nupud{gap:6px;max-width:30%;}
  .tj-nupud.on-rannak .tj-nupp{padding:12px 26px;font-size:.92rem;}
  .tj-tase-txt i{display:none;}
  .tj-vihje{bottom:calc(var(--alariba, 56px) + 6px);font-size:.72rem;}
  .tj-pinge{bottom:calc(var(--alariba, 56px) + 34px);}
  .tj-edu{bottom:calc(var(--alariba, 56px) + 20px);}
  .tj-saak-kaart{padding:10px 16px;}
  .tj-saak-pilt svg{max-width:150px;}
  .tj-saak-kaart b{font-size:1.25rem;}
  .tj-saak-kaart span{font-size:.85rem;}
  .tj-saak-kaart .tj-nupp{margin-top:8px;}
  /* Kohavalik külili: kitsamad kaardid ja väiksem kiri, et loetelu mahuks. */
  .tj-kv-kast{padding:9px 11px;}
  .tj-kv-read{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;}
  .tj-koht{padding:6px 8px;}
  .tj-koht-nimi{font-size:.84rem;}
  .tj-koht-syg,.tj-koht-pohi,.tj-koht-noue{font-size:.66rem;}
  .tj-koht-pohi{display:none;}
  .tj-kohanupp i{display:none;}
  .tj-viis{padding:5px 9px;font-size:.74rem;}
  /* Kalakaup külili: üks veerg alla teise ja madalam müüginimekiri. */
  .tj-pood-kast{padding:9px 11px;}
  .tj-pood-pooled{grid-template-columns:minmax(0,1fr);gap:10px;}
  .tj-myyk-read{max-height:88px;}
  .tj-pood-read{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));}
  .tj-ost{padding:5px 8px;font-size:.72rem;}
  .tj-raha b{font-size:.9em;}
}

/* Täisekraanil ei ole menüüd ega lehe muud osa — kast on kogu ekraan. */
.tj-stseen:fullscreen,.tj-stseen:-webkit-full-screen{height:100vh;}

/* Kui oleme täisekraanil, ei ole lehe muud osa niikuinii näha —
   aga kui brauser näitab teda taustal, siis peidame ta ära. */
.tj-body.on-taisekraan .tj-pea,
.tj-body.on-taisekraan .tj-lead,
.tj-body.on-taisekraan .tj-raamat,
.tj-body.on-taisekraan .tj-margus,
.tj-body.on-taisekraan .site-nav,
.tj-body.on-pseudo .tj-pea,
.tj-body.on-pseudo .tj-lead,
.tj-body.on-pseudo .tj-raamat,
.tj-body.on-pseudo .tj-margus,
.tj-body.on-pseudo .site-nav{display:none;}

/* PSEUDOTÄISEKRAAN. iPhone'i Safari ei toeta Fullscreen API-t elementidel,
   seega paneme kasti ise üle kogu vaate. 100dvh, mitte 100vh: iOS-i
   aadressiriba kahaneb kerimisel ja 100vh jätaks mängu serva riba alla. */
.tj-body.on-pseudo{overflow:hidden;}
.tj-body.on-pseudo .tj-leht{padding:0;max-width:none;}
.tj-body.on-pseudo .tj-stseen{
  position:fixed;inset:0;z-index:200;
  width:100%;height:100vh;height:100dvh;
  max-height:none;aspect-ratio:auto;border-radius:0;border:0;
}
/* Täisekraani nupp muutub väljumisnupuks — muidu ei saa iPhone'is tagasi. */
.tj-taisekraan.on{border-color:var(--lime);color:var(--lime);background:rgba(190,242,100,.14);}

/* Vihje "keera telefon külili" — ainult püstises täisekraanis */
.tj-keera{position:absolute;inset:0;z-index:12;display:none;align-items:center;justify-content:center;
  background:rgba(3,12,16,.88);color:#eef4f2;text-align:center;padding:24px;font-size:1rem;}
.tj-stseen:fullscreen .tj-keera{display:none;}
@media (orientation:portrait){
  .tj-stseen:fullscreen .tj-keera{display:flex;}
}

/* display:flex/inline-flex võidab [hidden] atribuudi — ilma selle reeglita
   jääb saagikaart ja ilmaikoon ekraanile ka siis, kui JS nad peidab. */
.tj-stseen [hidden]{display:none !important;}


/* ==========================================================================
   TEST JÄRV — heli nupp, uhkem saagihetk, päevaülesanded, trofeesein
   ========================================================================== */
.tj-heli .tj-heli-valjas{display:none;}
.tj-heli.on-vaikne .tj-heli-sees{display:none;}
.tj-heli.on-vaikne .tj-heli-valjas{display:block;}
.tj-heli.on-vaikne{opacity:.6;}

/* Saagikaart: tuleb sisse hüppega, taga pöörlevad valguskiired. Suur kala
   ja rekord saavad kuldse raami. prefers-reduced-motion võtab liikumise ära. */
.tj-saak{overflow:hidden;}
.tj-saak-kiired{position:absolute;left:50%;top:50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;
  background:repeating-conic-gradient(from 0deg,rgba(212,255,80,.10) 0deg 7deg,rgba(212,255,80,0) 7deg 20deg);
  -webkit-mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.5) 18%,transparent 42%);
          mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.5) 18%,transparent 42%);
  animation:tj-kiired 26s linear infinite;pointer-events:none;}
.tj-saak.on-kuld .tj-saak-kiired{
  background:repeating-conic-gradient(from 0deg,rgba(255,206,92,.20) 0deg 7deg,rgba(255,206,92,0) 7deg 20deg);}
.tj-saak-kaart{position:relative;animation:tj-saak-sisse .55s cubic-bezier(.2,1.5,.4,1) both;}
.tj-saak.on-kuld .tj-saak-kaart{border-color:#ffce5c;box-shadow:0 0 0 1px rgba(255,206,92,.5),0 18px 60px rgba(255,190,60,.28);}
.tj-saak-pilt svg{animation:tj-kala-sisse .8s .12s cubic-bezier(.2,1.2,.4,1) both;}
.tj-saak-silt{display:inline-block;font-style:normal;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;
  font-size:.95rem;color:#06131a;background:#ffce5c;border-radius:999px;padding:3px 14px 2px;margin-bottom:8px;
  animation:tj-silt 1.2s ease-in-out infinite alternate;}
.tj-saak-silt[hidden]{display:none;}
@keyframes tj-kiired{to{transform:rotate(360deg);}}
@keyframes tj-saak-sisse{from{opacity:0;transform:scale(.7) translateY(24px);}to{opacity:1;transform:none;}}
@keyframes tj-kala-sisse{from{opacity:0;transform:translateX(-40px) rotate(-8deg) scale(.8);}to{opacity:1;transform:none;}}
@keyframes tj-silt{from{transform:scale(1);}to{transform:scale(1.07);}}
@media (prefers-reduced-motion:reduce){
  .tj-saak-kiired,.tj-saak-kaart,.tj-saak-pilt svg,.tj-saak-silt{animation:none;}
}

/* Päevaülesanded */
.tj-yl{margin:26px 0 8px;}
.tj-yl-read{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;}
.tj-yl-read li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;padding:13px 16px;border-radius:14px;
  background:rgba(242,238,225,.05);border:1px solid rgba(242,238,225,.09);}
.tj-yl-tekst{color:#eef4f2;font-size:.95rem;}
.tj-yl-read i{font-style:normal;font-size:.8rem;color:var(--steel);grid-column:1;}
.tj-yl-eur{grid-column:2;grid-row:1 / span 2;align-self:center;font-weight:800;
  font-size:1.15rem;color:var(--gold-400);white-space:nowrap;}
.tj-yl-read .tj-edasi-riba{grid-column:1 / -1;}
.tj-yl-read li.on-tehtud{border-color:rgba(212,255,80,.45);background:rgba(212,255,80,.07);}
.tj-yl-read li.on-tehtud .tj-yl-eur{color:var(--lime);}

/* Trofeesein */
.tj-trofeed{margin:26px 0 8px;}
.tj-trofee-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:10px;}
.tj-trofee{position:relative;padding:14px 14px 12px;border-radius:14px;text-align:center;
  background:linear-gradient(180deg,rgba(255,206,92,.08),rgba(242,238,225,.04));border:1px solid rgba(255,206,92,.22);}
.tj-trofee.on-esimene{border-color:#ffce5c;box-shadow:0 8px 30px rgba(255,190,60,.16);}
.tj-trofee em{position:absolute;left:10px;top:8px;font-style:normal;font-family:'Anton',Impact,sans-serif;color:#ffce5c;font-size:1.1rem;}
.tj-trofee b{display:block;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:1.3rem;color:#fff4d6;}
.tj-trofee span{display:block;font-size:.85rem;color:#cfdcdb;}
.tj-trofee i{display:block;font-style:normal;font-size:.72rem;color:var(--steel);margin-top:2px;}
.tj-trofee .tj-kaart-pilt svg{max-width:150px;}

/* Mängu ajal (sööt vees, rüselus) hajub alumine riba, et vesi oleks näha. */
.tj-riba--alla{transition:opacity .45s ease;}
.tj-stseen.on-mang .tj-riba--alla{opacity:.12;pointer-events:none;}

/* Paus haakimise ja kerimise vahel: KERI-nupp vilgub ja veel ei tööta. */
.tj-stseen.on-keri-ootel .tj-nupp--keri{animation:tj-keri-vilgub .25s steps(1,end) infinite;cursor:wait;}
@keyframes tj-keri-vilgub{0%{opacity:1;filter:none;}50%{opacity:.35;filter:grayscale(.6);}}
@media (prefers-reduced-motion:reduce){ .tj-stseen.on-keri-ootel .tj-nupp--keri{animation:none;opacity:.5;} }

/* Saagikaardi otsus: kotti või tagasi. */
.tj-saak-otsus{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px;}
.tj-saak-kaart .tj-saak-otsus .tj-nupp{margin-top:0;}
/* Kaart ei tohi stseenist välja kasvada: otsusenupud on AINUS tee edasi ja
   peavad alati näha olema. Pikk lisatekst kerib kaardi sees. */
.tj-saak-kaart{max-height:calc(100% - 16px);overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;}
.tj-saak-kaart > *{flex-shrink:0;}
.tj-saak-lisa-kerib, #tj-saak-lisa{max-height:5.2em;overflow-y:auto;flex-shrink:1;min-height:1.3em;}
.tj-saak-otsus{position:sticky;bottom:0;padding-top:8px;background:inherit;width:100%;}
@media (max-height:560px){
  .tj-saak-pilt svg{max-width:130px;}
  #tj-saak-lisa{max-height:3.9em;}
  .tj-saak-otsus{margin-top:6px;}
}

/* ==========================================================================
   TEST JÄRV — TÜPOGRAAFIA JA LOETAVUS (21.09.2026)
   --------------------------------------------------------------------------
   Steve: "fondid pane paika ning tee ilusti loetavaks." Audit leidis üle
   kümne koha, kus tekst oli 9–10 px (.58–.62rem) ja osa neist Bebas Neue's,
   mis nii väiksena on loetamatu. Reeglid, mis nüüd kehtivad:

   1. KOLM ROLLI, KOLM FONTI.
        Anton      — suured numbrid ja nimed (kell, tase, kala nimi, kaal)
        Bebas Neue — AINULT nupud ja pealkirjad, mitte alla 15 px
        Inter      — kõik muu, ka väikesed suurtähtsildid (600, sõrendatud)
   2. ALAMPIIR. Stseeni peal ei ole ühtegi teksti alla 12 px (.75rem);
      telefonis külili alla 11 px (.69rem).
   3. KONTRAST. Tekst, mis seisab otse vee või taeva peal, saab tumeda
      tausta või varju — hall #9fb0af heleda koidutaeva peal ei ole loetav.
   4. NUMBRID on tabular-nums, et kell ja raha ei väriseks.
   See plokk on faili LÕPUS meelega: ta kirjutab varasemad suurused üle,
   ilma et peaks 400 rida ümber kirjutama. Uus Test Järve tekst käib siia.
   ========================================================================== */
.tj-stseen{--tj-chip:.84rem;--tj-silt:.72rem;font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.tj-stseen .tj-riba > *, .tj-stseen .tj-kohanupp, .tj-stseen .tj-raha{
  background-color:rgba(5,18,24,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}

/* kell ja tase */
.tj-kell b{font-size:1.4rem;letter-spacing:.02em;line-height:1;}
.tj-kell span{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:var(--tj-silt);
  letter-spacing:.1em;color:#d5e2e0;}
.tj-tase-nr{font-size:1.6rem;}
.tj-tase-txt b{font-size:.92rem;font-weight:600;}
.tj-tase-txt i{font-size:.76rem;color:#b9c9c7;}

/* ilmakiibid */
.tj-ilm-tk{color:#e3eeec;}
.tj-ilm-tk b{font-weight:600;}
.tj-ilm-tk u{color:#b9c9c7;}
.tj-nool{font-size:.95rem;}
.tj-kohanupp{font-family:'Inter',system-ui,sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;}
.tj-kohanupp i{font-weight:500;color:#b9c9c7;letter-spacing:.04em;}
.tj-raha{font-size:.92rem;font-weight:700;}

/* landikarp ja liinid */
.tj-karp-silt{font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:var(--tj-silt);
  letter-spacing:.12em;color:#b9c9c7;}
.tj-lant{font-size:.8rem;font-weight:500;color:#e3eeec;line-height:1.15;}
.tj-lant-alt{font-size:.72rem;color:#b9c9c7;}

/* nupud */
.tj-nupp{font-size:1.12rem;letter-spacing:.12em;}
.tj-nupp--vaike{font-size:.9rem;letter-spacing:.1em;}
.tj-nupp--noksuta{font-size:.98rem;padding:10px 18px;background:rgba(5,18,24,.82);border-color:var(--lime);color:var(--lime);}
.tj-nupp--noksuta i{font-style:normal;font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:.78rem;
  display:inline-block;min-width:1.5em;margin-left:4px;padding:1px 0;border-radius:99px;background:var(--lime);color:#06131a;letter-spacing:0;}
.tj-nupp--noksuta:disabled{opacity:.4;border-color:rgba(242,238,225,.3);color:#cfdcdb;}
.tj-nupp--noksuta:disabled i{background:#cfdcdb;}
.tj-nupp--noksuta[hidden]{display:none !important;}

/* vihje ja teated: alati tumeda padja peal */
.tj-vihje{font-size:.95rem;font-weight:500;color:#f2f7f6;line-height:1.35;padding:7px 16px;border-radius:999px;
  background:rgba(5,18,24,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:min(62ch,86%);}
.tj-vihje:empty{display:none;}
.tj-sonum{font-size:1.05rem;line-height:1.4;}
.tj-sonum b{font-size:1.5rem;}
.tj-sonum i{font-size:.92rem;}

/* RÜSELUSE NÄIDIKUD: mängu kõige tähtsam info. Kui sööt on vees, kaob
   landikarp täiesti ja näidikud tulevad alla keskele, suurelt. */
.tj-stseen.on-mang .tj-riba--alla{opacity:0;}
.tj-stseen.on-mang .tj-pinge{bottom:58px;width:min(620px,76%);}
.tj-stseen.on-mang .tj-edu{bottom:34px;width:min(620px,76%);height:10px;}
.tj-stseen.on-mang .tj-vihje{bottom:112px;}
.tj-pinge-riba{height:24px;border-width:2px;box-shadow:0 6px 24px rgba(0,0,0,.45);}
.tj-pinge-hea{background:rgba(201,245,73,.16);border-left-width:3px;border-right-width:3px;}
.tj-pinge span{font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.14em;color:#f2f7f6;margin-top:6px;}

/* saagikaart */
.tj-saak-kaart b{font-size:2.2rem;letter-spacing:.01em;line-height:1.05;}
.tj-saak-kaart span{font-size:1.2rem;font-weight:600;}
.tj-saak-kaart i{font-size:.95rem;line-height:1.45;color:#ffd98a;}
.tj-saak-silt{font-size:1.05rem;}

/* kohavalik ja pood */
.tj-koht-nimi{font-size:1.15rem;}
.tj-koht-syg{font-size:.86rem;font-weight:600;}
.tj-koht-pohi{font-size:.84rem;color:#c3d2d0;}
.tj-koht-noue{font-size:.82rem;}
.tj-pood h3{font-size:1.1rem;}
.tj-myyk-read li, .tj-ost{font-size:.9rem;}
.tj-ost i{font-size:.86rem;}
.tj-kicker{font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.16em;}

/* lehe alumine osa */
.tj-lead{font-size:1.02rem;line-height:1.6;color:#d5e2e0;}
.tj-raamat-pea p{font-size:1rem;line-height:1.55;color:#b9c9c7;}
.tj-kaart span{font-size:.92rem;} .tj-kaart i{font-size:.84rem;color:#b9c9c7;}
.tj-trofee i{font-size:.8rem;color:#b9c9c7;}
.tj-yl-read i{font-size:.86rem;color:#b9c9c7;}
.tj-saamata-pea{font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:.86rem;letter-spacing:.12em;}
.tj-saamata li{font-size:.95rem;} .tj-saamata li span{font-size:.84rem;color:#b9c9c7;}

/* Telefon (kitsas või külili): väiksem, aga mitte alla 11 px */
@media (max-width:720px), (orientation:landscape) and (max-height:560px){
  .tj-stseen{--tj-chip:.74rem;--tj-silt:.69rem;}
  .tj-kell b{font-size:1.15rem;} .tj-tase-nr{font-size:1.3rem;}
  .tj-tase-txt b{font-size:.8rem;} .tj-tase-txt i{font-size:.69rem;}
  .tj-lant{font-size:.72rem;} .tj-lant-alt{font-size:.69rem;}
  .tj-nupp{font-size:1rem;} .tj-nupp--vaike{font-size:.8rem;} .tj-nupp--noksuta{font-size:.86rem;padding:8px 14px;}
  .tj-vihje{display:block;font-size:.8rem;padding:5px 12px;}
  .tj-sonum{font-size:.92rem;} .tj-sonum b{font-size:1.2rem;}
  .tj-stseen.on-mang .tj-pinge{bottom:40px;} .tj-stseen.on-mang .tj-edu{bottom:22px;height:8px;}
  .tj-stseen.on-mang .tj-vihje{bottom:84px;}
  .tj-pinge-riba{height:18px;} .tj-pinge span{font-size:.69rem;margin-top:3px;}
  .tj-saak-kaart b{font-size:1.5rem;} .tj-saak-kaart span{font-size:1rem;} .tj-saak-kaart i{font-size:.82rem;}
  .tj-koht-nimi{font-size:.95rem;} .tj-koht-syg,.tj-koht-pohi,.tj-koht-noue{font-size:.72rem;}
}

/* Roheline ala liigub: sujuv nihe, ja riba täide ei tohi alale järele "lohiseda". */
.tj-pinge-hea{transition:left .08s linear;}
.tj-pinge-riba b{transition:width .04s linear;}


/* ==========================================================================
   TEST JÄRV — tasemekiip, landikarp, pood, edenemise selgitus (21.09.2026)
   ========================================================================== */
/* TASEMEKIIP: kaks redelit, kumbki oma sildiga. */
.tj-tase{display:flex;align-items:stretch;gap:0;padding:0;border:1px solid rgba(242,238,225,.16);border-radius:12px;
  color:inherit;font:inherit;cursor:pointer;overflow:hidden;text-align:left;}
.tj-tase:hover{border-color:rgba(201,245,73,.55);}
.tj-tase-osa{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:6px 13px 8px;position:relative;min-width:0;}
.tj-tase-osa + .tj-tase-osa{border-left:1px solid rgba(242,238,225,.14);}
.tj-tase-osa u{text-decoration:none;font-weight:700;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-400);white-space:nowrap;}
.tj-tase-osa--level u{color:var(--lime);}
.tj-tase-osa b{font-size:.92rem;font-weight:600;color:#f2f7f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tj-tase .tj-xp-rada{left:13px;right:13px;bottom:3px;}
.tj-tase .tj-xp-rada i{background:var(--lime);}

/* LANDIKARP: ainult see, mis on olemas; suured selged plaadid. */
.tj-karp{padding:9px 11px 11px;max-width:46%;border-radius:14px;}
.tj-karp-read{gap:7px;}
.tj-karp .tj-lant.on-lukus{display:none;}
.tj-lant{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-width:74px;min-height:62px;padding:8px 10px 7px;border-radius:11px;
  background:linear-gradient(180deg,rgba(242,238,225,.09),rgba(242,238,225,.03));border:1.5px solid rgba(242,238,225,.16);}
.tj-lant-ico svg{width:24px;height:24px;}
.tj-lant.on{background:linear-gradient(180deg,rgba(201,245,73,.24),rgba(201,245,73,.08));border-color:var(--lime);
  box-shadow:0 0 0 1px rgba(201,245,73,.35),0 6px 18px rgba(201,245,73,.14);}
.tj-lant-viis{position:absolute;top:-7px;right:-5px;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:1px 6px;border-radius:99px;background:var(--gold-400);color:#1a1205;}
.tj-lant--pood{border-style:dashed;color:var(--lime);min-width:60px;}
.tj-lant-pluss{font-size:1.5rem;line-height:1;font-weight:300;}
.tj-lant--liin{min-width:78px;}
.tj-lant--liin .tj-lant-alt{font-size:.86rem;font-weight:700;color:#f2f7f6;}

/* KERI LANTI nupp */
.tj-nupp--kerilant{font-size:1rem;padding:14px 20px;}
.tj-nupp--kerilant[hidden]{display:none !important;}

/* JÄRGMINE SAMM */
.tj-nouanne{margin:10px 0 14px;padding:11px 14px;border-radius:11px;background:rgba(201,245,73,.09);
  border:1px solid rgba(201,245,73,.35);color:#f2f7f6;font-size:.98rem;line-height:1.45;}
.tj-nouanne u{display:block;text-decoration:none;font-weight:800;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin-bottom:3px;}

/* POEKAART selgitab */
.tj-pood-read{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;}
.tj-ost{gap:4px;padding:11px 12px;border-radius:12px;align-content:start;}
.tj-ost b{font-size:.98rem;display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.tj-ost span{font-size:.84rem;line-height:1.4;color:#c3d2d0;}
.tj-ost i{font-size:.95rem;font-weight:700;margin-top:2px;}
.tj-ost s{text-decoration:none;font-size:.8rem;color:#ffb38f;}
.tj-ost-mark{font-style:normal;font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:1px 7px;border-radius:99px;background:rgba(242,238,225,.14);color:#e3eeec;}
.tj-ost-mark.on-keri{background:var(--gold-400);color:#1a1205;}
.tj-ost.on-saab{border-color:rgba(201,245,73,.6);background:rgba(201,245,73,.07);}
.tj-ost.on-saab i{color:var(--lime);}
.tj-ost:disabled{opacity:.72;}
.tj-ost.on-olemas{opacity:.5;}

/* EDENEMISE SELGITUS */
.tj-eden-read{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;}
.tj-eden-read section{padding:13px 15px;border-radius:12px;background:rgba(242,238,225,.05);border:1px solid rgba(242,238,225,.1);}
.tj-eden-read h3{margin:0 0 6px;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:1.25rem;color:var(--gold-400);letter-spacing:.02em;}
.tj-eden-read section:nth-child(2) h3{color:var(--lime);}
.tj-eden-read p{margin:0 0 8px;font-size:.92rem;line-height:1.5;color:#d5e2e0;}
.tj-eden-read p b{color:#f2f7f6;}
.tj-eden-xp{color:var(--lime) !important;font-weight:600;}
.tj-eden-sammud{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:5px;font-size:.88rem;}
.tj-eden-sammud li{display:flex;justify-content:space-between;gap:10px;color:#d5e2e0;}
.tj-eden-sammud li i{font-style:normal;color:#b9c9c7;white-space:nowrap;font-variant-numeric:tabular-nums;}
.tj-eden-sammud li.on-tehtud{color:var(--lime);}
.tj-eden-sammud li.tj-eden-siht{font-weight:700;color:var(--gold-400);}

@media (max-width:720px), (orientation:landscape) and (max-height:560px){
  .tj-tase-osa{padding:4px 9px 7px;} .tj-tase-osa b{font-size:.78rem;max-width:9.5em;} .tj-tase-osa u{font-size:.62rem;}
  .tj-lant{min-width:56px;min-height:48px;padding:6px 7px 5px;} .tj-lant-ico svg{width:19px;height:19px;}
  .tj-karp{max-width:50%;padding:6px 8px 8px;}
  .tj-nouanne{font-size:.84rem;padding:8px 11px;margin:6px 0 10px;}
  .tj-pood-read{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
  .tj-ost span{font-size:.76rem;} .tj-eden-read p{font-size:.82rem;}
}

/* Ülariba: nimed ei tohi poolikuks jääda ega raha kahele reale murduda. */
.tj-tase-osa b{overflow:visible;text-overflow:clip;font-size:.88rem;}
.tj-raha b{white-space:nowrap;}
.tj-kohanupp{white-space:nowrap;}
.tj-stseen{--tj-chip:.8rem;}
@media (max-width:720px), (orientation:landscape) and (max-height:560px){
  .tj-tase-osa b{overflow:hidden;text-overflow:ellipsis;font-size:.76rem;}
  .tj-stseen{--tj-chip:.72rem;}
}

/* Kolm karpi alumises ribas (sööt · ritv · liin): söödakarp võtab ruumi,
   mis üle jääb, ja kerib vajadusel külgsuunas; ridva- ja liinikarp on
   täpselt nii laiad kui nende sisu. */
.tj-riba--alla{gap:8px;align-items:flex-end;}
.tj-riba--alla .tj-karp{max-width:none;flex:0 1 auto;min-width:0;}
.tj-riba--alla #tj-karp{flex:1 1 auto;}
.tj-riba--alla .tj-karp-read{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-top:8px;margin-top:-8px;}
.tj-karp--ritv .tj-lant-alt{font-size:1rem;font-weight:800;color:#f2f7f6;letter-spacing:.04em;}
.tj-karp--ritv .tj-lant-nimi{font-size:.7rem;color:#b9c9c7;}
.tj-karp--ritv .tj-lant.on .tj-lant-alt{color:var(--lime);}
/* Mängu ajal ei tohi teade katta kohta, kus kala on — tõstame ta üles. */
.tj-stseen.on-mang .tj-yle{align-items:flex-start;padding-top:13%;}
/* Suvi/talv vahetus päises */
.tj-pea-lingid{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.tj-hooaeg{color:var(--lime);border-bottom-color:rgba(201,245,73,.5);font-weight:600;}

/* ====================================================== JÄÄKAART (talv)
   Pro Pilkki eeskujul: kaart katab stseeni, nupuriba on ülemise riba all.
   Kui mängija on augu juures, jääb kaardist alles minikaart vasakul. */
.tj-jaa{position:absolute;inset:0;z-index:3;}
.tj-jaa.on-valik{z-index:46;}   /* järvevalik peab ribade peale jääma */
.tj-jaa canvas{display:block;width:100%;height:100%;}
.tj-stseen.on-kaart .tj-nupud,.tj-stseen.on-kaart .tj-vihje,.tj-stseen.on-kaart .tj-riba--alla,.tj-stseen.on-kaart .tj-pinge,.tj-stseen.on-kaart .tj-edu{display:none !important;}
.tj-stseen.on-kaart{cursor:pointer;}
.tj-jaa-riba{position:absolute;left:var(--tj-pad);right:var(--tj-pad);top:56px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;pointer-events:none;}
.tj-jaa-riba > *{pointer-events:auto;}
.tj-jaa-jarv{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:rgba(4,20,26,.72);color:#e8f6f4;border:1px solid rgba(201,245,73,.3);font:600 .78rem Inter,system-ui,sans-serif;cursor:pointer;}
.tj-jaa-jarv svg{width:14px;height:14px;}
.tj-jaa-teave{font:600 .74rem Inter,system-ui,sans-serif;color:#dbeef0;background:rgba(4,20,26,.6);padding:6px 10px;border-radius:999px;}
.tj-jaa-tegu{margin-left:auto;min-width:118px;}
.tj-jaa-vihje{position:absolute;left:50%;transform:translateX(-50%);bottom:6px;margin:0;max-width:min(92%,560px);
  text-align:center;font:500 .76rem/1.35 Inter,system-ui,sans-serif;color:#eaf6f4;background:rgba(4,20,26,.62);padding:6px 12px;border-radius:10px;pointer-events:none;}
.tj-jaa-valik{position:absolute;inset:0;z-index:44;display:flex;align-items:center;justify-content:center;background:rgba(3,12,16,.78);backdrop-filter:blur(4px);padding:14px;}
.tj-jaa-valik-kast{width:min(820px,100%);max-height:100%;overflow:auto;border-radius:14px;background:#0b1d25;border:1px solid rgba(201,245,73,.25);padding:14px;}
.tj-jaa-valik-abi{margin:0 0 10px;font:.8rem/1.4 Inter,system-ui,sans-serif;color:#b7cdd2;}
.tj-jaa-valik-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.tj-jaa-jarv-kaart{display:flex;flex-direction:column;gap:8px;text-align:left;padding:8px;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#eaf6f4;}
.tj-jaa-jarv-kaart.on-lukus{opacity:.55;filter:saturate(.4);}
.tj-jaa-jarv-kaart.on-valitud{border-color:#c9f549;box-shadow:0 0 0 1px rgba(201,245,73,.5) inset;}
.tj-jaa-jarv-kaart canvas{width:100%;height:auto;border-radius:8px;display:block;}
.tj-jaa-jarv-kaart b{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:1.25rem;}
.tj-jaa-jarv-kaart small{color:#c9f549;font-weight:700;}
.tj-jaa-jarv-kaart p{margin:4px 0 0;font:.78rem/1.35 Inter,system-ui,sans-serif;color:#b7cdd2;}
.tj-jaa-mini{position:absolute;z-index:5;left:var(--tj-pad);top:56px;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:4px;border-radius:10px;background:rgba(4,20,26,.7);border:1px solid rgba(201,245,73,.3);color:#e8f6f4;cursor:pointer;font:700 .62rem Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.tj-jaa-mini canvas{width:96px;height:60px;border-radius:6px;display:block;}
@media (max-width:640px){
  /* Püstine telefon: kaardi ajal on lava kõrgem, muidu jääb järv pisikeseks. */
  .tj-stseen.on-kaart{aspect-ratio:10/13;max-height:min(80vh,760px);}
  .tj-jaa-riba{gap:6px;}
  .tj-jaa-teave{display:none;}
  .tj-jaa-vihje{font-size:.68rem;padding:4px 8px;}
  .tj-jaa-mini canvas{width:64px;height:40px;}
}

/* Vihje tuhmub 5 s pärast, et auk/ujuk oleks näha; hiir peal toob tagasi. */
.tj-vihje{transition:opacity .6s;}
.tj-vihje.on-tuhm{opacity:.16;}
.tj-vihje.on-tuhm:hover{opacity:1;}

/* ================================================= TEST JÄRVE EDETABEL */
.tj-edetabel{margin:26px 0 8px;}
.tj-edetabel-sakid{display:flex;gap:8px;margin:0 0 12px;}
.tj-edetabel table{width:100%;border-collapse:collapse;font-size:.92rem;}
.tj-edetabel th{text-align:left;font:700 .68rem Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#9fb3b1;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.1);}
.tj-edetabel td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle;}
.tj-edetabel td em{font-style:normal;font-family:'Bebas Neue',Impact,sans-serif;font-size:1.15rem;color:#c9f549;}
.tj-edetabel td span{color:#9fb3b1;font-size:.82rem;}
.tj-edetabel tr.on-mina td{background:rgba(201,245,73,.08);}
.tj-edetabel-tyhi{color:#9fb3b1;font-size:.92rem;margin:0;}
@media (max-width:640px){ .tj-edetabel th:nth-child(4),.tj-edetabel td:nth-child(4){display:none;} }

/* =========================================================================
   JÄRV 08.10.2026 — komplektiriba, varustuse vahelehed, õpetus, hero.
   Vanad kitsad landi/liinikarbid (.tj-karp, .tj-lant) jäid ainult
   ajalooks; mängus neid enam ei ole.
   ========================================================================= */
/* --- komplekt: kolm suurt kaarti alumises ribas ------------------------ */
.tj-komplekt{display:flex;gap:8px;align-items:stretch;width:100%;min-width:0;}
.tj-kompl{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 0;text-align:left;cursor:pointer;
  padding:7px 11px;border-radius:12px;color:#eef4f2;
  background:rgba(4,20,26,.66);backdrop-filter:blur(6px);border:1px solid rgba(242,238,225,.16);}
.tj-kompl:hover{border-color:rgba(201,245,73,.7);}
.tj-kompl-ico{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;
  background:rgba(201,245,73,.12);color:var(--lime);}
.tj-kompl-ico svg{width:19px;height:19px;}
.tj-kompl-txt{display:flex;flex-direction:column;line-height:1.12;min-width:0;}
.tj-kompl-txt u{text-decoration:none;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;
  font-size:.58rem;text-transform:uppercase;color:var(--steel);}
.tj-kompl-txt b{font-size:.86rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tj-kompl-txt i{font-style:normal;font-size:.66rem;color:#aebfbe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tj-kompl--soot .tj-kompl-ico{background:rgba(255,211,77,.14);color:var(--gold-400);}
.tj-kompl-ava{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;gap:6px;}
.tj-kompl-ava svg{width:15px;height:15px;}

/* --- varustuse ülekiht: vahelehed ------------------------------------- */
.tj-pood-sakid{display:flex;gap:4px;margin:10px 0 12px;border-bottom:1px solid rgba(242,238,225,.12);}
.tj-pood-sakk{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#aebfbe;
  padding:8px 14px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:1rem;margin-bottom:-1px;}
.tj-pood-sakk:hover{color:#eef4f2;}
.tj-pood-sakk.on{color:var(--lime);border-bottom-color:var(--lime);}
.tj-pood-sakk i{font-style:normal;display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;
  background:var(--gold-400);color:#0b1a10;font:700 .66rem Inter,system-ui,sans-serif;vertical-align:2px;}
.tj-pood-sakk i:empty{display:none;}
.tj-pood-abi{margin:0 0 10px;color:#b7cdd2;font-size:.82rem;line-height:1.45;}
/* valikukaardid komplekti lehel */
.tj-pood-read--vali{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
.tj-ost--vali{grid-template-columns:32px 1fr;grid-template-rows:auto auto auto;column-gap:9px;align-items:start;padding:9px 11px;}
.tj-ost--vali .tj-ost-ico{grid-row:1 / span 3;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;
  background:rgba(242,238,225,.07);color:#cfdcdb;}
.tj-ost--vali .tj-ost-ico svg{width:20px;height:20px;}
.tj-ost--vali b{font-size:.84rem;}
.tj-ost--vali span{font-size:.72rem;color:#aebfbe;line-height:1.35;}
.tj-ost--vali i{font-size:.72rem;}
.tj-ost--vali.on-valitud{border-color:var(--lime);background:rgba(201,245,73,.1);}
.tj-ost--vali.on-valitud .tj-ost-ico{background:rgba(201,245,73,.2);color:var(--lime);}
.tj-ost--vali.on-lukus{opacity:.5;}
.tj-ost--vali.on-lukus i{color:var(--gold-400);}
.tj-ost-lukk{font-style:normal;}
.tj-ost--vali.on-ei-sobi{opacity:.45;filter:saturate(.3);}
.tj-ost-mark{font-style:normal;font-weight:600;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;
  margin-left:6px;padding:1px 6px;border-radius:999px;background:rgba(242,238,225,.1);color:#cfdcdb;vertical-align:1px;}
.tj-ost-mark.on-keri{background:rgba(255,211,77,.16);color:var(--gold-400);}

/* --- õpetuse riba mängu sees ------------------------------------------- */
.tj-juhend-riba{position:absolute;z-index:4;left:var(--tj-pad);right:var(--tj-pad);top:104px;margin:0 auto;
  max-width:560px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:1px;align-items:center;
  padding:8px 12px;border-radius:12px;background:rgba(4,20,26,.74);backdrop-filter:blur(6px);
  border:1px solid rgba(255,211,77,.35);pointer-events:none;}
.tj-juhend-riba u{grid-row:1 / span 2;text-decoration:none;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;
  font-size:.74rem;color:var(--gold-400);padding:4px 8px;border-radius:8px;background:rgba(255,211,77,.12);}
.tj-juhend-riba b{font-size:.82rem;color:#eef4f2;}
.tj-juhend-riba span{font-size:.7rem;color:#c3d3d2;line-height:1.3;}
.on-kaart .tj-juhend-riba{top:104px;}

/* --- hero: JÄRV, aastaaja lüliti ------------------------------------- */
.tj-pea h1 small{display:block;font:600 .9rem/1.2 Inter,system-ui,sans-serif;letter-spacing:0;color:#aebfbe;margin-top:4px;text-transform:none;}
.tj-hooaeg-valik{display:inline-flex;border:1px solid rgba(242,238,225,.18);border-radius:999px;padding:3px;background:rgba(242,238,225,.04);}
.tj-hooaeg-valik a{padding:7px 16px;border-radius:999px;font-weight:700;font-size:.82rem;color:#cfdcdb;text-decoration:none;}
.tj-hooaeg-valik a.on{background:var(--lime);color:#0b1a10;}
.tj-hooaeg-valik a.on-lukus{opacity:.55;}
.tj-pea-lingid{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

/* --- õpetus lehe all --------------------------------------------------- */
.tj-juhend{margin-top:28px;}
.tj-juhend-kokku{margin:0 0 10px;color:var(--lime);font-weight:700;font-size:.9rem;}
.tj-juhend-pooled{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;}
.tj-juhend-read{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.tj-juhend-read li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;
  background:rgba(242,238,225,.04);border:1px solid rgba(242,238,225,.1);}
.tj-juhend-read li em{font-style:normal;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  font-family:'Anton',Impact,sans-serif;font-size:1rem;background:rgba(242,238,225,.08);color:#cfdcdb;}
.tj-juhend-read li b{display:block;font-size:.92rem;color:#eef4f2;}
.tj-juhend-read li span{display:block;font-size:.8rem;line-height:1.45;color:#b7cdd2;margin-top:2px;}
.tj-juhend-read li.on-tehtud{opacity:.65;}
.tj-juhend-read li.on-tehtud em{background:rgba(201,245,73,.18);color:var(--lime);}
.tj-juhend-read li.on-jargmine{border-color:rgba(255,211,77,.5);background:rgba(255,211,77,.06);}
.tj-juhend-read li.on-jargmine em{background:var(--gold-400);color:#0b1a10;}
.tj-juhend-koht{padding:14px 16px;border-radius:14px;background:rgba(201,245,73,.06);border:1px solid rgba(201,245,73,.22);align-self:start;}
.tj-juhend-koht u{display:block;text-decoration:none;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.16em;font-size:.68rem;color:var(--steel);}
.tj-juhend-koht > b{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:1.5rem;color:#eef4f2;margin-top:2px;}
.tj-juhend-koht > span{display:block;color:var(--lime);font-weight:700;font-size:.82rem;}
.tj-juhend-koht p{margin:8px 0 0;color:#cfdcdb;font-size:.86rem;line-height:1.5;}
.tj-juhend-koht ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:5px;}
.tj-juhend-koht li{display:grid;grid-template-columns:48px 1fr;column-gap:10px;padding:7px 9px;border-radius:9px;background:rgba(4,20,26,.5);}
.tj-juhend-koht li i{grid-row:1 / span 2;font-style:normal;font-family:'Anton',Impact,sans-serif;color:var(--gold-400);font-size:1rem;align-self:center;}
.tj-juhend-koht li b{font-size:.82rem;color:#eef4f2;}
.tj-juhend-koht li span{font-size:.74rem;color:#b7cdd2;line-height:1.4;}
.tj-juhend-koht[hidden]{display:none;}

/* --- veekogud: kaardid lehe all ------------------------------------- */
.tj-veekogud{margin-top:28px;}
.tj-veekogu-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;}
.tj-veekogu{display:grid;gap:3px;padding:12px 14px;border-radius:12px;background:rgba(242,238,225,.04);border:1px solid rgba(242,238,225,.1);}
.tj-veekogu b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:1.2rem;color:#eef4f2;}
.tj-veekogu small{color:var(--lime);font-weight:700;}
.tj-veekogu span{font-size:.78rem;line-height:1.4;color:#b7cdd2;}
.tj-veekogu.on-lukus{opacity:.55;}
.tj-veekogu.on-lukus small{color:var(--gold-400);}
.tj-veekogu.on-siin{border-color:var(--lime);}

@media (max-width:720px){
  .tj-juhend-pooled{grid-template-columns:1fr;}
  .tj-kompl-txt i{display:none;}
  .tj-kompl{padding:6px 8px;gap:6px;}
  .tj-kompl-ico{width:26px;height:26px;}
  .tj-kompl-txt b{font-size:.76rem;}
  .tj-juhend-riba{top:96px;}
  .on-kaart .tj-juhend-riba{display:none;}
}
@media (orientation:landscape) and (max-height:560px){
  .tj-kompl{padding:4px 7px;gap:5px;border-radius:9px;}
  .tj-kompl-ico{width:22px;height:22px;}
  .tj-kompl-ico svg{width:14px;height:14px;}
  .tj-kompl-txt u{display:none;}
  .tj-kompl-txt b{font-size:.68rem;}
  .tj-kompl-txt i{font-size:.58rem;}
  .tj-juhend-riba{display:none;}
  .tj-pood-sakk{padding:5px 10px;font-size:.84rem;}
  .tj-pood-read--vali{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:5px;}
  .tj-ost--vali{padding:6px 8px;}
  .tj-ost--vali span{display:none;}
}

/* --- pood mängulisemaks (08.10.2026): pildid, omaduste ribad, ost ------ */
.tj-ost-pilt{display:block;border-radius:9px;background:linear-gradient(160deg,rgba(201,245,73,.10),rgba(4,20,26,.6));
  border:1px solid rgba(242,238,225,.08);overflow:hidden;}
.tj-ost-pilt svg{display:block;width:100%;height:auto;}
.tj-ost--pood{grid-template-columns:1fr;gap:5px;padding:9px 10px 10px;align-content:start;position:relative;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.tj-ost--pood .tj-ost-pilt{aspect-ratio:5/3;margin-bottom:2px;}
.tj-ost--pood b{font-size:.86rem;line-height:1.25;}
.tj-ost--pood > span{font-size:.72rem;color:#aebfbe;line-height:1.35;}
.tj-ost--pood:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.35);}
.tj-ost--pood.on-saab{border-color:rgba(201,245,73,.45);}
.tj-ost--pood.on-saab .tj-ost-pilt{background:linear-gradient(160deg,rgba(201,245,73,.22),rgba(4,20,26,.6));}
.tj-ost--pood:disabled{opacity:.6;}
.tj-ost--pood.on-olemas{opacity:.55;}
.tj-ost--pood.on-lukus .tj-ost-pilt svg{filter:grayscale(.8);opacity:.6;}
.tj-ost-omad{list-style:none;margin:3px 0 0;padding:0;display:grid;gap:3px;}
.tj-ost-omad li{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:6px;font-size:.6rem;color:#9fb0af;}
.tj-ost .tj-ost-omad li span{font-size:.6rem;color:#9fb0af;line-height:1.1;}
.tj-ost-omad li i{display:block;height:5px;border-radius:99px;background:rgba(242,238,225,.1);overflow:hidden;}
.tj-ost-omad li b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold-400),var(--lime));}
.tj-ost-silt{display:inline-block;justify-self:start;margin-top:4px;padding:4px 10px;border-radius:999px;font-style:normal;font-weight:700;font-size:.74rem;}
.tj-ost.on-saab i.tj-ost-silt.on-osta,.tj-ost-silt.on-osta{background:var(--lime);color:#0b1a10;}
.tj-ost-silt.on-olemas{background:rgba(242,238,225,.1);color:#cfdcdb;}
.tj-ost-silt.on-lukus{background:rgba(255,211,77,.12);color:var(--gold-400);}
.tj-ost--vali{grid-template-columns:64px 1fr;}
.tj-ost--vali .tj-ost-pilt{grid-row:1 / span 3;width:64px;aspect-ratio:5/3;align-self:start;}
.tj-pood.on-ost .tj-pood-kast{animation:tj-ost-valk .9s ease;}
@keyframes tj-ost-valk{0%{box-shadow:0 0 0 0 rgba(201,245,73,.0);}25%{box-shadow:0 0 0 6px rgba(201,245,73,.55);}100%{box-shadow:0 0 0 0 rgba(201,245,73,0);}}
.tj-pood-read{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
@media (orientation:landscape) and (max-height:560px){
  .tj-pood-read{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:5px;}
  .tj-ost--pood .tj-ost-pilt{aspect-ratio:3/1;}
  .tj-ost--pood > span,.tj-ost-omad{display:none;}
  .tj-ost--vali{grid-template-columns:44px 1fr;}
  .tj-ost--vali .tj-ost-pilt{width:44px;}
}

/* --- game-icons.net (CC BY 3.0) täidetud ikoonid ------------------------- */
.gi{width:1em;height:1em;fill:currentColor;vertical-align:-.15em;display:inline-block;flex:0 0 auto;}
.tj-kompl-ico .gi{width:20px;height:20px;}
.tj-pood-sakk .gi{width:15px;height:15px;margin-right:4px;vertical-align:-2px;}
.tj-karp-silt .gi,.tj-karp-silt .ico{width:13px;height:13px;vertical-align:-2px;margin-right:3px;opacity:.85;}
.tj-kompl-ava .gi{width:15px;height:15px;}
.tj-jaa-jarv .gi{width:15px;height:15px;}
.tj-juhend-read li em .gi{width:18px;height:18px;}
.tj-juhend-riba u .gi{width:13px;height:13px;vertical-align:-2px;}
.tj-veekogu small .gi{width:13px;height:13px;vertical-align:-2px;}
.tj-allikad{display:block;margin-top:8px;font-size:.72rem;color:#8fa0a0;}
.tj-allikad a{color:#aebfbe;}
.tj-jaa-jarv-kaart small .gi{width:13px;height:13px;vertical-align:-2px;}

/* =========================================================================
   JÄRVE TEEMA = AVALEHE KEEL (08.10.2026, Steve: "kogu mängu theme tee
   ümber, et see vastaks kalastusseltsi pealehele"). Sama grammatika mis
   avalehel: Anton/Bebas suurtähed, tint-raam (--bd), kõva vari (--hard),
   laim-kleepsud, paber-kaardid. Need reeglid käivad varasemate .tj-*
   reeglite PEALE (hilisem võidab).
   ========================================================================= */
.tj-leht{--tj-raam:2px solid var(--ink);--tj-vari:4px 4px 0 var(--ink);}
/* nupud: avalehe .btn */
.tj-nupp{border:var(--tj-raam);background:var(--paper);color:var(--ink);box-shadow:var(--tj-vari);backdrop-filter:none;
  transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .2s;letter-spacing:.12em;}
.tj-nupp:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.tj-nupp:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);}
.tj-nupp--peamine{background:var(--lime);color:var(--ink);border-color:var(--ink);}
.tj-nupp--loo{background:var(--coral);color:var(--paper);border-color:var(--ink);}
.tj-nupp--keri{background:var(--gold-400);color:var(--ink);border-color:var(--ink);}
.tj-nupp--noksuta{background:var(--paper);color:var(--ink);border-color:var(--ink);}
.tj-nupp--noksuta i{background:var(--ink);color:var(--lime);}
.tj-nupp--vaike{box-shadow:3px 3px 0 var(--ink);}
.tj-nupp:disabled{opacity:.5;box-shadow:none;}
/* ülemise riba kastid: paber-kaardid tindiraamiga */
.tj-kell,.tj-tase,.tj-ilm,.tj-raha,.tj-kohanupp,.tj-kompl,.tj-jaa-jarv,.tj-jaa-teave,.tj-jaa-mini{
  background:var(--paper);color:var(--ink);border:var(--tj-raam);box-shadow:var(--tj-vari);backdrop-filter:none;border-radius:14px;}
.tj-kell b{color:var(--ink);} .tj-kell span{color:#5b6b6e;}
.tj-tase-nr{color:var(--coral-deep);} .tj-tase-txt b{color:var(--ink);} .tj-tase-txt i{color:#5b6b6e;}
.tj-xp-rada{background:rgba(10,18,20,.15);} .tj-xp-rada i{background:var(--lime-deep);}
.tj-ilm-tk{color:var(--ink);} .tj-ilm-tk b{color:var(--ink);} .tj-ilm-tk u{color:#5b6b6e;} .tj-ilm-tk svg{opacity:1;}
.tj-nool{color:var(--water-600);} .tj-nool.on-alla{color:var(--coral-deep);}
button.tj-taisekraan,.tj-ilm-tk.tj-heli,button.tj-ilm-tk{background:var(--ink);color:var(--lime);border-color:var(--ink);}
button.tj-taisekraan:hover,button.tj-ilm-tk:hover{color:var(--paper);}
.tj-raha{color:var(--ink);font-family:'Anton',Impact,sans-serif;font-size:1rem;letter-spacing:.04em;}
.tj-raha:hover{background:var(--lime);}
.tj-kohanupp{color:var(--ink);} .tj-kohanupp i{color:#5b6b6e;} .tj-kohanupp:hover{background:var(--lime);color:var(--ink);}
.tj-jaa-jarv{color:var(--ink);} .tj-jaa-teave{color:var(--ink);font-weight:700;}
.tj-jaa-mini{padding:4px;} .tj-jaa-mini span{color:var(--ink);font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;}
/* komplekt */
.tj-kompl{color:var(--ink);} .tj-kompl:hover{background:var(--lime-hi);border-color:var(--ink);}
.tj-kompl-txt u{color:#5b6b6e;} .tj-kompl-txt b{color:var(--ink);} .tj-kompl-txt i{color:#4e5e60;}
.tj-kompl-ico{background:var(--ink);color:var(--lime);} .tj-kompl--soot .tj-kompl-ico{background:var(--ink);color:var(--gold-400);}
/* teated ja vihje: kleepsud */
.tj-vihje{background:var(--ink);color:var(--paper);border:2px solid var(--paper);box-shadow:var(--tj-vari);font-weight:600;}
.tj-sonum{background:var(--paper);color:var(--ink);border:var(--tj-raam);box-shadow:var(--hard);border-radius:18px;transform:rotate(-1.2deg);}
.tj-sonum b{color:var(--ink);} .tj-sonum i{color:var(--coral-deep);}
.tj-sonum--hea{background:var(--lime);} .tj-sonum--hea b{color:var(--ink);}
.tj-sonum--halb{background:var(--coral);color:var(--paper);} .tj-sonum--halb b{color:var(--paper);}
.tj-juhend-riba{background:var(--gold-400);color:var(--ink);border:var(--tj-raam);box-shadow:var(--tj-vari);backdrop-filter:none;transform:rotate(-.6deg);}
.tj-juhend-riba u{background:var(--ink);color:var(--gold-400);} .tj-juhend-riba b{color:var(--ink);} .tj-juhend-riba span{color:#2a2a1e;}
/* saagikaart: laim-kleeps nagu avalehe "TEE PÜÜKI" */
.tj-saak-kaart{background:var(--lime);color:var(--ink);border:var(--bd);box-shadow:var(--hard);border-radius:22px;transform:rotate(-1.5deg);}
.tj-saak.on-kuld .tj-saak-kaart{background:var(--gold-400);}
.tj-saak-kaart b{color:var(--ink);} .tj-saak-kaart span{color:var(--ink);} .tj-saak-kaart i{color:#2a2a1e;}
.tj-saak-silt{background:var(--ink);color:var(--lime);border:none;}
.tj-saak-kaart .tj-nupp{background:var(--ink);color:var(--lime);border-color:var(--ink);box-shadow:4px 4px 0 rgba(10,18,20,.35);}
.tj-saak-kaart .tj-nupp--peamine{background:var(--paper);color:var(--ink);}
/* rüselus: pinge ja edu */
.tj-pinge,.tj-edu{border:var(--tj-raam);background:var(--paper);box-shadow:var(--tj-vari);}
.tj-pinge span{color:var(--ink);font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.14em;}
/* ülekihid: varustus, kohavalik, järvevalik */
.tj-pood-kast,.tj-kv-kast,.tj-jaa-valik-kast{border:var(--bd);box-shadow:var(--hard);background:var(--water-900);border-radius:22px;}
.tj-kv-pea b{font-family:'Anton',Impact,sans-serif;font-size:1.6rem;letter-spacing:.02em;text-transform:uppercase;color:var(--paper);}
.tj-pood-raha{background:var(--lime);color:var(--ink);padding:5px 12px;border-radius:999px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.1em;font-size:.95rem;border:2px solid var(--ink);}
.tj-pood-raha i{color:var(--ink);}
.tj-pood-sakk{font-size:1.1rem;} .tj-pood-sakk.on{color:var(--lime);}
.tj-karp-silt{color:var(--lime);font-size:.7rem;}
.tj-ost{border:2px solid rgba(242,238,225,.18);background:rgba(242,238,225,.05);}
.tj-ost--pood.on-saab{border-color:var(--lime);box-shadow:4px 4px 0 rgba(201,245,73,.35);}
.tj-ost--pood.on-saab:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(201,245,73,.45);}
.tj-ost-silt.on-osta{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);}
.tj-ost--vali.on-valitud{border-color:var(--lime);box-shadow:4px 4px 0 rgba(201,245,73,.35);}
.tj-jaa-jarv-kaart{border:2px solid rgba(242,238,225,.15);background:rgba(242,238,225,.05);}
.tj-jaa-jarv-kaart.on-valitud{border-color:var(--lime);box-shadow:4px 4px 0 rgba(201,245,73,.4);}
.tj-jaa-jarv-kaart b{font-family:'Anton',Impact,sans-serif;letter-spacing:.02em;font-size:1.3rem;}
.tj-koht{border:2px solid rgba(242,238,225,.15);} .tj-koht.on{border-color:var(--lime);box-shadow:4px 4px 0 rgba(201,245,73,.4);}
/* leht: hero nagu avalehel */
.tj-kicker{color:var(--lime);letter-spacing:.22em;}
.tj-pea h1{font-size:clamp(3.2rem,8vw,6.4rem);line-height:.92;color:var(--paper);}
.tj-pea h1 small{font:600 1rem/1.4 Inter,system-ui,sans-serif;color:var(--steel);max-width:62ch;margin-top:10px;}
.tj-hooaeg-valik{border:var(--bd);background:var(--paper);padding:4px;box-shadow:var(--hard);}
.tj-hooaeg-valik a{color:var(--ink);font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.12em;font-size:1.05rem;padding:9px 20px;}
.tj-hooaeg-valik a.on{background:var(--ink);color:var(--lime);}
.tj-raamat-pea h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--paper);}
.tj-juhend-read li{border:2px solid rgba(242,238,225,.14);background:rgba(242,238,225,.05);border-radius:16px;}
.tj-juhend-read li.on-jargmine{background:var(--lime);color:var(--ink);border-color:var(--ink);box-shadow:var(--tj-vari);transform:rotate(-.5deg);}
.tj-juhend-read li.on-jargmine b{color:var(--ink);} .tj-juhend-read li.on-jargmine span{color:#2a2a1e;}
.tj-juhend-read li.on-jargmine em{background:var(--ink);color:var(--lime);}
.tj-juhend-koht{background:var(--paper);color:var(--ink);border:var(--bd);box-shadow:var(--hard);border-radius:18px;}
.tj-juhend-koht u{color:#5b6b6e;} .tj-juhend-koht > b{color:var(--ink);} .tj-juhend-koht > span{color:var(--water-600);}
.tj-juhend-koht p{color:#2a3335;} .tj-juhend-koht li{background:rgba(10,18,20,.07);} .tj-juhend-koht li i{color:var(--coral-deep);}
.tj-juhend-koht li b{color:var(--ink);} .tj-juhend-koht li span{color:#3a4446;}
.tj-veekogu{border:2px solid rgba(242,238,225,.14);border-radius:16px;}
.tj-veekogu.on-siin{border-color:var(--lime);box-shadow:4px 4px 0 rgba(201,245,73,.35);}
.tj-veekogu b{font-family:'Anton',Impact,sans-serif;font-size:1.25rem;}
.tj-yl-read li,.tj-edetabel table{border-radius:14px;}
.tj-edetabel-sakid .tj-nupp--peamine{background:var(--lime);}
.tj-margus{border:2px dashed rgba(201,245,73,.35);}
@media (orientation:landscape) and (max-height:560px){
  .tj-leht{--tj-vari:2px 2px 0 var(--ink);}
  .tj-sonum{transform:none;} .tj-saak-kaart{transform:none;}
}

/* --- ÜKS SÕRM: tegevusnuppe stseenil ei ole (08.10.2026) ---------------- */
.tj-nupud{display:none !important;}
.tj-stseen canvas{touch-action:none;-webkit-user-select:none;user-select:none;}
/* ülemine riba: tint-kastid laimi/paberi tekstiga (paberkastidel jäi tekst
   hele ja loetamatu — vanad värvireeglid võidavad) */
.tj-kell,.tj-tase,.tj-ilm,.tj-raha,.tj-kohanupp,.tj-jaa-jarv,.tj-jaa-teave,.tj-jaa-mini{
  background:var(--ink);color:var(--paper);border:2px solid rgba(242,238,225,.55);box-shadow:3px 3px 0 rgba(201,245,73,.45);}
.tj-kell b{color:var(--lime);} .tj-kell span{color:var(--steel);}
.tj-tase-nr{color:var(--gold-400);} .tj-tase-txt b{color:var(--paper);} .tj-tase-txt i{color:var(--steel);}
.tj-xp-rada{background:rgba(242,238,225,.16);} .tj-xp-rada i{background:var(--lime);}
.tj-ilm-tk{color:var(--paper);} .tj-ilm-tk b{color:var(--paper);} .tj-ilm-tk u{color:var(--steel);}
.tj-nool{color:var(--lime);} .tj-nool.on-alla{color:var(--coral);}
.tj-raha{color:var(--lime);} .tj-raha:hover{background:var(--lime);color:var(--ink);}
.tj-kohanupp{color:var(--paper);} .tj-kohanupp i{color:var(--steel);} .tj-kohanupp:hover{background:var(--lime);color:var(--ink);}
.tj-kohanupp:hover i{color:var(--ink);}
.tj-jaa-jarv{color:var(--paper);} .tj-jaa-teave{color:var(--paper);}
.tj-jaa-mini span{color:var(--lime);}
.tj-kompl{background:var(--ink);color:var(--paper);border:2px solid rgba(242,238,225,.55);box-shadow:3px 3px 0 rgba(201,245,73,.45);}
.tj-kompl:hover{background:var(--water-900);border-color:var(--lime);}
.tj-kompl-txt u{color:var(--steel);} .tj-kompl-txt b{color:var(--paper);} .tj-kompl-txt i{color:var(--steel);}
.tj-kompl-ico{background:rgba(201,245,73,.16);color:var(--lime);} .tj-kompl--soot .tj-kompl-ico{background:rgba(255,200,87,.16);color:var(--gold-400);}
.tj-kompl-ava{background:var(--lime);color:var(--ink);border-color:var(--ink);}

/* =========================================================================
   tj22 (08.10.2026): KOOMIKS-efektid, jutumullid üleval, varustus paberil.
   ========================================================================= */
/* --- hero: Ä täpid ei tohi kickerit katta ------------------------------ */
.tj-pea h1{line-height:1;padding-top:.16em;margin-top:2px;}
.tj-kicker{position:relative;z-index:1;}

/* --- jutumull: stseeni vihje üleval paremal, mitte vee peal ------------- */
.tj-vihje,.tj-stseen.on-mang .tj-vihje{
  left:auto;right:var(--tj-pad);bottom:auto;top:96px;transform:rotate(1deg);
  max-width:min(320px,40%);text-align:left;border-radius:18px;padding:10px 14px;
  background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);
  font-size:.86rem;line-height:1.35;font-weight:600;z-index:5;}
.tj-vihje::after{content:'';position:absolute;left:22px;bottom:-11px;width:16px;height:16px;background:var(--paper);
  border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) skew(8deg,8deg);}
.tj-vihje.on-tuhm{opacity:.35;}
/* õpetuse riba vasakul (minikaardi kõrval), vihjega ei kattu */
.tj-juhend-riba{left:calc(var(--tj-pad) + 118px);right:calc(var(--tj-pad) + min(320px,40%) + 16px);top:96px;margin:0;max-width:none;}
.on-kaart .tj-juhend-riba{display:none;}
/* kaardi vihje: sama jutumull üleval paremal; peitub 6 s pärast */
.tj-jaa-vihje{left:auto;right:calc(var(--tj-pad) + 4px);bottom:auto;transform:rotate(1deg);max-width:min(300px,38%);
  background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:16px;
  padding:9px 13px;font:600 .82rem/1.35 Inter,system-ui,sans-serif;text-align:left;z-index:6;transition:opacity .5s,transform .5s;}
.tj-jaa-vihje.on-peidus{opacity:0;transform:translateY(-6px) rotate(1deg);pointer-events:none;}
.tj-jaa-vihje:empty{display:none;}
@media (max-width:720px){
  .tj-vihje{max-width:56%;font-size:.76rem;top:88px;}
  .tj-juhend-riba{display:none;}
}
@media (orientation:landscape) and (max-height:560px){
  .tj-vihje{top:auto;bottom:calc(var(--alariba, 56px) + 10px);right:var(--tj-pad);max-width:42%;font-size:.7rem;padding:6px 10px;}
  .tj-vihje::after{display:none;}
  .tj-jaa-vihje{font-size:.68rem;max-width:44%;}
}

/* --- KOOMIKS: POW! BAM! — eesti häälega ------------------------------- */
.tj-koomiks{position:absolute;inset:0;pointer-events:none;z-index:60;overflow:hidden;}
.tj-pauh{position:absolute;width:calc(190px * var(--suur,1));height:calc(130px * var(--suur,1));margin:calc(-65px * var(--suur,1)) 0 0 calc(-95px * var(--suur,1));
  display:grid;place-items:center;transform:rotate(var(--nurk,-8deg)) scale(0);animation:tj-pauh 1.4s cubic-bezier(.2,1.6,.4,1) forwards;
  filter:drop-shadow(5px 5px 0 var(--ink));}
.tj-pauh svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.tj-pauh polygon{stroke:var(--ink);stroke-width:2.6;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.tj-pauh b{position:relative;font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1;
  font-size:calc(2.1rem * var(--suur,1));color:var(--paper);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;
  text-shadow:3px 3px 0 var(--ink);transform:skew(-6deg);white-space:nowrap;}
/* täpiraster (nagu vanas koomiksis) täheplahvatuse sees */
.tj-pauh polygon.tj-pauh-tapid{stroke:none;opacity:.22;}
.tj-pauh--kuld polygon:not(.tj-pauh-tapid){fill:var(--gold-400);}   .tj-pauh--kuld b{color:var(--coral);}
.tj-pauh--korall polygon:not(.tj-pauh-tapid){fill:var(--coral);}    .tj-pauh--korall b{color:var(--gold-400);}
.tj-pauh--laim polygon:not(.tj-pauh-tapid){fill:var(--lime);}       .tj-pauh--laim b{color:var(--paper);}
.tj-pauh--vesi polygon:not(.tj-pauh-tapid){fill:#7fd3e6;}           .tj-pauh--vesi b{color:var(--paper);}
.tj-pauh--paber polygon:not(.tj-pauh-tapid){fill:var(--paper);}     .tj-pauh--paber b{color:var(--ink);-webkit-text-stroke:0;text-shadow:2px 2px 0 var(--coral);}
@keyframes tj-pauh{
  0%{transform:rotate(var(--nurk)) scale(0);opacity:1;}
  14%{transform:rotate(calc(var(--nurk) * -0.4)) scale(1.18);}
  24%{transform:rotate(var(--nurk)) scale(.96);}
  32%{transform:rotate(var(--nurk)) scale(1);}
  78%{transform:rotate(var(--nurk)) scale(1);opacity:1;}
  100%{transform:rotate(var(--nurk)) scale(1.25) translateY(-14px);opacity:0;}
}
@media (orientation:landscape) and (max-height:560px){ .tj-pauh{--suur:.7 !important;} }
@media (prefers-reduced-motion:reduce){ .tj-pauh{animation-duration:1.2s;animation-timing-function:linear;} }

/* --- VARUSTUS: paber + tint, nagu avalehe "TEE PÜÜKI" kaart -------------- */
.tj-pood{background:rgba(4,20,26,.72);}
.tj-pood-kast,.tj-kv-kast,.tj-jaa-valik-kast{background:var(--paper);color:var(--ink);border:3px solid var(--ink);
  box-shadow:8px 8px 0 var(--ink);border-radius:24px;padding:16px 18px 20px;}
.tj-pood-kast .tj-kv-pea,.tj-kv-kast .tj-kv-pea,.tj-jaa-valik-kast .tj-kv-pea{padding-bottom:10px;border-bottom:3px solid var(--ink);margin-bottom:12px;}
.tj-kv-pea b{color:var(--ink);font-size:2rem;}
.tj-kv-pea .tj-nupp{background:var(--ink);color:var(--lime);border-color:var(--ink);box-shadow:3px 3px 0 rgba(10,18,20,.3);}
.tj-pood-raha{background:var(--lime);color:var(--ink);box-shadow:3px 3px 0 var(--ink);}
.tj-pood-sakid{border-bottom:none;gap:8px;margin:0 0 14px;flex-wrap:wrap;}
.tj-pood-sakk{margin:0;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);
  padding:7px 16px 6px;box-shadow:3px 3px 0 var(--ink);transition:transform .14s,box-shadow .14s;}
.tj-pood-sakk:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink);color:var(--ink);}
.tj-pood-sakk.on{background:var(--ink);color:var(--lime);border-color:var(--ink);}
.tj-pood-sakk .gi{fill:currentColor;}
.tj-pood-sakk i{background:var(--coral);color:var(--paper);}
.tj-pood-abi{color:#36423f;font-size:.86rem;}
.tj-karp-silt{color:var(--ink);font-size:.9rem;letter-spacing:.16em;display:inline-block;
  background:linear-gradient(transparent 55%,rgba(201,245,73,.85) 55%);padding:0 4px;margin-bottom:6px;}
.tj-karp-silt .gi,.tj-karp-silt .ico{opacity:1;}
.tj-pood-grupp{margin-bottom:16px;}
/* kaardid */
.tj-ost{background:#fffdf6;color:var(--ink);border:2px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);
  transition:transform .14s var(--ease),box-shadow .14s var(--ease),background .2s;}
.tj-ost:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);border-color:var(--ink);}
.tj-ost b{color:var(--ink);}
.tj-ost--pood > span,.tj-ost--vali span{color:#3d4946;}
.tj-ost-pilt{background:radial-gradient(circle at 30% 30%,#14525a,#07272e 70%);border:2px solid var(--ink);border-radius:12px;}
.tj-ost--vali .tj-ost-pilt{background:radial-gradient(circle at 30% 30%,#14525a,#07272e 70%);}
.tj-ost-mark{background:var(--ink);color:var(--lime);}
.tj-ost-mark.on-keri{background:var(--coral);color:var(--paper);}
.tj-ost--vali.on-valitud{background:var(--lime);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink);transform:rotate(-1deg);}
.tj-ost--vali.on-valitud .tj-ost-pilt{background:radial-gradient(circle at 30% 30%,#14525a,#07272e 70%);}
.tj-ost--vali.on-valitud i{color:var(--ink);font-weight:800;}
.tj-ost--vali i{color:var(--water-600);font-weight:700;}
.tj-ost--vali.on-lukus,.tj-ost--pood.on-lukus{opacity:1;background:#ebe6d6;border-style:dashed;box-shadow:none;}
.tj-ost.on-lukus .tj-ost-pilt svg{filter:grayscale(.85) brightness(.85);opacity:.7;}
.tj-ost--vali.on-lukus i,.tj-ost-lukk{color:#8a5a12 !important;}
.tj-ost--vali.on-ei-sobi{opacity:.45;filter:none;}
.tj-ost--pood.on-saab{border-color:var(--ink);box-shadow:4px 4px 0 var(--ink);}
.tj-ost--pood.on-saab .tj-ost-pilt{background:radial-gradient(circle at 30% 30%,#1b6a72,#07272e 70%);}
.tj-ost--pood.on-olemas{opacity:.7;background:#f0f6dc;}
.tj-ost-silt{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);}
.tj-ost.on-saab i.tj-ost-silt.on-osta,.tj-ost-silt.on-osta{background:var(--coral);color:var(--paper);transform:rotate(-3deg);}
.tj-ost-silt.on-olemas{background:var(--lime);color:var(--ink);}
.tj-ost-silt.on-lukus{background:#f6e6b8;color:#6a4508;border-style:dashed;box-shadow:none;}
.tj-ost:disabled{opacity:1;cursor:default;}
.tj-ost-omad li,.tj-ost .tj-ost-omad li span{color:#4a5653;}
.tj-ost-omad li i{background:rgba(10,18,20,.12);border:1px solid rgba(10,18,20,.25);}
.tj-ost-omad li b{background:linear-gradient(90deg,var(--coral),var(--gold-400));}
/* pood: nõuanne, müük, edenemine */
.tj-pood .tj-nouanne{background:var(--gold-400);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transform:rotate(-.5deg);}
.tj-pood .tj-nouanne u{color:var(--ink);}
.tj-pood-kokku{color:var(--ink);} .tj-pood-kokku b{color:var(--coral-deep);}
.tj-myyk-read li{background:#fffdf6;color:var(--ink);border:2px solid var(--ink);border-radius:10px;}
.tj-myyk-read li i{color:var(--coral-deep);font-weight:800;}
.tj-pood .tj-tyhi{color:#4a5653;}
.tj-pood h3,.tj-eden-read h3{color:var(--ink);}
.tj-eden-read section{background:#fffdf6;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);}
.tj-eden-read section:nth-child(2) h3{color:var(--water-600);}
.tj-eden-read p,.tj-eden-sammud li{color:#2f3a38;} .tj-eden-read p b{color:var(--ink);}
.tj-eden-sammud li i{color:#5b6b6e;} .tj-eden-sammud li.on-tehtud{color:var(--water-600);} .tj-eden-sammud li.tj-eden-siht{color:var(--coral-deep);}
.tj-eden-xp{color:var(--water-600) !important;}
/* kohavalik ja järvevalik samas võtmes */
.tj-koht,.tj-viis,.tj-jaa-jarv-kaart{background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:16px;}
.tj-koht:hover,.tj-jaa-jarv-kaart:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.tj-koht.on,.tj-jaa-jarv-kaart.on-valitud{background:var(--lime);box-shadow:4px 4px 0 var(--ink);}
.tj-jaa-jarv-kaart b{color:var(--ink);} .tj-jaa-jarv-kaart small{color:var(--water-600);} .tj-jaa-jarv-kaart p{color:#3d4946;}
.tj-jaa-jarv-kaart.on-lukus{opacity:.6;filter:none;border-style:dashed;box-shadow:none;}
.tj-jaa-jarv-kaart.on-lukus small{color:#8a5a12;}
.tj-jaa-jarv-kaart canvas{border:2px solid var(--ink);}
.tj-jaa-valik-abi{color:#36423f;}
.tj-koht-nimi,.tj-viis-nimi{color:var(--ink);} .tj-koht-syg{color:var(--water-600);} .tj-koht-pohi{color:#3d4946;}
.tj-kv-viisid .tj-karp-silt{color:var(--ink);}
/* komplekti valikukaardid nagu poekaardid: pilt üleval täislaiuses */
.tj-ost--vali{grid-template-columns:1fr;grid-template-rows:none;gap:5px;padding:9px 10px 11px;align-content:start;}
.tj-ost--vali .tj-ost-pilt{grid-row:auto;width:100%;aspect-ratio:5/3;}
.tj-ost--vali b{font-size:.92rem;}
.tj-pood-read--vali{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;}
.tj-pood-read{gap:12px;}
@media (orientation:landscape) and (max-height:560px){
  .tj-ost--vali .tj-ost-pilt{aspect-ratio:3/1;}
  .tj-pood-read--vali{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:7px;}
}
.tj-ost i.tj-ost-silt.on-lukus,.tj-ost:disabled i.tj-ost-silt.on-lukus{color:#6a4508;font-size:.76rem;}
.tj-ost i.tj-ost-silt.on-olemas{color:var(--ink);font-size:.76rem;}
.tj-ost i.tj-ost-silt.on-osta{font-size:.82rem;}
.tj-karp-silt{-webkit-box-decoration-break:clone;box-decoration-break:clone;}
/* tj22b: kontrast (korall + paber = 2,7:1 → tint), tumedad nupud hõljudes */
.tj-pood-sakk i,.tj-ost.on-saab i.tj-ost-silt.on-osta,.tj-ost-silt.on-osta,.tj-ost-mark.on-keri{color:var(--ink);}
.tj-kv-pea .tj-nupp:hover:not(:disabled),.tj-saak-kaart .tj-nupp:hover:not(:disabled){background:var(--lime);color:var(--ink);}
/* koomiksi lisavärv ja kujud */
.tj-pauh--lilla polygon:not(.tj-pauh-tapid){fill:#b07cff;} .tj-pauh--lilla b{color:var(--gold-400);}
.tj-pauh-jooned line{stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.tj-pauh--kiir b{font-size:calc(1.9rem * var(--suur,1));}
.tj-pauh--pahvak b{transform:skew(-3deg);}
/* kell: Ö-täpid ei tohi numbreid puudutada */
.tj-kell{line-height:1;gap:3px;padding:6px 11px 7px;}
.tj-kell b{line-height:1;display:block;}
.tj-kell span{display:block;line-height:1.2;padding-top:2px;}
/* tase + level: silt ei tohi naabri peale joosta */
.tj-tase-osa{min-width:max-content;}
.tj-tase-osa u{overflow:visible;}
@media (max-width:900px),(orientation:landscape) and (max-height:560px){
  .tj-tase-osa u{letter-spacing:.05em;font-size:.6rem;}
  .tj-tase-osa{padding:4px 8px 7px;}
}
/* jalusesektsioonid: pealkiri ja tekst ei puutu */
.tj-raamat-pea h2{line-height:1.05;margin-bottom:.3em;padding-top:.08em;}
/* jutumullid ära, kui ülekiht on lahti */
.tj-stseen:has(.tj-pood:not([hidden])) .tj-vihje,.tj-stseen:has(.tj-saak:not([hidden])) .tj-vihje,
.tj-stseen:has(.tj-kv:not([hidden])) .tj-vihje{display:none;}
.tj-jaa.on-valik .tj-jaa-vihje{display:none;}
.tj-kicker{margin-bottom:.35em;}
.tj-stseen.on-mang .tj-juhend-riba{display:none;}   /* püügi ajal õpetuse riba ei kata teateid */
.tj-pauh b{font-size:max(1rem, calc(2.1rem * var(--suur,1)));}

/* =========================================================================
   tj26 (09.10.2026): RIIDEKAPP (Varustus → Tegelane) ja TURNIIR
   ========================================================================= */
.tj-gard{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start;}
.tj-gard-eel{position:sticky;top:0;display:grid;justify-items:center;gap:8px;background:#fffdf6;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:16px;padding:10px;}
.tj-gard-eel canvas{display:block;max-width:100%;}
.tj-gard-eel .tj-pood-abi{margin:0;font-size:.82rem;}
.tj-gard-valik{display:grid;gap:14px;min-width:0;}
.tj-gard-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;}
.tj-gard-ese{grid-template-columns:1fr;gap:4px;padding:8px 9px 10px;align-content:start;text-align:left;}
.tj-gard-ese b{font-size:.88rem;}
.tj-gard-ese span:not(.tj-gard-pilt){font-size:.74rem;line-height:1.25;}
.tj-gard-pilt{display:block;width:100%;aspect-ratio:1/1;border:2px solid var(--ink);border-radius:50%;overflow:hidden;background:#fbf7ea;max-width:96px;justify-self:center;}
.tj-gard-pilt img{display:block;width:100%;height:100%;}
.tj-gard-ese.on-valitud{background:var(--lime);transform:rotate(-1deg);}
.tj-gard-varvid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.tj-gard-varvid:empty{display:none;}
.tj-gard-varv{width:34px;height:34px;border-radius:50%;border:3px solid var(--ink);background:var(--v);box-shadow:3px 3px 0 var(--ink);cursor:pointer;padding:0;}
.tj-gard-varvid--vaike .tj-gard-varv{width:26px;height:26px;border-width:2px;box-shadow:2px 2px 0 var(--ink);}
.tj-gard-varv:hover{transform:translate(-1px,-1px);}
.tj-gard-varv.on{outline:3px solid var(--lime);outline-offset:2px;transform:scale(1.08);}
@media (max-width:720px),(orientation:landscape) and (max-height:560px){
  .tj-gard{grid-template-columns:1fr;}
  .tj-gard-eel{position:static;grid-template-columns:120px 1fr;align-items:center;justify-items:start;}
  .tj-gard-eel canvas{width:110px !important;height:138px !important;}
  .tj-gard-read{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:7px;}
}
.tj-gard .tj-gard-ese{background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:14px;opacity:1;}
.tj-gard .tj-gard-ese:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.tj-gard .tj-gard-ese.on-valitud{background:var(--lime);}
.tj-gard .tj-gard-ese b{color:var(--ink);}
.tj-gard .tj-gard-ese span:not(.tj-gard-pilt){color:#3d4946;}
/* TURNIIRID: leheplokk */
.tj-turniir-read{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-top:10px;}
.tj-turniir{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:16px;}
.tj-turniir.on-kaib{background:var(--lime);}
.tj-turniir.on-labi,.tj-turniir.on-tyhistatud{opacity:.78;}
.tj-turniir-pea{display:flex;justify-content:space-between;gap:10px;align-items:start;}
.tj-turniir-pea b{font-family:'Bebas Neue','Anton',sans-serif;font-size:1.45rem;letter-spacing:.03em;line-height:1;color:var(--ink);}
.tj-turniir-olek{font-style:normal;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border:2px solid var(--ink);border-radius:99px;background:#fff;color:var(--ink);white-space:nowrap;}
.tj-turniir.on-kaib .tj-turniir-olek{background:var(--ink);color:var(--lime);}
.tj-turniir-info{margin:0;font-size:.86rem;color:#2f3a38;}
.tj-turniir-kell{margin:2px 0;display:flex;align-items:baseline;gap:8px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);}
.tj-turniir-kell span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;}
.tj-turniir-kell strong{font-family:'Anton','Bebas Neue',sans-serif;font-weight:400;font-size:1.9rem;line-height:1;letter-spacing:.02em;}
.tj-turniir-lukk{width:.8em;height:.8em;margin-right:6px;vertical-align:-.05em;}
.tj-turniir-parool{flex:1 1 100%;width:100%;box-sizing:border-box;min-width:0;font:inherit;padding:6px 9px;border:2px solid var(--ink);border-radius:9px;background:#fff;color:var(--ink);}
.tj-turniir.on-esile{animation:tjEsile 1.2s ease-in-out 3;}
@keyframes tjEsile{50%{transform:translateY(-3px);box-shadow:8px 8px 0 var(--ink),0 0 0 5px var(--lime);}}
.tj-turniir-mina{margin:0;display:flex;align-items:center;gap:7px;font-size:.84rem;color:#2f3a38;}
.tj-turniir-tapp{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--v);border:2px solid var(--ink);flex:none;}
.tj-turniir-nupud{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.tj-turniir .tj-nupp{background:var(--ink);color:var(--lime);border-color:var(--ink);}
.tj-turniir .tj-nupp.tj-nupp--laim{background:var(--lime);color:var(--ink);}
.tj-turniir.on-kaib .tj-nupp.tj-nupp--laim{background:#fff;}
.tj-turniir .tj-nupp--vaike{background:#fff;color:var(--ink);}
.tj-turniir-tyhi{color:var(--paper,#f2eee1);opacity:.85;}
.tj-turniir .tj-turniir-tyhi{color:#2f3a38;}
.tj-turniir-rida{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;}
.tj-turniir-rida li{display:grid;grid-template-columns:26px 16px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:5px 8px;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);}
.tj-turniir-rida li.on-mina{background:#fff7c2;}
.tj-turniir-rida li small{grid-column:3 / 5;font-size:.72rem;color:#3d4946;}
.tj-turniir-rida em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;}
.tj-turniir-koht{font-family:'Anton',sans-serif;font-size:1.1rem;text-align:center;}
.tj-turniir-uus{margin-top:16px;}
.tj-turniir-uus summary{cursor:pointer;font-weight:700;color:var(--lime);}
.tj-turniir-vorm{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:10px;padding:14px;background:#fffdf6;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:16px;color:var(--ink);}
.tj-turniir-vorm label{display:grid;gap:4px;font-size:.8rem;font-weight:700;color:var(--ink);}
.tj-turniir-vorm input,.tj-turniir-vorm select{font:inherit;font-weight:400;padding:7px 9px;border:2px solid var(--ink);border-radius:9px;background:#fff;color:var(--ink);}
.tj-turniir-vorm .tj-nupp{align-self:end;background:var(--lime);color:var(--ink);}
/* TURNIIR: HUD mängu sees */
.tj-turniir-hud{position:absolute;left:50%;top:84px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:9px;padding:6px 12px;background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:99px;font-size:.84rem;max-width:calc(100% - 24px);white-space:nowrap;}
.tj-turniir-hud.on-kaib{background:var(--lime);}
.tj-turniir-hud b{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:22ch;vertical-align:middle;}
.tj-turniir-hud i{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;}
.tj-turniir-hud em{font-style:normal;font-family:'Anton',sans-serif;font-size:1rem;}
.tj-turniir-hud .tj-nupp{padding:3px 10px;font-size:.7rem;background:var(--ink);color:var(--lime);}
.tj-stseen:has(.tj-pood:not([hidden])) .tj-turniir-hud,.tj-stseen:has(.tj-eden:not([hidden])) .tj-turniir-hud{display:none;}
@media (orientation:landscape) and (max-height:560px){ .tj-turniir-hud{top:52px;font-size:.74rem;padding:4px 9px;} .tj-turniir-hud b{max-width:12ch;} }
@media (max-width:560px){ .tj-turniir-hud b{display:none;} }

/* =========================================================================
   tj26: MÄNGU KURSORID (09.10.2026, Steve: „ristike on igav")
   Lehe keeles: laim + tint + korall, kõva nihkega tindivari. Kursor ütleb,
   mida klõps teeb: UJUK = viska siia, KONKS = vajuta (haagi/nõksuta),
   RULL = hoia all ja keri, SIHT = kaardil mine/sõida/puuri siia.
   SVG-d: tools/kursorid (tee.py). Varu: tavaline nool/käsi.
   ========================================================================= */
.tj-stseen{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate%282 2%29'%3E%3Crect x='13.5' y='1.5' width='3' height='9' rx='1.5' fill='%230a1214'/%3E%3Cpath d='M15 10c-4.6 0-7.4 3.6-7.4 8.2 0 4.4 3.2 7.8 7.4 9.3 4.2-1.5 7.4-4.9 7.4-9.3C22.4 13.6 19.6 10 15 10z' fill='%230a1214'/%3E%3C/g%3E%3Crect x='13.5' y='1.5' width='3' height='9' rx='1.5' fill='%23c9f549' stroke='%230a1214' stroke-width='1.6'/%3E%3Cpath d='M15 10c-4.6 0-7.4 3.6-7.4 8.2 0 4.4 3.2 7.8 7.4 9.3 4.2-1.5 7.4-4.9 7.4-9.3C22.4 13.6 19.6 10 15 10z' fill='%23f2eee1' stroke='%230a1214' stroke-width='2'/%3E%3Cpath d='M8.6 17.4c.4-4.1 3-7 6.4-7s6 2.9 6.4 7z' fill='%23ff5b2e'/%3E%3Cpath d='M15 10c-4.6 0-7.4 3.6-7.4 8.2 0 4.4 3.2 7.8 7.4 9.3 4.2-1.5 7.4-4.9 7.4-9.3C22.4 13.6 19.6 10 15 10z' fill='none' stroke='%230a1214' stroke-width='2'/%3E%3Crect x='8' y='17' width='14' height='1.8' fill='%230a1214'/%3E%3C/svg%3E") 15 29,crosshair;}
.tj-stseen[data-faas="ootel"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate%282 2%29'%3E%3Cpath d='M17 4v14.5a5.5 5.5 0 0 1-11 0v-2.5' fill='none' stroke='%230a1214' stroke-width='6' stroke-linecap='round'/%3E%3Ccircle cx='17' cy='4' r='3.4' fill='%230a1214'/%3E%3C/g%3E%3Cpath d='M17 4v14.5a5.5 5.5 0 0 1-11 0v-2.5' fill='none' stroke='%230a1214' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M17 4v14.5a5.5 5.5 0 0 1-11 0v-2.5' fill='none' stroke='%23c9f549' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M6 15.6l3.2 3' stroke='%230a1214' stroke-width='4.5' stroke-linecap='round'/%3E%3Cpath d='M6 15.6l3.2 3' stroke='%23c9f549' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='17' cy='4' r='3.4' fill='%23f2eee1' stroke='%230a1214' stroke-width='2'/%3E%3C/svg%3E") 6 16,pointer;}
.tj-stseen[data-faas="ruselus"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate%282 2%29'%3E%3Ccircle cx='14' cy='15' r='10' fill='%230a1214'/%3E%3Crect x='21' y='4' width='5' height='9' rx='2.5' fill='%230a1214'/%3E%3C/g%3E%3Ccircle cx='14' cy='15' r='10' fill='%23c9f549' stroke='%230a1214' stroke-width='2'/%3E%3Ccircle cx='14' cy='15' r='5.6' fill='%230a1214'/%3E%3Ccircle cx='14' cy='15' r='2' fill='%23f2eee1'/%3E%3Cpath d='M14 15L23 9' stroke='%230a1214' stroke-width='3.2' stroke-linecap='round'/%3E%3Crect x='21' y='4' width='5' height='9' rx='2.5' fill='%23ff5b2e' stroke='%230a1214' stroke-width='1.8'/%3E%3C/svg%3E") 14 15,grab;}
.tj-stseen.on-kaart,.tj-stseen.on-kaart .tj-jaa canvas,.tj-jaa canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate%282 2%29'%3E%3Ccircle cx='15' cy='15' r='9' fill='none' stroke='%230a1214' stroke-width='6'/%3E%3C/g%3E%3Ccircle cx='15' cy='15' r='9' fill='none' stroke='%230a1214' stroke-width='6'/%3E%3Ccircle cx='15' cy='15' r='9' fill='none' stroke='%23c9f549' stroke-width='2.8'/%3E%3Cpath d='M15 1.5v4' stroke='%230a1214' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M15 1.5v4' stroke='%23c9f549' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M15 24.5v4' stroke='%230a1214' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M15 24.5v4' stroke='%23c9f549' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M1.5 15h4' stroke='%230a1214' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M1.5 15h4' stroke='%23c9f549' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M24.5 15h4' stroke='%230a1214' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M24.5 15h4' stroke='%23c9f549' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='15' cy='15' r='2.6' fill='%23ff5b2e' stroke='%230a1214' stroke-width='1.6'/%3E%3C/svg%3E") 15 15,crosshair;}
.tj-stseen button,.tj-stseen a,.tj-stseen summary,.tj-stseen label,.tj-stseen select{cursor:pointer;}
.tj-stseen .tj-pood,.tj-stseen .tj-eden,.tj-stseen .tj-saak,.tj-stseen .tj-jaa-valik,.tj-stseen .tj-kv{cursor:default;}
.tj-stseen .tj-pood button,.tj-stseen .tj-eden button,.tj-stseen .tj-saak button,.tj-stseen .tj-jaa-valik button{cursor:pointer;}
/* tj27: OSTU KINNITUS — paberkleeps nagu pood */
.tj-kinnita{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:rgba(6,19,26,.55);backdrop-filter:blur(2px);}
.tj-kinnita[hidden]{display:none;}
.tj-kinnita-kast{width:min(340px,calc(100% - 32px));display:grid;gap:10px;justify-items:center;text-align:center;padding:18px 18px 16px;background:#fffdf6;color:var(--ink);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:18px;transform:rotate(-1deg);animation:tj-kinnita-sisse .18s ease-out;}
@keyframes tj-kinnita-sisse{from{transform:rotate(-1deg) scale(.9);opacity:0}to{transform:rotate(-1deg) scale(1);opacity:1}}
.tj-kinnita-pea{margin:0;font-family:'Anton',sans-serif;font-size:1.6rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);}
.tj-kinnita-pilt{width:160px;max-width:70%;border:2px solid var(--ink);border-radius:12px;overflow:hidden;background:#0b3238;}
.tj-kinnita-pilt img,.tj-kinnita-pilt svg{display:block;width:100%;height:auto;}
.tj-kinnita-nimi{margin:0;font-size:1rem;color:var(--ink);}
.tj-kinnita-raha{margin:0;font-size:.84rem;color:#3d4946;}
.tj-kinnita-nupud{display:flex;gap:10px;margin-top:4px;}
.tj-kinnita .tj-nupp{background:#fff;color:var(--ink);border:2px solid var(--ink);}
.tj-kinnita .tj-nupp--peamine{background:var(--lime);color:var(--ink);}

/* =========================================================================
   SEADMED MÄNGUS (10.10.2026, public/js/tj-seadmed.js): vasak veerg minikaardi
   all — sööda sügavus, kalaradar, külm + telk, ämber. Lehe kleepsukeel:
   paber, tint, kõva vari.
   ========================================================================= */
.tj-seadmed-veerg{position:absolute;z-index:5;left:var(--tj-pad,12px);top:var(--tj-sv-top,160px);display:flex;flex-direction:column;gap:6px;width:156px;pointer-events:none;overflow:hidden;}
.tj-stseen:has(.tj-jaa:not([hidden])) .tj-seadmed-veerg,.tj-stseen:has(.tj-pood:not([hidden])) .tj-seadmed-veerg{display:none;}
.tj-sv-kast{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:5px 8px;background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:12px;font-size:.74rem;line-height:1.15;}
.tj-sv-kast u{text-decoration:none;font-family:'Bebas Neue','Anton',sans-serif;font-size:.9rem;letter-spacing:.06em;flex:1 1 100%;}
.tj-sv-kast i{font-style:normal;opacity:.75;flex:1 1 100%;font-size:.7rem;}
.tj-sv-syg b{font-family:'Anton',sans-serif;font-weight:400;font-size:1.15rem;font-variant-numeric:tabular-nums;min-width:4.2ch;text-align:center;}
.tj-sv-nool{width:24px;height:24px;border:2px solid var(--ink);border-radius:7px;background:var(--lime);color:var(--ink);font-size:.7rem;font-weight:800;cursor:pointer;padding:0;line-height:1;}
.tj-sv-nool:active{transform:translate(1px,1px);}
.tj-sv-radar canvas{width:100%;height:auto;border-radius:6px;border:2px solid var(--ink);display:block;}
.tj-sv-radar em{font-style:normal;font-weight:700;font-size:.72rem;}
.tj-sv-liik{display:block;width:100%;background:var(--ink);color:var(--lime);border-radius:6px;padding:2px 6px;}
.tj-sv-tuli{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink);background:#4a1c18;box-shadow:inset 0 -3px 0 rgba(0,0,0,.35);}
.tj-sv-tuli.on{background:#ff3b2e;box-shadow:0 0 10px 3px rgba(255,59,46,.75),inset 0 -3px 0 rgba(0,0,0,.25);animation:tjTuli 0.8s ease-in-out infinite alternate;}
@keyframes tjTuli{to{box-shadow:0 0 18px 6px rgba(255,59,46,.9);}}
.tj-sv-riba{flex:1 1 100%;height:9px;border:2px solid var(--ink);border-radius:99px;background:#dff3f6;overflow:hidden;}
.tj-sv-riba i{display:block;height:100%;opacity:1;background:linear-gradient(90deg,#7fd3e8,#2b6be0 60%,#7a3bd0);}
.tj-sv-kylm.on-kohmakas{background:#e6f4ff;}
.tj-sv-kylm.on-kange{background:#ffe2de;animation:tjKange 1s ease-in-out infinite alternate;}
@keyframes tjKange{to{box-shadow:3px 3px 0 var(--ink),0 0 0 3px #ff5b2e;}}
.tj-sv-nupud{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 100%;}
.tj-sv-nupud .tj-nupp,.tj-sv-telgid .tj-nupp{padding:3px 8px;font-size:.66rem;}
.tj-sv-telgid{display:flex;flex-direction:column;gap:4px;flex:1 1 100%;}
.tj-sv-telgid p{margin:0;font-size:.7rem;}
.tj-sv-ammber b{font-family:'Anton',sans-serif;font-weight:400;font-size:1.05rem;}
@media (max-width:640px),(orientation:landscape) and (max-height:560px){
  .tj-seadmed-veerg{width:122px;gap:4px;}
  .tj-sv-kast{padding:3px 6px;font-size:.66rem;}
  .tj-sv-kast i{display:none;}
}
/* Telgi sisevaade: kangas raamib stseeni, puhur helendab nurgas. */
.tj-telgis{position:absolute;inset:0;z-index:2;pointer-events:none;}
.tj-telgis svg{position:absolute;inset:0;width:100%;height:100%;opacity:1;filter:drop-shadow(0 0 30px rgba(0,0,0,.45));}
.tj-telgis .tj-tuulevari{display:none;}
.tj-telgis.on-lahtine svg:first-of-type{display:none;}
.tj-telgis.on-lahtine .tj-tuulevari{display:block;filter:drop-shadow(-6px 4px 10px rgba(0,0,0,.25));}
.tj-telgis-puhur{position:absolute;right:9%;bottom:6%;width:22%;height:30%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,150,60,.55),rgba(255,120,40,0));opacity:0;transition:opacity .6s;}
.tj-telgis.on-puhur .tj-telgis-puhur{opacity:1;animation:tjPuhur 2.4s ease-in-out infinite alternate;}
@keyframes tjPuhur{to{transform:scale(1.08);opacity:.8;}}
/* riiete ja seadmete mõju kaardil */
.tj-gard-moju{display:block;font-style:normal;font-weight:700;font-size:.72rem;color:#1f5c4d;background:#e8f6d0;border-radius:6px;padding:2px 6px;margin-top:2px;}

.tj-seade b{display:block;}

/* ---- TURNIIR: pingerida vasakul + vestlus (10.10.2026, tj-turniir.js) ---- */
.tj-pr-kylg{position:absolute;z-index:6;left:var(--tj-pad,12px);top:150px;width:200px;max-height:42%;overflow:auto;background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:12px;font-size:.74rem;}
.tj-pr-pea{display:block;width:100%;text-align:left;border:0;background:var(--ink);color:var(--lime);font-family:'Bebas Neue','Anton',sans-serif;font-size:.95rem;letter-spacing:.08em;padding:4px 9px;cursor:pointer;}
.tj-pr-kylg ol{list-style:none;margin:0;padding:4px;display:grid;gap:3px;}
.tj-pr-kylg li{display:grid;grid-template-columns:20px 12px 1fr auto;column-gap:5px;align-items:center;padding:3px 5px;border-radius:7px;background:#fff;border:1.5px solid rgba(10,18,20,.25);}
.tj-pr-kylg li.on-mina{background:#fff7c2;border-color:var(--ink);}
.tj-pr-kylg li.on-lahedal{background:#e8f6d0;}
.tj-pr-kylg li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tj-pr-kylg li em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;}
.tj-pr-kylg li small{grid-column:3 / 5;font-size:.64rem;opacity:.7;}
.tj-pr-kylg .tj-turniir-tapp{width:11px;height:11px;}
.tj-pr-udu{margin:0;padding:3px 8px 6px;font-size:.64rem;opacity:.75;}
.tj-trahv{color:#c4473a;font-style:normal;font-weight:700;opacity:1 !important;}
.tj-turniir-reeglid{margin:0;font-size:.78rem;color:#2f3a38;background:#f2eee1;border-radius:8px;padding:4px 8px;}
.tj-turniir-vorm-abi{grid-column:1 / -1;margin:0;font-size:.76rem;color:#2f3a38;}
@media (max-width:640px),(orientation:landscape) and (max-height:560px){ .tj-pr-kylg{width:150px;font-size:.66rem;} }

.tj-chat{background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;}
.tj-chat-pea{border:0;background:var(--ink);color:var(--lime);font-family:'Bebas Neue','Anton',sans-serif;font-size:.95rem;letter-spacing:.08em;padding:4px 10px;text-align:left;cursor:pointer;}
.tj-chat-pea i{font-style:normal;background:#ff5b2e;color:#fff;border-radius:99px;padding:0 6px;margin-left:6px;font-family:Inter,sans-serif;font-size:.7rem;}
.tj-chat-pea i:empty{display:none;}
.tj-chat-read{list-style:none;margin:0;padding:6px 8px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:.8rem;}
.tj-chat-read li{display:grid;grid-template-columns:12px auto 1fr;column-gap:5px;align-items:center;}
.tj-chat-read li time{font-size:.66rem;opacity:.6;}
.tj-chat-read li p{grid-column:1 / -1;margin:0 0 0 17px;overflow-wrap:anywhere;}
.tj-chat-read li.on-mina b{color:#1f5c4d;}
.tj-chat-read .tj-turniir-tapp{width:10px;height:10px;}
.tj-chat-vorm{display:flex;gap:6px;padding:6px;border-top:2px solid var(--ink);}
.tj-chat-vorm input{flex:1;min-width:0;font:inherit;font-size:.82rem;padding:5px 8px;border:2px solid var(--ink);border-radius:9px;}
.tj-chat.on-kinni .tj-chat-read,.tj-chat.on-kinni .tj-chat-vorm{display:none;}
/* arvutis: eraldi rida mängulaua all — ei kata ekraani */
.tj-chat.on-real{margin-top:12px;max-width:none;}
.tj-chat.on-real .tj-chat-read{height:120px;}
/* telefonis / täisekraanil: väike kast laua paremas servas */
.tj-chat.on-laual{position:absolute;z-index:7;right:var(--tj-pad,10px);bottom:86px;width:min(240px,42%);max-height:46%;}
.tj-chat.on-laual .tj-chat-read{max-height:140px;font-size:.72rem;}
.tj-chat.on-laual.on-kinni{width:auto;}
/* Kanged käed: suur nupp keset lauda (10.10.2026 parandus) */
.tj-kange-nupp{position:absolute;z-index:8;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 22px;font-size:1rem;background:var(--lime);color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:16px;cursor:pointer;animation:tjKange 1s ease-in-out infinite alternate;}
.tj-kange-nupp b{font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;font-size:1.4rem;letter-spacing:.06em;}
.tj-kange-nupp span{font-size:.8rem;font-weight:700;}
.tj-sv-alg{font-size:.68rem;font-weight:700;background:#ffe2de;border:1.5px solid var(--ink);border-radius:8px;padding:2px 6px;}
/* [hidden] peab võitma display:flex'i (vestlus näis väljaspool turniiri) */
.tj-chat[hidden],.tj-kange-nupp[hidden],.tj-pr-kylg[hidden],.tj-telgis[hidden]{display:none !important;}
/* Lant, mida sinu ridvad ei heida (10.10.2026) */
.tj-ost-hoiatus{display:block;font-style:normal;font-weight:700;font-size:.72rem;color:#7a2a12;background:#ffe2c8;border:1.5px solid #c4473a;border-radius:7px;padding:3px 7px;margin-top:3px;}
.tj-kinnita-hoiatus{margin:6px 0 0;font-weight:700;font-size:.82rem;color:#7a2a12;background:#ffe2c8;border:2px solid #c4473a;border-radius:9px;padding:6px 9px;}
/* Vestlus suuremaks (Steve 10.10: „chäti aken peaks suurem olema") */
.tj-chat{font-size:.92rem;}
.tj-chat-read{font-size:.9rem;gap:6px;}
.tj-chat.on-real .tj-chat-read{height:220px;}
.tj-chat.on-laual{width:min(340px,48%);max-height:68%;}
.tj-chat.on-laual .tj-chat-read{max-height:240px;font-size:.8rem;}
.tj-chat-vorm input{font-size:.92rem;padding:7px 10px;}

/* =====================================================================
   EESMÄRGID JA VIHJED vasakus servas (15.10.2026, public/js/tj-siht.js)
   ===================================================================== */
.tj-siht{position:absolute;z-index:7;left:var(--tj-pad,12px);bottom:calc(var(--alariba, 76px) + 10px);width:262px;max-height:min(52%, 420px);
  display:flex;flex-direction:column;background:#fffdf6;color:var(--ink,#0a1214);border:2px solid var(--ink,#0a1214);box-shadow:3px 3px 0 var(--ink,#0a1214);
  border-radius:12px;font-size:.76rem;line-height:1.3;overflow:hidden;}
.tj-siht[hidden]{display:none;}
.tj-stseen.on-kaart .tj-siht{bottom:14px;}
.tj-siht-pea{display:flex;align-items:stretch;background:var(--ink,#0a1214);flex:0 0 auto;}
.tj-siht-lahti{flex:1;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--lime,#c9f549);cursor:pointer;padding:5px 8px;text-align:left;font:inherit;}
.tj-siht-lahti em{font-style:normal;font-size:.95rem;}
.tj-siht-lahti b{font-family:'Bebas Neue','Anton',sans-serif;font-size:1.05rem;letter-spacing:.06em;font-weight:400;white-space:nowrap;}
.tj-siht-lahti i{font-style:normal;margin-left:auto;background:var(--lime,#c9f549);color:var(--ink,#0a1214);border-radius:999px;padding:0 7px;font-weight:700;font-size:.72rem;}
.tj-siht-nool{color:#f2eee1;font-size:.8rem;}
.tj-siht-vihjed{color:#f2eee1;border:0;border-left:1.5px solid rgba(255,255,255,.25);background:transparent;cursor:pointer;font-size:1rem;padding:0 9px;}
.tj-siht-vihjed.on-valjas{filter:grayscale(1);opacity:.45;text-decoration:line-through;}
.tj-siht-sisu{overflow:auto;padding:7px 8px 8px;display:flex;flex-direction:column;gap:7px;overscroll-behavior:contain;}
.tj-siht.on-kokku .tj-siht-sisu{display:none;}
.tj-siht.on-kokku{width:auto;max-width:262px;}
.tj-siht.on-kokku.on-nipp .tj-siht-sisu{display:flex;}
.tj-siht.on-kokku.on-nipp .tj-siht-sisu > :not(.tj-siht-nipp){display:none;}
.tj-siht-opetus{background:var(--gold-400,#f5c84b);border:1.5px solid var(--ink,#0a1214);border-radius:9px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;}
.tj-siht-opetus[hidden]{display:none;}
.tj-siht-opetus u{text-decoration:none;font-family:'Bebas Neue','Anton',sans-serif;letter-spacing:.1em;font-size:.78rem;}
.tj-siht-opetus b{font-size:.86rem;}
.tj-siht-opetus ol{margin:3px 0 0;padding-left:17px;display:grid;gap:2px;}
.tj-siht-opetus li{font-size:.72rem;}
.tj-siht-read{list-style:none;margin:0;padding:0;display:grid;gap:4px;}
.tj-siht-read li{display:grid;grid-template-columns:14px 1fr auto;column-gap:5px;align-items:center;padding:4px 6px;border-radius:8px;background:#fff;border:1.5px solid rgba(10,18,20,.22);}
.tj-siht-read li em{font-style:normal;font-weight:700;color:#7a8a8a;}
.tj-siht-read li span{font-weight:600;}
.tj-siht-read li i{font-style:normal;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap;}
.tj-siht-read li small{grid-column:1 / 4;font-size:.68rem;color:#4a5656;margin-top:2px;}
.tj-siht-read li.on-tehtud{background:#e8f6d0;border-color:#6f9a24;}
.tj-siht-read li.on-tehtud em{color:#3d7a12;}
.tj-siht-read li.on-tehtud span{text-decoration:line-through;text-decoration-color:rgba(10,18,20,.35);}
.tj-siht-riba{grid-column:1 / 4;display:block;height:4px;border-radius:3px;background:rgba(10,18,20,.12);margin-top:3px;overflow:hidden;text-decoration:none;}
.tj-siht-riba b{display:block;height:100%;background:var(--lime-600,#8fbf1f);}
.tj-siht-avab{margin:0;font-size:.7rem;color:#3c4848;border-top:1.5px dashed rgba(10,18,20,.25);padding-top:5px;}
.tj-siht-avab[hidden],.tj-siht-soovitus[hidden],.tj-siht-nipp[hidden]{display:none;}
.tj-siht-avab u{text-decoration:none;font-weight:700;color:var(--ink,#0a1214);}
.tj-siht-soovitus{margin:0;font-size:.72rem;background:#eef6f6;border-radius:8px;padding:5px 7px;}
.tj-siht-nipp{margin:0;font-size:.74rem;background:#fff1a8;border:1.5px solid var(--ink,#0a1214);border-radius:8px;padding:6px 8px;animation:tjSihtNipp .5s ease-out;}
.tj-siht-nipp u{text-decoration:none;font-weight:700;}
@keyframes tjSihtNipp{0%{transform:translateX(-12px);opacity:0}100%{transform:none;opacity:1}}
/* vana keskmine õpetuse riba asendatud */
.tj-juhend-riba{display:none !important;}
/* taseme tõus ja vihjete küsimine */
.tj-siht-uus{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:rgba(10,18,20,.55);padding:16px;}
.tj-siht-uus-kast{max-width:420px;background:#fffdf6;color:var(--ink,#0a1214);border:3px solid var(--ink,#0a1214);box-shadow:5px 5px 0 var(--ink,#0a1214);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;text-align:center;animation:tjSihtUus .45s cubic-bezier(.2,1.4,.4,1);max-height:100%;overflow:auto;}
.tj-siht-uus-kast u{text-decoration:none;font-family:'Bebas Neue','Anton',sans-serif;letter-spacing:.14em;color:#6f9a24;font-size:1rem;}
.tj-siht-uus-kast b{font-family:'Anton',Impact,sans-serif;font-size:1.6rem;font-weight:400;line-height:1.1;}
.tj-siht-uus-kast em{font-style:normal;font-weight:700;font-size:.8rem;margin-top:4px;}
.tj-siht-uus-kast p{margin:0;font-size:.86rem;line-height:1.4;}
.tj-siht-uus-kast small{font-size:.74rem;color:#4a5656;}
.tj-siht-uus-kast .tj-nupp{margin-top:6px;}
.tj-siht-uus-nupud{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.tj-siht-kysi .tj-siht-uus-kast b{font-size:1.3rem;}
@keyframes tjSihtUus{0%{transform:scale(.7);opacity:0}100%{transform:none;opacity:1}}
@media (max-height:520px),(max-width:700px){
  .tj-siht{width:220px;font-size:.7rem;max-height:calc(100% - 120px);bottom:calc(var(--alariba, 50px) + 6px);}
  .tj-siht-lahti b{font-size:.92rem;}
  .tj-siht-uus-kast{padding:10px 12px;gap:4px;}
  .tj-siht-uus-kast b{font-size:1.2rem;}
  .tj-siht-uus-kast p{font-size:.76rem;}
}
.tj-siht.on-peal{z-index:12;box-shadow:4px 4px 0 var(--ink,#0a1214),0 0 0 2000px rgba(10,18,20,.0);}
/* turniirid: kõik saavad luua (15.10.2026) */
.tj-turniir-vahe{grid-column:1 / -1;margin:10px 0 0;font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;letter-spacing:.08em;font-size:1.05rem;opacity:.75;}
.tj-turniir-minu{white-space:nowrap;font-size:.68rem;font-weight:700;background:var(--lime,#c9f549);color:var(--ink,#0a1214);border-radius:999px;padding:1px 7px;vertical-align:2px;margin-left:4px;}
/* riidekapi komplektid (15.10.2026) */
.tj-gard-komplektid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;}
.tj-gard-komplekt{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:2px solid var(--ink,#0a1214);border-radius:12px;background:#fffdf6;color:var(--ink,#0a1214);box-shadow:3px 3px 0 var(--ink,#0a1214);font-size:.76rem;}
.tj-gard-komplekt b{font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;font-size:1.1rem;letter-spacing:.05em;color:#8a5a00;}
.tj-gard-komplekt i{font-style:normal;opacity:.75;font-size:.7rem;}
.tj-gard-komplekt.on-seljas{background:#f4ffd8;}
.tj-gard-komplekt-ok{font-style:normal;font-weight:700;color:#3d7a12;}
.tj-gard-komplekt .tj-nupp{align-self:flex-start;margin-top:4px;}
.tj-gard-komplekt-silt{font-style:normal;font-size:.66rem;font-weight:700;color:#8a5a00;}
/* peibutis vasakus veerus (15.10.2026) */
.tj-sv-peib .tj-sv-peib-vees{opacity:1;color:#3d7a12;font-weight:700;}
/* LOO TURNIIR — suur nähtav nupp (15.10.2026, Steve: „peab olema äge ja nähtav") */
.tj-turniir-uus{margin:14px 0 18px;}
.tj-turniir-uus summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;max-width:560px;
  padding:14px 18px;border:3px solid var(--ink,#0a1214);border-radius:18px;background:var(--lime,#c9f549);color:var(--ink,#0a1214);
  box-shadow:5px 5px 0 var(--ink,#0a1214),0 0 0 0 rgba(201,245,73,.55);transition:transform .12s,box-shadow .12s;animation:tjTurUus 2.4s ease-in-out infinite;}
.tj-turniir-uus summary::-webkit-details-marker{display:none;}
.tj-turniir-uus summary:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink,#0a1214),0 0 0 8px rgba(201,245,73,.18);}
.tj-turniir-uus summary:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-turniir-uus summary:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.tj-turniir-uus-iko{font-size:2rem;line-height:1;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--ink,#0a1214);flex:0 0 auto;transform:rotate(-6deg);}
.tj-turniir-uus-tekst{display:flex;flex-direction:column;gap:2px;flex:1;}
.tj-turniir-uus-tekst b{font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;font-size:1.9rem;letter-spacing:.06em;line-height:1;}
.tj-turniir-uus-tekst small{font-size:.82rem;font-weight:600;opacity:.8;}
.tj-turniir-uus-pluss{font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:2rem;line-height:1;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--ink,#0a1214);color:var(--lime,#c9f549);flex:0 0 auto;transition:transform .2s;}
.tj-turniir-uus[open] summary{animation:none;}
.tj-turniir-uus[open] .tj-turniir-uus-pluss{transform:rotate(45deg);}
.tj-turniir-uus[open] .tj-turniir-vorm{margin-top:12px;}
@keyframes tjTurUus{0%,100%{box-shadow:5px 5px 0 var(--ink,#0a1214),0 0 0 0 rgba(201,245,73,.5)}50%{box-shadow:5px 5px 0 var(--ink,#0a1214),0 0 0 10px rgba(201,245,73,0)}}
@media (prefers-reduced-motion:reduce){.tj-turniir-uus summary{animation:none;}}
@media (max-width:560px){.tj-turniir-uus summary{padding:10px 12px;gap:10px;}.tj-turniir-uus-tekst b{font-size:1.5rem;}.tj-turniir-uus-iko{width:42px;height:42px;font-size:1.6rem;}}
/* landi värv ja suurus (15.10.2026) */
.tj-kompl-lant{margin-top:10px;padding:10px;border:2px dashed rgba(10,18,20,.35);border-radius:12px;display:flex;flex-direction:column;gap:6px;}
.tj-kompl-lant[hidden]{display:none;}
.tj-lant-varvid{display:flex;flex-wrap:wrap;gap:6px;}
.tj-lant-varv{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:2px solid var(--ink,#0a1214);border-radius:999px;background:#fffdf6;cursor:pointer;font:600 .78rem Inter,system-ui,sans-serif;color:var(--ink,#0a1214);}
.tj-lant-varv i{width:20px;height:20px;border-radius:50%;background:var(--v);border:2px solid var(--ink,#0a1214);}
.tj-lant-varv.on{background:var(--lime,#c9f549);box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-lant-suurused{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.tj-lant-suurus{text-align:left;padding:6px 8px;border:2px solid var(--ink,#0a1214);border-radius:10px;background:#fffdf6;cursor:pointer;color:var(--ink,#0a1214);display:flex;flex-direction:column;gap:2px;}
.tj-lant-suurus b{font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;font-size:1.05rem;letter-spacing:.05em;}
.tj-lant-suurus span{font-size:.68rem;line-height:1.25;opacity:.8;}
.tj-lant-suurus.on{background:var(--lime,#c9f549);box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-lant-selg{margin:0;font-size:.72rem;opacity:.8;}
@media (max-width:560px){.tj-lant-suurused{grid-template-columns:1fr;}}
/* liini kulumine (15.10.2026) */
.tj-liin-kulu{margin-top:8px;padding:8px 10px;border:2px dashed rgba(10,18,20,.35);border-radius:12px;display:flex;flex-direction:column;gap:5px;font-size:.76rem;}
.tj-liin-kulu[hidden]{display:none;}
.tj-liin-kulu p{margin:0;}
.tj-liin-kulu .tj-nupp{align-self:flex-start;}
.tj-liin-kulu-riba{display:block;height:8px;border-radius:5px;background:rgba(10,18,20,.12);overflow:hidden;}
.tj-liin-kulu-riba b{display:block;height:100%;background:#d9a21f;}
.tj-liin-kulu-riba.on-halb b{background:#e5332a;}
.tj-ost-kulu{background:#fff1a8 !important;}
.tj-ost-kulu.on-halb{background:#ffd0c8 !important;}
.tj-turniir-vorm label[hidden]{display:none;}
/* turniiri vorm: nupuread rippmenüüde asemel (16.10.2026) */
.tj-turniir-vorm label.on-nupud{grid-column:1 / -1;}
.tj-valik{display:flex;flex-wrap:wrap;gap:6px;}
.tj-valik-nupp{font:600 .8rem Inter,system-ui,sans-serif;padding:7px 12px;border:2px solid var(--ink,#0a1214);border-radius:999px;background:#fff;color:var(--ink,#0a1214);cursor:pointer;transition:transform .08s,box-shadow .08s;}
.tj-valik-nupp:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-valik-nupp.on{background:var(--lime,#c9f549);box-shadow:2px 2px 0 var(--ink,#0a1214);font-weight:800;}
.tj-valik-nupp:focus-visible{outline:3px solid var(--ink,#0a1214);outline-offset:2px;}
.tj-valik--vaike .tj-valik-nupp{padding:4px 9px;font-size:.72rem;}
/* turniiri vorm: plokid ja read (16.10.2026, „kastid loogiliseks") */
.tj-turniir-vorm{display:flex;flex-direction:column;gap:12px;}
.tj-tv-plokk{margin:0;padding:10px 12px 12px;border:2px solid var(--ink,#0a1214);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:10px;min-width:0;}
.tj-tv-plokk legend{padding:0 8px;font-family:'Bebas Neue','Anton',sans-serif;font-size:1.15rem;letter-spacing:.08em;color:var(--ink,#0a1214);}
.tj-tv-rida{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:start;}
.tj-tv-rida[hidden]{display:none;}
.tj-tv-silt{font-size:.8rem;font-weight:800;padding-top:8px;}
.tj-tv-sisu{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;}
.tj-tv-sisu > input:not(.tj-tv-muu){flex:1 1 260px;max-width:420px;}
.tj-tv-sisu input{font:inherit;font-weight:400;padding:7px 10px;border:2px solid var(--ink,#0a1214);border-radius:999px;background:#fff;color:var(--ink,#0a1214);}
.tj-tv-sisu input.tj-tv-muu{width:88px;flex:0 0 auto;text-align:center;}
.tj-tv-sisu input[type=datetime-local].tj-tv-muu{width:auto;}
.tj-tv-sisu .tj-valik{flex:0 1 auto;}
.tj-tv-yhik{font-size:.78rem;font-weight:700;opacity:.7;}
.tj-turniir-vorm > .tj-nupp{align-self:flex-start;}
@media (max-width:560px){.tj-tv-rida{grid-template-columns:1fr;gap:4px;}.tj-tv-silt{padding-top:0;}}

/* =========================================================================
   tj44 (16.10.2026, Steve: „pane sinna ette pirni ikoon … jutumull ise
   vajaks muutmist selliseks, et see lehe endaga kokku läheks"):
   vihje-mull = sama tume klaaspaneel nagu ülemised kiibid (heledam ääris,
   laimiroheline nihkevari), vasakul laimiroheline pirn. Kehtib nii
   stseeni kui kaardi vihjele.
   ========================================================================= */
.tj-vihje,.tj-stseen.on-mang .tj-vihje,.tj-jaa-vihje{
  display:flex;align-items:flex-start;gap:10px;transform:none;
  background:rgba(5,18,24,.88);color:#f2eee1;
  border:2px solid rgba(242,238,225,.55);border-radius:14px;
  box-shadow:3px 3px 0 rgba(201,245,73,.45);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font:500 .86rem/1.4 Inter,system-ui,sans-serif;text-align:left;text-shadow:none;
  padding:9px 14px 9px 10px;}
.tj-vihje::before,.tj-jaa-vihje::before{
  content:'';flex:0 0 26px;width:26px;height:26px;margin-top:-2px;border-radius:50%;
  background:#c9f549 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a1214' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.6 10.8c.7.6 1.1 1.3 1.1 2.2h5c0-.9.4-1.6 1.1-2.2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center/16px no-repeat;
  box-shadow:0 0 0 3px rgba(201,245,73,.18);}
.tj-vihje::after{background:rgba(5,18,24,.88);border-right:2px solid rgba(242,238,225,.55);border-bottom:2px solid rgba(242,238,225,.55);
  transform:rotate(45deg);bottom:-9px;width:14px;height:14px;}
.tj-vihje.on-tuhm{opacity:.3;}
.tj-jaa-vihje.on-peidus{transform:translateY(-6px);}
@media (max-width:720px){
  .tj-vihje,.tj-stseen.on-mang .tj-vihje{font-size:.76rem;gap:8px;padding:7px 11px 7px 8px;}
  .tj-vihje::before,.tj-jaa-vihje::before{flex-basis:22px;width:22px;height:22px;background-size:13px;}
}
@media (orientation:landscape) and (max-height:560px){
  .tj-vihje,.tj-stseen.on-mang .tj-vihje{font-size:.7rem;padding:5px 9px 5px 6px;}
  .tj-vihje::before,.tj-jaa-vihje::before{flex-basis:18px;width:18px;height:18px;background-size:11px;margin-top:0;}
}

/* =========================================================================
   tj45 (16.10.2026): AKU, LIVE ANDUR, KAASAS JA KAAL (talv)
   ========================================================================= */
.tj-sv-kast .tj-sv-lyliti{margin-left:auto;font:800 .62rem/1 Inter,system-ui,sans-serif;letter-spacing:.06em;padding:3px 7px;border-radius:99px;
  border:2px solid var(--ink);background:#e7e2d3;color:var(--ink);cursor:pointer;}
.tj-sv-kast .tj-sv-lyliti.on{background:#c9f549;}
.tj-sv-kast u + .tj-sv-lyliti{flex:0 0 auto;}
.tj-sv-radar u,.tj-sv-andur u{flex:1 1 auto;}
.tj-sv-aku{flex:1 1 60%;height:8px;border:2px solid var(--ink);border-radius:99px;background:#e7e2d3;overflow:hidden;}
.tj-sv-aku i{display:block;height:100%;opacity:1;background:#3fae5a;}
.tj-sv-aku.on-madal i{background:#e5484d;}
.tj-sv-kast i.tj-sv-akuinfo{flex:0 0 auto;font-weight:700;opacity:.85;}
.tj-sv-kast i.tj-sv-akuinfo.on-tyhi{flex:1 1 100%;color:#b3261e;}
.tj-sv-kast.on-valjas em{opacity:.7;}
.tj-sv-andur canvas{width:100%;height:auto;aspect-ratio:1;border-radius:50%;border:2px solid var(--ink);display:block;background:#04161c;}
.tj-sv-andur em{font-style:normal;font-size:.68rem;flex:1 1 100%;}

.tj-kaasas-koorem,.tj-kaasas-aku{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:12px 14px;margin:0 0 12px;
  border:2px solid var(--ink);border-radius:14px;background:#fffdf6;color:var(--ink);box-shadow:3px 3px 0 var(--ink);}
.tj-kaasas-koorem b{font-family:'Bebas Neue','Anton',sans-serif;font-size:1.8rem;letter-spacing:.03em;line-height:1;}
.tj-kaasas-koorem span:not(.tj-kaasas-riba){font-weight:600;}
.tj-kaasas-riba{position:relative;flex:1 1 100%;height:14px;border:2px solid var(--ink);border-radius:99px;background:#e7e2d3;overflow:hidden;}
.tj-kaasas-riba i{display:block;height:100%;background:#3fae5a;transition:width .3s;}
.tj-kaasas-riba s{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink);text-decoration:none;}
.tj-kaasas-koorem.on-yle .tj-kaasas-riba i{background:#f0a531;}
.tj-kaasas-koorem.on-liiga .tj-kaasas-riba i{background:#e5484d;}
.tj-kaasas-koorem.on-liiga em{color:#b3261e;font-weight:700;}
.tj-kaasas-koorem em,.tj-kaasas-aku em{flex:1 1 100%;font-style:normal;font-size:.82rem;opacity:.85;}
.tj-kaasas-aku b{flex:1 1 100%;}
.tj-kaasas-aku .tj-sv-aku{flex:1 1 100%;height:12px;}
.tj-kaasas-aku i{font-style:normal;font-size:.8rem;opacity:.8;}
.tj-kaasas-valik .tj-valik-nupp small{opacity:.7;font-weight:600;margin-left:4px;}
/* LIVE andur: oma paneel paremal servas, vihjemulli all */
.tj-andur-paneel{position:absolute;right:var(--tj-pad,16px);top:196px;width:184px;z-index:6;pointer-events:auto;}
.tj-andur-paneel .tj-sv-kast{box-shadow:3px 3px 0 var(--ink);}
.tj-andur-paneel[hidden]{display:none;}
@media (max-width:720px){ .tj-andur-paneel{width:140px;top:150px;} }
@media (orientation:landscape) and (max-height:560px){ .tj-andur-paneel{width:118px;top:96px;} .tj-andur-paneel em{display:none;} }
/* tühi vihjemull ei tohi paista (tj44 parandus) */
.tj-vihje:empty,.tj-stseen.on-mang .tj-vihje:empty,.tj-jaa-vihje:empty{display:none;}

/* =========================================================================
   KALAD (16.10.2026): algaja teemad hüpikakendes, püügiinfo kaartidel
   ========================================================================= */
.kl-algaja{margin-bottom:34px;}
.kl-teemad{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
.kl-teema{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto 1fr;gap:2px 12px;text-align:left;cursor:pointer;
  background:rgba(6,34,40,.86);border:1.5px solid rgba(242,238,225,.14);border-radius:16px;padding:14px 15px;color:var(--paper);
  font:inherit;transition:.18s var(--ease);box-shadow:3px 3px 0 rgba(201,245,73,.0);}
.kl-teema:hover,.kl-teema:focus-visible{border-color:var(--lime);transform:translateY(-2px);box-shadow:3px 3px 0 rgba(201,245,73,.45);outline:none;}
.kl-teema-iko{grid-row:1 / span 2;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;background:rgba(201,245,73,.14);}
.kl-teema b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-size:1.12rem;color:var(--lime);font-weight:400;line-height:1.1;}
.kl-teema span:not(.kl-teema-iko){font-size:.8rem;line-height:1.45;color:#c9d6d6;}
.kl-teema--reeglid{border-color:rgba(255,200,87,.35);}
.kl-teema--reeglid b{color:var(--gold-400,#ffc857);}

.kl-dialog{width:min(760px,calc(100vw - 24px));max-height:min(86vh,900px);padding:0;border:2px solid rgba(242,238,225,.25);border-radius:18px;
  background:#06222a;color:var(--paper);box-shadow:6px 6px 0 rgba(201,245,73,.45),0 30px 80px rgba(0,0,0,.6);overflow:hidden;}
.kl-dialog[open]{display:flex;flex-direction:column;}
.kl-dialog--lai{width:min(1060px,calc(100vw - 24px));}
.kl-dialog::backdrop{background:rgba(2,10,14,.72);backdrop-filter:blur(3px);}
.kl-dialog-pea{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1.5px solid rgba(242,238,225,.12);background:rgba(15,77,82,.45);}
.kl-dialog-pea h2{flex:1;margin:0;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-size:1.6rem;font-weight:400;color:var(--lime);}
.kl-dialog-pea .kl-teema-iko{width:38px;height:38px;}
.kl-sulge{width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(242,238,225,.3);background:transparent;color:var(--paper);font-size:1rem;cursor:pointer;}
.kl-sulge:hover{background:var(--lime);color:var(--ink);border-color:var(--lime);}
.kl-dialog-sisu{overflow:auto;padding:6px 22px 22px;font-size:.92rem;line-height:1.6;color:#d8e3e2;}
.kl-dialog-sisu h3{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-size:1.18rem;font-weight:400;color:var(--paper);margin:20px 0 6px;}
.kl-dialog-sisu p{margin:8px 0;}
.kl-dialog-sisu ul,.kl-dialog-sisu ol{margin:6px 0 10px;padding-left:22px;}
.kl-dialog-sisu li{margin:3px 0;}
.kl-dialog-sisu li::marker{color:var(--lime);}
.kl-tabel{overflow-x:auto;margin:10px 0;border:1.5px solid rgba(242,238,225,.12);border-radius:12px;}
.kl-tabel table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:520px;}
.kl-tabel th{text-align:left;font-weight:700;color:var(--lime);background:rgba(15,77,82,.5);padding:8px 10px;white-space:nowrap;}
.kl-tabel td{padding:7px 10px;border-top:1px solid rgba(242,238,225,.08);vertical-align:top;}
.kl-tabel tr.on-keelatud td:nth-child(2){color:#ff8a7a;font-weight:700;}
.kl-tabel tr.on-piiratud td:nth-child(2){color:var(--gold-400,#ffc857);}
.kl-tabel a{color:var(--paper);}
html.kl-lukus{overflow:hidden;}
@media (max-width:560px){ .kl-dialog{max-height:92vh;} .kl-dialog-sisu{padding:4px 14px 18px;} .kl-dialog-pea h2{font-size:1.3rem;} }

.fish-pyyk{display:inline-block;margin:6px 0 4px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 9px;border-radius:99px;border:1px solid;}
.fish-pyyk.on-lubatud{color:var(--lime);border-color:rgba(201,245,73,.4);}
.fish-pyyk.on-piiratud{color:var(--gold-400,#ffc857);border-color:rgba(255,200,87,.4);}
.fish-pyyk.on-keelatud{color:#ff8a7a;border-color:rgba(255,138,122,.45);}
.fish-mini{margin:6px 0 0;display:grid;gap:3px;font-size:.74rem;line-height:1.4;}
.fish-mini div{display:grid;grid-template-columns:48px 1fr;gap:6px;}
.fish-mini dt{color:var(--steel);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;padding-top:2px;}
.fish-mini dd{margin:0;color:#c9d6d6;}
.fish-tag--myth{background:#5f737d;}

.fd-pyyk{display:grid;gap:4px;padding:12px 16px;margin:18px 0 6px;border-radius:14px;border:1.5px solid;}
.fd-pyyk b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-size:1.2rem;font-weight:400;}
.fd-pyyk span{font-size:.9rem;line-height:1.5;color:#d8e3e2;}
.fd-pyyk.on-lubatud{border-color:rgba(201,245,73,.45);background:rgba(201,245,73,.06);} .fd-pyyk.on-lubatud b{color:var(--lime);}
.fd-pyyk.on-piiratud{border-color:rgba(255,200,87,.45);background:rgba(255,200,87,.06);} .fd-pyyk.on-piiratud b{color:var(--gold-400,#ffc857);}
.fd-pyyk.on-keelatud{border-color:rgba(255,138,122,.5);background:rgba(255,138,122,.07);} .fd-pyyk.on-keelatud b{color:#ff8a7a;}
.fd-hooajad{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0 4px;}
.fd-hooaeg{border-radius:14px;padding:12px 15px;border:1.5px solid rgba(242,238,225,.12);background:rgba(6,34,40,.7);}
.fd-hooaeg h3{margin:0 0 6px;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.08em;font-weight:400;font-size:1.15rem;}
.fd-hooaeg--suvi h3{color:var(--gold-400,#ffc857);} .fd-hooaeg--talv h3{color:#9be7f0;}
.fd-hooaeg p{margin:0;font-size:.88rem;line-height:1.55;color:#d8e3e2;}
.fd-nipid{margin:0;padding-left:20px;display:grid;gap:6px;font-size:.9rem;line-height:1.55;color:#d8e3e2;}
.fd-nipid li::marker{content:'💡 ';}
.fish-page .fish-filter{margin:0 0 26px;}

/* --- tj48 (16.10.2026): suuremad ja kenamad hüpikaknad, kaardid, komplektid --- */
.kl-dialog,.kl-dialog--lai{width:min(1120px,calc(100vw - 32px));max-height:min(90vh,1100px);border-radius:22px;border:2px solid rgba(201,245,73,.35);
  background:radial-gradient(1200px 400px at 10% -10%,rgba(201,245,73,.10),transparent 60%),linear-gradient(180deg,#07303a,#041a20 70%);}
.kl-dialog[open]{animation:kl-sisse .22s cubic-bezier(.2,.9,.3,1.2);}
@keyframes kl-sisse{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
.kl-dialog-pea{position:sticky;top:0;z-index:2;padding:20px 26px;gap:16px;background:linear-gradient(90deg,rgba(15,77,82,.95),rgba(6,34,40,.95));border-bottom:2px solid rgba(201,245,73,.25);}
.kl-dialog-pea .kl-teema-iko{width:56px;height:56px;font-size:1.9rem;border-radius:16px;background:var(--lime);box-shadow:3px 3px 0 rgba(0,0,0,.35);}
.kl-dialog-pealkiri{flex:1;min-width:0;}
.kl-dialog-pealkiri h2{margin:0;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:var(--paper);line-height:1;}
.kl-dialog-pealkiri p{margin:4px 0 0;color:var(--lime);font-size:.88rem;}
.kl-sulge{width:44px;height:44px;font-size:1.1rem;flex:0 0 auto;}
.kl-dialog-sisu{padding:10px 30px 30px;font-size:.95rem;}
.kl-dialog-sisu h3{display:flex;align-items:center;gap:10px;font-size:1.35rem;margin:28px 0 12px;color:var(--lime);}
.kl-dialog-sisu h3::after{content:'';flex:1;height:2px;background:linear-gradient(90deg,rgba(201,245,73,.4),transparent);}
.kl-vihje{position:relative;margin:16px 0;padding:14px 16px 14px 54px;border-radius:14px;background:rgba(201,245,73,.09);border:1.5px solid rgba(201,245,73,.35);color:var(--paper);}
.kl-vihje::before{content:'💡';position:absolute;left:16px;top:12px;font-size:1.3rem;}
.kl-kaardid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:12px 0;}
.kl-kaart{background:rgba(255,255,255,.04);border:1.5px solid rgba(242,238,225,.12);border-radius:14px;padding:13px 15px;transition:.16s var(--ease);}
.kl-kaart:hover{border-color:rgba(201,245,73,.45);background:rgba(201,245,73,.05);}
.kl-kaart header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;}
.kl-kaart b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:1.15rem;font-weight:400;color:var(--paper);}
.kl-kaart i{font-style:normal;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-400,#ffc857);border:1px solid rgba(255,200,87,.35);border-radius:99px;padding:1px 8px;white-space:nowrap;}
.kl-kaart p{margin:0;font-size:.86rem;line-height:1.5;color:#c9d6d6;}
.kl-komplektid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:12px 0;}
.kl-komplekt{border-radius:18px;padding:18px 20px;background:linear-gradient(160deg,rgba(201,245,73,.12),rgba(6,34,40,.6));border:2px solid rgba(201,245,73,.45);box-shadow:4px 4px 0 rgba(201,245,73,.25);}
.kl-komplekt header{margin-bottom:10px;}
.kl-komplekt header b{display:block;font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.07em;font-size:1.6rem;font-weight:400;color:var(--lime);line-height:1;}
.kl-komplekt header span{font-size:.8rem;color:#c9d6d6;}
.kl-komplekt dl{margin:0;display:grid;gap:0;}
.kl-komplekt dl div{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:7px 0;border-top:1px dashed rgba(242,238,225,.15);}
.kl-komplekt dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);padding-top:2px;}
.kl-komplekt dd{margin:0;font-weight:600;color:var(--paper);font-size:.9rem;}
.kl-komplekt > p{margin:10px 0 0;font-size:.82rem;color:#c9d6d6;}
.kl-tabel{border-radius:14px;}
.kl-tabel table{font-size:.86rem;}
.kl-tabel tbody tr:nth-child(odd) td{background:rgba(255,255,255,.025);}
.kl-tabel td:first-child{font-weight:700;color:var(--paper);}
.kl-teema{padding:16px 17px;}
.ff-silt{align-self:center;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin:0 2px 0 8px;flex-basis:auto;}
.fish-filter .ff-silt:first-of-type{flex-basis:100%;margin:8px 0 0;}
.fish-filter .ff-silt + .ff-chip ~ .ff-silt{flex-basis:100%;margin:6px 0 0;}
.ff-selgitus{margin:-14px 0 22px;padding:10px 14px;border-radius:12px;background:rgba(201,245,73,.08);border:1px solid rgba(201,245,73,.3);font-size:.86rem;color:#d8e3e2;}
.fish-mini div{grid-template-columns:60px 1fr;}
@media (max-width:560px){
  .kl-dialog,.kl-dialog--lai{width:calc(100vw - 16px);max-height:94vh;border-radius:18px;}
  .kl-dialog-pea{padding:14px 16px;gap:12px;} .kl-dialog-pea .kl-teema-iko{width:42px;height:42px;font-size:1.4rem;}
  .kl-dialog-sisu{padding:6px 16px 22px;}
  .kl-komplekt dl div{grid-template-columns:80px 1fr;}
}
.tj-kokkuost-olek{margin:0 0 8px;font-weight:700;font-size:.85rem;color:#2f7d3a;}
.tj-kokkuost-olek.on-suletud{color:#b3261e;}
/* augu puhastamine kulbiga (talv) */
.tj-puhasta-nupp{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--alariba, 74px) + 14px);z-index:7;pointer-events:auto;}
.tj-puhasta-nupp.on-kinni{background:#c9f549;color:var(--ink);animation:tjPuhastaVilk 1s ease-in-out infinite alternate;}
@keyframes tjPuhastaVilk{from{box-shadow:0 0 0 0 rgba(201,245,73,.6);}to{box-shadow:0 0 0 10px rgba(201,245,73,0);}}
.tj-puhasta-nupp[hidden]{display:none;}
.tj-puhasta-nupp{transform:none;bottom:auto;}
.tj-varskus{font-style:normal;font-size:.7rem;font-weight:700;color:#b5791e;margin-left:4px;}
.tj-varskus.on-roisk{color:#b3261e;}
.tj-myyk-read li.on-roisk{opacity:.6;text-decoration:line-through;}
/* LANDI VÄRV KAARDIL (16.10.2026) — värvitäpid landi all; poes vali ostetav värv. */
.tj-kvarvid{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px;}
.tj-kvarv{position:relative;width:20px;height:20px;border-radius:50%;border:2px solid var(--ink,#0a1214);background:var(--v);cursor:pointer;opacity:.45;display:inline-flex;align-items:center;justify-content:center;}
.tj-kvarv i{display:none;}
.tj-kvarv.on-oma{opacity:1;}
.tj-kvarv.on-valitud{opacity:1;box-shadow:0 0 0 2px #fffdf6,0 0 0 4px var(--ink,#0a1214);}
.tj-kvarv b{font:800 .62rem Inter,system-ui,sans-serif;color:#fff;text-shadow:0 0 2px #000;}
.tj-kvarv:focus-visible{outline:2px solid var(--lime,#c9f549);outline-offset:2px;}
.tj-ost[aria-disabled="true"]{cursor:default;}
/* SÖÖDA KOHT -nupp stseenis (16.10.2026) */
.tj-peib-nupp{position:absolute;right:14px;bottom:calc(var(--alariba, 74px) + 14px);z-index:7;pointer-events:auto;max-width:min(320px,60%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tj-peib-nupp[hidden]{display:none;}
/* Varustuse pealkiri + vahelehed jäävad kerides üles (16.10.2026, Steve). */
#tj-pood .tj-pood-kast{padding-top:0;}
.tj-pood-yla{position:sticky;top:0;z-index:5;margin:0 -16px;padding:14px 16px 2px;background:var(--paper,#f2eee1);}
@media (orientation:landscape) and (max-height:560px){.tj-pood-yla{margin:0 -11px;padding:9px 11px 2px;}}

/* Vasak veerg kompaktsemaks (16.10.2026, Steve: asjad ülespoole, taseme kast kõige alla). */
.tj-seadmed-veerg{gap:5px;}
.tj-seadmed-veerg .tj-sv-kast{padding:4px 7px;}

/* ===== POE KATEGOORIAD (16.10.2026) ===== */
.tj-pood-kat{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;}
.tj-pood-katb{border:2px solid var(--ink,#0a1214);border-radius:12px;background:#fff8e6;color:var(--ink,#0a1214);cursor:pointer;
  padding:5px 11px 4px;font:inherit;font-size:.86rem;font-weight:700;box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-pood-katb .gi,.tj-pood-katb svg{width:14px;height:14px;vertical-align:-2px;margin-right:3px;fill:currentColor;}
.tj-pood-katb:hover{transform:translate(-1px,-1px);}
.tj-pood-katb.on{background:var(--lime,#c6f432);}
.tj-pood-katkiri{margin:0 0 8px;padding:6px 10px;border-left:4px solid var(--lime,#c6f432);background:rgba(10,18,20,.05);
  color:#36423f;font-size:.84rem;line-height:1.35;border-radius:0 8px 8px 0;}
.tj-pood-katkiri:empty{display:none;}

/* ===== SAAVUTUSED (16.10.2026) ===== */
.tj-saav-kokku{margin:0 0 10px;font-size:.95rem;}
.tj-saav-ruut{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:6px;}
.tj-saav{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px 12px 10px 14px;border:2px solid var(--ink,#0a1214);
  border-radius:14px;background:#fffdf6;box-shadow:3px 3px 0 var(--ink,#0a1214);border-left:8px solid var(--har);opacity:.82;}
.tj-saav.on-tehtud{opacity:1;background:linear-gradient(135deg,#fffdf6 60%,color-mix(in srgb,var(--har) 22%,#fffdf6));}
.tj-saav-har{align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;
  background:var(--har);padding:1px 7px;border-radius:999px;}
.tj-saav-nimi{font-size:1.02rem;color:var(--ink,#0a1214);}
.tj-saav-kiri{font-size:.82rem;color:#36423f;}
.tj-saav-riba{display:block;height:7px;border-radius:999px;background:rgba(10,18,20,.12);overflow:hidden;}
.tj-saav-riba i{display:block;height:100%;background:var(--har);}
.tj-saav-arv{font-size:.74rem;color:#5a6663;}
.tj-saav-tehtud{font-size:.8rem;font-weight:800;color:#2e7d32;}
.tj-saav-auh{font-size:.82rem;padding-top:4px;border-top:1px dashed rgba(10,18,20,.2);}
.tj-saav-auh em{font-style:normal;font-weight:800;color:var(--har);margin-right:3px;}
.tj-saav-auh small{display:block;color:#5a6663;font-size:.74rem;}
.tj-saav-teade{position:fixed;left:50%;top:18%;z-index:9999;transform:translate(-50%,-20px) scale(.9);opacity:0;transition:transform .35s,opacity .35s;
  display:flex;flex-direction:column;align-items:center;gap:4px;min-width:260px;max-width:min(92vw,380px);padding:14px 20px;text-align:center;
  background:#fffdf6;color:#0a1214;border:3px solid #0a1214;border-radius:18px;box-shadow:6px 6px 0 #0a1214,0 0 0 6px var(--har) inset;cursor:pointer;}
.tj-saav-teade.on{transform:translate(-50%,0) scale(1);opacity:1;}
.tj-saav-teade b{font-size:1.25rem;}
.tj-saav-teade span{font-size:.86rem;}
.tj-saav-teade em{font-style:normal;font-weight:800;color:var(--har);}
.tj-saav-teade.har-legendaarne{box-shadow:6px 6px 0 #0a1214,0 0 0 6px var(--har) inset,0 0 40px 8px rgba(240,160,32,.6);}

/* ===== TURNIIRIDE HOOAJA ARVESTUS (16.10.2026) ===== */
.tj-tur-ametlik{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#f0a020;color:#0a1214;font-size:.7rem;font-weight:800;vertical-align:2px;}
.tj-tv-ametlik{display:flex;gap:8px;align-items:center;margin:8px 0;padding:8px 10px;border:2px dashed #f0a020;border-radius:10px;font-size:.88rem;}
.tj-tur-arv{margin-top:22px;padding:14px 16px;border:3px solid var(--ink,#0a1214);border-radius:18px;background:var(--paper,#f2eee1);color:var(--ink,#0a1214);box-shadow:5px 5px 0 var(--ink,#0a1214);}
.tj-tur-arv-pea{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;}
.tj-tur-arv-pea h3{margin:0;}
.tj-tur-arv-valik{display:flex;gap:6px;align-items:center;}
.tj-tur-arv-ho{border:2px solid var(--ink,#0a1214);border-radius:999px;background:#fff8e6;padding:4px 11px;font:inherit;font-weight:700;cursor:pointer;}
.tj-tur-arv-ho.on{background:var(--ink,#0a1214);color:var(--lime,#c6f432);}
.tj-tur-arv-valik select{border:2px solid var(--ink,#0a1214);border-radius:10px;padding:3px 6px;font:inherit;background:#fff8e6;}
.tj-tur-arv-tabel{width:100%;border-collapse:collapse;margin-top:8px;font-size:.9rem;}
.tj-tur-arv-tabel th{text-align:left;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ink,#0a1214);padding:4px 6px;}
.tj-tur-arv-tabel td{padding:5px 6px;border-bottom:1px solid rgba(10,18,20,.12);}
.tj-tur-arv-tabel tr.on-mina td{background:rgba(198,244,50,.35);font-weight:800;}
.tj-tur-arv-tabel tr.on-p1 td:first-child::after{content:' 🥇';}
.tj-tur-arv-tabel tr.on-p2 td:first-child::after{content:' 🥈';}
.tj-tur-arv-tabel tr.on-p3 td:first-child::after{content:' 🥉';}
.tj-tur-arv-etapid{margin-top:10px;font-size:.85rem;}
.tj-tur-arv-etapid ul{margin:6px 0 0;padding-left:18px;}
@media (max-width:560px){.tj-tur-arv-tabel th:nth-child(6),.tj-tur-arv-tabel td:nth-child(6),.tj-tur-arv-tabel th:nth-child(4),.tj-tur-arv-tabel td:nth-child(4){display:none;}}
.tj-tur-arv .tj-turniir-tyhi{color:#2f3a38;opacity:1;}
.tj-tur-arv .tj-turniir-vorm-abi{color:#36423f;}
@media (orientation:landscape) and (max-height:560px){
  .tj-pood-katkiri{display:none;}
  .tj-pood-kat{gap:4px;margin-bottom:4px;}
  .tj-pood-katb{padding:2px 8px 1px;font-size:.76rem;box-shadow:1px 1px 0 var(--ink,#0a1214);}
  .tj-pood-yla .tj-pood-sakid{margin-bottom:6px;}
}
.tj-sv-hoiatus{margin:2px 0 0;font-size:.66rem;line-height:1.3;color:#ffd21f;}
/* TELGI PÜSTITAMINE (16.10.2026): seinad kerkivad vaate ümber */
.tj-telgis.on-pystitab svg{transform-origin:50% 100%;animation:tjTelkYles var(--pysti,6s) cubic-bezier(.2,.7,.3,1) both;}
@keyframes tjTelkYles{0%{opacity:0;transform:scale(1.9) translateY(18%);}35%{opacity:.75;}100%{opacity:1;transform:none;}}
/* Pood → Riided (16.10.2026): samad kaardid mis Tegelase all */
#tj-pood-riided .tj-gard-ese{background:#fffdf6;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:14px;opacity:1;}
#tj-pood-riided .tj-gard-ese:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
#tj-pood-riided .tj-gard-ese.on-valitud{background:var(--lime);}
#tj-pood-riided .tj-gard-ese b{color:var(--ink);}
#tj-pood-riided .tj-gard-ese span:not(.tj-gard-pilt){color:#3d4946;}
/* VAHELEHED ÜHEL REAL (16.10.2026, Steve: „pane need ühele reale, et vaade puhtam") */
.tj-pood-yla .tj-pood-sakid{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 4px 6px 0;margin-bottom:8px;}
.tj-pood-yla .tj-pood-sakid::-webkit-scrollbar{display:none;}
.tj-pood-yla .tj-pood-sakk{flex:0 0 auto;white-space:nowrap;padding:6px 11px 5px;font-size:.92rem;box-shadow:2px 2px 0 var(--ink);}
.tj-pood-yla .tj-pood-sakk .gi{width:13px;height:13px;margin-right:3px;}
@media (max-width:700px),(orientation:landscape) and (max-height:560px){.tj-pood-yla .tj-pood-sakk{padding:4px 8px 3px;font-size:.78rem;}}
/* Turniiri jagamise kast (16.10.2026) */
.tj-jaga{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding:8px;border:2px dashed currentColor;border-radius:12px;}
.tj-jaga input{flex:1 1 220px;min-width:0;font:inherit;font-size:.85rem;padding:6px 8px;border:2px solid #0a1214;border-radius:8px;background:#fffdf6;color:#0a1214;}
.tj-jaga small{flex:1 1 100%;opacity:.8;}
/* Vestluse emotikonid (16.10.2026) */
.tj-chat-emo{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:6px;border-top:2px solid var(--ink);background:#fffdf6;}
.tj-chat-emo[hidden]{display:none;}
.tj-chat-emo button{font-size:1.15rem;line-height:1;padding:4px 0;border:0;background:none;cursor:pointer;border-radius:6px;}
.tj-chat-emo button:hover{background:rgba(198,244,50,.5);}
.tj-chat-emo-nupp{flex:0 0 auto;font-size:1.1rem;border:2px solid var(--ink);border-radius:9px;background:#fffdf6;cursor:pointer;padding:0 6px;}
.tj-chat.on-kinni .tj-chat-emo{display:none;}
.tj-sv-aku.on-tuum i{background:linear-gradient(90deg,#c9f549,#ffd21f,#c9f549);background-size:200% 100%;animation:tjTuum 2.5s linear infinite;}
@keyframes tjTuum{to{background-position:200% 0;}}

/* MINE KALALE järvevalik (22.10.2026): piirkonna sakid ja paketi päis */
.tj-mk-sakid{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.tj-mk-sakk{font:700 .78rem/1 Inter,system-ui,sans-serif;letter-spacing:.02em;padding:7px 12px;border-radius:999px;cursor:pointer;
  border:2px solid rgba(11,29,34,.25);background:transparent;color:#0b1d22;}
.tj-mk-sakk.on-valitud{background:#c9f549;border-color:#0b1d22;color:#0b1d22;}
.tj-mk-pakk{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding:8px 12px;border-radius:12px;
  border:2px solid #0b1d22;background:rgba(201,245,73,.18);}
.tj-mk-pakk b{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.06em;font-size:1.3rem;color:#0b1d22;}
.tj-mk-pakk small{color:#33545c;font-weight:700;flex:1;}

.tj-mk-kunn{display:inline-block;margin-top:6px;font:700 .72rem/1 Inter,system-ui,sans-serif;padding:5px 9px;border-radius:999px;border:1.5px solid #0b1d22;color:#0b1d22;background:#c9f549;}
.tj-mk-tabel{margin-top:6px;font:.76rem/1.35 Inter,system-ui,sans-serif;color:#0b1d22;}
.tj-mk-tabel em{display:block;font-style:normal;font-weight:700;margin-top:4px;}
.tj-mk-tabel ol{margin:2px 0 0 18px;padding:0;}

/* Järv V2 · BETA (22.10.2026): teine järvenupp menüüs ja märk pealkirjas */
.site-nav .nav-jarv--v2{background:var(--gold-400);display:inline-flex;align-items:center;gap:6px;}
.site-nav .nav-jarv--v2:hover,.site-nav .nav-jarv--v2:focus-visible{background:var(--lime);}
.nav-beta{font-size:.62em;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--lime);border-radius:999px;padding:2px 6px;line-height:1.2;}
.tj-v2-mark{display:inline-block;vertical-align:middle;font-size:.28em;letter-spacing:.14em;background:var(--lime);color:var(--ink);border-radius:999px;padding:.25em .8em;margin-left:.3em;transform:translateY(-.6em);}

/* Lohistatavad vidinad (22.10.2026, public/js/tj-lohista.js) */
.tj-stseen .tj-vidin{touch-action:none;}
.tj-stseen .tj-vidin.on-lohis{cursor:grabbing !important;opacity:.92;outline:2px dashed var(--lime,#c9f549);outline-offset:3px;z-index:30 !important;transition:none !important;}
.tj-stseen .tj-vidin.on-nihutatud{z-index:9;}
.tj-stseen div.tj-vidin:not(.tj-siht){cursor:grab;}
.tj-vidin-lahtesta{font-size:1rem;font-weight:700;line-height:1;}
.tj-stseen .tj-siht-sisu{touch-action:pan-y;}

/* Kraad 1–120 ja komplektid järvevalikus (22.10.2026) */
.tj-mk-kraad{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;background:#0a1214;color:#f2eee1;border-radius:10px;padding:8px 12px;margin:0 0 10px;}
.tj-mk-kraad b{font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;letter-spacing:.06em;font-size:1.15rem;color:var(--lime,#c9f549);}
.tj-mk-kraad span{font-weight:700;}
.tj-mk-kraad i{grid-column:1 / -1;height:6px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden;}
.tj-mk-kraad i u{display:block;height:100%;background:var(--lime,#c9f549);}
.tj-mk-kraad small{grid-column:1 / -1;opacity:.75;font-size:.75rem;}
.tj-mk-komplekt{background:#fff4cf;}

/* Promokood ja testija (22.10.2026) */
.tj-mk-promo{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;}
.tj-mk-promo label{display:flex;align-items:center;gap:8px;font-weight:700;}
.tj-mk-promo input{font:inherit;text-transform:uppercase;letter-spacing:.08em;border:2px solid #0a1214;border-radius:8px;padding:5px 9px;width:12em;background:#fff;}
.tj-mk-testija{flex-basis:100%;margin:0;background:#c9f549;color:#0a1214;border:2px solid #0a1214;border-radius:10px;padding:6px 10px;}
.tj-mk-testija button{margin-left:8px;border:1.5px solid #0a1214;background:#fff;border-radius:6px;cursor:pointer;font:inherit;font-size:.8rem;}
.tj-mk-promo-admin{grid-column:1 / -1;margin:0 0 10px;font-size:.85rem;}
.tj-mk-promo-admin summary{cursor:pointer;font-weight:700;}
.tj-mk-promo-admin div{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;}
.tj-mk-promo-admin input,.tj-mk-promo-admin select{font:inherit;border:1.5px solid #0a1214;border-radius:6px;padding:3px 6px;}
.tj-mk-promo-admin ul{margin:0;padding-left:18px;}

/* SUUREM MÄNGUKAST (Steve 22.10.2026: „mäng ise peaks ka brauseri aknas
   olema suurem"). Kast tuleb lehe veerust välja: peaaegu kogu akna laius
   ja kõrgus. Transform'i ei kasutata — see lõhuks täisekraani fixed-kihid. */
@media (min-width:900px){
  body:not(.on-taisekraan):not(.on-pseudo) .tj-mang{--tj-lai:min(calc(100vw - 48px), 1900px);width:var(--tj-lai);margin-left:calc((100% - var(--tj-lai)) / 2);}
  body:not(.on-taisekraan):not(.on-pseudo) .tj-mang .tj-stseen{aspect-ratio:auto;height:calc(100vh - 96px);min-height:540px;max-height:1100px;}
  .tj-mang .tj-jaa-valik-kast{width:min(1280px, 92%);max-height:92%;}
}

/* KALASTUSKAART JA EVENT (22.10.2026, public/js/tj-hooaeg.js) */
.tj-hooaeg{z-index:46;}
.tj-hooaeg-kast{width:min(1100px,96%);max-height:94%;}
.tj-hooaeg-sakid{display:flex;gap:8px;margin:8px 0 10px;}
.tj-hooaeg-yla h3{margin:0 0 4px;font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;letter-spacing:.05em;font-size:1.5rem;}
.tj-hooaeg-yla p{margin:2px 0;}
.tj-hooaeg-yla small{display:block;opacity:.75;margin:4px 0;}
.tj-hooaeg-riba{display:block;height:9px;border-radius:999px;background:rgba(10,18,20,.15);border:1.5px solid #0a1214;overflow:hidden;margin:6px 0;}
.tj-hooaeg-riba u{display:block;height:100%;background:var(--lime,#c9f549);}
.tj-hooaeg-nupud{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px;}
.tj-hooaeg-pluss{font-weight:800;background:#ffc857;border:2px solid #0a1214;border-radius:999px;padding:4px 12px;}
.tj-hooaeg-astmed{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
.tj-hooaeg-aste{border:2px solid #0a1214;border-radius:12px;padding:6px;background:#fffaf0;display:flex;flex-direction:column;gap:4px;opacity:.7;}
.tj-hooaeg-aste.on-kaes{opacity:1;background:#f1ffd2;}
.tj-hooaeg-aste > b{font-family:'Bebas Neue','Anton',sans-serif;font-weight:400;font-size:1.3rem;line-height:1;}
.tj-hooaeg-rada{font-size:.78rem;border-radius:8px;padding:4px 6px;background:rgba(10,18,20,.06);display:flex;flex-direction:column;gap:2px;}
.tj-hooaeg-rada--pluss{background:rgba(255,200,87,.25);}
.tj-hooaeg-rada u{text-decoration:none;font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;}
.tj-hooaeg-rada em,.tj-hooaeg-ev em{font-style:normal;font-size:.72rem;opacity:.8;}
.tj-hooaeg-rada.on-voetud{opacity:.55;}
.tj-hooaeg-rada.on-saab{outline:2px solid #0a1214;background:#c9f549;}
.tj-hooaeg-rada button{font:inherit;font-weight:800;border:1.5px solid #0a1214;border-radius:6px;background:#fff;cursor:pointer;padding:2px 6px;align-self:flex-start;}
.tj-hooaeg-tyhi{opacity:.4;}
.tj-hooaeg-yl{list-style:none;margin:6px 0 12px;padding:0;display:grid;gap:6px;}
.tj-hooaeg-yl li{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;border:2px solid #0a1214;border-radius:10px;padding:6px 10px;background:#fffaf0;}
.tj-hooaeg-yl li em{font-style:normal;color:#e0a000;letter-spacing:.1em;font-size:1rem;}
.tj-hooaeg-yl li .tj-hooaeg-riba{grid-column:1 / -1;margin:2px 0 0;height:6px;}
.tj-hooaeg-yl li.on-tehtud{background:#f1ffd2;}
.tj-hooaeg-ev-auhinnad{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;}
.tj-hooaeg-ev{border:2px solid #0a1214;border-radius:10px;padding:6px 10px;background:#fffaf0;display:flex;flex-direction:column;gap:3px;}
.tj-hooaeg-ev.on-saab{background:#c9f549;}
.tj-hooaeg-ev.on-voetud{opacity:.55;}
.tj-hooaeg-nupp{font-size:1rem;line-height:1;}
.tj-hooaeg-nupp.on-uus{background:#c9f549 !important;color:#0a1214;animation:tj-hooaeg-pulss 1.4s ease-in-out infinite;}
@keyframes tj-hooaeg-pulss{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
.tj-mk-hooaeg{grid-column:1 / -1;display:flex;gap:8px;margin:0 0 10px;}

/* POOD JA TEISED AKNAD KOGU MÄNGUEKRAANI ULATUSES (Steve 22.10: „pood jms
   võiks avaneda kõik terve mängu ekraani ulatuses"). Kiht katab stseeni
   äärest ääreni, kast täidab selle; sisu kerib kasti sees. */
.tj-mang .tj-pood,.tj-mang .tj-kv,.tj-mang .tj-jaa-valik,.tj-mang .tj-eden{padding:0;}
.tj-mang .tj-pood-kast,.tj-mang .tj-kv-kast,.tj-mang .tj-jaa-valik-kast,.tj-mang .tj-hooaeg-kast,.tj-mang .tj-eden-kast{
  width:100% !important;height:100%;max-width:none;max-height:100% !important;border-radius:0;box-sizing:border-box;}
@media (min-width:900px){
  .tj-mang .tj-pood-kast,.tj-mang .tj-kv-kast,.tj-mang .tj-jaa-valik-kast,.tj-mang .tj-hooaeg-kast,.tj-mang .tj-eden-kast{padding:18px 26px;}
}
/* kerimise ajal käsi „haarab" — rulli-ikoon joonistub kursori ümber (testjarv.js) */
.tj-stseen.on-kerib{cursor:grabbing;}
.tj-mang{scroll-margin-top:72px;}
/* Suvine Kaasas (22.10.2026): mis ei tööta ja mis boonust annab */
.tj-kaasas-ei,.tj-kaasas-boonus{padding:8px 12px;margin:0 0 10px;border-radius:10px;border:2px solid var(--ink,#0a1214);font-size:.88rem;line-height:1.4;}
.tj-kaasas-ei{background:#ffe6dc;color:#5a1a0a;}
.tj-kaasas-boonus{background:#ecf9c8;color:#1f3a0a;font-weight:600;}
/* bränd poekaardil (22.10.2026) */
.tj-ost-firma{display:block;font-style:normal;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7782;margin:-2px 0 2px;}

/* TEGELASE LOOMINE (22.10.2026) */
.tj-gard-valimus{display:grid;gap:8px;}
.tj-gard-vrida{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center;}
.tj-gard-vrida u{text-decoration:none;font:800 .72rem Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#34444a;}
.tj-gard-vrida .tj-valik{display:flex;flex-wrap:wrap;gap:6px;}
.tj-loo{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:rgba(6,20,24,.72);padding:16px;overflow:auto;}
.tj-loo-kaart{display:grid;grid-template-columns:260px minmax(0,440px);gap:20px;background:#f4f1e6;border:3px solid var(--ink,#0a1214);border-radius:18px;box-shadow:6px 6px 0 var(--ink,#0a1214);padding:18px;max-width:100%;}
.tj-loo-eel{background:radial-gradient(circle at 50% 35%,#155a64,#0b3a44 70%);border:2px solid var(--ink,#0a1214);border-radius:14px;display:grid;place-items:center;}
.tj-loo-eel canvas{display:block;width:260px;height:330px;max-width:100%;}
.tj-loo-valik h2{color:var(--ink,#0a1214);margin:0 0 4px;font:900 1.6rem 'Bebas Neue',Inter,system-ui,sans-serif;letter-spacing:.02em;}
.tj-loo-valik p{margin:0 0 12px;font-size:.88rem;color:#34444a;}
.tj-loo-read{display:grid;gap:10px;margin-bottom:16px;}
@media (max-width:720px){.tj-loo-kaart{grid-template-columns:1fr;}.tj-loo-eel canvas{width:200px;height:254px;}}
.tj-loo .tj-loo-valmis{background:var(--lime,#c9f549);color:var(--ink,#0a1214);border:3px solid var(--ink,#0a1214);box-shadow:4px 4px 0 var(--ink,#0a1214);opacity:1;}
/* Vidina suurussang (22.10.2026) */
.tj-stseen .tj-vidin-suurus{position:absolute;right:1px;bottom:1px;width:14px;height:14px;cursor:nwse-resize;opacity:0;transition:opacity .15s;touch-action:none;z-index:3;background:linear-gradient(135deg,transparent 0 45%,var(--ink,#0a1214) 45% 55%,transparent 55% 65%,var(--ink,#0a1214) 65% 75%,transparent 75%);border-radius:0 0 8px 0;font-style:normal;}
.tj-stseen .tj-vidin:hover > .tj-vidin-suurus,.tj-stseen .tj-vidin.on-lohis > .tj-vidin-suurus{opacity:.75;}
@media (hover:none){.tj-stseen .tj-vidin-suurus{opacity:.45;width:20px;height:20px;}}
.tj-seadmed-veerg,.tj-andur-paneel{overflow:visible !important;}
/* LEHE SAKID (22.10.2026) */
.tj-lehesakid{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px;scroll-margin-top:90px;}
.tj-lehesakid button{font:800 .82rem Inter,system-ui,sans-serif;padding:8px 14px;border:2px solid var(--ink,#0a1214);border-radius:999px;background:#f4f1e6;color:var(--ink,#0a1214);cursor:pointer;box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-lehesakid button.on{background:var(--lime,#c9f549);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink,#0a1214);}
.tj-lehesakk.on-peidus{display:none !important;}
.tj-lehesakk-sisu > section{margin-top:0;}
/* VEEKOGUDE KAART (22.10.2026) */
.tj-vk-pea{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px;}
.tj-vk-pea h2{margin:0;}
.tj-vk-otsi{position:relative;flex:1 1 220px;max-width:360px;}
.tj-vk-otsi input{width:100%;font:600 .9rem Inter,system-ui,sans-serif;padding:9px 14px;border:2px solid var(--ink,#0a1214);border-radius:999px;background:#fffdf6;box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-vk-tulemused{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fffdf6;border:2px solid var(--ink,#0a1214);border-radius:12px;box-shadow:4px 4px 0 var(--ink,#0a1214);}
.tj-vk-tulemused button{display:flex;justify-content:space-between;width:100%;gap:8px;padding:6px 8px;border:0;border-radius:8px;background:none;font:700 .86rem Inter,system-ui,sans-serif;color:var(--ink,#0a1214);cursor:pointer;text-align:left;}
.tj-vk-tulemused button:hover{background:var(--lime,#c9f549);}
.tj-vk-tulemused small{font-weight:600;color:#5a6a70;}
.tj-vk-tyhi{padding:6px 8px;font-size:.85rem;color:#5a6a70;}
.tj-vk-legend{display:flex;align-items:center;gap:6px;font:600 .74rem Inter,system-ui,sans-serif;color:#cfe3e6;}
.tj-vk-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;border:1.5px solid #0a1214;margin-left:6px;}
.tj-vk-legend .on-jarv{background:#2b6be0}.tj-vk-legend .on-jogi{background:#19b8b0}.tj-vk-legend .on-meri{background:#1f3a6e}.tj-vk-legend .on-lukus{background:#9aa5ab}
.tj-vk-lava{position:relative;height:min(460px,62vh);border:3px solid var(--ink,#0a1214);border-radius:18px;box-shadow:5px 5px 0 var(--ink,#0a1214);overflow:hidden;background:#0b3a44;touch-action:none;}
.tj-vk-svg{display:block;width:100%;height:100%;cursor:grab;user-select:none;}
.tj-vk-svg:active{cursor:grabbing;}
.tj-vk-noel{cursor:pointer;}
.tj-vk-noel:hover circle,.tj-vk-noel.on-valitud circle:not(.tj-vk-pulss){stroke:#c9f549;stroke-width:3;}
.tj-vk-noel.on-leitud circle:not(.tj-vk-pulss){fill:#ffd34d;stroke-width:3;}
.tj-vk-pulss{animation:tjVkPuls 1.6s ease-out infinite;transform-origin:center;}
@keyframes tjVkPuls{0%{opacity:1;transform:scale(.6)}100%{opacity:0;transform:scale(1.8)}}
.tj-vk-nimi{font-family:Inter,system-ui,sans-serif;font-weight:800;fill:#fffdf6;paint-order:stroke;stroke:#0a1214;stroke-width:.28em;cursor:pointer;}
.tj-vk-nimi:hover{fill:#c9f549;}
.tj-vk-nimi.on-lukus{fill:#c8d0d4;}
.tj-vk-pakk{cursor:pointer;}
.tj-vk-pakk-t{font:800 10px Inter,system-ui,sans-serif;fill:#0a1214;}
.tj-vk-pakk:hover rect:last-of-type{fill:var(--lime,#c9f549);}
.tj-vk-nupud{position:absolute;right:10px;top:10px;display:grid;gap:6px;}
.tj-vk-nupud button{width:36px;height:36px;font:900 1.1rem Inter,system-ui,sans-serif;border:2px solid var(--ink,#0a1214);border-radius:10px;background:#fffdf6;box-shadow:2px 2px 0 var(--ink,#0a1214);cursor:pointer;}
.tj-vk-kaart{position:absolute;left:10px;bottom:10px;width:min(300px,calc(100% - 20px));background:#fffdf6;border:2px solid var(--ink,#0a1214);border-radius:14px;box-shadow:4px 4px 0 var(--ink,#0a1214);padding:12px 14px;display:grid;gap:6px;}
.tj-vk-kaart b{font:900 1.05rem Inter,system-ui,sans-serif;padding-right:24px;color:var(--ink,#0a1214);}
.tj-vk-kaart small{font:700 .78rem Inter,system-ui,sans-serif;color:#2b6b5a;}
.tj-vk-kaart p{margin:0;font-size:.84rem;line-height:1.35;color:#34444a;}
.tj-vk-kaart .tj-vk-lukk{font-weight:700;color:#0a1214;}
.tj-vk-kaart .tj-vk-abi{font-size:.76rem;color:#5a6a70;}
.tj-vk-kaart .tj-nupp{justify-self:start;background:var(--lime,#c9f549);color:var(--ink,#0a1214);border:2px solid var(--ink,#0a1214);box-shadow:3px 3px 0 var(--ink,#0a1214);font-size:.9rem;padding:8px 14px;}
.tj-vk-sulge{position:absolute;right:8px;top:6px;border:0;background:none;font:900 1.3rem Inter,sans-serif;cursor:pointer;color:var(--ink,#0a1214);}
@media (max-width:720px){.tj-vk-lava{height:58vh;}.tj-vk-legend{display:none;}}
.tj-vk-kaart[hidden]{display:none !important;}
.tj-vk-pulss{transform-box:fill-box;}
.tj-vk-pakid{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.tj-vk-pakid li{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 .84rem Inter,system-ui,sans-serif;}
.tj-vk-pakid i{font-style:normal;font-weight:600;color:#5a6a70;font-size:.74rem;}
.tj-vk-pakid em{font-style:normal;font:700 .76rem Inter,sans-serif;color:#5a6a70;background:#e8e4d6;border-radius:999px;padding:3px 8px;}
.tj-vk-kaart .tj-vk-pakid .tj-nupp{padding:4px 10px;font-size:.78rem;box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-vk-kaart{max-height:calc(100% - 20px);overflow:auto;}
/* Kaart: piirkonnad, linnad, top 10 (22.10.2026) */
.tj-vk-rida{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:stretch;}
.tj-vk-top{background:#fffdf6;border:3px solid var(--ink,#0a1214);border-radius:18px;box-shadow:5px 5px 0 var(--ink,#0a1214);padding:10px 10px 8px;display:flex;flex-direction:column;align-self:start;}
.tj-vk-top h3{margin:0;font:900 1.05rem Inter,system-ui,sans-serif;color:var(--ink,#0a1214);}
.tj-vk-top > p{margin:2px 0 8px;font-size:.74rem;color:#5a6a70;}
.tj-vk-toplist{list-style:none;margin:0;padding:0;display:grid;gap:4px;}
.tj-vk-toplist button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:8px;width:100%;text-align:left;padding:4px 8px;border:2px solid var(--ink,#0a1214);border-radius:10px;background:#f4f1e6;cursor:pointer;color:var(--ink,#0a1214);}
.tj-vk-toplist button:hover{background:var(--lime,#c9f549);}
.tj-vk-toplist em{font:900 .78rem Inter,sans-serif;font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--ink,#0a1214);color:var(--lime,#c9f549);}
.tj-vk-toplist li:nth-child(-n+3) em{background:#ff5b2e;color:#fff;}
.tj-vk-toplist b{font:800 .8rem Inter,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tj-vk-toplist small{font:700 .72rem Inter,system-ui,sans-serif;color:#34444a;white-space:nowrap;}
.tj-vk-linn{font-family:Inter,system-ui,sans-serif;font-weight:700;fill:#0a1214;paint-order:stroke;stroke:#fffdf6;stroke-width:.25em;}
.tj-vk-linn.on-suur{font-weight:900;}
.tj-vk-linn.on-klubi{fill:#c9f549;stroke:#0a1214;font-weight:900;}
.tj-vk-piirnimi{font-family:"Bebas Neue",Inter,system-ui,sans-serif;letter-spacing:.12em;fill:rgba(10,18,20,.6);font-weight:900;paint-order:stroke;stroke:rgba(255,253,246,.45);stroke-width:.12em;}
.tj-vk-piirnimi.on-lukus{fill:rgba(10,18,20,.5);}
@media (max-width:900px){.tj-vk-rida{grid-template-columns:1fr;}.tj-vk-top{max-height:none;}}
/* mk21: naabermaad, piirkonna sümbolid, promokood kaardi päises */
.tj-vk-naaber{font-family:Inter,system-ui,sans-serif;font-weight:900;font-size:16px;letter-spacing:.3em;fill:rgba(10,18,20,.38);}
.tj-vk-sym{font-family:Inter,system-ui,sans-serif;font-weight:800;font-style:italic;fill:#3b2a10;paint-order:stroke;stroke:#fffdf6;stroke-width:.28em;}
.tj-vk-promo{display:flex;align-items:center;gap:6px;margin-left:auto;background:#c9f549;border:2.5px solid #0a1214;border-radius:999px;padding:4px 4px 4px 12px;box-shadow:3px 3px 0 #0a1214;}
.tj-vk-promo label{display:flex;align-items:center;gap:6px;font-weight:900;font-size:.9rem;color:#0a1214;}
.tj-vk-promo input{width:120px;border:2px solid #0a1214;border-radius:999px;padding:4px 10px;font:inherit;font-weight:800;text-transform:uppercase;background:#fffdf6;}
.tj-vk-promo button{border:2px solid #0a1214;border-radius:999px;background:#0a1214;color:#c9f549;font-weight:900;padding:5px 12px;cursor:pointer;}
.tj-vk-promo button:disabled{opacity:.5;}
@media (max-width:640px){.tj-vk-promo{margin-left:0;}.tj-vk-promo label span{display:none;}}
/* mk23: turniiri vorm — veekogu piirkonna kaupa, algraha liugur, ametliku lüliti, kokkuvõte, poodium */
.tj-tv-vesi{flex-direction:column;align-items:stretch;gap:8px;}
.tj-tv-vk{display:flex;flex-direction:column;gap:8px;width:100%;}
.tj-tv-vk-valitud{font-size:.95rem;}
.tj-tv-vk-valitud b{font-weight:900;}
.tj-tv-vk-valitud small{opacity:.7;margin-left:4px;}
.tj-tv-vk-pi small,.tj-tv-vk-list small{opacity:.6;font-weight:700;margin-left:2px;}
.tj-tv-vk-otsi{width:100%;max-width:340px;border:2px solid #0a1214;border-radius:999px;padding:6px 14px;font:inherit;background:#fffdf6;}
.tj-tv-vk-list{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:8px;border:2px dashed rgba(10,18,20,.25);border-radius:12px;background:rgba(255,253,246,.5);}
.tj-tv-vk-tyhi{opacity:.7;}
.tj-tur-algraha .tj-tv-sisu{display:flex;align-items:center;gap:12px;}
.tj-tur-algraha input[type=range]{flex:1;max-width:360px;-webkit-appearance:none;appearance:none;height:10px;border-radius:999px;border:2px solid #0a1214;background:linear-gradient(90deg,#c9f549 var(--p,18%),#fffdf6 var(--p,18%));}
.tj-tur-algraha input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#ffd34d;border:2.5px solid #0a1214;box-shadow:2px 2px 0 #0a1214;cursor:pointer;}
.tj-tur-algraha input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#ffd34d;border:2.5px solid #0a1214;cursor:pointer;}
.tj-tur-algraha-v{min-width:72px;font-weight:900;font-size:1.1rem;background:#0a1214;color:#c9f549;border-radius:999px;padding:3px 12px;text-align:center;}
.tj-tv-lyliti{display:flex;align-items:center;gap:12px;margin:10px 0;cursor:pointer;user-select:none;}
.tj-tv-lyliti input{position:absolute;opacity:0;width:1px;height:1px;}
.tj-tv-lyliti-rada{flex:none;width:58px;height:32px;border-radius:999px;background:#c8d0d4;border:2.5px solid #0a1214;position:relative;transition:background .2s;box-shadow:2px 2px 0 #0a1214;}
.tj-tv-lyliti-rada i{position:absolute;top:2px;left:2px;width:23px;height:23px;border-radius:50%;background:#fffdf6;border:2px solid #0a1214;transition:left .2s;}
.tj-tv-lyliti input:checked+.tj-tv-lyliti-rada{background:#c9f549;}
.tj-tv-lyliti input:checked+.tj-tv-lyliti-rada i{left:27px;background:#ffd34d;}
.tj-tv-lyliti input:focus-visible+.tj-tv-lyliti-rada{outline:3px solid #2b6be0;outline-offset:2px;}
.tj-tv-lyliti-tekst{display:flex;flex-direction:column;}
.tj-tv-lyliti-tekst small{opacity:.75;}
.tj-tur-kokku{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0;padding:0;}
.tj-tur-kokku div{background:#0a1214;color:#fffdf6;border-radius:10px;padding:6px 8px;text-align:center;}
.tj-tur-kokku dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;opacity:.75;margin:0;}
.tj-tur-kokku dd{margin:0;font-weight:900;color:#c9f549;font-size:.95rem;}
.tj-pr-kylg .tj-tur-kokku{grid-template-columns:1fr;gap:3px;}
.tj-pr-kylg .tj-tur-kokku div{display:flex;justify-content:space-between;align-items:center;padding:3px 8px;}
.tj-poodium{position:fixed;inset:0;z-index:9000;background:rgba(5,12,14,.72);display:flex;align-items:center;justify-content:center;padding:16px;animation:tjPdSisse .3s ease-out;}
.tj-poodium-kaart{position:relative;color:#0a1214;background:#fffdf6;border:3px solid #0a1214;border-radius:20px;box-shadow:6px 6px 0 #0a1214;padding:20px 20px 18px;width:min(560px,100%);max-height:90vh;overflow:auto;text-align:center;}
.tj-poodium-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:1.8rem;cursor:pointer;line-height:1;}
.tj-poodium-yl{margin:0;text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.75rem;color:#c0392b;}
.tj-poodium-kaart h3{margin:2px 0 14px;}
.tj-poodium-astmed{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin-bottom:16px;min-height:220px;}
.tj-pd{flex:1;max-width:150px;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;animation:tjPdTous .6s cubic-bezier(.2,1.4,.4,1) forwards;animation-delay:var(--d,0s);}
.tj-pd.on-tyhi{opacity:.35;animation:none;}
.tj-pd-medal{font-size:2rem;line-height:1;}
.tj-pd strong{font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tj-pd em{font-style:normal;font-weight:800;color:#2b6be0;}
.tj-pd.on-mina strong{color:#c0392b;}
.tj-pd-aste{width:100%;border:3px solid #0a1214;border-bottom:0;border-radius:10px 10px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;margin-top:4px;}
.tj-pd-aste b{font-size:1.6rem;font-weight:900;}
.tj-pd-1 .tj-pd-aste{height:110px;background:#ffd34d;}
.tj-pd-2 .tj-pd-aste{height:78px;background:#d9dee2;}
.tj-pd-3 .tj-pd-aste{height:56px;background:#e3a26b;}
.tj-poodium-koik{margin-top:14px;text-align:left;}
@keyframes tjPdSisse{from{opacity:0}to{opacity:1}}
@keyframes tjPdTous{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tj-pd,.tj-poodium{animation:none;opacity:1;}}
.tj-tv-vk-list[hidden],.tj-tv-rida[hidden],.tj-poodium-koik[hidden],.tj-poodium [hidden]{display:none!important;}
.tj-turniir-vorm label.tj-tv-lyliti{display:flex;flex-direction:row;align-items:center;gap:12px;}
/* ===== VEEKOGUDE KAART v3 (23.10.2026) — külgriba + puhas kaart ===== */
.tj-vk .tj-vk-rida{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:stretch;}
.tj-vk .tj-vk-lava{height:min(620px,72vh);touch-action:none;}
.tj-vk-kylg{display:flex;flex-direction:column;min-height:0;height:min(620px,72vh);background:#fffdf6;border:3px solid var(--ink,#0a1214);border-radius:18px;box-shadow:5px 5px 0 var(--ink,#0a1214);overflow:hidden;color:var(--ink,#0a1214);}
.tj-vk-sakid{display:grid;grid-template-columns:1fr 1fr;border-bottom:3px solid var(--ink,#0a1214);}
.tj-vk-sakid button{border:0;background:#e9e4d3;font:800 .88rem Inter,system-ui,sans-serif;padding:10px 6px;cursor:pointer;color:var(--ink,#0a1214);}
.tj-vk-sakid button+button{border-left:3px solid var(--ink,#0a1214);}
.tj-vk-sakid button.on{background:var(--lime,#c9f549);}
.tj-vk-kylg-sisu{flex:1;min-height:0;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px;}
.tj-vk-kylg-abi{margin:0;font-size:.8rem;color:#5a6a70;}
.tj-vk-piirlist,.tj-vk-veelist{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.tj-vk-piirlist button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:2px solid var(--ink,#0a1214);border-radius:12px;background:#fff;cursor:pointer;color:var(--ink,#0a1214);transition:transform .08s;}
.tj-vk-piirlist button:hover{background:var(--lime,#c9f549);transform:translateX(2px);}
.tj-vk-piirlist button.on-lukus{background:#eceae2;}
.tj-vk-piirlist button.on-lukus:hover{background:#ffe08a;}
.tj-vk-pi-iko{font-size:1.35rem;line-height:1;text-align:center;}
.tj-vk-pi-nimi{display:flex;flex-direction:column;min-width:0;}
.tj-vk-pi-nimi b{font:900 .95rem Inter,system-ui,sans-serif;}
.tj-vk-pi-nimi small{font:600 .74rem Inter,system-ui,sans-serif;color:#5a6a70;}
.tj-vk-piirlist i{font-style:normal;font-weight:900;font-size:1rem;}
.tj-vk-piirlist .on-lahti i{color:#2b8a3e;}
.tj-vk-kylg-pea{display:flex;flex-direction:column;gap:2px;}
.tj-vk-kylg-pea h3{margin:4px 0 0;font:900 1.15rem Inter,system-ui,sans-serif;}
.tj-vk-kylg-pea small{font:700 .78rem Inter,system-ui,sans-serif;color:#5a6a70;}
.tj-vk-tagasi{align-self:flex-start;border:0;background:none;font:800 .8rem Inter,system-ui,sans-serif;color:#2b6be0;cursor:pointer;padding:0;}
.tj-vk-tagasi:hover{text-decoration:underline;}
.tj-vk-pakid-k{border:2px dashed #e0a52a;border-radius:12px;padding:6px 8px;background:#fff8e3;}
.tj-vk-pakid-k summary{font:800 .82rem Inter,system-ui,sans-serif;cursor:pointer;}
.tj-vk-pakid-k .tj-vk-pakid{margin-top:6px;}
.tj-vk-osta{border:2px solid var(--ink,#0a1214);border-radius:999px;background:var(--lime,#c9f549);font:800 .76rem Inter,system-ui,sans-serif;padding:4px 10px;cursor:pointer;white-space:nowrap;box-shadow:2px 2px 0 var(--ink,#0a1214);}
.tj-vk-tase,.tj-vk-olemas{font:700 .74rem Inter,sans-serif;color:#5a6a70;background:#e8e4d6;border-radius:999px;padding:3px 8px;white-space:nowrap;}
.tj-vk-olemas{background:#d8f0c0;color:#2b6b2b;}
.tj-vk-filter{display:flex;gap:6px;}
.tj-vk-filter button{border:2px solid var(--ink,#0a1214);border-radius:999px;background:#fff;font:700 .76rem Inter,system-ui,sans-serif;padding:4px 10px;cursor:pointer;}
.tj-vk-filter button.on{background:var(--ink,#0a1214);color:var(--lime,#c9f549);}
.tj-vk-veelist button{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border:2px solid transparent;border-radius:10px;background:#f3f0e4;cursor:pointer;color:var(--ink,#0a1214);}
.tj-vk-veelist button:hover{border-color:var(--ink,#0a1214);background:#fff;}
.tj-vk-veelist button.on-valitud{background:var(--lime,#c9f549);border-color:var(--ink,#0a1214);}
.tj-vk-veelist button.on-lukus{color:#6b777c;}
.tj-vk-veelist b{font:800 .88rem Inter,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tj-vk-veelist small{font:600 .72rem Inter,system-ui,sans-serif;color:#5a6a70;white-space:nowrap;}
.tj-vk-tapp{width:12px;height:12px;border-radius:50%;border:2px solid var(--ink,#0a1214);background:#2b6be0;}
.tj-vk-tapp.ty-jogi{background:#13a89e}.tj-vk-tapp.ty-meri{background:#1f3a6e}
.on-lukus .tj-vk-tapp{background:#a3adb2;}
.tj-vk .tj-vk-toplist button{padding:6px 8px;}
/* kaart */
.tj-vk-ala{cursor:pointer;transition:filter .15s;}
.tj-vk-ala:hover{filter:brightness(1.08) saturate(1.1);}
.tj-vk-noel{cursor:pointer;}
.tj-vk-noel.on-tuhm{opacity:.45;}
.tj-vk-noel:hover circle:nth-of-type(2),.tj-vk-noel.on-valitud circle:nth-of-type(2){stroke:#c9f549;stroke-width:3;}
.tj-vk-noel.on-siin circle:nth-of-type(3){fill:#ff5b2e;}
.tj-vk-lukk-i{font-size:6px;pointer-events:none;}
.tj-vk .tj-vk-nimi{font-family:Inter,system-ui,sans-serif;font-weight:800;fill:#fffdf6;paint-order:stroke;stroke:#0a1214;stroke-width:3.5px;stroke-linejoin:round;cursor:pointer;}
.tj-vk .tj-vk-nimi.on-lukus{fill:#d5dbde;}
.tj-vk .tj-vk-nimi:hover,.tj-vk .tj-vk-nimi.on-valitud{fill:#c9f549;}
.tj-vk .tj-vk-linn{stroke-width:3px;}
.tj-vk .tj-vk-piirnimi{letter-spacing:.14em;fill:rgba(10,18,20,.55);stroke:rgba(255,253,246,.6);stroke-width:3px;paint-order:stroke;}
.tj-vk-vihje{position:absolute;left:50%;top:12px;transform:translateX(-50%);background:rgba(10,18,20,.85);color:#fffdf6;font:600 .82rem Inter,system-ui,sans-serif;padding:7px 14px;border-radius:999px;pointer-events:none;}
.tj-vk-vihje[hidden]{display:none;}
.tj-vk-lava .tj-vk-legend{position:absolute;right:10px;bottom:10px;background:rgba(10,18,20,.7);padding:5px 10px;border-radius:999px;}
.tj-vk .tj-vk-kaart{left:12px;bottom:12px;width:min(330px,calc(100% - 24px));display:grid;gap:6px;}
.tj-vk .tj-vk-kaart b{font-size:1.2rem;}
.tj-vk-kaart .tj-vk-mine,.tj-vk-kaart .tj-vk-osta-suur{justify-self:stretch;text-align:center;font-size:1rem;padding:10px 14px;}
.tj-vk-siin{font-weight:800;color:#c0392b !important;}
@media (max-width:820px){
  .tj-vk .tj-vk-rida{grid-template-columns:1fr;}
  .tj-vk-kylg{height:auto;max-height:300px;order:2;}
  .tj-vk .tj-vk-lava{height:62vh;}
  .tj-vk-lava .tj-vk-legend{display:none;}
}
.tj-vk-kokku{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;padding:8px 10px;background:var(--ink,#0a1214);color:#fffdf6;border-radius:12px;}
.tj-vk-kokku b{font:900 .9rem Inter,system-ui,sans-serif;}
.tj-vk-kokku small{font:700 .74rem Inter,system-ui,sans-serif;opacity:.8;}
.tj-vk-kokku .tj-vk-moodik{grid-column:1 / -1;}
.tj-vk-moodik{position:relative;height:10px;margin-top:4px;border:2px solid var(--ink,#0a1214);border-radius:999px;background:#e3dfd0;overflow:hidden;}
.tj-vk-moodik span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#8fbf55,#c9f549);border-radius:999px;}
.tj-vk-moodik em{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:900 .58rem Inter,system-ui,sans-serif;font-style:normal;color:var(--ink,#0a1214);}
.tj-vk-moodik.on-suur{height:18px;}
.tj-vk-moodik.on-suur em{font-size:.72rem;}
.tj-vk-kokku .tj-vk-moodik{border-color:#c9f549;background:#24343a;}
.tj-vk-kokku .tj-vk-moodik em{color:#fffdf6;text-shadow:0 0 3px #0a1214;}
/* mk26: veekogude kontuurid + päris kaardi moodi nimed */
.tj-vk-jarvekuju{fill:#3a9bd0;stroke:#0d3d73;stroke-width:1.3px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;transition:fill .15s;}
.tj-vk-jarvekuju.on-lukus{fill:#8fb3c4;}
.tj-vk-jarvekuju:hover,.tj-vk-jarvekuju.on-valitud{fill:#56b8e8;stroke:#c9f549;stroke-width:3px;}
.tj-vk-joekuju{fill:none;stroke:#3a9bd0;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;}
.tj-vk-joekuju.on-lukus{stroke:#8fb3c4;}
.tj-vk-joekuju:hover,.tj-vk-joekuju.on-valitud{stroke:#c9f549;}
.tj-vk-jarvekuju.on-tuhm,.tj-vk-joekuju.on-tuhm{opacity:.55;}
.tj-vk .tj-vk-nimi{fill:#0d3d73;font-style:italic;stroke:#fffdf6;stroke-width:3.5px;}
.tj-vk .tj-vk-nimi.on-lukus{fill:#5d6b72;}
.tj-vk .tj-vk-nimi.on-sees{fill:#fffdf6;stroke:#0d3d73;}
.tj-vk .tj-vk-nimi:hover,.tj-vk .tj-vk-nimi.on-valitud{fill:#0a1214;stroke:#c9f549;}
/* mk27: laevad ja majakad merel */
@keyframes tjVkKoik{0%,100%{translate:0 0}50%{translate:0 1.5px}}
.tj-vk-meri-purjekas,.tj-vk-meri-laev,.tj-vk-meri-praam{animation:tjVkKoik 3.2s ease-in-out infinite;}
.tj-vk-meri-purjekas.on-teine,.tj-vk-meri-laev.on-teine{animation-duration:4.1s;}
@media (prefers-reduced-motion:reduce){.tj-vk-meri-purjekas,.tj-vk-meri-laev,.tj-vk-meri-praam{animation:none;}}
/* mk30: kaart 90ndate stiilis (lamedad värvid, paks kontuur) */
.tj-vk .tj-vk-lava{background:#1fb0c2;}
.tj-vk-jarvekuju{fill:#57c7ea;stroke:#0a1214;stroke-width:1.4px;}
.tj-vk-jarvekuju.on-lukus{fill:#b3d7e3;}
.tj-vk-joekuju{stroke:#57c7ea;}
.tj-vk-joekuju.on-lukus{stroke:#b3d7e3;}
.tj-vk .tj-vk-piirnimi{fill:#0a1214;stroke:#fffdf6;stroke-width:4px;}
.tj-vk .tj-vk-linn{font-weight:900;fill:#0a1214;stroke:#fffdf6;stroke-width:3.5px;}
/* piirkonnasildid kleebistena + rada (23.10.2026) */
.tj-vk-piirkleeps-pohi{fill:#fffdf6;stroke:#0a1214;}
.tj-vk-piirkleeps-vari{fill:#0a1214;stroke:#0a1214;}
.tj-vk-piirkleeps.on-lahti .tj-vk-piirkleeps-pohi{fill:#c9f549;}
.tj-vk-piirkleeps.on-osa .tj-vk-piirkleeps-pohi{fill:#ffd23f;}
.tj-vk-piirkleeps.on-lukus .tj-vk-piirkleeps-pohi{fill:#e4dff0;}
.tj-vk .tj-vk-piirkleeps .tj-vk-piirnimi{fill:#0a1214;stroke:none;}
/* brändi set (23.10.2026) */
.tj-kompl-set{display:grid;gap:2px;margin:6px 0 12px;padding:8px 12px;border:2px dashed rgba(10,18,20,.35);border-radius:12px;background:#fffdf6;color:#0a1214;font-size:.85rem;}
.tj-kompl-set b{font-family:"Bebas Neue",Inter,sans-serif;letter-spacing:.06em;font-size:1.05rem;}
.tj-kompl-set.on-pool{border-style:solid;border-color:#0a1214;background:#ffe9a0;}
.tj-kompl-set.on-tais{border-style:solid;border-color:#0a1214;background:#c9f549;box-shadow:4px 4px 0 #0a1214;}
.tj-gard-pilt svg{display:block;width:100%;height:100%;}
/* roiskunud kala ära (23.10.2026) */
.tj-viska-roisk{margin-left:8px;background:#ffe0d8;}
.tj-viska-yks{border:2px solid #0a1214;border-radius:999px;background:#ffe0d8;font:800 .72rem Inter,sans-serif;padding:2px 8px;cursor:pointer;}
.tj-viska-yks:hover{background:#ff5b2e;color:#fff;}

/* ÜLESANDED: täna + sel nädalal (23.10.2026) */
.tj-yl-read li.tj-yl-pealkiri { display: block; grid-column: 1 / -1; background: none; border: 0; padding: 8px 2px 0; font: 900 .78rem/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--lime); }

/* JÄRVE EDETABEL veekaardi kaardil (23.10.2026) */
.tj-vk-edetabel { margin-top: 10px; border-top: 2px dashed rgba(10,18,20,.18); padding-top: 8px; }
.tj-vk-et-sakid { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 6px; }
.tj-vk-et-sakid button { font: 800 .72rem/1 Inter, sans-serif; padding: 6px 8px; border-radius: 999px; border: 2px solid #0a1214; background: #fffdf6; color: #0a1214; cursor: pointer; }
.tj-vk-et-sakid button.on { background: #c9f549; }
.tj-vk-et-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; max-height: 220px; overflow: auto; }
.tj-vk-et-list li { display: grid; grid-template-columns: 22px 1fr auto; gap: 6px; align-items: baseline; font-size: .82rem; padding: 3px 4px; border-radius: 6px; }
.tj-vk-et-list li em { font-style: normal; font-weight: 900; color: #6b7782; }
.tj-vk-et-list li span { font-weight: 800; white-space: nowrap; }
.tj-vk-et-list li.on-mina { background: rgba(201,245,73,.35); }
.tj-vk-et-list li:nth-child(1) em { color: #d4a017; }
.tj-vk-et-list .tj-vk-et-tyhi { display: block; color: #6b7782; font-size: .8rem; }
.tj-vk-kaart .tj-vk-et-list li b { font: 800 .85rem/1.2 Inter, sans-serif; color: #0a1214; display: block; margin: 0; }
.tj-vk-kaart .tj-vk-et-list li span { color: #0a1214; font-size: .8rem; }

/* JÄRVE VESTLUS (23.10.2026) — sama kast mis turniiril, oma pealkiri */
.tj-jchat .tj-chat-pea { background: #2f7a5a; }
.tj-jchat .tj-jchat-tyhi p { color: var(--steel, #9aa3ad); font-style: italic; }
.tj-klahvid { margin: 6px 2px 0; font-size: .78rem; color: var(--steel, #9aa3ad); text-align: center; }
.tj-klahvid kbd { display: inline-block; min-width: 1.4em; padding: 1px 5px; border-radius: 5px; border: 1.5px solid currentColor; font: 800 .72rem/1.3 Inter, sans-serif; margin: 0 1px; }

/* VESTLUS lohistatav + kokkupakitav (23.10.2026): pealkirjast lohista, klõps = kokku/lahti */
.tj-chat.on-real { transform: none !important; }
.tj-chat.on-laual .tj-chat-pea { cursor: grab; }
.tj-chat .tj-chat-pea::after { content: ' ▾'; opacity: .8; }
.tj-chat.on-kinni .tj-chat-pea::after { content: ' ▸'; }

/* Steve'i joonistatud varustuse pildid poes (23.10.2026) */
.tj-oma-pilt{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:contain;padding:4%;box-sizing:border-box;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
.tj-ost--pood .tj-ost-pilt .tj-oma-pilt{height:100%}
.tj-ost--pood.on-lukus .tj-ost-pilt .tj-oma-pilt{filter:grayscale(.8);opacity:.6}

/* LIVE hooaeg (23.10.2026) */
.tj-vk-hooaeg{margin-top:4px}
.tj-vk-hs{display:inline-block;margin-left:4px;padding:0 5px;border-radius:8px;font-weight:700;white-space:nowrap}
.tj-vk-hs.on-suvi{background:rgba(255,196,64,.18);color:#ffd45e}
.tj-vk-hs.on-talv{background:rgba(120,200,255,.18);color:#9fdcff}

/* LANT (23.10.2026, Steve: „landiga visates on kummaline, kui seal ujuki ikoon on“): keritava söödaga lusikaga kursor */
.tj-stseen[data-soot="lant"]:not([data-faas]),.tj-stseen[data-soot="lant"][data-faas="tyhi"]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3E%3Cg%20transform='translate%282%202%29'%3E%3Cpath%20d='M12.5%205.5c5.2-1.6%209.6%203.4%208.6%2010.6-.9%206.4-5.6%2010.2-8.8%208.7-3.6-1.7-5.2-17.6.2-19.3z'%20fill='%230a1214'/%3E%3C/g%3E%3Cpath%20d='M12.5%205.5c5.2-1.6%209.6%203.4%208.6%2010.6-.9%206.4-5.6%2010.2-8.8%208.7-3.6-1.7-5.2-17.6.2-19.3z'%20fill='%23e4eaec'%20stroke='%230a1214'%20stroke-width='2'/%3E%3Cpath%20d='M14.6%209.2c2.7.2%204.2%202.6%204.1%205.4'%20fill='none'%20stroke='%23ffffff'%20stroke-width='1.6'%20stroke-linecap='round'/%3E%3Cpath%20d='M11.9%2015.6c2.6.9%205.7.7%208.3-.6l-.6%203.4c-2.4%201.1-5%201.2-7.4.4z'%20fill='%23ff5b2e'%20stroke='%230a1214'%20stroke-width='1.2'/%3E%3Ccircle%20cx='12'%20cy='4'%20r='2.2'%20fill='%23c9f549'%20stroke='%230a1214'%20stroke-width='1.6'/%3E%3Cpath%20d='M14.6%2024.5v3.2a2.6%202.6%200%200%201-5.2%200'%20fill='none'%20stroke='%230a1214'%20stroke-width='3.6'%20stroke-linecap='round'/%3E%3Cpath%20d='M14.6%2024.5v3.2a2.6%202.6%200%200%201-5.2%200'%20fill='none'%20stroke='%23c9d2d6'%20stroke-width='1.6'%20stroke-linecap='round'/%3E%3C/svg%3E") 15 15,crosshair;}

/* paadis vaate pööre (23.10.2026) */
.tj-vaade-nupud{position:absolute;left:50%;top:12%;transform:translateX(-50%);display:flex;gap:10px;z-index:6;pointer-events:auto}
.tj-vaade-nupud[hidden]{display:none}
.tj-vaade-nupud button{width:40px;height:40px;border-radius:50%;border:2px solid #0a1214;background:rgba(242,238,225,.85);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 0 #0a1214}
.tj-vaade-nupud button:hover{background:#c9f549}
