@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ═══ CSS CUSTOM PROPERTIES — Theme Engine ═══ */
:root {
  --wt-teal: #4FD1C5;
  --wt-teal-dk: #1a4d45;
  --wt-teal-lt: #80e8dd;
  --wt-green: #10b981;
  --wt-green-dk: #065f46;
  --wt-neon: #00ff88;
  --wt-black: #08080d;
  --wt-black-lt: #111118;
  --wt-white: #ffffff;
  --wt-muted: #94a3b8;
  --wt-gold: #fbbf24;
  --wt-red: #ef4444;
  --wt-purple: #8b5cf6;
  --wt-pink: #ec4899;
  --wt-orange: #f97316;
  --wt-blue: #3b82f6;
  --wt-cyan: #06b6d4;
  /* Derived */
  --wt-ta06: rgba(79,209,197,0.06);
  --wt-ta08: rgba(79,209,197,0.08);
  --wt-ta10: rgba(79,209,197,0.1);
  --wt-ta12: rgba(79,209,197,0.12);
  --wt-ta15: rgba(79,209,197,0.15);
  --wt-ta20: rgba(79,209,197,0.2);
  --wt-ta25: rgba(79,209,197,0.25);
  --wt-ta30: rgba(79,209,197,0.3);
  --wt-ta35: rgba(79,209,197,0.35);
  --wt-ta40: rgba(79,209,197,0.4);
  --wt-ta50: rgba(79,209,197,0.5);
  --wt-ga06: rgba(16,185,129,0.06);
  --wt-ga10: rgba(16,185,129,0.1);
  --wt-ga12: rgba(16,185,129,0.12);
  --wt-ga15: rgba(16,185,129,0.15);
  --wt-ga20: rgba(16,185,129,0.2);
  --wt-ga30: rgba(16,185,129,0.3);
  --wt-ga35: rgba(16,185,129,0.35);
  --wt-ga40: rgba(16,185,129,0.4);
  --wt-wa03: rgba(255,255,255,0.03);
  --wt-wa04: rgba(255,255,255,0.04);
  --wt-wa05: rgba(255,255,255,0.05);
  --wt-wa06: rgba(255,255,255,0.06);
  --wt-wa07: rgba(255,255,255,0.07);
  --wt-wa08: rgba(255,255,255,0.08);
  --wt-wa10: rgba(255,255,255,0.10);
  --wt-wa12: rgba(255,255,255,0.12);
  --wt-wa15: rgba(255,255,255,0.15);
  --wt-wa18: rgba(255,255,255,0.18);
  --wt-wa20: rgba(255,255,255,0.20);
  --wt-wa25: rgba(255,255,255,0.25);
  --wt-wa30: rgba(255,255,255,0.30);
  --wt-wa35: rgba(255,255,255,0.35);
  --wt-wa45: rgba(255,255,255,0.45);
  --wt-wa55: rgba(255,255,255,0.55);
  --wt-bg1: var(--wt-wa03);
  --wt-bd1: var(--wt-wa07);
  --wt-tx2: var(--wt-wa45);
  --wt-tx3: var(--wt-wa25);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
::-webkit-scrollbar{display:none}
html,body{background:var(--wt-black);overflow:hidden;height:100vh;margin:0;padding:0}

/* ═══ ROOT ═══ */
.wt-root{width:100%;max-width:430px;height:100vh;margin:0 auto;position:relative;overflow:hidden;background:var(--wt-black);color:var(--wt-white);font-family:'Outfit',sans-serif;-webkit-font-smoothing:antialiased}
.wt-scroll{height:calc(100vh - 68px);overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}

/* ═══ COVER ═══ */
.wt-cover{position:relative;height:250px}
.wt-cover-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease;overflow:hidden}
.wt-cover:hover .wt-cover-bg{transform:scale(1.03)}
.wt-cover-fade{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(transparent,var(--wt-black) 90%)}
.wt-cover-particle{position:absolute;border-radius:50%;background:var(--wt-ta25);animation:wt-fp 7s ease-in-out infinite}
@keyframes wt-fp{0%,100%{transform:translateY(0) scale(1);opacity:.2}50%{transform:translateY(-25px) scale(1.3);opacity:.5}}

