/* ==========================================================================
   KODEKS RYBOŁOWA — main.css
   Field Journal / Forest Archive aesthetic
   GiM Zakątek Mazurski · Lato 2026
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Caveat:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ── TOKENS ─────────────────────────────────────────────────────────── */
:root {
  --forest-deep:#1E423A; --forest:#2C5F52; --forest-mid:#3A7868;
  --moss:#469C83; --moss-pale:#7BC2AE;
  --parchment:#f5edd8; --parchment-mid:#ede1c0; --parchment-dark:#e0d0a3; --parchment-shadow:#c8b888;
  --ink:#1a1a0e; --ink-soft:#3a3528; --ink-faded:#6b6245; --ink-ghost:#a89e7d;
  --amber:#D9B838; --amber-light:#EFCF4F; --amber-glow:#F5DC75; --amber-wax:#A8741A;
  --lake:#2E7BAA; --lake-mid:#4A9BCE; --lake-pale:#D5E8F5; --lake-deep:#1E5478;
  --oxblood:#7a2a1a; --rust:#a14528;
  --cream:#faf6ee; --bone:#f0e8d4;
  --font-display:'EB Garamond',Georgia,serif;
  --font-body:'Lora',Georgia,serif;
  --font-diary:'Caveat',cursive;
  --font-mono:'JetBrains Mono','Courier New',monospace;
  --r-sm:4px; --r-md:8px; --r-lg:14px; --r-xl:22px;
  --shadow-paper:0 1px 2px rgba(60,40,20,.08),0 6px 20px rgba(60,40,20,.12);
  --shadow-deep:0 20px 60px rgba(20,15,5,.35);
  --shadow-stamp:0 2px 0 rgba(122,42,26,.4),inset 0 0 0 1.5px rgba(122,42,26,.65);
  --ease-paper:cubic-bezier(.2,.7,.2,1);
  --ease-snap:cubic-bezier(.5,1.5,.4,1);
}

/* ── RESET ──────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);font-size:17px;line-height:1.65;
  color:var(--ink);background:var(--parchment);
  min-height:100vh;position:relative;overflow-x:hidden;
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 10%,rgba(184,134,11,.05),transparent 60%),
    radial-gradient(ellipse 60% 50% at 90% 90%,rgba(45,79,45,.06),transparent 65%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='8'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .26  0 0 0 0 .12  0 0 0 .06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-attachment:fixed;
}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
a{color:var(--lake-deep);text-decoration:none;border-bottom:1px dotted currentColor}
a:hover{color:var(--amber-wax)}

/* ── LAYOUT ─────────────────────────────────────────────────────────── */
.page{max-width:720px;margin:0 auto;padding:1.25rem 1.5rem 4rem;position:relative}
.page--wide{max-width:980px}
.page>*{animation:paper-rise .8s var(--ease-paper) backwards}
.page>*:nth-child(1){animation-delay:.05s}
.page>*:nth-child(2){animation-delay:.25s}
.page>*:nth-child(3){animation-delay:.45s}
.page>*:nth-child(4){animation-delay:.65s}
.page>*:nth-child(5){animation-delay:.85s}
.page>*:nth-child(6){animation-delay:1.05s}
@keyframes paper-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── HEADER STAMP ───────────────────────────────────────────────────── */
.stamp-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--parchment-shadow)}
.stamp-brand{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:1.05rem;color:var(--ink-soft)}
.stamp-brand .crest{display:inline-block;width:22px;height:22px;vertical-align:-5px;margin-right:8px;opacity:.8}
.stamp-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faded);text-transform:uppercase;letter-spacing:.15em}

/* ── STATION HEADER ─────────────────────────────────────────────────── */
.station-head{position:relative;text-align:center;margin:1rem 0 2.5rem}
.station-num{
  display:inline-block;padding:.6rem 1.5rem;
  font-family:var(--font-display);font-size:1.15rem;font-weight:600;
  letter-spacing:.35em;color:var(--oxblood);text-transform:uppercase;
  border:2px solid currentColor;border-radius:999px;
  background:rgba(245,237,216,.6);box-shadow:var(--shadow-stamp);
  transform:rotate(-1.5deg);position:relative;
}
.station-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.8rem,4vw + .8rem,3rem);line-height:1.1;
  color:var(--forest-deep);margin:1.25rem 0 .5rem;letter-spacing:-.01em;
}
.station-sub{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:1.1rem;color:var(--ink-faded);max-width:36ch;margin:0 auto;
}
.station-day-tag{
  display:inline-block;font-family:var(--font-mono);font-size:.65rem;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;color:var(--moss);
  padding:.3rem .7rem;border:1px solid var(--moss-pale);border-radius:999px;margin-bottom:1rem;
}

/* ── DIARY (Borecki letter) ─────────────────────────────────────────── */
.diary{
  background:linear-gradient(180deg,rgba(245,237,216,.6) 0%,rgba(224,208,163,.4) 100%),var(--bone);
  border:1px solid var(--parchment-shadow);border-radius:var(--r-md);
  padding:1.75rem 2rem 1.5rem;margin:2rem 0;position:relative;
  box-shadow:var(--shadow-paper);
  font-family:var(--font-display);font-size:1.15rem;line-height:1.55;color:var(--ink);
}
.diary::before{
  content:'';position:absolute;inset:6px;
  border:1px dashed var(--parchment-shadow);border-radius:var(--r-md);
  pointer-events:none;opacity:.5;
}
.diary p{margin-bottom:.9rem;text-indent:1.5em;position:relative}
.diary p:first-of-type{text-indent:0}
.diary p:last-child{margin-bottom:0}
.diary em{color:var(--oxblood);font-style:italic}
.diary-label{
  font-family:'Caveat',cursive;
  font-size:1.05rem;
  font-weight:500;
  color:var(--oxblood);
  letter-spacing:.04em;
  opacity:.82;
  margin-bottom:.65rem;
  display:block;
  transform:rotate(-0.6deg);
  transform-origin:left center;
}
.diary-sign{display:block;margin-top:1.25rem;text-align:right;
  font-family:var(--font-diary);font-size:1.6rem;color:var(--oxblood);
  font-weight:600;text-indent:0;letter-spacing:.02em;transform:rotate(-2deg);position:relative;
}
.diary-date{display:block;text-align:right;font-family:var(--font-mono);font-size:.7rem;
  color:var(--ink-faded);letter-spacing:.15em;text-transform:uppercase;margin-top:-.3rem;position:relative;
}
.wax-seal{
  position:absolute;width:56px;height:56px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--rust) 0%,var(--amber-wax) 45%,#4a1808 100%);
  box-shadow:inset -3px -4px 8px rgba(0,0,0,.4),inset 2px 3px 6px rgba(255,200,140,.3),0 3px 8px rgba(0,0,0,.3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:.8rem;color:rgba(255,230,180,.85);
  letter-spacing:.1em;transform:rotate(-12deg);right:-8px;bottom:-16px;text-shadow:0 1px 1px rgba(0,0,0,.5);
}
.wax-seal::before{content:'';position:absolute;inset:4px;border-radius:50%;border:1px dashed rgba(255,230,180,.4)}

