@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";@keyframes ezFloatSlow{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-24px) rotate(6deg) scale(1.05)}}@keyframes ezFloatReverse{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(20px) rotate(-8deg) scale(.95)}}@keyframes ezPulseGlow{0%,to{opacity:.55;filter:blur(60px)}50%{opacity:.85;filter:blur(80px)}}@keyframes ezFadeInScale{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ezShimmer{0%{transform:translate(-100%) rotate(25deg)}to{transform:translate(200%) rotate(25deg)}}.ez-auth-container{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(124,58,237,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(249,168,212,.08) 0%,transparent 70%),var(--ez-bg-base, #f8fafc);transition:background-color .3s ease}.dark .ez-auth-container{background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.25) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(124,58,237,.25) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(249,168,212,.05) 0%,transparent 70%),#0f172a}.ez-auth-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.ez-auth-orb-1{top:-10%;left:-5%;width:450px;height:450px;background:radial-gradient(circle,rgba(37,99,235,.4) 0%,rgba(79,70,229,.2) 70%,transparent 100%);animation:ezFloatSlow 14s ease-in-out infinite,ezPulseGlow 8s ease-in-out infinite}.ez-auth-orb-2{bottom:-15%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(124,58,237,.35) 0%,rgba(249,168,212,.25) 70%,transparent 100%);animation:ezFloatReverse 16s ease-in-out infinite,ezPulseGlow 10s ease-in-out infinite}.ez-auth-orb-3{top:40%;right:15%;width:250px;height:250px;background:radial-gradient(circle,rgba(249,168,212,.3) 0%,rgba(79,70,229,.15) 80%,transparent 100%);animation:ezFloatSlow 18s ease-in-out infinite}.ez-auth-card{position:relative;z-index:10;width:100%;max-width:480px;padding:2.5rem 2.25rem;border-radius:24px;background:#ffffffd1;backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);border:1px solid rgba(255,255,255,.6);box-shadow:0 30px 60px -15px #0f172a1f,0 0 40px #6366f11f;animation:ezFadeInScale .5s cubic-bezier(.16,1,.3,1) forwards;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease}.dark .ez-auth-card{background:#1e293bc7;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -15px #00000080,0 0 50px #7c3aed33}.ez-auth-card:hover{box-shadow:0 35px 70px -15px #0f172a29,0 0 50px #6366f133}.ez-auth-header{text-align:center;margin-bottom:2rem}.ez-auth-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,#2563eb,#4f46e5,#7c3aed);color:#fff;font-weight:800;font-size:1.5rem;box-shadow:0 10px 25px -5px #4f46e566;margin-bottom:1.25rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.ez-auth-logo-badge:hover{transform:scale(1.08) rotate(-4deg)}.ez-auth-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.dark .ez-auth-title{background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.ez-auth-subtitle{font-size:.925rem;color:#64748b;font-weight:400}.dark .ez-auth-subtitle{color:#94a3b8}.ez-field-stack{display:flex;flex-direction:column;gap:1.25rem}.ez-field-group{display:flex;flex-direction:column;gap:.5rem}.ez-field-label{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;color:#334155}.dark .ez-field-label{color:#cbd5e1}.ez-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.ez-input-icon-left{position:absolute;left:1rem;color:#94a3b8;pointer-events:none;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.ez-input-icon-right{position:absolute;right:.75rem;background:transparent;border:none;color:#94a3b8;padding:.4rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background-color .2s ease}.ez-input-icon-right:hover{color:#4f46e5;background:#4f46e514}.ez-input-control{width:100%;height:50px;padding-left:2.75rem;padding-right:2.75rem;font-size:.95rem;border-radius:14px;background:#ffffffe6;border:1.5px solid rgba(203,213,225,.8);color:#0f172a;outline:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.dark .ez-input-control{background:#0f172a99;border:1.5px solid rgba(255,255,255,.12);color:#f8fafc}.ez-input-control:hover:not(:disabled){border-color:#94a3b8}.dark .ez-input-control:hover:not(:disabled){border-color:#ffffff40}.ez-input-control:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e526}.dark .ez-input-control:focus{background:#0f172af2;border-color:#6366f1;box-shadow:0 0 0 4px #6366f140}.ez-input-wrapper:focus-within .ez-input-icon-left{color:#4f46e5}.dark .ez-input-wrapper:focus-within .ez-input-icon-left{color:#818cf8}.ez-select-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2064748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:2.75rem}.ez-strength-container{display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem}.ez-strength-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;height:4px}.ez-strength-bar{height:100%;border-radius:4px;background:#cbd5e180;transition:background-color .3s ease}.dark .ez-strength-bar{background:#ffffff26}.ez-strength-bar.weak{background:#ef4444}.ez-strength-bar.medium{background:#f59e0b}.ez-strength-bar.good{background:#3b82f6}.ez-strength-bar.strong{background:#10b981}.ez-strength-text{font-size:.75rem;font-weight:500;text-align:right;transition:color .3s ease}.ez-auth-options{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;margin-top:.25rem}.ez-checkbox-label{display:flex;align-items:center;gap:.5rem;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.dark .ez-checkbox-label{color:#94a3b8}.ez-custom-checkbox{width:18px;height:18px;border-radius:6px;border:1.5px solid #cbd5e1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff}.dark .ez-custom-checkbox{border-color:#fff3;background:#0f172acc}input[type=checkbox]:checked+.ez-custom-checkbox{background:#4f46e5;border-color:#4f46e5;color:#fff}.ez-auth-link{color:#4f46e5;font-weight:600;text-decoration:none;transition:color .2s ease,text-decoration .2s ease}.ez-auth-link:hover{color:#3730a3;text-decoration:underline}.dark .ez-auth-link{color:#818cf8}.dark .ez-auth-link:hover{color:#a5b4fc}.ez-btn-primary-gradient{position:relative;width:100%;height:52px;border-radius:14px;border:none;background:linear-gradient(135deg,#2563eb,#4f46e5,#7c3aed);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;overflow:hidden;box-shadow:0 10px 25px -5px #4f46e566;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.ez-btn-primary-gradient:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px -5px #4f46e58c}.ez-btn-primary-gradient:active:not(:disabled){transform:translateY(0)}.ez-btn-primary-gradient:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.ez-btn-primary-gradient:before{content:"";position:absolute;top:-50%;left:-50%;width:50%;height:200%;background:#ffffff40;transform:rotate(25deg);pointer-events:none;transition:transform .6s ease}.ez-btn-primary-gradient:hover:before{animation:ezShimmer 1.2s ease-in-out infinite}.ez-divider-wrap{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:#94a3b8;font-size:.8rem;font-weight:500}.ez-divider-line{flex:1;height:1px;background:#cbd5e199}.dark .ez-divider-line{background:#ffffff1a}.ez-social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.ez-social-grid.ez-social-stack{grid-template-columns:1fr;justify-items:center}.ez-social-stack>*{width:min(100%,260px)}.ez-social-btn{height:46px;border-radius:12px;border:1.5px solid rgba(203,213,225,.8);background:#fffc;color:#334155;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.6rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.dark .ez-social-btn{background:#0f172a99;border:1.5px solid rgba(255,255,255,.12);color:#cbd5e1}.ez-social-btn:hover{background:#fff;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.dark .ez-social-btn:hover{background:#1e293be6;border-color:#ffffff40;box-shadow:0 4px 12px #0000004d}.ez-avatar-upload-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.ez-avatar-circle{position:relative;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#2563eb1a,#7c3aed1a);border:2px dashed #4f46e5;display:flex;align-items:center;justify-content:center;color:#4f46e5;cursor:pointer;overflow:hidden;transition:all .3s ease}.dark .ez-avatar-circle{border-color:#818cf8;color:#818cf8}.ez-avatar-circle:hover{transform:scale(1.05);background:#4f46e526}.ez-avatar-img{width:100%;height:100%;object-fit:cover}.ez-avatar-hint{font-size:.75rem;color:#64748b}.dark .ez-avatar-hint{color:#94a3b8}.ez-auth-top-actions{position:absolute;top:1.25rem;right:1.5rem;z-index:20;display:flex;align-items:center;gap:.75rem}.ez-theme-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.5);background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#334155;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.dark .ez-theme-btn{border:1px solid rgba(255,255,255,.15);background:#1e293bb3;color:#f8fafc}.ez-theme-btn:hover{transform:scale(1.08)}@media (max-width: 640px){.ez-auth-card{padding:2rem 1.5rem;border-radius:20px}.ez-auth-title{font-size:1.5rem}.ez-social-grid{grid-template-columns:1fr}}:root{color-scheme:light;--crystal-50: #f8f7ff;--crystal-100: #f0eeff;--crystal-200: #e4e0ff;--crystal-300: #cdc6ff;--crystal-400: #a89dff;--crystal-500: #8b7cf8;--crystal-600: #7c5ce7;--crystal-700: #6c3fd1;--rose-50: #fff5f7;--rose-100: #ffe0e6;--rose-200: #ffc2d1;--rose-400: #ff6b9d;--rose-500: #f74a8a;--ice-50: #f0f9ff;--ice-100: #dff3ff;--ice-200: #b9e5ff;--ice-400: #38bdf8;--ice-500: #0ea5e9;--mint-50: #f0fdf9;--mint-100: #d5f7ed;--mint-400: #34d399;--mint-500: #10b981;--amber-50: #fffbeb;--amber-400: #fbbf24;--amber-500: #f59e0b;--app-bg: #f5f3ff;--ink: #1e1b4b;--text-h: #1e1b4b;--text: #4c4878;--muted: #8985a8;--surface: rgba(255, 255, 255, .82);--surface-strong: #ffffff;--surface-muted: #f3f1ff;--code-bg: var(--surface-muted);--bg: var(--app-bg);--card: rgba(255, 255, 255, .72);--glass-bg: rgba(255, 255, 255, .58);--glass-border: rgba(255, 255, 255, .85);--border: rgba(139, 124, 248, .12);--border-strong: rgba(139, 124, 248, .24);--accent: #8b7cf8;--accent-hover: #7c5ce7;--accent-bg: rgba(139, 124, 248, .1);--accent-border: rgba(139, 124, 248, .28);--accent-2: #0ea5e9;--accent-2-bg: rgba(14, 165, 233, .1);--accent-3: #f74a8a;--accent-3-bg: rgba(247, 74, 138, .1);--accent-4: #fbbf24;--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .08);--shadow: 0 20px 60px rgba(139, 124, 248, .12), 0 4px 20px rgba(0,0,0,.04);--shadow-soft: 0 10px 40px rgba(139, 124, 248, .08);--shadow-card: 0 8px 32px rgba(139, 124, 248, .08), 0 1px 4px rgba(0,0,0,.04);--shadow-glow: 0 0 20px rgba(139, 124, 248, .15), 0 0 60px rgba(139, 124, 248, .06);--ring: 0 0 0 3px rgba(139, 124, 248, .22);--radius: 14px;--radius-lg: 22px;--radius-xl: 28px;--sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sidebar-w: 240px;--sidebar-collapsed: 68px;--header-h: 0px;--overlay-bg: rgba(0, 0, 0, .4);--modal-bg: #ffffff;--modal-shadow: 0 8px 32px rgba(0, 0, 0, .15);--warning-text: #9a6510;--success-text: #087a57;--body-gradient: linear-gradient(180deg, #f8f7ff 0%, #ede9fe 30%, #f0f9ff 60%, #fdf2f8 100%);--sidebar-bg: rgba(255, 255, 255, .55);--glass-white: rgba(255, 255, 255, .65);--glass-white-strong: rgba(255, 255, 255, .82);--glass-white-ultra: rgba(255, 255, 255, .75);--input-bg: rgba(255, 255, 255, .6);--input-bg-focus: rgba(255, 255, 255, .9);--chat-bg: #ffffff;--conv-sidebar-bg: rgba(255, 255, 255, .45);--sparkle-opacity: .7;color:var(--text);font:15px/1.6 var(--sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{color-scheme:dark;--crystal-50: #1a1730;--crystal-100: #221f3d;--crystal-200: #2d2850;--crystal-300: #3d3870;--crystal-400: #6557c0;--crystal-500: #8b7cf8;--crystal-600: #a89dff;--crystal-700: #cdc6ff;--rose-50: rgba(247, 74, 138, .1);--ice-50: rgba(14, 165, 233, .1);--mint-50: rgba(16, 185, 129, .1);--amber-50: rgba(245, 158, 11, .1);--app-bg: #0f0e1a;--ink: #e8e5ff;--text-h: #e8e5ff;--text: #b8b4d8;--muted: #7872a0;--surface: rgba(30, 27, 75, .85);--surface-strong: #1a1730;--surface-muted: #1e1b3a;--code-bg: var(--surface-muted);--bg: var(--app-bg);--card: rgba(30, 27, 75, .72);--glass-bg: rgba(18, 16, 40, .75);--glass-border: rgba(139, 124, 248, .18);--border: rgba(139, 124, 248, .15);--border-strong: rgba(139, 124, 248, .28);--accent: #8b7cf8;--accent-hover: #a89dff;--accent-bg: rgba(139, 124, 248, .15);--accent-border: rgba(139, 124, 248, .35);--accent-2: #38bdf8;--accent-2-bg: rgba(56, 189, 248, .12);--accent-3: #f74a8a;--accent-3-bg: rgba(247, 74, 138, .12);--accent-4: #fbbf24;--success: #34d399;--success-bg: rgba(52, 211, 153, .12);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--shadow: 0 20px 60px rgba(0, 0, 0, .5), 0 4px 20px rgba(0, 0, 0, .25);--shadow-soft: 0 10px 40px rgba(0, 0, 0, .3);--shadow-card: 0 8px 32px rgba(0, 0, 0, .35), 0 1px 4px rgba(0, 0, 0, .18);--shadow-glow: 0 0 20px rgba(139, 124, 248, .3), 0 0 60px rgba(139, 124, 248, .12);--ring: 0 0 0 3px rgba(139, 124, 248, .35);--overlay-bg: rgba(0, 0, 0, .65);--modal-bg: #1e1b3a;--modal-shadow: 0 8px 32px rgba(0, 0, 0, .55);--warning-text: #fbbf24;--success-text: #34d399;--body-gradient: linear-gradient(180deg, #0f0e1a 0%, #14122a 30%, #0e1a26 60%, #1a0e1a 100%);--sidebar-bg: rgba(15, 14, 26, .92);--glass-white: rgba(30, 27, 75, .72);--glass-white-strong: rgba(30, 27, 75, .92);--glass-white-ultra: rgba(20, 18, 50, .85);--input-bg: rgba(30, 27, 75, .6);--input-bg-focus: rgba(40, 36, 90, .9);--chat-bg: #14122a;--conv-sidebar-bg: rgba(15, 14, 26, .85);--sparkle-opacity: .25}*{box-sizing:border-box}html{min-height:100%;background:var(--app-bg)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(139,124,248,.12),transparent),radial-gradient(ellipse 60% 50% at 90% 80%,rgba(247,74,138,.08),transparent),radial-gradient(ellipse 70% 40% at 50% 10%,rgba(14,165,233,.07),transparent),radial-gradient(ellipse 50% 60% at 80% 30%,rgba(251,191,36,.05),transparent),var(--body-gradient)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background-image:radial-gradient(circle 1.5px at center,rgba(139,124,248,.18) 0%,transparent 100%);background-size:40px 40px;-webkit-mask-image:linear-gradient(to bottom,#0009,#00000005);mask-image:linear-gradient(to bottom,#0009,#00000005);animation:sparkleShift 20s ease-in-out infinite;opacity:var(--sparkle-opacity)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.7) 0%,transparent 30%),linear-gradient(305deg,rgba(255,255,255,.5) 0%,transparent 25%)}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring)}#root{width:100%;min-height:100svh;display:flex;flex-direction:row;color:var(--text)}h1,h2,h3,h4{color:var(--text-h);line-height:1.2;letter-spacing:-.01em}p{margin:0}code,.counter{font-family:var(--mono)}.app-shell{width:100%;min-height:100svh;display:flex;flex-direction:row}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);z-index:30;display:flex;flex-direction:column;padding:20px 14px;gap:6px;background:var(--sidebar-bg);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-right:1px solid rgba(139,124,248,.1);box-shadow:4px 0 30px #8b7cf80a;transition:width .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:8px 10px;margin-bottom:14px;border:0;background:transparent;cursor:pointer;text-align:left;color:inherit;border-radius:var(--radius);transition:background .2s}.sidebar-brand:hover{background:#8b7cf80f}.sidebar-brand-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--ez-radius-md);flex:0 0 auto;color:#fff;background:linear-gradient(135deg,#8b7cf8,#c084fc,#f74a8a);font-weight:900;font-size:14px;letter-spacing:-.02em;box-shadow:0 6px 20px #8b7cf84d,0 0 0 2px #fff9;animation:crystalPulse 4s ease-in-out infinite}.sidebar-brand-text h1{margin:0;font-size:15px;font-weight:800;color:var(--ez-text);line-height:1.2}.sidebar-brand-text p{margin:2px 0 0;font-size:11px;color:var(--muted);font-weight:500}.sidebar-divider{width:100%;height:1px;margin:8px 0;background:linear-gradient(90deg,transparent,rgba(139,124,248,.15),transparent)}.sidebar-label{padding:6px 12px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nav-item,.nav-item-active{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:var(--ez-radius-lg);border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;color:var(--text);background:transparent;text-decoration:none;width:100%;text-align:left}.nav-item:hover{background:#8b7cf814;color:var(--text-h);transform:translate(2px)}.nav-item-active{background:linear-gradient(135deg,#8b7cf81f,#c084fc14);color:var(--crystal-600);border-color:#8b7cf82e;font-weight:700;box-shadow:0 2px 12px #8b7cf814}.nav-item-active .nav-icon{background:linear-gradient(135deg,#8b7cf8,#c084fc);color:#fff;box-shadow:0 4px 12px #8b7cf840}.nav-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--ez-radius-sm);background:#8b7cf814;color:var(--crystal-500);font-size:14px;font-weight:800;flex:0 0 auto;transition:all .2s}.nav-item-primary{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--ez-radius-lg);border:none;font-size:14px;font-weight:700;cursor:pointer;width:100%;text-align:left;color:#fff;background:linear-gradient(135deg,#8b7cf8,#c084fc,#f74a8a);box-shadow:0 8px 24px #8b7cf840,0 0 0 1px #fff3 inset;transition:all .25s ease;position:relative;overflow:hidden}.nav-item-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 60%);pointer-events:none}.nav-item-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px #8b7cf859,0 0 0 1px #ffffff4d inset}.nav-item-danger{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:var(--ez-radius-lg);border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;width:100%;text-align:left;color:var(--danger);background:transparent;transition:all .2s}.nav-item-danger:hover{background:var(--danger-bg);border-color:#ef44441f}.sidebar-spacer{flex:1}.app-main{flex:1;margin-left:var(--sidebar-w);min-height:100svh;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.app-header,.brand,.brand-mark,.brand-title,.brand-subtitle,.app-nav,.nav-button,.nav-button-active,.nav-button-primary,.nav-button-danger{display:none}.page{width:100%;flex:1;padding:clamp(24px,3vw,40px);text-align:left;animation:fadeSlideUp .4s ease}.page-narrow{width:min(100%,900px);margin:0 auto}.page-wide{width:min(100%,1100px);margin:0 auto}.panel,.card,.auth-card{border:1px solid rgba(139,124,248,.1);border-radius:var(--radius-xl);background:var(--glass-white);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:var(--shadow-card);transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}.panel:hover,.card:hover{box-shadow:var(--shadow-glow);border-color:#8b7cf82e}.panel{padding:clamp(22px,3vw,32px)}.card{padding:22px}.muted{color:var(--muted)}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--ez-radius-lg);border:1px solid transparent;padding:10px 20px;font-size:14px;font-weight:700;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-primary{color:var(--ez-text-on-brand, #fff);background:var(--ez-primary, #3d52d5);border:none}.btn-primary:hover{background:var(--ez-primary-hover, #3341ad)}.btn-primary:active{background:var(--ez-primary-active, #2b3688)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ghost:disabled{cursor:not-allowed;opacity:.45;transform:none!important;box-shadow:none!important}.btn-secondary{color:var(--text-h);background:var(--glass-white);border-color:#8b7cf824;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft)}.btn-secondary:hover{background:var(--glass-white-strong);border-color:#8b7cf83d;box-shadow:var(--shadow-card);transform:translateY(-1px)}.btn-full{width:100%}.btn-ghost{color:var(--text);background:transparent}.btn-ghost:hover{color:var(--text-h);background:#8b7cf80f}.btn-danger{color:var(--danger);background:var(--danger-bg);border-color:#ef44441f}.btn-danger:hover{background:#ef44441f;transform:translateY(-1px)}.eyebrow{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ez-text-muted)}.section-title{margin:0;color:var(--text-h);font-size:clamp(24px,3vw,38px);font-weight:800;letter-spacing:-.02em}.section-subtitle{margin:10px 0 0;max-width:700px;color:var(--text);font-size:15px;line-height:1.7}.tag{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:4px 12px;border:1px solid rgba(139,124,248,.12);border-radius:var(--ez-radius-full);background:#8b7cf80f;color:var(--crystal-600);font-size:12px;font-weight:700;white-space:nowrap}.hero-home{width:min(100%,1100px);margin:0 auto;min-height:calc(100svh - 40px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1fr);align-items:center;gap:clamp(28px,5vw,50px);padding:clamp(30px,5vw,50px) clamp(18px,4vw,30px);text-align:left}.hero-content{display:grid;gap:20px}.hero-mark,.auth-mark{display:inline-grid;place-items:center;color:#fff;background:linear-gradient(135deg,#8b7cf8,#c084fc,#f74a8a);box-shadow:0 12px 30px #8b7cf840,0 0 0 3px #ffffff80;font-weight:900;animation:crystalPulse 4s ease-in-out infinite}.hero-mark{width:56px;height:56px;border-radius:var(--ez-radius-md);font-size:20px}.hero-title{max-width:680px;margin:0;color:var(--text-h);font-size:clamp(38px,5.5vw,64px);font-weight:900;line-height:1;letter-spacing:-.03em}.hero-copy{max-width:600px;color:var(--text);font-size:clamp(15px,1.8vw,17px);line-height:1.75}.hero-status{width:fit-content;display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid rgba(139,124,248,.15);border-radius:var(--ez-radius-full);background:var(--glass-white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--hero-status-shadow, var(--shadow-soft));color:var(--text-h);font-size:13px;font-weight:600}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-visual{position:relative;min-height:clamp(340px,40vw,500px);border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(145deg,#ffffffb3,#fff3),linear-gradient(135deg,#8b7cf826,#f74a8a1f,#0ea5e91a);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow),0 0 40px #8b7cf814;animation:crystalFloat 6s ease-in-out infinite}.hero-visual:before{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:var(--ez-radius-xl);border:1px solid rgba(255,255,255,.7);pointer-events:none;z-index:2}.hero-visual img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.hero-visual-caption{position:absolute;left:20px;right:20px;bottom:20px;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-chip{padding:12px;border-radius:var(--ez-radius-lg);background:var(--glass-white-ultra);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 20px #8b7cf814}.hero-chip strong{display:block;color:var(--text-h);font-size:16px;line-height:1.1}.hero-chip span{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:600}.feature-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-grid{grid-column:1 / -1}.feature-tile,.dashboard-card{position:relative;overflow:hidden;min-height:160px;padding:22px;border:1px solid rgba(139,124,248,.08);border-radius:var(--radius-xl);background:var(--glass-white);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-card);transition:all .3s ease}.feature-tile:hover,.dashboard-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow);border-color:#8b7cf82e}.feature-tile:before,.dashboard-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#8b7cf8,#c084fc,#f74a8a);opacity:.8}.feature-tile:nth-child(2):before,.dashboard-card:nth-child(2):before{background:linear-gradient(90deg,#0ea5e9,#38bdf8,#8b7cf8)}.feature-tile:nth-child(3):before,.dashboard-card:nth-child(3):before{background:linear-gradient(90deg,#f74a8a,#fbbf24,#10b981)}.feature-tile:nth-child(4):before,.dashboard-card:nth-child(4):before{background:linear-gradient(90deg,#10b981,#34d399,#0ea5e9)}.feature-kicker,.dashboard-kicker{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:14px;border-radius:var(--ez-radius-sm);background:linear-gradient(135deg,#8b7cf81f,#c084fc14);color:var(--crystal-500);font-size:13px;font-weight:800}.feature-title,.dashboard-card h3{margin:0 0 8px;color:var(--text-h);font-size:15px;font-weight:800}.feature-text,.dashboard-card p{color:var(--text);font-size:13px;line-height:1.65}.welcome-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;padding:clamp(28px,4vw,42px);border-radius:var(--radius-xl);border:1px solid rgba(139,124,248,.12);background:linear-gradient(135deg,#ffffffd9,#ffffff80),linear-gradient(135deg,rgba(139,124,248,.1) 0%,transparent 50%),linear-gradient(300deg,rgba(247,74,138,.08) 0%,transparent 40%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.welcome-panel h2{margin:0;font-size:clamp(24px,3.5vw,40px);font-weight:900;letter-spacing:-.02em}.welcome-panel p{max-width:700px;margin-top:12px;color:var(--text);line-height:1.75}.welcome-metric{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px}.metric-pill{padding:14px;border-radius:var(--ez-radius-xl);background:var(--glass-white);border:1px solid rgba(139,124,248,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px #8b7cf80f}.metric-pill strong{display:block;color:var(--text-h);font-size:18px}.metric-pill span{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:700}.dashboard-grid{margin-top:22px}.dashboard-card{display:flex;flex-direction:column}.dashboard-card p{flex:1;margin-bottom:16px}.personalization-page{display:grid;gap:22px}.personalization-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:stretch;padding:24px;border:1px solid rgba(139,124,248,.12);border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffffffdb,#ffffff8a),linear-gradient(135deg,rgba(16,185,129,.08),transparent 44%),linear-gradient(300deg,rgba(14,165,233,.08),transparent 48%);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.personalization-hero h3{margin:0 0 8px;font-size:24px;font-weight:850;letter-spacing:0}.personalization-hero p,.personalization-muted{color:var(--muted);font-size:13px;line-height:1.65}.personalization-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.personalization-metrics span,.personalization-panel,.recommendation-card,.knowledge-map-node,.goals-form{border:1px solid rgba(139,124,248,.1);border-radius:var(--ez-radius-md);background:var(--glass-white);box-shadow:var(--shadow-card)}.personalization-metrics span{display:grid;align-content:center;min-height:92px;padding:14px}.personalization-metrics strong{color:var(--text-h);font-size:24px;line-height:1.1}.personalization-metrics small{margin-top:5px;color:var(--muted);font-size:11px;font-weight:700}.personalization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.personalization-panel{min-height:230px;padding:18px}.personalization-panel-header,.personalization-section-title,.recommendation-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.personalization-panel h3,.personalization-section-title h3,.recommendation-card h3{margin:0;color:var(--text-h);font-size:17px;font-weight:800;letter-spacing:0}.knowledge-signal-list{display:grid;gap:10px;margin-top:14px}.knowledge-signal{display:grid;gap:7px;padding:12px;border-left:4px solid var(--border-strong);border-radius:var(--ez-radius-md);background:#ffffff85}.knowledge-signal div{display:flex;align-items:center;justify-content:space-between;gap:10px}.knowledge-signal strong,.knowledge-map-node strong{color:var(--text-h);font-size:13px}.knowledge-signal span,.knowledge-signal small,.knowledge-map-node small{color:var(--muted);font-size:12px}.knowledge-signal p{color:var(--text);font-size:13px}.knowledge-signal-mastered,.knowledge-map-mastered{border-color:#10b9815c}.knowledge-signal-weak,.knowledge-map-weak{border-color:#ef444457}.knowledge-signal-at_risk_of_forgetting,.knowledge-map-at_risk_of_forgetting{border-color:#f59e0b57}.knowledge-map-unassessed{border-color:#0ea5e947}.personalization-section{display:grid;gap:14px}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recommendation-card{display:grid;gap:14px;padding:18px}.recommendation-preview,.recommendation-reason{color:var(--text);font-size:13px;line-height:1.65}.recommendation-meta,.tag-row,.knowledge-chip-row,.recommendation-actions,.goals-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recommendation-meta span,.knowledge-chip{min-height:26px;display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--ez-radius-full);background:#0ea5e914;color:var(--text);font-size:12px;font-weight:700}.recommendation-actions .btn-primary,.recommendation-actions .btn-secondary{min-height:36px;padding:8px 12px;font-size:12px}.knowledge-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.knowledge-map-node{display:grid;gap:7px;min-height:106px;padding:13px;border-left-width:4px;border-left-style:solid}.knowledge-map-node span{color:var(--text);font-size:13px;font-weight:800}.goals-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.goals-form-actions{grid-column:1 / -1}.personalization-skeleton{display:grid;gap:16px}.personalization-skeleton span{min-height:110px;border-radius:var(--ez-radius-md);background:linear-gradient(90deg,#8b7cf814,#ffffffb3,#0ea5e914);background-size:220% 100%;animation:shimmer 1.4s linear infinite}.page-footer{margin-top:24px;padding:20px 0;border-top:1px solid rgba(139,124,248,.08);color:var(--muted);font-size:13px;text-align:center}.auth-page{width:100%;min-width:0;flex:1;display:grid;place-items:center;padding:clamp(24px,5vw,50px);background:var(--ez-gradient-hero);background-size:200% 200%}.auth-card{width:min(100%,440px);margin-inline:auto;padding:clamp(28px,5vw,40px);border-radius:var(--radius-xl);background:var(--glass-white-ultra);-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);box-shadow:var(--shadow),0 0 40px #8b7cf80f}.auth-header{text-align:center;margin-bottom:28px}.auth-mark{width:54px;height:54px;margin:0 auto 16px;border-radius:var(--ez-radius-md);font-size:18px}.auth-title{margin:0 0 6px;color:var(--text-h);font-size:24px;font-weight:800}.auth-subtitle{color:var(--muted);font-size:14px}.form-stack{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:var(--text-h);font-size:13px;font-weight:700}.form-input,.form-select{width:100%;min-height:48px;border:1px solid rgba(139,124,248,.14);border-radius:var(--ez-radius-lg);background:var(--input-bg);color:var(--text-h);padding:12px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s ease}.form-input:focus,.form-select:focus{border-color:var(--crystal-400);background:var(--input-bg-focus);box-shadow:var(--ring),0 0 20px #8b7cf80f}.auth-footer{margin-top:22px;text-align:center;color:var(--text);font-size:14px}.auth-card .alert{margin-bottom:18px}.text-link{border:0;background:transparent;padding:0;color:var(--crystal-600);font-weight:700;cursor:pointer;transition:color .2s}.text-link:hover{color:var(--crystal-700)}.student-onboarding-page{width:100%;min-height:100svh;display:grid;place-items:start center;padding:clamp(24px,5vw,56px)}.student-onboarding-card{width:min(100%,1060px);margin-inline:auto;padding:clamp(24px,4vw,44px);border:1px solid rgba(139,124,248,.12);border-radius:var(--ez-radius-2xl);background:#ffffffd1;box-shadow:var(--shadow);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25)}.student-onboarding-header{max-width:760px;margin:0 auto 30px;text-align:center}.student-onboarding-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:8px 12px 8px 8px;border:1px solid rgba(139,124,248,.14);border-radius:var(--ez-radius-full);background:#ffffffc7;color:var(--text-h);cursor:pointer}.student-onboarding-brand span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--ez-radius-sm);background:linear-gradient(135deg,#6d5df2,#4f46e5);color:#fff;font-weight:900}.student-onboarding-brand strong{font-size:15px}.student-onboarding-header h1{margin:8px 0 12px;font-size:clamp(30px,4vw,48px);font-weight:900}.student-onboarding-header p{margin:0;color:var(--text);font-size:16px}.student-onboarding-section{min-width:0;margin:0 0 24px;padding:22px;border:1px solid rgba(139,124,248,.12);border-radius:var(--ez-radius-xl);background:#ffffffb8}.student-onboarding-section legend{padding:0 8px;color:var(--text-h);font-size:18px;font-weight:850}.student-onboarding-section p{margin:0 0 16px;color:var(--muted)}.student-grade-grid,.student-subject-grid,.student-combination-grid{display:grid;gap:10px}.student-grade-grid{grid-template-columns:repeat(7,minmax(84px,1fr))}.student-subject-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-combination-groups{display:grid;gap:18px}.student-combination-group h2{margin:0 0 10px;font-size:15px;font-weight:850}.student-combination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-choice,.student-combination-choice{min-width:0;min-height:48px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(139,124,248,.14);border-radius:var(--ez-radius-lg);background:#ffffffb8;color:var(--text-h);font-weight:750;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.student-combination-choice{align-items:flex-start}.student-choice:hover,.student-combination-choice:hover{transform:translateY(-1px);border-color:#4f46e557;box-shadow:0 12px 28px #4f46e514}.student-choice input,.student-combination-choice input{width:18px;height:18px;margin:2px 0 0;accent-color:#4f46e5;flex:0 0 auto}.student-choice-active{border-color:#4f46e573;background:linear-gradient(135deg,#f0eefff5,#f0f9ffe0);box-shadow:0 0 0 3px #4f46e514}.student-combination-choice span{display:grid;gap:3px;min-width:0}.student-combination-choice strong{color:var(--text-h);font-size:14px}.student-combination-choice small{color:var(--text);font-size:13px;line-height:1.35}.student-onboarding-actions{display:flex;justify-content:center;padding-top:8px}.student-onboarding-actions .btn-primary{min-width:min(100%,260px);min-height:52px}@media (max-width: 900px){.student-grade-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-subject-grid,.student-combination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.student-onboarding-page{padding:16px}.student-onboarding-card{padding:20px 16px;border-radius:var(--ez-radius-xl)}.student-onboarding-section{padding:18px 14px}.student-grade-grid,.student-subject-grid,.student-combination-grid{grid-template-columns:minmax(0,1fr)}}.alert{display:flex;align-items:flex-start;gap:9px;padding:12px 16px;border-radius:var(--ez-radius-lg);font-size:14px;line-height:1.5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.alert-error{color:var(--danger);background:var(--danger-bg);border:1px solid rgba(239,68,68,.15)}.alert-success{color:var(--success);background:var(--success-bg);border:1px solid rgba(16,185,129,.15)}.loading-state{flex:1;min-height:400px;display:grid;place-items:center;padding:28px;color:var(--text);text-align:center}.loading-stack{display:grid;justify-items:center;gap:14px}.spinner,.small-spinner{display:inline-block;border-radius:50%;border-style:solid;border-color:#8b7cf826;border-top-color:var(--crystal-500);animation:spin .8s linear infinite}.spinner{width:42px;height:42px;border-width:4px}.small-spinner{width:18px;height:18px;border-width:2px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.table-card{overflow:hidden;border:1px solid rgba(139,124,248,.08);border-radius:var(--radius-xl);background:var(--glass-white);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-card)}.table-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid rgba(139,124,248,.08);background:linear-gradient(90deg,#8b7cf80d,#f74a8a08)}.table-title{margin:0;color:var(--text-h);font-size:18px;font-weight:800}.table-wrapper{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{padding:14px 16px;color:var(--muted);background:#8b7cf808;font-size:12px;font-weight:700;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:14px 16px;border-top:1px solid rgba(139,124,248,.06);color:var(--text);vertical-align:middle}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:#8b7cf80a}.document-link{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--text-h);font-weight:700;text-align:left;cursor:pointer;transition:color .2s}.document-link:hover{color:var(--crystal-600)}.doc-kind{display:inline-grid;place-items:center;width:36px;height:28px;border-radius:var(--ez-radius-sm);background:linear-gradient(135deg,#8b7cf81a,#c084fc0f);color:var(--crystal-500);font-size:10px;font-weight:800;flex:0 0 auto}.row-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.row-actions .btn-secondary,.row-actions .btn-danger{min-height:34px;padding:7px 12px;font-size:12px}.empty-state{padding:42px 22px;color:var(--muted);background:#8b7cf808;text-align:center;font-size:14px}.status-indicator{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.status-indicator.connecting{background:var(--warning);box-shadow:0 0 0 4px var(--warning-bg);animation:breathe 1.6s ease-in-out infinite}.status-indicator.connected{background:var(--success);box-shadow:0 0 0 4px var(--success-bg)}.status-indicator.disconnected{background:var(--danger);box-shadow:0 0 0 4px var(--danger-bg)}.upload-panel{margin-bottom:24px;padding:22px;border:1px solid rgba(139,124,248,.1);border-radius:var(--radius-xl);background:linear-gradient(140deg,#fffc,#ffffff80),linear-gradient(135deg,#8b7cf80f,#f74a8a0a);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-card)}.upload-dropzone{position:relative;min-height:190px;display:grid;place-items:center;padding:28px 20px;border:2px dashed rgba(139,124,248,.3);border-radius:var(--radius-xl);background:var(--input-bg);cursor:pointer;transition:all .3s ease}.upload-dropzone:hover{border-color:var(--crystal-400);background:#8b7cf80a;transform:translateY(-2px);box-shadow:0 8px 30px #8b7cf814}.upload-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-label{display:grid;justify-items:center;gap:10px;text-align:center;cursor:pointer}.upload-icon{position:relative;display:inline-grid;place-items:center;width:54px;height:54px;border-radius:var(--ez-radius-md);color:#fff;background:linear-gradient(135deg,#8b7cf8,#c084fc);box-shadow:0 10px 28px #8b7cf84d;font-size:0;animation:crystalPulse 4s ease-in-out infinite}.upload-icon:before{content:"";width:16px;height:16px;border-left:3px solid currentColor;border-top:3px solid currentColor;transform:translateY(4px) rotate(45deg)}.upload-icon:after{content:"";position:absolute;width:3px;height:22px;border-radius:var(--ez-radius-full);background:currentColor;transform:translateY(4px)}.upload-title{color:var(--text-h);font-size:16px;font-weight:800}.upload-subtitle{max-width:560px;color:var(--muted);font-size:13px;line-height:1.6}.crystal-background{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes crystalPulse{0%,to{box-shadow:0 6px 20px #8b7cf840,0 0 0 2px #ffffff80}50%{box-shadow:0 8px 28px #8b7cf859,0 0 0 3px #fff9,0 0 16px #c084fc26}}@keyframes crystalFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sparkleShift{0%,to{opacity:.7}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.student-review-ai-card{overflow:hidden;background:radial-gradient(circle at 12% 15%,var(--accent-bg),transparent 38%),var(--card)}.student-review-ai-wait{display:flex;align-items:center;gap:var(--ez-space-6);min-height:180px}.student-review-ai-visual{position:relative;display:grid;flex:0 0 116px;width:116px;height:116px;place-items:center}.student-review-ai-orbit{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid var(--accent-border);border-top-color:var(--accent);border-right-color:var(--accent-2);border-radius:50%;animation:studentReviewOrbit 2.2s linear infinite;box-shadow:0 0 24px var(--accent-bg)}.student-review-ai-core{position:relative;z-index:1;display:grid;width:68px;height:68px;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-2));border:1px solid rgba(255,255,255,.38);border-radius:24px;place-items:center;animation:studentReviewCore 1.8s ease-in-out infinite;box-shadow:0 12px 34px #7c5ce757}.student-review-ai-spark{position:absolute;width:8px;height:8px;background:var(--accent-2);border-radius:50%;animation:studentReviewSpark 1.5s ease-in-out infinite;box-shadow:0 0 12px currentColor}.student-review-ai-spark-one{top:4px;right:26px;color:var(--accent-2)}.student-review-ai-spark-two{right:2px;bottom:32px;color:var(--accent);animation-delay:.45s}.student-review-ai-spark-three{bottom:8px;left:22px;color:var(--accent-3);animation-delay:.9s}.student-review-ai-copy{display:grid;flex:1;gap:var(--ez-space-2);min-width:0}.student-review-ai-copy>strong{color:var(--text-h);font-size:18px}.student-review-ai-copy>p{margin:0}.student-review-ai-stages{display:flex;flex-wrap:wrap;gap:var(--ez-space-2);margin-top:var(--ez-space-2)}.student-review-ai-stages span{padding:6px 10px;color:var(--muted);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--ez-radius-full);font-size:12px;font-weight:700}.student-review-ai-stages .is-done{color:var(--success-text);background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.student-review-ai-stages .is-active{color:var(--text-h);background:var(--accent-bg);border-color:var(--accent-border);animation:studentReviewStage 1.6s ease-in-out infinite}@keyframes studentReviewOrbit{to{transform:rotate(360deg)}}@keyframes studentReviewCore{0%,to{transform:scale(.94)}50%{transform:scale(1.04)}}@keyframes studentReviewSpark{0%,to{opacity:.25;transform:scale(.65)}50%{opacity:1;transform:scale(1.15)}}@keyframes studentReviewStage{0%,to{box-shadow:0 0 0 0 var(--accent-bg)}50%{box-shadow:0 0 0 5px var(--accent-bg)}}@media (max-width: 600px){.student-review-ai-wait{flex-direction:column;align-items:flex-start}.student-review-ai-visual{align-self:center}.student-review-ai-stages{display:grid;width:100%}}@media (max-width: 1080px){.hero-home{grid-template-columns:1fr}.hero-visual{min-height:380px}.feature-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}.personalization-hero,.personalization-grid,.recommendation-grid{grid-template-columns:1fr}.knowledge-map{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-panel{grid-template-columns:1fr}.welcome-metric{max-width:560px}}@media (max-width: 768px){:root{--sidebar-w: 0px}.app-shell{display:block;overflow-x:clip}.app-main{width:100%;max-width:100vw;min-width:0}.app-sidebar{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;height:auto;flex-direction:row;padding:6px 10px;gap:4px;border-right:none;border-top:1px solid rgba(139,124,248,.12);box-shadow:0 -4px 20px #8b7cf80f;z-index:40;overflow-x:auto;overflow-y:hidden}.sidebar-brand,.sidebar-divider,.sidebar-label,.sidebar-spacer,.nav-item span:not(.nav-icon),.nav-item-active span:not(.nav-icon),.nav-item-primary span:not(.nav-icon),.nav-item-danger span:not(.nav-icon){display:none}.sidebar-brand-text,.nav-label{display:none}.nav-item,.nav-item-active,.nav-item-primary,.nav-item-danger{flex-direction:column;padding:8px;gap:2px;font-size:10px;min-width:52px;justify-content:center;align-items:center;border-radius:var(--ez-radius-lg)}.nav-icon{width:28px;height:28px;border-radius:var(--ez-radius-sm);font-size:12px}.app-main{margin-left:0;padding-bottom:72px}.page-header{align-items:stretch;flex-direction:column}.page,.auth-page{padding:18px 14px}.hero-home{min-height:auto;padding:24px 14px 32px}.hero-content{gap:16px}.hero-mark{width:48px;height:48px;border-radius:var(--ez-radius-sm);font-size:18px}.hero-title{font-size:clamp(30px,8.5vw,38px);line-height:1.05}.hero-copy{font-size:14px}.hero-visual{min-height:300px;border-radius:var(--ez-radius-xl)}.hero-visual-caption{position:static;grid-template-columns:1fr;padding:12px}.feature-grid,.dashboard-grid,.welcome-metric,.personalization-metrics,.knowledge-map,.goals-form{grid-template-columns:1fr}.personalization-hero,.personalization-panel,.recommendation-card,.goals-form{padding:14px}.personalization-panel-header,.personalization-section-title,.recommendation-card-top{align-items:stretch;flex-direction:column}.hero-actions,.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{width:100%}.hero-status{align-items:flex-start;border-radius:var(--ez-radius-lg)}}.verification-panel{container-type:inline-size;min-width:0;display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid rgba(139,124,248,.14);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--glass-white-strong),var(--glass-white)),linear-gradient(135deg,#8b7cf812,#0ea5e90a);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);box-shadow:var(--shadow-card)}.verification-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.verification-panel__heading>div{min-width:0}.verification-panel__heading h4{margin:0;font-size:18px;font-weight:800;letter-spacing:-.015em}.verification-panel__heading>div>p:last-child{margin-top:8px;color:var(--text);font-size:13px;line-height:1.65}.verification-panel__eyebrow{margin:0 0 5px;color:var(--crystal-600);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.verification-panel__icon{width:44px;height:44px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:var(--ez-radius-md);color:#fff;background:linear-gradient(135deg,var(--crystal-500),var(--ice-500));box-shadow:0 8px 24px #8b7cf83d;font-size:26px;font-weight:700}.verification-disclaimer{padding:11px 13px;border:1px solid rgba(245,158,11,.18);border-radius:var(--ez-radius-lg);color:#9a6510;background:#f59e0b12;font-size:12px;line-height:1.55}.verification-alert{padding:11px 13px;border:1px solid transparent;border-radius:var(--ez-radius-lg);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.verification-alert--error{color:var(--danger);border-color:#ef44442e;background:var(--danger-bg)}.verification-alert--warning{color:#9a6510;border-color:#f59e0b2e;background:var(--warning-bg)}.verification-alert--success{color:#087a57;border-color:#10b9812e;background:var(--success-bg)}.verification-loading,.verification-results-retry{min-height:64px;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--ez-radius-lg);color:var(--text);background:var(--glass-white);font-size:13px;text-align:center}.verification-results-retry{flex-wrap:wrap}.verification-spinner{width:19px;height:19px;display:inline-block;flex:0 0 auto;border:2px solid rgba(139,124,248,.18);border-top-color:var(--crystal-500);border-radius:50%;animation:spin .8s linear infinite}.verification-empty,.verification-failed,.verification-processing{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(139,124,248,.14);border-radius:var(--ez-radius-lg);background:#8b7cf80d}.verification-empty strong,.verification-failed strong,.verification-processing strong{color:var(--text-h);font-size:14px}.verification-empty p,.verification-failed p,.verification-processing p{margin-top:3px;color:var(--text);font-size:12px;line-height:1.5}.verification-failed{align-items:flex-start;border-color:#ef44442e;background:var(--danger-bg)}.verification-failed strong,.verification-failed p{color:var(--danger)}.verification-processing{align-items:flex-start;justify-content:flex-start;border-color:#0ea5e92e;background:var(--accent-2-bg)}.verification-processing__content{min-width:0;flex:1}.verification-progress{width:100%;height:7px;margin-top:10px;overflow:hidden;border-radius:var(--ez-radius-full);background:#8b7cf81f}.verification-progress>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--ice-500),var(--crystal-500),var(--rose-400));transition:width .45s ease}.verification-progress--indeterminate>span{width:38%;animation:verificationIndeterminate 1.25s ease-in-out infinite}.verification-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--border);border-radius:var(--ez-radius-lg);background:var(--surface-muted)}.verification-summary__overview{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.verification-summary__overview>strong{color:var(--text-h);font-size:14px}.verification-summary__overview>span{color:var(--text);font-size:12px;font-weight:600}.verification-summary__types{display:flex;flex-wrap:wrap;gap:5px}.verification-summary__types span{padding:3px 8px;border:1px solid rgba(139,124,248,.13);border-radius:var(--ez-radius-full);color:var(--crystal-600);background:var(--glass-white);font-size:10px;font-weight:700}.verification-summary__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.verification-summary__applied{max-width:210px;color:#087a57;font-size:11px;font-weight:700;line-height:1.4;text-align:right}.verification-pending-note{margin:-5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.verification-issues{display:flex;flex-direction:column;gap:14px}.verification-issue{--verification-issue-accent: var(--crystal-500);min-width:0;display:flex;flex-direction:column;gap:13px;padding:18px;border:1px solid rgba(139,124,248,.12);border-left:4px solid var(--verification-issue-accent);border-radius:var(--ez-radius-lg);background:var(--glass-white);box-shadow:0 8px 24px #8b7cf812;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.verification-issue--ocr_error{--verification-issue-accent: #d97706}.verification-issue--factual_error{--verification-issue-accent: #dc2626}.verification-issue--suspicious_number{--verification-issue-accent: #ea580c}.verification-issue--terminology_error{--verification-issue-accent: #db2777}.verification-issue--internal_contradiction{--verification-issue-accent: #7c3aed}.verification-issue--incomplete_content{--verification-issue-accent: #2563eb}.verification-issue--outdated_information{--verification-issue-accent: #f59e0b}.verification-issue--missing_context{--verification-issue-accent: #3b82f6}.verification-issue--misleading_statement{--verification-issue-accent: #8b5cf6}.verification-issue--unsupported_claim{--verification-issue-accent: #6b7280}.verification-issue--needs_verification{--verification-issue-accent: #6366f1}.verification-issue--critical{--verification-issue-accent: #991b1b}.verification-issue--resolved{background:var(--glass-white)}.verification-issue[aria-busy=true]{opacity:.72}.verification-issue__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.verification-issue__badges{min-width:0;display:flex;flex-wrap:wrap;gap:5px}.verification-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid transparent;border-radius:var(--ez-radius-full);font-size:10px;font-weight:750;line-height:1.2}.verification-badge--type{color:var(--verification-issue-accent);border-color:color-mix(in srgb,var(--verification-issue-accent) 25%,transparent);background:color-mix(in srgb,var(--verification-issue-accent) 9%,var(--surface-strong))}.verification-badge--severity{color:var(--text);border-color:var(--border);background:var(--surface-muted)}.verification-badge--low{color:#087a57;border-color:#10b98133;background:var(--success-bg)}.verification-badge--medium{color:#9a6510;border-color:#f59e0b33;background:var(--warning-bg)}.verification-badge--high{color:#c62d2d;border-color:#ef444433;background:var(--danger-bg)}.verification-badge--critical{color:#fff;border-color:#7f1d1d;background:#991b1b}.verification-badge--chunk{color:var(--text);border-color:var(--border);background:#8b7cf80d}.verification-confidence{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:650}.verification-confidence strong{min-width:30px;color:var(--text-h);font-size:10px;text-align:right}.verification-confidence__track{width:58px;height:6px;display:block;overflow:hidden;border-radius:var(--ez-radius-full);background:#8b7cf821}.verification-confidence__fill{height:100%;display:block;border-radius:inherit;transition:width .3s ease}.verification-confidence__fill--high{background:var(--success)}.verification-confidence__fill--medium{background:var(--warning)}.verification-confidence__fill--low{background:var(--danger)}.verification-diff{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:9px}.verification-diff__column{min-width:0;display:flex;flex-direction:column;gap:5px}.verification-diff__label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.verification-diff__text{min-height:58px;padding:10px 11px;border:1px solid transparent;border-radius:var(--ez-radius-md);color:var(--text-h);font-size:12px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.verification-diff__text--original{border-color:#ef444426;background:#ef44440e}.verification-diff__text--suggested{border-color:#10b9812b;background:#10b9810f}.verification-diff__arrow{align-self:center;color:var(--muted);font-size:17px}.verification-issue__reason{display:grid;gap:3px;padding:10px 11px;border-radius:var(--ez-radius-md);color:var(--text);background:var(--surface-muted);font-size:12px;line-height:1.55}.verification-issue__reason strong{color:var(--text-h);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.verification-issue__source{padding:9px 11px;border:1px solid var(--border);border-radius:var(--ez-radius-md);color:var(--text);background:#8b7cf80a;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.verification-issue__source--verified{border-color:#10b9812b;background:#10b9810e}.verification-issue__source--unverified{color:#8b681b;border-color:#f59e0b2b;background:#f59e0b0e}.verification-issue__source a{color:var(--crystal-600);text-decoration-thickness:1px;text-underline-offset:2px}.verification-issue__evidence{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.verification-issue__evidence:empty{display:none}.verification-evidence-badge{width:fit-content;padding:4px 8px;border-radius:var(--ez-radius-full);color:var(--crystal-600);background:var(--accent-bg);font-size:10px;font-weight:700}.verification-evidence-badge--applied{color:#087a57;background:var(--success-bg)}.verification-issue__actions,.verification-editor__actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.verification-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;border:1px solid transparent;border-radius:var(--ez-radius-md);font-size:11px;font-weight:750;line-height:1.2;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.verification-button:hover:not(:disabled){transform:translateY(-1px)}.verification-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.verification-button--trigger{color:#fff;background:linear-gradient(135deg,var(--crystal-500),var(--ice-500));box-shadow:0 6px 18px #8b7cf833}.verification-button--accept,.verification-button--apply{color:#fff;background:linear-gradient(135deg,var(--mint-500),#059669);box-shadow:0 5px 15px #10b9812e}.verification-button--reject{color:#c62d2d;border-color:#ef444429;background:var(--danger-bg)}.verification-button--edit,.verification-button--save{color:#fff;background:linear-gradient(135deg,var(--crystal-500),var(--crystal-600))}.verification-button--neutral{color:var(--text);border-color:var(--border-strong);background:var(--glass-white)}.verification-editor{width:100%;display:flex;flex-direction:column;gap:7px}.verification-editor label{color:var(--text-h);font-size:11px;font-weight:750}.verification-editor textarea{width:100%;min-height:92px;resize:vertical;padding:10px 11px;border:1px solid var(--border-strong);border-radius:var(--ez-radius-md);outline:none;color:var(--text-h);background:var(--input-bg);font-size:12px;line-height:1.55}.verification-editor textarea:focus{border-color:var(--crystal-400);box-shadow:var(--ring)}.verification-editor__error{color:var(--danger);font-size:11px}.verification-resolution{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--ez-radius-md);color:var(--text);background:var(--surface-muted);font-size:11px;font-weight:750}.verification-resolution--accepted,.verification-resolution--edited{color:#087a57;border-color:#10b98129;background:var(--success-bg)}.verification-resolution--rejected{color:#b23b3b;border-color:#ef444424;background:var(--danger-bg)}.verification-resolution button{padding:0;border:0;color:inherit;background:transparent;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.verification-resolution button:disabled{opacity:.5;cursor:not-allowed}.verification-no-issues{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;border:1px solid rgba(16,185,129,.18);border-radius:var(--ez-radius-lg);color:#087a57;background:var(--success-bg);text-align:left}.verification-no-issues>span{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--success);font-size:18px;font-weight:800}.verification-no-issues strong{font-size:13px}.verification-no-issues p{margin-top:3px;color:#31846c;font-size:11px}@keyframes verificationIndeterminate{0%{transform:translate(-115%)}to{transform:translate(280%)}}@container (max-width: 620px){.verification-panel{padding:18px}.verification-panel__icon{width:38px;height:38px;border-radius:var(--ez-radius-sm);font-size:22px}.verification-empty,.verification-failed,.verification-summary{align-items:stretch;flex-direction:column}.verification-empty .verification-button,.verification-failed .verification-button{width:100%}.verification-summary__actions{justify-content:flex-start}.verification-summary__applied{max-width:none;text-align:left}.verification-diff{grid-template-columns:minmax(0,1fr)}.verification-diff__arrow{justify-self:center;transform:rotate(90deg)}}@media (max-width: 520px){.verification-panel{padding:16px;border-radius:var(--ez-radius-xl)}.verification-panel__heading h4{font-size:16px}.verification-issue{padding:14px}.verification-issue__header{align-items:flex-start;flex-direction:column}.verification-confidence{width:100%}.verification-confidence__track{flex:1}.verification-issue__actions .verification-button,.verification-editor__actions .verification-button,.verification-summary__actions .verification-button{flex:1 1 auto}}.document-detail-main{padding:40px}.document-detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.document-detail-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.document-operation-notice{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding:12px 15px;border:1px solid rgba(245,158,11,.2);border-radius:var(--ez-radius-lg);color:#8b6312;background:var(--warning-bg);font-size:13px;line-height:1.5}@media (max-width: 980px){.document-detail-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 600px){.document-detail-main{padding:18px 14px}.document-detail-meta-grid{grid-template-columns:minmax(0,1fr)}.document-detail-search-form{flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.citation-link-tag{transition:all .2s ease}.citation-link-tag:hover{background-color:var(--accent-hover)!important;color:#fff!important;transform:translateY(-1px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.conv-sidebar{width:200px!important}}@media (max-width: 768px){.conv-sidebar{display:none!important}}.theme-toggle{display:flex;gap:4px;padding:4px;border-radius:var(--ez-radius-lg);background:var(--surface-muted);border:1px solid var(--border);margin:6px 0}.theme-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:var(--ez-radius-md);border:none;background:transparent;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.theme-toggle-btn:hover{background:var(--accent-bg);color:var(--text-h)}.theme-toggle-btn--active{background:var(--accent);color:#fff!important;box-shadow:var(--shadow-soft)}.theme-toggle-label{display:inline-block}.sidebar-collapsed .theme-toggle{flex-direction:column;align-items:center;padding:4px 2px}.sidebar-collapsed .theme-toggle-btn{padding:8px 0;width:100%}.sidebar-collapsed .theme-toggle-label{display:none}:root{--ez-indigo-50: #f1f0ff;--ez-indigo-100: #dfdcfe;--ez-indigo-200: #c5befd;--ez-indigo-300: #a59cfc;--ez-indigo-400: #8679fc;--ez-indigo-500: #796bfa;--ez-indigo-600: #6d5dfb;--ez-indigo-700: #5546e8;--ez-indigo-800: #3625d0;--ez-indigo-900: #32279b;--ez-indigo-950: #251e67;--ez-teal-50: #e6f7f5;--ez-teal-100: #c8efe9;--ez-teal-200: #93ded4;--ez-teal-300: #57c8bb;--ez-teal-400: #24aea0;--ez-teal-500: #0e9f8e;--ez-teal-600: #0a7f72;--ez-teal-700: #09665c;--ez-teal-800: #0a5049;--ez-teal-900: #08403b;--ez-sky-50: #ebf3fe;--ez-sky-100: #d3e3fd;--ez-sky-200: #accafc;--ez-sky-300: #7bacf9;--ez-sky-400: #5996f7;--ez-sky-500: #3b82f6;--ez-sky-600: #216fed;--ez-sky-700: #1659c5;--ez-sky-800: #164a9c;--ez-sky-900: #183a72;--ez-amber-50: #fff6e5;--ez-amber-100: #ffe8c2;--ez-amber-200: #fdd591;--ez-amber-300: #fabb52;--ez-amber-400: #f7ac2b;--ez-amber-500: #f59e0b;--ez-amber-600: #ce860d;--ez-amber-700: #a56d0d;--ez-amber-800: #81560e;--ez-neutral-0: #ffffff;--ez-neutral-25: #fbfcfe;--ez-neutral-50: #f6f7fb;--ez-neutral-100: #eef0f6;--ez-neutral-200: #e2e5ef;--ez-neutral-300: #cbd0de;--ez-neutral-400: #9ba3b8;--ez-neutral-500: #667085;--ez-neutral-600: #545b73;--ez-neutral-700: #40465c;--ez-neutral-800: #2a2f42;--ez-neutral-900: #1a1e2e;--ez-neutral-950: #10131f;--ez-green-50: #e5faed;--ez-green-100: #c8f3d8;--ez-green-500: #19cc5b;--ez-green-600: #16a34a;--ez-green-700: #10843b;--ez-red-50: #fdecec;--ez-red-100: #fad1d1;--ez-red-500: #ea3e3e;--ez-red-600: #dc2626;--ez-red-700: #b41d1d;--ez-blue-50: #e9f2fe;--ez-blue-100: #d0e4fd;--ez-blue-500: #1f72d4;--ez-blue-600: #185cad;--ez-blue-700: #144a8b}:root{--ez-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ez-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ez-text-display: 4rem;--ez-text-h1: 2.5rem;--ez-text-h2: 2rem;--ez-text-h3: 1.5rem;--ez-text-h4: 1.25rem;--ez-text-h5: 1.125rem;--ez-text-h6: 1rem;--ez-text-body: 1rem;--ez-text-body-sm: .875rem;--ez-text-caption: .8125rem;--ez-text-button: .9375rem;--ez-leading-display: 1.05;--ez-leading-heading: 1.2;--ez-leading-snug: 1.4;--ez-leading-body: 1.65;--ez-leading-relaxed: 1.75;--ez-weight-regular: 400;--ez-weight-medium: 500;--ez-weight-semibold: 600;--ez-weight-bold: 700;--ez-weight-extrabold:800;--ez-tracking-tight: -.02em;--ez-tracking-snug: -.01em;--ez-tracking-normal: 0;--ez-tracking-wide: .02em;--ez-tracking-caps: .06em}:root{--ez-space-0: 0;--ez-space-1: .25rem;--ez-space-2: .5rem;--ez-space-3: .75rem;--ez-space-4: 1rem;--ez-space-5: 1.25rem;--ez-space-6: 1.5rem;--ez-space-8: 2rem;--ez-space-10: 2.5rem;--ez-space-12: 3rem;--ez-space-16: 4rem;--ez-space-20: 5rem;--ez-space-24: 6rem;--ez-space-32: 8rem;--ez-section-y: var(--ez-space-24);--ez-section-y-sm: var(--ez-space-16)}:root{--ez-radius-none: 0;--ez-radius-xs: 6px;--ez-radius-sm: 10px;--ez-radius-md: 16px;--ez-radius-lg: 24px;--ez-radius-xl: 28px;--ez-radius-2xl: 32px;--ez-radius-full: 9999px}:root{--ez-shadow-none: none;--ez-shadow-xs: 0 1px 2px rgba(26, 30, 46, .05);--ez-shadow-sm: 0 1px 3px rgba(26, 30, 46, .06), 0 1px 2px rgba(26, 30, 46, .04);--ez-shadow-md: 0 4px 12px rgba(26, 30, 46, .07), 0 1px 3px rgba(26, 30, 46, .04);--ez-shadow-lg: 0 12px 28px rgba(26, 30, 46, .1), 0 2px 6px rgba(26, 30, 46, .05);--ez-shadow-xl: 0 24px 48px rgba(26, 30, 46, .14), 0 4px 12px rgba(26, 30, 46, .06);--ez-ring-width: 2px;--ez-ring-offset: 2px;--ez-ring-color: var(--ez-indigo-500)}:root{--ez-gradient-hero: linear-gradient(135deg, var(--ez-amber-400) 0%, var(--ez-indigo-500) 55%, var(--ez-indigo-700) 100%);--ez-gradient-cta: linear-gradient(120deg, var(--ez-indigo-600) 0%, var(--ez-indigo-700) 100%)}[data-theme=dark]{--ez-gradient-hero: linear-gradient(135deg, var(--ez-amber-500) 0%, var(--ez-indigo-600) 55%, var(--ez-indigo-900) 100%);--ez-gradient-cta: linear-gradient(120deg, var(--ez-indigo-500) 0%, var(--ez-indigo-700) 100%)}:root{--ez-z-base: 0;--ez-z-raised: 10;--ez-z-sticky: 100;--ez-z-sidebar: 200;--ez-z-overlay: 300;--ez-z-drawer: 400;--ez-z-dialog: 500;--ez-z-dropdown: 600;--ez-z-tooltip: 700;--ez-z-toast: 800;--ez-z-skip-link: 900}:root{--ez-bp-sm: 480px;--ez-bp-md: 768px;--ez-bp-lg: 1024px;--ez-bp-xl: 1280px;--ez-bp-2xl: 1536px;--ez-container-sm: 640px;--ez-container-md: 840px;--ez-container-lg: 1120px;--ez-container-xl: 1280px;--ez-container-pad: var(--ez-space-6);--ez-container-pad-sm: var(--ez-space-4)}:root{--ez-duration-instant: .1s;--ez-duration-fast: .15s;--ez-duration-base: .2s;--ez-duration-slow: .3s;--ez-ease-standard: cubic-bezier(.2, 0, .2, 1);--ez-ease-out: cubic-bezier(0, 0, .2, 1);--ez-ease-in: cubic-bezier(.4, 0, 1, 1);--ez-transition-colors: color var(--ez-duration-fast) var(--ez-ease-standard), background-color var(--ez-duration-fast) var(--ez-ease-standard), border-color var(--ez-duration-fast) var(--ez-ease-standard);--ez-transition-transform: transform var(--ez-duration-base) var(--ez-ease-standard)}:root{--ez-touch-min: 44px;--ez-control-sm: 32px;--ez-control-md: 40px;--ez-control-lg: 48px;--ez-control-hero: 56px}:root{--ez-bg: var(--ez-neutral-50);--ez-bg-subtle: var(--ez-neutral-100);--ez-bg-inverse: var(--ez-neutral-900);--ez-surface: var(--ez-neutral-0);--ez-surface-subtle: var(--ez-neutral-25);--ez-surface-muted: var(--ez-neutral-100);--ez-surface-hover: var(--ez-neutral-100);--ez-surface-active: var(--ez-neutral-200);--ez-surface-inverse: var(--ez-neutral-900);--ez-text: var(--ez-neutral-900);--ez-text-secondary: var(--ez-neutral-600);--ez-text-muted: var(--ez-neutral-500);--ez-text-inverse: var(--ez-neutral-0);--ez-text-on-brand: var(--ez-neutral-0);--ez-text-link: var(--ez-indigo-600);--ez-border: var(--ez-neutral-200);--ez-border-subtle: var(--ez-neutral-100);--ez-border-strong: var(--ez-neutral-300);--ez-border-focus: var(--ez-indigo-500);--ez-primary: var(--ez-indigo-600);--ez-primary-hover: var(--ez-indigo-700);--ez-primary-active: var(--ez-indigo-800);--ez-primary-subtle: var(--ez-indigo-50);--ez-primary-border: var(--ez-indigo-200);--ez-primary-text: var(--ez-indigo-700);--ez-secondary: var(--ez-sky-500);--ez-secondary-hover: var(--ez-sky-600);--ez-secondary-active: var(--ez-sky-700);--ez-secondary-subtle: var(--ez-sky-50);--ez-secondary-border: var(--ez-sky-200);--ez-secondary-text: var(--ez-sky-700);--ez-accent: var(--ez-amber-500);--ez-accent-hover: var(--ez-amber-600);--ez-accent-subtle: var(--ez-amber-50);--ez-accent-border: var(--ez-amber-200);--ez-accent-text: var(--ez-amber-800);--ez-success: var(--ez-green-600);--ez-success-subtle: var(--ez-green-50);--ez-success-border: var(--ez-green-100);--ez-success-text: var(--ez-green-700);--ez-warning: var(--ez-amber-600);--ez-warning-subtle: var(--ez-amber-50);--ez-warning-border: var(--ez-amber-200);--ez-warning-text: var(--ez-amber-800);--ez-error: var(--ez-red-600);--ez-error-hover: var(--ez-red-700);--ez-error-subtle: var(--ez-red-50);--ez-error-border: var(--ez-red-100);--ez-error-text: var(--ez-red-700);--ez-info: var(--ez-blue-600);--ez-info-subtle: var(--ez-blue-50);--ez-info-border: var(--ez-blue-100);--ez-info-text: var(--ez-blue-700);--ez-overlay: rgba(16, 19, 31, .48);--ez-skeleton-base: var(--ez-neutral-100);--ez-skeleton-sheen: var(--ez-neutral-200);--ez-background: var(--ez-bg);--ez-text-primary: var(--ez-text);--ez-danger: var(--ez-error);--ez-focus-ring: var(--ez-ring-color)}[data-theme=dark]{--ez-bg: var(--ez-neutral-950);--ez-bg-subtle: var(--ez-neutral-900);--ez-bg-inverse: var(--ez-neutral-50);--ez-surface: #1a1e2e;--ez-surface-subtle: #1f2436;--ez-surface-muted: #262c40;--ez-surface-hover: #262c40;--ez-surface-active: #2f3648;--ez-surface-inverse: var(--ez-neutral-50);--ez-text: #eaecf4;--ez-text-secondary: #b0b6c8;--ez-text-muted: #8b92a8;--ez-text-inverse: var(--ez-neutral-900);--ez-text-on-brand: var(--ez-neutral-950);--ez-text-link: var(--ez-indigo-300);--ez-border: #313850;--ez-border-subtle: #262c40;--ez-border-strong: #414a66;--ez-border-focus: var(--ez-indigo-300);--ez-primary: var(--ez-indigo-400);--ez-primary-hover: var(--ez-indigo-300);--ez-primary-active: var(--ez-indigo-200);--ez-primary-subtle: rgba(134, 121, 252, .14);--ez-primary-border: rgba(134, 121, 252, .34);--ez-primary-text: var(--ez-indigo-200);--ez-secondary: var(--ez-sky-300);--ez-secondary-hover: var(--ez-sky-200);--ez-secondary-active: var(--ez-sky-100);--ez-secondary-subtle: rgba(123, 172, 249, .14);--ez-secondary-border: rgba(123, 172, 249, .32);--ez-secondary-text: var(--ez-sky-200);--ez-accent: var(--ez-amber-300);--ez-accent-hover: var(--ez-amber-200);--ez-accent-subtle: rgba(250, 191, 87, .14);--ez-accent-border: rgba(250, 191, 87, .32);--ez-accent-text: var(--ez-amber-200);--ez-success: #4ec98a;--ez-success-subtle: rgba(78, 201, 138, .14);--ez-success-border: rgba(78, 201, 138, .3);--ez-success-text: #8fe0b3;--ez-warning: var(--ez-amber-300);--ez-warning-subtle: rgba(250, 191, 87, .14);--ez-warning-border: rgba(250, 191, 87, .3);--ez-warning-text: var(--ez-amber-200);--ez-error: #f2726f;--ez-error-hover: #f79694;--ez-error-subtle: rgba(242, 114, 111, .14);--ez-error-border: rgba(242, 114, 111, .3);--ez-error-text: #f7a8a6;--ez-info: #62a6ec;--ez-info-subtle: rgba(98, 166, 236, .14);--ez-info-border: rgba(98, 166, 236, .3);--ez-info-text: #9cc7f3;--ez-overlay: rgba(6, 8, 14, .66);--ez-skeleton-base: #262c40;--ez-skeleton-sheen: #313850;--ez-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--ez-shadow-sm: 0 1px 3px rgba(0, 0, 0, .36), 0 1px 2px rgba(0, 0, 0, .24);--ez-shadow-md: 0 4px 12px rgba(0, 0, 0, .42), 0 1px 3px rgba(0, 0, 0, .26);--ez-shadow-lg: 0 12px 28px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3);--ez-shadow-xl: 0 24px 48px rgba(0, 0, 0, .58), 0 4px 12px rgba(0, 0, 0, .34)}:root,[data-theme=dark]{--app-bg: var(--ez-bg);--bg: var(--ez-bg);--ink: var(--ez-text);--text-h: var(--ez-text);--text: var(--ez-text-secondary);--muted: var(--ez-text-muted);--surface: var(--ez-surface);--surface-strong: var(--ez-surface);--surface-muted: var(--ez-surface-muted);--card: var(--ez-surface);--code-bg: var(--ez-surface-muted);--glass-bg: var(--ez-surface);--glass-border: var(--ez-border);--border: var(--ez-border);--border-strong: var(--ez-border-strong);--accent: var(--ez-primary);--accent-hover: var(--ez-primary-hover);--accent-bg: var(--ez-primary-subtle);--accent-border: var(--ez-primary-border);--accent-2: var(--ez-secondary);--accent-2-bg: var(--ez-secondary-subtle);--accent-3: var(--ez-accent);--accent-3-bg: var(--ez-accent-subtle);--accent-4: var(--ez-accent);--success: var(--ez-success);--success-bg: var(--ez-success-subtle);--warning: var(--ez-warning);--warning-bg: var(--ez-warning-subtle);--danger: var(--ez-error);--danger-bg: var(--ez-error-subtle);--shadow: var(--ez-shadow-lg);--shadow-soft: var(--ez-shadow-md);--shadow-card: var(--ez-shadow-sm);--shadow-glow: var(--ez-shadow-md);--ring: 0 0 0 3px var(--ez-primary-subtle);--crystal-50: var(--ez-indigo-50);--crystal-100: var(--ez-indigo-100);--crystal-200: var(--ez-indigo-200);--crystal-300: var(--ez-indigo-300);--crystal-400: var(--ez-indigo-400);--crystal-500: var(--ez-indigo-500);--crystal-600: var(--ez-indigo-600);--crystal-700: var(--ez-indigo-700);--ice-50: var(--ez-blue-50);--ice-100: var(--ez-blue-100);--ice-200: var(--ez-blue-100);--ice-400: var(--ez-blue-500);--ice-500: var(--ez-blue-600);--mint-50: var(--ez-teal-50);--mint-100: var(--ez-teal-100);--mint-400: var(--ez-teal-400);--mint-500: var(--ez-teal-500);--rose-50: var(--ez-red-50);--rose-100: var(--ez-red-100);--rose-200: var(--ez-red-100);--rose-400: var(--ez-red-500);--rose-500: var(--ez-red-600);--amber-50: var(--ez-amber-50);--amber-400: var(--ez-amber-400);--amber-500: var(--ez-amber-500)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--ez-font-sans);font-size:var(--ez-text-body);line-height:var(--ez-leading-body);font-weight:var(--ez-weight-regular);color:var(--ez-text);background-color:var(--ez-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;color:var(--ez-text);font-weight:var(--ez-weight-bold);line-height:var(--ez-leading-heading);letter-spacing:var(--ez-tracking-snug);text-wrap:balance}h1{font-size:var(--ez-text-h1);letter-spacing:var(--ez-tracking-tight)}h2{font-size:var(--ez-text-h2);letter-spacing:var(--ez-tracking-tight)}h3{font-size:var(--ez-text-h3)}h4{font-size:var(--ez-text-h4);font-weight:var(--ez-weight-semibold)}h5{font-size:var(--ez-text-h5);font-weight:var(--ez-weight-semibold)}h6{font-size:var(--ez-text-h6);font-weight:var(--ez-weight-semibold)}p{margin:0;line-height:var(--ez-leading-body)}.ez-prose{max-width:68ch}small{font-size:var(--ez-text-caption)}strong,b{font-weight:var(--ez-weight-semibold)}code,kbd,pre,samp{font-family:var(--ez-font-mono);font-size:.9em}ul,ol{margin:0;padding:0}a{color:var(--ez-text-link);text-decoration:none;transition:var(--ez-transition-colors)}a:hover{text-decoration:underline;text-underline-offset:2px}.ez-prose a,p>a{text-decoration:underline;text-underline-offset:2px}img,svg,video,canvas,picture{display:block;max-width:100%}img,video{height:auto}button,input,select,textarea,optgroup{font:inherit;color:inherit;margin:0}button{background:none;border:none;padding:0;cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}textarea{resize:vertical}fieldset{margin:0;padding:0;border:none}legend{padding:0}label{cursor:pointer}table{border-collapse:collapse;width:100%}th{text-align:left;font-weight:var(--ez-weight-semibold)}:focus-visible{outline:var(--ez-ring-width) solid var(--ez-ring-color);outline-offset:var(--ez-ring-offset);border-radius:var(--ez-radius-xs)}:focus:not(:focus-visible){outline:none}.ez-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ez-skip-link{position:absolute;top:var(--ez-space-2);left:var(--ez-space-2);z-index:var(--ez-z-skip-link);padding:var(--ez-space-3) var(--ez-space-4);background:var(--ez-surface);color:var(--ez-text);border:1px solid var(--ez-border-strong);border-radius:var(--ez-radius-md);box-shadow:var(--ez-shadow-lg);font-weight:var(--ez-weight-semibold);transform:translateY(-200%);transition:transform var(--ez-duration-fast) var(--ez-ease-out)}.ez-skip-link:focus{transform:translateY(0);text-decoration:none}.ez-container{width:100%;max-width:var(--ez-container-lg);margin-inline:auto;padding-inline:var(--ez-container-pad)}.ez-container-sm{max-width:var(--ez-container-sm)}.ez-container-md{max-width:var(--ez-container-md)}.ez-container-xl{max-width:var(--ez-container-xl)}@media (max-width: 480px){.ez-container,.ez-container-sm,.ez-container-md,.ez-container-xl{padding-inline:var(--ez-container-pad-sm)}}.ez-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.ez-no-print,nav,.app-sidebar{display:none!important}body{background:#fff;color:#000}}.ez-spinner{display:inline-block;flex:none;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--ez-radius-full);animation:ez-spin .6s linear infinite}@keyframes ez-spin{to{transform:rotate(360deg)}}.ez-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ez-space-2);min-height:var(--ez-control-md);padding:0 var(--ez-space-4);border:1px solid transparent;border-radius:var(--ez-radius-md);font-size:var(--ez-text-button);font-weight:var(--ez-weight-semibold);line-height:1;letter-spacing:var(--ez-tracking-normal);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:var(--ez-transition-colors),box-shadow var(--ez-duration-fast) var(--ez-ease-standard)}.ez-btn:hover{text-decoration:none}.ez-btn:disabled,.ez-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ez-btn[data-loading=true]{cursor:progress}.ez-btn-sm{min-height:var(--ez-control-sm);padding:0 var(--ez-space-3);font-size:var(--ez-text-body-sm)}.ez-btn-lg{min-height:var(--ez-control-lg);padding:0 var(--ez-space-6);font-size:var(--ez-text-h6)}.ez-btn-hero{min-height:var(--ez-control-hero);padding:0 var(--ez-space-8);font-size:var(--ez-text-h5);border-radius:var(--ez-radius-full)}.ez-btn-block{display:flex;width:100%}.ez-btn-icon{width:var(--ez-control-md);min-width:var(--ez-control-md);padding:0}.ez-btn-icon.ez-btn-sm{width:var(--ez-control-sm);min-width:var(--ez-control-sm)}.ez-btn-icon.ez-btn-lg{width:var(--ez-control-lg);min-width:var(--ez-control-lg)}.ez-btn-primary{background-color:var(--ez-primary);color:var(--ez-text-on-brand);border-color:var(--ez-primary)}.ez-btn-primary:hover:not(:disabled){background-color:var(--ez-primary-hover);border-color:var(--ez-primary-hover)}.ez-btn-primary:active:not(:disabled){background-color:var(--ez-primary-active);border-color:var(--ez-primary-active)}.ez-btn-secondary{background-color:var(--ez-secondary);color:var(--ez-neutral-950);border-color:var(--ez-secondary)}.ez-btn-secondary:hover:not(:disabled){background-color:var(--ez-secondary-hover);border-color:var(--ez-secondary-hover)}.ez-btn-secondary:active:not(:disabled){background-color:var(--ez-secondary-active);border-color:var(--ez-secondary-active)}.ez-btn-outline{background-color:var(--ez-surface);color:var(--ez-text);border-color:var(--ez-border-strong)}.ez-btn-outline:hover:not(:disabled){background-color:var(--ez-surface-hover);border-color:var(--ez-border-strong)}.ez-btn-outline:active:not(:disabled){background-color:var(--ez-surface-active)}.ez-btn-ghost{background-color:transparent;color:var(--ez-text-secondary)}.ez-btn-ghost:hover:not(:disabled){background-color:var(--ez-surface-hover);color:var(--ez-text)}.ez-btn-ghost:active:not(:disabled){background-color:var(--ez-surface-active)}.ez-btn-danger{background-color:var(--ez-error);color:var(--ez-text-on-brand);border-color:var(--ez-error)}.ez-btn-danger:hover:not(:disabled){background-color:var(--ez-error-hover);border-color:var(--ez-error-hover)}.ez-btn-link{min-height:auto;padding:0;background:none;color:var(--ez-text-link);font-weight:var(--ez-weight-medium)}.ez-btn-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:2px}@media (max-width: 768px){.ez-btn{min-height:var(--ez-touch-min)}.ez-btn-icon{width:var(--ez-touch-min);min-width:var(--ez-touch-min)}.ez-btn-sm{min-height:38px}.ez-btn-link{min-height:auto}}.ez-field{display:flex;flex-direction:column;gap:var(--ez-space-2)}.ez-label{display:flex;align-items:center;gap:var(--ez-space-1);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-label-required{color:var(--ez-error)}.ez-field-hint{font-size:var(--ez-text-caption);color:var(--ez-text-muted);line-height:var(--ez-leading-snug)}.ez-field-error{display:flex;align-items:flex-start;gap:var(--ez-space-1);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-medium);color:var(--ez-error-text);line-height:var(--ez-leading-snug)}.ez-input,.ez-textarea,.ez-select{width:100%;min-height:var(--ez-control-md);padding:var(--ez-space-2) var(--ez-space-3);background-color:var(--ez-surface);color:var(--ez-text);border:1px solid var(--ez-border-strong);border-radius:var(--ez-radius-md);font-size:var(--ez-text-body);line-height:var(--ez-leading-snug);transition:var(--ez-transition-colors),box-shadow var(--ez-duration-fast) var(--ez-ease-standard)}.ez-input::placeholder,.ez-textarea::placeholder{color:var(--ez-text-muted)}.ez-input:hover:not(:disabled),.ez-textarea:hover:not(:disabled),.ez-select:hover:not(:disabled){border-color:var(--ez-border-focus)}.ez-input:focus-visible,.ez-textarea:focus-visible,.ez-select:focus-visible{outline:none;border-color:var(--ez-border-focus);box-shadow:0 0 0 3px var(--ez-primary-subtle)}.ez-input:disabled,.ez-textarea:disabled,.ez-select:disabled{background-color:var(--ez-surface-muted);color:var(--ez-text-muted)}.ez-input[aria-invalid=true],.ez-textarea[aria-invalid=true],.ez-select[aria-invalid=true]{border-color:var(--ez-error)}.ez-input[aria-invalid=true]:focus-visible,.ez-textarea[aria-invalid=true]:focus-visible,.ez-select[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--ez-error-subtle)}.ez-input[data-state=success],.ez-textarea[data-state=success]{border-color:var(--ez-success)}.ez-textarea{min-height:96px;line-height:var(--ez-leading-body)}.ez-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--ez-space-8);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236f7791' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--ez-space-3) center;cursor:pointer}[data-theme=dark] .ez-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b92a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.ez-input-group{position:relative;display:flex;align-items:center}.ez-input-group .ez-input-icon{position:absolute;left:var(--ez-space-3);display:flex;color:var(--ez-text-muted);pointer-events:none}.ez-input-group:has(.ez-input-icon) .ez-input{padding-left:var(--ez-space-10)}.ez-input-group .ez-input-trailing{position:absolute;right:var(--ez-space-2);display:flex}@media (max-width: 768px){.ez-input,.ez-select{min-height:var(--ez-touch-min);font-size:1rem}}.ez-check{display:flex;align-items:flex-start;gap:var(--ez-space-3);min-height:var(--ez-control-md);padding:var(--ez-space-1) 0;cursor:pointer}.ez-check input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--ez-primary);cursor:pointer}.ez-check input:disabled{cursor:not-allowed}.ez-check-label{font-size:var(--ez-text-body-sm);line-height:var(--ez-leading-snug);color:var(--ez-text)}.ez-check-desc{display:block;margin-top:2px;font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.ez-check[data-disabled=true]{opacity:.5;cursor:not-allowed}.ez-radio-card{position:relative;display:flex;align-items:flex-start;gap:var(--ez-space-3);padding:var(--ez-space-4);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);cursor:pointer;transition:var(--ez-transition-colors)}.ez-radio-card:hover{border-color:var(--ez-border-focus);background-color:var(--ez-surface-subtle)}.ez-radio-card:has(input:checked){border-color:var(--ez-primary);background-color:var(--ez-primary-subtle)}.ez-radio-card:has(input:focus-visible){outline:var(--ez-ring-width) solid var(--ez-ring-color);outline-offset:var(--ez-ring-offset)}.ez-radio-card:has(input:disabled){opacity:.5;cursor:not-allowed}.ez-radio-card input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--ez-primary)}.ez-radio-card-title{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-radio-card-desc{margin-top:var(--ez-space-1);font-size:var(--ez-text-caption);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.ez-chip-group{display:flex;flex-wrap:wrap;gap:var(--ez-space-2)}.ez-chip{display:inline-flex;align-items:center;gap:var(--ez-space-2);min-height:36px;padding:0 var(--ez-space-4);background-color:var(--ez-surface);color:var(--ez-text-secondary);border:1px solid var(--ez-border-strong);border-radius:var(--ez-radius-full);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);cursor:pointer;transition:var(--ez-transition-colors)}.ez-chip:hover:not(:disabled){border-color:var(--ez-border-focus);color:var(--ez-text)}.ez-chip[aria-pressed=true]{background-color:var(--ez-primary);border-color:var(--ez-primary);color:var(--ez-text-on-brand)}.ez-chip:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.ez-chip{min-height:var(--ez-touch-min)}}.ez-card{display:flex;flex-direction:column;background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);box-shadow:var(--ez-shadow-xs)}.ez-card-flat{box-shadow:none}.ez-card-muted{background-color:var(--ez-surface-subtle);box-shadow:none}.ez-card-interactive{cursor:pointer;text-align:left;transition:var(--ez-transition-colors),box-shadow var(--ez-duration-fast) var(--ez-ease-standard)}.ez-card-interactive:hover{border-color:var(--ez-border-strong);box-shadow:var(--ez-shadow-sm)}.ez-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ez-space-4);padding:var(--ez-space-5) var(--ez-space-5) 0}.ez-card-title{font-size:var(--ez-text-h5);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-card-desc{margin-top:var(--ez-space-1);font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.ez-card-body{padding:var(--ez-space-5)}.ez-card-header+.ez-card-body{padding-top:var(--ez-space-4)}.ez-card-footer{display:flex;align-items:center;gap:var(--ez-space-3);padding:var(--ez-space-4) var(--ez-space-5);border-top:1px solid var(--ez-border-subtle)}@media (max-width: 480px){.ez-card-header{padding:var(--ez-space-4) var(--ez-space-4) 0}.ez-card-body{padding:var(--ez-space-4)}.ez-card-footer{padding:var(--ez-space-3) var(--ez-space-4)}}.ez-badge{display:inline-flex;align-items:center;gap:var(--ez-space-1);padding:2px var(--ez-space-2);border:1px solid transparent;border-radius:var(--ez-radius-full);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);line-height:1.4;white-space:nowrap}.ez-badge-neutral{background-color:var(--ez-surface-muted);color:var(--ez-text-secondary);border-color:var(--ez-border)}.ez-badge-primary{background-color:var(--ez-primary-subtle);color:var(--ez-primary-text);border-color:var(--ez-primary-border)}.ez-badge-secondary{background-color:var(--ez-secondary-subtle);color:var(--ez-secondary-text);border-color:var(--ez-secondary-border)}.ez-badge-success{background-color:var(--ez-success-subtle);color:var(--ez-success-text);border-color:var(--ez-success-border)}.ez-badge-warning{background-color:var(--ez-warning-subtle);color:var(--ez-warning-text);border-color:var(--ez-warning-border)}.ez-badge-error{background-color:var(--ez-error-subtle);color:var(--ez-error-text);border-color:var(--ez-error-border)}.ez-badge-info{background-color:var(--ez-info-subtle);color:var(--ez-info-text);border-color:var(--ez-info-border)}.ez-badge-count{min-width:20px;height:20px;padding:0 6px;justify-content:center;background-color:var(--ez-error);color:var(--ez-text-on-brand);border-color:transparent}.ez-alert{display:flex;align-items:flex-start;gap:var(--ez-space-3);padding:var(--ez-space-4);border:1px solid;border-radius:var(--ez-radius-md);font-size:var(--ez-text-body-sm);line-height:var(--ez-leading-snug)}.ez-alert-icon{flex:none;margin-top:1px}.ez-alert-content{flex:1;min-width:0}.ez-alert-title{font-weight:var(--ez-weight-semibold);margin-bottom:var(--ez-space-1)}.ez-alert-info{background-color:var(--ez-info-subtle);border-color:var(--ez-info-border);color:var(--ez-info-text)}.ez-alert-success{background-color:var(--ez-success-subtle);border-color:var(--ez-success-border);color:var(--ez-success-text)}.ez-alert-warning{background-color:var(--ez-warning-subtle);border-color:var(--ez-warning-border);color:var(--ez-warning-text)}.ez-alert-error{background-color:var(--ez-error-subtle);border-color:var(--ez-error-border);color:var(--ez-error-text)}.ez-alert-actions{display:flex;gap:var(--ez-space-2);margin-top:var(--ez-space-3)}.ez-toast-region{position:fixed;bottom:var(--ez-space-6);right:var(--ez-space-6);z-index:var(--ez-z-toast);display:flex;flex-direction:column;gap:var(--ez-space-3);max-width:400px;pointer-events:none}.ez-toast{display:flex;align-items:flex-start;gap:var(--ez-space-3);padding:var(--ez-space-4);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-md);box-shadow:var(--ez-shadow-lg);font-size:var(--ez-text-body-sm);pointer-events:auto;animation:ez-toast-in var(--ez-duration-base) var(--ez-ease-out)}@keyframes ez-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ez-toast-success>svg:first-child{color:var(--ez-success)}.ez-toast-error>svg:first-child{color:var(--ez-error)}.ez-toast-warning>svg:first-child{color:var(--ez-warning)}.ez-toast-info>svg:first-child{color:var(--ez-info)}.ez-toast-content{flex:1;min-width:0;color:var(--ez-text)}.ez-toast-title{font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-toast-desc{margin-top:2px;color:var(--ez-text-secondary)}@media (max-width: 640px){.ez-toast-region{left:var(--ez-space-4);right:var(--ez-space-4);bottom:var(--ez-space-4);max-width:none}}.ez-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ez-z-overlay);background-color:var(--ez-overlay);animation:ez-fade-in var(--ez-duration-fast) var(--ez-ease-out)}@keyframes ez-fade-in{0%{opacity:0}to{opacity:1}}.ez-dialog-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ez-z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--ez-space-4);overflow-y:auto}.ez-dialog{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - var(--ez-space-8));background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-xl);box-shadow:var(--ez-shadow-xl);animation:ez-dialog-in var(--ez-duration-base) var(--ez-ease-out)}@keyframes ez-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ez-dialog-sm{max-width:400px}.ez-dialog-lg{max-width:720px}.ez-dialog-xl{max-width:960px}.ez-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ez-space-4);padding:var(--ez-space-5) var(--ez-space-5) 0}.ez-dialog-title{font-size:var(--ez-text-h4);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-dialog-desc{margin-top:var(--ez-space-2);font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.ez-dialog-body{flex:1;min-height:0;padding:var(--ez-space-5);overflow-y:auto}.ez-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ez-space-3);padding:var(--ez-space-4) var(--ez-space-5);border-top:1px solid var(--ez-border-subtle)}@media (max-width: 640px){.ez-dialog-wrap{padding:0;align-items:flex-end}.ez-dialog{max-width:none;max-height:92vh;border-radius:var(--ez-radius-xl) var(--ez-radius-xl) 0 0;border-bottom:none}.ez-dialog-footer{flex-direction:column-reverse;align-items:stretch;padding-bottom:max(var(--ez-space-4),env(safe-area-inset-bottom))}.ez-dialog-footer .ez-btn{width:100%}}.ez-drawer{position:fixed;z-index:var(--ez-z-drawer);display:flex;flex-direction:column;background-color:var(--ez-surface);box-shadow:var(--ez-shadow-xl)}.ez-drawer-right{top:0;right:0;bottom:0;width:min(400px,100vw);border-left:1px solid var(--ez-border);animation:ez-slide-left var(--ez-duration-slow) var(--ez-ease-out)}.ez-drawer-left{top:0;left:0;bottom:0;width:min(320px,85vw);border-right:1px solid var(--ez-border);animation:ez-slide-right var(--ez-duration-slow) var(--ez-ease-out)}.ez-drawer-bottom{left:0;right:0;bottom:0;max-height:88vh;border-top:1px solid var(--ez-border);border-radius:var(--ez-radius-xl) var(--ez-radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:ez-slide-up var(--ez-duration-slow) var(--ez-ease-out)}@keyframes ez-slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes ez-slide-right{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes ez-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ez-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-4);padding:var(--ez-space-4) var(--ez-space-5);border-bottom:1px solid var(--ez-border-subtle)}.ez-drawer-title{font-size:var(--ez-text-h5);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-drawer-body{flex:1;min-height:0;padding:var(--ez-space-5);overflow-y:auto}.ez-drawer-footer{display:flex;gap:var(--ez-space-3);padding:var(--ez-space-4) var(--ez-space-5);border-top:1px solid var(--ez-border-subtle)}.ez-dropdown{position:relative;display:inline-flex}.ez-dropdown-menu{position:absolute;top:calc(100% + var(--ez-space-1));z-index:var(--ez-z-dropdown);min-width:200px;max-width:min(320px,calc(100vw - var(--ez-space-8)));padding:var(--ez-space-1);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-md);box-shadow:var(--ez-shadow-lg);animation:ez-fade-in var(--ez-duration-fast) var(--ez-ease-out)}.ez-dropdown-menu-end{right:0}.ez-dropdown-menu-start{left:0}.ez-dropdown-menu-up{top:auto;bottom:calc(100% + var(--ez-space-1))}.ez-dropdown-item{display:flex;align-items:center;gap:var(--ez-space-3);width:100%;min-height:var(--ez-control-md);padding:var(--ez-space-2) var(--ez-space-3);border-radius:var(--ez-radius-sm);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);color:var(--ez-text);text-align:left;cursor:pointer;transition:var(--ez-transition-colors)}.ez-dropdown-item:hover:not(:disabled),.ez-dropdown-item[data-highlighted=true]{background-color:var(--ez-surface-hover);text-decoration:none}.ez-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.ez-dropdown-item-danger{color:var(--ez-error-text)}.ez-dropdown-item-danger:hover:not(:disabled){background-color:var(--ez-error-subtle)}.ez-dropdown-label{padding:var(--ez-space-2) var(--ez-space-3);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text-muted);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ez-dropdown-separator{height:1px;margin:var(--ez-space-1) 0;background-color:var(--ez-border-subtle)}@media (max-width: 768px){.ez-dropdown-item{min-height:var(--ez-touch-min)}}.ez-tabs-list{display:flex;gap:var(--ez-space-1);border-bottom:1px solid var(--ez-border);overflow-x:auto;scrollbar-width:none}.ez-tabs-list::-webkit-scrollbar{display:none}.ez-tab{display:inline-flex;align-items:center;gap:var(--ez-space-2);min-height:var(--ez-control-lg);padding:0 var(--ez-space-4);border-bottom:2px solid transparent;margin-bottom:-1px;font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text-secondary);white-space:nowrap;cursor:pointer;transition:var(--ez-transition-colors)}.ez-tab:hover:not(:disabled){color:var(--ez-text);background-color:var(--ez-surface-hover)}.ez-tab[aria-selected=true]{color:var(--ez-primary-text);border-bottom-color:var(--ez-primary)}.ez-tab:disabled{opacity:.5;cursor:not-allowed}.ez-tab-panel{padding-top:var(--ez-space-6)}.ez-skeleton{background-color:var(--ez-skeleton-base);border-radius:var(--ez-radius-sm);background-image:linear-gradient(90deg,var(--ez-skeleton-base) 0%,var(--ez-skeleton-sheen) 50%,var(--ez-skeleton-base) 100%);background-size:200% 100%;animation:ez-shimmer 1.4s ease-in-out infinite}@keyframes ez-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ez-skeleton-text{height:1em;margin-block:.25em}.ez-skeleton-title{height:1.5em;width:40%}.ez-skeleton-circle{border-radius:var(--ez-radius-full)}.ez-skeleton-stack{display:flex;flex-direction:column;gap:var(--ez-space-3)}.ez-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ez-space-4);padding:var(--ez-space-12) var(--ez-space-6);text-align:center}.ez-state-compact{padding:var(--ez-space-8) var(--ez-space-4)}.ez-state-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ez-radius-full);background-color:var(--ez-surface-muted);color:var(--ez-text-muted)}.ez-state-icon-error{background-color:var(--ez-error-subtle);color:var(--ez-error)}.ez-state-icon-warning{background-color:var(--ez-warning-subtle);color:var(--ez-warning)}.ez-state-icon-primary{background-color:var(--ez-primary-subtle);color:var(--ez-primary)}.ez-state-title{font-size:var(--ez-text-h5);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-state-desc{max-width:46ch;font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ez-state-actions{display:flex;flex-wrap:wrap;gap:var(--ez-space-3);justify-content:center}.ez-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ez-space-4);margin-bottom:var(--ez-space-6)}.ez-page-header-main{min-width:0}.ez-page-eyebrow{display:block;margin-bottom:var(--ez-space-2);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text-muted);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ez-page-title{font-size:var(--ez-text-h2);font-weight:var(--ez-weight-bold);letter-spacing:var(--ez-tracking-tight);color:var(--ez-text)}.ez-page-desc{margin-top:var(--ez-space-2);max-width:72ch;font-size:var(--ez-text-body);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ez-page-actions{display:flex;flex:none;gap:var(--ez-space-3)}.ez-page-back{display:inline-flex;align-items:center;gap:var(--ez-space-1);margin-bottom:var(--ez-space-3);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);color:var(--ez-text-secondary)}.ez-page-back:hover{color:var(--ez-text);text-decoration:none}.ez-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ez-space-4);margin-bottom:var(--ez-space-4)}.ez-section-title{font-size:var(--ez-text-h4);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ez-section-desc{margin-top:var(--ez-space-1);font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary)}@media (max-width: 640px){.ez-page-header,.ez-section-header{flex-direction:column;align-items:stretch}.ez-page-title{font-size:var(--ez-text-h3)}.ez-page-actions .ez-btn{flex:1}}.ez-stat{display:flex;flex-direction:column;gap:var(--ez-space-1);padding:var(--ez-space-5);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg)}.ez-stat-label{display:flex;align-items:center;gap:var(--ez-space-2);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);color:var(--ez-text-secondary)}.ez-stat-value{font-size:var(--ez-text-h2);font-weight:var(--ez-weight-bold);line-height:var(--ez-leading-heading);letter-spacing:var(--ez-tracking-tight);color:var(--ez-text);font-variant-numeric:tabular-nums}.ez-stat-hint{font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.ez-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--ez-space-4)}@media (max-width: 640px){.ez-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ez-stat{padding:var(--ez-space-4)}.ez-stat-value{font-size:var(--ez-text-h3)}}.ez-progress{width:100%;height:8px;background-color:var(--ez-surface-muted);border-radius:var(--ez-radius-full);overflow:hidden}.ez-progress-fill{height:100%;background-color:var(--ez-primary);border-radius:var(--ez-radius-full);transition:width var(--ez-duration-slow) var(--ez-ease-out)}.ez-progress-fill-success{background-color:var(--ez-success)}.ez-progress-fill-warning{background-color:var(--ez-warning)}.ez-progress-fill-error{background-color:var(--ez-error)}.ez-progress-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ez-space-3);margin-bottom:var(--ez-space-2);font-size:var(--ez-text-body-sm)}.ez-progress-label{font-weight:var(--ez-weight-medium);color:var(--ez-text)}.ez-progress-value{color:var(--ez-text-secondary);font-variant-numeric:tabular-nums}.ez-steps{display:flex;flex-direction:column;gap:var(--ez-space-3)}.ez-step{display:flex;align-items:flex-start;gap:var(--ez-space-3)}.ez-step-marker{display:flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ez-radius-full);background-color:var(--ez-surface-muted);border:1px solid var(--ez-border);color:var(--ez-text-muted);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold)}.ez-step[data-status=active] .ez-step-marker{background-color:var(--ez-primary);border-color:var(--ez-primary);color:var(--ez-text-on-brand)}.ez-step[data-status=done] .ez-step-marker{background-color:var(--ez-success-subtle);border-color:var(--ez-success-border);color:var(--ez-success)}.ez-step[data-status=error] .ez-step-marker{background-color:var(--ez-error-subtle);border-color:var(--ez-error-border);color:var(--ez-error)}.ez-step-label{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);color:var(--ez-text)}.ez-step-desc{margin-top:2px;font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.ez-tooltip-wrap{position:relative;display:inline-flex}.ez-tooltip{position:absolute;z-index:var(--ez-z-tooltip);bottom:calc(100% + var(--ez-space-2));left:50%;transform:translate(-50%);padding:var(--ez-space-1) var(--ez-space-2);max-width:240px;width:max-content;background-color:var(--ez-surface-inverse);color:var(--ez-text-inverse);border-radius:var(--ez-radius-sm);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-medium);line-height:var(--ez-leading-snug);text-align:center;pointer-events:none;animation:ez-fade-in var(--ez-duration-fast) var(--ez-ease-out)}.ez-tooltip-bottom{bottom:auto;top:calc(100% + var(--ez-space-2))}.ez-grid{display:grid;gap:var(--ez-space-4)}.ez-grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ez-grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ez-stack{display:flex;flex-direction:column;gap:var(--ez-space-4)}.ez-stack-sm{gap:var(--ez-space-2)}.ez-stack-lg{gap:var(--ez-space-6)}.ez-row{display:flex;align-items:center;gap:var(--ez-space-3)}.ez-row-between{justify-content:space-between}.ez-row-wrap{flex-wrap:wrap}.ez-list{display:flex;flex-direction:column;gap:var(--ez-space-3)}.ez-list-item{display:flex;align-items:center;gap:var(--ez-space-4);padding:var(--ez-space-4);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);transition:var(--ez-transition-colors)}.ez-list-item:hover{border-color:var(--ez-border-strong)}.ez-list-item-icon{display:flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ez-radius-md);background-color:var(--ez-primary-subtle);color:var(--ez-primary)}.ez-list-item-main{flex:1;min-width:0}.ez-list-item-title{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-list-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ez-space-2);margin-top:var(--ez-space-1);font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.ez-list-item-actions{display:flex;flex:none;align-items:center;gap:var(--ez-space-2)}@media (max-width: 640px){.ez-list-item{flex-wrap:wrap;gap:var(--ez-space-3)}.ez-list-item-main{flex-basis:100%;order:2}.ez-list-item-actions{order:3;margin-left:auto}}.ez-admin-page{display:flex;flex-direction:column;gap:var(--ez-space-5);width:100%;max-width:1200px;margin:0 auto;padding:var(--ez-space-6) var(--ez-space-5) var(--ez-space-10);min-width:0;overflow-x:hidden}@media (max-width: 760px){.ez-admin-page{padding:var(--ez-space-4) var(--ez-space-3) var(--ez-space-8)}}.ez-datatable-wrap{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);background:var(--ez-surface)}.ez-datatable{width:100%;border-collapse:collapse}.ez-datatable th,.ez-datatable td{padding:var(--ez-space-3);border-bottom:1px solid var(--ez-border);text-align:left;vertical-align:top;font-size:var(--ez-text-body-sm)}.ez-datatable th{color:var(--ez-text-muted);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold);text-transform:uppercase;letter-spacing:var(--ez-tracking-wide);background:var(--ez-surface-muted)}.ez-datatable td{color:var(--ez-text)}.ez-datatable td small{display:block;max-width:190px;margin-top:var(--ez-space-1);color:var(--ez-text-muted);font-size:var(--ez-text-caption);overflow-wrap:anywhere}.ez-datatable-cell-title{display:flex;flex-direction:column;gap:var(--ez-space-1);min-width:200px}.ez-datatable-cell-title strong{color:var(--ez-text);overflow-wrap:anywhere}.ez-datatable-cell-title .ez-muted{color:var(--ez-text-muted);font-size:var(--ez-text-caption)}.ez-datatable-cell-actions{display:flex;flex-wrap:wrap;gap:var(--ez-space-2);min-width:180px}@media (max-width: 640px){.ez-datatable{min-width:0!important}.ez-datatable thead{display:none}.ez-datatable,.ez-datatable tbody,.ez-datatable tr,.ez-datatable td{display:block;width:100%}.ez-datatable tr{padding:var(--ez-space-3);border-bottom:1px solid var(--ez-border)}.ez-datatable td{display:flex;justify-content:space-between;gap:var(--ez-space-3);border-bottom:0;padding:var(--ez-space-2) 0;text-align:right}.ez-datatable td:before{content:attr(data-label);color:var(--ez-text-muted);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold);text-align:left;flex:none}.ez-datatable-cell-actions{justify-content:flex-end;min-width:0}}.ez-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-4);margin-top:var(--ez-space-4)}.ez-pagination-info{color:var(--ez-text-muted);font-size:var(--ez-text-body-sm)}.ez-pagination-controls{display:flex;gap:var(--ez-space-2)}@media (max-width: 640px){.ez-pagination{flex-direction:column;align-items:stretch}}.ez-filter-bar{display:grid;grid-template-columns:repeat(var(--ez-filter-cols, 4),minmax(150px,1fr));gap:var(--ez-space-3);align-items:end;padding:var(--ez-space-4);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);background:var(--ez-surface)}@media (max-width: 900px){.ez-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.ez-filter-bar{grid-template-columns:1fr;padding:var(--ez-space-3)}}.ez-muted{color:var(--ez-text-muted);font-size:var(--ez-text-caption)}.ez-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ez-space-3);margin:0}.ez-kv-grid dt{color:var(--ez-text-muted);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold)}.ez-kv-grid dd{color:var(--ez-text);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);margin:var(--ez-space-1) 0 0;overflow-wrap:anywhere}@media (max-width: 640px){.ez-kv-grid{grid-template-columns:1fr}}.ez-pre{max-height:280px;overflow:auto;border-radius:var(--ez-radius-lg);background:var(--ez-surface-muted);color:var(--ez-text);font-family:var(--ez-font-mono);font-size:var(--ez-text-caption);margin:0;padding:var(--ez-space-3);white-space:pre-wrap;overflow-wrap:anywhere}.ez-pretty-rows{display:grid;gap:var(--ez-space-2)}.ez-pretty-row{display:grid;grid-template-columns:160px 1fr;gap:var(--ez-space-2);padding:var(--ez-space-2) var(--ez-space-3);border:1px solid var(--ez-border);border-radius:var(--ez-radius-md)}.ez-pretty-row strong{color:var(--ez-text);overflow-wrap:anywhere}.ez-pretty-row span{color:var(--ez-text-muted);overflow-wrap:anywhere}@media (max-width: 640px){.ez-pretty-row{grid-template-columns:1fr}}.ezp-root{display:flex;flex-direction:column;min-height:100vh;background-color:var(--ez-bg);flex:1;width:100%;min-width:0}.ezp-main{flex:1}.ezp-container{width:100%;max-width:var(--ez-container-xl);margin-inline:auto;padding-inline:var(--ez-space-6)}@media (max-width: 480px){.ezp-container{padding-inline:var(--ez-space-4)}}.ezp-section{padding-block:var(--ez-section-y)}.ezp-section-alt{background-color:var(--ez-surface)}.ezp-section-dark{background-color:var(--ez-nav-bg);background-image:var(--ez-gradient-cta);color:var(--ez-neutral-50)}.ezp-section-glow{background:radial-gradient(ellipse at top,var(--ez-primary-subtle) 0%,transparent 60%)}@media (max-width: 768px){.ezp-section{padding-block:var(--ez-section-y-sm)}}.ezp-head{max-width:60ch;margin-bottom:var(--ez-space-10)}.ezp-head-center{margin-inline:auto;text-align:center}.ezp-eyebrow{display:block;margin-bottom:var(--ez-space-3);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-primary-text);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ezp-title{font-size:var(--ez-text-h2);font-weight:var(--ez-weight-bold);letter-spacing:var(--ez-tracking-tight);color:var(--ez-text)}.ezp-lede{margin-top:var(--ez-space-4);font-size:var(--ez-text-h6);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ezp-section-dark .ezp-title{color:var(--ez-neutral-0)}.ezp-section-dark .ezp-lede{color:var(--ez-neutral-300)}.ezp-section-dark .ezp-eyebrow{color:var(--ez-accent)}.ezp-header{position:sticky;top:0;z-index:var(--ez-z-sticky);background-color:var(--ez-surface);border-bottom:1px solid var(--ez-border-subtle)}.ezp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-6);min-height:64px}.ezp-brand{display:flex;align-items:center;gap:var(--ez-space-3);color:var(--ez-text);font-weight:var(--ez-weight-bold)}.ezp-brand:hover{text-decoration:none}.ezp-brand-name{font-size:var(--ez-text-h5);letter-spacing:var(--ez-tracking-snug)}.ezp-nav{display:none;align-items:center;gap:var(--ez-space-1);background-color:var(--ez-surface-muted);border-radius:var(--ez-radius-full);padding:var(--ez-space-1)}@media (min-width: 900px){.ezp-nav{display:flex}}.ezp-nav-link{padding:var(--ez-space-2) var(--ez-space-3);border-radius:var(--ez-radius-full);color:var(--ez-text-secondary);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);transition:var(--ez-transition-colors)}.ezp-nav-link:hover{background-color:var(--ez-surface);color:var(--ez-text);text-decoration:none}.ezp-header-actions{display:none;align-items:center;gap:var(--ez-space-3)}@media (min-width: 900px){.ezp-header-actions{display:flex}}.ezp-header-burger{display:inline-flex}@media (min-width: 900px){.ezp-header-burger{display:none}}.ezp-mobile-nav{display:flex;flex-direction:column;gap:var(--ez-space-1)}.ezp-mobile-link{display:flex;align-items:center;justify-content:space-between;min-height:var(--ez-touch-min);padding:var(--ez-space-3);border-radius:var(--ez-radius-md);color:var(--ez-text);font-size:var(--ez-text-h6);font-weight:var(--ez-weight-medium)}.ezp-mobile-link:hover{background-color:var(--ez-surface-hover);text-decoration:none}.ezp-hero{position:relative;overflow:visible;padding-top:var(--ez-space-16);padding-bottom:var(--ez-space-16)}.ezp-hero-sparkle{position:absolute;color:var(--ez-accent);pointer-events:none}.ezp-hero-sparkle-1{top:4%;right:8%;color:var(--ez-secondary)}.ezp-hero-sparkle-2{top:40%;left:2%}.ezp-hero-sparkle-3{bottom:6%;right:20%;color:var(--ez-primary-subtle)}.ezp-hero-art-wrap{display:flex;align-items:center;justify-content:center}.ezp-hero-character{width:100%;max-width:360px;height:auto}.ez-paper-mock{position:relative;width:100%;max-width:320px;padding:var(--ez-space-6);border-radius:var(--ez-radius-xl);background-color:var(--ez-surface);border:1px solid var(--ez-border);box-shadow:var(--ez-shadow-xl);transform:rotate(3deg)}.ez-paper-mock-stamp{position:absolute;top:calc(-1 * var(--ez-space-5));right:calc(-1 * var(--ez-space-4))}.ez-paper-mock-title{margin:0 0 var(--ez-space-4);padding-right:var(--ez-space-12);font-family:var(--ez-font-heading);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold);color:var(--ez-text-secondary);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ez-paper-mock-rows{display:grid;gap:var(--ez-space-3);list-style:none;margin:0;padding:0}.ez-paper-mock-row{display:flex;align-items:flex-start;gap:var(--ez-space-2);padding-bottom:var(--ez-space-3);border-bottom:1px dashed var(--ez-border);font-size:var(--ez-text-body-sm);color:var(--ez-text);line-height:var(--ez-leading-body)}.ez-paper-mock-row:last-child{border-bottom:none;padding-bottom:0}.ez-paper-mock-row svg{flex:none;margin-top:2px}@media (max-width: 640px){.ez-paper-mock{transform:none}}@media (max-width: 640px){.ezp-hero-sparkle{display:none}}.ezp-hero-grid{display:grid;gap:var(--ez-space-12);align-items:center}@media (min-width: 1024px){.ezp-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--ez-space-16)}}.ezp-hero-title{font-size:clamp(2.25rem,5vw,var(--ez-text-display));font-weight:var(--ez-weight-extrabold);line-height:var(--ez-leading-display);letter-spacing:var(--ez-tracking-tight);color:var(--ez-text);text-wrap:balance}.ezp-hero-accent{color:var(--ez-primary)}.ezp-hero-desc{margin-top:var(--ez-space-6);max-width:56ch;font-size:var(--ez-text-h6);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ezp-hero-actions{display:flex;flex-wrap:wrap;gap:var(--ez-space-3);margin-top:var(--ez-space-8)}.ezp-hero-chips{display:flex;flex-wrap:wrap;gap:var(--ez-space-2);margin-top:var(--ez-space-8)}.ezp-hero-chip{display:inline-flex;align-items:center;gap:var(--ez-space-2);padding:var(--ez-space-1) var(--ez-space-3);border:1px solid var(--ez-border);border-radius:var(--ez-radius-full);background-color:var(--ez-surface);color:var(--ez-text-secondary);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-medium)}@media (max-width: 640px){.ezp-hero{padding-top:var(--ez-space-12)}.ezp-hero-actions .ez-btn{flex:1 1 100%}}.ezp-tool{max-width:760px;margin-inline:auto}.ezp-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--ez-space-4);width:100%;padding:var(--ez-space-12) var(--ez-space-6);background-color:var(--ez-surface);border:2px dashed var(--ez-border-strong);border-radius:var(--ez-radius-xl);text-align:center;cursor:pointer;transition:var(--ez-transition-colors)}.ezp-dropzone:hover,.ezp-dropzone:focus-visible{border-color:var(--ez-primary);background-color:var(--ez-primary-subtle)}.ezp-dropzone[data-dragging=true]{border-color:var(--ez-primary);background-color:var(--ez-primary-subtle)}.ezp-dropzone-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ez-radius-full);background-color:var(--ez-primary-subtle);color:var(--ez-primary)}.ezp-dropzone-title{font-size:var(--ez-text-h5);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ezp-dropzone-hint{max-width:46ch;font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.ezp-tool-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ez-space-2) var(--ez-space-4);margin-top:var(--ez-space-5)}.ezp-tool-meta-item{display:inline-flex;align-items:center;gap:var(--ez-space-2);font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.ezp-grid{display:grid;gap:var(--ez-space-5)}.ezp-grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.ezp-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (max-width: 640px){.ezp-grid-2,.ezp-grid-3{grid-template-columns:minmax(0,1fr)}}.ezp-card{display:flex;flex-direction:column;gap:var(--ez-space-3);height:100%;padding:var(--ez-space-6);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg)}.ezp-section-alt .ezp-card{background-color:var(--ez-bg)}.ezp-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ez-radius-md);background-color:var(--ez-primary-subtle);color:var(--ez-primary)}.ezp-card-icon-secondary{background-color:var(--ez-secondary-subtle);color:var(--ez-secondary)}.ezp-card-title{font-size:var(--ez-text-h6);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ezp-card-desc{font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ezp-example{display:flex;flex-direction:column;gap:var(--ez-space-2);height:100%;padding:var(--ez-space-5);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);text-align:left;transition:var(--ez-transition-colors)}.ezp-example:hover{border-color:var(--ez-primary);background-color:var(--ez-primary-subtle);text-decoration:none}.ezp-example-tag{font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-secondary-text);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ezp-example-title{font-size:var(--ez-text-body);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ezp-example-desc{font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.ezp-steps{display:grid;gap:var(--ez-space-6);counter-reset:ezp-step}@media (min-width: 768px){.ezp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1120px){.ezp-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.ezp-step{display:flex;flex-direction:column;gap:var(--ez-space-3);padding-top:var(--ez-space-5);border-top:2px solid var(--ez-border)}.ezp-step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ez-radius-full);background-color:var(--ez-primary);color:var(--ez-text-on-brand);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold);font-variant-numeric:tabular-nums}.ezp-step-title{font-size:var(--ez-text-h6);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.ezp-step-desc{font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ezp-role{display:flex;flex-direction:column;gap:var(--ez-space-5);padding:var(--ez-space-8);background-color:var(--ez-surface);border:1px solid var(--ez-border);border-radius:var(--ez-radius-xl)}.ezp-section-alt .ezp-role{background-color:var(--ez-bg)}.ezp-role-head{display:flex;align-items:center;gap:var(--ez-space-3)}.ezp-role-title{font-size:var(--ez-text-h4);font-weight:var(--ez-weight-bold);color:var(--ez-text)}.ezp-role-list{display:flex;flex-direction:column;gap:var(--ez-space-3);list-style:none}.ezp-role-item{display:flex;align-items:flex-start;gap:var(--ez-space-3);font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.ezp-role-check{display:flex;flex:none;margin-top:2px;color:var(--ez-secondary)}.ezp-faq{max-width:var(--ez-container-md);margin-inline:auto}.ezp-faq-item{border-bottom:1px solid var(--ez-border)}.ezp-faq-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-4);width:100%;min-height:64px;padding:var(--ez-space-4) 0;color:var(--ez-text);font-size:var(--ez-text-h6);font-weight:var(--ez-weight-semibold);text-align:left;transition:var(--ez-transition-colors)}.ezp-faq-trigger:hover{color:var(--ez-primary-text)}.ezp-faq-icon{display:flex;flex:none;color:var(--ez-text-muted);transition:transform var(--ez-duration-base) var(--ez-ease-standard)}.ezp-faq-trigger[aria-expanded=true] .ezp-faq-icon{transform:rotate(180deg)}.ezp-faq-panel{padding-bottom:var(--ez-space-5);max-width:70ch;font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ezp-cta{display:flex;flex-direction:column;align-items:center;gap:var(--ez-space-6);text-align:center}.ezp-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ez-space-3)}.ezp-cta-note{font-size:var(--ez-text-caption);color:var(--ez-neutral-400)}.ezp-section-dark .ez-btn-outline{background-color:transparent;border-color:var(--ez-neutral-600);color:var(--ez-neutral-50)}.ezp-section-dark .ez-btn-outline:hover:not(:disabled){background-color:var(--ez-neutral-800);border-color:var(--ez-neutral-500)}.ezp-footer{padding-block:var(--ez-space-16) var(--ez-space-8);background-color:var(--ez-surface);border-top:1px solid var(--ez-border)}.ezp-footer-grid{display:grid;gap:var(--ez-space-8);margin-bottom:var(--ez-space-12)}@media (min-width: 640px){.ezp-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.ezp-footer-grid{grid-template-columns:1.4fr repeat(4,minmax(0,1fr))}}.ezp-footer-about{max-width:34ch}.ezp-footer-slogan{margin-top:var(--ez-space-4);font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-body)}.ezp-footer-group-title{margin-bottom:var(--ez-space-4);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ezp-footer-list{display:flex;flex-direction:column;gap:var(--ez-space-3);list-style:none}.ezp-footer-link{font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary)}.ezp-footer-link:hover{color:var(--ez-text)}@media (max-width: 640px){.ezp-footer-link{display:inline-flex;align-items:center;min-height:32px}.ezp-footer-list{gap:var(--ez-space-2)}}.ezp-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ez-space-4);padding-top:var(--ez-space-6);border-top:1px solid var(--ez-border-subtle)}.ezp-footer-copy{font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.ezp-footer-disclaimer{max-width:60ch;font-size:var(--ez-text-caption);color:var(--ez-text-muted);line-height:var(--ez-leading-snug)}.ezp-announce{background:var(--ez-gradient-cta);color:var(--ez-text-on-brand)}.ezp-announce-inner{display:flex;align-items:center;justify-content:center;gap:var(--ez-space-4);padding:var(--ez-space-2) var(--ez-space-4);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);position:relative}.ezp-announce-text{display:flex;align-items:center;gap:var(--ez-space-2);flex-wrap:wrap;justify-content:center;text-align:center}.ezp-announce-link{display:inline-flex;align-items:center;gap:var(--ez-space-1);color:var(--ez-text-on-brand);text-decoration:underline;font-weight:var(--ez-weight-bold)}.ezp-announce-close{position:absolute;right:var(--ez-space-4);top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--ez-text-on-brand);cursor:pointer;padding:var(--ez-space-1);display:inline-flex}@media (max-width: 640px){.ezp-announce-close{position:static;transform:none}}.ezp-pillar{background:var(--ez-surface);border-radius:var(--ez-radius-xl);padding:var(--ez-space-6);border:1px solid var(--ez-border)}.ezp-pillar-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--ez-radius-full);background:var(--ez-gradient-cta);color:var(--ez-text-on-brand);margin-bottom:var(--ez-space-4)}.ezp-tools-showcase{display:grid;grid-template-columns:280px 1fr;gap:var(--ez-space-8);align-items:center}.ezp-tools-showcase-art{width:100%;height:auto}@media (max-width: 900px){.ezp-tools-showcase{grid-template-columns:1fr}.ezp-tools-showcase-art{max-width:220px;margin:0 auto}}.ezp-tools-showcase-reverse{grid-template-columns:1fr 280px}@media (max-width: 900px){.ezp-tools-showcase-reverse{grid-template-columns:1fr}}.ezp-stat{text-align:center}.ezp-stat-value{display:block;font-size:var(--ez-text-h1);font-weight:var(--ez-weight-extrabold);color:var(--ez-primary)}.ezp-stat-label{color:var(--ez-text-secondary);font-size:var(--ez-text-body-sm)}.ezp-testimonial{background:var(--ez-surface);border-radius:var(--ez-radius-xl);border:1px solid var(--ez-border);padding:var(--ez-space-6);margin:0}.ezp-testimonial-icon{color:var(--ez-secondary);margin-bottom:var(--ez-space-3)}.ezp-testimonial-quote{font-size:var(--ez-text-h6);margin:0 0 var(--ez-space-4)}.ezp-testimonial-author{color:var(--ez-text-secondary);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold)}.ezp-pipeline-track{position:relative;height:26px;margin-bottom:var(--ez-space-4)}.ezp-pipeline-line{position:absolute;top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,var(--ez-border) 0%,var(--ez-primary) 100%)}.ezp-pipeline-token{position:absolute;top:50%;left:0;width:calc(100% / 6);height:26px;transform:translateY(-50%)}.ezp-pipeline-token:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background-color:var(--ez-accent);box-shadow:0 0 0 6px #ffab4338}.ezp-pipeline-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ez-space-4);margin:0;padding:0;list-style:none}@media (min-width: 1024px){.ezp-pipeline-stages{grid-template-columns:repeat(6,minmax(0,1fr))}}.ezp-pipeline-stage{padding:var(--ez-space-4);border:1px solid var(--ez-border);border-radius:var(--ez-radius-lg);background-color:var(--ez-surface);transition:border-color var(--ez-motion-base) var(--ez-ease-standard),background-color var(--ez-motion-base) var(--ez-ease-standard)}.ezp-pipeline-stage[data-active=true]{border-color:var(--ez-primary);background-color:var(--ez-primary-subtle)}.ezp-pipeline-stage-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-bottom:var(--ez-space-2);border-radius:50%;background-color:var(--ez-nav-bg);color:var(--ez-text-on-brand);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold)}.ezp-pipeline-stage-title{margin:0 0 var(--ez-space-1);font-size:var(--ez-text-h6);color:var(--ez-text)}.ezp-pipeline-stage-desc{margin:0;color:var(--ez-text-secondary);font-size:var(--ez-text-body-sm);line-height:var(--ez-leading-body)}@media (pointer: coarse){.ezp-brand,.ezp-nav-link,.ezp-footer-link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}}.dd-overview{display:grid;gap:var(--ez-space-6);margin-bottom:var(--ez-space-8)}@media (min-width: 900px){.dd-overview{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}.dd-video{overflow:hidden;border-radius:var(--ez-radius-lg);background-color:#000;margin-bottom:var(--ez-space-4)}.dd-video video{width:100%;max-height:320px;display:block}.dd-meta-grid{display:grid;gap:var(--ez-space-3);grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 640px){.dd-meta-grid{grid-template-columns:minmax(0,1fr)}}.dd-meta-item{padding:var(--ez-space-3);border-radius:var(--ez-radius-md);background-color:var(--ez-surface-muted);font-size:var(--ez-text-body-sm)}.dd-meta-label{display:block;margin-bottom:2px;font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text-muted)}.dd-pipeline{display:flex;flex-direction:column;gap:var(--ez-space-5)}.dd-step{display:flex;gap:var(--ez-space-4)}.dd-step-marker{display:flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ez-radius-full);border:1px solid var(--ez-border-strong);color:var(--ez-text-muted);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold)}.dd-step[data-status=done] .dd-step-marker{background-color:var(--ez-success);border-color:var(--ez-success);color:var(--ez-text-on-brand)}.dd-step[data-status=active] .dd-step-marker{background-color:var(--ez-warning);border-color:var(--ez-warning);color:var(--ez-text-on-brand)}.dd-step-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dd-step-title{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.dd-step-desc{font-size:var(--ez-text-caption);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.dd-step-status{display:flex;align-items:center;gap:var(--ez-space-2);margin-top:var(--ez-space-2);font-size:var(--ez-text-caption);color:var(--ez-warning-text)}.dd-step-action{margin-top:var(--ez-space-2)}.dd-content-box{max-height:420px;overflow-y:auto;padding:var(--ez-space-4);border-radius:var(--ez-radius-md);background-color:var(--ez-surface-muted);white-space:pre-wrap;font-size:var(--ez-text-body-sm);line-height:var(--ez-leading-body);color:var(--ez-text)}.dd-search-form{display:flex;gap:var(--ez-space-3);margin-bottom:var(--ez-space-5)}.dd-search-form .ez-input{flex:1}.dd-search-results{display:flex;flex-direction:column;gap:var(--ez-space-3)}.dd-search-result{padding:var(--ez-space-3);border-radius:var(--ez-radius-md);background-color:var(--ez-surface-muted)}.dd-search-result-head{display:flex;justify-content:space-between;gap:var(--ez-space-3);margin-bottom:var(--ez-space-2);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold)}.dd-search-result-score{color:var(--ez-success-text)}.dd-search-result-text{margin:0;font-size:var(--ez-text-body-sm);font-style:italic;color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}@media (max-width: 600px){.dd-search-form{flex-direction:column}}.qs-meta-grid{display:flex;flex-wrap:wrap;gap:var(--ez-space-2);margin-top:var(--ez-space-3)}.qs-meta-badge{padding:var(--ez-space-2) var(--ez-space-3);border-radius:var(--ez-radius-md);background-color:var(--ez-surface-muted);font-size:var(--ez-text-body-sm)}.qs-meta-badge strong{font-weight:var(--ez-weight-semibold);margin-right:var(--ez-space-1)}.qs-keyword-list{display:flex;flex-wrap:wrap;gap:var(--ez-space-2)}.qs-keyword-chip{padding:var(--ez-space-1) var(--ez-space-3);border-radius:var(--ez-radius-full);background-color:var(--ez-secondary-subtle);color:var(--ez-secondary-text);border:1px solid var(--ez-secondary-border);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-medium)}.qs-keyword-chip[data-strong=true]{font-weight:var(--ez-weight-bold)}.qs-bloom-bar{display:flex;height:22px;border-radius:var(--ez-radius-sm);overflow:hidden;margin-bottom:var(--ez-space-3)}.qs-bloom-segment{display:flex;align-items:center;justify-content:center;color:var(--ez-text-on-brand);font-size:10px;font-weight:var(--ez-weight-semibold);white-space:nowrap;overflow:hidden}.qs-bloom-legend{display:flex;flex-wrap:wrap;gap:var(--ez-space-3)}.qs-bloom-legend-item{display:flex;align-items:center;gap:var(--ez-space-2);font-size:var(--ez-text-caption);color:var(--ez-text-secondary)}.qs-bloom-dot{width:8px;height:8px;border-radius:var(--ez-radius-full);flex:none}.qs-editor-grid{display:grid;gap:var(--ez-space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.qs-editor-actions{display:flex;flex-wrap:wrap;gap:var(--ez-space-2);align-items:center}.qs-study-toggle{display:flex;align-items:center;gap:var(--ez-space-3);flex-wrap:wrap}.qs-audience-list{display:flex;flex-direction:column;gap:var(--ez-space-3)}.qs-class-checklist{display:flex;flex-direction:column;gap:var(--ez-space-1);padding-left:var(--ez-space-4);max-height:220px;overflow-y:auto}.qs-result-box{padding:var(--ez-space-4);border-radius:var(--ez-radius-md);background-color:var(--ez-success-subtle);border:1px solid var(--ez-success-border);color:var(--ez-text);font-size:var(--ez-text-body-sm)}.qs-questions-list{display:flex;flex-direction:column;gap:var(--ez-space-6);margin-top:var(--ez-space-6)}.dash-greeting{margin-bottom:var(--ez-space-6)}.dash-greeting-title{font-size:var(--ez-text-h2);font-weight:var(--ez-weight-bold);letter-spacing:var(--ez-tracking-tight);color:var(--ez-text)}.dash-greeting-sub{margin-top:var(--ez-space-2);font-size:var(--ez-text-body);color:var(--ez-text-secondary)}@media (max-width: 640px){.dash-greeting-title{font-size:var(--ez-text-h3)}}.dash-quick-actions{display:flex;flex-wrap:wrap;gap:var(--ez-space-3)}.dash-quick-action{display:inline-flex;align-items:center;gap:var(--ez-space-2);padding:var(--ez-space-3) var(--ez-space-4);border-radius:var(--ez-radius-lg);border:1px solid var(--ez-border);background:var(--ez-surface);color:var(--ez-text);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);text-decoration:none;transition:border-color var(--ez-duration-fast) var(--ez-ease-standard),background var(--ez-duration-fast) var(--ez-ease-standard)}.dash-quick-action:hover{border-color:var(--ez-primary);background:var(--ez-primary-subtle)}.dash-quick-action svg{color:var(--ez-primary)}.dash-primary{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-6);padding:var(--ez-space-6);background-color:var(--ez-primary-subtle);border:1px solid var(--ez-primary-border);border-radius:var(--ez-radius-xl);margin-bottom:var(--ez-space-8)}.dash-primary-main{min-width:0}.dash-primary-eyebrow{display:block;margin-bottom:var(--ez-space-2);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-primary-text);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.dash-primary-title{font-size:var(--ez-text-h4);font-weight:var(--ez-weight-semibold);color:var(--ez-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-primary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ez-space-2) var(--ez-space-4);margin-top:var(--ez-space-3);font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary)}.dash-primary-actions{flex:none}@media (max-width: 768px){.dash-primary{flex-direction:column;align-items:stretch}.dash-primary-title{white-space:normal}.dash-primary-actions .ez-btn{width:100%}}.dash-columns{display:grid;gap:var(--ez-space-6)}@media (min-width: 1120px){.dash-columns{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}}.dash-block{margin-bottom:var(--ez-space-8)}.dash-block:last-child{margin-bottom:0}.dash-row{display:flex;align-items:center;gap:var(--ez-space-4);padding:var(--ez-space-3) var(--ez-space-4);border-radius:var(--ez-radius-md);color:var(--ez-text);transition:var(--ez-transition-colors)}.dash-row:hover{background-color:var(--ez-surface-hover);text-decoration:none}.dash-row+.dash-row{border-top:1px solid var(--ez-border-subtle);border-top-left-radius:0;border-top-right-radius:0}.dash-row-icon{display:flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ez-radius-md);background-color:var(--ez-surface-muted);color:var(--ez-text-secondary)}.dash-row-main{flex:1;min-width:0}.dash-row-title{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ez-space-2);margin-top:2px;font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.dash-row-trail{display:flex;flex:none;align-items:center;gap:var(--ez-space-2)}.dash-score{font-size:var(--ez-text-body);font-weight:var(--ez-weight-bold);font-variant-numeric:tabular-nums;color:var(--ez-text)}.dash-onboard-list{display:flex;flex-direction:column;gap:var(--ez-space-5);list-style:none;counter-reset:dash-step}.dash-onboard-item{display:flex;align-items:flex-start;gap:var(--ez-space-4)}.dash-onboard-num{display:flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ez-radius-full);background-color:var(--ez-primary);color:var(--ez-text-on-brand);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold);font-variant-numeric:tabular-nums}.dash-onboard-title{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.dash-onboard-desc{margin-top:2px;font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary);line-height:var(--ez-leading-snug)}.dash-onboard-action{margin-top:var(--ez-space-3)}.profile-grid{display:grid;gap:var(--ez-space-6)}@media (min-width: 1024px){.profile-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}}.profile-identity{display:flex;align-items:center;gap:var(--ez-space-4)}.profile-avatar{display:flex;flex:none;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ez-radius-full);background-color:var(--ez-secondary-subtle);color:var(--ez-secondary-text);font-size:var(--ez-text-h5);font-weight:var(--ez-weight-bold)}.profile-name{font-size:var(--ez-text-h4);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.profile-email{margin-top:2px;font-size:var(--ez-text-body-sm);color:var(--ez-text-secondary)}.profile-facts{display:grid;gap:var(--ez-space-4);margin:0}@media (min-width: 640px){.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-fact-label{font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text-muted);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.profile-fact-value{margin-top:var(--ez-space-1);font-size:var(--ez-text-body-sm);color:var(--ez-text)}.profile-theme-options{display:flex;flex-wrap:wrap;gap:var(--ez-space-2)}.lms-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--ez-space-4)}@media (max-width: 1280px){.lms-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.lms-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.lms-stats-grid{grid-template-columns:1fr}}.lms-stat-card{display:flex;flex-direction:column;gap:var(--ez-space-2);padding:var(--ez-space-5);border-radius:var(--ez-radius-xl);background-color:var(--ez-surface);border:1px solid var(--ez-border);box-shadow:0 1px 3px #0000000d;transition:transform .2s ease,box-shadow .2s ease;animation:lms-fade-in .4s ease forwards}.lms-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.lms-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ez-radius-lg);margin-bottom:var(--ez-space-1)}.lms-stat-value{font-size:1.75rem;font-weight:800;color:var(--ez-text);letter-spacing:-.03em;line-height:1}.lms-stat-label{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.lms-stat-sub{font-size:var(--ez-text-caption);color:var(--ez-text-muted)}.lms-two-col{display:grid;gap:var(--ez-space-5)}@media (min-width: 900px){.lms-two-col{grid-template-columns:1fr 1fr;align-items:start}}@keyframes lms-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lms-stat-card:nth-child(1){animation-delay:.05s}.lms-stat-card:nth-child(2){animation-delay:.1s}.lms-stat-card:nth-child(3){animation-delay:.15s}.lms-stat-card:nth-child(4){animation-delay:.2s}.lms-stat-card:nth-child(5){animation-delay:.25s}.lms-timeline{display:flex;flex-direction:column}.lms-timeline-item{display:flex;gap:14px;position:relative;padding-bottom:18px}.lms-timeline-item:not(.lms-timeline-item--last):before{content:"";position:absolute;left:19px;top:38px;bottom:0;width:2px;background:var(--ez-border)}.lms-timeline-dot{display:flex;flex:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--ez-radius-full);background:var(--ez-surface);border:2px solid var(--ez-border);z-index:1}.lms-timeline-content{flex:1;min-width:0;padding-top:7px}.qg-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ez-space-2);padding:var(--ez-space-8) var(--ez-space-6);border:1.5px dashed var(--ez-border-strong);border-radius:var(--ez-radius-lg);color:var(--ez-text-muted);text-align:center;cursor:pointer;transition:var(--ez-transition-colors)}.qg-dropzone:hover,.qg-dropzone[data-drag-over=true]{border-color:var(--ez-primary);color:var(--ez-primary);background:var(--ez-primary-subtle)}.qg-dropzone-title{font-weight:var(--ez-weight-semibold);color:var(--ez-text)}.qg-dropzone[data-drag-over=true] .qg-dropzone-title{color:var(--ez-primary)}.qg-file-row{display:flex;align-items:center;gap:var(--ez-space-3)}.qg-steps{margin-top:var(--ez-space-6)}.qg-upload-progress{margin-top:var(--ez-space-4)}.ez-shell{display:flex;min-height:100vh;background-color:var(--ez-bg);flex:1;width:100%;min-width:0}.ez-shell-main{display:flex;flex-direction:column;flex:1;min-width:0}.ez-main{flex:1;width:100%;max-width:var(--ez-container-lg);margin-inline:auto;padding:var(--ez-space-8) var(--ez-space-6)}.ez-sidebar{display:none;flex-direction:column;flex:none;width:260px;height:100vh;position:sticky;top:0;z-index:var(--ez-z-sidebar);padding:var(--ez-space-4) var(--ez-space-3);background-color:var(--ez-surface);border-right:1px solid var(--ez-border)}@media (min-width: 1024px){.ez-sidebar{display:flex}}.ez-brand{display:flex;align-items:center;gap:var(--ez-space-3);padding:var(--ez-space-2);margin-bottom:var(--ez-space-4);border-radius:var(--ez-radius-md);color:var(--ez-text);transition:var(--ez-transition-colors)}.ez-brand:hover{background-color:var(--ez-surface-hover);text-decoration:none}.ez-brand-mark{display:flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ez-radius-sm);background:var(--ez-gradient-cta);color:var(--ez-text-on-brand);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-bold);letter-spacing:var(--ez-tracking-tight)}.ez-brand-text{display:flex;flex-direction:column;min-width:0}.ez-brand-name{font-size:var(--ez-text-h6);font-weight:var(--ez-weight-bold);letter-spacing:var(--ez-tracking-snug);line-height:1.3}.ez-brand-area{font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text-muted);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps);line-height:1.3}.ez-sidebar-nav{display:flex;flex-direction:column;gap:var(--ez-space-5);flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--ez-space-4)}.ez-nav-group{display:flex;flex-direction:column;gap:2px}.ez-nav-group-label{padding:var(--ez-space-2) var(--ez-space-3) var(--ez-space-1);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-semibold);color:var(--ez-text-muted);text-transform:uppercase;letter-spacing:var(--ez-tracking-caps)}.ez-nav-item{position:relative;display:flex;align-items:center;gap:var(--ez-space-3);min-height:var(--ez-control-md);padding:var(--ez-space-2) var(--ez-space-3);border-radius:var(--ez-radius-md);color:var(--ez-text-secondary);font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-medium);transition:var(--ez-transition-colors)}.ez-nav-item:hover{background-color:var(--ez-surface-hover);color:var(--ez-text);text-decoration:none}.ez-nav-item-active{background-color:var(--ez-primary-subtle);color:var(--ez-primary-text);font-weight:var(--ez-weight-semibold)}.ez-nav-item-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 var(--ez-radius-full) var(--ez-radius-full) 0;background-color:var(--ez-primary)}.ez-nav-item-active:hover{background-color:var(--ez-primary-subtle);color:var(--ez-primary-text)}.ez-nav-icon{display:flex;flex:none;align-items:center;justify-content:center}.ez-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-nav-badge{flex:none}.ez-sidebar-footer{flex:none;padding-top:var(--ez-space-3);border-top:1px solid var(--ez-border-subtle)}.ez-user-chip{display:flex;align-items:center;gap:var(--ez-space-3);width:100%;min-height:var(--ez-control-lg);padding:var(--ez-space-2);border-radius:var(--ez-radius-md);color:var(--ez-text);text-align:left;transition:var(--ez-transition-colors)}.ez-user-chip:hover{background-color:var(--ez-surface-hover)}.ez-avatar{display:flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ez-radius-full);background-color:var(--ez-secondary-subtle);color:var(--ez-secondary-text);font-size:var(--ez-text-caption);font-weight:var(--ez-weight-bold)}.ez-avatar-sm{width:26px;height:26px;font-size:11px}.ez-user-text{display:flex;flex-direction:column;flex:1;min-width:0}.ez-user-name{font-size:var(--ez-text-body-sm);font-weight:var(--ez-weight-semibold);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-user-role{font-size:var(--ez-text-caption);color:var(--ez-text-muted);line-height:1.3}.ez-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-3);position:sticky;top:0;z-index:var(--ez-z-sticky);min-height:56px;padding:var(--ez-space-2) var(--ez-space-4);background-color:var(--ez-surface);border-bottom:1px solid var(--ez-border)}@media (min-width: 1024px){.ez-topbar{display:none}}.ez-topbar-title{font-size:var(--ez-text-h6);font-weight:var(--ez-weight-semibold);color:var(--ez-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-tabbar{display:flex;position:sticky;bottom:0;z-index:var(--ez-z-sticky);background-color:var(--ez-surface);border-top:1px solid var(--ez-border);padding-bottom:env(safe-area-inset-bottom)}@media (min-width: 1024px){.ez-tabbar{display:none}}.ez-tab-item{position:relative;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:var(--ez-space-1) var(--ez-space-1);color:var(--ez-text-muted);font-size:11px;font-weight:var(--ez-weight-medium);text-align:center;transition:var(--ez-transition-colors)}.ez-tab-item:hover{text-decoration:none;color:var(--ez-text-secondary)}.ez-tab-item-active{color:var(--ez-primary-text);font-weight:var(--ez-weight-semibold)}.ez-tab-item-active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:3px;border-radius:0 0 var(--ez-radius-full) var(--ez-radius-full);background-color:var(--ez-primary)}.ez-tab-icon{display:flex}.ez-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-tab-dot{position:absolute;top:8px;right:calc(50% - 16px);width:8px;height:8px;border-radius:var(--ez-radius-full);background-color:var(--ez-error)}@media (max-width: 768px){.ez-main{padding:var(--ez-space-5) var(--ez-space-4)}}@media (max-width: 480px){.ez-main{padding:var(--ez-space-4) var(--ez-space-4)}}.ez-dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--ez-space-4);background:var(--ez-gradient-cta);border-radius:var(--ez-radius-xl);padding:var(--ez-space-6);margin-bottom:var(--ez-space-6);color:var(--ez-text-on-brand)}[data-theme=dark] .ez-dashboard-banner{background:linear-gradient(120deg,var(--ez-indigo-400) 0%,var(--ez-indigo-500) 100%)}.ez-dashboard-banner h1,.ez-dashboard-banner h2,.ez-dashboard-banner p{color:var(--ez-text-on-brand)}.ez-dashboard-banner-art{width:80px;height:80px;flex-shrink:0}@media (max-width: 640px){.ez-dashboard-banner-art{display:none}}.pub-layout{width:100%;min-width:0;flex:1 1 auto;display:flex;flex-direction:column;min-height:100vh;background:transparent;font-family:Inter,system-ui,sans-serif}.pub-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(139,124,248,.1);position:sticky;top:0;z-index:100}.pub-logo{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:6px 0;text-decoration:none}.pub-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--ez-radius-md);background:linear-gradient(135deg,#8b7cf8,#6c3fd1);color:#fff;font-size:13px;font-weight:800;letter-spacing:-.5px;flex-shrink:0}.pub-logo-text{font-size:16px;font-weight:700;color:#1e1b4b;letter-spacing:-.3px}.pub-header-nav{display:flex;align-items:center;gap:10px}.pub-nav-link{background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#4c4878;padding:6px 14px;border-radius:var(--ez-radius-md);transition:background .15s,color .15s}.pub-nav-link:hover{background:#8b7cf814;color:#6c3fd1}.pub-nav-cta{background:linear-gradient(135deg,#8b7cf8,#6c3fd1);border:none;cursor:pointer;font-size:14px;font-weight:600;color:#fff;padding:8px 18px;border-radius:var(--ez-radius-full);transition:opacity .15s,transform .15s}.pub-nav-cta:hover{opacity:.9;transform:translateY(-1px)}.pub-main{position:relative;width:100%;min-width:0;flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px;overflow:hidden}.pub-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0;animation:pub-blob-float 16s ease-in-out infinite}.pub-blob-1{width:420px;height:380px;top:-100px;left:-140px;background:radial-gradient(circle,rgba(139,124,248,.3) 0%,transparent 70%);animation-delay:0s}.pub-blob-2{width:380px;height:340px;bottom:-120px;right:-110px;background:radial-gradient(circle,rgba(247,74,138,.22) 0%,transparent 70%);animation-delay:2.5s}.pub-blob-3{width:300px;height:280px;top:40%;right:8%;background:radial-gradient(circle,rgba(14,165,233,.2) 0%,transparent 70%);animation-delay:5s}@keyframes pub-blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(18px,-14px) scale(1.05)}66%{transform:translate(-12px,10px) scale(.96)}}.pub-stickers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.pub-sticker{position:absolute;width:var(--pub-sticker-size, 110px);height:var(--pub-sticker-size, 110px);display:grid;place-items:center;opacity:0;transform:translateY(18px) scale(.92) rotate(var(--pub-sticker-rotate, -5deg));animation:pub-sticker-enter .62s cubic-bezier(.2,.8,.2,1) forwards,pub-sticker-float var(--pub-sticker-duration, 7s) ease-in-out infinite;animation-delay:var(--pub-sticker-delay, 0s),calc(var(--pub-sticker-delay, 0s) + .62s)}.pub-sticker-img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 16px 22px rgba(23,19,34,.18))}.pub-sticker-graduation{--pub-sticker-size: 108px;--pub-sticker-rotate: -8deg;--pub-sticker-delay: .1s;--pub-sticker-duration: 6.6s;top:12%;left:8%}.pub-sticker-idea{--pub-sticker-size: 92px;--pub-sticker-rotate: 9deg;--pub-sticker-delay: .28s;--pub-sticker-duration: 7.4s;top:18%;right:10%}.pub-sticker-notes{--pub-sticker-size: 118px;--pub-sticker-rotate: 6deg;--pub-sticker-delay: .46s;--pub-sticker-duration: 7s;bottom:14%;left:10%}.pub-sticker-research{--pub-sticker-size: 100px;--pub-sticker-rotate: -6deg;--pub-sticker-delay: .64s;--pub-sticker-duration: 6.8s;bottom:16%;right:9%}@keyframes pub-sticker-enter{to{opacity:1;transform:translateY(0) scale(1) rotate(var(--pub-sticker-rotate, -5deg))}}@keyframes pub-sticker-float{0%,to{transform:translateY(0) rotate(var(--pub-sticker-rotate, -5deg))}50%{transform:translateY(-10px) rotate(var(--pub-sticker-rotate, -5deg))}}.pub-card-wrap{position:relative;z-index:1}@media (max-width: 900px){.pub-sticker{--pub-sticker-size: 76px}}@media (max-width: 640px){.pub-stickers,.pub-blob-3{display:none}}@media (prefers-reduced-motion: reduce){.pub-blob,.pub-sticker{animation:none;opacity:1;transform:none}}.pub-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid rgba(139,124,248,.1);background:#ffffffb3}.pub-footer-copy{font-size:12px;color:#8985a8;margin:0}.pub-footer-home{background:none;border:none;cursor:pointer;font-size:12px;color:#8b7cf8;font-weight:500;transition:color .15s;padding:0}.pub-footer-home:hover{color:#6c3fd1}@media (max-width: 480px){.pub-header{padding:0 16px}.pub-logo-text{font-size:15px}.pub-nav-link{display:none}.pub-footer{flex-direction:column;gap:8px;text-align:center;padding:14px 16px}}
