*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;background:var(--bg);color:var(--fg);font-family:Geist,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-feature-settings:"ss01","ss02","cv01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.5}body.scroll-lock{overflow:hidden}img,svg{display:block}button,a{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{text-decoration:none}::selection{background:#a78bfa52;color:#fff}:root{--bg: #06060a;--bg-soft: #0a0a12;--surface: rgba(255, 255, 255, .038);--surface-hi: rgba(255, 255, 255, .065);--surface-sunken: rgba(0, 0, 0, .28);--border: rgba(255, 255, 255, .08);--border-hi: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .22);--fg: #ededf0;--fg-muted: rgba(237, 237, 240, .62);--fg-dim: rgba(237, 237, 240, .42);--fg-faint: rgba(237, 237, 240, .26);--violet: #a78bfa;--gold: #f5c678;--mint: #5eead4;--sky: #7cc4ff;--green: #10b981;--verified: #5eaaff;--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--radius-xs: 8px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--shadow-card: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 0 0 1px rgba(255, 255, 255, .02), 0 30px 70px -20px rgba(0, 0, 0, .6), 0 0 120px -40px rgba(167, 139, 250, .22)}.bg-grid,.bg-noise,.bg-vignette{position:fixed;inset:0;pointer-events:none}.bg-video-wrap{position:fixed;inset:0;z-index:-4;pointer-events:none;overflow:hidden}.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.bg-video-dim{position:absolute;inset:0;background:#06060a85}.bg-grid{z-index:-3;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 100% 85% at 50% 45%,black 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 100% 85% at 50% 45%,black 10%,transparent 75%)}.bg-noise{z-index:-2;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}.bg-vignette{z-index:-1;background:radial-gradient(ellipse 80% 60% at 50% 30%,transparent,rgba(6,6,10,.6) 100%)}.wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:36px 20px 28px;padding-top:max(36px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}.card{width:100%;max-width:440px;background:linear-gradient(180deg,#ffffff0b,#ffffff04);backdrop-filter:blur(40px) saturate(140%);-webkit-backdrop-filter:blur(40px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius-xl);padding:26px 22px 22px;position:relative;box-shadow:var(--shadow-card);animation:cardIn .9s var(--ease) both;overflow:hidden}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.card-spotlight{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.75;background:radial-gradient(480px circle at var(--mx, -9999px) var(--my, -9999px),rgba(167,139,250,.08),transparent 40%);transition:opacity .3s}.card-intro-gif{position:absolute;inset:-18px;width:calc(100% + 36px);height:calc(100% + 36px);object-fit:cover;border-radius:calc(var(--radius-xl) + 18px);pointer-events:none;z-index:10;opacity:1;mix-blend-mode:screen;transition:opacity 1s ease;animation:introGifIn .4s ease forwards}.card-intro-gif.fading{opacity:0}@keyframes introGifIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.stagger>*{opacity:0;animation:fadeUp .7s var(--ease) forwards}.stagger>*:nth-child(1){animation-delay:.08s}.stagger>*:nth-child(2){animation-delay:.14s}.stagger>*:nth-child(3){animation-delay:.2s}.stagger>*:nth-child(4){animation-delay:.26s}.stagger>*:nth-child(5){animation-delay:.32s}.stagger>*:nth-child(6){animation-delay:.38s}.stagger>*:nth-child(7){animation-delay:.44s}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.head{text-align:center;position:relative}.head-actions{position:absolute;top:0;right:0;display:flex;gap:6px;z-index:2}.icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-dim);border:1px solid var(--border);border-radius:10px;background:#ffffff06;transition:all .2s var(--ease)}.icon-btn:hover{color:var(--fg);background:#ffffff0f;border-color:var(--border-hi);transform:translateY(-1px)}.icon-btn:active{transform:translateY(0) scale(.96)}.icon-btn svg{width:15px;height:15px}.avatar{position:relative;width:112px;height:112px;margin:0 auto 18px}.avatar-ring{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 180deg,#a78bfa,#f5c678,#5eead4,#7cc4ff,#a78bfa);animation:spin 9s linear infinite;opacity:.9;z-index:0}.avatar-ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:linear-gradient(180deg,#0f0f18,#08080f)}@keyframes spin{to{transform:rotate(360deg)}}.avatar-photo{position:absolute;inset:5px;border-radius:50%;overflow:hidden;z-index:1;box-shadow:0 10px 30px #00000073}.avatar-photo img{width:100%;height:100%;object-fit:cover}.avatar-decorate{position:absolute;top:50%;left:50%;width:148%;height:148%;transform:translate(-50%,-50%);pointer-events:none;z-index:2;filter:drop-shadow(0 4px 12px rgba(167,139,250,.25))}.avatar-status{position:absolute;bottom:4px;right:4px;width:14px;height:14px;border-radius:50%;background:var(--green);border:3px solid var(--bg-soft);z-index:3;box-shadow:0 0 10px #10b981b3}.avatar-status:before{content:"";position:absolute;inset:-3px;border-radius:50%;background:var(--green);opacity:.4;animation:livePulse 2s ease-out infinite}@keyframes livePulse{0%{transform:scale(1);opacity:.4}to{transform:scale(1.9);opacity:0}}.name{font-family:"Instrument Serif",Georgia,Times New Roman,serif;font-size:clamp(28px,7.5vw,34px);font-weight:400;letter-spacing:-.015em;line-height:1.08;display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}.name em{font-style:italic;color:var(--violet);font-weight:400}.verified{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--verified);filter:drop-shadow(0 0 10px rgba(94,170,255,.6));flex-shrink:0}.verified svg{width:22px;height:22px}.handle{margin-top:6px;font-family:Geist Mono,ui-monospace,SF Mono,monospace;font-size:12.5px;color:var(--fg-muted);letter-spacing:-.01em}.bio{margin-top:12px;max-width:340px;margin-left:auto;margin-right:auto;font-size:14px;color:var(--fg-muted);line-height:1.55;min-height:1.55em}.bio-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--fg-muted);animation:caret .85s steps(1) infinite}@keyframes caret{0%,50%{opacity:1}50.01%,to{opacity:0}}.roles{display:flex;justify-content:center;gap:7px;margin:14px 0 20px}.role{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 9px;border:1px solid;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.01em}.role-icon{width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center}.role-icon svg{width:12px;height:12px}.role-dev{color:#a5b4fc;background:#8b9eff1a;border-color:#8b9eff40}.role-des{color:#fbbf6a;background:#f5b9611a;border-color:#f5b96140}.info{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-sunken);overflow:hidden;margin-bottom:20px}.info-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:13.5px;color:var(--fg);border-bottom:1px solid var(--border);text-align:left;transition:background .2s var(--ease)}.info-row:last-child{border-bottom:none}.info-row.is-interactive{cursor:pointer}.info-row.is-interactive:hover{background:#ffffff08}.info-row.is-interactive:focus-visible{outline:2px solid var(--violet);outline-offset:-1px}.info-ic{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-dim);flex-shrink:0}.info-ic svg{width:16px;height:16px}.info-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-cta{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-faint);border-radius:8px;transition:all .2s var(--ease);flex-shrink:0}.info-row:hover .info-cta{color:var(--fg);background:#ffffff0a}.info-cta svg{width:14px;height:14px}.tabs{position:relative;display:inline-flex;gap:2px;padding:4px;background:#00000047;border:1px solid var(--border);border-radius:999px;margin:0 auto 16px;width:fit-content;display:flex}.tabs-pill{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:linear-gradient(180deg,#ffffff1f,#ffffff0d);border:1px solid var(--border-hi);box-shadow:0 4px 12px #00000047,0 1px #ffffff14 inset;opacity:0;transition:transform .42s var(--ease),width .42s var(--ease),opacity .3s var(--ease)}.tabs-pill.ready{opacity:1}.tab{position:relative;z-index:1;padding:7px 18px;font-size:12.5px;font-weight:500;color:var(--fg-muted);border-radius:999px;transition:color .25s var(--ease)}.tab:hover,.tab.active{color:var(--fg)}.tab:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.card .tabs{display:flex;margin:4px auto 14px}.links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.links .link-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 5px);justify-self:center;width:100%}.link-card{position:relative;display:flex;align-items:center;gap:11px;padding:11px 8px 11px 12px;background:linear-gradient(180deg,#ffffff0d,#ffffff04);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;overflow:hidden;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .35s var(--ease),transform .4s var(--ease);will-change:transform}.link-card:after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);box-shadow:0 0 0 1px var(--brand-glow, transparent)}.link-card:hover{background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:var(--border-hi);box-shadow:0 18px 36px -14px #00000080,0 0 40px -16px var(--brand-glow, rgba(255, 255, 255, .1))}.link-card:hover:after{opacity:1}.link-card:active{transform:perspective(900px) translateY(1px) scale(.99)}.link-card:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.link-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);background:radial-gradient(180px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--brand-glow, #fff) 22%,transparent),transparent 55%);mix-blend-mode:screen}.link-card:hover .link-sheen{opacity:1}.link-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:9px;flex-shrink:0;color:var(--brand-fg, #fff);background:var(--brand-bg, rgba(255, 255, 255, .05));position:relative;z-index:1}.link-icon svg{width:17px;height:17px;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--brand-fg, #fff) 40%,transparent))}.link-text{display:flex;flex-direction:column;min-width:0;flex:1;position:relative;z-index:1}.link-title{font-size:13px;font-weight:600;color:var(--fg);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-name{font-size:11.5px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-action{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--fg-faint);border-radius:8px;transition:all .2s var(--ease);z-index:1}.link-card:hover .link-action{color:var(--fg-muted)}.link-action:hover{color:var(--fg)!important;background:#ffffff0f}.link-action svg{width:14px;height:14px}.link-action.ghost{pointer-events:none}.link-action.copied{color:var(--green)!important}.icon-swap{position:relative;width:14px;height:14px;display:inline-block}.icon-layer{position:absolute;inset:0;display:inline-flex;transition:opacity .22s var(--ease),transform .3s var(--ease-spring)}.icon-layer svg{width:14px;height:14px}.icon-layer.a{opacity:1;transform:scale(1) rotate(0)}.icon-layer.b{opacity:0;transform:scale(.4) rotate(-45deg)}.copied .icon-layer.a{opacity:0;transform:scale(.4) rotate(45deg)}.copied .icon-layer.b{opacity:1;transform:scale(1) rotate(0)}.link-card[data-brand=instagram]{--brand-fg: #e1306c;--brand-bg: linear-gradient(135deg, rgba(240, 148, 51, .14), rgba(220, 39, 67, .14) 50%, rgba(188, 24, 136, .14));--brand-glow: rgba(220, 39, 67, .45)}.link-card[data-brand=github]{--brand-fg: #f0f0f0;--brand-bg: rgba(255, 255, 255, .06);--brand-glow: rgba(255, 255, 255, .2)}.link-card[data-brand=telegram]{--brand-fg: #29b6f6;--brand-bg: rgba(41, 161, 229, .12);--brand-glow: rgba(41, 161, 229, .45)}.link-card[data-brand=facebook]{--brand-fg: #5b9bf7;--brand-bg: rgba(24, 119, 242, .14);--brand-glow: rgba(24, 119, 242, .45)}.link-card[data-brand=zalo]{--brand-fg: #4ea3ff;--brand-bg: rgba(0, 104, 240, .14);--brand-glow: rgba(0, 104, 240, .45)}.link-card[data-brand=techcombank]{--brand-fg: #e8192c;--brand-bg: rgba(232, 25, 44, .14);--brand-glow: rgba(232, 25, 44, .45)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 14px;font-size:13.5px;font-weight:600;letter-spacing:-.005em;border-radius:var(--radius-md);border:1px solid;transition:all .22s var(--ease);will-change:transform}.btn-ic{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center}.btn-ic svg{width:15px;height:15px}.btn-primary{color:var(--fg);background:linear-gradient(180deg,#ffffff1f,#ffffff08),linear-gradient(180deg,#2a2a38,#15151d);border-color:var(--border-strong);box-shadow:0 1px #ffffff1a inset,0 8px 20px -8px #00000080}.btn-primary:hover{transform:translateY(-1px);background:linear-gradient(180deg,#ffffff2e,#ffffff0a),linear-gradient(180deg,#32323f,#1b1b23);box-shadow:0 1px #ffffff24 inset,0 12px 28px -10px #0000008c,0 0 24px -10px #a78bfa66}.btn-secondary{color:var(--fg);background:#ffffff08;border-color:var(--border)}.btn-secondary:hover{transform:translateY(-1px);background:#ffffff0f;border-color:var(--border-hi)}.btn:active{transform:translateY(0) scale(.99)}.btn:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.footer{margin-top:28px;padding-bottom:12px;font-size:12px;color:var(--fg-dim);text-align:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}.footer-dot{color:var(--fg-faint)}.footer-made{display:inline-flex;align-items:center;gap:4px;font-family:"Instrument Serif",serif;font-style:italic;font-size:13px;color:var(--fg-muted)}.footer-made svg{width:13px;height:13px;color:var(--violet);animation:sparkleRot 4s ease-in-out infinite}@keyframes sparkleRot{0%,to{transform:rotate(0)}50%{transform:rotate(20deg)}}.modal-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000008c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .32s var(--ease)}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{position:relative;width:100%;max-width:340px;padding:28px 22px 22px;background:linear-gradient(180deg,#1e1e2aeb,#0e0e14f5);backdrop-filter:blur(40px);border:1px solid var(--border-hi);border-radius:var(--radius-xl);box-shadow:0 30px 80px #0009,0 0 120px -40px #a78bfa59,0 1px #ffffff14 inset;transform:scale(.93) translateY(12px);transition:transform .4s var(--ease-spring);text-align:center}.modal-backdrop.open .modal{transform:scale(1) translateY(0)}.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);border:1px solid var(--border);border-radius:10px;background:#ffffff08;transition:all .2s var(--ease)}.modal-close:hover{color:var(--fg);background:#ffffff14;border-color:var(--border-hi)}.modal-close svg{width:15px;height:15px}.modal-title{font-family:"Instrument Serif",serif;font-size:26px;font-weight:400;letter-spacing:-.01em;margin-bottom:4px}.modal-sub{font-size:12.5px;color:var(--fg-muted);margin-bottom:18px;font-family:Geist Mono,ui-monospace,monospace;letter-spacing:-.005em}.qr-frame{padding:10px;border-radius:var(--radius-md);background:#fff;box-shadow:0 8px 20px #0000004d,0 0 0 1px var(--border-hi)}.qr-frame img{width:100%;height:auto;border-radius:6px}.help-backdrop{position:fixed;inset:0;z-index:150;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:#00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}.help-backdrop.open{opacity:1;pointer-events:auto}.help-panel{width:100%;max-width:380px;padding:18px 18px 16px;background:linear-gradient(180deg,#1c1c28f2,#0c0c12fa);border:1px solid var(--border-hi);border-radius:var(--radius-lg);box-shadow:0 30px 80px #0009;transform:translateY(20px);transition:transform .4s var(--ease-spring)}.help-backdrop.open .help-panel{transform:translateY(0)}@media (min-width: 520px){.help-backdrop{align-items:center}}.help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.help-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--fg)}.help-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--violet)}.help-icon svg{width:16px;height:16px}.help-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);border:1px solid var(--border);border-radius:8px;transition:all .2s var(--ease)}.help-close:hover{color:var(--fg);background:#ffffff0d}.help-close svg{width:13px;height:13px}.help-list{list-style:none;display:grid;gap:6px}.help-list li{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;font-size:12.5px;color:var(--fg-muted)}.kbd-group{display:inline-flex;gap:3px}.kbd-group kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;font-weight:500;color:var(--fg);background:#ffffff0f;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;z-index:300;display:inline-flex;align-items:center;gap:9px;padding:10px 16px 10px 12px;background:#12121af0;backdrop-filter:blur(24px);border:1px solid var(--border-hi);border-radius:999px;font-size:12.5px;font-weight:500;color:var(--fg);box-shadow:0 10px 30px #0006;opacity:0;pointer-events:none;transform:translate(-50%) translateY(30px) scale(.94);transition:opacity .35s var(--ease),transform .45s var(--ease-spring)}.toast.show{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.toast-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#10b9812e;color:var(--green)}.toast-dot svg{width:12px;height:12px}@media (max-width: 400px){.wrap{padding:24px 14px}.card{padding:22px 16px 18px;border-radius:24px}.avatar{width:100px;height:100px}.name{font-size:28px}.links{grid-template-columns:1fr}.links .link-card:last-child:nth-child(odd){max-width:100%;grid-column:auto}.actions{grid-template-columns:1fr}.head-actions{top:-4px;right:-4px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.avatar-ring{animation:none}.avatar-status:before{animation:none}.bio-caret{animation:none;display:none}.link-card{transform:none!important}.bg-aurora .blob{animation:none}.footer-made svg{animation:none}}@media print{body{background:#fff;color:#000}.bg-aurora,.bg-grid,.bg-noise,.bg-vignette,.head-actions,.tabs,.toast,.modal-backdrop,.help-backdrop{display:none!important}.card{box-shadow:none;border-color:#ccc;background:#fff}.name em{color:#6d28d9}}
