:root {
  color-scheme: light;
  --bg: #f5f6f7;
  --photo-opacity: .18;
  --surface: #ffffff;
  --text: #16181b;
  --muted: #666a72;
  --line: #dadde2;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 280px; position: relative; isolation: isolate; }
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('images/background.png') center 70% / cover no-repeat;
  opacity: var(--photo-opacity);
}
::selection { background: #e5f3ff; color: #245580; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; cursor: pointer; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--text); outline-offset: 5px; }
.page-shell { width: min(100%, 656px); min-height: 100svh; margin: auto; padding: 0 32px; display: flex; flex-direction: column; }
.social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: transparent; transition: background .18s, border-color .18s, color .18s; }
.social-link:hover { background: #e8eaed; border-color: #a6abb3; color: var(--text); }
main { margin: 88px 0 48px; }
h1 { margin: 0; font-size: 44px; line-height: 1; font-weight: 500; letter-spacing: -.05em; overflow-wrap: anywhere; }
.bio { margin: 22px 0 28px; font-size: 16px; line-height: 1.6; color: var(--muted); white-space: pre-line; }
.profile-bio { display: flex; align-items: baseline; gap: 8px; }
.bio-icon { display: block; width: 1em; height: 1em; min-width: 1em; max-width: 1em; max-height: 1em; flex: none; align-self: flex-start; margin-top: .3em; }
.folder-front { fill: var(--bg); transform-box: view-box; transform-origin: 12px 21px; transition: transform .22s ease; }
.folder-paper { opacity: 0; transition: transform .22s ease, opacity .22s ease; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .bio-icon:hover .folder-front { transform: skewX(-8deg) scaleY(.76); }
  .bio-icon:hover .folder-paper { opacity: .65; transform: translateY(-1px); }
}
.socials { display: flex; flex-wrap: wrap; gap: 10px; }
.social-link { width: 46px; height: 46px; color: #424750; }
.social-link svg { width: 18px; height: 18px; }
.links-section { margin-top: 36px; }
.sponsored-section { margin-top: 26px; }
.section-label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.section-label h2 { margin: 0; font: 10px/1.5 var(--mono); letter-spacing: 1.1px; text-transform: uppercase; color: var(--muted); }
#link-list, #sponsored-list { display: grid; gap: 16px; padding-top: 6px; }
.link-card { --card-bg: #ffffff; --card-line: #d9dfe5; position: relative; width: 100%; display: flex; align-items: center; gap: 13px; min-height: 54px; padding: 12px 16px; border: 1px solid var(--card-line); border-radius: 3px 8px 8px 8px; background: var(--card-bg); text-align: left; box-shadow: 0 2px 0 #e9ecf0; transition: background .18s, border-color .18s, box-shadow .18s, transform .18s; }
.link-card::before { content: ''; position: absolute; left: -1px; top: -7px; width: 38px; height: 7px; border: 1px solid var(--card-line); border-bottom: 0; border-radius: 5px 7px 0 0; background: var(--card-bg); transition: background .18s, border-color .18s; }
.link-card:hover { --card-bg: #f4f9fd; --card-line: #b9cddd; box-shadow: 0 3px 0 #e2eaf1; transform: translateY(-1px); }
.link-card:active { --card-bg: #eaf2f9; transform: translateY(1px); box-shadow: none; }
.link-symbol { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; color: #788693; transition: color .18s; }
.link-symbol svg { display: block; width: 22px; height: 22px; }
.link-symbol img { display: block; width: 30px; height: 30px; object-fit: contain; border-radius: 4px; }
.link-card:hover .link-symbol { color: #245580; }
.link-copy { flex: 1; min-width: 0; }
.link-copy h3 { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 500; letter-spacing: -.2px; }
.link-copy p { margin: 3px 0 0; font-size: 12px; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere; }
.sponsored-card { min-height: 68px; }
.skip-link { position: fixed; left: 16px; top: -70px; padding: 12px; background: var(--text); color: var(--bg); z-index: 10; }
.skip-link:focus { top: 16px; }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translate(-50%, 10px); width: max-content; max-width: calc(100% - 32px); padding: 12px 18px; border: 1px solid #55575a; border-radius: 6px; background: var(--surface); color: var(--text); font-size: 13px; line-height: 1.5; opacity: 0; pointer-events: none; transition: opacity .18s, transform .18s; z-index: 20; }
.toast.visible { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 600px) {
  .page-shell { padding: 0 24px; }
  main { margin: 56px 0 40px; }
  .socials { gap: 6px; }
  .social-link { width: 44px; height: 44px; }
  h1 { font-size: 36px; }
  .bio { font-size: 15px; }
  .links-section { margin-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
