:root{--bg: #08131c;--bg-soft: #0d1b27;--terminal: #102332;--terminal-2: #162838;--terminal-3: #1d3447;--line: rgba(126, 161, 187, .22);--line-strong: rgba(126, 161, 187, .36);--text: #b9ff9b;--text-soft: #8fe083;--text-muted: #6f9f7a;--green: #7ee787;--green-soft: rgba(126, 231, 135, .14);--amber: #ff7a18;--amber-soft: rgba(255, 122, 24, .18);--red: #e06c75;--cyan: #86b8e5;--shadow: 0 24px 70px rgba(0, 0, 0, .5);--mono: "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", monospace;--sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth;background:var(--bg);overflow:hidden}body{height:100%;min-height:100vh;background:linear-gradient(180deg,#132b3df5,#08131cfa 28rem),var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow:hidden;text-rendering:optimizeLegibility}app-root,app-hero,app-services,app-about,app-contact,app-terminal-scroll{display:block;height:100%;min-height:0}h1,h2,h3,h4{color:var(--text);font-weight:700;line-height:1.16;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:#7ee78747}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#284359;border:2px solid var(--bg);border-radius:999px}.container{width:min(100% - 40px,1180px);margin:0 auto}.terminal-page{min-height:calc(100svh - 76px);padding:clamp(6rem,9vw,8rem) 0 clamp(4rem,8vw,6rem)}.terminal-stage{position:relative;display:block;height:100%;min-height:0;overflow:hidden;padding:0}.home-page{background:transparent}.services-page{background:linear-gradient(180deg,rgba(126,231,135,.05),transparent 24rem)}.about-page{background:linear-gradient(180deg,rgba(255,122,24,.05),transparent 24rem)}.contact-page{background:linear-gradient(180deg,rgba(134,184,229,.05),transparent 24rem)}.terminal-pin{display:flex;align-items:center}.terminal-shell{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 14rem),var(--terminal);box-shadow:var(--shadow)}.terminal-shell--engine{display:flex;width:100%;height:clamp(520px,72svh,760px);flex-direction:column}.terminal-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 32px;opacity:.28}.terminal-bar{position:sticky;top:73px;z-index:2;display:flex;min-height:48px;align-items:center;gap:.8rem;border-bottom:1px solid var(--line);background:#162838eb;padding:.7rem 1rem;backdrop-filter:blur(16px)}.terminal-dot{width:11px;height:11px;border-radius:50%}.terminal-dot--red{background:var(--red)}.terminal-dot--amber{background:var(--amber)}.terminal-dot--green{background:var(--green)}.terminal-title{margin-left:.35rem;color:var(--text-muted);font-family:var(--mono);font-size:.86rem}.terminal-shell--engine .terminal-bar{position:relative;top:auto;flex:0 0 auto}.terminal-output{position:relative;z-index:1;display:grid;gap:0;padding:clamp(1rem,2.4vw,2rem)}.terminal-output--engine{display:flex;height:100%;min-height:0;flex:1 1 auto;flex-direction:column;gap:.45rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:clamp(2rem,4vw,4rem);scrollbar-color:rgba(126,161,187,.32) transparent;scrollbar-width:thin;touch-action:pan-y}.terminal-output--engine:focus{outline:none}.terminal-output--engine>*{flex:0 0 auto}.terminal-output--engine::-webkit-scrollbar{width:10px}.terminal-output--engine::-webkit-scrollbar-track{background:transparent}.terminal-output--engine::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#7ea1bb47;background-clip:padding-box}.terminal-line{display:flex;align-items:baseline;gap:.75rem;min-height:1.55rem;color:var(--text-soft);font-family:var(--mono);font-size:clamp(.95rem,2vw,1.3rem);line-height:1.55}.terminal-line>span:not(.prompt),.terminal-section-title,.terminal-figure__caption,.command{min-width:0;overflow-wrap:anywhere}.terminal-line>span:not(.prompt){flex:1 1 auto}.terminal-output--engine .terminal-line{min-height:1.65em}.terminal-line--intro{margin-bottom:clamp(1.4rem,4vw,3.2rem)}.terminal-line--typing{color:var(--text)}.terminal-line--hint{margin-top:.8rem;color:var(--text-muted)}.terminal-command{display:flex;align-items:baseline;gap:.75rem;min-height:1.65em;color:var(--text);font-family:var(--mono);font-size:clamp(.95rem,2vw,1.3rem);line-height:1.55}.terminal-command input{min-width:0;flex:1 1 auto;border:0;outline:0;background:transparent;color:var(--text);caret-color:var(--green);font-family:inherit;font-size:inherit;line-height:inherit}.terminal-command input::selection{background:#7ee78747}.terminal-section-title{color:var(--green);font-family:var(--mono);font-size:clamp(1.05rem,2.2vw,1.45rem);font-weight:800;line-height:1.5;margin-top:clamp(1.1rem,2.2vw,1.7rem)}.terminal-line--item{color:var(--text-muted)}.terminal-line--item .prompt{color:var(--text-muted);font-weight:400}.terminal-line--figure{min-height:auto}.terminal-line--wrap{align-items:flex-start;flex-wrap:wrap}.terminal-line--success{color:var(--green)}.terminal-line--amber{color:var(--amber)}.terminal-line--cyan{color:var(--cyan)}.terminal-line--muted{color:var(--text-muted)}.prompt{flex:0 0 auto;color:var(--green);font-weight:700}.command{color:var(--text)}.terminal-figure{display:grid;width:min(100%,760px);gap:.7rem;margin:.35rem 0 .7rem;color:var(--text-soft);font-family:var(--mono)}.terminal-figure img{display:block;width:min(100%,620px);max-height:230px;border:1px solid var(--line-strong);border-radius:8px;background:#0b1a26;object-fit:cover;box-shadow:0 18px 42px #00000047}.terminal-figure__caption{color:var(--text-muted);font-size:.82rem}.terminal-figure__meta{display:flex;flex-wrap:wrap;gap:.4rem}.terminal-figure__meta span{display:inline-flex;min-height:24px;align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-size:.72rem;line-height:1;padding:0 .55rem}.cursor{display:inline-block;width:.65em;height:1.12em;margin-left:.18rem;background:var(--green);vertical-align:-.16em;animation:blink 1s steps(2,start) infinite}.terminal-hero-title{max-width:900px;color:var(--text);font-family:var(--mono);font-size:clamp(2.1rem,5.6vw,5rem)}.terminal-copy{max-width:760px;color:var(--text-soft);font-size:clamp(1rem,2vw,1.2rem);line-height:1.8}.terminal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:.8rem}.terminal-card{border:1px solid var(--line);border-radius:8px;background:#1628389e;padding:clamp(1rem,2vw,1.35rem)}.terminal-card__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem;color:var(--text-muted);font-family:var(--mono);font-size:.78rem}.terminal-card h2,.terminal-card h3{margin-bottom:.65rem;font-family:var(--mono);font-size:clamp(1.15rem,2vw,1.45rem)}.terminal-card p{color:var(--text-soft);font-size:.96rem}.terminal-media{overflow:hidden;margin:1.1rem 0;border:1px solid var(--line-strong);border-radius:8px;background:#0b1a26}.terminal-media__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.65rem .8rem;color:var(--text-muted);font-family:var(--mono);font-size:.78rem}.terminal-media__body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(240px,.62fr);gap:clamp(1rem,3vw,2rem);align-items:center;padding:clamp(1rem,3vw,2rem)}.terminal-preview{border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(126,231,135,.12),transparent 38%),#0f2535;padding:1rem}.terminal-preview__bar{display:flex;gap:.45rem;margin-bottom:1rem}.terminal-preview__dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.terminal-preview__row{display:grid;grid-template-columns:80px 1fr auto;gap:.75rem;align-items:center;border-top:1px solid var(--line);padding:.7rem 0;color:var(--text-soft);font-family:var(--mono);font-size:.82rem}.terminal-preview__row:first-of-type{border-top:0}.terminal-badge{display:inline-flex;width:fit-content;align-items:center;min-height:26px;padding:0 .5rem;border:1px solid currentColor;border-radius:999px;color:var(--green);font-family:var(--mono);font-size:.72rem}.terminal-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:0}.terminal-actions--engine{margin-top:1rem}.terminal-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:8px;background:var(--green-soft);color:var(--green);cursor:pointer;font-family:var(--mono);font-size:.9rem;font-weight:700;padding:.65rem 1rem;transition:background .18s ease,transform .18s ease}.terminal-button:hover{background:#7ee7873d;transform:translateY(-1px)}.terminal-button--ghost{background:transparent;color:var(--text-soft)}.terminal-button--ghost:hover{background:#7ea1bb1f}@keyframes blink{0%,45%{opacity:1}46%,to{opacity:0}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.cursor{animation:none}}@media (max-width: 820px){.container{width:min(100% - 28px,1180px)}.terminal-page{padding-top:7.1rem}.terminal-stage{padding:0}.terminal-pin{align-items:flex-start}.terminal-grid,.terminal-media__body{grid-template-columns:1fr}.terminal-line{align-items:flex-start;gap:.45rem}.terminal-figure img{max-height:190px}.prompt{font-size:.78rem}}@media (max-width: 560px){.terminal-output{padding:1rem}.terminal-output--engine{gap:.58rem;padding:1.1rem 1rem 1.35rem}.terminal-shell--engine{height:66svh;min-height:430px}.terminal-line,.terminal-command{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:.55rem;min-height:0;font-size:.94rem;line-height:1.45}.terminal-output--engine .terminal-line{min-height:0}.terminal-line--intro,.terminal-line--figure{grid-template-columns:1fr;row-gap:.18rem}.terminal-command input{width:100%}.prompt{font-size:.82em;line-height:1.45;padding-top:.08em}.terminal-section-title{font-size:1rem;line-height:1.35;margin-top:1rem}.terminal-figure{gap:.55rem}.terminal-preview__row{grid-template-columns:1fr;gap:.25rem}.terminal-figure img{max-height:160px}.terminal-figure__caption{font-size:.78rem;line-height:1.45}.terminal-figure__meta span{min-height:0;line-height:1.25;padding:.3rem .55rem;white-space:normal}.terminal-actions,.terminal-button{width:100%}}
