@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--s1:#131313;--s2:#1c1c1c;--s3:#242424;--s4:#2c2c2c;--white:#fff;--text-muted:#909090;--text-dim:#505050;--on-surface:#e5e2e1;--primary:#f1c3c8;--primary-container:#d4a8ad;--accent:#9f7bf7;--accent-end:#ec6ac7;--accent-dark:#a87880;--accent-bright:#edd5d8;--accent-bg:#9f7bf714;--logo-primary:#f0edfe;--logo-accent:#8656f5;--border:#ffffff12;--border-light:#ffffff1f;--font:"Inter", sans-serif;--max-w:1140px;--pad:48px;--sp-xs:4px;--sp-sm:8px;--sp-sm-plus:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--sp-3xl:64px;--sp-4xl:96px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:100px}[data-theme=light]{--s1:#fff;--s2:#f5f5f7;--s3:#ebebef;--s4:#e0e0e5;--white:#1a1a1a;--text-muted:#5a5a6e;--text-dim:#9a9ab0;--on-surface:#2c2c3a;--accent:#7c5ce7;--accent-end:#d63aa5;--accent-dark:#8a5a70;--accent-bright:#c4a0a8;--accent-bg:#7c5ce714;--logo-primary:#0a0a30;--logo-accent:#6c35de;--border:#00000014;--border-light:#0000001f}[data-theme=light] .nav{background:#fffffff5}[data-theme=light] .nav-mobile{background:#fffffffa}[data-theme=light] .glass-card{background:#ffffffb3}[data-theme=light] .check-icon-inner{background:#f0f0f0}[data-theme=light] .feedback-card-inner{background:#e8e6ec}[data-theme=light] .feedback-nav-btn{color:#1a1a1a;background:#f0f0f0f2;border-color:#0000001a}[data-theme=light] .rm-node{background:var(--s2)}[data-theme=light] .rm-card{background:#f0f0f5a6;border-color:#0000000f}[data-theme=light] .rmf-epic-num{background:#f5f5f7}[data-theme=light] .rmf-sprint-card{background:#00000005;border-color:#00000012}[data-theme=light] .rmf-icon-inner{background:#f0f0f0}[data-theme=light] .rmf-compare-card{background:#00000005;border-color:#00000012}[data-theme=light] .checkout-qr-wrap{background:#f5f5f7}[data-theme=light] .nav-cta{color:#7c5ce7;border-color:#7c5ce7}[data-theme=light] .btn-primary{background:#7c5ce7}[data-theme=light] .stat-value{color:#7c5ce7}[data-theme=light] .accent-gradient{background:linear-gradient(90deg,#7c5ce7,#d63aa5);-webkit-text-fill-color:transparent;-webkit-background-clip:text}[data-theme=light] .divider-accent{background:linear-gradient(90deg,#7c5ce7,#d63aa5)}[data-theme=light] .nav-hamburger span{background:#1a1a1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}button,input,textarea{font:inherit}html{scroll-behavior:smooth;overflow-x:clip}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}body{background:var(--s1);font-family:var(--font);color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:clip}.reveal-up{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(32px)}.reveal-up.revealed{opacity:1;transform:translateY(0)}.stagger-item{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.stagger-item.revealed{opacity:1;transform:translateY(0)}.wrap{max-width:var(--max-w);padding:0 var(--pad);margin:0 auto}.section{padding:var(--sp-4xl) 0}.bg-1{background:var(--s1)}.bg-2{background:var(--s2)}.section-border{border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}.display{letter-spacing:-.03em;color:var(--white);font-size:56px;font-weight:800;line-height:1.04}.headline-lg{letter-spacing:-.025em;color:var(--white);font-size:44px;font-weight:800;line-height:1.06}.headline-md{letter-spacing:-.02em;color:var(--white);font-size:32px;font-weight:800;line-height:1.15}.headline-sm{letter-spacing:-.01em;color:var(--white);font-size:20px;font-weight:700;line-height:1.3}.body-md{color:var(--text-muted);font-size:17px;font-weight:400;line-height:1.78}.body-sm{color:var(--text-muted);font-size:14px;font-weight:400;line-height:1.6}.label{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:600}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.text-accent{color:var(--accent)}.accent-gradient{background:linear-gradient(90deg,#9f7bf7,#ec6ac7);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-white{color:var(--white)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.font-bold{font-weight:700}.btn-primary{align-items:center;gap:var(--sp-sm);font-family:var(--font);border-radius:var(--r-pill);color:var(--white);cursor:pointer;background:#9f7bf7;border:none;padding:13px 36px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,brightness .15s;display:inline-flex}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 20px #9f7bf759}.btn-primary:active{transform:scale(.95)}.btn-secondary{align-items:center;gap:var(--sp-sm);font-family:var(--font);border-radius:var(--r-pill);color:var(--text-muted);border:.5px solid var(--border-light);cursor:pointer;background:0 0;padding:12px 24px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{color:var(--white);border-color:#ffffff40}.btn-secondary:active{transform:scale(.95)}.card{background:var(--s3);border:.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);transition:transform .25s,border-color .25s}.card:hover{border-color:var(--border-light);transform:translateY(-2px)}.card-accent{background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--sp-lg)}.glass-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--r-lg);z-index:1;background:#19191980;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.glass-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:.3;background:linear-gradient(90deg,#9f7bf7,#ec6ac7);padding:1px;transition:opacity .4s,filter .4s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 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}.glass-card:hover{transform:translateY(-8px)}.glass-card:hover:before{opacity:1;filter:drop-shadow(0 0 8px #9f7bf780)}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);background:#131313f5;height:52px;position:sticky;top:0}.nav-inner{max-width:var(--max-w);padding:0 var(--sp-lg);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.nav-logo{color:var(--white);letter-spacing:-.01em;font-size:16px;font-weight:800}.nav-links{align-items:center;gap:var(--sp-lg);display:flex}.nav-link{color:var(--text-muted);cursor:pointer;font-size:17px;font-weight:400;transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--accent)}.mobile-tab-bar{z-index:99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#131313f2;justify-content:flex-start;align-items:center;gap:8px;padding:8px 12px;display:none;position:sticky;top:52px;overflow-x:auto}.mobile-tab-bar::-webkit-scrollbar{display:none}[data-theme=light] .mobile-tab-bar{background:#fffffff2;border-bottom-color:#00000014}.mobile-tab{white-space:nowrap;justify-content:center;align-items:center;padding:6px 14px;text-decoration:none;transition:all .15s;display:flex}.mobile-tab-label{color:var(--text-dim);font-size:13px;font-weight:600;transition:color .15s}.mobile-tab.active .mobile-tab-label{color:var(--accent)}@media (max-width:768px){.mobile-tab-bar{display:flex}}.nav-cta{border-radius:var(--r-pill);color:#9f7bf7;cursor:pointer;background:0 0;border:1.5px solid #9f7bf7;align-items:center;gap:6px;padding:8px 20px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.nav-cta:hover{color:var(--white);background:linear-gradient(90deg,#9f7bf7,#ec6ac7);border-color:#0000;box-shadow:0 3px 12px #9f7bf740}.nav-cta:active{transform:scale(.95)}.nav-user-menu{align-items:center;gap:var(--sp-sm-plus);display:flex}.nav-user-info{align-items:center;gap:var(--sp-sm);display:flex}.nav-avatar{object-fit:cover;border:1.5px solid #9f7bf766;border-radius:50%;width:28px;height:28px}.nav-user-name{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;font-weight:600;overflow:hidden}.nav-signout-btn{border-radius:var(--r-pill);color:var(--text-muted);border:1px solid var(--border-light);cursor:pointer;background:0 0;padding:5px 14px;font-size:11px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.nav-signout-btn:hover{color:var(--white);background:#ffffff0a;border-color:#ffffff40}.nav-auth-loading{background:var(--s3);border-radius:50%;width:28px;height:28px;animation:1.2s ease-in-out infinite auth-pulse}@keyframes auth-pulse{0%,to{opacity:.4}50%{opacity:.8}}.divider-accent{background:linear-gradient(90deg,#9f7bf7,#ec6ac7);border-radius:2px;width:36px;height:3px}.check-icon{background:linear-gradient(135deg,#9f7bf7,#ec6ac7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:1.5px;display:flex}.check-icon-inner{background:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.check-icon svg{width:12px;height:12px;stroke:var(--white);stroke-width:3px;fill:none}.stats-bar{border:.5px solid var(--border);border-radius:14px;display:flex;overflow:hidden}.stat-item{padding:18px var(--sp-lg);border-right:.5px solid var(--border);flex:1}.stat-item:last-child{border-right:none}.stat-value{color:var(--accent);margin-bottom:4px;font-size:24px;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:12px}.grid-2{gap:var(--sp-md);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-md);grid-template-columns:1fr 1fr 1fr;display:grid}.grid-12-5-7{gap:var(--sp-2xl);grid-template-columns:5fr 7fr;align-items:center;display:grid}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.course-card{background:var(--s3);border:.5px solid var(--border);border-radius:14px;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;overflow:hidden}.course-card:hover{border-color:var(--accent-dark);transform:translateY(-3px);box-shadow:0 8px 32px #0000004d}.course-card-img{aspect-ratio:16/9;background:var(--s2);position:relative;overflow:hidden}.course-card-body{padding:var(--sp-lg);gap:var(--sp-sm);flex-direction:column;flex:1;display:flex}.blog-item{padding:var(--sp-lg);background:var(--s3);border:.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;justify-content:space-between;align-items:center;transition:transform .2s,border-color .2s;display:flex}.blog-item:hover{border-color:var(--border-light);transform:translateY(-2px)}.footer{background:var(--s1);border-top:.5px solid var(--border);padding:var(--sp-xl) 0}.footer-inner{max-width:var(--max-w);padding:0 var(--sp-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.footer-links{gap:var(--sp-lg);display:flex}.footer-link{color:var(--text-muted);font-size:12px;font-weight:600;transition:color .15s}.footer-link:hover{color:var(--accent)}.input{background:var(--s2);border:.5px solid var(--border);border-radius:var(--r-md);width:100%;padding:10px var(--sp-md);color:var(--white);outline:none;font-size:14px;transition:border-color .2s}.input::placeholder{color:var(--text-dim)}.input:focus{border-color:#d4a8ad66}@media (max-width:1140px){:root{--pad:28px}.display{font-size:44px}.grid-12-5-7{gap:var(--sp-xl);grid-template-columns:1fr}}@media (max-width:768px){:root{--pad:20px}.nav-links,.hidden-mobile-cta{display:none}.display{font-size:36px}.headline-lg{font-size:32px}.headline-md{font-size:26px}.grid-2,.grid-3{grid-template-columns:1fr}.section>.wrap>div[style*=grid-template-columns]{text-align:center;grid-template-columns:1fr!important}.section{padding:var(--sp-2xl) 0}.stats-bar{flex-wrap:wrap}.stat-item{border-bottom:.5px solid var(--border);flex:45%}.stat-item:nth-child(2){border-right:none}.stat-item:nth-child(3),.stat-item:nth-child(4){border-bottom:none}.footer-inner{gap:var(--sp-md);text-align:center;flex-direction:column}.footer-links{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.display{font-size:30px}.btn-primary,.btn-secondary{justify-content:center;width:100%}.stats-bar{border-radius:10px}}.feedback-gallery-wrap{margin-top:40px;position:relative}.feedback-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;cursor:grab;-ms-overflow-style:none;scrollbar-width:none;gap:20px;padding:8px 4px 16px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 24px),#0000 100%)}.feedback-scroll::-webkit-scrollbar{display:none}.feedback-scroll.dragging{cursor:grabbing;scroll-snap-type:none}.feedback-card{scroll-snap-align:start;background:linear-gradient(135deg,#9f7bf780,#ec6a9980);border-radius:16px;flex:none;height:420px;padding:2px;transition:transform .35s,box-shadow .35s}.feedback-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #9f7bf740}.feedback-card-inner{background:#f3f1f6;border-radius:14px;height:100%;padding:6px;display:flex;overflow:hidden}.feedback-card-inner img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;width:auto;height:100%;display:block}.feedback-nav-btn{color:#fff;cursor:pointer;z-index:10;background:#141414e6;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.feedback-nav-btn.prev{left:-14px}.feedback-nav-btn.next{right:-14px}@media (max-width:768px){.feedback-gallery-wrap{padding-bottom:56px}.feedback-scroll{-webkit-mask-image:none;mask-image:none}.feedback-nav-btn{width:40px;height:40px;top:auto;bottom:0;transform:none}.feedback-nav-btn.prev{left:calc(50% - 48px)}.feedback-nav-btn.next{left:calc(50% + 8px);right:auto}.feedback-card{max-width:85vw;height:360px}}@media (hover:hover){.feedback-nav-btn:hover{background:#9f7bf7}}.feedback-nav-btn:active{background:#9f7bf7}.rm{flex-direction:column;gap:0;display:flex;position:relative}.rm-step{align-items:flex-start;gap:20px;padding-bottom:32px;display:flex;position:relative}.rm-step--left{flex-direction:row}.rm-step--right{flex-direction:row-reverse}.rm-node{background:var(--s2);z-index:2;border:2.5px solid #9f7bf759;border-radius:50%;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.rm-step:hover .rm-node{transform:scale(1.1)}.rm-node__num{font-size:17px;font-weight:800;font-family:var(--font)}.rm-connector{border-left:2px dashed #9f7bf72e;width:2px;position:absolute;top:48px;bottom:0}.rm-step--left .rm-connector{left:23px}.rm-step--right .rm-connector{right:23px}.rm-card{background:#1c1c1ca6;border:1px solid #ffffff0f;border-radius:12px;flex:1;max-width:480px;padding:18px 22px;transition:border-color .3s,transform .3s}.rm-step:hover .rm-card{transform:translateY(-2px)}.rm-card__head{margin-bottom:10px}.rm-card__badge{letter-spacing:.14em;border-radius:var(--r-pill);text-transform:uppercase;border:1px solid;padding:4px 12px;font-size:9px;font-weight:800;display:inline-block}.rm-card__title{color:var(--white);letter-spacing:.01em;margin-bottom:6px;font-size:14px;font-weight:800;line-height:1.35}.rm-card__desc{color:var(--text-muted);font-size:13px;line-height:1.65}@media (min-width:769px){.rm-step--left{padding-right:50%}.rm-step--right{padding-left:50%}.rm-step--left .rm-connector,.rm-step--right .rm-connector{left:calc(50% - 1px);right:auto}.rm-step--left .rm-node{order:2}.rm-step--left .rm-card{text-align:right;order:1}.rm-step--left{justify-content:flex-end}.rm-step--right .rm-node{order:1}.rm-step--right .rm-card{text-align:left;order:2}.rm-step--right{flex-direction:row;justify-content:flex-start}.rm-step--left .rm-card__head{justify-content:flex-end;display:flex}}@media (max-width:768px){.rm-step--left,.rm-step--right{flex-direction:row}.rm-step--left .rm-connector,.rm-step--right .rm-connector{left:19px;right:auto}.rm-node{width:40px;min-width:40px;height:40px}.rm-node__num{font-size:14px}.rm-connector{top:40px}.rm-card{padding:14px 16px}.rm-card__title{font-size:13px}.rm-card__desc{font-size:12px}}.checkout-grid{grid-template-columns:360px 1fr;align-items:start;gap:32px;display:grid}.checkout-qr-col{position:sticky;top:80px}.checkout-qr-card{background:var(--s3);border:1px solid var(--border);border-radius:16px;padding:20px;transition:box-shadow .3s;box-shadow:0 0 40px #9f7bf714}.checkout-qr-card:hover{box-shadow:0 0 60px #9f7bf726}.checkout-qr-wrap{background:#fff;border-radius:12px;overflow:hidden}.checkout-info-col{flex-direction:column;display:flex}.checkout-steps{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:12px;display:grid}.checkout-step-item{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.checkout-step-num{color:#fff;background:linear-gradient(135deg,#9f7bf7,#ec6ac7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}@media (max-width:768px){.checkout-grid{grid-template-columns:1fr;gap:24px}.checkout-qr-col{max-width:320px;margin:0 auto;position:static}.checkout-steps{grid-template-columns:1fr 1fr;gap:12px}}@media (max-width:480px){.checkout-steps{grid-template-columns:1fr}}.checkout-pulse{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.5s ease-in-out infinite pulse-glow;display:inline-block}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 #9f7bf780}50%{opacity:.6;box-shadow:0 0 0 8px #9f7bf700}}.reg-grid{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.reg-back-link{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:24px;font-size:12px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.reg-back-link:hover{color:var(--accent)}.reg-form{flex-direction:column;gap:20px;display:flex}.reg-field{flex-direction:column;gap:6px;display:flex}.reg-label{color:var(--white);font-size:13px;font-weight:600}.reg-req{color:#ec6ac7}.reg-input{width:100%;font-size:14px;font-family:var(--font);color:var(--white);background:var(--s1);border:1.5px solid var(--border);border-radius:10px;outline:none;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.reg-input::placeholder{color:var(--text-dim)}.reg-input:focus{border-color:#9f7bf7;box-shadow:0 0 0 3px #9f7bf726}.reg-input--err{border-color:#ff6b6b}.reg-input--err:focus{box-shadow:0 0 0 3px #ff6b6b26}.reg-err{color:#ff6b6b;font-size:12px;font-weight:500}.reg-err-box{color:#ff6b6b;text-align:center;background:#ff6b6b14;border:1px solid #ff6b6b33;border-radius:8px;padding:12px 16px;font-size:13px}.reg-summary{position:sticky;top:80px}@media (max-width:768px){.reg-grid{grid-template-columns:1fr;gap:24px}.reg-summary{order:-1;position:static}}.rmf-timeline{flex-direction:column;gap:48px;display:flex;position:relative}.rmf-timeline:before{content:"";opacity:.35;background:linear-gradient(#9f7bf7 0%,#ec6ac7 100%);width:2px;position:absolute;top:28px;bottom:28px;left:27px}.rmf-epic-row{gap:24px;display:flex;position:relative}.rmf-epic-num{border:1.5px solid var(--accent);z-index:2;background:#0e0e0e;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.rmf-sprint-card{background:#ffffff05;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.rmf-pill{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;padding:3px 10px;font-size:10px;font-weight:700}.rmf-pill--purple,.rmf-pill--pink{color:#9f7bf7;background:#9f7bf71f}.rmf-toggle-btn{color:#9f7bf7;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.rmf-toggle-btn:hover{color:#b99bff}.rmf-backlog-detail{opacity:0;max-height:0;transition:max-height .4s,opacity .4s,margin-top .4s;overflow:hidden}.rmf-backlog-expanded{opacity:1;max-height:2000px;margin-top:12px}.rmf-meta-grid{border-top:1px solid #ffffff12;grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:768px){.rmf-timeline:before{display:none}.rmf-epic-row{flex-direction:column;align-items:flex-start}.rmf-epic-num{width:44px;height:44px}.rmf-meta-grid{grid-template-columns:1fr}}.rmf-hero-stats{flex-wrap:wrap;justify-content:center;gap:48px;padding-top:32px;display:flex}.rmf-hero-stat{flex-direction:column;align-items:center;display:flex}.rmf-hero-stat__value{letter-spacing:-.02em;color:var(--accent);font-size:32px;font-weight:800;line-height:1.15}.rmf-hero-stat__label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.rmf-hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;padding-top:16px;display:flex}.rmf-faq-item{border-radius:var(--r-lg);cursor:default;padding:24px}.rmf-faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.rmf-faq-item summary::-webkit-details-marker{display:none}.rmf-faq-caret{color:var(--text-muted);flex-shrink:0;font-size:20px;transition:transform .3s}.rmf-faq-item[open] .rmf-faq-caret{transform:rotate(180deg)}.rmf-faq-body{flex-direction:column;gap:16px;margin-top:24px;display:flex}.rmf-task-item{align-items:flex-start;gap:8px;display:flex}.rmf-task-box{border:1.5px solid #9f7bf7;border-radius:4px;flex-shrink:0;width:14px;height:14px;margin-top:3px}.rmf-icon-wrap{background:linear-gradient(135deg,#9f7bf7,#ec6ac7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:1.5px;display:flex}.rmf-icon-inner{background:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.rmf-toggle-icon{transition:transform .3s}.rmf-toggle-icon--open{transform:rotate(180deg)}.rmf-concept-table{border-collapse:collapse;width:100%}.rmf-concept-table td,.rmf-concept-table th{vertical-align:top;text-align:left;border-bottom:1px solid #ffffff12;padding:14px 16px}.rmf-concept-table tr:last-child td{border-bottom:none}.rmf-compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rmf-compare-card{background:#ffffff05;border:1px solid #ffffff12;border-radius:12px;padding:20px}.rmf-compare-card--accent{border-color:#9f7bf759}@media (max-width:768px){.rmf-hero-stats{gap:24px}.rmf-hero-actions{flex-direction:column;align-items:center}.rmf-compare-grid{grid-template-columns:1fr}}.theme-toggle{border:1.5px solid var(--border-light);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .25s,border-color .25s,transform .2s;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{border-color:var(--accent);background:var(--accent-bg)}.theme-toggle:active{transform:scale(.9)}.theme-toggle__icon{width:18px;height:18px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s}.theme-toggle__sun,.theme-toggle__moon{width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.theme-toggle__sun{opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)rotate(-90deg)scale(.5)}.theme-toggle__moon{opacity:1;transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)rotate(0)scale(1)}[data-theme=light] .theme-toggle__sun{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}[data-theme=light] .theme-toggle__moon{opacity:0;transform:translate(-50%,-50%)rotate(90deg)scale(.5)}.lab-loading{min-height:50vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:15px;display:flex}.lab-loading-spinner{border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite lab-spin}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab-progress-bar{background:var(--s3);border-radius:3px;width:280px;height:6px;overflow:hidden}.lab-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-end));border-radius:3px;height:100%;transition:width .3s}.lab-progress-label{color:var(--text-dim);font-family:monospace;font-size:12px}.lab-error-page{color:#ff6b6b;text-align:center;padding:3rem}.lab-page{max-width:1100px;margin:0 auto;padding:0 24px 80px}.lab-hero{text-align:center;padding:48px 0 40px}.lab-hero-inner{max-width:720px;margin:0 auto}.lab-hero-title{background:linear-gradient(135deg, var(--accent), var(--accent-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:32px;font-weight:800;line-height:1.3}.lab-hero-desc{color:var(--text-muted);margin:0 0 20px;font-size:16px;line-height:1.7}.lab-hero-desc strong{color:var(--white);font-weight:700}.lab-hero-badges{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lab-badge{background:var(--s3);color:var(--text-muted);border-radius:100px;padding:5px 14px;font-size:12px;font-weight:600}.lab-badge-green{color:#4ade80}.lab-section{margin-bottom:48px}.lab-section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:20px;display:flex}.lab-section-title{color:var(--white);margin:0;font-size:22px;font-weight:800}.lab-section-desc{color:var(--text-dim);width:100%;margin:0;font-size:14px}.lab-module-tabs{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.lab-module-tab{border:1px solid var(--border);background:var(--s2);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lab-module-tab:hover{border-color:var(--accent);color:var(--white)}.lab-module-tab.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.lab-module-icon{font-size:16px}.lab-module-desc{color:var(--text-muted);background:var(--s2);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.lab-table-grid{grid-template-columns:1fr;gap:12px;display:grid}.lab-table-card{background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;transition:border-color .15s,box-shadow .15s}.lab-table-card:hover{border-color:var(--border-light)}.lab-table-card.expanded{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-bg)}.lab-table-card-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lab-table-card-title-row{align-items:center;gap:8px;display:flex}.lab-table-icon{opacity:.5;font-size:14px}.lab-table-code{color:var(--accent);background:var(--accent-bg);border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:14px;font-weight:700}.lab-table-vi{color:var(--white);font-size:14px;font-weight:600}.lab-table-rows{color:var(--text-dim);background:var(--s3);white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:12px}.lab-table-desc{color:var(--text-muted);margin:0 0 10px;font-size:13px;line-height:1.5}.lab-table-keycols{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.lab-keycol-label{color:var(--text-dim);text-transform:uppercase;font-size:11px;font-weight:600}.lab-keycol{background:var(--s3);color:var(--text-muted);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:11px}.lab-table-expanded{border-top:1px solid var(--border);margin:12px 0;padding-top:12px}.lab-expanded-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:700}.lab-col-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;display:grid}.lab-col-row{border-radius:4px;justify-content:space-between;align-items:center;padding:4px 8px;transition:background .1s;display:flex}.lab-col-row:hover{background:var(--s3)}.lab-col-name{color:var(--text-muted);font-family:monospace;font-size:12px}.lab-col-type{background:var(--s3);color:var(--text-dim);border-radius:3px;padding:1px 6px;font-family:monospace;font-size:10px}.lab-table-actions{gap:8px;display:flex}.lab-btn-preview,.lab-btn-structure{border:1px solid var(--border);background:var(--s3);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.lab-btn-preview:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.lab-btn-structure:hover{border-color:var(--accent);color:var(--accent)}.lab-exercise-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.lab-exercise-card{background:var(--s2);border:1px solid var(--border);border-radius:12px;transition:border-color .15s;overflow:hidden}.lab-exercise-card:hover{border-color:var(--border-light)}.lab-exercise-card.expanded{border-color:var(--accent)}.lab-exercise-header{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.lab-exercise-title-row{align-items:center;gap:10px;display:flex}.lab-exercise-diff{white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:700}.lab-exercise-title{color:var(--white);margin:0;font-size:14px;font-weight:700}.lab-exercise-arrow{color:var(--text-dim);font-size:12px}.lab-exercise-body{padding:0 18px 16px}.lab-exercise-desc{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.6}.lab-exercise-hint{color:var(--text-dim);background:var(--s3);border-radius:8px;align-items:flex-start;gap:6px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.lab-hint-icon{flex-shrink:0}.lab-btn-try{cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:700;transition:opacity .15s}.lab-btn-try:hover{opacity:.85}.lab-editor-wrap{background:var(--s2);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden}.lab-editor-topbar{background:var(--s3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.lab-editor-label{color:var(--text-muted);font-size:12px;font-weight:700}.lab-editor-hint{color:var(--text-dim);background:var(--s2);border-radius:4px;padding:2px 8px;font-size:11px}.lab-editor{background:var(--s1);width:100%;min-height:120px;max-height:350px;color:var(--white);resize:vertical;tab-size:4;border:none;outline:none;padding:16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:14px;line-height:1.6}.lab-editor::placeholder{color:var(--text-dim)}.lab-editor-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.lab-run-btn{background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 28px;font-size:14px;font-weight:700;transition:opacity .15s,transform .1s;display:inline-flex;box-shadow:0 2px 12px #9f7bf740}.lab-run-btn:hover{opacity:.9;transform:translateY(-1px)}.lab-run-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.lab-run-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite lab-spin}.lab-btn-history{border:1px solid var(--border);background:var(--s2);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.lab-btn-history:hover,.lab-btn-history.active{border-color:var(--accent);color:var(--accent)}.lab-history-panel{background:var(--s2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;max-height:200px;margin-bottom:12px;padding:8px;display:flex;overflow-y:auto}.lab-history-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;transition:background .12s;display:flex}.lab-history-item:hover{background:var(--s3)}.lab-history-q{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:12px;overflow:hidden}.lab-history-meta{color:var(--text-dim);font-size:11px}.lab-error-box{background:#ff6b6b14;border:1px solid #ff6b6b40;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.lab-error-icon{color:#ff6b6b;font-size:16px;font-weight:700}.lab-error-text{color:#ff6b6b;white-space:pre-wrap;word-break:break-word;margin:0;font-family:monospace;font-size:13px}.lab-results-wrap{border:1px solid var(--border);background:var(--s2);border-radius:12px;overflow:hidden}.lab-results-header{background:var(--s3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.lab-results-title{color:var(--white);font-size:13px;font-weight:700}.lab-results-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.lab-meta-sep{color:var(--text-dim);font-size:10px}.lab-table-scroll{max-height:50vh;overflow:auto}.lab-result-table{border-collapse:collapse;width:100%;font-size:13px}.lab-rth{z-index:2;background:var(--s3);color:var(--accent);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:10px 14px;font-family:monospace;font-size:12px;font-weight:700;position:sticky;top:0}.lab-rth-num{text-align:center;width:44px;color:var(--text-dim)}.lab-rtr{transition:background .1s}.lab-rtr:hover{background:var(--s3)}.lab-rtd{border-bottom:1px solid var(--border);color:var(--white);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:8px 14px;overflow:hidden}.lab-rtd-num{text-align:center;color:var(--text-dim);font-size:11px}.lab-null{color:var(--text-dim);font-size:11px;font-style:italic}.lab-empty-result{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}@media (max-width:768px){.lab-hero-title{font-size:24px}.lab-hero-desc{font-size:14px}.lab-module-tabs{gap:4px}.lab-module-tab{padding:8px 12px;font-size:12px}.lab-exercise-grid,.lab-col-grid{grid-template-columns:1fr}.lab-page{padding:0 16px 60px}}.newsletter-form{flex:none;gap:8px;display:flex}.newsletter-form .input{width:256px}@media (max-width:768px){.newsletter-form{flex-direction:column;width:100%}.newsletter-form .input{width:100%}}.register-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.register-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:40px;animation:.3s slideUp;position:relative;overflow-y:auto}.register-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;transition:color .2s,background .2s;position:absolute;top:16px;right:16px}.register-close:hover{color:var(--white);background:#ffffff14}.register-title{font-family:var(--font-heading);color:var(--white);text-align:center;margin-bottom:4px;font-size:24px;font-weight:800}.register-subtitle{color:var(--accent);text-align:center;margin-bottom:32px;font-size:14px;font-weight:600}.register-form{flex-direction:column;gap:20px;display:flex}.register-field label{color:var(--white);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.register-field input,.register-field textarea{width:100%;font-size:14px;font-family:var(--font-body);color:var(--white);border:1px solid var(--border);background:#ffffff0d;border-radius:10px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.register-field input::placeholder,.register-field textarea::placeholder{color:var(--text-dim)}.register-field input:focus,.register-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #9f7bf726}.register-field textarea{resize:vertical;min-height:80px}.register-submit{justify-content:center;width:100%;margin-top:8px}.register-success{text-align:center;padding:20px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.register-modal{padding:28px 20px}}
.lab-loading{min-height:60vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.lab-loading-spinner{border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lab-progress-bar{background:var(--s3);border-radius:2px;width:280px;height:4px;overflow:hidden}.lab-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-end));height:100%;transition:width .3s}.lab-progress-label{color:var(--text-muted);font-size:13px}.lab-error-page{text-align:center;color:#f87171;padding:80px 24px;font-size:16px}.db-select-page{justify-content:center;min-height:70vh;padding:80px 24px;display:flex}.db-select-inner{text-align:center;width:100%;max-width:800px}.db-select-title{color:var(--white);letter-spacing:-.02em;margin-bottom:12px;font-size:36px;font-weight:800}.db-select-desc{color:var(--text-muted);margin-bottom:40px;font-size:16px;line-height:1.6}.db-select-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.db-card{text-align:left;cursor:pointer;background:var(--s2);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;padding:28px;transition:all .3s;display:flex}.db-card:hover{border-color:var(--db-color,var(--accent));transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.db-card-icon{font-size:36px}.db-card-name{color:var(--white);font-size:20px;font-weight:700}.db-card-desc{color:var(--text-muted);font-size:14px;line-height:1.6}.db-card-stats{color:var(--accent);letter-spacing:.02em;font-size:12px;font-weight:600}.db-card-cta{color:var(--db-color,var(--accent));margin-top:4px;font-size:13px;font-weight:700}.ws-container{flex-direction:column;height:calc(100vh - 64px);display:flex}.ws-header{background:var(--s2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 24px;display:flex}.ws-header-left{align-items:center;gap:12px;display:flex}.ws-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px}.ws-back:hover{color:var(--white);background:var(--s3)}.ws-db-name{color:var(--white);font-size:14px;font-weight:600}.ws-badge{border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.ws-badge-green{color:#4ade80;background:#4ade801a}.ws-tabs{gap:2px;display:flex}.ws-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.ws-tab:hover{color:var(--white)}.ws-tab.active{color:var(--white);border-bottom-color:var(--accent)}.ws-content{flex:1;overflow:auto}.ov-container{max-width:960px;margin:0 auto;padding:40px 24px}.ov-context{text-align:center;margin-bottom:48px}.ov-context-icon{margin-bottom:16px;font-size:48px}.ov-context-title{color:var(--white);margin-bottom:20px;font-size:28px;font-weight:800}.ov-context-body{text-align:left;max-width:700px;margin:0 auto}.ov-context-body p{color:var(--text-muted);margin-bottom:12px;font-size:15px;line-height:1.8}.ov-context-body strong{color:var(--white)}.ov-stats-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;display:grid}.ov-stat-card{background:var(--s2);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;display:flex}.ov-stat-num{color:var(--accent);font-size:28px;font-weight:800}.ov-stat-label{color:var(--text-muted);font-size:12px}.ov-erd{margin-bottom:48px}.ov-section-title{color:var(--white);margin-bottom:8px;font-size:22px;font-weight:800}.ov-section-desc{color:var(--text-muted);margin-bottom:20px;font-size:14px}.ov-erd-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.ov-erd-tab{background:var(--s3);color:var(--text-muted);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.ov-erd-tab:hover{color:var(--white)}.ov-erd-tab.active{background:var(--accent);color:var(--white)}.ov-erd-diagram{background:var(--s2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.ov-erd-row{background:var(--s3);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex}.ov-erd-table{text-align:center;border-radius:6px;min-width:80px;padding:4px 10px;font-size:13px;font-weight:700}.ov-erd-from{color:#b794f6;background:#9f7bf726}.ov-erd-to{color:#ec6ac7;background:#ec6ac726}.ov-erd-arrow{flex-direction:column;flex:1;align-items:center;min-width:100px;display:flex}.ov-erd-key{color:var(--text-muted);font-family:monospace;font-size:10px}.ov-erd-line{color:var(--text-dim);font-size:14px}.ov-erd-label{color:var(--text-muted);min-width:140px;font-size:12px}.ov-module-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;display:grid}.ov-module-card{background:var(--s2);border:1px solid var(--border);border-top:3px solid;border-radius:12px;padding:20px}.ov-module-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ov-module-icon{font-size:20px}.ov-module-name{color:var(--white);flex:1;font-size:16px;font-weight:700}.ov-module-count{color:var(--text-muted);background:var(--s3);border-radius:99px;padding:2px 8px;font-size:11px}.ov-module-desc{color:var(--text-muted);margin-bottom:12px;font-size:13px;line-height:1.5}.ov-module-tables{flex-direction:column;gap:4px;display:flex}.ov-module-tbl{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.ov-module-tbl:hover{background:var(--s3)}.ov-module-tbl code{color:var(--accent);min-width:130px;font-size:12px;font-weight:600}.ov-module-tbl span{color:var(--text-muted)}.ov-tbl-rows{color:var(--text-dim);margin-left:auto;font-size:11px}.sl-container{height:calc(100vh - 112px);display:flex}.sl-sidebar{background:var(--s2);border-right:1px solid var(--border);flex-direction:column;width:300px;min-width:300px;transition:width .2s,min-width .2s;display:flex}.sl-sidebar.closed{width:40px;min-width:40px}.sl-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:40px;padding:8px;display:flex}.sl-sidebar-tabs{gap:2px;display:flex}.sl-stab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.sl-stab:hover{color:var(--white)}.sl-stab.active{color:var(--white);background:var(--s3)}.sl-sidebar-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:14px}.sl-sidebar-toggle:hover{color:var(--white);background:var(--s3)}.sl-sidebar-body{flex:1;padding:8px;overflow-y:auto}.sl-sidebar.closed .sl-sidebar-tabs{display:none}.sl-mod-tabs{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.sl-mod-tab{background:var(--s3);cursor:pointer;border:2px solid #0000;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.sl-mod-tab:hover,.sl-mod-tab.active{background:var(--s4)}.sl-table-list{flex-direction:column;gap:4px;display:flex}.sl-tbl{background:var(--s3);border:1px solid #0000;border-radius:8px;padding:8px;transition:border-color .2s}.sl-tbl.referenced{border-color:var(--accent);background:#9f7bf70d}.sl-tbl-header{cursor:pointer;align-items:center;gap:6px;display:flex}.sl-tbl-icon{color:var(--text-dim);font-size:12px}.sl-tbl-name{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:monospace;font-size:13px;font-weight:700}.sl-tbl-name:hover{color:#b794f6;text-decoration:underline}.sl-tbl.referenced .sl-tbl-name{color:#b794f6;font-weight:800}.sl-tbl-rows{color:var(--text-dim);margin-left:auto;font-size:10px}.sl-tbl-desc{color:var(--text-muted);margin:4px 0;padding-left:18px;font-size:11px}.sl-tbl-cols{flex-direction:column;gap:2px;margin:6px 0;padding-left:18px;display:flex}.sl-col-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:3px 6px;display:flex}.sl-col-item:hover{background:var(--s4)}.sl-col-item code{color:#d1d5db;font-size:12px;font-weight:500}.sl-col-type{color:var(--text-dim);font-size:10px}.sl-tbl-actions{gap:4px;margin-top:4px;padding-left:18px;display:flex}.sl-btn-sm{color:var(--text-muted);background:var(--s4);cursor:pointer;border:none;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.sl-btn-sm:hover{color:var(--white)}.sl-btn-sm.active,.sl-btn-try{color:var(--accent)}.sl-ex-card{background:var(--s3);border-radius:8px;margin-bottom:8px;padding:10px}.sl-ex-diff{border-radius:4px;margin-bottom:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.sl-ex-title{color:var(--white);margin-bottom:4px;font-size:13px;font-weight:700}.sl-ex-desc{color:var(--text-muted);margin-bottom:6px;font-size:12px;line-height:1.5}.sl-ex-hint{color:var(--text-dim);margin-bottom:6px;font-size:11px}.sl-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.sl-toolbar{background:var(--s2);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.sl-run-btn{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:700;display:flex}.sl-run-btn:hover{filter:brightness(1.1)}.sl-run-btn:disabled{opacity:.5;cursor:not-allowed}.sl-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.sl-shortcut{color:var(--text-dim);font-size:11px}.sl-toolbar-right{gap:4px;margin-left:auto;display:flex}.sl-history{background:var(--s2);border-bottom:1px solid var(--border);max-height:200px;padding:4px 8px;overflow-y:auto}.sl-history-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.sl-history-item:hover{background:var(--s3)}.sl-history-item code{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.sl-history-item span{color:var(--text-dim);white-space:nowrap;font-size:11px}.sl-editor-wrap{flex:none;padding:0}.sl-editor{background:var(--s1);width:100%;min-height:150px;max-height:250px;color:var(--white);resize:vertical;border:none;outline:none;padding:16px;font-family:Menlo,Fira Code,monospace;font-size:14px;line-height:1.6}.sl-editor::placeholder{color:var(--text-dim)}.sl-error{background:#f8717114;border-bottom:1px solid #f8717133;align-items:flex-start;gap:8px;padding:12px 16px;display:flex}.sl-error-icon{color:#f87171;font-weight:700}.sl-error pre{color:#f87171;white-space:pre-wrap;margin:0;font-size:13px}.sl-results{flex-direction:column;flex:1;display:flex;overflow:hidden}.sl-results-header{background:var(--s2);border-bottom:1px solid var(--border);color:var(--white);justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.sl-results-meta{color:var(--text-muted);gap:8px;font-size:12px;font-weight:400;display:flex}.sl-table-scroll{flex:1;overflow:auto}.sl-result-table{border-collapse:collapse;width:100%;font-size:13px}.sl-rth{text-align:left;color:var(--text-muted);background:var(--s2);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.sl-rth-num{text-align:center;width:40px;color:var(--text-dim)}.sl-rtr:hover{background:var(--s3)}.sl-rtd{border-bottom:1px solid var(--border);color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;max-width:300px;padding:6px 12px;overflow:hidden}.sl-rtd-num{text-align:center;color:var(--text-dim);font-size:11px}.sl-null{color:var(--text-dim);font-style:italic}.sl-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}@media (max-width:768px){.ov-stats-row{grid-template-columns:repeat(2,1fr)}.ov-module-grid{grid-template-columns:1fr}.ov-erd-row{flex-wrap:wrap}.ov-erd-label{min-width:auto}.sl-sidebar{width:240px;min-width:240px}.ws-header{flex-direction:column;gap:8px;height:auto;padding:8px 16px}}@media (max-width:480px){.sl-sidebar{display:none}.db-select-title{font-size:28px}}
.learn-layout{background:var(--s1);height:calc(100vh - 52px);max-width:var(--max-w);border-left:1px solid var(--border);border-right:1px solid var(--border);margin:0 auto;display:flex;overflow:hidden}.learn-sidebar{background:var(--s2);border-right:1px solid var(--border);z-index:50;flex-direction:column;width:340px;min-width:340px;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.learn-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 20px}.learn-sidebar-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:4px 0;font-size:12px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.learn-sidebar-back:hover{color:var(--white)}.learn-sidebar-course-title{color:var(--white);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.3}.learn-sidebar-progress{align-items:center;gap:10px;margin-top:10px;display:flex}.learn-progress-bar{background:var(--s3);border-radius:2px;flex:1;height:4px;overflow:hidden}.learn-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-end));border-radius:2px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.learn-progress-text{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:600}.learn-modules{scrollbar-width:thin;scrollbar-color:#9f7bf766 transparent;flex:1;padding:8px 0;overflow-y:auto}.learn-modules::-webkit-scrollbar{width:6px}.learn-modules::-webkit-scrollbar-track{background:0 0}.learn-modules::-webkit-scrollbar-thumb{background:#9f7bf766;border-radius:4px}.learn-modules::-webkit-scrollbar-thumb:hover{background:#9f7bf7cc}.learn-module{border-bottom:1px solid var(--border)}.learn-module:last-child{border-bottom:none}.learn-module-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 20px;transition:background .2s;display:flex}.learn-module-header:hover{background:var(--s3)}.learn-module-number{width:28px;height:28px;color:var(--text-muted);background:var(--s3);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .2s;display:flex}.learn-module.has-progress .learn-module-number{color:var(--accent);background:var(--accent-bg)}.learn-module.all-complete .learn-module-number{color:#4ade80;background:#4ade801a}.learn-module-info{flex:1;min-width:0}.learn-module-title{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.learn-module-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.learn-module-chevron{color:var(--text-muted);flex-shrink:0;font-size:10px;transition:transform .25s cubic-bezier(.4,0,.2,1)}.learn-module.expanded .learn-module-chevron{transform:rotate(90deg)}.learn-lessons{max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.learn-module.expanded .learn-lessons{max-height:2000px}.learn-lesson-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 20px 10px 32px;text-decoration:none;transition:all .15s;display:flex}.learn-lesson-item:hover{background:#ffffff08}.learn-lesson-item.active{background:var(--accent-bg);border-left:3px solid var(--accent);padding-left:29px}.learn-lesson-check{border:1.5px solid var(--border-light);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;transition:all .2s;display:flex}.learn-lesson-item.completed .learn-lesson-check{color:#4ade80;background:#4ade8026;border-color:#4ade80}.learn-lesson-item.active .learn-lesson-check{border-color:var(--accent);background:var(--accent-bg)}.learn-lesson-icon{color:var(--text-muted);text-align:center;flex-shrink:0;width:16px;font-size:12px}.learn-lesson-item.active .learn-lesson-icon{color:var(--accent)}.learn-lesson-title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;line-height:1.4;overflow:hidden}.learn-lesson-item.active .learn-lesson-title{color:var(--white);font-weight:600}.learn-lesson-item.completed .learn-lesson-title{color:var(--text-dim)}.learn-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.learn-topbar{background:var(--s2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:52px;min-height:52px;padding:0 24px;display:flex}.learn-topbar-left{align-items:center;gap:12px;display:flex}.learn-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;display:none}.learn-menu-btn:hover{color:var(--white)}.learn-breadcrumb{align-items:center;gap:6px;font-size:13px;display:flex}.learn-breadcrumb-module{color:var(--text-muted);font-weight:500}.learn-breadcrumb-sep{color:var(--text-dim);font-size:10px}.learn-breadcrumb-lesson{color:var(--white);text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-weight:600;overflow:hidden}.learn-topbar-actions{align-items:center;gap:8px;display:flex}.learn-complete-btn{cursor:pointer;border:1px solid var(--border);background:var(--s3);color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.learn-complete-btn:hover{border-color:var(--accent);color:var(--white);background:var(--accent-bg)}.learn-complete-btn.is-complete{color:#4ade80;background:#4ade8014;border-color:#4ade80}.learn-content{flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.learn-video-wrapper{width:100%;max-width:1100px;padding:24px 32px 0}.learn-video-container{background:#000;border-radius:12px;width:100%;padding-top:56.25%;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.learn-video-container iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.learn-video-no-video{width:100%;height:100%;color:var(--text-muted);background:var(--s3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0}.learn-video-no-video span:first-child{opacity:.5;font-size:48px}.learn-lesson-info{width:100%;max-width:1100px;padding:24px 32px 32px}.learn-lesson-heading{color:var(--white);letter-spacing:-.01em;margin-bottom:8px;font-size:22px;font-weight:700;line-height:1.3}.learn-lesson-module-tag{color:var(--accent);background:var(--accent-bg);border-radius:6px;align-items:center;gap:6px;margin-bottom:24px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.learn-nav-row{justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.learn-nav-btn{cursor:pointer;border:1px solid var(--border);background:var(--s2);color:var(--text-muted);border-radius:10px;align-items:center;gap:8px;max-width:45%;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.learn-nav-btn:hover{border-color:var(--accent);color:var(--white);background:var(--accent-bg);transform:translateY(-1px)}.learn-nav-btn.next{color:var(--white);background:linear-gradient(135deg,#9f7bf71f,#ec6ac714);border-color:#9f7bf740;margin-left:auto}.learn-nav-btn.next:hover{border-color:var(--accent);background:linear-gradient(135deg,#9f7bf733,#ec6ac726)}.learn-nav-btn-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.learn-nav-btn-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learn-nav-btn-text{flex-direction:column;gap:2px;min-width:0;display:flex}.learn-nav-spacer{flex:1}.learn-sidebar-overlay{z-index:40;opacity:0;background:#0009;transition:opacity .3s;display:none;position:fixed;inset:0}.learn-sidebar-overlay.visible{opacity:1}@media (max-width:860px){.learn-sidebar{height:100%;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0006}.learn-sidebar.open{transform:translate(0)}.learn-sidebar-overlay,.learn-menu-btn{display:block}.learn-video-wrapper{padding:16px 16px 0}.learn-lesson-info{padding:16px 16px 24px}.learn-breadcrumb-module,.learn-breadcrumb-sep{display:none}.learn-breadcrumb-lesson{max-width:240px}.learn-nav-btn{padding:8px 12px;font-size:12px}}@media (max-width:480px){.learn-sidebar{width:300px;min-width:300px}.learn-video-wrapper{padding:8px 8px 0}.learn-video-container{border-radius:8px}.learn-lesson-info{padding:12px 12px 20px}.learn-lesson-heading{font-size:18px}.learn-topbar{padding:0 12px}}.learn-entry{background:var(--s1);min-height:100vh;padding:100px 24px 60px}.learn-entry-inner{max-width:800px;margin:0 auto}.learn-entry-badge{color:var(--accent);background:var(--accent-bg);letter-spacing:.04em;text-transform:uppercase;border-radius:100px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.learn-entry-title{color:var(--white);letter-spacing:-.02em;margin-bottom:16px;font-size:40px;font-weight:800;line-height:1.1}.learn-entry-desc{color:var(--text-muted);max-width:600px;margin-bottom:32px;font-size:16px;line-height:1.7}.learn-entry-stats{flex-wrap:wrap;gap:24px;margin-bottom:40px;display:flex}.learn-entry-stat{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.learn-entry-stat-icon{font-size:18px}.learn-entry-stat strong{color:var(--white);font-weight:700}.learn-entry-start{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-end));cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 4px 16px #9f7bf740}.learn-entry-start:hover{transform:translateY(-2px);box-shadow:0 8px 24px #9f7bf759}.learn-entry-modules{margin-top:56px}.learn-entry-modules-title{color:var(--white);margin-bottom:20px;font-size:20px;font-weight:700}.learn-entry-module-card{background:var(--s2);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:16px;margin-bottom:8px;padding:16px 20px;text-decoration:none;transition:all .2s;display:flex}.learn-entry-module-card:hover{border-color:var(--accent);background:#9f7bf70a;transform:translate(4px)}.learn-entry-module-num{width:36px;height:36px;color:var(--accent);background:var(--accent-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.learn-entry-module-info{flex:1;min-width:0}.learn-entry-module-name{color:var(--white);font-size:14px;font-weight:600;line-height:1.3}.learn-entry-module-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.learn-entry-module-arrow{color:var(--text-dim);font-size:14px;transition:color .2s}.learn-entry-module-card:hover .learn-entry-module-arrow{color:var(--accent)}.quiz-container{flex-direction:column;gap:24px;width:100%;max-width:800px;padding:32px;animation:.4s quizFadeIn;display:flex}@keyframes quizFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quiz-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;font-size:15px;display:flex}.quiz-empty-icon{font-size:48px}.quiz-progress{align-items:center;gap:12px;display:flex}.quiz-progress-bar{background:var(--s3);border-radius:3px;flex:1;height:6px;overflow:hidden}.quiz-progress-fill{background:linear-gradient(90deg, var(--accent), #ec6ac7);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.quiz-progress-text{color:var(--text-muted);white-space:nowrap;letter-spacing:.02em;font-size:12px;font-weight:600}.quiz-question-card{background:var(--s2);border:1px solid var(--border);border-radius:16px;padding:32px;animation:.35s quizSlideIn}@keyframes quizSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.quiz-question-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-bg);border-radius:6px;margin-bottom:16px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.quiz-question-text{color:var(--white);margin-bottom:24px;font-size:17px;font-weight:600;line-height:1.6}.quiz-question-desc{color:var(--foreground);opacity:.85;background:var(--s3);border-left:3px solid var(--accent);border-radius:8px;margin-top:-12px;margin-bottom:24px;padding:12px 16px;font-size:14px;line-height:1.6}.quiz-question-desc pre,.quiz-question-desc code{background:var(--s2);border-radius:4px;font-family:monospace}.quiz-question-desc pre{margin-top:8px;margin-bottom:8px;padding:12px;overflow-x:auto}.quiz-question-desc p:last-child{margin-bottom:0}.quiz-answers{flex-direction:column;gap:10px;display:flex}.quiz-answer-btn{border:1px solid var(--border);background:var(--s1);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:500;line-height:1.5;transition:all .2s;display:flex}.quiz-answer-btn:hover:not(:disabled){border-color:var(--accent);color:var(--white);background:#9f7bf70f;transform:translate(4px)}.quiz-answer-btn:disabled{cursor:default}.quiz-answer-btn.correct{color:#4ade80;background:#4ade801a;border-color:#4ade80}.quiz-answer-btn.incorrect{color:#f87171;background:#f871711a;border-color:#f87171}.quiz-answer-btn.dimmed{opacity:.4}.quiz-answer-letter{background:var(--s3);width:28px;min-width:28px;height:28px;color:var(--text-dim);border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex}.quiz-answer-btn:hover:not(:disabled) .quiz-answer-letter{background:var(--accent-bg);color:var(--accent)}.quiz-answer-btn.correct .quiz-answer-letter{color:#4ade80;background:#4ade8033}.quiz-answer-btn.incorrect .quiz-answer-letter{color:#f87171;background:#f8717133}.quiz-answer-text{flex:1}.quiz-answer-icon{text-align:center;min-width:20px;font-size:16px;font-weight:700}.quiz-feedback-container{border-top:1px solid var(--border);margin-top:20px;padding-top:20px;animation:.3s quizFadeIn}.quiz-explanation{color:var(--foreground);background:#9f7bf714;border:1px solid #9f7bf733;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;line-height:1.6}.quiz-explanation strong{color:var(--accent)}.quiz-feedback-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.quiz-feedback{font-size:14px;font-weight:600}.quiz-feedback.correct{color:#4ade80}.quiz-feedback.incorrect{color:#f87171}.quiz-next-btn{cursor:pointer;background:linear-gradient(135deg, var(--accent), #ec6ac7);color:#fff;white-space:nowrap;border:none;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.quiz-next-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #9f7bf759}.quiz-score-tracker{text-align:center;color:var(--text-dim);font-size:13px;font-weight:500}.quiz-result-card{background:var(--s2);border:1px solid var(--border);text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:48px 40px;animation:.5s quizFadeIn;display:flex}.quiz-result-icon{margin-bottom:16px;font-size:56px;animation:.6s quizBounce}@keyframes quizBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.quiz-result-title{color:var(--white);margin-bottom:24px;font-size:24px;font-weight:700}.quiz-result-score{align-items:baseline;gap:4px;margin-bottom:20px;display:flex}.quiz-result-number{color:var(--accent);font-size:48px;font-weight:800;line-height:1}.quiz-result-divider{color:var(--text-dim);font-size:32px;font-weight:300}.quiz-result-total{color:var(--text-muted);font-size:28px;font-weight:600}.quiz-result-percentage{align-items:center;gap:12px;width:100%;max-width:300px;margin-bottom:20px;display:flex}.quiz-result-bar{background:var(--s3);border-radius:4px;flex:1;height:8px;overflow:hidden}.quiz-result-fill{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.quiz-result-fill.pass{background:linear-gradient(90deg,#4ade80,#22c55e)}.quiz-result-fill.fail{background:linear-gradient(90deg,#f87171,#ef4444)}.quiz-result-pct-text{color:var(--text-muted);min-width:40px;font-size:14px;font-weight:700}.quiz-result-message{color:var(--text-muted);max-width:360px;margin-bottom:28px;font-size:14px;line-height:1.6}.quiz-retry-btn{cursor:pointer;border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:12px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .2s}.quiz-retry-btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #9f7bf74d}@media (max-width:640px){.quiz-container{padding:16px}.quiz-question-card{padding:20px}.quiz-question-text{font-size:15px}.quiz-answer-btn{padding:12px 14px;font-size:13px}.quiz-feedback-row{flex-direction:column;align-items:stretch}.quiz-next-btn{text-align:center;width:100%}.quiz-result-card{padding:32px 20px}.quiz-result-number{font-size:36px}}.learn-lesson-item.locked{opacity:.45;cursor:not-allowed;pointer-events:none}.learn-lesson-item.locked .learn-lesson-check{font-size:12px}.learn-lesson-item .dim{opacity:.6}.locked-nav{opacity:.4;cursor:not-allowed!important}.assignment-box{background:var(--s2);border:1px solid var(--border);border-radius:14px;width:100%;max-width:1100px;margin:24px auto;padding:28px 24px}.assignment-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.assignment-header h3{color:var(--foreground);margin:0;font-size:17px;font-weight:700}.assignment-icon{font-size:22px}.assignment-desc{color:var(--foreground);opacity:.7;margin-bottom:20px;font-size:14px;line-height:1.6}.assignment-tabs{gap:8px;margin-bottom:16px;display:flex}.assignment-tab{background:var(--s3);color:var(--foreground);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.assignment-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}.assignment-input{background:var(--s3);border:1px solid var(--border);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s}.assignment-input:focus{border-color:var(--accent)}.assignment-file-zone{margin-bottom:4px}.assignment-file-label{border:2px dashed var(--border);cursor:pointer;color:var(--foreground);opacity:.7;text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:28px 16px;font-size:14px;transition:all .2s;display:flex}.assignment-file-label:hover{border-color:var(--accent);opacity:1}.assignment-error{color:#ff6b6b;margin-top:8px;margin-bottom:8px;font-size:13px}.assignment-submit-btn{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:10px;margin-top:16px;padding:12px 32px;font-size:15px;font-weight:600;transition:all .2s}.assignment-submit-btn:hover{opacity:.9;transform:translateY(-1px)}.assignment-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.assignment-status{border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.assignment-status.pending{background:#ffc10714;border:1px solid #ffc10733}.assignment-status.approved{background:#4caf5014;border:1px solid #4caf5033}.assignment-status.rejected{background:#f4433614;border:1px solid #f4433633}.assignment-status .status-icon{flex-shrink:0;font-size:24px}.assignment-status strong{color:var(--foreground);margin-bottom:4px;font-size:15px;display:block}.assignment-status p{color:var(--foreground);opacity:.7;margin:0;font-size:13px;line-height:1.5}.assignment-status .feedback{margin-top:8px;font-style:italic}.assignment-detail{color:var(--foreground);opacity:.7;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.assignment-detail .detail-label{opacity:1;font-weight:600}.assignment-detail a{color:var(--accent);word-break:break-all;text-decoration:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
