/* Hobbieness game hub. The existing app still owns navigation, progress and access. */
:root{--ink:#17382f;--pine:#176347;--mint:#d9f3d8;--sky:#d9eef3;--sun:#ffcc68;--coral:#f07b59;--paper:#f5f9ee;--line:#bfd7be;--shadow:#17382f24}
body{background:var(--paper);color:var(--ink);background-image:radial-gradient(#80ad8722 1px,transparent 1px);background-size:24px 24px}
.app-shell{grid-template-columns:218px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;min-height:0;padding:24px 12px;background:#123d35;border-right:4px solid #0b2c27}
.brand{padding:0 9px;font-size:18px}
.brand-mark{width:38px;height:38px;background:var(--sun);color:#163a31;box-shadow:0 3px 0 #b68135}
.brand-mark span{color:#e3674c}
.sidebar-label{margin:45px 13px 14px;color:#a7dec2;font-size:11px}
.main-nav{gap:8px}
.nav-item{height:51px;padding:0 12px;color:#d9f0e3;border:1px solid #ffffff18;border-radius:8px;font-size:13px}
.nav-item svg{width:19px;height:19px;color:#ffce76}
.nav-item:hover,.nav-item.is-active{background:#276a4c;color:#fff;border-color:#70b98c;transform:none}
.nav-item.is-active{box-shadow:0 3px 0 #082d24}
.nav-item.is-active::after{width:8px;height:8px;background:#ffce76;box-shadow:0 0 0 3px #ffce7633}
.sidebar-bottom{padding:18px 12px 4px;border-top:1px dashed #77a58b}
.sidebar-bottom p{font-size:16px}
.topbar{position:sticky;top:0;z-index:8;height:68px;padding:0 clamp(18px,3vw,48px);background:#fffcf2;border-bottom:3px solid #c4dabe;box-shadow:0 5px 0 #174b3320;backdrop-filter:none}
.topbar-progress{background:#ffebb6;border:2px solid #d6a44e;color:#593e16;box-shadow:0 3px 0 #bb8544}
.topbar-progress svg{color:#b6612e}
.profile-button{width:39px;height:39px;background:#d8edec;border:2px solid #8abfc1;color:#124b50}
main{max-width:1480px;padding:30px clamp(18px,3vw,48px) 78px}
.page-heading{align-items:center;margin-bottom:20px}
.page-heading h1{max-width:none;font-size:clamp(27px,2.8vw,38px);color:#163c31}
.eyebrow{color:#b15538;font-weight:800}
.subheading{font-size:14px;color:#456656}
.date-chip{border:2px solid #81bd90;background:#e0f6db;color:#275b37}
.adventure-hud{display:flex;align-items:center;gap:18px;max-width:960px;min-height:68px;margin-bottom:24px;padding:10px 14px 10px 18px;border:2px solid #80b687;border-bottom-width:5px;border-radius:8px;background:#e5f5d7}
.adventure-hud-title{display:flex;align-items:center;gap:8px;min-width:150px;color:#194b31;font:800 14px Manrope,sans-serif}
.adventure-hud-title svg{width:21px;height:21px;color:#d07a36}
.adventure-stats{display:flex;gap:28px;flex:1}
.adventure-stats>div{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.adventure-stats strong{font:800 21px Manrope,sans-serif;color:#175f3b}
.adventure-stats span{font-size:11px;font-weight:800;color:#4d7256}
.adventure-hud>button{display:grid;place-items:center;flex:none;width:33px;height:33px;border:2px solid #87b88d;border-radius:50%;background:#fff;color:#1a6941}
.adventure-hud>button:hover{transform:translateX(2px)}
.featured{display:block;position:relative;isolation:isolate;min-height:350px;max-width:100%;overflow:hidden;border:3px solid #214c3b;border-bottom-width:7px;border-radius:8px;background:#224c3e;box-shadow:0 9px 0 #163d3029}
.featured-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;min-height:0;border:0;background-image:url('assets/quest-outcomes.jpg');background-size:300% auto}
.featured-art.cover-art.cover-snack,.featured-art.cover-art.cover-herb{background-size:cover}
.featured::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#102f29f2 0%,#173d35d6 46%,#173d3540 75%,#173d3510 100%);pointer-events:none}
.featured-copy{position:relative;z-index:1;max-width:660px;padding:34px clamp(25px,4vw,55px)}
.featured-kicker{padding:7px 10px;border:1px solid #f6d38b88;border-radius:5px;background:#174d39b8;color:#ffe09b;font-size:11px}
.featured h2{margin:25px 0 12px;color:#fff;font-size:clamp(27px,3vw,39px);text-shadow:0 2px 8px #09241d88}
.featured p{color:#f1f8ed;font-size:15px}
.featured-facts{color:#e7f4df}
.button{min-height:43px;border-width:2px;border-radius:7px}
.button-accent{background:#ffb76b;border-color:#c37442;color:#3b2c23;box-shadow:0 4px 0 #a95d36}
.button-accent:hover{background:#ffd08e;border-color:#ae663e}
.button-dark{background:#176347;border-color:#0e4e35;color:#fff;box-shadow:0 4px 0 #0c3b29}
.button-dark:hover{background:#24805a}
.button-light{background:#fff5d6;border-color:#f7d58b;color:#234631;box-shadow:0 4px 0 #b79b69}
.button-outline{background:#fffdf3;border-color:#8fbd99;color:#1b6140;box-shadow:0 3px 0 #8db79a}
.button:active{transform:translateY(3px);box-shadow:none}
.value-strip{display:flex;justify-content:space-around;gap:12px;margin:20px 0 34px;padding:12px 16px;border:2px dashed #b4d0ad;border-radius:8px;background:#f5fbed;box-shadow:none}
.value-strip span{font-weight:800;color:#346648}
.value-strip svg{color:#da7849}
.section-topline{margin:30px 0 16px}
.section-topline h2{font-size:25px}
.section-topline>p{color:#52715c}
.filter-bar{gap:8px}
.filter{border:2px solid #b8d7b8;border-radius:7px;background:#e9f5e7;color:#335c40;box-shadow:0 2px 0 #aecdae;font-size:12px}
.filter:hover,.filter.is-active{background:#216d4a;border-color:#17533a;color:#fff;box-shadow:0 2px 0 #0c3c29}
.quest-grid{gap:16px}
.quest-card{border:2px solid #96bc9c;border-bottom-width:5px;border-radius:8px;background:#fffdf6;box-shadow:0 6px 0 #a3c3a12a}
.quest-card:nth-child(3n+2){border-color:#9fc9d0;background:#f8fdff}
.quest-card:nth-child(3n){border-color:#dfb885;background:#fffaf0}
.quest-card-image{height:182px;border-bottom:3px solid #ffffffa8}
.quest-card-image .free-tag{border:2px solid #2c7d50;border-radius:5px;background:#e6f8d9;color:#175b39;font-size:11px;box-shadow:0 3px 0 #134a302a}
.quest-card-body{padding:18px}
.quest-card h3{font-size:18px}
.card-footer{border-top:2px dashed #d2e0c9}
.card-footer button{min-height:32px;padding:5px 8px;border:1px solid #a5d3ad;border-radius:5px;background:#e0f5d7;color:#175b3b}
.card-progress,.progress-track,.skill-track{height:10px;background:#d9e7d8;border:1px solid #b8d1b5}
.card-progress span,.progress-track span,.skill-track span{background:#f39e54}
.quick-actions{margin:32px 0;padding:23px 0;border-color:#adc9af}
.quick-actions-list button,.quick-actions-list a{border:2px solid #aad0b2;border-bottom-width:4px;border-radius:7px;background:#fffef5}
.quick-actions-list button:hover,.quick-actions-list a:hover{background:#eaf9e6}
.next-banner{border:2px solid #92bec1;border-bottom-width:5px;border-radius:8px;background:#dff1f2}
.subject-search,.subject-overview,.subject-content{min-width:0}
.subject-overview-grid{gap:10px}
.subject-overview-item{min-height:83px;border:2px solid #9bc8a7;border-bottom-width:5px;border-radius:8px;background:#fffef4}
.subject-overview-item:nth-child(4n+2){border-color:#9ccbd0;background:#f5fcfd}
.subject-overview-item:nth-child(4n+3){border-color:#e8bd88;background:#fff9ed}
.subject-overview-item:nth-child(4n){border-color:#e5aaa1;background:#fff8f3}
.subject-overview-item:hover{transform:translateY(-3px);box-shadow:0 7px 0 #153f2922}
.subject-overview-item strong{font-size:15px}
.subject-nav button,.library-subject-tabs button{border-radius:6px}
.course-card{grid-template-columns:76px minmax(0,1fr);border:2px solid #a1c9aa;border-bottom-width:5px;border-radius:8px;background:#fffdf5;box-shadow:0 4px 0 #8cb2972e}
.course-card:nth-child(3n+2){border-color:#a1cbd1;background:#f7fcfd}
.course-card:nth-child(3n){border-color:#e6bb8c;background:#fffaf0}
.course-card-symbol{align-items:center;padding:0;background:#d6efd8;color:#1f734b;border-right:2px solid #add4b5}
.course-card:nth-child(3n+2) .course-card-symbol{background:#d7eef1;color:#236b79}
.course-card:nth-child(3n) .course-card-symbol{background:#fff0ca;color:#9b6333}
.course-card-symbol svg{width:33px;height:33px}
.course-card:hover{box-shadow:0 10px 0 #8cb29736}
.course-card-footer{border-top:1px dashed #bdd3be}
.course-access{border:2px solid #acd2b3;border-radius:7px;background:#e7f7e5}
.course-header-icon{border:2px solid #a6cdaa;border-bottom-width:5px;border-radius:8px}
.course-progress{padding:15px;border:2px solid #97c59d;border-radius:8px;background:#e7f6df}
.course-path{padding:25px 0;border-top:3px dashed #b9d7ad;border-bottom:3px dashed #b9d7ad}
.course-path-heading h2{font-size:24px}
.course-path ol{position:relative;display:grid;grid-template-columns:1fr;gap:17px;max-width:840px;margin:auto;padding:8px 0}
.course-path ol::before{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:4px dashed #b9d5aa}
.course-path li{width:48%;min-width:0;z-index:1}
.course-path li:nth-child(even){margin-left:auto}
.course-path li>button,.course-path li>div{min-height:82px;height:100%;align-items:center;padding:12px 14px;border:2px solid #bfd1ba;border-bottom-width:5px;border-radius:8px;background:#fffdf5;box-shadow:0 4px 0 #365a3c17}
.course-path li.is-next>button,.course-path li.is-next>div{border:3px solid #e98c4e;border-bottom-width:6px;background:#fff2ce;color:#5d3c24;box-shadow:0 0 0 5px #f3b66d40}
.course-path li.is-done>button,.course-path li.is-done>div{border-color:#57ad71;background:#e7f9dc}
.course-path li.is-locked>div{border-color:#c7d6c5;background:#f1f5ed;color:#738573}
.course-path-node{width:39px;height:39px;border:2px solid #8ebda0;background:#fff;font-size:15px}
.course-path li.is-next .course-path-node{border-color:#c96d3a;background:#e9844b}
.course-path li.is-done .course-path-node{border-color:#30824f;background:#3ba35f}
.course-path-copy small{font-size:11px}
.course-path-copy strong{font-size:14px}
.course-learning.is-path{max-width:900px;margin:auto}
.course-lesson,.lesson-panel,.step-rail{border:2px solid #9fc9a5;border-bottom-width:5px;border-radius:8px;background:#fffdf5}
.course-lesson{padding:25px}
.course-lesson .lesson-label,.lesson-label{display:inline-flex;padding:6px 9px;border:1px solid #e7b787;border-radius:5px;background:#fff1d9;color:#915234}
.course-task,.lesson-tip{border-left:4px solid #efaa62;background:#fff3de}
.course-complete,.quest-complete,.do-now-finish{border:2px solid #7bbb85;border-bottom-width:5px;border-radius:8px;background:#e5f9df}
.quest-head{border:2px solid #96c7a2;border-bottom-width:5px;background:#fffdf5}
.quest-head-art{border-left:2px solid #b8d6bb}
.quest-stage-meter{display:grid;gap:8px;max-width:430px;margin-top:19px;color:#316d49;font-size:12px;font-weight:800}
.quest-stage-meter>div{height:12px;overflow:hidden;border:2px solid #a6c9a6;border-radius:8px;background:#e2eede}
.quest-stage-meter>div>span{display:block;height:100%;border-radius:6px;background:#eda15c;transition:width .3s ease}
.step-rail h2{font-size:20px}
.step-links{position:relative}
.step-links::before{content:'';position:absolute;top:10px;bottom:10px;left:21px;border-left:3px dashed #bdd8b6}
.step-link{min-height:46px;border:1px solid transparent}
.step-link{position:relative;z-index:1;margin:5px 0;padding:7px;background:#fffdf7;border:2px solid #bad2b7;border-bottom-width:4px;border-radius:7px}
.step-link.is-complete{border-color:#72b784;background:#e4f7de}
.step-link.is-current{border-color:#9ecba9;border-radius:7px;background:#e1f4db}
.step-number{width:30px;height:30px;border:2px solid #a9c7aa;background:#fff;font-weight:800}
.step-link.is-complete .step-number{border-color:#2e9155;background:#3ba362}
.skill-grid{gap:16px}
.skill-item{padding:14px;border:2px solid #a4c9ab;border-bottom-width:5px;border-radius:8px;background:#fffdf5}
.skill-item:nth-child(3n+2){border-color:#9dc6ce;background:#f7fbfc}
.skill-item:nth-child(3n){border-color:#e6c08d;background:#fffbf1}
.skill-item:not(.is-started){opacity:.78}
.skill-item.is-started{box-shadow:0 3px 0 #d9e5d6}
.skill-heading>span{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.skill-heading svg{flex:none;width:17px;height:17px;color:#30805a}
.skill-heading strong{flex:none}
.skill-empty{grid-column:1/-1;padding:18px 0;color:#587064;font-size:14px}
.career-panel{display:grid;grid-template-columns:108px minmax(0,1fr) 112px;gap:19px;align-items:center;margin-bottom:15px;padding:23px;border:2px solid #417e5b;border-bottom-width:6px;border-radius:8px;background:#174c39;color:#f8fff8}
.career-level{display:grid;place-content:center;justify-items:center;width:108px;height:108px;border:3px solid #f5c96e;border-radius:8px;background:#fff2c9;color:#5b3b20;box-shadow:0 4px 0 #a97b3d}
.career-level span{font-size:11px;font-weight:900}
.career-level strong{font-size:54px;line-height:1}
.career-main{min-width:0}
.career-rank{display:flex;align-items:center;gap:6px;margin:0 0 5px;color:#f8c982;font-size:12px;font-weight:900;text-transform:uppercase}
.career-rank svg{width:17px;height:17px}
.career-main h2{margin:0 0 14px;color:#fff;font-size:25px;line-height:1.18}
.career-meter{height:14px;overflow:hidden;border:2px solid #93b59d;border-radius:6px;background:#35694f}
.career-meter span{display:block;height:100%;background:#f2b85d}
.career-meter-caption{display:flex;justify-content:space-between;gap:8px;margin-top:7px;color:#d6ebda;font-size:11px;line-height:1.35}
.career-meter-caption strong{color:#fff}
.career-next{margin:11px 0 0;color:#d6ebda;font-size:12px}
.career-share{display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:5px 0;border:0;background:none;color:#f7d18a;font-size:12px;font-weight:800;cursor:pointer}
.career-share svg{width:15px;height:15px}
#view-my-quests #account-entry{margin:0 0 13px}
#view-my-quests .local-xp-note{margin:0 0 12px}
.career-totals{display:grid;gap:10px;align-self:stretch;padding-left:18px;border-left:1px solid #6d9f7b}
.career-totals>div{display:grid;gap:0}
.career-totals strong{color:#fff;font-size:19px;line-height:1.15}
.career-totals span{color:#c9e1d0;font-size:10px;font-weight:700}
.point-rules{display:flex;align-items:center;flex-wrap:wrap;gap:7px 24px;margin-bottom:34px;padding:12px 0;border-bottom:1px solid #d0ded3}
.point-rules>div{display:flex;align-items:center;gap:7px;color:#254a39;font-size:12px}
.point-rules svg{width:17px;height:17px;color:#c36f48}
.point-rules strong{font-size:13px}
.point-rules p{flex-basis:100%;margin:0;color:#66796b;font-size:11px;line-height:1.45}
.progression-section{margin:0 0 37px}
.progression-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}
.progression-heading h2{font-size:21px;line-height:1.2}
.progression-heading>span{color:#57715e;font-size:12px;font-weight:800}
.rank-ladder{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:8px;overflow-x:auto;padding-bottom:7px}
.rank-node{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;min-height:135px;padding:13px 6px;border:2px solid #d0ddce;border-bottom-width:4px;border-radius:7px;background:#edf2eb;color:#6a7c70;text-align:center}
.rank-node.is-earned{border-color:#96c5a0;background:#eff9e9;color:#285e3d}
.rank-node.is-current{border-color:#d59d51;background:#fff0ca;color:#694923}
.rank-node-icon{display:grid;place-items:center;width:39px;height:39px;border:2px solid currentColor;border-radius:50%}
.rank-node-icon svg{width:20px;height:20px}
.rank-node strong{font-size:12px;line-height:1.2}
.rank-node span,.rank-node small{font-size:10px;font-weight:800}
.rank-node small{opacity:.72}
.mission-board{border-top:1px solid #c8dbc9}
.mission-row{display:grid;grid-template-columns:43px minmax(0,1fr) 44px auto;align-items:center;gap:12px;min-height:88px;padding:12px 0;border-bottom:1px solid #c8dbc9}
.mission-icon{display:grid;place-items:center;width:40px;height:40px;border:2px solid #c4d8c4;border-radius:7px;background:#e8f3e6;color:#347151}
.mission-icon svg{width:20px;height:20px}
.mission-copy h3{font-size:14px;line-height:1.25}
.mission-copy p{margin:4px 0 7px;color:#68796e;font-size:11px;line-height:1.4}
.mission-track{max-width:500px;height:7px;overflow:hidden;border-radius:4px;background:#dce7db}
.mission-track span{display:block;height:100%;background:#e9a455}
.mission-count{color:#37634b;font-size:12px;text-align:center}
.mission-row>button{display:inline-flex;align-items:center;gap:5px;padding:7px 0;border:0;background:none;color:#166543;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.mission-row>button svg,.mission-done svg{width:14px;height:14px}
.mission-done{display:inline-flex;align-items:center;gap:3px;color:#24714c;font-size:12px;font-weight:900}
.mission-row.is-done .mission-icon{border-color:#7fbc8c;background:#d9f1d9}
.badge-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.badge-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;min-height:83px;padding:12px;border:2px solid #d8e2d7;border-bottom-width:4px;border-radius:7px;background:#f3f5f0;color:#708174}
.badge-item.is-earned{border-color:#e0b575;background:#fff6df;color:#634c27}
.badge-icon{display:grid;place-items:center;width:36px;height:36px;border:2px solid currentColor;border-radius:50%}
.badge-icon svg{width:18px;height:18px}
.badge-item>div:nth-child(2){display:grid;align-content:start;gap:3px;min-width:0}
.badge-item strong{font-size:12px;line-height:1.2}
.badge-item span{font-size:10px;line-height:1.35}
.badge-item small{grid-column:2;font-size:10px;font-weight:900}
.skill-filters{display:inline-flex;gap:3px;padding:3px;border:1px solid #b9d1bd;border-radius:7px;background:#e8f2e9}
.skill-filters button{min-height:32px;padding:5px 10px;border:0;border-radius:5px;background:none;color:#486a55;font-size:12px;font-weight:800;cursor:pointer}
.skill-filters button.is-active{background:#fff;color:#205b3e;box-shadow:0 1px 3px #b8cab7}
.quest-log-heading{margin-top:32px}
.profile-button[data-rank="3"],.profile-button[data-rank="5"],.profile-button[data-rank="8"],.profile-button[data-rank="12"],.profile-button[data-rank="16"],.profile-button[data-rank="20"]{border-color:#e0ac5c;background:#fff0c8;color:#66502b}
@media(max-width:960px){.career-panel{grid-template-columns:98px minmax(0,1fr)}.career-level{width:98px;height:98px}.career-totals{grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding:12px 0 0;border-left:0;border-top:1px solid #6d9f7b}.badge-board{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-ladder{grid-template-columns:repeat(7,116px)}}
@media(max-width:620px){.career-panel{grid-template-columns:75px minmax(0,1fr);gap:12px;padding:15px}.career-level{width:75px;height:75px}.career-level strong{font-size:39px}.career-main h2{font-size:19px}.career-meter-caption{display:grid;gap:2px}.career-totals{gap:5px}.career-totals strong{font-size:17px}.point-rules{gap:8px 14px}.progression-heading{align-items:start}.progression-heading h2{font-size:19px}.progression-heading>span{max-width:90px;text-align:right}.rank-ladder{margin-right:-12px}.mission-row{grid-template-columns:36px minmax(0,1fr) 35px;gap:8px}.mission-icon{width:34px;height:34px}.mission-row>button,.mission-done{grid-column:2/-1;justify-self:start}.badge-board{grid-template-columns:1fr}.skill-filters button{padding:5px 7px;font-size:11px}.quest-log-heading .button{padding:7px 8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.career-meter span,.mission-track span{transition:none}}
.my-quest-row,.project-card{border:2px solid #a4c9ab;border-bottom-width:5px;border-radius:8px;background:#fffdf6}
.membership-main{border:3px solid #0b4234;border-bottom-width:7px;border-radius:8px;background:#14563f}
.membership-list{padding:23px;border:2px dashed #b6d1b0;border-radius:8px;background:#f4f9eb}
.membership-comparison{border-top:3px dashed #b4cda9;border-bottom:3px dashed #b4cda9}
.do-now-row{min-height:78px;margin:7px 0;padding:10px 12px;border:2px solid #b5d6bd;border-bottom-width:4px;border-radius:7px;background:#fffef7}
.do-now-row:hover{background:#e9f8e5}
.do-now-row-icon{width:43px;height:43px;border:2px solid #add1b5;border-radius:7px;background:#ddf4df}
.mobile-nav{border-top:3px solid #9fc9a5;background:#fffaf0}
.mobile-nav-item.is-active{background:#dff4d8;color:#135b3c}
.mobile-nav-item.is-active svg{color:#db794c}
@media(max-width:900px){.adventure-stats{gap:15px}.adventure-hud-title{min-width:0}.course-path li{width:48%}}
@media(max-width:800px){.app-shell{display:block}.sidebar{display:none}.topbar{height:60px}.mobile-nav{background:#fffaf0}.mobile-nav-item{border-radius:7px}}
@media(max-width:620px){
  main{padding:20px 14px calc(107px + env(safe-area-inset-bottom))}
  .page-heading{margin-bottom:16px}
  .page-heading h1{font-size:28px}
  .adventure-hud{gap:7px;min-height:66px;padding:8px 10px;margin-bottom:16px}
  .adventure-hud-title{font-size:0}
  .adventure-hud-title svg{width:19px;height:19px}
  .adventure-stats{justify-content:space-around;gap:5px}
  .adventure-stats>div{display:grid;gap:0;justify-items:center}
  .adventure-stats strong{font-size:17px}
  .adventure-stats span{font-size:9px}
  .adventure-hud>button{width:29px;height:29px}
  .featured{min-height:390px}
  .featured-copy{min-height:390px;padding:24px 20px;justify-content:flex-end}
  .featured h2{font-size:27px}
  .featured-art{height:100%;min-height:0}
  .featured::before{background:linear-gradient(0deg,#102f29f7 0%,#173d35e8 52%,#173d3540 100%)}
  .featured-facts{flex-wrap:wrap}
  .value-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:11px 6px}
  .value-strip span{font-size:10px}
  .quest-grid,.showcase-grid{grid-template-columns:1fr;gap:13px}
  .quest-card-image{height:190px}
  .subject-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .subject-overview-item{min-height:88px}
  .course-card{grid-template-columns:58px minmax(0,1fr)}
  .course-card-symbol svg{width:25px;height:25px}
  .course-path-heading{display:block}
  .course-path ol{gap:11px}
  .course-path ol::before{left:13px}
  .course-path li,.course-path li:nth-child(even){width:calc(100% - 35px);margin-left:35px}
  .course-path li>button,.course-path li>div{min-height:75px;padding:9px}
  .course-path-node{width:34px;height:34px}
  .course-path-copy strong{font-size:13px}
  .course-learning.is-path .course-lesson{padding:18px 15px 35px}
  .quest-head-art{order:-1;border:0;border-bottom:2px solid #b8d6bb}
  .step-links{display:flex;gap:6px;overflow:auto}
  .step-links::before{display:none}
  .step-link{flex:none;width:auto;max-width:155px}
  .skill-grid{grid-template-columns:1fr}
  .membership-list{padding:17px}
}
@media(max-width:360px){.adventure-stats span{font-size:8px}.topbar-progress{max-width:92px}.mobile-brand strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.featured,.quest-card,.course-card,.subject-overview-item,.course-path li>button{animation:none;transition:none}}

.quest-play{margin:23px 0;padding:20px;border:2px solid #8bbd98;border-bottom-width:5px;border-radius:8px;background:#ecf8e8}
.quest-play .play-special{margin-top:0}
.quest-play-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.quest-play-heading h3{margin:4px 0 0;font-size:18px;line-height:1.3}
.play-kicker{color:#a35635;font-size:10px;font-weight:800}
.play-count{flex:none;padding:6px 9px;border:1px solid #99c6a2;border-radius:5px;background:#fff;color:#1c6741;font-size:11px;font-weight:800}
.play-checklist{display:grid;gap:8px}
.play-checklist button{display:flex;align-items:center;gap:11px;min-height:48px;width:100%;padding:7px 11px;border:2px solid #b1d3b5;border-bottom-width:4px;border-radius:7px;background:#fffef8;color:#2c5340;text-align:left;font-size:13px;font-weight:700;line-height:1.35}
.play-checklist button:hover{border-color:#71b98a;background:#f6fff0}
.play-checklist button.is-picked{border-color:#64ae7a;background:#daf2d8;color:#175737}
.play-check-icon{display:grid;place-items:center;flex:none;width:27px;height:27px;border:2px solid #9bc9a4;border-radius:50%;background:#fff;font-size:12px;font-weight:800}
.play-checklist button.is-picked .play-check-icon{border-color:#2b8d51;background:#37a260;color:#fff}
.play-special{margin-top:16px;padding:16px;border:2px dashed #b6cfae;border-radius:8px;background:#fffaf0}
.play-special>strong{display:block;color:#27523b;font:800 15px Manrope,sans-serif}
.play-special>p{margin:5px 0 12px;color:#5b6c5c;font-size:12px;line-height:1.5}
.play-choice-groups{display:grid;gap:12px}
.play-choice-groups>div>span{display:block;margin-bottom:6px;color:#38634a;font-size:11px;font-weight:800;text-transform:uppercase}
.play-choice-groups>div>div,.play-order-options,.play-revision,.play-layouts{display:flex;flex-wrap:wrap;gap:7px}
.play-choice-groups button,.play-order-options button,.play-revision button,.play-layouts button{min-height:39px;padding:7px 10px;border:2px solid #b6d0b4;border-bottom-width:4px;border-radius:6px;background:#fff;color:#365942;font-size:12px;font-weight:800}
.play-choice-groups button.is-picked,.play-revision button.is-picked,.play-layouts button.is-picked{border-color:#378959;background:#dff5dc;color:#145a37}
.play-order-options button:disabled{opacity:.4;cursor:default}
.play-result{margin:11px 0 0!important;padding:10px 12px;border-left:4px solid #d89d62;background:#fff5df;color:#425842!important;font-size:12px!important;font-weight:700}
.play-order-result{display:flex;flex-wrap:wrap;gap:7px;min-height:50px;margin:13px 0;padding:10px;border:2px dashed #b3cfb0;border-radius:7px;background:#f1f9e9}
.play-order-result span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;background:#fff;color:#376146;font-size:12px;font-weight:700}
.play-order-result b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#2e8b56;color:#fff;font-size:10px}
.play-order-options+.play-action{margin-top:12px}
.play-input-label{display:grid;gap:6px;margin:12px 0;color:#365f43;font-size:12px;font-weight:800}
.play-input-label input:not([type=file]){width:100%;max-width:450px;min-height:43px;padding:8px 10px;border:2px solid #accbab;border-radius:6px;background:#fff;color:#1d3f2d}
.play-input-label input[type=file]{width:100%;max-width:500px;padding:9px;border:2px dashed #accbab;border-radius:6px;background:#fff;font-size:12px}
.play-postcard{display:grid;align-items:end;max-width:520px;min-height:220px;margin:14px 0;padding:15px;border:8px solid #f2e2b7;background:#fffaf1;box-shadow:0 3px 0 #bbab80}
.play-postcard img{display:block;width:100%;max-height:280px;object-fit:contain}
.play-postcard>span{align-self:center;color:#879580;font-size:12px;text-align:center}
.play-postcard b{font:800 16px Manrope,sans-serif;color:#285240}
.play-slider{display:grid;grid-template-columns:1fr auto;gap:7px;margin:12px 0;color:#385b44;font-size:12px;font-weight:800}
.play-slider input{grid-column:1/-1;width:100%;accent-color:#2d9057}
.play-slider output{color:#1c6740}
.play-edit-image{display:block;width:100%;max-width:500px;height:210px;object-fit:cover;border:3px solid #d8e5d2;border-radius:6px}
.play-draft{display:block;width:100%;min-height:260px;margin:14px 0 7px;padding:14px;border:2px solid #a6caa7;border-radius:7px;background:#fff;color:#294233;font:14px/1.6 'DM Sans',sans-serif;resize:vertical}
.play-word-count{font-size:12px;font-weight:800;color:#35634b}
.play-metrics{display:flex;gap:10px;margin:13px 0}
.play-metrics span{display:grid;min-width:90px;padding:10px;border:2px solid #b4d2b5;border-radius:7px;background:#f0fae8;color:#3b6147;font-size:11px}
.play-metrics b{font:800 21px Manrope,sans-serif;color:#176541}
.play-story-card{display:grid;gap:10px;min-height:110px;max-width:540px;margin:14px 0;padding:17px;border:2px solid #d5bf95;border-bottom-width:5px;border-radius:7px;background:#fffdf5}
.play-story-card b{font:800 17px Manrope,sans-serif;color:#2d533e}
.play-story-card span{color:#516e59;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.play-layouts{margin-top:15px;text-transform:capitalize}
.play-plate.is-line{border-radius:20px;max-width:240px}
.play-plate.is-clusters{max-width:190px;flex-wrap:wrap}
.play-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.play-photo-pair>div{display:grid;align-content:start;gap:7px;min-height:100px;padding:10px;border:2px dashed #bfd3ba;border-radius:6px;background:#fff}
.play-photo-pair span{color:#487355;font-size:11px;font-weight:800}
.play-photo-pair img{width:100%;height:160px;object-fit:cover;border-radius:4px}
.play-photo-pair img[hidden]{display:none}
.play-water-visual{display:grid;place-items:center;width:96px;height:105px;margin:15px auto;border:3px solid #a5bc9b;border-radius:9px;background:linear-gradient(0deg,#93caa1 var(--moisture),#fffdf5 var(--moisture))}
.play-water-visual svg{width:41px;height:41px;color:#3e8851}
.play-swatches,.play-foods,.play-days{display:flex;flex-wrap:wrap;gap:8px}
.play-swatches button{width:42px;height:42px;border:3px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #809383}
.play-swatches button.is-picked{box-shadow:0 0 0 3px #1d7247;transform:translateY(-2px)}
.play-sketch-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}
.play-sketch-tools [data-play-ink]{flex:none;width:31px;height:31px;border:3px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #779980}
.play-sketch-tools [data-play-ink].is-picked{box-shadow:0 0 0 3px #1b7145}
.play-sketch-tools .play-action{min-height:35px;padding:5px 9px}
.play-sketch-canvas{display:block;width:100%;max-width:640px;height:auto;aspect-ratio:16/9;border:2px solid #9bc6a2;border-radius:6px;background:#fffdf7;touch-action:none;cursor:crosshair}
.course-sketch-workshop{padding:17px;border:2px solid #b9d4b7;border-radius:8px;background:#f1faed}
.reflection-dictation{display:inline-flex;align-items:center;gap:7px;margin:8px 0 0}
.reflection-dictation svg{width:15px;height:15px}
.play-palette-preview{display:flex;align-items:stretch;overflow:hidden;min-height:44px;margin-top:13px;border:2px solid #b5c9af;border-radius:6px;background:#fff}
.play-palette-preview>span:not(.play-placeholder){flex:1}
.play-placeholder{align-self:center;margin:auto;color:#6b7d6d;font-size:12px}
.play-counter{display:flex;align-items:center;gap:13px}
.play-counter button{display:grid;place-items:center;width:45px;height:45px;border:2px solid #78ac85;border-bottom-width:4px;border-radius:7px;background:#e5f6df;color:#1a6540;font-size:23px;font-weight:800}
.play-counter button:disabled{opacity:.4;cursor:default}
.play-counter output{min-width:77px;text-align:center;color:#22543a;font:800 19px Manrope,sans-serif}
.play-action{min-height:40px;padding:8px 12px;border:2px solid #77ae89;border-bottom-width:4px;border-radius:7px;background:#e7f7df;color:#195e3c;font-size:12px;font-weight:800}
.play-action:disabled{opacity:.5;cursor:not-allowed}
.play-photo-status{display:block;min-height:1.2em;margin:6px 0;color:#526b55;font-size:11px}
.play-prompt{padding:10px 12px;border-left:4px solid #e8a15d;background:#fff;color:#38513b!important;font-size:14px!important;font-weight:700}
.play-timer{display:flex;align-items:center;gap:14px}
.play-timer output{min-width:64px;color:#235f40;font:800 23px Manrope,sans-serif}
.play-foods button,.play-days button{min-height:39px;padding:6px 10px;border:2px solid #bed0b5;border-radius:6px;background:#fff;color:#3b5b44;font-size:12px;font-weight:800}
.play-foods button::before{content:'';display:inline-block;width:11px;height:11px;margin-right:7px;border-radius:50%;background:var(--food);vertical-align:-1px}
.play-foods button.is-picked,.play-days button.is-picked{border-color:#3b9b5e;background:#ddf5d9;color:#165936}
.play-plate{display:flex;align-items:center;justify-content:center;gap:7px;min-height:84px;max-width:200px;margin:15px auto 0;border:5px solid #d6e6d9;border-radius:50%;background:#fff}
.play-plate span{width:31px;height:31px;border-radius:50%;background:var(--food);box-shadow:inset -3px -4px #00000014}
.play-fine-print{margin:13px 0 0!important;color:#657669!important;font-size:11px!important;line-height:1.4!important}
.quest-optional-notes{margin:16px 0}
.quest-optional-notes summary{display:inline-flex;align-items:center;gap:6px;color:#286744;font-size:12px;font-weight:800;cursor:pointer;list-style:none}
.quest-optional-notes summary::-webkit-details-marker{display:none}
.quest-optional-notes summary svg{width:16px;height:16px}
.quest-optional-notes .step-notes{margin-top:12px}
@media(max-width:620px){.quest-play{padding:14px}.quest-play-heading h3{font-size:16px}.play-checklist button{font-size:12px}.play-special{padding:13px}.play-foods button,.play-days button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.play-swatches button.is-picked{transform:none}}