/* ═══ AVATAR SECTION ═══ */
.wt-avatar-sec{display:flex;flex-direction:column;align-items:center;position:relative;z-index:15}
.wt-arc-wrap{position:relative;width:320px;height:220px;display:flex;align-items:flex-end;justify-content:center}
.wt-avatar-ring{width:200px;height:200px;border-radius:50%;padding:3px;cursor:pointer;transition:transform .25s,box-shadow .3s;position:relative;background:linear-gradient(135deg,var(--wt-teal),var(--wt-teal-dk));box-shadow:0 0 30px var(--wt-ta15),0 8px 32px rgba(0,0,0,.5)}
.wt-avatar-ring:hover{transform:scale(1.03);box-shadow:0 0 40px var(--wt-ta25),0 8px 32px rgba(0,0,0,.5)}
.wt-avatar-img{width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:50px;font-weight:900;background:linear-gradient(135deg,var(--wt-black-lt),#1a1a24);color:var(--wt-teal);border:3px solid var(--wt-black)}
.wt-avatar-img img{width:100%;height:100%;object-fit:cover}
.wt-avatar-lock{position:absolute;bottom:6px;right:6px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.75);backdrop-filter:blur(10px);border:2px solid var(--wt-ta30);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;box-shadow:0 0 16px var(--wt-ta20);transition:all .25s;animation:wt-lock-pulse 2.5s ease-in-out infinite}
.wt-avatar-lock:hover{transform:scale(1.12);box-shadow:0 0 24px var(--wt-ta40);border-color:var(--wt-ta50);animation:none}
.wt-avatar-lock.unlocked{border-color:var(--wt-ta50);background:var(--wt-ta12);animation:none}
@keyframes wt-lock-pulse{0%,100%{box-shadow:0 0 12px var(--wt-ta15)}50%{box-shadow:0 0 22px var(--wt-ta35)}}
@keyframes wt-dj-pulse{0%,100%{transform:scale(1);box-shadow:0 0 30px var(--wt-ta15)}15%{transform:scale(1.04);box-shadow:0 0 45px var(--wt-ta40)}30%{transform:scale(0.97)}45%{transform:scale(1.03)}60%{transform:scale(0.98)}75%{transform:scale(1.02)}}
@keyframes wt-eq-bar{0%{transform:scaleY(0.3)}100%{transform:scaleY(1)}}
@keyframes wt-vinyl-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ═══ ARC STATS ═══ */
.wt-arc-stat{position:absolute;z-index:20;display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:14px;background:rgba(0,0,0,.72);backdrop-filter:blur(20px);border:1px solid var(--wt-wa10);transition:all .25s;animation:wt-arc-in .5s cubic-bezier(.22,1,.36,1) both;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.wt-arc-stat:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(0,0,0,.5)}
.wt-arc-0{left:-40px;top:55px;animation-delay:.05s}
.wt-arc-1{left:-40px;top:130px;animation-delay:.1s}
.wt-arc-2{right:-40px;top:55px;animation-delay:.15s}
.wt-arc-3{right:-40px;top:130px;animation-delay:.2s;cursor:pointer;border-color:var(--wt-ta12)}
.wt-arc-3:hover{border-color:var(--wt-ta30);background:var(--wt-ta06);transform:scale(1.08)}
@keyframes wt-arc-in{0%{opacity:0;transform:scale(.7) translateY(8px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes wt-arc-pulse-a{0%,100%{opacity:1;box-shadow:0 0 18px var(--wt-ta35);border-color:var(--wt-ta40)}50%{opacity:.5;box-shadow:0 0 4px var(--wt-ta06);border-color:var(--wt-ta08)}}
@keyframes wt-arc-pulse-b{0%,100%{opacity:.5;box-shadow:0 0 4px var(--wt-ga06);border-color:var(--wt-ga10)}50%{opacity:1;box-shadow:0 0 18px var(--wt-ga35);border-color:var(--wt-ga40)}}
.wt-arc-val{font-size:17px;font-weight:900;font-family:'JetBrains Mono',monospace;line-height:1;text-shadow:0 0 12px currentColor}
.wt-arc-lbl{font-size:7.5px;color:var(--wt-wa35);font-weight:700;text-transform:uppercase;letter-spacing:.7px;margin-top:2px;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.wt-arc-line{display:none}

/* ═══ SOCIAL / REDES ═══ */
.wt-redes-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;background:var(--wt-ta06);border:1px solid var(--wt-ta15);color:var(--wt-teal);font-size:13.5px;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .25s;animation:wt-redes-glow 2s ease-in-out infinite;position:relative;overflow:hidden}
.wt-redes-btn::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(90deg,transparent,var(--wt-ta06),transparent);animation:wt-redes-shine 3s ease-in-out infinite}
@keyframes wt-redes-glow{0%,100%{border-color:var(--wt-ta15);box-shadow:0 0 8px var(--wt-ta06)}50%{border-color:var(--wt-ta35);box-shadow:0 0 20px var(--wt-ta15)}}
@keyframes wt-redes-shine{0%{transform:translateX(-100%)}50%{transform:translateX(100%)}100%{transform:translateX(100%)}}
.wt-redes-btn:hover{border-color:var(--wt-ta40);background:var(--wt-ta08);box-shadow:0 0 24px var(--wt-ta20)}
.wt-redes-count{padding:3px 8px;border-radius:10px;background:var(--wt-ta12);color:var(--wt-teal);font-size:10px;font-weight:800;font-family:'JetBrains Mono',monospace}
.wt-redes-expand{overflow:hidden;max-height:0;opacity:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s,margin .3s;margin-top:0}
.wt-redes-expand.open{max-height:220px;opacity:1;margin-top:10px}
.wt-social-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 12px}
.wt-social-btn{display:flex;align-items:center;gap:7px;padding:10px 16px;border-radius:14px;border:1px solid;text-decoration:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .25s;font-family:'Outfit',sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.wt-social-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}

/* ═══ PROFILE INFO ═══ */
.wt-name{font-size:27px;font-weight:900;text-align:center;margin-top:12px;letter-spacing:-0.5px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.wt-credentials{display:flex;justify-content:center;gap:7px;margin-top:8px;padding:0 16px;flex-wrap:wrap}
.wt-cred{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:10.5px;font-weight:600;cursor:pointer;background:var(--wt-ta06);border:1px solid var(--wt-ta12);color:var(--wt-teal);transition:all .25s;font-family:'Outfit',sans-serif;backdrop-filter:blur(8px)}
.wt-cred:hover{background:var(--wt-ta08);border-color:var(--wt-ta20);transform:translateY(-1px)}
.wt-cred.active{border-color:var(--wt-ta30);background:var(--wt-ta10);box-shadow:0 0 12px var(--wt-ta10)}
.wt-nick{font-size:12px;text-align:center;margin-top:5px;font-family:'JetBrains Mono',monospace;color:var(--wt-wa30);letter-spacing:.3px}
.wt-bio{text-align:center;font-size:12.5px;color:var(--wt-wa55);margin:8px 28px 0;line-height:1.7;font-weight:400}
.wt-know-bar{margin:10px 16px 0;padding:10px 14px;border-radius:14px;background:rgba(0,255,136,.03);border:1px solid rgba(0,255,136,.1);display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s}
.wt-know-bar:hover{background:rgba(0,255,136,.06);border-color:rgba(0,255,136,.2)}

/* ═══ BADGES ═══ */
.wt-badges{display:flex;justify-content:center;gap:8px;margin-top:12px;padding:0 16px}
.wt-badge-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;background:var(--wt-bg1);border:1px solid var(--wt-bd1);color:var(--wt-white);font-family:'Outfit',sans-serif;transition:all .2s}
.wt-badge-btn.active{border-color:var(--wt-ta25);background:var(--wt-ta06)}
.wt-badge-expand{overflow:hidden;max-height:0;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1)}
.wt-badge-expand.open{max-height:200px;opacity:1;margin-top:8px}
.wt-badge-detail{margin:0 16px;padding:16px;background:var(--wt-ta06);border:1px solid var(--wt-ta12);border-radius:16px;backdrop-filter:blur(8px)}

/* ═══ QUICK ROW & ACTIONS ═══ */
.wt-qrow{display:flex;gap:8px;padding:0 16px;margin-top:16px}
.wt-qbtn{flex:1;padding:12px 4px;border-radius:14px;font-size:10px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:'Outfit',sans-serif;border:1px solid var(--wt-bd1);background:var(--wt-bg1);color:var(--wt-wa55);transition:all .25s;backdrop-filter:blur(8px)}
.wt-qbtn:hover{background:var(--wt-wa06);border-color:var(--wt-wa15);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3)}
.wt-arow{display:flex;gap:8px;padding:0 16px;margin-top:14px}
.wt-action{flex:1;padding:13px 0;border-radius:16px;border:none;color:var(--wt-white);font-size:12.5px;font-weight:700;font-family:'Outfit',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .25s;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.wt-action:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4)}

