:root {
  --ink: #153331;
  --muted: #6f7f7d;
  --line: #dfe9e5;
  --paper: #f4f8f5;
  --white: #fff;
  --green: #41ad74;
  --green-dark: #1c6f52;
  --lime: #cde970;
  --yellow: #ffc857;
  --orange: #f28b52;
  --blue: #68b9db;
  --shadow: 0 12px 30px rgba(23, 64, 57, 0.09);
  --radius: 22px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", system-ui, sans-serif; }
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible { outline: 3px solid rgba(65, 173, 116, .35); outline-offset: 3px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; z-index: 20; background: #fff; border-right: 1px solid var(--line); padding: 28px 18px 20px; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); padding: 0 9px 36px; }
.brand-mark { width: 43px; height: 43px; border-radius: 14px 14px 18px 14px; background: var(--green); color: white; display: grid; place-items: center; font: 700 25px/1 "Fredoka", sans-serif; transform: rotate(-5deg); box-shadow: 4px 4px 0 var(--lime); }
.brand strong, .brand small { display: block; font-family: "Fredoka", sans-serif; letter-spacing: .5px; }
.brand strong { font-size: 15px; }
.brand small { font-size: 10px; color: var(--green); margin-top: 1px; }
.nav-list { display: grid; gap: 7px; }
.nav-item { width: 100%; border: 0; background: transparent; padding: 13px 14px; border-radius: 12px; display: flex; align-items: center; gap: 13px; font-weight: 600; color: #657673; cursor: pointer; text-align: left; }
.nav-item > span { width: 20px; font-size: 19px; text-align: center; }
.nav-item b { margin-left: auto; background: #eaf2ee; border-radius: 9px; padding: 2px 8px; font-size: 11px; }
.nav-item i { margin-left:auto;background:#fff2ce;color:#90702d;padding:3px 6px;border-radius:7px;font:normal 800 7px/1 sans-serif;letter-spacing:.5px }
.nav-item:hover, .nav-item.active { color: var(--green-dark); background: #e9f6ee; }
.nav-item.active { box-shadow: inset 3px 0 var(--green); }
.sidebar-bottom { margin-top: auto; }
.profile-mini { border-top: 1px solid var(--line); margin-top: 10px; padding: 20px 7px 0; display: flex; align-items: center; gap: 10px; }
.profile-mini span:nth-child(2) { flex: 1; min-width: 0; }
.profile-mini strong, .profile-mini small { display: block; }
.profile-mini strong { font-size: 13px; }
.profile-mini small { color: var(--muted); font-size: 10px; white-space: nowrap; }

main { min-width: 0; padding: 0 44px 80px; }
.topbar { height: 105px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.eyebrow { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: 1.7px; }
.top-title h1 { margin: 4px 0 0; font: 600 22px/1.2 "Fredoka", sans-serif; }
.top-actions { display: flex; align-items: center; gap: 13px; }
.streak-pill { background: #fff4e5; border: 1px solid #ffe0b7; height: 42px; min-width: 105px; padding: 0 13px; border-radius: 14px; display: flex; align-items: center; gap: 7px; }
.streak-pill span { font-size: 20px; }.streak-pill strong { font: 700 18px "Fredoka"; }.streak-pill small { font-size: 9px; font-weight: 800; color: #9b6845; }
.notification { width: 42px; height: 42px; background: white; border: 1px solid var(--line); border-radius: 13px; color: var(--orange); font-size: 9px; }
.avatar { width: 44px; height: 44px; border: 3px solid white; background: var(--yellow); border-radius: 50%; font: 700 18px "Fredoka"; box-shadow: 0 0 0 1px var(--line); cursor: pointer; }
.avatar-small { width: 34px; height: 34px; display: grid; place-items: center; border-width: 2px; font-size: 14px; }
.mobile-menu { display: none; border: 0; background: white; border-radius: 12px; width: 40px; height: 40px; }

.view { display: none; animation: viewIn .35s ease both; }.view.active-view { display: block; }
@keyframes viewIn { from { opacity: 0; transform: translateY(6px); } }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(250px, .7fr); gap: 20px; }
.level-card, .weekly-card, .quest-map-card, .badges-preview, .history-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.level-card { min-height: 255px; overflow: hidden; display: grid; grid-template-columns: 1.1fr .9fr; background: linear-gradient(120deg, #153f38 0%, #236a54 59%, #dceac6 59%); color: white; }
.level-card-copy { padding: 31px 12px 26px 31px; z-index: 2; }
.level-kicker { display: flex; gap: 9px; align-items: center; }.level-kicker span, .map-label { font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }.level-kicker em { color: #143c33; background: var(--lime); padding: 4px 8px; border-radius: 9px; font: normal 800 8px/1 sans-serif; }
.level-card h2 { margin: 10px 0 6px; font: 700 38px/1 "Fredoka"; }.level-card p { max-width: 400px; color: #d6ebe3; font-size: 13px; line-height: 1.5; }
.xp-row { margin-top: 24px; display: flex; justify-content: space-between; max-width: 410px; font-size: 11px; color: #d4e9e0; }.xp-row strong { color: white; }
.progress-track { height: 8px; border-radius: 8px; overflow: hidden; background: #dfe8e4; }.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--green); transition: width .5s ease; }.xp-track { max-width: 410px; margin-top: 7px; background: rgba(255,255,255,.18); }.xp-track span { background: var(--lime); }
.level-illustration { position: relative; overflow: hidden; min-height: 255px; }
.sun { position: absolute; width: 63px; height: 63px; right: 18%; top: 11%; background: #ffcf65; border-radius: 50%; box-shadow: 0 0 0 9px rgba(255,207,101,.18); }
.cloud { position: absolute; width: 55px; height: 17px; background: rgba(255,255,255,.8); border-radius: 50px; }.cloud::before,.cloud::after { content:""; position:absolute; background:inherit; border-radius:50%; }.cloud::before { width:26px;height:26px;left:9px;bottom:0}.cloud::after{width:20px;height:20px;right:7px;bottom:0}.cloud-one{left:9%;top:21%}.cloud-two{right:2%;top:34%;transform:scale(.7)}
.mountain { position: absolute; bottom: -34%; left: 4%; width: 260px; height: 260px; background: #80af7d; clip-path: polygon(50% 0,100% 100%,0 100%); }.mountain::after{content:"";position:absolute;left:35%;top:20%;width:30%;height:25%;background:#edf4df;clip-path:polygon(50% 0,100% 100%,70% 79%,50% 100%,28% 74%,0 100%)}.mountain-back{transform:scale(.75);left:-23%;bottom:-31%;background:#a9c99c}.mountain-front{left:28%;bottom:-43%;background:#4b8d68}
.pine{position:absolute;color:#1f694e;font-size:62px;bottom:7%}.pine::after{content:"";position:absolute;width:5px;height:25px;background:#704c32;left:48%;bottom:-8px}.pine-one{left:5%;transform:scale(.7)}.pine-two{right:5%;}.pine-three{right:37%;bottom:-2%;transform:scale(.5)}.flag{position:absolute;right:28%;top:31%;font-size:31px;color:#ec6f46}.runner{position:absolute;left:34%;bottom:18%;font-size:35px;filter:drop-shadow(0 3px 0 rgba(0,0,0,.1));transform:scaleX(-1)}
.weekly-card { padding: 23px; display: grid; justify-items: center; }.card-heading { width: 100%; display: flex; justify-content: space-between; align-items: flex-start; }.card-heading h3 { margin: 3px 0 0; font: 600 18px "Fredoka"; }.trend { background: #e7f6ec; color: var(--green-dark); border-radius: 9px; padding: 5px 8px; font-size: 9px; font-weight: 800; }
.activity-ring { --progress:67; width: 116px; height: 116px; border-radius: 50%; margin: 15px auto 11px; display: grid; place-items: center; background: conic-gradient(var(--green) calc(var(--progress)*1%), #e7efeb 0); position: relative; transition: background .5s; }.activity-ring::before { content:""; position:absolute; width:90px;height:90px;border-radius:50%;background:white; }.activity-ring div { position:relative;text-align:center;display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:center;column-gap:3px}.activity-ring strong{font:700 28px "Fredoka"}.activity-ring span{font:700 9px sans-serif;color:var(--muted)}.activity-ring small{grid-column:1/3;font-size:9px;color:var(--muted)}
.weekly-message { margin: 0; display: flex; gap: 9px; align-items: center; color: var(--muted); font-size: 10px; line-height: 1.4; }.weekly-message > span:first-child { display:grid;place-items:center;width:30px;height:30px;background:#fff7df;border-radius:10px}.weekly-message strong{color:var(--ink)}
.section-title { margin: 34px 0 15px; display: flex; justify-content: space-between; align-items: end; }.section-title h2, .page-intro h2 { margin: 4px 0 0; font: 600 24px "Fredoka"; }.text-button { border:0;background:transparent;color:var(--green-dark);font-size:11px;font-weight:700;cursor:pointer;padding:6px }
.mission-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mission-card { background:white;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 6px 16px rgba(23,64,57,.05);position:relative;overflow:hidden; }.mission-card::after { content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-25px;top:-30px;background:var(--mission-soft)}
.mission-top { display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.mission-icon{width:42px;height:42px;border-radius:13px;background:var(--mission-soft);display:grid;place-items:center;font-size:21px}.xp-chip{color:var(--mission);background:var(--mission-soft);padding:5px 8px;border-radius:9px;font-size:9px;font-weight:800}.mission-card h3{font:600 16px "Fredoka";margin:15px 0 3px}.mission-card p{font-size:10px;color:var(--muted);margin:0 0 17px}.mission-stats{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.mission-stats strong{font:600 20px "Fredoka"}.mission-stats span{font-size:10px;color:var(--muted)}.mission-card .progress-track span{background:var(--mission)}.mission-foot{display:flex;justify-content:space-between;margin-top:8px;font-size:9px;color:var(--muted)}.mission-foot strong{color:var(--mission)}
.bottom-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr); gap: 18px; margin-top: 19px; }.quest-map-card,.badges-preview{padding:22px}.map-label{color:var(--muted)}
.quest-map { height: 180px;position:relative;margin-top:8px;background:linear-gradient(#f5fbf3,#e8f3df);border-radius:16px;overflow:hidden}.quest-map::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(165deg,transparent 40%,#cfe5be 41%);pointer-events:none}.quest-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.quest-map path{fill:none;stroke-linecap:round;stroke-width:5;stroke-dasharray:4 10}.path-shadow{stroke:#b6c9c0}.path-active{stroke:var(--green)}
.map-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:4;width:35px;height:35px;border-radius:50%;border:4px solid white;box-shadow:0 3px 8px rgba(30,67,59,.18);font:700 13px "Fredoka";cursor:default}.map-node small{position:absolute;white-space:nowrap;left:50%;top:39px;transform:translateX(-50%);font:800 7px sans-serif;letter-spacing:.5px;color:var(--muted)}.map-node.done{background:var(--green);color:white}.map-node.current{width:44px;height:44px;background:var(--yellow);color:var(--ink)}.map-node.locked{background:#dce5e1;font-size:11px}.map-node.trophy{background:var(--yellow);font-size:17px}.you-are-here{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:4px 6px;white-space:nowrap;font:800 7px sans-serif}.you-are-here::after{content:"";position:absolute;left:45%;top:100%;border:4px solid transparent;border-top-color:var(--ink)}
.badge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:19px}.badge{text-align:center}.badge>span{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;margin:auto;background:#e5f6ec;border:2px solid #c3e8d2;font-size:28px;box-shadow:inset 0 0 0 4px white}.badge strong,.badge small{display:block}.badge strong{font:600 10px "Fredoka";margin-top:8px}.badge small{font-size:8px;color:var(--muted);margin-top:2px}.badge.locked{filter:grayscale(1);opacity:.47}
.friends-teaser{margin-top:19px;background:linear-gradient(110deg,#fff 0%,#fff 70%,#e8f6ed 100%);border:1px solid var(--line);border-radius:18px;padding:18px 22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;box-shadow:0 5px 15px rgba(23,64,57,.05)}.friends-teaser h3{font:600 16px "Fredoka";margin:3px 0}.friends-teaser p{font-size:10px;color:var(--muted);margin:0}.friends-teaser .secondary-button{width:auto;margin:0;padding-inline:18px}.friend-avatars{display:flex;padding-left:8px}.friend-avatars span{width:38px;height:38px;margin-left:-8px;border:3px solid white;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font:700 13px "Fredoka"}.friend-avatars span:nth-child(2){background:#f6a475}.friend-avatars span:nth-child(3){background:#86c9e4}.friend-avatars span:last-child{background:#e6eee9;color:var(--green-dark)}
.sub-view { max-width: 1120px; margin: 0 auto; }.page-intro{padding:22px 0 25px}.page-intro h2{font-size:32px}.page-intro p{color:var(--muted);font-size:13px;margin-top:6px}.mission-list{display:grid;gap:15px}.mission-list .mission-card{display:grid;grid-template-columns:auto 1fr minmax(180px,1.2fr);gap:18px;align-items:center}.mission-list .mission-card h3{margin:0}.mission-list .mission-card p{margin:4px 0 0}.mission-list .mission-top{display:block}.mission-list .xp-chip{display:inline-block;margin-top:8px}.all-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.all-badges .badge{background:white;border:1px solid var(--line);border-radius:18px;padding:24px 10px;box-shadow:0 5px 15px rgba(23,64,57,.05)}
.history-card{padding:6px 22px}.history-list{display:grid}.history-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px 3px;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#eaf5ef;font-size:20px}.history-item strong,.history-item small{display:block}.history-item small{color:var(--muted);font-size:10px;margin-top:3px}.history-xp{color:var(--green-dark);font-weight:800;font-size:11px}
.social-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.team-challenge,.friends-card,.cheer-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:25px}.team-challenge{background:linear-gradient(145deg,#174b41,#2c7d5f);color:white;position:relative;overflow:hidden}.team-challenge::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(205,233,112,.12);right:-60px;top:-80px}.team-challenge h3{font:600 25px "Fredoka";margin:6px 0}.team-challenge>p{color:#cee5db;font-size:12px}.team-challenge>.progress-track{background:rgba(255,255,255,.2)}.team-challenge>.progress-track span{background:var(--lime)}.team-challenge>small{display:block;color:#cce0d8;margin-top:8px;font-size:9px}.team-progress-visual{display:flex;align-items:center;margin:27px 0 8px}.team-progress-visual div{margin-right:auto}.team-progress-visual strong,.team-progress-visual small{display:block}.team-progress-visual strong{font:700 35px "Fredoka"}.team-progress-visual small{font-size:8px;letter-spacing:1px}.team-progress-visual>span{font-size:30px;margin-left:2px}.friendly-label{background:#e8f6ed;color:var(--green-dark);font-size:8px;font-weight:800;padding:5px 8px;border-radius:8px}.friend-row{display:grid;grid-template-columns:25px 38px 1fr auto;gap:10px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line)}.friend-row:last-child{border:0}.friend-row.me{background:#edf8f1;border-radius:13px;border:0}.rank{font:700 13px "Fredoka";color:var(--muted);text-align:center}.friend-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font:700 12px "Fredoka"}.friend-avatar.orange{background:#f6a475}.friend-avatar.green{background:var(--yellow)}.friend-avatar.blue{background:#86c9e4}.friend-row p{margin:0}.friend-row strong,.friend-row small{display:block}.friend-row strong{font-size:11px}.friend-row small{font-size:8px;color:var(--muted)}.friend-row b{font-size:10px;color:var(--green-dark)}.cheer-card{margin-top:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px}.cheer-card>span{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#fff3d5;font-size:24px}.cheer-card h3{font:600 16px "Fredoka";margin:0 0 3px}.cheer-card p{font-size:10px;color:var(--muted);margin:0;max-width:650px}.cheer-card button{border:0;border-radius:12px;padding:11px 14px;font-size:10px;font-weight:800;color:#86918e}
.fab{position:fixed;right:30px;bottom:27px;z-index:12;border:0;border-radius:15px;background:var(--green);color:white;padding:13px 19px;font-weight:700;box-shadow:0 9px 25px rgba(34,126,85,.3);cursor:pointer}.fab span{font-size:20px;margin-right:4px}.fab:hover{transform:translateY(-2px);background:var(--green-dark)}
.modal{width:min(560px,calc(100% - 30px));border:0;border-radius:24px;padding:0;color:var(--ink);box-shadow:0 30px 80px rgba(10,39,34,.3)}.modal::backdrop{background:rgba(12,38,34,.61);backdrop-filter:blur(4px)}.modal form{padding:31px;position:relative}.modal h2{font:600 27px "Fredoka";margin:6px 0}.modal>form>p{color:var(--muted);font-size:12px;margin:0 0 22px}.modal-close{position:absolute;right:22px;top:20px;border:0;background:#eef3f0;border-radius:50%;width:32px;height:32px;font-size:21px;cursor:pointer}.activity-types{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.activity-types input{position:absolute;opacity:0}.activity-types>label>span{display:grid;place-items:center;gap:4px;padding:13px 4px;border:2px solid var(--line);border-radius:14px;font-size:22px;cursor:pointer}.activity-types strong{font-size:10px}.activity-types input:checked+span{background:#e8f6ed;border-color:var(--green);color:var(--green-dark)}.field{display:grid;gap:6px;margin:13px 0}.field>span,.field-heading>span{font-size:10px;font-weight:800}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-heading em{font:normal 800 9px/1 sans-serif;color:var(--green-dark);background:#e7f6ec;border-radius:8px;padding:5px 7px;white-space:nowrap}.field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;color:var(--ink)}.field input:focus{border-color:var(--green)}.strength-details{display:block;padding:1px 12px 11px;margin:2px 0 12px;background:#f6faf7;border:1px solid #deebe3;border-radius:15px}.strength-details[hidden]{display:none}.exercise-field{margin:11px 0}.next-set-suggestion{display:flex;align-items:center;gap:9px;padding:9px 11px;margin-bottom:10px;border-radius:11px;background:#e7f6ec;color:var(--green-dark)}.next-set-suggestion>span{font-size:17px}.next-set-suggestion p{margin:0}.next-set-suggestion strong,.next-set-suggestion small{display:block}.next-set-suggestion strong{font-size:10px}.next-set-suggestion small{font-size:8px;margin-top:2px;color:#638178}.set-table-wrap{overflow-x:auto}.set-table{width:100%;border-collapse:separate;border-spacing:0 6px;table-layout:fixed}.set-table th{text-align:left;padding:0 5px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.6px}.set-table th:first-child{width:44px}.set-table th:last-child{width:35px}.set-table th small{font-size:7px}.set-table td{padding:0 4px}.set-table td:first-child{text-align:center;font:700 13px "Fredoka";color:var(--green-dark)}.set-table input{width:100%;min-width:72px;border:1px solid var(--line);border-radius:10px;padding:9px 8px;color:var(--ink);background:white}.set-table input:focus{border-color:var(--green)}.remove-set{width:30px;height:30px;border:0;border-radius:9px;background:#ffebe5;color:#b95c42;cursor:pointer;font-weight:800}.remove-set:disabled{opacity:.25;cursor:not-allowed}.set-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 3px 12px}.set-actions button{border:1px dashed #9ccdb1;background:white;color:var(--green-dark);border-radius:10px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.set-actions output{font-size:8px;font-weight:800;color:var(--muted);text-align:right}.recommendation-note{display:flex;gap:9px;align-items:flex-start;margin:0;padding:9px 10px;background:#fff7e5;border-radius:10px;color:#80694d;font-size:9px;line-height:1.45}.recommendation-note>span:first-child{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:8px;background:white;color:var(--green-dark);font-weight:900}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-tip{display:flex;gap:10px;background:#fff7e5;border-radius:12px;padding:11px;margin:17px 0;color:#80694d;font-size:9px;line-height:1.5}.modal-tip p{margin:0}.primary-button,.secondary-button{width:100%;border:0;border-radius:13px;padding:13px 16px;font-weight:800;cursor:pointer}.primary-button{background:var(--green);color:white}.primary-button span{float:right}.secondary-button{background:#edf2ef;color:var(--ink);margin:10px 0}.parent-settings{display:grid;gap:8px;margin:15px 0}.parent-settings>div{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px}.parent-settings>div>span{font-size:22px}.parent-settings p{margin:0}.parent-settings strong,.parent-settings small{display:block}.parent-settings strong{font-size:11px}.parent-settings small{font-size:9px;color:var(--muted);margin-top:2px}.toast{position:fixed;left:50%;top:20px;transform:translate(-50%,-100px);z-index:50;background:var(--ink);color:white;padding:12px 20px;border-radius:12px;font-size:12px;font-weight:700;box-shadow:var(--shadow);transition:transform .35s ease}.toast.show{transform:translate(-50%,0)}

@media (max-width: 1080px){main{padding-inline:26px}.level-card{grid-template-columns:1.25fr .75fr}.mission-grid{grid-template-columns:1fr 1fr}.mission-card:last-child{grid-column:1/-1}.bottom-grid{grid-template-columns:1fr}.badges-preview{max-width:none}}
@media (max-width: 760px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:248px;transition:left .25s;box-shadow:20px 0 50px rgba(0,0,0,.15)}.sidebar.open{left:0}.mobile-menu{display:block}.topbar{height:90px}.top-title .eyebrow{display:none}.top-title h1{font-size:16px}.notification,.top-actions>.avatar{display:none}main{padding:0 17px 95px}.hero-grid{grid-template-columns:1fr}.level-card{grid-template-columns:1fr;min-height:330px;background:linear-gradient(170deg,#153f38 0%,#236a54 67%,#dceac6 67%)}.level-card-copy{padding:25px 24px 15px}.level-card h2{font-size:32px}.level-illustration{min-height:150px}.sun{top:5%}.mountain{bottom:-97%}.mountain-front{bottom:-117%}.pine{bottom:0}.runner{bottom:15%}.weekly-card{grid-template-columns:1fr 1fr;align-items:center}.weekly-card .card-heading{grid-column:1/-1}.weekly-message{margin-left:8px}.mission-grid{grid-template-columns:1fr}.mission-card:last-child{grid-column:auto}.section-title{margin-top:28px}.bottom-grid{grid-template-columns:1fr}.quest-map{overflow-x:auto}.badge-row{gap:3px}.fab{left:17px;right:17px;bottom:15px}.all-badges{grid-template-columns:1fr 1fr}.mission-list .mission-card{grid-template-columns:auto 1fr}.mission-list .mission-progress{grid-column:1/-1}.streak-pill{min-width:89px}.top-actions{gap:5px}}
@media (max-width: 760px){.friends-teaser{grid-template-columns:auto 1fr}.friends-teaser .secondary-button{grid-column:1/-1;width:100%}.social-grid{grid-template-columns:1fr}.cheer-card{grid-template-columns:auto 1fr}.cheer-card button{grid-column:1/-1}.team-challenge,.friends-card,.cheer-card{padding:20px}}
@media (max-width:420px){.weekly-card{display:block}.weekly-message{justify-content:center}.all-badges{grid-template-columns:1fr}.activity-types{gap:5px}.activity-types strong{font-size:9px}.modal form{padding:26px 16px}.field-heading{align-items:flex-start;flex-direction:column;gap:5px}.set-table th:nth-child(3){font-size:7px}.set-actions{align-items:flex-start;flex-direction:column}.set-actions output{text-align:left}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