/* ── TASK CARD ─────────────────────────────────────────────────────── */
.task{
  background:var(--cream);border:1px solid var(--parchment-shadow);
  border-left:4px solid var(--moss);border-radius:var(--r-md);
  padding:1.5rem 1.75rem;margin:1.5rem 0;box-shadow:var(--shadow-paper);
}
.task-label{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.25em;
  text-transform:uppercase;color:var(--moss);margin-bottom:.5rem;
}
.task-title{font-family:var(--font-display);font-weight:700;font-size:1.45rem;
  color:var(--forest-deep);margin-bottom:.75rem;line-height:1.25;
}
.task-body{font-size:1.02rem;color:var(--ink);margin-bottom:1.25rem}
.task-body p + p{margin-top:.8rem}
.task--audio{border-left-color:var(--lake)}
.task--cipher{border-left-color:var(--amber-wax)}
.task--time-locked{border-left-color:var(--oxblood)}

/* ── AUDIO PLAYER ──────────────────────────────────────────────────── */
.audio-block{
  background:linear-gradient(180deg,var(--forest-deep),#0a1410);
  border-radius:var(--r-lg);padding:1.5rem;margin:1.25rem 0;
  color:var(--bone);text-align:center;
  box-shadow:var(--shadow-deep),inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;overflow:hidden;
}
.audio-block::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(212,168,32,.12),transparent 70%);pointer-events:none;
}
.audio-hint{font-family:var(--font-display);font-style:italic;font-size:.95rem;
  color:var(--amber-glow);margin-bottom:1rem;letter-spacing:.02em;position:relative;
}
.audio-player{display:flex;align-items:center;gap:1rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(212,168,32,.25);
  border-radius:999px;padding:.35rem;max-width:320px;margin:0 auto;position:relative;
}
.audio-play-btn{width:48px;height:48px;border-radius:50%;
  background:var(--amber-glow);color:var(--forest-deep);font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s var(--ease-snap);flex-shrink:0;box-shadow:0 2px 8px rgba(240,192,64,.4);
}
.audio-play-btn:hover{transform:scale(1.08);background:#fff}
.audio-play-btn:active{transform:scale(.95)}
.audio-play-btn.is-playing{background:var(--bone)}
.audio-wave{flex:1;height:32px;display:flex;align-items:center;gap:3px;padding:0 .5rem}
.audio-wave span{flex:1;background:var(--amber-glow);opacity:.35;border-radius:2px;transition:opacity .2s,transform .15s}
.audio-wave.is-playing span{animation:wave 1.2s ease-in-out infinite;opacity:.85}
.audio-wave span:nth-child(2){animation-delay:.08s}
.audio-wave span:nth-child(3){animation-delay:.16s}
.audio-wave span:nth-child(4){animation-delay:.24s}
.audio-wave span:nth-child(5){animation-delay:.32s}
.audio-wave span:nth-child(6){animation-delay:.40s}
.audio-wave span:nth-child(7){animation-delay:.48s}
.audio-wave span:nth-child(8){animation-delay:.56s}
.audio-wave span:nth-child(9){animation-delay:.64s}
.audio-wave span:nth-child(10){animation-delay:.72s}
.audio-wave span:nth-child(11){animation-delay:.80s}
.audio-wave span:nth-child(12){animation-delay:.88s}
@keyframes wave{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.audio-replay{font-family:var(--font-mono);font-size:.68rem;color:var(--amber-light);
  margin-top:.75rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;opacity:.7;position:relative;
}
.audio-replay:hover{opacity:1}

/* ── ANSWER FORM ────────────────────────────────────────────────────── */
.answer-form{margin-top:1rem}
.answer-form label{display:block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;color:var(--ink-faded);margin-bottom:.5rem;
}
.input-text,.input-textarea{
  width:100%;padding:.9rem 1.1rem;font-family:var(--font-display);font-size:1.1rem;
  background:var(--bone);border:1.5px solid var(--parchment-shadow);
  border-radius:var(--r-md);outline:none;transition:border-color .2s,background .2s;
}
.input-text:focus,.input-textarea:focus{border-color:var(--moss);background:#fff}
.input-textarea{min-height:80px;resize:vertical;font-family:var(--font-body);font-size:1rem}

.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin:1rem 0 .5rem}
@media(max-width:480px){.choice-grid{grid-template-columns:1fr}}
.choice{
  background:var(--bone);border:1.5px solid var(--parchment-shadow);
  border-radius:var(--r-md);padding:1rem 1.1rem;text-align:left;
  font-family:var(--font-display);font-size:1.1rem;color:var(--ink);
  transition:all .15s var(--ease-snap);display:flex;align-items:center;gap:.75rem;
}
.choice:hover{border-color:var(--moss);background:#fff;transform:translateY(-1px)}
.choice.is-selected{border-color:var(--moss);background:rgba(74,107,61,.1);box-shadow:inset 0 0 0 1px var(--moss)}
.choice-letter{display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border:1.5px solid currentColor;border-radius:50%;
  font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--moss);flex-shrink:0;
}
.choice.is-selected .choice-letter{background:var(--moss);color:white}

/* ── BUTTONS ───────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.95rem 1.6rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;
  letter-spacing:.02em;border-radius:var(--r-md);
  background:var(--forest);color:var(--bone);border:1.5px solid var(--forest);
  box-shadow:0 2px 0 var(--forest-deep),0 4px 12px rgba(20,36,26,.25);
  transition:all .15s var(--ease-snap);text-decoration:none;
}
.btn:hover{background:var(--forest-mid);transform:translateY(-1px);
  box-shadow:0 3px 0 var(--forest-deep),0 6px 18px rgba(20,36,26,.35);
}
.btn:active{transform:translateY(1px);box-shadow:0 1px 0 var(--forest-deep)}
.btn--amber{background:var(--amber-wax);border-color:var(--amber-wax);
  box-shadow:0 2px 0 #4a1808,0 4px 12px rgba(122,42,26,.3);
}
.btn--amber:hover{background:var(--rust)}
.btn--ghost{background:transparent;color:var(--ink-soft);border-color:var(--parchment-shadow);box-shadow:none}
.btn--ghost:hover{background:var(--bone);border-color:var(--moss);color:var(--moss)}
.btn--block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}

/* ── FEEDBACK ──────────────────────────────────────────────────────── */
.feedback{margin-top:1.25rem;padding:1.25rem 1.5rem;border-radius:var(--r-md);
  font-family:var(--font-display);font-size:1.1rem;line-height:1.5;
  display:none;animation:paper-rise .5s var(--ease-paper);
}
.feedback.show{display:block}
.feedback--ok{background:linear-gradient(135deg,rgba(74,107,61,.12),rgba(74,107,61,.06));
  border:1px solid var(--moss-pale);color:var(--forest-deep);
}
.feedback--no{background:rgba(122,42,26,.08);border:1px solid rgba(122,42,26,.3);color:var(--oxblood)}
.feedback-title{font-weight:700;margin-bottom:.35rem;font-size:1.15rem}
.feedback-points{font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:.1em;
  color:var(--amber-wax);margin-top:.5rem;display:inline-block;padding:.25rem .65rem;
  border:1px solid currentColor;border-radius:999px;
}

/* ── NEXT HINT ─────────────────────────────────────────────────────── */
.next-hint{margin-top:1.5rem;padding:1.5rem 1.75rem;
  background:linear-gradient(180deg,rgba(212,168,32,.08),rgba(212,168,32,.03)),var(--bone);
  border:1px dashed var(--amber);border-radius:var(--r-md);
  display:none;animation:paper-rise .6s var(--ease-paper);position:relative;
}
.next-hint.show{display:block}
.next-hint-label{font-family:var(--font-mono);font-size:.68rem;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;color:var(--amber-wax);margin-bottom:.65rem;
}
.next-hint p{font-family:var(--font-display);font-style:italic;font-size:1.15rem;
  line-height:1.5;color:var(--ink-soft);margin-bottom:.65rem;
}
.next-hint p:last-child{margin-bottom:0}
.next-hint .targets{font-family:var(--font-mono);font-size:.8rem;font-style:normal;
  color:var(--amber-wax);margin-top:1rem;letter-spacing:.1em;
}

/* ── TIME-LOCK NOTICE ──────────────────────────────────────────────── */
.time-lock{background:linear-gradient(135deg,#1e1b4b 0%,#0d3b5e 100%);color:var(--bone);
  border-radius:var(--r-lg);padding:2rem 1.75rem;margin:2rem 0;text-align:center;
  box-shadow:var(--shadow-deep);position:relative;overflow:hidden;
}
.time-lock::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(212,168,32,.15),transparent 65%);pointer-events:none;
}
.time-lock-icon{font-size:2.5rem;margin-bottom:.75rem;position:relative}
.time-lock h3{font-family:var(--font-display);font-weight:700;font-size:1.6rem;margin-bottom:.5rem;position:relative}
.time-lock p{font-family:var(--font-display);font-style:italic;font-size:1.05rem;opacity:.9;margin-bottom:.35rem;position:relative}
.time-lock .window{display:inline-block;margin-top:1rem;padding:.5rem 1.1rem;
  font-family:var(--font-mono);font-size:.9rem;letter-spacing:.1em;
  border:1px solid rgba(212,168,32,.5);border-radius:999px;color:var(--amber-glow);position:relative;
}

/* ── DAY-LOCK NOTICE ───────────────────────────────────────────────── */
.day-lock{background:var(--bone);border:2px dashed var(--ink-ghost);border-radius:var(--r-md);
  padding:1.5rem;text-align:center;color:var(--ink-faded);margin:1.5rem 0;
}
.day-lock h3{font-family:var(--font-display);color:var(--ink-soft);margin-bottom:.5rem}

/* ── PROGRESS BAR ──────────────────────────────────────────────────── */
.progress{margin:2rem 0 1rem;padding:1rem 1.25rem;background:var(--bone);
  border:1px solid var(--parchment-shadow);border-radius:var(--r-md);
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
}
.progress-info{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-faded);
  letter-spacing:.1em;text-transform:uppercase;
}
.progress-info strong{color:var(--oxblood);font-weight:600}
.progress-bar{flex:1;min-width:160px;height:8px;background:var(--parchment-dark);
  border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--moss) 0%,var(--amber) 100%);
  border-radius:999px;transition:width .8s var(--ease-paper);
}
.progress-points{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--amber-wax)}