/* ═══ FEED ═══ */
.wt-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:0 16px;margin-top:10px}
.wt-feed-item{aspect-ratio:1;border-radius:8px;display:flex;align-items:flex-end;padding:7px;cursor:pointer;position:relative;overflow:hidden;transition:all .2s}
.wt-feed-item:hover{transform:scale(1.02)}
.wt-feed-item::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.55));border-radius:8px}
.wt-feed-label{font-size:8px;font-weight:700;color:var(--wt-white);position:relative;z-index:1;text-transform:uppercase;letter-spacing:.5px}
.wt-carousel-wrap{position:relative;margin:0 0 6px;padding:0 12px}
.wt-carousel{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:100%}
.wt-carousel-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 4px;border-radius:10px;border:1px solid;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .2s;-webkit-tap-highlight-color:transparent;user-select:none}
.wt-carousel-label{font-size:9px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wt-carousel-count{font-size:7px;font-weight:800;padding:0px 4px;border-radius:4px;font-family:'JetBrains Mono',monospace;position:absolute;top:3px;right:3px}

/* ═══ SECTION TITLE ═══ */
.wt-sec{font-size:13px;font-weight:700;padding:0 16px;margin-top:22px;margin-bottom:10px;color:var(--wt-wa55);letter-spacing:-0.2px}

/* ═══ NFC PRODUCTS ═══ */
.wt-nfc-row{display:flex;gap:10px;padding:0 16px;overflow-x:auto}
.wt-nfc-card{min-width:100px;padding:16px 14px;border-radius:16px;text-align:center;flex-shrink:0;cursor:pointer;background:var(--wt-bg1);border:1px solid var(--wt-bd1);transition:all .25s}
.wt-nfc-card:hover{border-color:var(--wt-ta20);transform:translateY(-2px)}

/* ═══ BOTTOM NAV ═══ */
.wt-nav{position:absolute;bottom:0;left:0;right:0;height:68px;backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:space-around;z-index:100;background:linear-gradient(to top,var(--wt-black),rgba(8,8,13,.92));border-top:1px solid var(--wt-bd1)}
.wt-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;padding:8px 16px;border:none;background:none}
.wt-nav-label{font-size:9px;font-weight:600;font-family:'Outfit',sans-serif}

