:root{--navy:#17324d;--teal:#0f766e;--gold:#f4b942;--bg:#f4f7fa;--ink:#172b3a;--muted:#687b8c;--line:#e3eaf0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.shell{max-width:820px;min-height:100dvh;margin:auto;padding-bottom:78px}header{display:flex;align-items:center;gap:11px;padding:15px 18px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.logo{width:42px;height:42px;border-radius:13px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-weight:900}header div:nth-child(2){display:grid;gap:3px}header small{font-size:10px;letter-spacing:.12em;color:var(--teal);font-weight:800}header b{color:var(--navy)}#network{margin-left:auto;font-size:10px;border-radius:20px;padding:7px;background:#e5f5f0;color:var(--teal)}#network.off{background:#fff0d6;color:#965d12}main{padding:18px}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#17324d,#24546a);color:white;border-radius:23px;padding:23px 20px;min-height:250px}.kicker{font-size:10px;color:#b9e5d9;font-weight:800;letter-spacing:.1em}.hero h1{font-size:clamp(30px,8vw,42px);line-height:1.07;margin:17px 0 10px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{font-size:13px;line-height:1.6;color:#d8e5ec;max-width:320px}.btn,.wide{border:0;border-radius:13px;padding:13px 16px;font-size:14px;font-weight:800;cursor:pointer}.gold{background:var(--gold);color:var(--navy)}.art{position:absolute;right:15px;bottom:7px;font-size:70px;opacity:.7}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 25px}.stat,.panel,.menu{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}.stat{display:flex;align-items:center;gap:10px}.stat .ico{font-size:23px}.stat small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.stat strong{font-size:22px;color:var(--navy)}.eyebrow{font-size:10px;color:var(--teal);font-weight:800;letter-spacing:.13em}.section-title{font-size:21px;margin:5px 0 13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu{display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink);cursor:pointer;min-width:0}.menu .emoji{font-size:22px;background:#e8f4f1;border-radius:11px;padding:9px}.menu strong{display:block;font-size:12px;margin-bottom:4px}.menu small{font-size:10px;line-height:1.3;color:var(--muted)}.note{font-size:11px;line-height:1.5;color:var(--muted);margin:20px 2px}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(820px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.bottom button{border:0;background:none;color:#81909d;font-size:21px;display:grid;gap:2px;justify-items:center}.bottom small{font-size:10px}.bottom button.active{color:var(--teal);font-weight:800}.head{display:flex;align-items:center;gap:10px;margin:5px 0 18px}.back{width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:12px;font-size:22px;color:var(--navy)}.head h1{font-size:25px;margin:0;color:var(--navy)}.head p{margin:4px 0 0;color:var(--muted);font-size:12px}.panel{margin-bottom:12px;box-shadow:0 4px 14px #17324d08}.panel h3{margin:5px 0 9px;font-size:18px}.panel p{font-size:13px;line-height:1.6;color:var(--muted)}.wide{width:100%;margin-top:10px;background:var(--teal);color:white}.choice{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:white;padding:13px;margin:8px 0;color:var(--ink);font-size:13px}.choice.good{background:#e7f7ef;border-color:#45a879}.choice.bad{background:#fff0f0;border-color:#d87979}.feedback{padding:12px;background:#f1f6f8;border-radius:10px;font-size:13px;line-height:1.5;margin-top:10px}.track{height:7px;background:#e4ebef;border-radius:10px;overflow:hidden;margin:13px 0}.fill{height:100%;background:var(--teal)}.score{font-size:50px;font-weight:900;color:var(--navy)}.pill{display:inline-block;border-radius:20px;padding:5px 8px;background:#e5f4f0;color:var(--teal);font-size:10px;font-weight:800}.history{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.empty{text-align:center;padding:25px;color:var(--muted)}@media(max-width:400px){main{padding:14px}.grid{grid-template-columns:1fr}.art{opacity:.35;right:0}.hero{min-height:265px}}
.level-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 24px}.level-card{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:13px 11px;background:#fff;color:var(--ink);cursor:pointer}.level-card b{font-size:16px;color:var(--teal)}.level-card strong{font-size:12px;line-height:1.3}.level-card small{font-size:10px;color:var(--muted);line-height:1.4}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);cursor:pointer;min-height:145px}.category-card span{font-size:25px}.category-card b{font-size:13px}.category-card small{font-size:11px;line-height:1.4;color:var(--muted)}.filter{width:100%;margin:6px 0 12px;padding:12px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);font:inherit;font-size:13px}.panel label{font-size:12px;font-weight:800;color:var(--navy)}.small-note{font-size:11px!important;line-height:1.55!important;color:var(--muted)}.material-title{display:flex;align-items:center;gap:11px;margin-bottom:12px}.material-title>span{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:13px;background:#e8f4f1;font-size:24px}.material-title h3{margin:0 0 4px}.material-title small{font-size:11px;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tag{display:inline-block;border-radius:8px;padding:6px 8px;background:#f0f4f7;color:#41596b;font-size:10px}.wide.secondary{background:white;color:var(--navy);border:1px solid var(--line)}.wide.danger{background:#fff;color:#a22;border:1px solid #ecc}.panel ul{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.65}.panel li{margin:5px 0}@media(max-width:500px){.level-cards{grid-template-columns:1fr}.level-card{display:grid;grid-template-columns:70px 1fr;align-items:center}.level-card small{grid-column:2}.category-grid{grid-template-columns:1fr 1fr}}@media(max-width:360px){.category-grid{grid-template-columns:1fr}}

.lesson-row{border-top:1px solid var(--line);padding:12px 0;margin-top:10px}.lesson-row>b{display:block;font-size:14px;color:var(--navy)}.lesson-row>small{display:block;font-size:10px;color:var(--teal);margin-top:4px}.lesson-row>p{margin:8px 0}.panel a{color:var(--teal);overflow-wrap:anywhere}

/* v0.3.0: clear stage separation */
.stage-section{margin:22px 0 28px}.stage-heading{display:flex;gap:12px;align-items:center;margin:12px 0}.stage-heading h2{font-size:1.05rem;margin:0 0 4px}.stage-heading small{color:var(--muted,#6b7280)}.stage-chip{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:13px;background:#17324d;color:#fff;font-weight:800;white-space:nowrap}.stage-banner{padding:18px;border-radius:20px;background:linear-gradient(135deg,#e8f4ee,#f8f3df);margin-bottom:14px}.stage-banner h2{margin:10px 0 6px;font-size:1.25rem}.stage-banner p{margin:0 0 10px}.stage-banner small{display:block;line-height:1.5;color:#44515c}.mission-card{border-left:4px solid #d4a84f}.level-card{min-height:140px}.lesson-row small{display:block;margin-top:5px;color:var(--muted,#667085)}

/* Bacaan inti pada halaman materi */
.reading-box{background:#f0faf7;border:1px solid #cce9e1;border-radius:18px;padding:18px;margin:18px 0 24px}.reading-box h3:first-child{margin-top:0}.arabic-text{font-family:"Noto Naskh Arabic","Amiri",serif;font-size:clamp(1.8rem,6vw,2.5rem);line-height:2;text-align:center;color:#173b36;margin:12px 0 20px}.reading-box p{overflow-wrap:anywhere}

.lesson-content{margin:18px 0 22px;padding:16px;border-radius:14px;background:var(--soft,#f2f7f6);border:1px solid var(--line,#dce8e6)}.lesson-content h3{margin-top:0}.lesson-content p{line-height:1.8}.build-version{font-size:.7em;font-weight:700;opacity:.75}

/* Standar visual Petualangan Santri v0.3.5: faceless untuk semua makhluk hidup.
   Hindari emoji/ilustrasi berfitur wajah; gunakan simbol objek, siluet polos,
   karakter tampak belakang, ornamen geometris, dan animasi lingkungan. */
.account-symbol{width:72px;height:72px;margin:0 auto 12px;display:grid;place-items:center;border-radius:22px;background:var(--soft,#e7f4f0);font-size:38px}

/* Adventure map UI v0.3.6 */
body{background:#eaf7ee}.game-shell{max-width:1100px;margin:auto;padding:12px 12px 92px;color:#203b42}.game-hud{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:4px 0 12px}.game-brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:1rem}.game-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#ffdf70,#ffac43);box-shadow:0 4px 0 #d98a34;font-size:23px}.game-hud-spacer{flex:1}.hud-pill{padding:8px 12px;border-radius:99px;background:#fffdf4;border:2px solid #d7e9d9;box-shadow:0 3px 0 #c9dfce;font-weight:900;font-size:.85rem}.adventure-banner{border-radius:25px;padding:20px;background:linear-gradient(120deg,#145b58,#238a70 58%,#83bd65);color:white;box-shadow:0 7px 0 #b4d5b7;margin-bottom:15px}.adventure-banner h1{margin:0 0 7px;font-size:clamp(1.5rem,4vw,2.2rem);color:white}.adventure-banner p{margin:0;line-height:1.55;color:#e2fff1}.banner-progress{display:flex;align-items:center;gap:12px;margin-top:14px;max-width:430px}.progress-track{height:10px;border-radius:99px;background:#ffffff35;overflow:hidden;flex:1}.progress-track span{display:block;height:100%;background:#ffcf59}.map-board{position:relative;min-height:480px;border:4px solid white;border-radius:27px;overflow:hidden;background:linear-gradient(#9ce2f5 0 25%,#c7efb5 25% 48%,#8ed18b 48%);box-shadow:0 7px 0 #c2dfc7}.map-sun{position:absolute;width:66px;height:66px;right:8%;top:7%;border-radius:50%;background:#ffe37a;box-shadow:0 0 0 12px #fff5a044}.map-cloud{position:absolute;width:92px;height:25px;background:#fff9;border-radius:99px;top:13%;left:12%}.map-cloud:before,.map-cloud:after{content:"";position:absolute;bottom:0;background:inherit;border-radius:50%}.map-cloud:before{width:38px;height:38px;left:15px}.map-cloud:after{width:28px;height:28px;left:44px}.map-hill{position:absolute;bottom:-14%;width:74%;height:48%;border-radius:50% 50% 0 0;background:#73c66e}.map-hill.h2{right:-18%;bottom:-19%;width:68%;height:53%;background:#54b967}.map-hill.h3{left:-25%;bottom:-22%;width:70%;height:53%;background:#98d978}.map-river{position:absolute;left:31%;top:33%;width:45%;height:85px;background:#5cc7dc;border:7px solid #a5e9e9;border-radius:50%;transform:rotate(19deg)}.map-path{position:absolute;left:10%;top:26%;width:79%;height:62%;border:10px dotted #f8e6a2;border-left-color:transparent;border-top-color:transparent;border-radius:47% 38% 45% 32%;transform:rotate(-9deg)}.landmark{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;user-select:none}.landmark-icon{display:grid;place-items:center;font-size:clamp(32px,6vw,54px);height:58px;min-width:60px}.landmark-label{padding:5px 9px;border:2px solid white;border-radius:99px;background:#fffdf1;color:#31584b;font-size:.72rem;font-weight:900;box-shadow:0 3px 0 #c2d8b7;white-space:nowrap}.landmark.forest{left:7%;top:39%}.landmark.mosque{right:9%;top:28%}.landmark.bridge{left:43%;top:47%}.landmark.treasure{right:12%;bottom:9%}.mission-node{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;width:62px;height:62px;border-radius:21px;border:4px solid white;background:linear-gradient(145deg,#ffdf72,#ffb83f);color:#6c4a18;font-weight:1000;box-shadow:0 6px 0 #d58b30,0 8px 14px #295c3c30;cursor:pointer}.mission-node:active{transform:translateY(3px)}.mission-node .node-num{font-size:1.2rem;line-height:1}.mission-node .node-stars{font-size:.64rem;color:white;text-shadow:0 1px 2px #8d6428}.mission-node.locked{filter:grayscale(.6);background:linear-gradient(145deg,#e2e8e3,#b9c9c1);box-shadow:0 6px 0 #94a79d;color:#63756c;cursor:not-allowed}.mission-node.done{background:linear-gradient(145deg,#c8f078,#7cce69);box-shadow:0 6px 0 #48a35c;color:#285d35}.node-1{left:12%;top:25%}.node-2{left:35%;top:38%}.node-3{left:56%;top:29%}.node-4{right:13%;top:49%}.node-5{right:26%;bottom:9%}.map-legend{position:absolute;left:12px;bottom:12px;display:flex;gap:7px;flex-wrap:wrap}.map-legend span{font-size:.68rem;font-weight:850;padding:6px 8px;background:#ffffffdf;border:1px solid #d8e8ce;border-radius:99px}.game-below{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:16px}.game-card{border:2px solid #e0eddd;border-radius:22px;background:#fffdf4;padding:16px;box-shadow:0 5px 0 #d5e6d4}.game-card h2{margin:0 0 8px;color:#27594c}.game-card p{margin:0;color:#607a70;line-height:1.5}.quest-row{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border-radius:16px;background:#f0f9e9;border:1px solid #d7ebcc}.quest-icon{width:48px;height:48px;display:grid;place-items:center;flex-shrink:0;border-radius:15px;background:#ffdc7b;font-size:25px}.quest-copy{flex:1;min-width:0}.quest-copy strong,.quest-copy small{display:block}.quest-copy small{color:#6e877b;margin-top:3px}.game-btn{border:0;border-radius:14px;padding:11px 15px;background:#ffca55;color:#634819;font-weight:950;box-shadow:0 4px 0 #d99a2c;cursor:pointer}.game-btn.green{background:#36ad7e;color:white;box-shadow:0 4px 0 #21835e}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.reward-chip{padding:10px 4px;text-align:center;border-radius:15px;background:#fff3c9;border:1px solid #f1d88a}.reward-chip b{display:block;color:#805c18}.reward-chip span{font-size:.7rem;color:#816b3e;font-weight:800}.game-toast{position:fixed;z-index:100;left:50%;bottom:90px;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:12px 18px;border-radius:99px;background:#173f37;color:white;font-weight:900;transition:all .2s}.game-toast.show{opacity:1;transform:translate(-50%,0)}.mission-modal{position:fixed;z-index:90;inset:0;display:none;align-items:flex-end;justify-content:center;background:#14382f77;padding:16px}.mission-modal.show{display:flex}.mission-sheet{width:min(100%,520px);background:#fffdf3;border:3px solid white;border-radius:26px;padding:22px;box-shadow:0 10px 0 #a9cdb0}.mission-sheet h2{margin:0 0 8px;color:#235b4b}.mission-sheet p{line-height:1.6;color:#5b776a}.mission-actions{display:flex;gap:10px;margin-top:16px}.mission-actions>*{flex:1}@media(max-width:650px){.game-shell{padding:8px 8px 84px}.hud-pill{padding:7px 8px;font-size:.76rem}.map-board{min-height:425px;border-radius:22px}.mission-node{width:54px;height:54px;border-radius:18px}.node-1{left:8%;top:26%}.node-2{left:31%;top:39%}.node-3{left:55%;top:28%}.node-4{right:8%;top:48%}.node-5{right:22%;bottom:9%}.landmark-icon{height:44px}.landmark-label{font-size:.62rem;padding:4px 6px}.game-below{grid-template-columns:1fr}}

/* v0.3.7 — playable mini-game, polished responsive panels */
.challenge-card{max-width:720px;margin:0 auto;padding:clamp(18px,4vw,30px)}
.challenge-scene{display:flex;align-items:center;justify-content:center;gap:34px;padding:22px;margin-bottom:18px;border-radius:18px;background:linear-gradient(180deg,#a8e5f4,#e3f4c7);font-size:38px;min-height:92px}
.scene-tree:before{content:"";display:block;width:34px;height:44px;background:#48a76b;border-radius:60% 60% 45% 45%;box-shadow:0 15px 0 -8px #8c5d35}
.scene-bridge{width:72px;height:24px;border-top:8px solid #c58c45;border-bottom:5px solid #c58c45;transform:skew(-16deg)}
.scene-gem{color:#258fbb;text-shadow:0 3px 0 #146b94;font-size:48px}
.challenge-kicker{font-size:.75rem;letter-spacing:.12em;font-weight:950;color:#43866b}
.challenge-card h2{font-size:clamp(1.3rem,4vw,1.9rem);line-height:1.35;color:#214f44;margin:8px 0 18px}
.answer-list{display:grid;gap:10px}
.answer-option{display:flex;align-items:center;gap:12px;text-align:left;padding:13px;border:2px solid #dcebe0;border-radius:16px;background:#fff;color:#294a42;font-weight:800;cursor:pointer;min-height:58px}
.answer-letter{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#e9f5e7;color:#3e8061;font-weight:1000}
.answer-option.correct{background:#e2f8df;border-color:#72c776}.answer-option.correct .answer-letter{background:#4eaa68;color:white}
.answer-option.incorrect{background:#fff0e7;border-color:#e9a37c}
.answer-option:disabled{cursor:default}
.answer-feedback{min-height:28px;margin:13px 0;color:#a65b38;font-weight:800}.answer-feedback.good{color:#258356}
.game-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.challenge-result{max-width:560px;margin:0 auto;text-align:center;padding:24px}
.result-treasure{font-size:68px;margin:8px auto 14px;color:#d49a30}
.quest-row{flex-wrap:wrap}
@media(max-width:480px){.challenge-scene{min-height:75px;padding:14px}.answer-option{min-height:54px;padding:10px}}

/* v0.3.8: level-based adventure missions and refreshed bottom navigation */
.level-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.level-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:16px;border:2px solid #d8e9d8;border-radius:22px;background:#fffdf2;box-shadow:0 5px 0 #d3e5d2;color:#294e43;cursor:pointer;min-width:0}
.level-card:active,.subject-mission-card:active{transform:translateY(2px);box-shadow:0 2px 0 #d3e5d2}
.level-card.level-complete{border-color:#8ed49a;background:#f1ffdf}
.level-emblem{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#ffe27d,#ffbd48);font-size:26px;color:#6d521e}
.level-card-title{font-weight:950;font-size:1rem;line-height:1.3}
.level-card-desc{font-size:.82rem;line-height:1.45;color:#688075}
.level-progress{height:9px;width:100%;border-radius:99px;background:#e5eee2;overflow:hidden;margin-top:auto}
.level-progress span{display:block;height:100%;border-radius:99px;background:#45b77c}
.level-count{font-size:.74rem;font-weight:850;color:#57816b}
.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.subject-chip{display:flex;align-items:center;gap:8px;padding:11px;border-radius:13px;background:#f0f8e9;color:#3b6554;font-weight:800;font-size:.85rem}
.subject-chip span{font-size:1.2rem}
.subject-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.subject-mission-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;min-height:156px;padding:16px;border:2px solid #dcebdc;border-radius:22px;background:#fffdf2;color:#254e42;box-shadow:0 5px 0 #d3e5d2;cursor:pointer}
.subject-mission-card strong{font-size:1rem;line-height:1.3}
.subject-mission-card small{font-size:.78rem;color:#6a8376}
.subject-emblem{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#dff3d6;color:#2b8c65;font-size:24px;font-weight:900}
.subject-arrow{margin-top:auto;font-size:.8rem;font-weight:950;color:#228863}
.subject-mission-card.subject-done{background:#f1ffdf;border-color:#9bd49b}
.subject-done .subject-emblem{background:#bfe9a8}
.bottom-nav{background:#fffdf7;border-top:1px solid #dcebe0;box-shadow:0 -4px 18px #254e420b}
.bottom-nav button,.bottom-nav a{font-weight:800}
@media(max-width:650px){.level-select-grid{grid-template-columns:1fr}.level-card{display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center}.level-emblem{grid-row:span 3}.level-card-title,.level-card-desc,.level-progress,.level-count{grid-column:2}.subject-mission-grid{grid-template-columns:1fr 1fr}.subject-mission-card{min-height:160px;padding:13px}.subject-grid{grid-template-columns:1fr}}
@media(max-width:380px){.subject-mission-grid{grid-template-columns:1fr}.subject-mission-card{min-height:130px}}

/* v0.3.9 — main game dashboard and level picker */
.level-overline,.mission-eyebrow{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:950;color:#c7f3d7;margin-bottom:8px}.mission-eyebrow{color:#4d8c70}
.home-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px;position:relative;z-index:2}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}
.home-feature-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;padding:13px;border:2px solid #dcebdc;border-radius:22px;background:#fffdf3;box-shadow:0 5px 0 #d3e5d2;color:#2a5547;cursor:pointer;min-width:0}
.home-feature-card strong{font-size:.96rem;line-height:1.25}.home-feature-card small{color:#71887b;line-height:1.4;font-size:.76rem}
.feature-art{position:relative;display:grid;place-items:center;width:100%;height:76px;border-radius:15px;overflow:hidden;font-size:35px;font-weight:900}
.map-art{background:linear-gradient(160deg,#9ee3f0 0 43%,#b9e6a0 43% 100%);color:#26865f}.mission-art{background:linear-gradient(145deg,#d8f1c9,#8bd6a5);color:#388d67}.reward-art{background:linear-gradient(145deg,#ffe7a0,#ffbf54);color:#986b1d}
.feature-link{font-size:.78rem;font-weight:950;color:#208463;margin-top:auto}
.home-progress{margin-bottom:12px}.home-progress-track{height:12px;border-radius:99px;background:#e5eee2;overflow:hidden;margin:12px 0 8px}.home-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#ffcb55,#4dc486);border-radius:99px}.home-progress p{margin:0;color:#6d8478;font-size:.84rem}
.level-picker-page .level-card{min-height:180px}.level-select-action{font-size:.8rem;font-weight:950;color:#218863;margin-top:auto}.level-picker-note{color:#6d8478;line-height:1.6;font-size:.84rem;padding:10px 2px}
.mission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 12px}.mission-toolbar h2{margin:0;color:#244e42;font-size:1.35rem}.mission-toolbar .mission-eyebrow{margin-bottom:3px}.level-summary{margin-top:14px}
.node-6{left:43%;bottom:7%}.map-board .mission-node{width:56px;height:56px}
@media(max-width:650px){.home-feature-grid{grid-template-columns:1fr}.home-feature-card{display:grid;grid-template-columns:78px 1fr;column-gap:12px;align-items:center}.feature-art{grid-row:span 3;height:76px}.home-feature-card strong,.home-feature-card small,.home-feature-card .feature-link{grid-column:2}.home-actions .game-btn{flex:1}.level-picker-page .level-card{min-height:145px}}

/* v0.4.0 — map-first game flow and four destination navigation */
.map-first-shell{padding-top:14px}
.map-first-top{display:flex;align-items:center;gap:11px;margin:0 0 12px}
.map-player-mark{width:54px;height:54px;flex:0 0 54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#ffdf70,#ffb746);color:#355d4b;font-size:30px;box-shadow:0 4px 0 #d5ad53}
.map-player-copy{min-width:0;flex:1}.map-player-copy .mission-eyebrow{margin:0 0 3px;font-size:.64rem}.map-player-copy h1{font-size:1.3rem;line-height:1.1;margin:0;color:#244e42}.map-player-copy p{margin:4px 0 0;color:#6c8678;font-size:.83rem}
.map-player-stats{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.map-player-stats span{border:2px solid #dcebdc;border-radius:99px;padding:6px 9px;background:#fffdf3;font-size:.78rem;font-weight:950;color:#35594b;white-space:nowrap}
.map-level-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border-radius:17px;background:#fffdf3;border:1px solid #dcebdc;margin-bottom:12px}.map-level-strip strong,.map-level-strip small{display:block}.map-level-strip strong{color:#2d5948}.map-level-strip small{color:#71887b;font-size:.78rem;margin-top:3px}.game-btn.compact{padding:9px 12px;font-size:.8rem}
.map-level-empty{padding:18px;border-radius:20px;background:#fffdf3;border:1px solid #dcebdc;margin-bottom:12px}.map-level-empty h2{margin:0 0 8px;color:#2b5647}.map-level-empty p{margin:0 0 12px;color:#6d8478;line-height:1.5}
.map-board-main{margin:0 auto 14px;max-width:820px;min-height:420px}
.map-next-mission{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border-radius:20px;background:#fffdf3;border:1px solid #dcebdc;box-shadow:0 4px 0 #d3e5d2}.map-next-mission h2{font-size:1.05rem;margin:0;color:#285746}.map-next-mission p{font-size:.82rem;line-height:1.45;margin:5px 0 0;color:#71887b}.map-next-mission .mission-eyebrow{font-size:.63rem;margin-bottom:4px}
.reward-total-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.reward-total{padding:12px 8px;border-radius:14px;background:#ffffff1c;border:1px solid #ffffff35}.reward-total b,.reward-total span{display:block}.reward-total b{font-size:1rem}.reward-total span{font-size:.72rem;margin-top:4px;color:#e0f6e8}
.badge-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.badge-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:14px 7px;border-radius:16px;background:#f0f8e9}.badge-tile span{font-size:28px}.badge-tile strong{font-size:.8rem}.badge-tile small{font-size:.7rem;color:#6d8478}.empty-rewards{text-align:center;padding:20px 10px}.empty-reward-art{font-size:54px;color:#c69b3e}.empty-rewards h3{margin:8px 0;color:#315c4b}.empty-rewards p{color:#6d8478}
.completed-list{display:grid;gap:8px}.completed-row{display:flex;align-items:center;gap:9px;padding:10px;border-radius:12px;background:#f1f8ed;color:#315c4b;font-weight:750;font-size:.88rem}.completed-check{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#c9efbb;color:#247b52;font-weight:950}
.bottom-nav{background:#fff;border-top:1px solid #dce9e0;box-shadow:0 -4px 16px #204d3a0d}
.bottom-nav button,.bottom-nav a{font-size:.76rem}
@media(max-width:520px){.map-board-main{min-height:390px}.map-next-mission{align-items:flex-start;flex-direction:column}.map-next-mission .game-btn{width:100%}.reward-total-row{gap:5px}.reward-total{padding:10px 5px}.reward-total b{font-size:.86rem}.badge-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}