/* ── STARTER (kod 00) ──────────────────────────────────────────────── */
.starter{text-align:center;padding:3rem 1.5rem 4rem;max-width:600px;margin:0 auto}
.starter-crest{width:90px;height:90px;margin:0 auto 2rem;opacity:.85;animation:paper-rise 1.2s var(--ease-paper)}
.starter-title{font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:clamp(2rem,5vw + .5rem,3.5rem);line-height:1.1;
  color:var(--forest-deep);margin-bottom:1rem;letter-spacing:-.01em;
}
.starter-title em{font-style:normal;font-weight:700;color:var(--oxblood);
  display:block;font-size:.85em;margin-top:.25rem;
}
.starter-found{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.25em;
  text-transform:uppercase;color:var(--ink-faded);margin-bottom:2rem;
}
.fragment-box{
  background:linear-gradient(180deg,rgba(245,237,216,.7),rgba(224,208,163,.5)),var(--bone);
  border:1px solid var(--parchment-shadow);border-radius:var(--r-md);
  padding:1.75rem 2rem;margin:2rem 0;text-align:left;box-shadow:var(--shadow-paper);
  font-family:var(--font-display);font-style:italic;font-size:1.15rem;line-height:1.5;
  color:var(--ink-soft);position:relative;
}
.fragment-box::before{content:'\201C';position:absolute;top:-.3em;left:.3em;
  font-family:var(--font-display);font-size:5rem;color:var(--amber);
  opacity:.25;line-height:1;font-style:normal;
}
.starter-cta{margin-top:2.5rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* ── PATH CHOICE ───────────────────────────────────────────────────── */
.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:2rem 0}
@media(max-width:560px){.path-grid{grid-template-columns:1fr}}
.path-card{background:var(--bone);border:2px solid var(--parchment-shadow);
  border-radius:var(--r-lg);padding:2rem 1.5rem;text-align:center;cursor:pointer;
  transition:all .25s var(--ease-snap);position:relative;overflow:hidden;
}
.path-card:hover{transform:translateY(-3px);border-color:var(--moss);box-shadow:var(--shadow-paper)}
.path-card.path-rybolow:hover{border-color:var(--lake)}
.path-card.path-rosiczka:hover{border-color:var(--oxblood)}
.path-icon{width:70px;height:70px;margin:0 auto 1rem}
.path-name{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--forest-deep);margin-bottom:.35rem}
.path-tagline{font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--ink-faded);margin-bottom:1rem}
.path-traits{list-style:none;text-align:left;font-size:.9rem;color:var(--ink-soft)}
.path-traits li{padding:.2rem 0 .2rem 1.2rem;position:relative}
.path-traits li::before{content:'✦';position:absolute;left:0;color:var(--amber)}

