@font-face{font-family:Timoteo;src:url("Timoteo.ttf") format("truetype");font-display:swap}
:root{
  --bg:#1a0d18; --surface:rgba(255,255,255,.07); --surface-hi:rgba(255,255,255,.12);
  --line:rgba(255,255,255,.10); --fg:#f6f3f8; --muted:#a8a1b4;
  --of:#00aff0; --hot:#ff2e88; --gold:#ffc46b; --verified:#7b8cff;
  --page-bg:linear-gradient(135deg,#160b16 0%,#3b1028 46%,#761f4d 100%);
  --cover-clear:rgba(26,13,24,0); --cover-mid:rgba(44,12,32,.55); --card-start:rgba(35,8,24,.85); --card-mid:rgba(62,12,40,.45);
  --wishlist-bg:linear-gradient(115deg,#231525,#401d3c 55%,#7b2454); --gift-main:linear-gradient(135deg,#ff4a86,#c71f67); --gift-border:#ff9fbd; --gift-ribbon:#ffd36b; --card-muted:#d9d2e2;
  --display:'Plus Jakarta Sans', Inter, system-ui, sans-serif;
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#ffe1ec; --surface:rgba(255,214,228,.76); --surface-hi:rgba(255,224,235,.92);
  --line:rgba(145,71,96,.18); --fg:#3f2632; --muted:#956b7c;
  --page-bg:linear-gradient(135deg,#ffe1ec 0%,#f8c5d8 52%,#efa8c3 100%);
  --gold:#c15b79; --verified:#b95778; --cover-clear:rgba(255,225,236,0); --cover-mid:rgba(255,196,216,.5); --card-start:rgba(255,234,242,.85); --card-mid:rgba(255,213,227,.52); --wishlist-bg:linear-gradient(115deg,#ffdce8,#f3b2ca 55%,#d77b9f); --gift-main:linear-gradient(135deg,#7a214d,#42152f); --gift-border:#a64d73; --gift-ribbon:#f7c4d5; --card-muted:#754b61;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--page-bg);background-attachment:fixed;color:var(--fg);font-family:var(--display);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.cover{position:relative;max-width:480px;margin:12px auto 0;aspect-ratio:4/5;max-height:620px;width:100%;overflow:hidden;border-radius:20px}
.cover>img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--cover-clear) 45%,var(--cover-mid) 72%,var(--bg) 100%)}
.wrap{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:18px 16px 40px;display:flex;flex-direction:column;align-items:center;gap:18px}
.who{width:100%;max-width:480px;margin:0 auto;padding:14px 16px 2px;text-align:center;display:flex;flex-direction:column;gap:4px}
.name{font-size:28px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center;gap:6px;margin:0}
.name-text{font-family:Timoteo,var(--display);font-size:42px;font-weight:400;letter-spacing:0}
.name svg{width:22px;height:22px}
.handle{color:#d8d2e0;font-size:14px;font-weight:500}
[data-theme="light"] .handle{color:var(--muted)}
.followers{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--fg);background:none;border:0;padding:6px 10px;margin:4px auto 0;cursor:pointer;font-family:inherit}
.followers b{font-variant-numeric:tabular-nums}
.followers svg{width:14px;height:14px;transition:transform .2s}
.followers[aria-expanded="true"] svg{transform:rotate(180deg)}
.breakdown{width:100%;max-width:300px;margin:8px auto 0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.breakdown div{display:flex;justify-content:space-between;padding:8px 12px;border-radius:12px;background:var(--surface)}
.breakdown b{font-variant-numeric:tabular-nums}
.socials{display:flex;justify-content:center;gap:10px;margin-top:12px}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.socials svg[stroke="#fff"],.socials svg [stroke="#fff"]{stroke:#111}.socials svg [fill="#fff"]{fill:#111}
.socials svg{width:20px;height:20px}
.hero-carousel{position:absolute;inset:0;background:#3b1028}
.hero-slides,.hero-slide{width:100%;height:100%}
.hero-slide{object-fit:cover;object-position:50% 25%;animation:hero-fade .35s ease}
@keyframes hero-fade{from{opacity:.55}to{opacity:1}}
.hero-dots{position:absolute;top:18px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:6px}
.hero-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5);cursor:pointer}.hero-dot.is-active{background:#fff;transform:scale(1.3)}
.banner{position:relative;width:100%;aspect-ratio:4/5;border-radius:24px;overflow:hidden;display:block;cursor:pointer;border:0;padding:0;background:#3b1028;font-family:inherit;color:var(--fg)}
.banner img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.75))}
.banner .cap{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.banner .cap span{font-size:22px;font-weight:800}.banner .cap small{display:block;font-size:13px;font-weight:500;color:#e6dfee;margin-top:2px}
.cards{width:100%;display:flex;flex-direction:column;gap:12px}
.card{position:relative;display:flex;align-items:center;gap:18px;width:100%;height:140px;border-radius:20px;overflow:hidden;border:1px solid var(--line);padding:0 22px;cursor:pointer;background:var(--wishlist-bg);font-family:inherit;color:var(--fg);text-align:left;transition:transform .15s,border-color .2s,box-shadow .2s}
.card:active{transform:scale(.98)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--card-start) 0%,var(--card-mid) 40%,rgba(76,15,48,0) 75%)}
.card>*:not(img){position:relative;z-index:1}.card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}.card .ic svg{width:24px;height:24px}
.card .txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-weight:800;font-size:17px}.card small{font-weight:500;font-size:12.5px;color:var(--card-muted)}
.gift-card{justify-content:center;text-align:left;height:120px;padding:0;border-color:transparent;background:transparent;overflow:visible}.gift-card::after{display:none}.gift-card:hover,.gift-card:focus-visible,.gift-card.is-opening{border-color:transparent;box-shadow:none}
.gift-box{position:relative;top:18px;width:76px;height:68px;display:block;flex:none;filter:drop-shadow(0 8px 8px rgba(0,0,0,.3));transform:scale(1.875);transition:transform .25s ease}.gift-body,.gift-lid{position:absolute;background:var(--gift-main);border:2px solid var(--gift-border)}.gift-body{left:6px;right:6px;bottom:0;height:46px;border-radius:3px 3px 8px 8px}.gift-lid{left:1px;right:1px;top:14px;height:16px;border-radius:5px;transform-origin:12% 90%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.gift-ribbon{position:absolute;background:var(--gift-ribbon);z-index:1}.gift-ribbon-vertical{top:14px;bottom:0;left:34px;width:10px}.gift-ribbon-horizontal{left:6px;right:6px;top:31px;height:8px}.gift-bow{position:absolute;top:2px;width:24px;height:15px;border:5px solid var(--gift-ribbon);border-radius:70% 20% 60% 20%;z-index:2;transition:transform .45s ease}.gift-bow-left{left:17px;transform:rotate(25deg)}.gift-bow-right{right:17px;transform:scaleX(-1) rotate(25deg)}
.gift-card:hover .gift-box,.gift-card:focus-visible .gift-box{transform:translateY(-3px) rotate(-2deg) scale(1.875)}.gift-card.is-opening .gift-box{transform:translateY(4px) scale(1.875)}.gift-card.is-opening .gift-lid{transform:translate(-5px,-20px) rotate(-24deg)}.gift-card.is-opening .gift-bow-left{transform:translate(-8px,-13px) rotate(-18deg)}.gift-card.is-opening .gift-bow-right{transform:scaleX(-1) translate(-8px,-13px) rotate(-18deg)}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.08em;padding:6px 10px;border-radius:999px;background:#e5173f;color:#fff;flex:none}.live i{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}.badge18{font-size:11px;font-weight:800;letter-spacing:.06em;padding:4px 8px;border-radius:999px;background:var(--hot);color:#fff;flex:none}
.card:focus-visible,.banner:focus-visible,.socials a:focus-visible,.hero-dot:focus-visible,.sheet button:focus-visible,.followers:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sectiontitle{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:8px}.gallery{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gallery-item{aspect-ratio:3/4;border-radius:16px;overflow:hidden;border:1px solid transparent;position:relative;cursor:pointer;background:#3b1028;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.gallery-favicon{position:absolute;top:8px;left:8px;width:10%;aspect-ratio:1;display:grid;place-items:center;padding:2px;border-radius:6px;background:rgba(255,255,255,.92);z-index:1;pointer-events:none}
.gallery-favicon img{width:90%;height:90%;object-fit:contain}
.gallery-item-right .gallery-favicon{left:auto;right:10px}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 42%,rgba(0,0,0,.2));opacity:0;transition:opacity .2s ease}
.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .35s ease,filter .2s ease}
.gallery-item:hover,.gallery-item:focus-visible{border-color:var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.3);transform:translateY(-4px)}
.gallery-item:hover::after,.gallery-item:focus-visible::after{opacity:1}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.06);filter:saturate(1.1) brightness(1.08)}
footer{margin-top:18px;font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}footer .powered{font-size:11px;letter-spacing:.3px;opacity:.85}footer .powered b{color:var(--fg)}footer .brand{font-weight:800;color:var(--fg);padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.scrim{position:fixed;inset:0;background:rgba(5,4,8,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:20;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.open{opacity:1;pointer-events:auto}
.sheet{width:100%;max-width:480px;background:#2a1021;border:1px solid var(--line);border-radius:24px 24px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px;transform:translateY(30px);transition:transform .25s}.scrim.open .sheet{transform:none}
.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--line);align-self:center}.sheet h2{margin:0;font-size:20px;display:flex;align-items:center;gap:10px}.sheet p{margin:0;color:#cfc8d8;line-height:1.5;font-size:14.5px}
.scrim.external-warning .sheet{border-color:var(--hot);box-shadow:0 -8px 36px rgba(255,46,136,.18)}.scrim.external-warning .sheet h2{color:var(--hot)}.scrim.external-warning .sheet p{color:#ffd0df}
.sheet .go{border:0;border-radius:16px;padding:16px;font:inherit;font-weight:800;font-size:16px;color:#fff;background:linear-gradient(90deg,var(--gold),var(--hot));cursor:pointer}.sheet .cancel{border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:16px;padding:14px;font:inherit;font-weight:600;cursor:pointer}
.langbtn{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;z-index:15;border:1px solid rgba(255,255,255,.25);background:rgba(11,10,16,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font:inherit;font-weight:800;font-size:12px;letter-spacing:.08em;padding:8px 12px;border-radius:999px;cursor:pointer}
.themebtn{position:fixed;top:calc(11px + env(safe-area-inset-top,0px));right:58px;z-index:15;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(11,10,16,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;padding:0}
.themebtn .theme-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-icon-moon{display:none}.themebtn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
[data-theme="light"] .themebtn{border-color:rgba(145,71,96,.25);background:rgba(255,214,228,.82);color:#8e4862}.themebtn[aria-pressed="true"] .theme-icon-sun{display:none}.themebtn[aria-pressed="true"] .theme-icon-moon{display:block}
@media (prefers-reduced-motion:reduce){.hero-slide,.live i{animation:none}}