@font-face{font-family:Lilita;src:url('./fonts/LilitaOne-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Comic;src:url('./fonts/ComicNeue-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#293249;--paper:#fff5dc;--yellow:#ffdb64;--orange:#ef704f;--blue:#b4e2ee;--mint:#b9e3c0;font-family:Comic,'Comic Sans MS',sans-serif;color:var(--ink);background:#fff2cf;font-weight:700;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#a8854420 .8px,transparent .8px);background-size:8px 8px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:4px dashed #ee704b;outline-offset:6px}.hidden{display:none!important}
.site-header{max-width:1400px;margin:auto;padding:24px 36px 23px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:10px;transform:rotate(-2deg)}.brand-mark{display:block;width:66px;height:66px}.brand-mark svg{width:100%;height:100%}.brand-title{font-family:Lilita,sans-serif;font-size:23px;line-height:.96;letter-spacing:.1px}.brand-title strong{font:inherit;font-size:31px;display:inline-block;margin-top:3px}.role-ribbon{font-size:18px;background:var(--orange);color:#fff9e4;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:5px 15px;transform:rotate(3deg);border-radius:3px;margin-left:3px}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:11px}
.lang-switch{display:inline-flex;border:2.5px solid var(--ink);box-shadow:2px 3px 0 var(--ink);border-radius:11px;overflow:hidden;background:var(--paper)}
.lang-switch button{font:15px Lilita,sans-serif;letter-spacing:.08em;background:transparent;border:0;color:var(--ink);padding:8px 11px;min-height:43px}
.lang-switch button[aria-pressed="true"]{background:var(--mint)}.icon-button,.nav-button{background:var(--paper);border:2.5px solid var(--ink);box-shadow:2px 3px 0 var(--ink);border-radius:11px;height:43px;transition:transform .1s,box-shadow .1s}.icon-button{width:44px;display:grid;place-items:center;font:28px Lilita}.icon-button svg{width:23px;height:23px}.nav-button{display:flex;align-items:center;gap:9px;padding:0 15px;font-size:17px}.nav-button svg{width:22px;height:22px}.sound-button[aria-pressed=true]{background:var(--mint)}button:hover{filter:brightness(1.025)}.icon-button:hover,.nav-button:hover{transform:translateY(-2px);box-shadow:2px 5px 0 var(--ink)}.icon-button:active,.nav-button:active{transform:translate(2px,3px);box-shadow:none}
main{max-width:1400px;margin:auto;padding:0 36px 12px}.game-frame{position:relative;aspect-ratio:1440/760;border:4px solid var(--ink);border-radius:20px 24px 19px 22px;overflow:hidden;background:var(--blue);box-shadow:7px 8px 0 var(--ink);isolation:isolate}.game-frame.is-playing{height:clamp(360px,calc(100svh - 285px),650px);aspect-ratio:auto}canvas#game{display:block;width:100%;height:100%;touch-action:none;outline:0}.scene-tag{position:absolute;left:35px;top:28px;transform:rotate(-3deg);background:#fff8e6;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font:15px Comic;padding:6px 14px;border-radius:4px}.cover{position:absolute;top:19%;left:5%;width:42%;pointer-events:none}.cover>*{pointer-events:auto}.cover-label{font-size:19px;margin:0 0 8px;transform:rotate(-2deg)}.cover h1{font:clamp(44px,5.4vw,78px)/.96 Lilita,sans-serif;letter-spacing:-1px;margin:0 0 22px;color:var(--ink);transform:rotate(-2deg)}.cover h1 em{font-style:normal;color:var(--orange);-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;text-shadow:2px 3px 0 var(--ink)}.cover-description{font-size:20px;line-height:1.45;margin:0 0 25px;max-width:360px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:19px;background:var(--yellow);border:3px solid var(--ink);border-radius:11px 9px 14px 10px;box-shadow:4px 5px 0 var(--ink);padding:16px 23px;font:22px/1 Lilita,sans-serif;letter-spacing:.3px;transform:rotate(-1deg);transition:transform .12s,box-shadow .12s}.primary-button>span{font:28px/1 Arial,sans-serif;font-weight:bold}.primary-button:hover{transform:translateY(-3px) rotate(-2deg);box-shadow:5px 8px 0 var(--ink)}.primary-button:active{transform:translate(3px,4px);box-shadow:1px 1px 0 var(--ink)}.cover-hint{font-size:12px;margin:17px 0 0;transform:rotate(-1deg)}
.cover-lang{margin:16px 0 0}.text-button{display:block;border:0;background:transparent;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;margin-top:22px;font-size:16px;padding:3px}.cover-reset{font-size:14px!important;margin-top:15px!important;color:var(--ink)!important}
.library{position:relative;z-index:8;min-height:560px;padding:32px 38px 24px;background:linear-gradient(180deg,#fff8e3f2,#f3ddabe8);display:flex;flex-direction:column}
body.in-library canvas#game{position:absolute;inset:0;height:100%}
.library h1{font:clamp(34px,4.8vw,62px)/.95 Lilita,sans-serif;margin:0 0 10px;transform:rotate(-2deg);letter-spacing:-.5px}
.library #libraryLead{font-size:18px;line-height:1.4;max-width:520px;margin:0 0 8px}
.tale-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:16px;margin-top:16px}
.tale-card{text-align:left;background:var(--paper);border:3px solid var(--ink);border-radius:14px 10px 16px 12px;box-shadow:4px 5px 0 var(--ink);padding:15px 15px 13px;transform:rotate(-1.4deg);min-height:176px;display:flex;flex-direction:column;gap:0}
.tale-card:nth-child(even){transform:rotate(1.6deg)}
.tale-card:nth-child(3){transform:rotate(-.6deg)}
.tale-card:hover{filter:brightness(1.03)}
.tale-card:focus-visible{outline:4px dashed #ee704b;outline-offset:4px}
.tale-card.is-soon{opacity:.7;box-shadow:2px 2px 0 var(--ink);cursor:default}
.tale-card.is-soon:hover{filter:none}
.tale-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.tale-index{display:inline-grid;place-items:center;width:26px;height:26px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);font:13px Lilita;margin-bottom:8px}
.tale-portrait{width:78px;height:78px;margin:-4px -2px 0 0;border:3px solid var(--ink);border-radius:50% 46% 52% 48%;background:radial-gradient(circle at 50% 38%,#fffaf0 0,#ffe9b3 62%,#f3d48f 100%);box-shadow:3px 3px 0 var(--ink);transform:rotate(4deg);transition:transform .25s}
.tale-card:nth-child(even) .tale-portrait{transform:rotate(-3deg)}
.tale-card:hover .tale-portrait,.tale-card:focus-visible .tale-portrait{transform:rotate(0) scale(1.08)}
.tale-card.is-soon .tale-portrait{filter:grayscale(.6);opacity:.8}
.tale-card.is-soon .tale-index{background:#e6dcc0}
.tale-card b{font:21px/1.1 Lilita,sans-serif}
.tale-role{display:block;font-size:12px;margin-top:6px;color:#7a5138}
.tale-card p{font-size:14px;line-height:1.35;margin:8px 0 0;flex:1}
.tale-cta{margin-top:12px;align-self:flex-start;font:13px Lilita;letter-spacing:.3px;background:var(--yellow);border:2px solid var(--ink);border-radius:7px;padding:5px 10px;box-shadow:2px 2px 0 var(--ink)}
.tale-card.is-soon .tale-cta{background:#efe6c8;box-shadow:none}
body.in-library #sceneTag,body.in-library #locationLabel,body.in-library .adventure-strip,body.in-library .keyboard-legend,body.in-library #storyButton,body.in-library #helpButton{display:none!important}
body.tale-red .breath-track i{background:#ef704f}
body.in-library .game-frame,body.in-library .game-frame:not(.is-playing){height:auto;min-height:0;aspect-ratio:auto}
.ending-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto;flex-shrink:0}
.ending-actions .primary-button{margin-left:0}
.ending-actions .text-button{margin-top:8px}.location-label{position:absolute;right:35px;bottom:19px;font:14px Comic;color:var(--ink);background:#fff5dccc;padding:3px 9px;border-radius:4px;transform:rotate(-1deg)}
@media(max-width:600px){.cover-label,.cover-description{text-shadow:0 1px 0 #fff6d9,0 0 14px #fff6d9}.cover-hint{background:#fff6d9ee;border:2px solid var(--ink);padding:6px 10px;border-radius:8px;display:inline-block}.library{padding:22px 18px 18px}.library h1{font-size:36px}.library #libraryLead{font-size:15px}.tale-list{grid-template-columns:1fr 1fr;gap:12px}.tale-card{min-height:150px;padding:12px}.tale-card b{font-size:16px}.tale-portrait{width:60px;height:60px}.library{min-height:0}.ending-actions{width:100%;align-items:flex-start;margin:8px 0 0 68px}.ending-actions .primary-button{margin:0}}
.hud{position:absolute;top:20px;left:22px;display:flex;align-items:center;background:var(--paper);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);border-radius:12px 9px 13px 8px;gap:10px;padding:7px 13px 7px 7px;transform:rotate(-1deg);pointer-events:none}.portrait{width:47px;height:47px;border:2px solid var(--ink);background:var(--blue);border-radius:9px;overflow:hidden;flex-shrink:0}.portrait canvas{height:100%;width:100%;display:block}.hud-name{display:block;font:19px Lilita;letter-spacing:.4px}.hud-role{display:block;font-size:11px;margin-top:3px;min-width:101px}.resource{margin-left:9px;padding-left:13px;border-left:2px solid #29324930;min-width:130px}.breath-label{display:flex;align-items:center;gap:6px;font-size:10px}.breath-label b{font:13px Lilita;letter-spacing:.3px}.breath-label #resourceCount{margin-left:auto;min-width:30px;text-align:right}.breath-label svg{height:21px;width:21px;display:block}.breath-track{height:12px;border:2px solid var(--ink);border-radius:5px;background:#e9e2c7;overflow:hidden;margin-top:3px}.breath-track i{height:100%;width:100%;display:block;background:#89ca8b;border-right:2px solid var(--ink);transition:width .12s linear}.hud.is-charging .breath-track i{background:#ffce52}.scene-button{position:absolute;right:22px;top:21px;width:46px;height:46px;border:3px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);background:var(--paper);font:26px Lilita}.fullscreen-button{position:absolute;right:16px;bottom:17px;width:29px;height:28px;display:grid;place-items:center;background:var(--paper);border:2px solid var(--ink);border-radius:6px;box-shadow:2px 2px 0 var(--ink)}.fullscreen-button svg{width:17px;height:17px}.toast{position:absolute;top:100px;left:50%;transform:translate(-50%,-6px) rotate(-1deg);padding:10px 20px;max-width:80%;background:var(--paper);border:2.5px solid var(--ink);border-radius:12px 11px 14px 5px;box-shadow:3px 3px 0 var(--ink);font-size:15px;text-align:center;opacity:0;transition:opacity .16s,transform .16s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0) rotate(-1deg)}.interaction{display:flex;align-items:center;justify-content:center;gap:10px;margin:15px auto 0;min-height:34px;font-size:14px;pointer-events:none}.game-frame.is-playing+.interaction.hidden{display:flex!important;visibility:hidden}.interaction+.dialogue{margin-top:12px}.action-key{display:grid;place-items:center;font:24px Lilita;flex-shrink:0;width:37px;height:38px;background:var(--yellow);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:7px}.action-key b{font-weight:400}.action-key svg{width:24px;height:24px;display:none}.interaction>div{display:flex;align-items:center;gap:12px;min-width:0}.interaction .build-track{width:80px;flex-shrink:0;margin:0}.interaction .action-key{width:29px;height:29px;font-size:19px;border-width:1.5px;box-shadow:1px 2px 0 var(--ink)}.interaction .action-key svg{width:21px;height:21px}.build-track{height:9px;background:#e9e2c7;border:1.5px solid var(--ink);border-radius:4px;margin-top:6px;overflow:hidden}.build-track i{display:block;width:0;height:100%;background:var(--orange)}
.dialogue{position:relative;margin:20px 0 0;padding:17px 22px;display:flex;gap:18px;background:#fffaf0;border:3px solid var(--ink);border-radius:10px 17px 13px 16px;box-shadow:3px 4px 0 #d1b88a;pointer-events:none;min-height:121px}.dialogue:before{content:'';position:absolute;top:-12px;left:49px;width:18px;height:18px;background:#fffaf0;border-left:3px solid var(--ink);border-top:3px solid var(--ink);transform:rotate(45deg)}.narrator-doodle{width:58px;min-width:58px;align-self:center;transform:rotate(-5deg)}.narrator-doodle svg{width:100%;display:block}.dialogue-copy{flex:1}.eyebrow{font:11px Lilita;letter-spacing:.8px;margin:0 0 6px;color:#b35e43}.dialogue h2{font:23px/1.1 Lilita;margin:0 0 7px;letter-spacing:.2px}.dialogue p:last-of-type{font-size:16px;line-height:1.45;margin:0}#storyRemaining{visibility:hidden}.story-track{height:3px;margin-top:11px;background:#ece3c8;border-radius:2px;max-width:130px;overflow:hidden}.story-track>i{display:block;height:100%;width:0;background:#dda850}.ending{display:flex;align-items:center;gap:23px;border:3px solid var(--ink);border-radius:14px;background:#fff8e4;margin:21px 0 0;padding:24px;box-shadow:4px 4px 0 #d1b88a}.ending-star{display:grid;place-items:center;width:106px;height:106px;flex-shrink:0;background:var(--yellow);clip-path:polygon(50% 0,62% 19%,86% 9%,84% 34%,100% 49%,81% 64%,90% 89%,63% 82%,50% 100%,37% 82%,10% 89%,19% 64%,0 49%,17% 34%,14% 9%,38% 19%);font:32px Lilita;transform:rotate(-9deg)}.ending h2{font:32px Lilita;margin:0 0 8px}.ending p:not(.eyebrow){font-size:16px;line-height:1.5;margin:0}.ending-stats{display:block;font-size:11px;margin-top:12px}.ending .primary-button{font-size:18px;flex-shrink:0;margin-left:auto}
.adventure-strip{display:flex;align-items:center;gap:30px;padding:30px 1px 20px}.chapter-summary{flex:1;max-width:330px}.chapter-overline{display:inline-block;font:12px Lilita;letter-spacing:.5px;background:var(--yellow);border:1.5px solid var(--ink);padding:4px 8px;transform:rotate(-2deg);border-radius:3px}.chapter-summary strong{display:block;font-size:16px;line-height:1.4;margin-top:10px;font-weight:700}.chapter-path{list-style:none;display:flex;padding:0;margin:0 0 0 auto;gap:12px}.chapter-path li{position:relative;width:84px;height:95px;display:flex;align-items:center;flex-direction:column;background:#fffae9;border:2px solid #aca58c;border-radius:7px 9px 5px 8px;color:#8a897d;transform:rotate(2deg);opacity:.76}.chapter-path li:nth-child(even){transform:rotate(-2deg)}.chapter-drawing{width:67px;height:55px;opacity:.75;filter:saturate(.65);margin-top:3px}.chapter-path li>span{position:absolute;top:-9px;left:-6px;width:23px;height:23px;display:grid;place-items:center;font:13px Lilita;border:2px solid #aca58c;border-radius:50%;background:#fff9e7}.chapter-path b{font:12px Lilita;letter-spacing:.3px;margin-top:6px}.chapter-path li.current{background:#ffe28a;border-color:var(--ink);box-shadow:3px 4px 0 var(--ink);color:var(--ink);transform:rotate(-3deg) translateY(-2px);opacity:1}.chapter-path li.current>span{background:var(--orange);color:white;border-color:var(--ink)}.chapter-path li.current .chapter-drawing,.chapter-path li.complete .chapter-drawing{filter:none;opacity:1}.chapter-path li.complete{background:#d5eac3;color:var(--ink);border-color:var(--ink);opacity:1}.chapter-path li.complete>span{background:#8bc993;border-color:var(--ink)}footer{display:flex;justify-content:space-between;align-items:center;border-top:2px dashed #c9b890;padding:15px 0;color:#766c53}footer>p{font-size:13px;margin:0}.keyboard-legend{display:flex;align-items:center;gap:23px;font-size:11px}.keyboard-legend>span{display:flex;align-items:center;gap:5px}kbd{font:13px Comic;display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:24px;padding:0 6px;background:#fff9e6;border:1.8px solid #847d64;border-radius:4px;box-shadow:1px 2px 0 #b1a78a;color:var(--ink)}
.pause-panel{position:absolute;inset:0;background:#f7dfacb8;display:grid;place-items:center;z-index:10;padding:25px}.pause-sheet{position:relative;transform:rotate(-2deg);text-align:center;border:4px solid var(--ink);border-radius:20px 12px 18px 9px;background:var(--paper);box-shadow:8px 8px 0 var(--ink);padding:43px 35px 30px}.pause-sheet h2{font:42px Lilita;margin:10px 0}.pause-sheet>p:not(.eyebrow){font-size:18px}.pause-sheet .primary-button{margin-top:12px}.pause-sheet .text-button{margin:24px auto 0}.pause-doodle{position:absolute;right:10px;top:-25px;font:40px Lilita;color:#ee704f;transform:rotate(12deg);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.book-modal{position:relative;max-width:590px;width:calc(100% - 40px);max-height:90svh;padding:37px;border:4px solid var(--ink);border-radius:20px 12px 15px 24px;background:var(--paper);box-shadow:8px 9px 0 var(--ink);color:var(--ink)}.book-modal::backdrop{background:#2932497a}.book-modal h2{font:40px/1.05 Lilita;margin:10px 0 23px;color:var(--ink)}.book-modal>p:not(.eyebrow){font-size:18px;line-height:1.55;margin:14px 0}.book-modal .book-note{font-size:15px!important;background:#f5e3aa;border:2px dashed #bca375;padding:13px;margin:21px 0;border-radius:8px}.book-modal .primary-button{font-size:18px}.modal-close{position:absolute;right:12px;top:10px;height:34px;width:34px;display:grid;place-items:center;background:#f4b6a2;border:2px solid var(--ink);border-radius:8px;font:29px/1 Comic}.help-row{padding:12px 0;border-bottom:2px dashed #d8c9a1}.help-row>span{font-size:13px}.help-row>p{font-size:16px;line-height:1.45;margin:10px 0 0}.help-row b{font-family:Lilita;font-weight:400}
.mobile-controls{position:absolute;bottom:17px;left:17px;right:17px;display:none;justify-content:space-between;pointer-events:none;z-index:5}.mobile-controls>div{display:flex;gap:11px;align-items:flex-end}.mobile-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;width:57px;height:52px;border:3px solid var(--ink);box-shadow:2px 4px 0 var(--ink);border-radius:12px 8px 13px 8px;background:#fff6dc;font:31px/1 Lilita;display:flex;align-items:center;justify-content:center;flex-direction:column}.mobile-controls button:active{transform:translate(2px,3px);box-shadow:0 1px 0 var(--ink);background:#ffe6a0}.mobile-controls .action-touch{background:#ffda69;width:62px;height:59px}.mobile-controls .jump-touch{background:#acdfe8;width:58px;height:59px}.mobile-controls button svg{width:30px;height:28px;margin:1px 0 2px}.mobile-controls small{font:9px Lilita;letter-spacing:.4px}.play-session:fullscreen{display:flex;flex-direction:column;gap:12px;height:100vh;padding:14px;background:var(--paper);overflow:auto}.play-session:fullscreen .game-frame{flex:1;min-height:240px;width:100%;height:auto;aspect-ratio:auto;box-shadow:none}.play-session:fullscreen .interaction{flex:none;margin:0}.play-session:fullscreen .dialogue,.play-session:fullscreen .ending{flex:none;margin:0}.play-session:fullscreen .ending h2{font-size:25px}
@media(min-width:1550px){.site-header{padding-top:30px;padding-bottom:28px}.cover h1{font-size:83px}.cover-description{font-size:22px}}
@media(max-width:1100px){.site-header{padding:23px 25px}.brand-title{font-size:20px}.brand-title strong{font-size:27px}.brand-mark{width:54px;height:54px}.role-ribbon{font-size:15px;padding:5px 10px}.site-header{gap:20px}main{padding:0 25px 10px}.cover-label{font-size:16px}.cover h1{font-size:6vw;margin-bottom:18px}.cover-description{font-size:17px;line-height:1.4;margin-bottom:21px}.primary-button{font-size:18px;padding:14px 18px}.cover-hint{font-size:10px}.scene-tag{font-size:12px;top:21px;left:27px}.adventure-strip{gap:25px}.chapter-path{gap:9px}.chapter-path li{width:66px;height:83px}.chapter-drawing{height:45px;width:57px}.chapter-path b{font-size:10px}.chapter-summary strong{font-size:14px}.chapter-overline{font-size:10px}.hud{transform:scale(.86) rotate(-1deg);transform-origin:top left}.scene-button{width:42px;height:42px;top:20px}.location-label{font-size:11px}.dialogue p:last-of-type{font-size:15px}.ending .primary-button{font-size:15px}.ending-star{width:80px;height:80px;font-size:28px}}
@media(max-width:760px){.site-header{padding:19px 18px;gap:14px}.role-ribbon{display:none}.brand-title{font-size:18px}.brand-title strong{font-size:24px}.brand-mark{width:50px;height:50px}.nav-button{height:39px;font-size:15px;padding:0 10px}.icon-button{width:39px;height:39px}.site-header nav{gap:8px}main{padding:0 18px 10px}.cover{top:21%;width:47%;left:5%}.cover h1{font-size:6.3vw}.cover-description{font-size:14px}.cover-label{font-size:14px}.primary-button{font-size:15px;padding:12px 14px;gap:10px}.primary-button>span{font-size:22px}.cover-hint{font-size:8px}.scene-tag{font-size:10px;top:19px;left:21px}.location-label{font-size:9px}.adventure-strip{flex-direction:column;align-items:stretch;padding:25px 0 18px;gap:24px}.chapter-summary{max-width:none}.chapter-summary strong{display:inline;font-size:14px;margin-left:12px}.chapter-path{width:100%;justify-content:space-between;margin:0;gap:10px}.chapter-path li{width:14%;height:89px}.chapter-drawing{width:62px;height:50px}.chapter-path b{font-size:11px}.keyboard-legend{gap:14px;font-size:9px}footer>p{font-size:11px}.ending{flex-wrap:wrap;gap:14px}.ending .primary-button{margin-left:94px}.toast{top:88px;font-size:13px;padding:9px 14px}.interaction{font-size:13px}.hud{left:16px;top:15px;transform:scale(.8) rotate(-1deg)}.scene-button{right:16px;top:16px;width:38px;height:38px;font-size:23px}.narrator-doodle{width:45px;min-width:45px}.dialogue{gap:14px;padding:15px 19px}.dialogue h2{font-size:21px}}
@media(pointer:coarse){.mobile-controls{display:flex}.keyboard-legend{display:none}.fullscreen-button{bottom:auto;top:76px;right:23px}}
@media(max-width:600px){.site-header{padding:18px 14px 20px}.brand-mark{height:44px;width:44px}.brand-title{font-size:16px}.brand-title strong{font-size:21px}.brand{gap:7px}.site-header nav{gap:8px}.nav-button{display:none}.icon-button{height:36px;width:37px;border-width:2px;border-radius:9px;font-size:25px}.icon-button svg{width:21px;height:21px}main{padding:0 13px 10px}.game-frame{aspect-ratio:auto;height:610px;border-width:3px;border-radius:16px 19px 16px 12px;box-shadow:4px 5px 0 var(--ink)}.cover{top:12%;left:7%;width:90%}.cover-label{font-size:17px;margin-bottom:9px}.cover h1{font-size:58px;line-height:.95;margin-bottom:17px}.cover-description{font-size:17px;line-height:1.35;margin-bottom:20px}.cover-description br:nth-child(2){display:none}.cover-description{max-width:270px}.cover .primary-button{font-size:19px;padding:14px 17px}.cover-hint{font-size:10px;max-width:190px;margin-top:15px}.scene-tag{font-size:11px;left:7%;top:20px;padding:4px 8px}.location-label{font-size:10px;bottom:15px;right:11px;left:11px;text-align:center;background:#fff6d9dd}.game-frame.is-playing{height:clamp(390px,54svh,470px);min-height:390px}.hud{left:11px;top:13px;transform:scale(.78) rotate(-1deg);gap:7px}.hud-role{min-width:85px}.resource{min-width:111px;padding-left:9px;margin-left:6px}.breath-label b{font-size:11px}.breath-label #resourceCount{font-size:10px;min-width:25px}.scene-button{right:13px;top:15px;width:34px;height:36px;border-width:2px;box-shadow:2px 3px 0 var(--ink)}.mobile-controls{display:flex;left:13px;right:13px;bottom:16px}.mobile-controls>div{gap:9px}.mobile-controls button{width:51px;height:47px;font-size:28px;border-width:2.5px}.mobile-controls .action-touch{width:56px;height:57px}.mobile-controls .jump-touch{width:51px;height:57px}.fullscreen-button{display:none}.toast{top:80px;width:90%;max-width:90%;font-size:13px}.interaction{font-size:12px;gap:8px;min-height:32px;margin-top:12px}.interaction>div{gap:8px}.interaction .build-track{width:42px}.action-key{width:31px;height:33px;font-size:21px}.dialogue{margin-top:16px;min-height:140px;padding:14px;gap:10px;border-width:2.5px;box-shadow:2px 3px 0 #d1b88a}.narrator-doodle{width:34px;min-width:34px;align-self:flex-start;margin-top:14px}.dialogue:before{left:26px;top:-10px;width:15px;height:15px;border-width:2.5px}.dialogue .eyebrow{font-size:9px;letter-spacing:.3px;margin-bottom:5px}.dialogue h2{font-size:19px;line-height:1.1;margin-bottom:6px}.dialogue p:last-of-type{font-size:14px;line-height:1.35}.story-track{margin-top:8px;max-width:90px}.adventure-strip{gap:25px;padding:23px 0 18px}.chapter-overline{font-size:10px}.chapter-summary strong{display:block;margin:10px 1px 0;font-size:14px}.chapter-path{gap:7px}.chapter-path li{height:76px;border-width:1.5px}.chapter-path li>span{width:19px;height:19px;font-size:11px;top:-9px;left:-4px;border-width:1.5px}.chapter-drawing{width:44px;height:41px;margin-top:5px}.chapter-path b{font-size:8px;letter-spacing:0;margin-top:7px}.chapter-path li.current{box-shadow:2px 3px 0 var(--ink)}footer{padding:12px 0}footer>p{font-size:11px}.keyboard-legend{display:none}.pause-panel{padding:18px}.pause-sheet{width:100%;padding:34px 17px 24px;border-width:3px;box-shadow:5px 6px 0 var(--ink)}.pause-sheet h2{font-size:32px}.pause-sheet .eyebrow{font-size:9px}.pause-sheet>p:not(.eyebrow){font-size:16px}.pause-sheet .primary-button{font-size:16px}.pause-sheet .text-button{font-size:14px}.ending{padding:19px 15px;gap:12px}.ending-star{width:56px;height:56px;font-size:21px}.ending>div{flex:1}.ending h2{font-size:28px}.ending .eyebrow{font-size:8px}.ending p:not(.eyebrow){font-size:14px}.ending p br{display:none}.ending-stats{font-size:8px}.ending .primary-button{margin:7px 0 0 68px;font-size:16px}.book-modal{padding:31px 23px;border-width:3px;width:calc(100% - 30px);box-shadow:5px 6px 0 var(--ink)}.book-modal h2{font-size:32px;margin-bottom:17px}.book-modal>p:not(.eyebrow){font-size:16px}.book-modal .eyebrow{font-size:10px}.book-modal .primary-button{font-size:16px}.book-modal .book-note{font-size:14px!important}.help-row>p{font-size:15px}}
@media(max-width:370px){.cover h1{font-size:52px}.brand-title strong{font-size:19px}.hud{transform:scale(.69) rotate(-1deg)}.chapter-path b{font-size:7px}.game-frame{height:600px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(pointer:coarse),(max-width:600px){.action-key b{display:none}.action-key svg{display:block}}
@media(min-width:601px) and (max-width:1000px){body:not(.in-library) .game-frame:not(.is-playing){width:100%;height:440px;aspect-ratio:auto}}

/* The squat button and contextual climbing cues share the existing controls. */
.mobile-controls .duck-touch{background:#c6dfac;width:48px;font-size:27px}.interaction.direction-hint .action-key b{display:block}.interaction.direction-hint .action-key svg,.interaction.direction-hint .build-track{display:none}
@media(max-width:600px){.mobile-controls .duck-touch{width:43px;height:47px;font-size:25px}.mobile-controls .duck-touch small{font-size:8px}}
@media(max-width:370px){.mobile-controls>div{gap:6px}.mobile-controls button,.mobile-controls .duck-touch,.mobile-controls .jump-touch{width:44px}.mobile-controls .action-touch{width:52px}}

/* The final page keeps the celebration playable after the wolf has left. */
.mobile-controls.is-celebrating{justify-content:flex-end}.mobile-controls.is-celebrating .move-controls,.mobile-controls.is-celebrating .action-touch,.story-finale .keyboard-legend{display:none}.mobile-controls.is-celebrating .jump-touch{background:#c6dfac;width:62px}

/* Race and rival marker inside the resource track: a second character on the same bar. */
.breath-track{position:relative}.breath-track .rival{position:absolute;top:-5px;width:14px;height:14px;margin-left:-7px;border:2px solid var(--ink);border-radius:50% 50% 50% 0;background:#e23d3a;transform:rotate(-45deg);box-shadow:1px 1px 0 var(--ink);transition:left .2s linear}
body[data-tale="chapeuzinho"] .breath-track i#breathFill{background:#89b6d9}
#bookBody p{font-size:18px;line-height:1.55;margin:14px 0}@media(max-width:600px){#bookBody p{font-size:16px}}
