@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@600;700;800;900&display=swap');
:root{--ink:#163f42;--teal:#0b6574;--sky:#9de4e8;--cream:#fffaf0;--paper:#fffdf7;--grass:#71ae3d;--darkgreen:#376c32;--gold:#f5c247;--coral:#ea694d;--line:#d6e6d8;--shadow:0 18px 48px rgba(26,81,65,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(#f5fbf7,#eaf6e9 55%,#f9f6e9);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.skip-link{position:absolute;top:-100px;left:1rem;background:white;padding:.6rem;z-index:100}.skip-link:focus{top:1rem}.site-header{min-height:245px;position:relative;overflow:hidden;padding:2.8rem max(5vw,1rem);display:flex;align-items:center;gap:2.4rem;background:radial-gradient(circle at 75% 0%,#c2f4ee 0,#7ad6dd 50%,#35a3b4 100%);border-bottom:10px solid #6cae45}.site-header::after{content:"";position:absolute;width:100%;height:54px;left:0;bottom:-20px;background:repeating-linear-gradient(100deg,transparent 0 20px,#72b746 21px 24px,transparent 25px 45px);opacity:.45}.brand{position:relative;z-index:1;flex:none;width:132px;height:132px;border-radius:35px;background:#fff9e9;display:flex;align-items:center;justify-content:center;gap:5px;transform:rotate(-5deg);box-shadow:0 14px 30px rgba(8,88,97,.15);font-family:Nunito,sans-serif;font-weight:900;font-size:24px;line-height:1;color:#166c78}.brand-bone{font-size:38px;color:#e3ad28}.header-copy{position:relative;z-index:1;max-width:650px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.13em;color:var(--darkgreen)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,system-ui,sans-serif}h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.06;margin:.35rem 0;color:#07556a;font-weight:900}h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.14;color:#135f68;margin:.4rem 0}h3{font-size:1.35rem;line-height:1.25}.header-copy p{font-size:1.16rem;margin:0}.header-dog{position:absolute;right:4%;bottom:-150px;width:min(320px,28vw);height:auto;mix-blend-mode:multiply;opacity:.95}.main-nav{display:flex;gap:.5rem;justify-content:center;padding:.85rem 1rem;background:#fdfcf3;box-shadow:0 4px 18px #185e4b11;position:sticky;top:0;z-index:20}.tab{border:0;border-radius:99px;padding:.85rem 1.4rem;background:transparent;color:#366a66;font-weight:800}.tab.active{background:#126b79;color:white;box-shadow:0 5px 12px #0b63753d}.tab:hover:not(.active){background:#e5f2e5}.panel{display:none;max-width:1250px;margin:auto;padding:3.5rem 1.4rem 5rem}.panel.active{display:block}.section-lead{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.section-lead p{max-width:440px;margin:0;color:#537371;line-height:1.55}.guide-layout{display:grid;grid-template-columns:minmax(210px,270px) 1fr;gap:1.5rem}.guide-list{display:flex;flex-direction:column;gap:.5rem}.guide-step{display:flex;align-items:center;gap:1rem;text-align:left;width:100%;background:#ffffffbc;border:1px solid #d7e6d5;border-radius:16px;padding:.85rem 1rem;color:#316967;font-weight:700}.guide-step span{flex:none;display:grid;place-items:center;width:30px;height:30px;background:#e0efdb;border-radius:50%;font-weight:900}.guide-step.active{border-color:#0f7182;background:#e1f5ed;color:#0b5a68;box-shadow:0 6px 20px #226b5f18}.guide-step.active span{background:#0b6f79;color:#fff}.guide-card,.setup-card,.game-status,.side-card,.lab-step,.lab-bottom,.lab-results{background:var(--paper);border:1px solid #dbead9;border-radius:25px;box-shadow:var(--shadow)}.guide-card{padding:2rem 2.2rem;min-height:535px}.guide-top{display:flex;align-items:center;gap:1rem}.step-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--gold);color:#563a13;font-family:Nunito;font-weight:900}.guide-card h3{font-size:2rem;color:#135c64;margin:1.2rem 0 .5rem}.guide-card>p{font-size:1.08rem;line-height:1.65;max-width:780px}.guide-visual{min-height:145px;background:#eaf5e7;border-radius:18px;padding:1rem;margin:1.1rem 0;display:flex;align-items:center;justify-content:center;gap:1rem;overflow:hidden}.guide-visual .mini-card{width:105px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 6px 7px #164f4b24)}.guide-visual .arrow{font-size:2rem;color:#418558}.mini-grid{display:grid;grid-template-columns:repeat(5,24px);gap:3px}.mini-grid i{height:24px;background:#bedfdc;border-radius:4px}.mini-grid i.center{background:var(--gold)}.mnemonic-callout{display:flex;align-items:start;gap:.85rem;background:#fff1c7;border-left:5px solid #e4b63f;padding:1rem 1.2rem;border-radius:13px}.mnemonic-callout>span{font-size:1.6rem}.mnemonic-callout p{margin:.25rem 0 0;line-height:1.5}.guide-controls{display:flex;justify-content:space-between;margin-top:1.5rem}.button{border:0;border-radius:14px;padding:.78rem 1.15rem;font-weight:800;transition:transform .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-2px)}.button.primary{background:#107286;color:white;box-shadow:0 6px 14px #1e7a7c38}.button.secondary{background:#e8f3eb;color:#245f5d}.button.danger{background:#fbe5dc;color:#9a4230}.button.large{padding:1rem 1.5rem}.button.small{font-size:.83rem;padding:.6rem .85rem}.rule-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}.rule-strip>div{text-align:center;border:1px solid #d8e9d4;border-radius:16px;background:#fffdf7;padding:1rem}.rule-strip strong{display:block;font-family:Nunito;font-size:1.7rem;color:#0a7180}.rule-strip span{font-size:.86rem;color:#587772}.setup-card{padding:2rem}.setup-intro{display:flex;justify-content:space-between;gap:2rem}.setup-intro p{max-width:480px;color:#5c7471}.setup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.3rem 0}.setup-grid label,.name-fields label{font-weight:800;color:#296869;font-size:.86rem}.setup-grid select,.name-fields input{display:block;margin-top:.45rem;width:100%;padding:.78rem;border:1px solid #b9d5cf;border-radius:12px;background:white;color:#214d4d;min-height:46px}.name-fields{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.4rem}.name-fields label{flex:1 1 160px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.4rem}.hidden{display:none!important}.game-status{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 1.6rem;margin-bottom:1rem}.game-status h3{font-size:1.65rem;color:#115f6e;margin:.3rem 0}.game-status p{line-height:1.5;margin:0;max-width:700px}.game-status .status-actions{flex:none}.board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(5px,1vw,12px);padding:clamp(10px,2vw,22px);background:linear-gradient(135deg,#a9d877,#75b24e);border:8px solid #5e9b46;border-radius:26px;box-shadow:0 22px 40px #306a3d27}.tile,.center-stack{aspect-ratio:1;min-width:0;width:100%;position:relative;border:0;padding:0;background:transparent;border-radius:14px}.tile img{display:block;width:100%;height:100%;object-fit:cover;border-radius:11px;box-shadow:0 4px 7px #28634d33}.tile:hover:not(:disabled){transform:translateY(-4px);filter:brightness(1.05)}.tile:focus-visible{outline:4px solid #fddd61;outline-offset:2px}.tile.current-last img{outline:4px solid #ffd253;outline-offset:2px}.tile.locked img{filter:grayscale(.35)}.tile .coord{position:absolute;top:3px;left:3px;background:#fffdf4e8;border-radius:5px;padding:1px 4px;font-weight:900;font-size:clamp(.5rem,1.3vw,.73rem);color:#155968}.tile .lock-icon{position:absolute;bottom:5px;right:5px;background:#ffe8d7;border-radius:7px;padding:2px 5px;font-size:.75rem;font-weight:900;color:#8e4e31}.center-stack{display:grid;place-items:center;border:3px dashed #fffbe1;color:white;background:#467e3f}.center-stack strong{font-family:Nunito;font-size:clamp(.7rem,1.8vw,1.2rem)}.center-stack img{width:65%;height:65%;object-fit:contain;mix-blend-mode:multiply}.board-caption{display:flex;flex-wrap:wrap;gap:1rem;color:#617b72;font-size:.8rem;margin:1rem .2rem}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.3rem}.fog-dot{background:#b8d3d2}.revealed-dot{background:#f4c442}.action-panel{margin-top:1rem;background:#fff3d3;border:1px solid #eed393;border-radius:18px;padding:1.2rem 1.35rem;line-height:1.5}.action-panel h3{margin:0 0 .4rem;color:#785823}.action-panel p{margin:0 0 1rem}.action-panel .button{margin-right:.5rem;margin-bottom:.3rem}.side-card{padding:1.2rem 1.3rem;margin-bottom:1rem}.side-card h3{margin:.4rem 0}.side-card p{line-height:1.5;color:#4c6e69}.players{margin-top:.7rem}.player{padding:.65rem .5rem;border-bottom:1px solid #e0eadf;display:flex;justify-content:space-between;align-items:center;gap:.4rem}.player:last-child{border:0}.player.active{background:#e4f7ed;border-radius:10px}.player.eliminated{opacity:.65}.player-name{font-weight:800}.player-meta{font-size:.8rem;color:#667a76}.player .hive{font-size:1.3rem}.memory{background:#e8f6f0}.memory p{margin:.4rem 0 1rem}.technique-quick{display:flex;flex-wrap:wrap;gap:.4rem}.technique-quick button{background:#fff;border:1px solid #a7d6c5;border-radius:99px;padding:.4rem .6rem;font-size:.8rem;color:#2e6961;font-weight:700}.technique-quick button.selected{background:#146d73;color:#fff}.compact p{margin:.5rem 0 0}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.lab-step{padding:1.3rem}.lab-step h3{margin:.3rem 0}.lab-step p{line-height:1.5;color:#5a746f;margin:0}.lab-number{display:block;font-size:1.6rem;color:#56a953;font-family:Nunito;font-weight:900}.technique-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.technique-card{text-align:left;border:2px solid #d6e7d7;border-radius:22px;background:#fffefa;padding:1.5rem;color:var(--ink);box-shadow:0 8px 20px #226c4e12}.technique-card:hover,.technique-card.selected{border-color:#128385;background:#eff9f2}.technique-card span{font-size:2rem}.technique-card h3{margin:.4rem 0}.technique-card p{margin:0;line-height:1.5;color:#5c736e}.lab-bottom{padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.lab-bottom p{margin:0;max-width:660px}.lab-results{padding:1.5rem;margin-top:1.3rem;overflow:auto}.lab-results table{border-collapse:collapse;width:100%;min-width:530px}.lab-results th,.lab-results td{padding:.7rem;border-bottom:1px solid #dce9dc;text-align:left}.lab-results th{background:#e7f5e9}.modal{position:fixed;inset:0;background:#143e46ba;z-index:50;display:grid;place-items:center;padding:1rem}.modal-card{background:#fffefa;max-width:740px;width:100%;border-radius:26px;padding:2rem;box-shadow:0 30px 90px #0b333b88;text-align:center}.modal-card h2{margin:.6rem 0}.modal-card p{line-height:1.5}.preview-cards{display:flex;justify-content:center;gap:.8rem;margin:1.3rem auto}.preview-cards figure{margin:0;max-width:30%}.preview-cards img{width:100%;border-radius:12px;box-shadow:0 8px 18px #15566633}.preview-cards figcaption{font-weight:800;color:#27706a}.small-modal{max-width:390px}.peek-card img{max-width:220px;width:100%;border-radius:13px}footer{padding:2rem 1.4rem;background:#185d63;color:#d5efea;text-align:center;font-size:.85rem}footer p{margin:.2rem auto;max-width:1000px}footer strong{color:white}@media(max-width:920px){.game-layout{grid-template-columns:1fr}.game-side{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.game-side .side-card{margin:0}.game-side .compact{grid-column:1/-1}.setup-grid{grid-template-columns:repeat(2,1fr)}.header-dog{opacity:.3;width:300px;right:-30px}.section-lead{align-items:start;flex-direction:column;gap:.5rem}}@media(max-width:650px){.site-header{min-height:215px;padding:1.4rem;gap:1rem}.brand{width:72px;height:72px;border-radius:18px;font-size:13px}.brand-bone{font-size:22px}.header-copy p{font-size:.9rem}.header-dog{width:190px;bottom:-95px}.main-nav{overflow:auto;justify-content:start}.tab{white-space:nowrap;padding:.7rem .85rem;font-size:.85rem}.panel{padding:2rem .85rem 3rem}.guide-layout{grid-template-columns:1fr}.guide-list{flex-direction:row;overflow:auto;padding-bottom:.3rem}.guide-step{min-width:185px}.guide-card{padding:1.25rem;min-height:0}.guide-card h3{font-size:1.55rem}.rule-strip{grid-template-columns:repeat(2,1fr)}.setup-intro{display:block}.setup-grid{grid-template-columns:1fr 1fr;gap:.7rem}.game-status{padding:1.1rem;display:block}.status-actions{margin-top:.9rem}.board{border-width:5px}.game-side,.lab-grid,.technique-cards{grid-template-columns:1fr}.lab-bottom{display:block}.lab-bottom .button{margin-top:1rem}.preview-cards{gap:.3rem}.modal-card{padding:1.2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Keep the learning card inside the viewport on narrower desktop windows. */
.guide-layout{grid-template-columns:minmax(210px,270px) minmax(0,1fr)}
.guide-card,.game-main,.game-side{min-width:0}
.guide-visual{flex-wrap:wrap}
.guide-visual .mini-card{flex:0 1 105px;min-width:0}
@media(max-width:650px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-list{min-width:0}}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem;align-items:start}.rule-detail{background:#fffdf7;border:1px solid #d8e9d4;border-radius:16px;padding:.95rem 1.1rem;line-height:1.5}.rule-detail summary{font-family:Nunito;font-weight:900;color:#176776;cursor:pointer}.rule-detail p,.rule-detail ul{margin:.8rem 0 0;color:#4c6e69}.rule-detail ul{padding-left:1.2rem}.rule-detail li{margin:.3rem 0}.ability-reference{display:block;width:min(180px,100%);margin:.8rem auto;border-radius:12px}@media(max-width:920px){.details-grid{grid-template-columns:1fr}}

/* Oryginalna okładka gry w ramce nagłówka. */
.brand{width:152px;height:152px;padding:5px;border-radius:17px;background:#fff;transform:rotate(-3deg);box-shadow:0 14px 30px rgba(8,88,97,.22)}
.brand-cover{display:block;width:100%;height:100%;object-fit:fill;border-radius:11px}
@media(max-width:650px){.brand{width:82px;height:82px;padding:3px;border-radius:10px}.brand-cover{border-radius:7px}}

/* Portrety mieszkańców w pierwszym kroku samouczka. */
.guide-visual .character-thumb{display:block;flex:0 1 105px;min-width:0;border-radius:12px;line-height:0;transition:transform .15s,box-shadow .15s}
.guide-visual .character-thumb .mini-card{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:none}
.guide-visual .character-thumb:hover,.guide-visual .character-thumb:focus-visible{transform:translateY(-5px);box-shadow:0 7px 18px #154f4940;outline:3px solid #e5ae2d;outline-offset:3px}

/* Guide steps 3–4: the same positions used by the game engine. */
.guide-visual.guide-map-visual{display:block;overflow:visible;padding:1.2rem}
.guide-map{width:100%;color:#184d4d}
.guide-map-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.guide-map-header>strong{font-family:Nunito,sans-serif;font-size:1.2rem;color:#145d62}
.guide-map-controls{display:flex;flex-wrap:wrap;gap:.3rem;padding:.25rem;background:#dcebdd;border-radius:12px}
.guide-player-button{border:0;border-radius:9px;background:transparent;color:#376b65;padding:.42rem .65rem;font-size:.82rem;font-weight:800;white-space:nowrap}
.guide-player-button.active{background:#126e7b;color:#fff;box-shadow:0 2px 7px #215b5d35}
.guide-player-button:focus-visible{outline:3px solid #e5ae2d;outline-offset:2px}
.guide-map-main{display:grid;grid-template-columns:minmax(300px,480px) minmax(185px,1fr);align-items:start;gap:1.2rem}
.guide-map-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(4px,.6vw,8px);padding:clamp(8px,1.2vw,15px);background:linear-gradient(140deg,#90c66d,#67a54b);border:5px solid #4e9042;border-radius:20px;box-shadow:0 10px 24px #265c3d22}
.guide-map-cell{position:relative;aspect-ratio:1;min-width:0;border-radius:9px;background:#e5f1e0;box-shadow:0 3px 6px #214d3a28}
.guide-map-cell>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.guide-map-coord{position:absolute;top:3px;left:3px;padding:1px 4px;border-radius:5px;background:#fffdf5ed;color:#145c64;font-size:clamp(.58rem,.9vw,.8rem);font-weight:900;line-height:1.2}
.guide-map-marked{outline:4px solid var(--seat-color);outline-offset:-4px}
.guide-map-marked::after{content:"";position:absolute;inset:4px;border-radius:5px;background:var(--seat-color);opacity:.28;pointer-events:none}
.guide-map-bottom{--seat-color:#f3ae2c}.guide-map-left{--seat-color:#8a52b4}.guide-map-top{--seat-color:#ec6f5b}.guide-map-right{--seat-color:#267fbc}
.guide-map-symbol{position:absolute;z-index:1;right:3px;bottom:1px;display:grid;place-items:center;width:clamp(22px,2.7vw,34px);height:clamp(22px,2.7vw,34px);border-radius:50%;background:#fffdf7;color:#174e57;font-size:clamp(1rem,2vw,1.5rem);font-weight:900;line-height:1;box-shadow:0 2px 7px #214d3a40}
.guide-map-first.guide-map-marked::after{background:#9d3030;opacity:.42}
.guide-map-first .guide-map-symbol{background:#a32626;color:white;font-size:clamp(1.3rem,2.5vw,2rem)}
.guide-map-first.guide-map-free{outline:2px solid #ecf9ed;outline-offset:-2px}
.guide-map-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#477f42;color:white;border:2px dashed #f9f2d5;text-align:center}
.guide-map-center>img{width:58%;height:58%;object-fit:contain;filter:drop-shadow(0 2px 3px #183b1b44)}
.guide-map-center>span{font-size:clamp(.56rem,.95vw,.76rem);font-weight:900;letter-spacing:.05em}
.guide-map-details{min-width:0}
.guide-map-explain{margin:0 0 .7rem;padding:.6rem .75rem;border-radius:10px;background:#fffdf5;color:#174f56;font-weight:900}
.guide-map-legend{display:flex;align-items:center;gap:.7rem;padding:.58rem 0;border-bottom:1px solid #cfdfce}
.guide-map-legend-dot{flex:none;width:14px;height:14px;border-radius:50%;background:var(--seat-color);box-shadow:0 0 0 3px #fff}
.guide-map-legend strong,.guide-map-legend small{display:block;line-height:1.35}
.guide-map-legend strong{font-size:.86rem}.guide-map-legend small{color:#3c6c68;font-size:.82rem;font-weight:800;margin-top:.1rem}
.guide-map-note{margin:.9rem 0 0;padding:.75rem .85rem;background:#fff8df;border-left:4px solid #e3af31;border-radius:8px;font-size:.87rem;line-height:1.45}
@media(max-width:900px){.guide-map-header{align-items:start;flex-direction:column;gap:.55rem}.guide-map-main{grid-template-columns:1fr}.guide-map-board{width:min(100%,480px);margin:auto}.guide-map-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}.guide-map-explain,.guide-map-note{grid-column:1/-1}}
@media(max-width:560px){.guide-visual.guide-map-visual{padding:.7rem}.guide-map-header{align-items:start;flex-direction:column;gap:.55rem}.guide-map-main{gap:.85rem}.guide-map-details{display:block}.guide-map-symbol{width:23px;height:23px}.guide-map-coord{font-size:.59rem}.guide-map-center>span{font-size:.5rem}}
.character-invite{margin:-.3rem 0 1.1rem;color:#366f6e;line-height:1.5}
.character-invite a{font-weight:800;color:#116b79;text-underline-offset:3px}
