body{margin:0;font-family:Monospace;font-size:13px;line-height:24px;overscroll-behavior:none;overflow:hidden;background-color:#000}#threejs-container{position:absolute;top:0;left:0;width:100vw;height:100vh}#mini-sphere-canvas{width:100px;height:100px;display:block;margin:10px auto;background:transparent}#portfolio-card{position:absolute;top:50%;right:2rem;transform:translateY(-50%);width:300px;background:#000000bf;color:#fff;padding:20px;border-radius:10px;text-align:center;z-index:10;border:1px solid #c46dc7;box-shadow:0 0 10px #c46dc7,0 0 20px #c46dc7,0 0 30px #c46dc7;transition:box-shadow .3s ease-in-out,border .3s ease-in-out}@media (max-width: 1024px){#portfolio-card{width:250px}}@media screen and (max-width: 768px){#portfolio-card{position:relative;top:auto;right:auto;transform:none;margin:20px auto;width:350px}}#portfolio-card:hover{box-shadow:0 0 15px #c46dc7,0 0 30px #c46dc7,0 0 45px #c46dc7;border:2px solid #c46dc7}#portfolio-card h2{margin:0;font-size:20px}#portfolio-card p{font-size:14px;line-height:20px}#portfolio-card a{display:inline-block;margin-top:10px;padding:8px 12px;background:#2421ff;color:#fff;text-decoration:none;border-radius:5px;transition:background .3s ease,box-shadow .3s ease;box-shadow:0 0 5px #2421ff,0 0 10px #2421ff}#portfolio-card a:hover{background:#5451ff;box-shadow:0 0 15px #5451ff,0 0 30px #5451ff}#terminal-card{position:absolute;top:50%;left:2rem;transform:translateY(-50%);width:55%;z-index:10;background:#000000bf;color:#fff;padding:20px;border-radius:10px;border:1px solid #c46dc7;box-shadow:0 0 10px #c46dc7,0 0 20px #c46dc7,0 0 30px #c46dc7;transition:box-shadow .3s ease-in-out,border .3s ease-in-out}#terminal-card .term-window{background:transparent;border:0;box-shadow:none;overflow:hidden;font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}#terminal-card .term-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#111827bf;border-bottom:1px solid rgba(196,109,199,.25);border-top-left-radius:8px;border-top-right-radius:8px}#terminal-card .term-header .dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 6px currentColor}#terminal-card .term-header .red{color:#ef4444;background:#ef4444}#terminal-card .term-header .yellow{color:#f59e0b;background:#f59e0b}#terminal-card .term-header .green{color:#22c55e;background:#22c55e}#terminal-card .term-title{margin-left:auto;color:#d9c6db;font-weight:600}#terminal-card .term-output{min-height:260px;max-height:420px;overflow-y:auto;padding:16px;white-space:pre-wrap;word-break:break-word;box-shadow:inset 0 0 12px #c46dc726}#terminal-card .term-line{display:block;margin:4px 0}#terminal-card .term-line .prompt{color:#93c5fd;margin-right:6px}#terminal-card .term-line .muted{color:#cdb9cf}#terminal-card .term-input-row{display:flex;gap:8px;align-items:center;padding:12px 14px;background:#0b0f14cc;border-top:1px solid rgba(196,109,199,.25);border-bottom-left-radius:8px;border-bottom-right-radius:8px}#terminal-card .term-input-row .prompt{color:#93c5fd}#terminal-card #term-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font:inherit;padding:6px 0}#terminal-card #term-input::placeholder{color:#b59db8}#terminal-card .term-help{margin:0;padding:6px 14px 0;color:#b59db8;font-size:12px}#terminal-card a.term-link{color:#c0e0ff;text-decoration:underline}#terminal-card .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#terminal-card .blink{animation:blink 1.1s steps(1,end) infinite}@keyframes blink{50%{opacity:0}}#terminal-card .success{color:#b7f7c9}#terminal-card .warn{color:#f7d080}#terminal-card .error{color:#f59aa0}@media (max-width: 1024px){#terminal-card{width:47%;left:2rem;padding:16px}}@media (max-width: 768px){body{display:grid;grid-template-columns:1fr;grid-template-areas:"portfolio" "blog";align-items:start;gap:16px;overflow:auto}#portfolio-card{grid-area:portfolio;position:relative;top:auto;right:auto;transform:none;margin:20px auto 0;width:350px}#terminal-card{grid-area:blog;position:relative;top:auto;left:auto;transform:none;width:90%;max-width:700px;margin:24px auto;padding:14px}}