/* ── HALL OF FAME ─────────────────────────────────────────────────── */
.hof-table{width:100%;border-collapse:collapse;margin:1.5rem 0;
  font-family:var(--font-display);background:var(--bone);
  border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-paper);
}
.hof-table th,.hof-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--parchment-dark)}
.hof-table th{font-family:var(--font-mono);font-size:.7rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faded);background:rgba(212,168,32,.08);
}
.hof-table tr:last-child td{border-bottom:none}
.hof-table tbody tr:hover{background:rgba(212,168,32,.05)}
.hof-rank{font-family:var(--font-mono);font-weight:600;color:var(--amber-wax);font-size:1.1rem}
.hof-rank--1{color:#b8860b;font-size:1.3rem}
.hof-rank--2{color:#8b7d6b;font-size:1.2rem}
.hof-rank--3{color:#a0522d;font-size:1.15rem}
.hof-points{font-family:var(--font-mono);font-weight:600;color:var(--forest-deep)}
.hof-path-tag{display:inline-block;padding:.2rem .6rem;border-radius:999px;
  font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
}
.hof-path-tag.rybolow{background:rgba(46,134,193,.15);color:var(--lake-deep)}
.hof-path-tag.rosiczka{background:rgba(122,42,26,.15);color:var(--oxblood)}

/* ── COUNTDOWN ─────────────────────────────────────────────────────── */
.countdown{text-align:center;margin:2rem 0}
.countdown-units{display:flex;justify-content:center;gap:1rem;margin:1.5rem 0}
.countdown-unit{background:var(--forest-deep);color:var(--amber-glow);
  border-radius:var(--r-md);padding:1rem .75rem;min-width:70px;box-shadow:var(--shadow-paper);
}
.countdown-unit .num{display:block;font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1}
.countdown-unit .lbl{display:block;font-family:var(--font-mono);font-size:.65rem;
  letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:.35rem;
}

/* ── FOOTER ─────────────────────────────────────────────────────────── */
footer{margin-top:3rem;padding:1.5rem;text-align:center;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-faded);border-top:1px dashed var(--parchment-shadow);
}

/* ── BADGES ────────────────────────────────────────────────────────── */
.badge-row{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.badge{display:inline-block;font-family:var(--font-mono);font-size:.65rem;
  letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;
  border-radius:999px;border:1px solid currentColor;font-weight:500}
.badge--day{color:var(--moss);background:rgba(74,93,58,.08)}
.badge--time{color:var(--lake-deep);background:rgba(46,134,193,.1)}
.badge--points{color:var(--amber-wax);background:rgba(212,168,32,.1)}

/* ── UTIL ──────────────────────────────────────────────────────────── */
.hidden{display:none !important}
.center{text-align:center}
.muted{color:var(--ink-faded)}
.flex{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.small{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-faded);letter-spacing:.05em}

hr.ornament{border:none;text-align:center;margin:2rem 0;height:20px;position:relative}
hr.ornament::after{content:'✦ · ✦ · ✦';font-size:1rem;color:var(--amber);
  letter-spacing:.3em;position:absolute;top:0;left:50%;transform:translateX(-50%);
}

/* ── MOBILE ────────────────────────────────────────────────────────── */
@media(max-width:480px){
  body{font-size:16px}
  .page{padding:1rem 1rem 3rem}
  .diary{padding:1.5rem 1.25rem 1.25rem;font-size:1.05rem}
  .task{padding:1.25rem 1.1rem}
  .station-num{font-size:1rem;padding:.5rem 1.2rem;letter-spacing:.25em}
  .audio-player{max-width:100%}
  .stamp-meta{font-size:.6rem;letter-spacing:.1em}
  .countdown-unit{min-width:60px;padding:.75rem .5rem}
  .countdown-unit .num{font-size:1.6rem}
}

/* ── PRINT ─────────────────────────────────────────────────────────── */
@media print{
  body{background:white}
  .audio-block,.btn,footer{display:none}
  .page{max-width:100%}
}

/* ── Pieczęć Boreckiego — oficjalne logo w rogu diary ───────────── */
.diary { position: relative }
.borecki-seal {
  position: absolute;
  top: 1.25rem;
  right: -28px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--parchment);
  box-shadow: 0 4px 12px rgba(30,15,5,.25), inset 0 0 0 1px rgba(122,42,26,.4);
  background: var(--cream);
  z-index: 2;
  transform: rotate(-3deg);
  transition: transform .4s var(--ease-paper);
  padding: 7px;
}
.borecki-seal img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.borecki-seal:hover { transform: rotate(0deg) scale(1.05) }
@media (max-width: 600px) {
  .borecki-seal { width: 56px; height: 56px; right: -8px; top: .75rem; padding: 5px; }
  .borecki-seal { transform: rotate(-2deg) }
}

/* ── Logo Zakątek — ciemne tło dla widoczności białego tekstu ─── */
.zakatek-logo-wrap {
  background: radial-gradient(ellipse at center, rgba(0,0,0,.55) 0%, rgba(0,0,0,.3) 50%, transparent 80%);
  padding: .65rem 1.1rem;
  border-radius: 8px;
  display: inline-block;
}
.zakatek-logo-wrap img {
  display: block;
  filter: drop-shadow(0 0 8px rgba(0,0,0,.6));
}

/* ════════════════════════════════════════════════════════════════════
   V3.6 — FOOTER + MINI DASHBOARD + PATH-ICON (nowe komponenty)
   ════════════════════════════════════════════════════════════════════ */

/* ── Site footer — ciemnozielona apla GIM na całą szerokość ─────── */
.site-footer {
  background: linear-gradient(180deg, #1E423A 0%, #163428 100%);
  color: rgba(255, 245, 225, .9);
  padding: 1.5rem 1.25rem 1.75rem;
  margin: 3rem -1rem -2rem;
  text-align: center;
  border-radius: 0;
}
.site-footer-logo {
  display: inline-block;
  margin-bottom: .85rem;
}
.site-footer-logo img {
  height: 44px;
  width: auto;
  display: block;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .25));
}
.site-footer-links {
  font-size: .85rem;
  font-family: var(--font-display);
  color: rgba(255, 245, 225, .8);
  line-height: 1.6;
}
.site-footer-links a {
  color: var(--amber-glow);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgba(245, 220, 117, .5);
  text-underline-offset: 3px;
  font-weight: 500;
}
.site-footer-links a:hover {
  color: #fff;
  text-decoration-style: solid;
}
.site-footer-links .sep {
  margin: 0 .35rem;
  opacity: .5;
}

/* ── Mini dashboard hero — na górze każdej stacji ──────────────── */
.mini-dash {
  background: linear-gradient(180deg, var(--cream) 0%, var(--bone) 100%);
  border: 1px solid var(--parchment-shadow);
  border-radius: var(--r-md);
  padding: .8rem 1rem;
  margin: 0 0 1.25rem;
  box-shadow: 0 2px 8px rgba(60, 40, 20, .08);
}
.mini-dash-row1 {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-family: var(--font-display);
}
.mini-dash-row1 img.mini-logo {
  width: 28px; height: 28px;
  flex-shrink: 0;
}
.mini-dash-title {
  font-size: .68rem;
  font-family: var(--font-mono);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--moss);
  line-height: 1;
  margin-bottom: .15rem;
}
.mini-dash-family {
  font-size: .98rem;
  font-style: italic;
  color: var(--ink);
  font-weight: 500;
  line-height: 1.1;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mini-dash-meta {
  margin-left: auto;
  text-align: right;
  flex-shrink: 0;
  line-height: 1.1;
}
.mini-dash-domek {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .15em;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.mini-dash-points {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1;
}
.mini-dash-row2 {
  display: flex;
  justify-content: center;
  gap: .15rem;
  flex-wrap: wrap;
  margin-top: .65rem;
  padding-top: .65rem;
  border-top: 1px dashed var(--parchment-shadow);
  font-size: 1.1rem;
  line-height: 1;
}
.mini-dash-tokens-group {
  display: inline-flex;
  gap: .1rem;
  padding: .15rem .35rem;
  border-radius: 12px;
  background: rgba(70, 156, 131, .06);
}
.mini-dash-tokens-group.is-active { background: rgba(70, 156, 131, .14) }
.mini-dash-token { display: inline-block; transition: transform .2s }
.mini-dash-token.empty { opacity: .25; filter: grayscale(1) }
.mini-dash-token.got { animation: tokenPop .4s var(--ease-snap) }
@keyframes tokenPop {
  0% { transform: scale(.3); opacity: 0 }
  50% { transform: scale(1.3) }
  100% { transform: scale(1); opacity: 1 }
}

/* ── Path-icon (z user-CSS) — używane w login path-grid ─────────── */
.path-icon {
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
  margin: 0 auto 1rem auto;
  filter:
    drop-shadow(0 0 12px rgba(0, 0, 0, .35))
    drop-shadow(0 0 18px rgba(255, 255, 255, .08));
  transition:
    transform .35s ease,
    filter .35s ease;
}
.path-card:hover .path-icon {
  transform: scale(1.06);
  filter:
    drop-shadow(0 0 18px rgba(0, 0, 0, .45))
    drop-shadow(0 0 28px rgba(255, 255, 255, .12));
}

/* ── Teaser screen — dla niezarejestrowanych skanujących stacje ─ */
.teaser {
  max-width: 480px;
  margin: 2rem auto;
  padding: 1.5rem 1.25rem;
  text-align: center;
}
.teaser-icon {
  width: 96px; height: 96px;
  margin: 0 auto 1rem;
  opacity: .85;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .15));
}
.teaser h1 {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 1.6rem;
  color: var(--ink);
  margin-bottom: 1rem;
  line-height: 1.25;
}
.teaser p {
  color: var(--ink-soft);
  font-size: 1.02rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.teaser .cta-row {
  margin-top: 2rem;
  display: flex; flex-direction: column; gap: .65rem;
  align-items: center;
}


/* ========================================================================== 
   BORECKI V5 — dashboard, footer, warm-up, compact tokens moved from HTML/JS
   ========================================================================== */

body { margin:0; }

.site-footer{
  width:min(100%, 920px);
  margin:3rem auto 0;
  padding:2.3rem 1.5rem 1.7rem;
  background:linear-gradient(180deg,#163226 0%,#10261d 100%);
  border:1px solid rgba(214,196,155,.14);
  border-radius:30px 30px 18px 18px / 24px 24px 30px 30px;
  box-shadow:0 18px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  text-align:center;
  overflow:hidden;
  position:relative;
}
.site-footer::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at top center,rgba(255,255,255,.06),transparent 58%);
  pointer-events:none;
}
.site-footer-logo{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.25rem;border-bottom:0;}
.site-footer-logo img{width:min(280px,72vw);height:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.34));transition:transform .3s ease,opacity .3s ease;}
.site-footer-logo:hover img{transform:translateY(-1px) scale(1.02);opacity:.96;}
.site-footer-links{position:relative;z-index:1;font-size:.95rem;line-height:1.85;color:rgba(244,236,220,.82);font-family:var(--font-body);}
.site-footer-links a{color:#f2e4bf;text-decoration:none;border-bottom:0;transition:opacity .25s ease,color .25s ease;}
.site-footer-links a:hover{color:#fff5d7;opacity:.92;}
.site-footer .sep{opacity:.35;padding:0 .45rem;color:#d9c7a1;}

.warm-up-btn{
  padding:1rem .75rem;
  font-size:1.1rem;
  background:var(--cream);
  border:2px solid var(--parchment-shadow);
  color:var(--ink);
  font-family:var(--font-display);
  font-style:italic;
  box-shadow:var(--shadow-paper);
}
.warm-up-btn.is-correct{background:rgba(70,156,131,.25);border-color:var(--moss);color:var(--forest-deep);}
.warm-up-btn:disabled{cursor:default;opacity:.96;}
.warm-up-actions{display:flex;justify-content:center;margin:1rem 0 0;}

.last-quest-card{
  background:linear-gradient(180deg,rgba(70,156,131,.12),rgba(70,156,131,.04)),var(--bone);
  border:1px solid rgba(70,156,131,.45);
  border-left:4px solid var(--moss);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-paper);
  padding:1rem 1.15rem;
  margin:.6rem 0;
  font-family:var(--font-body);
  color:var(--ink-soft);
  line-height:1.55;
}
.last-quest-kicker{
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--moss);
  margin-bottom:.35rem;
}
.last-quest-title{
  font-family:var(--font-display);
  font-size:1.15rem;
  font-style:italic;
  color:var(--forest-deep);
  margin-bottom:.35rem;
}
.last-quest-card p + p{margin-top:.45rem;}
.last-quest-card .targets{margin-top:.55rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--amber-wax);text-transform:uppercase;}

