:root{--p1-black: #080808;--p1-dark: #0e0e0e;--p1-dark-gray: #141414;--p1-mid-gray: #1a1a1a;--p1-border: #262626;--p1-border-light: #353535;--p1-white: #ffffff;--p1-off-white: #ededed;--p1-muted: #999999;--p1-subtle: #6b6b6b;--p1-link: #8bb4f0;--p1-liminal: #7c5cfc;--p1-accent: #0891b2;--p1-accent-light: #22d3ee;--font-sans: "Inter", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sidebar-width: 280px;--transition-fast: .12s ease;--transition-normal: .2s ease}html{font-size:16px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--p1-black);color:var(--p1-off-white);font-size:.94rem;line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p1-border);border-radius:3px}:focus-visible{outline:1px solid var(--p1-muted);outline-offset:2px}::selection{background:#ffffff26}.markdown-content{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;min-width:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin-top:1em;margin-bottom:.5em;font-weight:600;color:var(--p1-white)}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.12rem}.markdown-content h3{font-size:1rem}.markdown-content p{margin-bottom:.8em;line-height:1.65;font-size:.94rem}.markdown-content ul,.markdown-content ol{margin:.5em 0;padding-left:1.5em}.markdown-content li{margin-bottom:.25em;line-height:1.6}.markdown-content code{font-family:var(--font-mono);font-size:.83em;background:#ffffff12;padding:.15em .4em;border-radius:3px;color:var(--p1-off-white);word-break:break-all}.markdown-content pre{background:#ffffff0a;border-radius:6px;padding:1em;overflow-x:auto;margin:.75em 0;border:1px solid var(--p1-border);max-width:100%}.markdown-content pre code{background:none;padding:0;word-break:normal}.markdown-content strong{color:var(--p1-white);font-weight:600}.markdown-content a{color:var(--p1-link);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content table{border-collapse:collapse;margin:.75em 0;width:100%;font-size:.85rem}.markdown-content th,.markdown-content td{border:1px solid var(--p1-border);padding:6px 10px;text-align:left}.markdown-content th{background:#ffffff0a;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hover-row{transition:background .15s ease,border-color .15s ease}.hover-row:hover{background:#ffffff0f}.hover-row.is-active:hover{background:var(--p1-border)}.hover-btn{transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease}.hover-btn:hover{background:#ffffff24;border-color:#ffffff59;color:var(--p1-white);box-shadow:0 1px #ffffff14 inset,0 2px 8px #0006}.hover-btn:active{transform:translateY(1px)}button:not(.hover-btn):not(.hover-btn-primary):not(.hover-btn-accent):not(.hover-icon):not(.hover-delete):not(.hover-collapse):not(.hover-row):not(:disabled){transition:filter .15s ease,background .15s ease}button:not(.hover-btn):not(.hover-btn-primary):not(.hover-btn-accent):not(.hover-icon):not(.hover-delete):not(.hover-collapse):not(.hover-row):not(:disabled):hover{filter:brightness(1.2)}.hover-btn-primary{transition:filter .15s ease,box-shadow .15s ease,transform .1s ease}.hover-btn-primary:hover{filter:brightness(1.15);box-shadow:0 2px 10px #0891b266}.hover-btn-primary:active{transform:translateY(1px)}.hover-btn-accent{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.hover-btn-accent.cyan:hover{background:#0891b247;border-color:#0891b2cc;box-shadow:0 0 0 3px #0891b21f}.hover-btn-accent.amber:hover{background:#f59e0b47;border-color:#f59e0bbf;box-shadow:0 0 0 3px #f59e0b1f}.hover-btn-accent:active{transform:translateY(1px)}.hover-btn:hover,.hover-btn-accent.cyan:hover,.hover-btn-accent.amber:hover{cursor:pointer}.hover-icon{transition:background .15s ease,color .15s ease,transform .1s ease}.hover-icon:hover{background:#ffffff1a;color:var(--p1-white)}.hover-icon:active{transform:scale(.94)}.hover-collapse{transition:background .15s ease,color .15s ease}.hover-collapse:hover{color:var(--p1-accent-light)!important;background:#0891b229!important}.hover-delete{transition:background .15s ease,color .15s ease}.hover-delete:hover{color:#ef4444!important;background:#ef44442e!important}.hover-collapse:hover{color:var(--p1-accent-light)!important;background:#0891b214!important}.hover-delete:hover{color:#ef4444!important;background:#ef44441a!important}.hover-btn-reject{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.hover-btn-reject:hover{background:#ef444440!important;border-color:#ef4444b3!important;box-shadow:0 0 0 3px #ef44441f}.hover-btn-reject:active{transform:translateY(1px)}.porter-mobile-topbar,.porter-mobile-backdrop{display:none}.porter-input-area{padding-bottom:env(safe-area-inset-bottom,0)!important}@media (max-width: 768px){.porter-app-root>:first-child{position:fixed;top:0;bottom:0;left:0;z-index:30;transform:translate(-100%);transition:transform .22s ease;box-shadow:4px 0 24px #00000080;width:min(86vw,320px)!important}.porter-app-root.mobile-nav-open>:first-child{transform:translate(0)}.porter-mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:25;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.porter-mobile-topbar{display:flex;align-items:center;justify-content:flex-start;padding:max(env(safe-area-inset-top,0),10px) 14px 8px;background:var(--p1-black);flex-shrink:0}.porter-mobile-hamburger{background:transparent;border:none;color:var(--p1-off-white);padding:8px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.porter-chat{width:100%!important;min-width:0!important}.porter-messages{padding-left:14px!important;padding-right:14px!important}.porter-messages>div:first-child{max-width:100%!important}.porter-messages .msg-bubble{max-width:92%!important}.porter-input-area textarea,.porter-input-area input[type=text],.porter-input-area input:not([type]),input[type=text],input[type=email],input[type=search],textarea{font-size:16px!important}.porter-input-area{padding-left:12px!important;padding-right:12px!important;padding-bottom:max(env(safe-area-inset-bottom,0),10px)!important}}@media (max-width: 380px){.porter-messages{padding-left:10px!important;padding-right:10px!important}}.ke-mobile-sessions-btn,.ke-sessions-backdrop{display:none}@media (max-width: 768px){.ke-topbar{flex-wrap:wrap!important;gap:8px!important;padding:10px 12px!important;row-gap:8px!important}.ke-topbar>:nth-child(2){font-size:.95rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.ke-topbar>:nth-child(2)>span{display:none!important}.ke-tabs{margin-left:0!important;order:99;flex-basis:100%}.ke-topbar>div[style*="flex: 1"]{display:none!important}.ke-topbar button{padding:7px 10px!important;font-size:.78rem!important}.ke-mobile-sessions-btn{display:inline-flex!important;align-items:center;gap:6px;padding:7px 12px;border-radius:7px;background:transparent;border:1px solid var(--p1-border);color:var(--p1-off-white);font-size:.78rem;font-weight:500;cursor:pointer;font-family:var(--font-sans)}.ke-sidebar{position:fixed!important;top:0;bottom:0;left:0;z-index:40;width:min(80vw,300px)!important;transform:translate(-100%);transition:transform .22s ease;box-shadow:4px 0 24px #00000080;padding-top:env(safe-area-inset-top,0)!important}.ke-sidebar-open{transform:translate(0)!important}.ke-sessions-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:35;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.ke-main{width:100%!important;min-width:0!important}.ke-main>div[style*="padding: 20px 28px"],.ke-main>div:first-child{padding-left:14px!important;padding-right:14px!important}}
