.quest-board { min-width:0; padding:35px clamp(23px,3vw,48px) 30px; background:linear-gradient(155deg,#fff9eb,#ede1ca 92%); color:#284739; }
.quest-board * { box-sizing:border-box; min-width:0; }
.quest-top { display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid #d1c1a3; padding-bottom:14px; color:#a4704e; font-size:10px; font-weight:800; letter-spacing:.16em; }
.quest-top b { color:#315b46; font-size:14px; }
.quest-board h3 { font:normal clamp(35px,3vw,50px)/1.06 'Playfair Display',Georgia,serif; letter-spacing:-.045em; margin:22px 0 11px; }
.quest-board h3 em { color:#a96543; }
.quest-intro { font-size:13px; line-height:1.7; color:#5f715f; margin-bottom:20px; }
.specimen-card { display:grid; grid-template-columns:104px minmax(0,1fr); gap:19px; align-items:center; padding:14px; background:#304e40; border-radius:5px 20px 5px 20px; box-shadow:0 12px 24px #273f2c36; color:#f8efd9; }
.specimen-stone { display:grid; place-items:center; width:94px; height:94px; margin:auto; clip-path:polygon(12% 13%,67% 0,100% 28%,86% 87%,49% 100%,0 74%); background:linear-gradient(135deg,#a59072,#665b4b 61%,#bd9c70); box-shadow:inset 10px 5px 23px #231d1a33; color:#f4dbb4; font:normal 30px Georgia,serif; }
.specimen-stone[data-ore=hematite] { background:linear-gradient(130deg,#b86f55,#6b3f3c 62%,#d78d6b); }
.specimen-stone[data-ore=limonite] { background:linear-gradient(125deg,#d3ae69,#856847 60%,#b48a50); }
.specimen-card small { display:block; color:#ddb987; font-size:8px; font-weight:800; letter-spacing:.14em; }
.specimen-card strong { display:block; font:normal 25px/1.18 'Playfair Display',Georgia,serif; margin:6px 0; }
.specimen-card p { color:#d8e0cc; font-size:11px; line-height:1.5; margin:0; }
.specimen-card span { display:inline-block; margin-top:7px; color:#f6d49a; font-size:13px; font-weight:800; }
.quest-phases { grid-template-columns:repeat(5,minmax(0,1fr)); margin:27px 0 22px; }
.quest-phases span { font-size:9px; line-height:1.35; }
.quest-step[hidden],.quest-actions button[hidden] { display:none; }
.quest-step h4 { font:normal 29px/1.12 'Playfair Display',Georgia,serif; margin:0 0 7px; }
.quest-step>p { color:#627463; font-size:12px; line-height:1.6; margin:0 0 16px; }
.quest-choices { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.quest-choices button { width:100%; min-width:0; min-height:55px; border:1px solid #c7b797; border-radius:4px 13px 4px 13px; background:#fff9e9; color:#315a45; padding:11px 12px; font-size:12px; font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
.quest-choices button:hover:not(:disabled) { border-color:#b07953; background:#f1e4cd; }
.quest-choices button[aria-pressed=true] { border-color:#346d51; background:#346d51; color:#fff5dc; }
.quest-choices button[aria-pressed=true] small { color:#d5e5cd; }
.quest-choices button:disabled { cursor:default; }
.quest-ore button { display:grid; grid-template-columns:29px minmax(0,1fr); grid-template-rows:auto auto; gap:2px 8px; align-content:center; text-align:left; min-height:74px; }
.quest-ore i { grid-column:1; grid-row:1/3; align-self:center; }
.quest-ore b { grid-column:2; grid-row:1; font-size:12px; }
.quest-ore small { grid-column:2; grid-row:2; color:#887b64; font-size:9px; font-weight:600; }
.air-top { display:flex; justify-content:space-between; gap:12px; margin:0 0 12px; color:#a46f4d; font-size:10px; font-weight:800; letter-spacing:.12em; }
.air-top strong { color:#315a45; }
.air-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
.air-choices button span { display:block; color:#8b806b; font-size:10px; font-weight:600; margin-top:3px; }
.air-choices button[aria-pressed=true] span { color:#e2e9cd; }
.air-gauges { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:19px 0 8px; padding:15px; background:#e4ddc9; border-radius:4px 14px 4px 14px; }
.air-gauges>div { display:grid; gap:6px; }
.air-gauges span { color:#746c55; font-size:9px; font-weight:800; letter-spacing:.11em; }
.air-gauges b { color:#355f4b; font-size:10px; }
.gauge { height:8px; border-radius:30px; background:#c7beaa; overflow:hidden; }
.gauge i { display:block; height:100%; width:45%; border-radius:30px; background:linear-gradient(90deg,#d09b55,#e26c3c); transition:width .45s; }
#fuelGauge { background:linear-gradient(90deg,#73926d,#315f4d); }
.air-model-note { margin:0; font-size:10px!important; color:#857866!important; }
.quest-feedback { min-height:86px; margin-top:23px; }
.quest-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.quest-actions button { min-height:44px; padding:11px 14px; border:0; border-radius:4px 13px 4px 13px; font-size:11px; font-weight:800; }
#questContinue { flex:1 1 165px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:#ad6740; color:#fff8e5; }
#questContinue[hidden] { display:none; }
#resetForge { background:#dcd9c5; color:#315a45; }
#nextSpecimen { background:#35634d; color:#fff5de; }
.quest-journal { margin:27px 0 0; padding:18px 20px 18px 35px; border-top:1px solid #cbbc9e; background:#e8e2ce; color:#596c5b; font-size:11px; line-height:1.6; }
.quest-journal:before { content:'ZÁPIS Z POKUSU'; display:block; margin-left:-19px; margin-bottom:9px; color:#9b714e; font-size:9px; letter-spacing:.14em; font-weight:800; }
.quest-journal li { margin:5px 0; }
.result-learning { padding:13px 17px; border-left:3px solid #4c805c; background:#fff3d7; color:#365745; font-size:12px; line-height:1.6; margin-bottom:17px; }
.furnace-panel[data-state=cold] .charge { opacity:.14; }
.furnace-panel[data-state=loaded] .charge { opacity:1; }
.furnace-panel[data-state=loaded] .furnace-fire { opacity:.08; }
.furnace-panel[data-breath=low][data-state=burning] .furnace-fire { opacity:.32; }
.furnace-panel[data-breath=high][data-state=burning] .furnace-fire { opacity:1; filter:drop-shadow(0 0 16px #ffa055); }
.furnace-panel[data-breath=steady][data-state=burning] .furnace-fire { opacity:.85; }
.furnace-panel[data-state=burning] .air-arrows { animation:airPulse 1.4s ease-in-out infinite alternate; }
.furnace-panel[data-paused=true] .air-arrows { animation-play-state:paused; }
@keyframes airPulse { to { opacity:.4; transform:translateX(12px); } }
@media(max-width:1050px) { .quest-board { padding:31px max(24px,6vw); } }
@media(max-width:650px) {
  .quest-board { padding:26px 18px; }
  .specimen-card { grid-template-columns:75px minmax(0,1fr); gap:11px; padding:11px; }
  .specimen-stone { width:70px; height:70px; font-size:22px; }
  .specimen-card strong { font-size:21px; }
  .quest-phases { gap:3px; }
  .quest-phases span { font-size:8px; }
  .quest-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .air-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .air-choices button { padding:8px 4px; font-size:10px; }
  .air-choices button span { font-size:9px; }
}
@media(max-width:380px) { .air-choices { grid-template-columns:1fr; } .air-gauges { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .gauge i,.furnace-panel[data-state=burning] .air-arrows { transition:none!important; animation:none!important; } }

/* Skutočné povrchy rúd a zbierka úspešných pokusov. */
.specimen-card { grid-template-columns:118px minmax(0,1fr); }
.specimen-image { position:relative; width:112px; height:112px; margin:0; overflow:hidden; border:2px solid #e2c597; border-radius:3px 17px 3px 17px; background:#d7ccb1; }
.specimen-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.specimen-image[data-ore=limonite] img { transform:scale(1.5); }
.specimen-image[data-ore=hematite] img { object-position:center 60%; }
.specimen-image figcaption { position:absolute; bottom:0; left:0; right:0; padding:7px 3px 5px; background:linear-gradient(transparent,#1e2e27df); color:#fff0d3; font-size:7px; letter-spacing:.08em; text-align:center; font-weight:800; }
.quest-ore button { grid-template-columns:58px minmax(0,1fr); min-height:82px; padding:7px; column-gap:9px; }
.quest-ore .ore-photo { display:block; grid-column:1; grid-row:1/3; width:58px; height:64px; align-self:center; object-fit:cover; object-position:center; border-radius:2px 9px 2px 9px; border:1px solid #b49d78; box-shadow:0 3px 8px #30392930; }
.quest-ore [data-ore=limonite] .ore-photo { object-fit:cover; object-position:50% 49%; }
.quest-ore [data-ore=quartz] .ore-photo { object-position:50% 50%; }
.quest-ore button[aria-pressed=true] .ore-photo { border-color:#fff3d8; }
.specimen-disclaimer { margin:11px 0 0!important; font-size:10px!important; color:#73806b!important; }
.mobile-forge-window { display:none; }
.ore-notebook { margin-top:28px; border:1px solid #d4bd8d; border-radius:5px 23px 5px 23px; overflow:hidden; background:#f4e8cd; color:#294c3c; box-shadow:0 18px 42px #0a1d1a42; }
.ore-notebook summary { list-style:none; cursor:pointer; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:22px clamp(18px,3vw,40px); background:linear-gradient(110deg,#d6af73,#f0d9a4); }
.ore-notebook summary::-webkit-details-marker { display:none; }
.ore-notebook summary>span { font-size:11px; letter-spacing:.15em; font-weight:800; }
.ore-notebook summary b { display:inline-block; border-radius:50px; padding:6px 9px; margin-left:7px; background:#315847; color:#fff4dc; letter-spacing:0; }
.ore-notebook summary strong { font:normal 27px 'Playfair Display',Georgia,serif; }
.ore-notebook summary i { display:inline-block; font-style:normal; transition:transform .25s; }
.ore-notebook[open] summary i { transform:rotate(180deg); }
.ore-notebook-content { padding:clamp(18px,3vw,40px); }
.ore-notebook-content>p { margin:0 0 19px; max-width:660px; color:#597060; font-size:13px; line-height:1.7; }
.ore-notebook-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.ore-entry { border:1px solid #cabb98; background:#fffaec; border-radius:4px 18px 4px 18px; overflow:hidden; }
.ore-entry img { display:block; width:100%; height:130px; object-fit:cover; }
.ore-entry[data-ore=limonite] img { object-position:center 48%; }
.ore-entry-body { padding:14px 16px 18px; }
.ore-entry small { color:#a06c46; font-size:9px; font-weight:800; letter-spacing:.12em; }
.ore-entry h4 { font:normal 27px/1.1 'Playfair Display',Georgia,serif; margin:8px 0; }
.ore-entry p { color:#526958; font-size:11px; line-height:1.55; margin:7px 0 0; }
.ore-entry.locked { background:#dedbc9; }
.ore-entry.locked img { filter:grayscale(1) brightness(.58); }
.ore-entry.locked h4 { color:#6f7668; }
.notebook-clear { margin-top:19px; padding:8px 0; border:0; background:transparent; color:#815d45; text-decoration:underline; text-underline-offset:4px; font-size:11px; cursor:pointer; }
@media(max-width:650px) {
  .forge,.forge-workspace { overflow:visible; }
  .forge-workspace { border-radius:6px 25px 6px 25px; }
  .quest-board { border-radius:0 0 6px 25px; }
  .mobile-forge-window { display:grid; position:sticky; top:env(safe-area-inset-top,0px); z-index:8; grid-template-columns:105px minmax(0,1fr); gap:10px; min-height:116px; align-items:center; margin:12px -18px 19px; padding:9px 16px; background:linear-gradient(115deg,#172c2b,#3e554a); border-top:2px solid #d0a875; border-bottom:2px solid #d0a875; box-shadow:0 8px 20px #182b2866; color:#f7e9c8; }
  .mobile-forge-art { width:105px; height:108px; }
  .mobile-forge-art svg { width:100%; height:100%; filter:drop-shadow(0 4px 8px #081815); }
  .mobile-forge-readout small { color:#e6bb80; font-size:7px; font-weight:800; letter-spacing:.11em; }
  .mobile-forge-readout strong { display:block; font:normal 16px/1.18 'Playfair Display',Georgia,serif; margin:4px 0 7px; }
  .mobile-forge-gauge { display:grid; grid-template-columns:32px 1fr 45px; gap:5px; align-items:center; margin-top:4px; }
  .mobile-forge-gauge span { font-size:7px; font-weight:800; color:#deccad; }
  .mobile-forge-gauge i { display:block; height:5px; border-radius:20px; background:#c5b89855; overflow:hidden; }
  .mobile-forge-gauge b { display:block; width:0; height:100%; background:#e38e51; transition:width .4s; }
  .mobile-forge-gauge:nth-of-type(2) b { background:#8bb48a; }
  .mobile-forge-gauge em { font-size:8px; font-style:normal; white-space:nowrap; }
  .mobile-forge-window .charge { opacity:.16; }
  .mobile-forge-window[data-state=loaded] .charge,.mobile-forge-window[data-state=burning] .charge,.mobile-forge-window[data-state=success] .charge { opacity:1; }
  .mobile-forge-window[data-state=burning] .furnace-fire { opacity:.8; }
  .mobile-forge-window[data-state=burning][data-breath=low] .furnace-fire { opacity:.25; }
  .mobile-forge-window[data-state=burning][data-breath=high] .furnace-fire { opacity:1; filter:drop-shadow(0 0 17px #ffad5b); }
  .mobile-forge-window[data-state=burning] .air-arrows { opacity:1; animation:airPulse 1.4s ease-in-out infinite alternate; }
  .mobile-forge-window[data-state=success] .bloom,.mobile-forge-window[data-state=success] .slag,.mobile-forge-window[data-state=partial] .slag { opacity:1; }
  .mobile-forge-window[data-state=success] .furnace-fire { opacity:.4; }
  .mobile-forge-window[data-state=partial] .furnace-fire { opacity:.3; }
  .specimen-card { grid-template-columns:88px minmax(0,1fr); }
  .specimen-image { width:84px; height:89px; }
  .specimen-image figcaption { font-size:6px; }
  .quest-ore button { grid-template-columns:42px minmax(0,1fr); column-gap:6px; min-height:72px; padding:6px; }
  .quest-ore .ore-photo { width:42px; height:56px; }
  .ore-notebook-grid { grid-template-columns:1fr; }
  .ore-entry { display:grid; grid-template-columns:108px minmax(0,1fr); }
  .ore-entry img { height:100%; min-height:135px; }
  .ore-notebook summary strong { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { .mobile-forge-window .air-arrows { animation:none!important; } }
@media(max-width:650px) {
  .mobile-forge-window { transition:background .4s; }
  .mobile-forge-window[data-state=burning] { background:radial-gradient(circle at 25% 70%,#81583d,#293d35 52%,#172c2b); }
  .mobile-forge-window[data-state=burning][data-breath=high] { background:radial-gradient(circle at 25% 70%,#ba6637,#403e31 53%,#172c2b); }
  .mobile-forge-window[data-state=burning] .charge { opacity:.5; }
  .mobile-forge-window[data-state=burning] .furnace-fire { opacity:1; filter:drop-shadow(0 0 19px #ffa256); }
  .mobile-forge-window[data-state=burning][data-breath=low] .furnace-fire { opacity:.25; filter:none; }
}
@media(max-width:650px) {
  .mobile-live-fire { opacity:0; transition:opacity .35s; }
  .mobile-forge-window[data-state=burning] .mobile-live-fire { opacity:1; filter:drop-shadow(0 0 15px #ff8a44); }
  .mobile-forge-window[data-state=burning][data-breath=low] .mobile-live-fire { opacity:.23; filter:none; }
  .mobile-forge-window[data-state=burning][data-breath=high] .mobile-live-fire { filter:drop-shadow(0 0 25px #ffbe63); }
}
