/* The supplied Aranza illustration is the shared world for every child screen. */
@font-face{font-family:Nunito;src:url("fonts/nunito-latin.woff2") format("woff2");font-weight:400 1000;font-display:swap}
:root{--adventure-ink:#292157;--adventure-lilac:#ece6ff;--adventure-pink:#f65294;--adventure-purple:#7d4be2}
html{background:#50409d}
body.adventure-home,body.jp-child-page{position:relative;isolation:isolate;margin:0;min-width:320px;min-height:100dvh;font-family:Nunito,"Trebuchet MS",sans-serif;background:#50409d!important}
body.adventure-home::before,body.jp-child-page::before,body.jp-sheet-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("aranza/backup.png") center/cover no-repeat;opacity:1}
body.jp-child-page::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#35266a35}
[hidden]{display:none!important}
.adventure-home :where(a,button){-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:inherit}
.adventure-home :where(a,button):focus-visible{outline:4px solid #ffe071;outline-offset:4px}
.adventure-home button:disabled{cursor:default;opacity:.45}
.adventure-navigation{display:flex;align-items:center;justify-content:space-around;gap:6px;width:min(94%,1250px);margin:16px auto max(12px,env(safe-area-inset-bottom));padding:9px 16px;border-radius:34px;background:linear-gradient(110deg,#372b76f5,#2d2468fa);box-shadow:0 5px 20px #21164c33;z-index:40}
.adventure-home .adventure-navigation{position:sticky;bottom:8px;margin-top:auto}
.adventure-nav-link{display:flex;flex:1;min-width:0;min-height:68px;flex-direction:column;justify-content:center;align-items:center;gap:3px;border-radius:24px;text-decoration:none;color:#f9f4ff;font-size:clamp(12px,1.6vw,21px);font-weight:800;line-height:1.2;transition:background .18s,transform .18s}
.adventure-nav-link svg{width:38px;height:38px;flex-shrink:0}.adventure-nav-link.active{background:linear-gradient(#fff9ff,#e8e1ff);color:#7835bb;box-shadow:0 3px 0 #24164b22}
.adventure-nav-link[aria-disabled="true"]{opacity:.5;cursor:default}.adventure-nav-link:active{transform:scale(.96)}
.adventure-home .scene-column{position:relative}.adventure-tools{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;position:relative;z-index:8;margin:-18px 12px 12px}
.adventure-tools :is(a,button){border:1px solid #b1a0df;background:#352969e8;color:white;border-radius:30px;min-height:40px;padding:7px 16px;text-decoration:none;font-size:15px;font-weight:800;cursor:pointer}
.adventure-tools .adventure-wallet{color:#ffe38e}.adventure-wallet strong{font-size:19px}
.adventure-flag{font-size:calc(64 * var(--u));line-height:1;color:#8751d5;flex:none}.adventure-target{font-size:calc(78 * var(--u));line-height:1;color:#ec5286;flex:none}.adventure-crown{font-size:calc(80 * var(--u));line-height:1;color:#ffd12b}
.adventure-home .daily-heading h2{font-size:max(22px,calc(36 * var(--u)))}
.adventure-home .daily-heading p{white-space:normal;font-size:max(14px,calc(20 * var(--u)))}
.adventure-home .task-list{max-height:min(38dvh,430px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ac8ee4 transparent;padding:3px 4px 4px}
.adventure-home .task-item{gap:10px;padding:10px 12px;min-height:60px;color:var(--adventure-ink);text-decoration:none;cursor:default;flex-shrink:0}
.adventure-home a.task-item{cursor:pointer}.adventure-home .task-icon{width:42px;height:38px;flex-shrink:0}.adventure-home .task-icon svg{width:32px;height:32px}.adventure-home .task-name{font-size:clamp(14px,1.3vw,21px);white-space:normal;overflow-wrap:anywhere;line-height:1.3;display:block}
.task-copy{flex:1;min-width:0}.task-state{display:block;font-size:12px;line-height:1.35;color:#73628c;margin-top:3px;font-weight:800}.task-number{font-size:11px;opacity:.7;display:block}
.adventure-home .task-check{width:28px;height:28px;display:grid;place-items:center;font-size:18px;border-width:2px;font-weight:900}
.adventure-home .task-item.is-complete .task-check{background:#7d4be2;border-color:#7d4be2;color:white}.task-item.is-complete .task-name{color:#695982}
.adventure-home .task-item.is-current{box-shadow:0 0 0 2px #fa82ba inset;background:#fff8fc}.task-item.is-locked{opacity:.7}
.task-wait{position:relative;display:inline-flex;align-items:center;gap:4px;max-width:100%;color:#725224;background:#fff0c9;border-radius:12px;padding:3px 7px;cursor:help}
.task-wait .task-tooltip{position:absolute;right:0;bottom:calc(100% + 7px);width:190px;max-width:65vw;background:#352969;color:white;border-radius:12px;padding:10px;box-shadow:0 4px 15px #24124e33;opacity:0;visibility:hidden;pointer-events:none;z-index:10;font-size:12px}
.task-wait:is(:hover,:focus-visible) .task-tooltip{opacity:1;visibility:visible}
.adventure-home .map-node:not(.is-current) .circle::before{display:none}.adventure-home .map-node.is-current .circle::before{content:"";position:absolute;inset:-1.2cqw;border:.6cqw solid #ffa6d3;border-radius:50%;animation:pulse-ring 2.2s ease-out infinite;pointer-events:none}
.adventure-home .map-node.is-complete .circle{background:linear-gradient(135deg,#beefc4,#70cea0);border-color:#d8ffe2;box-shadow:inset 0 0 0 .45cqw #fff8,0 .75cqw #4a998a}
.adventure-home .map-node.is-locked .circle{filter:saturate(.5);opacity:.85}.adventure-home .map-node .node-label{max-width:180px}.adventure-home .map-node .node-mark{font-size:8cqw;color:white;font-weight:1000;line-height:1}
.adventure-home .map-node .circle .map-icon{width:62%;height:65%;fill:none;transform:none;filter:none}.adventure-home .map-node .question{font-size:8cqw}
.map-review-dot{position:absolute;right:-4px;top:2px;width:28px;height:28px;border-radius:50%;background:#ffe9a0;border:2px solid #fff;color:#795022;font-size:18px;display:grid;place-items:center}
.map-pagination{position:absolute;left:38%;bottom:1%;display:flex;align-items:center;gap:12px;background:#352969e8;border:1px solid #a28acb;border-radius:24px;padding:6px 8px;font-size:14px;font-weight:800;z-index:9}
.map-pagination button{min-width:40px;min-height:38px;border:0;background:#f0e6ff;color:#4d3579;border-radius:18px;font-size:22px;cursor:pointer}.map-pagination span{white-space:nowrap}
.map-loading,.map-rest{position:absolute;z-index:6;left:62%;top:50%;max-width:34%;border-radius:22px;padding:15px;background:#382b76e8;color:white;font-weight:800;font-size:clamp(16px,2vw,25px);line-height:1.35}
.map-rest a{color:#ffe094;display:block;margin-top:8px;font-size:.75em}.adventure-progress{height:18px;border:3px solid #b79bed;border-radius:30px;background:#d7c9f0;margin-top:16px;overflow:hidden}.adventure-progress span{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,#f9a9cf,#ec62a7);transition:width .45s}
.adventure-bonus{font-size:max(13px,calc(19 * var(--u)));line-height:1.3;font-weight:800;color:#625080;margin:10px 0 0}.adventure-home .xp-bar{width:0}.adventure-home .xp-caption{font-size:max(12px,calc(19 * var(--u)))}
.adventure-corrections{padding:16px;margin:15px 0;font-size:14px}.adventure-corrections h2{font-size:20px;margin:0 0 8px}.adventure-corrections a{display:block;color:#7136ae;margin:8px 0;font-weight:900}.adventure-corrections p{margin:4px 0}
.task-skeleton{min-height:60px;flex-shrink:0;border-radius:16px;background:linear-gradient(100deg,#fff8 25%,#fff 45%,#fff8 65%);background-size:220% 100%;animation:adventure-shimmer 1.1s linear infinite}
.adventure-history{width:min(620px,calc(100% - 24px));max-height:85dvh;border:2px solid #ba9bea;border-radius:26px;background:#f6f1ff;color:#292157;padding:22px;font-family:Nunito,sans-serif;box-shadow:0 20px 70px #170e4a66}.adventure-history::backdrop{background:#20134399;backdrop-filter:blur(4px)}
.history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-heading h2{margin:0}.history-heading button{min-width:44px;min-height:44px;border-radius:50%;background:#e7daf8;border:0;font-size:26px;cursor:pointer;color:#4e327b}.history-day{padding:14px 0;border-bottom:1px solid #dacbec}.history-day h3{margin:0 0 4px;font-size:17px}.history-day ul{list-style:none;margin:8px 0;padding:0}.history-day li{padding:5px 0;line-height:1.35}.adventure-error{font-size:15px;color:#553877;line-height:1.4}.adventure-error button{min-height:44px;border:0;border-radius:15px;background:#7d4be2;color:#fff;padding:8px 16px;cursor:pointer;font-weight:900}
/* Activity sheets, store, streaks and PIN login share the new palette. */
body.jp-child-page{--jp-ink:#292157;--riddle-ink:#292157;--riddle-purple:#7d4be2;--riddle-lavender:#b8a0e6;--riddle-pink:#f58dbf;padding-bottom:8px}
.jp-child-page .jp-child-header{width:min(1120px,calc(100% - 32px));margin:22px auto 0;padding-top:0}
.jp-child-page .jp-child-nav{margin:0;padding:12px 16px;border:1px solid #b7a0dd;border-radius:26px;background:#35296ce6;box-shadow:0 4px 15px #26184f22;gap:10px}
.jp-child-page .jp-child-home{background:#f0e8ff;border:1px solid #c9b4ea;box-shadow:0 3px #8f74bd;color:#563786;border-radius:17px;min-height:44px;font-size:15px;padding:8px 13px}
.jp-child-page .jp-child-module{color:#fff;font-size:clamp(22px,3vw,34px);text-shadow:none}.jp-child-page .jp-child-module h1{font-size:inherit}.jp-child-page .jp-child-module>.jp-art{width:44px;height:44px}.jp-child-page .jp-child-back{margin-right:0}
.jp-child-page .riddle-workspace{border:2px solid #cab6eb;border-radius:26px;background:linear-gradient(135deg,#fffefe,#f3edff);box-shadow:0 6px 0 #39216e40,inset 0 1px #fff}
.jp-child-page :is(.riddle-card,.text-card,.video-card){border-color:#d4c2ed;border-radius:22px;background:#fffcff;box-shadow:0 4px 0 #b6a0d136}
.jp-child-page .riddle-button--primary{background:linear-gradient(#9a62e6,#7c46cc);border-color:#ad7aea;box-shadow:0 4px #573198;color:#fff}
.jp-child-page .riddle-button--secondary{background:#eee5fb;color:#593a82;border-color:#cbb2e8;box-shadow:0 4px #a28aba}
.jp-child-page :is(.riddle-explanation,.riddle-question textarea){border-color:#cebae9;background:#fff}
.jp-child-page .riddle-section-title{color:#5d3c8f}.jp-child-page .riddle-catalog-section>.riddle-section-title{color:#442a71}
.jp-child-page .riddle-catalog{background:#f0e9ffed}.jp-child-page .riddle-pill{background:#f0e6ff;color:#604184}.jp-child-page .riddle-pill--status{background:#fff0d4;color:#805e2d}
.jp-child-page .page-container{padding-bottom:24px}.jp-child-page :is(.prize-card,.streak-card){border-color:#bca2e5}.jp-child-page .prize-card{background:linear-gradient(135deg,#fffafd,#ece3ff)}
.jp-child-page .pin-card{border:2px solid #d0b9ea;border-radius:32px;background:linear-gradient(145deg,#fbf8ff,#e7dcfa);box-shadow:0 12px 0 #35215d44,0 16px 60px #29145233}.jp-child-page .key{background:#fff9ff;border-color:#d4bceb;box-shadow:0 4px #ad8dc7;color:#513176}.jp-child-page .key-ok{background:linear-gradient(#a975eb,#8550d0);color:white;border-color:#bb95ee;box-shadow:0 4px #5b358e}
.jp-login-avatar.adventure-login-avatar{border:0;background:none;box-shadow:none;border-radius:0;width:150px;height:160px;margin:-75px auto 0;overflow:hidden;position:relative}.jp-login-avatar.adventure-login-avatar img{width:150px;height:auto;object-fit:contain;object-position:top;max-width:none;border-radius:0}
.adventure-login-subtitle{color:#75638d;font-size:15px;font-weight:800;text-align:center;margin:7px 0 18px}
.adventure-module-hint{width:min(940px,calc(100% - 32px));margin:16px auto 0;padding:12px 18px;border-radius:16px;background:#ede3fb;color:#563975;font-size:14px;font-weight:800}
@media(hover:hover){.adventure-nav-link:not(.active):not([aria-disabled]):hover{background:#ffffff20;transform:translateY(-2px)}.adventure-home a.task-item:hover{transform:translateX(2px);background:#fff}.adventure-home .task-item:not(a):hover{transform:none}.adventure-tools :is(a,button):hover{background:#523d8f}.jp-child-page .key:hover{filter:brightness(1.05)}}
@media(min-width:992px){.adventure-home .sidebar{padding-top:20px}.adventure-home .adventure-navigation{min-height:72px;width:90%;margin-bottom:10px}.adventure-home .adventure-nav-link{min-height:58px;font-size:16px}.adventure-home .adventure-nav-link svg{width:33px;height:33px}.adventure-home .daily-heading{margin-bottom:12px;gap:10px}.adventure-home .daily-panel{padding:max(16px,calc(22 * var(--u)))}.adventure-home .goal-panel{padding:max(14px,calc(20 * var(--u)))}.adventure-home .goal-header h2{font-size:max(21px,calc(30 * var(--u)))}.adventure-home .goal-header p{font-size:max(15px,calc(22 * var(--u)))}.adventure-home .world{width:min(100%,calc((100dvh - 150px) * 1000 / 838))}.adventure-home .task-list{max-height:34dvh}.adventure-home .statistics{margin-top:12px}.adventure-home .level-card{min-height:82px}.adventure-home .level-title{font-size:max(20px,calc(31 * var(--u)))}.adventure-home .map-node .node-label{font-size:2.65cqw}}
@media(max-width:991px){.adventure-home .task-list{max-height:none}.adventure-home .sidebar{padding-top:12px}.adventure-tools{margin:0 12px 12px}.adventure-home .main-layout{flex:1}.adventure-home .adventure-navigation{margin-top:18px}.adventure-flag{font-size:50px}.adventure-target{font-size:62px}.adventure-home .task-name{font-size:19px}.adventure-home .task-state{font-size:14px}}
@media(max-width:600px){.adventure-navigation{width:calc(100% - 16px);gap:1px;padding:6px;border-radius:23px}.adventure-nav-link{min-height:60px;font-size:11px;border-radius:17px}.adventure-nav-link svg{width:29px;height:29px}.adventure-home .task-name{font-size:16px}.adventure-home .task-state{font-size:12px}.adventure-home .daily-heading h2{font-size:26px}.adventure-home .map-node .node-mark{font-size:53px}.adventure-home .map-node.is-current .circle::before{inset:-7px;border-width:4px}.map-pagination{left:auto;right:12px;bottom:0;font-size:12px;gap:8px}.map-rest{left:41%;top:55%;font-size:18px;max-width:55%}.map-loading{font-size:18px}.adventure-home .adventure-crown{font-size:50px}.adventure-home .sidebar{width:calc(100% - 24px)}.jp-child-page .jp-child-nav{padding:10px;gap:8px}.jp-child-page .jp-child-module>.jp-art{width:32px;height:32px}.jp-child-page .jp-child-home{font-size:12px;padding:7px}.jp-child-page .jp-child-module{font-size:22px}.adventure-home .goal-header p{font-size:18px}}
@keyframes adventure-shimmer{to{background-position:-220% 0}}
.adventure-home .map-node{text-decoration:none}
.adventure-home .treasure-node.is-ready .chest{animation:wiggle .9s ease 2}
.adventure-home .map-pagination{position:relative;left:auto;right:auto;bottom:auto;width:max-content;max-width:calc(100% - 24px);margin:0 auto 10px}
.adventure-home .adventure-tools{margin:0 12px 14px}
.adventure-store-balance{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:14px 22px;border:2px solid #bca2e5;border-radius:24px;background:#ece4fa;color:#4b3274;font-size:18px;font-weight:900}
.adventure-store-balance strong{font-size:26px;color:#795122}
.jp-child-page[data-child-module="streaks_v1"] .hero{background:linear-gradient(135deg,#eee7ff,#d7c7f5);border-color:#bca2e5;box-shadow:0 6px #35215f55}
.jp-child-page[data-child-module="streaks_v1"] :is(.panel,.mascot){border:2px solid #c5aee4;border-radius:24px;box-shadow:0 4px #41276f33}
.jp-child-page[data-child-module="streaks_v1"] .panel{background:linear-gradient(135deg,#fffaff,#eee7fc)}
.jp-child-page[data-child-module="streaks_v1"] .today.is-done{background:linear-gradient(135deg,#f9fff9,#e7f7e7)}
@media(min-width:992px){.adventure-home .world{width:min(100%,calc((100dvh - 200px) * 1000 / 838))}}
@media(prefers-reduced-motion:reduce){.adventure-home *,body.jp-child-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* One viewport-anchored dock for every child screen, regardless of page length. */
:root{--adventure-nav-height:84px;--adventure-nav-bottom:max(10px,env(safe-area-inset-bottom));--adventure-nav-space:calc(var(--adventure-nav-height) + var(--adventure-nav-bottom) + 18px)}
html{scroll-padding-bottom:var(--adventure-nav-space)}
body:is(.adventure-home,.jp-child-page):has(.adventure-navigation){padding-bottom:var(--adventure-nav-space)}
.adventure-home .dashboard{min-height:calc(100dvh - var(--adventure-nav-space))}
.adventure-home .adventure-navigation,.jp-child-page .adventure-navigation{position:fixed;left:50%;bottom:var(--adventure-nav-bottom);transform:translateX(-50%);width:min(94%,1250px);height:var(--adventure-nav-height);min-height:0;box-sizing:border-box;margin:0;padding:8px 14px;z-index:40}
.adventure-home .adventure-nav-link,.jp-child-page .adventure-nav-link{height:100%;min-height:0;font-size:16px}
.adventure-home .adventure-nav-link svg,.jp-child-page .adventure-nav-link svg{width:34px;height:34px}
.adventure-home .notice,.jp-child-page .toast-game{bottom:calc(var(--adventure-nav-space) + 8px)}
@media(max-width:600px){
    :root{--adventure-nav-height:72px}
    .adventure-home .adventure-navigation,.jp-child-page .adventure-navigation{width:calc(100% - 16px);padding:6px;gap:1px;border-radius:23px}
    .adventure-home .adventure-nav-link,.jp-child-page .adventure-nav-link{font-size:clamp(8px,2.45vw,11px);letter-spacing:-.2px;border-radius:17px}
    .adventure-home .adventure-nav-link svg,.jp-child-page .adventure-nav-link svg{width:clamp(23px,7vw,29px);height:clamp(23px,7vw,29px)}
}

/* Tramo chests: an earned chest carries a check; it still waits to be opened. */
.adventure-home .treasure-node .chest-check{position:absolute;z-index:5;right:1.4cqw;top:5.2cqw;display:grid;place-items:center;width:5.4cqw;height:5.4cqw;border:.5cqw solid #fff;border-radius:50%;background:#2f9e5b;color:#fff;font-weight:1000;font-size:3cqw;line-height:1;box-shadow:0 .3cqw 0 #1e6b3d}
.adventure-home .treasure-node .chest-check[hidden]{display:none}
.adventure-home .treasure-node.is-opened .chest{filter:saturate(.55) drop-shadow(0 .25cqw 0 #bd6b2566);opacity:.85}
.adventure-home .task-tramo{margin:.9rem 0 .35rem;padding:0 .25rem;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#7a5a1d}
.adventure-home .task-tramo:first-child{margin-top:0}
@media(max-width:600px){.adventure-home .treasure-node .chest-check{width:30px;height:30px;font-size:17px;top:28px;right:6px}}

/* Today's free chest on the home sidebar: only shown while it can still be claimed. */
.adventure-home .free-chest-panel{display:flex;align-items:center;gap:12px;margin-bottom:max(12px,calc(16 * var(--u)));padding:12px 16px;border:2px solid #e6bf68;background:linear-gradient(135deg,#fff8df,#ffe6a0)}
.adventure-home .free-chest-panel[hidden]{display:none}
.adventure-home .free-chest-panel img{width:64px;height:auto;flex:none}
.adventure-home .free-chest-panel h2{margin:0;font-size:21px;line-height:1.15;font-weight:1000;letter-spacing:-.02em;color:#5b3a0c}
.adventure-home .free-chest-panel p{margin:3px 0 0;font-size:14px;font-weight:700;color:#715019}
.adventure-home .free-chest-panel button{margin-left:auto;flex:none;min-height:44px;padding:8px 18px;border:0;border-radius:14px;background:#f2a516;color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 3px 0 #b06d00;transition:transform .15s ease,filter .15s ease}
.adventure-home .free-chest-panel button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.adventure-home .free-chest-panel button:disabled{opacity:.6;cursor:default;transform:none}
