:root{--primary-50: oklch(98.4% .003 247.858);--primary-100: oklch(96.8% .007 247.896);--primary-200: oklch(92.9% .013 255.508);--primary-300: oklch(86.9% .022 252.894);--primary-400: oklch(70.4% .04 256.788);--primary-500: oklch(55.4% .046 257.417);--primary-600: oklch(44.6% .043 257.281);--primary-700: oklch(37.2% .044 257.287);--primary-800: oklch(17.5% .025 265);--primary-900: oklch(12% .015 265);--primary-950: oklch(9% .01 265);--font-primary: "Sora", sans-serif;--font-body: "Inter", sans-serif;--ease-out: cubic-bezier(.25, 1, .5, 1);--bg: var(--primary-50);--dots: oklch(0% 0 0 / .07);--text-heading: var(--primary-950);--text-tagline: var(--primary-600);--text-muted: var(--primary-500);--text-footer: var(--primary-600);--card-bg: oklch(100% 0 0);--card-shadow: 0 2px 8px rgba(0, 0, 0, .04);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);--icon-bg: var(--primary-50);--icon-bg-hover: var(--primary-100);--icon-color: var(--primary-500);--icon-color-hover: var(--primary-700);--toggle-bg: var(--primary-50);--toggle-bg-hover: var(--primary-100);--border-soft: var(--primary-100);--divider: var(--primary-300);--glow-1: oklch(96.8% .007 247.896 / .3);--glow-2: oklch(92.9% .013 255.508 / .4);--ring-gradient: linear-gradient(to right, var(--primary-200), var(--primary-200), var(--primary-300))}html.dark{--bg: var(--primary-950);--dots: oklch(100% 0 0 / .06);--text-heading: var(--primary-100);--text-tagline: var(--primary-400);--text-muted: var(--primary-400);--text-footer: var(--primary-400);--card-bg: oklch(12% .015 265 / .8);--card-shadow: 0 2px 8px rgba(0, 0, 0, .2);--card-shadow-hover: 0 4px 14px rgba(0, 0, 0, .3);--icon-bg: oklch(17.5% .025 265 / .4);--icon-bg-hover: oklch(17.5% .025 265 / .6);--icon-color: var(--primary-400);--icon-color-hover: var(--primary-200);--toggle-bg: oklch(17.5% .025 265 / .4);--toggle-bg-hover: oklch(17.5% .025 265 / .6);--border-soft: oklch(17.5% .025 265 / .6);--divider: var(--primary-700);--glow-1: oklch(17.5% .025 265 / .1);--glow-2: oklch(17.5% .025 265 / .2);--ring-gradient: linear-gradient(to right, oklch(17.5% .025 265 / .5), oklch(37.2% .044 257.287 / .3), oklch(37.2% .044 257.287 / .5))}*{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;font-family:var(--font-body);background:var(--bg);color:var(--text-heading);position:relative;transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}.dots-bg{position:fixed;inset:0;background-image:radial-gradient(var(--dots) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}#themeToggle{position:fixed;top:20px;right:20px;z-index:50;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background:var(--toggle-bg);box-shadow:var(--card-shadow);cursor:pointer;transition:background-color .3s var(--ease-out),transform .15s var(--ease-out)}#themeToggle:hover{background:var(--toggle-bg-hover)}#themeToggle:active{background:var(--toggle-bg-hover);transform:scale(.94)}#themeToggle:focus-visible{outline:2px solid var(--icon-color-hover);outline-offset:2px}#themeToggle svg{position:absolute;top:50%;left:50%;width:17px;height:17px;color:var(--icon-color);transition:opacity .3s var(--ease-out),transform .4s var(--ease-out)}#themeToggle .icon-sun{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(.5)}#themeToggle .icon-moon,html.dark #themeToggle .icon-sun{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}html.dark #themeToggle .icon-moon{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.5)}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:var(--rest-opacity, 1)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes ring-in{0%{opacity:0;transform:scale(.85)}to{opacity:.7;transform:scale(1)}}@keyframes divider-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:.5;transform:scaleX(1)}}main{position:relative;z-index:1;max-width:576px;margin:0 auto;padding:48px 20px 40px;display:flex;flex-direction:column;align-items:center}.profile{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:52px;text-align:center}.profile-glow{position:absolute;left:50%;transform:translate(-50%);border-radius:50%;filter:blur(48px);z-index:-1;pointer-events:none;animation:fade-in .5s var(--ease-out) both}.profile-glow-1{top:48px;width:220px;height:220px;background:var(--glow-1)}.profile-glow-2{top:96px;width:112px;height:112px;background:var(--glow-2);animation-delay:40ms}.avatar-wrap{position:relative;margin-bottom:28px}.avatar-ring{position:absolute;inset:-2px;border-radius:50%;background:var(--ring-gradient);opacity:.7;filter:blur(2px);animation:ring-in .4s var(--ease-out) 60ms both}.avatar-frame{position:relative;z-index:1;padding:2px;border-radius:50%;background:var(--card-bg);box-shadow:0 0 0 1px var(--border-soft);animation:scale-in .4s var(--ease-out) .11s both}.avatar-frame img{display:block;width:112px;height:112px;border-radius:50%;object-fit:cover}.avatar-dash{position:absolute;border:1px dashed var(--divider);border-radius:50%;opacity:.4;pointer-events:none;animation:fade-in .4s var(--ease-out) both}.avatar-dash-1{inset:-12px;transform:rotate(12deg);--rest-opacity: .4;animation-delay:.15s}.avatar-dash-2{inset:-24px;transform:rotate(-6deg);opacity:.3;--rest-opacity: .3;animation-delay:.17s}.profile h1{font-family:var(--font-primary);font-size:1.75rem;font-weight:500;letter-spacing:-.01em;margin:0;color:var(--text-heading);text-wrap:balance;animation:fade-up .4s var(--ease-out) .19s both}.profile .divider{height:2px;width:80px;margin:10px auto 0;background:linear-gradient(to right,transparent,var(--primary-400),transparent);opacity:.5;transform-origin:center;animation:divider-draw .4s var(--ease-out) .23s both}.profile .tagline{font-size:1rem;font-weight:500;color:var(--text-tagline);margin:20px 0 10px;animation:fade-up .4s var(--ease-out) .25s both}.profile .description{font-size:.9375rem;color:var(--text-muted);max-width:400px;line-height:1.6;margin:0;text-wrap:pretty;animation:fade-up .4s var(--ease-out) .27s both}.social-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:52px}.social-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:var(--icon-bg);box-shadow:var(--card-shadow);color:var(--icon-color);text-decoration:none;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out),box-shadow .3s var(--ease-out);animation:fade-up .4s var(--ease-out) both;animation-delay:calc(.3s + var(--i, 0) * 30ms)}.social-icon svg{width:19px;height:19px}.social-icon:hover{background:var(--icon-bg-hover);color:var(--icon-color-hover);transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.social-icon:active{transform:translateY(0) scale(.96);box-shadow:var(--card-shadow)}.social-icon:focus-visible{outline:2px solid var(--icon-color-hover);outline-offset:2px}.link-list{display:flex;flex-direction:column;gap:14px;width:100%}.link-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:var(--card-bg);border:none;border-radius:12px;padding:20px 22px;box-shadow:var(--card-shadow);text-decoration:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);animation:fade-up .4s var(--ease-out) both;animation-delay:calc(.45s + var(--i, 0) * 30ms)}.link-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.link-card:active{transform:translateY(0) scale(.99);box-shadow:var(--card-shadow)}.link-card:focus-visible{outline:2px solid var(--icon-color-hover);outline-offset:2px}.link-card-text h2{font-family:var(--font-primary);font-size:1.0625rem;font-weight:500;margin:0 0 6px;color:var(--text-heading);border-bottom:1px solid var(--primary-300);display:inline-block;padding-bottom:2px;text-wrap:balance}.link-card-text p{font-size:.8125rem;color:var(--text-muted);margin:0;max-width:95%;line-height:1.5;text-wrap:pretty}.link-card-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--icon-bg);color:var(--icon-color);transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}.link-card-icon svg{width:14px;height:14px}.link-card:hover .link-card-icon{background:var(--icon-bg-hover);color:var(--icon-color-hover)}.link-card-arrow{transition:transform .3s var(--ease-out)}.link-card:hover .link-card-arrow{transform:translate(2px)}#aboutChevron{transition:transform .3s var(--ease-out)}#aboutChevron.rotated{transform:rotate(180deg)}.about-panel{display:grid;grid-template-rows:0fr;width:100%;margin-top:14px;border-radius:12px;background:var(--card-bg);box-shadow:none;opacity:0;transition:grid-template-rows .4s var(--ease-out),opacity .3s var(--ease-out),box-shadow .3s var(--ease-out)}.about-panel.is-open{grid-template-rows:1fr;opacity:1;box-shadow:var(--card-shadow)}.about-panel-content{overflow:hidden;min-height:0;padding:24px 26px}.about-panel-content p{font-size:.875rem;line-height:1.65;color:var(--text-muted);margin:0 0 12px;text-wrap:pretty}.about-panel-content p:last-child{margin-bottom:0}.about-panel-content a{color:var(--text-tagline);text-decoration:underline}.about-panel-content a:focus-visible{outline:2px solid var(--icon-color-hover);outline-offset:2px}.about-panel-content strong{color:var(--text-heading);font-weight:600}footer{width:100%;margin-top:52px;text-align:center;color:var(--text-footer);font-size:.75rem;animation:fade-in .5s var(--ease-out) .52s both}.footer-divider{width:80px;height:1px;margin:0 auto 16px;background:linear-gradient(to right,transparent,var(--divider),transparent);opacity:.4}.footer-content{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.footer-dot{opacity:.6}@media(max-width:420px){.profile h1{font-size:1.5rem}.avatar-frame img{width:96px;height:96px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.social-icon:hover,.link-card:hover{transform:none}}
