/* Daily Quest only: 2D woodland companions and optional sound. */
.quest-page .toolbar-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.quest-page .sound-toggle{height:37px;min-width:90px;border:1px solid #d4ddca;border-radius:25px;padding:0 12px;background:#edf3e7;color:#385b3b;font:600 11px Arial,sans-serif;white-space:nowrap;margin-bottom:8px}
.quest-page .sound-toggle[aria-pressed="false"]{color:#766e75;background:#f3ece4;border-color:#e5dcd1}
.quest-page .sound-settings-row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.quest-page .sound-settings-row .sound-toggle{margin:0}
.quest-page .companion-cheer{transform-box:fill-box;transform-origin:center bottom;animation:companion-cheer .65s ease-in-out}
@keyframes companion-cheer{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(-3deg)}65%{transform:translateY(-3px) rotate(3deg)}}
.quest-page .quest-toast{line-height:1.5}
@media(max-width:780px){
 .quest-page .app-toolbar{flex-wrap:wrap;gap:0}
 .quest-page .app-tabs{width:100%;flex-basis:100%;gap:12px;overflow:visible}
 .quest-page .app-tabs button{min-height:54px}
 .quest-page .toolbar-actions{width:100%;justify-content:flex-end;padding:8px 0 0;gap:12px}
 .quest-page .toolbar-actions button{margin:0;min-height:42px}
 .quest-page .settings-button{width:42px;height:42px}
 .quest-page .form-field>input,.quest-page .inline-form input{font-size:16px}
 .quest-page .task-check{min-width:36px;min-height:36px}
 .quest-page .tasks-heading{flex-wrap:wrap}
 .quest-page .history-row{flex-wrap:wrap}
}
@media(max-width:360px){.quest-page .quest-intro{align-items:flex-start;flex-wrap:wrap}.quest-page .app-tabs{gap:5px}.quest-page .inline-form{flex-wrap:wrap}.quest-page .inline-form label{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.quest-page .companion-cheer{animation:none}}

/* Robyn's approved woodland adventure direction. All rules are page-scoped. */
.quest-page{--q-green:#3d621f;--q-green-light:#e0e8bc;--q-gold:#c89b4a;--q-text:#3c2a18;--q-muted:#766148;--q-purple:#4d6227;--q-border:#ceb17d}
.quest-page .quest-wrap{width:min(1220px,calc(100% - 48px));margin:22px auto 30px;padding:26px 32px 6px;border:6px solid #563d24;border-radius:20px;background:linear-gradient(135deg,#203e2be8,#183727ed),url('./assets/woodland-trail.png?v=20261030-woodland2') center top/cover;box-shadow:inset 0 0 0 1px #bc9253,0 18px 50px #27332222;overflow:visible}
.quest-page .quest-intro{padding:5px 0 24px;align-items:center;gap:22px}
.quest-page .quest-intro>div:first-child{border:1px solid #b68c4e;border-radius:12px;padding:20px 35px;text-align:center;min-width:0;background:repeating-linear-gradient(3deg,transparent 0 8px,#26170f25 9px 10px),linear-gradient(#624326,#352415 52%,#50361f);box-shadow:inset 0 2px 0 #d2aa6a66,inset 0 -3px 0 #25190f,0 5px 18px #07180f55}
.quest-page .quest-intro h1{font:700 clamp(36px,4.8vw,64px)/1.1 Georgia,serif;letter-spacing:-.025em;color:#f6d598;text-shadow:0 2px #2b1a0c,0 -1px #ffe7ba}
.quest-page .quest-intro h1 em{font-style:normal;color:inherit}
.quest-page .quest-intro .intro-spark{color:#efd187;font-size:25px;vertical-align:middle}
.quest-page .quest-intro .q-eyebrow{color:#dec99d;letter-spacing:.16em;font-size:10px;margin-bottom:9px}
.quest-page .quest-intro>div>p:last-child{font:14px/1.5 Arial,sans-serif;color:#ead8b3;max-width:none;margin:10px 0 0}
.quest-page .wallet{background:linear-gradient(#f9e8bd,#e2c38b);border:2px solid #c79a52;box-shadow:inset 0 1px 0 #fff7df,0 4px 10px #1023154d;color:#47301b;gap:16px}
.quest-page .wallet small{color:#6e4a23;font-size:11px;letter-spacing:0}.quest-page .level-badge{color:#506129}.quest-page .coin-icon{color:#b47b25;text-shadow:0 1px #fff6cf}
.quest-page .app-toolbar{border:1px solid #99703c;border-radius:12px;background:repeating-linear-gradient(0deg,transparent 0 14px,#140c0719 15px 16px),linear-gradient(#5f4329,#3d2a1c);padding:6px 12px 0;gap:18px;box-shadow:0 4px 0 #10241655;margin-bottom:24px}
.quest-page .app-tabs{flex:1;gap:6px;justify-content:space-between;overflow:visible}
.quest-page .app-tabs button{justify-content:center;padding:12px 12px 16px;color:#ebd6ab;gap:7px;border-radius:7px 7px 0 0;font-size:18px;flex:1}
.quest-page .app-tabs button span{font-size:13px}
.quest-page .app-tabs button:hover{background:#ffffff0c;color:#fff6de}
.quest-page .app-tabs button[aria-selected=true]{color:#f6e8b1;background:linear-gradient(#5a7338,#344921);box-shadow:inset 0 0 0 1px #b3a36555}
.quest-page .app-tabs button[aria-selected=true]:after{background:#e6c676;bottom:0;left:12px;right:12px}
.quest-page .toolbar-actions{gap:8px}
.quest-page .sound-toggle{background:#eee0b4;color:#35501f;border-color:#b4945c;height:38px;min-width:85px}
.quest-page .sound-toggle[aria-pressed=false]{background:#6a5140;color:#fff3d3;border-color:#b99b70}
.quest-page .icon-button{background:#eddfb9;border-color:#be9c67;color:#614422}
.quest-page .today-grid{grid-template-columns:1.08fr 1fr;gap:25px}
.quest-page .today-grid>div:last-child{padding:25px;background:radial-gradient(ellipse at 25% 0,#fff5d9,#efdbb1 75%);border:3px solid #bb9259;border-radius:15px;box-shadow:inset 0 0 0 2px #f9edce,0 5px 15px #0c221444}
.quest-page .world-card{background:#ebd4a7;border:3px solid #a98048;border-radius:15px;box-shadow:inset 0 0 0 1px #e6be77,0 5px 18px #0d24164d}
.quest-page .scene-holder{max-height:none;background:#658055}
.quest-page .scene-holder>svg{max-height:none;width:100%;height:auto}
.quest-page .scene-toggle{top:13px;left:13px;border-color:#d0b47b;background:#f5e9c6f0;box-shadow:0 2px 5px #231b1250}
.quest-page .scene-toggle button{color:#4d4c2b}.quest-page .scene-toggle button.active{background:#48622c;color:#fff3d2}
.quest-page .companion-caption{top:auto;bottom:13px;right:13px;color:#4b341d;background:#fff1cce8;box-shadow:0 2px 5px #231b1230;font-size:11px}
.quest-page .world-message{background:linear-gradient(#f7e9c6,#e4ca96);border-top:2px solid #bd9459;padding:19px 20px;color:#45301a;gap:14px}
.quest-page .world-message h2{font-size:25px;line-height:1.1;color:#48321c}.quest-page .world-message p{color:#695133;font-size:12px}
.quest-page .adventure-track{background:#e4ca96;padding:0 20px 19px}.quest-page .track-note{color:#614d2e;line-height:1.4;gap:12px;font-size:10px}
.quest-page .q-button,.quest-page .q-button.green{border:1px solid #a2a054;background:linear-gradient(#5f7a32,#3c581d);color:#fff6d5;box-shadow:inset 0 1px 0 #b6c77b77,inset 0 -2px 0 #243711,0 2px 4px #2a281b25;border-radius:10px;min-height:44px;font-size:13px;text-shadow:0 1px #23330e}
.quest-page .q-button:hover,.quest-page .q-button.green:hover{background:linear-gradient(#6f8b3e,#486725);color:#fffbe7}
.quest-page .q-button.secondary{background:linear-gradient(#fff1cb,#e2c597);color:#573c20;border-color:#b28a51;text-shadow:none;box-shadow:inset 0 1px 0 #fff7dd}
.quest-page .q-button.small{min-height:39px;font-size:12px}
.quest-page .q-button:disabled{background:#dac7a6;color:#6c614c;border-color:#bba886;box-shadow:none;text-shadow:none}
.quest-page .level-card{border:1px solid #a4b077;background:linear-gradient(#e6eccd,#cbd6a8);color:#3c4e22;border-radius:12px;padding:15px 17px}
.quest-page .level-copy>div{flex-wrap:wrap;gap:4px}.quest-page .level-copy small{color:#59623b;font-size:11px}
.quest-page .level-mark{background:#f0d89d;color:#84602a;border:1px solid #c4a15c}.quest-page .level-copy .track{background:#c4cca6}.quest-page .level-copy .track>span{background:#6b7e34}
.quest-page .gentle-note{color:#e1d6b5;font-size:17px;margin:0}
.quest-page .tasks-heading h2{font-size:30px;color:#483019}.quest-page .tasks-heading .q-eyebrow{color:#7b623f;font-size:10px}
.quest-page .date-picker{background:#fff4d7;border-color:#c5a775;color:#654c2d}
.quest-page .progress-summary>div:first-child{font-size:12px;color:#705c3d;gap:8px;flex-wrap:wrap}.quest-page .progress-summary strong{color:#48602c}
.quest-page .track{background:#d8c598}.quest-page .track>span{background:#5e7833}
.quest-page .task-row{background:#fff5d9;border-color:#ccb17e;border-radius:11px;padding:14px 12px;gap:10px;box-shadow:0 2px 0 #b99a6420}
.quest-page .task-row.starred{background:#f9e7b9;border-color:#b89652}.quest-page .task-row.done{background:#e4e4be}.quest-page .task-row.done .task-title{color:#687047}
.quest-page .task-check{width:34px;height:34px;border:2px solid #98723d;border-radius:6px;background:#fff9e7;color:#fff6db;flex-shrink:0}
.quest-page .task-row.done .task-check{background:#527332;border-color:#3b5722}
.quest-page .task-copy .task-title{font-size:14px;color:#48321b}.quest-page .task-meta{color:#7a6544;font-size:11px}.quest-page .task-category{background:#eddeb9;color:#837044}
.quest-page .task-prize{color:#916126;font-size:12px}.quest-page .task-menu>summary{color:#775934}.quest-page .task-menu>div{background:#fff3d3;border-color:#c7a66c}
.quest-page .task-menu button:hover{background:#e9d5ac}
.quest-page .add-task{min-height:49px;border:1px solid #8e983e;border-radius:11px;background:linear-gradient(#5a7a32,#38511e);box-shadow:inset 0 1px 0 #b1c775,inset 0 -3px 0 #2b3d16,0 3px 7px #523a2122;font:700 17px/1.4 Georgia,serif;color:#fff1c8;margin-top:18px}
.quest-page .add-task:hover{background:linear-gradient(#6b883e,#456024)}
.quest-page .empty-state{padding:25px 15px;background:#f7ebcd;border-color:#d0b782;color:#634d2c}.quest-page .empty-state h3{font-size:25px;color:#50361e}.quest-page .empty-state p{font-size:13px;color:#715a38}
.quest-page .suggestions summary{color:#68512c;font-size:12px}.quest-page .suggestion-grid button{background:#fff3cf;border-color:#c6a873;color:#654c2c;font-size:11px}
.quest-page .completed-heading{color:#665c36;font-size:11px}
.quest-page .quest-footnote{color:#dfd5b6;border-top-color:#8c9259;font-size:11px}.quest-page .quest-footnote .text-button{color:#f5dca7}
.quest-page .section-title h2{color:#ffdfa7;font-size:34px;line-height:1.2}.quest-page .section-title p{color:#e5dcbd;font-size:14px;line-height:1.5}
.quest-page .portrait-card{background:radial-gradient(ellipse at center,#fff2cf,#dfc293);border:3px solid #ad8350;border-radius:15px;padding:22px;box-shadow:inset 0 0 0 2px #f7e8c6}
.quest-page .portrait-card>svg{height:300px;width:280px;filter:drop-shadow(0 3px 2px #51371718)}
.quest-page .portrait-card h2{color:#51351c}.quest-page .portrait-card p{color:#705637;font-size:13px}
.quest-page .companion-settings{padding:24px;background:linear-gradient(#f8ebc9,#e5cca0);border:2px solid #b58a50;border-radius:15px;min-width:0}
.quest-page .field-label{color:#57401f;font-size:13px}.quest-page .animal-choice{background:#f5e9ca;border-color:#c1a471;color:#674e2c;border-radius:10px;font-size:12px}
.quest-page .animal-choice svg{height:110px}.quest-page .animal-choice.active{border-color:#577339;background:#d7dfb6;color:#344d1d}
.quest-page .animal-choice:hover{border-color:#708443;background:#e4e8c8}
.quest-page .inline-form input{background:#fff6dd;border-color:#b8a174;color:#47351d}
.quest-page .companion-settings h3,.quest-page .room-items h3{color:#54391d;font-size:24px}.quest-page .gentle-description{color:#766142;font-size:12px}
.quest-page .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.quest-page .inventory-card,.quest-page .shop-card{background:linear-gradient(#fff0ca,#e7cda0);border:2px solid #b48d54;border-radius:12px;box-shadow:inset 0 0 0 1px #f8e7c0;color:#4c341b;min-width:0}
.quest-page .inventory-card h3,.quest-page .shop-card h3{font:600 14px/1.4 Arial,sans-serif;color:#503719}
.quest-page .item-art{background:radial-gradient(ellipse at center,#f9edce,#d6bd8d);border:1px solid #d4b984;border-radius:8px;overflow:hidden;height:142px}
.quest-page .item-art>svg{height:132px;width:132px;filter:drop-shadow(0 4px 2px #50351920)}
.quest-page .inventory-card .item-art{height:115px}.quest-page .inventory-card .item-art>svg{height:108px;width:108px}
.quest-page .owned-label{position:static;align-self:flex-start;display:inline-block;margin:0 0 10px;font-size:10px;letter-spacing:0;color:#52602e;background:#f3edcc;border-color:#d5c68b;line-height:1.5}
.quest-page .shop-card p{font-size:12px;color:#755a37}.quest-page .shop-card .q-button{font-size:12px}
.quest-page .segment{background:#2c4326;border:1px solid #8a9257;margin-bottom:20px;width:fit-content;max-width:100%}.quest-page .segment button{color:#e3d9b1;min-height:40px}.quest-page .segment button.active{background:#f1d8a2;color:#513b20}
.quest-page .room-items{padding:24px;background:linear-gradient(#faebc6,#e2c799);border:2px solid #ae8249;border-radius:14px}.quest-page .room-items>p{color:#6e5430;font-size:13px}
.quest-page .journey-stats .stat-card{background:linear-gradient(#fae9bd,#dfbc80);border:2px solid #a77d42;box-shadow:inset 0 1px #fff3d5}.quest-page .stat-card strong{color:#4e642b}.quest-page .stat-card span{color:#73532d;font-size:12px}
.quest-page .history-list{background:#f5e3bc;border:2px solid #b38d57}.quest-page .history-row{border-color:#ceb583}.quest-page .history-row span{color:#6f5939}.quest-page .history-row .text-button{color:#3f5929}
.quest-page .journey-empty{background:#efdfb9;color:#5c482d}.quest-page .milestone-note{background:#e4e9c7;border-color:#a3b67e;color:#4c6135}
.quest-page #quest-dialog{background:linear-gradient(#fff2d2,#eed7ae);border:3px solid #a87f47;color:#4d351c;box-shadow:0 20px 75px #101a1166}
.quest-page .dialog-head h2,.quest-page .settings-section h3{color:#51371c}.quest-page .dialog-close{background:#e2c696;color:#674a27}
.quest-page .form-field>input{background:#fff8e6;border-color:#c5a56a;color:#45351f}.quest-page .choice-group button{background:#fff3d0;border-color:#c8ab74;color:#6c542e;min-height:39px}
.quest-page .choice-group button[aria-pressed=true]{background:#dbe5b5;border-color:#6c843d;color:#3f5922}
.quest-page .settings-section{border-color:#cfb787}.quest-page .settings-section p{color:#6d5535;font-size:13px}.quest-page .form-details summary{color:#4c6027;font-size:12px}
.quest-page .quest-toast{background:#fff0c9;border:2px solid #ac884c;color:#39521e;box-shadow:0 7px 25px #17261755;font-size:14px;line-height:1.5}
.quest-page .quest-footer{color:#76634a}.quest-page .quest-footer a{color:#456126}
.quest-page button:focus-visible,.quest-page summary:focus-visible,.quest-page input:focus-visible{outline:3px solid #dcad4d;outline-offset:3px}
@media(max-width:1050px){
 .quest-page .quest-wrap{padding:22px 22px 6px}.quest-page .today-grid{gap:20px}.quest-page .app-tabs button{padding-left:8px;padding-right:8px}.quest-page .today-grid>div:last-child{padding:20px}.quest-page .world-message{flex-direction:column;align-items:stretch}.quest-page .world-message button{width:100%}.quest-page .quest-intro>div:first-child{padding:17px 23px}.quest-page .room-grid{grid-template-columns:1.1fr 1fr}
}
@media(max-width:780px){
 .quest-page .quest-wrap{width:calc(100% - 16px);margin:9px auto 20px;padding:16px 12px 4px;border-width:4px;border-radius:13px}
 .quest-page .quest-intro{padding:0 0 16px;flex-wrap:wrap;justify-content:center;gap:12px}.quest-page .quest-intro>div:first-child{width:100%;padding:15px 12px}.quest-page .quest-intro h1{font-size:43px}.quest-page .quest-intro .intro-spark{font-size:21px}.quest-page .quest-intro .q-eyebrow{font-size:9px}.quest-page .quest-intro>div>p:last-child{font-size:13px}
 .quest-page #wallet{width:100%}.quest-page .wallet{justify-content:center;width:100%;padding:10px 16px;gap:14px;box-sizing:border-box}.quest-page .wallet strong{font-size:23px}.quest-page .wallet small{font-size:11px}.quest-page .level-badge,.quest-page .wallet-separator{display:block}.quest-page .level-badge strong{font-size:17px}
 .quest-page .app-toolbar{padding:6px 6px 8px;gap:8px;margin-bottom:16px}.quest-page .app-tabs{gap:3px;flex-basis:100%;width:100%}.quest-page .app-tabs button{padding:8px 1px 11px;min-width:0;min-height:55px;font-size:18px;gap:1px}.quest-page .app-tabs button span{font-size:11px}
 .quest-page .toolbar-actions{width:100%;justify-content:flex-end;padding:0 3px;gap:10px}.quest-page .toolbar-actions .sound-toggle{min-height:40px;height:40px;margin:0}.quest-page .settings-button{height:40px;width:40px;margin:0}
 .quest-page .today-grid{grid-template-columns:1fr;gap:18px}.quest-page .today-grid>div:last-child{padding:20px 15px;border-width:2px;border-radius:12px}.quest-page .tasks-heading h2{font-size:29px}.quest-page .tasks-heading{gap:12px}.quest-page .date-picker{font-size:14px}
 .quest-page .scene-holder>svg{max-height:none}.quest-page .scene-toggle{top:9px;left:9px}.quest-page .scene-toggle button{min-height:35px;padding:7px 10px}.quest-page .companion-caption{bottom:9px;right:9px;max-width:70%;overflow-wrap:anywhere}
 .quest-page .world-message{padding:17px;flex-direction:column;align-items:stretch}.quest-page .world-message h2{font-size:24px}.quest-page .world-message button{width:100%;min-height:46px}.quest-page .adventure-track{padding:0 17px 17px}.quest-page .level-card{padding:12px 14px}
 .quest-page .task-row{gap:8px;padding:13px 10px}.quest-page .task-category{display:none}.quest-page .task-check{width:38px;height:38px}.quest-page .task-menu>summary{width:28px;height:40px}.quest-page .task-meta{font-size:11px}.quest-page .task-title{font-size:14px}
 .quest-page .section-title{margin:4px 0 17px}.quest-page .section-title h2{font-size:28px}.quest-page .section-title p{font-size:13px}.quest-page .companion-grid{grid-template-columns:1fr;gap:18px}.quest-page .portrait-card{padding:15px;display:flex;flex-direction:column;text-align:center;gap:0}.quest-page .portrait-card>svg{width:245px;height:260px;max-width:100%;grid-row:auto}.quest-page .portrait-card h2,.quest-page .portrait-card p{align-self:center}
 .quest-page .companion-settings{padding:18px 14px}.quest-page .animal-choices{gap:6px}.quest-page .animal-choice{padding:5px;font-size:12px}.quest-page .animal-choice.active{padding:4px}.quest-page .animal-choice svg{height:87px}.quest-page .inline-form{flex-wrap:wrap}.quest-page .inline-form label{flex-basis:100%;margin-bottom:4px}.quest-page .inline-form button{margin-bottom:16px}
 .quest-page .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.quest-page .shop-card{padding:11px}.quest-page .item-art{height:128px}.quest-page .shop-card .item-art{height:128px}.quest-page .shop-card h3{font-size:13px}.quest-page .shop-card p{font-size:12px}.quest-page .shop-card .q-button{font-size:12px;padding:8px;min-height:44px}.quest-page .inventory-grid{gap:10px}.quest-page .inventory-card{padding:11px}.quest-page .inventory-card button{font-size:12px;min-height:44px}
 .quest-page .room-grid{grid-template-columns:1fr;gap:18px}.quest-page .room-items{padding:18px 14px}.quest-page .q-button{min-height:44px}.quest-page .quest-footnote{gap:12px;line-height:1.5;font-size:10px;margin-top:22px}.quest-page .quest-footnote .text-button{font-size:11px}.quest-page .form-field>input,.quest-page .inline-form input{font-size:16px}
}
@media(max-width:360px){.quest-page .quest-wrap{width:calc(100% - 10px);padding:12px 8px 4px}.quest-page .quest-intro h1{font-size:37px}.quest-page .app-tabs button span{font-size:10px}.quest-page .app-tabs{gap:1px}.quest-page .today-grid>div:last-child{padding:16px 11px}.quest-page .animal-choice svg{height:75px}.quest-page .shop-grid{gap:8px}.quest-page .shop-card{padding:9px}}

/* Category colors are shared by the quest list and its category picker. */
.quest-page [data-category="home"]{--category-color:#b84c76;--category-bg:#fbe5ef;--category-ink:#73344e}
.quest-page [data-category="wellbeing"]{--category-color:#4b8061;--category-bg:#e4f2e8;--category-ink:#315c43}
.quest-page [data-category="faith"]{--category-color:#447fba;--category-bg:#e4effb;--category-ink:#2d557e}
.quest-page [data-category="work"]{--category-color:#8c64b4;--category-bg:#f0e7f8;--category-ink:#61417f}
.quest-page [data-category="connection"]{--category-color:#b57c22;--category-bg:#fff0cd;--category-ink:#76551e}
.quest-page .task-row[data-category]{border:1px solid var(--category-color);border-inline-start:6px solid var(--category-color);background:var(--category-bg)}
.quest-page .task-row[data-category].starred{box-shadow:0 0 0 2px #c59b4580}
.quest-page .task-row[data-category].done{background:var(--category-bg)}
.quest-page .task-row[data-category] .task-category{color:var(--category-ink);background:#ffffff9e}
.quest-page .task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.quest-page .task-label{display:inline-flex;padding:2px 8px;border:1px solid var(--category-color);border-radius:20px;background:#ffffffb3;color:var(--category-ink);font:600 10px/1.5 Arial,sans-serif;white-space:nowrap}
.quest-page .choice-group[data-group="category"] button[data-category]{border-color:var(--category-color);background:var(--category-bg);color:var(--category-ink)}
.quest-page .choice-group[data-group="category"] button[data-category]:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--category-color);margin-inline-end:6px}
.quest-page .choice-group[data-group="category"] button[data-category][aria-pressed="true"]{outline:2px solid var(--category-color);outline-offset:2px;box-shadow:none}
/* A stepping Explorer only while an adventure is traveling. */
.quest-page .is-adventuring .companion-stride{transform-box:fill-box;transform-origin:center bottom;animation:explorer-walk .8s ease-in-out infinite}
.quest-page .is-adventuring .companion-step{transform-box:view-box;animation:explorer-step .8s ease-in-out infinite}
.quest-page .is-adventuring .companion-step-left{transform-origin:110px 278px}
.quest-page .is-adventuring .companion-step-right{transform-origin:187px 278px;animation-delay:-.4s}
@keyframes explorer-walk{0%,50%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(2px,-4px) rotate(1deg)}75%{transform:translate(-2px,-4px) rotate(-1deg)}}
@keyframes explorer-step{0%,50%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(1px,-5px) rotate(-4deg)}75%{transform:translate(-1px,1px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.quest-page .is-adventuring .companion-stride,.quest-page .is-adventuring .companion-step{animation:none}}

/* Brass sunshine coins, with the spoken amount retained beside every icon. */
.quest-page .sunshine-coin{display:inline-block;width:20px;height:20px;flex:none;vertical-align:-.2em;filter:drop-shadow(0 1px 1px #68431d35)}
.quest-page .coin-icon{display:inline-flex;line-height:0;flex:none;text-shadow:none}
.quest-page .coin-icon .sunshine-coin{width:48px;height:48px}
.quest-page .wallet strong{font-variant-numeric:tabular-nums}
.quest-page .task-prize,.quest-page .history-coins{display:inline-flex;align-items:center;gap:4px}
.quest-page .task-prize>span{margin:0}
.quest-page .task-prize .sunshine-coin{width:21px;height:21px}
.quest-page .shop-card .q-button .sunshine-coin{width:20px;height:20px}
/* Fresh garden surfaces replace the old parchment panels. */
.quest-page{--q-soft:#e3eed8;--q-border:#a3b991;--q-text:#2f482d;--q-muted:#5c7250;background:linear-gradient(160deg,#f2f7ed,#dce9d3);color:#2f482d}
.quest-page .today-grid>div:last-child{background:radial-gradient(ellipse at 15% 0,#f6fbf1,transparent 70%),linear-gradient(135deg,#e8f2df,#cbdcbb);border-color:#819d69;box-shadow:inset 0 0 0 2px #f2f8e9,0 5px 15px #0c221444}
.quest-page .wallet{background:linear-gradient(#f1f7e9,#cdddba);border-color:#91a873;box-shadow:inset 0 1px 0 #fbfff4,0 4px 10px #1023154d;color:#314d2b}
.quest-page .wallet small,.quest-page .level-badge{color:#526c43}.quest-page .wallet-separator{background:#afc19b}
.quest-page .world-card{background:#dbe8d3;border-color:#6a8453}
.quest-page .world-message{background:linear-gradient(#edf5e6,#cddfbd);border-top-color:#9eb78d;color:#2f4a2b}
.quest-page .world-message h2,.quest-page .tasks-heading h2,.quest-page .task-copy .task-title{color:#2d482b}
.quest-page .world-message p,.quest-page .task-meta,.quest-page .tasks-heading .q-eyebrow{color:#516b45}
.quest-page .adventure-track{background:#cddfbd}.quest-page .track-note{color:#4f6944}
.quest-page .scene-toggle,.quest-page .companion-caption{background:#f1f8e8ed;border-color:#abc493;color:#3a5834}
.quest-page .scene-toggle button{color:#3e5934}.quest-page .scene-toggle button.active{color:#f6ffeb}
.quest-page .date-picker,.quest-page .inline-form input,.quest-page .form-field>input,.quest-page .form-field>select{background:#f6fbf0;border-color:#91ad7d;color:#2f482d}
.quest-page .task-check{background:#f9fff4;border-color:#91aa78}.quest-page .task-row.done .task-check{background:#527332;border-color:#3b5722}
.quest-page .task-menu>div{background:#f2f8e9;border-color:#95af7c}.quest-page .task-menu>summary{color:#49633c}.quest-page .task-menu[open]>summary,.quest-page .task-menu button:hover{background:#d7e7c8}
.quest-page .empty-state,.quest-page .journey-empty{background:#e5f0da;border-color:#9eb98a;color:#49613b}.quest-page .empty-state h3{color:#314b2d}.quest-page .empty-state p{color:#526c45}
.quest-page .suggestions summary,.quest-page .completed-heading{color:#49623c}.quest-page .suggestion-grid button{background:#f0f7e7;border-color:#a0b88a;color:#3e5b33}
.quest-page .q-button.secondary{background:linear-gradient(#f4faec,#d0e1be);color:#36552e;border-color:#88a672;box-shadow:inset 0 1px 0 #fbfff5}
.quest-page .q-button:disabled{background:#cbd6bf;color:#53634a;border-color:#a7b797}
.quest-page .sound-toggle,.quest-page .icon-button{background:#e4efda;border-color:#8eaa75;color:#37562d}.quest-page .sound-toggle[aria-pressed=false]{background:#536947;color:#f2f8e7;border-color:#a3b78f}
.quest-page .portrait-card{background:radial-gradient(ellipse at center,#f3fae9,#c4d8b0);border-color:#829e69;box-shadow:inset 0 0 0 2px #eaf4df}
.quest-page .portrait-card h2,.quest-page .companion-settings h3,.quest-page .room-items h3,.quest-page .inventory-card h3,.quest-page .shop-card h3{color:#34502d}
.quest-page .portrait-card p,.quest-page .gentle-description,.quest-page .shop-card p,.quest-page .room-items>p{color:#526d45}
.quest-page .companion-settings,.quest-page .room-items{background:linear-gradient(#edf6e3,#cadcba);border-color:#829e69}
.quest-page .field-label,.quest-page .form-field{color:#3e5a34}
.quest-page .animal-choice{background:#eaf3df;border-color:#a4bc8e;color:#48603c}.quest-page .animal-choice.active{border-color:#4e7437;background:#cadfb2;color:#2f4f24}.quest-page .animal-choice:hover{background:#dcebc9;border-color:#708e57}
.quest-page .inventory-card,.quest-page .shop-card{background:linear-gradient(#edf6e3,#cbddb7);border-color:#819d65;box-shadow:inset 0 0 0 1px #eef7e3;color:#34502d}
.quest-page .item-art{background:radial-gradient(ellipse at center,#edf5e1,#c0d3a9);border-color:#a6bc8c}
.quest-page .owned-label{background:#e5efda;border-color:#a0b582;color:#466138}
.quest-page .segment button.active{background:#dbe9c7;color:#3a562b}
.quest-page .journey-stats .stat-card{background:linear-gradient(#eaf3dd,#bed3a6);border-color:#829f67;box-shadow:inset 0 1px #f5fbea}.quest-page .stat-card span{color:#4b633d}
.quest-page .history-list{background:#e5efd8;border-color:#8fa976}.quest-page .history-row{border-color:#b0c698}.quest-page .history-row span{color:#49623c}
.quest-page #quest-dialog{background:linear-gradient(#f2f9e9,#d5e5c6);border-color:#7f9d65;color:#344f2c}
.quest-page .dialog-head h2,.quest-page .settings-section h3{color:#34502d}.quest-page .dialog-close{background:#c7dbb3;color:#3b5931}
.quest-page .choice-group button{background:#edf6e3;border-color:#9db985;color:#48613a}.quest-page .choice-group button[aria-pressed=true]{background:#c9ddb2;border-color:#6c8c50;color:#345127}
.quest-page .settings-section{border-color:#b1c89a}.quest-page .settings-section p{color:#4f6841}
.quest-page .quest-toast{background:#eef7e3;border-color:#89a66e;color:#34502c}
.quest-page .quest-footer{color:#526b44}.quest-page .quest-footer a{color:#385b2c}

/* Carved woodland boards frame the colored quest cards. */
.quest-page{--wood-panel:repeating-linear-gradient(2deg,transparent 0 6px,#25170d18 7px 8px,transparent 9px 13px),repeating-radial-gradient(ellipse at 20% 30%,transparent 0 9px,#24180f0e 10px 11px,transparent 12px 25px),repeating-linear-gradient(0deg,transparent 0 88px,#20170f55 89px 91px,#d2aa6a2b 92px,transparent 93px 174px),linear-gradient(90deg,#5e412a,#815c3b 28%,#65482f 66%,#795435);--wood-edge:#a47d49;--wood-copy:#f5e6c8;--wood-muted:#e1cfaa;--wood-shadow:inset 0 1px 0 #d8b37b99,inset 0 -4px 0 #2d1c0f,inset 3px 0 0 #b0895455,inset -3px 0 0 #26180f88,0 6px 15px #0c221444}
.quest-page .today-grid>div:last-child,.quest-page .wallet,.quest-page .portrait-card,.quest-page .companion-settings,.quest-page .room-items,.quest-page .inventory-card,.quest-page .shop-card,.quest-page .journey-stats .stat-card,.quest-page .history-list,.quest-page #quest-dialog{background:var(--wood-panel);border-color:var(--wood-edge);box-shadow:var(--wood-shadow);color:var(--wood-copy)}
.quest-page .wallet{border-width:3px}.quest-page .wallet strong{color:#fff2cf}.quest-page .wallet small,.quest-page .level-badge{color:#e2d6b3}.quest-page .wallet-separator{background:#ad8d56}
.quest-page .world-card{background:#65472e;border-color:#9e7744;box-shadow:var(--wood-shadow)}
.quest-page .world-message{background:var(--wood-panel);border-top-color:#aa824f;color:var(--wood-copy)}
.quest-page .world-message h2,.quest-page .tasks-heading h2,.quest-page .portrait-card h2,.quest-page .companion-settings h3,.quest-page .room-items h3,.quest-page .inventory-card h3,.quest-page .shop-card h3,.quest-page .dialog-head h2,.quest-page .settings-section h3{color:#ffedc5}
.quest-page .world-message p,.quest-page .tasks-heading .q-eyebrow,.quest-page .portrait-card p,.quest-page .gentle-description,.quest-page .shop-card p,.quest-page .room-items>p{color:var(--wood-muted)}
.quest-page .adventure-track{background:var(--wood-panel)}.quest-page .track-note{color:#e8dab8}
.quest-page .progress-summary>div:first-child{color:#eee0bd}.quest-page .progress-summary strong{color:#dcebc1}.quest-page .progress-summary .track{background:#2c2418}.quest-page .progress-summary .track>span{background:#a4bf71}
.quest-page .completed-heading,.quest-page .suggestions summary{color:#efdfb7}
.quest-page .empty-state,.quest-page .journey-empty{background:#3e302199;border-color:#b18a53;color:#efdfba}.quest-page .empty-state h3{color:#ffedc5}.quest-page .empty-state p{color:#e2d1ac}
.quest-page .task-menu>div{background:var(--wood-panel);border-color:#b08b54;box-shadow:var(--wood-shadow)}.quest-page .task-menu button{color:#f4e7c8}.quest-page .task-menu button:hover{background:#ffffff13}.quest-page .task-menu .danger{color:#ffbcb0}
.quest-page .inline-form label,.quest-page .field-label,.quest-page .form-field{color:#efdfb9}
.quest-page .owned-label{background:#dbe7c8;color:#36522a;border-color:#a5b97e}
.quest-page .journey-stats .stat-card strong{color:#eed184}.quest-page .stat-card span,.quest-page .history-row span{color:#ecddba}.quest-page .history-row{border-color:#a38354}.quest-page .history-row .text-button{color:#e0edc5}
.quest-page .settings-section{border-color:#a08255}.quest-page .settings-section p,.quest-page .form-hint{color:#e7d8b5}.quest-page .form-details summary{color:#dcebc1}
.quest-page .quest-toast{background:var(--wood-panel);border-color:#b18b52;color:#fff0cb;box-shadow:var(--wood-shadow)}

/* The arcade shares earned play time between two original garden games. */
.quest-page .arcade-intro{margin:0 0 20px}.quest-page .arcade-intro .q-eyebrow{color:#e2d7ae}.quest-page .arcade-intro h2{font:700 34px/1.2 Georgia,serif;color:#ffedc5}.quest-page .arcade-intro p:last-child{color:#e4dfc4;font:14px/1.6 Arial,sans-serif;margin-top:9px;max-width:670px}
.quest-page .arcade-pass,.quest-page .arcade-console{background:var(--wood-panel);border:3px solid var(--wood-edge);box-shadow:var(--wood-shadow);border-radius:14px;color:var(--wood-copy)}
.quest-page .arcade-pass{padding:18px 20px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.quest-page .arcade-pass>div:first-child{display:flex;flex-direction:column;min-width:105px}.quest-page .arcade-time{font:700 36px/1 Georgia,serif;color:#ffe7a5;font-variant-numeric:tabular-nums}.quest-page .arcade-time-label{font:11px/1.4 Arial,sans-serif;margin-top:7px;color:#ecdbb2}.quest-page .arcade-pass-copy{flex:1;min-width:160px;display:flex;flex-direction:column;gap:7px}.quest-page .arcade-pass-copy strong{font-size:15px;color:#ffefca}.quest-page .arcade-pass-copy span{font:12px/1.5 Arial,sans-serif;color:#e7d8b4}.quest-page .arcade-pass .q-button{gap:7px;flex-wrap:wrap}.quest-page .arcade-price{font-size:10px;opacity:.9}
.quest-page .arcade-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.quest-page .arcade-choice{display:flex;align-items:center;gap:14px;text-align:left;padding:16px;background:var(--wood-panel);border:2px solid #a5804b;border-radius:12px;color:#f9e8c3;box-shadow:var(--wood-shadow)}.quest-page .arcade-choice>span:first-child{font-size:36px;line-height:1}.quest-page .arcade-choice>span:last-child{display:flex;flex-direction:column;gap:5px}.quest-page .arcade-choice strong{font:700 21px/1.2 Georgia,serif}.quest-page .arcade-choice small{font:12px/1.5 Arial,sans-serif;color:#e1d3af}.quest-page .arcade-choice.active{border-color:#e7c57a;outline:2px solid #789b4e;outline-offset:2px}.quest-page .arcade-choice:hover{filter:brightness(1.08)}
.quest-page .arcade-console{overflow:hidden;padding:18px}.quest-page .arcade-controls{display:flex;align-items:center;gap:15px;margin-bottom:15px}.quest-page .arcade-controls [role=status]{font:12px/1.6 Arial,sans-serif;color:#eaddb8}.quest-page .arcade-game{min-width:0;border-radius:10px;overflow:hidden}.quest-page .arcade-note{font:12px/1.6 Arial,sans-serif;color:#d9e5c5;margin:16px 2px 6px;max-width:700px}
.quest-page .check-label{color:#f3e2bc}.quest-page .form-error{color:#ffb8a7}
@media(max-width:600px){.quest-page .arcade-pass{padding:15px;gap:15px}.quest-page .arcade-pass .q-button{width:100%}.quest-page .arcade-choices{gap:10px}.quest-page .arcade-choice{padding:13px 10px;gap:9px;flex-direction:column;text-align:center}.quest-page .arcade-choice strong{font-size:20px}.quest-page .arcade-console{padding:12px}.quest-page .arcade-controls{align-items:flex-start}.quest-page .arcade-controls .q-button{flex-shrink:0}.quest-page .arcade-intro h2{font-size:30px}}
@media(max-width:540px){.quest-page .app-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.quest-page .app-tabs button{flex-direction:row;gap:7px;min-height:45px;padding:8px 5px 10px}.quest-page .app-tabs button span{font-size:12px}.quest-page .toolbar-actions{padding-top:8px}}

/* Phone-first arcade controls and a full-width matching board. */
.quest-page .arcade-inline-time{font:700 21px/1 Georgia,serif;color:#ffe7a5;font-variant-numeric:tabular-nums}
.quest-page .arcade-controls{position:sticky;top:6px;z-index:5;background:var(--wood-panel);padding:9px;border:1px solid #a6804c;border-radius:10px}
@media(max-width:540px){
 .quest-page.arcade-open .quest-wrap{width:calc(100% - 10px);padding-inline:5px;border-width:3px}
 .quest-page .arcade-intro,.quest-page .arcade-note{padding-inline:8px}
 .quest-page .arcade-pass{padding:14px 10px;gap:12px}
 .quest-page .arcade-choices{gap:8px}.quest-page .arcade-choice{padding:12px 6px}.quest-page .arcade-choice small{font-size:11px}
 .quest-page .arcade-console{padding:10px 6px;border-width:2px}
 .quest-page .arcade-console[data-selected-game="match"]{padding-inline:2px}
 .quest-page .arcade-controls{flex-wrap:wrap;gap:9px;margin-inline:3px}
 .quest-page .arcade-controls [role=status]{flex-basis:100%;font-size:12px}
 .quest-page .dq-garden-match{padding:10px 0;border:0;border-radius:8px;box-shadow:none;background:none}
 .quest-page .dq-garden-match .gm-top,.quest-page .dq-garden-match .gm-intro,.quest-page .dq-garden-match .gm-stats,.quest-page .dq-garden-match .gm-help,.quest-page .dq-garden-match .gm-status{margin-inline:8px}
 .quest-page .dq-garden-match .gm-board{gap:2px;padding:2px;border-width:1px}
 .quest-page .dq-garden-match .gm-cell{font-size:clamp(22px,7vw,32px)}
 .quest-page .dq-garden-match .gm-restart{min-height:44px}
 .quest-page .woodland-run .wr-stage{max-height:490px}
 .quest-page .woodland-run .wr-controls button{min-height:48px;padding:10px 5px}
}

.quest-page .woodland-run .wr-heading p{color:#e5d5b3}
.quest-page .woodland-run .wr-status,.quest-page .woodland-run .wr-instructions,.quest-page .woodland-run .wr-note{color:#e8dabc}
@media(max-width:360px){
 .quest-page.arcade-open .quest-wrap{width:calc(100% - 6px);padding-inline:2px;border-width:2px}
 .quest-page .arcade-console{border-width:1px}
 .quest-page .arcade-controls{margin-inline:2px;padding:7px}
 .quest-page .arcade-choice strong{font-size:18px}
 .quest-page .arcade-intro h2{font-size:27px}
}

@media(max-width:360px){.quest-page .header.wrap{width:calc(100% - 24px);gap:8px}}
@media(max-width:360px){.quest-page #navigation{left:0;right:0;width:100%;max-width:100%;box-sizing:border-box}}
@media(max-width:780px){.quest-page #navigation.open{background:var(--wood-panel);border:1px solid #8c673d;box-shadow:var(--wood-shadow)}.quest-page #navigation.open a{color:#f0dfb9}}
.quest-page .arcade-console{overflow:visible}

/* Phone swipes act immediately. A paused trail can be scrolled normally. */
.quest-page .woodland-run .wr-stage,.quest-page .woodland-run canvas{touch-action:pan-y;overscroll-behavior:contain;-webkit-touch-callout:none}
.quest-page .woodland-run.is-playing .wr-stage,.quest-page .woodland-run.is-playing canvas{touch-action:none;user-select:none;-webkit-user-select:none}
@media(max-width:700px),(max-width:1000px) and (max-height:520px){
 body.quest-page.runner-phone-playing{overflow:hidden;overscroll-behavior:none}
 .quest-page .runner-playing .arcade-console{position:fixed;inset:6px;inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));z-index:1000;max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px);display:flex;flex-direction:column;padding:9px}
 .quest-page .runner-playing .arcade-controls{position:static;flex-shrink:0;margin:0 0 7px;padding:7px;gap:8px}
 .quest-page .runner-playing .arcade-game{flex:1;min-height:0;overflow:hidden}
 .quest-page .runner-playing .woodland-run{height:100%;display:flex;flex-direction:column}
 .quest-page .runner-playing .wr-heading{flex:0 0 auto;flex-wrap:nowrap;gap:6px;margin:0 0 6px}
 .quest-page .runner-playing .wr-heading p,.quest-page .runner-playing .wr-instructions,.quest-page .runner-playing .wr-note,.quest-page .runner-playing .wr-bottom{display:none}
 .quest-page .runner-playing .wr-heading h3{font-size:18px;margin:0}
 .quest-page .runner-playing .wr-stats{flex-wrap:nowrap;gap:4px}
 .quest-page .runner-playing .wr-stat{min-width:40px;padding:4px 6px}
 .quest-page .runner-playing .wr-stat strong{font-size:16px}
 .quest-page .runner-playing .wr-stat span{font-size:9px;margin-top:2px}
 .quest-page .runner-playing .wr-stage{flex:1 1 0;min-height:0;max-height:none;aspect-ratio:auto;width:100%;max-width:none;margin:0}
 .quest-page .runner-playing .wr-controls{flex:0 0 auto;width:100%;margin:8px 0 0;gap:7px}
 .quest-page .runner-playing .wr-controls button{min-height:48px}
}

/* Garden Library: wooden shelves and a quiet, leafy reading surface. */
.quest-page .library-heading{margin:4px 0 24px;max-width:690px}
.quest-page .library-heading h2{font:700 36px/1.2 Georgia,serif;color:#ffedc5;margin:0 0 12px}
.quest-page .library-heading p,.quest-page .library-note{color:#e6ddbf;font:14px/1.7 Arial,sans-serif}
.quest-page .library-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 0 20px;border-bottom:12px solid #60432a;box-shadow:0 9px 6px -6px #1d281f80}
.quest-page .library-book{min-width:0;padding:18px;background:var(--wood-panel);border:2px solid #987042;border-radius:12px;box-shadow:var(--wood-shadow);display:flex;flex-direction:column;align-items:stretch;color:#ffedc5}
.quest-page .book-cover{--cover:#794a55;position:relative;min-height:245px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px 24px;margin:0 0 20px;border:1px solid #e3cf963d;border-radius:3px 10px 10px 3px;background:linear-gradient(90deg,#0005 0 5px,transparent 6px 13px,#f1e7b930 14px 15px,transparent 16px),linear-gradient(135deg,#ffffff14,transparent 50%),var(--cover);box-shadow:inset -5px 0 0 #0002,6px 8px 0 #cfd0b0,8px 10px 10px #1b241c77;color:#fff2d0}
.quest-page .book-cover:before,.quest-page .book-cover:after{content:"";position:absolute;left:28px;right:22px;height:16px;border-top:1px solid #e5d49a;border-bottom:1px solid #e5d49a;opacity:.7}
.quest-page .book-cover:before{top:26px}.quest-page .book-cover:after{bottom:26px}
.quest-page .book-fern{--cover:#335c47}.quest-page .book-blue{--cover:#3b586d}.quest-page .book-rose{--cover:#794a55}
.quest-page .book-title{font:700 27px/1.25 Georgia,serif;margin:0 0 14px;color:inherit}
.quest-page .book-author{font:13px/1.6 Georgia,serif;color:#f2e6bf;margin:0}
.quest-page .library-book h3{font:700 22px/1.3 Georgia,serif;color:#ffedc5;margin:0 0 8px}
.quest-page .library-book p{font:13px/1.6 Arial,sans-serif;color:#e3d6b2}
.quest-page .library-book .q-button{margin-top:auto;min-height:46px}
.quest-page .book-progress{font-size:12px!important;margin:10px 0 16px;color:#dce7c5!important}
.quest-page .library-note{margin-top:22px;max-width:730px}
.quest-page .library-error{background:#3e2d25;border:1px solid #dca68c;color:#ffe2d2;padding:14px;border-radius:8px;margin:12px 0;font:14px/1.6 Arial,sans-serif}
.quest-page .reader-shell{min-width:0;border:3px solid #9d7848;border-radius:13px;box-shadow:var(--wood-shadow);background:var(--wood-panel);padding:22px;color:#f9e7c3}
.quest-page .reader-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;padding-bottom:18px}
.quest-page .reader-toolbar h2{font:700 25px/1.3 Georgia,serif;margin:0;color:#ffedc5}
.quest-page .reader-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.quest-page .reader-controls label{display:flex;flex:1;min-width:160px;flex-direction:column;gap:7px;font:12px/1.5 Arial,sans-serif;color:#f1e2bc}
.quest-page .reader-controls select{width:100%;max-width:100%;min-height:46px;font:16px/1.4 Arial,sans-serif;color:#233e2d;background:#edf1e2;border:1px solid #afbd95;border-radius:7px;padding:10px}
.quest-page .reader-font{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.quest-page .reader-font button,.quest-page .reader-toolbar button{min-height:44px}
.quest-page .reader-font button{background:#e1e9ce;border:1px solid #aabb87;color:#2a472f;border-radius:7px;padding:10px 13px;font:14px/1.4 Arial,sans-serif}
.quest-page .reader-font button[aria-pressed=true]{background:#bcd299;outline:2px solid #f4dc9b;outline-offset:2px}
.quest-page .reader-body{font:20px/1.8 Georgia,serif;color:#273e30;background:linear-gradient(120deg,#f0f3e7,#e5ecda);border:1px solid #b8c4a4;border-radius:9px;padding:38px clamp(20px,5vw,65px);overflow-wrap:break-word;min-width:0;box-shadow:inset 0 1px 8px #61734c12}
.quest-page .reader-body.reader-font-small{font-size:18px}.quest-page .reader-body.reader-font-large{font-size:23px}
.quest-page .reader-chapter{font:700 27px/1.4 Georgia,serif;color:#2a4b32;margin:0 auto 24px;max-width:66ch}
.quest-page .reader-page{max-width:66ch;margin:auto}.quest-page .reader-page p{font:inherit;color:inherit;margin:0 0 1.2em}
.quest-page .reader-page p:last-child{margin-bottom:0}
.quest-page .reader-navigation{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.quest-page .reader-navigation button{min-height:48px;max-width:100%;white-space:normal}
.quest-page .reader-page-count{font:12px/1.6 Arial,sans-serif;text-align:center;color:#e5d9b7;flex:1;min-width:130px}
.quest-page .reader-reward{color:#e7dba3;font:13px/1.7 Arial,sans-serif;margin:15px 0}
.quest-page .reader-reward .sunshine-coin{width:22px;height:22px;vertical-align:middle}
.quest-page .reader-source{margin-top:20px;font:12px/1.6 Arial,sans-serif;color:#d8dfc3;overflow-wrap:anywhere}
.quest-page .reader-source a{color:#e7edca;text-decoration:underline}
.quest-page .reader-source summary{cursor:pointer;min-height:44px;padding-top:10px}
.quest-page .reader-source p{white-space:pre-line;color:inherit}
.quest-page .reader-loading{padding:35px 12px;color:#f2e4c0}
@media(max-width:900px){.quest-page .library-shelf{gap:12px}.quest-page .library-book{padding:13px}.quest-page .book-cover{padding-inline:20px;min-height:230px}.quest-page .book-title{font-size:23px}}
@media(max-width:650px){.quest-page .library-shelf{grid-template-columns:1fr}.quest-page .library-book{padding:20px;max-width:440px;width:100%;margin-inline:auto}.quest-page .book-cover{min-height:260px}.quest-page .book-title{font-size:29px}.quest-page .reader-shell{padding:13px}.quest-page .reader-body{padding:25px 18px;font-size:19px}.quest-page .reader-body.reader-font-small{font-size:17px}.quest-page .reader-body.reader-font-large{font-size:22px}.quest-page .reader-chapter{font-size:24px}.quest-page .reader-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quest-page .reader-page-count{grid-column:1/-1;grid-row:1}.quest-page .reader-navigation button{width:100%}.quest-page .library-heading h2{font-size:30px}.quest-page .reader-toolbar{align-items:flex-start}.quest-page .reader-toolbar h2{font-size:23px}}
@media(max-width:540px){.quest-page .app-tabs [data-tab=library]{grid-column:1/-1}.quest-page .reader-controls{display:block}.quest-page .reader-font{margin-top:14px}.quest-page .reader-body{padding:22px 13px}.quest-page .reader-shell{padding:10px;border-width:2px}.quest-page .reader-toolbar{gap:12px}.quest-page .library-book{padding:15px}.quest-page .book-cover{min-height:240px}}

.quest-page .reader-font button{min-width:44px}
