@import url(https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;font-family:Inter,sans-serif;margin:0;padding:0}body,html{overflow-x:hidden;transition:background .4s ease,color .4s ease}body{background:#f8fafc;background:var(--color-bg);color:#000;color:var(--color-text-primary);transition:background .3s ease,color .3s ease}.container{margin:40px auto;max-width:1200px;width:90%}.card{background:#fff;border-radius:14px;box-shadow:0 6px 18px #0000000d;padding:20px;transition:.2s ease}.card:hover{transform:translateY(-2px)}button{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 18px}button:hover{background:#4338ca}:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-accent:#06b6d4;--color-accent-soft:#e0f7fa;--color-bg:#f8fafc;--color-card:#fff;--color-text-primary:#000;--color-text-muted:#64748b;--color-border-x:red;--color-success:#22c55e;--color-danger:#ef4444;--shadow-soft:0 10px 30px #0f172a0f;--shadow-hover:0 14px 40px rgba(15,23,42,.753)}[data-theme=dark]{--color-bg:#000;--color-card:#000;--color-text-primary:#f1f5f9;--color-text-muted:#94a3b8;--color-text-opp:#000;--color-border:#9500ff;--color-accent-soft:#06b6d414;--shadow-soft:0 10px 30px #0006}[data-theme=dark] .footer{background:#fff;background:var(--color-card)}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.info-btn{background:var(--color-border);border:none;display:inline-flex;font-size:12px;margin:10px 10px 10px 6px;padding:0;transition:.2s ease}.info-btn:hover{background:var(--color-primary)}.row-left{margin-bottom:20px;width:100%}.row-left,.streak-overlay{align-items:center;display:flex}.streak-overlay{background:#00000073;inset:0;justify-content:center;position:fixed;z-index:2000}.streak-modal{animation:fadeIn .2s ease;background:var(--color-card);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-soft);max-width:92%;padding:28px;width:420px}.streak-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.streak-header button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px}.streak-stats{display:flex;justify-content:space-between;margin-bottom:20px}.streak-stats span{color:var(--color-text-muted);font-size:12px}.streak-stats h3{margin-top:4px}.today-progress{margin-bottom:20px}.today-progress p{margin-top:6px}.streak-settings label,.today-progress p{color:var(--color-text-muted);font-size:12px}.streak-settings input{border:1px solid var(--color-border);border-radius:8px;margin:8px 0 12px;padding:8px;width:100%}.streak-settings button{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px;width:100%}.error{color:red;font-size:12px;margin-top:6px}.navbar{background:#fff;background:var(--bg-card,#fff);border-bottom:1px solid #00000014;border-bottom:1px solid var(--border,#00000014);position:-webkit-sticky;position:sticky;top:0;transition:background-color .4s ease,border-color .4s ease,box-shadow .3s ease;width:100%;z-index:1000}.navbar:before{background:linear-gradient(90deg,#2563eb,#7c3aed,#059669);background:linear-gradient(90deg,var(--accent,#2563eb),var(--accent-2,#7c3aed),var(--accent-3,#059669));content:"";height:2px;left:0;position:absolute;right:0;top:0}.navbar--scrolled{box-shadow:0 4px 24px #00000014}[data-theme=dark] .navbar--scrolled{box-shadow:0 4px 24px #00000073}.navbar-container{height:60px;margin:0 auto;max-width:1200px;padding:0 24px}.nav-logo a,.navbar-container{align-items:center;display:flex}.nav-logo a{text-decoration:none}.nav-logo img{display:block;height:30px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:auto}.nav-logo img:hover{transform:scale(1.05)}.nav-right{gap:8px;margin-left:auto}.nav-links,.nav-right{align-items:center;display:flex}.nav-links{gap:2px;margin-right:8px}.nav-link{align-items:center;border-radius:9px;color:#64748b;color:var(--text-muted,#64748b);display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:13.5px;font-weight:500;gap:0;padding:7px 13px;position:relative;text-decoration:none;transition:color .2s ease,background .2s ease;white-space:nowrap}.nav-link:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);color:#0f172a;color:var(--text,#0f172a)}.nav-link--active{background:#2563eb14;background:var(--accent-light,#2563eb14);color:#2563eb;color:var(--accent,#2563eb);font-weight:600}.nav-link-dot{animation:dotPop .3s cubic-bezier(.34,1.56,.64,1) both;background:#2563eb;background:var(--accent,#2563eb);border-radius:50%;bottom:3px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}@keyframes dotPop{0%{opacity:0;transform:translateX(-50%) scale(0)}to{opacity:1;transform:translateX(-50%) scale(1)}}.xp-widget{appearance:none;-webkit-appearance:none;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:5px;padding:7px 12px;transition:border-color .25s ease,box-shadow .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1);width:170px}.xp-widget:hover{background:#0000;border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12);transform:translateY(-1px)}.xp-top-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.xp-level-pill{background:#2563eb14;background:var(--accent-light,#2563eb14);border:1px solid #2563eb2e;border-radius:999px;color:#2563eb;color:var(--accent,#2563eb);font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 8px;white-space:nowrap}.xp-nums{font-feature-settings:"tnum";color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-variant-numeric:tabular-nums}.xp-slash{margin:0 1px;opacity:.4}.xp-bar-track{background:#00000014;background:var(--border,#00000014);height:4px;width:100%}.xp-bar-fill,.xp-bar-track{border-radius:99px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));height:100%;position:relative;transition:width .8s cubic-bezier(.4,0,.2,1)}.xp-bar-fill:after{animation:xpShimmer 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff59,#0000);content:"";inset:0;position:absolute}@keyframes xpShimmer{0%{transform:translateX(-100%)}60%,to{transform:translateX(100%)}}.theme-switch{cursor:pointer;flex-shrink:0;height:24px;transition:transform .15s ease;-webkit-user-select:none;user-select:none;width:48px}.theme-switch:active{transform:scale(.93)}.switch-track{align-items:center;background:linear-gradient(135deg,#fde68a,#fbbf24);border:1px solid #0000000f;border-radius:99px;display:flex;height:100%;justify-content:space-between;overflow:hidden;padding:0 6px;position:relative;transition:background .35s ease,border-color .35s ease;width:100%}.theme-switch.dark .switch-track{background:linear-gradient(135deg,#334155,#1e293b);border-color:#ffffff1f}.switch-icon{font-size:10px;line-height:1;pointer-events:none;transition:opacity .25s ease;z-index:2}.theme-switch.dark .switch-icon.sun,.theme-switch:not(.dark) .switch-icon.moon{opacity:.35}.theme-switch.dark .switch-icon.moon,.theme-switch:not(.dark) .switch-icon.sun{opacity:1}.switch-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003;height:16px;left:3px;pointer-events:none;position:absolute;top:3px;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s ease,box-shadow .3s ease;width:16px;z-index:3}.theme-switch.dark .switch-thumb{background:#c7d2fe;box-shadow:0 0 8px #a5b4fcb3,0 1px 4px #0006;transform:translateX(24px)}.nav-profile{flex-shrink:0;position:relative}.nav-avatar{align-items:center;appearance:none;-webkit-appearance:none;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border:2px solid #0000;border-radius:50%;box-shadow:0 2px 8px #2563eb38;color:#fff;cursor:pointer;display:flex;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:13px;font-weight:800;height:34px;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease;width:34px}.nav-avatar:hover{box-shadow:0 4px 16px #2563eb59;transform:scale(1.08)}.nav-avatar--open{border-color:#2563eb59;box-shadow:0 0 0 3px #2563eb1f,0 4px 14px #2563eb40}.nav-dropdown{animation:dropIn .22s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:14px;box-shadow:0 12px 40px #0000001f;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:210px;z-index:2000}@keyframes dropIn{0%{opacity:0;transform:scale(.9) translateY(-6px);transform-origin:top right}to{opacity:1;transform:scale(1) translateY(0)}}.nav-dropdown-header{align-items:center;background:#2563eb0a;background:var(--accent-light,#2563eb0a);display:flex;gap:10px;padding:14px 16px}.nav-dropdown-avatar{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:800;height:34px;justify-content:center;width:34px}.nav-dropdown-info{display:flex;flex-direction:column;gap:1px;min-width:0}.nav-dropdown-name{color:#0f172a;color:var(--text,#0f172a);font-size:13px;font-weight:700}.nav-dropdown-email,.nav-dropdown-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-dropdown-email{color:#64748b;color:var(--text-muted,#64748b);font-size:11px}.nav-dropdown-sep{background:#00000012;background:var(--border,#00000012);height:1px;margin:2px 0}.ndd-item{align-items:center;appearance:none;-webkit-appearance:none;background:none;border:none;color:#0f172a;color:var(--text,#0f172a);cursor:pointer;display:flex;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:13px;font-weight:500;gap:10px;padding:10px 16px;text-align:left;transition:background .18s ease,color .18s ease;width:100%}.ndd-item:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);color:#2563eb;color:var(--accent,#2563eb)}.ndd-item--logout,.ndd-item--logout:hover{color:#ef4444;color:var(--bad,#ef4444)}.ndd-item--logout:hover{background:#ef444412}.nav-hamburger{appearance:none;-webkit-appearance:none;background:none;border:none;border-radius:8px;cursor:pointer;display:none;flex-direction:column;gap:4px;justify-content:center;padding:6px;transition:background .2s ease}.nav-hamburger:hover{background:#2563eb12;background:var(--accent-light,#2563eb12)}.nav-hamburger span{background:#0f172a;background:var(--text,#0f172a);border-radius:99px;display:block;height:2px;transform-origin:center;transition:transform .3s ease,opacity .3s ease,width .3s ease;width:20px}.nav-hamburger--open span:first-child{transform:translateY(6px) rotate(45deg)}.nav-hamburger--open span:nth-child(2){opacity:0;width:0}.nav-hamburger--open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-mobile-menu{animation:mobileIn .22s cubic-bezier(.22,1,.36,1) both;background:#fff;background:var(--bg-card,#fff);border-top:1px solid #00000012;border-top:1px solid var(--border,#00000012);display:flex;flex-direction:column;gap:2px;padding:8px 16px 14px}@keyframes mobileIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-mobile-link{border-radius:10px;color:#64748b;color:var(--text-muted,#64748b);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:14px;font-weight:500;padding:11px 14px;text-decoration:none;transition:background .18s ease,color .18s ease}.nav-mobile-link:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);color:#0f172a;color:var(--text,#0f172a)}.nav-mobile-link--active{background:#2563eb14;background:var(--accent-light,#2563eb14);color:#2563eb;color:var(--accent,#2563eb);font-weight:600}@media (max-width:768px){.navbar-container{padding:0 18px}.nav-links{display:none}.nav-hamburger{display:flex}.xp-widget{width:130px}.nav-right{gap:8px}}@media (max-width:520px){.xp-widget{display:none}.nav-right{gap:6px}}@media (max-width:340px){.nav-logo img{height:24px}.navbar-container{padding:0 12px}}.info-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:5000}.info-modal{animation:fadeIn .25s ease;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-soft);max-width:92%;padding:24px;width:420px}.info-header{align-items:center;display:flex;justify-content:space-between}.info-header h3{color:var(--color-text-primary);margin:0}.info-close{background:none;border:none;cursor:pointer;font-size:14px;opacity:.6}.info-close:hover{opacity:1}.info-text{color:var(--color-text-muted);font-size:14px;line-height:1.6;margin-top:14px}.info-footer{margin-top:18px;text-align:right}.info-footer button{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 14px}.footer{background:var(--color-card);border-top:1px solid var(--color-border);margin-top:80px;transition:background .3s ease,border-color .3s ease}.footer-container{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1.5fr 3fr;margin:auto;max-width:1100px;padding:60px 0 40px;width:92%}.footer-brand{align-items:center;display:flex;flex-direction:column;justify-content:center}.footer-brand h3{color:var(--color-text-primary);font-size:20px;margin-bottom:8px}.footer-brand p{color:var(--color-text-muted);font-size:13px;line-height:1.5;max-width:260px}.footer-links{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(4,1fr)}.footer-column h4{color:var(--color-text-primary);font-size:13px;margin-bottom:14px}.footer-column a{color:var(--color-text-muted);display:block;font-size:13px;margin-bottom:10px;text-decoration:none;transition:color .2s ease}.footer-column a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px;padding:18px 0;text-align:center;transition:border-color .3s ease}@media (max-width:900px){.footer-container{gap:40px;grid-template-columns:1fr}.footer-links{gap:30px;grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.footer-links{grid-template-columns:1fr}}.footer-feedback-card{background:#4f46e50f;border:1px dashed var(--color-primary);border-radius:12px;margin-top:24px;max-width:280px;padding:18px}.footer-feedback-card h4{color:var(--color-text-primary);font-size:14px;margin-bottom:6px}.footer-feedback-card p{color:var(--color-text-muted);font-size:12px;line-height:1.5;margin-bottom:12px}.feedback-btn{background:var(--color-primary);border-radius:8px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:6px 12px;text-decoration:none;transition:.2s ease}.feedback-btn:hover{opacity:.9;transform:translateY(-1px)}#report{color:#df7272}[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}:root{--border-glow:#2563eb4d;--shadow-md:0 8px 32px #0000001a;--shadow-lg:0 24px 64px #0000001f;--radius:16px;--radius-sm:10px;--blob-1:#2563eb12;--blob-2:#7c3aed0d;--blob-3:#0596690a;--section-pad:96px}[data-theme=dark]{--border-glow:#60a5fa40;--shadow-md:0 8px 32px #00000080;--shadow-lg:0 24px 64px #0009;--glow-accent:0 0 50px #60a5fa24;--blob-1:#60a5fa12;--blob-2:#a78bfa0d;--blob-3:#34d3990a}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#f5f7fa;background:var(--bg);color:#0f172a;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#f5f7fa;background:var(--bg)}::-webkit-scrollbar-thumb{background:#2563eb;background:var(--accent);border-radius:99px}.landing{position:relative;width:100%}.landing:before{animation:orbDrift1 18s ease-in-out infinite alternate;background:radial-gradient(circle,#2563eb12 0,#0000 70%);background:radial-gradient(circle,var(--blob-1) 0,#0000 70%);height:600px;right:-8%;top:-15%;width:600px}.landing:after,.landing:before{border-radius:50%;content:"";pointer-events:none;position:fixed;z-index:0}.landing:after{animation:orbDrift2 22s ease-in-out infinite alternate;background:radial-gradient(circle,#7c3aed0d 0,#0000 70%);background:radial-gradient(circle,var(--blob-2) 0,#0000 70%);bottom:5%;height:500px;left:-8%;width:500px}@keyframes orbDrift1{0%{transform:translate(0) scale(1)}to{transform:translate(-80px,60px) scale(1.15)}}@keyframes orbDrift2{0%{transform:translate(0) scale(1)}to{transform:translate(60px,-80px) scale(1.2)}}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:120px 0 80px;position:relative;z-index:1}.hero:before{animation:gridFade 6s ease-in-out infinite alternate;background-image:radial-gradient(circle,#00000014 1px,#0000 0);background-image:radial-gradient(circle,var(--border) 1px,#0000 1px);background-size:28px 28px;content:"";inset:0;pointer-events:none;position:absolute}@keyframes gridFade{0%{opacity:.4}to{opacity:.9}}.hero-gradient{animation:gradientShift 12s ease-in-out infinite alternate;background:radial-gradient(ellipse 70% 55% at 70% 40%,#2563eb12 0,#0000 60%),radial-gradient(ellipse 50% 45% at 15% 65%,#7c3aed0d 0,#0000 55%);background:radial-gradient(ellipse 70% 55% at 70% 40%,var(--blob-1) 0,#0000 60%),radial-gradient(ellipse 50% 45% at 15% 65%,var(--blob-2) 0,#0000 55%);inset:0;pointer-events:none;position:absolute}@keyframes gradientShift{0%{opacity:1;transform:scale(1)}to{opacity:.7;transform:scale(1.08)}}.hero-container{grid-gap:64px;align-items:center;display:grid;gap:64px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 48px;position:relative;z-index:2}.hero-left{animation:slideUp .9s cubic-bezier(.22,1,.36,1) both}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-left h1{color:#0f172a;color:var(--text);font-size:clamp(2.6rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:20px}.hero-left h1 span{-webkit-text-fill-color:#0000;background:linear-gradient(130deg,#2563eb,#7c3aed);background:linear-gradient(130deg,var(--accent) 0,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;display:block}.hero-left>p{animation:slideUp .9s cubic-bezier(.22,1,.36,1) .15s both;color:#64748b;color:var(--text-muted);font-size:1.05rem;line-height:1.7;margin-bottom:32px;max-width:440px}.hero-hint{animation:slideUp .9s cubic-bezier(.22,1,.36,1) .35s both;color:#cbd5e1;color:var(--text-dim);font-size:12px;margin-top:12px}.hero-input{animation:slideUp .9s cubic-bezier(.22,1,.36,1) .28s both;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;overflow:hidden;transition:border-color .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),box-shadow var(--transition)}.hero-input:focus-within{border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 4px #2563eb12,0 0 40px #2563eb1f;box-shadow:0 0 0 4px var(--accent-light),var(--glow-accent)}.hero-input input{background:#0000;border:none;color:#0f172a;color:var(--text);flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:.95rem;outline:none;padding:16px 20px}.hero-input input::placeholder{color:#cbd5e1;color:var(--text-dim)}.hero-input button{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;color:#fff;cursor:pointer;flex-shrink:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:.88rem;font-weight:700;overflow:hidden;padding:14px 24px;position:relative;transition:transform .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition);white-space:nowrap}.hero-input button:after{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s ease}.hero-input button:hover:after{transform:translateX(100%)}.hero-input button:hover{transform:translateX(3px)}.hero-right{align-items:center;animation:slideInRight 1s cubic-bezier(.22,1,.36,1) .2s both;display:flex;justify-content:center}@keyframes slideInRight{0%{opacity:0;transform:translateX(60px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.hero-image-wrapper{animation:floatImage 7s ease-in-out infinite;border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 24px 64px #0000001f,0 0 40px #2563eb1f;box-shadow:var(--shadow-lg),var(--glow-accent);max-width:520px;overflow:hidden;position:relative;width:100%}.hero-image-wrapper img{display:block;width:100%}@keyframes floatImage{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.social-proof{margin:-20px auto 0;max-width:1200px;padding:0 48px;position:relative;z-index:1}.sp-inner{align-items:center;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 8px 32px #0000001a;box-shadow:var(--shadow-md);display:flex;gap:20px;justify-content:space-around;overflow:hidden;padding:32px 48px;position:relative}.sp-inner:before{background:linear-gradient(90deg,#2563eb,#7c3aed,#059669);background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));content:"";height:3px;left:0;position:absolute;right:0;top:0}.sp-stat{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px}.sp-num{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1}.sp-stat>span:not(.sp-num){color:#64748b;color:var(--text-muted);font-size:12px;font-weight:500;text-align:center}.sp-divider{background:#00000014;background:var(--border);flex-shrink:0;height:40px;width:1px}.compare{margin:0 auto;max-width:1200px;padding:96px 48px;padding:var(--section-pad) 48px;position:relative;z-index:1}.compare-title{color:#0f172a;color:var(--text);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;letter-spacing:-.02em;margin-bottom:10px;text-align:center}.compare-sub{color:#64748b;color:var(--text-muted);font-size:1rem;margin-bottom:44px;text-align:center}.compare-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.compare-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);overflow:hidden;padding:36px 40px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}.compare-card:before{content:"";height:3px;left:0;position:absolute;right:0;top:0}.compare-card.bad:before{background:linear-gradient(90deg,#0000,#ef4444,#0000);background:linear-gradient(90deg,#0000,var(--bad),#0000)}.compare-card.good:before{background:linear-gradient(90deg,#0000,#059669,#0000);background:linear-gradient(90deg,#0000,var(--good),#0000)}.compare-card:hover{transform:translateY(-6px)}.compare-card.bad:hover{box-shadow:0 8px 32px #0000001a,0 0 40px #ef444414;box-shadow:var(--shadow-md),0 0 40px #ef444414}.compare-card.good:hover{box-shadow:0 8px 32px #0000001a,0 0 40px #05966914;box-shadow:var(--shadow-md),0 0 40px #05966914}.compare-card h3{color:#0f172a;color:var(--text);font-size:1.05rem;font-weight:700;margin-bottom:20px}.compare-card ul{display:flex;flex-direction:column;gap:12px;list-style:none}.compare-card ul li{color:#64748b;color:var(--text-muted);font-size:.9rem;line-height:1.5;padding-left:22px;position:relative}.compare-card ul li:before{color:#cbd5e1;color:var(--text-dim);content:"—";left:0;position:absolute}.compare-card.good ul li{color:#0f172a;color:var(--text)}.compare-card.good ul li:before{color:#059669;color:var(--good);content:"✓";font-weight:700}.feature-showcase{margin:0 auto;max-width:1200px;padding:96px 48px;padding:var(--section-pad) 48px;position:relative;z-index:1}.fs-header{margin-bottom:36px;text-align:center}.fs-tag{align-items:center;background:#2563eb12;background:var(--accent-light);border:1px solid #2563eb4d;border:1px solid var(--border-glow);border-radius:999px;border-radius:var(--radius-pill);color:#2563eb;color:var(--accent);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.08em;margin-bottom:14px;padding:5px 14px;text-transform:uppercase}.fs-header h2{color:#0f172a;color:var(--text);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.fs-header p{color:#64748b;color:var(--text-muted);font-size:1rem;line-height:1.6;margin:0 auto;max-width:480px}.fs-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:40px}.fs-tab{align-items:center;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:999px;border-radius:var(--radius-pill);color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:13.5px;font-weight:600;gap:7px;padding:10px 22px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.fs-tab:hover{background:#2563eb12;background:var(--accent-light);border-color:#2563eb4d;border-color:var(--border-glow);color:#0f172a;color:var(--text)}.fs-tab--active{background:#2563eb;background:var(--accent);border-color:#2563eb;border-color:var(--accent);box-shadow:0 4px 16px #2563eb4d;color:#fff}.fs-tab-icon{font-size:15px}.fs-content{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:1fr 1.5fr}.fs-text h3{color:#0f172a;color:var(--text);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:800;letter-spacing:-.02em;line-height:1.3;margin-bottom:14px}.fs-text p{color:#64748b;color:var(--text-muted);font-size:.97rem;line-height:1.75;margin-bottom:20px}.fs-bullets{display:flex;flex-direction:column;gap:9px;list-style:none;margin-bottom:24px}.fs-bullets li{font-size:.9rem;line-height:1.5}.fs-bullets li,.fs-cta-inline{color:#64748b;color:var(--text-muted)}.fs-cta-inline{background:#2563eb12;background:var(--accent-light);border-left:3px solid #2563eb;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.88rem;line-height:1.6;padding:12px 16px}.fs-cta-inline strong{color:#0f172a;color:var(--text)}.fs-image-frame{border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 24px 64px #0000001f,0 0 40px #2563eb1f;box-shadow:var(--shadow-lg),var(--glow-accent);overflow:hidden;position:relative}.fs-image-frame:before{background:#eef1f6;background:var(--bg-2);border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;border-radius:var(--radius) var(--radius) 0 0;content:"";height:30px;left:0;position:absolute;right:0;top:0;z-index:2}.fs-image-frame:after{background:radial-gradient(circle 5px at 5px 6px,#ff5f57,#ff5f57),radial-gradient(circle 5px at 20px 6px,#ffbd2e,#ffbd2e),radial-gradient(circle 5px at 35px 6px,#28c840,#28c840);content:"";height:12px;left:14px;opacity:.75;position:absolute;top:9px;width:40px;z-index:3}.fs-img{animation:fsFadeIn .35s ease both;display:block;margin-top:30px;width:100%}@keyframes fsFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.showcase{grid-gap:64px;align-items:center;display:grid;gap:64px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:96px 48px;padding:var(--section-pad) 48px;position:relative;z-index:1}.showcase-tag{align-items:center;background:#2563eb12;background:var(--accent-light);border:1px solid #2563eb4d;border:1px solid var(--border-glow);border-radius:999px;border-radius:var(--radius-pill);color:#2563eb;color:var(--accent);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.06em;margin-bottom:12px;padding:4px 12px;text-transform:uppercase}.showcase-text h2{color:#0f172a;color:var(--text);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:14px}.showcase-text p{color:#64748b;color:var(--text-muted);font-size:.97rem;line-height:1.75;margin-bottom:20px}.showcase-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin-bottom:24px}.showcase-list li{color:#64748b;color:var(--text-muted);font-size:.88rem;line-height:1.5;padding-left:20px;position:relative}.showcase-list li:before{color:#2563eb;color:var(--accent);content:"→";font-weight:700;left:0;position:absolute}.image-wrapper{border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 24px 64px #0000001f;box-shadow:var(--shadow-lg);overflow:hidden;transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease}.image-wrapper:hover{box-shadow:0 24px 64px #0000001f,0 0 40px #2563eb1f;box-shadow:var(--shadow-lg),var(--glow-accent);transform:scale(1.03) rotate(-.5deg)}.image-wrapper img{display:block;width:100%}.progress-demo{align-items:center;background:#05966914;border:1.5px solid #05966933;border-radius:999px;border-radius:var(--radius-pill);color:#059669;color:var(--accent-3);display:inline-flex;font-size:.88rem;font-weight:700;letter-spacing:.04em;padding:8px 20px}.why-not{background:#eef1f6;background:var(--bg-2);padding:96px 48px;padding:var(--section-pad) 48px;position:relative;z-index:1}.wny-inner{margin:0 auto;max-width:900px;text-align:center}.why-not h2{color:#0f172a;color:var(--text);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.wny-lead{color:#64748b;color:var(--text-muted);font-size:1.05rem;line-height:1.7;margin-bottom:40px}.wny-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:36px;text-align:left}.wny-point{align-items:flex-start;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:20px;transition:transform .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition),border-color var(--transition)}.wny-point:hover{border-color:#2563eb4d;border-color:var(--border-glow);transform:translateY(-3px)}.wny-icon{flex-shrink:0;font-size:20px;margin-top:2px}.wny-point strong{color:#0f172a;color:var(--text);display:block;font-size:.9rem;font-weight:700;margin-bottom:5px}.wny-point p{font-size:.84rem;line-height:1.6}.wny-conclusion,.wny-point p{color:#64748b;color:var(--text-muted)}.wny-conclusion{font-size:1rem;line-height:1.7}.wny-conclusion strong{color:#2563eb;color:var(--accent)}.progress-section{padding:96px 48px;padding:var(--section-pad) 48px;position:relative;text-align:center;z-index:1}.progress-section h2{color:#0f172a;color:var(--text);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.progress-section>p{color:#64748b;color:var(--text-muted);font-size:1rem;margin-bottom:44px}.progress-cards{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:20px}.p-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);min-width:140px;padding:32px 44px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow var(--transition)}.p-card:hover{box-shadow:0 8px 32px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-6px)}.p-card.highlight{background:#2563eb12;background:var(--accent-light);border-color:#2563eb;border-color:var(--accent);box-shadow:0 8px 32px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent);transform:translateY(-10px) scale(1.05)}.p-card h4{color:#64748b;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.p-card p{color:#2563eb;color:var(--accent);font-size:2rem;font-weight:800;letter-spacing:-.03em}.progress-note{color:#cbd5e1;color:var(--text-dim);font-size:12.5px;font-style:italic}.testimonials{overflow:hidden;padding:96px 0;padding:var(--section-pad) 0;position:relative;z-index:1}.testimonials:after,.testimonials:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:120px;z-index:2}.testimonials:before{background:linear-gradient(90deg,#f5f7fa,#0000);background:linear-gradient(to right,var(--bg),#0000);left:0}.testimonials:after{background:linear-gradient(270deg,#f5f7fa,#0000);background:linear-gradient(to left,var(--bg),#0000);right:0}.testimonials h2{color:#0f172a;color:var(--text);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:40px;text-align:center}.testimonial-track{animation:ticker 32s linear infinite;display:flex;gap:16px;padding:0 20px;width:-webkit-max-content;width:max-content}.testimonial-track:hover{animation-play-state:paused}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.testimonial{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);flex-shrink:0;padding:24px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color var(--transition);width:280px}.testimonial:hover{border-color:#2563eb4d;border-color:var(--border-glow);transform:translateY(-5px)}.testimonial p{color:#64748b;color:var(--text-muted);font-size:.9rem;font-style:italic;line-height:1.65;margin-bottom:14px}.testimonial h4{color:#2563eb;color:var(--accent);font-size:.8rem;font-weight:700}.faq{margin:0 auto;max-width:720px;padding:96px 48px;padding:var(--section-pad) 48px;position:relative;z-index:1}.faq h2{color:#0f172a;color:var(--text);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:40px;text-align:center}.faq-item{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);margin-bottom:8px;overflow:hidden;transition:transform .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition),border-color var(--transition)}.faq-item:hover{border-color:#2563eb4d;border-color:var(--border-glow);transform:translateX(3px)}.faq-item.open{border-color:#2563eb;border-color:var(--accent);box-shadow:0 2px 8px #0000000f,0 0 20px #2563eb12;box-shadow:var(--shadow-sm),0 0 20px var(--accent-light)}.faq-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:18px 22px;text-align:left;width:100%}.faq-header span:first-child{color:#0f172a;color:var(--text);font-size:.92rem;font-weight:600}.faq-icon{color:#2563eb;color:var(--accent);flex-shrink:0;font-size:1.2rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.faq-icon.rotate{transform:rotate(45deg)}.faq-content{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1)}.faq-answer{border-top:1px solid #00000014;border-top:1px solid var(--border);color:#64748b;color:var(--text-muted);font-size:.9rem;line-height:1.7;padding:14px 22px 18px}.time-waste{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:1200px;padding:96px 48px;padding:var(--section-pad) 48px;position:relative;z-index:1}.tw-problem h2{color:#0f172a;color:var(--text);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.tw-problem h3{color:#7c3aed;color:var(--accent-2);font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:600;margin-bottom:20px}.tw-final,.tw-sub{color:#64748b;color:var(--text-muted);font-size:.97rem;line-height:1.7;margin-bottom:16px}.tw-final span{color:#ef4444;color:var(--bad);font-weight:600}.tw-divider{align-self:stretch;background:linear-gradient(180deg,#0000,#2563eb4d,#0000);background:linear-gradient(to bottom,#0000,var(--border-glow),#0000);min-height:280px;width:1px}.tw-solution-title{color:#2563eb;color:var(--accent);font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:700;margin-bottom:20px}.tw-features{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.tw-feature{background:#2563eb12;background:var(--accent-light);border:1px solid #0000;border-radius:10px;border-radius:var(--radius-sm);cursor:default;overflow:hidden;padding:14px 18px;position:relative;transition:all .28s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.tw-feature:before{background:#2563eb;background:var(--accent);border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease;width:3px}.tw-feature:hover{background:#fff;background:var(--bg-card);border-color:#2563eb4d;border-color:var(--border-glow);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);transform:translateX(6px)}.tw-feature:hover:before{transform:scaleY(1)}.tw-feature h4{color:#0f172a;color:var(--text);font-size:.86rem;font-weight:700;margin-bottom:2px}.tw-feature p{font-size:.8rem;line-height:1.5}.tw-feature p,.tw-vision{color:#64748b;color:var(--text-muted)}.tw-vision{font-size:.97rem;line-height:1.7}.tw-vision span{color:#059669;color:var(--accent-3);font-weight:600}.cta{overflow:hidden;padding:100px 48px;position:relative;text-align:center;z-index:1}.cta:before{animation:ctaPulse 5s ease-in-out infinite alternate;background:radial-gradient(ellipse 80% 80% at 50% 50%,#2563eb12 0,#0000 65%),radial-gradient(ellipse 50% 50% at 50% 50%,#7c3aed0d 0,#0000 55%);background:radial-gradient(ellipse 80% 80% at 50% 50%,var(--blob-1) 0,#0000 65%),radial-gradient(ellipse 50% 50% at 50% 50%,var(--blob-2) 0,#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.cta h2{color:#0f172a;color:var(--text);font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:-.03em;margin-bottom:14px;position:relative}.cta-sub{color:#64748b;color:var(--text-muted);line-height:1.6;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:420px}.cta button,.cta-sub{font-size:1rem;position:relative}.cta button{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:999px;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-weight:700;overflow:hidden;padding:16px 48px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow var(--transition)}.cta button:after{animation:ctaShimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff40,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transform:skewX(-20deg);width:60%}@keyframes ctaShimmer{0%{left:-100%}60%,to{left:160%}}.cta button:hover{box-shadow:0 16px 40px #2563eb4d;transform:translateY(-3px) scale(1.04)}@media (max-width:960px){:root{--section-pad:68px}.compare-grid,.fs-content,.hero-container,.showcase,.showcase.alt,.wny-grid{gap:32px;grid-template-columns:1fr}.hero{padding:100px 0 60px}.compare,.cta,.faq,.feature-showcase,.hero-container,.progress-section,.showcase,.time-waste,.why-not{padding-left:24px;padding-right:24px}.time-waste{gap:36px;grid-template-columns:1fr}.tw-divider{display:none}.showcase.alt .showcase-image{order:-1}.hero-right{display:none}.social-proof{margin-top:0;padding:0 24px}.sp-inner{flex-wrap:wrap;gap:20px;padding:24px 20px}.sp-divider{display:none}.sp-stat{flex-basis:calc(50% - 10px);flex-grow:0;flex-shrink:0}.fs-content .fs-image-wrap{order:-1}}@media (max-width:480px){.hero-input{flex-direction:column}.hero-input button{padding:14px;text-align:center}.progress-cards{align-items:center;flex-direction:column}.p-card.highlight{transform:scale(1.02)}.cta button{width:100%}}[data-aos=fade-up]{transition-duration:.7s!important}[data-aos=fade-left],[data-aos=fade-right]{transition-duration:.8s!important}:root{--bg:#f5f7fa;--bg-2:#eef1f6;--bg-card:#fff;--border:#00000014;--border-glow:#2563eb47;--accent:#2563eb;--accent-2:#7c3aed;--accent-3:#059669;--accent-light:#2563eb12;--bad:#ef4444;--good:#059669;--text:#0f172a;--text-muted:#64748b;--text-dim:#cbd5e1;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 28px #0000001a;--shadow-lg:0 20px 56px #00000021;--glow-accent:0 0 40px #2563eb1f;--radius:18px;--radius-sm:11px;--radius-pill:999px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--transition:0.28s cubic-bezier(0.4,0,0.2,1);--spring:0.4s cubic-bezier(0.34,1.56,0.64,1);--blob-1:#2563eb0f;--blob-2:#7c3aed0a;--color-bg:var(--bg);--color-card:var(--bg-card);--color-border:var(--border);--color-primary:var(--accent);--color-accent:var(--accent-2);--color-text-primary:var(--text);--color-text-muted:var(--text-muted);--color-text-opp:#fff;--color-danger:var(--bad);--color-success:var(--good);--color-accent-soft:#2563eb0f;--shadow-soft:var(--shadow-sm);--shadow-hover:var(--shadow-md);--color-muted:var(--text-muted)}[data-theme=dark]{--bg:#080d17;--bg-2:#0d1525;--bg-card:#111c2e;--border:#ffffff12;--border-glow:#60a5fa38;--accent:#60a5fa;--accent-2:#a78bfa;--accent-3:#34d399;--accent-light:#60a5fa17;--bad:#f87171;--good:#34d399;--text:#e2e8f0;--text-muted:#7a8fa8;--text-dim:#2d4060;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 28px #00000080;--shadow-lg:0 20px 56px #0009;--glow-accent:0 0 40px #60a5fa21;--blob-1:#60a5fa0f;--blob-2:#a78bfa0a;--color-bg:var(--bg);--color-card:var(--bg-card);--color-border:var(--border);--color-primary:var(--accent);--color-accent:var(--accent-2);--color-text-primary:var(--text);--color-text-muted:var(--text-muted);--color-text-opp:#0f172a;--color-danger:var(--bad);--color-success:var(--good);--color-accent-soft:#60a5fa14;--shadow-soft:var(--shadow-sm);--shadow-hover:var(--shadow-md);--color-muted:var(--text-muted)}*,:after,:before{transition:background-color .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideRight{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmerSweep{0%{left:-100%}60%,to{left:160%}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 0 #2563eb;box-shadow:0 0 0 0 var(--accent);opacity:1}50%{box-shadow:0 0 0 6px #0000;opacity:.7}}@keyframes streakFlame{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.15) rotate(2deg)}}@keyframes progressGrow{0%{width:0!important}}@keyframes spinGear{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes warnPulse{0%,to{border-color:#ef4444;border-color:var(--bad);box-shadow:0 0 0 0 #ef44444d}50%{border-color:#ef4444;border-color:var(--bad);box-shadow:0 0 0 6px #ef444400}}.dashboard{-webkit-font-smoothing:antialiased;background:#f5f7fa;background:var(--bg);color:#0f172a;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);min-height:100vh;padding:24px 0 100px;position:relative}.dashboard:before{animation:orbDrift 20s ease-in-out infinite alternate;background:radial-gradient(circle,#2563eb0f 0,#0000 70%);background:radial-gradient(circle,var(--blob-1) 0,#0000 70%);border-radius:50%;content:"";height:500px;pointer-events:none;position:fixed;right:-5%;top:-10%;width:500px;z-index:0}@keyframes orbDrift{0%{transform:translate(0) scale(1)}to{transform:translate(-60px,60px) scale(1.1)}}.dashboard-container{margin:auto;max-width:1100px;position:relative;width:92%;z-index:1}.dashboard-header{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) both;margin-bottom:20px}.dashboard-header h1{color:#0f172a;color:var(--text);font-size:26px;font-weight:800;letter-spacing:-.02em}.insight-bar{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .08s both;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:11px;border-radius:var(--radius-sm);box-shadow:0 8px 28px #0000001a,0 0 30px #2563eb12;box-shadow:var(--shadow-md),0 0 30px var(--accent-light);color:#fff;font-size:13px;margin-bottom:12px;overflow:hidden;padding:14px 18px;position:relative}.insight-bar:after{animation:shimmerSweep 4s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transform:skewX(-20deg);width:50%}.insight-bar p{line-height:1.5;margin:0}.insight-bar strong{font-weight:700}.streak-info-banner{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .14s both;background:#2563eb0f;background:var(--color-accent-soft);border:1px solid #00000014;border:1px solid var(--border);border-radius:11px;border-radius:var(--radius-sm);margin-bottom:12px;transition:border-color .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),background var(--transition)}.beta-banner,.streak-info-banner{color:#64748b;color:var(--text-muted);font-size:12.5px;padding:11px 16px}.beta-banner{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .18s both;background:#f59e0b12;border:1px solid #f59e0b33;border-radius:11px;border-radius:var(--radius-sm);line-height:1.5;margin-bottom:22px}[data-theme=dark] .beta-banner{background:#f59e0b0f;border-color:#f59e0b26;color:#64748b;color:var(--text-muted)}.top-section{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:20px}.top-section>:nth-child(3){grid-column:span 2}@media (max-width:768px){.top-section>:nth-child(3){grid-column:span 1}}.top-section>:first-child{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .22s both}.top-section>:nth-child(2){animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .3s both}.top-section>:nth-child(3){animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .38s both}.stat-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:22px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),border-color var(--transition)}.stat-card:before{background:linear-gradient(90deg,#0000,#2563eb,#0000);background:linear-gradient(90deg,#0000,var(--accent),#0000);border-radius:99px;content:"";height:2px;left:10%;opacity:0;position:absolute;right:10%;top:0;transition:opacity .28s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition)}.stat-card:after{background:linear-gradient(135deg,#ffffff0a,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.stat-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent);transform:translateY(-5px)}.stat-card:hover:before{opacity:1}.stat-block{display:flex;flex-direction:column;gap:2px}.stat-title{color:#64748b;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.stat-value{color:#0f172a;color:var(--text);font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;transition:color .28s cubic-bezier(.4,0,.2,1);transition:color var(--transition)}.stat-sub{color:#64748b;color:var(--text-muted);font-size:11px;margin-top:2px}.stat-divider{background:#00000014;background:var(--border);border-radius:99px;height:1px}.stat-btn{align-self:flex-start;background:#2563eb;background:var(--accent);border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12px;font-weight:600;margin-top:6px;overflow:hidden;padding:8px 14px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),opacity .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),opacity var(--transition)}.stat-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.stat-btn:hover:after{transform:translateX(100%)}.stat-btn:hover{box-shadow:0 6px 20px #2563eb12;box-shadow:0 6px 20px var(--accent-light);transform:scale(1.04)}.streak-card{cursor:default}.streak-top{align-items:center;display:flex;justify-content:space-between}.gear-icon{color:#0f172a;color:var(--text);display:block;font-size:15px;transition:color .28s cubic-bezier(.4,0,.2,1),transform .5s ease;transition:color var(--transition),transform .5s ease}.streak-settings-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#0f172a;color:var(--text);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .28s cubic-bezier(.4,0,.2,1);transition:background var(--transition);width:28px}.streak-settings-btn:hover{background:#2563eb12;background:var(--accent-light)}.streak-settings-btn:hover .gear-icon{animation:spinGear .6s ease forwards;color:#2563eb;color:var(--accent)}.streak-card .stat-value{-webkit-text-fill-color:#0000;animation:streakFlame 2.5s ease-in-out infinite;background:linear-gradient(135deg,#f97316,#ef4444);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:38px}.streak-warning{animation:warnPulse 2s ease-in-out infinite;border:2px dashed #ef4444!important;border:2px dashed var(--bad)!important;cursor:pointer!important}.streak-warning-text{align-items:center;color:#ef4444;color:var(--bad);display:flex;font-size:12px;font-weight:600;gap:4px}.streak-progress-wrapper{margin-top:4px}.streak-progress-bar{background:#00000014;background:var(--border);border-radius:99px;height:6px;overflow:hidden;width:100%}.streak-progress-fill{animation:progressGrow 1.2s cubic-bezier(.4,0,.2,1) .4s both;background:linear-gradient(90deg,#f97316,#ef4444);border-radius:99px;height:100%;overflow:hidden;position:relative;transition:width 1s cubic-bezier(.4,0,.2,1)}.streak-progress-fill:after{animation:shimmerSweep 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";inset:0;position:absolute}.streak-progress-text{color:#64748b;color:var(--text-muted);display:block;font-size:11px;margin-top:5px}.freeze-badge{align-items:center;background:#60a5fa1a;border:1px solid #60a5fa33;border-radius:999px;border-radius:var(--radius-pill);color:#60a5fa;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 10px;transition:transform .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition);width:-webkit-fit-content;width:fit-content}.freeze-badge:hover{transform:scale(1.05)}.info-btn{align-items:center;background:#2563eb12;background:var(--accent-light);border:1px solid #2563eb47;border:1px solid var(--border-glow);border-radius:50%;bottom:14px;color:#2563eb;color:var(--accent);cursor:pointer;display:flex;font-size:11px;font-style:italic;font-weight:700;height:22px;justify-content:center;position:absolute;right:14px;transition:background .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1);transition:background var(--transition),transform var(--spring);width:22px}.info-btn:hover{background:#2563eb;background:var(--accent);color:#fff;transform:scale(1.15)}.streak-info-btn{margin:0!important}.resume-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:24px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),border-color var(--transition)}.resume-card:before{background:linear-gradient(180deg,#2563eb,#7c3aed);background:linear-gradient(to bottom,var(--accent),var(--accent-2));border-radius:0 3px 3px 0;content:"";height:100%;left:0;position:absolute;top:0;width:3px}.resume-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent);transform:translateY(-4px)}.resume-card h4{color:#64748b;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.resume-card h3{color:#0f172a;color:var(--text);font-size:15px;font-weight:700;margin-bottom:2px}.resume-card>p{color:#64748b;color:var(--text-muted);font-size:13px}.resume-content{align-items:flex-start;display:flex;gap:14px}.resume-thumbnail{border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:60px;object-fit:cover;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition);width:90px}.resume-thumbnail:hover{box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md);transform:scale(1.04)}.resume-info{flex:1 1}.resume-info p{color:#64748b;color:var(--text-muted);font-size:12.5px;line-height:1.4;margin-bottom:10px}.progress-bar{background:#00000014;background:var(--border);border-radius:99px;height:7px;margin-bottom:6px;width:100%}.progress-bar.small{height:5px}.progress-fill{animation:progressGrow 1.4s cubic-bezier(.4,0,.2,1) .6s both;background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;overflow:hidden;position:relative;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill:after{animation:shimmerSweep 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";inset:0;position:absolute}.progress-text{color:#64748b;color:var(--text-muted);display:block;font-size:11px;margin-bottom:12px}.resume-streak-note{background:#05966912;border:1px solid #0596692e;border-radius:8px;color:#059669;color:var(--accent-3);font-size:12px;font-style:italic;font-weight:500;padding:8px 12px}[data-theme=dark] .resume-streak-note{background:#34d39912;border-color:#34d39926;color:#059669;color:var(--good)}.resume-card button,.resume-card>button{align-self:flex-start;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:600;overflow:hidden;padding:9px 20px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition)}.resume-card button:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.resume-card button:hover:after{transform:translateX(100%)}.resume-card button:hover{box-shadow:0 8px 20px #2563eb40;transform:scale(1.04)}.section-two{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px;margin-top:18px}.section-two>:nth-child(2){grid-column:span 2}@media (max-width:768px){.section-two>:nth-child(2){grid-column:span 1}}.section-two>:first-child{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .46s both}.section-two>:nth-child(2){animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .54s both}.section-title{align-items:center;color:#0f172a;color:var(--text);display:flex;font-size:18px;font-weight:800;gap:8px;letter-spacing:-.02em;margin-bottom:6px}.section-title:before{background:linear-gradient(180deg,#2563eb,#7c3aed);background:linear-gradient(to bottom,var(--accent),var(--accent-2));border-radius:99px;content:"";display:inline-block;flex-shrink:0;height:18px;width:4px}.chart-insight{background:#2563eb0f;background:var(--color-accent-soft);border:1px solid #00000014;border:1px solid var(--border);border-radius:999px;border-radius:var(--radius-pill);color:#64748b;color:var(--text-muted);display:inline-block;font-size:12px;font-style:italic;margin-bottom:16px;padding:6px 14px;transition:background .28s cubic-bezier(.4,0,.2,1);transition:background var(--transition)}.analytics-grid{grid-gap:18px;animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .2s both;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:36px;margin-top:4px}.chart-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);padding:22px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),border-color var(--transition)}.chart-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent);transform:translateY(-4px)}.chart-dropdown{background:#eef1f6;background:var(--bg-2);border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;color:#0f172a;color:var(--text);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:12px;outline:none;padding:6px 10px;position:absolute;right:18px;top:18px;transition:border-color .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),background var(--transition)}.chart-dropdown:focus,.chart-dropdown:hover{border-color:#2563eb;border-color:var(--accent)}.heatmap-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);padding:20px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),border-color var(--transition)}.heatmap-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-4px)}.heatmap-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:14px}.heatmap-header h3{color:#0f172a;color:var(--text);font-size:14px;font-weight:700;margin:0}.heatmap-subtext{color:#64748b;color:var(--text-muted);font-size:11.5px;margin-top:3px}.heatmap-right{align-items:center;display:flex;gap:10px}.score{color:#059669;color:var(--accent-3);font-size:18px;font-weight:800;letter-spacing:-.02em}.heatmap-dropdown{background:#eef1f6;background:var(--bg-2);border:1px solid #00000014;border:1px solid var(--border);border-radius:6px;color:#0f172a;color:var(--text);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:11.5px;outline:none;padding:4px 8px;transition:border-color .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),background var(--transition)}.heatmap-dropdown:focus,.heatmap-dropdown:hover{border-color:#2563eb;border-color:var(--accent)}.heatmap-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fit,minmax(12px,1fr))}.heatmap-cell{aspect-ratio:1;border-radius:3px;transition:transform .18s ease,outline .18s ease;width:100%}.heatmap-cell:hover{outline:1.5px solid #059669;outline:1.5px solid var(--accent-3);position:relative;transform:scale(1.25);z-index:2}.roadmap-card{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .25s both;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;margin:12px 0 36px;min-height:180px;overflow:hidden;padding:22px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),border-color var(--transition)}.roadmap-card:before{background:linear-gradient(90deg,#2563eb,#7c3aed,#059669);background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));content:"";height:2px;left:0;position:absolute;right:0;top:0}.roadmap-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent);transform:translateY(-4px)}.roadmap-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.roadmap-status{background:#0596691a;border:1px solid #0596692e;border-radius:999px;border-radius:var(--radius-pill);color:#059669;color:var(--good);font-size:11px;font-weight:600;letter-spacing:.03em;padding:4px 10px}[data-theme=dark] .roadmap-status{background:#34d39914;border-color:#34d39926}.roadmap-info{color:#64748b;color:var(--text-muted);font-size:13.5px;line-height:1.5;margin:12px 0}.roadmap-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-primary{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:600;overflow:hidden;padding:9px 18px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition)}.btn-primary:after{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.btn-primary:hover:after{transform:translateX(100%)}.btn-primary:hover{box-shadow:0 8px 22px #2563eb40;transform:scale(1.03)}.btn-secondary{background:#eef1f6;background:var(--bg-2);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:11px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:border-color .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1),background .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),transform var(--spring),background var(--transition)}.btn-secondary:hover{background:#2563eb12;background:var(--accent-light);border-color:#2563eb47;border-color:var(--border-glow);transform:scale(1.03)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h2{color:#0f172a;color:var(--text);font-size:18px;font-weight:800;letter-spacing:-.02em}.add-btn{background:linear-gradient(135deg,#059669,#10b981);background:linear-gradient(135deg,var(--accent-3),#10b981);border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12.5px;font-weight:700;overflow:hidden;padding:7px 16px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition)}.add-btn:after{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.add-btn:hover:after{transform:translateX(100%)}.add-btn:hover{box-shadow:0 6px 16px #05966940;transform:scale(1.05)}.course-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:48px}.course-card:first-child{animation:scaleIn .5s cubic-bezier(.22,1,.36,1) .1s both}.course-card:nth-child(2){animation:scaleIn .5s cubic-bezier(.22,1,.36,1) .18s both}.course-card:nth-child(3){animation:scaleIn .5s cubic-bezier(.22,1,.36,1) .26s both}.course-card:nth-child(4){animation:scaleIn .5s cubic-bezier(.22,1,.36,1) .34s both}.course-card:nth-child(n+5){animation:scaleIn .5s cubic-bezier(.22,1,.36,1) .4s both}.course-card{background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition),border-color var(--transition)}.course-card:after{background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:0 0 18px 18px;border-radius:0 0 var(--radius) var(--radius);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.course-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent);transform:translateY(-6px) scale(1.01)}.course-card:hover:after{transform:scaleX(1)}.course-thumbnail-wrapper{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);height:148px;overflow:hidden;width:100%}.course-thumbnail{height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.34,1.56,.64,1);width:100%}.course-card:hover .course-thumbnail{transform:scale(1.07)}.course-card-body{display:flex;flex:1 1;flex-direction:column;padding:14px 16px 16px}.course-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;color:var(--text);display:-webkit-box;font-size:14px;font-weight:700;line-height:1.35;margin-bottom:4px;overflow:hidden}.course-card-body>p{color:#64748b;color:var(--text-muted);font-size:12px;margin-bottom:auto;padding-bottom:12px}.course-card-btns{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.delete-course-btn{align-items:center;background:#ef444414;border:1px solid #ef444426;border-radius:8px;color:#ef4444;color:var(--bad);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1),border-color .28s cubic-bezier(.4,0,.2,1);transition:background var(--transition),transform var(--spring),border-color var(--transition);width:32px}.delete-course-btn:hover{background:#ef4444;background:var(--bad);border-color:#ef4444;border-color:var(--bad);color:#fff;transform:scale(1.12)}.course-card-btns button:last-child{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12.5px;font-weight:600;overflow:hidden;padding:7px 16px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition)}.course-card-btns button:last-child:hover{box-shadow:0 6px 16px #2563eb40;transform:scale(1.05)}.upcoming-section{animation:fadeIn .8s .5s both;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:18px;border-radius:var(--radius);margin-top:12px;padding:2px;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition)}.upcoming-section:hover{box-shadow:0 0 40px #2563eb33}.upcoming-overlay{background:#fff;background:var(--bg-card);border-radius:16px;border-radius:calc(var(--radius) - 2px);overflow:hidden;padding:40px;position:relative;text-align:center;transition:background .28s cubic-bezier(.4,0,.2,1);transition:background var(--transition)}.upcoming-overlay:before{animation:ctaPulse 5s ease-in-out infinite alternate;background:radial-gradient(ellipse 60% 60% at 50% 50%,#2563eb0f,#0000);background:radial-gradient(ellipse 60% 60% at 50% 50%,var(--blob-1),#0000);content:"";inset:0;pointer-events:none;position:absolute}@keyframes ctaPulse{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}.lock-icon{animation:streakFlame 3s ease-in-out infinite;display:block;font-size:28px;margin-bottom:12px}.upcoming-overlay h3{color:#0f172a;color:var(--text);font-size:18px;font-weight:800;margin-bottom:8px;position:relative}.upcoming-overlay p{color:#64748b;color:var(--text-muted);font-size:13px;line-height:1.6;margin-bottom:14px;margin-left:auto;margin-right:auto;max-width:420px;position:relative}.upcoming-overlay span{color:#2563eb;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.06em;position:relative;text-transform:uppercase}.modal-backdrop{animation:fadeIn .25s ease both;background:#0000008c}.delete-confirm-modal{animation:scaleIn .35s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 20px 56px #00000021;box-shadow:var(--shadow-lg);left:35%;padding:32px;position:fixed;top:25%;transform:translate(-50%,-50%);width:min(420px,90vw);z-index:999}.delete-confirm-modal h3{color:#0f172a;color:var(--text);font-size:17px;font-weight:800;margin-bottom:14px}.delete-confirm-modal p{color:#64748b;color:var(--text-muted);font-size:13.5px;line-height:1.65;margin-bottom:20px}.delete-confirm-modal strong{color:#0f172a;color:var(--text);font-weight:700}.delete-confirm-modal input{background:#f5f7fa;background:var(--bg);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:11px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:13.5px;margin-bottom:20px;outline:none;padding:10px 14px;transition:border-color .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),box-shadow var(--transition);width:100%}.delete-confirm-modal input:focus{border-color:#ef4444;border-color:var(--bad);box-shadow:0 0 0 3px #ef44441a}.delete-actions{display:flex;gap:10px}.delete-btn{background:#ef4444;background:var(--bad);border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:700;padding:10px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),opacity var(--transition),box-shadow var(--transition)}.delete-btn:disabled{cursor:not-allowed;opacity:.4;transform:none!important}.delete-btn:not(:disabled):hover{box-shadow:0 6px 18px #ef44444d;transform:scale(1.03)}.cancel-btn{background:#eef1f6;background:var(--bg-2);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:11px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);flex:1 1;font-size:13px;font-weight:600;padding:10px;transition:border-color .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1);transition:border-color var(--transition),background var(--transition),transform var(--spring)}.cancel-btn:hover{background:#2563eb12;background:var(--accent-light);border-color:#2563eb47;border-color:var(--border-glow);transform:scale(1.02)}.streak-modal-overlay{align-items:center;animation:fadeIn .25s ease both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.streak-modal{animation:scaleIn .35s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 20px 56px #00000021;box-shadow:var(--shadow-lg);padding:32px;text-align:center;width:min(360px,90vw)}.modal-actions{justify-content:center;margin-top:22px}#use-freeze-btn{background:linear-gradient(135deg,#059669,#10b981);background:linear-gradient(135deg,var(--accent-3),#10b981);border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 20px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition)}#use-freeze-btn:hover{box-shadow:0 6px 18px #05966940;transform:scale(1.05)}#break-streak-btn{background:#ef44441a;border:1px solid #ef444433;border-radius:11px;border-radius:var(--radius-sm);color:#ef4444;color:var(--bad);cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:background .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1);transition:background var(--transition),transform var(--spring)}#break-streak-btn:hover{background:#ef4444;background:var(--bad);color:#fff;transform:scale(1.04)}.empty-state{background:#fff;background:var(--bg-card);border:1.5px dashed #00000014;border:1.5px dashed var(--border);border-radius:18px;border-radius:var(--radius);color:#64748b;color:var(--text-muted);font-size:14px;padding:50px;text-align:center;transition:border-color .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition)}.empty-state:hover{border-color:#2563eb47;border-color:var(--border-glow)}.practice-card{display:flex;flex-direction:column;justify-content:center}.practice-timer{font-feature-settings:"tnum";color:#0f172a;color:var(--text);font-size:32px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:3px;margin:20px 0}.practice-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:10px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition)}.practice-btn.start{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.practice-btn.start:hover{box-shadow:0 6px 18px #2563eb40;transform:scale(1.04)}.practice-btn.stop{background:#ef4444;background:var(--bad);color:#fff}.practice-btn.stop:hover{box-shadow:0 6px 18px #ef444440;transform:scale(1.04)}.reengagement-banner{align-items:center;animation:fadeSlideUp .6s ease both;background:#f59e0b12;border:1px solid #f59e0b38;border-radius:11px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:13.5px;gap:14px;justify-content:space-between;margin-bottom:14px;padding:12px 16px}.reengagement-banner button{background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:8px;color:#b45309;cursor:pointer;font-size:12.5px;font-weight:700;padding:6px 14px;transition:background .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1);transition:background var(--transition),transform var(--spring);white-space:nowrap}.reengagement-banner button:hover{background:#f59e0b40;transform:scale(1.04)}[data-theme=dark] .reengagement-banner button{color:#fbbf24}.roadmap-complete-banner{align-items:center;animation:fadeSlideUp .6s ease both;background:linear-gradient(135deg,#05966914,#10b9810d);border:1.5px solid #05966940;border-radius:18px;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:18px 20px}.roadmap-complete-icon{flex-shrink:0;font-size:28px}.roadmap-complete-banner>div{flex:1 1;min-width:0}.roadmap-complete-banner strong{color:#059669;color:var(--accent-3);display:block;font-size:15px;font-weight:800;margin-bottom:3px}.roadmap-complete-banner p{color:#64748b;color:var(--text-muted);font-size:13px}.roadmap-complete-banner button{background:linear-gradient(135deg,#059669,#10b981);background:linear-gradient(135deg,var(--accent-3),#10b981);border:none;border-radius:11px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 20px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition);white-space:nowrap}.roadmap-complete-banner button:hover{box-shadow:0 6px 18px #0596694d;transform:scale(1.04)}.streak-roadmap-hint{background:#2563eb12;background:var(--accent-light);border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;color:#64748b;color:var(--text-muted);display:flex;flex-direction:column;font-size:11.5px;gap:5px;padding:8px 10px;transition:background .28s cubic-bezier(.4,0,.2,1);transition:background var(--transition)}.streak-roadmap-hint--done{background:#05966914;border-color:#05966933;color:#059669;color:var(--good);font-weight:600}.streak-roadmap-link{background:none;border:none;color:#2563eb;color:var(--accent);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:11.5px;font-weight:700;padding:0;text-align:left;transition:opacity .28s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition)}.streak-roadmap-link:hover{opacity:.75}.roadmap-progress-block{animation:fadeSlideUp .7s cubic-bezier(.22,1,.36,1) .1s both;background:#fff;background:var(--bg-card);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:18px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;margin-bottom:20px;overflow:hidden;padding:22px;position:relative;transition:border-color .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),box-shadow var(--transition)}.roadmap-progress-block:before{background:linear-gradient(90deg,#2563eb,#7c3aed,#059669);background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));content:"";height:3px;left:0;position:absolute;right:0;top:0}.roadmap-progress-block:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 8px 28px #0000001a,0 0 40px #2563eb1f;box-shadow:var(--shadow-md),var(--glow-accent)}.rpb-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.rpb-title{color:#0f172a;color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.02em;margin-bottom:3px}.rpb-sub{color:#64748b;color:var(--text-muted);font-size:12px}.rpb-view-btn{background:#2563eb12;background:var(--accent-light);border:1.5px solid #2563eb47;border:1.5px solid var(--border-glow);border-radius:9px;color:#2563eb;color:var(--accent);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:12.5px;font-weight:700;padding:7px 14px;transition:background .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1);transition:background var(--transition),transform var(--spring);white-space:nowrap}.rpb-view-btn:hover{background:#2563eb;background:var(--accent);color:#fff;transform:scale(1.04)}.rpb-bar-track{background:#00000014;background:var(--border);height:8px;width:100%}.rpb-bar-fill,.rpb-bar-track{border-radius:99px;overflow:hidden}.rpb-bar-fill{animation:progressGrow 1.4s ease .4s both;background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent),var(--accent-2));height:100%;position:relative;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.rpb-bar-fill:after{animation:shimmerSweep 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";inset:0;position:absolute}.rpb-stats{align-items:center;display:flex;gap:16px}.rpb-stat{align-items:baseline;display:flex;gap:4px}.rpb-stat-val{color:#2563eb;color:var(--accent);font-size:20px;font-weight:800;letter-spacing:-.02em}.rpb-stat-label{color:#64748b;color:var(--text-muted);font-size:12px}.rpb-stat-divider{background:#00000014;background:var(--border);height:20px;width:1px}.rpb-current{display:flex;flex-direction:column;gap:8px}.rpb-current-label{color:#64748b;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rpb-step-card{align-items:center;background:#f5f7fa;background:var(--bg);border:1.5px solid #00000014;border:1.5px solid var(--border);border-radius:11px;border-radius:var(--radius-sm);display:flex;gap:14px;padding:12px 14px;transition:border-color .28s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),transform var(--spring),box-shadow var(--transition)}.rpb-step-card:hover{border-color:#2563eb47;border-color:var(--border-glow);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);transform:translateX(4px)}.rpb-step-card--course{border-left:3px solid #2563eb;border-left:3px solid var(--accent)}.rpb-step-card--project{border-left:3px solid #7c3aed;border-left:3px solid var(--accent-2)}.rpb-step-thumb{border:1px solid #00000014;border:1px solid var(--border);border-radius:7px;flex-shrink:0;height:40px;object-fit:cover;width:60px}.rpb-step-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.rpb-step-context{color:#64748b;color:var(--text-muted);font-size:11px;font-weight:600}.rpb-step-title{color:#0f172a;color:var(--text);font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpb-tech-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.rpb-tech-chip{background:#7c3aed12;border:1px solid #7c3aed26;border-radius:999px;color:#7c3aed;color:var(--accent-2);font-size:10px;font-weight:600;padding:2px 7px}.rpb-continue-btn{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:9px;color:#fff;cursor:pointer;flex-shrink:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font);font-size:12.5px;font-weight:700;overflow:hidden;padding:8px 16px;position:relative;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--spring),box-shadow var(--transition);white-space:nowrap}.rpb-continue-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.rpb-continue-btn:hover:after{transform:translateX(100%)}.rpb-continue-btn:hover{box-shadow:0 6px 18px #2563eb4d;transform:scale(1.05)}.rpb-continue-btn--project{background:linear-gradient(135deg,#7c3aed,#8b5cf6);background:linear-gradient(135deg,var(--accent-2),#8b5cf6)}.rpb-continue-btn--project:hover{box-shadow:0 6px 18px #7c3aed4d}.rpb-upcoming{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.rpb-upcoming-label{color:#cbd5e1;color:var(--text-dim);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.rpb-upcoming-chips{display:flex;flex-wrap:wrap;gap:8px}.rpb-upcoming-chip{align-items:center;background:#0000;border:1.5px dashed #00000014;border:1.5px dashed var(--border);border-radius:999px;color:#64748b;color:var(--text-muted);display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 12px;transition:border-color .28s cubic-bezier(.4,0,.2,1),color .28s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),color var(--transition)}.rpb-upcoming-chip--skill{border-color:#2563eb33}.rpb-upcoming-chip--project{border-color:#7c3aed33}@media (max-width:1024px){.dashboard-container{width:95%}}@media (max-width:768px){.dashboard{padding:16px 0 60px}.dashboard-header h1{font-size:22px}.analytics-grid,.top-section{grid-template-columns:1fr}.upcoming-overlay{padding:28px 20px}.rpb-header,.rpb-step-card{flex-direction:column}.rpb-step-card{align-items:flex-start}.rpb-continue-btn{text-align:center;width:100%}}@media (max-width:480px){.section-header{align-items:flex-start;gap:10px}.resume-content,.section-header{flex-direction:column}.resume-thumbnail{height:160px;width:100%}.delete-actions,.modal-actions,.reengagement-banner{flex-direction:column}.reengagement-banner{align-items:flex-start}.roadmap-complete-banner{flex-direction:column}}.modal-overlay{background:#0f172a80;z-index:1000}.modal-box{animation:fadeInScale .25s ease forwards;background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-soft);color:var(--color-text-primary);max-width:95%;padding:30px;width:440px}@keyframes fadeInScale{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box h2{color:var(--color-primary);font-size:20px;font-weight:600;margin-bottom:20px}.modal-box label{background-color:#7cfc0033;border-radius:20px;color:var(--color-text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px;padding:5px}.modal-box input,.modal-box textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);font-size:14px;margin-bottom:14px;padding:10px 12px;transition:all .2s ease;width:100%}.modal-box input:focus,.modal-box textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533;outline:none}.modal-box textarea{min-height:100px;resize:none}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.cancel-btn{background:#0000;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);cursor:pointer;padding:8px 16px;transition:all .2s ease}.cancel-btn:hover{background:var(--color-accent-soft)}.save-btn{background:var(--color-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease}.save-btn:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.modal-streak-hero{align-items:center;display:flex;flex-direction:row;gap:10px;margin:12px 12px 18px}.hero-old{font-size:20px;opacity:.4}.hero-arrow{color:var(--color-text-muted);font-size:14px}.hero-new{animation:glowPulse 1.5s infinite;color:var(--color-success);font-size:20px;font-weight:700}.hero-text{color:var(--color-text-muted);font-size:13px}.discipline-box{background:var(--color-accent-soft);border-left:4px solid var(--color-accent);border-radius:16px;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:16px 18px}.discipline-main{color:var(--color-text-primary);font-size:14px;font-weight:600;line-height:1.6}.discipline-sub{color:var(--color-text-muted);font-size:12px;line-height:1.6;opacity:.75}.productivity-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:18px;padding:26px;transition:.3s ease}.productivity-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.productivity-card h3{font-size:18px;font-weight:600}.productivity-card h4{color:var(--color-text-primary);font-size:14px;margin-top:-10px}.streak-visual{gap:22px;justify-content:center;margin-top:8px}.streak-block,.streak-visual{align-items:center;display:flex}.streak-block{font-size:28px;font-weight:700;gap:8px}.streak-block .flame{font-size:30px}.streak-block.old{opacity:.7}.streak-block.new.preview{animation:glowPulse 1.5s infinite;opacity:1}.streak-block.new.active{animation:glowPulse 1.5s infinite;color:var(--color-success)}@keyframes glowPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.streak-arrow{font-size:22px}.streak-arrow,.streak-note{color:var(--color-text-muted)}.streak-note{font-size:13px;line-height:1.6;text-align:center}.completed-box{background-color:#c2fde9;border-radius:8px;margin-top:10px;padding:12px}.completed-box p{color:var(--color-text-muted);font-size:14px}.todo-card{background:var(--color-card);border-radius:14px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;max-height:320px;padding:14px;transition:all .2s ease}.todo-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.todo-card h3{color:var(--color-text-primary);font-size:14px;font-weight:600;margin-bottom:10px}.todo-input{display:flex;gap:6px;margin-bottom:10px}.todo-input input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);flex:1 1;font-size:12px;outline:none;padding:6px 8px;transition:all .2s ease}.todo-input input:focus{border-color:var(--color-primary)}.todo-input button{background:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 10px;transition:all .2s ease}.todo-input button:hover{background:var(--color-primary-hover)}.todo-list{grid-gap:6px;display:grid;flex:1 1;gap:6px;overflow-y:auto;padding-right:4px}.todo-list::-webkit-scrollbar{width:6px}.todo-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}.todo-item{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;gap:8px;padding:5px 15px;transition:background .15s ease}.todo-item:hover{background:var(--color-accent-soft)}.todo-item input[type=checkbox]{accent-color:var(--color-success);cursor:pointer;transform:scale(1.5)}.todo-item span{color:var(--color-text-primary);flex:1 1;font-size:14px}.todo-item span.done{color:var(--color-text-muted);text-decoration:line-through}.todo-item button{background:#0000;border:none;color:var(--color-danger);cursor:pointer;font-size:16px;opacity:.6;padding:10px;text-align:center;transition:all .2s ease;width:25px}.todo-item button:hover{opacity:1}@media (min-width:900px){.todo-list{grid-template-columns:1fr 1fr}}@media (max-width:899px){.todo-list{grid-template-columns:1fr}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--auth-bg:#f4f4f5;--auth-card:#fff;--auth-border:#e4e4e7;--auth-text:#09090b;--auth-muted:#71717a;--auth-subtle:#f4f4f5;--auth-accent:#2563eb;--auth-danger:#ef4444;--auth-success:#16a34a;--auth-shadow:0 1px 3px #0000000f,0 4px 16px #0000000f}.auth-wrapper{-webkit-font-smoothing:antialiased;align-items:center;background:#f4f4f5;background:var(--auth-bg);display:flex;font-family:Geist,-apple-system,BlinkMacSystemFont,sans-serif;justify-content:center;min-height:100vh;padding:24px 16px}.auth-card{animation:authIn .3s ease both;background:#fff;background:var(--auth-card);border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:16px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000f;box-shadow:var(--auth-shadow);max-width:400px;padding:40px;width:100%}@keyframes authIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-logo{align-items:center;display:flex;gap:9px;margin-bottom:32px}.auth-logo-svg{display:block;flex-shrink:0}.auth-logo-name{color:#09090b;color:var(--auth-text);font-size:15px;font-weight:600;letter-spacing:-.03em}[data-theme=dark] .auth-logo-svg rect:first-child{fill:#fafafa}[data-theme=dark] .auth-logo-svg rect:not(:first-child){fill:#09090b}[data-theme=dark] .auth-logo-svg path{stroke:#09090b}.auth-heading{color:#09090b;color:var(--auth-text);font-size:21px;font-weight:600;letter-spacing:-.03em;margin-bottom:4px}.auth-subheading{color:#71717a;color:var(--auth-muted);font-size:13.5px;line-height:1.5;margin-bottom:28px}.auth-steps{align-items:flex-start;display:flex;margin-bottom:28px}.auth-step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;position:relative}.auth-step:not(:last-child):after{background:#e4e4e7;background:var(--auth-border);content:"";height:1px;left:calc(50% + 14px);position:absolute;right:calc(-50% + 14px);top:11px}.auth-step-num{align-items:center;background:#f4f4f5;background:var(--auth-subtle);border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:50%;color:#71717a;color:var(--auth-muted);display:flex;flex-shrink:0;font-size:10.5px;font-weight:600;height:22px;justify-content:center;transition:all .2s;width:22px;z-index:1}.auth-step.active .auth-step-num{background:#09090b;background:var(--auth-text);border-color:#09090b;border-color:var(--auth-text);color:#fff}.auth-step-text{color:#71717a;color:var(--auth-muted);font-size:10.5px;font-weight:500;line-height:1.3;text-align:center;white-space:nowrap}.auth-step.active .auth-step-text{color:#09090b;color:var(--auth-text);font-weight:600}.auth-field{margin-bottom:14px}.auth-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.auth-input,.auth-label{color:#09090b;color:var(--auth-text)}.auth-input{-webkit-appearance:none;background:#fff;background:var(--auth-card);border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:8px;font-family:inherit;font-size:14px;outline:none;padding:10px 13px;transition:border-color .15s,box-shadow .15s;width:100%}.auth-input::placeholder{color:#a1a1aa}.auth-input:focus{border-color:#2563eb;border-color:var(--auth-accent);box-shadow:0 0 0 3px #2563eb14}.auth-input:disabled{cursor:not-allowed;opacity:.5}.auth-forgot{display:flex;justify-content:flex-end;margin-bottom:18px;margin-top:-8px}.auth-forgot-btn{background:none;border:none;color:#71717a;color:var(--auth-muted);cursor:pointer;font-family:inherit;font-size:12.5px;padding:0;transition:color .15s}.auth-forgot-btn:hover{color:#09090b;color:var(--auth-text)}.auth-submit{align-items:center;background:#09090b;background:var(--auth-text);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:6px;justify-content:center;letter-spacing:-.01em;padding:11px;transition:opacity .15s,transform .15s;width:100%}.auth-submit:hover:not(:disabled){opacity:.85}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{cursor:not-allowed;opacity:.4}.auth-link{color:#71717a;color:var(--auth-muted);font-size:13px;margin-top:18px;text-align:center}.auth-link a{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--auth-border);color:#09090b;color:var(--auth-text);font-weight:500;padding-bottom:1px;text-decoration:none;transition:border-color .15s}.auth-link a:hover{border-color:#09090b;border-color:var(--auth-text)}.auth-error{background:#ef44440d;border:1px solid #ef444426;border-radius:7px;color:#ef4444;color:var(--auth-danger);line-height:1.5;padding:9px 12px}.auth-error,.verify-box{font-size:13px;margin-bottom:14px}.verify-box{background:#2563eb0a;border:1px solid #2563eb1f;border-radius:8px;line-height:1.6;padding:12px 14px}.resend-btn,.verify-box{color:#09090b;color:var(--auth-text)}.resend-btn{align-items:center;background:#fff;background:var(--auth-card);border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:7px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:500;margin-top:10px;padding:6px 12px;transition:background .15s}.resend-btn:hover:not(:disabled){background:#f4f4f5;background:var(--auth-subtle)}.resend-btn:disabled{cursor:not-allowed;opacity:.4}.resend-message{color:#16a34a;color:var(--auth-success);font-size:12px;margin-top:6px}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff40;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.modal-card{animation:authIn .25s ease both;background:#fff;background:var(--auth-card);border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:14px;box-shadow:0 8px 40px #0000001a;display:flex;flex-direction:column;gap:12px;padding:28px;width:min(380px,100%)}.modal-card h3{color:#09090b;color:var(--auth-text);font-size:17px;font-weight:600;letter-spacing:-.02em}.modal-card p{color:#71717a;color:var(--auth-muted);font-size:13px;line-height:1.6}.modal-card input{background:#fff;background:var(--auth-card);border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:8px;color:#09090b;color:var(--auth-text);font-family:inherit;font-size:14px;outline:none;padding:10px 13px;transition:border-color .15s;width:100%}.modal-card input:focus{border-color:#2563eb;border-color:var(--auth-accent)}.modal-btn-primary{background:#09090b;background:var(--auth-text);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;padding:10px;transition:opacity .15s;width:100%}.modal-btn-primary:hover:not(:disabled){opacity:.85}.modal-btn-primary:disabled{cursor:not-allowed;opacity:.4}.modal-btn-ghost{background:#0000;border:1px solid #e4e4e7;border:1px solid var(--auth-border);border-radius:8px;color:#71717a;color:var(--auth-muted);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;padding:10px;transition:background .15s,color .15s;width:100%}.modal-btn-ghost:hover{background:#f4f4f5;background:var(--auth-subtle);color:#09090b;color:var(--auth-text)}.reset-message{color:#16a34a;color:var(--auth-success);font-size:12.5px}[data-theme=dark]{--auth-bg:#0a0a0a;--auth-card:#111;--auth-border:#222;--auth-text:#fafafa;--auth-muted:#71717a;--auth-subtle:#1a1a1a;--auth-shadow:0 1px 3px #0006,0 4px 20px #0006}[data-theme=dark] .auth-logo-mark{background:#fafafa}[data-theme=dark] .auth-submit{background:#fafafa;color:#09090b}[data-theme=dark] .auth-submit .spinner{border-color:#09090b #0003 #0003}@media (max-width:480px){.auth-card{padding:28px 22px}.auth-heading{font-size:19px}}@keyframes acpFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes acpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes acpScaleIn{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes acpSpin{to{transform:rotate(1turn)}}@keyframes acpShimmer{0%{left:-100%}60%,to{left:160%}}@keyframes acpPulse{0%,to{box-shadow:0 0 0 0 var(--accent-light)}50%{box-shadow:0 0 0 8px #0000}}@keyframes acpSlideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.acp-fade-in{animation:acpScaleIn .5s cubic-bezier(.22,1,.36,1) both}.acp-page{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);min-height:100vh;overflow-x:hidden;padding:28px 24px 100px;position:relative}.acp-page:before{background:radial-gradient(circle,#2563eb0f 0,#0000 70%);background:radial-gradient(circle,var(--blob-1,#2563eb0f) 0,#0000 70%);border-radius:50%;content:"";height:480px;pointer-events:none;position:fixed;right:-5%;top:-10%;width:480px;z-index:0}.acp-hero{animation:acpFadeUp .7s cubic-bezier(.22,1,.36,1) both;margin:0 auto 40px;max-width:680px;position:relative;text-align:center;transition:margin-bottom .4s ease;z-index:1}.acp-hero--compact{margin-bottom:24px}.acp-hero-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(130deg,var(--text) 60%,var(--accent));-webkit-background-clip:text;background-clip:text;color:var(--text);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.03em;margin-bottom:10px}.acp-hero-text p{color:#64748b;color:var(--text-muted,#64748b);font-size:1rem;margin-bottom:28px}.acp-hero-text p strong{color:var(--text);font-weight:600}.acp-url-bar{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:14px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);display:flex;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.acp-url-bar:focus-within{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 4px #2563eb12,0 0 40px #2563eb1f;box-shadow:0 0 0 4px var(--accent-light,#2563eb12),0 0 40px #2563eb1f}.acp-url-bar--playlist{border-color:#7c3aed59}.acp-url-bar--video{border-color:#2563eb59}.acp-url-icon{color:var(--text-muted);flex-shrink:0;font-size:18px;padding:0 14px;transition:transform .3s ease;-webkit-user-select:none;user-select:none}.acp-url-bar:focus-within .acp-url-icon{transform:scale(1.15)}.acp-url-bar input{background:#0000;border:none;color:var(--text);flex:1 1;font-family:inherit;font-size:.95rem;min-width:0;outline:none;padding:16px 12px}.acp-url-bar input::placeholder{color:#cbd5e1;color:var(--text-dim,#cbd5e1)}.acp-url-bar input:disabled{opacity:.6}.acp-detect-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:.88rem;font-weight:700;gap:6px;overflow:hidden;padding:14px 22px;position:relative;transition:opacity .2s ease;white-space:nowrap}.acp-detect-btn:after{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.acp-detect-btn:hover:not(:disabled):after{transform:translateX(100%)}.acp-detect-btn:hover:not(:disabled){opacity:.92}.acp-detect-btn:disabled{cursor:not-allowed;opacity:.5}.acp-mode-pill{align-items:center;animation:acpFadeIn .3s ease both;border-radius:999px;display:inline-flex;font-size:12.5px;font-weight:600;gap:8px;margin-top:14px;padding:6px 14px 6px 12px}.acp-mode-pill--playlist{background:#7c3aed14;border:1px solid #7c3aed33;color:#7c3aed;color:var(--accent-2,#7c3aed)}.acp-mode-pill--video{background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb47;border:1px solid var(--border-glow,#2563eb47);color:#2563eb;color:var(--accent,#2563eb)}.acp-mode-clear{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;opacity:.6;padding:0;transition:opacity .2s ease,transform .2s ease}.acp-mode-clear:hover{opacity:1;transform:scale(1.2)}.acp-error{animation:acpFadeIn .3s ease both;background:#ef444412;border:1px solid #ef444433;border-radius:10px;color:#ef4444;color:var(--bad,#ef4444);font-size:13px;margin-top:12px;padding:10px 16px;text-align:left}.acp-spinner{animation:acpSpin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:16px;width:16px}.acp-spinner--lg{border-color:#00000014;border-color:var(--border,#00000014);border-top-color:#2563eb;border-top-color:var(--accent,#2563eb);border-width:3px;height:36px;width:36px}.acp-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:16px;padding:60px 0}.acp-guide,.acp-loading{position:relative;z-index:1}.acp-guide{margin:0 auto 40px;max-width:720px}.acp-guide-title{color:#64748b;color:var(--text-muted,#64748b);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:16px;text-align:center;text-transform:uppercase}.acp-guide-steps{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.acp-guide-step{align-items:flex-start;animation:acpFadeUp .5s ease both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:14px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);display:flex;gap:12px;padding:16px;transition:border-color .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.acp-guide-step:first-child{animation-delay:.05s}.acp-guide-step:nth-child(2){animation-delay:.1s}.acp-guide-step:nth-child(3){animation-delay:.15s}.acp-guide-step:nth-child(4){animation-delay:.2s}.acp-guide-step:hover{border-color:#2563eb47;border-color:var(--border-glow,#2563eb47);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a);transform:translateY(-3px)}.acp-guide-step-num{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:800;height:22px;justify-content:center;margin-top:1px;width:22px}.acp-guide-icon{flex-shrink:0;font-size:20px;margin-top:1px}.acp-guide-text{flex:1 1;min-width:0}.acp-guide-text strong{color:#0f172a;color:var(--text,#0f172a);display:block;font-size:13px;font-weight:700;margin-bottom:3px}.acp-guide-text p{color:#64748b;color:var(--text-muted,#64748b);font-size:12px;line-height:1.5;margin:0}.acp-guide-example{background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb1f;border-radius:6px;color:#2563eb;color:var(--accent,#2563eb);display:inline-block;font-family:monospace;font-size:11px;margin-top:6px;padding:3px 8px;word-break:break-all}.acp-tips{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px}.acp-tips-label{color:var(--text-muted);font-size:12px;font-weight:700;white-space:nowrap}.acp-tips-row{display:flex;flex-wrap:wrap;gap:7px}.acp-tip-pill{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:12px;font-weight:500;padding:4px 12px;transition:border-color .2s ease,color .2s ease;white-space:nowrap}.acp-tip-pill:hover{border-color:var(--border-glow);color:var(--text)}.acp-playlist-confirm{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:20px;box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a);margin:0 auto;max-width:520px;overflow:hidden;padding:40px 36px;position:relative;text-align:center;z-index:1}.acp-playlist-confirm:before{background:linear-gradient(90deg,var(--accent),#7c3aed,#059669);background:linear-gradient(90deg,var(--accent),var(--accent-2,#7c3aed),var(--accent-3,#059669));content:"";height:3px;left:0;position:absolute;right:0;top:0}.acp-playlist-icon{display:block;font-size:36px;margin-bottom:14px}.acp-playlist-confirm h2{color:var(--text);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.acp-playlist-confirm>p{color:var(--text-muted);font-size:.93rem;line-height:1.7;margin-bottom:20px}.acp-playlist-perks{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:24px;text-align:left}.acp-perk{align-items:flex-start;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);border-radius:9px;color:var(--text-muted);display:flex;font-size:12.5px;font-weight:500;gap:8px;line-height:1.4;padding:10px 12px;transition:border-color .2s ease}.acp-perk:hover{border-color:var(--border-glow)}.acp-perk span{flex-shrink:0;font-size:14px}.acp-btn-primary{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.93rem;font-weight:700;gap:8px;justify-content:center;overflow:hidden;padding:13px 28px;position:relative;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,opacity .2s ease}.acp-btn-primary:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .45s ease}.acp-btn-primary:hover:not(:disabled):after{transform:translateX(100%)}.acp-btn-primary:hover:not(:disabled){box-shadow:0 12px 30px #2563eb4d;transform:translateY(-2px) scale(1.02)}.acp-btn-primary:disabled{cursor:not-allowed;opacity:.45;transform:none!important}.acp-builder{margin:0 auto;max-width:1200px;position:relative;z-index:1}.acp-video-guide{align-items:flex-start;background:#2563eb0f;background:var(--accent-light,#2563eb0f);border:1px solid #2563eb33;border:1px solid var(--border-glow,#2563eb33);border-radius:10px;color:var(--text-muted);display:flex;font-size:13px;gap:10px;line-height:1.55;margin-bottom:20px;padding:12px 16px}.acp-video-guide-icon{flex-shrink:0;font-size:16px;margin-top:1px}.acp-video-guide p{margin:0}.acp-video-guide strong{color:var(--text)}.acp-title-row{align-items:center;animation:acpFadeUp .5s ease .05s both;display:flex;gap:14px;margin-bottom:20px}.acp-label{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.acp-title-input{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:10px;color:var(--text);flex:1 1;font-family:inherit;font-size:1rem;font-weight:600;outline:none;padding:11px 16px;transition:border-color .28s ease,box-shadow .28s ease}.acp-title-input:focus{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.acp-columns{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1fr 1.5fr}.acp-panel{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:18px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);display:flex;flex-direction:column;overflow:hidden;transition:border-color .28s ease,box-shadow .28s ease}.acp-panel:hover{border-color:#2563eb47;border-color:var(--border-glow,#2563eb47);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a)}.acp-panel--course{animation:acpFadeUp .6s ease .1s both;position:-webkit-sticky;position:sticky;top:20px}.acp-panel--related{animation:acpFadeUp .6s ease .18s both}.acp-panel-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 18px 12px}.acp-panel-header h3{color:var(--text);font-size:14.5px;font-weight:800;letter-spacing:-.01em;margin-bottom:2px}.acp-panel-sub{color:var(--text-muted);font-size:11.5px}.acp-drag-hint{color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:11px;font-style:italic;margin-top:4px}.acp-empty-list{color:var(--text-muted);padding:36px 18px;text-align:center}.acp-empty-list span{color:var(--text);display:block;font-size:14px;font-weight:600;margin-bottom:5px}.acp-empty-list p{font-size:13px}.acp-course-list{display:flex;flex-direction:column;gap:5px;list-style:none;max-height:420px;overflow-y:auto;padding:8px 10px;scrollbar-color:#2563eb #0000;scrollbar-color:var(--accent,#2563eb) #0000;scrollbar-width:thin}.acp-course-list::-webkit-scrollbar{width:4px}.acp-course-list::-webkit-scrollbar-thumb{background:#2563eb;background:var(--accent,#2563eb);border-radius:99px}.acp-course-item{align-items:center;animation:acpSlideIn .3s ease both;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);border-radius:10px;cursor:grab;display:flex;gap:7px;overflow:hidden;padding:8px 10px;position:relative;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.acp-course-item:before{background:linear-gradient(to bottom,var(--accent),#7c3aed);background:linear-gradient(to bottom,var(--accent),var(--accent-2,#7c3aed));bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:bottom;transition:transform .25s ease;width:3px}.acp-course-item:hover:before{transform:scaleY(1)}.acp-course-item:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);border-color:var(--border-glow);box-shadow:var(--shadow-sm)}.acp-course-item:active{cursor:grabbing;transform:scale(.98)}.acp-drag-handle{color:#cbd5e1;color:var(--text-dim,#cbd5e1);cursor:grab;font-size:13px;-webkit-user-select:none;user-select:none}.acp-course-item:hover .acp-drag-handle,.acp-item-num{color:var(--text-muted)}.acp-item-num{flex-shrink:0;font-size:11px;font-weight:700;min-width:16px;text-align:center}.acp-item-thumb{border:1px solid var(--border);border-radius:5px;flex-shrink:0;height:34px;object-fit:cover;transition:transform .3s ease;width:50px}.acp-course-item:hover .acp-item-thumb{transform:scale(1.05)}.acp-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.acp-item-title{color:var(--text);display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acp-item-dur{color:var(--text-muted);font-size:10.5px}.acp-item-controls{display:flex;flex-shrink:0;gap:3px}.acp-move-btn{align-items:center;background:#eef1f6;background:var(--bg-2,#eef1f6);border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;display:flex;font-size:10px;height:22px;justify-content:center;padding:0;transition:all .2s ease;width:22px}.acp-move-btn:hover:not(:disabled){background:#2563eb;background:var(--accent,#2563eb);border-color:var(--accent);color:#fff;transform:scale(1.1)}.acp-move-btn:disabled{cursor:not-allowed;opacity:.25}.acp-remove-btn{align-items:center;background:#ef444412;border:1px solid #ef444426;border-radius:5px;color:#ef4444;color:var(--bad,#ef4444);cursor:pointer;display:flex;font-size:10px;height:22px;justify-content:center;padding:0;transition:all .2s ease;width:22px}.acp-remove-btn:hover{background:#ef4444;background:var(--bad,#ef4444);border-color:var(--bad);color:#fff;transform:scale(1.1)}.acp-add-by-url{border-top:1px solid var(--border);padding:10px 10px 4px}.acp-add-url-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.acp-add-url-bar{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:9px;display:flex;overflow:hidden;transition:border-color .28s ease,box-shadow .28s ease}.acp-add-url-bar:focus-within{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.acp-add-url-bar--loading{opacity:.7}.acp-add-url-icon{color:var(--text-muted);flex-shrink:0;font-size:13px;padding:0 9px}.acp-add-url-bar input{background:#0000;border:none;color:var(--text);flex:1 1;font-family:inherit;font-size:12px;min-width:0;outline:none;padding:9px 6px}.acp-add-url-bar input::placeholder{color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:11.5px}.acp-add-url-bar input:disabled{opacity:.6}.acp-add-url-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:11.5px;font-weight:700;gap:4px;overflow:hidden;padding:9px 12px;position:relative;transition:opacity .2s ease;white-space:nowrap}.acp-add-url-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.acp-add-url-btn:hover:not(:disabled):after{transform:translateX(100%)}.acp-add-url-btn:hover:not(:disabled){opacity:.88}.acp-add-url-btn:disabled{cursor:not-allowed;opacity:.45}.acp-add-url-error{animation:acpFadeIn .2s ease both;color:#ef4444;color:var(--bad,#ef4444);font-size:11.5px;margin-top:6px;padding:0 3px}.acp-submit-btn{animation:acpPulse 3s ease-in-out 2s infinite;border-radius:10px;margin:12px 10px 14px;padding:13px;width:calc(100% - 20px)}.acp-submit-btn:disabled{animation:none}.acp-related-grid{display:flex;flex-direction:column;gap:0;max-height:560px;overflow-y:auto;padding:8px 10px;scrollbar-color:#2563eb #0000;scrollbar-color:var(--accent,#2563eb) #0000;scrollbar-width:thin}.acp-related-grid::-webkit-scrollbar{width:4px}.acp-related-grid::-webkit-scrollbar-thumb{background:#2563eb;background:var(--accent,#2563eb);border-radius:99px}.acp-no-related{color:var(--text-muted);font-size:13px;padding:36px 0;text-align:center}.acp-related-card{align-items:center;border:1px solid #0000;border-radius:11px;display:flex;gap:10px;padding:9px;transition:background .22s ease,border-color .22s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.acp-related-card:hover{background:#2563eb0f;background:var(--accent-light,#2563eb0f);border-color:var(--border);transform:translateX(3px)}.acp-related-card--added{background:#0596690d;border-color:#05966926!important}[data-theme=dark] .acp-related-card--added{background:#34d3990f;border-color:#34d39926!important}.acp-related-thumb-wrap{border:1px solid var(--border);border-radius:7px;flex-shrink:0;height:60px;overflow:hidden;position:relative;width:90px}.acp-related-thumb{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.acp-related-card:hover .acp-related-thumb{transform:scale(1.06)}.acp-related-dur{background:#000000bf;border-radius:3px;bottom:3px;color:#fff;font-size:10px;font-weight:700;line-height:1.4;padding:1px 5px;position:absolute;right:3px}.acp-related-info{flex:1 1;min-width:0}.acp-related-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text);display:-webkit-box;font-size:12.5px;font-weight:600;line-height:1.4;margin-bottom:3px;overflow:hidden}.acp-related-channel{color:var(--text-muted);display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acp-add-btn{background:#0000;border:1.5px solid #2563eb;border:1.5px solid var(--accent,#2563eb);border-radius:7px;color:#2563eb;color:var(--accent,#2563eb);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:700;padding:6px 13px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s ease,box-shadow .2s ease;white-space:nowrap}.acp-add-btn:hover{background:#2563eb;background:var(--accent,#2563eb);box-shadow:0 4px 12px #2563eb40;color:#fff;transform:scale(1.06)}.acp-add-btn--added{background:#05966914;border-color:#05966959;color:#059669;color:var(--good,#059669)}[data-theme=dark] .acp-add-btn--added{background:#34d39914;border-color:#34d3994d;color:var(--good)}.acp-add-btn--added:hover{background:#ef4444;background:var(--bad,#ef4444);border-color:var(--bad);box-shadow:0 4px 12px #ef444433;color:#fff}@media (max-width:900px){.acp-columns{grid-template-columns:1fr}.acp-panel--course{position:static}.acp-guide-steps{grid-template-columns:1fr}}@media (max-width:600px){.acp-page{padding:20px 16px 80px}.acp-hero-text h1{font-size:1.5rem}.acp-detect-btn{font-size:.82rem;padding:14px}.acp-title-row{align-items:flex-start;flex-direction:column;gap:8px}.acp-title-input{width:100%}.acp-playlist-confirm{padding:28px 20px}.acp-playlist-perks{grid-template-columns:1fr}.acp-related-thumb-wrap{height:46px;width:70px}.acp-tips{align-items:flex-start;flex-direction:column}}.back-btn{align-items:center;appearance:none;-webkit-appearance:none;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:10px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);color:#64748b;color:var(--text-muted,#64748b);display:inline-flex;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:13px;font-weight:600;gap:7px;margin-right:auto;padding:8px 16px;transition:border-color .25s ease,color .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;width:-webkit-fit-content;width:fit-content}.back-btn:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a);color:#2563eb;color:var(--accent,#2563eb);transform:translateX(-3px)}.back-btn:active{transform:translateX(-1px) scale(.97)}.back-btn-arrow{font-size:15px;line-height:1;transition:transform .25s ease}.back-btn:hover .back-btn-arrow{transform:translateX(-2px)}.back-btn-label{color:var(--color-text-primary);line-height:1}.back-btn:hover .back-btn-arrow,.back-btn:hover .back-btn-label{color:#fff}.course-player{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;padding:2rem}.player-section{background:var(--color-card);border-radius:20px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;padding:1.5rem}.top-bar{display:flex;justify-content:space-between;margin-bottom:1rem}.back-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px}.nav-mini button{background:#4f46e514;border:1px solid var(--color-primary);border-radius:20px;color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease}.nav-mini button:hover:not(:disabled){background:var(--color-primary);box-shadow:0 4px 12px #4f46e540;color:#fff;transform:translateY(-1px)}.nav-mini button:disabled{background:#0000;border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.35}.video-frame{aspect-ratio:16/9;border-radius:16px;overflow:hidden;width:100%}.course-meta h2{font-size:18px;margin:1rem 0 .3rem}.course-meta p{color:var(--color-text-muted);font-size:14px}.motivation{color:var(--color-primary);font-weight:600}.progress-bar{background:var(--color-border);border-radius:4px;height:6px;margin-top:1rem;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;transition:width .3s ease}.stats-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.stat-card{background:var(--color-accent-soft);border-radius:14px;flex:1 1;min-width:120px;padding:1rem;text-align:center}.stat-card span{color:var(--color-text-muted);font-size:12px}.stat-card h4{margin:.5rem 0 0}.stat-card.roadmap{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff}.stat-card.roadmap span{color:#fff}.notes-card{background:var(--color-accent-soft);border-radius:14px;font-size:14px;margin-top:1.5rem;padding:1rem}.notes-card.locked span{font-size:12px;opacity:.7}.playlist-section{background:var(--color-card);border-radius:20px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;max-height:90vh;padding:1.5rem}.playlist-header{display:flex;justify-content:space-between;margin-bottom:1rem}.playlist-list{max-height:80vh;overflow-y:auto}.playlist-item{border-radius:10px;cursor:pointer;display:flex;gap:1rem;padding:.7rem;transition:.2s}.playlist-item.active,.playlist-item:hover{background:var(--color-accent-soft)}.playlist-item.active{color:var(--color-primary);font-weight:600}.video-count{color:var(--color-text-muted);font-size:12px}.notes-panel{background:var(--color-accent-soft);border-radius:16px;display:flex;flex-direction:column;margin-top:2rem;padding:1.2rem}.notes-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.notes-actions button{background:#4f46e514;border:none;border-radius:20px;color:var(--color-primary);cursor:pointer;font-size:13px;margin-right:8px;padding:6px 14px;transition:.2s}.notes-actions button:hover{background:var(--color-primary);color:#fff}.notes-status{font-size:12px}.notes-empty,.notes-status{color:var(--color-text-muted)}.notes-empty{font-size:14px;margin-top:1rem}.notes-list{gap:1rem;margin-top:1rem}.note-item,.notes-list{display:flex;flex-direction:column}.note-item{background:#fff;border-radius:12px;padding:.8rem;position:relative}.note-time{color:var(--color-primary);cursor:pointer;font-size:12px;font-weight:600;margin-bottom:6px}.note-time:hover{text-decoration:underline}.note-item textarea{background:#0000;border:none;font-size:14px;min-height:60px;outline:none;resize:none}.note-delete{background:none;border:none;cursor:pointer;font-size:12px;opacity:.5;position:absolute;right:8px;top:8px}.note-delete:hover{opacity:1}.playlist-item.completed{background:#22c55e14;border-left:3px solid #22c55e}.playlist-item.completed .video-count{color:#22c55e;font-weight:600}.playlist-item.completed .video-title{color:#22c55e}.notes-actions{align-items:center;display:flex;gap:10px}.notes-actions .divider{background:var(--color-border);height:18px;width:1px}.ai-quiz-locked{-webkit-padding-start:10px;align-items:center;border:2px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);display:flex;font-size:13px;gap:6px;opacity:.85;padding-inline-start:10px}.pro-badge{background:var(--color-primary);border-radius:10px;color:#fff;font-size:10px;padding:2px 6px}.vote-mini{background:var(--color-border);border:none;border-radius:6px;cursor:pointer;font-size:12px;padding:2px 6px;transition:.2s ease}.vote-mini:hover{background:var(--color-primary);color:#fff}.vote-thanks-mini{color:var(--color-success);font-size:12px}.certificate-section{margin-top:22px}.certificate-card{align-items:center;background:linear-gradient(135deg,#f8faff,#eef2ff);border:1px solid #e3e8ff;border-radius:14px;box-shadow:0 4px 14px #0000000a;display:flex;gap:18px;padding:20px 22px;transition:all .2s ease}.certificate-card:hover{box-shadow:0 10px 24px #00000014;transform:translateY(-2px)}.certificate-info{color:#111827;display:flex;flex-direction:column;font-size:15px;font-weight:600}.certificate-info span{color:#6b7280;font-size:13px;font-weight:400;margin-top:3px}.download-certificate-btn{align-items:center;background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;margin-left:auto;padding:10px 18px;transition:all .15s ease}.download-certificate-btn:hover{background:#4338ca;transform:translateY(-1px)}.download-certificate-btn:active{transform:translateY(0)}.certificate-info:before{content:"🏆";font-size:22px;margin-bottom:4px}.certificate-hint{align-items:center;background:#f3f4ff;border:1px solid #e0e4ff;border-radius:10px;color:#4f46e5;display:flex;font-size:13px;gap:6px;margin-top:12px;padding:10px 14px}@media (max-width:1100px){.course-player{gap:1.5rem;grid-template-columns:1fr}.playlist-section{max-height:none}.playlist-list{max-height:350px}}@media (max-width:768px){.course-player{gap:1rem;padding:1rem}.player-section,.playlist-section{padding:1rem}.top-bar{align-items:flex-start;flex-direction:column;gap:.6rem}.nav-mini{display:flex;flex-wrap:wrap;gap:6px}.nav-mini button{font-size:12px;padding:6px 12px}.course-meta h2{font-size:16px}.stats-row{flex-direction:column;gap:.7rem}.stat-card{width:100%}.notes-header{align-items:flex-start;flex-direction:column;gap:10px}.notes-actions{flex-wrap:wrap}}@media (max-width:480px){.course-player{padding:.7rem}.video-frame{border-radius:10px}.nav-mini button{font-size:11px;padding:5px 10px}.playlist-item{padding:.6rem}.video-title{font-size:13px}.notes-panel{padding:.9rem}.note-item textarea{font-size:13px}.certificate-card{align-items:flex-start;flex-direction:column;gap:12px}.download-certificate-btn{justify-content:center;width:100%}}@media (max-width:768px){.playlist-section{order:3}.player-section{order:1}}.cte-wrap{background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:14px;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);margin-top:12px;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.cte-wrap:hover{border-color:#2563eb47;border-color:var(--border-glow,#2563eb47);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f)}.cte-header{align-items:center;background:none;border:none;color:#0f172a;color:var(--text,#0f172a);cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;padding:13px 16px;transition:background .2s ease;width:100%}.cte-header:hover{background:#2563eb0d;background:var(--accent-light,#2563eb0d)}.cte-header-left{align-items:center;display:flex;gap:8px}.cte-icon{font-size:15px}.cte-label{color:#0f172a;color:var(--text,#0f172a);font-size:13px;font-weight:700}.cte-preview{font-size:12px;font-weight:400}.cte-chevron,.cte-preview{color:#64748b;color:var(--text-muted,#64748b)}.cte-chevron{display:inline-block;font-size:18px;line-height:1;transform:rotate(90deg);transition:transform .25s ease}.cte-chevron--up{transform:rotate(-90deg)}.cte-body{border-top:1px solid #0000000f;border-top:1px solid var(--border,#0000000f);display:flex;flex-direction:column;gap:14px;padding:0 16px 16px}.cte-remaining{align-items:baseline;background:linear-gradient(135deg,#2563eb0f,#7c3aed0a);border:1px solid #2563eb1a;border-radius:10px;display:flex;gap:8px;margin-top:14px;padding:12px 14px}.cte-remaining-num{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;letter-spacing:-.03em}.cte-remaining-label{color:#64748b;color:var(--text-muted,#64748b);font-size:13px;font-weight:500}.cte-total{color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:11.5px;margin-left:4px}.cte-section-label{color:#64748b;color:var(--text-muted,#64748b);font-size:12px;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.cte-presets{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.cte-preset{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:999px;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;padding:5px 12px;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.cte-preset:hover{color:#2563eb;color:var(--accent,#2563eb);transform:scale(1.06)}.cte-preset--active,.cte-preset:hover{border-color:#2563eb;border-color:var(--accent,#2563eb)}.cte-preset--active{background:#2563eb;background:var(--accent,#2563eb);color:#fff}.cte-preset--active:hover{color:#fff;transform:scale(1.06)}.cte-custom-wrap{position:relative}.cte-custom-input{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:999px;color:#0f172a;color:var(--text,#0f172a);font-family:inherit;font-size:12px;font-weight:600;outline:none;padding:5px 10px;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;width:72px}.cte-custom-input::placeholder{color:#cbd5e1;color:var(--text-dim,#cbd5e1)}.cte-custom-input--active,.cte-custom-input:focus{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb1a}.cte-result{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:14px;transition:border-color .25s ease}.cte-result--heavy{background:#f59e0b0a;border-color:#f59e0b66}.cte-result--light{background:#0596690a;border-color:#0596694d}.cte-result-main{align-items:baseline;display:flex;gap:8px}.cte-result-num{color:#2563eb;color:var(--accent,#2563eb);font-size:26px;font-weight:800;letter-spacing:-.03em}.cte-result--heavy .cte-result-num{color:#d97706}.cte-result--light .cte-result-num{color:#059669;color:var(--good,#059669)}.cte-result-text{color:#64748b;color:var(--text-muted,#64748b);font-size:13px;font-weight:500}.cte-bar-track{background:#00000014;background:var(--border,#00000014);height:6px;width:100%}.cte-bar-fill,.cte-bar-track{border-radius:999px;overflow:hidden;position:relative}.cte-bar-fill{background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.cte-result--heavy .cte-bar-fill{background:linear-gradient(90deg,#f59e0b,#ef4444)}.cte-result--light .cte-bar-fill{background:linear-gradient(90deg,#059669,#10b981)}.cte-bar-fill:after{animation:cteShimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff59,#0000);content:"";inset:0;position:absolute}@keyframes cteShimmer{0%{transform:translateX(-100%)}60%,to{transform:translateX(100%)}}.cte-bar-label{color:#64748b;color:var(--text-muted,#64748b);display:block;font-size:11px;font-weight:600;margin-top:5px}.cte-result--heavy .cte-bar-label{color:#d97706}.cte-result--light .cte-bar-label{color:#059669;color:var(--good,#059669)}.cte-streak-note{color:#64748b;color:var(--text-muted,#64748b);font-size:11.5px;font-style:italic;line-height:1.5}.cte-pace{align-items:flex-start;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;display:flex;gap:10px;padding:12px 14px}.cte-pace-icon{flex-shrink:0;font-size:15px;margin-top:1px}.cte-pace-text{display:flex;flex-direction:column;gap:3px}.cte-pace-loading,.cte-pace-none{color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:12px;font-style:italic}.cte-pace-main{color:#0f172a;color:var(--text,#0f172a);font-size:13px;font-weight:500}.cte-pace-main strong{color:#2563eb;color:var(--accent,#2563eb);font-weight:800}.cte-pace-sub{color:#64748b;color:var(--text-muted,#64748b);font-size:11px}.cte-complete{background:#05966912;border:1px solid #05966933;border-radius:10px;color:#059669;color:var(--good,#059669);font-size:13px;font-weight:700;padding:10px;text-align:center}[data-theme=dark] .cte-wrap{background:#111c2e;background:var(--bg-card,#111c2e);border-color:#ffffff12;border-color:var(--border,#ffffff12)}[data-theme=dark] .cte-remaining{background:linear-gradient(135deg,#60a5fa14,#a78bfa0d);border-color:#60a5fa1f}[data-theme=dark] .cte-custom-input,[data-theme=dark] .cte-pace,[data-theme=dark] .cte-preset,[data-theme=dark] .cte-result{background:#0d1525;background:var(--bg-2,#0d1525)}[data-theme=dark] .cte-custom-input{color:#e2e8f0;color:var(--text,#e2e8f0)}@keyframes pfUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pfPop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes pfSpin{to{transform:rotate(1turn)}}@keyframes pfShimmer{0%{transform:translateX(-100%)}60%,to{transform:translateX(100%)}}@keyframes pfFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pfGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.15;transform:scale(1.1)}}.pf-loading{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);color:#64748b;color:var(--text-muted,#64748b);display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:14px;gap:16px;justify-content:center;min-height:100vh}.pf-spinner{animation:pfSpin .7s linear infinite;border:3px solid #00000014;border-top-color:#2563eb;border:3px solid var(--border,#00000014);border-radius:50%;border-top-color:var(--accent,#2563eb);height:32px;width:32px}.pf-page{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);min-height:100vh;padding:28px 24px 100px}.pf-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:780px}.pf-back-row{animation:pfUp .4s ease both}.pf-hero{align-items:center;animation:pfUp .6s cubic-bezier(.22,1,.36,1) .05s both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:22px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);display:flex;flex-direction:column;gap:16px;overflow:hidden;padding:44px 32px 36px;position:relative;text-align:center}.pf-hero:before{background:linear-gradient(90deg,#2563eb,#7c3aed,#059669);background:linear-gradient(90deg,var(--accent,#2563eb),var(--accent-2,#7c3aed),var(--accent-3,#059669));content:"";height:3px;left:0;position:absolute;right:0;top:0}.pf-hero-bg{animation:pfGlow 5s ease-in-out infinite;background:radial-gradient(circle,#2563eb0f 0,#0000 70%);border-radius:50%;height:300px;left:50%;pointer-events:none;position:absolute;top:-60px;transform:translateX(-50%);width:300px}.pf-avatar{animation:pfPop .5s cubic-bezier(.34,1.56,.64,1) .15s both}.pf-avatar,.pf-avatar>span{height:90px;position:relative;width:90px}.pf-avatar>span{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border-radius:50%;box-shadow:0 8px 24px #2563eb47;color:#fff;display:flex;font-size:38px;font-weight:800;justify-content:center;z-index:2}.pf-avatar-glow{animation:pfGlow 3s ease-in-out infinite;border:2px solid #2563eb33;border-radius:50%;inset:-8px;position:absolute;z-index:1}.pf-name-view{align-items:center;display:flex;gap:10px}.pf-name{color:#0f172a;color:var(--text,#0f172a);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;letter-spacing:-.03em;margin:0}.pf-edit-icon-btn{align-items:center;background:#2563eb12;background:var(--accent-light,#2563eb12);border:1.5px solid #2563eb2e;border-radius:9px;color:#2563eb;color:var(--accent,#2563eb);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:32px;justify-content:center;transition:background .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);width:32px}.pf-edit-icon-btn:hover{background:#2563eb;background:var(--accent,#2563eb);color:#fff;transform:scale(1.1)}.pf-name-edit{align-items:center;display:flex;flex-direction:column;gap:8px;max-width:320px;width:100%}.pf-name-input{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:11px;color:#0f172a;color:var(--text,#0f172a);font-family:inherit;font-size:1.3rem;font-weight:700;outline:none;padding:10px 16px;text-align:center;transition:border-color .25s ease,box-shadow .25s ease;width:100%}.pf-name-input:focus{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.pf-name-note{color:#64748b;color:var(--text-muted,#64748b);font-size:11.5px;margin:0}.pf-name-btns{display:flex;gap:8px}.pf-save-btn{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border:none;border-radius:9px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:8px 20px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.pf-save-btn:hover:not(:disabled){transform:scale(1.05)}.pf-save-btn:disabled{cursor:not-allowed;opacity:.5}.pf-cancel-btn{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:9px;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,color .2s ease}.pf-cancel-btn:hover{border-color:#ef4444;border-color:var(--bad,#ef4444);color:#ef4444;color:var(--bad,#ef4444)}.pf-saved-msg{animation:pfUp .3s ease both;color:#059669;color:var(--accent-3,#059669);font-size:12.5px;font-weight:600}.pf-xp-wrap{display:flex;flex-direction:column;gap:7px;max-width:360px;width:100%}.pf-xp-row{align-items:center;display:flex;justify-content:space-between}.pf-xp-level{background:#2563eb14;background:var(--accent-light,#2563eb14);border:1px solid #2563eb26;border-radius:999px;color:#2563eb;color:var(--accent,#2563eb);font-size:11.5px;font-weight:800;letter-spacing:.06em;padding:3px 11px;text-transform:uppercase}.pf-xp-count{color:#64748b;color:var(--text-muted,#64748b);font-size:12px;font-weight:600}.pf-xp-track{background:#00000014;background:var(--border,#00000014);height:7px;width:100%}.pf-xp-fill,.pf-xp-track{border-radius:99px;overflow:hidden}.pf-xp-fill{background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));height:100%;min-width:4px;position:relative;transition:width 1.4s cubic-bezier(.4,0,.2,1)}.pf-xp-fill:after{animation:pfShimmer 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff61,#0000);content:"";inset:0;position:absolute}.pf-xp-hint{align-self:flex-end;color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:11px;text-align:right}.pf-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.pf-stat{align-items:center;animation:pfUp .5s ease both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:16px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);cursor:default;display:flex;flex-direction:column;gap:6px;padding:22px 16px 18px;text-align:center;transition:border-color .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.pf-stat:hover{border-color:#2563eb47;border-color:var(--border-glow,#2563eb47);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a);transform:translateY(-4px)}.pf-stat-icon{animation:pfFloat 4s ease-in-out infinite;font-size:24px;line-height:1}.pf-stat:nth-child(2) .pf-stat-icon{animation-delay:.6s}.pf-stat:nth-child(3) .pf-stat-icon{animation-delay:1.2s}.pf-stat:nth-child(4) .pf-stat-icon{animation-delay:.3s}.pf-stat:nth-child(5) .pf-stat-icon{animation-delay:.9s}.pf-stat:nth-child(6) .pf-stat-icon{animation-delay:1.5s}.pf-stat-val{color:#0f172a;color:var(--text,#0f172a);font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1}.pf-stat-label{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:600;letter-spacing:.07em;line-height:1.3;text-transform:uppercase}.pf-section{animation:pfUp .6s ease .1s both;display:flex;flex-direction:column;gap:14px}.pf-section-head{align-items:center;display:flex;gap:10px}.pf-section-head h2{color:#0f172a;color:var(--text,#0f172a);font-size:16px;font-weight:800;letter-spacing:-.01em}.pf-badge-count{background:#2563eb14;background:var(--accent-light,#2563eb14);border:1px solid #2563eb26;border-radius:999px;color:#2563eb;color:var(--accent,#2563eb);font-size:12px;font-weight:700;padding:2px 10px}.pf-empty{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1.5px dashed #00000014;border:1.5px dashed var(--border,#00000014);border-radius:16px;color:#64748b;color:var(--text-muted,#64748b);display:flex;flex-direction:column;font-size:13.5px;gap:10px;line-height:1.6;padding:36px 24px;text-align:center}.pf-empty-icon{animation:pfFloat 3s ease-in-out infinite;font-size:32px}.pf-badges-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pf-badge{align-items:center;animation:pfPop .4s ease both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:16px;cursor:default;display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:20px 14px;position:relative;text-align:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .25s ease,box-shadow .25s ease}.pf-badge:before{background:#2563eb;background:var(--bc,var(--accent,#2563eb));border-radius:16px 0 0 16px;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.pf-badge:after{background:#2563eb0a;background:var(--bb,#2563eb0a);content:"";inset:0;pointer-events:none;position:absolute}.pf-badge:hover{border-color:#2563eb;border-color:var(--bc,var(--accent,#2563eb));box-shadow:0 10px 28px #00000017;transform:translateY(-5px) scale(1.03)}.pf-badge-icon{animation:pfFloat 3.5s ease-in-out infinite;font-size:30px;position:relative;z-index:1}.pf-badge-name{color:#0f172a;color:var(--text,#0f172a);font-size:12px;line-height:1.3}.pf-badge-name,.pf-badge-pill{font-weight:700;position:relative;z-index:1}.pf-badge-pill{background:#2563eb12;background:var(--bb,#2563eb12);border:1px solid;border-radius:999px;color:#2563eb;color:var(--bc,var(--accent,#2563eb));font-size:11px;padding:2px 9px}.pf-badge-date{color:#64748b;color:var(--text-muted,#64748b);font-size:10.5px;position:relative;z-index:1}.pf-certs-grid{display:flex;flex-direction:column;gap:10px}.pf-cert{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border-left:3px solid #2563eb;border:1.5px solid var(--border,#00000014);border-left:3px solid var(--accent,#2563eb);border-radius:13px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);cursor:pointer;display:flex;gap:14px;padding:16px 18px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s ease,box-shadow .25s ease}.pf-cert:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a);transform:translateX(5px)}.pf-cert-icon{flex-shrink:0;font-size:24px}.pf-cert-info{flex:1 1;min-width:0}.pf-cert-name{color:#0f172a;color:var(--text,#0f172a);font-size:14px;font-weight:700;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-cert-date{font-size:12px}.pf-cert-arrow,.pf-cert-date{color:#64748b;color:var(--text-muted,#64748b)}.pf-cert-arrow{flex-shrink:0;font-size:16px;transition:transform .2s ease}.pf-cert:hover .pf-cert-arrow{transform:translate(3px,-3px)}@media (max-width:640px){.pf-page{padding:20px 16px 80px}.pf-hero{padding:36px 20px 28px}.pf-stats-grid{grid-template-columns:repeat(2,1fr)}.pf-name{font-size:1.5rem}.pf-stat-val{font-size:22px}}@media (max-width:380px){.pf-badges-grid{grid-template-columns:repeat(2,1fr)}}.contact-page{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:60px 20px}.contact-card{background:var(--color-card);border-radius:18px;box-shadow:var(--shadow-soft);max-width:600px;padding:50px;text-align:center}.contact-card h1{color:var(--color-primary);margin-bottom:20px}.contact-info{margin-top:30px}.contact-info span{color:var(--color-text-muted);display:block;font-size:12px;margin-bottom:6px}.contact-info a{color:var(--color-accent);font-size:18px;font-weight:600;text-decoration:none}.about-features{display:flex;flex-direction:column;gap:14px;margin-top:6px}.about-feature-item{align-items:flex-start;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid #0000000f;border:1px solid var(--border,#0000000f);border-radius:10px;display:flex;gap:14px;padding:14px 16px;transition:border-color .2s,transform .2s}.about-feature-item:hover{border-color:#2563eb40;border-color:var(--border-glow,#2563eb40);transform:translateX(4px)}.about-feature-icon{flex-shrink:0;font-size:20px;margin-top:1px}.about-feature-item strong{color:#0f172a;color:var(--text,#0f172a);display:block;font-size:.9rem;font-weight:700;margin-bottom:3px}.about-feature-item p{color:#64748b;color:var(--text-muted,#64748b);font-size:.84rem;line-height:1.5;margin:0}.lp-page{-webkit-font-smoothing:antialiased;background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif);min-height:100vh}.lp-hero{background:#fff;background:var(--bg-card,#fff);border-bottom:1px solid #00000014;border-bottom:1px solid var(--border,#00000014);padding:64px 24px 48px;text-align:center}.lp-hero-tag{align-items:center;background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb26;border-radius:999px;color:#2563eb;color:var(--accent,#2563eb);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.08em;margin-bottom:16px;padding:4px 14px;text-transform:uppercase}.lp-hero h1{color:#0f172a;color:var(--text,#0f172a);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:12px}.lp-hero p{color:#64748b;color:var(--text-muted,#64748b);font-size:1rem;line-height:1.7;margin:0 auto;max-width:520px}.lp-container{margin:0 auto;max-width:760px;padding:56px 24px 100px}.lp-container--wide{max-width:920px}.lp-section{border-bottom:1px solid #0000000f;border-bottom:1px solid var(--border,#0000000f);margin-bottom:44px;padding-bottom:44px}.lp-section:last-child{border-bottom:none;margin-bottom:0}.lp-section h2{align-items:center;color:#0f172a;color:var(--text,#0f172a);display:flex;font-size:1.1rem;font-weight:700;gap:8px;letter-spacing:-.02em;margin-bottom:14px}.lp-section h2:before{background:#2563eb;background:var(--accent,#2563eb);border-radius:99px;content:"";display:inline-block;flex-shrink:0;height:15px;width:3px}.lp-section p{color:#64748b;color:var(--text-muted,#64748b);font-size:.94rem;line-height:1.8;margin-bottom:12px}.lp-section p:last-child{margin-bottom:0}.lp-section ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0}.lp-section ul li{color:#64748b;color:var(--text-muted,#64748b);font-size:.9rem;line-height:1.6;padding-left:20px;position:relative}.lp-section ul li:before{color:#2563eb;color:var(--accent,#2563eb);content:"→";font-size:11px;font-weight:700;left:0;position:absolute;top:2px}.lp-meta{align-items:center;color:#cbd5e1;color:var(--text-dim,#cbd5e1);display:flex;font-size:12px;gap:8px;margin-bottom:36px}.lp-meta-dot{background:#cbd5e1;background:var(--text-dim,#cbd5e1);border-radius:50%;height:3px;width:3px}.lp-callout{background:#2563eb0f;background:var(--accent-light,#2563eb0f);border:1px solid #2563eb21;border-left:3px solid #2563eb;border-left:3px solid var(--accent,#2563eb);border-radius:0 8px 8px 0;color:#64748b;color:var(--text-muted,#64748b);font-size:.88rem;line-height:1.7;margin:14px 0;padding:14px 18px}.lp-callout strong{color:#0f172a;color:var(--text,#0f172a)}@keyframes rcFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes rcSpin{to{transform:rotate(1turn)}}@keyframes rcItemIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.rc-page{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);min-height:100vh;padding:36px 24px 100px}.rc-container{gap:24px;margin:0 auto;max-width:760px}.rc-container,.rc-loading{display:flex;flex-direction:column}.rc-loading{align-items:center;color:#64748b;color:var(--text-muted,#64748b);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:14px;justify-content:center;min-height:100vh}.rc-spinner{animation:rcSpin .7s linear infinite;border:3px solid #00000014;border-top-color:#2563eb;border:3px solid var(--border,#00000014);border-radius:50%;border-top-color:var(--accent,#2563eb);height:32px;width:32px}.rc-header{align-items:flex-start;animation:rcFadeUp .6s cubic-bezier(.22,1,.36,1) both;display:flex;gap:12px;justify-content:space-between}.rc-header-text h1{color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.rc-header-text p{color:#64748b;color:var(--text-muted,#64748b);font-size:13px}.rc-save-pill{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);display:inline-flex;font-size:12px;font-weight:600;padding:5px 12px;transition:all .3s ease;white-space:nowrap}.rc-save-pill--saved{background:#0596690f;border-color:#05966940;color:#059669;color:var(--good,#059669)}.rc-draft-banner{animation:rcFadeUp .6s cubic-bezier(.22,1,.36,1) .06s both;background:#f59e0b12;border:1px solid #f59e0b33;border-radius:10px;color:#64748b;color:var(--text-muted,#64748b);font-size:13px;padding:11px 16px}.rc-meta-card{animation:rcFadeUp .6s cubic-bezier(.22,1,.36,1) .1s both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);gap:14px;padding:20px}.rc-field,.rc-meta-card{display:flex;flex-direction:column}.rc-field{gap:6px}.rc-label{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rc-input,.rc-textarea{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:14px;outline:none;padding:10px 14px;resize:vertical;transition:border-color .25s ease,box-shadow .25s ease}.rc-input:focus,.rc-textarea:focus{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.rc-section{animation:rcFadeUp .6s cubic-bezier(.22,1,.36,1) .14s both}.rc-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.rc-section-header h2{color:var(--text);font-size:17px;font-weight:800;letter-spacing:-.01em}.rc-section-sub{color:var(--text-muted);font-size:12px;margin-left:8px}.rc-reorder-btn{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 14px;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.rc-reorder-btn--active,.rc-reorder-btn:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);border-color:#2563eb;border-color:var(--accent,#2563eb);color:#2563eb;color:var(--accent,#2563eb)}.rc-empty{background:#fff;background:var(--bg-card,#fff);border:1.5px dashed var(--border);border-radius:14px;color:var(--text-muted);padding:40px 20px;text-align:center}.rc-empty-icon{display:block;font-size:32px;margin-bottom:10px}.rc-empty p{font-size:13.5px;line-height:1.6}.rc-timeline{display:flex;flex-direction:column;gap:0}.rc-item{align-items:flex-start;animation:rcItemIn .4s ease both;gap:0}.rc-item,.rc-step-num{display:flex;position:relative}.rc-step-num{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border-radius:50%;box-shadow:0 2px 8px #2563eb40;color:#fff;flex-shrink:0;font-size:12px;font-weight:800;height:32px;justify-content:center;margin-top:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:32px;z-index:2}.rc-item--project .rc-step-num{background:linear-gradient(135deg,#7c3aed,#8b5cf6);background:linear-gradient(135deg,var(--accent-2,#7c3aed),#8b5cf6);box-shadow:0 2px 8px #7c3aed40}.rc-item:hover .rc-step-num{transform:scale(1.12)}.rc-connector{background:linear-gradient(to bottom,#2563eb33,var(--border));background:linear-gradient(to bottom,var(--border-glow,#2563eb33),var(--border));bottom:-14px;left:15px;position:absolute;top:46px;width:2px;z-index:1}.rc-item-card{align-items:stretch;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:14px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);cursor:pointer;display:flex;flex:1 1;margin-bottom:14px;margin-left:14px;overflow:hidden;padding:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s ease,box-shadow .25s ease}.rc-item--skill .rc-item-card:hover{border-color:#2563eb4d;box-shadow:0 8px 28px #0000001a,0 0 0 1px #2563eb1a;box-shadow:var(--shadow-md,0 8px 28px #0000001a),0 0 0 1px #2563eb1a;transform:translateY(-2px) translateX(4px)}.rc-item--project .rc-item-card:hover{border-color:#7c3aed4d;box-shadow:var(--shadow-md),0 0 0 1px #7c3aed1a;transform:translateY(-2px) translateX(4px)}.rc-item-thumb{border-right:1px solid var(--border);flex-shrink:0;height:72px;object-fit:cover;width:72px}.rc-item-body{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0;padding:11px 14px}.rc-item-top{align-items:center;display:flex;gap:8px}.rc-type-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.rc-type-chip--skill{background:#2563eb12;background:var(--accent-light,#2563eb12);color:#2563eb;color:var(--accent,#2563eb)}.rc-type-chip--project{background:#7c3aed12;color:#7c3aed;color:var(--accent-2,#7c3aed)}.rc-status-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.rc-item-name{color:var(--text);font-size:13.5px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-tech-row{display:flex;flex-wrap:wrap;gap:4px}.rc-tech-chip{background:#7c3aed12;border:1px solid #7c3aed26;border-radius:999px;color:#7c3aed;color:var(--accent-2,#7c3aed);font-size:10px;font-weight:600;padding:2px 7px}.rc-tech-chip--more{background:#f5f7fa;background:var(--bg,#f5f7fa);border-color:var(--border);color:var(--text-muted)}.rc-resource-count{color:var(--text-muted);font-size:11.5px}.rc-item-actions{align-items:center;border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:4px;justify-content:center;padding:8px}.rc-delete-btn,.rc-edit-btn,.rc-move-btn{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;height:26px;justify-content:center;transition:all .2s ease;width:26px}.rc-move-btn:hover:not(:disabled){background:#2563eb;background:var(--accent,#2563eb);border-color:var(--accent);color:#fff;transform:scale(1.1)}.rc-move-btn:disabled{cursor:not-allowed;opacity:.25}.rc-edit-btn:hover{background:#2563eb1a;background:var(--accent-light,#2563eb1a);border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:#2563eb;color:var(--accent,#2563eb)}.rc-delete-btn:hover{background:#ef4444;background:var(--bad,#ef4444);border-color:#ef4444;border-color:var(--bad,#ef4444);color:#fff;transform:scale(1.1)}.rc-add-row{animation:rcFadeUp .6s cubic-bezier(.22,1,.36,1) .2s both;display:flex;flex-wrap:wrap;gap:12px}.rc-add-btn{align-items:center;border:2px dashed;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:700;gap:8px;justify-content:center;min-width:160px;padding:13px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.rc-add-btn--skill{background:#2563eb0d;background:var(--accent-light,#2563eb0d);border-color:#2563eb40;color:#2563eb;color:var(--accent,#2563eb)}.rc-add-btn--skill:hover{background:#2563eb;background:var(--accent,#2563eb);border-color:#2563eb;border-color:var(--accent,#2563eb);border-style:solid;box-shadow:0 8px 22px #2563eb40;color:#fff;transform:translateY(-2px) scale(1.02)}.rc-add-btn--project{background:#7c3aed0d;border-color:#7c3aed40;color:#7c3aed;color:var(--accent-2,#7c3aed)}.rc-add-btn--project:hover{background:#7c3aed;background:var(--accent-2,#7c3aed);border-color:#7c3aed;border-color:var(--accent-2,#7c3aed);border-style:solid;box-shadow:0 8px 22px #7c3aed40;color:#fff;transform:translateY(-2px) scale(1.02)}.rc-footer{align-items:flex-end;animation:rcFadeUp .6s cubic-bezier(.22,1,.36,1) .26s both;display:flex;flex-direction:column;gap:10px}.rc-publish-hint{align-self:flex-start;color:var(--text-muted);font-size:12px}.rc-footer-btns{display:flex;gap:10px}.rc-btn{border:none;border-radius:12px;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;overflow:hidden;padding:11px 24px;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.rc-btn:after{background:linear-gradient(90deg,#0000,#ffffff29,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.rc-btn:hover:not(:disabled):after{transform:translateX(100%)}.rc-btn--ghost{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);color:var(--text-muted)}.rc-btn--ghost:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:var(--text);transform:scale(1.02)}.rc-btn--publish{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));color:#fff}.rc-btn--publish:hover:not(:disabled){box-shadow:0 10px 28px #2563eb4d;transform:translateY(-2px) scale(1.03)}.rc-btn--publish:disabled{cursor:not-allowed;opacity:.4}.rc-modal-wrapper{display:flex;justify-content:center;left:50%;max-height:90vh;overflow-y:auto;padding:0 16px;position:fixed;top:50%;transform:translate(-50%,-50%);width:100%;z-index:999}.vim-modal{animation:vimIn .35s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:18px;box-shadow:0 20px 56px #00000021;color:var(--text);display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:14px;padding:24px;width:min(480px,92vw)}@keyframes vimIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.vim-header{align-items:center;display:flex;justify-content:space-between}.vim-type-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:5px;padding:4px 12px}.vim-type-badge--skill{background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb26;color:#2563eb;color:var(--accent,#2563eb)}.vim-type-badge--project{background:#7c3aed12;border:1px solid #7c3aed26;color:#7c3aed;color:var(--accent-2,#7c3aed)}.vim-header-btns{display:flex;gap:6px}.vim-close-btn,.vim-edit-btn{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;transition:all .2s ease;width:30px}.vim-edit-btn:hover{background:var(--accent-light);border-color:var(--border-glow);color:var(--accent)}.vim-close-btn:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444;color:var(--bad,#ef4444)}.vim-thumb{border:1px solid var(--border);border-radius:10px;height:160px;object-fit:cover;width:100%}.vim-title{color:var(--text);font-size:17px;font-weight:800;letter-spacing:-.02em}.vim-description{color:var(--text-muted);font-size:13.5px;line-height:1.6}.vim-row{align-items:center;display:flex;gap:10px}.vim-row--col{align-items:flex-start;flex-direction:column}.vim-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.vim-status-chip{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px}.vim-tech-row{display:flex;flex-wrap:wrap;gap:6px}.vim-tech-chip{background:#7c3aed12;border:1px solid #7c3aed26;border-radius:999px;color:#7c3aed;color:var(--accent-2,#7c3aed);font-size:12px;font-weight:600;padding:3px 10px}.vim-links{display:flex;flex-wrap:wrap;gap:10px}.vim-link{align-items:center;border-radius:10px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.vim-link--github{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);color:var(--text)}.vim-link--github:hover{border-color:var(--border-glow);transform:translateY(-2px)}.vim-link--live{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border:none;color:#fff}.vim-link--live:hover{box-shadow:0 6px 16px #2563eb40;transform:translateY(-2px)}.vim-resources{display:flex;flex-direction:column;gap:8px}.vim-resource-link{background:#2563eb0d;background:var(--accent-light,#2563eb0d);border:1px solid #2563eb1a;border-radius:8px;color:#2563eb;color:var(--accent,#2563eb);display:block;font-size:12.5px;overflow:hidden;padding:8px 12px;text-decoration:none;text-overflow:ellipsis;transition:background .2s ease;white-space:nowrap}.vim-resource-link:hover{background:var(--accent-light);border-color:#2563eb40}.vim-empty-resources{color:var(--text-muted);font-size:13px;font-style:italic}[data-theme=dark] .rc-item-card,[data-theme=dark] .vim-modal{background:#111c2e;background:var(--bg-card,#111c2e)}@media (max-width:600px){.rc-page{padding:20px 16px 80px}.rc-add-row,.rc-footer-btns{flex-direction:column}.rc-btn,.rc-footer-btns{width:100%}.rc-btn{justify-content:center}.rc-header{flex-direction:column}}.sm-modal{animation:smScaleIn .35s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:18px;box-shadow:0 20px 56px #00000021;color:#0f172a;color:var(--text,#0f172a);display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:20px;max-height:88vh;overflow-y:auto;padding:28px;scrollbar-color:#2563eb #0000;scrollbar-color:var(--accent,#2563eb) #0000;scrollbar-width:thin;width:min(520px,92vw)}@keyframes smScaleIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.sm-header{align-items:flex-start;display:flex;gap:12px}.sm-header-icon{flex-shrink:0;font-size:22px;margin-top:2px}.sm-header h3{color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.01em;margin-bottom:2px}.sm-header-sub{font-size:12px}.sm-close,.sm-header-sub{color:#64748b;color:var(--text-muted,#64748b)}.sm-close{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;margin-left:auto;transition:background .2s ease,color .2s ease,transform .2s ease;width:28px}.sm-close:hover{background:#ef44441a;color:#ef4444;color:var(--bad,#ef4444);transform:scale(1.15)}.sm-field{display:flex;flex-direction:column;gap:8px}.sm-label{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sm-input{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:10px;color:#0f172a;color:var(--text,#0f172a);font-family:inherit;font-size:13.5px;outline:none;padding:10px 14px;transition:border-color .25s ease,box-shadow .25s ease;width:100%}.sm-input:focus{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.sm-summary{display:flex;flex-wrap:wrap;gap:8px}.sm-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 12px}.sm-badge--playlist{background:#7c3aed14;border:1px solid #7c3aed33;color:#7c3aed;color:var(--accent-2,#7c3aed)}.sm-badge--video{background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb40;border:1px solid var(--border-glow,#2563eb40);color:#2563eb;color:var(--accent,#2563eb)}.sm-tip{background:#f59e0b12;border:1px solid #f59e0b33;border-radius:10px;color:#64748b;color:var(--text-muted,#64748b);font-size:12.5px;line-height:1.5;padding:10px 14px}.sm-resources{display:flex;flex-direction:column;gap:8px}.sm-resource-row{align-items:flex-start;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:12px;display:flex;gap:10px;padding:10px;transition:border-color .25s ease,background .25s ease}.sm-resource-row--video{background:#2563eb0a;background:var(--accent-light,#2563eb0a);border-color:#2563eb33}.sm-resource-row--playlist{background:#7c3aed0a;border-color:#7c3aed33}.sm-thumb{align-items:center;background:#00000014;background:var(--border,#00000014);border:1px solid var(--border);border-radius:7px;display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:72px}.sm-thumb-img{display:block;height:100%;object-fit:cover;width:100%}.sm-thumb-placeholder{font-size:20px}.sm-resource-right{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.sm-resource-input{border-radius:8px;font-size:12.5px;padding:8px 12px}.sm-type-tag{font-size:11px;font-weight:600;letter-spacing:.02em;padding-left:2px}.sm-remove-btn{align-items:center;background:#ef444412;border:1px solid #ef444426;border-radius:6px;color:#ef4444;color:var(--bad,#ef4444);cursor:pointer;display:flex;flex-shrink:0;font-size:11px;height:26px;justify-content:center;margin-top:2px;transition:all .2s ease;width:26px}.sm-remove-btn:hover{background:#ef4444;background:var(--bad,#ef4444);color:#fff;transform:scale(1.1)}.sm-tabs{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:10px;display:flex;gap:4px;padding:4px}.sm-tab{background:#0000;border:none;border-radius:7px;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;flex:1 1;font-family:inherit;font-size:13px;font-weight:600;padding:8px 12px;transition:all .22s ease}.sm-tab:hover{color:#0f172a;color:var(--text,#0f172a)}.sm-tab--active{background:#fff;background:var(--bg-card,#fff);box-shadow:0 1px 4px #00000014;color:#2563eb;color:var(--accent,#2563eb)}.sm-tab-body{display:flex;flex-direction:column;gap:14px}.sm-existing-hint{font-size:12.5px;line-height:1.5}.sm-courses-loading,.sm-existing-hint{color:#64748b;color:var(--text-muted,#64748b)}.sm-courses-loading{align-items:center;display:flex;font-size:13px;gap:10px;padding:20px 0}.sm-spinner{animation:smSpin .7s linear infinite;border-top-color:#2563eb;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent,#2563eb);flex-shrink:0;height:18px;width:18px}@keyframes smSpin{to{transform:rotate(1turn)}}.sm-courses-empty{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px dashed var(--border);border-radius:10px;color:#64748b;color:var(--text-muted,#64748b);font-size:13px;padding:24px;text-align:center}.sm-courses-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;scrollbar-color:#2563eb #0000;scrollbar-color:var(--accent,#2563eb) #0000;scrollbar-width:thin}.sm-courses-list::-webkit-scrollbar{width:4px}.sm-courses-list::-webkit-scrollbar-thumb{background:#2563eb;background:var(--accent,#2563eb);border-radius:99px}.sm-course-card{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:10px 12px;text-align:left;transition:all .25s cubic-bezier(.34,1.56,.64,1);width:100%}.sm-course-card:hover{background:#fff;background:var(--bg-card,#fff);border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);transform:translateX(4px)}.sm-course-card--selected{background:#2563eb0f;background:var(--accent-light,#2563eb0f);border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.sm-course-thumb{object-fit:cover}.sm-course-thumb,.sm-course-thumb-placeholder{border:1px solid var(--border);border-radius:7px;flex-shrink:0;height:40px;width:60px}.sm-course-thumb-placeholder{align-items:center;background:#2563eb12;background:var(--accent-light,#2563eb12);display:flex;font-size:18px;justify-content:center}.sm-course-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.sm-course-title{color:#0f172a;color:var(--text,#0f172a);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-course-meta{color:#64748b;color:var(--text-muted,#64748b);font-size:11px}.sm-course-progress-bar{background:#00000014;background:var(--border,#00000014);border-radius:99px;height:4px;margin-top:2px;overflow:hidden;width:100%}.sm-course-progress-fill{background:linear-gradient(90deg,#2563eb,#7c3aed);background:linear-gradient(90deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border-radius:99px;height:100%;transition:width .6s ease}.sm-course-progress-text{color:#64748b;color:var(--text-muted,#64748b);font-size:10.5px}.sm-course-check{flex-shrink:0;font-size:14px;font-weight:800}.sm-add-resource-btn,.sm-course-check{color:#2563eb;color:var(--accent,#2563eb)}.sm-add-resource-btn{align-self:flex-start;background:#2563eb12;background:var(--accent-light,#2563eb12);border:1.5px dashed #2563eb4d;border:1.5px dashed var(--border-glow,#2563eb4d);border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:600;padding:7px 16px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.sm-add-resource-btn:hover{background:#2563eb;background:var(--accent,#2563eb);border-style:solid;color:#fff;transform:scale(1.03)}.sm-footer{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.sm-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:10px 22px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,background .2s ease}.sm-btn--cancel{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);color:#64748b;color:var(--text-muted,#64748b)}.sm-btn--cancel:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:var(--text)}.sm-btn--save{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));color:#fff;overflow:hidden;position:relative}.sm-btn--save:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.sm-btn--save:hover:not(:disabled):after{transform:translateX(100%)}.sm-btn--save:hover:not(:disabled){box-shadow:0 8px 22px #2563eb4d;transform:scale(1.04)}.sm-btn--save:disabled{cursor:not-allowed;opacity:.4}.pm-modal{animation:pmScaleIn .35s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:18px;box-shadow:0 20px 56px #00000021;color:#0f172a;color:var(--text,#0f172a);display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:20px;max-height:88vh;overflow-y:auto;padding:28px;scrollbar-color:#7c3aed #0000;scrollbar-color:var(--accent-2,#7c3aed) #0000;scrollbar-width:thin;width:min(540px,92vw)}@keyframes pmScaleIn{0%{opacity:0;transform:scale(.92) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.pm-header{align-items:flex-start;display:flex;gap:12px}.pm-header-icon{flex-shrink:0;font-size:22px;margin-top:2px}.pm-header h3{color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.01em;margin-bottom:2px}.pm-header-sub{font-size:12px}.pm-close,.pm-header-sub{color:#64748b;color:var(--text-muted,#64748b)}.pm-close{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;margin-left:auto;transition:background .2s ease,color .2s ease,transform .25s ease;width:28px}.pm-close:hover{background:#ef44441a;color:#ef4444;color:var(--bad,#ef4444);transform:scale(1.15) rotate(90deg)}.pm-field{display:flex;flex-direction:column;gap:7px}.pm-label{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pm-required{color:#ef4444;color:var(--bad,#ef4444);margin-left:2px}.pm-input{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:10px;color:var(--text);font-family:inherit;font-size:13.5px;outline:none;padding:10px 14px;transition:border-color .25s ease,box-shadow .25s ease;width:100%}.pm-input:focus{border-color:#7c3aed;border-color:var(--accent-2,#7c3aed);box-shadow:0 0 0 3px #7c3aed14}.pm-textarea{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:13px;line-height:1.6;min-height:80px;outline:none;padding:10px 14px;resize:vertical;transition:border-color .25s ease,box-shadow .25s ease}.pm-textarea:focus{border-color:#7c3aed;border-color:var(--accent-2,#7c3aed);box-shadow:0 0 0 3px #7c3aed14}.pm-status-row{display:flex;flex-wrap:wrap;gap:8px}.pm-status-btn{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:12.5px;font-weight:600;gap:6px;justify-content:center;min-width:100px;padding:9px 12px;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.pm-status-btn:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:var(--text);transform:translateY(-2px)}.pm-status-btn--active{box-shadow:0 4px 12px #00000014;font-weight:700;transform:translateY(-2px)}.pm-tech-box{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;cursor:text;display:flex;flex-wrap:wrap;gap:6px;min-height:44px;padding:8px 10px;transition:border-color .25s ease,box-shadow .25s ease}.pm-tech-box:focus-within{border-color:#7c3aed;border-color:var(--accent-2,#7c3aed);box-shadow:0 0 0 3px #7c3aed14}.pm-tech-tag{align-items:center;animation:pmTagPop .25s cubic-bezier(.34,1.56,.64,1) both;background:#7c3aed14;border:1px solid #7c3aed33;border-radius:999px;color:#7c3aed;color:var(--accent-2,#7c3aed);display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:3px 10px}@keyframes pmTagPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.pm-tech-remove{background:none;border:none;color:#7c3aed;color:var(--accent-2,#7c3aed);cursor:pointer;font-size:14px;line-height:1;opacity:.6;padding:0;transition:opacity .15s ease,transform .2s ease}.pm-tech-remove:hover{opacity:1;transform:scale(1.2)}.pm-tech-input{background:#0000;border:none;color:var(--text);flex:1 1;font-family:inherit;font-size:13px;min-width:120px;outline:none;padding:2px 4px}.pm-tech-input::placeholder{color:#cbd5e1;color:var(--text-dim,#cbd5e1)}.pm-suggestions{display:flex;flex-wrap:wrap;gap:6px;min-height:0}.pm-suggestion-chip{background:#0000;border:1px dashed var(--border);border-radius:999px;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:500;padding:4px 10px;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.pm-suggestion-chip:hover{background:#7c3aed12;border-color:#7c3aed40;color:#7c3aed;color:var(--accent-2,#7c3aed);transform:scale(1.05)}.pm-links-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.pm-field--half{gap:7px}.pm-link-input-wrap{align-items:center;display:flex;position:relative}.pm-link-icon{font-size:14px;left:12px;pointer-events:none;position:absolute;z-index:1}.pm-link-input{font-size:12.5px;padding-left:34px}.pm-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:4px}.pm-footer,.pm-status-preview{align-items:center;display:flex}.pm-status-preview{font-size:12px;font-weight:600;gap:5px}.pm-footer-actions{display:flex;gap:10px;margin-left:auto}.pm-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:10px 22px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,background .2s ease}.pm-btn--cancel{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);color:#64748b;color:var(--text-muted,#64748b)}.pm-btn--cancel:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:var(--text);transform:scale(1.02)}.pm-btn--save{background:linear-gradient(135deg,#7c3aed,#8b5cf6);background:linear-gradient(135deg,var(--accent-2,#7c3aed),#8b5cf6);color:#fff;overflow:hidden;position:relative}.pm-btn--save:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.pm-btn--save:hover:not(:disabled):after{transform:translateX(100%)}.pm-btn--save:hover:not(:disabled){box-shadow:0 8px 22px #7c3aed4d;transform:scale(1.04)}.pm-btn--save:disabled{cursor:not-allowed;opacity:.4}@media (max-width:500px){.pm-links-row{grid-template-columns:1fr}.pm-footer,.pm-status-row{flex-direction:column}.pm-footer{align-items:flex-end}}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.rv-wrapper{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);height:100vh;outline:none;width:100%}.rv-loading,.rv-wrapper{display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif)}.rv-loading{align-items:center;color:#64748b;color:var(--text-muted,#64748b);gap:14px;justify-content:center;min-height:100vh}.rv-spinner{animation:rvSpin .7s linear infinite;border:3px solid #00000014;border-top-color:#2563eb;border:3px solid var(--border,#00000014);border-radius:50%;border-top-color:var(--accent,#2563eb);height:32px;width:32px}@keyframes rvSpin{to{transform:rotate(1turn)}}.rv-empty-state{align-items:center;display:flex;flex-direction:column;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:14px;justify-content:center;min-height:100vh;padding:40px;text-align:center}.rv-empty-icon{font-size:48px}.rv-empty-state h2{color:#0f172a;color:var(--text,#0f172a);font-size:22px;font-weight:800;letter-spacing:-.02em}.rv-empty-state p{color:#64748b;color:var(--text-muted,#64748b);font-size:14px;line-height:1.6;max-width:340px}.rv-topbar{background:#fff;background:var(--bg-card,#fff);border-bottom:1.5px solid #00000014;border-bottom:1.5px solid var(--border,#00000014);box-shadow:0 2px 8px #0000000a;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 20px;z-index:10}.rv-topbar,.rv-topbar-left{align-items:center;display:flex}.rv-topbar-left{gap:10px}.rv-topbar-left .back-btn{background:#0000;border-color:var(--border);box-shadow:none;font-size:12px;padding:6px 12px}.rv-topbar-left .back-btn:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);box-shadow:none}.rv-title{color:#0f172a;color:var(--text,#0f172a);font-size:17px;font-weight:800;letter-spacing:-.02em}.rv-edit-badge{animation:rvFadeIn .3s ease both;background:#2563eb14;border:1px solid #2563eb33;border-radius:999px;color:#2563eb;color:var(--accent,#2563eb);font-size:11px;font-weight:700;padding:3px 10px}@keyframes rvFadeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.rv-topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.rv-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:6px;overflow:hidden;padding:8px 16px;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,background .2s ease;white-space:nowrap}.rv-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.rv-btn:hover:not(:disabled):after{transform:translateX(100%)}.rv-btn--primary{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));color:#fff}.rv-btn--primary:hover{box-shadow:0 6px 18px #2563eb4d;transform:translateY(-2px) scale(1.03)}.rv-btn--secondary{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);color:#0f172a;color:var(--text,#0f172a)}.rv-btn--secondary:hover{background:#2563eb0f;background:var(--accent-light,#2563eb0f);border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);transform:translateY(-1px)}.rv-btn--continue{background:linear-gradient(135deg,#059669,#10b981);background:linear-gradient(135deg,var(--accent-3,#059669),#10b981);color:#fff}.rv-btn--continue:hover{box-shadow:0 6px 18px #0596694d;transform:translateY(-2px) scale(1.03)}.rv-btn--ghost{background:#0000;border:1.5px solid var(--border);color:#64748b;color:var(--text-muted,#64748b)}.rv-btn--ghost:hover{background:#f5f7fa;background:var(--bg,#f5f7fa);border-color:var(--border-glow);color:var(--text)}.rv-btn--danger{background:#ef444414;border:1.5px solid #ef444433;color:#ef4444;color:var(--bad,#ef4444)}.rv-btn--danger:hover:not(:disabled){background:#ef4444;background:var(--bad,#ef4444);border-color:var(--bad);color:#fff;transform:scale(1.04)}.rv-btn--danger:disabled{cursor:not-allowed;opacity:.4}.rv-btn--danger-sm{background:#ef444414;border:1.5px solid #ef444433;color:#ef4444;color:var(--bad,#ef4444);font-size:12px;padding:6px 12px}.rv-btn--danger-sm:hover{background:#ef4444;background:var(--bad,#ef4444);border-color:var(--bad);color:#fff}.rv-flow{flex:1 1;position:relative}.rv-flow .react-flow__background{background:#f5f7fa;background:var(--bg,#f5f7fa)}.rv-flow .react-flow__controls{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f)}.rv-flow .react-flow__controls button{background:#fff;background:var(--bg-card,#fff);border-bottom:1px solid var(--border);color:#64748b;color:var(--text-muted,#64748b)}.rv-flow .react-flow__controls button:hover{background:#2563eb12;background:var(--accent-light,#2563eb12);color:#2563eb;color:var(--accent,#2563eb)}.rn-node{background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000012;border:1.5px solid var(--border,#00000012);border-radius:16px;box-shadow:0 1px 3px #00000012,0 6px 20px #00000012;cursor:default;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);overflow:visible;position:relative;transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease;width:230px}.rn-node--editable{cursor:pointer}.rn-node:hover{border-color:#2563eb;border-color:var(--node-color,#2563eb);box-shadow:0 2px 6px #00000014,0 16px 40px #00000021,0 0 0 2px #2563eb;box-shadow:0 2px 6px #00000014,0 16px 40px #00000021,0 0 0 2px var(--node-color,#2563eb);transform:translateY(-6px) scale(1.02)}.rn-step-num{align-items:center;border:2px solid #fff;border:2px solid var(--bg-card,#fff);border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:12px;font-weight:800;height:28px;justify-content:center;left:-12px;letter-spacing:-.02em;position:absolute;top:-12px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:28px;z-index:10}.rn-node:hover .rn-step-num{transform:scale(1.15) rotate(-5deg)}.rn-thumb-wrap{border-radius:14px 14px 0 0;height:120px;overflow:hidden;position:relative;width:100%}.rn-thumb{display:block;height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.rn-node:hover .rn-thumb{transform:scale(1.06)}.rn-thumb-overlay{background:linear-gradient(180deg,#0000 40%,#00000073);inset:0;pointer-events:none;position:absolute}.rn-no-thumb{align-items:center;border-radius:14px 14px 0 0;display:flex;height:88px;justify-content:center;overflow:hidden;position:relative;width:100%}.rn-no-thumb:after{animation:rnShimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff14,#0000);content:"";inset:0;position:absolute}@keyframes rnShimmer{0%{transform:translateX(-100%)}60%,to{transform:translateX(100%)}}.rn-no-thumb-icon{align-items:center;border-radius:12px;box-shadow:0 4px 14px #00000026;display:flex;font-size:22px;height:44px;justify-content:center;width:44px}.rn-type-chip{border-radius:999px;bottom:7px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 8px;position:absolute;right:8px;text-transform:uppercase}.rn-type-chip--solo{bottom:8px;position:absolute;right:8px}.rn-body{display:flex;flex-direction:column;gap:6px;padding:11px 13px 13px}.rn-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;color:var(--text,#0f172a);display:-webkit-box;font-size:13px;font-weight:700;letter-spacing:-.01em;line-height:1.35;overflow:hidden}.rn-meta{display:flex;flex-direction:column;gap:5px}.rn-status{align-items:center;color:#64748b;color:var(--text-muted,#64748b);display:inline-flex;font-size:10.5px;font-weight:600;gap:5px}.rn-status-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.rn-tech-row{display:flex;flex-wrap:wrap;gap:4px}.rn-tech-chip{background:#7c3aed12;border:1px solid #7c3aed26;border-radius:999px;color:#7c3aed;color:var(--accent-2,#7c3aed);font-size:10px;font-weight:600;padding:2px 7px}.rn-resource-count{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:500}.rn-edit-hint{color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:10px;font-style:italic;margin-top:2px}.rn-view-project-btn{background:linear-gradient(135deg,#7c3aed,#8b5cf6);border:none;border-radius:7px;color:#fff;cursor:pointer;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:11px;font-weight:700;margin-top:6px;overflow:hidden;padding:6px 10px;position:relative;text-align:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;width:100%}.rn-view-project-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.rn-view-project-btn:hover:after{transform:translateX(100%)}.rn-node--detached{animation:detachedPulse 2.5s ease-in-out infinite;border-color:#f59e0b99!important;box-shadow:0 0 0 2px #f59e0b26,0 0 12px #f59e0b1a}@keyframes detachedPulse{0%,to{box-shadow:0 0 0 2px #f59e0b26}50%{box-shadow:0 0 0 5px #f59e0b14,0 0 16px #f59e0b26}}.rn-detached-warning{background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:5px;color:#b45309;font-size:10px;font-weight:600;line-height:1.4;margin-top:4px;padding:3px 7px}[data-theme=dark] .rn-detached-warning{background:#f59e0b14;border-color:#f59e0b33;color:#fbbf24}.rn-view-project-btn:hover{box-shadow:0 4px 14px #7c3aed59;transform:scale(1.03)}.rn-node--broken{border-color:#ef444459!important;box-shadow:0 0 0 2px #ef44441a!important}.rn-node--broken .rn-step-num{background:linear-gradient(135deg,#ef4444,#f97316)!important}.rn-broken-warning{background:#ef444412;border:1px solid #ef444433;border-radius:5px;color:#ef4444;font-size:10px;font-weight:600;line-height:1.4;margin-top:5px;padding:3px 7px;text-align:center}.rn-view-skill-btn{background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:7px;color:#fff;cursor:pointer;font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);font-size:11px;font-weight:700;margin-top:6px;overflow:hidden;padding:6px 10px;position:relative;text-align:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;width:100%}.rn-view-skill-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.rn-view-skill-btn:hover:after{transform:translateX(100%)}.rn-view-skill-btn:hover{box-shadow:0 4px 14px #2563eb59;transform:scale(1.03)}.rn-handle{background:#2563eb;background:var(--node-color,#2563eb);border:2.5px solid #fff;border:2.5px solid var(--bg-card,#fff);border-radius:50%;height:10px;opacity:0;transition:opacity .2s ease,transform .2s ease;width:10px}.rn-node--editable:hover .rn-handle{opacity:1;transform:scale(1.2)}[data-theme=dark] .rn-node{box-shadow:0 1px 4px #0006,0 6px 20px #0006}[data-theme=dark] .rn-node:hover{box-shadow:0 2px 8px #00000080,0 16px 40px #00000080,0 0 0 2px var(--node-color)}[data-theme=dark] .rn-step-num{border-color:#111c2e;border-color:var(--bg-card,#111c2e)}.rv-modal-wrapper{display:flex;justify-content:center;left:50%;padding:0 16px;position:fixed;top:50%;transform:translate(-50%,-50%);width:100%;z-index:999}.rv-delete-modal{animation:rvScaleIn .35s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:18px;box-shadow:0 20px 56px #00000026;padding:30px;width:min(420px,90vw)}@keyframes rvScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.rv-delete-modal h3{color:var(--text);font-size:17px;font-weight:800;margin-bottom:10px}.rv-delete-modal p{color:var(--text-muted);font-size:13.5px;line-height:1.6;margin-bottom:18px}.rv-delete-modal strong{color:var(--text);font-weight:700}.rv-delete-input{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:13.5px;margin-bottom:18px;outline:none;padding:10px 14px;transition:border-color .25s ease,box-shadow .25s ease;width:100%}.rv-delete-input:focus{border-color:#ef4444;border-color:var(--bad,#ef4444);box-shadow:0 0 0 3px #ef44441a}.rv-delete-actions{display:flex;gap:10px}.rv-delete-actions .rv-btn{flex:1 1;justify-content:center}[data-theme=dark] .rn-node{background:#111c2e;background:var(--bg-card,#111c2e);border-color:#ffffff12;border-color:var(--border,#ffffff12);box-shadow:0 4px 16px #0006}[data-theme=dark] .rn-node:hover{box-shadow:0 12px 32px #00000080,0 0 0 2px var(--node-color)}[data-theme=dark] .rv-flow .react-flow__controls,[data-theme=dark] .rv-flow .react-flow__controls button,[data-theme=dark] .rv-topbar{background:#111c2e;background:var(--bg-card,#111c2e);border-color:var(--border)}@media (max-width:600px){.rv-topbar{padding:10px 14px}.rv-title{font-size:15px}.rv-btn{font-size:12px;padding:7px 12px}.rn-node{width:180px}.rn-thumb{height:80px}}@keyframes raiFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes raiSpin{to{transform:rotate(1turn)}}@keyframes raiItemIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.rai-page{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);min-height:100vh;padding:32px 24px 100px}.rai-container{gap:24px;margin:0 auto;max-width:720px}.rai-container,.rai-loading{display:flex;flex-direction:column}.rai-loading{align-items:center;color:#64748b;color:var(--text-muted,#64748b);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);gap:14px;justify-content:center;min-height:100vh}.rai-spinner{animation:raiSpin .7s linear infinite;border:3px solid #00000014;border-top-color:#2563eb;border:3px solid var(--border,#00000014);border-radius:50%;border-top-color:var(--accent,#2563eb);height:32px;width:32px}.rai-header{align-items:flex-start;animation:raiFadeUp .6s cubic-bezier(.22,1,.36,1) both;display:flex;gap:14px}.rai-back-btn{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;margin-top:3px;padding:8px 14px;transition:border-color .25s ease,color .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap}.rai-back-btn:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:#2563eb;color:var(--accent,#2563eb);transform:translateX(-3px)}.rai-header-main{flex:1 1}.rai-header-main h1{color:var(--text);font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:3px}.rai-header-sub{color:var(--text-muted);font-size:13px}.rai-header-sub strong{color:var(--text)}.rai-save-status{background:#fff;background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:600;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.rai-save-status--saved{background:#0596690f;border-color:#05966940;color:#059669;color:var(--good,#059669)}.rai-meta-card{animation:raiFadeUp .6s cubic-bezier(.22,1,.36,1) .08s both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);gap:14px;padding:20px}.rai-field,.rai-meta-card{display:flex;flex-direction:column}.rai-field{gap:6px}.rai-label{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rai-input,.rai-textarea{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:14px;outline:none;padding:10px 14px;resize:vertical;transition:border-color .25s ease,box-shadow .25s ease}.rai-input:focus,.rai-textarea:focus{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px #2563eb12;box-shadow:0 0 0 3px var(--accent-light,#2563eb12)}.rai-section{animation:raiFadeUp .6s cubic-bezier(.22,1,.36,1) .14s both}.rai-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.rai-section-header h2{color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.01em}.rai-count{border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;padding:3px 10px}.rai-count,.rai-empty{background:#fff;background:var(--bg-card,#fff);color:var(--text-muted)}.rai-empty{border:1.5px dashed var(--border);border-radius:14px;font-size:13.5px;padding:32px;text-align:center}.rai-items-list{display:flex;flex-direction:column;gap:8px}.rai-item{align-items:center;animation:raiItemIn .4s ease both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:10px;padding:10px 14px;transition:border-color .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.rai-item:hover{border-color:#2563eb40;border-color:var(--border-glow,#2563eb40);box-shadow:0 8px 28px #0000001a;box-shadow:var(--shadow-md,0 8px 28px #0000001a);transform:translateX(4px)}.rai-item--skill{border-left:3px solid #2563eb;border-left:3px solid var(--accent,#2563eb)}.rai-item--project{border-left:3px solid #7c3aed;border-left:3px solid var(--accent-2,#7c3aed)}.rai-item-num{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:10.5px;font-weight:800;height:22px;justify-content:center;width:22px}.rai-item--project .rai-item-num{background:linear-gradient(135deg,#7c3aed,#8b5cf6);background:linear-gradient(135deg,var(--accent-2,#7c3aed),#8b5cf6)}.rai-item-thumb{border:1px solid var(--border);border-radius:6px;flex-shrink:0;height:36px;object-fit:cover;transition:transform .3s ease;width:52px}.rai-item:hover .rai-item-thumb{transform:scale(1.05)}.rai-item-icon{align-items:center;background:#2563eb12;background:var(--accent-light,#2563eb12);border-radius:8px;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.rai-item-info{flex:1 1;min-width:0}.rai-item-name{color:var(--text);display:block;font-size:13.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rai-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.rai-item-type{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rai-item-status{font-size:11px;font-weight:600}.rai-item-resources,.rai-item-tech{color:var(--text-muted);font-size:11px}.rai-item-btns{display:flex;flex-shrink:0;gap:4px}.rai-icon-btn{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.rai-icon-btn--edit:hover{background:#2563eb1a;background:var(--accent-light,#2563eb1a);border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:#2563eb;color:var(--accent,#2563eb)}.rai-icon-btn--delete:hover{background:#ef4444;background:var(--bad,#ef4444);border-color:#ef4444;border-color:var(--bad,#ef4444);color:#fff;transform:scale(1.1)}.rai-actions{animation:raiFadeUp .6s cubic-bezier(.22,1,.36,1) .2s both;display:flex;flex-wrap:wrap;gap:10px}.rai-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:700;gap:8px;overflow:hidden;padding:11px 20px;position:relative;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.rai-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.rai-btn:hover:after{transform:translateX(100%)}.rai-btn--skill{background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--accent,#2563eb),#3b82f6);color:#fff}.rai-btn--skill:hover{box-shadow:0 8px 22px #2563eb4d;transform:translateY(-2px) scale(1.03)}.rai-btn--project{background:linear-gradient(135deg,#7c3aed,#8b5cf6);background:linear-gradient(135deg,var(--accent-2,#7c3aed),#8b5cf6);color:#fff}.rai-btn--project:hover{box-shadow:0 8px 22px #7c3aed4d;transform:translateY(-2px) scale(1.03)}.rai-btn--done{background:linear-gradient(135deg,#059669,#10b981);background:linear-gradient(135deg,var(--accent-3,#059669),#10b981);color:#fff;margin-left:auto}.rai-btn--done:hover{box-shadow:0 8px 22px #0596694d;transform:translateY(-2px) scale(1.03)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;inset:0;position:fixed;z-index:998}.rai-modal-wrapper{display:flex;justify-content:center;left:50%;padding:0 16px;position:fixed;top:50%;transform:translate(-50%,-50%);width:100%;z-index:999}@media (max-width:600px){.rai-page{padding:20px 16px 80px}.rai-header{flex-direction:column;gap:10px}.rai-back-btn{align-self:flex-start}.rai-btn--done{justify-content:center;margin-left:0;width:100%}.rai-actions{flex-direction:column}}.ve-page{background:#f5f7fa;background:var(--bg,#f5f7fa);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);justify-content:center;min-height:100vh;padding:24px}.ve-card,.ve-page{align-items:center;display:flex}.ve-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #00000014;border:1px solid var(--border,#00000014);border-radius:18px;box-shadow:0 4px 24px #00000012;flex-direction:column;gap:12px;padding:52px 44px;text-align:center;width:min(420px,100%)}.ve-spinner{animation:veSpin .7s linear infinite;border:3px solid #00000014;border-top-color:#2563eb;border:3px solid var(--border,#00000014);border-radius:50%;border-top-color:var(--accent,#2563eb);height:40px;margin-bottom:8px;width:40px}@keyframes veSpin{to{transform:rotate(1turn)}}.ve-icon{align-items:center;border-radius:50%;display:flex;font-size:22px;font-weight:700;height:52px;justify-content:center;margin-bottom:4px;width:52px}.ve-icon--success{background:#0596691a;border:2px solid #05966933;color:#059669}.ve-icon--error{background:#ef444414;border:2px solid #ef444426;color:#ef4444}.ve-title{color:#0f172a;color:var(--text,#0f172a);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin:0}.ve-sub{color:#64748b;color:var(--text-muted,#64748b);font-size:.9rem;line-height:1.6;margin:0;max-width:300px}.ve-redirect{color:#cbd5e1;color:var(--text-dim,#cbd5e1);font-size:12px}.ve-btn{background:#2563eb;background:var(--accent,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;margin-top:8px;padding:10px 24px;transition:opacity .15s,transform .15s}.ve-btn:hover{opacity:.85;transform:translateY(-1px)}.ve-btn--ghost{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1px solid var(--border);color:#64748b;color:var(--text-muted,#64748b)}.ve-link{color:#2563eb;color:var(--accent,#2563eb);text-decoration:none}.timer-bubble{align-items:center;background:var(--color-card);border:5px solid var(--color-border-x);border-radius:50%;bottom:24px;box-shadow:var(--shadow-soft);cursor:pointer;display:flex;height:70px;justify-content:center;position:fixed;right:24px;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s ease;width:70px;z-index:1000}.timer-bubble:hover{box-shadow:var(--shadow-hover);transform:scale(1.08)}.timer-bubble.running{background:linear-gradient(135deg,#4f46e5,#06b6d4);box-shadow:0 0 20px #4f46e599;color:#fff}.timer-bubble.hidden{opacity:0;pointer-events:none;transform:scale(.6)}.bubble-time{font-size:14px;font-weight:600}.timer-panel-overlay{bottom:24px;position:fixed;right:24px;transform-origin:bottom right;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s ease;z-index:1000}.timer-panel-overlay.visible{opacity:1;pointer-events:auto;transform:scale(1)}.timer-panel-overlay.hidden{opacity:0;pointer-events:none;transform:scale(.35)}.timer-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-hover);display:flex;flex-direction:column;gap:24px;padding:28px;width:360px}.panel-header{align-items:center;display:flex;justify-content:space-between}.panel-header h3{font-size:18px;font-weight:600}.shrink-btn{background:#0000;border:none;color:var(--color-text-primary);cursor:pointer;font-size:16px;opacity:.6}.shrink-btn:hover{opacity:1}.mode-switch{display:flex;gap:8px}.mode-btn{background:#0000;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-primary);cursor:pointer;flex:1 1;font-size:13px;padding:8px 10px}.mode-btn.active{background:var(--color-primary);border:none;color:#fff}.mode-btn:hover{border:none;box-shadow:none;color:#fff}.timer-display{font-size:56px;font-weight:700;letter-spacing:2px;text-align:center}.timer-controls{display:flex;gap:12px;justify-content:center}.control-btn{border:none;border-radius:14px;cursor:pointer;font-weight:600;padding:10px 18px}.control-btn.primary{background:var(--color-primary);color:#fff}.control-btn.pause{background:var(--color-danger);color:#fff}.control-btn.reset{background:#0000;border:2px solid var(--color-border);color:var(--color-text-primary)}.mode-note{color:#94a3b8;font-size:13px;line-height:1.4;margin-top:12px;padding:0 10px;text-align:center}@keyframes ppFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ppSpin{to{transform:rotate(1turn)}}@keyframes ppSlideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes ppBannerIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pp-page{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);min-height:100vh;padding:36px 24px 100px;position:relative}.pp-page:before{background:radial-gradient(circle,#7c3aed0f 0,#0000 70%);border-radius:50%;content:"";height:480px;pointer-events:none;position:fixed;right:-8%;top:-10%;width:480px;z-index:0}.pp-page--center{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;text-align:center}.pp-empty-icon{font-size:48px}.pp-page--center h2{color:var(--text);font-size:20px;font-weight:800;letter-spacing:-.02em}.pp-page--center p{color:#64748b;color:var(--text-muted,#64748b);font-size:14px;max-width:320px}.pp-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:680px;position:relative;z-index:1}.pp-back-btn{align-self:flex-start;animation:ppFadeUp .5s cubic-bezier(.22,1,.36,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:10px;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .25s ease,color .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.pp-back-btn:hover{border-color:#7c3aed4d;color:#7c3aed;color:var(--accent-2,#7c3aed);transform:translateX(-3px)}.pp-card{animation:ppFadeUp .6s cubic-bezier(.22,1,.36,1) .06s both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:20px;box-shadow:0 4px 24px #00000012,0 1px 4px #0000000a;display:flex;flex-direction:column;gap:24px;overflow:hidden;padding:32px;position:relative}.pp-card:before{background:linear-gradient(90deg,#7c3aed,#8b5cf6,#2563eb);background:linear-gradient(90deg,var(--accent-2,#7c3aed),#8b5cf6,var(--accent,#2563eb));content:"";height:3px;left:0;position:absolute;right:0;top:0}.pp-completed-banner{animation:ppBannerIn .4s ease both;background:#05966914;border:1px solid #05966940;border-radius:10px;color:#059669;color:var(--accent-3,#059669);font-size:13.5px;font-weight:600;padding:11px 16px}.pp-card-header{display:flex;flex-direction:column;gap:10px}.pp-type-badge{align-items:center;background:#7c3aed14;border:1px solid #7c3aed33;border-radius:999px;color:#7c3aed;color:var(--accent-2,#7c3aed);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.06em;padding:4px 12px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.pp-title{color:#0f172a;color:var(--text,#0f172a);font-size:clamp(1.4rem,3vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}.pp-status-badge{align-items:center;border:1.5px solid;border-radius:999px;display:inline-flex;font-size:12.5px;font-weight:700;gap:7px;letter-spacing:.02em;padding:6px 14px;width:-webkit-fit-content;width:fit-content}.pp-status-spinner{animation:ppSpin .6s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid #0000;display:inline-block;height:12px;opacity:.6;width:12px}.pp-description{color:#64748b;color:var(--text-muted,#64748b);font-size:15px;line-height:1.7}.pp-section{display:flex;flex-direction:column;gap:10px}.pp-section-label{color:#64748b;color:var(--text-muted,#64748b);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pp-tech-row{display:flex;flex-wrap:wrap;gap:8px}.pp-tech-chip{animation:ppSlideIn .35s ease both;background:#7c3aed12;border:1.5px solid #7c3aed2e;border-radius:999px;color:#7c3aed;color:var(--accent-2,#7c3aed);font-size:12.5px;font-weight:600;padding:5px 13px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease}.pp-tech-chip:hover{background:#7c3aed1f;transform:scale(1.05)}.pp-links-row{display:flex;flex-direction:column;gap:8px}.pp-link{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:12px;display:flex;gap:14px;padding:14px 18px;text-decoration:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s ease,box-shadow .25s ease}.pp-link:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px) translateX(4px)}.pp-link--github:hover{border-color:#64748b66}.pp-link--live:hover{border-color:#2563eb59}.pp-link-icon{flex-shrink:0;font-size:20px}.pp-link>div{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.pp-link-label{color:var(--text);display:block;font-size:13px;font-weight:700}.pp-link-url{color:#64748b;color:var(--text-muted,#64748b);display:block;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-link-arrow{color:var(--text-muted);flex-shrink:0;font-size:16px;transition:transform .2s ease}.pp-link:hover .pp-link-arrow{transform:translate(2px,-2px)}.pp-status-picker{display:flex;flex-wrap:wrap;gap:10px}.pp-status-btn{align-items:center;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:11px;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:13px;font-weight:600;gap:7px;justify-content:center;min-width:110px;padding:10px 14px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.pp-status-btn:hover:not(:disabled){border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);box-shadow:0 4px 12px #00000014;color:var(--text);transform:translateY(-2px)}.pp-status-btn--active{box-shadow:0 4px 14px #0000001a;font-weight:700;transform:translateY(-2px)}.pp-status-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.pp-status-msg{animation:ppBannerIn .3s ease both;border-radius:8px;font-size:12.5px;font-weight:600;padding:6px 14px;width:-webkit-fit-content;width:fit-content}.pp-status-msg--ok{background:#05966914;border:1px solid #05966933;color:#059669;color:var(--accent-3,#059669)}.pp-status-msg--error{background:#ef444414;border:1px solid #ef444433;color:#ef4444;color:var(--bad,#ef4444)}.pp-divider{background:#00000012;background:var(--border,#00000012);border-radius:99px;height:1px}.pp-complete-section{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.pp-complete-info strong{color:var(--text);display:block;font-size:14px;font-weight:700;margin-bottom:4px}.pp-complete-info p{color:#64748b;color:var(--text-muted,#64748b);font-size:13px;line-height:1.5;max-width:340px}.pp-already-done{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.pp-already-done span{color:#059669;color:var(--accent-3,#059669);font-size:14px;font-weight:600}.pp-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:700;gap:8px;justify-content:center;overflow:hidden;padding:12px 26px;position:relative;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,opacity .2s ease;white-space:nowrap}.pp-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.pp-btn:hover:not(:disabled):after{transform:translateX(100%)}.pp-btn--complete{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.pp-btn--complete:hover:not(:disabled){box-shadow:0 10px 28px #0596694d;transform:translateY(-2px) scale(1.03)}.pp-btn--complete:disabled{cursor:not-allowed;opacity:.6;transform:none}.pp-btn--secondary{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);color:#64748b;color:var(--text-muted,#64748b)}.pp-btn--secondary:hover{border-color:#7c3aed4d;color:#7c3aed;color:var(--accent-2,#7c3aed);transform:scale(1.02)}.pp-spinner-sm{border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.pp-spinner,.pp-spinner-sm{animation:ppSpin .7s linear infinite}.pp-spinner{border:3px solid #00000014;border-top-color:#7c3aed;border:3px solid var(--border,#00000014);border-radius:50%;border-top-color:var(--accent-2,#7c3aed);height:36px;width:36px}[data-theme=dark] .pp-page:before{background:radial-gradient(circle,#a78bfa0f 0,#0000 70%)}[data-theme=dark] .pp-card{background:#111c2e;background:var(--bg-card,#111c2e);box-shadow:0 4px 24px #0006}[data-theme=dark] .pp-link,[data-theme=dark] .pp-status-btn{background:#0d1525;background:var(--bg-2,#0d1525)}@media (max-width:600px){.pp-page{padding:20px 16px 80px}.pp-card{padding:22px 18px}.pp-complete-section{align-items:flex-start;flex-direction:column}.pp-btn--complete{width:100%}.pp-status-picker{flex-direction:column}.pp-status-btn{min-width:0;min-width:auto}.pp-already-done{flex-direction:column}}@keyframes spFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes spSpin{to{transform:rotate(1turn)}}.sp-page{background:#f5f7fa;background:var(--bg,#f5f7fa);color:#0f172a;color:var(--text,#0f172a);font-family:system-ui,sans-serif;font-family:var(--font,system-ui,sans-serif);min-height:100vh;padding:32px 24px 100px}.sp-page--center{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;text-align:center}.sp-empty-icon{font-size:42px}.sp-spinner{animation:spSpin .7s linear infinite;border-top-color:#2563eb;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent,#2563eb);height:32px;width:32px}.sp-container{margin:0 auto;max-width:680px}.sp-card,.sp-container{display:flex;flex-direction:column;gap:20px}.sp-card{animation:spFadeUp .5s cubic-bezier(.22,1,.36,1) both;background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);border-radius:18px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm,0 2px 8px #0000000f);overflow:hidden;padding:28px;position:relative}.sp-card:before{background:linear-gradient(90deg,#2563eb,#3b82f6);background:linear-gradient(90deg,var(--accent,#2563eb),#3b82f6);content:"";height:3px;left:0;position:absolute;right:0;top:0}.sp-header{display:flex;flex-direction:column;gap:8px}.sp-type-badge{align-items:center;background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb26;border-radius:999px;color:#2563eb;color:var(--accent,#2563eb);display:inline-flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.06em;padding:4px 12px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.sp-title{color:var(--text);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800;letter-spacing:-.02em}.sp-count{color:#64748b;color:var(--text-muted,#64748b);font-size:12.5px;font-weight:500}.sp-empty{background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px dashed var(--border);border-radius:12px;color:var(--text-muted);padding:28px;text-align:center}.sp-empty span{color:var(--text);display:block;font-size:14px;font-weight:600;margin-bottom:5px}.sp-empty p{font-size:13px;line-height:1.5}.sp-resources{display:flex;flex-direction:column;gap:12px}.sp-resource{align-items:flex-start;background:#f5f7fa;background:var(--bg,#f5f7fa);border:1.5px solid var(--border);border-radius:12px;display:flex;gap:14px;padding:14px;transition:border-color .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.sp-resource:hover{border-color:#2563eb47;border-color:var(--border-glow,#2563eb47);box-shadow:var(--shadow-sm);transform:translateX(4px)}.sp-resource--video{border-left:3px solid #2563eb;border-left:3px solid var(--accent,#2563eb)}.sp-resource--playlist{border-left:3px solid #7c3aed;border-left:3px solid var(--accent-2,#7c3aed)}.sp-resource--link{border-left:3px solid #059669;border-left:3px solid var(--accent-3,#059669)}.sp-thumb-wrap{border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:66px;overflow:hidden;position:relative;width:100px}.sp-thumb{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.sp-resource:hover .sp-thumb{transform:scale(1.05)}.sp-thumb-placeholder{align-items:center;background:#2563eb12;background:var(--accent-light,#2563eb12);display:flex;font-size:22px;height:100%;justify-content:center;width:100%}.sp-type-chip{border-radius:4px;bottom:4px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;position:absolute;right:4px;text-transform:uppercase}.sp-resource--broken{background:#ef44440a;border-left:3px solid #ef4444;border-left:3px solid var(--bad,#ef4444)}.sp-broken-label{background:#ef444412;border:1px solid #ef44442e;border-radius:7px;font-size:12px;line-height:1.4;padding:6px 10px}.sp-btn--readd{background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--accent,#2563eb),var(--accent-2,#7c3aed))}.sp-btn--readd:hover{box-shadow:0 4px 14px #2563eb4d}.sp-resource-info{display:flex;flex:1 1;flex-direction:column;gap:8px;justify-content:center;min-width:0}.sp-resource-url{color:#64748b;color:var(--text-muted,#64748b);display:block;font-size:12px;line-height:1.4;word-break:break-all}.sp-resource-actions{display:flex;flex-wrap:wrap;gap:8px}.sp-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:700;gap:5px;overflow:hidden;padding:6px 14px;position:relative;text-decoration:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.sp-btn:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.sp-btn:hover:after{transform:translateX(100%)}.sp-btn--course{background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--accent,#2563eb),#3b82f6);color:#fff}.sp-btn--course:hover{box-shadow:0 4px 14px #2563eb4d;transform:scale(1.05)}.sp-btn--yt{background:#fff;background:var(--bg-card,#fff);border:1.5px solid var(--border);color:#64748b;color:var(--text-muted,#64748b)}.sp-btn--yt:hover{border-color:#2563eb4d;border-color:var(--border-glow,#2563eb4d);color:var(--text);transform:scale(1.03)}.sp-resource--broken{background:#ef44440a!important;border-color:#ef44444d!important;opacity:.85}.sp-broken-label{color:#ef4444;color:var(--bad,#ef4444);display:block;font-size:11.5px;font-weight:600}.sp-resource--detached{background:#f59e0b0a!important;border-color:#f59e0b66!important}.sp-detached-label{color:#b45309;display:block;font-size:12px;font-weight:500;line-height:1.5}[data-theme=dark] .sp-detached-label{color:#fbbf24}.sp-detached-banner{align-items:flex-start;animation:spFadeUp .4s ease both;background:#f59e0b12;border:1.5px solid #f59e0b4d;border-radius:12px;display:flex;gap:14px;padding:16px 18px}.sp-detached-banner-icon{flex-shrink:0;font-size:22px;margin-top:1px}.sp-detached-banner strong{color:#b45309;display:block;font-size:14px;font-weight:700;margin-bottom:5px}[data-theme=dark] .sp-detached-banner strong{color:#fbbf24}.sp-detached-banner p{color:#64748b;color:var(--text-muted,#64748b);font-size:13px;line-height:1.6;margin:0}.sp-detached-banner em{font-size:12px;opacity:.75}.sp-btn--readd{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:700;gap:5px;overflow:hidden;padding:7px 16px;position:relative;text-decoration:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.sp-btn--readd:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s ease}.sp-btn--readd:hover:after{transform:translateX(100%)}.sp-btn--readd:hover{box-shadow:0 4px 14px #f59e0b66;transform:scale(1.05)}@media (max-width:600px){.sp-page{padding:20px 16px 80px}.sp-thumb-wrap{height:48px;width:72px}.sp-resource{flex-direction:column}.sp-thumb-wrap{height:140px;width:100%}}.guide-img-wrap{border:1.5px solid #00000014;border:1.5px solid var(--border,#00000014);border-radius:12px;box-shadow:0 4px 20px #00000014;margin-top:24px;overflow:hidden}.guide-img{display:block;width:100%}.guide-img-caption{background:#f5f7fa;background:var(--bg,#f5f7fa);border-top:1px solid #0000000f;border-top:1px solid var(--border,#0000000f);color:#64748b;color:var(--text-muted,#64748b);font-size:12px;font-style:italic;padding:10px 16px;text-align:center}.guide-example{background:#2563eb12;background:var(--accent-light,#2563eb12);border:1px solid #2563eb1f;border-radius:8px;color:#2563eb;color:var(--accent,#2563eb);font-size:.88rem;font-weight:500;line-height:1.6;margin:14px 0;padding:10px 16px}.certificate-page{background:var(--color-bg);min-height:100vh;padding:40px}.certificate-actions{display:flex;gap:12px;justify-content:center;margin-bottom:30px}.certificate-actions button{border:none;border-radius:10px;box-shadow:var(--shadow-soft);cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:all .18s ease}.btn-download{background:var(--color-accent);border:1px solid var(--color-border);color:var(--color-text-opp)}.btn-download:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-share{background:var(--color-primary);color:var(--color-text-opp)}.btn-share:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.btn-linkedin{background:#0a66c2;color:#fff}.btn-linkedin:hover{background:#084c94;transform:translateY(-2px)}.certificate-container{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 25px 60px #00000014;height:700px;margin:auto;overflow:hidden;position:relative;width:1100px}.cert-gradient{background:radial-gradient(circle,#4f46e540 0,#4f46e514 40%,#0000 70%);height:500px;left:-120px;position:absolute;top:-120px;width:500px}.cert-gradient:after{background:radial-gradient(circle,#06b6d433 0,#06b6d414 40%,#0000 70%);bottom:-200px;content:"";height:600px;position:absolute;right:-200px;width:600px}.cert-content{color:#111827;font-family:system-ui;padding:90px;position:relative;text-align:center}.cert-brand{color:var(--color-primary);font-size:22px;font-weight:700;margin-bottom:30px}.cert-title{color:#111827;font-size:42px;margin-bottom:18px}.cert-subtitle{color:#6b7280;font-size:16px}.cert-name{color:#111827;font-size:38px;font-weight:700;margin:10px 0}.cert-course{color:var(--color-primary);font-size:26px;margin:10px 0 20px}.cert-creator,.cert-footer{color:#6b7280;font-size:14px}.cert-footer{display:flex;justify-content:space-between;margin-top:70px}.cert-issued strong{color:#111827;display:block;font-size:16px}.cert-id{font-family:monospace;font-size:13px;opacity:.8}.cert-invalid,.cert-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:20px;height:60vh;justify-content:center}.policy-page{background:var(--color-bg);min-height:100vh;padding:60px 20px}.policy-container{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-soft);margin:auto;max-width:800px;padding:40px}.policy-container h1{font-size:30px;margin-bottom:20px}.policy-intro{color:var(--color-text-muted);margin-bottom:30px}.policy-container h2{font-size:20px;margin-bottom:10px;margin-top:30px}.policy-container p{line-height:1.7;margin-bottom:10px}.policy-container ul{margin-bottom:15px;margin-left:20px}.policy-container li{margin-bottom:6px}.policy-footer{color:var(--color-text-muted);font-size:14px;margin-top:40px}.policy-page p,ul{text-align:left}.roadmaps-page{background:var(--color-bg);min-height:100vh;padding:50px 0 90px}.roadmaps-container{margin:auto;max-width:1100px;width:92%}.roadmaps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:36px}.roadmaps-header h1{font-size:28px;font-weight:600}.create-roadmap-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;padding:9px 18px;transition:.2s ease}.create-roadmap-btn:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.roadmaps-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.roadmap-list-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;justify-content:space-between;padding:22px;transition:.25s ease}.roadmap-list-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.roadmap-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.roadmap-list-card h3{font-size:16px;font-weight:600}.roadmap-badge{border-radius:12px;font-size:11px;font-weight:500;padding:4px 10px;text-transform:capitalize}.roadmap-badge.active{background:#22c55e26;color:var(--color-success)}.roadmap-badge.draft{background:#f59e0b26;color:#f59e0b}.roadmap-list-card p{color:var(--color-text-muted);font-size:13px;margin:8px 0 18px}.open-roadmap-btn{align-self:flex-start;background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;padding:7px 14px;transition:.2s ease}.open-roadmap-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.roadmaps-empty{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-soft);padding:50px;text-align:center}.roadmaps-empty h3{font-size:18px;margin-bottom:10px}.roadmaps-empty p{color:var(--color-text-muted);font-size:13px;margin-bottom:18px}@media (max-width:768px){.roadmaps-header{align-items:flex-start;flex-direction:column;gap:14px}.roadmaps-grid{grid-template-columns:1fr}}.current-roadmap{border:2px solid var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.current-label{color:var(--color-success);font-size:11px;font-weight:600;margin:6px 0}.set-current-btn{background:#0000;border:1px solid var(--color-primary);border-radius:6px;color:var(--color-primary);cursor:pointer;font-size:12px;padding:6px 10px;transition:all .2s ease}.set-current-btn:hover{background:var(--color-primary);color:#fff}.roadmap-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.rp-back{animation:acpFadeUp .5s ease both;margin-bottom:20px;position:relative;z-index:1}
/*# sourceMappingURL=main.9dd0404b.css.map*/