.npc{--pi-black:#000;--pi-gold:#feb126;--pi-gold-soft:#fff6e3;width:min(100% - 32px,560px);margin:16px auto}.npc,.npc *{box-sizing:border-box}.npc-trigger{width:100%;min-height:56px;display:flex;align-items:center;gap:12px;padding:8px 16px 8px 12px;margin:0;font:inherit;text-align:left;color:#fff;background:var(--pi-black);border:1px solid rgba(254,177,38,.55);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease}.npc-trigger-logo{flex:none;display:block;width:32px;height:32px}.npc-trigger-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.npc-trigger-title{font-size:var(--font-body-lg,16px);font-weight:700;line-height:1.2;color:#fff}.npc-trigger-sub{font-size:var(--font-label,12px);line-height:1.3;color:var(--pi-gold)}.npc-trigger-caret{flex:none;font-size:14px;color:var(--pi-gold)}@media (hover:hover){.npc-trigger:hover{border-color:var(--pi-gold);box-shadow:0 0 0 3px rgba(254,177,38,.28),var(--shadow-1)}}.npc-trigger:active{transform:scale(.985);background:#15100a}.npc-trigger:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-color:var(--pi-gold);box-shadow:0 0 0 2px var(--pi-gold)}.npc-card{margin-top:8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:16px;display:grid;grid-gap:10px;gap:10px;min-width:0}.npc-amount,.npc-card{background:var(--card)}.npc-amount{width:100%;min-height:48px;padding:0 14px;font:inherit;font-size:18px;font-weight:600;color:var(--ink);border:1px solid var(--border-control,#8a94a6);border-radius:var(--radius-md)}.npc-amount[aria-invalid=true]{border-color:var(--warn-text,#ad5400)}.npc-amount:focus-visible,.npc-search:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-color:var(--ink)}.npc-row{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:stretch}.npc-chip{min-height:52px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;grid-column-gap:6px;column-gap:6px;align-items:center;padding:6px 12px;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--border-control,#8a94a6);border-radius:var(--radius-md)}.npc-chip--btn{cursor:pointer}@media (hover:hover){.npc-chip--btn:hover:not(:disabled){border-color:var(--ink)}}.npc-chip--btn:disabled{opacity:.6;cursor:default}.npc-chip--pi{display:flex;align-items:center;gap:8px;color:#fff;background:var(--pi-black);border-color:var(--pi-black)}.npc-chip-logo{flex:none;display:block;width:24px;height:24px}.npc-chip:focus-visible,.npc-close:focus-visible,.npc-link:focus-visible,.npc-option:focus-visible,.npc-swap:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.npc-chip-code{font-weight:700;font-size:var(--font-body-lg,16px);line-height:1.2}.npc-chip-name{grid-column:1;font-size:var(--font-caption,11px);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npc-caret{grid-column:2;grid-row:1/span 2;color:var(--ink)}.npc-swap{width:44px;min-height:52px;display:grid;place-items:center;font-size:20px;line-height:1;color:var(--pi-gold);background:var(--pi-black);border:0;border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover:hover){.npc-swap:hover{box-shadow:0 0 0 3px rgba(254,177,38,.35)}}.npc-swap:active{transform:scale(.94)}.npc-result{min-height:54px}.npc-result p{margin:0}.npc-value{font-size:clamp(20px,6.2vw,28px);font-weight:700;color:var(--ink);line-height:1.2;overflow-wrap:anywhere;word-break:break-word}.npc-muted{color:var(--mut)}.npc-muted,.npc-warn{font-size:var(--font-body-sm,13px)}.npc-warn{color:var(--warn-text,#ad5400)}.npc-link{padding:4px 0;font:inherit;color:var(--ink);background:none;border:0;text-decoration:underline;cursor:pointer}.npc-gcv{margin:0;padding:10px 12px;font-size:var(--font-label,12px);line-height:1.45;color:var(--mut);background:var(--pi-gold-soft);border-left:3px solid var(--pi-gold);border-radius:var(--radius-md)}.npc-gcv strong{color:var(--ink)}.npc-foot{margin:0;font-size:var(--font-caption,11px)}.npc-foot,.npc-foot a{color:var(--mut)}.npc-dialog{padding:0;border:0;border-radius:var(--radius-lg);width:min(100% - 24px,440px);max-height:min(80dvh,640px);color:var(--ink);background:var(--surface-raised,#fff);box-shadow:var(--shadow-sheet,var(--shadow-3));overflow:hidden}.npc-dialog::-webkit-backdrop{background:rgba(8,21,51,.45)}.npc-dialog::backdrop{background:rgba(8,21,51,.45)}.npc-dialog-body{display:flex;flex-direction:column;max-height:inherit;padding:14px;gap:10px}.npc-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.npc-dialog-head h3{margin:0;font-size:var(--font-body-lg,16px)}.npc-close{width:44px;height:44px;font-size:18px;color:var(--ink);background:none;border:0;border-radius:var(--radius-md);cursor:pointer}.npc-search{width:100%;min-height:48px;padding:0 14px;font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--border-control,#8a94a6);border-radius:var(--radius-md)}.npc-list{margin:0;padding:0;list-style:none;overflow-y:auto;overscroll-behavior:contain;min-height:0}.npc-option{width:100%;min-height:48px;display:grid;grid-template-columns:56px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;padding:6px 8px;text-align:left;font:inherit;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer}@media (hover:hover){.npc-option:hover{background:var(--pi-gold-soft)}}.npc-option[aria-current=true]{background:var(--pi-gold-soft)}.npc-option-code{font-weight:700}.npc-option-name{font-size:var(--font-body-sm,13px);color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.npc-empty{padding:16px 8px}@media (max-width:600px){.npc-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85dvh}}@media (min-width:700px){.npc-card{padding:20px}.npc-row{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.npc *{transition:none!important;animation:none!important}}