.terminal-wrapper[data-v-d3d18910]{transition:transform .1s ease-out;transform-style:preserve-3d}.terminal[data-v-d3d18910]{background:#f8f9fa;border:1px solid #e5e7eb;overflow:hidden;cursor:text}:root.dark .terminal[data-v-d3d18910]{background:#0d1117;border-color:#1f2937}.terminal-header[data-v-d3d18910]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f0f1f3;border-bottom:1px solid #e5e7eb;cursor:default}:root.dark .terminal-header[data-v-d3d18910]{background:#161b22;border-bottom-color:#1f2937}.terminal-body[data-v-d3d18910]{padding:16px;max-height:340px;overflow-y:auto;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:13px;line-height:1.6}.terminal-line[data-v-d3d18910]{display:flex;align-items:center}.terminal-output[data-v-d3d18910]{color:#374151;white-space:pre-wrap;font-family:inherit;font-size:inherit;margin:0;padding-left:16px;background:none;border:none}:root.dark .terminal-output[data-v-d3d18910]{color:#d1d5db}.terminal-error[data-v-d3d18910]{color:#dc2626;white-space:pre-wrap;font-family:inherit;font-size:inherit;margin:0;padding-left:16px;background:none;border:none}:root.dark .terminal-error[data-v-d3d18910]{color:#f87171}.terminal-system[data-v-d3d18910]{color:#9ca3af;white-space:pre-wrap;font-family:inherit;font-size:inherit;margin:0;background:none;border:none}:root.dark .terminal-system[data-v-d3d18910]{color:#6b7280}.terminal-input[data-v-d3d18910]{position:absolute;left:0;top:0;width:100%;background:transparent;border:none;outline:none;color:#1f2937;font-family:inherit;font-size:16px;caret-color:transparent;padding:0;margin:0}:root.dark .terminal-input[data-v-d3d18910]{color:#e5e7eb}.terminal-input[data-v-d3d18910]:focus{outline:none;box-shadow:none}.cursor-blink[data-v-d3d18910]{display:inline-block;width:8px;height:18px;background:#4880c2;animation:blink-d3d18910 1s step-end infinite;vertical-align:text-bottom}@keyframes blink-d3d18910{0%,to{opacity:1}50%{opacity:0}}.project-card[data-v-d3d18910]{transition:transform .15s ease-out;transform-style:preserve-3d;will-change:transform}.project-thumb[data-v-d3d18910]{position:relative;overflow:hidden}.project-shine[data-v-d3d18910]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.03) 45%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.03) 55%,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.project-card:hover .project-shine[data-v-d3d18910]{opacity:1}.terminal-body[data-v-d3d18910]::-webkit-scrollbar{width:4px}.terminal-body[data-v-d3d18910]::-webkit-scrollbar-track{background:transparent}.terminal-body[data-v-d3d18910]::-webkit-scrollbar-thumb{background:#d1d5db}:root.dark .terminal-body[data-v-d3d18910]::-webkit-scrollbar-thumb{background:#1f2937}.log-stream[data-v-d3d18910]{background:#f8f9fa;border:1px solid #e5e7eb;padding:20px 24px;font-size:12px;line-height:2;max-height:240px;overflow:hidden;position:relative}:root.dark .log-stream[data-v-d3d18910]{background:#0a0f1a;border-color:#1a1f2e}.log-stream[data-v-d3d18910]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,#f8f9fa);pointer-events:none}:root.dark .log-stream[data-v-d3d18910]:after{background:linear-gradient(transparent,#0a0f1a)}.log-entry[data-v-d3d18910]{opacity:0;animation:logIn-d3d18910 .4s forwards}@keyframes logIn-d3d18910{to{opacity:1}}.log-time[data-v-d3d18910]{color:#9ca3af;margin-right:16px}:root.dark .log-time[data-v-d3d18910]{color:#374151}.log-level-ok[data-v-d3d18910]{color:#16a34a;margin-right:16px}:root.dark .log-level-ok[data-v-d3d18910]{color:#4ade80}.log-level-warn[data-v-d3d18910]{color:#d97706;margin-right:16px}:root.dark .log-level-warn[data-v-d3d18910]{color:#fbbf24}.log-level-info[data-v-d3d18910]{color:#9ca3af;margin-right:16px}:root.dark .log-level-info[data-v-d3d18910]{color:#6b7280}.log-level-error[data-v-d3d18910]{color:#dc2626;margin-right:16px}:root.dark .log-level-error[data-v-d3d18910]{color:#f87171}.log-msg[data-v-d3d18910]{color:#6b7280;opacity:.5}:root.dark .log-msg[data-v-d3d18910]{color:#9ca3af}
