:root{--color-primary: #4678ee;--color-primary-hover: #3a63d4;--color-primary-press: #2d52c0;--color-primary-light: #eef2fd;--color-accent: #ffb60c;--color-accent-hover: #f0a800;--color-accent-dark: #d4900a;--color-bg-page: #f4f6fb;--color-bg-card: #ffffff;--color-bg-header: #202023;--color-bg-subtle: #eef2fd;--color-bg-input: #f4f6fe;--color-text-primary: #202023;--color-text-secondary: #6b7280;--color-text-inverse: #ffffff;--color-text-muted: #9ca3af;--color-text-link: #4678ee;--color-border: #e5e7eb;--color-border-focus: #4678ee;--color-border-subtle: #f3f4f6;--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .1);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .08);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-info: #3b82f6;--shadow-xs: 0 1px 2px rgba(70, 120, 238, .06);--shadow-sm: 0 1px 4px rgba(70, 120, 238, .08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 14px rgba(70, 120, 238, .14), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 8px 28px rgba(70, 120, 238, .2), 0 4px 8px rgba(0,0,0,.06);--shadow-xl: 0 16px 48px rgba(70, 120, 238, .26), 0 8px 16px rgba(0,0,0,.08);--shadow-glow:0 0 32px rgba(70, 120, 238, .4);--shadow-accent-glow: 0 0 32px rgba(255, 182, 12, .45);--font-display: "Poppins", sans-serif;--font-body: "Poppins", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-3xl: 36px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--gradient-brand: linear-gradient(135deg, #4678ee 0%, #6d96f7 100%);--gradient-brand-v: linear-gradient(180deg, #4678ee 0%, #3a63d4 100%);--gradient-header: linear-gradient(135deg, #202023 0%, #2d2d38 100%);--gradient-hero: linear-gradient(135deg, #4678ee 0%, #6d96f7 55%, #ffb60c 100%);--gradient-accent: linear-gradient(135deg, #ffb60c 0%, #ffd05e 100%);--gradient-card: linear-gradient(145deg, #ffffff 0%, #f4f6fb 100%);--gradient-subtle: linear-gradient(135deg, #eef2fd 0%, #f4f6fb 100%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--z-header: 100;--z-dropdown: 200;--z-modal: 500;--z-toast: 600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-bg-page);color:var(--color-text-primary);line-height:1.5;min-height:100vh;transition:background-color var(--transition-slow),color var(--transition-slow)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}h1{font-family:var(--font-display);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;line-height:1.2;letter-spacing:-.025em}h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.25;letter-spacing:-.02em}h3{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.875rem);font-weight:600;line-height:1.3}h4{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.4}h5{font-size:1rem;font-weight:600}h6{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}p{line-height:1.625}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}.portal-layout{display:flex;flex-direction:column;min-height:100vh}.portal-header{position:sticky;top:0;z-index:100;background:var(--color-bg-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);transition:background var(--transition-slow)}.portal-header .container{display:flex;align-items:center;justify-content:space-between;height:72px}.portal-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding-block:clamp(2rem,5vw,4rem)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:clamp(1.25rem,3vw,2rem);transition:background var(--transition-slow),border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card--interactive{cursor:pointer}.card--selected{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary),.15),var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1;border:2px solid transparent;border-radius:var(--radius-lg);padding:.75rem 1.5rem;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background:var(--color-accent);color:var(--color-text-primary)}.btn-accent:hover{background:var(--color-accent-hover)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-subtle)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-lg{font-size:1rem;padding:.9375rem 2rem;border-radius:var(--radius-xl)}.btn-sm{font-size:.8125rem;padding:.5rem 1rem;border-radius:var(--radius-md)}.btn-full{width:100%}.input-group{display:flex;flex-direction:column;gap:.375rem}.input-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.input-field{background:var(--color-bg-input);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-body);font-size:.9375rem;padding:.75rem 1rem;width:100%;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.input-field::placeholder{color:var(--color-text-muted)}.input-field:focus{border-color:var(--color-border-focus);background:var(--color-bg-card);box-shadow:0 0 0 3px #4678ee1f}.input-field.error{border-color:var(--color-error)}.input-field.error:focus{box-shadow:0 0 0 3px #ef44441f}.input-hint{font-size:.8125rem;color:var(--color-text-muted)}.input-error-msg{font-size:.8125rem;color:var(--color-error);font-weight:500}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.badge-primary{background:var(--color-bg-subtle);color:var(--color-primary)}.badge-success{background:#22c55e1f;color:var(--color-success)}.badge-warning{background:#f59e0b1f;color:var(--color-warning)}.badge-error{background:#ef44441f;color:var(--color-error)}.divider{border:none;border-top:1px solid var(--color-border);margin-block:1.5rem}.divider-label{display:flex;align-items:center;gap:1rem;color:var(--color-text-muted);font-size:.8125rem}.divider-label:before,.divider-label:after{content:"";flex:1;border-top:1px solid var(--color-border)}.logo-mark{display:flex;align-items:center;gap:.625rem;text-decoration:none;color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--gradient-brand);display:grid;place-items:center;font-size:1.125rem;box-shadow:var(--shadow-sm);flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-gradient{background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:var(--color-overlay-glass, rgba(255,255,255,.7));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18)}@media (max-width: 768px){.hide-mobile{display:none!important}.portal-header .container{height:60px}}@media (min-width: 769px){.hide-desktop{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-32px)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-8px);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes checkmarkDraw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes confettiBurst{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}to{transform:translateY(-60px) rotate(360deg) scale(0);opacity:0}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cardFlip{0%{transform:perspective(600px) rotateY(0)}50%{transform:perspective(600px) rotateY(90deg)}to{transform:perspective(600px) rotateY(0)}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-fade-in-up{animation:fadeInUp .4s ease forwards}.animate-fade-in-down{animation:fadeInDown .4s ease forwards}.animate-fade-in-scale{animation:fadeInScale .35s ease forwards}.animate-slide-in-right{animation:slideInRight .4s ease forwards}.animate-slide-in-left{animation:slideInLeft .4s ease forwards}.animate-pop-in{animation:popIn .45s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s ease infinite}.animate-float{animation:floatUp 3s ease-in-out infinite}.animate-gradient{animation:gradientShift 4s ease infinite;background-size:200% 200%}.stagger-children>*{opacity:0;animation:fadeInUp .4s ease forwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.step-enter{animation:slideInRight .35s cubic-bezier(.4,0,.2,1) forwards}.step-exit{animation:slideOutLeft .3s cubic-bezier(.4,0,.2,1) forwards}.skeleton{background:linear-gradient(90deg,var(--color-border-subtle) 25%,var(--color-border) 50%,var(--color-border-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:scale(0);opacity:0;border-radius:inherit}.btn-ripple:active:after{animation:ripple .5s ease-out}.progress-fill{transition:width var(--transition-slow) cubic-bezier(.4,0,.2,1)}.checkmark-path{stroke-dasharray:100;stroke-dashoffset:100;animation:checkmarkDraw .6s .2s cubic-bezier(.4,0,.2,1) forwards}.card-glow:hover{box-shadow:var(--shadow-glow),var(--shadow-lg)}[data-brand] *{transition:background-color var(--transition-slow),border-color var(--transition-slow),color var(--transition-slow),box-shadow var(--transition-slow)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
