:root{color-scheme:dark;--terminal-bg: #000;--terminal-text: #36ff7f;--terminal-accent: rgba(0, 255, 0, .4);--terminal-accent-strong: rgba(0, 255, 0, .7);--terminal-border: rgba(0, 255, 0, .25);--assistant-text: #36ff7f;--user-text: #ffe66d;--error-text: #ff6b6b;--panel-bg: rgba(0, 0, 0, .85);--panel-border: rgba(0, 255, 0, .35);--button-bg: rgba(0, 50, 0, .65);--button-border: rgba(0, 255, 0, .4);--button-hover-bg: rgba(0, 80, 0, .65);--button-hover-border: rgba(0, 255, 0, .6);--yellow-border: rgba(255, 214, 0, .55);--yellow-bg: rgba(110, 90, 0, .5);--yellow-hover-bg: rgba(160, 110, 0, .5);--soul-indicator-rgb: 0, 255, 0}*{box-sizing:border-box}body{margin:0;background:#050505;font-family:Inter,Helvetica Neue,system-ui,sans-serif}.retro-terminal{position:relative;min-height:100vh;background:var(--terminal-bg);color:var(--terminal-text);overflow:hidden;display:flex;flex-direction:column;font-family:Courier New,Courier,monospace;background-image:linear-gradient(90deg,transparent 97%,rgba(0,255,0,.04) 99%),linear-gradient(transparent 97%,#00ff000a 99%),radial-gradient(circle at top left,rgba(0,255,0,.1),transparent 70%),radial-gradient(circle at bottom right,rgba(0,255,0,.1),transparent 70%),#000;background-size:3px 3px}.lock-shell{justify-content:center;align-items:center}.lock-screen{position:relative;z-index:2;width:min(92vw,520px);margin:24px;border:1px solid var(--panel-border);border-radius:18px;padding:20px;background:#000000b8;box-shadow:inset 0 0 22px #00ff001a,0 0 28px #00ffaa1f}.lock-title{font-size:16px;letter-spacing:.08em;color:#00ffaaeb;margin-bottom:6px}.lock-subtitle{font-size:12px;color:#00ffaa9e;margin-bottom:16px}.lock-error{margin-top:12px;color:#ff8c8c;font-size:12px}.desktop-lock-panel{display:flex;flex-direction:column}.desktop-lock-form{display:flex;flex-direction:column;gap:12px}.desktop-pass-input{height:42px;padding:0 12px;border:1px solid rgba(0,255,170,.34);border-radius:10px;background:#000000a6;color:#00ffaaf2;outline:none;font-family:IBM Plex Mono,Courier New,monospace;letter-spacing:.08em}.desktop-pass-input::placeholder{color:#00ffaa73}.desktop-unlock-button{height:40px;border:1px solid rgba(0,255,170,.4);border-radius:10px;background:#0041237a;color:#00ffaaf2;font-family:Courier New,Courier,monospace;letter-spacing:.08em;cursor:pointer}.desktop-unlock-button:disabled{opacity:.6;cursor:not-allowed}.mobile-lock-panel{display:flex;flex-direction:column}.dial-dots{display:flex;justify-content:center;gap:10px;margin:6px 0 16px}.dial-dot{width:8px;height:8px;border-radius:999px;border:1px solid rgba(0,255,170,.45);background:transparent}.dial-dot.active{background:#00ffaae6;box-shadow:0 0 6px #00ffaa8c}.dial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dial-key{aspect-ratio:1 / 1;border-radius:999px;border:1px solid rgba(0,255,170,.35);background:#00000080;color:#00ffaaf2;font-size:17px;font-family:IBM Plex Mono,Courier New,monospace;cursor:pointer}.dial-key.control{color:#ffe66deb;border-color:#ffe66d59}.dial-key:disabled{opacity:.6;cursor:not-allowed}.dial-submit{margin-top:14px;height:40px;border:1px solid rgba(0,255,170,.4);border-radius:12px;background:#00412373;color:#00ffaaf5;font-family:Courier New,Courier,monospace;letter-spacing:.08em}.dial-submit:disabled{opacity:.6}.retro-terminal.soul-mode-gentle{--soul-indicator-rgb: 141, 255, 216}.retro-terminal.soul-mode-pro{--soul-indicator-rgb: 147, 185, 255}.retro-terminal.soul-mode-sharp{--soul-indicator-rgb: 255, 229, 138}.retro-terminal.soul-mode-savage{--soul-indicator-rgb: 255, 154, 154}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--terminal-border);background:linear-gradient(180deg,#0d0d0d,#050505)}.terminal-title{display:flex;align-items:center;gap:8px;color:var(--terminal-text);letter-spacing:.08em}.title-text{font-size:14px;color:#00ffaad9}.terminal-symbol,.prompt-symbol{color:var(--terminal-accent-strong);text-shadow:0 0 6px rgba(0,255,0,.7)}.blinking-cursor{color:var(--terminal-accent-strong);animation:blink 1.1s steps(2) infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.terminal-controls{display:flex;gap:10px}.terminal-controls-button{padding:0;border:none;background:transparent;cursor:pointer}.terminal-controls-button:focus-visible{outline:1px solid rgba(var(--soul-indicator-rgb),.55);outline-offset:4px;border-radius:999px}.control-dot{width:12px;height:12px;border-radius:999px;background:radial-gradient(circle,rgba(var(--soul-indicator-rgb),.92) 35%,rgba(var(--soul-indicator-rgb),.45) 90%);box-shadow:0 0 9px rgba(var(--soul-indicator-rgb),.55)}.soul-menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#00000094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.soul-menu-panel{position:relative;width:min(92vw,420px);border-radius:18px;border:1px solid rgba(0,255,170,.32);background:linear-gradient(180deg,#0a120ef5,#000000f0),radial-gradient(circle at top left,rgba(0,255,170,.1),transparent 55%);box-shadow:0 0 30px #00ffaa24;overflow:hidden}.soul-menu-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(0,255,170,.18)}.soul-menu-title{font-size:13px;letter-spacing:.12em;color:#00ffaad6}.soul-menu-close{width:34px;height:34px;border-radius:999px;border:1px solid rgba(0,255,170,.16);background:#ffffff08;color:#00ffaad1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.soul-menu-list{display:flex;flex-direction:column;gap:10px;padding:14px}.soul-menu-item{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.soul-menu-item:hover{transform:translateY(-1px)}.soul-menu-item.active{background:#ffffff0f}.soul-menu-item-head{display:inline-flex;align-items:center;gap:10px}.soul-menu-swatch{width:10px;height:10px;border-radius:999px;box-shadow:0 0 10px currentColor}.soul-menu-label{font-size:13px;font-weight:700;letter-spacing:.1em}.soul-menu-desc{font-size:12px;line-height:1.45;color:#ffffffad}.chat-container{flex:1;display:flex;flex-direction:column;height:calc(100vh - 64px)}.retro-terminal.focus-mode .chat-container{height:100vh}.retro-terminal.focus-mode .chat-messages{padding:14px 16px 20px}.chat-messages{position:relative;flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:18px;scroll-behavior:smooth}.focus-toggle-button{display:none;align-items:center;position:sticky;top:0;left:0;z-index:6;width:fit-content;margin-bottom:10px;padding:5px;border:1px solid rgba(0,255,170,.18);border-radius:999px;background:#00000047;color:#00ffaad6;font-family:Courier New,Courier,monospace;font-size:11px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 0 6px #00ffaa1a}.focus-toggle-button:active{transform:translateY(1px)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#00ff0059;border-radius:999px}.chat-messages::-webkit-scrollbar-track{background:transparent}.welcome-message{text-align:center;padding:48px 12px;color:var(--terminal-text)}.ascii-art{display:inline-block;text-shadow:0 0 12px rgba(0,255,0,.6);line-height:1.2}.message{display:flex;flex-direction:column;gap:6px}.message-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#00ffaaa6}.user-message .message-header{color:#ffe66da6}.message-prefix{font-weight:600;letter-spacing:.06em;color:#00ffaabf}.user-message .message-prefix{color:#ffe66dd9}.message-time{font-family:IBM Plex Mono,Courier New,monospace;font-size:12px;color:#0fa6}.message-content{display:flex;gap:8px;align-items:flex-start;white-space:pre-wrap}.markdown-content{min-width:0}.markdown-content p{margin:0 0 8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:0 0 8px;padding-left:22px}.markdown-content li{margin:2px 0}.markdown-content code{padding:1px 6px;border-radius:6px;border:1px solid rgba(0,255,170,.25);background:#00280073;color:var(--assistant-text)}.markdown-content pre{margin:8px 0;padding:10px 12px;overflow-x:auto;border-radius:10px;border:1px solid rgba(0,255,170,.25);background:#0000008c}.markdown-content pre code{border:0;padding:0;background:transparent}.markdown-content strong{color:#8fffd1}.user-message .message-content span:last-child{color:var(--user-text)}.ai-message .message-content span:last-child{color:var(--assistant-text)}.error-message .message-content span:last-child{color:var(--error-text)}.typing-indicator{display:inline-flex;align-items:center;gap:8px;color:#0fac;font-size:13px;margin-left:22px}.typing-icon{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.input-section{padding:20px 24px;display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--panel-border);background:radial-gradient(circle at top,rgba(0,255,0,.08),transparent 60%),linear-gradient(180deg,#000000d9,#000000f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.soul-gentle{color:#8dffd8;border-color:#8dffd859}.soul-pro{color:#93b9ff;border-color:#93b9ff59}.soul-sharp{color:#ffe58a;border-color:#ffe58a59}.soul-savage{color:#ff9a9a;border-color:#ff9a9a59}.input-container{display:flex;gap:12px;align-items:flex-end;padding:14px 16px;background:#0009;border:1px solid var(--panel-border);border-radius:12px;box-shadow:inset 0 0 20px #00ff0014}.input-prompt{flex-shrink:0;display:flex;align-items:center;height:100%}.chat-input{flex:1;min-height:32px;max-height:160px;resize:none;background:transparent;border:none;outline:none;color:var(--assistant-text);font-family:Courier New,Courier,monospace;font-size:15px;line-height:1.4}.chat-input::placeholder{color:#00ffaa59}.chat-input:disabled{opacity:.6}.button-group{display:flex;gap:12px}.action-button{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:12px;border:1px solid var(--button-border);background:var(--button-bg);color:var(--assistant-text);font-family:Courier New,Courier,monospace;font-size:15px;letter-spacing:.04em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;box-shadow:0 0 12px #00ff002e}.action-button:hover:not(:disabled){transform:translateY(-1px);background:var(--button-hover-bg);border-color:var(--button-hover-border);box-shadow:0 0 16px #00ff0059}.action-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.send-button{flex:1;justify-content:center}.new-chat-button{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--user-text);box-shadow:0 0 12px #ffd60040}.new-chat-button:hover:not(:disabled){background:var(--yellow-hover-bg);box-shadow:0 0 18px #ffd60073}.scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,255,0,.04),rgba(0,255,0,.04) 2px,transparent 2px,transparent 4px);animation:scan .12s linear infinite}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(4px)}}@media (max-width: 768px){.lock-screen{width:calc(100vw - 20px);margin:10px;padding:14px;border-radius:14px}.terminal-header{padding:12px 16px}.chat-messages{padding:18px;touch-action:manipulation}.focus-toggle-button{display:inline-flex;align-self:flex-start}.input-section{padding:18px}.button-group{flex-direction:column}.retro-terminal.focus-mode .chat-messages{padding:10px 12px 16px}.soul-menu-panel{width:calc(100vw - 28px)}.dial-key{font-size:18px}.action-button,.send-button{width:100%;justify-content:center}}