/* ═══ FAB ═══ */
.wt-fab{position:absolute;bottom:78px;right:16px;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--wt-teal),var(--wt-teal-dk));border:none;color:var(--wt-white);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px var(--wt-ta35);z-index:90;animation:wt-fab-float 3s ease-in-out infinite;transition:transform .2s}
.wt-fab:hover{transform:scale(1.08)}
@keyframes wt-fab-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* ═══ CHAT PANEL ═══ */
.wt-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);z-index:200}
.wt-chat-panel{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;height:62vh;border-radius:20px 20px 0 0;z-index:200;display:flex;flex-direction:column;animation:wt-slide-up .3s cubic-bezier(.22,1,.36,1);border:1px solid var(--wt-bd1);background:var(--wt-black-lt)}
@keyframes wt-slide-up{from{transform:translate(-50%,100%)}to{transform:translate(-50%,0)}}
.wt-chat-msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.wt-chat-msg{max-width:80%;padding:10px 14px;border-radius:16px;font-size:12px;line-height:1.5}
.wt-chat-msg.ai{border-bottom-left-radius:4px;align-self:flex-start;background:var(--wt-wa05);color:var(--wt-wa55)}
.wt-chat-msg.usr{background:linear-gradient(135deg,var(--wt-teal),var(--wt-teal-dk));color:var(--wt-white);border-bottom-right-radius:4px;align-self:flex-end}
.wt-chat-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px}
.wt-chat-typing span{width:5px;height:5px;border-radius:50%;background:var(--wt-wa25);animation:wt-typing 1.2s ease-in-out infinite}
.wt-chat-typing span:nth-child(2){animation-delay:.2s}
.wt-chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes wt-typing{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.wt-chat-suggestions{display:flex;gap:5px;flex-wrap:wrap;padding:6px 14px 2px}
.wt-chat-sug{padding:5px 12px;border-radius:10px;background:var(--wt-ta06);border:1px solid var(--wt-ta12);color:var(--wt-teal);font-size:10px;font-weight:600;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .2s}
.wt-chat-sug:hover{background:var(--wt-ta12)}

/* ═══ SUBPAGE ═══ */
.wt-sub{padding:16px 16px 24px}
.wt-sub-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.wt-sub-header h2{font-size:19px;font-weight:800;letter-spacing:-0.3px}
.wt-back{background:none;border:none;cursor:pointer;padding:4px}

/* ═══ CARD ═══ */
.wt-card{border-radius:16px;margin-bottom:10px;padding:14px;background:var(--wt-bg1);border:1px solid var(--wt-bd1);transition:all .2s}

/* ═══ TOGGLE ═══ */
.wt-toggle{width:40px;height:22px;border-radius:11px;position:relative;cursor:pointer;border:none;padding:0;transition:background .2s}
.wt-toggle-knob{width:16px;height:16px;border-radius:50%;background:var(--wt-white);position:absolute;top:3px;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}

/* ═══ SETTINGS ═══ */
.wt-settings-list{border-radius:14px;overflow:hidden;margin-bottom:16px;background:var(--wt-bg1);border:1px solid var(--wt-bd1)}
.wt-settings-item{display:flex;align-items:center;justify-content:space-between;padding:13px 14px}
.wt-settings-item+.wt-settings-item{border-top:1px solid var(--wt-wa03)}
.wt-settings-left{display:flex;align-items:center;gap:10px}

/* ═══ EDIT PROFILE ═══ */
.wt-edit-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:5px;color:var(--wt-wa30);font-family:'JetBrains Mono',monospace}
.wt-edit-input{width:100%;padding:11px 14px;border-radius:12px;font-size:13px;font-family:'Outfit',sans-serif;outline:none;background:var(--wt-wa03);border:1px solid var(--wt-wa08);color:var(--wt-white);transition:all .25s}
.wt-edit-input:focus{border-color:var(--wt-ta35);box-shadow:0 0 20px var(--wt-ta06)}
.wt-edit-textarea{width:100%;padding:11px 14px;border-radius:12px;font-size:13px;font-family:'Outfit',sans-serif;outline:none;background:var(--wt-wa03);border:1px solid var(--wt-wa08);color:var(--wt-white);resize:vertical;min-height:70px;transition:all .25s}
.wt-edit-textarea:focus{border-color:var(--wt-ta35);box-shadow:0 0 20px var(--wt-ta06)}
.wt-edit-btn{width:100%;padding:13px;border-radius:14px;border:1px solid var(--wt-ta15);background:var(--wt-ta06);color:var(--wt-teal);font-size:13px;font-weight:700;font-family:'Outfit',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s;margin-top:8px}
.wt-edit-btn:hover{background:var(--wt-ta10)}

