:root{--background:#0b0d14;--surface:#11131a;--surface-container:#1d1f27;--surface-container-low:#191b23;--surface-container-high:#282a31;--surface-container-highest:#33343c;--surface-dim:#11131a;--primary:#adc6ff;--primary-container:#4d8eff;--on-primary:#002e6a;--on-primary-container:#00285d;--secondary:#4cd7f6;--secondary-container:#03b5d3;--on-secondary:#003640;--tertiary:#ffb786;--on-tertiary:#502400;--slate-ghost:#f8fafc;--muted-steel:#94a3b8;--frosted-veil:#ffffff0a;--glass-stroke:#ffffff14;--on-background:#e2e2ec;--on-surface:#e2e2ec;--on-surface-variant:#c2c6d6;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px;--stack-sm:8px;--stack-md:16px;--stack-lg:24px;--gutter:32px;--page-margin-desktop:64px;--page-margin-mobile:24px;--section-gap:80px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}a{color:inherit;text-decoration:none}a:visited{color:inherit}html,body{background-color:var(--background);width:100%;min-height:100%;color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}body{flex-direction:column;display:flex;position:relative}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-stroke);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--muted-steel)}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.ambient-glow{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-glow:before{content:"";filter:blur(80px);background:radial-gradient(circle,#adc6ff0d 0%,#0000 70%);border-radius:50%;width:min(800px,100vw);height:min(800px,100vw);position:absolute;top:0;left:50%;transform:translate(-50%)}.ambient-glow:after{content:"";filter:blur(80px);background:radial-gradient(circle,#4cd5f608 0%,#0000 70%);border-radius:50%;width:min(600px,80vw);height:min(600px,80vw);position:absolute;bottom:0;right:0}.glass-card{background:var(--frosted-veil);-webkit-backdrop-filter:blur(30px);border:1px solid var(--glass-stroke);border-radius:20px;transition:background-color .2s,transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.glass-card:hover{background:#ffffff0d;border-color:#ffffff1f}.glass-card-highlight{background:var(--frosted-veil);-webkit-backdrop-filter:blur(30px);border:1px solid #adc6ff40;border-radius:20px;transition:background-color .2s,transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.glass-card-highlight:hover{background:#adc6ff0f;border-color:#adc6ff59}:focus-visible{outline:2px solid var(--secondary);outline-offset:4px}button,.btn{cursor:pointer;border:none;outline:none;font-family:inherit}.btn-primary{background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);color:#0b0d14;justify-content:center;align-items:center;gap:var(--stack-sm);border-radius:12px;font-weight:600;transition:transform .2s cubic-bezier(.16,1,.3,1),filter .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #4cd5f61f}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 20px #4cd5f63d}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--slate-ghost);justify-content:center;align-items:center;gap:var(--stack-sm);background:0 0;border-radius:12px;transition:background-color .2s,color .2s,transform .2s cubic-bezier(.16,1,.3,1);display:flex}.btn-ghost:hover{background-color:var(--frosted-veil);color:#fff}.btn-ghost:active{transform:scale(.98)}.btn-frosted{background:var(--frosted-veil);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-stroke);color:var(--slate-ghost);justify-content:center;align-items:center;gap:var(--stack-sm);border-radius:12px;transition:background-color .2s,border-color .2s,transform .2s cubic-bezier(.16,1,.3,1);display:flex}.btn-frosted:hover{background:var(--glass-stroke);border-color:#ffffff26;transform:translateY(-1px)}.btn-frosted:active{transform:translateY(0)scale(.98)}.btn-frosted:disabled{opacity:.4;cursor:not-allowed;transform:none}.glass-input-wrapper{border:1px solid var(--glass-stroke);padding:0 var(--stack-md);background:#11131a99;border-radius:12px;align-items:center;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.glass-input-wrapper:focus-within{border-color:var(--secondary);background:#11131acc;box-shadow:0 0 0 3px #4cd5f626}.glass-input-wrapper.success{border-color:#69f0ae;box-shadow:0 0 0 3px #69f0ae26}.glass-input-wrapper.error{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b26}.glass-input{width:100%;color:var(--on-surface);padding:var(--stack-md) 0;background:0 0;border:none;outline:none;font-size:16px;line-height:1.5}.glass-input::placeholder{color:var(--muted-steel)}.animate-float{animation:6s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-glow-pulse{animation:3s cubic-bezier(.4,0,.6,1) infinite glow-pulse}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 15px #4cd7f633)}50%{filter:drop-shadow(0 0 30px #4cd7f680)}}.layout-header{padding:var(--stack-md) var(--page-margin-mobile);z-index:10;justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.layout-main{z-index:10;padding:var(--stack-lg) var(--page-margin-mobile) var(--section-gap);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;width:100%;max-width:480px;margin:0 auto;display:flex;position:relative}.app-layout{flex-direction:column;min-height:100vh;display:flex}@media (min-width:768px){.app-layout{flex-direction:row}}.app-content{flex-direction:column;flex:1;min-height:100vh;padding-bottom:96px;display:flex}@media (min-width:768px){.app-content{padding-bottom:0;padding-left:260px}}.mobile-nav{z-index:50;width:100%;height:80px;padding:0 var(--gutter) env(safe-area-inset-bottom,0px);background:var(--frosted-veil);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--glass-stroke);border-radius:var(--radius-xl) var(--radius-xl) 0 0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0}.mobile-nav-item{color:var(--muted-steel);padding:var(--stack-sm);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;transition:color .2s,background-color .2s,transform .2s;display:flex}.mobile-nav-item .material-symbols-outlined{font-size:24px}.mobile-nav-item:active{transform:scale(.9)}.mobile-nav-item.active{color:var(--secondary);background-color:#4cd5f61a;border-radius:12px}.mobile-nav-label{display:none}@media (min-width:768px){.mobile-nav{display:none}}.desktop-sidebar{background:var(--frosted-veil);-webkit-backdrop-filter:blur(40px);border-right:1px solid var(--glass-stroke);z-index:40;width:260px;padding:var(--stack-lg);flex-direction:column;justify-content:space-between;display:none;position:fixed;top:0;bottom:0;left:0}@media (min-width:768px){.desktop-sidebar{display:flex}}.sidebar-brand{align-items:center;gap:var(--stack-sm);padding:var(--stack-sm) 0;border-bottom:1px solid var(--glass-stroke);margin-bottom:var(--stack-lg);display:flex}.brand-icon{color:var(--primary);font-size:28px}.brand-text{color:var(--primary);letter-spacing:-.01em;font-size:20px;font-weight:600}.sidebar-menu{gap:var(--stack-sm);flex-direction:column;flex:1;display:flex}.sidebar-menu-item{align-items:center;gap:var(--stack-md);padding:var(--stack-md);border-radius:var(--radius-md);color:var(--on-surface-variant);transition:background-color .2s,color .2s;display:flex}.sidebar-menu-item:hover{color:var(--slate-ghost);background-color:#ffffff0d}.sidebar-menu-item.active{color:var(--primary);border-right:3px solid var(--primary);border-radius:var(--radius-md) 0 0 var(--radius-md);background-color:#adc6ff1a}.sidebar-menu-label{font-size:16px;font-weight:500}.sidebar-footer{align-items:center;gap:var(--stack-md);padding-top:var(--stack-md);border-top:1px solid var(--glass-stroke);display:flex}.user-avatar-placeholder{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#11131a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--slate-ghost);font-size:14px;font-weight:500}.user-status{color:var(--muted-steel);font-size:12px}dialog::backdrop{-webkit-backdrop-filter:blur(16px);background-color:#07080cd9}dialog.glass-card{width:min(440px,90vw);color:var(--on-surface);border:1px solid #ffffff1f;outline:none;margin:0;padding:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards modal-zoom-centered;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #0009}@keyframes modal-zoom-centered{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)translateY(8px)}to{opacity:1;transform:translate(-50%,-50%)scale(1)translateY(0)}}dialog .dialog-content{align-items:center;gap:var(--stack-lg);flex-direction:column;padding:28px;display:flex}dialog .dialog-header{justify-content:space-between;align-items:center;width:100%;display:flex}dialog .dialog-close{color:var(--muted-steel);background:0 0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .2s,color .2s,transform .2s;display:flex}dialog .dialog-close:hover{background:var(--frosted-veil);color:var(--slate-ghost);transform:rotate(90deg)}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle;justify-content:center;align-items:center;width:24px;height:24px;line-height:1;display:inline-flex}.material-fill{font-variation-settings:"FILL" 1}.text-display-lg{letter-spacing:-.03em;font-size:36px;font-weight:700;line-height:1.15}@media (min-width:768px){.text-display-lg{font-size:48px}}.text-headline-lg{letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1.2}@media (min-width:768px){.text-headline-lg{font-size:32px}}.text-headline-md{letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.25}@media (min-width:768px){.text-headline-md{font-size:24px}}.text-body-lg{font-size:16px;font-weight:400;line-height:1.6}@media (min-width:768px){.text-body-lg{font-size:18px}}.text-body-md{font-size:14px;font-weight:400;line-height:1.6}@media (min-width:768px){.text-body-md{font-size:16px}}.text-label-md{letter-spacing:.01em;font-size:14px;font-weight:500;line-height:1.25}.text-label-sm{letter-spacing:.05em;font-size:12px;font-weight:600;line-height:1.25}.toast-container{bottom:calc(80px + var(--stack-md));z-index:100;gap:var(--stack-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (min-width:768px){.toast-container{bottom:var(--stack-lg);transform:translateX(-calc(50% + 130px));left:calc(260px + 50%)}}.toast{pointer-events:auto;background:var(--surface-container-highest);border:1px solid var(--glass-stroke);color:var(--on-surface);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px);align-items:center;gap:12px;padding:12px 20px;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards slide-up;display:flex;box-shadow:0 10px 30px #0006}.toast.success{border-color:var(--secondary);box-shadow:0 5px 20px #4cd7f626}.toast.error{border-color:#ff6b6b;box-shadow:0 5px 20px #ff6b6b26}.toast-closing{animation:.3s forwards slide-down}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slide-down{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(20px)scale(.95)}}.modal-prose{width:100%;color:var(--on-surface-variant);font-size:14px;line-height:1.6}.modal-prose b,.modal-prose strong{color:var(--slate-ghost);font-weight:600}.modal-prose a{color:var(--primary);text-decoration:none}.modal-prose a:hover{text-decoration:underline}.modal-prose code{color:var(--tertiary);word-break:break-all;background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:.9em}.modal-prose p{margin-bottom:1em}.modal-prose ul{margin-bottom:1em;padding-left:20px}.modal-prose li{margin-bottom:.5em}
