/* lumbda repl specific styles — inherits style.css palette. */ body.repl { display: flex; flex-direction: column; min-height: 100vh; } .lock-screen { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; background: rgba(15, 17, 21, 0.85); backdrop-filter: blur(4px); } .lock-card { background: var(--pane-bg); border: 1px solid var(--rule); border-radius: 6px; padding: 1.5rem 2rem; max-width: 28rem; width: 90%; } .lock-card h2 { margin: 0 0 0.5rem; font-family: 'chunkfive', Georgia, serif; font-size: 1.4rem; color: var(--green); font-weight: normal; } .lock-card p { margin: 0 0 0.8rem; font-size: 0.85rem; color: var(--muted); line-height: 1.5; } .lock-card input[type=password] { width: 100%; padding: 0.5rem 0.7rem; margin: 0.4rem 0; background: var(--code-bg); color: var(--fg); border: 1px solid var(--rule); border-radius: 3px; font-family: var(--mono); font-size: 0.95rem; } .lock-card input[type=password]:focus { outline: none; border-color: var(--green); } .lock-row { display: flex; gap: 0.6rem; margin-top: 0.5rem; } .lock-row button { font-family: var(--mono); font-size: 0.85em; font-weight: 600; padding: 0.45rem 1.1rem; border-radius: 3px; cursor: pointer; border: 1px solid var(--green); } .lock-row .primary { background: var(--green); color: var(--bg); } .lock-row .secondary { background: transparent; color: var(--green); } .lock-row .primary:hover { filter: brightness(1.1); } .lock-row .secondary:hover { background: var(--code-bg); } .lock-note { margin: 0.6rem 0 0; color: var(--err); font-size: 0.8rem; min-height: 1.2em; } .tabbar { display: flex; gap: 0.3rem; align-items: center; padding: 0.4rem 1rem; border-bottom: 1px solid var(--rule); background: var(--bg); } .tabs { display: flex; gap: 0.3rem; overflow-x: auto; flex: 0 1 auto; } .tab { background: var(--pane-bg); border: 1px solid var(--rule); padding: 0.25rem 0.6rem; border-radius: 3px 3px 0 0; font-size: 0.85em; cursor: pointer; display: inline-flex; align-items: center; gap: 0.3rem; white-space: nowrap; } .tab.active { background: var(--code-bg); border-bottom-color: var(--code-bg); color: var(--green); } .tab .tab-close { opacity: 0.5; cursor: pointer; padding: 0 0.2rem; } .tab .tab-close:hover { opacity: 1; color: var(--err); } .tabbar .ghost { background: transparent; border: 1px solid var(--rule); color: var(--muted); font-family: var(--mono); font-size: 0.8em; padding: 0.2rem 0.6rem; border-radius: 3px; cursor: pointer; } .tabbar .ghost:hover:not(:disabled) { border-color: var(--green); color: var(--green); } .tabbar .ghost:disabled { opacity: 0.4; cursor: default; } .tabbar .spacer { flex: 1; } .transcript-wrap { flex: 1; overflow: auto; padding: 1rem; background: var(--code-bg); } .transcript { font-family: var(--mono); font-size: 0.9em; line-height: 1.5; max-width: 90rem; margin: 0 auto; } .transcript .entry { margin-bottom: 0.8rem; padding: 0.4rem 0.6rem; border-left: 2px solid var(--rule); } .transcript .entry .prompt-line { color: var(--green); white-space: pre-wrap; margin-bottom: 0.2rem; } .transcript .entry .tier-output { display: flex; gap: 0.6rem; padding: 0.25rem 0; border-top: 1px dashed var(--rule); } .transcript .entry .tier-output:first-of-type { border-top: none; } .transcript .entry .tier-label { color: var(--muted); font-size: 0.7em; text-transform: uppercase; letter-spacing: 0.08em; min-width: 7rem; flex-shrink: 0; padding-top: 0.15rem; } .transcript .entry .tier-result { white-space: pre-wrap; flex: 1; } .transcript .entry .tier-time { color: var(--muted); font-size: 0.8em; margin-left: 0.4rem; } .transcript .entry.error .tier-result { color: var(--err); } .prompt-bar { display: flex; align-items: flex-end; gap: 0.5rem; padding: 0.5rem 1rem 0.8rem; border-top: 1px solid var(--rule); background: var(--bg); } .prompt-bar .prompt-sigil { color: var(--green); font-weight: 600; padding: 0.4rem 0 0; } .prompt-bar textarea { flex: 1; resize: none; background: var(--code-bg); border: 1px solid var(--rule); color: var(--fg); padding: 0.45rem 0.7rem; font-family: var(--mono); font-size: 0.9em; border-radius: 3px; min-height: 1.6em; max-height: 30vh; } .prompt-bar textarea:focus { outline: none; border-color: var(--green); } .prompt-bar select { background: var(--code-bg); border: 1px solid var(--rule); color: var(--fg); padding: 0.35rem 0.5rem; font-family: var(--mono); font-size: 0.85em; border-radius: 3px; } .prompt-bar button.primary { background: var(--green); color: var(--bg); border: 1px solid var(--green); padding: 0.4rem 1rem; font-family: var(--mono); font-weight: 600; border-radius: 3px; cursor: pointer; } .prompt-bar button.primary:hover { filter: brightness(1.1); } .prompt-bar button.primary:disabled { opacity: 0.4; cursor: wait; } kbd { font-family: var(--mono); background: var(--code-bg); padding: 0.05em 0.3em; border: 1px solid var(--rule); border-radius: 2px; font-size: 0.85em; }