/* ═══ COVER EDIT ═══ */
.wt-cover-edit{position:relative;height:150px;border-radius:14px;overflow:hidden;margin-bottom:16px;cursor:pointer;border:2px dashed var(--wt-ta15);transition:border-color .2s}
.wt-cover-edit:hover{border-color:var(--wt-ta35)}
.wt-cover-edit-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.wt-cover-edit-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .2s}
.wt-cover-edit:hover .wt-cover-edit-overlay{opacity:1}
.wt-photo-zone{width:100px;height:100px;border-radius:50%;border:2px dashed var(--wt-ta20);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;margin:0 auto}
.wt-photo-zone:hover{border-color:var(--wt-ta40)}
.wt-photo-zone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.wt-photo-hover{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;opacity:0;transition:opacity .2s;border-radius:50%}
.wt-photo-zone:hover .wt-photo-hover{opacity:1}

/* ═══ HEATMAP ═══ */
.wt-hm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.wt-hm-card{padding:12px;border-radius:14px}
.wt-hm-bar{height:6px;border-radius:3px;margin-top:6px;overflow:hidden;background:var(--wt-wa05)}
.wt-hm-fill{height:100%;border-radius:3px;transition:width 1s cubic-bezier(.4,0,.2,1)}

/* ═══ LOGIN ═══ */
.wt-login-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(16px);z-index:250;display:flex;align-items:center;justify-content:center}
.wt-login-card{width:90%;max-width:370px;border-radius:24px;background:linear-gradient(145deg,#0d0d14,var(--wt-black-lt));border:1px solid var(--wt-ta10);overflow:hidden;animation:wt-login-in .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 60px var(--wt-ta06)}
@keyframes wt-login-in{0%{transform:scale(.88) translateY(24px);opacity:0}100%{transform:scale(1);opacity:1}}
.wt-login-input{width:100%;padding:12px 14px 12px 42px;border-radius:14px;font-size:13px;font-family:'Outfit',sans-serif;outline:none;background:var(--wt-wa03);border:1px solid var(--wt-wa07);color:var(--wt-white);transition:all .25s}
.wt-login-input:focus{border-color:var(--wt-ta35);box-shadow:0 0 20px var(--wt-ta06)}
.wt-login-input::placeholder{color:var(--wt-wa18)}

/* ═══ NFC SCAN ═══ */
.nfc-scan-root{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;background:var(--wt-black)}
.nfc-scan-ring{width:120px;height:120px;border-radius:50%;border:2px solid var(--wt-ta30);display:flex;align-items:center;justify-content:center;position:relative;animation:nfc-pulse 1.4s ease-in-out infinite}
.nfc-scan-ring::before,.nfc-scan-ring::after{content:'';position:absolute;border-radius:50%;border:1.5px solid var(--wt-ta15);animation:nfc-ring 2s ease-out infinite}
.nfc-scan-ring::before{width:160px;height:160px;animation-delay:0s}
.nfc-scan-ring::after{width:200px;height:200px;animation-delay:.4s}
@keyframes nfc-pulse{0%,100%{transform:scale(1);border-color:var(--wt-ta30)}50%{transform:scale(1.04);border-color:var(--wt-ta50)}}
@keyframes nfc-ring{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.3);opacity:0}}
@keyframes nfc-fade{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.nfc-scan-bar{width:160px;height:3px;border-radius:4px;background:var(--wt-wa06);margin-top:24px;overflow:hidden}
.nfc-scan-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--wt-teal),var(--wt-neon));animation:nfc-load 2.2s ease-in-out forwards}
@keyframes nfc-load{0%{width:0}100%{width:100%}}

