:root {
  color-scheme: dark;
  --about-bg: #0c0e11;
  --about-surface: #14171b;
  --about-line: #303640;
  --about-text: #f3f5f7;
  --about-muted: #b0b8c2;
  --about-faint: #89939f;
  --about-accent: #9bb4e5;
  --about-success: #9ed3b5;
}
* { box-sizing: border-box; }
html,body { margin:0;min-height:100%;background:var(--about-bg);color:var(--about-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { overflow-x:hidden; }
.nx-brand-home { display:inline-flex;align-items:center;gap:10px;margin:15px 16px 0;min-height:44px;padding:8px 12px;border:1px solid var(--about-line);border-radius:10px;background:var(--about-surface);color:var(--about-text);font-size:12px;font-weight:650;text-decoration:none; }
.nx-brand-home i { order:-1;color:var(--about-muted); }
.nx-brand-home .nx-brand-image { width:26px;height:26px; }
html.is-embedded .nx-brand-home{display:none!important}
main { width:min(980px,100%);margin:0 auto;padding:25px 18px max(38px,env(safe-area-inset-bottom)); }
html.is-embedded main { padding-top:18px; }
.about-loading { display:grid;place-content:center;justify-items:center;gap:12px;min-height:48vh;color:var(--about-muted);font-size:14px; }
.about-loading i { width:28px;height:28px;border:2px solid var(--about-line);border-top-color:var(--about-accent);border-radius:50%;animation:about-spin 1s linear infinite; }
.about-loading span { font-size:13px; }
@keyframes about-spin { to { transform:rotate(360deg); } }
.profile-hero { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:24px;padding:30px;border:1px solid var(--about-line);border-radius:18px;background:var(--about-surface); }
.profile-avatar-wrap { position:relative;width:max-content; }
.profile-avatar { display:grid;place-items:center;width:100px;height:100px;overflow:hidden;border:1px solid #414a56;border-radius:50%;background:#242c36;color:var(--about-text);font-size:36px;font-weight:750; }
.profile-avatar img { display:block;width:100%;height:100%;object-fit:cover; }
.profile-status-dot { position:absolute;right:3px;bottom:3px;width:15px;height:15px;border:3px solid var(--about-surface);border-radius:50%;background:var(--about-success); }
.profile-status-dot.offline { background:#d3ba88; }
.profile-copy { min-width:0; }
.eyebrow { margin:0 0 10px;color:var(--about-faint);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.profile-role { margin:0;color:var(--about-accent);font-size:13px;font-weight:650; }
.profile-hero h1 { margin:8px 0 0;font-size:clamp(26px,5vw,43px);line-height:1.12;font-weight:750;letter-spacing:-.035em;overflow-wrap:anywhere; }
.profile-hero .lead { max-width:660px;margin:15px 0 0;color:var(--about-muted);font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line; }
.status { display:inline-flex;align-items:center;gap:8px;margin-top:17px;color:var(--about-muted);font-size:12px; }
.status i { display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--about-success); }
.status.offline i { background:#d3ba88; }
.profile-summary { display:none; }
.about-section { margin-top:32px; }
.section-head { margin:0 0 14px;color:var(--about-text);font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.01em; }
.about-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.about-card { min-width:0;padding:20px;border:1px solid var(--about-line);border-radius:14px;background:var(--about-surface);overflow:hidden; }
.about-card-icon { display:grid;place-items:center;width:38px;height:38px;margin-bottom:15px;border:1px solid #3d4b5f;border-radius:10px;color:var(--about-accent);font-size:16px; }
.about-card h2 { margin:0;font-size:15px;line-height:1.4;font-weight:700;overflow-wrap:anywhere; }
.about-card p { margin:8px 0 0;color:var(--about-muted);font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-line; }
.project-card { padding:0 0 18px; }
.project-card h2,.project-card p,.project-card .project-link { margin-left:18px;margin-right:18px; }
.project-media { display:grid;place-items:center;position:relative;aspect-ratio:16/10;margin-bottom:17px;overflow:hidden;border-bottom:1px solid var(--about-line);background:#1c232b; }
.project-media-placeholder { display:grid;place-items:center;position:absolute;inset:0;color:var(--about-faint);font-size:26px; }
.project-media img { position:relative;width:100%;height:100%;display:block;object-fit:cover; }
.project-media img.is-missing { display:none; }
.project-link,.social-link{position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:14px;padding:0 13px;border:1px solid var(--about-line);border-radius:10px;background:#1b222a;color:var(--about-text);font-size:12px;font-weight:650;text-decoration:none}
.project-link:hover,.social-link:hover { border-color:var(--about-accent); }
.project-link:focus-visible,.social-link:focus-visible,.about-retry:focus-visible,.nx-brand-home:focus-visible { outline:2px solid var(--about-accent);outline-offset:3px; }
.socials { display:flex;flex-wrap:wrap;gap:10px; }
.social-link { min-width:0;margin:0;overflow-wrap:anywhere; }
.about-alert { display:grid;gap:12px;padding:22px;border:1px solid var(--about-line);border-radius:14px;background:var(--about-surface); }
.about-alert p { margin:0;color:var(--about-muted);font-size:14px;line-height:1.65; }
.about-retry { width:max-content;min-height:44px;padding:0 16px;border:1px solid var(--about-line);border-radius:10px;background:#1b222a;color:var(--about-text);font:650 13px Inter,system-ui,sans-serif;cursor:pointer; }
footer { padding:32px 4px 0;color:var(--about-faint);text-align:center;font-size:12px;line-height:1.6; }
@media(min-width:640px){main{padding:32px 26px 45px}html.is-embedded main{padding-top:26px}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.socials{display:flex;flex-wrap:wrap}}
@media(min-width:960px){main{padding:42px 30px 55px}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.profile-hero{grid-template-columns:1fr;gap:16px;padding:22px}.profile-avatar{width:82px;height:82px;font-size:30px}.about-grid{grid-template-columns:1fr}.about-card{padding:18px}.project-card{padding:0 0 18px}.project-card h2,.project-card p,.project-card .project-link{margin-left:18px;margin-right:18px}}
@media(max-width:370px){main{padding-left:12px;padding-right:12px}.profile-hero{padding:18px}.socials{grid-template-columns:minmax(0,1fr)}.social-link{width:100%}}
/* Compact project tiles stay side by side, including on phones. */
.about-grid.project-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start; }
.project-grid .project-card { padding:0 0 10px;border-radius:10px; }
.project-grid .project-media { aspect-ratio:16/9;margin-bottom:10px; }
.project-grid .project-card h2,.project-grid .project-card p,.project-grid .project-link { margin-left:10px;margin-right:10px; }
.project-grid .project-card h2 { font-size:13px; }
.project-grid .project-card p { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px; }
.project-grid .project-link { display:flex;min-height:44px;padding:6px;gap:5px;font-size:11px;text-align:center;overflow-wrap:anywhere; }
@media(max-width:480px) {
  .about-grid.project-grid { gap:7px; }
  .project-grid .project-card h2,.project-grid .project-card p,.project-grid .project-link { margin-left:6px;margin-right:6px; }
  .project-grid .project-card h2 { font-size:12px; }
  .project-grid .project-card p { font-size:11px; }
  .project-grid .project-link { flex-wrap:wrap; }
}
/* Motion is opt-in; content remains visible when animations are unavailable. */
@media(prefers-reduced-motion:no-preference) {
  .profile-hero,.about-section,.about-alert {
    animation:about-enter 420ms cubic-bezier(.22,1,.36,1) backwards;
  }
  .about-section:nth-of-type(1) { animation-delay:60ms; }
  .about-section:nth-of-type(2) { animation-delay:100ms; }
  .about-section:nth-of-type(3) { animation-delay:140ms; }
  .project-link,.social-link,.about-retry,.nx-brand-home {
    transition:transform 160ms ease,border-color 160ms ease,background-color 160ms ease;
  }
  .project-link:active,.social-link:active,.about-retry:active,.nx-brand-home:active { transform:translateY(1px); }
  @media(hover:hover) and (pointer:fine) {
    .project-link:hover,.social-link:hover,.about-retry:hover,.nx-brand-home:hover {
      transform:translateY(-2px);border-color:var(--about-accent);background-color:#242e3b;
    }
  }
}
@keyframes about-enter {
  from { opacity:0;transform:translateY(8px); }
  to { opacity:1;transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
