@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--e-ink: #12151c;--e-ink-soft: #1b2130;--e-ink-dim: #4b5262;--e-muted: #6f7787;--e-faint: #9aa1af;--e-paper: #f4f1e9;--e-paper-raised: #faf8f2;--e-white: #ffffff;--e-line: #e7e2d5;--e-line-soft: #efeade;--e-line-hair: rgba(18, 21, 28, .06);--e-accent: #3457f5;--e-accent-dim: #eaefff;--e-accent-ink: #24409e;--e-accent-ring: rgba(52, 87, 245, .16);--e-good: #16a34a;--e-good-dim: #e7f9ee;--e-good-ink: #047857;--e-warn: #b45309;--e-warn-dim: #fef3c7;--e-bad: #dc2626;--e-bad-dim: #fef2f2;--e-bad-line: #f3d0d0;--e-violet: #6d28d9;--e-violet-dim: #f1ebfe;--e-radius-sm: 6px;--e-radius-md: 10px;--e-radius-lg: 16px;--e-radius-full: 999px;--e-shadow-sm: 0 1px 2px rgba(18, 21, 28, .06);--e-shadow-md: 0 6px 20px rgba(18, 21, 28, .07);--e-shadow-lg: 0 20px 45px rgba(18, 21, 28, .14);--e-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--e-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--e-ease: cubic-bezier(.4, 0, .2, 1)}.dt .dt-eyebrow{display:block;font-family:var(--e-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--e-muted)}.dt .dt-num{font-family:var(--e-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dt .dt-grid-bg{background-color:var(--e-paper-raised);background-image:radial-gradient(rgba(18,21,28,.05) 1.5px,transparent 1.5px);background-size:20px 20px;background-position:center center}.dt .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13.5px;font-weight:600;line-height:1;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s var(--e-ease)}.dt .btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.dt .btn-primary{background:var(--e-ink);color:var(--e-white);box-shadow:var(--e-shadow-sm)}.dt .btn-primary:hover:not(:disabled){background:var(--e-ink-soft);transform:translateY(-1px);box-shadow:var(--e-shadow-md)}.dt .btn-secondary{background:var(--e-white);color:var(--e-ink);border-color:var(--e-line)}.dt .btn-secondary:hover:not(:disabled){border-color:var(--e-ink);transform:translateY(-1px)}.dt .btn-sm,.dt .btn-small{padding:6px 14px;font-size:12px}.dt .btn:focus-visible,.dt button:focus-visible,.dt a:focus-visible,.dt input:focus-visible,.dt select:focus-visible,.dt textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--e-accent-ring)}.dt .form-input{width:100%;padding:10px 13px;border:1px solid var(--e-line);border-radius:var(--e-radius-md);font-family:var(--e-sans);font-size:13.5px;color:var(--e-ink);background:var(--e-white);transition:all .15s var(--e-ease)}.dt .form-input::placeholder{color:#b3ada0}.dt .form-input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.dt .form-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--e-ink);margin-bottom:7px}.dt .form-label svg{color:var(--e-muted)}.dt .form-hint{display:block;margin-top:6px;font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted)}.dt .spinner{animation:e-spin .9s linear infinite}@keyframes e-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-enter,.row-enter{animation:e-fade-up .45s var(--e-ease) both;animation-delay:min(var(--i, 0) * 45ms,.45s)}.row-enter{animation-duration:.32s;animation-delay:min(var(--i, 0) * 22ms,.26s)}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.dt .e-reveal{animation:e-fade-up .6s var(--e-ease) both;animation-timeline:view();animation-range:entry 0% entry 60%}}}.dt kbd,kbd.search-kbd,kbd.vars-kbd{font-family:var(--e-mono);font-size:10.5px;line-height:1;padding:3px 6px;border-radius:5px;background:var(--e-paper);border:1px solid var(--e-line);color:var(--e-muted)}@media(prefers-reduced-motion:reduce){.dt,.dt *{animation-duration:.001ms!important;transition-duration:.001ms!important}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-dark: var(--e-ink);--primary-blue: var(--e-accent);--primary-light-blue: var(--e-accent-ink);--accent-blue: var(--e-accent);--bg-cream: var(--e-paper);--bg-dark: #14161d;--bg-darker: #0b0c10;--text-dark: var(--e-ink);--text-light: var(--e-muted);--text-white: #ffffff;--border-light: var(--e-line);--success: var(--e-good);--warning: var(--e-warn);--error: var(--e-bad);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--container-max: 1200px;--nav-height: 80px;--shadow-sm: var(--e-shadow-sm);--shadow-md: var(--e-shadow-md);--shadow-lg: var(--e-shadow-lg);--shadow-xl: 0 28px 60px rgba(18, 21, 28, .18);--radius-sm: var(--e-radius-sm);--radius-md: var(--e-radius-md);--radius-lg: var(--e-radius-lg);--radius-xl: 24px;--radius-full: var(--e-radius-full);--transition: all .2s ease;--m-paper: var(--e-paper);--m-paper-raised: var(--e-white);--m-ink: var(--e-ink);--m-ink-dim: var(--e-ink-dim);--m-ink-faint: var(--e-faint);--m-line: var(--e-line);--m-line-strong: #d9d3c4;--m-accent: var(--e-accent);--m-accent-ink: var(--e-accent-ink);--m-accent-soft: var(--e-accent-dim);--m-green: var(--e-good);--m-red: var(--e-bad);--m-amber: var(--e-warn);--m-dark-bg: #0b0c10;--m-dark-surface: #14161d;--m-dark-surface-2: #1b1e27;--m-dark-line: #262a35;--m-dark-ink: #e7e9ee;--m-dark-ink-dim: #9096a6;--m-syn-kw: #ff7ab8;--m-syn-fn: #7ab7ff;--m-syn-str: #8fd97a;--m-syn-num: #ffb85c;--m-syn-key: #c9a8ff;--m-font-serif: "Instrument Serif", Georgia, serif;--m-font-mono: var(--e-mono);--m-ease: cubic-bezier(.16, 1, .3, 1)}@keyframes m-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes m-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes m-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--text-dark);background-color:var(--bg-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit;transition:var(--transition)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:var(--transition)}input,textarea,select{font-family:inherit;outline:none;border:1px solid var(--border-light);transition:var(--transition)}input:focus,textarea:focus,select:focus{border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}ul,ol{list-style:none}img{max-width:100%;height:auto}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;border-radius:var(--radius-full);transition:var(--transition)}.btn-primary{background-color:var(--primary-dark);color:var(--text-white)}.btn-primary:hover{background-color:var(--e-ink-soft);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--e-white);color:var(--text-dark);border:1px solid var(--border-light)}.btn-secondary:hover{background-color:var(--e-white);border-color:var(--e-ink);color:var(--text-dark);transform:translateY(-1px)}.btn-accent{background-color:var(--accent-blue);color:var(--text-white)}.btn-accent:hover{background-color:var(--e-accent-ink);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--primary-dark);border:2px solid var(--primary-dark)}.btn-outline:hover{background-color:var(--primary-dark);color:var(--text-white)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-dark)}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}.text-gradient{background:linear-gradient(135deg,var(--primary-blue),var(--primary-light-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.text-center{text-align:center}.text-sm{font-size:14px}.text-light{color:var(--text-light)}.card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;font-size:15px;border-radius:var(--radius-md);background:#fff}.form-input::placeholder{color:var(--text-light)}.divider{display:flex;align-items:center;gap:16px;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.divider span{color:var(--text-light);font-size:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-float{animation:float 3s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-cream)}::-webkit-scrollbar-thumb{background:#cfc8b8;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--e-muted)}button{background-color:transparent}.project-detail{min-height:100vh;font-family:var(--e-sans);color:var(--e-ink);background:var(--e-paper);animation:e-fade-up .5s var(--e-ease) both;margin:-32px -40px -120px;padding:24px 24px 120px}.slug-rename-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;margin:-24px -24px 0;background:var(--e-warn-dim);border-bottom:1px solid rgba(180,83,9,.25);color:var(--e-warn);font-size:13px;line-height:1.5}.slug-rename-banner svg{flex-shrink:0;margin-top:1px}.slug-rename-banner span{flex:1;color:var(--e-ink-dim)}.slug-rename-banner code{font-family:var(--e-mono);font-size:12px;font-weight:700;color:var(--e-warn);background:#b453091a;padding:1px 6px;border-radius:var(--e-radius-sm)}.slug-rename-banner button{flex-shrink:0;display:flex;background:transparent;border:none;color:var(--e-warn);cursor:pointer;padding:2px;opacity:.7;transition:opacity .15s var(--e-ease)}.slug-rename-banner button:hover{opacity:1}.slug-rename-banner+.project-header{margin-top:0}.project-header{position:relative;overflow:hidden;background-color:var(--e-paper-raised);background-image:radial-gradient(rgba(18,21,28,.05) 1.5px,transparent 1.5px);background-size:20px 20px;background-position:center center;border-bottom:1px solid var(--e-line);padding:32px 32px 0;margin:-24px -24px 28px}.project-header:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,var(--e-paper-raised) 100%);pointer-events:none}.project-header>*{position:relative;z-index:1}.project-detail .back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--e-muted);margin-bottom:20px;transition:color .15s var(--e-ease),transform .15s var(--e-ease)}.project-detail .back-link:hover{color:var(--e-ink);transform:translate(-2px)}.project-title-section{margin-bottom:20px}.project-detail .project-title-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.title-and-badges{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.project-header h1{display:flex;align-items:center;gap:12px;font-family:var(--e-sans);font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--e-ink);margin:0}.project-header h1 svg{color:var(--e-accent);flex-shrink:0}.project-actions{display:flex;align-items:center;gap:12px}.meta-text.members-count{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(18,21,28,.1);border-radius:var(--e-radius-full);font-size:13px;font-weight:600;color:var(--e-ink);box-shadow:0 1px 3px #12151c08}.meta-text.members-count svg{color:var(--e-accent)}.project-detail .star-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--e-white);border:1px solid rgba(18,21,28,.15);border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13px;font-weight:700;color:var(--e-ink);cursor:pointer;box-shadow:0 2px 4px #12151c0a;transition:all .2s var(--e-ease)}.project-detail .star-btn:hover{border-color:var(--e-ink);background:var(--e-ink);color:var(--e-white);transform:translateY(-2px);box-shadow:0 4px 12px #12151c26}.project-detail .star-btn:hover svg{stroke:var(--e-white)}.project-detail .star-btn.starred{background:#fffae6;border-color:#f59e0b;color:#d97706;box-shadow:0 2px 8px #f59e0b40}.project-detail .star-btn.starred svg{fill:#f59e0b;stroke:#f59e0b}.project-detail .star-btn.starred:hover{background:#fff3c4;border-color:#ea580c;color:#c2410c;box-shadow:0 4px 12px #f59e0b59}.project-detail .star-btn.starred:hover svg{fill:#ea580c;stroke:#ea580c}.project-detail .project-desc{display:block;color:var(--e-muted);font-size:15px;margin-bottom:24px;max-width:640px;line-height:1.5;overflow:visible}.project-detail .project-desc.is-empty{font-style:italic;color:var(--e-faint)}.project-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 10px;border-radius:var(--e-radius-full);font-size:12px;font-weight:700;letter-spacing:.01em;text-transform:capitalize}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.private{background:#f1efe8;color:#52586b}.badge.public{background:var(--e-accent-dim);color:var(--e-accent-ink)}.badge.role-owner{background:var(--e-warn-dim);color:var(--e-warn)}.badge.role-admin{background:var(--e-violet-dim);color:var(--e-violet)}.badge.role-member{background:var(--e-good-dim);color:#047857}.badge.role-viewer{background:#f1efe8;color:var(--e-muted)}.meta-text{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--e-muted)}.members-count{padding:8px 12px;background:#12151c08;border-radius:var(--e-radius-full);border:1px solid var(--e-line)}.project-tabs{display:flex;gap:4px}.tab{position:relative;display:flex;align-items:center;gap:8px;padding:13px 18px;font-size:14px;font-weight:600;color:var(--e-muted);border-bottom:2px solid transparent;transition:color .15s var(--e-ease)}.tab svg{transition:transform .15s var(--e-ease)}.tab:hover{color:var(--e-ink)}.tab:hover svg{transform:translateY(-1px)}.tab.active{color:var(--e-accent)}.tab.active:after{content:"";position:absolute;left:18px;right:18px;bottom:-2px;height:2px;background:var(--e-accent);border-radius:2px}.project-content{padding:0 4px}.project-detail .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13.5px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .15s var(--e-ease);white-space:nowrap}.project-detail .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.project-detail .btn-primary{background:var(--e-ink);color:var(--e-white);box-shadow:var(--e-shadow-sm)}.project-detail .btn-primary:hover:not(:disabled){background:var(--e-ink-soft);transform:translateY(-1px);box-shadow:var(--e-shadow-md)}.project-detail .btn-secondary{background:var(--e-white);color:var(--e-ink);border-color:var(--e-line)}.project-detail .btn-secondary:hover:not(:disabled){border-color:var(--e-ink);transform:translateY(-1px)}.project-detail .btn-danger{background:var(--e-bad);color:var(--e-white)}.project-detail .btn-danger:hover:not(:disabled){background:#b91c1c}.project-detail .btn-small{padding:6px 14px;font-size:12px}.project-detail .btn:focus-visible,.project-detail button:focus-visible,.project-detail input:focus-visible,.project-detail select:focus-visible{outline:none;box-shadow:0 0 0 3px var(--e-accent-ring)}.env-tab{background:var(--e-white);border-radius:var(--e-radius-lg);border:1px solid var(--e-line);box-shadow:var(--e-shadow-sm);overflow:hidden}.clone-box{background:var(--e-paper);border-bottom:1px solid var(--e-line);padding:16px 20px}.clone-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--e-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em}.clone-command{display:flex;align-items:center;gap:14px;background:var(--e-ink);background-image:linear-gradient(180deg,var(--e-ink-soft),var(--e-ink));border-radius:var(--e-radius-md);padding:13px 16px;box-shadow:var(--e-shadow-md)}.terminal-dots{display:flex;gap:6px;flex-shrink:0}.terminal-dots span{width:9px;height:9px;border-radius:50%;display:block}.terminal-dots span:nth-child(1){background:#ff5f57}.terminal-dots span:nth-child(2){background:#febc2e}.terminal-dots span:nth-child(3){background:#28c840}.clone-command code{flex:1;font-family:var(--e-mono);font-size:13.5px;color:#6ee7a7;-webkit-user-select:all;user-select:all;white-space:nowrap;overflow-x:auto}.clone-command .copy-btn{background:#ffffff14;border:none;color:#9ca3af;padding:6px;border-radius:var(--e-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s var(--e-ease);flex-shrink:0}.clone-command .copy-btn:hover{color:#fff;background:#ffffff29}.clone-command .text-green{color:#6ee7a7!important}.env-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--e-line)}.env-selector{display:flex;gap:6px;padding:4px;background:var(--e-paper);border-radius:var(--e-radius-full);border:1px solid var(--e-line-soft)}.env-btn{display:flex;align-items:center;gap:8px;padding:7px 14px;background:transparent;border:none;border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13px;font-weight:600;color:var(--e-ink-dim);cursor:pointer;transition:all .15s var(--e-ease);text-transform:capitalize}.env-btn:hover{color:var(--e-ink)}.env-btn.active{background:var(--e-ink);color:#fff;box-shadow:var(--e-shadow-sm)}.env-count{padding:1px 7px;background:#12151c12;border-radius:var(--e-radius-full);font-size:11px;font-weight:700;font-family:var(--e-mono)}.env-btn.active .env-count{background:#ffffff38}.env-actions{display:flex;gap:8px}.env-tab .loading-state{min-height:0;padding:28px 20px;gap:10px}.env-tab .loading-state p{font-size:13px;color:var(--e-muted)}.vars-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--e-line);background:var(--e-paper-raised);flex-wrap:wrap}.vars-search{position:relative;flex:1;min-width:200px;max-width:320px;display:flex;align-items:center}.vars-search-icon{position:absolute;left:11px;color:var(--e-muted);pointer-events:none}.vars-search input{width:100%;padding:7px 34px 7px 33px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);background:var(--e-white);font-family:var(--e-sans);font-size:13px;color:var(--e-ink);transition:border-color .15s var(--e-ease),box-shadow .15s var(--e-ease)}.vars-search input::placeholder{color:#b3ada0}.vars-search input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.vars-kbd,.vars-search-clear{position:absolute;right:9px}.vars-kbd{pointer-events:none;opacity:.75}.vars-search:focus-within .vars-kbd{opacity:0}.vars-search-clear{display:flex;align-items:center;justify-content:center;width:19px;height:19px;padding:0;border:none;border-radius:50%;background:var(--e-line-soft);color:var(--e-ink-dim);cursor:pointer;transition:background .15s var(--e-ease),color .15s var(--e-ease)}.vars-search-clear:hover{background:var(--e-ink);color:var(--e-white)}.vars-count{font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted);white-space:nowrap}.vars-bulk{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.vars-bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);background:var(--e-white);font-family:var(--e-sans);font-size:12px;font-weight:600;color:var(--e-ink-dim);cursor:pointer;white-space:nowrap;transition:all .15s var(--e-ease)}.vars-bulk-btn:hover{border-color:var(--e-ink);color:var(--e-ink);background:var(--e-paper)}.variables-list{padding:10px}.empty-vars{display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 20px;margin:8px;color:var(--e-muted);text-align:center;border:1.5px dashed var(--e-line);border-radius:var(--e-radius-md)}.empty-vars svg{color:#c9c3b3}.empty-vars p{font-size:14px;font-weight:500}.variable-row{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:16px;padding:13px 16px;border-radius:var(--e-radius-md);transition:background .12s var(--e-ease);animation:e-fade-up .35s var(--e-ease) both}.variable-row:hover{background:var(--e-paper)}.var-key{display:flex;align-items:center;gap:8px;min-width:0}.key-name{font-family:var(--e-mono);font-size:13px;font-weight:700;color:var(--e-ink);overflow:hidden;text-overflow:ellipsis}.secret-badge{display:inline-flex;align-items:center;padding:2px 7px;background:var(--e-warn-dim);color:var(--e-warn);border-radius:var(--e-radius-sm);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.var-value code{display:inline-block;font-family:var(--e-mono);font-size:12.5px;color:var(--e-ink-dim);background:var(--e-paper);border:1px solid var(--e-line-soft);padding:4px 10px;border-radius:var(--e-radius-sm);word-break:break-all;max-width:100%}.var-actions{display:flex;gap:2px}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--e-radius-sm);color:var(--e-muted);cursor:pointer;transition:all .15s var(--e-ease)}.icon-btn:hover{background:var(--e-accent-dim);color:var(--e-accent-ink)}.icon-btn.danger:hover{background:var(--e-bad-dim);color:var(--e-bad)}.text-green{color:var(--e-good)}.modal-overlay{position:fixed;inset:0;background:#12151c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;overflow-y:auto;animation:e-overlay-in .15s var(--e-ease) both}@keyframes e-overlay-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--e-white);border-radius:var(--e-radius-lg);box-shadow:var(--e-shadow-lg);border:1px solid var(--e-line);animation:e-modal-in .2s var(--e-ease) both}@keyframes e-modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--e-line)}.modal-header h3{font-size:17px;font-weight:700;color:var(--e-ink)}.close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:none;border-radius:var(--e-radius-sm);cursor:pointer;color:var(--e-muted);transition:all .15s var(--e-ease)}.close-btn:hover{background:var(--e-paper);color:var(--e-ink)}.modal form{padding:24px}.modal-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--e-bad-dim);border:1px solid #fecaca;border-radius:var(--e-radius-md);color:var(--e-bad);font-size:13.5px;margin-bottom:20px}.form-group{margin-bottom:18px}.form-label{display:block;font-size:12.5px;font-weight:700;color:var(--e-ink);margin-bottom:7px}.form-input{width:100%;padding:10px 13px;border:1px solid var(--e-line);border-radius:var(--e-radius-md);font-family:var(--e-sans);font-size:13.5px;color:var(--e-ink);background:var(--e-white);transition:all .15s var(--e-ease)}.form-input::placeholder{color:#b3ada0}.form-input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.form-hint{display:block;margin-top:6px;font-size:11.5px;font-family:var(--e-mono);color:var(--e-muted)}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input{width:17px;height:17px;cursor:pointer;accent-color:var(--e-accent)}.checkbox-label span{font-size:13.5px;color:var(--e-ink)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.team-tab{max-width:820px}.team-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.team-header h2{font-size:19px;font-weight:700;color:var(--e-ink)}.add-member-section{position:relative;width:300px;flex-shrink:0}.add-member-section .search-wrapper{position:relative}.add-member-section .search-input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13.5px;background:var(--e-white);transition:all .15s var(--e-ease)}.add-member-section .search-input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.add-member-section .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--e-muted)}.add-member-section .spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--e-accent)}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md);box-shadow:var(--e-shadow-lg);z-index:100;max-height:260px;overflow-y:auto;animation:e-fade-up .15s var(--e-ease) both}.search-result{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--e-line-soft);transition:background .12s var(--e-ease)}.search-result:hover{background:var(--e-paper)}.search-result:last-child{border-bottom:none}.search-result .user-info{display:flex;flex-direction:column;min-width:0}.search-result .user-name{font-weight:600;font-size:13.5px;color:var(--e-ink)}.search-result .user-email{font-size:12px;color:var(--e-muted)}.members-list{background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-lg);overflow:hidden;margin-bottom:24px;box-shadow:var(--e-shadow-sm)}.member-row{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--e-line-soft);transition:background .12s var(--e-ease)}.member-row:hover{background:var(--e-paper)}.member-row:last-child{border-bottom:none}.member-avatar{width:38px;height:38px;background:linear-gradient(135deg,var(--e-accent),var(--e-accent-ink));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{display:block;font-weight:600;font-size:14px;color:var(--e-ink)}.member-email{font-size:12.5px;color:var(--e-muted)}.role-select{padding:6px 12px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:12.5px;font-weight:600;color:var(--e-ink);background:var(--e-white);cursor:pointer}.role-select:focus{outline:none;border-color:var(--e-accent)}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--e-radius-full);font-size:12px;font-weight:700;text-transform:capitalize}.role-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.role-badge.owner{background:var(--e-warn-dim);color:var(--e-warn)}.role-badge.admin{background:var(--e-violet-dim);color:var(--e-violet)}.role-badge.member{background:var(--e-good-dim);color:#047857}.role-badge.viewer{background:#f1efe8;color:var(--e-muted)}.roles-info{padding:20px 22px;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-lg)}.roles-info.card:hover{transform:none;box-shadow:none}.roles-info h4{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--e-ink);margin-bottom:12px}.roles-info h4 svg{color:var(--e-accent)}.roles-info ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.roles-info li{font-size:13px;color:var(--e-muted);padding:2px 0}.roles-info strong{color:var(--e-ink);font-weight:700}.activity-tab{padding:0}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.activity-header h2{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:700;color:var(--e-ink)}.activity-header h2 svg{color:var(--e-accent)}.activity-filters select{min-width:170px;padding:8px 14px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13px;font-weight:600;background:var(--e-white);color:var(--e-ink);cursor:pointer}.activity-filters select:focus{outline:none;border-color:var(--e-accent)}.activity-list{position:relative;display:flex;flex-direction:column;gap:0;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-lg);box-shadow:var(--e-shadow-sm);overflow:hidden}.activity-list:before{content:"";position:absolute;top:36px;bottom:36px;left:38px;width:2px;background:var(--e-line);z-index:0}.activity-item{position:relative;z-index:1;display:flex;gap:16px;padding:20px;background:transparent;border-bottom:none;transition:background .15s var(--e-ease);animation:e-fade-up .3s var(--e-ease) both}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#12151c05}.activity-item.action-created .activity-icon{color:var(--e-good);background:var(--e-good-dim)}.activity-item.action-updated .activity-icon{color:var(--e-accent-ink);background:var(--e-accent-dim)}.activity-item.action-deleted .activity-icon{color:var(--e-bad);background:var(--e-bad-dim)}.activity-item.action-pushed .activity-icon{color:var(--e-violet);background:var(--e-violet-dim)}.activity-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--e-paper);border:2px solid var(--e-white);box-shadow:0 0 0 1px var(--e-line);border-radius:50%;color:var(--e-muted);flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.activity-user{display:flex;align-items:center;gap:8px}.project-detail .user-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-user .user-name{font-weight:700;color:var(--e-ink)!important;font-size:13.5px}.activity-message{color:var(--e-ink-dim);font-size:13.5px}.activity-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.commit-hash{font-family:var(--e-mono);font-size:11px;font-weight:600;color:var(--e-muted);transition:color .15s var(--e-ease)}.commit-hash:hover{color:var(--e-accent)}.env-badge{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:var(--e-radius-full);text-transform:capitalize}.env-badge.env-development{background:var(--e-accent-dim);color:var(--e-accent-ink)}.env-badge.env-staging{background:var(--e-warn-dim);color:var(--e-warn)}.env-badge.env-production{background:var(--e-bad-dim);color:#b91c1c}.activity-source{font-size:11px;font-weight:700;color:var(--e-muted);text-transform:uppercase;letter-spacing:.04em;background:#12151c0a;padding:2px 8px;border-radius:var(--e-radius-full)}.activity-time{font-size:12px;color:var(--e-muted);margin-left:auto}.activity-variables{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.variable-change{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--e-radius-sm);font-size:12.5px;font-family:var(--e-mono);font-weight:600}.variable-change.created{background:var(--e-good-dim);color:#166534}.variable-change.updated{background:var(--e-accent-dim);color:var(--e-accent-ink)}.variable-change.deleted{background:var(--e-bad-dim);color:#991b1b}.var-action{font-weight:800}.variable-change .var-key{background:transparent;padding:0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.page-info{font-size:13px;font-weight:500;color:var(--e-muted);font-family:var(--e-mono)}.activity-tab .empty-state{text-align:center;padding:64px 20px;background:var(--e-white);border:1.5px dashed var(--e-line);border-radius:var(--e-radius-lg)}.activity-tab .empty-state svg{color:#c9c3b3;margin-bottom:14px}.activity-tab .empty-state h3{font-size:16px;font-weight:700;color:var(--e-ink);margin-bottom:6px}.activity-tab .empty-state p{color:var(--e-muted);font-size:13.5px}.project-detail .settings-tab{display:block;max-width:920px;padding:0;background:none;border-radius:0;cursor:default;color:inherit;font-size:inherit;font-weight:inherit}.settings-grid{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}.settings-main{display:flex;flex-direction:column;gap:24px}.settings-card{background:var(--e-white);border-radius:var(--e-radius-lg);border:1px solid var(--e-line);box-shadow:var(--e-shadow-sm);overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid var(--e-line);background:var(--e-paper)}.settings-card-header svg{color:var(--e-accent)}.settings-card-header h3{font-size:15px;font-weight:700;color:var(--e-ink);margin:0}.settings-card-body{padding:24px}.settings-card-body .form-group{margin-bottom:20px}.settings-card-body .form-group:last-child{margin-bottom:0}.settings-card-body textarea.form-input{resize:vertical;min-height:100px}.visibility-options{display:flex;flex-direction:column;gap:10px}.visibility-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--e-line);border-radius:var(--e-radius-md);cursor:pointer;transition:all .15s var(--e-ease);background:var(--e-white)}.visibility-option input{display:none}.visibility-option svg{color:var(--e-muted);margin-top:2px;flex-shrink:0}.visibility-option.active{border-color:var(--e-accent);background:var(--e-accent-dim)}.visibility-option.active svg{color:var(--e-accent)}.visibility-option:hover:not(.active){border-color:var(--e-ink-dim)}.visibility-option div{display:flex;flex-direction:column;gap:2px}.visibility-title{font-size:14px;font-weight:700;color:var(--e-ink)}.visibility-desc{font-size:12px;color:var(--e-muted)}.settings-card-footer{padding:16px 24px;border-top:1px solid var(--e-line);background:var(--e-paper)}.project-detail .settings-sidebar{position:sticky;top:24px}.danger-card{background:var(--e-white);border-radius:var(--e-radius-lg);border:1px solid #f3d0d0;padding:20px}.danger-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.danger-card-header svg{color:var(--e-bad)}.danger-card-header h4{font-size:14px;font-weight:700;color:var(--e-bad);margin:0}.danger-card p{font-size:13px;color:var(--e-muted);line-height:1.55;margin-bottom:16px}.btn-danger-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--e-white);color:var(--e-bad);border:1px solid #f3d0d0;border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s var(--e-ease)}.btn-danger-outline:hover:not(:disabled){background:var(--e-bad);border-color:var(--e-bad);color:#fff}.btn-danger-outline:disabled{opacity:.6;cursor:not-allowed}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:400px;color:var(--e-muted);text-align:center}.loading-state svg{color:var(--e-accent)}.loading-state p{font-size:16px;font-weight:600;color:var(--e-ink)}.error-state svg{color:var(--e-bad)}.error-state h2{font-size:19px;font-weight:700;color:var(--e-ink)}.spinner{animation:e-spin .9s linear infinite}@keyframes e-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.project-header{padding:20px 20px 0;margin:-16px -16px 20px}.project-detail .project-title-row{flex-direction:column;align-items:flex-start}.project-actions{width:100%}.project-header h1{font-size:24px}.project-tabs{overflow-x:auto}.env-toolbar{flex-direction:column;gap:14px;align-items:stretch}.env-selector{overflow-x:auto}.variable-row{grid-template-columns:1fr;gap:8px}.team-header{flex-direction:column;gap:16px;align-items:stretch}.add-member-section{width:100%}.clone-command{flex-wrap:wrap}.clone-command code{font-size:12px;white-space:normal;word-break:break-all}.settings-grid{grid-template-columns:1fr}.project-detail .settings-sidebar{position:static}.activity-list:before{left:34px}}.contribution-graph-container{background:var(--bg-white, #ffffff);border:1px solid var(--border-light, #e5e7eb);border-radius:12px;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.graph-header{display:flex;justify-content:space-between;align-items:center}.graph-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-dark, #1a1a2e)}.graph-meta{font-size:12px;color:var(--text-light, #6b7280)}.graph-loading{font-size:12px;color:var(--text-light, #6b7280);text-align:center;padding:1rem 0}.graph-body{display:flex;justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.graph-grid{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:6px}.graph-square{width:15px;height:15px;border-radius:3px;background-color:#ebedf0;transition:all .2s ease}.graph-square:hover{transform:scale(1.2);cursor:crosshair}.graph-square.level-0{background-color:#ebedf0}.graph-square.level-1{background-color:#dbeafe}.graph-square.level-2{background-color:#93c5fd}.graph-square.level-3{background-color:#3b82f6}.graph-square.level-4{background-color:#1d4ed8;box-shadow:0 0 8px #1d4ed866}.graph-footer{display:flex;justify-content:flex-end;align-items:center}.legend{display:flex;align-items:center;gap:4px}.legend-text{font-size:11px;color:var(--text-light, #6b7280);margin:0 4px}.graph-grid-container{display:flex;flex-direction:column;gap:8px}.graph-months{display:flex;justify-content:space-between;font-size:11px;color:var(--text-light, #6b7280);padding:0 2px}.graph-tooltip{background:var(--bg-darker, #0f0f23);color:var(--text-white, #ffffff);padding:8px 12px;border-radius:6px;font-size:12px;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-lg);z-index:1000}.vault-unlock-wrap{display:flex;justify-content:center;align-items:flex-start;padding:40px 24px}.vault-unlock-card{background:#fff;border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-lg, 16px);padding:40px;max-width:440px;width:100%;box-shadow:0 4px 24px #1a1a2e12}.vault-unlock-icon{width:56px;height:56px;background:linear-gradient(135deg,#4169e1,#6b8dd6);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:24px}.vault-unlock-header{margin-bottom:24px}.vault-unlock-header h2{font-size:22px;font-weight:700;color:var(--text-dark, #1a1a2e);margin-bottom:8px;letter-spacing:-.01em}.vault-unlock-header p{font-size:14px;color:var(--text-light, #6b7280);line-height:1.6;margin:0}.vault-unlock-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;margin-bottom:20px}.vault-unlock-form{display:flex;flex-direction:column;gap:14px}.vault-input-wrapper{position:relative;display:flex;align-items:center}.vault-input-icon{position:absolute;left:14px;color:var(--text-light, #9ca3af);pointer-events:none;flex-shrink:0}.vault-input{width:100%;padding:12px 44px 12px 42px;font-size:14px;font-family:inherit;border:1.5px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, 10px);background:#fafafa;color:var(--text-dark, #1a1a2e);transition:border-color .15s ease,box-shadow .15s ease}.vault-input::placeholder{color:#9ca3af}.vault-input:focus{border-color:var(--primary-blue, #4169e1);background:#fff;box-shadow:0 0 0 3px #4169e11a;outline:none}.vault-toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-light, #9ca3af);display:flex;align-items:center;padding:4px;border-radius:4px;transition:color .15s ease}.vault-toggle-password:hover{color:var(--text-dark, #1a1a2e)}.vault-unlock-btn{width:100%;padding:13px;border-radius:var(--radius-md, 10px);border:none;background:linear-gradient(135deg,#4169e1,#6b8dd6);color:#fff;font-size:15px;font-weight:600;font-family:inherit;letter-spacing:.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s ease,transform .1s ease,box-shadow .15s ease;box-shadow:0 2px 8px #4169e140}.vault-unlock-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 14px #4169e159}.vault-unlock-btn:active:not(:disabled){transform:translateY(0)}.vault-unlock-btn:disabled{opacity:.55;cursor:not-allowed}.vault-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:vault-spin .65s linear infinite;display:inline-block}@keyframes vault-spin{to{transform:rotate(360deg)}}.vault-unlock-note{margin-top:18px;font-size:12px;color:var(--text-light, #9ca3af);line-height:1.6;text-align:center}.vault-unlock-note strong{color:var(--text-dark, #1a1a2e)}.cd-overlay{position:fixed;inset:0;z-index:2100;background:#12151c80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:cd-fade .15s ease both}.cd-panel{position:relative;width:100%;max-width:440px;padding:26px 26px 22px;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-lg);box-shadow:var(--e-shadow-lg);animation:cd-rise .2s var(--e-ease) both}@keyframes cd-fade{0%{opacity:0}to{opacity:1}}@keyframes cd-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cd-close{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--e-radius-sm);background:transparent;color:var(--e-muted);cursor:pointer;transition:background .15s var(--e-ease),color .15s var(--e-ease)}.cd-close:hover:not(:disabled){background:var(--e-paper);color:var(--e-ink)}.cd-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--e-radius-md);background:var(--e-warn-dim);color:var(--e-warn);margin-bottom:14px}.cd-panel.danger .cd-icon{background:var(--e-bad-dim);color:var(--e-bad)}.cd-title{font-size:17px;font-weight:700;letter-spacing:-.015em;color:var(--e-ink);margin-bottom:7px}.cd-message{font-size:13.5px;line-height:1.6;color:var(--e-ink-dim)}.cd-detail{margin-top:10px;padding:10px 12px;font-family:var(--e-mono);font-size:12px;line-height:1.55;color:var(--e-muted);background:var(--e-paper);border:1px solid var(--e-line);border-radius:var(--e-radius-sm)}.cd-require{display:block;margin-top:18px}.cd-require>span{display:block;font-size:12.5px;color:var(--e-ink-dim);margin-bottom:7px}.cd-require code{font-family:var(--e-mono);font-size:12px;font-weight:700;color:var(--e-bad);background:var(--e-bad-dim);padding:1px 6px;border-radius:var(--e-radius-sm)}.cd-require input{width:100%;padding:9px 12px;font-family:var(--e-mono);font-size:13px;color:var(--e-ink);background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md);transition:border-color .15s var(--e-ease),box-shadow .15s var(--e-ease)}.cd-require input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.cd-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.cd-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 17px;border-radius:var(--e-radius-full);border:1px solid transparent;font-family:var(--e-sans);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s var(--e-ease)}.cd-btn:disabled{opacity:.5;cursor:not-allowed}.cd-btn-ghost{background:var(--e-white);border-color:var(--e-line);color:var(--e-ink)}.cd-btn-ghost:hover:not(:disabled){border-color:var(--e-ink)}.cd-btn-primary{background:var(--e-ink);color:var(--e-white)}.cd-btn-primary:hover:not(:disabled){background:var(--e-ink-soft)}.cd-btn-danger{background:var(--e-bad);color:var(--e-white)}.cd-btn-danger:hover:not(:disabled){background:#b91c1c}.cd-spin{animation:e-spin .9s linear infinite}@media(max-width:480px){.cd-actions{flex-direction:column-reverse}.cd-btn{width:100%;justify-content:center}}.sk{display:block;background:linear-gradient(90deg,var(--e-line-soft) 25%,var(--e-paper-raised) 37%,var(--e-line-soft) 63%);background-size:400% 100%;animation:sk-shimmer 1.4s ease-in-out infinite}@keyframes sk-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.sk-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sk-chips{justify-content:flex-start;gap:6px}.sk-divider{height:1px;background:var(--e-line-soft);margin:2px 0}.sk-stat{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md)}.sk-stat-text{display:flex;flex-direction:column;gap:7px}.sk-card{display:flex;flex-direction:column;gap:11px;padding:18px;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md)}.sk-var-row{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid var(--e-line-soft)}.sk-var-actions{gap:6px}@media(prefers-reduced-motion:reduce){.sk{animation:none}}.new-project-page{max-width:660px;margin:0 auto;padding:0;font-family:var(--e-sans);color:var(--e-ink);animation:e-fade-up .4s var(--e-ease) both}.new-project-page .page-header{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--e-line)}.new-project-page .back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--e-muted);margin-bottom:16px;transition:color .15s var(--e-ease),transform .15s var(--e-ease)}.new-project-page .back-link:hover{color:var(--e-ink);transform:translate(-2px)}.new-project-page .page-header h1{font-size:26px;font-weight:800;letter-spacing:-.025em;color:var(--e-ink);margin-bottom:5px}.new-project-page .page-header p{font-size:13.5px;color:var(--e-muted)}.project-form,.project-form.card{padding:0;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-lg);box-shadow:var(--e-shadow-sm);overflow:hidden}.project-form.card:hover{transform:none;box-shadow:var(--e-shadow-sm)}.project-form .form-group{margin:0;padding:20px 24px;border-bottom:1px solid var(--e-line-soft)}.project-form .form-group:last-of-type{border-bottom:none}.project-form .form-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--e-ink);margin-bottom:7px}.project-form .form-label svg{color:var(--e-muted)}.project-form .form-input{width:100%;padding:10px 13px;font-family:var(--e-sans);font-size:13.5px;color:var(--e-ink);border:1px solid var(--e-line);border-radius:var(--e-radius-md);background:var(--e-white);transition:all .15s var(--e-ease)}.project-form input[name=name],.project-form input[name=githubUrl]{font-family:var(--e-mono);font-size:13px}.project-form .form-input::placeholder{color:#b3ada0}.project-form .form-input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.project-form textarea.form-input{resize:vertical;min-height:88px;line-height:1.55}.project-form .form-hint{display:block;margin-top:6px;font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted)}.slug-preview{margin-top:10px;padding:12px 14px;background:var(--e-paper);border:1px solid var(--e-line);border-radius:var(--e-radius-md);animation:e-fade-up .25s var(--e-ease) both}.slug-preview-row{display:flex;align-items:center;gap:8px;padding:3px 0;min-width:0}.slug-preview-row svg{color:var(--e-muted);flex-shrink:0}.slug-preview-label{font-family:var(--e-mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--e-faint);width:26px;flex-shrink:0}.slug-preview-row code{font-family:var(--e-mono);font-size:12px;color:var(--e-ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.slug-preview-row code b{color:var(--e-accent-ink);font-weight:700}.slug-preview-note{display:flex;align-items:flex-start;gap:6px;margin-top:9px;padding-top:9px;border-top:1px dashed var(--e-line);font-size:11.5px;line-height:1.5;color:var(--e-muted)}.slug-preview-note svg{flex-shrink:0;margin-top:2px}.slug-preview-note>span{flex:1;min-width:0}.slug-preview-note code{font-family:var(--e-mono);font-size:11px;color:var(--e-warn);background:var(--e-warn-dim);padding:1px 5px;border-radius:4px;white-space:nowrap}.char-count{margin-left:auto;font-family:var(--e-mono);font-size:10.5px;font-weight:500;color:var(--e-faint)}.next-steps{margin:0;padding:16px 24px;border-top:1px solid var(--e-line-soft);background:var(--e-paper-raised)}.next-steps-label{display:flex;align-items:center;gap:7px;font-family:var(--e-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--e-muted);margin-bottom:9px}.next-steps-code{margin:0;padding:11px 14px;background:#0b0c10;border-radius:var(--e-radius-md);font-family:var(--e-mono);font-size:12.5px;color:#e7e9ee;overflow-x:auto;white-space:nowrap}.next-steps-code b{color:#7ab7ff;font-weight:700}.ns-prompt{color:#3ddc84;margin-right:7px;-webkit-user-select:none;user-select:none}.form-error{display:flex;align-items:center;gap:10px;margin:20px 24px 0;padding:12px 16px;background:var(--e-bad-dim);border:1px solid var(--e-bad-line);border-radius:var(--e-radius-md);color:var(--e-bad);font-size:13.5px}.new-project-page .visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.new-project-page .visibility-option{display:flex;align-items:flex-start;gap:11px;padding:14px;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md);cursor:pointer;transition:all .15s var(--e-ease)}.new-project-page .visibility-option:hover:not(.selected){border-color:var(--e-ink-dim)}.new-project-page .visibility-option.selected{border-color:var(--e-accent);background:var(--e-accent-dim)}.new-project-page .visibility-option input{display:none}.new-project-page .visibility-option svg{flex-shrink:0;margin-top:1px;color:var(--e-muted)}.new-project-page .visibility-option.selected svg{color:var(--e-accent)}.new-project-page .visibility-option div{display:flex;flex-direction:column;gap:3px;min-width:0}.new-project-page .visibility-option strong{font-size:13.5px;font-weight:700;color:var(--e-ink)}.new-project-page .visibility-option span{font-size:12px;line-height:1.45;color:var(--e-muted)}.environments-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.new-project-page .env-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--e-paper);border:1px solid var(--e-line);border-radius:var(--e-radius-full);font-family:var(--e-mono);font-size:11.5px;color:var(--e-ink-dim)}.remove-env{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;color:var(--e-muted);transition:color .15s var(--e-ease)}.remove-env:hover{color:var(--e-bad)}.add-env-row{display:flex;gap:8px}.add-env-row .form-input{flex:1}.add-env-row .btn{flex-shrink:0}.form-info{display:flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted)}.new-project-page .form-actions{display:flex;justify-content:flex-end;gap:10px;margin:0;padding:16px 24px;background:var(--e-paper-raised);border-top:1px solid var(--e-line)}@media(max-width:600px){.new-project-page .visibility-options{grid-template-columns:1fr}.project-form .form-group{padding:18px 16px}.new-project-page .form-actions{padding:14px 16px;flex-direction:column-reverse}.new-project-page .form-actions .btn{width:100%}.add-env-row{flex-direction:column}}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:flex;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;inset:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0 0% 100%) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:normal}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:normal}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:inherit;isolation:isolate;transform:translateZ(0);z-index:1;width:100%;height:100%}.dashboard{display:flex;min-height:100vh;background:var(--e-paper);font-family:var(--e-sans);color:var(--e-ink)}.dashboard-sidebar{width:252px;background:var(--e-white);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;border-right:1px solid var(--e-line)}.sidebar-header{padding:18px 20px 16px;border-bottom:1px solid var(--e-line);display:flex;justify-content:space-between;align-items:center}.sidebar-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--e-ink);text-decoration:none}.sidebar-logo img{height:34px;width:auto;object-fit:contain;flex-shrink:0}.sidebar-label{padding:20px 20px 8px;font-family:var(--e-mono);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--e-muted)}.sidebar-nav{flex:1;padding:12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--e-radius-md);font-size:13.5px;font-weight:600;color:var(--e-ink-dim);text-decoration:none;transition:background .15s var(--e-ease),color .15s var(--e-ease)}.nav-item:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--e-accent);border-radius:0 2px 2px 0;transition:height .15s var(--e-ease)}.nav-item:hover{background:var(--e-paper);color:var(--e-ink)}.nav-item.active{background:var(--e-accent-dim);color:var(--e-accent-ink)}.nav-item.active:before{height:18px}.nav-item svg{flex-shrink:0;width:17px;height:17px;opacity:.65}.nav-item.active svg{opacity:1}.sidebar-footer{padding:12px;border-top:1px solid var(--e-line)}.user-profile{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--e-line);border-radius:var(--e-radius-md);background:var(--e-paper);transition:border-color .15s var(--e-ease);cursor:pointer}.user-profile:hover{border-color:var(--e-ink-dim)}.user-avatar-small{width:34px;height:34px;border-radius:var(--e-radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--e-white);flex-shrink:0}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.user-name{font-size:12.5px;font-weight:700;color:var(--e-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-family:var(--e-mono);font-size:10.5px;color:var(--e-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-legal-links{display:flex;justify-content:center;gap:12px;margin-top:12px;font-family:var(--e-mono);font-size:10.5px}.sidebar-legal-links a{color:var(--e-muted);text-decoration:none;transition:color .15s var(--e-ease)}.sidebar-legal-links a:hover{color:var(--e-ink)}.dashboard-main{flex:1;margin-left:252px;padding:32px 40px 120px;min-height:100vh;animation:e-fade-up .4s var(--e-ease) both}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--e-line)}.header-left h1{font-size:28px;font-weight:800;letter-spacing:-.025em;color:var(--e-ink);margin-bottom:5px}.header-left p{color:var(--e-muted);font-size:13.5px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-card,.stat-card.card{position:relative;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md);padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:none;transition:border-color .15s var(--e-ease),transform .15s var(--e-ease)}.stat-card:hover{transform:translateY(-2px);border-color:var(--e-ink-dim);box-shadow:var(--e-shadow-sm)}.stat-icon-wrapper{width:36px;height:36px;border-radius:var(--e-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-wrapper svg{width:17px;height:17px}.stat-icon-wrapper.primary{background:var(--e-accent-dim);color:var(--e-accent-ink)}.stat-icon-wrapper.success{background:var(--e-good-dim);color:var(--e-good-ink)}.stat-icon-wrapper.warning{background:var(--e-warn-dim);color:var(--e-warn)}.stat-icon-wrapper.danger{background:var(--e-violet-dim);color:var(--e-violet)}.stat-content{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value{font-family:var(--e-mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;color:var(--e-ink);line-height:1.05;letter-spacing:-.03em}.stat-label{font-family:var(--e-mono);font-size:10px;font-weight:500;color:var(--e-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.search-wrapper{position:relative;width:300px}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--e-muted);pointer-events:none}.search-input{width:100%;padding:9px 14px 9px 38px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:13.5px;color:var(--e-ink);background:var(--e-white);transition:all .15s var(--e-ease)}.search-input::placeholder{color:#b3ada0}.search-input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.search-kbd,.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-kbd{pointer-events:none;opacity:.75}.search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:var(--e-line-soft);color:var(--e-ink-dim);cursor:pointer;transition:background .15s var(--e-ease),color .15s var(--e-ease)}.search-clear:hover{background:var(--e-ink);color:var(--e-white)}.search-wrapper:focus-within .search-kbd{opacity:0}.toolbar-actions{display:flex;gap:10px;align-items:center;margin-left:auto}.sort-select{padding:8px 12px;border:1px solid var(--e-line);border-radius:var(--e-radius-full);background:var(--e-paper-raised);font-family:var(--e-sans);font-size:12.5px;font-weight:600;color:var(--e-ink-dim);cursor:pointer;transition:border-color .15s var(--e-ease),color .15s var(--e-ease)}.sort-select:hover{border-color:var(--e-ink-dim);color:var(--e-ink)}.sort-select:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.filter-tabs{display:flex;gap:3px;padding:3px;background:var(--e-paper-raised);border:1px solid var(--e-line);border-radius:var(--e-radius-full)}.filter-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;background:transparent;border:none;border-radius:var(--e-radius-full);font-family:var(--e-sans);font-size:12.5px;font-weight:600;color:var(--e-ink-dim);cursor:pointer;transition:all .15s var(--e-ease)}.filter-tab:hover{color:var(--e-ink)}.filter-tab.active{background:var(--e-ink);color:var(--e-white);box-shadow:var(--e-shadow-sm)}.filter-count{font-family:var(--e-mono);font-size:10.5px;font-variant-numeric:tabular-nums;line-height:1;padding:3px 6px;border-radius:var(--e-radius-full);background:var(--e-line-soft);color:var(--e-muted);transition:background .15s var(--e-ease),color .15s var(--e-ease)}.filter-tab.active .filter-count{background:#ffffff29;color:var(--e-white)}.view-toggle{display:flex;gap:3px;padding:3px;background:var(--e-paper-raised);border:1px solid var(--e-line);border-radius:var(--e-radius-full)}.toggle-btn{padding:7px 11px;background:transparent;border:none;border-radius:var(--e-radius-full);color:var(--e-ink-dim);cursor:pointer;transition:all .15s var(--e-ease);display:flex;align-items:center;justify-content:center}.toggle-btn:hover{color:var(--e-ink)}.toggle-btn.active{background:var(--e-ink);color:var(--e-white)}.projects-container{margin-top:4px}.projects-container.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.projects-container.list{display:flex;flex-direction:column;gap:10px}.project-card{padding:18px;display:flex;flex-direction:column;gap:12px;text-decoration:none;position:relative;width:100%;height:100%;box-sizing:border-box;background:var(--e-white);transition:border-color .15s var(--e-ease),transform .2s var(--e-ease)}.border-glow-card .project-card{background:transparent;border:none}.projects-container .border-glow-card{border:1px solid var(--e-line);box-shadow:none;transition:border-color .15s var(--e-ease),transform .2s var(--e-ease),box-shadow .2s var(--e-ease)}.projects-container .border-glow-card:hover{border-color:var(--e-ink-dim);transform:translateY(-2px);box-shadow:var(--e-shadow-md)}.project-card.card{border:1px solid var(--e-line);border-radius:var(--e-radius-md);box-shadow:none}.project-card.card:hover{border-color:var(--e-ink-dim);transform:translateY(-2px);box-shadow:var(--e-shadow-sm)}.projects-container.list .project-card{flex-direction:row;align-items:center;padding:14px 18px;gap:20px}.projects-container.list .dashboard-project-header{flex:0 0 auto;min-width:200px;max-width:280px;margin:0;padding:0;background:transparent;border:none}.projects-container.list .project-desc{flex:1;-webkit-line-clamp:1;min-width:0}.projects-container.list .project-environments{flex:0 0 auto;justify-content:flex-end}.projects-container.list .project-footer{flex:0 0 auto;border-top:none;padding-top:0;margin-top:0;gap:20px}.dashboard-project-header,.project-card .project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.project-card .project-title-row{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:0}.project-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--e-ink);min-width:0}.project-name svg{color:var(--e-muted);flex-shrink:0}.project-card:hover .project-name{color:var(--e-accent-ink)}.project-card .star-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--e-muted);padding:5px;border-radius:var(--e-radius-sm);cursor:pointer;transition:all .15s var(--e-ease);flex-shrink:0}.project-card .star-btn:hover{background:var(--e-warn-dim);color:var(--e-warn)}.project-card .star-btn .star-count{font-family:var(--e-mono);font-size:11px;font-weight:600}.project-card .project-desc{font-size:13px;line-height:1.55;color:var(--e-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-environments{display:flex;flex-wrap:wrap;gap:6px}.env-tag{display:inline-flex;align-items:center;font-family:var(--e-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:var(--e-radius-full);background:var(--e-paper);border:1px solid var(--e-line);color:var(--e-ink-dim)}.env-tag.development{background:var(--e-accent-dim);border-color:transparent;color:var(--e-accent-ink)}.env-tag.staging{background:var(--e-warn-dim);border-color:transparent;color:var(--e-warn)}.env-tag.production{background:var(--e-bad-dim);border-color:transparent;color:#b91c1c}.env-tag.empty-env{background:transparent;border-style:dashed;color:var(--e-faint);text-transform:none;letter-spacing:0}.project-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;margin-top:auto;border-top:1px solid var(--e-line-soft)}.project-meta{display:flex;gap:14px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:5px;font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted)}.meta-item svg{flex-shrink:0;width:13px;height:13px}.project-arrow-container{width:28px;height:28px;border-radius:50%;background:var(--e-paper);display:flex;align-items:center;justify-content:center;color:var(--e-ink-dim);flex-shrink:0;transition:all .2s var(--e-ease);opacity:0;transform:translate(-6px)}.project-arrow{flex-shrink:0;width:16px;height:16px}.project-card:hover .project-arrow-container{opacity:1;transform:translate(0);background:var(--e-ink);color:var(--e-white)}.explore-card{display:flex;flex-direction:column}.explore-card .project-owner{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--e-muted)}.github-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--e-mono);font-size:11px;color:var(--e-ink-dim);text-decoration:none;padding:3px 8px;background:var(--e-paper);border:1px solid var(--e-line);border-radius:var(--e-radius-sm);transition:all .15s var(--e-ease)}.github-link:hover{background:var(--e-ink);border-color:var(--e-ink);color:var(--e-white)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;color:var(--e-muted);background:var(--e-white);border:1.5px dashed var(--e-line);border-radius:var(--e-radius-lg)}.empty-state>svg{margin-bottom:16px;color:#c9c3b3}.empty-state h3{font-size:17px;font-weight:700;color:var(--e-ink);margin-bottom:6px}.empty-state p{margin-bottom:20px;font-size:13.5px;color:var(--e-muted)}.empty-cli-hint{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:18px;border-top:1px dashed var(--e-line);width:100%;max-width:460px;font-family:var(--e-mono);font-size:12px}.empty-cli-prompt{color:var(--e-accent);font-weight:700}.empty-cli-hint code{color:var(--e-ink);background:var(--e-paper);border:1px solid var(--e-line);padding:3px 9px;border-radius:var(--e-radius-sm)}.empty-cli-note{color:var(--e-faint);font-family:var(--e-sans);font-size:12px}.stat-value{font-variant-numeric:tabular-nums}.error-banner{display:flex;align-items:center;gap:12px;padding:13px 18px;background:var(--e-bad-dim);border:1px solid var(--e-bad-line);border-radius:var(--e-radius-md);color:var(--e-bad);font-size:13.5px;margin-bottom:20px}.error-banner span{flex:1}.error-banner button{padding:7px 14px;background:var(--e-white);border:1px solid var(--e-bad-line);border-radius:var(--e-radius-full);color:var(--e-bad);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s var(--e-ease)}.error-banner button:hover{background:var(--e-bad);color:var(--e-white)}.dashboard .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:380px;gap:16px;color:var(--e-muted)}.dashboard .loading-state svg{color:var(--e-accent)}.dashboard .loading-state p{font-size:14px;font-weight:600;color:var(--e-ink)}.page-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:380px;color:var(--e-muted);text-align:center}.page-placeholder svg{margin-bottom:16px;color:#c9c3b3}.page-placeholder h2{color:var(--e-ink);margin-bottom:6px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--e-muted);margin-bottom:16px;transition:color .15s var(--e-ease),transform .15s var(--e-ease)}.back-link:hover{color:var(--e-ink);transform:translate(-2px)}.settings-page{width:100%}.settings-container{display:flex;gap:28px;max-width:940px}.settings-page .settings-sidebar{width:190px;flex-shrink:0;display:flex;flex-direction:column;gap:3px}.settings-page .settings-tab{display:flex;align-items:center;gap:10px;padding:10px 13px;border:none;background:transparent;border-radius:var(--e-radius-md);font-family:var(--e-sans);font-size:13.5px;font-weight:600;color:var(--e-ink-dim);cursor:pointer;transition:all .15s var(--e-ease);text-align:left;width:100%}.settings-page .settings-tab svg{opacity:.65}.settings-page .settings-tab:hover{background:var(--e-paper-raised);color:var(--e-ink)}.settings-page .settings-tab.active{background:var(--e-ink);color:var(--e-white)}.settings-page .settings-tab.active svg{opacity:1}.settings-page .settings-tab.danger{color:var(--e-bad)}.settings-page .settings-tab.danger:hover{background:var(--e-bad-dim);color:var(--e-bad)}.settings-tab-divider{height:1px;background:var(--e-line);margin:10px 0}.settings-content{flex:1;min-width:0}.settings-section{background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-lg);padding:26px 28px;box-shadow:var(--e-shadow-sm)}.settings-section .section-header{max-width:none;margin:0 0 22px;padding-bottom:16px;text-align:left;border-bottom:1px solid var(--e-line)}.settings-section h2{font-size:17px;font-weight:700;letter-spacing:-.015em;color:var(--e-ink);margin-bottom:5px}.settings-section .section-desc{font-size:13px;color:var(--e-muted);margin-bottom:0}.settings-form{display:flex;flex-direction:column;gap:18px;max-width:420px}.settings-form .form-label{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;margin-bottom:7px;color:var(--e-ink)}.settings-form .form-label svg{color:var(--e-muted)}.settings-form .form-input{width:100%;padding:10px 13px;border:1px solid var(--e-line);border-radius:var(--e-radius-md);font-family:var(--e-sans);font-size:13.5px;color:var(--e-ink);background:var(--e-white);transition:all .15s var(--e-ease)}.settings-form .form-input:focus{outline:none;border-color:var(--e-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.settings-form .form-hint{font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted);margin-top:5px}.settings-form .form-actions{margin-top:4px}.settings-message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--e-radius-md);margin-bottom:18px;font-size:13.5px;font-weight:500}.settings-message.success{background:var(--e-good-dim);color:#166534;border:1px solid #bbf7d0}.settings-message.error{background:var(--e-bad-dim);color:var(--e-bad);border:1px solid var(--e-bad-line)}.profile-layout{max-width:620px}.profile-top-section{display:flex;align-items:flex-end;gap:14px;margin-bottom:22px}.profile-top-section .form-group{margin-bottom:0}.flex-1{flex:1}.profile-save{margin-top:0!important;margin-bottom:1px;border-top:none;padding-top:0}.avatar-section,.avatar-section.card{display:flex;gap:22px;padding:20px;background:var(--e-paper-raised);border:1px solid var(--e-line);border-radius:var(--e-radius-lg);box-shadow:none}.avatar-section.card:hover{transform:none;box-shadow:none}.avatar-preview-wrap{flex-shrink:0}.avatar-preview{width:88px;height:88px;border-radius:var(--e-radius-lg);overflow:hidden;border:1px solid var(--e-line);transition:background .3s var(--e-ease)}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-controls{flex:1;display:flex;flex-direction:column;gap:18px;min-width:0}.avatar-controls .form-label{font-family:var(--e-mono);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--e-muted)}.avatar-grid,.color-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.avatar-btn{width:44px;height:44px;border-radius:var(--e-radius-md);border:1px solid var(--e-line);cursor:pointer;padding:0;overflow:hidden;transition:all .15s var(--e-ease)}.avatar-btn:hover{transform:translateY(-2px)}.avatar-btn.active{border-color:transparent;box-shadow:0 0 0 2px var(--e-white),0 0 0 4px var(--e-ink)}.avatar-btn img{width:100%;height:100%;object-fit:cover}.color-btn{width:30px;height:30px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--e-white);transition:all .15s var(--e-ease)}.color-btn:hover{transform:scale(1.1)}.color-btn.active{box-shadow:0 0 0 2px var(--e-white),0 0 0 4px var(--e-ink)}.passkey-list-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--e-ink);margin-bottom:14px}.passkey-list-title svg{color:var(--e-accent)}.passkey-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.passkey-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--e-white);border:1px solid var(--e-line);border-radius:var(--e-radius-md);transition:border-color .15s var(--e-ease)}.passkey-card:hover{border-color:var(--e-ink-dim)}.passkey-info-wrap{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.passkey-icon{width:36px;height:36px;border-radius:var(--e-radius-sm);background:var(--e-good-dim);color:var(--e-good);display:flex;align-items:center;justify-content:center;flex-shrink:0}.passkey-details{flex:1;display:flex;flex-direction:column;min-width:0}.passkey-details strong{display:block;color:var(--e-ink);margin-bottom:2px;font-size:13.5px;font-weight:700}.passkey-details span{font-family:var(--e-mono);font-size:11.5px;color:var(--e-muted)}.passkey-edit-mode{display:flex;align-items:center;gap:10px;width:100%;max-width:300px}.passkey-edit-input{padding:6px 11px!important;font-size:13px!important}.passkey-edit-actions,.passkey-actions{display:flex;gap:4px}.btn-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--e-radius-sm);border:none;background:transparent;color:var(--e-muted);cursor:pointer;transition:all .15s var(--e-ease)}.btn-icon:hover{background:var(--e-accent-dim);color:var(--e-accent-ink)}.btn-icon.danger-icon:hover{background:var(--e-bad-dim);color:var(--e-bad)}.text-success{color:var(--e-good)}.text-success:hover{background:var(--e-good-dim)!important}.text-danger{color:var(--e-bad)}.text-danger:hover{background:var(--e-bad-dim)!important}.passkey-setup-box{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;background:var(--e-paper-raised);border:1.5px dashed var(--e-line);border-radius:var(--e-radius-md)}.passkey-setup-box h3{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--e-ink)}.passkey-setup-box p{margin:0;font-size:13px;color:var(--e-muted)}.mobile-dashboard-header{display:none;align-items:center;gap:16px;padding:14px 20px;background:var(--e-white);border-bottom:1px solid var(--e-line);position:sticky;top:0;z-index:90;margin:-24px -20px 24px}.mobile-sidebar-toggle{background:transparent;border:none;cursor:pointer;color:var(--e-ink);padding:4px;display:flex;align-items:center;justify-content:center}.mobile-header-title{font-size:17px;font-weight:700;color:var(--e-ink)}.dashboard-overlay{display:none;position:fixed;inset:0;background:#12151c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99;opacity:0;transition:opacity .3s var(--e-ease);pointer-events:none}.dashboard-overlay.active{opacity:1;pointer-events:auto}.sidebar-close-btn{display:none;background:transparent;border:none;color:var(--e-muted);cursor:pointer;padding:4px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.projects-container.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:900px){.dashboard{flex-direction:column}.dashboard-main{margin-left:0;padding:100px 16px 32px}.dashboard-header{flex-direction:column;align-items:flex-start}.projects-toolbar{flex-direction:column;align-items:stretch}.search-wrapper{width:100%}.toolbar-actions{margin-left:0;justify-content:space-between}.dashboard-overlay{display:block}.dashboard-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:100;transform:translate(-100%);transition:transform .3s var(--e-ease);box-shadow:4px 0 24px #12151c1a}.dashboard-sidebar.active{transform:translate(0)}.sidebar-close-btn{display:block}}@media(max-width:768px){.settings-container{flex-direction:column}.settings-page .settings-sidebar{width:100%}.settings-tab-divider{display:none}}@media(max-width:600px){.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-value{font-size:21px}.projects-container.grid{grid-template-columns:1fr}.filter-tabs{width:100%;overflow-x:auto}.filter-tab{flex:1;text-align:center}.profile-top-section{flex-direction:column;align-items:stretch}.avatar-section{flex-direction:column;align-items:center}.avatar-controls{width:100%}.passkey-setup-box{flex-direction:column;align-items:stretch;text-align:center}.settings-section{padding:20px 18px}}.cmdk-trigger{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;background:var(--m-paper);border:1px solid var(--m-line);border-radius:var(--radius-full);color:var(--m-ink-faint);font-family:var(--font-family);font-size:12.5px;cursor:pointer;transition:border-color .15s var(--m-ease),color .15s var(--m-ease),background .15s var(--m-ease)}.cmdk-trigger:hover{border-color:var(--m-ink-dim);color:var(--m-ink);background:var(--m-paper-raised)}.cmdk-kbd{font-family:var(--m-font-mono);font-size:10.5px;line-height:1;padding:3px 5px;border-radius:5px;background:var(--m-paper-raised);border:1px solid var(--m-line);color:var(--m-ink-faint)}.cmdk-overlay{position:fixed;inset:0;z-index:2000;background:#12151c73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 20px 20px;animation:cmdk-fade .15s ease both}.cmdk-panel{width:100%;max-width:560px;background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:cmdk-rise .2s var(--m-ease) both}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}@keyframes cmdk-rise{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cmdk-field{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--m-line);color:var(--m-ink-faint)}.cmdk-field input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-family);font-size:15px;color:var(--m-ink)}.cmdk-field input::placeholder{color:var(--m-ink-faint)}.cmdk-field input:focus{border:none;box-shadow:none}.cmdk-results{max-height:min(380px,50vh);overflow-y:auto;padding:8px}.cmdk-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--m-ink-dim);font-family:var(--font-family);font-size:13.5px;text-align:left;cursor:pointer}.cmdk-item.active{background:var(--m-accent-soft);color:var(--m-accent-ink)}.cmdk-item-label{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-item-hint{font-family:var(--m-font-mono);font-size:11px;color:var(--m-ink-faint);flex:none}.cmdk-item.active .cmdk-item-hint{color:var(--m-accent-ink);opacity:.75}.cmdk-enter{flex:none;opacity:.7}.cmdk-empty{padding:26px 14px;text-align:center;font-size:13.5px;color:var(--m-ink-faint)}.cmdk-footer{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--m-line);background:var(--m-paper);font-size:11px;color:var(--m-ink-faint)}.cmdk-footer span{display:inline-flex;align-items:center;gap:5px}@media(max-width:768px){.cmdk-trigger-label{display:none}.cmdk-overlay{padding-top:8vh}.cmdk-footer{display:none}}.navbar{position:fixed;top:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:1200px;z-index:1000;height:var(--nav-height);background:#faf8f2b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--e-line);border-radius:var(--radius-lg);box-shadow:none;transition:background .25s var(--e-ease),box-shadow .25s var(--e-ease),border-color .25s var(--e-ease),height .25s var(--e-ease)}.navbar.scrolled{height:64px;background:#faf8f2ed;border-color:var(--e-line);box-shadow:var(--e-shadow-md)}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 24px;max-width:1200px;margin:0 auto}.navbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.navbar-logo-img{height:36px;width:auto;margin-right:-20px;object-fit:contain}.logo-text{font-size:1.25rem;font-weight:600;color:var(--primary-dark);letter-spacing:-.02em}.navbar-center{display:flex;align-items:center;gap:8px}.nav-link{position:relative;padding:8px 16px;font-size:.9rem;font-weight:600;color:var(--e-ink-dim);text-decoration:none;border-radius:var(--radius-md);transition:color .15s var(--e-ease),background .15s var(--e-ease)}.nav-link:hover{color:var(--e-ink);background:var(--e-paper)}.nav-link.active{color:var(--e-accent-ink);background:var(--e-accent-dim)}.navbar-auth{display:flex;align-items:center;gap:8px}.btn-nav-primary{padding:10px 20px;font-size:.9rem;font-weight:600;color:#fff;background:var(--e-ink);border-radius:var(--radius-full);text-decoration:none;transition:background .15s var(--e-ease),transform .15s var(--e-ease),box-shadow .15s var(--e-ease)}.btn-nav-primary:hover{background:var(--e-accent);transform:translateY(-1px);box-shadow:0 8px 18px -10px var(--e-accent)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid #e5e5e5;border-radius:50px;cursor:pointer;transition:all .15s ease}.user-menu-trigger:hover{background:#f8f8f8;border-color:#ddd}.user-menu-trigger .chevron{color:#888;transition:transform .15s ease}.user-menu:hover .user-menu-trigger .chevron{transform:rotate(180deg)}.user-avatar{width:28px;height:28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-avatar.large{width:36px;height:36px;font-size:.85rem}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 8px 24px #00000014;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.user-dropdown-header strong{display:block;font-size:.9rem;font-weight:600;color:var(--primary-dark)}.user-dropdown-header p{font-size:.8rem;color:#888;margin:0}.user-dropdown-divider{height:1px;background:#f0f0f0}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:.875rem;color:#444;text-decoration:none;background:transparent;border:none;cursor:pointer;transition:background .1s ease}.user-dropdown-item:hover{background:#f8f8f8}.user-dropdown-item.logout{color:#dc3545}.user-dropdown-item.logout:hover{background:#fef2f2}.navbar-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:8px;background:transparent;border:none;cursor:pointer;border-radius:8px;transition:background .15s ease;z-index:1002}.navbar-burger:hover{background:#f5f5f5}.navbar-burger span{display:block;width:20px;height:2px;background:var(--primary-dark);border-radius:2px;transition:all .3s cubic-bezier(.68,-.55,.27,1.55);transform-origin:center}.navbar-burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-burger.active span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-overlay{display:none;position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-overlay.active{opacity:1;pointer-events:auto}.mobile-menu{display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#fff;z-index:1001;flex-direction:column;padding:0;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 32px #0000001a}.mobile-menu.active{transform:translate(0)}.mobile-menu-header{padding:24px 24px 20px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.mobile-menu-logo{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--text-dark);text-decoration:none;letter-spacing:-.02em}.mobile-menu-close-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:8px;margin:-8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.mobile-menu-close-btn:hover{background:#f5f5f5;color:#333}.mobile-user-info{display:flex;align-items:center;gap:14px;padding:16px 24px;background:#fff;border-top:1px solid var(--border-light);margin-top:auto}.mobile-user-avatar{width:44px;height:44px;border-radius:10px;overflow:hidden;flex-shrink:0}.mobile-user-info strong{display:block;font-size:.95rem;font-weight:600;color:var(--primary-dark);margin-bottom:2px}.mobile-user-info p{font-size:.8rem;color:#888;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.mobile-nav-links{display:flex;flex-direction:column;gap:4px;flex:1;padding:24px}.mobile-link{padding:14px 16px;font-size:1rem;font-weight:500;color:#333;text-decoration:none;border-radius:10px;transition:all .15s ease}.mobile-link:hover{background:#f5f5f5}.mobile-auth{display:flex;flex-direction:column;gap:10px;padding:24px;border-top:1px solid #f0f0f0}.mobile-auth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:8px;font-weight:500;transition:all .2s ease}.mobile-auth-btn.logout-btn{background:transparent;color:#ef4444;border:1px solid #ef4444}.mobile-auth-btn.logout-btn:hover{background:#fef2f2;color:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef444426}@media(min-width:769px){.navbar.dashboard-navbar{display:none}}@media(max-width:768px){.navbar-center,.navbar-auth{display:none}.navbar-burger{display:flex}.mobile-overlay{display:block}.mobile-menu{display:flex}}.pixel-snow-container{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;contain:layout style paint;z-index:0;pointer-events:none}.pixel-snow-container canvas{display:block;width:100%;height:100%;transform:translateZ(0);will-change:transform;backface-visibility:hidden}.footer{background:var(--m-dark-bg, var(--bg-darker));color:var(--text-white);padding:80px 0 40px;margin-top:100px;border-top:1px solid var(--m-dark-line, transparent)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.footer-brand{max-width:400px}.footer-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#fff;margin-bottom:16px}.footer-logo .logo-icon{width:32px;height:32px;background:var(--primary-blue)}.footer-tagline{font-size:14px;color:#fff9;line-height:1.7;margin-bottom:24px}.footer-social{display:flex;gap:12px}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:var(--radius-md);color:#fff;transition:var(--transition)}.social-link:hover{background:var(--m-accent, var(--primary-blue));transform:translateY(-2px)}.footer-terminal-container{background:var(--m-dark-surface, #0f111a);border:1px solid var(--m-dark-line, rgba(255, 255, 255, .1));border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #0006;font-family:var(--m-font-mono, "Courier New", Courier, monospace);width:100%;max-width:550px}.footer-terminal-header{background:#ffffff0d;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#fff9;border-bottom:1px solid rgba(255,255,255,.05)}.terminal-dots{display:flex;gap:6px}.terminal-dots .dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.footer-terminal-body{padding:20px;height:240px;overflow-y:auto;font-size:14px;line-height:1.6;display:flex;flex-direction:column;gap:6px;text-align:left}.footer-terminal-body::-webkit-scrollbar{width:6px}.footer-terminal-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.term-line{white-space:pre-wrap;word-wrap:break-word}.term-system{color:#8892b0}.term-input{color:#6ee7a7}.term-output{color:#cbd5e1}.term-input-line{display:flex;align-items:center;gap:8px;margin-top:4px}.term-prompt{color:#6ee7a7}.term-input-line input{background:transparent;border:none;color:#f8fafc;font-family:inherit;font-size:inherit;flex-grow:1;outline:none;box-shadow:none;padding:0}.term-input-line input:focus{border:none;box-shadow:none}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:40px;margin-top:60px;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{font-size:14px;color:#ffffff80}.footer-links{display:flex;gap:24px}.footer-links a{font-size:14px;color:#ffffff80;transition:var(--transition)}.footer-links a:hover{color:#fff}@media(max-width:900px){.footer-grid{grid-template-columns:1fr;gap:40px}}@media(max-width:600px){.footer{padding:60px 0 30px}.footer-bottom{flex-direction:column;gap:20px;text-align:center}}.ripple-wrapper{position:absolute;inset:0;height:100%;width:100%;--cell-border-color: rgba(0, 0, 0, .05);--cell-fill-color: transparent}.ripple-inner{position:relative;height:100%;width:100%;overflow:hidden}.ripple-grid{position:relative;z-index:1;-webkit-mask-image:radial-gradient(ellipse at top,black 20%,transparent 80%);mask-image:radial-gradient(ellipse at top,black 20%,transparent 80%);opacity:.8}.ripple-cell{position:relative;border:.5px solid var(--cell-border-color);opacity:.4;transition:opacity .15s ease;will-change:transform}.ripple-cell:hover{opacity:1;background-color:var(--cell-fill-color)!important}.ripple-cell.animate-cell-ripple{animation:cell-ripple var(--duration, .2s) ease-out var(--delay, 0ms) 1 none}.ripple-cell.not-interactive{pointer-events:none}@keyframes cell-ripple{0%{opacity:.4;background-color:transparent}50%{opacity:1;background-color:var(--cell-fill-color)}to{opacity:.4;background-color:transparent}}.m-codeblock{background:var(--m-dark-bg);border:1px solid var(--m-dark-line);border-radius:12px;overflow:hidden;font-family:var(--m-font-mono)}.m-codeblock-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--m-dark-line);background:var(--m-dark-surface)}.m-codeblock-dots{display:flex;gap:6px;flex:none}.m-codeblock-dots span{width:8px;height:8px;border-radius:50%;background:var(--m-dark-line)}.m-codeblock-label{flex:1;font-size:12px;color:var(--m-dark-ink-dim);letter-spacing:.02em}.m-codeblock-copy{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-family:inherit;color:var(--m-dark-ink-dim);background:transparent;border:1px solid var(--m-dark-line);border-radius:6px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.m-codeblock-copy:hover{color:var(--m-dark-ink);border-color:var(--m-dark-ink-dim)}.m-codeblock-copy.copied{color:#6ee7a7;border-color:#6ee7a766;background:#6ee7a714}.m-codeblock-body{margin:0;padding:16px 18px;font-size:13px;line-height:1.7;color:var(--m-dark-ink);overflow-x:auto;white-space:pre}.m-codeblock-body .tok-kw{color:var(--m-syn-kw)}.m-codeblock-body .tok-fn{color:var(--m-syn-fn)}.m-codeblock-body .tok-str{color:var(--m-syn-str)}.m-codeblock-body .tok-num{color:var(--m-syn-num)}.m-codeblock-body .tok-com{color:var(--m-dark-ink-dim);font-style:italic}.m-codeblock-body .tok-key{color:var(--m-syn-key)}.m-codeblock-body .tok-dim{color:var(--m-dark-ink-dim)}.m-codeblock-body .tok-caret{display:inline-block;width:8px;margin-left:1px;background:var(--m-syn-fn);color:transparent;animation:m-blink 1.1s steps(1) infinite}.m-home{background:var(--m-paper);overflow-x:clip}.m-home .container{max-width:1180px}.m-hero{min-height:auto;padding:64px 0 40px;display:block}.m-hero-container{display:flex;flex-direction:column;align-items:center;text-align:center}.m-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--m-font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--m-ink-dim);background:var(--m-paper-raised);border:1px solid var(--m-line);padding:6px 14px;border-radius:999px;margin-bottom:28px}.m-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--m-accent);animation:m-pulse-dot 2s ease-in-out infinite}.m-hero-title{font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1.08;letter-spacing:-.02em;color:var(--m-ink);margin-bottom:22px}.m-serif{font-family:var(--m-font-serif);font-style:italic;font-weight:400;color:var(--m-accent-ink)}.m-hero-subtitle{font-family:inherit;max-width:600px;color:var(--m-ink-dim);font-size:18px;margin-bottom:36px}.m-hero-actions{margin-bottom:20px}.m-install-hint{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;margin-bottom:56px;font-family:var(--m-font-mono);font-size:13px;color:var(--m-ink-dim);background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:999px}.m-install-prompt{color:var(--m-accent);font-weight:700}.m-btn-primary{background:var(--m-ink);color:#fff;border-radius:999px}.m-btn-primary:hover{background:var(--m-accent);transform:translateY(-1px)}.m-btn-secondary{background:transparent;color:var(--m-ink);border:1px solid var(--m-line-strong);border-radius:999px}.m-btn-secondary:hover{border-color:var(--m-ink);background:var(--m-paper-raised)}.m-demo{width:100%;text-align:left}.m-section-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--m-font-mono);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--m-accent-ink);margin-bottom:18px}.m-eyebrow-index{color:var(--m-accent)}.m-eyebrow-rule{flex:1;height:1px;background:var(--m-line-strong);max-width:120px}.m-demo-panel{position:relative;background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px -30px #14151a40}.m-demo-tabs{display:flex;align-items:center;gap:4px;padding:10px 14px;border-bottom:1px solid var(--m-line);overflow-x:auto;scrollbar-width:none}.m-demo-tabs::-webkit-scrollbar{display:none}.m-demo-tab{position:relative;overflow:hidden;flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;font-family:var(--m-font-mono);font-size:12.5px;font-weight:600;color:var(--m-ink-dim);background:transparent;border-radius:8px;white-space:nowrap;transition:background .15s ease,color .15s ease}.m-tab-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--m-accent);transform-origin:left center;animation:m-tab-fill linear forwards}@keyframes m-tab-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.m-demo-tab:hover{background:var(--m-accent-soft);color:var(--m-ink)}.m-demo-tab.active{background:var(--m-ink);color:#fff}.m-demo-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--m-font-mono);font-size:11px;color:var(--m-ink-faint);padding-right:4px;flex:none}.m-live-dot{width:6px;height:6px;border-radius:50%;background:var(--m-green);animation:m-pulse-dot 2s ease-in-out infinite}.m-demo-body{display:grid;grid-template-columns:170px minmax(0,1fr) 260px}.m-demo-col{padding:20px;min-width:0}.m-demo-sidebar{border-right:1px solid var(--m-line);background:var(--m-paper)}.m-demo-response{border-left:1px solid var(--m-line);background:var(--m-dark-bg)}.m-demo-col-label{font-family:var(--m-font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--m-ink-faint);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.m-demo-response .m-demo-col-label{color:var(--m-dark-ink-dim)}.m-status-ok{font-family:var(--m-font-mono);font-size:11px;font-weight:700;color:var(--m-green)}.m-profile-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--m-line);font-size:13px}.m-profile-row:last-child{border-bottom:none}.m-profile-dot{width:8px;height:8px;border-radius:50%;flex:none}.m-profile-name{font-family:var(--m-font-mono);font-weight:600;color:var(--m-ink)}.m-profile-count{margin-left:auto;font-family:var(--m-font-mono);font-size:11px;color:var(--m-ink-faint)}.m-demo-desc{font-size:13.5px;color:var(--m-ink-dim);line-height:1.6;margin:14px 0}.m-demo-meta-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--m-font-mono);font-size:11.5px;color:var(--m-accent-ink);background:var(--m-accent-soft);border:1px solid rgba(52,87,245,.2);padding:6px 12px;border-radius:999px}.m-response-body{margin:0;font-family:var(--m-font-mono);font-size:12.5px;line-height:1.7;color:var(--m-syn-str);white-space:pre-wrap;word-break:break-word}.m-response-body.pending{color:var(--m-dark-ink-dim)}.m-response-body.settled{animation:m-response-in .4s var(--m-ease) both}@keyframes m-response-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.m-ticker-wrap{border-top:1px solid var(--m-line);border-bottom:1px solid var(--m-line);background:var(--m-paper-raised)}.m-ticker{display:flex;align-items:stretch}.m-ticker-badge{position:relative;z-index:2;flex:none;display:flex;align-items:center;gap:8px;padding:12px 18px;font-family:var(--m-font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--m-ink);white-space:nowrap}.m-ticker-viewport{position:relative;flex:1;min-width:0;overflow:hidden;padding-left:16px}.m-ticker-track{display:flex;align-items:center;gap:40px;padding:0 24px;white-space:nowrap;animation:m-marquee 28s linear infinite;width:max-content}.m-ticker-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--m-ink-dim)}.m-ticker-item svg{color:var(--m-accent);flex:none}.m-stack-strip{padding:28px 0;border-bottom:1px solid var(--m-line)}.m-stack-caption{text-align:center;font-family:var(--m-font-mono);font-size:11px;letter-spacing:.08em;color:var(--m-ink-faint);margin-bottom:20px}.m-stack-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 32px}.m-stack-item{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--m-ink-dim);transition:color .15s ease}.m-stack-item:hover{color:var(--m-ink)}.m-manifesto{background:var(--m-dark-bg);color:var(--m-dark-ink);padding:110px 0}.m-manifesto-eyebrow{color:var(--m-accent)}.m-manifesto-eyebrow .m-eyebrow-index{color:var(--m-dark-ink-dim)}.m-manifesto-eyebrow .m-eyebrow-rule{background:var(--m-dark-line)}.m-manifesto-statement{display:block;font-size:clamp(2rem,5vw,3.6rem);line-height:1.25;margin-bottom:64px;border-left:2px solid var(--m-accent);padding-left:28px}.m-manifesto-statement span{display:block}.m-manifesto-line-1{color:#fff}.m-manifesto-line-2{color:var(--m-dark-ink-dim);text-decoration:line-through;text-decoration-color:#9096a680;font-family:var(--m-font-serif);font-style:italic}.m-manifesto-line-3{color:#7ab7ff}.m-manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.m-manifesto-caption{font-family:var(--m-font-mono);font-size:11.5px;letter-spacing:.08em;color:var(--m-accent);margin-bottom:18px}.m-belief{font-size:15.5px;line-height:1.7;color:var(--m-dark-ink-dim);margin-bottom:20px}.m-belief strong{color:var(--m-dark-ink);font-weight:700}.m-log{background:var(--m-dark-surface);border:1px solid var(--m-dark-line);border-radius:10px;padding:16px 18px;font-family:var(--m-font-mono);font-size:11.5px;line-height:1.9;overflow-x:auto;scrollbar-width:thin}.m-log::-webkit-scrollbar{height:4px}.m-log::-webkit-scrollbar-track{background:transparent}.m-log::-webkit-scrollbar-thumb{background:var(--m-dark-ink-faint);border-radius:2px}.m-log-line{display:flex;gap:10px;white-space:nowrap;min-width:min-content}.m-log-time{color:var(--m-dark-ink-dim);opacity:.6}.m-log-level{font-weight:700;width:44px;flex:none}.level-info{color:#7ab7ff}.level-debug{color:var(--m-dark-ink-dim)}.level-warn{color:#ffb85c}.m-log-text{color:var(--m-dark-ink);text-overflow:ellipsis;overflow:hidden}.m-section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px;flex-wrap:wrap}.m-section-heading{font-size:clamp(2rem,4vw,3rem);color:var(--m-ink);max-width:560px}.m-section-caption{font-family:var(--m-font-mono);font-size:12.5px;line-height:1.8;color:var(--m-ink-faint);text-align:right;flex:none}.m-products{padding:110px 0}.m-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.m-bento-card{background:var(--m-paper-raised);border:1px solid var(--m-accent);border-radius:14px;padding:22px;box-shadow:0 0 0 1px var(--m-accent);transition:transform .2s ease,box-shadow .2s ease}.m-bento-card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--m-accent),0 20px 40px -30px #3457f566}.m-bento-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.m-bento-icon{width:40px;height:40px;border-radius:10px;background:var(--m-ink);color:#fff;display:flex;align-items:center;justify-content:center}.m-pill-featured{font-family:var(--m-font-mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--m-accent-ink);background:var(--m-accent-soft);border:1px solid rgba(52,87,245,.25);padding:3px 8px;border-radius:999px}.m-bento-card h3{font-size:16px;margin-bottom:4px;color:var(--m-ink)}.m-bento-path{font-family:var(--m-font-mono);font-size:11px;color:var(--m-ink-faint);margin-bottom:12px}.m-bento-desc{font-size:13.5px;line-height:1.6;color:var(--m-ink-dim);margin-bottom:14px}.m-bento-specs{list-style:none;padding:12px 0 0;margin:0;border-top:1px solid var(--m-line)}.m-bento-specs li{font-size:12px;color:var(--m-ink-dim);padding:3px 0 3px 14px;position:relative}.m-bento-specs li:before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--m-accent)}.m-capabilities{padding:0 0 110px}.m-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.m-cap-card{background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:14px;padding:24px}.m-cap-card h3{font-size:18px;margin-bottom:10px;color:var(--m-ink)}.m-cap-body{font-size:13.5px;line-height:1.7;color:var(--m-ink-dim);margin-bottom:18px}.m-cap-rows{border-top:1px solid var(--m-line);padding-top:14px;display:flex;flex-direction:column;gap:10px}.m-cap-row{display:flex;align-items:center;gap:9px;font-size:13px;font-family:var(--m-font-mono)}.m-cap-row.ok{color:var(--m-green)}.m-cap-row.no{color:var(--m-ink-faint)}.m-cap-badges{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--m-line);padding-top:14px}.m-cap-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--m-font-mono);font-size:11.5px;color:var(--m-ink);background:var(--m-paper);border:1px solid var(--m-line-strong);padding:5px 10px;border-radius:999px}.m-cap-badge svg{color:var(--m-green)}.m-cta{padding:0 0 120px}.m-cta-card{background:var(--m-ink);color:#fff;border-radius:20px;padding:64px;text-align:center;position:relative;overflow:hidden}.m-cta-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(52,87,245,.35),transparent 60%);pointer-events:none}.m-cta-icon{color:var(--m-accent);margin-bottom:18px;position:relative}.m-cta-card h2{color:#fff;position:relative}.m-cta-card p{color:#ffffffa6;position:relative}.m-cta-card .m-btn-secondary{color:#fff;border-color:#ffffff40;display:inline-flex;align-items:center;gap:8px}.m-cta-card .m-btn-secondary:hover{border-color:#fff;background:#ffffff14}@media(max-width:1024px){.m-demo-body{grid-template-columns:1fr}.m-demo-sidebar,.m-demo-response{border-right:none;border-left:none;border-top:1px solid var(--m-line)}.m-manifesto-grid{grid-template-columns:1fr}.m-bento{grid-template-columns:repeat(2,1fr)}.m-cap-grid{grid-template-columns:1fr}}@media(max-width:640px){.m-hero{padding:48px 0 24px}.m-bento{grid-template-columns:1fr}.m-section-heading-row{flex-direction:column;align-items:flex-start}.m-section-caption{text-align:left}.m-cta-card{padding:40px 24px}.m-manifesto-statement{padding-left:16px}}.docs{min-height:100vh;background:var(--m-paper);position:relative}.docs-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--m-accent);transform-origin:left center;transform:scaleX(0);z-index:1200;will-change:transform}.docs-hero{background:var(--m-paper-raised);border-bottom:1px solid var(--m-line);padding:calc(var(--nav-height) + 52px) 0 52px}.docs-hero-content{max-width:720px}.docs-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--m-font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--m-accent-ink);background:var(--m-accent-soft);border:1px solid rgba(52,87,245,.18);padding:5px 12px;border-radius:var(--radius-full);margin-bottom:20px}.docs-hero h1{font-size:clamp(2.1rem,4.4vw,3rem);line-height:1.1;color:var(--m-ink);margin-bottom:16px;font-weight:800;letter-spacing:-.03em}.docs-serif{font-family:var(--m-font-serif);font-style:italic;font-weight:400;color:var(--m-accent-ink)}.docs-hero-subtitle{font-size:16.5px;color:var(--m-ink-dim);line-height:1.65;max-width:620px}.docs-hero-subtitle code{font-family:var(--m-font-mono);font-size:14px;background:var(--m-paper);border:1px solid var(--m-line);padding:1px 6px;border-radius:var(--radius-sm)}.docs-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.docs-hero-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-full);border:1px solid var(--m-line);background:var(--m-paper);font-size:13.5px;font-weight:600;color:var(--m-ink-dim);text-decoration:none;transition:all .15s var(--m-ease)}.docs-hero-btn:hover{border-color:var(--m-ink);color:var(--m-ink);transform:translateY(-1px)}.docs-hero-btn.primary{background:var(--m-ink);border-color:var(--m-ink);color:#fff}.docs-hero-btn.primary:hover{background:var(--m-accent);border-color:var(--m-accent);color:#fff}.docs-container{display:grid;grid-template-columns:244px minmax(0,1fr);gap:56px;padding:44px 24px 96px;max-width:1200px;margin:0 auto}.docs-sidebar{position:sticky;top:calc(var(--nav-height) + 26px);max-height:calc(100vh - var(--nav-height) - 56px);overflow-y:auto;scrollbar-width:thin}.docs-sidebar::-webkit-scrollbar{width:5px}.docs-sidebar::-webkit-scrollbar-thumb{background-color:var(--m-line);border-radius:4px}.docs-nav{display:flex;flex-direction:column;gap:4px}.docs-nav-search{position:relative;display:flex;align-items:center;gap:8px;padding:0 10px;margin-bottom:10px;background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:var(--radius-md);color:var(--m-ink-faint);transition:border-color .15s var(--m-ease),box-shadow .15s var(--m-ease)}.docs-nav-search:focus-within{border-color:var(--m-accent);box-shadow:0 0 0 3px var(--e-accent-ring)}.docs-nav-search input{flex:1;min-width:0;padding:8px 0;border:none;outline:none;background:transparent;font-family:var(--font-family);font-size:13px;color:var(--m-ink)}.docs-nav-search input:focus{border:none;box-shadow:none}.docs-nav-search input::placeholder{color:var(--m-ink-faint)}.docs-nav-search kbd{font-family:var(--m-font-mono);font-size:10px;padding:2px 5px;border-radius:4px;background:var(--m-paper);border:1px solid var(--m-line);color:var(--m-ink-faint)}.docs-nav-search:focus-within kbd{opacity:0}.docs-nav-clear{display:flex;align-items:center;justify-content:center;width:17px;height:17px;padding:0;border:none;border-radius:50%;background:var(--m-line);color:var(--m-ink-dim);cursor:pointer}.docs-nav-clear:hover{background:var(--m-ink);color:#fff}.docs-llm-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px 12px;margin-bottom:16px;border:1px dashed var(--m-line-strong);border-radius:var(--radius-md);background:transparent;font-family:var(--font-family);font-size:12.5px;font-weight:600;color:var(--m-ink-dim);cursor:pointer;transition:all .15s var(--m-ease)}.docs-llm-btn:hover{border-color:var(--m-accent);border-style:solid;color:var(--m-accent-ink);background:var(--m-accent-soft)}.docs-nav-group+.docs-nav-group{margin-top:14px}.docs-nav-title{font-family:var(--m-font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--m-ink-faint);margin-bottom:6px;padding-left:10px}.docs-nav-link{position:relative;display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-md);color:var(--m-ink-dim);text-decoration:none;font-size:13.5px;transition:background .15s var(--m-ease),color .15s var(--m-ease)}.docs-nav-link svg{flex-shrink:0;opacity:.55}.docs-nav-link:hover{background:var(--m-paper-raised);color:var(--m-ink)}.docs-nav-link.active{background:var(--m-accent-soft);color:var(--m-accent-ink);font-weight:600}.docs-nav-link.active svg{opacity:1}.docs-nav-link.active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:0 2px 2px 0;background:var(--m-accent)}.docs-nav-empty{padding:16px 10px;font-size:12.5px;color:var(--m-ink-faint)}.docs-nav-toggle{display:none;align-items:center;gap:8px;margin:18px 20px 0;padding:10px 16px;border:1px solid var(--m-line);border-radius:var(--radius-full);background:var(--m-paper-raised);font-family:var(--font-family);font-size:13.5px;font-weight:600;color:var(--m-ink);cursor:pointer}.docs-drawer-overlay{position:fixed;inset:0;z-index:1300;background:#12151c73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:docs-fade .15s ease both}.docs-drawer{position:absolute;top:0;bottom:0;left:0;width:min(320px,86vw);padding:16px;overflow-y:auto;background:var(--m-paper);border-right:1px solid var(--m-line);animation:docs-slide .25s var(--m-ease) both}.docs-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--m-line);font-size:15px;font-weight:700;color:var(--m-ink)}.docs-drawer-head button{display:flex;border:none;background:transparent;color:var(--m-ink-dim);cursor:pointer;padding:4px}@keyframes docs-fade{0%{opacity:0}to{opacity:1}}@keyframes docs-slide{0%{transform:translate(-100%)}to{transform:translate(0)}}.docs-content{min-width:0;max-width:760px}.docs-section{margin-bottom:64px;scroll-margin-top:calc(var(--nav-height) + 30px)}.docs-section h2{display:flex;align-items:center;gap:10px;font-size:1.55rem;color:var(--m-ink);margin-bottom:18px;padding-bottom:13px;border-bottom:1px solid var(--m-line);font-weight:700;letter-spacing:-.02em}.docs-section h2 .section-icon{display:flex;flex:none;width:30px;height:30px;padding:6px;border-radius:var(--radius-sm);background:var(--m-accent-soft);color:var(--m-accent-ink)}.docs-section h3{font-size:1.08rem;color:var(--m-ink);margin:34px 0 12px;font-weight:700;letter-spacing:-.01em}.docs-section p{color:var(--m-ink-dim);line-height:1.72;margin-bottom:16px;font-size:15px}.docs-section strong{color:var(--m-ink);font-weight:700}.docs-section ul,.docs-section>ol,.docs-list{margin:0 0 16px;padding-left:22px;color:var(--m-ink-dim);font-size:15px;line-height:1.72;list-style:disc}.docs-section>ol,.docs-list{list-style:decimal}.docs-section li{margin-bottom:7px}.docs-section p code,.docs-section li code{font-family:var(--m-font-mono);font-size:13px;color:var(--m-accent-ink);background:var(--m-accent-soft);padding:1px 6px;border-radius:var(--radius-sm)}.code-block{background:var(--m-dark-bg);border:1px solid var(--m-dark-line);border-radius:var(--radius-md);overflow:hidden;margin:20px 0}.code-header{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;background:var(--m-dark-surface);border-bottom:1px solid var(--m-dark-line)}.code-language{font-family:var(--m-font-mono);font-size:10.5px;color:var(--m-dark-ink-dim);text-transform:uppercase;font-weight:600;letter-spacing:.08em}.code-block .copy-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--m-dark-line);color:var(--m-dark-ink-dim);padding:4px 10px;border-radius:var(--radius-sm);font-family:var(--m-font-mono);font-size:11px;cursor:pointer;transition:all .15s var(--m-ease)}.code-block .copy-btn:hover{border-color:var(--m-dark-ink-dim);color:var(--m-dark-ink)}.code-block pre{margin:0;padding:16px 18px;overflow-x:auto}.code-block code{font-family:var(--m-font-mono);font-size:12.8px;line-height:1.65;color:var(--m-dark-ink)}.command-table-wrapper{overflow-x:auto;margin:20px 0;border:1px solid var(--m-line);border-radius:var(--radius-md)}.command-table{width:100%;border-collapse:collapse;background:var(--m-paper-raised)}.command-table th,.command-table td{padding:11px 15px;text-align:left;border-bottom:1px solid var(--m-line)}.command-table th{background:var(--m-paper);font-family:var(--m-font-mono);font-weight:700;color:var(--m-ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.command-table td{color:var(--m-ink-dim);font-size:14px;line-height:1.6}.command-table td:first-child{white-space:nowrap}.command-table td code{font-family:var(--m-font-mono);background:var(--m-paper);border:1px solid var(--m-line);padding:3px 8px;border-radius:var(--radius-sm);font-size:12.5px;color:var(--m-ink);font-weight:600}.command-table tr:last-child td{border-bottom:none}.command-table tbody tr:hover td{background:var(--m-paper)}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.feature-card,.tech-card,.role-card,.security-item,.file-item,.practice,.architecture-step{background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:var(--radius-md);transition:border-color .2s var(--m-ease),transform .2s var(--m-ease)}.feature-card{padding:17px}.feature-card:hover,.tech-card:hover{border-color:var(--m-accent);transform:translateY(-2px)}.feature-card h4,.tech-card h4,.role-card h4,.security-item h4,.practice h4{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--m-ink);margin-bottom:6px;font-weight:700}.feature-card h4 svg{color:var(--m-accent);flex:none}.feature-card p,.tech-card p,.role-card p,.security-item p,.practice p{font-size:13px;color:var(--m-ink-dim);margin:0;line-height:1.55}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:20px 0 32px}.tech-card{padding:15px}.tech-card h4{font-family:var(--m-font-mono);font-size:13px}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.role-card{padding:15px}.security-grid,.security-features,.best-practices-list,.file-descriptions{display:flex;flex-direction:column;gap:11px;margin-top:16px}.security-item,.practice{display:flex;gap:13px;padding:15px}.security-item svg{color:var(--m-accent);flex-shrink:0}.security-item code,.practice h4 code,.file-item p code{font-family:var(--m-font-mono);background:var(--m-paper);border:1px solid var(--m-line);padding:1px 5px;border-radius:var(--radius-sm);font-size:12px}.practice-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.practice-icon.good{background:var(--e-good-dim);color:var(--e-good-ink)}.practice-icon.bad{background:var(--e-bad-dim);color:var(--e-bad)}.file-item{padding:15px}.file-item>code{font-family:var(--m-font-mono);font-size:13px;color:var(--m-ink);font-weight:700}.file-danger,.file-safe{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-family:var(--m-font-mono);font-size:10.5px;font-weight:700;margin-left:10px}.file-danger{background:var(--e-bad-dim);color:var(--e-bad)}.file-safe{background:var(--e-good-dim);color:var(--e-good-ink)}.file-item p{margin:8px 0 0;font-size:13px;color:var(--m-ink-dim)}.architecture-step{padding:18px;margin-bottom:14px}.architecture-step h4{font-size:14.5px;color:var(--m-ink);margin-bottom:10px;font-weight:700;display:flex;align-items:center;gap:8px}.architecture-step ol{padding-left:20px;margin:0;color:var(--m-ink-dim);font-size:13.5px;line-height:1.65;list-style:decimal}.architecture-step ol li{margin-bottom:6px}.info-box,.success-box{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-md);margin:20px 0;border:1px solid transparent}.info-box{background:var(--m-accent-soft);border-color:#3457f533}.info-box svg{color:var(--m-accent);flex-shrink:0}.success-box{background:var(--e-good-dim);border-color:#bbf7d0}.success-box svg{color:var(--e-good);flex-shrink:0}.info-box div,.success-box div{font-size:13.5px;color:var(--m-ink-dim);line-height:1.6}.info-box strong,.success-box strong{color:var(--m-ink);font-weight:700}.info-box a{color:var(--m-accent-ink);font-weight:600;text-decoration:underline}.blame-table{font-family:var(--m-font-mono);font-size:12.5px;background:var(--m-dark-bg);border:1px solid var(--m-dark-line);color:var(--m-dark-ink);padding:16px;border-radius:var(--radius-md);overflow-x:auto;white-space:pre;line-height:1.5;margin:20px 0}.blame-table-header{color:var(--m-dark-ink-dim)}.blame-row{display:block}.blame-commit{color:#ffb85c}.blame-user{color:#7ab7ff}.blame-action{color:#c9a8ff}.blame-env{color:#6ee7a7}.blame-source{color:#ff9f6b}.blame-time{color:var(--m-dark-ink-dim)}.faq-item{padding:18px;margin-bottom:12px;background:var(--m-paper-raised);border:1px solid var(--m-line);border-radius:var(--radius-md)}.faq-item h4{font-size:14.5px;font-weight:700;color:var(--m-ink);margin-bottom:8px}.faq-item p{font-size:13.5px;color:var(--m-ink-dim);line-height:1.65;margin:0}.faq-item ul{margin-top:10px;padding-left:20px;font-size:13.5px;color:var(--m-ink-dim);line-height:1.65}.docs-cta{position:relative;overflow:hidden;background:var(--m-ink);border-radius:var(--radius-lg);padding:44px 40px;text-align:center;margin-top:48px}.docs-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 15%,rgba(52,87,245,.35),transparent 62%);pointer-events:none}.docs-cta h2{position:relative;color:#fff;font-size:1.5rem;margin-bottom:8px;border:none;padding:0;font-weight:700;display:block}.docs-cta p{position:relative;color:#ffffffa6;margin-bottom:24px;font-size:15px}.docs-cta-buttons{position:relative;display:flex;gap:11px;justify-content:center;flex-wrap:wrap}.docs-cta .btn{display:inline-flex;align-items:center;gap:7px;padding:11px 24px;border-radius:var(--radius-full);font-weight:600;font-size:14px;text-decoration:none;transition:all .15s var(--m-ease)}.docs-cta .btn-primary{background:#fff;color:var(--m-ink)}.docs-cta .btn-primary:hover{background:var(--m-accent);color:#fff;transform:translateY(-1px)}.docs-cta .btn-secondary{background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.24)}.docs-cta .btn-secondary:hover{background:#ffffff1a;color:#fff;border-color:#ffffff80}@media(max-width:900px){.docs-container{grid-template-columns:minmax(0,1fr);gap:0;padding:24px 20px 64px}.docs-sidebar{display:none}.docs-nav-toggle{display:inline-flex}.docs-hero{padding:calc(var(--nav-height) + 32px) 0 36px}.feature-grid,.role-grid{grid-template-columns:minmax(0,1fr)}.docs-cta{padding:34px 22px}.docs-cta-buttons{flex-direction:column}}@media(prefers-reduced-motion:reduce){.docs-progress{transition:none}}.auth-page{min-height:100vh;background:var(--bg-cream)}.auth-container{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-brand{background:var(--bg-darker);color:#fff;padding:60px;display:flex;align-items:center}.brand-content{max-width:400px}.brand-logo{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:#fff;margin-bottom:48px}.brand-logo .logo-icon{width:44px;height:44px;background:var(--primary-blue)}.brand-logo-img{height:44px;width:auto;object-fit:contain;padding:6px;background:#fff;border-radius:var(--radius-md);flex-shrink:0}.auth-callout{display:flex;align-items:flex-start;gap:11px;padding:12px 15px;margin-bottom:18px;border-radius:var(--radius-md);border:1px solid transparent;font-size:13.5px;font-weight:500;line-height:1.55}.auth-callout svg{flex-shrink:0;margin-top:1px}.auth-callout.info{background:var(--e-accent-dim);border-color:#3457f538;color:var(--e-accent-ink)}.auth-callout.info svg{color:var(--e-accent)}.auth-callout.success{background:var(--e-good-dim);border-color:#bbf7d0;color:var(--e-good-ink)}.auth-callout.success svg{color:var(--e-good)}.auth-subnote{font-size:13px;line-height:1.55;color:var(--e-muted);margin-top:8px}.auth-reassurance{margin-top:16px;text-align:center;font-size:12.5px;line-height:1.5;color:var(--e-ink-dim)}.auth-reassurance strong{color:var(--e-ink)}.pw-strength{display:flex;align-items:center;gap:10px;margin-top:12px}.pw-strength-track{display:flex;gap:3px;flex:1}.pw-strength-seg{flex:1;height:4px;border-radius:2px;background:var(--e-line);transition:background .25s var(--e-ease)}.pw-strength-label{font-family:var(--e-mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;min-width:72px;text-align:right}.pw-strength.bad .pw-strength-seg.on{background:var(--e-bad)}.pw-strength.mid .pw-strength-seg.on{background:var(--e-warn)}.pw-strength.good .pw-strength-seg.on{background:var(--e-good)}.pw-strength.bad .pw-strength-label{color:var(--e-bad)}.pw-strength.mid .pw-strength-label{color:var(--e-warn)}.pw-strength.good .pw-strength-label{color:var(--e-good-ink)}.auth-brand h1{font-size:36px;color:#fff;margin-bottom:16px;line-height:1.2}.auth-brand p{font-size:16px;color:#ffffffb3;line-height:1.7;margin-bottom:40px}.brand-features{display:flex;flex-direction:column;gap:16px}.brand-feature{display:flex;align-items:center;gap:12px;font-size:14px;color:#fffc}.feature-dot{width:8px;height:8px;background:var(--accent-blue);border-radius:50%}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form-container{width:100%;max-width:400px}.auth-header{margin-bottom:32px}.auth-header h2{font-size:28px;margin-bottom:8px}.auth-header p{color:var(--text-light)}.btn-social{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:15px;font-weight:500;color:var(--text-dark)}.btn-social:hover{background:var(--bg-cream);border-color:var(--text-dark)}.auth-form{display:flex;flex-direction:column;gap:20px}.label-row{display:flex;justify-content:space-between;align-items:center}.forgot-link{font-size:13px;color:var(--primary-blue);font-weight:500}.forgot-link:hover{text-decoration:underline}.input-wrapper{position:relative}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light)}.form-input.with-icon{padding-left:44px;padding-right:44px}.toggle-password{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;color:var(--text-light);padding:4px}.toggle-password:hover{color:var(--text-dark)}.password-checks{display:flex;flex-direction:column;gap:8px;margin-top:12px}.password-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-light)}.password-check svg{color:var(--border-light)}.password-check.valid{color:var(--success)}.password-check.valid svg{color:var(--success)}.btn-full{width:100%}.btn.loading{position:relative;color:transparent}.btn.loading .spinner{position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.terms-text{font-size:13px;color:var(--text-light);text-align:center}.terms-text a{color:var(--primary-blue)}.terms-text a:hover{text-decoration:underline}.auth-footer{margin-top:24px;text-align:center;font-size:14px;color:var(--text-light)}.auth-footer a{color:var(--primary-blue);font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.auth-error svg{flex-shrink:0}.field-error{display:block;color:#dc2626;font-size:12px;margin-top:4px}.input-error{border-color:#dc2626!important}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--bg-cream)}.loading-screen p{font-size:18px;font-weight:500;color:var(--text-dark)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-radius:10px;overflow:hidden;border:1px solid #e0e0e0}.auth-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;background:transparent;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-tab.active{background:var(--primary-blue, #4361ee);color:#fff}.auth-tab:not(.active):hover{background:#f5f5f5}.srp-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#4361ee0f;border:1px solid rgba(67,97,238,.15);border-radius:10px;margin-bottom:20px;font-size:13px;color:#555;line-height:1.5}.srp-notice svg{color:var(--primary-blue, #4361ee);flex-shrink:0;margin-top:1px}.passkey-info{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#4caf500f;border:1px solid rgba(76,175,80,.15);border-radius:10px;margin-bottom:20px}.passkey-info svg{color:#4caf50;flex-shrink:0;margin-top:2px}.passkey-info p{font-size:13px;color:#555;line-height:1.6;margin:0}@media(max-width:900px){.auth-container{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-panel{padding:24px}}.legal-page{padding:120px 20px 80px;max-width:900px;margin:0 auto;color:var(--text-dark);line-height:1.7;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.legal-header{margin-bottom:44px;padding-bottom:28px;border-bottom:1px solid var(--border-light)}.legal-header h1{font-size:clamp(2.2rem,5vw,3rem);margin-bottom:12px;color:var(--m-ink);letter-spacing:-.03em;font-weight:800}.legal-header p{color:var(--m-ink-dim);font-family:var(--m-font-mono);font-size:.85rem;letter-spacing:.02em}.legal-card{background:var(--m-paper-raised);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:44px 52px;box-shadow:var(--shadow-sm)}.legal-content h2{font-size:1.6rem;margin-top:45px;margin-bottom:20px;color:var(--text-dark);font-weight:700;letter-spacing:-.01em;border-bottom:1px solid var(--border-light);padding-bottom:12px}.legal-content h2:first-child{margin-top:0}.legal-content h3{font-size:1.25rem;margin-top:30px;margin-bottom:15px;color:var(--text-dark);font-weight:600}.legal-content p{margin-bottom:20px;color:var(--text-light);font-size:1.05rem}.legal-content ul{margin-bottom:24px;padding-left:24px}.legal-content li{margin-bottom:10px;color:var(--text-light);font-size:1.05rem}.legal-content strong{color:var(--text-dark);font-weight:600}.legal-content a{color:var(--m-accent);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s ease}.legal-content a:hover{border-color:var(--m-accent)}.legal-content .highlight-box{background:var(--m-accent-soft);border-left:3px solid var(--m-accent);padding:20px 24px;border-radius:0 var(--radius-md) var(--radius-md) 0;margin:30px 0}.legal-content .highlight-box p{margin-bottom:0;color:var(--text-dark);font-weight:500}@media(max-width:768px){.legal-page{padding-top:100px}.legal-header h1{font-size:2.5rem}.legal-card{padding:30px 20px}}.not-found-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--m-paper);text-align:center;padding:40px 20px}.nf-background-elements{position:absolute;inset:0;pointer-events:none;z-index:1}.nf-blur-circle{position:absolute;border-radius:50%;filter:blur(90px);opacity:.16}.nf-blur-1{width:420px;height:420px;background:var(--m-accent);top:-140px;left:-120px;animation:nf-float 12s ease-in-out infinite}.nf-blur-2{width:520px;height:520px;background:var(--e-violet);bottom:-220px;right:-120px;animation:nf-float 14s ease-in-out infinite reverse}.nf-glitch-container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px}.nf-glitch-container:before{content:"envy: exit status 404";font-family:var(--m-font-mono);font-size:12px;letter-spacing:.08em;color:var(--m-ink-faint)}.nf-error-code{font-size:clamp(5.5rem,18vw,11rem);font-weight:800;line-height:.9;margin:0;letter-spacing:-.04em;color:var(--m-ink);position:relative;display:inline-block}.nf-error-code:after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:4px;background:var(--m-accent);border-radius:2px;transform:rotate(-4deg)}.nf-title{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;color:var(--m-ink);margin-top:26px}.nf-key-icon{color:var(--m-accent)!important}.nf-description{position:relative;z-index:2;color:var(--m-ink-dim);font-size:1.02rem;max-width:460px;margin:14px auto 32px;line-height:1.65}.nf-home-btn{position:relative;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:12px 26px;border-radius:var(--radius-full);background:var(--m-ink);border:1px solid var(--m-ink);color:#fff;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;overflow:hidden;transition:background .2s var(--m-ease),transform .2s var(--m-ease),box-shadow .2s var(--m-ease)}.nf-home-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .55s var(--m-ease)}.nf-home-btn:hover{background:var(--m-accent);border-color:var(--m-accent);transform:translateY(-2px);box-shadow:0 12px 28px -14px var(--m-accent)}.nf-home-btn:hover:before{left:100%}.nf-routes{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px}.nf-route{font-family:var(--m-font-mono);font-size:12px;color:var(--m-ink-dim);background:var(--m-paper-raised);border:1px solid var(--m-line);padding:6px 13px;border-radius:var(--radius-full);text-decoration:none;transition:border-color .15s var(--m-ease),color .15s var(--m-ease)}.nf-route:hover{border-color:var(--m-accent);color:var(--m-accent-ink)}@keyframes nf-float{0%{transform:translate(0)}50%{transform:translate(30px,30px)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.nf-blur-circle{animation:none}}.cw-widget,.cw-widget *{box-sizing:border-box}.cw-widget{--cw-ink: #16211D;--cw-ink-soft: #223129;--cw-accent: #3F7C6B;--cw-accent-soft: #E7F0EC;--cw-bg: #FFFFFF;--cw-surface: #F6F5F3;--cw-bubble-assistant: #EFEDE9;--cw-text: #1A1A1A;--cw-text-muted: #767671;--cw-text-on-ink: #F3F4F1;--cw-border: #E7E5E0;--cw-radius-panel: 20px;--cw-radius-bubble: 14px;--cw-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--cw-shadow: 0 20px 60px -12px rgba(22, 33, 29, .35), 0 4px 20px -4px rgba(22, 33, 29, .15);--cw-z: 2147483000;position:fixed;inset:auto 24px 24px auto;z-index:var(--cw-z);font-family:var(--cw-font);color:var(--cw-text);line-height:1.45}.cw-launcher{position:absolute;right:0;bottom:0;width:60px;height:60px;border-radius:50%;border:none;background:var(--cw-ink);color:var(--cw-text-on-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--cw-shadow);transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease}.cw-launcher:hover{transform:scale(1.06);background:var(--cw-ink-soft)}.cw-launcher:focus-visible{outline:2px solid var(--cw-accent);outline-offset:3px}.cw-launcher:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 #3f7c6b8c;animation:cw-breathe 2.6s ease-out infinite}.cw-widget.cw-open .cw-launcher:after{animation:none;box-shadow:none}@keyframes cw-breathe{0%{box-shadow:0 0 #3f7c6b73}70%{box-shadow:0 0 0 14px #3f7c6b00}to{box-shadow:0 0 #3f7c6b00}}.cw-launcher-icon{position:absolute;transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex}.cw-icon-close{opacity:0;transform:rotate(-90deg) scale(.6)}.cw-icon-chat{opacity:1;transform:rotate(0) scale(1)}.cw-widget.cw-open .cw-icon-chat{opacity:0;transform:rotate(90deg) scale(.6)}.cw-widget.cw-open .cw-icon-close{opacity:1;transform:rotate(0) scale(1)}.cw-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#c24e3a;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--cw-bg)}.cw-panel{position:absolute;right:0;bottom:76px;width:380px;height:600px;max-height:calc(100vh - 116px);background:var(--cw-bg);border-radius:var(--cw-radius-panel);box-shadow:var(--cw-shadow);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transform:scale(.92) translateY(12px);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.cw-widget.cw-open .cw-panel{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}.cw-header{flex:none;display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;background:var(--cw-ink);color:var(--cw-text-on-ink)}.cw-avatar{width:36px;height:36px;border-radius:50%;background:var(--cw-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.02em;flex:none;overflow:hidden;box-shadow:0 2px 6px #00000026}.cw-avatar-logo{width:100%;height:100%;object-fit:contain;transform:scale(1.15)}.cw-header-text{flex:1;min-width:0}.cw-title{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.cw-status{font-size:12px;color:#f3f4f1ad;display:flex;align-items:center;gap:5px;margin-top:2px}.cw-status-dot{width:6px;height:6px;border-radius:50%;background:#6fbe9e;flex:none}.cw-close{flex:none;width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:#f3f4f1bf;cursor:pointer;display:flex;align-items:center;justify-content:center}.cw-close:hover{background:#ffffff1a;color:#fff}.cw-close:focus-visible{outline:2px solid var(--cw-accent);outline-offset:2px}.cw-messages{flex:1;overflow-y:auto;padding:18px 16px;background:var(--cw-surface);display:flex;flex-direction:column;gap:12px}.cw-messages::-webkit-scrollbar{width:8px}.cw-messages::-webkit-scrollbar-thumb{background:#16211d26;border-radius:8px}.cw-messages::-webkit-scrollbar-track{background:transparent}.cw-empty-state{margin:auto 0 0;padding:4px 2px 8px;color:var(--cw-text-muted);font-size:13.5px}.cw-empty-state p{margin:0 0 12px}.cw-quick-replies{display:flex;flex-direction:column;gap:8px}.cw-chip{align-self:flex-start;max-width:100%;text-align:left;padding:9px 14px;border-radius:12px;border:1px solid var(--cw-border);background:var(--cw-bg);color:var(--cw-text);font-size:13px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.cw-chip:hover{border-color:var(--cw-accent);transform:translateY(-1px)}.cw-chip:focus-visible{outline:2px solid var(--cw-accent);outline-offset:1px}.cw-msg{display:flex;max-width:86%;min-width:0;animation:cw-msg-in .22s ease both}@keyframes cw-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cw-msg-user{align-self:flex-end}.cw-msg-assistant{align-self:flex-start}.cw-bubble{padding:10px 13px;border-radius:var(--cw-radius-bubble);font-size:13.5px;white-space:pre-wrap;word-wrap:break-word;min-width:0;max-width:100%}.cw-msg-user .cw-bubble{background:var(--cw-accent);color:#fff;border-bottom-right-radius:4px}.cw-msg-assistant .cw-bubble{background:var(--cw-bubble-assistant);color:var(--cw-text);border-bottom-left-radius:4px}.cw-typing-dots{display:flex;gap:4px;padding:4px 2px}.cw-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--cw-text-muted);opacity:.6;animation:cw-bounce 1.1s ease-in-out infinite}.cw-limit{font-size:11px;color:var(--cw-text-muted);text-align:center;padding:0 16px 12px;background:var(--cw-bg)}.cw-bubble h1,.cw-bubble h2,.cw-bubble h3,.cw-bubble h4,.cw-bubble h5,.cw-bubble h6{margin:12px 0 8px;font-size:1.15em;line-height:1.3}.cw-bubble h1:first-child,.cw-bubble h2:first-child,.cw-bubble h3:first-child,.cw-bubble h4:first-child,.cw-bubble h5:first-child,.cw-bubble h6:first-child{margin-top:0}.cw-bubble p{margin:0 0 10px}.cw-bubble p:last-child{margin-bottom:0}.cw-bubble a{color:inherit;text-decoration:underline;text-underline-offset:3px}.cw-code-wrapper{position:relative;margin:10px 0}.cw-code-wrapper pre{margin:0!important}.cw-copy-btn{position:absolute;top:8px;right:8px;background:#0006;border:none;border-radius:4px;color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;z-index:2}.cw-code-wrapper:hover .cw-copy-btn{opacity:1}.cw-copy-btn:hover{background:#000000b3}.cw-bubble pre{padding:12px 36px 12px 12px;border-radius:8px;overflow-x:auto}.cw-msg-assistant .cw-bubble pre{background:#0000000a;border:1px solid rgba(0,0,0,.06)}.cw-msg-user .cw-bubble pre{background:#00000040}.cw-bubble code{font-family:monospace;padding:3px 5px;border-radius:4px;font-size:.9em}.cw-msg-assistant .cw-bubble code{background:#0000000f;color:var(--cw-ink)}.cw-msg-user .cw-bubble code{background:#ffffff26;color:#fff}.cw-bubble pre code{background:transparent!important;padding:0;color:inherit!important}.cw-bubble ul,.cw-bubble ol{margin:8px 0;padding-left:20px}.cw-bubble li{margin-bottom:4px}.cw-bubble table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.9em;overflow-x:auto}.cw-bubble th,.cw-bubble td{padding:8px 10px;text-align:left}.cw-msg-assistant .cw-bubble th,.cw-msg-assistant .cw-bubble td{border:1px solid rgba(0,0,0,.1)}.cw-msg-assistant .cw-bubble th{background:#0000000a;font-weight:600}.cw-msg-user .cw-bubble th,.cw-msg-user .cw-bubble td{border:1px solid rgba(255,255,255,.2)}.cw-msg-user .cw-bubble th{background:#ffffff1a;font-weight:600}.cw-back{background:transparent;border:none;color:inherit;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s ease}.cw-back:hover{background:#ffffff1a}.cw-session-list{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--cw-surface)}.cw-session-list-header{padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cw-border)}.cw-session-list-header h3{margin:0;font-size:14px;font-weight:600;color:var(--cw-text)}.cw-new-chat-btn{display:flex;align-items:center;gap:4px;background:var(--cw-accent);color:#fff;border:none;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.cw-new-chat-btn:hover{opacity:.9}.cw-sessions{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.cw-empty-sessions{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--cw-text-muted);gap:12px;font-size:14px}.cw-session-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--cw-bg);border:1px solid var(--cw-border);border-radius:12px;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.cw-session-item:hover{border-color:var(--cw-accent);box-shadow:0 2px 8px #0000000a}.cw-session-icon{color:var(--cw-text-muted);flex:none}.cw-session-details{flex:1;min-width:0}.cw-session-title{font-size:14px;font-weight:500;color:var(--cw-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.cw-session-date{font-size:12px;color:var(--cw-text-muted)}.cw-limit-list{background:transparent;padding-bottom:16px}.cw-typing-dots span:nth-child(2){animation-delay:.15s}.cw-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes cw-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.cw-composer{flex:none;display:flex;align-items:flex-end;gap:8px;padding:12px;background:var(--cw-bg);border-top:1px solid var(--cw-border)}.cw-input{flex:1;resize:none;border:1px solid var(--cw-border);border-radius:14px;padding:10px 12px;font-family:inherit;font-size:13.5px;color:var(--cw-text);max-height:120px;min-height:40px;background:var(--cw-bg)}.cw-input:focus-visible,.cw-input:focus{outline:none;border-color:var(--cw-accent)}.cw-input::placeholder{color:var(--cw-text-muted)}.cw-send{flex:none;width:40px;height:40px;border-radius:12px;border:none;background:var(--cw-ink);color:var(--cw-text-on-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,opacity .15s ease}.cw-send:hover:not(:disabled){background:var(--cw-ink-soft)}.cw-send:disabled{opacity:.4;cursor:not-allowed}.cw-send:focus-visible{outline:2px solid var(--cw-accent);outline-offset:2px}@media(max-width:480px){.cw-widget{inset:auto 16px 16px auto}.cw-panel{position:fixed;inset:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0}}@media(prefers-reduced-motion:reduce){.cw-launcher:after{animation:none}.cw-panel,.cw-launcher,.cw-launcher-icon,.cw-msg,.cw-typing-dots span{animation:none!important;transition-duration:.01ms!important}}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s}
