:root{--brand-900:#235de0;--brand-700:#3073ff;--primary:#3073ff;--primary-dark:#235de0;--primary-light:#9ab6ff;--primary-bg:#ecf2ff;--accent:#58a6ff;--accent-dark:#3f90ed;--success:#0da678;--success-bg:#eafaf4;--warning:#f1b74d;--warning-bg:#fff7e9;--danger:#e15a5a;--danger-bg:#ffefef;--dark:#1f2b3d;--gray-700:#354663;--gray-600:#617190;--gray-400:#97a6c0;--gray-300:#d9e2ef;--gray-200:#e8edf6;--gray-100:#f5f8fd;--background:#f3f7fc;--surface:#fff;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-sm:0 2px 8px #223a660f;--shadow-md:0 8px 22px #223a6617;--shadow-lg:0 16px 36px #223a661f;--shadow-xl:0 24px 62px #223a6626;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--transition-fast:200ms ease;--transition:200ms ease;--transition-slow:500ms ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 500px at 100% -10%,#e8f0ff 0,#e8f0ff00 70%),radial-gradient(900px 420px at -10% 0,#edf6ff 0,#edf6ff00 70%),#f3f7fc;background:radial-gradient(1200px 500px at 100% -10%,#e8f0ff 0,#e8f0ff00 70%),radial-gradient(900px 420px at -10% 0,#edf6ff 0,#edf6ff00 70%),var(--background);color:#1f2b3d;color:var(--dark);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);line-height:1.6;text-rendering:optimizeLegibility}a{color:#3073ff;color:var(--primary);text-decoration:none;transition:color .2s ease;transition:color var(--transition-fast)}a:hover{color:#235de0;color:var(--primary-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1766dc42;outline-offset:2px}.route-transition{animation:page-enter .5s ease;animation:page-enter var(--transition-slow)}.app-toast-bottom-right{bottom:20px;max-width:420px;pointer-events:none;position:fixed;right:20px;z-index:2200}@media (max-width:768px){.app-toast-bottom-right{bottom:12px;left:auto;max-width:calc(100vw - 24px);right:12px}}.reveal-up{animation:reveal-up .52s cubic-bezier(.2,.7,.2,1) both}.hover-lift{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.hover-lift:hover{box-shadow:0 8px 22px #223a6617;box-shadow:var(--shadow-md);transform:translateY(-4px)}.stagger>*{animation:reveal-up .56s cubic-bezier(.2,.7,.2,1) both}.stagger>:first-child{animation-delay:40ms}.stagger>:nth-child(2){animation-delay:90ms}.stagger>:nth-child(3){animation-delay:.14s}.stagger>:nth-child(4){animation-delay:.19s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(6){animation-delay:.29s}.btn{align-items:center;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);font-size:.9rem;font-weight:620;gap:8px;justify-content:center;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.56;transform:none}.btn-primary{background:linear-gradient(135deg,#3073ff,#3f90ed);background:linear-gradient(135deg,var(--primary),var(--accent-dark));box-shadow:0 2px 8px #223a660f;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover:not(:disabled){background:#235de0;background:var(--primary-dark);box-shadow:0 8px 22px #223a6617;box-shadow:var(--shadow-md)}.btn-secondary{background:#f5f8fd;background:var(--gray-100);border:1px solid #e8edf6;border:1px solid var(--gray-200);color:#1f2b3d;color:var(--dark)}.btn-secondary:hover:not(:disabled){background:#d9e2ef;background:var(--gray-300)}.btn-accent{background:linear-gradient(135deg,#58a6ff,#3f90ed);background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff}.btn-danger{background:#e15a5a;background:var(--danger);color:#fff}.btn-outline{background:#0000;border:1.5px solid #3073ff;border:1.5px solid var(--primary);color:#3073ff;color:var(--primary)}.btn-outline:hover:not(:disabled){background:#3073ff;background:var(--primary);color:#fff}.btn-ghost{background:#0000;color:#617190;color:var(--gray-600)}.btn-ghost:hover:not(:disabled){background:#1766dc14;color:#1f2b3d;color:var(--dark)}.btn-sm{font-size:.8rem;padding:6px 14px}.btn-lg{font-size:1rem;padding:14px 28px}.btn-xl{font-size:1.08rem;padding:16px 36px}.btn-xl,.card{border-radius:16px;border-radius:var(--radius-md)}.card{background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);box-shadow:0 2px 8px #223a660f;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;transition:transform var(--transition),box-shadow var(--transition)}.card:hover{box-shadow:0 8px 22px #223a6617;box-shadow:var(--shadow-md)}.card-body{padding:24px}.input-group{margin-bottom:16px}.input-group label{color:#354663;color:var(--gray-700);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.input-field{background:#fbfdff;border:1.5px solid #d9e2ef;border:1.5px solid var(--gray-300);border-radius:12px;color:#1f2b3d;color:var(--dark);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.input-field:hover{border-color:#c4d7f3}.input-field:focus{border-color:#3073ff;border-color:var(--primary);box-shadow:0 0 0 3px #ecf2ff;box-shadow:0 0 0 3px var(--primary-bg)}textarea.input-field{min-height:100px;resize:vertical}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:640;padding:4px 10px}.badge-primary{background:#ecf2ff;background:var(--primary-bg);color:#3073ff;color:var(--primary)}.badge-success{background:#eafaf4;background:var(--success-bg);color:#0da678;color:var(--success)}.badge-warning{background:#fff7e9;background:var(--warning-bg);color:#f1b74d;color:var(--warning)}.badge-danger{background:#ffefef;background:var(--danger-bg);color:#e15a5a;color:var(--danger)}.badge-gray{color:#617190;color:var(--gray-600)}.badge-gray,.progress-bar{background:#e8edf6;background:var(--gray-200)}.progress-bar{border-radius:999px;height:8px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#3073ff,#58a6ff);background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;height:100%;transition:width .5s ease;transition:width var(--transition-slow)}.alert{animation:reveal-up .34s ease both;border-radius:10px;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:16px;padding:12px 16px}.alert-error{background:#ffefef;background:var(--danger-bg);border:1px solid #f0c4cb;color:#8f2d3b}.alert-success{background:#eafaf4;background:var(--success-bg);border:1px solid #b8e7d1;color:#0f6a45}.alert-warning{background:#fff7e9;background:var(--warning-bg);border:1px solid #f5deac;color:#8a6110}.alert-info{background:#ecf2ff;background:var(--primary-bg);border:1px solid #c6d9fb;color:#3073ff;color:var(--primary)}.tabs{border-bottom:1.5px solid #e8edf6;border-bottom:1.5px solid var(--gray-200);display:flex;gap:6px;margin-bottom:24px;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid #0000;border-radius:10px 10px 0 0;color:#617190;color:var(--gray-600);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);font-size:.9rem;font-weight:620;margin-bottom:-1.5px;padding:10px 18px;transition:color .2s ease,border-color .2s ease,background .2s ease;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.tab:hover{background:#1766dc0f}.tab.active,.tab:hover{color:#3073ff;color:var(--primary)}.tab.active{border-bottom-color:#3073ff;border-bottom-color:var(--primary)}.modal-overlay{align-items:center;animation:fade-in .2s ease;animation:fade-in var(--transition-fast);display:flex;inset:0;justify-content:center;padding:clamp(12px,2.6vw,24px);position:fixed;z-index:1200}.modal-overlay,.sidebar-overlay,.whiteboard-fullscreen-overlay{backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%);background:#10182870}.modal{animation:scale-in .32s cubic-bezier(.2,.7,.2,1);background:#fff;background:var(--surface);border:1px solid #d6e0eee6;border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 22px 58px #0f172a3d;display:flex;flex-direction:column;max-height:min(90vh,calc(100dvh - 24px));max-width:600px;overflow:hidden;width:min(100%,720px)}.modal-header{align-items:center;border-bottom:1px solid #e8edf6;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{font-size:1.1rem;line-height:1.3;margin:0}.modal-close{align-items:center;background:#f5f8fd;background:var(--gray-100);border:none;border-radius:50%;color:#617190;color:var(--gray-600);cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;width:32px}.modal-body{overflow-y:auto;padding:24px}.modal-footer{border-top:1px solid #e8edf6;border-top:1px solid var(--gray-200);display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:16px 24px}.loader{align-items:center;display:flex;justify-content:center;padding:60px}.spinner{animation:spin .8s linear infinite;border:3px solid #e8edf6;border-top-color:#3073ff;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.empty-state{background:#fff9;border:1px dashed #e8edf6;border:1px dashed var(--gray-200);border-radius:18px;color:#617190;color:var(--gray-600);padding:60px 20px;text-align:center}.empty-state-icon{align-items:center;background:linear-gradient(135deg,#ecf2ff,#f6f9ff);background:linear-gradient(135deg,var(--primary-bg),#f6f9ff);border-radius:16px;color:#3073ff;color:var(--primary);display:flex;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.empty-state h3{color:#1f2b3d;color:var(--dark);font-size:1.2rem;margin-bottom:8px}.empty-state p{font-size:.9rem;margin:0 auto 20px;max-width:460px}.table-wrap{border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;font-size:.9rem;width:100%}th{background:#f5f8fd;background:var(--gray-100);color:#354663;color:var(--gray-700);font-weight:640;text-align:left}td,th{border-bottom:1px solid #e8edf6;border-bottom:1px solid var(--gray-200);padding:12px 16px}td{background:#fff}tr:hover td{background:#f9fbff}.page-header{animation:reveal-up .42s both;margin-bottom:24px}.page-header h1{color:#1f2b3d;color:var(--dark);font-size:1.8rem;font-weight:800;margin-bottom:4px}.page-header p{color:#617190;color:var(--gray-600);font-size:.95rem;max-width:640px}.layout-main,.layout-shell{min-height:100vh}.layout-main{padding-top:64px;transition:padding-left .2s ease;transition:padding-left var(--transition)}.layout-main.is-sidebar-open{padding-left:240px}.layout-content{margin:0 auto;max-width:1200px;padding:24px}.app-header{background:#fff;border-bottom:1px solid #e8edf6;border-bottom:1px solid var(--gray-200);box-shadow:0 2px 8px #223a660f;box-shadow:var(--shadow-sm);height:64px;justify-content:space-between;left:0;padding:0 18px;position:fixed;right:0;top:0;z-index:900}.app-header,.app-header__left,.app-header__right{align-items:center;display:flex}.app-header__left{gap:14px}.app-header__right{gap:10px}.app-brand,.app-icon-button{align-items:center;cursor:pointer;display:flex}.app-icon-button{background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:10px;color:#354663;color:var(--gray-700);height:36px;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .2s ease;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);width:36px}.app-icon-button:hover{background:#f5f8fd;background:var(--gray-100);border-color:#d9e2ef;border-color:var(--gray-300);transform:translateY(-1px)}.app-notification-button{background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:10px;height:36px;position:relative;width:36px}.app-badge{background:#e15a5a;background:var(--danger);border:2px solid #fff;border-radius:9px;color:#fff;font-size:.62rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:-4px;top:-4px}.app-badge,.app-user{align-items:center;display:flex}.app-user{border-radius:10px;cursor:pointer;gap:9px;padding:5px 8px;transition:background .2s ease;transition:background var(--transition-fast)}.app-user:hover{background:#f5f8fd;background:var(--gray-100)}.app-user__avatar{align-items:center;background:linear-gradient(135deg,#3073ff,#3073ff);background:linear-gradient(135deg,var(--brand-700),var(--primary));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.82rem;font-weight:700;height:34px;justify-content:center;width:34px}.app-user__name{color:#1f2b3d;color:var(--dark);font-size:.84rem;font-weight:640}.app-user__role{color:#617190;color:var(--gray-600);font-size:.72rem}.app-user-menu-wrap{position:relative}.app-user-menu{animation:scale-in .22s ease;background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 8px 22px #223a6617;box-shadow:var(--shadow-md);min-width:190px;overflow:hidden;position:absolute;right:0;top:50px;z-index:1180}.app-user-menu__item{align-items:center;background:#0000;border:none;color:#1f2b3d;color:var(--dark);cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;gap:10px;padding:10px 16px;text-align:left;transition:background .2s ease,color .2s ease;transition:background var(--transition-fast),color var(--transition-fast);width:100%}.app-user-menu__item:hover{background:#f5f8fd;background:var(--gray-100)}.app-user-menu__item--danger{color:#e15a5a;color:var(--danger)}.app-user-menu__divider{background:#f5f8fd;background:var(--gray-100);height:1px}.sidebar-overlay{animation:fade-in .2s ease;animation:fade-in var(--transition-fast);inset:0;position:fixed;z-index:1100}.whiteboard-fullscreen-overlay{align-items:stretch;display:flex;inset:0;justify-content:center;padding:clamp(8px,2vw,18px);position:fixed;z-index:1400}.whiteboard-fullscreen-frame{display:flex;height:100%;margin:0 auto;min-height:0;width:100%}.whiteboard-fullscreen-frame>*{flex:1 1 auto;min-height:0}.whiteboard-rich-text{font-family:inherit;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.whiteboard-rich-text span[data-text-style=heading]{font-size:34px;font-size:var(--wb-heading-size,34px);font-weight:700;line-height:1.18}.whiteboard-rich-text span[data-text-style=body]{font-size:20px;font-size:var(--wb-body-size,20px);font-weight:500;line-height:1.35}.whiteboard-rich-text span[data-text-style=caption]{font-size:14px;font-size:var(--wb-caption-size,14px);font-weight:400;line-height:1.4}.whiteboard-rich-text--editable{cursor:text}.whiteboard-rich-text--editable:empty:before{content:""}.app-sidebar{background:#fff;border-right:1px solid #e8edf6;border-right:1px solid var(--gray-200);bottom:0;box-shadow:6px 0 18px #1f2b3d0f;display:flex;flex-direction:column;left:0;overflow-y:auto;padding:10px 0 20px;position:fixed;top:64px;transition:transform .2s ease;transition:transform var(--transition);width:240px;z-index:1150}.app-sidebar.is-closed{transform:translateX(-100%)}.app-sidebar.is-open{transform:translateX(0)}.sidebar-brand{padding:0 14px 10px}.sidebar-brand__inner{align-items:center;background:linear-gradient(135deg,#235de0,#3073ff);background:linear-gradient(135deg,var(--brand-900),var(--brand-700));border-radius:12px;box-shadow:0 12px 24px #1766dc3d;display:flex;height:40px;justify-content:center;width:40px}.sidebar-section{margin-bottom:2px;padding:0 8px}.sidebar-section__label{color:#97a6c0;color:var(--gray-400);font-size:.67rem;font-weight:700;letter-spacing:.9px;padding:10px 14px 4px;text-transform:uppercase}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#354663;color:var(--gray-700);cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:10px;padding:9px 12px;text-align:left;transition:background .2s ease,color .2s ease,transform .2s ease;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:100%}.sidebar-item:hover{background:#f5f8fd;background:var(--gray-100)}.sidebar-item.active{background:#ecf2ff;background:var(--primary-bg);color:#3073ff;color:var(--primary);font-weight:600}.sidebar-divider{background:#f5f8fd;background:var(--gray-100);height:1px;margin:8px 14px}.auth-page{align-items:center;background:#f3f7fc;background:var(--background);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{animation:scale-in .5s cubic-bezier(.2,.7,.2,1) both;background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 16px 36px #223a661f;box-shadow:var(--shadow-lg);max-width:420px;padding:32px;width:100%}.auth-card--verify{max-width:460px;text-align:center}.auth-logo{display:flex;justify-content:center;margin-bottom:16px}.auth-title{color:#1f2b3d;color:var(--dark);font-size:1.15rem;font-weight:700;margin-bottom:8px;text-align:center}.auth-subtitle{font-size:.9rem;margin-bottom:28px}.auth-footer,.auth-subtitle{color:#617190;color:var(--gray-600);text-align:center}.auth-footer{font-size:.85rem;margin-top:20px}.auth-code-row{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.auth-code-input{border:1.5px solid #d9e2ef;border:1.5px solid var(--gray-300);border-radius:12px;font-size:1.3rem;font-weight:700;height:56px;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:48px}.auth-code-input:focus{border-color:#3073ff;border-color:var(--primary);box-shadow:0 0 0 3px #ecf2ff;box-shadow:0 0 0 3px var(--primary-bg)}.auth-email-icon{align-items:center;background:#ecf2ff;background:var(--primary-bg);border-radius:16px;display:flex;font-weight:760;height:56px;justify-content:center;margin:0 auto 14px;width:56px}.auth-email-icon,.auth-resend-btn{color:#3073ff;color:var(--primary)}.auth-resend-btn{background:#0000;border:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:650}.auth-resend-btn:disabled{cursor:not-allowed;opacity:.6}.landing-page{background:#f3f7fc;background:var(--background);color:#1f2b3d;color:var(--dark);overflow-x:clip}.landing-nav{align-items:center;display:flex;height:64px;justify-content:space-between;left:0;padding:0 24px;position:fixed;right:0;top:0;transition:border-color .2s ease,background .2s ease;transition:border-color var(--transition-fast),background var(--transition-fast);z-index:100}.landing-nav.is-scrolled{background:#fff;border-bottom:1px solid #e8edf6;border-bottom:1px solid var(--gray-200);box-shadow:0 2px 8px #223a660f;box-shadow:var(--shadow-sm)}.landing-nav__menu{display:flex;gap:8px}.landing-nav__item{background:#0000;border:0;border-radius:999px;color:#617190;color:var(--gray-600);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:560;padding:9px 14px;transition:background .2s ease,color .2s ease;transition:background var(--transition-fast),color var(--transition-fast)}.landing-nav__item:hover{background:#1766dc14;color:#1f2b3d;color:var(--dark)}.landing-section{margin:0 auto;width:min(1150px,calc(100% - 48px))}.landing-hero{padding-bottom:92px;padding-top:152px;text-align:center}.landing-hero h1{font-size:clamp(2.3rem,5vw,3.8rem);font-weight:840;letter-spacing:-.03em;line-height:1.08;margin:0 auto 20px;max-width:840px}.landing-hero p{color:#617190;color:var(--gray-600);font-size:1.04rem;margin:0 auto 34px;max-width:640px}.landing-hero__cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.landing-stats{border-bottom:1px solid #e6edf8;border-top:1px solid #e6edf8;padding:34px 0}.landing-stats__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.landing-stat{padding:8px;text-align:center}.landing-stat__value{font-size:clamp(2.1rem,4vw,2.7rem);font-weight:840;letter-spacing:-.04em}.landing-stat__label{font-size:.98rem;font-weight:700;margin-top:2px}.landing-stat__sub{color:#617190;color:var(--gray-600);font-size:.8rem;margin-top:3px}.landing-block{padding:82px 0}.landing-block--muted{background:#fff9;border-bottom:1px solid #e6edf8;border-top:1px solid #e6edf8}.landing-overline{color:#97a6c0;color:var(--gray-400);font-size:.73rem;font-weight:700;letter-spacing:1px;margin-bottom:14px;text-transform:uppercase}.landing-title{font-size:clamp(1.7rem,3vw,2.35rem);font-weight:810;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px}.landing-text{color:#617190;color:var(--gray-600);font-size:.97rem;line-height:1.72;max-width:740px}.landing-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:28px}.landing-card{background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 2px 8px #223a660f;box-shadow:var(--shadow-sm);padding:20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.landing-card:hover{border-color:#d9e2ef;border-color:var(--gray-300);box-shadow:0 8px 22px #223a6617;box-shadow:var(--shadow-md);transform:translateY(-4px)}.landing-card__icon{align-items:center;background:#ecf2ff;background:var(--primary-bg);border-radius:12px;color:#3073ff;color:var(--primary);display:flex;height:42px;justify-content:center;margin-bottom:13px;width:42px}.landing-card__title{font-size:1rem;font-weight:700;margin-bottom:8px}.landing-card__desc{color:#617190;color:var(--gray-600);font-size:.86rem;line-height:1.58}.landing-cta{background:linear-gradient(135deg,#3073ff,#235de0);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:18px;padding:66px 24px;text-align:center}.landing-cta h2{color:#fff;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:810;margin-bottom:10px}.landing-cta p{color:#ffffffb8;margin:0 auto 28px;max-width:580px}.landing-footer{border-top:1px solid #e6edf8;padding:32px 0}.landing-footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;width:min(1150px,calc(100% - 48px))}.modules-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.module-card{animation:reveal-up .5s both}.module-card__details{display:flex;flex-direction:column;gap:16px}.learn-step-info{align-items:center;background:#ecf2ff;background:var(--primary-bg);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;padding:14px 16px}.learn-card,.learn-step-info{border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:16px}.learn-card{background:#fff;box-shadow:0 2px 8px #223a660f;box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden}.learn-link{align-items:center;background:#fff;border:1px solid #e8edf6;border:1px solid var(--gray-200);border-radius:12px;color:#1f2b3d;color:var(--dark);display:flex;gap:10px;padding:12px 14px;text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.learn-link:hover{background:#f5f8fd;background:var(--gray-100);border-color:#d9e2ef;border-color:var(--gray-300);transform:translateY(-1px)}.learn-nav{align-items:center;display:flex;gap:12px;justify-content:flex-end;padding:20px 0}.lesson-rich-html h2{font-size:1.25rem;font-weight:700;margin:12px 0 8px}.lesson-rich-html h3{font-size:1.05rem;font-weight:700;margin:10px 0 6px}.lesson-rich-html p{margin:8px 0}.lesson-rich-html ol,.lesson-rich-html ul{margin:8px 0;padding-left:22px}.lesson-rich-html pre{background:#f5f8fd;background:var(--gray-100);border-radius:8px;font-size:.88rem;overflow-x:auto;padding:12px 14px}.lesson-rich-html strong{font-weight:700}.lesson-rich-html em{font-style:italic}.lesson-rich-html img{border-radius:10px;display:block;height:auto;margin:10px 0;max-width:100%}.lesson-rich-html table{border-collapse:collapse;margin:10px 0;table-layout:fixed;width:100%}.lesson-rich-html td,.lesson-rich-html th{border:1px solid #d9e2ef;border:1px solid var(--gray-300);padding:8px 10px;vertical-align:top}.lesson-rich-html th{background:#f5f8fd;background:var(--gray-100);font-weight:700}.w-full{width:100%}.text-center{text-align:center}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.985) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:1080px){.layout-main.is-sidebar-open{padding-left:0}.layout-content{padding:24px 20px}.landing-nav{padding:0 14px}.landing-nav__menu{display:none}.landing-section{width:calc(100% - 28px)}.app-header{padding:0 12px}.modal-overlay{padding:12px}}@media (max-width:768px){.modal-body,.modal-header{padding:16px 18px}.modal-footer{gap:8px;padding:14px 18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d3deee;border-radius:10px}
/*# sourceMappingURL=main.2c607d13.css.map*/