.dashboard{max-width:440px;margin:0 auto;padding:1rem .9rem 1.5rem;min-height:100vh;display:flex;flex-direction:column;gap:.85rem;}
.dash-top{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--parchment-shadow);}
.dash-logo,.dash-overlay{width:44px;height:44px;}
.dash-overlay{opacity:.85;}
.dash-title{text-align:center;line-height:1.2;}
.dash-eyebrow{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--moss);}
.dash-meta{font-family:var(--font-display);font-size:.9rem;color:var(--ink-soft);}
.dash-family{display:flex;align-items:center;gap:.85rem;padding:.5rem .25rem;}
.dash-portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--parchment-shadow);box-shadow:0 2px 8px rgba(30,15,5,.25);filter:sepia(.4) contrast(1.05);flex-shrink:0;background:var(--bone);}
.dash-family-text{flex:1;min-width:0;}
.dash-family-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--moss);margin-bottom:.15rem;}
.dash-family-name{font-family:var(--font-display);font-style:italic;font-size:1.2rem;font-weight:500;color:var(--ink);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dash-tokens{padding:.2rem 0 .35rem;}
.dash-points{text-align:center;padding:.75rem 0;border-top:1px dashed var(--parchment-shadow);border-bottom:1px dashed var(--parchment-shadow);}
.points-value{font-family:var(--font-display);font-size:2.4rem;font-weight:500;color:var(--ink);letter-spacing:-.02em;line-height:1;}
.points-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faded);margin-top:.3rem;}
.t-tag{text-align:center;font-size:.82rem;padding:.45rem .7rem;border-radius:var(--r-sm);font-family:var(--font-display);}
.t-tag--ok{background:rgba(74,93,58,.12);color:var(--moss);}
.t-tag--no{background:rgba(122,42,26,.12);color:var(--oxblood);}
.t-tag--wait{background:linear-gradient(180deg,rgba(212,168,32,.18),rgba(212,168,32,.06));color:var(--ink);border-left:3px solid var(--amber-wax);text-align:left;}
.junior-mini{background:rgba(212,168,32,.15);border:1px solid rgba(212,168,32,.4);border-radius:var(--r-sm);padding:.4rem .65rem;font-size:.78rem;text-align:center;color:var(--ink-soft);}
.dash-cta{display:grid;gap:.7rem;}
.dash-cta .btn--block{width:100%;padding:.85rem;font-size:1rem;}
.hof-mini{background:var(--bone);border:1px solid var(--parchment-shadow);border-radius:var(--r-sm);padding:.6rem .8rem;}
.hof-mini-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--moss);margin-bottom:.35rem;}
.hof-mini-content{font-size:.85rem;line-height:1.5;}
.hof-mini-row{display:flex;justify-content:space-between;gap:.75rem;padding:.15rem 0;}
.hof-mini-row strong{color:var(--ink);}
.hof-mini-row.me{color:var(--amber-wax);font-weight:500;}
.dash-more{font-size:.85rem;color:var(--ink-faded);}
.dash-more summary{cursor:pointer;text-align:center;padding:.35rem;}
.dash-more-content{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;padding:.5rem;}
.btn--sm{font-size:.8rem;padding:.35rem .7rem;}
.dash-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--parchment-shadow);display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:.72rem;color:var(--ink-faded);font-family:var(--font-display);font-style:italic;}
.dash-footer-logo{background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,rgba(0,0,0,.3) 50%,transparent 80%);padding:.5rem .9rem;border-radius:8px;border-bottom:0;}
.dash-footer-logo img{height:24px;filter:drop-shadow(0 0 6px rgba(0,0,0,.5));}