/* ═══ SPONSOR ═══ */
@keyframes wt-sponsor-pulse{0%,100%{box-shadow:0 0 8px var(--wt-ga15),inset 0 0 0 1px var(--wt-ga15)}50%{box-shadow:0 0 18px var(--wt-ga30),inset 0 0 0 1px var(--wt-ga30)}}
@keyframes wt-sponsor-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
@keyframes wt-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* ═══ VISITOR OVERLAYS ═══ */
.vis-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);z-index:200;display:flex;align-items:center;justify-content:center}
.vis-modal{width:86%;max-width:340px;border-radius:24px;background:var(--wt-black-lt);border:1px solid var(--wt-wa08);overflow:hidden;animation:wt-enter .3s ease}
@keyframes wt-enter{0%{transform:scale(.92);opacity:0}100%{transform:scale(1);opacity:1}}

/* ═══ STORIES BAR (Feed categories top bar) ═══ */
.wt-stories{display:flex;gap:10px;padding:14px 14px 12px;overflow-x:auto;scrollbar-width:none}
.wt-story{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;flex-shrink:0}
.wt-story-ring{width:56px;height:56px;border-radius:50%;padding:2.5px;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.wt-story-inner{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;background:var(--wt-black-lt);border:2px solid var(--wt-black)}
.wt-story-name{font-size:8px;font-weight:600;color:var(--wt-wa55);max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}

/* ═══ UTILITIES ═══ */
.font-mono{font-family:'JetBrains Mono',monospace}
.font-ui{font-family:'Outfit',sans-serif}
.text-teal{color:var(--wt-teal)}
.text-green{color:var(--wt-green)}
.text-gold{color:var(--wt-gold)}
.text-purple{color:var(--wt-purple)}
.text-pink{color:var(--wt-pink)}
.text-red{color:var(--wt-red)}
.text-neon{color:var(--wt-neon)}
.bg-teal{background:var(--wt-teal)}
.bg-green{background:var(--wt-green)}

/* ═══ IMAGE UPLOAD COMPONENTS ═══ */

.wt-edit-section-title{font-size:10px;font-weight:700;color:var(--wt-ta40);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px;font-family:'JetBrains Mono',monospace}

/* Cover upload zone */
.wt-img-upload-zone{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;transition:all .25s;border:1.5px dashed var(--wt-wa12)}
.wt-img-upload-zone:hover{border-color:var(--wt-teal);box-shadow:0 0 20px rgba(79,209,197,.08)}
.wt-img-upload-cover{width:100%;height:140px;background:var(--wt-bg1)}

/* Avatar upload zone */
.wt-img-upload-avatar{width:100px;height:100px;border-radius:50%;position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;border:2px dashed var(--wt-wa12);transition:all .25s}
.wt-img-upload-avatar:hover{border-color:var(--wt-teal);box-shadow:0 0 20px rgba(79,209,197,.12)}

/* Overlay on hover */
.wt-img-upload-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .25s;border-radius:14px}
.wt-img-upload-zone:hover .wt-img-upload-overlay,
.wt-img-upload-avatar:hover .wt-img-upload-overlay{opacity:1}
.wt-img-upload-overlay span{font-size:9px;font-weight:700;color:white;font-family:'JetBrains Mono',monospace}

