/* GameIOS Bio public UI v3 - đồng bộ style gameios.us, tối ưu mobile/desktop */
:root{
  --gio-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
  --neon-cyan:#00f0ff; --neon-purple:#a855f7; --neon-pink:#ec4899;
  --dark-bg:#070b14; --dark-card:#0f172a; --dark-surface:#111827; --dark-border:rgba(148,163,184,.18);
  --gio-gradient:linear-gradient(135deg,var(--bio-accent),var(--bio-accent2) 58%,#ec4899);
  --gio-glow:0 18px 60px rgba(0,240,255,.10), 0 26px 90px rgba(0,0,0,.36);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--gio-font);color:var(--bio-text);background:var(--bio-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}a{-webkit-tap-highlight-color:transparent}.bio-public{background-color:var(--bio-bg);background-image:radial-gradient(circle at 14% 8%,color-mix(in srgb,var(--bio-accent) 28%,transparent),transparent 34%),radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--bio-accent2) 26%,transparent),transparent 38%),radial-gradient(circle at 50% 92%,rgba(236,72,153,.14),transparent 38%),linear-gradient(135deg,color-mix(in srgb,var(--bio-bg) 88%,#020617),var(--bio-bg2));background-attachment:fixed}.bio-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.bio-bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 76%);opacity:.38}.bio-bg::after{content:"";position:absolute;left:50%;top:-210px;width:min(820px,120vw);height:min(820px,120vw);transform:translateX(-50%);border-radius:999px;background:conic-gradient(from 110deg,var(--bio-accent),var(--bio-accent2),#ec4899,var(--bio-accent));filter:blur(86px);opacity:.16}.bio-shell{width:min(100% - 24px,680px);margin:0 auto;padding:18px 0 calc(42px + var(--safe-bottom));position:relative}.bio-topbar{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:10px 12px;border:1px solid var(--bio-border);border-radius:22px;background:color-mix(in srgb,var(--bio-card) 82%,rgba(2,6,23,.72));box-shadow:0 16px 40px rgba(0,0,0,.22);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--bio-text);text-decoration:none}.brand-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:var(--gio-gradient);color:#001018;font-weight:1000;box-shadow:0 10px 30px color-mix(in srgb,var(--bio-accent) 30%,transparent)}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-size:14px;letter-spacing:.01em}.brand-text span{font-size:11px;color:var(--bio-muted);font-weight:800;text-transform:uppercase;letter-spacing:.11em}.top-actions{display:flex;gap:8px;align-items:center}.mini-btn,.top-icon-btn{min-height:38px;border:1px solid var(--bio-border);background:rgba(255,255,255,.06);color:var(--bio-text);border-radius:14px;padding:0 12px;font-size:13px;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.top-icon-btn{width:38px;padding:0}.mini-btn:hover,.top-icon-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--bio-accent) 70%,var(--bio-border));background:rgba(255,255,255,.10)}.profile-card{position:relative;overflow:hidden;text-align:left;border:1px solid var(--bio-border);border-radius:30px;background:linear-gradient(180deg,color-mix(in srgb,var(--bio-card) 88%,rgba(15,23,42,.82)),color-mix(in srgb,var(--bio-card) 70%,rgba(2,6,23,.70)));box-shadow:var(--gio-glow);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.profile-card::before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,color-mix(in srgb,var(--bio-accent) 56%,transparent),transparent 35%,color-mix(in srgb,var(--bio-accent2) 45%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.cover-zone{position:relative;min-height:150px;padding:22px 22px 0}.cover-img{position:absolute;inset:0;width:100%;height:198px;object-fit:cover;opacity:.42}.cover-gradient{position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--bio-accent) 32%,transparent),transparent 34%),radial-gradient(circle at 88% 4%,color-mix(in srgb,var(--bio-accent2) 30%,transparent),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.08),transparent)}.profile-main{position:relative;padding:18px 22px 22px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:end}.avatar-wrap{position:relative;z-index:2}.avatar{width:96px;height:96px;border-radius:26px;object-fit:cover;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 45px rgba(0,0,0,.35);background:var(--gio-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:1000}.avatar-fallback{color:#001018}.profile-copy{min-width:0}.profile-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;padding:6px 9px;border-radius:999px;border:1px solid var(--bio-border);background:rgba(255,255,255,.06);color:var(--bio-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.profile-kicker::before{content:"";width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}.profile-card h1{font-size:clamp(25px,5vw,38px);line-height:1.04;margin:0;color:var(--bio-text);letter-spacing:-.045em;overflow-wrap:anywhere}.verified{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:14px;background:var(--gio-gradient);color:#001018;vertical-align:middle;box-shadow:0 8px 22px color-mix(in srgb,var(--bio-accent) 30%,transparent)}.bio-text{grid-column:1/-1;color:var(--bio-muted);line-height:1.68;margin:0;max-width:620px;font-size:15px;overflow-wrap:anywhere}.profile-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}.bio-chip-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px}.bio-chip{border:1px solid var(--bio-border);border-radius:18px;background:rgba(255,255,255,.055);padding:11px 12px}.bio-chip strong{display:block;font-size:16px}.bio-chip span{display:block;margin-top:2px;color:var(--bio-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.profile-action-primary{background:var(--gio-gradient);color:#001018;border-color:transparent}.profile-action-ghost{background:rgba(255,255,255,.065)}.search-panel{margin-top:16px;border:1px solid var(--bio-border);border-radius:24px;background:rgba(255,255,255,.055);box-shadow:0 14px 38px rgba(0,0,0,.14);padding:10px;display:flex;align-items:center;gap:10px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.search-panel span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--bio-muted);flex:0 0 auto}.bio-search{width:100%;border:0;outline:0;background:transparent;color:var(--bio-text);font-size:15px;font-weight:700}.bio-search::placeholder{color:color-mix(in srgb,var(--bio-muted) 82%,transparent)}.link-list{margin-top:16px;display:flex;flex-direction:column;gap:12px}.bio-header{position:relative;display:flex;align-items:center;gap:10px;margin:20px 4px 4px;color:var(--bio-text);font-size:14px;font-weight:1000;text-transform:uppercase;letter-spacing:.12em}.bio-header::before{content:"";width:34px;height:2px;border-radius:999px;background:var(--gio-gradient)}.bio-link{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:72px;padding:13px;border:1px solid var(--bio-border);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--bio-card) 86%,rgba(15,23,42,.76)),color-mix(in srgb,var(--bio-card) 72%,rgba(2,6,23,.66)));box-shadow:0 14px 34px rgba(0,0,0,.20);text-decoration:none;color:var(--bio-text);overflow:hidden;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.bio-link::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--bio-accent) 16%,transparent),transparent 34%);opacity:0;transition:opacity .18s ease}.bio-link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--bio-accent) 58%,var(--bio-border));box-shadow:0 18px 48px color-mix(in srgb,var(--bio-accent) 10%,transparent),0 18px 48px rgba(0,0,0,.30)}.bio-link:hover::before{opacity:1}.bio-link.featured{border-color:color-mix(in srgb,var(--bio-accent) 70%,var(--bio-border));box-shadow:0 18px 55px color-mix(in srgb,var(--bio-accent) 13%,transparent),0 18px 50px rgba(0,0,0,.28)}.bio-link.featured .thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--bio-accent) 14%,transparent)}.thumb{position:relative;z-index:1;width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--bio-accent) 95%,#fff),var(--bio-accent2));display:flex;align-items:center;justify-content:center;flex:0 0 52px;overflow:hidden;color:#001018;font-weight:1000;font-size:20px;box-shadow:0 12px 26px color-mix(in srgb,var(--bio-accent) 18%,transparent)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb span{line-height:1}.link-main{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;min-width:0}.link-main strong{font-size:15.5px;line-height:1.35;letter-spacing:-.01em;overflow-wrap:anywhere}.link-main em{font-style:normal;color:var(--bio-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-meta{position:relative;z-index:1;display:flex;align-items:center;gap:7px}.badge{font-size:11px;font-weight:1000;border-radius:999px;padding:6px 8px;background:var(--gio-gradient);color:#001018;white-space:nowrap}.lock,.arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:12px;border:1px solid var(--bio-border);background:rgba(255,255,255,.06);color:var(--bio-muted);font-size:14px}.arrow{font-weight:1000}.bio-divider{height:1px;background:linear-gradient(90deg,transparent,var(--bio-border),transparent);margin:12px 18px}.bio-text-block,.bio-embed,.empty-box{border:1px solid var(--bio-border);border-radius:22px;background:color-mix(in srgb,var(--bio-card) 82%,rgba(15,23,42,.68));padding:16px;color:var(--bio-muted);line-height:1.65;box-shadow:0 14px 32px rgba(0,0,0,.14);overflow-wrap:anywhere}.bio-embed iframe,.bio-embed video{max-width:100%;border-radius:18px}.empty-box{text-align:center;font-weight:800;color:var(--bio-muted)}.bio-footer{display:flex;justify-content:center;margin-top:18px;color:var(--bio-muted);font-size:12px;font-weight:800}.bio-footer span{padding:9px 12px;border:1px solid var(--bio-border);border-radius:999px;background:rgba(255,255,255,.05)}.bio-toast{position:fixed;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translate(-50%,24px);z-index:60;min-width:180px;max-width:calc(100vw - 24px);padding:12px 16px;border-radius:16px;border:1px solid var(--bio-border);background:rgba(15,23,42,.92);color:#fff;box-shadow:0 18px 60px rgba(0,0,0,.38);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;text-align:center;font-weight:900}.bio-toast.show{opacity:1;transform:translate(-50%,0)}.bio-link.is-hidden-search,.bio-header.is-hidden-search,.bio-divider.is-hidden-search,.bio-text-block.is-hidden-search,.bio-embed.is-hidden-search{display:none!important}.reveal{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}.reveal.is-in{opacity:1;transform:translateY(0)}.landing-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.landing-card{width:min(760px,100%);border:1px solid var(--bio-border);border-radius:32px;padding:38px;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--bio-card) 84%,rgba(15,23,42,.82)),color-mix(in srgb,var(--bio-card) 70%,rgba(2,6,23,.70)));box-shadow:var(--gio-glow)}.brand-pill{display:inline-flex;border:1px solid var(--bio-border);border-radius:999px;padding:8px 12px;color:var(--bio-muted);font-weight:900;letter-spacing:.12em;text-transform:uppercase}.landing-card h1{font-size:clamp(34px,7vw,64px);margin:18px 0 10px;line-height:1.02;letter-spacing:-.06em}.landing-card p{color:var(--bio-muted);font-size:18px;line-height:1.6}.landing-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.bio-button{min-height:46px;border:1px solid transparent;border-radius:16px;padding:12px 16px;background:var(--gio-gradient);color:#001018;text-decoration:none;font-weight:1000;display:inline-flex;align-items:center;justify-content:center}.bio-button.secondary{background:rgba(255,255,255,.07);color:var(--bio-text);border-color:var(--bio-border)}.unlock-card{max-width:480px;margin:80px auto}.unlock-input{width:100%;height:50px;border-radius:16px;border:1px solid var(--bio-border);background:rgba(255,255,255,.07);color:var(--bio-text);padding:0 14px;margin:16px 0}.alert,.notice{padding:12px;border-radius:12px;margin:12px 0}.danger{background:rgba(239,68,68,.16);border:1px solid rgba(239,68,68,.30)}
@media (max-width:640px){.bio-shell{width:min(100% - 18px,680px);padding-top:10px}.bio-topbar{top:8px;border-radius:19px}.brand-text span{display:none}.mini-btn{min-height:38px;padding:0 10px;font-size:12px}.cover-zone{min-height:128px;padding:18px 18px 0}.profile-main{grid-template-columns:1fr;gap:12px;padding:14px 16px 18px;text-align:center}.avatar-wrap{margin-top:-52px;display:flex;justify-content:center}.avatar{width:96px;height:96px;border-radius:28px}.profile-card h1{font-size:clamp(23px,7vw,30px)}.profile-kicker{margin-inline:auto}.bio-text{text-align:center;font-size:14px}.profile-actions{justify-content:center;display:grid;grid-template-columns:1fr 1fr;width:100%}.profile-actions .mini-btn{min-height:42px}.bio-chip-row{grid-template-columns:1fr 1fr}.bio-chip-row .bio-chip:last-child{grid-column:1/-1}.search-panel{border-radius:20px}.bio-link{grid-template-columns:auto minmax(0,1fr);padding:12px;border-radius:20px;min-height:68px}.thumb{width:48px;height:48px;flex-basis:48px;border-radius:16px}.link-meta{grid-column:2;justify-content:flex-start}.arrow{display:none}.badge{font-size:10px;padding:5px 7px}.link-main strong{font-size:15px}.bio-header{font-size:12px;margin-left:2px}.landing-card{padding:26px;border-radius:24px}.landing-actions{display:grid;grid-template-columns:1fr;width:100%}.bio-button{width:100%}}
@media (max-width:390px){.top-actions .mini-btn{display:none}.bio-chip{padding:10px}.bio-chip strong{font-size:14px}.bio-chip span{font-size:10px}.avatar{width:88px;height:88px}.profile-actions{grid-template-columns:1fr}.search-panel span{display:none}.bio-link{gap:10px}.thumb{width:44px;height:44px;flex-basis:44px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.bio-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:80;transform:translate(-50%,14px);opacity:0;pointer-events:none;padding:11px 14px;border-radius:999px;background:rgba(15,23,42,.94);border:1px solid rgba(0,240,255,.24);color:#e0f2fe;font-weight:900;box-shadow:0 18px 50px rgba(0,0,0,.35);transition:opacity .18s ease,transform .18s ease}.bio-toast.show{opacity:1;transform:translate(-50%,0)}.is-hidden-search{display:none!important}.reveal{opacity:0;transform:translateY(12px);transition:opacity .32s ease,transform .32s ease}.reveal.is-in{opacity:1;transform:none}

/* v4 extras: social icons, font presets, title effects, layout presets */
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;600;700;800;900&family=Comfortaa:wght@400;700&family=Inter:wght@400;600;700;800;900&family=Lexend:wght@400;600;700;800&family=Montserrat:wght@400;600;700;800;900&family=Space+Grotesk:wght@400;500;700&display=swap');
.social-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}.social-btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 12px;border-radius:16px;border:1px solid var(--bio-border);background:rgba(255,255,255,.06);color:var(--bio-text);text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.12)}.social-btn span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:var(--gio-gradient);color:#001018;font-weight:1000}.social-btn small{font-size:12px;color:var(--bio-muted)}
.font-system{font-family:var(--gio-font)}.font-inter{font-family:'Inter',var(--gio-font)}.font-be-vietnam-pro{font-family:'Be Vietnam Pro',var(--gio-font)}.font-montserrat{font-family:'Montserrat',var(--gio-font)}.font-lexend{font-family:'Lexend',var(--gio-font)}.font-space-grotesk{font-family:'Space Grotesk',var(--gio-font)}.font-comfortaa{font-family:'Comfortaa',var(--gio-font)}
.profile-title{position:relative}.effect-glow .profile-title{text-shadow:0 0 14px color-mix(in srgb,var(--bio-accent) 34%,transparent),0 0 34px color-mix(in srgb,var(--bio-accent2) 20%,transparent)}.effect-shadow .profile-title{text-shadow:0 10px 30px rgba(0,0,0,.35)}.effect-gradient .profile-title{background:var(--gio-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.effect-outline .profile-title{-webkit-text-stroke:1px color-mix(in srgb,var(--bio-accent) 30%,transparent);text-shadow:0 8px 28px rgba(0,0,0,.24)}
.layout-compact .profile-card{border-radius:24px}.layout-compact .cover-zone{min-height:96px}.layout-compact .cover-img{height:126px}.layout-compact .profile-main{padding-top:10px;gap:12px}.layout-compact .avatar{width:82px;height:82px;border-radius:22px}.layout-compact .bio-chip-row{gap:8px}.layout-creator .profile-card{overflow:visible}.layout-creator .avatar-wrap{margin-top:-46px}.layout-creator .profile-main{padding-top:0}.layout-creator .social-strip{justify-content:flex-start}
@media (max-width:640px){.social-strip{justify-content:center}.social-btn small{display:none}.layout-creator .avatar-wrap{margin-top:-58px}.layout-compact .avatar-wrap{margin-top:-44px}}

/* v6 imported bio.link form block */
.bio-imported-form{display:flex;flex-direction:column;gap:12px}.bio-imported-form strong{color:var(--bio-text);font-size:17px}.bio-imported-form p{margin:0;color:var(--bio-muted);line-height:1.55}.bio-imported-form-grid{display:grid;gap:10px}.bio-imported-form-grid input,.bio-imported-form-grid textarea{width:100%;border:1px solid var(--bio-border);background:rgba(255,255,255,.06);border-radius:14px;padding:12px 13px;color:var(--bio-muted)}.bio-imported-form-grid textarea{min-height:88px;resize:vertical}.bio-imported-form-grid button{min-height:44px;border:0;border-radius:14px;background:var(--gio-gradient);color:#001018;font-weight:1000;opacity:.6}
