/* MEDQUEST V2 — Friendly, mobile-first, no third-party UI dependencies */
:root{--paper:#fffdf8;--white:#fff;--ink:#263743;--muted:#7f9095;--green:#58c972;--green-deep:#2ca653;--green-light:#ecfaed;--purple:#8d6be8;--purple-deep:#6749ca;--purple-light:#f2ebff;--orange:#ffbc53;--blue:#5fb5fa;--rose:#ff7b91;--line:#e9eefa;--soft:#f8fafc;--shadow:0 9px 26px rgba(25,73,68,.08);--display:ui-rounded,'Nunito','Avenir Next',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aeb4fc;outline-offset:3px}a{text-decoration:none;color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.8px}p{line-height:1.5}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:1000;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.screen{min-height:100svh}.layout{display:grid;grid-template-columns:218px minmax(470px,710px) minmax(260px,336px);justify-content:center;min-height:100svh}.sidebar{border-right:2px solid #eff2f1;padding:30px 15px;position:sticky;top:0;height:100svh;background:#fff}.brand{display:flex;align-items:center;gap:9px;padding:4px 11px 28px;white-space:nowrap;font-weight:1000;font-size:24px;letter-spacing:-1.3px;color:var(--green-deep)}.brand span span{color:var(--purple)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:3px solid #369e57;background:#62d580;color:#fff;border-radius:13px;transform:rotate(-9deg);box-shadow:0 5px 0 #299e57;font-size:27px;line-height:1}.nav-list{display:grid;gap:7px}.nav-button{display:flex;align-items:center;gap:14px;border:2px solid transparent;background:transparent;border-radius:17px;width:100%;padding:14px 12px;font-weight:950;letter-spacing:.3px;font-size:14px;text-align:left;color:#708087}.nav-button .nav-emoji{font-size:24px;width:27px;line-height:1}.nav-button.active{background:#e9f9ed;border-color:#b9eac8;color:#18884c}.nav-button:hover{background:#f3f8f4}.sidebar-note{border-radius:19px;background:var(--purple-light);padding:18px 14px;margin-top:37px}.sidebar-note strong{display:block;margin:8px 0 4px;font-size:15px}.sidebar-note p{color:#78689b;font-size:12px}.sidebar-note .mini-bar{height:10px;border-radius:99px;background:#ddcfff;margin-top:12px;overflow:hidden}.sidebar-note .mini-bar i{display:block;height:100%;border-radius:99px;background:var(--purple)}.main{padding:24px 27px 100px;min-width:0}.rightbar{border-left:2px solid #eff2f1;padding:28px 20px 30px;background:#fff;position:sticky;top:0;height:100svh;overflow:auto}.rightbar .right-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:1000;margin-bottom:17px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.topbar-greeting{font-weight:900;font-size:13px;color:#88979b}.topbar-mobile-brand{display:none}.topstats{display:flex;gap:9px;align-items:center}.topstat{display:flex;align-items:center;gap:5px;padding:8px 10px;border:2px solid #f0f2f0;border-radius:14px;background:white;font-size:14px;font-weight:1000;white-space:nowrap}.topstat span{font-size:20px}.topstat.streak{color:#e78a27}.topstat.xp{color:#8261df}.topstat.hearts{color:#ed6679}.hello{font-weight:1000;font-size:clamp(28px,4vw,37px);letter-spacing:-1.3px;margin:0 0 6px}.subhello{font-size:14px;color:#849094;font-weight:650;margin-bottom:23px}.hero{position:relative;overflow:hidden;display:flex;align-items:center;background:linear-gradient(115deg,#deffde 0%,#e5ffe6 55%,#eefff7 100%);border-radius:27px;border:2px solid #c4edce;padding:25px 25px 21px;min-height:220px;isolation:isolate}.hero::before{content:'';position:absolute;border-radius:50%;width:300px;height:300px;background:#c9f4d0;right:-145px;bottom:-170px;z-index:-1}.hero::after{content:'✦';font-size:25px;color:#f9bf4b;position:absolute;top:15px;right:21px;animation:twinkle 2.5s ease-in-out infinite}.hero-copy{width:61%;position:relative;z-index:2}.hero-kicker{display:inline-block;background:white;color:#2e9a50;font-size:10px;font-weight:1000;letter-spacing:1.3px;padding:6px 9px;border-radius:10px;margin-bottom:12px}.hero h2{font-size:clamp(24px,3vw,33px);letter-spacing:-1.2px;font-weight:1000;line-height:1.1;margin-bottom:8px;color:#295d3b}.hero p{font-size:13px;font-weight:720;color:#538466;max-width:270px}.mascot-svg{position:absolute;width:190px;max-width:45%;height:auto;right:5px;bottom:0;filter:drop-shadow(0 12px 7px rgba(51,112,57,.12));animation:floaty 3.2s ease-in-out infinite;transform-origin:bottom center}.mascot-eye{transform-origin:center;animation:blink 5.5s infinite}.cta{display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.65px;font-weight:1000;font-size:14px;border-radius:16px;padding:15px 19px;border:2px solid transparent;transition:transform .1s,box-shadow .1s;min-height:52px}.cta:active,.option:active,.node:active,.secondary:active{transform:translateY(4px)!important;box-shadow:none!important}.cta.primary{background:#51c46d;color:white;border-color:#40b65d;box-shadow:0 5px 0 #299c4e;text-shadow:0 1px 1px #3bac57}.cta.primary:hover{background:#48bd64}.cta.purple{background:#916ee9;border-color:#815cda;box-shadow:0 5px 0 #6646bd;color:white}.cta.orange{background:#ffc25f;border-color:#f9b44c;box-shadow:0 5px 0 #e49c32;color:#785019}.cta.ghost{background:white;border-color:#e8eeee;box-shadow:0 5px 0 #e6eded;color:#44606b}.cta:disabled{box-shadow:none;transform:none}.hero-button{margin-top:15px;position:relative;z-index:2;display:inline-flex;min-height:43px;padding:11px 15px;font-size:12px;border-radius:13px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:27px 0 14px}.section-header h2{font-size:21px;font-weight:1000}.section-header .text-link{font-size:12px;border:0;background:none;font-weight:1000;color:#54a961;padding:6px}.topic-row{display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:14px}.topic-row::-webkit-scrollbar{display:none}.topic-chip{border:2px solid #e8eeea;background:#fff;border-radius:13px;display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:1000;white-space:nowrap;color:#607a78}.topic-chip span{font-size:20px}.topic-chip.selected{border-color:#91dc9e;background:#ebf9ee;color:#248c4a;box-shadow:0 3px 0 #d3efd9}.journey{position:relative;border:2px solid #eef0ed;border-radius:27px;background:linear-gradient(180deg,#fff 0%,#fafffc 100%);overflow:hidden;padding:20px 18px 22px;min-height:375px}.journey-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px dashed #e5ece8}.subject-icon{width:48px;height:48px;display:grid;place-items:center;background:#e8f9ec;border-radius:17px;font-size:29px}.journey-head strong{display:block;font-size:17px;font-weight:1000}.journey-head p{color:#8b9b99;font-size:12px;font-weight:700;margin-top:2px}.journey-count{margin-left:auto;padding:6px 10px;background:#f2f7f3;border-radius:12px;font-size:12px;font-weight:900;color:#739280}.path{position:relative;min-height:315px;padding:7px 3px 10px}.path::before{content:'';position:absolute;width:6px;background:repeating-linear-gradient(to bottom,#d6e9dc 0 13px,transparent 13px 25px);top:28px;bottom:40px;left:50%;margin-left:-3px;border-radius:99px;opacity:.6}.path-step{display:flex;justify-content:center;position:relative;margin:23px 0 32px}.path-step:nth-child(3n+1){transform:translateX(-70px)}.path-step:nth-child(3n+2){transform:translateX(38px)}.path-step:nth-child(3n+3){transform:translateX(-9px)}.path-node-wrap{position:relative;display:grid;justify-items:center;gap:9px}.node{width:74px;height:74px;border-radius:25px;border:4px solid #f9fefa;background:#b6c9be;display:grid;place-items:center;box-shadow:0 7px 0 #8da89a,0 12px 15px #2b7b3a12;font-size:35px;position:relative;transition:transform .13s;z-index:2}.node.unlocked{background:#61cf79;box-shadow:0 7px 0 #35a453,0 11px 16px #299c4a23;animation:softPulse 3.2s ease-in-out infinite}.node.completed{background:#f9c768;box-shadow:0 7px 0 #dda842}.node.locked{background:#e5ebe7;border-color:#f7faf8;box-shadow:0 7px 0 #cdd8d0;filter:grayscale(.6)}.node.active:before{content:'TOQUE PARA JOGAR';position:absolute;white-space:nowrap;top:-31px;left:50%;transform:translateX(-50%);background:#fff;border:2px solid #a8e3b2;border-radius:10px;color:#349a4b;font-size:9px;font-weight:1000;letter-spacing:.4px;padding:5px 8px;box-shadow:0 3px 0 #d5eed9}.node-title{border:0;background:transparent;font-weight:950;font-size:12px;text-align:center;color:#4c6561;max-width:135px}.node-title small{display:block;color:#96a6a1;font-size:10px;font-weight:700;margin-top:4px}.journey-nudge{display:flex;align-items:center;gap:9px;padding:13px;border-radius:15px;background:#f3f8f4;font-size:12px;font-weight:800;color:#59806b}.journey-nudge span{font-size:24px}.quests{display:grid;gap:10px}.quest{display:flex;gap:12px;padding:13px;border:2px solid #eef1ed;border-radius:17px;align-items:center;background:#fff}.quest-ico{width:42px;height:42px;background:#fff6e6;border-radius:13px;display:grid;place-items:center;font-size:23px;flex-shrink:0}.quest-info{flex:1;min-width:0}.quest-info strong{display:block;font-size:12px;font-weight:950}.quest-info p{font-size:11px;font-weight:750;color:var(--muted);margin:2px 0 6px}.bar{height:10px;border-radius:99px;overflow:hidden;background:#edf2ef;position:relative}.bar i{height:100%;display:block;border-radius:99px;background:#72d785;transition:width .5s ease}.quest-reward{color:#dc9b24;font-weight:1000;font-size:12px;white-space:nowrap}.claim{background:#ffcf6c;border:0;border-bottom:3px solid #e6aa40;font-weight:1000;font-size:11px;padding:9px 10px;border-radius:10px;white-space:nowrap;color:#725019}.right-card{background:#fff;border:2px solid #edf1eb;border-radius:20px;padding:18px 16px;margin-bottom:16px}.right-card .right-title{margin-bottom:14px}.right-progress{display:flex;gap:14px;align-items:center}.ring{--p:0;aspect-ratio:1;width:82px;height:82px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),#e5f4e9 0);display:grid;place-items:center;flex-shrink:0}.ring:before{content:attr(data-text);width:63px;height:63px;background:#fff;display:grid;place-items:center;border-radius:50%;font-weight:1000;color:#398650;font-size:19px}.right-progress strong{font-weight:1000;font-size:14px}.right-progress p{font-size:12px;color:#849a8d;margin-top:5px}.right-stat{display:flex;justify-content:space-between;margin-top:13px;font-size:12px;font-weight:750;color:#78908a}.right-stat strong{color:#445a5c}.right-divider{height:1px;background:#eef2ee;margin:16px 0}.badge-row{display:flex;gap:9px;align-items:center;margin-bottom:14px}.badge-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f5efff;font-size:27px}.badge-row strong{font-size:12px;font-weight:1000}.badge-row p{font-size:11px;color:#89999b;margin-top:4px}.right-soft{background:#fff5e7;border:2px solid #ffe5bf;border-radius:19px;padding:18px 15px;color:#996e3b}.right-soft strong{display:block;font-weight:1000}.right-soft p{font-size:12px;margin:8px 0 13px}.right-soft .mini-mascot{font-size:35px;float:right}.right-soft button{border:0;background:#ffcf85;color:#885a27;border-radius:10px;font-size:12px;font-weight:1000;padding:9px 12px}.mobile-nav{display:none}.feature-head{margin:13px 0 23px}.feature-head h1{font-weight:1000;font-size:30px}.feature-head p{color:#8a9c9d;font-weight:700;margin-top:5px;font-size:13px}.review-banner{display:flex;align-items:center;gap:17px;padding:20px;border:2px solid #d7e8fa;background:linear-gradient(120deg,#e6f6ff,#f5fbff);border-radius:22px;margin-bottom:20px}.review-banner .review-art{font-size:52px;filter:drop-shadow(0 6px 0 #c5ddec)}.review-banner h2{font-size:19px;font-weight:1000}.review-banner p{font-size:12px;color:#7695ad;margin-top:5px}.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tile{border:2px solid #ebefed;border-radius:21px;padding:17px;background:white}.tile > span{font-size:32px}.tile strong{display:block;font-size:21px;font-weight:1000;margin-top:9px}.tile p{font-size:12px;color:#8ea0a0;font-weight:750;margin-top:5px}.tile.main-tile{background:#ecfbef;border-color:#baeec5}.review-start{width:100%;margin:20px 0}.notice{border-radius:15px;background:#f7f4ff;color:#7969a4;padding:13px 15px;font-size:12px;line-height:1.5;font-weight:700}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-card{text-align:left;min-height:160px;border:2px solid #e7eee8;background:#fff;border-radius:20px;padding:18px;box-shadow:0 4px 0 #e7eee8;transition:transform .1s}.course-card:active{transform:translateY(4px);box-shadow:none}.course-card .course-art{height:58px;width:58px;border-radius:17px;display:grid;place-items:center;font-size:33px;margin-bottom:11px}.course-card strong{display:block;font-size:16px;font-weight:1000}.course-card p{font-size:11px;color:#8d9a9d;margin:5px 0 12px;min-height:33px}.course-card .course-foot{display:flex;align-items:center;justify-content:space-between;color:#758c8c;font-size:11px;font-weight:900}.course-card .course-foot span{color:#51b969}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.stat-tile{background:white;border:2px solid #eaf0e9;border-radius:18px;padding:16px}.stat-tile .val{font-size:27px;font-weight:1000;letter-spacing:-.7px}.stat-tile .lab{color:#8c9d9a;font-size:11px;font-weight:850;margin-top:4px}.weekly-chart{display:flex;justify-content:space-between;align-items:flex-end;gap:6px;height:165px;border:2px solid #e9eeeb;border-radius:19px;padding:20px 12px 13px;margin-top:12px;background:white}.chart-day{flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px;height:100%}.chart-bar{width:min(31px,100%);height:var(--h);min-height:7px;background:#a9e7ba;border-radius:8px 8px 4px 4px}.chart-day.today .chart-bar{background:#53c86c}.chart-day small{font-size:10px;font-weight:800;color:#91a09a}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.achievement{background:#fff;border:2px solid #e9efea;border-radius:18px;padding:14px 7px;text-align:center}.achievement.locked{filter:grayscale(1);opacity:.5}.achievement .medal{font-size:31px}.achievement strong{display:block;margin-top:7px;font-size:11px;font-weight:1000}.achievement small{display:block;font-size:10px;color:#96a6a0;margin-top:4px}.settings-group{background:#fff;border:2px solid #eaf0ed;border-radius:19px;padding:15px;margin-bottom:15px}.settings-group h3{font-size:15px;font-weight:1000;margin-bottom:13px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #eef0ef}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:13px}.setting-row p{color:#8b9b9a;font-size:11px;margin-top:4px}.switch{border-radius:99px;background:#cdd7d4;width:49px;height:28px;flex-shrink:0;padding:4px;transition:background .2s;border:none}.switch:before{content:'';display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.switch.on{background:#5dce76}.switch.on:before{transform:translateX(21px)}.goal-buttons{display:flex;gap:6px}.goal-btn{border:2px solid #e4eee8;border-radius:12px;padding:9px 12px;font-weight:1000;background:#fff;color:#697e77}.goal-btn.active{color:#1d9b52;background:#e7f8e9;border-color:#9ce4b0}.outline-action{border:2px solid #e5ede9;background:white;border-radius:12px;padding:11px 13px;font-size:12px;font-weight:950;color:#5b7c71}.outline-action:hover{background:#f4f9f5}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-actions button{flex:1}.settings-foot{color:#94a29f;font-size:11px;line-height:1.6;margin-top:13px}.setting-hint{font-size:11px;line-height:1.5;margin:10px 0;color:#93a09c}.game-shell{max-width:720px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;padding:20px 26px 28px;background:#fff}.game-top{display:flex;gap:15px;align-items:center;justify-content:space-between}.close-game{border:none;background:transparent;font-size:24px;color:#9aa6a2;line-height:1;width:34px;height:40px}.game-progress{flex:1;height:15px;border-radius:99px;background:#eaf1eb;overflow:hidden;position:relative}.game-progress i{display:block;height:100%;background:linear-gradient(90deg,#59d274,#99e76c);border-radius:99px;transition:width .36s}.game-hearts{font-size:15px;color:#ef6578;font-weight:1000;white-space:nowrap}.game-hearts span{font-size:23px}.game-stage{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 0 20px;min-height:410px}.game-kicker{font-size:12px;color:#6ea286;letter-spacing:1.2px;text-transform:uppercase;font-weight:1000;margin-bottom:14px}.game-title{font-size:clamp(24px,4.5vw,32px);line-height:1.3;letter-spacing:-.8px;font-weight:1000;margin-bottom:27px}.options{display:grid;gap:11px}.option{display:flex;align-items:center;gap:13px;text-align:left;min-height:67px;width:100%;padding:14px 15px;background:#fff;border:2px solid #e5eeea;border-radius:16px;box-shadow:0 4px 0 #e4ece7;color:#35474a;font-size:14px;font-weight:850;transition:transform .08s,background .13s}.option-key{display:grid;place-items:center;width:31px;height:31px;border:2px solid #e3ebe5;border-radius:9px;color:#8fa19a;flex-shrink:0;font-size:12px;font-weight:1000}.option.chosen{background:#edfbf0;border-color:#78da90;box-shadow:0 4px 0 #b5edc1}.option.correct{background:#e4fae9;border-color:#54d475;box-shadow:0 4px 0 #b4e6be;color:#228e47}.option.wrong{background:#fff0f0;border-color:#ff99a1;box-shadow:0 4px 0 #ffc8ca;color:#ba5261}.option:disabled{opacity:1;cursor:default}.game-footer{border-top:2px solid #f0f3f0;padding-top:20px;position:relative;display:grid;gap:12px}.game-footer.has-feedback{background:linear-gradient(180deg,#fff,#fafffb)}.game-footer .cta{width:100%}.feedback{display:flex;gap:11px;align-items:flex-start;border-radius:15px;padding:13px;background:#e9faed;border:2px solid #c8edcf}.feedback.wrong{background:#fff1f2;border-color:#ffd6da}.feedback .f-icon{font-size:28px;line-height:1}.feedback strong{display:block;font-weight:1000;color:#269b4c;font-size:17px}.feedback.wrong strong{color:#d05b70}.feedback p{font-size:12px;margin-top:4px;color:#59796b}.feedback.wrong p{color:#946979}.feedback .pearl{font-size:11px;line-height:1.5;color:#536b63;margin-top:9px;border-top:1px solid #cce9d5;padding-top:8px}.feedback.wrong .pearl{border-color:#f9d2d7}.flashcard{position:relative;min-height:310px;perspective:1200px;border:0;background:transparent;width:100%;padding:0;margin:4px 0 18px}.flashcard-inner{display:grid;place-items:center;transform-style:preserve-3d;transition:transform .48s cubic-bezier(.2,.8,.2,1);width:100%;height:310px;position:relative}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flash-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:17px;background:#fbf9ff;border:3px solid #e9defe;border-bottom:8px solid #d9c6fc;border-radius:25px;padding:20px 25px;text-align:center}.flash-face.back{transform:rotateY(180deg);background:#eefff3;border-color:#c2efce;border-bottom-color:#a6e4b5}.flash-face small{font-size:11px;color:#9174bb;font-weight:1000;letter-spacing:1.2px;text-transform:uppercase}.flash-face strong{font-size:clamp(22px,3.5vw,29px);font-weight:1000;line-height:1.35}.flash-face .tap-hint{font-size:12px;color:#9e8bbc;font-weight:800}.flash-face.back .tap-hint{color:#58a878}.flash-back-explain{font-size:12px;line-height:1.6;color:#648072;margin-top:2px}.grade-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cta.wrong-grade{color:#bf5f71;background:#fff0f2;border:2px solid #f7bdc6;box-shadow:0 4px 0 #f3cdd2}.cta.right-grade{color:#fff;background:#51c66d;border:2px solid #35b455;box-shadow:0 4px 0 #2c9c4c}.combo{display:inline-flex;align-items:center;gap:5px;background:#fff4db;border:2px solid #ffe5a5;color:#c68720;border-radius:11px;padding:5px 9px;font-size:11px;font-weight:1000;margin-bottom:15px;align-self:flex-start;animation:pop .3s}.lesson-meta{font-size:12px;font-weight:850;color:#8c9d98;margin-top:8px}.result-screen{max-width:690px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center;background:radial-gradient(circle at 50% 35%,#edffed 0,transparent 65%)}.result-illustration{font-size:92px;animation:floaty 3s ease-in-out infinite;filter:drop-shadow(0 10px 0 #e8efd9)}.result-screen h1{font-size:clamp(29px,5vw,42px);font-weight:1000;letter-spacing:-1.5px;margin:14px 0 11px}.result-screen .result-copy{color:#769085;font-size:14px;font-weight:700;max-width:440px}.result-score{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:490px;margin:29px 0}.result-score .score-item{background:white;border:2px solid #eef3ec;border-radius:18px;padding:15px 10px}.score-item strong{display:block;font-weight:1000;font-size:22px}.score-item small{display:block;color:#9aaba4;font-size:10px;font-weight:950;margin-top:6px;text-transform:uppercase}.result-buttons{display:grid;gap:11px;width:min(100%,400px)}.result-extra{margin-top:18px;color:#729780;font-size:12px;font-weight:850}.confetti-wrap{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:50}.confetti-piece{position:absolute;top:-10vh;width:10px;height:15px;border-radius:3px;animation:confettiFall var(--dur) ease-out forwards;left:var(--left);background:var(--color);transform:rotate(var(--rot))}.modal-layer{position:fixed;inset:0;background:rgba(24,43,39,.5);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:60}.modal-box{background:#fff;border-radius:24px;padding:25px;width:min(100%,420px);box-shadow:0 18px 55px #223d3460}.modal-box h2{font-size:22px;font-weight:1000}.modal-box p{color:#70877f;font-size:13px;margin:12px 0 22px}.modal-buttons{display:flex;gap:10px}.modal-buttons button{flex:1}.toast{position:fixed;top:22px;left:50%;transform:translate(-50%,-25px);z-index:100;opacity:0;pointer-events:none;background:#303f42;color:white;border-radius:14px;padding:11px 18px;font-weight:900;font-size:13px;transition:transform .2s,opacity .2s;max-width:90vw;text-align:center;box-shadow:0 8px 23px #1e343943}.toast.visible{opacity:1;transform:translate(-50%,0)}.xp-float{position:fixed;z-index:80;font-size:22px;color:#d39427;font-weight:1000;pointer-events:none;animation:xpFloat .95s forwards;top:24%;left:50%}.mini-credits{color:#9ba7a4;font-size:10px;text-align:center;margin-top:24px}.mascot-caption{font-weight:850;color:#3b8c54;font-size:11px}.empty-state{border-radius:22px;background:#f5faf7;border:2px solid #e4f2e8;padding:28px 20px;text-align:center}.empty-state .empty-emoji{font-size:54px}.empty-state h3{margin:8px 0;font-weight:1000}.empty-state p{color:#8ea19a;font-size:13px}.empty-state .cta{margin:17px auto 0;max-width:320px}.section-break{height:2px;background:#eef2ee;margin:22px 0}.preview-only-message{display:block;margin:100px 20px;padding:25px;background:#e9faef;border-radius:18px;color:#3d7951;text-align:center}.safe-bottom{height:calc(15px + env(safe-area-inset-bottom))}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(2deg)}}@keyframes twinkle{50%{transform:scale(1.4);opacity:.4}}@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.14)}}@keyframes softPulse{50%{filter:brightness(1.055)}}@keyframes pop{from{transform:scale(.8)}to{transform:scale(1)}}@keyframes confettiFall{to{top:110vh;transform:translateX(var(--drift)) rotate(720deg);opacity:0}}@keyframes xpFloat{0%{transform:translate(-50%,20px) scale(.65);opacity:0}30%{opacity:1;transform:translate(-50%,-10px) scale(1.18)}100%{opacity:0;transform:translate(-50%,-65px) scale(.9)}}
@media(max-width:1230px){.layout{grid-template-columns:190px minmax(420px,650px)}.rightbar{display:none}.sidebar{padding:27px 10px}.main{padding-inline:22px}}
@media(max-width:760px){body{background:#fff}.layout{display:block}.sidebar,.rightbar{display:none}.main{padding:15px 17px calc(100px + env(safe-area-inset-bottom));max-width:600px;margin:auto}.topbar{margin-bottom:24px}.topbar-greeting{display:none}.topbar-mobile-brand{display:flex;gap:7px;align-items:center;color:#2da455;font-size:23px;font-weight:1000;letter-spacing:-1.1px}.topbar-mobile-brand .brand-mark{height:33px;width:33px;border-radius:10px;font-size:20px;box-shadow:0 3px 0 #22934d}.topstats{gap:5px}.topstat{padding:6px 7px;border-radius:11px;border-width:1px;font-size:12px}.topstat span{font-size:16px}.hello{font-size:31px}.subhello{margin-bottom:18px}.hero{min-height:195px;padding:19px 18px}.hero-copy{width:63%}.hero h2{font-size:25px}.hero p{font-size:11px;max-width:220px}.hero-button{padding:10px 11px;min-height:40px;font-size:11px;white-space:nowrap}.mascot-svg{width:162px;max-width:43%;right:-4px}.section-header{margin-top:24px}.section-header h2{font-size:20px}.journey{padding:17px 13px}.path-step:nth-child(3n+1){transform:translateX(-48px)}.path-step:nth-child(3n+2){transform:translateX(45px)}.path-step:nth-child(3n+3){transform:translateX(0)}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;align-items:center;max-width:760px;margin:0 auto;background:#fff;border-top:2px solid #e9eee9;padding:7px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 15px #243e3610}.mobile-nav button{border:0;background:none;min-width:60px;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;font-size:10px;font-weight:1000;color:#93a09d;padding:5px 2px;border-radius:12px}.mobile-nav .nav-emoji{font-size:23px}.mobile-nav button.active{color:#28a154;background:#effbf0}.game-shell{padding:17px 18px calc(25px + env(safe-area-inset-bottom))}.game-stage{padding-top:24px;min-height:370px}.game-title{font-size:25px}.option{font-size:13px;min-height:62px;padding:11px 13px}.game-footer{padding-top:14px}.game-footer .cta{min-height:54px}.result-illustration{font-size:80px}.result-screen{padding:24px 20px}.right-soft{display:none}}
@media(max-width:370px){.topstat{padding:5px 6px;font-size:11px}.topstat span{font-size:14px}.hello{font-size:28px}.hero h2{font-size:23px}.hero-copy{width:65%}.mascot-svg{max-width:40%}.hero-button{font-size:10px}.path-step:nth-child(3n+1){transform:translateX(-35px)}.path-step:nth-child(3n+2){transform:translateX(35px)}.tile-grid,.library-grid{grid-template-columns:1fr 1fr}.tile{padding:12px}.cta{font-size:12px;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

body.reduced-motion *,body.reduced-motion *::before,body.reduced-motion *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}

/* V3 — FSRS-6 review controls, still mobile-first */
.review-reminder{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:2px solid #d9d0fb;background:#f5efff;color:#6246b6;border-radius:18px;padding:14px;margin-top:17px;box-shadow:0 4px 0 #e6ddfa;transition:transform .1s}
.review-reminder:active{transform:translateY(4px);box-shadow:none}.review-reminder>span:first-child{font-size:31px}.review-reminder>div{flex:1;min-width:0;display:grid;gap:3px}.review-reminder strong{font-size:14px;font-weight:1000}.review-reminder small{font-size:11px;color:#8e78c0;font-weight:700}.review-reminder>span:last-child{font-size:10px;font-weight:1000;white-space:nowrap}
.retention-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.retention-btn{border:2px solid #e5e8ee;background:white;color:#5d7280;border-radius:15px;padding:13px 7px;display:grid;justify-items:center;gap:4px;box-shadow:0 3px 0 #ecf0f2}.retention-btn strong{font-size:20px;font-weight:1000}.retention-btn small{font-size:11px;font-weight:850}.retention-btn.active{border-color:#56c874;background:#e9faed;color:#258d48;box-shadow:0 3px 0 #b6e9c4}
.four-grades{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.grade-choice{min-width:0;border:2px solid #e5e9e9;background:#fff;padding:13px 3px 10px;border-radius:15px;box-shadow:0 4px 0 #e8eeee;display:grid;gap:5px;justify-items:center;color:#344e52;transition:transform .1s;font-weight:1000}.grade-choice:active{transform:translateY(4px);box-shadow:none}.grade-choice span{white-space:nowrap;font-size:12px}.grade-choice small{font-size:11px;font-weight:900;opacity:.8}.grade-1{background:#fff0f1;border-color:#f7bcc5;color:#bc5364;box-shadow:0 4px 0 #f7d2d8}.grade-2{background:#fff6e5;border-color:#ffe0a3;color:#b27e27;box-shadow:0 4px 0 #f8e7c2}.grade-3{background:#e9fbed;border-color:#b0eabc;color:#229552;box-shadow:0 4px 0 #d0edd8}.grade-4{background:#f1eeff;border-color:#d4c8fa;color:#7958cb;box-shadow:0 4px 0 #e1d9f7}
.review-next{font-size:12px;font-weight:1000;display:inline-block;padding-top:4px;color:#4b805f}.feedback.wrong .review-next{color:#bb566a}
.upcoming-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:25px 0 11px}.upcoming-head strong{font-size:17px;font-weight:1000}.upcoming-head small{font-size:11px;color:var(--muted);font-weight:700}.upcoming-list{display:grid;gap:8px}.upcoming-card{border:2px solid #eaf0ed;border-radius:17px;background:white;padding:12px;display:flex;align-items:center;gap:11px}.upcoming-card>span{font-size:25px}.upcoming-card div{min-width:0;display:grid;gap:3px;flex:1}.upcoming-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-card small{color:var(--muted);font-size:11px}.upcoming-card b{background:#eaf9ee;color:#2b9954;border-radius:10px;padding:7px 9px;font-size:11px;white-space:nowrap}
@media(max-width:760px){.four-grades{gap:5px}.grade-choice{padding:12px 2px}.grade-choice span{font-size:11px}.grade-choice small{font-size:10px}.upcoming-head{flex-wrap:wrap}.review-reminder>span:last-child{font-size:9px}}
@media(max-width:355px){.four-grades{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grade-choice span{font-size:12px}}

/* V4 — mixed mode, local account and content management */
.option.chosen:not(.correct):not(.wrong){background:#fff2c7!important;border-color:#f3bc39!important;box-shadow:0 4px 0 #edd38b!important;color:#6c521b!important}
.option.chosen:not(.correct):not(.wrong) .option-key{background:#ffcf58!important;color:#694e14!important;border-color:#dfa839!important}
.option.correct{background:#e4fae9!important;border-color:#54d475!important;color:#228e47!important}
.option.wrong{background:#fff0f0!important;border-color:#ff99a1!important;color:#ba5261!important}
.mixed-path{height:325px;position:relative;display:grid;place-items:center;isolation:isolate}
.mixed-path:before{content:'';position:absolute;width:210px;height:210px;border:6px dashed #e6eee2;border-radius:50%;z-index:-1}
.mixed-play{width:175px;height:175px;border:5px solid #d1f8d6;background:linear-gradient(145deg,#5ed47a,#27a85a);border-radius:52px;box-shadow:0 9px 0 #1c8c48,0 14px 30px #55b96e45;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:white;transform:rotate(-4deg);transition:transform .2s;text-align:center}
.mixed-play:hover{transform:rotate(0) translateY(-4px)}.mixed-play:active{transform:translateY(8px);box-shadow:none}.mixed-play>span{font-size:44px}.mixed-play strong{font-size:16px;font-weight:1000;letter-spacing:1px}.mixed-play small{font-size:11px;font-weight:750}.mixed-orbit{position:absolute;width:54px;height:54px;display:grid;place-items:center;border-radius:19px;background:white;border:3px solid #ddebdf;box-shadow:0 5px 0 #e6eee6;font-size:28px}.mixed-orbit.one{top:17px;left:25%}.mixed-orbit.two{top:22px;right:23%}.mixed-orbit.three{bottom:18px;left:19%}.mixed-orbit.four{bottom:18px;right:19%}
.goal-number{display:flex;align-items:center;gap:5px;padding:3px;background:#f6faf7;border:2px solid #e3ece8;border-radius:16px}.goal-number button{border:none;background:white;box-shadow:0 2px 0 #d9e6de;border-radius:12px;width:39px;height:42px;color:#239b50;font-size:23px;font-weight:950}.goal-number input{width:84px;height:44px;text-align:center;border:0;outline:0!important;background:transparent;color:#263c34;font-size:19px;font-weight:1000;min-width:0}.goal-number input::-webkit-inner-spin-button,.goal-number input::-webkit-outer-spin-button{opacity:1}
.saved-indicator{font-weight:950;color:#278f4f}.saved-indicator.sync-error{color:#cf5669}.danger-action{color:#b54a5e!important;border-color:#facdd4!important;background:#fff9fa!important}
.typed-confirm{width:100%;border:2px solid #d7dfd9;border-radius:13px;padding:13px;margin:-6px 0 16px;text-align:center;letter-spacing:1px;font-size:16px;font-weight:900;text-transform:uppercase}
.setup-card{width:min(100% - 32px,520px);margin:max(8vh,30px) auto 30px;border-radius:30px;background:white;padding:38px 34px;border:2px solid #e5efea;box-shadow:var(--shadow);display:grid;gap:15px;text-align:center}.setup-card h1{font-size:28px;font-weight:1000}.setup-card>p{color:#758982;font-size:14px}.auth-mark{width:78px;height:78px;border-radius:26px;background:#e7faeb;display:grid;place-items:center;font-size:47px;margin:auto;box-shadow:0 6px 0 #c7efd0}.auth-page{margin-top:max(9vh,40px)}.brand-green{color:var(--green-deep)}.auth-form{display:grid;gap:15px;margin-top:9px;text-align:left}.auth-form label{font-size:13px;font-weight:950;display:grid;gap:8px}.auth-form input{border:2px solid #dfeae3;border-radius:13px;padding:14px;font-size:15px;width:100%;background:white}.auth-form button{width:100%;margin-top:7px}.auth-notice{background:#f1fbf3;border:1px solid #d7f1de;padding:13px 16px;border-radius:14px;color:#3d8760;font-size:12px;font-weight:800;line-height:1.6}.auth-error,.setup-message{background:#fff1f1;border:1px solid #f7c6d0;color:#b04e65;border-radius:13px;padding:10px;font-weight:850;font-size:13px}.auth-helper,.setup-footer{font-size:12px!important}.auth-helper a{color:#23a35a;font-weight:900;text-decoration:underline}.setup-card .cta{width:100%}.recovery-warning{position:fixed;left:15px;right:15px;bottom:16px;z-index:9999;background:#fff3cf;color:#795218;padding:15px;border-radius:14px;border:2px solid #ffc663;box-shadow:0 10px 25px #2c1f102c;font-size:12px;font-weight:850;max-width:560px;margin:auto}.recovery-warning button{background:white;border:1px solid #ffdb8c;padding:7px 10px;border-radius:9px;font-weight:900;margin-left:6px}
@media(max-width:760px){.setup-card{padding:28px 22px;margin-top:5vh}.setting-row{flex-wrap:wrap;gap:13px}.goal-number{margin-left:auto}.goal-number input{width:70px}.mixed-path{height:300px}.mixed-play{width:163px;height:163px;border-radius:44px}.mixed-orbit.one{left:15%}.mixed-orbit.two{right:13%}.mixed-orbit.three{left:9%}.mixed-orbit.four{right:9%}}

/* FULL-LENGTH REMNOTE MEDICAL CONTENT: preserve lines and allow scrolling through every word. */
.flashcard{height:min(70svh,680px);min-height:410px;max-width:100%}
.flashcard-inner{height:100%;min-height:410px}
.flash-face{overflow-y:auto;overflow-x:hidden;justify-content:flex-start;gap:16px;padding:30px 24px;overscroll-behavior:contain}
.flash-face strong{white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(16px,3vw,24px);line-height:1.45}
.flash-face.back strong{font-size:clamp(15px,2.65vw,21px);font-weight:800}
.flash-back-explain{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.game-title{white-space:pre-wrap;overflow-wrap:anywhere}
.source-breadcrumb{font-size:11px;font-weight:850;color:#618b76;line-height:1.45;margin:4px 0 12px;overflow-wrap:anywhere}
.pearl,.feedback p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.flashcard{height:min(67svh,610px);min-height:390px}.flashcard-inner{min-height:390px}.flash-face{padding:22px 19px}.flash-face strong{font-size:19px}.flash-face.back strong{font-size:17px}.source-breadcrumb{font-size:10px}}
@media(max-height:650px){.flashcard{height:490px}}

/* V4.1 — improved reading layout for long medical flashcards */
.flashcard{height:min(74svh,760px);min-height:430px;max-width:100%}
.flashcard-inner{height:100%;min-height:430px}
.flash-face{overflow-y:auto;overflow-x:hidden;justify-content:flex-start;align-items:stretch;gap:16px;padding:24px 22px 18px;text-align:left;overscroll-behavior:contain}
.flash-face.front{background:#fcfbff;border-color:#e7defc;border-bottom-color:#d4c3fb}
.flash-face.back{background:#f3fff6;border-color:#c8efd2;border-bottom-color:#a7e3b8}
.flash-label{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#efe8ff;color:#7e66bc;font-size:11px;font-weight:1000;letter-spacing:1px;text-transform:uppercase}
.flash-label.answer{background:#e3f8e9;color:#2f9461}
.flash-rich{width:100%;display:grid;gap:12px}
.flash-paragraph{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.flash-rich.question .flash-paragraph{font-size:clamp(22px,3.1vw,30px);line-height:1.32;font-weight:1000;letter-spacing:-.4px;color:#1f3137}
.flash-rich.answer .flash-paragraph{font-size:clamp(16px,2.2vw,20px);line-height:1.63;font-weight:780;letter-spacing:-.1px;color:#22373a}
.flash-rich.explain .flash-paragraph{font-size:14px;line-height:1.6;font-weight:720;color:#5d746f}
.flash-list{margin:0;padding-left:20px;display:grid;gap:8px}
.flash-list li{line-height:1.55;font-size:16px;color:#24393a;font-weight:760}
.flash-note{border-top:1px solid #d8ece0;padding-top:14px;display:grid;gap:8px}
.flash-note-title{font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.9px;color:#6c8f7b}
.flash-face .tap-hint{margin-top:auto;align-self:center;font-size:12px;color:#7c8f8a;font-weight:900;padding-top:8px}
.flash-face.back .tap-hint{color:#4d9d69}
.flash-face::-webkit-scrollbar{width:10px}
.flash-face::-webkit-scrollbar-thumb{background:#d8e8dc;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.flash-face::-webkit-scrollbar-track{background:transparent}
@media(max-width:760px){
  .flashcard{height:min(69svh,650px);min-height:400px}
  .flashcard-inner{min-height:400px}
  .flash-face{padding:20px 17px 16px;gap:14px}
  .flash-rich.question .flash-paragraph{font-size:24px;line-height:1.28}
  .flash-rich.answer .flash-paragraph{font-size:17px;line-height:1.58}
  .flash-list li{font-size:15px}
}
@media(max-height:650px){.flashcard{height:500px}}

/* V4.2 — tradutor opcional sem alterar os flashcards ou agendamento FSRS */
.flashcard[data-act="flip"]{cursor:pointer;user-select:text;-webkit-user-select:text}
.flash-face .flash-rich,.flash-face .flash-rich *{user-select:text;-webkit-user-select:text}
.flash-rich ::selection,.game-title::selection{background:#ffe290;color:#342c1c}
.translate-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;margin:0 0 19px;padding:9px;border:1.5px solid #e6e8f1;background:#faf9ff;border-radius:16px}
.translate-tools>span{font-size:11px;color:#7e8492;font-weight:900;margin:0 4px}
.translate-tools button{appearance:none;border:1.5px solid #dcd9f5;border-radius:10px;background:#fff;color:#665c92;font-size:11px;font-weight:950;padding:10px 11px;box-shadow:0 2px 0 #e7e4f6;transition:background .15s,transform .15s}
.translate-tools button:hover{background:#f1eeff}
.translate-tools button:active{transform:translateY(2px);box-shadow:none}
.translate-dialog{width:min(100%,610px);max-height:min(88svh,780px);overflow:auto;padding:23px 23px 20px}
.translate-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}
.translate-heading h2{font-size:24px;line-height:1.15;margin-top:6px}
.translate-eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:1000;color:#8c7bc8}
.translate-close{background:#f4f5f3;border:0;border-radius:11px;width:35px;height:35px;font-size:17px;color:#7b8a85;font-weight:950}
.translate-label{display:block;color:#3d5250;font-size:12px;font-weight:950;margin-bottom:7px}
.translate-dialog textarea{display:block;width:100%;resize:vertical;min-height:82px;max-height:230px;border:2px solid #e4e8e5;border-radius:14px;background:#fbfdfb;padding:12px 14px;color:#263938;font-size:15px;font-family:system-ui,-apple-system,sans-serif;line-height:1.5}
.translate-dialog textarea:focus{border-color:#b5ddbf;outline:none}
.translate-action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.translate-action-row .cta{flex:1;min-width:125px;min-height:42px;padding:9px 14px;font-size:12px}
.translate-status{font-size:12px!important;line-height:1.5!important;color:#5d7969!important;margin:15px 0 10px!important;font-weight:800}
.translate-status.error{color:#b45f5c!important}
.translate-result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.65;font-weight:750;border:2px solid #c6edd3;border-radius:16px;background:#f0fff3;color:#244539;padding:16px;margin:6px 0 5px;max-height:260px;overflow:auto}
.translate-provider{font-size:11px!important;font-weight:800;color:#718478!important;margin:7px 0 10px!important}
.translate-external{display:inline-block;padding:9px 0;color:#6d54c2;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:950}
.translate-disclaimer{font-size:11px!important;line-height:1.55!important;color:#87918f!important;margin:9px 0 0!important}
.translate-dialog [hidden]{display:none!important}
@media(max-width:760px){
 .translate-tools{gap:6px;padding:8px;margin:2px 0 15px}
 .translate-tools>span{width:100%;text-align:center}
 .translate-tools button{flex:1 1 auto;padding:8px 6px;font-size:10.5px}
 .translate-dialog{padding:18px 16px;max-height:88svh}
 .translate-heading h2{font-size:21px}
}

/* GameFX v4.3 — joyful correct answers, gentle misses and optional positive tactile controls */
.fx-volume-setting{display:flex;align-items:center;gap:10px;min-width:175px;color:#2b9850}
.fx-volume-setting input{width:145px;max-width:45vw;accent-color:#42bf6b;cursor:pointer}
.fx-volume-setting strong{min-width:40px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
.fx-support-note{margin:13px 0;padding:13px 14px;border-radius:15px;border:1px solid #d3e6f5;background:#f1f9ff;color:#547388;font-size:12px;line-height:1.55;font-weight:750}
.fx-try-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 7px}
.fx-try-row .outline-action{flex:1;min-width:135px}
.mq-native-touch{position:relative;cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent}
.mq-ios-native-switch{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:.015;cursor:pointer;z-index:4;appearance:auto!important;-webkit-appearance:auto!important}
.mq-native-touch:focus-within{outline:3px solid #aeb4fc;outline-offset:2px}
.mq-next-touch{display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px}
.mq-next-touch>span{display:grid;gap:2px}
.mq-next-touch small{color:#eaffeb;font-size:9px;letter-spacing:.4px;text-shadow:none}
.mq-winburst{position:fixed;inset:0;pointer-events:none;z-index:95;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.mq-win-word{color:#fff;font-size:clamp(22px,5vw,33px);font-weight:1000;letter-spacing:-.8px;text-align:center;padding:11px 24px;border-radius:22px;border:3px solid #e5fff0;background:linear-gradient(135deg,#43c96a,#21a85a);box-shadow:0 7px 0 #21864a,0 16px 45px #2ba9626e;transform:rotate(-4deg);animation:mqCelebrate .94s cubic-bezier(.2,1,.3,1) both}
.mq-winburst.big .mq-win-word{font-size:clamp(26px,6vw,43px);background:linear-gradient(135deg,#f8bb44,#ffa94d);border-color:#fff4d7;box-shadow:0 8px 0 #dc872c,0 16px 45px #f8bb446b;color:#6c4208}
.mq-spark{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:4px;background:var(--spark);box-shadow:0 1px 7px #1234;opacity:0;animation:mqSpark .9s ease-out var(--delay) both}
.mq-spark:nth-child(3n){width:7px;height:17px;transform:rotate(25deg)}
.mq-spark:nth-child(5n){border-radius:100%}
@keyframes mqCelebrate{0%{transform:translateY(65px) scale(.45) rotate(-12deg);opacity:0}20%{transform:translateY(0) scale(1.1) rotate(3deg);opacity:1}55%{transform:scale(1) rotate(-3deg);opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(-55px) scale(.98)}}
@keyframes mqSpark{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0deg)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(.65) rotate(145deg)}}
@media(max-width:760px){.fx-volume-setting{min-width:140px}.fx-volume-setting input{width:95px}.fx-try-row{display:grid;grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.mq-winburst{display:none!important}}
body.reduced-motion .mq-winburst{display:none!important}

/* MedQuest V4.4: premium victory melody selector */
.fx-sound-wrap{margin:12px 0 15px;padding:17px 15px;background:#f9fcf9;border:2px solid #e8f0e9;border-radius:18px}
.fx-sound-wrap>strong{display:block;color:#324c42;font-size:14px;font-weight:950;margin-bottom:5px}
.fx-sound-wrap>p{font-size:12px;color:#7b8c84;line-height:1.5;margin-bottom:13px}
.fx-sound-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.fx-sound-pick{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff;border:2px solid #e6ece8;border-radius:15px;padding:15px 7px 11px;color:#536b62;box-shadow:0 3px 0 #e6ece8;transition:transform .12s ease,background .12s ease,border-color .12s ease}
.fx-sound-pick:active{transform:translateY(3px);box-shadow:none}
.fx-sound-pick:hover{background:#f8fff9}
.fx-sound-pick.selected{background:#edfff2;border-color:#76d895;box-shadow:0 3px 0 #b5e9c4;color:#248148}
.fx-sound-icon{font-size:27px;line-height:1.4}
.fx-sound-name{font-size:14px;font-weight:950}
.fx-sound-pick small{font-size:10px;color:#81968b;font-weight:700;text-align:center}
.fx-sound-play{font-size:10px;font-weight:950;margin-top:3px;color:#44a464}
@media(max-width:420px){.fx-sound-picks{gap:6px}.fx-sound-pick{padding:12px 3px 10px}.fx-sound-name{font-size:12px}.fx-sound-pick small{font-size:9px}}

/* MedQuest V5 — dashboard, domínio e gamificação. */
.level-banner{display:grid;gap:8px;border:2px solid #d9d4ff;background:linear-gradient(110deg,#f7f1ff,#f5fffa);border-radius:18px;padding:12px 16px;margin:10px 0 18px}
.level-banner>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.level-banner strong{font-weight:1000;color:#6649bb;font-size:13px}
.level-banner small{color:#816da9;font-size:11px;font-weight:750}
.level-banner .bar i,.level-dashboard .bar i{background:linear-gradient(90deg,#8d6be8,#58c972)}
.dashboard-panel{border:2px solid #eef0ed;background:#fff;border-radius:22px;padding:18px;margin:16px 0}
.dashboard-panel .section-header{margin:0 0 16px}
.dashboard-panel .section-header h2{font-size:18px}
.dashboard-big-num{font-size:34px;font-weight:1000;letter-spacing:-1px;color:#3a9567;margin:4px 0 16px}
.dashboard-big-num small{display:block;font-size:12px;color:#71877e;letter-spacing:0;font-weight:750}
.grade-distribution{display:grid;gap:10px}
.grade-distribution>div{display:grid;grid-template-columns:65px minmax(0,1fr) 28px;gap:10px;align-items:center;font-size:12px;font-weight:850}
.grade-distribution>div>span{color:#60756b}.grade-distribution>div>b{text-align:right;font-variant-numeric:tabular-nums}
.grade-distribution>div:nth-child(1) .bar i{background:#e96e7d}.grade-distribution>div:nth-child(2) .bar i{background:#d5a452}.grade-distribution>div:nth-child(3) .bar i{background:#62c883}.grade-distribution>div:nth-child(4) .bar i{background:#806cdf}
.stats-caption{font-size:11px;color:#87928e;margin-top:12px;font-weight:650;line-height:1.6}
.forecast-overview{display:flex;align-items:baseline;gap:12px;margin:0 0 15px}.forecast-overview strong{font-size:30px;color:#6852bb;font-weight:1000}.forecast-overview span{font-size:12px;color:#738681;font-weight:750}
.forecast-chart{height:132px;display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;align-items:end;border-bottom:2px solid #eaf0ec;padding:5px 1px 0}
.forecast-column{height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:2px;min-width:0}
.forecast-column i{display:block;border-radius:5px 5px 0 0;background:linear-gradient(#8f80ec,#5dce82);min-height:3px}
.forecast-column small{font-size:9px;min-height:12px;color:#87918d;text-align:center}
.topic-metrics{display:grid;gap:15px}.topic-metric{display:grid;grid-template-columns:minmax(0,1fr) 85px;align-items:center;gap:6px 14px;border-bottom:1px solid #f0f3f0;padding-bottom:12px}
.topic-metric:last-child{border-bottom:0;padding-bottom:0}.topic-metric>div:first-child{grid-column:1/-1}.topic-metric strong{font-size:13px;font-weight:950;overflow-wrap:anywhere}.topic-metric small{display:block;font-size:11px;color:#819087;margin-top:3px}
.topic-metric span{font-size:11px;color:#5b986e;font-weight:900;white-space:nowrap;text-align:right}
.level-dashboard h2{font-size:20px;margin-bottom:10px}.level-dashboard p{font-size:12px;color:#87928e;margin-top:9px}
.mq-dashboard .stat-tile{min-width:0}.mq-dashboard .stat-tile .val{font-size:clamp(19px,3vw,26px)}.mq-dashboard .stat-tile .lab{line-height:1.35}
@media(max-width:640px){.forecast-chart{gap:2px}.level-banner>div:first-child{display:grid;gap:2px}.dashboard-panel{padding:13px}.topic-metric{grid-template-columns:minmax(0,1fr) 75px}.mq-dashboard .stat-tile .val{font-size:19px}}
@media(max-width:420px){.topbar{align-items:flex-start;flex-wrap:wrap;gap:5px}.topstats{gap:4px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.topstat{padding:5px 6px;font-size:11px;border-width:1px}.topstat span{font-size:14px}}

/* V5.1 — Máquina do Tempo: recuperação segura de classificações. */
.time-portal{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:10px 0 17px;border-radius:19px;border:2px solid #d8d0ff;background:linear-gradient(110deg,#f7f3ff,#f3faff);color:#584680;box-shadow:0 3px 0 #eae4fd}
.time-portal span{font-size:13px;line-height:1.5;font-weight:740;flex:1;min-width:195px}.time-portal strong{font-weight:1000}.time-portal button,.time-shortcut{border:2px solid #c9b5fc;background:#fff;color:#6948bc;box-shadow:0 3px 0 #e1d6ff;font-weight:1000;font-size:12px;padding:11px 15px;border-radius:12px;line-height:1.4}
.time-shortcut{display:block;width:100%;text-align:center;margin:12px 0 20px;cursor:pointer}
.time-hero{display:flex;align-items:center;gap:16px;border:2px solid #dbd2ff;border-radius:23px;padding:21px;background:linear-gradient(135deg,#f7f2ff,#ecfffa);margin:16px 0 19px}.time-hero-icon{height:66px;width:66px;flex:none;display:grid;place-items:center;border-radius:23px;background:#fff;box-shadow:0 5px 0 #e0d8fc;font-size:38px}.time-hero strong{font-size:21px;color:#584398;font-weight:1000}.time-hero p{margin-top:6px;color:#72718a;font-weight:700;font-size:12px;line-height:1.65}
.time-search{display:grid;gap:7px;margin:12px 0 20px}.time-search label{font-weight:950;font-size:13px;color:#506d65}.time-search input{border:2px solid #dce5e1;background:white;border-radius:14px;padding:13px 15px;font-size:15px;min-width:0;width:100%;color:#2d4540}.time-search small{color:#9a9eac;font-weight:800;font-size:11px;line-height:1.4}
.time-list{display:grid;gap:12px}.time-entry{padding:17px 17px 18px;border:2px solid #e7ece9;border-radius:18px;background:#fff;box-shadow:0 3px 0 #edf1ee;overflow-wrap:anywhere}.time-entry-top{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:12px}.time-entry-top small{color:#899a96;font-size:11px;font-weight:800}.time-grade{font-size:11px;font-weight:1000;border-radius:9px;padding:6px 10px;background:#eef5ff;color:#5c76a9}.time-grade.grade-label-1{background:#fff0f1;color:#b64d5f}.time-grade.grade-label-2{background:#fff5df;color:#a37a26}.time-grade.grade-label-3{background:#e9f8ed;color:#309051}.time-grade.grade-label-4{background:#eae4ff;color:#8054be}.time-entry strong{font-size:15px;color:#293e3b;line-height:1.5;font-weight:950;display:block}.time-entry p{color:#78908b;font-size:12px;margin:6px 0 12px;font-weight:700;line-height:1.5}.time-recover{border:2px solid #86d6a6;color:#247a49;background:#edfff1;border-radius:13px;padding:12px 14px;font-weight:1000;font-size:12px;box-shadow:0 3px 0 #c9efce;width:100%}.time-recover:active,.time-portal button:active{transform:translateY(2px);box-shadow:none}.time-voided{opacity:.73;background:#fafcfb}.time-voided .time-grade{background:#eff1f0;color:#727e79}.time-caption{display:block;color:#9aaba5;font-size:11px;font-weight:800;line-height:1.5}.time-empty{border:2px dashed #dcebe0;background:#f8fbf8;border-radius:16px;padding:25px;color:#7c9389;text-align:center;font-size:13px;font-weight:800}.time-back{margin:24px 0;width:100%}
.quick-undo-wrap{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;max-width:690px;margin:7px auto 10px;padding:0 12px}.quick-undo{background:#fbf7ff;border:1.5px solid #d3c6f5;border-radius:14px;padding:10px 16px;box-shadow:0 3px 0 #e6e0fa;color:#795bb8;font-size:12px;font-weight:850}.quick-undo strong{font-weight:1000;color:#6746b2}.quick-undo:active{transform:translateY(2px);box-shadow:none}.quick-history{background:transparent;border:0;color:#7e8c88;font-size:11px;font-weight:950;padding:8px 10px}
@media(max-width:760px){.time-portal{padding:13px 14px}.time-portal button{width:100%}.time-hero{padding:16px 14px;align-items:start}.time-hero-icon{width:52px;height:52px;border-radius:17px;font-size:29px}.time-hero strong{font-size:17px}.time-entry{padding:15px}.quick-undo-wrap{gap:7px;margin:10px auto;padding:0 9px}.quick-undo{font-size:11px;padding:11px 12px;flex:1}.quick-history{font-size:10px}}