/* Empty state */
.wt-img-upload-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;background:var(--wt-ta04);transition:all .3s}
.wt-img-upload-zone:hover .wt-img-upload-empty{background:var(--wt-ta06)}

/* Info bar (below cover after selection) */
.wt-img-info-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-top:8px;border-radius:10px;background:var(--wt-bg1);border:1px solid var(--wt-bd1)}
.wt-img-info-left{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.wt-img-info-name{font-size:10px;font-weight:700;color:var(--wt-wa55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wt-img-info-meta{font-size:8px;color:var(--wt-wa25);font-family:'JetBrains Mono',monospace}
.wt-img-info-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}

/* Upload/remove buttons */
.wt-img-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;font-size:9px;font-weight:700;border:none;cursor:pointer;transition:all .2s;font-family:'JetBrains Mono',monospace}
.wt-img-btn-upload{background:var(--wt-ta10);color:var(--wt-teal);border:1px solid var(--wt-ta15)}
.wt-img-btn-upload:hover{background:var(--wt-ta15);box-shadow:0 0 12px rgba(79,209,197,.1)}
.wt-img-btn-remove{background:rgba(239,68,68,.06);color:#ef4444;border:1px solid rgba(239,68,68,.12);padding:5px 7px}
.wt-img-btn-remove:hover{background:rgba(239,68,68,.12)}

/* Status indicators */
.wt-img-status-ok{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:9px;font-weight:800;color:#10b981;background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.15);font-family:'JetBrains Mono',monospace}
.wt-img-status-loading{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:9px;font-weight:700;color:var(--wt-teal);background:var(--wt-ta06);font-family:'JetBrains Mono',monospace}

/* Spinner */
.wt-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--wt-ta15);border-top-color:var(--wt-teal);border-radius:50%;animation:wt-spin .6s linear infinite}
@keyframes wt-spin{to{transform:rotate(360deg)}}

/* Error message */
.wt-img-error{margin-top:8px;padding:6px 10px;border-radius:8px;font-size:9px;font-weight:600;color:#ef4444;background:rgba(239,68,68,.04);border:1px solid rgba(239,68,68,.1);font-family:'JetBrains Mono',monospace}

/* ═══ IMAGE CROPPER MODAL ═══ */
.wt-cropper-overlay{position:fixed;inset:0;z-index:9999;background:rgba(8,8,13,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px;animation:wt-fade-in .2s ease}
@keyframes wt-fade-in{from{opacity:0}to{opacity:1}}

.wt-cropper-modal{width:100%;max-width:380px;background:linear-gradient(180deg,#12121a 0%,#0a0a10 100%);border-radius:24px;border:1px solid rgba(79,209,197,.08);box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 40px rgba(79,209,197,.03);padding:16px;animation:wt-scale-in .25s cubic-bezier(.2,.8,.3,1)}
@keyframes wt-scale-in{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}

.wt-cropper-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.wt-cropper-close{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}
.wt-cropper-close:hover{background:rgba(255,255,255,.08)}

.wt-cropper-canvas-area{border-radius:16px;overflow:hidden;background:#08080d;border:1px solid rgba(255,255,255,.03)}

.wt-cropper-zoom-bar{display:flex;align-items:center;gap:10px;padding:12px 8px 4px;justify-content:center}
.wt-cropper-zoom-btn{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}
.wt-cropper-zoom-btn:hover{background:rgba(255,255,255,.08)}
.wt-cropper-zoom-btn:active{transform:scale(.92)}

/* Custom range slider */
.wt-cropper-slider{-webkit-appearance:none;appearance:none;flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.08);outline:none;cursor:pointer}
.wt-cropper-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--wt-teal);border:2px solid white;box-shadow:0 2px 8px rgba(79,209,197,.3);cursor:pointer;transition:all .15s}
.wt-cropper-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 12px rgba(79,209,197,.5)}
.wt-cropper-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--wt-teal);border:2px solid white;box-shadow:0 2px 8px rgba(79,209,197,.3);cursor:pointer}

