
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;650;750;850;950&family=Playfair+Display:wght@500;650;750&display=swap');

:root {
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Playfair Display", Georgia, serif;
  --color-bg: #f8f2ea; --color-bg-subtle: rgba(255,255,255,.55); --color-surface: rgba(255,255,255,.70); --color-surface-hover: rgba(255,255,255,.88);
  --color-text-primary: #231f20; --color-text-secondary: rgba(35,31,32,.76); --color-text-muted: rgba(35,31,32,.55); --color-text-inverse:#fff; --color-text-on-accent:#fff;
  --color-accent: #6f8058; --color-accent-hover:#586946; --color-accent-subtle:rgba(111,128,88,.14);
  --color-border:rgba(35,31,32,.12); --color-border-subtle:rgba(35,31,32,.08); --color-border-strong:rgba(35,31,32,.22);
  --color-error:#b85e5e; --color-error-subtle:rgba(184,94,94,.12); --color-success:#5f8b5b; --color-success-subtle:rgba(95,139,91,.12);
  --space-0-5:2px; --space-1:4px; --space-1-5:6px; --space-2:8px; --space-2-5:10px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px; --space-7:28px; --space-8:32px;
  --text-2xs:10px; --text-xs:12px; --text-sm:14px; --text-base:16px; --text-md:18px; --text-lg:20px; --text-xl:26px; --text-2xl:34px; --text-3xl:48px;
  --weight-light:400; --weight-regular:500; --weight-medium:650; --weight-semibold:750;
  --leading-none:1; --leading-tight:1.08; --leading-snug:1.2; --leading-normal:1.4; --leading-relaxed:1.6;
  --tracking-tight:-.04em; --tracking-normal:0; --tracking-wide:.02em; --tracking-widest:.08em;
  --radius-sm:12px; --radius-md:18px; --radius-lg:24px; --radius-xl:32px; --radius-2xl:42px; --radius-full:999px;
  --border-width:1px; --border-width-lg:2px;
  --shadow-sm:0 10px 30px rgba(35,31,32,.08); --shadow-md:0 22px 60px rgba(35,31,32,.13); --shadow-lg:0 34px 100px rgba(35,31,32,.18); --shadow-accent:0 0 0 4px rgba(111,128,88,.18);
  --duration-fast:150ms; --duration-normal:230ms; --ease-smooth:cubic-bezier(.2,.8,.2,1); --content-xs:420px; --z-sticky:20;
}

