:root{color:#2e2518;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#2e2518;--muted:#736752;--line:#32291e;--paper:#fffdf2;--green:#58c72f;--green-dark:#248d14;--gold:#ffc928;--blue:#3aa8ff;--red:#ff5b68;--shadow:0 8px 0 #2e251829;background:#fff2bd;font-family:Trebuchet MS,Gill Sans,Microsoft YaHei UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 12%,#ffffffe0 0 6px,#0000 7px),radial-gradient(circle at 80% 20%,#ffce4773 0 11px,#0000 12px),linear-gradient(#fff8d9 0%,#ffe8a6 74%,#ffd47d 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer;overflow-wrap:anywhere}button:disabled{cursor:not-allowed;opacity:.72}.shell,.login-screen{place-items:center;width:100%;min-height:100vh;padding:20px;display:grid;overflow-x:hidden}.boot-badge{border:4px solid var(--line);background:var(--green);color:#fff;width:92px;height:92px;box-shadow:var(--shadow);border-radius:8px;place-items:center;font-size:28px;font-weight:900;animation:.9s ease-in-out infinite alternate bob;display:grid}.login-card{border:4px solid var(--line);width:min(430px,100%);min-width:0;max-width:calc(100vw - 40px);box-shadow:var(--shadow);background:linear-gradient(#fffdf2,#fff2c2);border-radius:8px;gap:22px;padding:28px;display:grid;position:relative}.login-card>*{min-width:0}.eyebrow{color:var(--green-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-weight:900}h1,h2,p{margin-top:0}h1{letter-spacing:0;overflow-wrap:anywhere;margin-bottom:10px;font-size:clamp(1.65rem,6vw,2.45rem);line-height:1.05}h2{margin-bottom:6px;font-size:1.05rem;line-height:1.2}.subtitle,.trail-hero p,.lesson-copy p{color:var(--muted);line-height:1.45}.login-form,.answer-label{gap:14px;display:grid}label{gap:8px;font-weight:900;display:grid}input,textarea{border:3px solid var(--line);width:100%;color:var(--ink);background:#fffef8;border-radius:8px;outline:none;box-shadow:inset 0 -3px #2e251814}input{min-height:50px;padding:0 14px}textarea{resize:vertical;min-height:94px;padding:14px;font-family:Cascadia Mono,Consolas,monospace;line-height:1.45}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #3aa8ff40}.primary-btn,.secondary-btn,.lesson-action,.choice-btn,.icon-btn,.language-chip,.plain-btn{border:3px solid var(--line);min-height:44px;color:var(--ink);overflow-wrap:anywhere;border-radius:8px;font-weight:900;line-height:1.15;transition:transform .14s,box-shadow .14s,background .14s;box-shadow:0 4px #2e25183d}.primary-btn,.lesson-action{background:var(--green);color:#fff;text-shadow:0 1px #00000038}.secondary-btn,.choice-btn,.icon-btn,.language-chip,.plain-btn{background:#fffdf2}.compact{width:max-content;padding-inline:16px}.primary-btn:hover,.secondary-btn:hover,.lesson-action:hover,.choice-btn:hover,.icon-btn:hover,.language-chip:hover,.plain-btn:hover{transform:translateY(-2px);box-shadow:0 6px #2e251833}.language-chip{padding:0 12px;position:absolute;top:14px;right:14px}.login-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.login-links button{color:var(--green-dark);text-underline-offset:3px;background:0 0;border:0;font-weight:1000;text-decoration:underline}.form-error,.config-warning{border:3px solid var(--red);color:#8d1d28;background:#ffe2e4;border-radius:8px;margin:0;padding:12px;font-weight:800;line-height:1.35}.game-shell{width:min(540px,100%);min-height:100vh;margin:0 auto;padding:14px 12px 34px;overflow-x:clip}.top-bar{grid-template-columns:repeat(4,minmax(50px,1fr)) 48px 48px 48px;gap:8px;margin-bottom:12px;display:grid}.subject-hub{gap:16px;padding-top:8px;display:grid}.hub-heading{gap:4px;padding:8px 2px;display:grid}.hub-heading p:last-child{color:var(--muted);margin:0;line-height:1.45}.subject-grid{gap:12px;display:grid}.compact-grid{gap:10px}.subject-card{border:4px solid var(--line);width:100%;min-width:0;color:var(--ink);text-align:left;box-shadow:var(--shadow);background:#e6ffd8;border-radius:8px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.subject-card.locked{opacity:.88;background:#f0ead9}.subject-card strong,.subject-card small{overflow-wrap:anywhere;min-width:0;display:block}.subject-card strong{font-size:1.05rem;font-weight:1000}.subject-card small{color:var(--muted);margin-top:3px;line-height:1.35}.subject-card b{border:3px solid var(--line);white-space:nowrap;background:#fffdf2;border-radius:8px;padding:6px 9px;font-size:.78rem}.subject-symbol{border:3px solid var(--line);background:var(--accent,var(--green));color:#fff;border-radius:8px;place-items:center;width:50px;height:50px;font-weight:1000;display:grid}.coming-soon-panel,.daily-task-panel,.chapter-badges-panel,.mistake-notebook-panel{border:4px solid var(--line);box-shadow:var(--shadow);background:#fffdf2;border-radius:8px;gap:12px;padding:12px;display:grid}.coming-soon-panel>strong,.daily-task-panel strong,.chapter-badges-panel strong,.mistake-notebook-panel strong{color:var(--green-dark);font-weight:1000}.daily-task-panel span,.chapter-badges-panel span,.mistake-notebook-panel span{color:var(--muted);font-size:.86rem;font-weight:850;line-height:1.35}.hub-back-btn{width:max-content;padding-inline:14px}.floating-treasure{z-index:5;border:4px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(90deg,#ffdf63,#9ee8ff);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;margin:0 0 12px;padding:12px;font-weight:900;animation:.26s both pop;display:grid;position:sticky;top:10px}.floating-treasure strong,.floating-treasure span{grid-column:1}.floating-treasure span{color:#5f4300;font-size:.9rem;line-height:1.25}.treasure-reward-list{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:4px;display:grid}.treasure-reward-item{border:3px solid var(--line);min-width:0;color:var(--ink);overflow-wrap:anywhere;background:#fffdf2db;border-radius:8px;gap:2px;padding:8px;font-size:.74rem;font-weight:900;line-height:1.15;display:grid}.treasure-reward-item b{color:#ad7900;font-size:.95rem}.floating-treasure button{border:3px solid var(--line);width:34px;height:34px;color:var(--ink);background:#fffdf2;border-radius:8px;grid-area:1/2/span 2;font-weight:1000;box-shadow:0 3px #2e251833}.stat-chip,.icon-btn{border:3px solid var(--line);overflow-wrap:anywhere;background:#fffdf2;border-radius:8px;place-items:center;min-width:0;min-height:42px;font-weight:900;display:grid;box-shadow:0 3px #2e25182e}.info-dialog{z-index:20;background:#2e25187a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.info-panel{border:4px solid var(--line);width:min(500px,100%);max-height:min(720px,100vh - 32px);box-shadow:var(--shadow);background:linear-gradient(#fffdf2,#fff1c0);border-radius:8px;gap:12px;padding:18px;display:grid;overflow-y:auto}.info-panel-head{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px;display:grid}.info-panel-head h1{margin-bottom:0}.info-panel article{border:3px solid var(--line);background:#fff9de;border-radius:8px;gap:5px;padding:12px;display:grid;box-shadow:inset 0 -3px #2e251814}.info-panel article:nth-of-type(2){background:#dff5ff}.info-panel article:nth-of-type(3){background:#e6ffd8}.info-panel h2{color:var(--green-dark);font-weight:1000}.info-panel p,.info-panel li{color:var(--ink);margin:0;font-weight:800;line-height:1.45}.info-panel ul{gap:7px;margin:0;padding-left:20px;display:grid}.fire{color:#f0781f}.heart,.heart-count{color:var(--red)}.gem{color:#168bd0}.xp{color:#ad7900}.goal-strip{border:3px solid var(--line);background:#fffdf2;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:18px;padding:9px 10px;font-size:.84rem;font-weight:900;display:grid;box-shadow:0 3px #2e251829}.goal-track,.stage-track{border:3px solid var(--line);background:#f4e8be;border-radius:999px;height:14px;overflow:hidden}.goal-track div,.stage-track div{background:linear-gradient(90deg,#ffd32a,#ffae22);height:100%}.trail-hero{grid-template-columns:82px 1fr;align-items:center;gap:14px;margin:16px 0 18px;padding:4px 2px;display:grid}.mascot{border:4px solid var(--line);background:linear-gradient(180deg, #ffffff38, #0000000a), var(--accent,var(--green));width:72px;height:72px;box-shadow:var(--shadow);color:#fff;border-radius:8px;place-items:center;font-weight:1000;display:grid;position:relative}.mascot.large{width:84px;height:84px}.mascot span{font-size:27px}.mascot i{border:3px solid var(--line);background:var(--blue);color:#fff;border-radius:8px;padding:3px 6px;font-size:.72rem;font-style:normal;position:absolute;bottom:-8px;right:-8px}.review-strip{border:4px solid var(--line);box-shadow:var(--shadow);background:#dff5ff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px;display:flex}.daily-task-panel,.chapter-badges-panel{margin:0 0 18px}.task-list{gap:8px;display:grid}.task-list span{border:3px solid var(--line);color:var(--ink);background:#fff7d0;border-radius:8px;grid-template-columns:26px 1fr;align-items:center;gap:8px;padding:9px;display:grid}.task-list b{gap:2px;min-width:0;display:grid}.task-list small{color:var(--muted);font-size:.74rem;font-weight:900;line-height:1.2}.task-list span.done{background:#dbffd4}.task-list i{border:2px solid var(--line);width:24px;height:24px;color:var(--green-dark);background:#fff;border-radius:999px;place-items:center;font-style:normal;font-weight:1000;display:grid}.review-task-progress{border:3px solid var(--line);background:#e8f5ff;border-radius:8px;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:8px;margin-top:10px;padding:10px;display:grid}.review-task-progress span{color:var(--ink);overflow-wrap:anywhere;grid-column:1/-1;font-size:.82rem;font-weight:950}.review-task-progress strong{text-align:right;color:#127db0;font-size:.86rem;font-weight:1000}.review-task-track{border:2px solid var(--line);background:#fff;border-radius:999px;height:12px;overflow:hidden}.review-task-track i{border-radius:inherit;background:linear-gradient(90deg,#37c871,#22a3d8);height:100%;display:block}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.chapter-badge-card{border:3px solid var(--line);min-width:0;color:var(--muted);background:#efe5c5;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;padding:9px;font-weight:1000;display:grid}.chapter-badge-card.unlocked{background:var(--gold);color:#6f4700}.chapter-badge-symbol{border:3px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fffdf2;border-radius:8px;place-items:center;font-size:.9rem;font-weight:1000;display:grid}.chapter-badge-copy{gap:2px;min-width:0;display:grid}.chapter-badge-copy strong,.chapter-badge-copy small,.chapter-badge-copy em{overflow-wrap:anywhere;min-width:0}.chapter-badge-copy strong{color:inherit;font-size:.86rem}.chapter-badge-copy small,.chapter-badge-copy em{color:var(--muted);font-size:.72rem;font-style:normal;line-height:1.2}.chapter-badge-card.unlocked .chapter-badge-copy small,.chapter-badge-card.unlocked .chapter-badge-copy em{color:#6f4700}.course-progress-card{border:4px solid var(--line);box-shadow:var(--shadow);background:#fffdf2;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:9px 12px;margin:0 0 18px;padding:12px;display:grid}.course-progress-card>div:first-child{gap:3px;min-width:0;display:grid}.course-progress-card strong{color:var(--green-dark);font-weight:1000}.course-progress-card span{color:var(--muted);overflow-wrap:anywhere;font-size:.86rem;font-weight:850;line-height:1.3}.course-progress-card b{color:#ad7900;font-size:1.08rem;font-weight:1000}.course-progress-track{border:3px solid var(--line);background:#f4e8be;border-radius:999px;grid-column:1/-1;height:14px;overflow:hidden}.course-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#58c72f,#ffd32a);height:100%;display:block}.review-strip.empty{background:#fffdf2c7;border-style:dashed;box-shadow:inset 0 -3px #2e251814}.review-strip.ready{background:#dff5ff}.mistake-notebook-panel{background:#fff8dc;margin:0 0 18px}.mistake-notebook-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mistake-notebook-head>div{gap:4px;min-width:0;display:grid}.weak-point-list,.mistake-list{gap:8px;display:grid}.weak-point-list>div{flex-wrap:wrap;gap:7px;display:flex}.weak-point-list b{border:2px solid var(--line);color:#075175;overflow-wrap:anywhere;background:#dff5ff;border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:6px 8px;font-size:.8rem;font-weight:1000;display:inline-flex}.weak-point-list small{color:#127db0;font-size:.72rem}.mistake-card{border:3px solid var(--line);background:#fffdf2;border-radius:8px;gap:5px;padding:9px;display:grid}.mistake-card p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.86rem;font-weight:850;line-height:1.35}.mistake-card div{flex-wrap:wrap;gap:6px;display:flex}.mistake-card em{color:#846100;overflow-wrap:anywhere;background:#fff1b9;border:2px solid #8d7f63;border-radius:8px;max-width:100%;padding:4px 7px;font-size:.74rem;font-style:normal;font-weight:1000}.review-strip div{gap:4px;display:grid}.review-strip strong{color:#075175;font-weight:1000}.review-strip span{color:var(--muted);font-size:.86rem;font-weight:850;line-height:1.3}.lesson-list{gap:16px;display:grid}.lesson-card{width:calc(100% - var(--offset));min-width:0;margin-left:var(--offset);border:4px solid var(--line);box-shadow:var(--shadow);background:#e6ffd8;border-radius:8px;grid-template-columns:58px 1fr 88px;align-items:center;gap:12px;padding:14px;display:grid}.lesson-card.complete{background:#dcf5ff}.lesson-card.learning{background:#fff1b9}.lesson-card.ready-practice{background:#e6ffd8}.lesson-card.locked{color:#8f846f;box-shadow:none;background:#fffdf2ad}.lesson-medal{border:4px solid var(--line);background:var(--gold);border-radius:50%;place-items:center;width:52px;height:52px;font-weight:1000;display:grid}.lesson-card.locked .lesson-medal{background:#efe4c3}.lesson-title-row{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.lesson-title-row span{color:var(--green-dark);flex:none;font-size:.76rem;font-weight:900}.lesson-copy,.lesson-copy h2,.lesson-copy p{overflow-wrap:anywhere;min-width:0}.stars{color:#f3b820;letter-spacing:0;font-size:1.05rem}.lesson-study-progress{color:#846100;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:8px 0;font-size:.78rem;font-weight:1000;display:grid}.lesson-study-progress div{border:2px solid var(--line);background:#fffdf2;border-radius:999px;height:10px;overflow:hidden}.lesson-study-progress i{border-radius:inherit;background:linear-gradient(90deg,#ffd32a,#ff9f1c);height:100%;display:block}.lesson-progress{grid-template-columns:44px 1fr 58px;align-items:center;gap:10px;margin:18px 0 26px;display:grid}.plain-btn{min-height:42px;font-size:1.5rem}.heart-count{text-align:right;font-weight:1000}.question-card,.result-panel,.empty-hearts{border:4px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffdf2,#fff0bd);border-radius:8px;padding:20px}.question-card h1{font-size:clamp(1.35rem,5vw,2rem);line-height:1.16}.question-type-strip{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.question-type-chip{border:2px solid var(--line);color:#3a3027;overflow-wrap:anywhere;background:#fffdf2;border-radius:8px;max-width:100%;padding:6px 9px;font-size:.78rem;font-weight:1000;line-height:1.1;box-shadow:inset 0 -2px #3a30271a}.question-type-chip.recognition{background:#dff5ff}.question-type-chip.practice{background:#dafbd2}.question-type-chip.repair{background:#ffe0e3}.question-type-chip.challenge,.question-type-chip.comprehensive{background:#fff1b9}.field-label{color:var(--muted);margin:16px 0 8px;font-size:.85rem;font-weight:900}.code-block{-webkit-overflow-scrolling:touch;border:3px solid var(--line);color:#fff4d6;background:#1e1b18;border-radius:8px;max-width:100%;margin:0 0 12px;padding:14px;font-family:Cascadia Mono,Consolas,monospace;overflow-x:auto;box-shadow:inset 0 -4px #ffffff0f}.choice-grid{gap:10px;display:grid}.choice-grid.two{grid-template-columns:repeat(2,1fr)}.choice-btn{text-align:left;overflow-wrap:anywhere;min-width:0;min-height:54px;padding:10px 12px;line-height:1.25}.choice-btn.selected{color:#075175;background:#dff5ff;border-color:#127db0}.choice-btn.correct-choice{color:#17660a;background:#dafbd2;border-color:#1b7d11}.choice-btn.wrong-choice{color:#8d1d28;background:#ffe0e3;border-color:#9f2631}.order-area{gap:10px;display:grid}.order-stack{background:#fff9de;border:3px dashed #8d7f63;border-radius:8px;gap:6px;min-height:74px;padding:10px;display:grid}.order-stack code{color:#fff4d6;background:#1e1b18;border-radius:6px;max-width:100%;padding:8px;font-family:Cascadia Mono,Consolas,monospace;display:block;overflow-x:auto}.feedback{border:3px solid var(--line);border-radius:8px;gap:8px;margin-top:14px;padding:12px;font-weight:850;display:grid}.feedback.good{color:#17660a;background:#dafbd2}.feedback.bad{color:#8d1d28;background:#ffe0e3}.feedback.soft{color:#846100;background:#fff1b9}.feedback section{gap:3px;display:grid}.feedback em{color:inherit;text-transform:uppercase;font-size:.78rem;font-style:normal;font-weight:1000}.feedback span{font-weight:700;line-height:1.38}.feedback-keypoints{flex-wrap:wrap;gap:6px;display:flex}.feedback-keypoints span{overflow-wrap:anywhere;background:#fffdf2b8;border:2px solid;border-radius:8px;max-width:100%;padding:5px 8px;font-size:.78rem;font-weight:900}.mistake-review-hint{color:#6f2c36;overflow-wrap:anywhere;background:#fffdf2cc;border:2px solid;border-radius:8px;margin:2px 0 0;padding:8px 10px;font-size:.88rem;font-weight:900;line-height:1.35}.submit-btn{width:100%;margin-top:16px}.result-panel,.empty-hearts{text-align:center;margin-top:42px}.result-burst,.broken-heart{border:4px solid var(--line);background:var(--gold);color:#fff;text-shadow:0 2px #0003;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 12px;font-size:2.2rem;animation:.42s both pop;display:grid}.broken-heart{background:var(--red)}.result-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.result-grid div{border:3px solid var(--line);background:#fffdf2;border-radius:8px;gap:5px;padding:12px 8px;display:grid}.result-grid span{color:var(--muted);font-size:.78rem;font-weight:900}.result-grid strong{font-size:1.08rem}.treasure{border:3px solid var(--line);background:linear-gradient(90deg,#ffdf63,#9ee8ff);border-radius:8px;gap:4px;margin:0 0 18px;padding:14px;font-weight:900;display:grid}.treasure .treasure-reward-list{margin:8px 0 2px}.study-status{border:3px solid var(--line);background:#e6ffd8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;font-weight:1000;display:flex}.study-status span{border:3px solid var(--line);background:var(--green);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.mastery-panel,.weakness-panel,.next-step-panel{border:3px solid var(--line);text-align:left;background:#fff9de;border-radius:8px;gap:10px;margin:0 0 18px;padding:12px;display:grid;box-shadow:inset 0 -3px #2e251814}.weakness-panel{background:#ffe8bd}.mastery-panel>strong,.weakness-panel>strong,.next-step-panel>strong{color:var(--green-dark);font-weight:1000}.weakness-panel>strong{color:#9f4c00}.next-step-panel{text-align:left;background:#dff5ff}.next-step-panel>strong{color:#075175}.next-step-panel p{color:var(--ink);margin:0;font-weight:850;line-height:1.4}.mastery-panel div,.weakness-panel div{flex-wrap:wrap;gap:8px;display:flex}.mastery-panel p{color:var(--muted);margin:0;font-weight:850;line-height:1.4}.mastery-panel span,.weakness-panel span{border:3px solid var(--line);background:#e6ffd8;border-radius:8px;padding:6px 9px;font-size:.82rem;font-weight:900;line-height:1.2}.weakness-panel span{background:#fff1d6}.result-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;display:grid}.review-now-btn{color:#075175;background:#dff5ff}.done-note{color:var(--muted);margin-top:16px;font-weight:900}.lesson-actions{gap:8px;display:grid}.mini-action{border:3px solid var(--line);min-height:34px;color:var(--ink);background:#fffdf2;border-radius:8px;font-size:.76rem;font-weight:900;box-shadow:0 3px #2e25182e}.study-count{color:var(--green-dark);text-align:right;font-weight:1000}.study-card{border:4px solid var(--line);max-width:100%;box-shadow:var(--shadow);background:linear-gradient(#fffdf2,#fff0bd);border-radius:8px;padding:20px;animation:.22s both card-rise;position:relative;overflow:hidden}.study-card:before{content:"";background:var(--card-accent,var(--green));height:9px;position:absolute;inset:0 0 auto}.study-card.concept{--card-accent:var(--green)}.study-card.code-example{--card-accent:var(--blue)}.study-card.mental-model{--card-accent:#ff8b42}.study-card.common-mistake{--card-accent:var(--red)}.study-card.mini-check{--card-accent:var(--gold)}.study-card.chapter-summary{--card-accent:#8ddf72}.study-card-topper{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:12px;display:grid}.study-buddy{border:4px solid var(--line);background:linear-gradient(180deg, #ffffff47, #0000000d), var(--card-accent,var(--green));color:#fff;border-radius:8px;place-items:center;width:56px;height:56px;animation:1.8s ease-in-out infinite buddy-breathe;display:grid;position:relative;box-shadow:0 5px #2e25182e}.study-buddy:before,.study-buddy:after{content:"";background:var(--line);border-radius:50%;width:7px;height:7px;position:absolute;top:15px}.study-buddy:before{left:13px}.study-buddy:after{right:13px}.study-buddy span{letter-spacing:0;margin-top:17px;font-size:.78rem;font-weight:1000}.study-card h1{font-size:clamp(1.35rem,5vw,2rem);line-height:1.16}.study-type-badge{border:3px solid var(--line);color:#075175;background:#dff5ff;border-radius:8px;place-items:center;width:fit-content;max-width:100%;margin-bottom:12px;padding:5px 10px;font-size:.78rem;font-weight:1000;display:inline-grid;box-shadow:0 3px #2e25182e}.study-card.concept .study-type-badge,.study-card.chapter-summary .study-type-badge{color:var(--green-dark);background:#e6ffd8}.study-card.code-example .study-type-badge{color:#075175;background:#dff5ff}.study-card.common-mistake .study-type-badge{color:#8d1d28;background:#ffe0e3}.study-card.mini-check .study-type-badge{color:#846100;background:#fff1b9}.study-body{color:var(--muted);margin-bottom:16px;font-weight:800;line-height:1.5}.learning-goal{border:3px solid var(--line);background:#dff5ff;border-radius:8px;gap:5px;margin:0 0 14px;padding:10px 12px;display:grid;box-shadow:inset 0 -3px #2e251814}.learning-goal strong{color:#075175;font-size:.82rem;font-weight:1000}.learning-goal p{color:var(--ink);margin:0;font-weight:850;line-height:1.4}.study-keypoints{border:3px solid var(--line);background:#fff9de;border-radius:8px;gap:8px;margin:0 0 16px;padding:10px;display:grid;box-shadow:inset 0 -3px #2e251814}.study-keypoints strong{color:var(--green-dark);font-size:.82rem;font-weight:1000}.study-keypoints div{flex-wrap:wrap;gap:8px;display:flex}.study-keypoints span{border:3px solid var(--line);max-width:100%;color:var(--ink);overflow-wrap:anywhere;background:#e6ffd8;border-radius:8px;padding:6px 8px;font-size:.78rem;font-weight:900;line-height:1.2}.study-blocks,.walkthrough{gap:12px;display:grid}.walkthrough-code{border:3px solid var(--line);background:#1e1b18;border-radius:8px;display:grid;overflow:hidden}.walkthrough-code button{color:#fff4d6;text-align:left;background:0 0;border:0;border-bottom:1px solid #ffffff1a;grid-template-columns:32px 1fr;align-items:start;gap:8px;min-height:38px;padding:8px 10px;display:grid}.walkthrough-code button:last-child{border-bottom:0}.walkthrough-code button.active{background:#3aa8ff38}.walkthrough-code span{color:#ffd66b;font-weight:1000}.walkthrough-code code{-webkit-overflow-scrolling:touch;white-space:pre;max-width:100%;font-family:Cascadia Mono,Consolas,monospace;overflow-x:auto}.walkthrough-note,.mistake-guess{border:3px solid var(--line);background:#dff5ff;border-radius:8px;gap:5px;padding:12px;display:grid;box-shadow:inset 0 -3px #2e251814}.walkthrough-note strong,.mistake-guess strong{color:#075175;font-weight:1000}.walkthrough-note p,.mistake-guess p{color:var(--ink);margin:0;font-weight:800;line-height:1.4}.output-box{border:3px solid var(--line);background:#e6ffd8;border-radius:8px;gap:6px;padding:12px;font-weight:900;display:grid}.output-box code{font-family:Cascadia Mono,Consolas,monospace}.mistake-grid{gap:12px;display:grid}.bad-code{border-color:#9f2631}.good-code{border-color:#1b7d11}.mistake-notes{gap:10px;display:grid}.mistake-notes section,.study-insight{border:3px solid var(--line);background:#fff9de;border-radius:8px;padding:12px;box-shadow:inset 0 -3px #2e251814}.mistake-notes strong{color:var(--green-dark);margin-bottom:5px;font-weight:1000;display:block}.mistake-notes p,.study-insight p{color:var(--ink);margin:0;font-weight:800;line-height:1.45}.study-insight{background:#e6ffd8;grid-template-columns:54px 1fr;align-items:center;gap:12px;display:grid}.study-insight span{border:3px solid var(--line);background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:54px;height:54px;font-weight:1000;display:grid}.summary-list{gap:10px;display:grid}.summary-point{border:3px solid var(--line);background:#fff9de;border-radius:8px;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:12px;display:grid;box-shadow:inset 0 -3px #2e251814}.summary-point span{border:3px solid var(--line);background:var(--gold);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:1000;display:grid}.summary-point p{color:var(--ink);margin:0;font-weight:850;line-height:1.4}.mini-check{gap:12px;display:grid}.mini-check h2{margin:0;font-size:1.05rem}.mini-check-note{color:var(--muted);margin:-6px 0 0;font-size:.88rem;font-weight:850}.mini-explain{border:3px solid var(--line);border-radius:8px;gap:5px;padding:12px;font-weight:850;display:grid}.mini-explain.good{color:#17660a;background:#dafbd2}.mini-explain.soft{color:#846100;background:#fff1b9}.mini-explain span{font-weight:750;line-height:1.4}.study-reward{color:#ad7900;text-align:center;margin:10px 0 0;font-weight:1000}.study-gate-note{color:#846100;text-align:center;margin:10px 0 0;font-size:.88rem;font-weight:900;line-height:1.35}.study-nav-actions{grid-template-columns:minmax(104px,.42fr) 1fr;gap:10px;margin-top:16px;display:grid}.study-nav-actions .primary-btn,.study-nav-actions .secondary-btn{width:100%;min-width:0}.study-prev-btn:disabled{transform:none;box-shadow:0 2px #2e25181f}@keyframes bob{0%{transform:translateY(-3px)}to{transform:translateY(5px)}}@keyframes pop{0%{transform:scale(.72)rotate(-8deg)}to{transform:scale(1)rotate(0)}}@keyframes card-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes buddy-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (width<=480px){.login-screen{justify-items:start}.login-card{width:min(335px,100%);padding:28px}.game-shell{padding-inline:9px}.top-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-chip,.icon-btn{min-height:38px;font-size:.86rem}.top-bar .icon-btn{grid-column:span 1}.goal-strip{grid-template-columns:1fr}.trail-hero{grid-template-columns:68px 1fr}.review-strip{display:grid}.course-progress-card{grid-template-columns:1fr}.mascot{width:62px;height:62px}.lesson-card{grid-template-columns:48px minmax(0,1fr);width:100%;margin-left:0}.lesson-study-progress{grid-template-columns:1fr auto}.lesson-study-progress span{grid-column:1/-1}.lesson-action,.lesson-actions{grid-column:2;width:100%}.lesson-medal{width:44px;height:44px}.result-grid,.result-actions,.choice-grid.two,.study-insight{grid-template-columns:1fr}.study-card-topper{grid-template-columns:50px minmax(0,1fr)}.study-buddy{width:50px;height:50px}.study-nav-actions,.treasure-reward-list{grid-template-columns:1fr}}
