@font-face{font-family:Story;src:url('assets/PatrickHand-Regular.ttf') format('truetype');font-display:swap}*{box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;touch-action:none;background:#263f42;color:#33474a;font-family:Story,Georgia,serif}canvas{position:absolute;width:100%;height:100%;object-fit:contain}#ui{position:absolute;inset:0;pointer-events:none}button,a,select{pointer-events:auto}button{font:700 clamp(14px,2vw,22px) Story,Georgia,serif;cursor:pointer;border:2px solid #36494a;border-radius:18px;padding:12px 22px;color:#33474a;background:#fff7df;box-shadow:0 4px 0 #33474a;min-height:44px}button:active{transform:translateY(3px);box-shadow:0 1px 0}button:disabled{opacity:.45;cursor:default}.primary{background:#ed916d}.small{padding:8px 14px;font-size:16px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#243b4033;pointer-events:auto}.paper{background:#fff4de url('assets/paper.svg');border:2px solid #4b5552;border-radius:32px;box-shadow:8px 12px 0 #263f4230;text-align:center;padding:24px;max-width:90vw;max-height:94vh;overflow:auto}.home{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center}.home .paper{width:520px;background:#fff4deec}h1{font-size:clamp(52px,8vw,100px);line-height:.85;letter-spacing:-5px;margin:18px 0;color:#dc7257;text-shadow:3px 3px #f6cf79,-2px -2px #33474a;transform:rotate(-4deg)}h2{font-size:30px;margin:8px 0 14px}p{line-height:1.5;margin:10px 0}.eyebrow{font:700 12px system-ui;letter-spacing:4px;text-transform:uppercase}.actions{display:flex;gap:12px;justify-content:center;margin:16px 0;flex-wrap:wrap}.links{display:flex;justify-content:center;gap:24px;margin-top:18px}.links a{color:#446b66;font:12px system-ui}.hud{display:flex;justify-content:space-between;padding:12px max(12px,env(safe-area-inset-right));gap:12px}.hud>div{display:flex;gap:10px;align-items:center}.badge{background:#fff4def0;padding:9px 18px;border-radius:16px;font-weight:bold;font-size:16px}.bottom{position:absolute;bottom:12px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:end;gap:10px}.hint{background:#fff4deed;border-radius:16px;padding:10px 16px;font:14px system-ui}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.world{padding:12px;min-width:110px;font-size:15px}.world small{display:block;font:11px system-ui;margin-top:5px}.atlas{width:68px;height:68px;object-fit:contain}.roster{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.roster>div{width:100px;font-size:13px}.roster small{display:block;font:11px system-ui}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;width:820px}.story canvas{position:static;width:100%;height:auto}.stars{font-size:48px;color:#d79632}.mode{background:#a8cdb8}.muted{font:12px system-ui;color:#68736b}#rotate{display:none;position:absolute;inset:0;background:#fff2db;align-items:center;justify-content:center;flex-direction:column;text-align:center;z-index:100}#rotate span{font-size:70px}@media(orientation:portrait) and (pointer:coarse){#rotate{display:flex}}@media(max-height:450px){.paper{padding:14px}h1{font-size:58px;margin:10px}h2{font-size:24px}.actions{margin:10px}.links{margin-top:10px}button{padding:9px 16px}.story{gap:12px}.grid{gap:7px}.world{padding:8px;min-width:90px}.hud{padding-top:7px}.badge{font-size:13px}.bottom{bottom:7px}.hint{font-size:12px}.roster .atlas{height:50px}}
.paper{touch-action:pan-y}.hint{max-width:65vw}.hud .badge{white-space:nowrap}@media(max-width:750px){.grid{grid-template-columns:repeat(5,minmax(85px,1fr))}.world{font-size:12px;min-width:85px}.hud .badge{max-width:42vw;overflow:hidden;text-overflow:ellipsis}.story p{font-size:14px}.story h2{font-size:23px}}
.home .paper{width:44vw;max-width:550px;min-width:320px;margin-right:44vw}.home h1{font-size:clamp(52px,7vw,94px)}@media(max-height:450px){.home h1{font-size:56px}.home p{font-size:14px}.home .links{gap:12px}.home .links a{font-size:10px}.home .paper{min-width:310px}}.home .eyebrow{font-size:11px}

#stage{position:absolute;left:50%;top:50%;width:min(100vw,177.7778vh);height:min(100vh,56.25vw);transform:translate(-50%,-50%);overflow:hidden;isolation:isolate}#game{inset:0;z-index:0;touch-action:none;pointer-events:auto}#ui{z-index:2}#ui>.hud,#ui>.bottom{pointer-events:none}#ui button{pointer-events:auto}#game[data-input="holding"]{cursor:grabbing}#game{cursor:grab}.hint{border:1px solid #9d927b;box-shadow:0 2px 0 #36494a20}#stage .home .paper{max-height:96%;padding:16px}#stage .home h1{font-size:clamp(45px,6.7vw,85px)}@media(orientation:portrait) and (pointer:fine){#stage .home p{font-size:13px}#stage .home h1{font-size:52px}#stage .home .paper{padding:10px}#stage .home .actions{margin:8px}#stage .home .links{margin-top:8px}}

.overlay .paper{animation:result-appear .4s ease-out both}@keyframes result-appear{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.overlay .paper{animation:none}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.home-v3{display:block!important}.home-brand{position:absolute;left:12%;right:12%;top:3%;height:35%;text-align:center}.home-brand img{width:100%;height:100%;object-fit:contain}.home-controls{position:absolute;top:44%;left:4%;right:4%;display:flex;justify-content:center;align-items:center;gap:12px}.home-controls .actions{margin:0;gap:12px;flex-wrap:nowrap}.home-controls button{white-space:nowrap}.home-links{position:absolute;left:0;right:0;bottom:2%;display:flex;gap:45px;justify-content:center;align-items:center}.home-links a{font:22px Story,cursive;color:#4f685f;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:4px;text-decoration-thickness:1px;background:#fff2d77a;padding:0 10px;border-radius:40% 8% 38% 10%}
button{font-family:Story,cursive;font-weight:400;border:0;border-radius:12px 17px 14px 19px;box-shadow:1px 3px 0 #6e5d4730;background-image:url('assets/button-frame.svg'),url('assets/paper.svg');background-size:100% 100%,180px 180px;background-repeat:no-repeat,repeat;background-color:#f8ecd4;color:#4d5c54;line-height:1.1;padding:12px 24px;transform:rotate(-.3deg)}button:nth-child(even){transform:rotate(.5deg)}button:active{transform:translateY(2px) rotate(-.2deg)}button.primary{background-color:#e7a280}button.mode{background-color:#afc6b0}.small{font-family:Story,cursive}.hint,.muted,.roster small,.world small,.links a,.eyebrow{font-family:Story,cursive}.badge{font-weight:400}.paper{border-color:#84705c;border-width:1px;border-radius:30px 35px 28px 38px;box-shadow:3px 5px 0 #6e5d4720}h2{font-family:Story,cursive;font-weight:400;font-size:34px}
@media(max-height:450px){.home-controls{gap:8px;top:44%}.home-controls .actions{gap:8px}.home-controls button{font-size:18px;padding:10px 15px}.home-links a{font-size:17px}.home-links{gap:24px}.home-brand{height:35%;top:2%}}@media(max-width:720px){.home-controls{gap:6px}.home-controls .actions{gap:6px}.home-controls button{font-size:16px;padding:10px 12px}.home-links a{font-size:15px}.home-links{gap:12px}}
button.primary,button.mode{background-image:url('assets/button-frame.svg'),url('assets/paper.svg');background-size:100% 100%,180px 180px;background-repeat:no-repeat,repeat}
@font-face{font-family:RockTitle;src:url('assets/LilitaOne-Regular.ttf') format('truetype');font-display:swap}
.home-controls button{font-family:RockTitle,Story,cursive;font-size:clamp(17px,2.4vw,30px);color:#e89768;-webkit-text-stroke:1px #556e60;paint-order:stroke fill;text-shadow:1px 2px #ecd38b;letter-spacing:.3px;background-color:#fff0d3}.home-controls button.mode{color:#9db9a2}.home-controls #homeMore button:first-child{color:#bda1c2}.home-controls #homeMore button:last-child{color:#80b7bf}
.story-full{position:absolute;inset:0;pointer-events:auto;overflow:hidden;background:#d2d7bc;animation:story-reveal .5s ease-out}.story-full canvas{inset:0;width:100%;height:100%}.story-caption{position:absolute;top:4%;left:4%;width:63%;padding:12px 24px;background:#fff3dcf0 url('assets/paper.svg');border-radius:3% 2% 8% 4%;box-shadow:2px 4px #67573b38;transform:rotate(-.6deg)}.story-caption h2{font-family:RockTitle,Story;color:#9b6955;font-size:clamp(22px,3.5vw,44px);margin:2px 0}.story-caption p{font-size:clamp(16px,2vw,25px);margin:5px 0;line-height:1.2}.story-caption .eyebrow{font-size:clamp(10px,1.3vw,16px);letter-spacing:2px}.story-bubble{position:absolute;top:34%;right:5%;max-width:38%;padding:14px 22px;background:#fff7e4;border:2px solid #6f7260;border-radius:50% 45% 44% 15%;font-size:clamp(16px,2.3vw,30px);transform:rotate(4deg)}.story-go{position:absolute;bottom:4%;right:4%}.story-go button{font-family:RockTitle,Story;color:#785946}@keyframes story-reveal{from{opacity:0}to{opacity:1}}

/* One expressive type family across every screen, including narrative and HUD. */
body,#ui,#ui *,#rotate,#rotate *{font-family:RockTitle,Georgia,serif!important;font-weight:400}.story-caption p{font-size:clamp(15px,1.8vw,23px);line-height:1.35}.story-bubble{font-size:clamp(15px,2vw,26px);line-height:1.25}.story-caption .eyebrow{text-transform:none;letter-spacing:1px}.home-links a{font-size:clamp(13px,1.65vw,21px)}
/* V6: fill the viewport with art while the physical play coordinates remain 1280 × 720. */
#stage{inset:0;left:0;top:0;width:100vw;height:100dvh;transform:none}html,body{background:#b7c8ab}.home-v3{pointer-events:none}.home-controls,.home-links{pointer-events:none}.home-controls button,.home-links a{pointer-events:auto}.play-hint{position:absolute;left:14px;top:74px;max-width:240px;background:#fff3dcbe;padding:6px 10px;border-radius:12px;font-size:13px;pointer-events:none}.play-hint:empty{display:none}.hud{padding-top:max(9px,env(safe-area-inset-top));align-items:start}.hud .badge{font-size:14px}
.guide-screen,.boss-screen{position:absolute;inset:0;pointer-events:none;text-align:center}.guide-heading{position:absolute;top:3%;left:5%;right:5%;background:#fff2dfdc;border-radius:25px;padding:8px}.guide-heading h2{font-size:clamp(25px,4vw,45px);margin:0}.guide-heading p{font-size:clamp(14px,1.8vw,22px);margin:4px}.guide-labels{position:absolute;top:25%;left:3%;right:3%;display:grid;grid-template-columns:repeat(3,1fr);gap:3%;font-size:clamp(16px,2.3vw,28px);color:#7d6958}.guide-foot{position:absolute;bottom:3%;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;background:#fff0dacf;border-radius:18px;padding:8px 14px;gap:10px}.guide-foot span{font-size:clamp(13px,1.7vw,21px)}#guideActions{display:flex;gap:10px}.team-paper{width:94vw;max-width:1180px!important}.team-activation{display:flex;justify-content:center;align-items:center;gap:18px;padding:8px;background:#e1d8bf88;border-radius:16px;font-size:clamp(12px,1.5vw,19px);line-height:1.25}.tap-symbol{font-size:45px}.roster{flex-wrap:nowrap;gap:10px;margin-top:12px}.roster .team-card{flex:1;min-width:0;width:auto;display:flex;flex-direction:column;align-items:center;gap:5px}.roster .atlas{height:80px;width:90px}.team-card b{font-size:14px}.team-card strong{font-size:15px}.team-card small{font-size:12px;line-height:1.25}.team-card .unlock{opacity:.65;font-size:10px}.boss-screen{background:#fff1dbb0;padding:4%}.boss-screen h2{font-size:clamp(22px,3.3vw,42px);margin:0 0 15px}.boss-panels{display:flex;gap:20px;justify-content:center}.boss-panels>div{flex:1;max-width:340px;background:#fff4dfed;border:1px solid #ae9576;border-radius:24px;padding:16px;font-size:22px}.boss-panels img{width:70px;height:90px;object-fit:contain;vertical-align:middle}.boss-panels span{font-size:40px;vertical-align:middle;color:#b0905a}.boss-panels p{font-size:clamp(13px,1.5vw,19px);line-height:1.4}.boss-support{display:inline-block;line-height:.7}.story-caption{width:66%}.story-caption p{font-size:clamp(14px,1.7vw,22px);line-height:1.35}.story-bubble{display:none}
@media(max-height:480px){.team-paper{padding:10px}.team-paper h2{font-size:23px;margin:3px}.roster .atlas{height:58px;width:65px}.roster{gap:5px;margin-top:8px}.team-card b{font-size:11px}.team-card strong{font-size:12px}.team-card small{font-size:10px}.team-activation{padding:5px;gap:10px;font-size:12px}.tap-symbol{font-size:32px}.team-paper .actions{margin:6px}.boss-panels>div{padding:10px}.boss-panels img{height:65px;width:50px}.boss-screen{padding:3%}.guide-foot button{padding:8px 14px;font-size:15px}.play-hint{top:58px;font-size:11px}.home-brand{top:1%;height:35%}.home-controls{top:43%}}
.boss-screen{display:flex;flex-direction:column;justify-content:center}.boss-support{position:relative;width:100px;height:100px}.boss-support img.boss-roof{position:absolute;top:3px;left:5px;width:90px;height:14px;transform:rotate(-12deg)}.boss-support img.boss-post{position:absolute;top:20px;width:16px;height:72px}.boss-support .one{left:15px;transform:rotate(25deg)}.boss-support .two{right:12px;transform:rotate(-28deg)}
.guide-labels{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}

.story-full{background:transparent}.story-full canvas{object-fit:fill}.roster img[src*="character-5"],.roster img[src*="character-6"]{transform:scale(.72);transform-origin:center bottom}

.story-go{right:auto;left:4%;bottom:3%}
@media(max-height:480px){.guide-heading{padding:6px}.guide-heading h2{font-size:26px;line-height:1.05}.guide-heading p{font-size:14px;line-height:1.1;margin:3px}}

/* Story paper hugs the longest actual line, with a viewport-safe wrapping limit. */
.story-caption{width:max-content;max-width:calc(100% - 8%);padding:clamp(10px,1.5vw,20px) clamp(16px,2.3vw,30px);border-radius:18px 23px 17px 25px;box-shadow:1px 4px 10px #59452c28;transform:rotate(-.35deg)}
.story-caption h2,.story-caption p{max-width:min(64vw,790px)}
@media(max-height:480px){.story-caption{padding:10px 18px}.story-caption h2{font-size:clamp(22px,3vw,34px)}.story-caption p{font-size:clamp(13px,1.7vw,20px)}}

/* Only finished illustrations are revealed; loading never exposes fallback geometry. */
[data-art="loading"] #stage{visibility:hidden}#art-loading{display:none;position:fixed;inset:0;z-index:80;align-items:center;justify-content:center;background:#fff2db url('assets/paper.svg');text-align:center;color:#80654c;font-family:RockTitle,Story}.loading-note{padding:24px;font-size:clamp(28px,5vw,48px)}.loading-note p{font-size:18px}.loading-note button[hidden]{display:none}body[data-art="loading"] #art-loading{display:flex}
#rotate{position:fixed;background:#fff2db url('assets/paper.svg');padding:max(14px,env(safe-area-inset-top)) 20px max(14px,env(safe-area-inset-bottom));font-family:RockTitle,Story}#rotate-friend{position:static;flex:0 1 auto;width:min(70vw,300px);height:auto;aspect-ratio:32/27;max-height:42dvh;object-fit:contain;margin-bottom:10px}#rotate h2{margin:4px 0 8px;font-size:clamp(25px,7vw,34px)}#rotate p{max-width:300px;font-size:18px;margin:0 0 12px;line-height:1.4}#rotate span{font-size:48px}
