@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap);.notification-container[data-v-1913f79b]{position:fixed;top:var(--space-8);left:50%;transform:translateX(-50%);z-index:var(--z-toast);pointer-events:none;padding:0 var(--space-4);width:100%;max-width:540px}.notification[data-v-1913f79b]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-lg);pointer-events:auto;width:100%}.notification-error[data-v-1913f79b]{background:var(--color-error-100);border:1px solid var(--color-error-300);box-shadow:var(--shadow-error)}.notification-icon[data-v-1913f79b]{width:20px;height:20px;color:var(--color-error-400);flex-shrink:0}.notification-text[data-v-1913f79b]{color:var(--color-error-400);font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--leading-normal);flex:1}.notification-close[data-v-1913f79b]{background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--color-error-400);opacity:.7;transition:opacity var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-close[data-v-1913f79b]:hover{opacity:1}.notification-close svg[data-v-1913f79b]{width:18px;height:18px}.slide-down-enter-from[data-v-1913f79b],.slide-down-leave-to[data-v-1913f79b]{opacity:0;transform:translateX(-50%) translateY(-100%)}:root{--color-black:#0a0a0f;--color-white:#fff;--color-primary-50:#eef2ff;--color-primary-100:#e0e7ff;--color-primary-200:#c7d2fe;--color-primary-300:#a5b4fc;--color-primary-400:#818cf8;--color-primary-500:#6366f1;--color-primary-600:#4f46e5;--color-primary-700:#4338ca;--color-primary-800:#3730a3;--color-primary-900:#312e81;--color-accent-400:#a78bfa;--color-accent-500:#8b5cf6;--color-accent-600:#7c3aed;--color-error-50:rgba(239,68,68,.1);--color-error-100:rgba(239,68,68,.15);--color-error-200:rgba(239,68,68,.2);--color-error-300:rgba(239,68,68,.3);--color-error-400:#f87171;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-success-400:#4ade80;--color-success-500:#22c55e;--color-warning-400:#fbbf24;--color-warning-500:#f59e0b;--surface-base:var(--color-black);--surface-elevated:hsla(0,0%,100%,.03);--surface-hover:hsla(0,0%,100%,.05);--surface-active:hsla(0,0%,100%,.08);--surface-input:hsla(0,0%,100%,.05);--border-subtle:hsla(0,0%,100%,.06);--border-default:hsla(0,0%,100%,.08);--border-emphasis:hsla(0,0%,100%,.1);--border-focus:var(--color-primary-500);--text-primary:var(--color-white);--text-secondary:hsla(0,0%,100%,.7);--text-tertiary:hsla(0,0%,100%,.5);--text-muted:hsla(0,0%,100%,.4);--text-placeholder:hsla(0,0%,100%,.3);--gradient-primary:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);--gradient-primary-hover:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-accent-400) 100%);--gradient-bg-glow-top:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.15),transparent);--gradient-bg-glow-right:radial-gradient(ellipse 60% 40% at 100% 100%,rgba(139,92,246,.1),transparent);--gradient-bg-glow-left:radial-gradient(ellipse 40% 30% at 0% 100%,rgba(99,102,241,.08),transparent);--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono","Fira Code","Consolas",monospace;--text-xs:clamp(0.7rem,0.65rem + 0.25vw,0.75rem);--text-sm:clamp(0.8rem,0.75rem + 0.25vw,0.875rem);--text-base:clamp(0.9rem,0.85rem + 0.25vw,1rem);--text-lg:clamp(1rem,0.9rem + 0.5vw,1.125rem);--text-xl:clamp(1.15rem,1rem + 0.75vw,1.25rem);--text-2xl:clamp(1.4rem,1.1rem + 1.5vw,1.75rem);--text-3xl:clamp(1.75rem,1.4rem + 1.75vw,2rem);--text-4xl:clamp(2rem,1.5rem + 2.5vw,2.5rem);--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 6px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.3);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.4);--shadow-primary:0 10px 40px -10px rgba(99,102,241,.5);--shadow-error:0 10px 40px -10px rgba(239,68,68,.3);--shadow-focus:0 0 0 3px rgba(99,102,241,.2);--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:400ms;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--transition-fast:var(--duration-fast) var(--ease-default);--transition-normal:var(--duration-normal) var(--ease-default);--transition-slow:var(--duration-slow) var(--ease-default);--z-below:-1;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:500;--z-modal:1000;--z-popover:2000;--z-toast:5000;--z-tooltip:10000;--blur-sm:4px;--blur-md:8px;--blur-lg:16px;--blur-xl:20px;--blur-2xl:40px;--backdrop-blur:blur(var(--blur-xl))}*,:after,:before{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}*{margin:0;padding:0}ol,ul{list-style:none}body{min-height:100vh;min-height:100dvh;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,h1,h2,h3,h4,h5,h6,input,label{line-height:var(--leading-tight)}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;color:currentColor}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}button{background:none;cursor:pointer}button,fieldset{border:none}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body,html{height:100%;height:100dvh;overflow:hidden}#app{position:fixed;inset:0;flex-direction:column;font-family:var(--font-sans);background:var(--surface-base);color:var(--text-primary)}#app,.app-main{display:flex;overflow:hidden}.app-main{flex:1;flex-direction:column;position:relative;z-index:var(--z-base)}.view-fullscreen{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-4);overflow:hidden}.view-scrollable{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.view-content{width:100%;max-width:var(--content-max-width,100%);margin:0 auto;padding:var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-size,280px),1fr))}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-min-size,280px),1fr))}.container{width:100%;margin-inline:auto;padding-inline:var(--space-4)}.container-xs{max-width:480px}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.container-2xl{max-width:1536px}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-auto{overflow-y:auto}.scroll-snap-x{scroll-snap-type:x mandatory;overflow-x:auto;scrollbar-width:none}.scroll-snap-y{scroll-snap-type:y mandatory;overflow-y:auto}.scroll-snap-start{scroll-snap-align:start}.scroll-snap-center{scroll-snap-align:center}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.absolute-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.w-max{width:-moz-max-content;width:max-content}.w-min{width:-moz-min-content;width:min-content}.w-fit{width:-moz-fit-content;width:fit-content}.h-full{height:100%}.h-screen{height:100vh;height:100dvh}.h-auto{height:auto}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh;min-height:100dvh}.max-w-full{max-width:100%}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh;max-height:100dvh}.stack-to-row{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:768px){.stack-to-row{flex-direction:row}}.row-to-stack{display:flex;flex-direction:row;gap:var(--space-4)}@media (min-width:1024px){.row-to-stack{flex-direction:column}}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.heading-1{font-size:var(--text-4xl)}.heading-1,.heading-2{font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.heading-2{font-size:var(--text-3xl)}.heading-3{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.heading-3,.heading-4{font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.heading-4{font-size:var(--text-xl)}.heading-5{font-size:var(--text-lg)}.heading-5,.heading-6{font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--text-primary)}.heading-6,.text-body{font-size:var(--text-base)}.text-body{line-height:var(--leading-normal)}.text-body,.text-body-lg{color:var(--text-secondary)}.text-body-lg{font-size:var(--text-lg);line-height:var(--leading-relaxed)}.text-body-sm{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--color-primary-400)}.text-error{color:var(--color-error-400)}.text-success{color:var(--color-success-400)}.text-warning{color:var(--color-warning-400)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.leading-none{line-height:var(--leading-none)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap{white-space:normal}.text-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-normal{word-break:normal;overflow-wrap:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);line-height:var(--leading-tight)}.caption,.hint{line-height:var(--leading-normal)}.caption,.hint,.overline{font-size:var(--text-xs);color:var(--text-muted)}.overline{font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.code{font-family:var(--font-mono);font-size:.875em;background:var(--surface-elevated);padding:.125em .375em;border-radius:var(--radius-sm);color:var(--text-secondary)}.link{color:var(--color-primary-400);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}.link:hover{color:var(--color-primary-300)}.link:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.link-subtle{color:var(--text-tertiary);text-decoration:none;transition:color var(--transition-fast)}.link-subtle:hover{color:var(--text-primary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-out)}.animate-slide-in-up{animation:slide-in-up var(--duration-slow) var(--ease-out)}.animate-slide-in-down{animation:slide-in-down var(--duration-slow) var(--ease-out)}.animate-scale-in{animation:scale-in var(--duration-normal) var(--ease-out)}.transition-none{transition:none}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color,background-color,border-color,fill,stroke var(--transition-normal)}.transition-opacity{transition:opacity var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}.transition-shadow{transition:box-shadow var(--transition-normal)}.transition-fast{transition-duration:var(--duration-fast)}.transition-slow{transition-duration:var(--duration-slow)}.hover-lift{transition:transform var(--transition-normal)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-normal)}.hover-glow:hover{box-shadow:var(--shadow-primary)}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-normal) var(--ease-default)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-down-enter-active{transition:all var(--duration-slow) var(--ease-default)}.slide-down-leave-active{transition:all var(--duration-normal) var(--ease-default)}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-100%)}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--duration-slow) var(--ease-default)}.slide-up-enter-from{opacity:0;transform:translateY(20px)}.slide-up-leave-to{opacity:0;transform:translateY(-20px)}.scale-enter-active,.scale-leave-active{transition:all var(--duration-normal) var(--ease-default)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}.list-enter-active,.list-leave-active{transition:all var(--duration-normal) var(--ease-default)}.list-enter-from,.list-leave-to{opacity:0;transform:translateX(-20px)}.list-move{transition:transform var(--duration-normal) var(--ease-default)}.spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:32px;height:32px;border-width:3px}.spinner-primary{border-color:rgba(99,102,241,.2);border-top-color:var(--color-primary-500)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-elevated) 25%,var(--surface-hover) 50%,var(--surface-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-block:.25em}.skeleton-circle{border-radius:50%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:44px}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn .btn-icon,.btn svg{width:18px;height:18px;flex-shrink:0}.btn-primary{background:var(--gradient-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface-elevated);border:1px solid var(--border-emphasis);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-emphasis)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-danger{background:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-400)}.btn-danger:hover:not(:disabled){background:var(--color-error-100);border-color:var(--color-error-300)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);min-height:36px;border-radius:var(--radius-md)}.btn-sm .btn-icon,.btn-sm svg{width:16px;height:16px}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-lg);min-height:52px;border-radius:var(--radius-xl)}.btn-lg .btn-icon,.btn-lg svg{width:20px;height:20px}.btn-block{width:100%}.btn-icon-only{padding:var(--space-3);min-width:44px;aspect-ratio:1}.btn-icon-only.btn-sm{padding:var(--space-2);min-width:36px}.btn-icon-only.btn-lg{padding:var(--space-4);min-width:52px}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s linear infinite}.btn-loading.btn-ghost:after,.btn-loading.btn-secondary:after{border-color:hsla(0,0%,100%,.1);border-top-color:var(--text-primary)}.btn-loading.btn-danger:after{border-color:hsla(0,91%,71%,.3);border-top-color:var(--color-error-400)}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.btn-group .btn:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.btn-group .btn:not(:last-child){border-right:1px solid hsla(0,0%,100%,.1)}@media (max-width:480px){.btn-stack-mobile{flex-direction:column}.btn-stack-mobile .btn{width:100%}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group-inline{flex-direction:row;align-items:center}.form-stack{display:flex;flex-direction:column;gap:var(--space-6)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);line-height:var(--leading-tight)}.form-label-required:after{content:" *";color:var(--color-error-400)}.input{display:block;width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-input);border:1px solid var(--border-emphasis);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-normal);transition:all var(--transition-normal);min-height:48px}.input::-moz-placeholder{color:var(--text-placeholder)}.input::placeholder{color:var(--text-placeholder)}.input:hover:not(:disabled):not(:focus){border-color:hsla(0,0%,100%,.15)}.input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.input:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-elevated)}.input-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);min-height:40px;border-radius:var(--radius-md)}.input-lg{padding:var(--space-4) var(--space-5);font-size:var(--text-lg);min-height:56px;border-radius:var(--radius-xl)}.input-error,.input-error:focus{border-color:var(--color-error-400)}.input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.2)}.input-success,.input-success:focus{border-color:var(--color-success-500)}.input-success:focus{box-shadow:0 0 0 3px rgba(34,197,94,.2)}.textarea{display:block;width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-input);border:1px solid var(--border-emphasis);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-normal);transition:all var(--transition-normal);resize:vertical;min-height:120px}.textarea::-moz-placeholder{color:var(--text-placeholder)}.textarea::placeholder{color:var(--text-placeholder)}.textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.textarea:disabled{opacity:.6;cursor:not-allowed}.textarea-auto{resize:none;overflow:hidden}.select{display:block;width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-10);background:var(--surface-input);border:1px solid var(--border-emphasis);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-normal);transition:all var(--transition-normal);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;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='rgba(255,255,255,0.5)' 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(--space-3) center;min-height:48px}.select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.select:disabled{opacity:.6;cursor:not-allowed}.checkbox-group,.radio-group{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.checkbox,.radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--surface-input);border:2px solid var(--border-emphasis);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.checkbox{border-radius:var(--radius-sm)}.radio{border-radius:50%}.checkbox:checked,.radio:checked{background:var(--color-primary-500);border-color:var(--color-primary-500)}.checkbox:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.checkbox:checked,.radio:checked{background-repeat:no-repeat;background-position:50%}.radio:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23fff'/%3E%3C/svg%3E")}.checkbox:focus-visible,.radio:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon-left{left:var(--space-4);pointer-events:none}.input-icon-left,.input-icon-right{position:absolute;width:20px;height:20px;color:var(--text-muted)}.input-icon-right{right:var(--space-4)}.input-wrapper .input.has-icon-left{padding-left:calc(var(--space-4) + 28px)}.input-wrapper .input.has-icon-right{padding-right:calc(var(--space-4) + 28px)}.form-hint{color:var(--text-muted)}.form-error,.form-hint{font-size:var(--text-xs);line-height:var(--leading-normal)}.form-error{color:var(--color-error-400)}.error-message{background:var(--color-error-50);border:1px solid var(--color-error-300);border-radius:var(--radius-lg);color:var(--color-error-400)}.error-message,.success-message{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal)}.success-message{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-lg);color:var(--color-success-400)}.card{background:var(--surface-elevated);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}.card-sm{padding:var(--space-4);border-radius:var(--radius-xl)}.card-md{padding:var(--space-6)}.card-lg,.card-padded{padding:var(--space-8)}@media (max-width:640px){.card-padded{padding:var(--space-5)}.card-lg{padding:var(--space-6)}}.card-header{border-bottom:1px solid var(--border-subtle)}.card-body,.card-footer,.card-header{padding:var(--space-6)}.card-footer{border-top:1px solid var(--border-subtle)}.card-header:first-child{border-top:none}.card-footer:last-child{border-bottom:none}.card-interactive{cursor:pointer;transition:all var(--transition-normal)}.card-interactive:hover{border-color:var(--border-emphasis);transform:translateY(-2px)}.card-interactive:active{transform:translateY(0)}.card-elevated{background:hsla(0,0%,100%,.05);border-color:var(--border-emphasis)}.card-subtle{background:hsla(0,0%,100%,.02);border-color:var(--border-subtle);box-shadow:none}.auth-card{width:100%;max-width:420px;padding:var(--space-8);background:var(--surface-elevated);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}@media (max-width:480px){.auth-card{padding:var(--space-6);border-radius:var(--radius-xl);max-width:100%}}.auth-header{text-align:center;margin-bottom:var(--space-10)}.auth-header h1{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.auth-header p{color:var(--text-tertiary);font-size:var(--text-base)}.auth-footer{text-align:center;margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--border-default)}.auth-footer p{color:var(--text-tertiary);font-size:var(--text-sm)}.auth-footer a{color:var(--color-primary-400);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}.auth-footer a:hover{color:var(--color-primary-300)}.account-card{width:100%;max-width:480px;padding:var(--space-8);background:var(--surface-elevated);backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}@media (max-width:480px){.account-card{padding:var(--space-6);border-radius:var(--radius-xl);max-width:100%}}.detail-list{gap:var(--space-4)}.detail-item,.detail-list{display:flex;flex-direction:column}.detail-item{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.detail-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-muted);font-weight:var(--font-medium)}.detail-value{font-size:var(--text-base);color:var(--text-primary);word-break:break-all}.detail-value.mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:var(--font-semibold);color:var(--color-white);background:var(--gradient-primary);box-shadow:var(--shadow-primary);flex-shrink:0}.avatar-xs{width:32px;height:32px;font-size:var(--text-sm)}.avatar-sm{width:40px;height:40px;font-size:var(--text-base)}.avatar-md{width:56px;height:56px;font-size:var(--text-xl)}.avatar-lg{width:80px;height:80px;font-size:var(--text-3xl)}.avatar-xl{width:120px;height:120px;font-size:var(--text-4xl)}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.panel{background:var(--surface-elevated);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:var(--space-6)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.panel-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.empty-state-icon{width:64px;height:64px;color:var(--text-muted);margin-bottom:var(--space-6);opacity:.5}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);color:var(--text-muted);max-width:300px}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-10{margin-top:var(--space-10)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-10{margin-bottom:var(--space-10)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-0{padding-inline:0}.px-2{padding-inline:var(--space-2)}.px-4{padding-inline:var(--space-4)}.px-6{padding-inline:var(--space-6)}.px-8{padding-inline:var(--space-8)}.py-0{padding-block:0}.py-2{padding-block:var(--space-2)}.py-4{padding-block:var(--space-4)}.py-6{padding-block:var(--space-6)}.py-8{padding-block:var(--space-8)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.border{border:1px solid var(--border-default)}.border-0{border:none}.border-t{border-top:1px solid var(--border-default)}.border-b{border-bottom:1px solid var(--border-default)}.border-l{border-left:1px solid var(--border-default)}.border-r{border-right:1px solid var(--border-default)}.border-subtle{border-color:var(--border-subtle)}.border-emphasis{border-color:var(--border-emphasis)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.rounded-none{border-radius:0}.bg-base{background:var(--surface-base)}.bg-elevated{background:var(--surface-elevated)}.bg-hover{background:var(--surface-hover)}.bg-transparent{background:transparent}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.contents{display:contents}@media (max-width:640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}}@media (min-width:641px){.sm-up\:hidden{display:none}.sm-up\:block{display:block}.sm-up\:flex{display:flex}}@media (max-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}}@media (min-width:769px){.md-up\:hidden{display:none}.md-up\:block{display:block}.md-up\:flex{display:flex}}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.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}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.z-below{z-index:var(--z-below)}.z-base{z-index:var(--z-base)}.z-raised{z-index:var(--z-raised)}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-modal{z-index:var(--z-modal)}.z-popover{z-index:var(--z-popover)}.z-toast{z-index:var(--z-toast)}.z-tooltip{z-index:var(--z-tooltip)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-primary{box-shadow:var(--shadow-primary)}.divider{height:1px;background:var(--border-default);border:none}.divider-subtle{background:var(--border-subtle)}.backdrop-blur{backdrop-filter:var(--backdrop-blur)}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-inset,.safe-area-right{padding-right:env(safe-area-inset-right)}.safe-area-inset{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsla(0,0%,100%,.03);border-radius:4px}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.15)}::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.2)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) hsla(0,0%,100%,.03)}.scrollbar-hidden::-webkit-scrollbar{display:none}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-thin::-webkit-scrollbar{width:4px;height:4px}.scrollbar-auto{scrollbar-width:none}.scrollbar-auto::-webkit-scrollbar{width:0;background:transparent;-webkit-transition:width .2s ease;transition:width .2s ease}.scrollbar-auto:hover::-webkit-scrollbar{width:8px}.scrollbar-auto:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1)}.bg-pattern{position:fixed;inset:0;background:var(--gradient-bg-glow-top),var(--gradient-bg-glow-right),var(--gradient-bg-glow-left);pointer-events:none;z-index:var(--z-below)}.bg-pattern:before{content:"";position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0);background-size:60px 60px}.bg-dots{background-image:radial-gradient(hsla(0,0%,100%,.05) 1px,transparent 0);background-size:24px 24px}.bg-dots,.bg-mesh{position:fixed;inset:0;pointer-events:none;z-index:var(--z-below)}.bg-mesh{background:radial-gradient(at 0 0,rgba(99,102,241,.15) 0,transparent 50%),radial-gradient(at 100% 0,rgba(139,92,246,.1) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(99,102,241,.08) 0,transparent 50%),radial-gradient(at 0 100%,rgba(139,92,246,.06) 0,transparent 50%)}.bg-noise:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:var(--z-below);opacity:.02;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E")}.blur-circle{position:absolute;border-radius:50%;filter:blur(var(--blur-2xl));pointer-events:none}.blur-circle-primary{background:rgba(99,102,241,.3)}.blur-circle-accent{background:rgba(139,92,246,.3)}