:root{--bg: #171224;--surface: #1f1832;--surface-2: #271e3d;--surface-3: #2f2549;--gold: #e8b86d;--gold-dim: #a5824f;--rose: #e2607b;--green: #7fbf8f;--text: #f4efea;--muted: #9a8fb0;--border: rgba(244, 239, 234, .09);--font-display: "Fraunces", serif;--font-body: "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(120% 100% at 50% -10%,#241a3a 0%,var(--bg) 55%);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}button{font-family:inherit}.app{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-bottom:84px}.balance-stub{margin:16px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,var(--surface-2),var(--surface));border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.balance-stub:before{content:"";position:absolute;right:84px;top:-10px;bottom:-10px;width:0;border-left:1.5px dashed var(--border)}.balance-stub .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.balance-stub .amount{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:6px}.balance-stub .who{text-align:right}.balance-stub .who .name{font-family:var(--font-display);font-weight:600;font-size:15px}.balance-stub .who .id{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.page-title{font-family:var(--font-display);font-size:22px;font-weight:600;margin:4px 16px 12px}.page-sub{font-size:13px;color:var(--muted);margin:-8px 16px 16px}.gift-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:0 16px}.gift-tag{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 14px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .15s ease,border-color .15s ease}.gift-tag:active{transform:scale(.97)}.gift-tag:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:var(--bg);border:1px solid var(--border)}.gift-tag .icon-badge{width:56px;height:56px;margin:10px 0 8px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.rarity-glow-common{color:var(--muted)}.rarity-glow-rare{color:#7fb0e2;background:#7fb0e21a;border-color:#7fb0e240}.rarity-glow-epic{color:var(--rose);background:#e2607b1a;border-color:#e2607b40}.rarity-glow-legendary{color:var(--gold);background:#e8b86d24;border-color:#e8b86d4d}.gift-tag .name{font-family:var(--font-display);font-size:14px;font-weight:600;margin-bottom:2px}.gift-tag .rarity{font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin:4px 0 10px}.rarity-common{color:var(--muted);background:var(--surface-2)}.rarity-rare{color:#7fb0e2;background:#7fb0e21f}.rarity-epic{color:var(--rose);background:#e2607b1f}.rarity-legendary{color:var(--gold);background:#e8b86d24}.gift-tag .price-row{width:100%;border-top:1px dashed var(--border);padding-top:8px;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:4px;font-family:var(--font-mono);font-weight:600;color:var(--gold);font-size:14px}.gift-tag .seller{font-size:10px;color:var(--muted);margin-top:2px}.gift-tag button.buy-btn{margin-top:10px;width:100%;padding:9px 0;border-radius:10px;border:none;background:var(--gold);color:#241a0d;font-weight:700;font-size:13px;cursor:pointer}.gift-tag button.buy-btn:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}.owned-actions{width:100%;margin-top:10px;display:flex;gap:6px}.owned-actions input{width:0;flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-mono);padding:7px 8px;font-size:12px}.owned-actions button{border:none;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer}.owned-actions .list-btn{background:var(--gold);color:#241a0d}.owned-actions .cancel-btn{background:var(--surface-3);color:var(--rose)}.listed-badge{font-size:10px;color:var(--green);margin-top:8px;letter-spacing:.05em;text-transform:uppercase}.nav-bar{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;display:flex;background:var(--surface);border-top:1px solid var(--border);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.nav-bar button{flex:1;background:none;border:none;color:var(--muted);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.nav-bar button .icon{display:block}.nav-bar button.active{color:var(--gold)}.empty-state{margin:40px 24px;text-align:center;color:var(--muted)}.empty-state .glyph{display:block;margin:0 auto 10px;color:var(--muted)}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--surface-3);border:1px solid var(--border);padding:10px 16px;border-radius:10px;font-size:13px;z-index:50}.toast.error{color:var(--rose)}
