@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#203d40;--muted:#627474;--green:#23675d;--cream:#f7f6ef;--line:#e1e6dc;--gold:#e8b956}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px 'DM Sans',system-ui,sans-serif}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.035em}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--green)}header{height:96px;border-bottom:1px solid var(--line);background:#fffdf8;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);gap:20px}.brand{display:flex;align-items:center;gap:13px;border:0;background:none;color:var(--ink);text-align:left;padding:0}.crest{width:49px;height:55px;background:var(--green);border-radius:14px 14px 23px 23px;display:grid;place-items:center;color:#f7e7b3;font:bold 24px Georgia}.brand strong{font-size:19px;display:block}.brand small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:9px;align-items:center}.navbtn{border:0;background:transparent;padding:12px 18px;border-radius:25px;color:var(--muted);font-weight:600}.navbtn.active{background:#e8eee6;color:var(--green)}.avatar{background:#e8b956;color:#614b21;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-weight:700}.mode{font-size:12px;border:1px solid #d8e3d5;border-radius:18px;padding:6px 12px;color:var(--green)}main{max-width:1220px;margin:auto;padding:42px 34px 70px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--green)}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding:44px 48px;background:#e6ece2;border:1px solid #dce4d4;border-radius:26px;position:relative;overflow:hidden}.hero h1{font-size:clamp(32px,4vw,49px);line-height:1.12;margin:16px 0 20px;max-width:570px}.hero p{max-width:490px;line-height:1.65;color:#536b67}.primary{background:var(--green);color:white;border:0;padding:14px 23px;border-radius:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 3px 0 #174c45}.secondary{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:12px 19px;color:var(--ink);font-weight:600}.plain{background:none;border:0;padding:9px;color:var(--green);text-decoration:underline}.hero-art{display:flex;align-items:center;justify-content:center;position:relative}.board{background:#204f4b;border-radius:19px;transform:rotate(-5deg);width:280px;padding:27px;color:#fff5d9;box-shadow:9px 10px 0 #cedbc7}.board .math{font:42px Georgia;margin:16px 0}.board .rule{border-top:1px dashed #76988b;padding-top:15px;font-size:13px}.spark{position:absolute;right:10px;top:10px;font-size:50px;color:var(--gold)}.circle{position:absolute;bottom:12px;right:25px;width:77px;height:77px;background:#f1cd75;border-radius:50%;display:grid;place-items:center;font:34px Georgia;transform:rotate(12deg);border:5px solid var(--cream)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 36px}.stat{background:#fffdf8;border:1px solid var(--line);border-radius:17px;padding:22px;display:flex;align-items:center;gap:17px}.stat-icon{width:45px;height:45px;border-radius:13px;background:#edf2e7;display:grid;place-items:center;color:var(--green);font-size:24px}.stat strong{display:block;font-size:23px}.stat small{color:var(--muted);font-size:13px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 20px}h2{font-size:27px;margin:0}.subtext{font-size:14px;color:var(--muted);line-height:1.6}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.chip{border:1px solid var(--line);background:#fffdf8;color:var(--muted);border-radius:25px;padding:10px 17px;font-size:13px}.chip.active{background:var(--green);color:white;border-color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fffdf8;border:1px solid var(--line);border-radius:19px;padding:25px;position:relative;display:flex;flex-direction:column}.card:hover{border-color:#a5bfac;transform:translateY(-2px);transition:transform .15s}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.symbol{font:22px Manrope;font-weight:800;background:#e8eedf;border-radius:13px;padding:12px;min-width:49px;text-align:center;color:var(--green)}.card:nth-child(3n+2) .symbol{background:#fbefd5;color:#8d6c28}.card:nth-child(3n) .symbol{background:#e5e9f4;color:#5e6796}.tag{font-size:11px;color:var(--muted)}.card h3{font-size:19px;margin:0 0 9px}.card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 20px;flex:1}.bar{background:#ecede6;height:6px;border-radius:9px;overflow:hidden;margin:8px 0}.bar span{display:block;height:100%;background:#69a387}.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:17px}.card-button{background:none;border:0;font-weight:700;color:var(--green);padding:8px 0 8px 12px}.notice{background:#fff9e8;border:1px solid #efdfb4;border-radius:12px;padding:12px 17px;font-size:13px;line-height:1.6;color:#766039;margin:18px 0}.footer{margin:48px 0 0;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:23px;gap:15px}.practice{max-width:780px;margin:auto}.lesson-head{margin:22px 0}.lesson-head h1{font-size:33px;margin:8px 0}.hintbox{background:#e9efe3;border-radius:17px;padding:24px;margin:22px 0}.hintbox p{line-height:1.7;margin:8px 0}.example{background:#fffdf8;border-radius:10px;padding:14px;font-weight:600}.questionbox{background:#fffdf8;border:1px solid var(--line);padding:34px;border-radius:24px;text-align:center}.questionbox h2{font-size:35px;line-height:1.4;margin:24px 0}.questionbox h2.long{font-size:24px}.answer{width:160px;max-width:100%;font-size:31px;border:2px solid #a9bcaa;border-radius:14px;padding:12px;text-align:center;color:var(--ink);background:white}.answer-row{display:flex;justify-content:center;gap:12px;align-items:center;margin:20px 0;flex-wrap:wrap}.feedback{padding:15px;border-radius:12px;text-align:left;line-height:1.6;margin:15px 0;background:#edf3e8}.feedback.error{background:#fff0db;color:#75501c}.working{width:100%;margin-top:10px;min-height:85px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical;background:#fffefb}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.login{max-width:490px;margin:35px auto;background:#fffdf8;border:1px solid var(--line);border-radius:25px;padding:36px}.login h1{font-size:28px}.field{display:block;margin:20px 0}.field span{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field input,.field select{width:100%;padding:13px;border:1px solid #b9c9bc;border-radius:10px;background:white}.full{width:100%}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.profile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center;color:var(--ink)}.profile .avatar{margin:auto auto 12px}.table-wrap{overflow:auto;background:#fffdf8;border:1px solid var(--line);border-radius:17px;margin-top:22px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:17px;border-bottom:1px solid var(--line);font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#edf1e7}.error-banner{color:#8b372c;background:#fff0e7;padding:15px;border-radius:10px}.successmark{width:90px;height:90px;background:#e6eedf;color:var(--green);font-size:48px;display:grid;place-items:center;border-radius:50%;margin:15px auto}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.empty{padding:30px;color:var(--muted)}.saving{font-size:12px;color:var(--muted)}@media(max-width:850px){header{height:80px;padding:0 20px}.brand small{font-size:10px}.navbtn{padding:9px}.hero{padding:30px;gap:18px}.hero-art{display:none}.hero{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.stats{gap:10px}.stat{padding:17px;gap:10px}.stat-icon{display:none}.profile-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){main{padding:24px 18px 45px}header{gap:8px}.brand strong{font-size:15px}.crest{width:36px;height:42px;font-size:19px}.brand small{letter-spacing:.06em}.mode{display:none}nav{gap:0}.navbtn{font-size:12px;padding:8px}.avatar{width:30px;height:30px}.hero{padding:26px 23px}.hero h1{font-size:34px}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:15px 10px}.stat strong{font-size:20px}.stat small{font-size:11px}.cards{grid-template-columns:1fr}.section-top{align-items:flex-start}.section-top h2{font-size:23px}.card{padding:22px}.questionbox{padding:23px 18px}.questionbox h2{font-size:30px}.profile-grid{grid-template-columns:repeat(2,1fr)}.footer{flex-direction:column}.login{padding:25px}.filters{gap:6px}.chip{padding:9px 12px;font-size:12px}}
.school-crest{width:62px;height:72px;object-fit:contain;flex-shrink:0}@media(max-width:560px){.school-crest{width:42px;height:50px}}
.adventure-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.adventure-hero{background:linear-gradient(125deg,#e7efe1,#e4eef4);padding:35px}.adventure-hero h1{font-size:clamp(30px,4vw,45px)}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0}.hero-guides{grid-template-columns:1fr;align-content:center;margin:0}.guide-card{display:flex;align-items:center;gap:14px;background:#fffdf8;border:1px solid #d9e4da;border-radius:18px;padding:19px;min-width:0}.guide-card strong{font-family:Manrope,system-ui,sans-serif;font-size:17px}.guide-card p{font-size:14px;line-height:1.55;margin:7px 0;color:#425e59}.guide-card small{font-size:10px;color:var(--muted)}.guide-avatar{display:inline-grid;place-items:center;flex-shrink:0;width:64px;height:64px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #d7b557;background:#dfead4;color:#245e53;font:bold 23px Manrope,system-ui,sans-serif}.guide-avatar.syron{background:#dbe8f2;color:#365e79;box-shadow:0 0 0 2px #96b5c9}.map-key{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:0 0 20px}.trail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.trail{border:1px solid #d1dfce;border-radius:22px;background:#fffdf8;overflow:hidden}.trail summary{display:flex;align-items:center;gap:15px;cursor:pointer;padding:22px;background:#e8efdf;list-style:none}.trail summary::after{content:'+';margin-left:auto;font-size:24px}.trail[open] summary::after{content:'−'}.trail summary strong{display:block;font-size:19px}.trail summary small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.trail-flag{font-size:27px;color:#27675b;width:39px;text-align:center}.trail-1 summary{background:#e5eef5}.trail-2 summary{background:#faf0d5}.trail-stops{list-style:none;margin:0;padding:24px}.trail-stop{display:flex;gap:18px;position:relative;padding:0 0 27px;min-height:106px}.trail-stop:last-child{padding-bottom:0;min-height:70px}.trail-stop:not(:last-child)::before{content:'';position:absolute;top:37px;left:18px;bottom:0;border-left:3px dashed #c6d5bf}.stop-marker{flex-shrink:0;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;border:2px solid #9cbb96;background:#f0f5e9;color:#27675b;font-weight:700;z-index:1}.passed .stop-marker{background:#23675d;color:white;border-color:#23675d}.locked .stop-marker{background:#f2f0e9;border-color:#d8d6cc;font-size:15px}.trail-stop h3{font-size:16px;margin:3px 0 4px}.trail-stop p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.trail-stop .card-button{padding:7px 0;text-align:left;font-size:13px}.trail-stop button:disabled{cursor:default;opacity:1;color:#73766e}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reward-tile{background:#fffdf8;border:1px solid var(--line);border-radius:22px;text-align:center;padding:24px 19px;display:flex;flex-direction:column;align-items:center}.reward-tile.earned{border:2px solid #d6b452;background:linear-gradient(#fff8df,#fffdf8)}.reward-emblem{width:94px;height:108px;clip-path:polygon(8% 0,92% 0,100% 66%,50% 100%,0 66%);background:#dce9da;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 0 15px;gap:3px;color:#23675d}.earned .reward-emblem{background:#eed278}.reward-emblem img{object-fit:contain}.reward-emblem span{font-size:34px;line-height:1}.reward-tile h3{font-size:18px;margin:12px 0 8px}.reward-tile p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 14px}.reward-tile .reward-progress{font-weight:700;color:var(--green);margin-top:auto}.reward-presenter{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;width:100%;justify-content:center}.reward-presenter .guide-avatar{width:30px;height:30px;border-width:2px;font-size:10px;box-shadow:none}.adventure-celebration{display:flex;gap:17px;max-width:780px;margin:22px auto;background:#faf0d3;border:1px solid #e4ce8a;border-radius:18px;padding:22px;animation:reward-arrive .3s ease-out}.adventure-celebration>span{font-size:38px;color:#926e19}.adventure-celebration p{font-size:14px;color:var(--muted);margin:7px 0}.adventure-map .section-top{flex-wrap:wrap}@keyframes reward-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.adventure-celebration{animation:none}.card:hover{transform:none;transition:none}}@media(max-width:850px){.adventure-hero{grid-template-columns:1fr}.hero-guides{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.trail-grid,.guide-grid,.hero-guides{grid-template-columns:1fr}.adventure-hero{padding:25px 22px}.reward-grid{grid-template-columns:1fr}.trail-stops{padding:20px}.guide-avatar{width:51px;height:51px;font-size:19px}.adventure-tabs .chip{flex:1}.guide-card{padding:15px}.adventure-hero h1{font-size:32px}}