.tokens-block{width:100%;text-align:center;}
.tokens-count{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--moss);margin:0 0 .28rem;line-height:1.25;white-space:normal;}
.tokens-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.03rem;max-width:min(250px,88vw);margin:0 auto;align-items:center;justify-items:center;}
.tokens-block--mini .tokens-grid{max-width:148px;gap:0;}
.tokens-block--mini .tokens-count{font-size:.55rem;letter-spacing:.08em;margin-bottom:.18rem;}
.tokens-block--big .tokens-grid{max-width:min(300px,90vw);}
.token{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:.04rem;border-radius:50%;transition:transform .2s ease;width:100%;max-width:34px;}
.tokens-block--mini .token{max-width:20px;}
.tokens-block--big .token{max-width:42px;}
.token img{width:100%;height:100%;object-fit:contain;}
.token--got{background:radial-gradient(circle,rgba(212,168,32,.14),rgba(212,168,32,0) 72%);border:1px solid rgba(74,93,58,.25);}
.token--empty{background:transparent;border:1px dashed rgba(74,93,58,.16);}
.token--got:hover{transform:scale(1.08);}
.token--empty img{opacity:.15;filter:grayscale(1) brightness(.72);}
.token--got.token--rosiczka img{filter:sepia(.32) saturate(1.35) hue-rotate(82deg) brightness(.72) drop-shadow(0 1px 1px rgba(0,0,0,.18));}
.token--got.token--rybolow img{filter:sepia(.12) saturate(1.45) hue-rotate(165deg) brightness(1.05) drop-shadow(0 1px 1px rgba(0,0,0,.16));}

.mini-dash-token{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin:0 -1px;vertical-align:middle;}
.mini-dash-token img{width:100%;height:100%;object-fit:contain;}
.mini-dash-token.empty img{opacity:.13;filter:grayscale(1) brightness(.65);}
.mini-dash-token.got.mini-dash-token--rosiczka img{filter:sepia(.32) saturate(1.35) hue-rotate(82deg) brightness(.72);}
.mini-dash-token.got.mini-dash-token--rybolow img{filter:sepia(.12) saturate(1.45) hue-rotate(165deg) brightness(1.05);}
.mini-dash-tokens-group{white-space:nowrap;letter-spacing:0;}

@media (max-width:640px){
  .site-footer{width:calc(100% - 1.2rem);padding:2rem 1rem 1.45rem;border-radius:24px 24px 16px 16px / 20px 20px 24px 24px;}
  .site-footer-logo img{width:min(240px,74vw);}
  .site-footer-links{font-size:.87rem;line-height:1.9;}
}
@media (max-width:380px){
  .tokens-grid{max-width:min(230px,86vw);gap:0;}
  .tokens-count{font-size:.57rem;letter-spacing:.1em;}
  .token{max-width:31px;}
}
@media (max-width:360px){
  .dashboard{padding:.75rem .65rem;}
  .points-value{font-size:2rem;}
  .mini-dash-token{width:12px;height:12px;margin:0 -1.5px;}
}

/* ══════════════════════════════════════════════════════════════════════
   V5.1 — MOTYWY ŚCIEŻEK: Rybołów (niebieski) · Rosiczka (czerwono-zielony)
   ══════════════════════════════════════════════════════════════════════ */

/* ── Rybołów — woda, niebo, kamień: niebiesko-szaro-biały ────────── */

