.app-nav,.app-nav__desktop{display:flex;gap:1rem;flex-wrap:wrap}.app-nav__mobile-select{display:none}.app-nav a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);transition:color .15s ease-in-out;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-normal);white-space:nowrap;padding:.25rem .5rem;display:inline-block}.app-nav a:hover{color:var(--color-primary)}.app-nav a.router-link-active{color:var(--color-primary);font-weight:500}@media(max-width:900px){.app-nav{width:100%;flex:1}.app-nav__desktop{display:none}.app-nav__mobile-select{display:block;width:100%;flex:1;padding:.5rem 2rem .5rem .75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border-primary);border-radius:.5rem;cursor:pointer;line-height:1.5;transition:color .15s ease-in-out,border-color .15s ease-in-out,background-color .15s ease-in-out;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%23999' d='M5 7L1 3h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.app-nav__mobile-select:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:var(--color-bg-hover, rgba(0, 0, 0, .05))}.app-nav__mobile-select:focus{outline:none;color:var(--color-primary);border-color:var(--color-primary);background-color:var(--color-bg-hover, rgba(0, 0, 0, .05))}.app-nav__mobile-select option{background-color:var(--color-bg-secondary);color:var(--color-text-primary);padding:.5rem}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background-color:transparent;border:1px solid var(--color-border-primary);border-radius:.5rem;color:var(--color-text-secondary);cursor:pointer;position:relative;overflow:hidden;transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.theme-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--color-primary-gradient);opacity:0;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;z-index:0}.theme-toggle:hover:before{width:100%;height:100%;opacity:.1}.theme-toggle:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-secondary);color:var(--color-text-primary);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus{outline:none;box-shadow:var(--color-shadow-focus)}.theme-icon{position:relative;z-index:1;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}.theme-icon-moon{animation:moonFadeIn .4s cubic-bezier(.4,0,.2,1)}.theme-icon-sun{animation:sunFadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes moonFadeIn{0%{opacity:0;transform:rotate(-90deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes sunFadeIn{0%{opacity:0;transform:rotate(90deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}.theme-toggle:hover .theme-icon{transform:rotate(15deg) scale(1.1)}.app-header{z-index:1000;position:fixed;display:flex;justify-content:space-between;left:1rem;right:1rem;top:1rem;align-items:center;padding:.75rem 1.25rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:.75rem;box-shadow:var(--color-shadow-sm);flex-shrink:0;transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}@media(max-width:900px)or (max-height:900px){.app-header{position:fixed;top:auto;bottom:1rem;left:1rem;right:1rem;margin:0;gap:.75rem;border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);border-left:1px solid var(--color-border-primary);border-right:1px solid var(--color-border-primary);box-shadow:var(--color-shadow-sm)}}#app[data-v-422651cd]{display:flex;flex-direction:column;height:100vh;overflow:hidden;color:var(--color-text-primary);transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.theme-transitioning[data-v-422651cd]{pointer-events:none}.theme-transitioning[data-v-422651cd] *{transition-duration:.4s!important}.app-content[data-v-422651cd]{height:100vh;width:100vw;background:var(--bg-pattern);position:relative;left:0;right:0;top:calc(var(--header-height) - 1.5rem);bottom:0}@media(max-width:900px)or (max-height:900px){.app-content[data-v-422651cd]{top:auto;bottom:calc(var(--header-height) - 1.5rem)}}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;background:var(--color-bg-primary);background-image:var(--bg-pattern);color:var(--color-text-primary);font-family:var(--font-family-base);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .4s cubic-bezier(.4,0,.2,1),background-image .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}*{transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}input,textarea,select,button,svg,img,video,iframe{transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),opacity .2s ease,transform .2s ease}:root{--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--line-height-base: var(--line-height-relaxed);--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--header-height: 64px;--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-bg-hover: #f8fafc;--bg-pattern: radial-gradient(circle at 20% 50%, rgba(59, 130, 246, .03) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(139, 92, 246, .03) 0%, transparent 50%);--color-text-primary: #0f172a;--color-text-secondary: #64748b;--color-text-tertiary: #475569;--color-border-primary: #e2e8f0;--color-border-secondary: #cbd5e1;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #818cf8;--color-primary-focus: rgba(99, 102, 241, .2);--color-primary-focus-light: rgba(99, 102, 241, .1);--color-primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--color-success: #10b981;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-success-text: #065f46;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #991b1b;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--color-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--color-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--color-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--color-shadow-focus: 0 0 0 4px rgba(99, 102, 241, .1);--color-shadow-primary: 0 4px 14px 0 rgba(99, 102, 241, .25)}.dark{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-hover: #334155;--bg-pattern: radial-gradient(circle at 20% 50%, rgba(99, 102, 241, .08) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(139, 92, 246, .08) 0%, transparent 50%);--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-tertiary: #cbd5e1;--color-border-primary: #334155;--color-border-secondary: #475569;--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-light: #c7d2fe;--color-primary-focus: rgba(129, 140, 248, .2);--color-primary-focus-light: rgba(129, 140, 248, .15);--color-primary-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);--color-success: #34d399;--color-success-bg: #064e3b;--color-success-border: #065f46;--color-success-text: #6ee7b7;--color-error: #f87171;--color-error-bg: #7f1d1d;--color-error-border: #991b1b;--color-error-text: #fca5a5;--color-warning-bg: #78350f;--color-warning-border: #92400e;--color-warning-text: #fde68a;--color-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--color-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--color-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--color-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--color-shadow-focus: 0 0 0 4px rgba(129, 140, 248, .2);--color-shadow-primary: 0 4px 14px 0 rgba(99, 102, 241, .4)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);font-feature-settings:"cv02","cv03","cv04","cv11"}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0}a{font-family:var(--font-family-base);color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover)}button,input,textarea,select{font-family:var(--font-family-base)}
