/* Socials: a standalone retro-futuristic terminal. No external assets required. */
:root { --term-cyan:#6ce7fa; --term-purple:#bca7ff; --term-border:rgba(110,225,250,.22); }
.terminal-page { min-height:100svh; background:#070c14; color:#dce9f1; font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; }
.terminal-backdrop { position:fixed; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 45%,rgba(93,64,180,.18),transparent 58%),repeating-linear-gradient(0deg,transparent 0 3px,rgba(80,220,250,.025) 4px 5px),linear-gradient(rgba(104,147,181,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(104,147,181,.045) 1px,transparent 1px);background-size:auto,auto,46px 46px,46px 46px; }
.terminal-top { position:relative; display:flex; justify-content:space-between; align-items:center; padding:23px clamp(20px,5vw,76px); gap:15px; border-bottom:1px solid var(--term-border); font-size:11px; font-weight:700; letter-spacing:.11em; }
.terminal-back { color:#a5b4c8; transition:color .2s; }.terminal-back:hover { color:var(--term-cyan); }
.terminal-top__right { display:flex; align-items:center; gap:12px; color:#83a0b3; }.terminal-dot { width:7px; height:7px; border-radius:50%; background:#77ecb6; box-shadow:0 0 11px #77ecb6; }
.terminal-layout { position:relative; width:min(900px,calc(100% - 32px)); margin:clamp(35px,8vh,100px) auto 45px; }
.terminal-shell { border:1px solid var(--term-border); background:rgba(8,15,27,.94); border-radius:13px; box-shadow:0 0 65px rgba(77,110,255,.13),0 28px 80px rgba(0,0,0,.5); overflow:hidden; }
.terminal-titlebar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 21px; background:rgba(100,134,184,.09); border-bottom:1px solid var(--term-border); color:#95a8bc; font-size:11px; }
.terminal-titlebar__lights { display:flex; gap:7px; }.terminal-titlebar__lights i { width:9px; height:9px; border-radius:50%; background:#fa6e7d; }.terminal-titlebar__lights i:nth-child(2) { background:#f3cc6a; }.terminal-titlebar__lights i:nth-child(3) { background:#79dba9; }
.terminal-titlebar__status { color:#8fdfb5; }.terminal-content { padding:clamp(24px,5vw,58px); }
.terminal-boot { color:#76dcb2; font-size:11px; letter-spacing:.15em; }.terminal-boot span { color:#688499; padding-left:10px; }.terminal-prompt { color:#a0b5c6; font-size:12px; margin-top:35px; }.terminal-prompt span { color:var(--term-purple); }
.terminal-content h1 { font-size:clamp(37px,7vw,78px); letter-spacing:-.065em; line-height:1; margin:23px 0 14px; font-weight:900; color:#f4f5ff; }.terminal-content h1 span { color:var(--term-cyan); text-shadow:0 0 18px rgba(108,231,250,.8); }
.terminal-subtitle { font-size:11px; letter-spacing:.11em; color:#8a9fb4; line-height:1.8; margin-bottom:30px; }.terminal-subtitle span { color:var(--term-purple); }
.terminal-links { display:grid; gap:11px; }.terminal-link { display:grid; grid-template-columns:55px minmax(0,1fr) auto 22px; align-items:center; gap:15px; padding:21px 22px; border:1px solid rgba(125,155,192,.2); background:rgba(20,30,49,.62); border-radius:7px; transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease; }
.terminal-link:hover,.terminal-link:focus-visible { transform:translateX(5px); border-color:var(--term-cyan); background:rgba(37,65,83,.55); box-shadow:0 0 26px rgba(108,231,250,.12); }.terminal-link__index { color:var(--term-cyan); font-size:12px; }.terminal-link__name { color:#f5f6ff; font-size:clamp(16px,2.4vw,22px); font-weight:800; letter-spacing:.04em; }.terminal-link__type { color:#8499ad; font-size:10px; letter-spacing:.09em; }.terminal-link__arrow { color:var(--term-purple); font-size:20px; }
.terminal-output { margin:30px 0 0; font-size:12px; color:var(--term-cyan); min-height:18px; }.terminal-cursor { animation:term-blink .9s steps(1) infinite; }.terminal-footnote { color:#70889c; font-size:10px; line-height:1.7; letter-spacing:.05em; margin-top:28px; }
.terminal-footer { display:flex; justify-content:space-between; gap:15px; margin:22px 4px; color:#668198; font-size:10px; letter-spacing:.12em; }
@keyframes term-blink { 50% { opacity:0; } }
@media(max-width:620px) { .terminal-top__right { font-size:9px; }.terminal-titlebar__status { display:none; }.terminal-link { grid-template-columns:38px minmax(0,1fr) 18px; padding:19px 14px; gap:9px; }.terminal-link__type { display:none; }.terminal-content { padding:25px 18px; }.terminal-top { padding:20px 16px; } }
@media(prefers-reduced-motion:reduce) { .terminal-link,.terminal-cursor { animation:none; transition:none; } }

/* V27: platform iconography, differentiated typography and fast terminal decode. */
.terminal-link { grid-template-columns:45px 36px minmax(0,1fr) auto 22px; }
.terminal-link__icon { width:35px; height:35px; display:grid; place-items:center; color:#9be5ff; border:1px solid rgba(109,214,250,.22); border-radius:9px; background:rgba(88,171,238,.07); transition:color .2s, box-shadow .2s, border-color .2s; }
.terminal-link__icon svg { width:23px; height:23px; }
.terminal-link:hover .terminal-link__icon { color:#d3aaff; border-color:rgba(187,156,255,.6); box-shadow:0 0 17px rgba(126,180,255,.2); }
.terminal-link__name { font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; font-weight:850; letter-spacing:-.035em; }
.terminal-link__name.is-decoding { color:#90eaff; text-shadow:0 0 12px rgba(110,225,255,.4); }
.terminal-shell { animation:terminal-enter .55s cubic-bezier(.16,1,.3,1) both; }
.terminal-content { position:relative; }
.terminal-content::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(109,231,250,.12),transparent); height:17%; opacity:0; animation:terminal-scan .52s ease-out .08s both; }
@keyframes terminal-enter { from { opacity:0; transform:translateY(14px) scale(.985); filter:brightness(1.45) contrast(1.2); } 65% { filter:brightness(1.13); } to { opacity:1; transform:none; filter:none; } }
@keyframes terminal-scan { 0% { opacity:0; transform:translateY(-90%); } 25% { opacity:1; } 100% { opacity:0; transform:translateY(600%); } }
@media(max-width:620px) { .terminal-link { grid-template-columns:26px 32px minmax(0,1fr) 18px; gap:10px; } .terminal-link__icon { width:31px; height:31px; } .terminal-link__icon svg { width:21px; height:21px; } }
@media(prefers-reduced-motion:reduce) { .terminal-shell,.terminal-content::after { animation:none; } }

/* Optional, user-controlled sound effects. Browsers require an interaction before audio. */
.terminal-sound-toggle{font:inherit;font-size:10px;letter-spacing:.12em;color:#8fe9ff;background:rgba(13,31,45,.85);border:1px solid rgba(104,217,255,.36);border-radius:6px;padding:8px 10px;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}
.terminal-sound-toggle:hover,.terminal-sound-toggle:focus-visible{color:#fff;border-color:#76e8ff;box-shadow:0 0 15px rgba(68,199,255,.22)}
.terminal-sound-toggle[aria-pressed="true"]{color:#d3b5ff;border-color:rgba(176,123,255,.65)}
@media(max-width:550px){.terminal-sound-toggle{font-size:9px;padding:7px}.terminal-top__right{gap:7px}}