.wt-cropper-actions{display:flex;gap:10px;margin-top:10px}
.wt-cropper-btn-cancel{flex:1;padding:14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--wt-wa55);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;font-family:'Outfit',sans-serif}
.wt-cropper-btn-cancel:hover{background:rgba(255,255,255,.08)}
.wt-cropper-btn-apply{flex:1.3;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--wt-teal),var(--wt-teal-dk));border:none;color:var(--wt-black);font-size:13px;font-weight:800;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;font-family:'Outfit',sans-serif;box-shadow:0 4px 16px rgba(79,209,197,.2)}
.wt-cropper-btn-apply:hover{box-shadow:0 4px 24px rgba(79,209,197,.35);transform:translateY(-1px)}
.wt-cropper-btn-apply:active{transform:scale(.97)}

/* ═══ HABLEMOS BUTTON PULSE ═══ */
@keyframes wt-hablemos-pulse{0%,100%{box-shadow:0 6px 28px var(--wt-ta35)}50%{box-shadow:0 8px 40px var(--wt-ta50)}}

/* ═══ AUTH PAGE ═══ */
.wt-auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:var(--wt-black);position:relative}
.wt-auth-header{text-align:center;margin-bottom:28px;animation:nfc-fade .5s ease both}
.wt-auth-logo{width:72px;height:72px;border-radius:50%;border:2px solid var(--wt-ta25);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;animation:nfc-pulse 2s ease-in-out infinite;position:relative}
.wt-auth-logo::before,.wt-auth-logo::after{content:'';position:absolute;border-radius:50%;border:1px solid var(--wt-ta10);animation:nfc-ring 3s ease-out infinite}
.wt-auth-logo::before{width:100px;height:100px}
.wt-auth-logo::after{width:128px;height:128px;animation-delay:.5s}
.wt-auth-card{width:100%;max-width:380px;border-radius:24px;background:linear-gradient(145deg,#0d0d14,var(--wt-black-lt));border:1px solid var(--wt-ta08);padding:28px 24px;animation:wt-login-in .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 60px var(--wt-ta04)}
.wt-auth-footer{margin-top:28px;font-size:9px;color:var(--wt-wa15);font-family:'JetBrains Mono',monospace;letter-spacing:1px;animation:nfc-fade .8s ease .4s both}

/* ═══ NFC PROGRAMMER MODAL ═══ */
.wt-nfc-url-box{padding:14px 16px;border-radius:14px;background:var(--wt-ta06);border:1px solid var(--wt-ta15);font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--wt-teal);text-align:center;word-break:break-all;letter-spacing:.3px}
.wt-nfc-btn-copy{width:100%;padding:13px;border-radius:14px;border:1px solid var(--wt-ta15);background:var(--wt-ta06);color:var(--wt-teal);font-size:13px;font-weight:700;font-family:'Outfit',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s}
.wt-nfc-btn-copy:hover{background:var(--wt-ta10);border-color:var(--wt-ta25)}
.wt-nfc-btn-copy.copied{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);color:#10b981}
.wt-nfc-btn-write{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--wt-neon),#00cc6a);color:#08080d;font-size:13px;font-weight:800;font-family:'Outfit',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s;box-shadow:0 4px 20px rgba(0,255,136,.15)}
.wt-nfc-btn-write:hover{box-shadow:0 6px 28px rgba(0,255,136,.25);transform:translateY(-1px)}
.wt-nfc-btn-write:active{transform:scale(.97)}
.wt-nfc-btn-write:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.wt-nfc-status{padding:10px 14px;border-radius:12px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:8px;animation:nfc-fade .3s ease}
.wt-nfc-status.scanning{background:var(--wt-ta06);border:1px solid var(--wt-ta15);color:var(--wt-teal)}
.wt-nfc-status.success{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.15);color:#10b981}
.wt-nfc-status.error{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.15);color:#fca5a5}
@keyframes wt-nfc-scan-pulse{0%,100%{opacity:1}50%{opacity:.4}}