*{box-sizing:border-box} html{min-height:100%;background:#f8f2ea;color:var(--color-text-primary);font-family:var(--font-body);text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;scroll-behavior:smooth} body{min-height:100vh;margin:0;background:radial-gradient(circle at 0% 0%, rgba(255,207,189,.75), transparent 32rem),radial-gradient(circle at 100% 20%, rgba(185,215,255,.65), transparent 34rem),radial-gradient(circle at 50% 100%, rgba(199,213,162,.58), transparent 34rem),#f8f2ea} button,input,textarea,select{font:inherit} button,a{-webkit-tap-highlight-color:transparent} a{color:inherit} #app,.screen{min-height:100vh}.screen--centered{min-height:100vh;display:grid;place-items:center;padding:24px}.section-eyebrow{margin:0;color:var(--color-accent);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* LANDING + DASHBOARD */
.vxp,.vxd{min-height:100vh;position:relative;overflow:hidden;color:#231f20;background:radial-gradient(circle at 50% 0%,#fff7e8 0%,#f8f2ea 38%,#eee7ff 100%);font-family:var(--font-body)} .vxp-noise{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px}.vxp-aurora{position:fixed;width:48vmax;height:48vmax;border-radius:999px;filter:blur(45px);opacity:.48;pointer-events:none;animation:vxpFloat 14s ease-in-out infinite alternate}.vxp-a1{background:#ffcfbd;top:-20vmax;left:-14vmax}.vxp-a2{background:#b9d7ff;right:-18vmax;top:12vmax;animation-delay:-5s}.vxp-a3{background:#c7d5a2;left:28%;bottom:-26vmax;animation-delay:-9s}
.vxp-header,.vxd-top{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:max(18px,env(safe-area-inset-top)) 18px 10px}.vxp-logo,.vxd-logo{color:#231f20;text-decoration:none;font-weight:950;letter-spacing:.08em}.vxp-logo span,.vxd-logo span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:4px;border-radius:10px;background:rgba(255,255,255,.6);box-shadow:0 10px 30px rgba(35,31,32,.10)}.vxp-header nav{display:flex;align-items:center;gap:8px}.vxp-header nav a,.vxp-lang,.vxd-profile{color:#231f20;text-decoration:none;font-size:13px;font-weight:850;opacity:.78;border:0;background:transparent}.vxp-pill,.vxd-profile{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.55)}
.vxp-main{position:relative;z-index:2;min-height:calc(100vh - 64px);display:grid;place-items:center;padding:8px 18px 32px}.vxp-hero{width:min(100%,760px);display:grid;justify-items:center;text-align:center}.vxp-orb,.vxd-orb{width:112px;height:112px;display:grid;place-items:center;margin:8px auto 18px;border-radius:38px;background:radial-gradient(circle at 35% 20%,#fff 0 10%,transparent 28%),linear-gradient(145deg,rgba(255,255,255,.88),rgba(223,241,202,.72),rgba(199,209,255,.58));box-shadow:0 28px 70px rgba(52,57,35,.22),inset 0 1px 2px rgba(255,255,255,.8);animation:vxpBreathe 5.5s ease-in-out infinite}.vxp-orb span,.vxd-orb{font-size:42px}.vxp-signal,.vxd-signal{margin:0 0 12px;padding:9px 14px;border:1px solid rgba(255,255,255,.62);background:rgba(255,255,255,.46);border-radius:999px;backdrop-filter:blur(18px);color:rgba(35,31,32,.68);font-size:13px;font-weight:850}.vxp h1,.vxd h1{margin:0;max-width:760px;font-family:var(--font-heading);font-size:clamp(52px,12vw,96px);line-height:.9;letter-spacing:-.065em}.vxp-sub,.vxd-hero p{max-width:620px;margin:18px auto 0;color:rgba(35,31,32,.64);font-size:clamp(16px,4.5vw,20px);line-height:1.5}
.vxp-vita,.vxd-card,.vxd-share,.vxd-tile{background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.66);box-shadow:0 30px 80px rgba(46,35,25,.16);backdrop-filter:blur(24px)}.vxp-vita{width:min(100%,640px);margin:28px auto 0;padding:18px;border-radius:34px;text-align:left}.vxp-vita-top{display:flex;align-items:center;gap:12px}.vxp-vita-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:#231f20;color:white;font-family:var(--font-heading);font-size:22px}.vxp-vita-top strong{display:block;font-size:15px}.vxp-vita-top small{display:block;color:rgba(35,31,32,.55);margin-top:2px}.vxp-vita-text{margin:16px 0 0;font-size:18px;line-height:1.45}.vxp-cards{display:grid;gap:10px;margin-top:16px}.vxp-cards article{display:grid;grid-template-columns:42px 1fr;column-gap:10px;padding:12px;border-radius:22px;background:rgba(248,242,234,.78);border:1px solid rgba(35,31,32,.06)}.vxp-cards span{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:white;font-size:22px}.vxp-cards p{margin:2px 0 0;color:rgba(35,31,32,.58);font-size:13px}.vxp-actions{width:min(100%,640px);display:grid;gap:10px;margin-top:18px}.vxp-primary,.vxp-secondary,.vxd-pro{min-height:58px;display:grid;place-items:center;border-radius:999px;border:0;text-decoration:none;font:inherit;font-weight:950;font-size:16px;cursor:pointer}.vxp-primary,.vxd-pro{color:white;background:linear-gradient(135deg,#252120,#596846);box-shadow:0 18px 40px rgba(35,31,32,.22)}.vxp-secondary{color:#231f20;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.66);backdrop-filter:blur(18px)}
.vxp-share-card,.vxd-share{width:min(100%,640px);margin-top:18px;padding:18px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,239,218,.56));border:1px solid rgba(255,255,255,.62);box-shadow:0 20px 60px rgba(35,31,32,.10)}.vxp-share-card small,.vxd-share small{display:block;color:#6f8058;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.vxp-share-card p,.vxd-share p{margin:8px 0 14px;font-family:var(--font-heading);font-size:24px;line-height:1.15}.vxp-share-card button,.vxd-share button{border:0;padding:10px 14px;border-radius:999px;background:rgba(35,31,32,.08);color:#231f20;font-weight:850}
.vxp-chat{position:fixed;z-index:20;left:12px;right:12px;bottom:12px;max-width:620px;margin:0 auto;display:none;border-radius:30px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.70);box-shadow:0 30px 90px rgba(35,31,32,.25);backdrop-filter:blur(28px);overflow:hidden}.vxp-chat.open{display:block;animation:vxpRise .24s ease-out both}.vxp-chat-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 16px 10px}.vxp-chat-head strong{display:block}.vxp-chat-head small{color:rgba(35,31,32,.55)}.vxp-chat-head button{width:34px;height:34px;border:0;border-radius:999px;background:rgba(35,31,32,.08);font-size:22px}.vxp-starters{display:flex;gap:8px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}.vxp-starters::-webkit-scrollbar{display:none}.vxp-starters button{flex:0 0 auto;border:0;border-radius:999px;padding:10px 12px;background:rgba(114,130,95,.13);color:#4f6040;font-weight:850}.vxp-messages{max-height:260px;overflow-y:auto;padding:0 16px;display:grid;gap:10px}.vxp-msg{max-width:82%;padding:12px 14px;border-radius:20px;font-size:14px;line-height:1.42}.vxp-msg.vita{justify-self:start;background:rgba(248,242,234,.88)}.vxp-msg.user{justify-self:end;background:#252120;color:white}.vxp-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 16px 10px}.vxp-form input{min-height:48px;border:0;border-radius:999px;padding:0 16px;background:rgba(248,242,234,.86);outline:none;font:inherit}.vxp-form button{border:0;border-radius:999px;padding:0 16px;background:#6f8058;color:white;font-weight:900}.vxp-register-note{margin:0;padding:0 16px 16px;color:rgba(35,31,32,.55);font-size:12px;line-height:1.4}.vxp-register-note a{color:#231f20;font-weight:900}
.vxd{padding-bottom:40px}.vxd-hero{text-align:center;padding:0 18px 14px}.vxd-feed{width:min(100% - 24px, 860px);margin:0 auto;display:grid;gap:14px}.vxd-card,.vxd-share,.vxd-tile{border-radius:32px;padding:18px;text-decoration:none;color:#231f20}.vxd-card h2{font-family:var(--font-heading);font-size:30px;line-height:1;margin:8px 0}.vxd-card p,.vxd-tile p{color:rgba(35,31,32,.62);line-height:1.45}.vxd-badge,.vxd-tile em{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:rgba(111,128,88,.14);color:#50613e;font-size:11px;font-style:normal;font-weight:950;letter-spacing:.08em}.vxd-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.vxd-actions a{padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.64);text-decoration:none;font-weight:850}.vxd-grid{display:grid;gap:14px}.vxd-tile span{font-size:28px}.vxd-tile strong{display:block;margin-top:8px;font-size:18px}.vxd-tile.locked{background:rgba(255,255,255,.42)}
@media (min-width:760px){.vxp-header,.vxd-top{padding:26px 42px 10px}.vxp-cards{grid-template-columns:repeat(3,1fr)}.vxp-cards article{grid-template-columns:1fr;text-align:center;justify-items:center}.vxp-cards span{grid-row:auto}.vxp-actions{grid-template-columns:1.2fr .9fr}.vxd-grid{grid-template-columns:repeat(2,1fr)}.vxd-actions{grid-template-columns:repeat(3,1fr)}}

/* AUTH */
.authx{min-height:100vh;position:relative;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(255,207,189,.76),transparent 28rem),radial-gradient(circle at 90% 20%,rgba(185,215,255,.65),transparent 30rem),radial-gradient(circle at 50% 100%,rgba(199,213,162,.58),transparent 30rem),#f8f2ea}.authx-bg{position:fixed;inset:0;pointer-events:none}.authx-card{position:relative;width:min(100%,440px);padding:28px;border-radius:38px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.70);box-shadow:0 34px 100px rgba(35,31,32,.18);backdrop-filter:blur(28px)}.authx-back{display:inline-flex;margin-bottom:18px;color:rgba(35,31,32,.62);text-decoration:none;font-size:13px;font-weight:850}.authx-orb{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 16px;border-radius:24px;background:radial-gradient(circle at 30% 20%,white 0 12%,transparent 32%),linear-gradient(145deg,rgba(255,255,255,.86),rgba(219,236,201,.7),rgba(204,211,255,.54));box-shadow:0 20px 60px rgba(35,31,32,.16);font-size:30px}.authx-kicker{margin:0;text-align:center;color:var(--color-accent);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.authx h1{margin:8px 0 10px;text-align:center;font-family:var(--font-heading);font-size:clamp(34px,9vw,48px);line-height:.95;letter-spacing:-.04em}.authx-sub{margin:0 auto 24px;max-width:330px;text-align:center;color:var(--color-text-muted);line-height:1.5}.authx-form{display:grid;gap:14px}.authx-form label{display:grid;gap:7px;color:var(--color-text-secondary);font-size:13px;font-weight:850}.authx-form input:not([type="checkbox"]){width:100%;min-height:54px;border:1px solid rgba(35,31,32,.10);border-radius:18px;padding:0 16px;background:rgba(255,255,255,.74);color:var(--color-text-primary);outline:none}.authx-form input:focus{box-shadow:var(--shadow-accent);border-color:rgba(111,128,88,.38)}.authx-check{display:flex!important;align-items:center;gap:10px!important}.authx-check input{width:20px;height:20px;accent-color:var(--color-accent)}.authx-form button,.authx-oauth{min-height:56px;border:0;border-radius:999px;font-weight:950;cursor:pointer}.authx-form button{margin-top:4px;color:white;background:linear-gradient(135deg,#231f20,#596846);box-shadow:0 18px 40px rgba(35,31,32,.20)}.authx-form button:disabled{opacity:.55;cursor:wait}.authx-oauth{width:100%;margin-top:14px;background:rgba(255,255,255,.56);border:1px solid rgba(35,31,32,.08);color:var(--color-text-primary)}.authx-error,.authx-success{margin-top:14px;padding:12px 14px;border-radius:18px;font-size:13px;line-height:1.4}.authx-error{background:var(--color-error-subtle);color:var(--color-error)}.authx-success{background:var(--color-success-subtle);color:var(--color-success)}.authx-foot{margin:18px 0 0;text-align:center;color:var(--color-text-muted);font-size:14px}.authx-foot a{color:var(--color-text-primary);font-weight:950;text-decoration:none}
@keyframes vxpFloat{to{transform:translate3d(4vw,-3vh,0) scale(1.08)}}@keyframes vxpBreathe{0%,100%{transform:translateY(0) scale(1);border-radius:38px}50%{transform:translateY(-8px) scale(1.035);border-radius:44px}}@keyframes vxpRise{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
