:root,:root[data-theme=dark]{--bg:#09090b;--bg-2:#0e0e12;--side-bg:#0b0b0f;--surface:#141418b8;--surface-2:#1e1e248c;--line:#ffffff14;--line-2:#ffffff24;--text:#f4f4f5;--text-dim:#a1a1aa;--text-mut:#71717a;--accent:#fff;--accent-ink:#0a0a0a;--danger:#ff6b6b;--ok:#4ade80;--hover:#ffffff0f;--hover-soft:#ffffff08;--active:#ffffff14;--shadow-card:0 30px 80px -20px #0009;--aurora-opacity:0.55;--aurora-blend:screen;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;--mono:"Geist Mono",ui-monospace,monospace;--radius:14px;--radius-sm:10px}:root[data-theme=light]{--bg:#f7f7f8;--bg-2:#fff;--side-bg:#fff;--surface:#ffffffd9;--surface-2:#f5f5f7d9;--line:#00000014;--line-2:#00000029;--text:#0a0a0a;--text-dim:#52525b;--text-mut:#71717a;--accent:#0a0a0a;--accent-ink:#fff;--danger:#dc2626;--ok:#16a34a;--hover:#0000000d;--hover-soft:rgba(0,0,0,.025);--active:#00000012;--shadow-card:0 30px 80px -28px #0000002e;--aurora-opacity:0.28;--aurora-blend:multiply}*{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#09090b;background:var(--bg);color:#f4f4f5;color:var(--text);font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--sans);letter-spacing:-.01em;margin:0}code{font-family:Geist Mono,ui-monospace,monospace;font-family:var(--mono)}.ui-avatar{background:linear-gradient(135deg,#ec4899,#4f46e5);border-radius:50%;color:#fff;display:inline-grid;flex-shrink:0;font-family:Geist,sans-serif;font-weight:600;letter-spacing:-.02em;object-fit:cover;place-items:center;-webkit-user-select:none;user-select:none}.ui-avatar--img{background:#0000;border:1px solid var(--line)}.ui-lightbox{animation:ui-lightbox-fade .18s ease;display:grid;inset:0;padding:40px;place-items:center;position:fixed;z-index:300}.ui-lightbox__backdrop{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 55%,#000000d9);inset:0;position:absolute}.ui-lightbox__img{animation:ui-lightbox-pop .22s cubic-bezier(.2,.65,.2,1);background:var(--bg-2);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);cursor:default;max-height:88vh;max-width:min(92vw,1200px);object-fit:contain;position:relative}.ui-lightbox__close{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--text);cursor:pointer;display:grid;height:36px;place-items:center;position:absolute;right:20px;top:20px;transition:background .15s ease,border-color .15s ease,transform .15s ease;width:36px;z-index:1}.ui-lightbox__close:hover{background:var(--hover);border-color:var(--line-2)}.ui-lightbox__close:active{transform:scale(.94)}.ui-lightbox__close svg{height:18px;width:18px}@keyframes ui-lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-lightbox-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (max-width:520px){.ui-lightbox{padding:16px}.ui-lightbox__close{right:12px;top:12px}}.shell{--side-w:260px;--side-w-mini:72px;background:var(--bg);color:var(--text);display:grid;font-family:Geist,sans-serif;grid-template-columns:var(--side-w) 1fr;isolation:isolate;min-height:100vh;position:relative;transition:grid-template-columns .25s cubic-bezier(.2,.65,.2,1)}.shell__ambient{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.shell__ambient-aurora{filter:blur(100px) saturate(140%);inset:-10%;opacity:.275;opacity:calc(var(--aurora-opacity, .55)*.5);position:absolute}.shell__ambient-blob{border-radius:50%;mix-blend-mode:screen;mix-blend-mode:var(--aurora-blend,screen);position:absolute;will-change:transform}.shell__ambient-blob--a{animation:shellDriftA 28s cubic-bezier(.65,0,.35,1) infinite;background:#4f46e5;height:560px;left:-140px;top:-180px;width:560px}.shell__ambient-blob--b{animation:shellDriftB 32s cubic-bezier(.65,0,.35,1) infinite;background:#06b6d4;height:480px;right:-180px;top:30%;width:480px}.shell__ambient-blob--c{animation:shellDriftC 36s cubic-bezier(.65,0,.35,1) infinite;background:#ec4899;bottom:-180px;height:400px;left:35%;width:400px}.shell__ambient-grid{background:linear-gradient(to right,var(--line) 1px,#0000 1px) 0 0 /56px 56px,linear-gradient(to bottom,var(--line) 1px,#0000 1px) 0 0 /56px 56px;inset:0;mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,#0000 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,#0000 75%);opacity:.4;position:absolute}@keyframes shellDriftA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(140px,90px) scale(1.12)}}@keyframes shellDriftB{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-160px,-110px) scale(1.18)}}@keyframes shellDriftC{0%,to{transform:translate(0) scale(.92)}50%{transform:translate(-90px,140px) scale(1.12)}}.shell__main,.shell__side{position:relative;z-index:1}.shell--collapsed{grid-template-columns:var(--side-w-mini) 1fr}.shell__side{backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);background:color-mix(in srgb,var(--side-bg) 72%,#0000);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:24px 16px 16px;position:sticky;top:0;transition:padding .25s ease}.shell--collapsed .shell__side{padding:24px 10px 14px}.shell__brand{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:10px;padding:0 10px 22px;position:relative}.shell__logo{background:linear-gradient(135deg,#ec4899,#4f46e5);border-radius:8px;box-shadow:0 4px 14px -4px #ec489980;flex-shrink:0;height:26px;position:relative;width:26px}.shell__logo:after{background:var(--side-bg);border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.shell__brand-name{flex:1 1;font-size:15px;font-weight:600;letter-spacing:-.02em;opacity:1;overflow:hidden;transition:opacity .18s ease;white-space:nowrap}.shell--collapsed .shell__brand-name{display:none}.shell--collapsed .shell__brand{justify-content:center;padding:0 0 22px}.shell__collapse{background:#0000;border:1px solid var(--line);border-radius:6px;color:var(--text-dim);cursor:pointer;display:grid;font-size:12px;height:24px;line-height:1;place-items:center;transition:all .15s ease;width:24px}.shell__collapse:hover{background:var(--hover);border-color:var(--line-2);color:var(--text)}.shell--collapsed .shell__collapse{display:none}.shell__nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-x:hidden;overflow-y:auto;padding-top:20px}.shell__nav-label{color:var(--text-mut);font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.12em;margin:0;overflow:hidden;padding:12px 10px 6px;text-transform:uppercase;transition:opacity .18s ease,height .18s ease,padding .18s ease;white-space:nowrap}.shell--collapsed .shell__nav-label{font-size:0;height:8px;padding:4px 0 0;visibility:hidden}.shell__link{align-items:center;border-radius:8px;color:var(--text-dim);display:flex;font-size:13.5px;gap:10px;padding:9px 10px;position:relative;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap}.shell__link:hover{background:var(--hover-soft);color:var(--text)}.shell__link:hover .shell__link-icon{color:var(--text);transform:translateX(1px)}.shell__link.active{background:var(--active);color:var(--text)}.shell__link.active:before{background:linear-gradient(180deg,#ec4899,#4f46e5);border-radius:2px;bottom:20%;box-shadow:0 0 10px -2px #4f46e599;content:"";left:2px;position:absolute;top:20%;width:2px}.shell__link-icon{color:var(--text-mut);display:grid;flex-shrink:0;height:22px;place-items:center;transition:transform .2s ease,color .15s ease;width:22px}.shell__link-icon svg{height:16px;width:16px}.shell__collapse svg,.shell__collapse-desk svg,.shell__logout svg,.shell__menu svg,.shell__theme svg{height:15px;width:15px}.shell__link.active .shell__link-icon{color:var(--text)}.shell__link-label{opacity:1;transition:opacity .18s ease}.shell--collapsed .shell__link-label{display:none}.shell--collapsed .shell__link{justify-content:center;padding:9px 0}.shell--collapsed .shell__link:after{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px -10px #00000059;color:var(--text);content:attr(title);font-size:12px;left:calc(100% + 12px);opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s ease;white-space:nowrap;z-index:20}.shell--collapsed .shell__link:hover:after{opacity:1}.shell__me{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;cursor:pointer;display:flex;gap:10px;margin-top:12px;overflow:hidden;padding:10px;transition:border-color .2s ease}.shell__me-avatar{background:#0000;border:none;border-radius:50%;cursor:zoom-in;display:grid;flex-shrink:0;padding:0;place-items:center;transition:transform .15s ease}.shell__me-avatar:hover{transform:scale(1.05)}.shell__me-avatar:active{transform:scale(.97)}.shell__me:hover{border-color:var(--line-2)}.shell--collapsed .shell__me{justify-content:center;padding:8px}.shell--collapsed .shell__logout,.shell--collapsed .shell__me-text{display:none}.shell__me-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.shell__me-name{color:var(--text);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell__me-role{color:var(--text-mut);font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.shell__logout{background:#0000;border:1px solid var(--line);border-radius:6px;color:var(--text-dim);cursor:pointer;flex-shrink:0;height:28px;transition:all .15s ease;width:28px}.shell__logout:hover{background:var(--hover);border-color:var(--line-2);color:var(--text)}.shell__main{min-width:0}.shell__top{align-items:center;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);background:color-mix(in srgb,var(--bg) 55%,#0000);border-bottom:1px solid var(--line);display:flex;gap:10px;padding:12px 20px;position:sticky;top:0;z-index:10}.shell__menu{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--text);cursor:pointer;display:none;font-size:16px;height:32px;justify-content:center;width:32px}.shell__collapse-desk{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--text-dim);cursor:pointer;display:grid;font-size:13px;height:32px;place-items:center;transition:all .15s ease;width:32px}.shell__collapse-desk:hover{background:var(--hover);border-color:var(--line-2);color:var(--text)}.shell__crumb{align-items:center;color:var(--text-mut);display:flex;font-family:Geist Mono,monospace;font-size:12px;gap:6px;min-width:0;overflow:hidden}.shell__crumb-home{background:#0000;border:1px solid var(--line);border-radius:7px;color:var(--text-dim);cursor:pointer;display:grid;flex-shrink:0;height:28px;place-items:center;transition:all .15s ease;width:28px}.shell__crumb-home:hover{background:var(--hover);border-color:var(--line-2);color:var(--text)}.shell__crumb-home svg{height:13px;width:13px}.shell__crumb-sep{color:var(--text-mut);flex-shrink:0;font-size:12px;-webkit-user-select:none;user-select:none}.shell__crumb-current,.shell__crumb-link{border-radius:6px;font-family:Geist Mono,monospace;font-size:12px;letter-spacing:.02em;max-width:220px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.shell__crumb-link{background:#0000;border:none;color:var(--text-dim);cursor:pointer;transition:background .15s ease,color .15s ease}.shell__crumb-link:hover{background:var(--hover);color:var(--text)}.shell__crumb-current{background:var(--hover-soft);color:var(--text)}.shell__top-spacer{flex:1 1}.shell__theme{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--text-dim);cursor:pointer;display:grid;height:34px;place-items:center;transition:all .18s ease;width:34px}.shell__theme:hover{background:var(--hover);border-color:var(--line-2);color:var(--text);transform:rotate(-12deg)}.shell__theme svg{display:block}.shell__content{margin:0 auto;max-width:1200px;padding:36px 40px 60px;width:100%}.shell--collapsed .shell__content{max-width:1320px}.shell__scrim{background:#00000080;display:none;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:25}@media (max-width:860px){.shell,.shell--collapsed{grid-template-columns:1fr}.shell__side{left:0;padding:24px 16px 16px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.2,.65,.2,1);width:260px;z-index:30}.shell--open .shell__side{box-shadow:0 0 40px #0006;transform:translateX(0)}.shell--open .shell__scrim{display:block;opacity:1;pointer-events:auto}.shell--collapsed .shell__brand-name,.shell--collapsed .shell__link-label,.shell--collapsed .shell__logout,.shell--collapsed .shell__me-text{display:revert;opacity:1;pointer-events:auto;visibility:visible}.shell--collapsed .shell__nav-label{font-size:10.5px;height:auto;opacity:1;padding:12px 10px 6px;visibility:visible}.shell--collapsed .shell__link{justify-content:flex-start;padding:9px 10px}.shell--collapsed .shell__brand{justify-content:flex-start;padding:0 10px 22px}.shell--collapsed .shell__link:after{display:none}.shell__menu{display:inline-grid}.shell__collapse-desk{display:none}.shell__content{padding:24px 20px 40px}.shell__top{gap:6px;padding:10px 14px}}@media (max-width:640px){.shell__crumb-link,.shell__crumb-sep{display:none}.shell__crumb>:last-child,.shell__crumb>:nth-last-child(2){display:inline-flex}.shell__crumb-current{font-size:11.5px;max-width:40vw;padding:3px 6px}}@media (max-width:420px){.shell__crumb{display:none}}.ui-toasts{bottom:20px;display:flex;flex-direction:column;gap:10px;max-width:360px;position:fixed;right:20px;z-index:200}.ui-toast{animation:ui-toast-in .3s cubic-bezier(.2,.65,.2,1);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-card);color:var(--text);cursor:pointer;font-family:Geist,sans-serif;font-size:13px;line-height:1.4;padding:12px 16px}.ui-toast--ok{border-color:color-mix(in srgb,var(--ok) 35%,#0000)}.ui-toast--ok:before{color:var(--ok);content:"✓ ";font-weight:500}.ui-toast--danger{border-color:color-mix(in srgb,var(--danger) 35%,#0000)}.ui-toast--danger:before{color:var(--danger);content:"! ";font-weight:600}@keyframes ui-toast-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}.route-progress{height:3px;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .18s ease;z-index:9999}.route-progress.is-visible{opacity:1}.route-progress.is-done{opacity:0;transition:opacity .28s ease .05s}.route-progress__bar{background:linear-gradient(90deg,#ec4899,#4f46e5 50%,#06b6d4);border-radius:0 2px 2px 0;box-shadow:0 0 10px #ec48998c,0 0 4px #4f46e580;height:100%;position:relative;transition:width .18s cubic-bezier(.2,.65,.2,1);width:0}.route-progress__peg{background:linear-gradient(90deg,#0000,#06b6d4);filter:blur(2px);height:7px;opacity:.85;position:absolute;right:0;top:-2px;transform:rotate(2deg);transform-origin:100% 50%;width:80px}@media (prefers-reduced-motion:reduce){.route-progress__bar{transition:none}}
/*# sourceMappingURL=main.abf1df09.css.map*/