/* --- Secret Wing Terminal Puzzle --- */
[hidden] { display: none !important; }
.office-terminal-puzzle { margin: 2.5rem 0; border-left: 4px solid var(--ink); background: var(--paper); }
.puzzle-prompt { font-family: monospace; font-size: 0.95rem; margin: 1rem 0; }
.terminal-input-group { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1rem; }
.prompt-symbol { font-family: monospace; font-weight: bold; font-size: 1.1rem; }
.terminal-input { flex: 1 1 160px; min-width: 0; background: #fdfaf0; border: 1px solid var(--ink); color: var(--ink); padding: 0.65rem 0.8rem; font: 0.95rem monospace; }
.terminal-input:focus-visible { border-color: #000; outline: 3px solid var(--warning); outline-offset: 2px; }
.terminal-input.input-error { border-color: var(--warning); background: #faecea; }
.office-terminal-puzzle .office-btn { background: var(--ink); color: var(--office-light); border: none; padding: 0.65rem 1.25rem; min-height: 44px; }
.office-terminal-puzzle .office-btn:hover:not(:disabled) { background: #504f40; }
.office-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.unlock-panel { margin-top: 1.5rem; background: #1e1e18; color: var(--office-light); border: 1px solid #b8860b; border-left: 5px solid #d4af37; box-shadow: 0 8px 18px rgb(0 0 0 / 35%); animation: panelReveal 0.4s ease-out forwards; }
.unlock-title { color: #ffd700; font-size: 1.2rem; letter-spacing: 0.04em; margin: 0.5rem 0; }
.unlock-message { font-size: 0.95rem; color: var(--paper); margin-bottom: 1.5rem; }
.highlight-input { background: #2b2b22; color: #ffd700; border: 1px solid #756a38; }
.office-terminal-puzzle .gold-btn { background: #b8860b; color: #0d0d0d; font-weight: bold; }
.office-terminal-puzzle .gold-btn:hover:not(:disabled) { background: #d4af37; }
.terminal-error { color: var(--warning); font: 0.85rem monospace; margin-top: 0.5rem; }
.unlock-panel .terminal-error { color: #e0836c; }
.terminal-success { color: #72cf44; font: 0.9rem/1.4 monospace; margin-top: 0.75rem; }
@keyframes panelReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.office-clue { margin: 0.5rem 0; padding: 0.35rem 0.5rem; border-left: 3px solid var(--warning); background: rgb(166 75 54 / 8%); font: 0.85rem monospace; }
