:root{--ink:#243e3a;--muted:#62706a;--paper:#faf6ed;--green:#275e50;--gold:#a66829;--line:#ddd6c7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Comfortaa,Arial,sans-serif;font-size:0.9375rem;line-height:1.7;background-image:radial-gradient(#a78c6712 1px,transparent 1px);background-size:7px 7px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba702d;outline-offset:4px}header{max-width:1440px;margin:auto;padding:22px 5%;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:2px;font-size:1.25rem}.brand small{display:block;font-size:0.5625rem;letter-spacing:2px;font-weight:400}.seal{font-size:1.875rem;border:1px solid #ac9877;border-radius:50%;width:48px;height:48px;text-align:center}.test{font-size:0.5625rem;letter-spacing:1px;background:#ebe4d4;padding:5px 9px;border-radius:4px;white-space:nowrap}nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}nav button{font-size:0.6875rem;padding:8px 10px;border-radius:7px}nav button:hover,nav button.active{background:#e6ece3}main{max-width:1250px;padding:40px 5% 55px;margin:auto;min-height:70vh}h1,h2,h3{font-family:Literata,Georgia,serif;font-weight:500;line-height:1.2}h1{font-size:clamp(36px,5vw,64px);margin:17px 0 22px;letter-spacing:-1.5px}h2{font-size:2.0rem;margin:10px 0 20px}h3{font-size:1.4375rem;margin:8px 0 14px}p{margin:12px 0}.eyebrow{color:var(--gold);font-size:0.625rem;font-weight:bold;letter-spacing:2px;text-transform:uppercase}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}.hero p{max-width:450px;color:var(--muted)}.hero-art{height:530px;position:relative;border-radius:45% 45% 10px 10px;overflow:hidden;box-shadow:0 20px 45px #40352020;background:url('heroes.jpg') left center/200% 100% no-repeat}.art-label{position:absolute;bottom:22px;left:22px;background:#fff7e9ed;max-width:220px;padding:14px 20px;border-radius:4px;transform:rotate(-3deg);font:20px Literata,Georgia,serif;box-shadow:0 5px 15px #0002}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:9px;padding:13px 20px;font-size:0.75rem;font-weight:700}.primary{background:var(--green);color:white;box-shadow:0 5px 10px #275e501c}.primary:hover{background:#194639;transform:translateY(-2px)}.secondary{border:1px solid #b6c0ad;background:#fff9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.chips{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px;font-size:0.625rem;color:var(--muted)}.note{padding:14px 18px;border-radius:9px;background:#ece9de;font-size:0.6875rem;color:#58675e;margin-top:26px}.intro{text-align:center;max-width:650px;margin:0 auto 30px}.map-wrap{position:relative;background:#e5eeea;border:1px solid #c3d5cd;border-radius:24px;overflow:hidden;min-height:430px}.map-wrap svg{display:block;width:100%;height:430px}.map-node{position:absolute;transform:translate(-50%,-50%);padding:10px 15px;border-radius:12px;background:#fffaf0;box-shadow:0 6px 20px #334c3920;font-size:0.75rem;font-weight:bold;border:1px solid #bcad8a}.map-node.available{background:#275e50;color:white;animation:beacon 3s infinite}.map-node small{display:block;font-size:0.5625rem;font-weight:400}.map-node.coast{left:77%;top:28%}.map-node.mountain{left:43%;top:73%}.map-node.forest{left:74%;top:78%}.map-caption{position:absolute;left:25px;top:20px;font:20px Literata,serif;max-width:190px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.card{background:#fffcf7;border:1px solid var(--line);padding:23px;border-radius:15px}.card p{font-size:0.75rem;color:var(--muted)}.icon{font-size:1.875rem}.scene-header{display:flex;align-items:center;gap:18px;margin-bottom:22px}.scene-header .progress{flex:1;height:4px;background:#dedbcf;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:#477665;transition:width .4s}.scene-header span{font-size:0.6875rem}.scene{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--line);background:#fffcf6;border-radius:20px;overflow:hidden;min-height:450px}.scene-visual{min-height:440px;position:relative;background:#d1e5df;overflow:hidden}.character{position:absolute;inset:0;background:url('heroes.jpg') left center/200% 100% no-repeat;animation:arrive .8s both}.character.dragon{background-position:right center}.speech-mark{position:absolute;left:18px;top:20px;color:#fff;background:#285d50e6;border-radius:30px;padding:7px 15px;font-size:0.625rem;z-index:2}.scene-copy{padding:35px;align-self:center}.scene-copy h2{font-size:2.0625rem}.scene-copy p{font-size:0.8125rem;line-height:1.9}.scene-copy .actions{margin-top:18px}.choice{display:block;width:100%;text-align:left;border:1px solid #d1d7c7;padding:12px 15px;margin:10px 0;background:#f4f5eb;border-radius:9px;font-size:0.75rem}.choice:hover{border-color:#39715e;background:#e7eee1}.feedback{padding:12px;border-radius:8px;background:#e5ecdd;font-size:0.75rem;margin:12px 0;animation:arrive .3s}.hint{font-size:0.6875rem;color:var(--green);text-decoration:underline;margin:12px 0}.sea{position:absolute;bottom:0;left:-10%;width:120%;height:46%;background:repeating-radial-gradient(ellipse at 50% 100%,#387e83 0 12px,#6aabab 13px 23px,#99c5bc 24px 27px);animation:wave 5s ease-in-out infinite}.sky{position:absolute;inset:0;background:linear-gradient(#d5e6dd,#f7ddb0 60%)}.sun{position:absolute;right:15%;top:15%;width:70px;height:70px;background:#fbeac0;border-radius:50%;box-shadow:0 0 50px #ffecac}.cliff{position:absolute;bottom:20%;left:0;width:70%;height:30%;background:#b17454;clip-path:polygon(0 0,70% 6%,100% 40%,75% 100%,0 100%);border-top:7px solid #758360}.lighthouse{position:absolute;left:22%;bottom:46%;width:42px;height:115px;background:repeating-linear-gradient(#f7efd5 0 21px,#ad6450 22px 40px);clip-path:polygon(15% 20%,0 20%,0 10%,20% 0,80% 0,100% 10%,100% 20%,85% 20%,100% 100%,0 100%)}.beam{position:absolute;left:25%;top:20%;width:70%;height:90px;background:#fff5ba80;clip-path:polygon(0 50%,100% 0,100% 100%);transform-origin:left;animation:beam 5s ease-in-out infinite}.boat{position:absolute;bottom:15%;right:16%;font-size:3.125rem;animation:wave 3s ease-in-out infinite}.hotspot{position:absolute;width:48px;height:48px;border-radius:50%;background:#fff8;border:2px dashed #806741;z-index:3;font-size:1.6875rem;animation:beacon 2.5s infinite}.hotspot.found{animation:collect .6s both;pointer-events:none}.hotspot.compass{left:37%;bottom:35%}.hotspot.shell{right:13%;bottom:8%}.hotspot.leaf{left:10%;bottom:44%}.reward{font-size:4.5rem;animation:reward 1s both}.book-page{padding:28px;background:#f4e8ce;border:1px solid #c8ae7e;box-shadow:inset 12px 0 15px #917d4c10;transform:rotate(-2deg);border-radius:3px;animation:page 1s both}.book-page p{font-size:0.75rem}.book-page small{font-size:0.625rem;color:#776144}.empty{text-align:center;padding:40px;background:#f0ede4;border:1px dashed #c4baa5;border-radius:15px}.stat{font:36px Literata,serif;color:var(--green)}.stage{height:210px;border-radius:15px;position:relative;background:#e3e9df;overflow:hidden;display:grid;place-items:center}.stage .hero-mini{height:170px;width:125px;background:url('heroes.jpg') right center/200% 100%;border-radius:50% 50% 12px 12px}.animate-arrive{animation:arrive 1s both}.animate-nod{animation:nod .8s both}.animate-find{animation:collect .9s both}.animate-page{animation:page 1s both}.animate-reward{animation:reward 1s both}.spark{position:fixed;pointer-events:none;z-index:100;font-size:1.375rem;animation:spark 1.3s forwards}.lab-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.lab-buttons button{background:#edece2;border-radius:8px;padding:8px 12px;font-size:0.6875rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:0.75rem;display:block}input,textarea,select{font:inherit;width:100%;padding:12px;border-radius:8px;border:1px solid #bfc8b7;background:#fffcf6;margin:6px 0 12px;color:var(--ink)}textarea{min-height:80px;resize:vertical}.demo-badge{font-size:0.625rem;background:#f1dfbc;padding:5px 9px;border-radius:4px}.draft{padding:20px;background:#f1eee3;margin-top:20px;border-radius:10px;font-size:0.75rem}.draft ol{padding-left:20px}footer{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:18px 5%;border-top:1px solid var(--line);font-size:0.625rem;color:var(--muted)}footer button{text-decoration:underline;font-size:0.625rem}dialog{border:1px solid #cbbfa6;border-radius:18px;max-width:600px;width:90%;padding:35px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#173b3280;backdrop-filter:blur(4px)}.close{position:absolute;right:13px;top:8px;font-size:1.5625rem}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#264d42;color:white;padding:12px 20px;border-radius:10px;font-size:0.75rem;z-index:110;opacity:0;pointer-events:none;transition:opacity .3s;max-width:90%;text-align:center}#toast.show{opacity:1}.fade-in{animation:arrive .45s both}.reduced *,.reduced *::before,.reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{50%{transform:translate(14px,-5px)}}@keyframes beam{50%{transform:rotate(13deg);opacity:.3}}@keyframes beacon{50%{box-shadow:0 0 0 8px #bc98621a}}@keyframes collect{to{transform:translate(80px,-120px) scale(.1);opacity:0}}@keyframes reward{0%{transform:scale(.1) rotate(-40deg);opacity:0}65%{transform:scale(1.15) rotate(8deg)}100%{transform:scale(1);opacity:1}}@keyframes page{from{transform:perspective(600px) rotateY(-85deg);opacity:0}to{transform:perspective(600px) rotateY(0);opacity:1}}@keyframes nod{25%,75%{transform:rotate(5deg) translateY(5px)}50%{transform:rotate(-3deg)}}@keyframes spark{to{transform:translate(var(--x),var(--y)) rotate(120deg);opacity:0}}@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) *{animation:none!important;transition:none!important}}@media(max-width:800px){header{flex-wrap:wrap;gap:12px;padding:15px 5%}nav{margin:0;width:100%}nav button{padding:7px}.brand{font-size:1.0rem}.test{margin-left:auto;font-size:0.5rem}.hero{gap:25px;grid-template-columns:1fr}.hero-art{height:370px;order:-1;max-width:450px;width:100%;margin:auto}main{padding-top:25px}h1{font-size:2.5rem}.grid{grid-template-columns:1fr}.scene{grid-template-columns:1fr}.scene-visual{min-height:320px}.scene-copy{padding:23px}.scene-copy h2{font-size:1.75rem}.character{background-size:200% auto;background-position:left 30%}.character.dragon{background-position:right 30%}.map-caption{font-size:0.9375rem;max-width:120px}.map-node{padding:8px;font-size:0.625rem}.map-node.coast{left:78%;top:30%}.map-node.mountain{left:36%;top:68%}.map-node.forest{left:74%;top:79%}.map-wrap svg{height:350px}.map-wrap{min-height:350px}.form-grid{grid-template-columns:1fr}.scene-header{gap:8px}.scene-header .secondary{padding:8px;font-size:0.625rem}.scene-header span{font-size:0.5625rem}.primary,.secondary{padding:12px 14px}.hero p{font-size:0.8125rem}}

button:disabled{cursor:default;opacity:.55;transform:none!important}button:disabled:hover{background:var(--green)}
/* 0.2 — приключения и игри */
.mission-section{margin-top:55px}.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:28px}.mission-card{overflow:hidden;padding:24px}.mini-landscape{height:150px;position:relative;overflow:hidden;margin:-24px -24px 20px;background:#cfe0d8}.mini-landscape .lighthouse{height:70px}.mini-landscape .boat{font-size:1.875rem}.earned{display:block;font-size:0.6875rem;color:#416c4d;margin-top:10px}.peak{position:absolute;width:110%;height:80%;clip-path:polygon(0 100%,0 65%,16% 20%,30% 48%,48% 0,68% 51%,82% 16%,100% 67%,100% 100%);bottom:0;left:-5%;background:#9cae9a}.peak.near{background:#5b806b;height:57%;transform:scaleX(-1)}.peak.far{background:#99b6ae;bottom:18%}.pine{position:absolute;color:#2e5a45;font-size:6.25rem;bottom:1%;line-height:1;z-index:1}.p1{left:3%;font-size:9.375rem}.p2{right:2%}.p3{right:16%;font-size:4.0625rem}.trail{position:absolute;bottom:-5%;left:25%;width:40%;height:35%;background:#c5b28d;clip-path:polygon(50% 0,65% 0,100% 100%,0 100%)}.mist{position:absolute;width:150%;height:50px;background:#eef2dc66;bottom:30%;filter:blur(12px);animation:mist 9s ease-in-out infinite}.companion{position:absolute;bottom:12px;left:18px;width:145px;height:190px;background:url('heroes.jpg') left center/200% 100%;border-radius:70px 70px 10px 10px;border:4px solid #f5e9cf;box-shadow:0 8px 25px #263a3650;z-index:2;animation:arrive .6s both}.companion.dragon{background-position:right center;left:auto;right:18px}.landscape-label{position:absolute;bottom:15px;right:18px;font:italic 20px Literata,Georgia,serif;color:#fffdf1;text-shadow:0 2px 6px #254237;z-index:1}.dragon~.landscape-label{right:auto;left:18px}.scene-visual .speech-mark{z-index:4}.scene-visual .hotspot{width:51px;height:51px;background:#fff8;border:1px solid #f9edc4}.scene-visual .hotspot.compass{left:40%;bottom:34%}.scene-visual .hotspot.shell{right:12%;bottom:8%}.scene-visual .hotspot.leaf{left:9%;bottom:51%}.pocket{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 5px;font-size:0.6875rem}.pocket span{opacity:.4;background:#e4e5d9;padding:6px 10px;border-radius:20px}.pocket span.collected{opacity:1;background:#dfead8}.fact-label{padding:12px;border-left:3px solid #a9854d;font-size:0.6875rem;background:#f2ecdb}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.memory-card{min-height:76px;border:1px solid #b8c6ad;background:repeating-linear-gradient(45deg,#e3e9db 0 7px,#ecf0e6 7px 14px);border-radius:10px;font-size:1.4375rem;color:#416552;transition:transform .25s,background .25s;overflow-wrap:anywhere;padding:8px}.memory-card.flipped{transform:rotate(-2deg);background:#fff2d4;font-size:0.9375rem}.memory-card.matched{background:#dcebd1;border-color:#90ac7a;transform:none;opacity:1;cursor:default}.memory-card:disabled:hover{background:#dcebd1}.compass-game{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;text-align:center;border:1px solid #d2d6c4;border-radius:50%;padding:18px 10px;max-width:330px;margin:18px auto}.compass-game .north,.compass-game .south{grid-column:1/-1;font-size:0.625rem}.compass-game button{background:#e5ecdd;border-radius:8px;padding:12px 6px;font-size:0.6875rem}.compass-center{font-size:2.125rem}.rhythm-pad{display:flex;gap:12px;margin-top:18px}.rhythm-pad button{flex:1;border:2px solid #b9c4b1;border-radius:16px;font-size:2.1875rem;min-height:82px;background:#edf0e2;transition:background .15s,transform .15s}.rhythm-pad button.lit{background:#f3ce76;border-color:#987130;transform:scale(1.08);box-shadow:0 0 20px #f4d48180}.rhythm-pad button:disabled{opacity:1}.rhythm-pad button:disabled:hover{background:#edf0e2}.rhythm-pad button.lit:disabled{background:#f3ce76}.stats-list{font-size:0.75rem}.stats-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e5dfd0}.stats-list dd{margin:0;font-weight:700}.status-tag{font-size:0.75rem;background:#e4ecdc;padding:7px 10px;border-radius:8px}.draft-editor{min-height:270px;font-size:0.75rem;line-height:1.8}.choice.selected{background:#dfead6;border-color:#718c62}.try-again{animation:nudge .4s}.hint{margin-right:12px}.scene-copy{padding:28px}.scene-copy h2{font-size:1.875rem}.book-page{transform:none}.book-page textarea{font-family:Comfortaa,Arial,sans-serif;font-size:0.75rem;min-height:110px}.book-page .eyebrow{font-size:0.5625rem}button:disabled{cursor:default;opacity:.55;transform:none!important}.scene-copy .primary:disabled{font-size:0.6875rem}.map-node.mountain{width:auto;height:auto;clip-path:none;bottom:auto;background:var(--green);transform:translate(-50%,-50%)}.map-node.forest{bottom:auto}.primary,.secondary{transition:transform .2s,background .2s}#rhythm-status{min-height:28px;font-size:0.6875rem}.stage .book-page{max-width:80%;padding:15px}.stage .book-page h3{font-size:1.25rem}@keyframes mist{50%{transform:translateX(-20%)}}@keyframes nudge{25%,75%{transform:translateX(4px)}50%{transform:translateX(-4px)}}@media(max-width:800px){.mission-grid{grid-template-columns:1fr}.hero-art{height:320px}.scene-visual{min-height:285px}.companion{width:105px;height:142px}.scene-copy{padding:22px}.memory-card{min-height:67px}.scene-header{flex-wrap:wrap}.scene-header .progress{min-width:60px}.pocket{gap:6px}.scene-header>span:first-of-type{max-width:145px}.map-node.mountain{left:38%;top:70%}.book-page{padding:22px}.hero h1{font-size:2.4375rem}.rhythm-pad{gap:8px}.rhythm-pad button{font-size:1.75rem;min-height:70px}.map-caption{left:13px;top:13px}.map-caption small{display:block}}@media print{header,footer,button,.note{display:none!important}body{background:#fff}.mission-grid{display:block}.book-page{break-inside:avoid;box-shadow:none;margin-bottom:30px}}
h1,h2,h3{overflow-wrap:anywhere}.card,.scene-copy,.book-page{min-width:0}.stats-list dt{min-width:0}.stats-list dd{flex-shrink:0}

/* 0.3 — Странджа, лична книга и преносим напредък. */
.landscape{position:absolute;inset:0;overflow:hidden;isolation:isolate}
.scene-visual .hotspot.spot-0{left:40%;bottom:34%}
.scene-visual .hotspot.spot-1{right:12%;bottom:8%}
.scene-visual .hotspot.spot-2{left:9%;bottom:51%}
.landscape-forest .sky{background:linear-gradient(#cedfba,#efdfab 75%)}
.landscape-forest .sun{width:100px;height:100px;right:28%;top:9%;opacity:.7}
.forest-hill{position:absolute;inset:35% -15% -10%;background:#71976c;border-radius:50% 50% 0 0;transform:rotate(-8deg)}
.forest-tree{position:absolute;top:0;bottom:0;width:10%;background:linear-gradient(90deg,#5f7051,#839064 60%,#4b624b);border-radius:50% 50% 0 0;transform:rotate(4deg)}
.forest-tree::before{content:'';position:absolute;top:28%;left:-60%;width:180%;height:9%;background:#657850;border-radius:70%;transform:rotate(-35deg)}
.forest-tree.t1{left:8%;width:12%;transform:rotate(-5deg)}
.forest-tree.t2{right:22%;width:7%;background:#6c805c}
.forest-tree.t3{right:-1%;width:11%;transform:rotate(8deg)}
.forest-canopy{position:absolute;top:-18%;left:-10%;width:120%;height:55%;background:radial-gradient(ellipse at 10% 30%,#52764b 0 20%,transparent 21%),radial-gradient(ellipse at 88% 20%,#355c44 0 28%,transparent 29%),radial-gradient(ellipse at 50% 0,#829757 0 40%,transparent 41%)}
.forest-path{position:absolute;bottom:-5%;left:21%;width:60%;height:48%;background:linear-gradient(#b9bc87,#e0cba0);clip-path:polygon(50% 0,61% 0,45% 45%,100% 100%,0 100%,26% 40%)}
.forest-shrub{position:absolute;bottom:9%;right:-4%;width:44%;height:30%;border-radius:70% 60% 0 0;background:radial-gradient(ellipse at 30% 65%,#2c624c 0 24%,transparent 25%),radial-gradient(ellipse at 60% 50%,#517854 0 40%,transparent 41%);color:#e5a1bd;font-size:2.5rem}
.forest-shrub span{position:absolute;left:38%;top:18%}.forest-shrub span:nth-child(2){left:18%;top:39%;font-size:1.875rem}.forest-shrub span:nth-child(3){left:61%;top:51%;font-size:1.5625rem}
.forest-light{position:absolute;inset:0;background:linear-gradient(115deg,transparent 22%,#fff8cc30 23%,#fff8cc0a 40%,transparent 41%,transparent 50%,#fff7b915 51%,transparent 66%);pointer-events:none;animation:forest-light 8s ease-in-out infinite}
.landscape-forest .hotspot.spot-0{left:28%;bottom:43%}
.landscape-forest .hotspot.spot-1{right:13%;bottom:24%}
.landscape-forest .hotspot.spot-2{left:46%;bottom:5%}
.care-item{border-top:1px solid var(--line);padding:7px 0 14px}.care-item p{font-size:0.8125rem}.care-actions{display:flex;gap:8px;flex-wrap:wrap}.care-actions button{font-size:0.6875rem;padding:10px 12px;min-height:44px}
.backup-tools{margin-top:30px}.backup-tools h2{font-size:1.5625rem}.save-note{font-size:0.6875rem;color:var(--muted)}.save-warning{color:#7e3d22;font-weight:700;background:#fff0d7;padding:4px 10px;border-radius:5px}
.print-reflection{display:none;white-space:pre-wrap;overflow-wrap:anywhere}.source-links a{display:block;color:#275e50;margin:8px 0;text-underline-offset:3px}
.book-page textarea{line-height:1.8}.book-page h2{font-size:1.6875rem}.mission-card h3{font-size:1.5625rem}.map-node.forest.available{background:#385f3d}
.hero-art{background-size:215% auto;background-position:left 64%}
.mission-card{display:flex;flex-direction:column}.mission-card>.primary{align-self:flex-start;margin-top:auto}
[hidden]{display:none!important}
@keyframes forest-light{50%{opacity:.35;transform:translateX(3%)}}
@media(min-width:1050px){.mission-section .mission-grid,.map-wrap+.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.map-node small{font-size:0.5rem}.map-node{padding:8px 6px}.map-node.mountain{left:30%;top:67%}.map-node.forest{left:75%;top:84%}.brand{font-size:0.875rem;letter-spacing:1px}.test{font-size:0.4375rem}.care-actions{gap:6px}}
@media print{
 @page{margin:18mm}
 main{padding:0;max-width:none}h1{font-size:1.875rem}h2{font-size:1.5rem}
 .backup-tools,.save-note,.book-page textarea,.book-page .actions,#toast,dialog,.spark{display:none!important}
 .book-pages{display:block}.book-page{background:white;border:0;border-top:1px solid #999;padding:20px 0;break-inside:avoid;break-after:page;animation:none;margin-bottom:0}
 .book-page:last-child{break-after:auto}
 .book-page .print-reflection{display:block;font:14px/1.7 Georgia,serif;margin-top:12px}
 .book-page h2,.book-page h3,.book-page label{break-after:avoid}.book-page p{font-size:0.8125rem}
}

.scene-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.scene-illustration.fit-contain{object-fit:contain;background:#dce6d5}.scene-visual .landscape .hotspot{z-index:5}.scene-visual .landscape{isolation:auto}.scene-visual .companion{z-index:3}.scene-visual .landscape-label{z-index:3}.knowledge-tag{display:inline-block;font-size:0.625rem;border-radius:14px;padding:4px 10px;background:#e4ecda;color:#315342}.knowledge-tag.fiction{background:#eee3cf;color:#775a31}.preview-banner{padding:14px 5%;background:#fff0c9;border-bottom:1px solid #b6985b;font-size:0.8125rem}.preview-banner a{color:#294f43;margin-left:16px}.scene-visual .speech-mark{z-index:6}.primary{text-decoration:none}.branch-note{font-size:0.6875rem;color:#6b715e}.scene-copy p{white-space:pre-line}@media print{.preview-banner{display:none!important}}

/* 0.5 — цялата картина остава видима, за да съвпадат предметите с местата им. */
.scene-visual:has(.picture-plane){display:flex;align-items:center;min-height:0;background:#d8e4df}
.picture-plane{position:relative;width:100%;flex:none;isolation:isolate}
.picture-plane.builtin-art{aspect-ratio:3/2;background:var(--kaliakra-art) center/100% 100% no-repeat}
.scene-picture{display:block;width:100%;height:auto}
.picture-hotspot{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;border:2px solid transparent;border-radius:45%;z-index:3;padding:0;background:transparent;box-shadow:none;touch-action:manipulation}
.picture-hotspot:hover{background:#fff2;border-color:#fff9}
.picture-hotspot:focus-visible,.reveal-spots .picture-hotspot:not(.found){outline:3px dashed #fff9dc;outline-offset:2px;box-shadow:0 0 0 5px #365a44b3;background:#fff1}
.picture-hotspot.found,.picture-hotspot.found:disabled,.picture-hotspot.found:disabled:hover{opacity:1;background:#fdf9d444;border-color:#fffcdf;cursor:default}
.picture-hotspot span{display:grid;place-items:center;font:700 28px Arial,sans-serif;color:#fff;background:transparent;text-shadow:0 2px 4px #183f35}
.picture-hotspot.found span{width:34px;height:34px;margin:auto;border-radius:50%;background:#275e50}
.scene-visual:has(.picture-plane) .landscape-label{font-size:0.9375rem;background:#234b41bd;padding:2px 9px;border-radius:12px;bottom:9px;right:10px}
.scene-visual:has(.picture-plane) .speech-mark{top:9px;left:10px;padding:4px 11px}
.task-goal{display:grid;gap:5px;padding:13px 15px;margin:0 0 23px;border:1px solid #d1dfcb;border-radius:12px;background:#edf2e6}
.task-goal>span{font-size:0.625rem;letter-spacing:.07em;text-transform:uppercase;color:#54705f}
.task-goal strong{font-size:0.8125rem;line-height:1.7}
.task-goal .hint{justify-self:start;margin:3px 0 0;padding:4px 0;min-height:32px;font-size:0.75rem}
.scene-copy>p{font-size:0.9375rem;line-height:1.85}
.scene-copy .choice{font-size:0.875rem;min-height:48px}
.task-feedback{display:none}
.task-feedback.visible{display:block;margin:14px 0;padding:12px 15px;border-radius:9px;background:#f7ecd4;color:#65451f;font-size:0.8125rem}
.keepsake{padding:17px;border:1px solid #c6a86e;border-radius:10px;background:#fff6df;margin:20px 0}
.keepsake strong{font-size:0.8125rem;color:#6d4f25}
.keepsake p{margin-bottom:0}
.mini-landscape.sea-preview{background:var(--kaliakra-art) center 40%/cover no-repeat}
.mini-landscape.sea-preview>.landscape{visibility:hidden}
@media(max-width:800px){.scene-visual:has(.picture-plane){min-height:0}.scene-copy>p{font-size:0.9375rem}.picture-hotspot span{font-size:1.5rem}.scene-visual:has(.picture-plane) .landscape-label{font-size:0.75rem}.task-goal{margin-bottom:20px}}
@media print{.keepsake{break-inside:avoid;background:#fff!important}}

.picture-plane .scene-picture.scene-illustration{position:relative;inset:auto;height:auto;object-fit:contain;z-index:0}

/* 0.6 — нови места и карта с шест приключения. */
.picture-plane.world-art{aspect-ratio:3/2;background:#d7d8b7}.world-art>svg{display:block;width:100%;height:auto}.landscape-world>svg{width:100%;height:100%;display:block}.mini-landscape .picture-plane{height:100%;aspect-ratio:auto;background-size:cover;background-position:center}.mini-landscape .world-art>svg{height:100%;width:100%}.expanded-map{min-height:0}.expanded-map>svg{height:380px}.map-point{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;padding:0;min-width:55px;min-height:52px;z-index:2}.map-point span{display:grid;place-items:center;width:37px;height:37px;background:#285e50;color:#fff5d7;border:2px solid #fff8dc;border-radius:50%;font-size:1.3125rem;box-shadow:0 4px 10px #315b4230}.map-point small{padding:1px 6px;background:#fff8e6;border-radius:6px;border:1px solid #d5c69f;font-size:0.625rem;font-weight:700;white-space:nowrap}.map-point:hover span,.map-point:focus-visible span{background:#a56b31}.expanded-map .map-caption{font-size:1.0625rem;max-width:135px}.expanded-map .map-caption small{display:block;font:10px Arial,sans-serif}@media(max-width:800px){.expanded-map>svg{height:310px}.map-point small{font-size:0.5625rem}.map-point span{width:33px;height:33px;font-size:1.125rem}.expanded-map .map-caption{font-size:0.875rem;top:10px;left:12px}}

/* 0.7 — картината кани първа; задачите остават ясни и близо до нея. */
.vpt-art,.picture-plane.storybook-art{width:100%;aspect-ratio:3/2;background-image:var(--scene-art);background-size:100% 100%;background-position:center;background-repeat:no-repeat}
.picture-hero{position:relative;min-height:540px;border-radius:25px;overflow:hidden;isolation:isolate;box-shadow:0 14px 40px #3c543521;margin-bottom:40px}.hero-landscape{position:absolute;inset:0;z-index:-2}.hero-landscape .picture-plane{height:100%;aspect-ratio:auto;background-size:cover;background-position:center 44%}.picture-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#143e3cd9 0%,#143e3c80 35%,transparent 75%);z-index:-1}.hero-caption{padding:68px 48px;color:#fff8e8;max-width:650px}.hero-caption>span{font-size:0.8125rem;letter-spacing:.04em}.hero-caption h1{font-size:3.6875rem;line-height:1.1;margin:18px 0;color:#fff8e8;text-shadow:0 2px 15px #163d3860}.hero-caption p{font-size:1.0625rem;line-height:1.8;margin:0 0 25px}.hero-caption .primary{background:#fff0c7;color:#284d43;border:1px solid #fff7d7;font-weight:700;padding:15px 22px}.picture-missions{margin-top:45px}.picture-missions>h2{font-size:2.125rem;margin-top:8px}.mission-card{border-radius:18px;box-shadow:0 6px 24px #4b614414}.mission-picture{display:block;overflow:hidden;width:calc(100% + 48px);height:245px;margin:-24px -24px 21px;padding:0;background:#d8e4d8;border:0}.mission-picture .picture-plane{height:100%;aspect-ratio:auto;background-size:cover;background-position:center 48%}.mission-picture .vpt-art{height:100%;aspect-ratio:auto;background-size:cover}.mission-picture:hover .picture-plane{filter:saturate(1.08)}.mission-card h3{font-size:1.625rem;line-height:1.3;margin:8px 0 12px}.mission-card>p{font-size:0.875rem;line-height:1.7}.mission-card>.eyebrow{font-size:0.6875rem}.scene{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.scene-visual:has(.picture-plane){align-items:flex-start;align-self:start}.scene-copy{align-self:start;padding:27px}.scene-copy>p{font-size:1.0rem;line-height:1.85}.scene-copy h2{font-size:1.8125rem;line-height:1.3}.scene-copy .choice{font-size:0.9375rem;line-height:1.6;min-height:50px;padding:13px 15px;border-radius:12px}.task-goal{padding:10px 13px;margin-bottom:17px}.task-goal>span{display:none}.task-goal strong{font-size:0.8125rem}.scene-copy>.eyebrow{display:none}.care-item p{font-size:0.9375rem}.care-actions button{font-size:0.8125rem;min-height:45px}.knowledge-tag{font-size:0.6875rem}.scene-header{margin-bottom:16px}.picture-hotspot.found span{font-size:1.5rem}.landscape-world .vpt-art{height:100%;aspect-ratio:auto;background-size:cover}.book-page .keepsake p{font-size:0.8125rem}
@media(max-width:800px){.picture-hero{min-height:455px;border-radius:19px;margin-bottom:28px}.hero-caption{padding:125px 24px 28px;max-width:100%}.hero-caption h1{font-size:2.625rem;margin:13px 0}.hero-caption>span{font-size:0.6875rem}.hero-caption p{font-size:0.875rem;line-height:1.7}.picture-hero:after{background:linear-gradient(0deg,#163d3ae6,#163d3a65 65%,transparent)}.hero-landscape .picture-plane{background-position:55% center}.mission-picture{height:230px}.picture-missions>h2{font-size:1.75rem}.mission-card h3{font-size:1.5625rem}.scene{grid-template-columns:1fr}.scene-copy{padding:22px}.scene-copy h2{font-size:1.75rem}.scene-copy>p{font-size:1.0rem}.scene-copy .choice{font-size:0.9375rem}.scene-visual:has(.picture-plane){width:100%;min-height:0}.care-actions{gap:8px}.care-actions button{font-size:0.75rem;padding:11px 9px}.picture-missions{margin-top:30px}}

/* 0.7.1: low-vision support and stable keyboard focus. */
.scene-copy h1{font-size:1.875rem;line-height:1.2;margin:0 0 1rem}
.vpt-support .picture-hotspot{outline:3px solid #fff7dc;outline-offset:2px;box-shadow:0 0 0 6px #153d46;background:#fff2}
.vpt-find-list{display:grid;gap:.65rem;margin:1rem 0}.vpt-find-list button{white-space:normal;text-align:left;min-height:48px;font-size:1rem}
.rhythm-pad button small{display:block;font:700 .9rem/1.5 Arial,sans-serif}
.vpt-support .memory-card{min-height:6rem;font-size:1.1rem}.vpt-support .scene-copy{line-height:1.8}
#pattern-text{padding:1rem;background:#fff5d9;border:1px solid #877047;border-radius:12px;font-size:1.1rem;line-height:1.8}
#modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}#modal:has(.vpt-large-picture){width:70rem}
.vpt-large-picture{width:100%;overflow:auto}.vpt-large-picture .picture-plane{min-width:0}.vpt-large-picture+p{white-space:pre-line}
.vpt-game header,.vpt-game nav,.vpt-game footer{flex-wrap:wrap}.vpt-game button{min-height:44px}.vpt-game nav{gap:.5rem}
.vpt-game .scene-copy,.vpt-game .scene-visual{min-width:0}.vpt-game .scene-copy p{font-size:1rem;line-height:1.7}
.vpt-game .eyebrow{color:#516043}.vpt-game .pocket span{opacity:1}.vpt-game .pocket span:not(.collected){background:#eee9db;color:#46533f}.vpt-game .pocket span.collected{border:2px solid #456a40}
@media(max-width:600px){.vpt-game main{padding:1rem}.vpt-game header{padding:1rem}.vpt-game .scene{display:block}.vpt-game .scene-header>span:first-of-type{max-width:none}.vpt-game .memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vpt-game .compass-game{border-radius:18px;grid-template-columns:1fr 2.5rem 1fr}.vpt-game .picture-hero .hero-caption{position:relative;inset:auto}.vpt-game .picture-hero{height:auto;min-height:0}.vpt-game .hero-landscape{position:relative;aspect-ratio:3/2}.vpt-game .hero-caption h1{font-size:2.4rem}}

/* Public adventure: quiet navigation and no footer. */
.vpt-game .vpt-site-link{font:inherit;font-size:.8rem;color:var(--green);padding:.6rem .75rem;text-decoration:none;border-radius:8px;display:inline-flex;align-items:center;min-height:44px}
.vpt-game .vpt-site-link:hover{background:#e6eadc}
.vpt-game .vpt-save-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.vpt-parent-settings{margin-top:24px}.vpt-game main{padding-bottom:6rem}