body.path-rybolow {
  background-image:
    radial-gradient(ellipse 80% 55% at 15% 8%, rgba(30,84,120,.09), transparent 55%),
    radial-gradient(ellipse 55% 45% at 88% 92%, rgba(74,155,206,.06), transparent 60%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='8'/><feColorMatrix values='0 0 0 0 .18  0 0 0 0 .28  0 0 0 0 .38  0 0 0 .055 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* Znaczek stacji — niebieski zamiast oksydu */
body.path-rybolow .station-num {
  color: var(--lake-deep);
  border-color: var(--lake-deep);
  box-shadow: 0 2px 0 rgba(30,84,120,.35), inset 0 0 0 1.5px rgba(30,84,120,.6);
}
body.path-rybolow .station-title { color: var(--lake-deep); }
body.path-rybolow .stamp-meta { color: var(--lake-mid); }

/* Odznaki */
body.path-rybolow .badge--day {
  color: var(--lake);
  background: rgba(46,123,170,.1);
  border-color: var(--lake);
}
body.path-rybolow .badge--time {
  color: var(--lake-deep);
  border-color: var(--lake-mid);
}

/* Karty zadań */
body.path-rybolow .task { border-left-color: var(--lake); }
body.path-rybolow .task-label { color: var(--lake); }
body.path-rybolow .task--audio { border-left-color: var(--lake-mid); }
body.path-rybolow .task--cipher { border-left-color: var(--lake-deep); }

/* Pasek postępu */
body.path-rybolow .progress-fill {
  background: linear-gradient(90deg, var(--lake-deep) 0%, var(--lake-pale) 100%);
}

/* Mini-dash */
body.path-rybolow .mini-dash-title { color: var(--lake-mid); }
body.path-rybolow .mini-dash-tokens-group { background: rgba(46,123,170,.06); }
body.path-rybolow .mini-dash-tokens-group.is-active { background: rgba(46,123,170,.16); }

/* Dashboard */
body.path-rybolow .dash-eyebrow { color: var(--lake-mid); }
body.path-rybolow .dash-family-label { color: var(--lake); }
body.path-rybolow .hof-mini-label { color: var(--lake); }

/* Ostatnia wskazówka */
body.path-rybolow .last-quest-card {
  border-left-color: var(--lake);
  border-color: rgba(46,123,170,.38);
  background: linear-gradient(180deg, rgba(46,123,170,.1), rgba(46,123,170,.03)), var(--bone);
}
body.path-rybolow .last-quest-kicker { color: var(--lake); }
body.path-rybolow .last-quest-title { color: var(--lake-deep); }
body.path-rybolow .last-quest-card .targets { color: var(--lake-mid); }

/* Pieczęć w diary — niebieska obwódka */
body.path-rybolow .borecki-seal {
  border-color: var(--lake-pale);
  background: rgba(213,232,245,.5);
  box-shadow: 0 4px 14px rgba(30,84,120,.22), inset 0 0 0 1px rgba(30,84,120,.3);
}

/* Next hint */
body.path-rybolow .next-hint {
  border-color: var(--lake-mid);
  background: linear-gradient(180deg, rgba(46,123,170,.1), rgba(46,123,170,.03)), var(--bone);
}
body.path-rybolow .next-hint-label { color: var(--lake); }

/* ── Rosiczka — roślina owadożerna: czerwono-zielony ─────────────── */
/* Akcenty: oxblood (ciemna czerwień) + forest (mech i bór) */

body.path-rosiczka {
  background-image:
    radial-gradient(ellipse 80% 55% at 15% 8%, rgba(122,42,26,.07), transparent 55%),
    radial-gradient(ellipse 55% 45% at 88% 92%, rgba(44,95,82,.08), transparent 60%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='8'/><feColorMatrix values='0 0 0 0 .32  0 0 0 0 .22  0 0 0 0 .14  0 0 0 .06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* Znaczek stacji — głębsza czerwień */
body.path-rosiczka .station-num {
  color: var(--oxblood);
  border-color: var(--oxblood);
}
body.path-rosiczka .station-title { color: #1a2e1a; }
body.path-rosiczka .stamp-meta { color: var(--rust); }

/* Odznaki */
body.path-rosiczka .badge--day {
  color: var(--oxblood);
  background: rgba(122,42,26,.08);
  border-color: var(--oxblood);
}
body.path-rosiczka .badge--time {
  color: var(--rust);
  border-color: rgba(161,69,40,.5);
}

/* Karty zadań */
body.path-rosiczka .task { border-left-color: var(--oxblood); }
body.path-rosiczka .task-label { color: var(--rust); }
body.path-rosiczka .task--audio { border-left-color: var(--rust); }

/* Pasek postępu */
body.path-rosiczka .progress-fill {
  background: linear-gradient(90deg, var(--oxblood) 0%, var(--amber) 100%);
}

/* Mini-dash */
body.path-rosiczka .mini-dash-title { color: var(--rust); }
body.path-rosiczka .mini-dash-tokens-group { background: rgba(122,42,26,.06); }
body.path-rosiczka .mini-dash-tokens-group.is-active { background: rgba(122,42,26,.14); }

/* Dashboard */
body.path-rosiczka .dash-eyebrow { color: var(--rust); }
body.path-rosiczka .dash-family-label { color: var(--rust); }
body.path-rosiczka .hof-mini-label { color: var(--rust); }

/* Ostatnia wskazówka */
body.path-rosiczka .last-quest-card {
  border-left-color: var(--oxblood);
  border-color: rgba(122,42,26,.32);
  background: linear-gradient(180deg, rgba(122,42,26,.09), rgba(122,42,26,.03)), var(--bone);
}
body.path-rosiczka .last-quest-kicker { color: var(--rust); }
body.path-rosiczka .last-quest-title { color: var(--oxblood); }
body.path-rosiczka .last-quest-card .targets { color: var(--rust); }

/* Pieczęć w diary — ciepła obwódka */
body.path-rosiczka .borecki-seal {
  border-color: rgba(161,69,40,.45);
  background: rgba(245,225,210,.55);
  box-shadow: 0 4px 14px rgba(80,20,10,.22), inset 0 0 0 1px rgba(122,42,26,.35);
}

/* Next hint */
body.path-rosiczka .next-hint {
  border-color: rgba(161,69,40,.45);
  background: linear-gradient(180deg, rgba(122,42,26,.09), rgba(122,42,26,.03)), var(--bone);
}
body.path-rosiczka .next-hint-label { color: var(--rust); }

/* Feedback — ok kolor dla rosiczki (ciemny butelkowy zielony) */
body.path-rosiczka .feedback--ok {
  border-color: rgba(44,95,82,.4);
  color: var(--forest-deep);
}

/* ══════════════════════════════════════════════════════════════════════
   V5.1 — DANGER ZONE (strefa ryzyka w dashboardzie)
   ══════════════════════════════════════════════════════════════════════ */

.dash-danger-zone {
  border: 1px dashed rgba(122,42,26,.28);
  border-radius: var(--r-md);
  overflow: hidden;
  font-size: .85rem;
}

.dash-danger-zone summary,
.dash-danger-summary {
  cursor: pointer;
  padding: .42rem .65rem;
  text-align: center;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--oxblood);
  opacity: .72;
  transition: opacity .2s;
  list-style: none;
  user-select: none;
}
.dash-danger-zone summary::-webkit-details-marker { display: none; }
.dash-danger-zone[open] summary,
.dash-danger-zone[open] .dash-danger-summary { opacity: 1; }
.dash-danger-zone summary:hover { opacity: 1; }

.dash-danger-content {
  background: rgba(122,42,26,.05);
  border-top: 1px dashed rgba(122,42,26,.2);
  padding: .85rem .75rem;
}

.dash-danger-warning {
  font-family: var(--font-display);
  font-style: italic;
  font-size: .85rem;
  color: var(--oxblood);
  line-height: 1.5;
  margin-bottom: .7rem;
  text-align: center;
}

.dash-danger-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.dash-danger-link {
  font-size: .78rem;
  color: var(--ink-faded);
  border-color: var(--parchment-shadow);
}

.btn--danger {
  background: var(--oxblood);
  border-color: var(--oxblood);
  color: #fff5e8;
  font-size: .8rem;
  padding: .35rem .75rem;
  box-shadow: 0 2px 0 #3a0d06, 0 3px 10px rgba(122,42,26,.3);
}
.btn--danger:hover {
  background: var(--rust);
  border-color: var(--rust);
  transform: translateY(-1px);
  box-shadow: 0 3px 0 #3a0d06, 0 5px 14px rgba(122,42,26,.4);
  color: #fff;
}
.btn--danger:active { transform: translateY(1px); box-shadow: 0 1px 0 #3a0d06; }

/* ── BIRD CALL RECORD — terenowe nagranie ptaka w pamiętniku ────────── */
.bird-call-record {
  margin-top: 1.5rem;
  padding: .9rem 1.1rem 1rem;
  background: rgba(46,123,170,.07);
  border-left: 3px solid var(--lake);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.bird-call-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .18em;
  color: var(--lake);
  text-transform: uppercase;
  margin-bottom: .2rem;
}
.bird-call-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--ink);
  margin-bottom: .6rem;
}
.bird-call-audio {
  width: 100%;
  max-width: 340px;
  height: 36px;
  display: block;
  accent-color: var(--lake);
}
.bird-call-note {
  margin-top: .5rem;
  font-size: .8rem;
  color: var(--ink-faded);
  font-style: italic;
}
/* Rosiczka path: zielony akcent dla nagrań */
body.path-rosiczka .bird-call-record {
  background: rgba(30,66,58,.07);
  border-left-color: var(--moss);
}
body.path-rosiczka .bird-call-label { color: var(--moss); }
body.path-rosiczka .bird-call-audio { accent-color: var(--moss); }

/* ── SEAL OVERLAY — wax-seal i borecki-seal nakładają się w rogu ──── */
/* Wax-seal (KB) przesuwa się na górę, borecki-seal (PNG) na wierzchu */
.diary { position: relative }
.wax-seal {
  /* Teraz: górny prawy róg pamiętnika — pod PNG Boreckiego */
  top: .3rem;
  right: -18px;
  bottom: auto;   /* reset poprzedniej pozycji */
  z-index: 1;     /* za .borecki-seal (z-index:3) */
  transform: rotate(-18deg);
}
.borecki-seal {
  z-index: 3;   /* PNG na wierzchu */
}
@media (max-width: 600px) {
  .wax-seal { top: .1rem; right: -10px; width: 44px; height: 44px; font-size: .65rem; }
}

/* ── HALL OF FAME — mobile responsive ───────────────────────────────── */
#hof-content { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 640px) {
  .hof-table { min-width: 480px; }
  .hof-table th, .hof-table td { padding: .6rem .55rem; font-size: .82rem; }
  .hof-table th:nth-child(3), .hof-table td:nth-child(3) { display: none; } /* ukryj Rodzinę */
}

/* ── DARK THEME — stacje wieczorne / nocne (timeLock: dusk) ─────────── */
body.time-dusk {
  background: linear-gradient(180deg, #080f0c 0%, #0d1a14 40%, #111f18 100%);
}
body.time-dusk .page {
  background: rgba(12, 22, 17, .97);
  color: rgba(224, 214, 196, .95);
}
body.time-dusk .station-num { color: rgba(120, 180, 150, .7); }
body.time-dusk .station-title { color: rgba(240, 228, 208, 1); }
body.time-dusk .station-sub  { color: rgba(170, 160, 145, .85); }
body.time-dusk .badge { background: rgba(25, 45, 35, .9); color: rgba(170, 220, 190, .9); border-color: rgba(60,120,90,.3); }
body.time-dusk .diary {
  background: rgba(15, 28, 22, .97);
  border-color: rgba(60, 120, 90, .2);
  box-shadow: 0 4px 24px rgba(0,0,0,.5);
}
body.time-dusk .diary-label { color: rgba(140, 180, 155, .75); }
body.time-dusk .diary-content { color: rgba(218, 208, 190, .92); }
body.time-dusk .task {
  background: rgba(18, 32, 25, .95);
  border-color: rgba(60,120,90,.2);
  border-left-color: rgba(70,156,131,.5);
  color: rgba(218, 208, 190, .9);
}
body.time-dusk .task-title { color: rgba(232, 220, 200, 1); }
body.time-dusk .task-body  { color: rgba(200, 190, 172, .9); }
body.time-dusk .input-text {
  background: rgba(22, 38, 30, .9);
  border-color: rgba(70,120,90,.4);
  color: rgba(224, 214, 196, .95);
}
body.time-dusk .next-hint {
  background: rgba(18, 32, 25, .9);
  border-color: rgba(60,120,90,.25);
}
body.time-dusk .next-hint p { color: rgba(200,192,175,.9); }
body.time-dusk .wax-seal {
  box-shadow: 0 0 18px rgba(70,156,131,.3), inset -3px -4px 8px rgba(0,0,0,.6), inset 2px 3px 6px rgba(100,180,140,.2), 0 3px 8px rgba(0,0,0,.5);
}

/* ── DAWN THEME — stacje poranne / świt (timeLock: dawn) ─────────────── */
body.time-dawn {
  background: linear-gradient(180deg,
    #121828 0%,
    #2a1828 18%,
    #8b3010 42%,
    #d4780a 68%,
    #f5c030 88%,
    #fff8e0 100%
  );
}
body.time-dawn .page {
  background: rgba(255, 252, 238, .93);
  backdrop-filter: blur(1px);
}
body.time-dawn .station-num { color: #8b3010; }
body.time-dawn .station-title { color: #5c1a04; }
body.time-dawn .station-sub  { color: #7a3a14; }
body.time-dawn .badge--time {
  background: rgba(212, 120, 10, .18);
  color: #7a3a00;
  border-color: rgba(212,120,10,.4);
}
body.time-dawn .diary {
  background: rgba(255, 250, 232, .97);
  border-color: rgba(180, 90, 20, .2);
  box-shadow: 0 4px 24px rgba(100,40,10,.12);
}
body.time-dawn .task {
  background: rgba(255, 250, 235, .97);
  border-left-color: #d4780a;
}
body.time-dawn .wax-seal {
  box-shadow: 0 0 18px rgba(212,120,10,.35), inset -3px -4px 8px rgba(0,0,0,.4), inset 2px 3px 6px rgba(255,200,140,.4), 0 3px 8px rgba(80,30,10,.3);
}

/* ── SEASON WAITING SCREEN ───────────────────────────────────────────── */
.waiting-screen {
  text-align: center;
  padding: 3rem 1.5rem 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  min-height: 60vh;
  justify-content: center;
}
.waiting-logo { margin-bottom: .5rem; }
.waiting-title {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2rem;
  color: var(--ink);
  line-height: 1.1;
}
.waiting-sub {
  font-size: 1.05rem;
  color: var(--ink-soft);
  font-family: var(--font-display);
  font-style: italic;
}
.waiting-date {
  background: var(--bone);
  border: 1px solid var(--parchment-shadow);
  border-radius: var(--r-md);
  padding: 1rem 2rem;
  font-family: var(--font-mono);
  font-size: .95rem;
  color: var(--ink);
  box-shadow: var(--shadow-paper);
  line-height: 1.6;
}
.waiting-note {
  font-size: .9rem;
  color: var(--ink-faded);
  font-style: italic;
  max-width: 340px;
  line-height: 1.55;
}

 /* =========================================================
       FACEBOOK — sekcja z widgetami
    ========================================================= */
    .fb-pages-wrap {
      display: flex;
      flex-direction: row;          /* obok siebie na desktop */
      gap: 2rem;
      justify-content: center;
      align-items: flex-start;
    }
    .fb-page-block {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.5rem;
    }
    .fb-page-label {
      font-family: var(--font-body);
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--c-moss);
    }
    /* Na smartphone — pod sobą */
    @media (max-width: 780px) {
      .fb-pages-wrap {
        flex-direction: column;
        align-items: center;
      }
    }
 