@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--sidebar-bg:#010409;--sidebar-width:232px;--sidebar-border:#21262d;--sidebar-text:#8b949e;--sidebar-text-active:#e6edf3;--sidebar-hover:hsla(0,0%,100%,.04);--sidebar-active-bg:rgba(16,185,129,.08);--sidebar-active-border:#10b981;--bg:#0d1117;--bg-2:#010409;--surface:#161b22;--surface-2:#1c2128;--surface-hover:#21262d;--border:#30363d;--border-subtle:#21262d;--border-focus:#10b981;--text:#e6edf3;--text-2:#c9d1d9;--muted:#8b949e;--muted-2:#6e7681;--primary:#10b981;--primary-hover:#34d399;--primary-dim:#059669;--primary-weak:rgba(16,185,129,.1);--primary-text:#6ee7b7;--success:#3fb950;--success-weak:rgba(63,185,80,.12);--danger:#f85149;--danger-weak:rgba(248,81,73,.1);--danger-hover:#ff7b72;--warning:#e3b341;--warning-weak:rgba(227,179,65,.1);--info:#58a6ff;--info-weak:rgba(88,166,255,.1);--shadow-xs:0 1px 0 rgba(0,0,0,.5);--shadow-sm:0 0 0 1px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.35);--shadow:0 0 0 1px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.45);--shadow-lg:0 0 0 1px rgba(0,0,0,.6),0 16px 48px rgba(0,0,0,.6);--glow:0 0 20px rgba(16,185,129,.15),0 0 40px rgba(16,185,129,.05);--radius-sm:4px;--radius:6px;--radius-lg:8px;--radius-xl:12px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13.5px;line-height:1.5;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:inherit}.layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow:hidden}.sidebar-logo{gap:10px;padding:18px 14px 14px;border-bottom:1px solid var(--sidebar-border)}.sidebar-logo,.sidebar-logo-icon{display:flex;align-items:center;flex-shrink:0}.sidebar-logo-icon{width:30px;height:30px;background:var(--primary);border-radius:var(--radius-sm);justify-content:center;color:#021a10;box-shadow:0 0 12px rgba(16,185,129,.4)}.sidebar-logo-text{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em}.sidebar-logo-sub{font-size:9.5px;color:var(--muted-2);margin-top:1px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.sidebar-nav{flex:1 1;padding:10px 6px;overflow-y:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:13px;font-weight:450;transition:background .1s,color .1s;cursor:pointer;position:relative;margin-bottom:1px}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--primary-text)}.nav-item.active:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:2px;background:var(--primary);border-radius:0 2px 2px 0;box-shadow:0 0 6px rgba(16,185,129,.6)}.nav-item svg{flex-shrink:0;opacity:.65}.nav-item.active svg{opacity:1;color:var(--primary)}.nav-item:hover svg{opacity:.85}.sidebar-footer{padding:10px 6px;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-user{gap:9px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--sidebar-text)}.sidebar-avatar,.sidebar-user{display:flex;align-items:center}.sidebar-avatar{width:26px;height:26px;background:var(--primary);border-radius:50%;justify-content:center;font-size:10px;font-weight:700;color:#021a10;flex-shrink:0}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{font-size:12px;font-weight:500;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10px;color:var(--muted-2);letter-spacing:.04em}.sidebar-logout{width:26px;height:26px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;flex-shrink:0}.sidebar-logout:hover{background:var(--danger-weak);color:var(--danger-hover)}.header{justify-content:space-between;padding:0 24px;height:52px;background:var(--bg);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:20}.header,.header-left{display:flex;align-items:center}.header-left{gap:10px}.header-title{font-size:14px;font-weight:600;color:var(--text-2)}.header-right{display:flex;align-items:center;gap:8px}.header-search-btn{display:flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:12.5px;cursor:pointer;transition:border-color .12s,color .12s;font-family:inherit;white-space:nowrap}.header-search-btn:hover{border-color:var(--primary);color:var(--primary-text)}.header-search-kbd{display:flex;align-items:center;gap:2px;font-size:10.5px;color:var(--muted-2)}.header-search-kbd kbd{background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-family:inherit;font-size:10px;line-height:1.4}.memory-count-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;background:var(--primary-weak);color:var(--primary-text);border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid rgba(16,185,129,.2)}.content{padding:24px}.page-header{margin-bottom:20px}.page-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.025em}.page-subtitle{font-size:13px;color:var(--muted);margin-top:3px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-xs);transition:border-color .15s}.card:hover{border-color:var(--border-focus)}.card:hover:before{content:""}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title{font-size:13px;font-weight:600;color:var(--text)}.card-subtitle{font-size:11.5px;color:var(--muted);margin-top:2px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,0),transparent);transition:background .2s}.stat-card:hover{border-color:var(--primary);box-shadow:var(--glow)}.stat-card:hover:after{background:linear-gradient(90deg,transparent,rgba(16,185,129,.5),transparent)}.stat-card-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.stat-card-icon.indigo{background:rgba(16,185,129,.08);color:var(--primary-text);border-color:rgba(16,185,129,.2)}.stat-card-icon.purple{background:rgba(139,92,246,.08);color:#c4b5fd;border-color:rgba(139,92,246,.2)}.stat-card-icon.blue{background:rgba(88,166,255,.08);color:#93c5fd;border-color:rgba(88,166,255,.2)}.stat-card-icon.green{background:rgba(63,185,80,.08);color:#86efac;border-color:rgba(63,185,80,.2)}.stat-card-icon.orange{background:rgba(227,179,65,.08);color:#fcd34d;border-color:rgba(227,179,65,.2)}.stat-value{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.grid{display:grid;grid-gap:14px;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{padding:8px 12px;text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.table td,.table th:hover{color:var(--text-2)}.table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr{transition:background .08s}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.table a{color:var(--primary-text);font-weight:500}.table a:hover{color:var(--primary-hover);text-decoration:underline}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge.preference{background:var(--info-weak);color:var(--info);border-color:rgba(88,166,255,.2)}.badge.fact{background:var(--success-weak);color:var(--success);border-color:rgba(63,185,80,.2)}.badge.constraint{background:rgba(139,92,246,.1);color:#c4b5fd;border-color:rgba(139,92,246,.2)}.badge.project{background:var(--warning-weak);color:var(--warning);border-color:rgba(227,179,65,.2)}.badge.note{background:hsla(0,0%,100%,.04)}.badge.note,.badge.source{color:var(--muted);border-color:var(--border)}.badge.source{background:hsla(0,0%,100%,.03)}.badge.active{background:var(--primary-weak);color:var(--primary-text);border-color:rgba(16,185,129,.25)}.badge.archived{background:hsla(0,0%,100%,.04);color:var(--muted-2);border-color:var(--border-subtle)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:12.5px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s,color .1s;font-family:inherit;line-height:1.4;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--muted);color:var(--text)}.btn:active{opacity:.85;transform:translateY(.5px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary);color:#021a10;border-color:var(--primary);font-weight:600;box-shadow:0 0 12px rgba(16,185,129,.25)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 0 20px rgba(16,185,129,.35)}.btn.danger{background:var(--danger-weak);color:var(--danger-hover);border-color:rgba(248,81,73,.25)}.btn.danger:hover{background:rgba(248,81,73,.18)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--surface-2);color:var(--text-2);border-color:transparent}.btn.sm{padding:4px 9px;font-size:11.5px}.btn.lg{padding:9px 18px;font-size:13.5px;font-weight:600}.input,.select,.textarea{width:100%;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;transition:border-color .12s,box-shadow .12s;line-height:1.4}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(16,185,129,.12)}.input::placeholder,.textarea::placeholder{color:var(--muted-2)}.input:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed;opacity:.6}.textarea{resize:vertical;min-height:80px}.select option{background:var(--surface-2);color:var(--text)}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{font-size:12px;font-weight:600;color:var(--text-2)}.search-row{display:flex;gap:8px;flex-wrap:wrap}.search-row .input{flex:1 1;min-width:200px}.search-row .select{width:auto;min-width:130px}.actions{gap:5px;flex-wrap:wrap}.actions,.pagination{display:flex;align-items:center}.pagination{justify-content:space-between;padding:12px 0 0}.pagination-info{font-size:12px;color:var(--muted)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--muted);text-align:center;gap:8px}.empty-icon{opacity:.2}.empty-title{font-size:14px;font-weight:600;color:var(--muted)}.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:6px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow);font-size:13px;min-width:260px;max-width:360px;pointer-events:all;animation:toast-in .18s ease}.toast.success{border-color:rgba(63,185,80,.35)}.toast.error{border-color:rgba(248,81,73,.35)}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast.info .toast-icon{color:var(--info)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{flex:1 1;line-height:1.4}.toast-close{background:none;border:none;color:var(--muted-2);cursor:pointer;padding:0;display:flex;align-items:center;flex-shrink:0}.toast-close:hover{color:var(--muted)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cmd-overlay{position:fixed;inset:0;background:rgba(1,4,9,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:100px;padding-left:16px;padding-right:16px}.cmd-panel{width:100%;max-width:540px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px rgba(16,185,129,.06);overflow:hidden}.cmd-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.cmd-input-row svg{color:var(--muted);flex-shrink:0}.cmd-input{flex:1 1;border:none;outline:none;font-size:14px;color:var(--text);background:transparent;font-family:inherit}.cmd-input::placeholder{color:var(--muted)}.cmd-results{max-height:340px;overflow-y:auto}.cmd-hint{padding:28px}.cmd-hint,.cmd-loading{text-align:center;color:var(--muted);font-size:12.5px}.cmd-loading{padding:20px}.cmd-result-item{display:flex;align-items:flex-start;gap:11px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background .08s}.cmd-result-item:last-child{border-bottom:none}.cmd-result-item:hover{background:var(--surface-2)}.cmd-result-icon{width:30px;height:30px;background:var(--primary-weak);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary-text);flex-shrink:0;border:1px solid rgba(16,185,129,.15)}.cmd-result-title{font-size:13px;font-weight:600;color:var(--text)}.cmd-result-meta{font-size:11.5px;color:var(--muted);margin-top:1px}.cmd-footer{padding:7px 14px;background:var(--surface-2);border-top:1px solid var(--border);display:flex;gap:14px;font-size:11px;color:var(--muted-2);align-items:center}.cmd-footer kbd{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:10px}.modal-overlay{position:fixed;inset:0;background:rgba(1,4,9,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:80;padding:24px}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:22px}.modal-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:7px}.modal-message{font-size:13px;color:var(--text-2);line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.login-shell{min-height:100vh;background:var(--bg-2);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.login-blob{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;animation:blob-drift 14s ease-in-out infinite alternate}.login-blob-1{width:480px;height:480px;background:rgba(16,185,129,.08);top:-120px;right:-80px}.login-blob-2{width:360px;height:360px;background:rgba(16,185,129,.05);bottom:-80px;left:-60px;animation-delay:-7s}@keyframes blob-drift{0%{transform:translate(0) scale(1)}to{transform:translate(24px,16px) scale(1.04)}}@media (prefers-reduced-motion:reduce){.login-blob{animation:none}}.login-backdrop{display:none}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-lg),0 0 0 1px rgba(16,185,129,.06);position:relative;z-index:1}.login-card:before{content:"";position:absolute;top:-1px;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);border-radius:999px}.login-mark{width:44px;height:44px;background:var(--primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#021a10;margin-bottom:20px;box-shadow:0 0 20px rgba(16,185,129,.4);letter-spacing:-.05em}.login-card h1{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.025em;margin-bottom:5px}.login-card>p{font-size:13px;color:var(--muted);margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:14px}.login-label{font-size:11.5px;font-weight:600;color:var(--text-2);display:block;margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}.login-form .input{background:var(--bg-2);border:1px solid var(--border);color:var(--text);padding:10px 12px;font-size:13.5px;border-radius:var(--radius-sm)}.login-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,185,129,.12);outline:none}.login-form .input::placeholder{color:var(--muted-2)}.login-form .btn.primary{padding:10px;font-size:13.5px;font-weight:600;border-radius:var(--radius-sm);background:var(--primary);border:none;color:#021a10;box-shadow:0 0 16px rgba(16,185,129,.3);transition:background .12s,box-shadow .12s,opacity .12s;text-align:center;justify-content:center;width:100%;letter-spacing:.01em}.login-form .btn.primary:hover{background:var(--primary-hover);box-shadow:0 0 24px rgba(16,185,129,.45)}.login-form .btn.primary:disabled{opacity:.5;cursor:not-allowed}.login-error{display:flex;align-items:center;gap:8px;padding:9px 11px;background:var(--danger-weak);border:1px solid rgba(248,81,73,.2);border-radius:var(--radius-sm);font-size:12.5px;color:var(--danger-hover)}.detail-meta{display:flex;flex-wrap:wrap;gap:20px;padding:14px 0}.detail-meta-item{display:flex;flex-direction:column;gap:3px}.detail-meta-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.detail-meta-value{font-size:13px;color:var(--text-2)}.importance-stars{display:flex;gap:3px}.importance-star{font-size:14px;color:var(--border)}.importance-star.lit{color:var(--warning)}.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--primary-weak);color:var(--primary-text);font-size:11.5px;font-weight:600;border:1px solid rgba(16,185,129,.2)}.muted,.section-title{color:var(--muted)}.section-title{font-size:10.5px;font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.09em}.divider{height:1px;background:var(--border-subtle);margin:14px 0}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid-2,.grid-3{grid-template-columns:1fr}}@media (max-width:640px){.grid-4{grid-template-columns:1fr}.content{padding:14px}.header{padding:0 14px}}.tab-row{display:flex;gap:6px;flex-wrap:wrap}.tab-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:12px;font-weight:500;transition:border-color .1s,color .1s;cursor:pointer}.tab-chip:hover{border-color:var(--muted);color:var(--text)}.tab-chip.active{background:var(--primary-weak);color:var(--primary-text);border-color:rgba(16,185,129,.3)}.tab-count{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 5px;font-size:10.5px;line-height:1.6}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tab-row{overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.tab-row::-webkit-scrollbar{display:none}@media (max-width:768px){.header-search-btn span:not(.header-search-kbd),.memory-count-badge{display:none}.tab-chip{white-space:nowrap}}.sidebar-corner-links{margin-bottom:6px}.nav-item.compact{padding:6px 10px;font-size:12px}