.learning-page{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.learning-page-header{margin:1.8rem 0 2rem}.learning-page-header h1{letter-spacing:-.035em;margin:.5rem 0 .8rem;font-size:clamp(1.9rem,5vw,3rem);font-weight:750;line-height:1.15}.learning-page-header>p:last-child{color:var(--muted-foreground);max-width:42rem;font-size:.96rem;line-height:1.65}.learning-eyebrow{letter-spacing:.12em;color:var(--primary);font-size:.65rem;font-weight:700;line-height:1.5}.learning-caption{color:var(--muted-foreground);font-size:.77rem;line-height:1.65}.learning-back{color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:.82rem;display:inline-flex}.learning-goal{border:1px solid color-mix(in srgb, var(--primary) 20%, transparent);isolation:isolate;background:linear-gradient(125deg,#203c2cb3,#171b19d9);border-radius:1.7rem;align-items:center;gap:1.2rem;padding:1.3rem;display:flex;position:relative}.learning-goal h2{margin:.25rem 0 .5rem;font-size:clamp(.94rem,2vw,1.14rem);font-weight:600}.learning-goal-orbit{flex-shrink:0;width:84px;height:84px;position:relative}.learning-goal-orbit svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.learning-goal-orbit circle{fill:none;stroke-width:4px}.orbit-track{stroke:#a4ffc71a}.orbit-progress{stroke:var(--primary);stroke-linecap:round;transition:stroke-dasharray .65s cubic-bezier(.16,1,.3,1)}.learning-goal-orbit>span{color:var(--primary);place-items:center;font-size:1.5rem;font-weight:700;display:grid;position:absolute;inset:0}.learning-goal.is-complete .learning-goal-orbit:after{content:"";border:1px solid var(--primary);border-radius:50%;animation:.85s ease-out both learning-ring;position:absolute;inset:2px}.learning-goal-options{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.learning-goal-options button{border:1px solid #ffffff21;border-radius:999px;min-width:2rem;padding:.15rem .5rem;font-size:.73rem}.learning-goal-options button[aria-pressed=true]{color:var(--primary);border-color:var(--primary);background:#00e8791f}.learning-goal-options a{color:var(--primary);align-items:center;gap:.2rem;margin-left:auto;font-size:.75rem;display:flex}.learning-stats-strip{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:1rem;padding:1.3rem 0;font-size:.85rem;display:flex}.learning-stats-strip span,.learning-stats-strip a{align-items:center;gap:.4rem;display:inline-flex}.learning-stats-strip svg{width:1rem;height:1rem;color:var(--primary)}.learning-stats-strip a{margin-left:auto}.learning-credit-explainer{color:var(--primary);background:linear-gradient(110deg,#00e8790f,#0000);border:1px solid #9dffc026;border-radius:1.5rem;gap:1rem;padding:1.5rem;display:flex}.learning-credit-explainer h2{margin-bottom:.5rem;font-size:1rem;font-weight:650}.learning-credit-explainer p{color:var(--muted-foreground);font-size:.85rem;line-height:1.7}.learning-section-title{margin-bottom:1rem;font-size:1.1rem;font-weight:650}.learning-milestone-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem;display:grid}.learning-milestone{background:linear-gradient(145deg,#2a3b3185,#181c1acc);border:1px solid #a4ffc31f;border-radius:1.4rem;padding:1.2rem}.learning-milestone h3{margin:1rem 0 .5rem;font-size:.95rem;font-weight:600}.learning-milestone progress{width:100%;height:4px;accent-color:var(--primary);margin-top:.75rem}.learning-milestone-value{color:var(--primary);align-items:center;gap:1rem;margin-top:.8rem;font-size:.79rem;display:flex}.learning-milestone-value>span{align-items:center;gap:.2rem;display:flex}.learning-milestone.is-locked{background:#2326247a}.learning-pin{color:var(--muted-foreground);align-items:center;gap:.4rem;margin-top:1rem;font-size:.7rem;display:inline-flex}.learning-pin[aria-pressed=true]{color:var(--primary)}.learning-badge{isolation:isolate;color:#a6ffcd;background:linear-gradient(145deg,#a7ffcc3b,#134a2da6);border:1px solid #a6ffcd40;border-radius:32%;flex-shrink:0;place-items:center;display:inline-grid;position:relative;box-shadow:inset 0 1px #d1ffe140,inset 0 -3px 8px #0000003d}.learning-badge--sm{width:28px;height:28px}.learning-badge--sm svg{width:14px;height:14px}.learning-badge--md{width:50px;height:50px}.learning-badge--md svg{width:25px;height:25px}.learning-badge--lg{width:88px;height:88px}.learning-badge--lg svg{width:40px;height:40px}.learning-badge-rim{border-radius:inherit;opacity:.24;border:1px solid;position:absolute;inset:4px}.learning-badge--leaf{color:#c7ffda;border-radius:45% 20%}.learning-badge--orbit{color:#a4e5e9;border-radius:50%}.learning-badge--steps{color:#e4ddae}.learning-badge.is-locked{color:#9ca8a1;box-shadow:none;background:#49544d33;border-style:dashed}.learning-history{background:#181d1a99;border:1px solid #a4ffc31f;border-radius:1.4rem;overflow:hidden}.learning-history article{border-bottom:1px solid #ffffff0d;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.2rem;font-size:.85rem;display:flex}.learning-history article:last-child{border:0}.learning-secondary{color:var(--foreground);background:#40634c21;border:1px solid #a9ffc733;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:40px;padding:.6rem .9rem;font-size:.8rem;transition:background .18s;display:inline-flex}.learning-secondary:hover{background:#40634c52}.learning-secondary:disabled{opacity:.5}.learning-input{background:#0a120d80;border:1px solid #a9ffc729;border-radius:.85rem;padding:.65rem .8rem;font-size:.85rem}.learning-input option{background:#1b221e}.learning-school-option{text-align:left;border:1px solid #ffffff1a;border-radius:.8rem;justify-content:space-between;gap:1rem;width:100%;padding:.75rem;font-size:.82rem;display:flex}.learning-school-option small{color:var(--muted-foreground)}.learning-scope-tabs{background:#0e1511cc;border:1px solid #a4ffc31f;border-radius:999px;gap:.3rem;padding:.35rem;display:flex}.learning-scope-tabs button{border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.8rem .4rem;font-size:.82rem;display:flex}.learning-scope-tabs button[aria-pressed=true]{color:var(--primary);background:#6bffa21f;box-shadow:inset 0 1px #9fffbf26}.learning-self-row{background:linear-gradient(110deg,#6bffa21c,#0000);border:1px solid #6bffa238;border-radius:1.5rem;align-items:center;gap:1rem;margin-top:1.5rem;padding:1.4rem;display:flex}.learning-self-row .learning-avatar{flex:0 0 3rem;width:3rem;height:3rem}.learning-board-pagination{color:var(--muted-foreground);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;padding:.35rem .2rem;font-size:.78rem;display:flex}.learning-board-pagination button{color:var(--foreground);border-color:#a4ffc333}.learning-board-pagination button:not(:disabled):hover{color:var(--primary);border-color:#6bffa299;box-shadow:0 0 18px #00f0841f}.learning-board{isolation:isolate;background:#161d19bf;border:1px solid #a4ffc31f;border-radius:1.5rem;position:relative;overflow:hidden}@property --learning-board-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.learning-board:after{content:"";z-index:2;border-radius:inherit;background:conic-gradient(from var(--learning-board-angle), transparent 0deg 292deg, #00f0842e 315deg, #71ffb0f2 340deg, #d9ffe8bf 348deg, #00f08414 360deg);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1.5px;animation:8s linear infinite learning-board-edge-flow;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes learning-board-edge-flow{to{--learning-board-angle:360deg}}.learning-board-empty{text-align:center;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;max-width:34rem;margin:auto;padding:3rem 1.5rem;line-height:1.7;display:flex}.learning-achievements-promo{background:radial-gradient(at 0 0,#00f08417,#0000 62%),linear-gradient(145deg,#232c26e0,#151a17f0);border:1px solid #a4ffc321;border-radius:1.35rem;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.15rem 1.25rem;display:flex;box-shadow:inset 0 1px #ffffff12,0 16px 36px -28px #000000bf}.learning-achievements-icon{width:2.65rem;height:2.65rem;color:var(--primary);background:#00f0841a;border:1px solid #00f0843d;border-radius:.9rem;flex:none;place-items:center;display:grid}.learning-achievements-promo h2{font-size:.95rem;font-weight:650}.learning-achievements-promo p{color:var(--muted-foreground);margin-top:.2rem;font-size:.78rem;line-height:1.5}.learning-achievements-link{min-height:2.5rem;color:var(--primary);border:1px solid #00f0843b;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:.45rem;margin-left:auto;padding:.45rem .8rem;font-size:.78rem;font-weight:650;transition:background-color .16s,box-shadow .16s;display:inline-flex}.learning-achievements-link:hover{background:#00f08417;box-shadow:0 0 18px #00f0841a}.learning-achievements-link svg{transition:transform .16s}.learning-achievements-link:hover svg{transform:translate(2px)}@media (width<=480px){.learning-achievements-link{margin-left:3.65rem}}.learning-board li{border-bottom:1px solid #ffffff0d;align-items:center;gap:.75rem;padding:1rem;font-size:.85rem;display:flex;position:relative}.learning-board li.is-self{background:#6bffa214}.learning-board ol>li:first-child{background:radial-gradient(at 2%,#ffc44c29,#0000 43%),linear-gradient(90deg,#ffbe400e,#0000 72%);border-bottom-color:#ffd36933;box-shadow:inset 3px 0 #ffce5bf2}.learning-board ol>li:nth-child(2){background:radial-gradient(at 2%,#bed5e721,#0000 40%),linear-gradient(90deg,#bed5e709,#0000 72%);border-bottom-color:#cfe0ed29;box-shadow:inset 3px 0 #c2daebbf}.learning-board ol>li:nth-child(3){background:radial-gradient(at 2%,#de844e21,#0000 40%),linear-gradient(90deg,#de844e09,#0000 72%);border-bottom-color:#e2976829;box-shadow:inset 3px 0 #db8b5bcc}.learning-rank{width:1.8rem;height:1.8rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;background:#0f19138c;border:1px solid #beffd41f;border-radius:50%;flex:0 0 1.8rem;place-items:center;font-size:.85rem;font-weight:700;display:grid}.learning-board ol>li:first-child .learning-rank{color:#362306;background:radial-gradient(circle at 35% 25%,#fff1bf,#f0b83e 48%,#895418 100%);border-color:#ffda7dbf;flex-basis:2.25rem;width:2.25rem;height:2.25rem;font-size:1.05rem;box-shadow:0 0 22px #ffbe4066,inset 0 1px #ffffffa6}.learning-board ol>li:first-child .learning-avatar{box-shadow:0 0 0 2px #ffd264c7,0 0 20px #ffbe4047}.learning-board ol>li:first-child .min-w-0 strong{color:#ffe7a8;text-shadow:0 0 18px #ffc74c3d}.learning-board ol>li:nth-child(2) .learning-rank{color:#1a2832;background:radial-gradient(circle at 35% 25%,#fff,#b8ccdc 52%,#586b7a 100%);border-color:#deedfaa6;box-shadow:0 0 17px #bed5e747,inset 0 1px #ffffffb3}.learning-board ol>li:nth-child(2) .learning-avatar{box-shadow:0 0 0 2px #cee0efa3,0 0 16px #bed5e733}.learning-board ol>li:nth-child(2) .min-w-0 strong{color:#e3edf6}.learning-board ol>li:nth-child(3) .learning-rank{color:#32190e;background:radial-gradient(circle at 35% 25%,#ffe0c3,#c77b4b 52%,#663a25 100%);border-color:#f2b184ad;box-shadow:0 0 17px #de844e47,inset 0 1px #ffffff8c}.learning-board ol>li:nth-child(3) .learning-avatar{box-shadow:0 0 0 2px #e29a6cb3,0 0 16px #de844e33}.learning-board ol>li:nth-child(3) .min-w-0 strong{color:#ffd0b2}@media (prefers-reduced-motion:reduce){.learning-board:after{opacity:.72;animation:none}}.learning-avatar{width:34px;height:34px;color:var(--primary);background:#97ffb91f;border-radius:50%;place-items:center;font-size:.9rem;display:grid}.learning-reward-popup{top:calc(env(safe-area-inset-top,0px) + 80px);z-index:70;background:linear-gradient(120deg,#284532fa,#171f1afa);border:1px solid #a6ffcd59;border-radius:1.4rem;align-items:center;gap:.9rem;width:calc(100vw - 24px);max-width:460px;min-height:86px;padding:1rem 2.5rem 1rem 1rem;animation:.26s cubic-bezier(.16,1,.3,1) both learning-reward-enter;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 45px #0000004d,inset 0 1px #d1ffe126}.learning-reward-popup p{font-size:.86rem;line-height:1.5}.learning-reward-values{color:#a6ffcd;flex-wrap:wrap;gap:.8rem;margin-top:.35rem;font-size:.78rem;display:flex}.learning-reward-values span{align-items:center;gap:.2rem;display:flex}.learning-reward-values svg{width:18px;height:18px;animation:.75s ease-out .2s both learning-credit-shine}.learning-close{width:32px;height:32px;color:var(--muted-foreground);border-radius:50%;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}.learning-close:hover{background:#ffffff14}.learning-sparkles{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.learning-sparkles i{width:3px;height:3px;transform:rotate(var(--spark-angle));background:#a6ffcd;border-radius:50%;animation:1s ease-out .3s both learning-spark;position:absolute;top:42px;left:35px}.effects-off,.effects-off *{animation:none!important}@keyframes learning-reward-enter{0%{opacity:0;transform:translate(-50%)translateY(-14px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes learning-credit-shine{0%{filter:brightness()}50%{filter:brightness(1.8)}to{filter:brightness()}}@keyframes learning-spark{0%{opacity:0;transform:rotate(var(--spark-angle)) translateX(12px)}20%{opacity:.9}to{opacity:0;transform:rotate(var(--spark-angle)) translateX(30px)}}@keyframes learning-ring{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@media (width<=380px){.learning-goal{gap:.7rem;padding:1rem}.learning-goal-orbit{width:66px;height:66px}.learning-reward-popup{gap:.6rem;padding-left:.8rem}.learning-reward-values{gap:.5rem}.learning-milestone-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.learning-goal *,.learning-reward-popup,.learning-reward-popup *{transition:none!important;animation:none!important}.learning-sparkles{display:none}}.learning-reward-popup.is-closing{animation:.18s ease-in both learning-reward-exit}@keyframes learning-reward-exit{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-4px)}}.learning-badge--level{color:#d6c7ff;background:linear-gradient(145deg,#b9a4ff38,#2b224899);border-radius:28% 28% 42% 42%}.learning-badge--level-0{color:#9bffb9;background:linear-gradient(145deg,#4fe88847,#0f4628b8);border-radius:50% 50% 42% 42%}.learning-badge--level-100{color:#83edff;background:linear-gradient(145deg,#3ecce647,#0f374fb8);border-radius:50%}.learning-badge--level-400{color:#ffd07a;background:linear-gradient(145deg,#f7a63b4d,#502b0ebd);border-radius:20% 20% 38% 38%}.learning-badge--level-1000{color:#a9bfff;background:linear-gradient(145deg,#6589f54d,#192658c2);border-radius:24%}.learning-badge--level-2500{color:#d3a7ff;background:linear-gradient(145deg,#ae64f04d,#381855c2);border-radius:50% 24%}.learning-badge--level-6000{color:#ffe48a;background:linear-gradient(145deg,#f6c94d52,#533d11c7);border-radius:28% 28% 44% 44%}.learning-badge--level-12000{color:#ffb8e2;background:linear-gradient(145deg,#ef6bbd52,#52194ac7);border-radius:50%;box-shadow:inset 0 1px #ffecf847,inset 0 -3px 8px #0000003d,0 0 14px #ef6bbd1f}.learning-levels{flex-wrap:wrap;gap:1.4rem;padding:1rem 0;display:flex}.learning-levels>div{flex-direction:column;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.learning-levels small{color:var(--muted-foreground);font-size:.7rem}.learning-community p,.learning-school-option span{overflow-wrap:anywhere}
