.ui{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}.ui *,.ui :before,.ui :after{box-sizing:border-box}.ui :focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.icon--sm{width:18px;height:18px}.icon--xs{stroke-width:2.5px;width:14px;height:14px}.t-display{font-family:var(--font-display);font-weight:var(--weight-extrabold);font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);margin:0}.t-h1{font-family:var(--font-display);font-weight:var(--weight-extrabold);font-size:var(--text-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1);margin:0}.t-h2{font-family:var(--font-display);font-weight:var(--weight-extrabold);font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);margin:0}.t-number{font-family:var(--font-display);font-weight:var(--weight-extrabold);font-size:var(--text-number);margin:0;line-height:1}.t-body{font-size:var(--text-body);line-height:var(--leading-body);margin:0}.t-label{font-size:var(--text-label);font-weight:var(--weight-semibold);margin:0;line-height:1.3}.t-strong{font-size:var(--text-strong);font-weight:var(--weight-extrabold);margin:0;line-height:1.3}.t-muted{color:var(--color-muted)}.bio{line-height:var(--leading-body);margin:0}.bio--sm{font-size:13px}.bio--md{font-size:15px}.bio--lg{font-size:17px}.link{color:var(--color-accent-strong);font-weight:var(--weight-extrabold);border-radius:var(--space-1);cursor:pointer;text-decoration:none}.link:hover{text-underline-offset:3px;text-decoration:underline}.wordmark{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--weight-extrabold);letter-spacing:-.03em;color:var(--color-text);font-size:32px;line-height:1;display:inline-flex}.wordmark__mark{fill:none;stroke-width:3.5px;width:34px;height:34px}.wordmark__a{stroke:var(--color-accent)}.wordmark__b{stroke:var(--color-good)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-6);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:15px;font-weight:var(--weight-extrabold);white-space:nowrap;cursor:pointer;border:1.5px solid #0000;line-height:1;text-decoration:none;transition:background-color .12s,border-color .12s,transform .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-text);color:var(--color-on-dark)}.btn--primary:hover,.btn--primary.is-hover{background:var(--color-accent-strong)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:hover,.btn--secondary.is-hover{border-color:var(--color-accent);background:var(--color-bg)}.btn--ghost{color:var(--color-accent-strong);background:0 0}.btn--ghost:hover,.btn--ghost.is-hover{background:var(--color-accent-soft);color:var(--color-text)}.btn.is-focus{box-shadow:var(--focus-ring)}.btn--sm{min-height:36px;padding:0 var(--space-4);font-size:var(--text-label)}.btn--block{width:100%}.btn[disabled],.btn[disabled]:hover{background:var(--color-border);color:var(--color-muted);cursor:not-allowed;border-color:#0000;transform:none}.btn__google{width:28px;height:28px;margin-left:calc(var(--space-3) * -1);border-radius:var(--radius-pill);background:var(--color-surface);place-items:center;display:grid}.btn__google svg{width:18px;height:18px}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--text-label);font-weight:var(--weight-extrabold);color:var(--color-text)}.input{width:100%;min-height:48px;padding:0 var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-image);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:15px;font-weight:var(--weight-semibold);transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--color-muted);font-weight:var(--weight-regular)}.input:hover{border-color:var(--color-accent-soft)}.ui .input:focus,.ui .input:focus-within,.field--focus .input{border-color:var(--color-accent-strong);box-shadow:0 0 0 4px var(--color-accent-soft);outline:none}textarea.input{min-height:92px;padding:var(--space-3) var(--space-4);line-height:var(--leading-body);resize:vertical}.input--prefix{align-items:center;padding:0;display:flex;overflow:hidden}.input__prefix{align-items:center;gap:var(--space-2);padding:0 var(--space-1) 0 var(--space-4);color:var(--color-muted);font-weight:var(--weight-semibold);white-space:nowrap;align-self:stretch;display:flex}.input--prefix input{min-width:0;height:45px;padding:0 var(--space-4) 0 0;color:inherit;font:inherit;font-weight:var(--weight-extrabold);background:0 0;border:0;flex:1}.ui .input--prefix input:focus{box-shadow:none;outline:none}.input--locked{background:var(--color-bg);color:var(--color-muted)}.input--locked:hover{border-color:var(--color-border)}.field__hint{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--color-muted);align-items:center;gap:6px;margin:0;display:flex}.field--success .input{border-color:var(--color-good)}.field--success .field__hint{color:var(--color-mint-text)}.field--error .input{border-color:var(--color-danger)}.ui .field--error .input:focus,.ui .field--error .input:focus-within{border-color:var(--color-danger);box-shadow:0 0 0 4px var(--color-danger-soft)}.field--error .field__hint{color:var(--color-danger)}.spinner{border:2px solid var(--color-accent-soft);border-top-color:var(--color-accent-strong);border-radius:var(--radius-pill);flex:none;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}.btn{transition:none}}.chip{min-height:36px;padding:0 var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.chip:hover{border-color:var(--color-accent)}.chip--active,.chip--active:hover{background:var(--color-accent-soft);border-color:var(--color-accent);font-weight:var(--weight-extrabold)}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.shop-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:28px;color:var(--color-text);font-size:var(--text-small);font-weight:var(--weight-extrabold);align-items:center;gap:6px;padding:0 10px 0 4px;display:inline-flex}.shop-chip:before{content:"";border-radius:var(--radius-pill);background:var(--shop-color,var(--color-muted));width:20px;height:20px}.shop-chip--shopee{--shop-color:var(--color-shop-shopee)}.shop-chip--tiktok{--shop-color:var(--color-shop-tiktok)}.shop-chip--lazada{--shop-color:var(--color-shop-lazada)}.shop-chip--whatsapp{--shop-color:var(--color-shop-whatsapp)}.card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;display:flex}.card--mint{background:var(--color-mint);color:var(--color-mint-text);border-color:#0000}.card--row{align-items:center;gap:var(--space-4);flex-direction:row}.card__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.card__title{font-size:var(--text-strong);font-weight:var(--weight-extrabold);margin:0;line-height:1.25}.card__text{color:var(--color-muted);margin:0}.card__icon{border-radius:var(--radius-image);background:var(--color-mint);width:48px;height:48px;color:var(--color-mint-text);flex:none;place-items:center;display:grid}.tag{border-radius:var(--radius-pill);background:var(--color-mint-tag);min-height:24px;color:var(--color-mint-text);font-size:var(--text-small);font-weight:var(--weight-extrabold);white-space:nowrap;align-self:flex-start;align-items:center;padding:0 10px;display:inline-flex}.tag--accent{background:var(--color-accent-soft);color:var(--color-text)}.avatar{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-text);font-family:var(--font-display);font-weight:var(--weight-extrabold);letter-spacing:-.02em;flex:none;place-items:center;font-size:15px;display:grid;overflow:hidden}.avatar--lg{border:3px solid var(--color-surface);width:84px;height:84px;font-size:30px}.avatar img{object-fit:cover;width:100%;height:100%}.social{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);cursor:pointer;flex:none;place-items:center;display:grid}.social:hover{border-color:var(--color-accent)}.social--whatsapp,.social--whatsapp:hover{border-color:var(--color-shop-whatsapp);background:var(--color-shop-whatsapp)}.social-row{justify-content:center;gap:var(--space-2);display:flex}.link-card{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-card);background:var(--color-accent-soft);flex-direction:column;display:flex}.link-card__label{margin:0 0 var(--space-1);font-size:var(--text-label);font-weight:var(--weight-semibold)}.link-card__url{font-family:var(--font-display);font-weight:var(--weight-extrabold);font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);overflow-wrap:anywhere;margin:0}.link-card__actions{gap:var(--space-2);display:flex}.link-card__actions .btn{flex:1}.toast{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-row);font-size:var(--text-body);font-weight:var(--weight-extrabold);display:flex}.toast--success{background:var(--color-mint);color:var(--color-mint-text)}.toast--error{background:var(--color-danger-soft);color:var(--color-danger)}.tabbar{padding:var(--space-2) var(--space-2) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(5,1fr);display:grid}.tabbar__item{padding:var(--space-1) 0;border-radius:var(--radius-image);color:var(--color-muted);font-size:11px;font-weight:var(--weight-semibold);cursor:pointer;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.tabbar__item .icon{border-radius:var(--radius-pill);width:52px;height:30px;padding:4px 15px}.tabbar__item--active{color:var(--color-text);font-weight:var(--weight-extrabold)}.tabbar__item--active .icon{background:var(--color-accent-soft);color:var(--color-accent-strong)}.mascot{flex:none;height:auto;display:block}.mascot--sm{width:48px}.mascot--md{width:120px}.mascot--lg{width:200px}.badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4) var(--space-1) var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--text-label);font-weight:var(--weight-extrabold);cursor:pointer;text-decoration:none;display:inline-flex}.badge .mascot--sm{width:32px}.app{flex-direction:column;height:100%;display:flex}.app__body{gap:var(--space-4);min-height:0;padding:56px var(--space-5) var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.app__body--center{text-align:center;align-items:center}.app__head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.app__foot{gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-8);text-align:center;flex-direction:column;display:flex}.app__row{align-items:center;gap:var(--space-4);display:flex}.app__spacer{flex:1}.store{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.store__handle{color:var(--color-muted);font-size:var(--text-label);font-weight:var(--weight-semibold);margin:0}.store .bio{max-width:32ch;margin-top:var(--space-1)}.store .social-row{margin-top:var(--space-2)}.empty{padding:var(--space-8) var(--space-6);text-align:center;align-items:center}.social-list{gap:var(--space-2);flex-direction:column;display:flex}.social-list .input__prefix{min-width:56px;padding-right:var(--space-2);color:var(--color-text)}
