@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Inter:wght@400;500;600;700;800&display=swap";:root{--paper: #faf6ef;--paper-deep: #f3ecdf;--card: #ffffff;--ink: #232e3c;--ink-soft: #5b6878;--line: #e6ddcd;--accent: #0e6b5c;--accent-2: #0a4f44;--accent-soft: #e0f0ec;--accent-glow: rgba(14, 107, 92, .28);--gold: #b8860b;--gold-soft: #fdf3da;--wrong: #b3403a;--wrong-soft: #fbe9e8;--right: #2e7d4f;--right-soft: #e6f4ea;--shadow: 0 2px 6px rgba(35, 46, 60, .05), 0 10px 28px rgba(35, 46, 60, .07);--shadow-lift: 0 6px 14px rgba(35, 46, 60, .09), 0 18px 44px rgba(35, 46, 60, .12);--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}:root[data-theme=dark]{--paper: #15171c;--paper-deep: #101216;--card: #1e2128;--ink: #e9e4d8;--ink-soft: #98a1b0;--line: #30343d;--accent: #3fbfa4;--accent-2: #2a9b85;--accent-soft: rgba(63, 191, 164, .13);--accent-glow: rgba(63, 191, 164, .35);--gold: #d9ab3c;--gold-soft: rgba(217, 171, 60, .12);--wrong: #e0766e;--wrong-soft: rgba(224, 118, 110, .13);--right: #6cc08d;--right-soft: rgba(108, 192, 141, .13);--shadow: 0 2px 6px rgba(0, 0, 0, .35), 0 10px 28px rgba(0, 0, 0, .35);--shadow-lift: 0 6px 14px rgba(0, 0, 0, .45), 0 18px 44px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 500px at 80% -10%,var(--accent-soft),transparent 60%),var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.68;transition:background-color .35s ease,color .35s ease}main{max-width:780px;margin:0 auto;padding:1.5rem 1.25rem 4rem}h1,h2,h3{font-family:var(--serif);line-height:1.22;color:var(--ink);letter-spacing:-.01em}code{font-family:var(--sans);background:var(--accent-soft);color:var(--accent);padding:.05em .38em;border-radius:6px;font-weight:650;white-space:nowrap}blockquote{margin:1.1rem 0;padding:.85rem 1.2rem;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:0 10px 10px 0;font-family:var(--serif);font-size:1.03rem}::selection{background:var(--accent);color:#fff}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.why-box{position:relative;background:linear-gradient(135deg,var(--gold-soft),var(--accent-soft));border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 14px 14px 0;padding:1rem 1.4rem;margin:1.1rem 0 1.4rem}.why-box p{margin:.4rem 0 0;font-size:.98rem}.why-title{font-family:var(--serif);font-weight:700;color:var(--gold);font-size:1.05rem;letter-spacing:.02em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.72)}60%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes bumpUp{0%{transform:scale(1)}40%{transform:scale(1.35) rotate(-4deg)}to{transform:scale(1)}}@keyframes flicker{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.12) rotate(3deg)}}@keyframes floatDrift{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-18px) rotate(8deg)}}@keyframes confettiFall{0%{transform:translateY(-8vh) translate(0) rotate(var(--rot));opacity:1}to{transform:translateY(105vh) translate(var(--sway)) rotate(calc(var(--rot) + 540deg));opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 24px 4px var(--accent-glow)}}@keyframes xpBurst{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.page-enter{animation:fadeIn .3s ease both}.rise{animation:fadeInUp .55s cubic-bezier(.16,1,.3,1) both}.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;transition:background-color .35s ease}.brand{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.4rem}.phi{color:var(--accent);font-size:1.55rem;display:inline-block;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.brand:hover .phi{transform:rotate(360deg)}.nav-links{display:flex;align-items:center;gap:1.1rem}.nav-links a{color:var(--ink-soft);text-decoration:none;font-weight:600;padding:.25rem 0;border-bottom:2px solid transparent;transition:color .15s ease}.nav-links a:hover{color:var(--accent)}.nav-links a.active{color:var(--accent);border-bottom-color:var(--accent)}.due-badge{background:var(--wrong);color:#fff;border-radius:99px;font-size:.72rem;padding:.1rem .45rem;margin-left:.35rem;vertical-align:middle;animation:pop .3s ease}.nav-xp{font-weight:800;color:var(--gold);font-size:.95rem;display:inline-block}.nav-xp.bump{animation:bumpUp .5s cubic-bezier(.34,1.56,.64,1)}.theme-toggle{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:99px;width:2.1rem;height:2.1rem;font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,border-color .2s ease,background-color .2s ease}.theme-toggle:hover{border-color:var(--accent);background:var(--accent-soft);transform:rotate(-16deg) scale(1.08)}.hero{position:relative;padding:1.25rem 0 .5rem}.hero h1{font-size:clamp(2rem,5.5vw,2.7rem);margin:.75rem 0 .5rem;font-weight:800}.hero h1 em{color:var(--accent);font-style:italic}.hero-sub{color:var(--ink-soft);font-size:1.1rem;max-width:56ch}.hero-floaters{position:absolute;top:-1rem;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.floater{position:absolute;font-family:var(--serif);color:var(--accent);opacity:.13;animation:floatDrift 7s ease-in-out infinite;-webkit-user-select:none;user-select:none}.floater.f0{right:4%;top:-5%;font-size:3.2rem;animation-delay:0s}.floater.f1{right:22%;top:45%;font-size:2rem;animation-delay:-1.2s}.floater.f2{right:12%;top:70%;font-size:2.6rem;animation-delay:-2.5s}.floater.f3{right:33%;top:5%;font-size:1.7rem;animation-delay:-3.4s}.floater.f4{right:2%;top:48%;font-size:2.2rem;animation-delay:-4.1s}.floater.f5{right:45%;top:60%;font-size:1.8rem;animation-delay:-5s}.floater.f6{right:18%;top:12%;font-size:2.4rem;animation-delay:-2s}.floater.f7{right:40%;top:30%;font-size:1.6rem;animation-delay:-6.2s}.floater.f8{right:7%;top:25%;font-size:1.9rem;animation-delay:-.8s}.floater.f9{right:28%;top:78%;font-size:3.6rem;animation-delay:-3.9s;opacity:.09}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.6rem 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.85rem .5rem;text-align:center;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.stat-link:hover{border-color:var(--accent)}.stat-value{font-size:1.55rem;font-weight:800;font-family:var(--serif)}.stat-value.gold{color:var(--gold)}.stat-sub{font-size:1rem;color:var(--ink-soft);font-weight:600}.flame{display:inline-block;animation:flicker 1.6s ease-in-out infinite}.stat-label{font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.continue-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-radius:16px;padding:1.3rem 1.5rem;text-decoration:none;margin-bottom:2.25rem;box-shadow:0 8px 24px var(--accent-glow);position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.continue-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);background-size:200% 100%;animation:shimmer 3.5s ease-in-out infinite}.continue-card:hover{transform:translateY(-3px) scale(1.008);box-shadow:0 14px 34px var(--accent-glow)}.continue-label{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;opacity:.88;font-weight:700}.continue-title{font-family:var(--serif);font-size:1.45rem;font-weight:700;margin:.15rem 0}.continue-blurb{opacity:.9;font-size:.95rem}.continue-arrow{font-size:2rem;transition:transform .2s ease}.continue-card:hover .continue-arrow{transform:translate(6px)}.track{margin-bottom:2.6rem}.track h2{margin-bottom:.15rem;font-size:1.55rem}.track-tagline{color:var(--ink-soft);margin-top:0}.modules{display:grid;gap:.9rem}.module{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.05rem 1.3rem;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.module:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.module.locked{opacity:.6;background:transparent;border-style:dashed;box-shadow:none}.module.locked:hover{transform:none}.module-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.module-head h3{margin:.2rem 0;font-size:1.2rem}.module p{color:var(--ink-soft);margin:.35rem 0 .6rem;font-size:.95rem}.coming-soon{font-style:italic;font-size:.85rem}.ring{flex-shrink:0}.ring-bg{fill:none;stroke:var(--line);stroke-width:3.5}.ring-fg{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .8s cubic-bezier(.16,1,.3,1)}.ring-fg.full{stroke:var(--gold)}.ring-text{font-size:.62rem;font-weight:700;fill:var(--ink-soft);font-family:var(--sans)}.lesson-list{list-style:none;margin:0;padding:0}.lesson-list li{border-top:1px solid var(--line)}.lesson-row{display:flex;align-items:center;gap:.5rem}.lesson-main,.lesson-list li>span{display:flex;align-items:center;gap:.6rem;padding:.55rem .35rem;color:var(--ink);text-decoration:none;border-radius:8px;transition:background-color .15s ease,padding-left .2s ease;flex:1;min-width:0}.lesson-list li.locked>span{color:var(--ink-soft);opacity:.7}.lesson-main:hover{color:var(--accent);background:var(--accent-soft);padding-left:.7rem}.lesson-name{flex:1}.lesson-go{opacity:0;transform:translate(-6px);transition:opacity .15s ease,transform .2s ease}.lesson-main:hover .lesson-go{opacity:1;transform:none}.lesson-mark{width:1.4rem;text-align:center}.lesson-list li.done .lesson-mark{color:var(--right);font-weight:700}.drill-chip{flex-shrink:0;font-size:.8rem;font-weight:700;color:var(--ink-soft);border:1px solid var(--line);border-radius:99px;padding:.15rem .65rem;text-decoration:none;transition:border-color .15s ease,color .15s ease,transform .15s ease}.drill-chip:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}.drill-chip.mastered{color:var(--gold);border-color:var(--gold);background:var(--gold-soft)}.streak-meter{display:flex;align-items:center;gap:.45rem;margin:1rem 0 1.2rem}.streak-dot{width:.95rem;height:.95rem;border-radius:50%;border:2px solid var(--line);background:transparent;transition:background-color .25s ease,border-color .25s ease,transform .25s ease}.streak-dot.lit{background:var(--gold);border-color:var(--gold);animation:pop .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 8px var(--gold)}.streak-label{margin-left:.35rem;font-weight:800;color:var(--gold);font-size:.95rem}.drill-session{color:var(--ink-soft);font-size:.88rem;text-align:center}.lesson-crumb{display:flex;gap:.75rem;align-items:baseline;margin-top:.75rem;font-size:.9rem}.lesson-crumb a{color:var(--accent);text-decoration:none;font-weight:600}.crumb-module{color:var(--ink-soft)}.lesson-page h1{margin:.5rem 0 .25rem;font-size:2rem}.blurb{color:var(--ink-soft);font-size:1.05rem;margin-top:0}.lesson-section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.15rem 1.45rem;margin:1.1rem 0;box-shadow:var(--shadow)}.lesson-section h2{margin:.2rem 0 .6rem;font-size:1.32rem}.lesson-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.6rem 0;justify-content:center}.btn{display:inline-block;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1rem;font-weight:600;padding:.55rem 1.2rem;border-radius:11px;cursor:pointer;text-decoration:none;font-family:var(--sans);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.btn:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff}.btn.primary:hover{box-shadow:0 6px 18px var(--accent-glow)}.btn.glow{animation:glowPulse 2.6s ease-in-out infinite}.btn.big{font-size:1.1rem;padding:.8rem 1.7rem}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-soft);box-shadow:none}.btn.ghost:hover{box-shadow:none;transform:none;color:var(--accent)}.practice-progress{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:var(--ink-soft);font-size:.9rem;font-weight:600}.practice-bar{flex:1;height:9px;background:var(--line);border-radius:99px;overflow:hidden}.practice-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));background-size:200% 100%;animation:shimmer 2.4s linear infinite;border-radius:99px;transition:width .45s cubic-bezier(.16,1,.3,1)}.exercise{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.45rem;margin-bottom:1rem;box-shadow:var(--shadow);animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.exercise-prompt{font-size:1.08rem;font-weight:600}.mcq-options{display:grid;gap:.6rem;margin-top:1rem}.mcq-option{display:flex;align-items:center;gap:.8rem;text-align:left;padding:.72rem .95rem;border:1.5px solid var(--line);border-radius:11px;background:var(--paper);font-size:1rem;font-family:var(--sans);color:var(--ink);cursor:pointer;transition:border-color .13s ease,transform .13s ease,background-color .13s ease}.mcq-option:hover:not(:disabled){border-color:var(--accent);transform:translate(4px)}.mcq-option:active:not(:disabled){transform:scale(.99)}.mcq-option.correct{border-color:var(--right);background:var(--right-soft);animation:pop .35s cubic-bezier(.34,1.56,.64,1)}.mcq-option.wrong{border-color:var(--wrong);background:var(--wrong-soft);animation:shake .45s ease}.mcq-letter{font-weight:800;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:7px;width:1.7rem;height:1.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem}.mcq-option.correct .mcq-letter{background:var(--right);border-color:var(--right);color:#fff}.feedback{margin:1rem 0;padding:.85rem 1.05rem;border-radius:11px;font-size:.98rem;animation:fadeInUp .3s ease both}.feedback.good{background:var(--right-soft);border:1px solid var(--right)}.feedback.bad{background:var(--wrong-soft);border:1px solid var(--wrong)}.translate-key{background:var(--paper-deep);border:1px solid var(--line);border-radius:10px;padding:.55rem .9rem;margin:.9rem 0 .75rem;font-size:.95rem;color:var(--ink-soft)}.translate-key-label{font-weight:800;text-transform:uppercase;font-size:.7rem;letter-spacing:.09em;color:var(--accent);margin-right:.4rem}.palette{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.6rem}.palette-btn{font-family:var(--serif);font-size:1.15rem;font-weight:600;width:2.5rem;height:2.3rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--accent);cursor:pointer;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.palette-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.palette-btn:active:not(:disabled){transform:scale(.92)}.palette-btn:disabled{opacity:.45;cursor:not-allowed}.translate-input{width:100%;font-family:var(--sans);font-size:1.25rem;font-weight:600;letter-spacing:.04em;padding:.7rem .95rem;border:1.5px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.translate-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.translate-input:disabled{opacity:.7}.translate-hint{color:var(--ink-soft);font-size:.88rem;min-height:1.4em;margin:.5rem 0 .75rem}.preview-formula{color:var(--accent);font-size:1.05rem;letter-spacing:.04em}.translate-actions{display:flex;gap:.6rem;align-items:center}.proof-goal{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:var(--paper-deep);border:1px solid var(--line);border-radius:10px;padding:.55rem .9rem;margin:.9rem 0;font-weight:600}.proof-goal-label{font-weight:800;text-transform:uppercase;font-size:.7rem;letter-spacing:.09em;color:var(--accent)}.proof-turnstile{color:var(--accent);font-size:1.15rem;font-weight:800}.proof-goal-formula{color:var(--accent)}.proof-lines{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.proof-line{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.15rem .3rem;border-radius:8px}.proof-line.line-ok{background:var(--right-soft)}.proof-line.line-bad{background:var(--wrong-soft)}.proof-num{width:1.6rem;text-align:right;color:var(--ink-soft);font-weight:700;font-size:.9rem;flex-shrink:0}.proof-bars{display:flex;gap:.3rem;flex-shrink:0}.proof-bar{display:inline-block;width:3px;align-self:stretch;min-height:1.9rem;background:var(--accent);opacity:.55;border-radius:2px}.proof-input{flex:1;min-width:8rem;font-family:var(--sans);font-size:1.05rem;font-weight:600;letter-spacing:.04em;padding:.4rem .7rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.proof-input:focus{outline:none;border-color:var(--accent)}.proof-formula-fixed{flex:1;font-weight:600;letter-spacing:.04em;padding:.4rem .7rem}.proof-rule-fixed{color:var(--ink-soft);font-weight:700;font-size:.9rem;padding:0 .4rem}.proof-rule{font-family:var(--sans);font-weight:700;font-size:.92rem;padding:.4rem .35rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.proof-cites{width:5.2rem;font-family:var(--sans);font-size:.95rem;font-weight:600;padding:.4rem .55rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.proof-cites:focus,.proof-rule:focus{outline:none;border-color:var(--accent)}.proof-err{flex-basis:100%;color:var(--wrong);font-size:.85rem;padding-left:2.1rem}.proof-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.proof-solution{background:var(--paper-deep);border:1px solid var(--line);border-radius:10px;padding:.9rem 1.1rem;font-family:var(--sans);font-size:.98rem;font-weight:600;letter-spacing:.03em;overflow-x:auto;line-height:1.8}.tt-hint{color:var(--ink-soft);font-size:.88rem;font-style:italic}.truth-table{border-collapse:separate;border-spacing:0;margin:.75rem 0 1rem;font-size:1rem;border:1px solid var(--line);border-radius:10px;overflow:hidden}.truth-table th,.truth-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:.42rem 1rem;text-align:center}.truth-table th:last-child,.truth-table td:last-child{border-right:none}.truth-table tr:last-child td{border-bottom:none}.truth-table th{background:var(--paper-deep);font-family:var(--serif);font-size:1.05rem}.tt-formula{color:var(--accent);white-space:nowrap}.truth-table td.t{color:var(--right);font-weight:650}.truth-table td.f{color:var(--wrong);font-weight:650}.tt-cell{cursor:pointer;-webkit-user-select:none;user-select:none;min-width:3.4rem;background:var(--paper);font-weight:800;transition:background-color .12s ease}.tt-cell.t,.tt-cell.f{animation:pop .18s ease}.tt-cell.empty{color:var(--ink-soft)}.tt-cell:hover{outline:2px solid var(--accent);outline-offset:-2px}.tt-cell.cell-wrong{background:var(--wrong-soft);outline:2px solid var(--wrong);outline-offset:-2px;animation:shake .4s ease}.tt-cell.cell-right{background:var(--right-soft)}.lesson-done{text-align:center;padding:2rem 0;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.done-emoji{font-size:3.6rem;animation:pop .6s cubic-bezier(.34,1.56,.64,1)}.xp-burst{font-family:var(--serif);font-size:2.4rem;font-weight:800;color:var(--gold);animation:xpBurst .9s cubic-bezier(.34,1.56,.64,1) both;margin:.25rem 0 .5rem}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:50}.confetti span{position:absolute;top:-3vh;border-radius:2px;animation:confettiFall linear both}.review-page h1{margin-top:1rem}.review-count{color:var(--ink-soft)}.flashcard3d{perspective:1400px;margin:1rem 0;cursor:pointer}.fc-inner{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.1,.2,1)}.flashcard3d.flipped .fc-inner{transform:rotateY(180deg)}.fc-face{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:2rem 1.8rem;box-shadow:var(--shadow);min-height:180px;display:flex;flex-direction:column;justify-content:center}.fc-back{transform:rotateY(180deg);border-color:var(--accent)}.flashcard-lesson{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);margin-bottom:.8rem;font-weight:700}.flashcard-front{font-family:var(--serif);font-size:1.35rem;font-weight:700}.flashcard-back{font-size:1.08rem}.flashcard-tap{margin-top:1.5rem;color:var(--ink-soft);font-size:.85rem;font-style:italic}.grade-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.btn.grade{font-weight:700}.btn.grade.again{border-color:var(--wrong);color:var(--wrong)}.btn.grade.again:hover{background:var(--wrong-soft)}.btn.grade.good{border-color:var(--accent);color:var(--accent)}.btn.grade.good:hover{background:var(--accent-soft)}.btn.grade.easy{border-color:var(--right);color:var(--right)}.btn.grade.easy:hover{background:var(--right-soft)}.review-empty{text-align:center;padding:2rem 0}.footer{text-align:center;color:var(--ink-soft);font-size:.85rem;padding:1.5rem 0 2.5rem;border-top:1px solid var(--line)}html{overflow-x:clip}.truth-table{display:block;width:fit-content;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 540px){main{padding:1rem .9rem 3.5rem}.stats-row{grid-template-columns:repeat(2,1fr)}.truth-table th,.truth-table td{padding:.45rem .65rem}.nav{padding:.65rem .9rem}.nav-xp{display:none}.nav-links{gap:.8rem}.brand{font-size:1.15rem}code{white-space:normal;overflow-wrap:break-word}.exercise,.lesson-section{padding:1rem}.why-box{padding:.85rem 1rem}blockquote{padding:.7rem .9rem}.palette-btn{width:2.75rem;height:2.75rem;font-size:1.3rem}.mcq-option{padding:.8rem .9rem}.btn{padding:.65rem 1.1rem}.grade-row .btn{padding:.8rem .5rem}.translate-input,.proof-input,.proof-cites,.proof-rule{font-size:1rem}.proof-input{flex-basis:100%;min-width:0}.proof-cites{width:4.6rem}.proof-num{width:1.3rem}.proof-err{padding-left:1.7rem}.continue-card{padding:1rem 1.1rem}.continue-title{font-size:1.2rem}.flashcard-front{font-size:1.18rem}.fc-face{padding:1.5rem 1.2rem}.hero-floaters{display:none}}@media (max-width: 380px){.stat-value{font-size:1.25rem}.lesson-page h1,.hero h1{font-size:1.6rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ref-row{margin:.6rem 0 0;font-size:.88rem;color:var(--ink-soft)}.ref-row a{color:var(--accent);font-weight:600;text-decoration:none;border-bottom:1px dotted var(--accent)}.ref-row a:hover{border-bottom-style:solid}.account-page h1{margin-top:1rem}.account-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.9rem;max-width:30rem}.account-row{display:flex;flex-direction:column;gap:.2rem}.account-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.account-name{width:100%}.account-certs ul{list-style:none;margin:.3rem 0 0;padding:0}.account-certs li{padding:.3rem 0;border-top:1px solid var(--line)}.account-certs a{color:var(--gold);font-weight:700;text-decoration:none}.translate-input+.translate-input{margin-top:.2rem}.nav-signin{color:var(--accent)!important;font-weight:700}.account-btn{width:2.1rem;height:2.1rem;border-radius:99px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff!important;display:flex;align-items:center;justify-content:center;font-weight:800;text-decoration:none;border-bottom:none!important;transition:transform .15s ease}.account-btn:hover{transform:scale(1.1)}.cert-chip{margin-left:.7rem;font-family:var(--sans);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);border:1.5px solid var(--gold);border-radius:99px;padding:.2rem .7rem;text-decoration:none;vertical-align:middle}.cert-chip:hover{background:var(--gold-soft)}.certificate{margin:1.5rem 0}.cert-border{border:3px double var(--gold);border-radius:6px;padding:3rem 2rem;text-align:center;background:var(--card);box-shadow:var(--shadow)}.cert-phi{font-family:var(--serif);font-size:3rem;color:var(--accent);line-height:1}.cert-site{font-family:var(--serif);font-weight:700;letter-spacing:.25em;text-transform:uppercase;font-size:.85rem;color:var(--ink-soft);margin-top:.4rem}.cert-heading{font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--ink-soft);margin-top:1.8rem}.cert-name{font-family:var(--serif);font-size:2.2rem;font-weight:800;margin:.6rem 0;color:var(--ink)}.cert-body{color:var(--ink-soft)}.cert-track{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--accent);margin:.5rem 0 .8rem}.cert-detail{font-size:.9rem;color:var(--ink-soft);max-width:44ch;margin:0 auto}.cert-date{margin-top:1.6rem;font-family:var(--serif);font-style:italic}.cert-footer{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.72rem;color:var(--ink-soft)}@media print{.nav,.footer,.no-print{display:none!important}body{background:#fff}main{max-width:none;padding:0}.cert-border{box-shadow:none}}.mastery-bar{flex:1;height:10px;background:var(--line);border-radius:99px;overflow:hidden}.mastery-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:99px;transition:width .4s cubic-bezier(.16,1,.3,1)}.mcq-option.selected{border-color:var(--accent);background:var(--accent-soft);transform:none}.mcq-option.selected .mcq-letter{background:var(--accent);border-color:var(--accent);color:#fff}.search-input{width:100%;font-size:1.1rem;padding:.8rem 1.1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-family:var(--sans);margin:.5rem 0 .75rem}.search-input:focus{outline:none;border-color:var(--accent)}.search-count{color:var(--ink-soft);font-size:.9rem}.search-results{display:grid;gap:.6rem}.search-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.85rem 1.1rem;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}.search-card:hover{transform:translateY(-2px);border-color:var(--accent)}.search-card.locked{opacity:.6;box-shadow:none}.search-module{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.search-title{font-family:var(--serif);font-weight:700;font-size:1.15rem;margin:.1rem 0}.search-snippet{color:var(--ink-soft);font-size:.92rem}.search-locked{font-size:.8rem;color:var(--ink-soft);font-style:italic}.dash-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.25rem 0 2rem}.dash-tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem .5rem;text-align:center;text-decoration:none;color:inherit;box-shadow:var(--shadow)}.dash-tile.link{transition:transform .15s ease,border-color .15s ease}.dash-tile.link:hover{transform:translateY(-2px);border-color:var(--accent)}.dash-num{font-family:var(--serif);font-size:1.7rem;font-weight:800}.dash-num.gold{color:var(--gold)}.dash-num.warn{color:var(--wrong)}.dash-sub{font-size:1rem;color:var(--ink-soft);font-weight:600}.dash-label{font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.dash-section{margin:2rem 0}.dash-weak{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.dash-weak a{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;text-decoration:none;color:var(--ink);transition:border-color .15s ease}.dash-weak a:hover{border-color:var(--accent)}.dash-weak-meter{color:var(--accent);font-weight:700;font-size:.9rem}.dash-tracks{display:grid;gap:.9rem}.dash-track-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem;font-weight:600}.dash-track-pct{color:var(--ink-soft);font-size:.9rem}.dash-bar{height:10px;background:var(--line);border-radius:99px;overflow:hidden}.dash-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;transition:width .5s cubic-bezier(.16,1,.3,1)}.mistake-origin{font-size:.9rem;color:var(--ink-soft);margin-bottom:.75rem}.mistake-origin a{color:var(--accent);font-weight:600}@media (max-width: 540px){.dash-tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.nav-links{gap:.7rem}.nav-links a{font-size:.92rem}.brand{font-size:1.15rem}}@media (max-width: 430px){.brand-word{display:none}.nav-links{gap:.55rem}.nav-links a{font-size:.86rem}}
