/* Source palette and SF typography: GiftMe ui-v2/proto/theme.tsx, bbad3c50. */
:root {
  color-scheme:dark;
  --gift-bg:#0b0d11;
  --gift-card:#14171d;
  --gift-surface:#1a1d24;
  --gift-line:#2a2e37;
  --gift-text:#f2f4f7;
  --gift-soft:#9aa3b2;
  --gift-blue:#3b96ff;
  --gift-purple:#c385ff;
  --gift-green:#3ddc79;
  font-family:-apple-system,"SF Pro Text","SF Pro Display",system-ui,sans-serif;
  color:var(--gift-text);
  background:var(--gift-bg);
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
}
* { box-sizing:border-box; }
body { margin:0; }
button { font:inherit; cursor:pointer; }
button:disabled { cursor:default; }
button:focus-visible, main:focus-visible { outline:2px solid var(--gift-blue); outline-offset:4px; }
button, a { -webkit-tap-highlight-color:transparent; }
h1,h2,h3,p { margin:0; }
[hidden] { display:none!important; }
.gift-app-shell { height:100vh; height:100dvh; display:grid; grid-template-rows:52px minmax(0,1fr) auto; overflow:hidden; }
.gift-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 16px; }
.gift-wallet { display:flex; gap:7px; align-items:center; border:1px solid var(--gift-line); background:var(--gift-surface); border-radius:22px; padding:8px 11px; font-size:14px; font-weight:700; }
.gift-wallet svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.gift-demo-label { color:var(--gift-soft); font-size:14px; letter-spacing:.04em; text-transform:uppercase; }
.gift-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#424856 transparent; padding:0 16px; }
.gift-screen { padding-top:14px; max-width:760px; margin:0 auto; }
.gift-screen+.gift-screen { margin-top:28px; }
.gift-ready .gift-screen { margin-top:0; }
/* Inert Chromium frames suppress anchor scrolling; :target preserves the native fragment view. */
html:not(.gift-ready):has(.gift-screen:target) .gift-screen:not(:target) { display:none; }
html:not(.gift-ready) .gift-screen:target { margin-top:0; }
.gift-title { margin-bottom:18px; }
.gift-title h1 { font-size:28px; line-height:1.15; letter-spacing:-.8px; font-weight:750; }
.gift-title p { font-size:14px; color:var(--gift-soft); margin-top:7px; }
.gift-home-grid { display:grid; gap:14px; }
.gift-card { background:var(--gift-card); border:1px solid var(--gift-line); border-radius:16px; }
.gift-summary { padding:18px 16px 13px; background:var(--gift-surface); }
.gift-summary-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:18px; }
.gift-overline { font-size:14px; text-transform:uppercase; font-weight:700; color:var(--gift-soft); letter-spacing:.04em; }
.gift-amount { margin-top:4px; font-size:34px; line-height:38px; font-weight:700; letter-spacing:-.5px; font-variant-numeric:tabular-nums; }
.gift-amount small { font-size:14px; color:var(--gift-soft); letter-spacing:0; }
.gift-staked { display:grid; gap:3px; text-align:right; }
.gift-staked strong { font-size:20px; }
.gift-staked span { color:var(--gift-soft); font-size:14px; }
.gift-primary { width:100%; min-height:46px; padding:9px 15px; color:#fff; background:var(--gift-blue); border:0; border-radius:12px; font-size:15px; font-weight:700; }
.gift-primary--small { min-height:44px; width:auto; padding:8px 13px; border-radius:10px; font-size:14px; }
.gift-action-note { font-size:14px; text-align:center; color:var(--gift-soft); margin-top:9px; }
.gift-promo { position:relative; display:flex; align-items:center; min-height:180px; overflow:hidden; padding:19px 16px; border:1px solid #c385ff2e; border-radius:16px; background:linear-gradient(130deg,#272036,#17151f); }
.gift-promo>div { position:relative; z-index:1; }
.gift-promo h2 { margin:8px 0 14px; font-size:24px; font-weight:700; line-height:1.1; letter-spacing:-.6px; }
.gift-promo>img { position:absolute; width:150px; height:150px; object-fit:contain; right:-6px; bottom:7px; transform:rotate(9deg); }
.gift-promo .gift-primary { background:#c385ff26; color:#e3c6ff; }
.gift-section-head { display:flex; align-items:baseline; justify-content:space-between; margin:22px 0 12px; gap:12px; }
.gift-section-head h2 { font-size:17px; font-weight:700; letter-spacing:-.4px; }
.gift-section-head button { min-height:44px; padding:0; border:0; background:none; color:var(--gift-blue); font-size:14px; font-weight:600; }
.gift-section-head button span { font-size:17px; margin-left:2px; }
.gift-collection { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.gift-art { overflow:hidden; border-radius:13px; background:radial-gradient(ellipse at 50% 20%,#304c71,#192433); }
.gift-art--violet { background:radial-gradient(ellipse at 50% 20%,#54406f,#272031); }
.gift-art--mint { background:radial-gradient(ellipse at 50% 20%,#3d6359,#1c302d); }
.gift-art img { display:block; width:100%; height:100%; object-fit:contain; }
.gift-collectible .gift-art { aspect-ratio:1; }
.gift-collectible h3 { font-size:14px; margin:8px 0 5px; font-weight:600; }
.gift-tag { display:inline-block; border-radius:6px; padding:3px 6px; font-size:14px; line-height:20px; color:#73e7a0; background:#3ddc791a; white-space:normal; }
.gift-tag--muted { color:#aab2c0; background:#ffffff0c; }
.gift-pool { padding:16px; }
.gift-pool+.gift-pool { margin-top:14px; }
.gift-pool-top { display:flex; align-items:center; gap:9px; }
.gift-pool-top>div { flex:1; min-width:0; }
.gift-pool-icon { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:11px; background:#3b96ff25; color:#80b9ff; font-size:20px; font-weight:700; }
.gift-pool-icon--violet { background:#c385ff25; color:#cda0fc; }
.gift-pool h3 { font-size:14px; letter-spacing:-.2px; }
.gift-pool-top p { margin-top:4px; font-size:14px; color:var(--gift-soft); }
.gift-pool-details { display:flex; justify-content:space-between; gap:8px; margin:19px 0 8px; font-size:14px; color:var(--gift-soft); }
.gift-progress { height:5px; border-radius:4px; background:#2a2e37; overflow:hidden; }
.gift-progress>span { display:block; width:50%; height:100%; background:var(--gift-blue); border-radius:inherit; }
.gift-progress--quarter>span { width:25%; background:var(--gift-purple); }
.gift-pool-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:13px; }
.gift-pool-footer>span { font-size:14px; color:var(--gift-soft); }
.gift-secondary { min-height:44px; border:0; border-radius:9px; background:#3b96ff20; color:#86bdff; padding:7px 11px; font-size:14px; font-weight:700; }
.gift-sponsor { display:flex; align-items:center; gap:10px; margin-top:15px; padding-top:13px; border-top:1px solid var(--gift-line); }
.gift-sponsor-mark { color:var(--gift-purple); font-size:22px; }
.gift-sponsor strong { display:block; font-size:14px; }
.gift-sponsor small { color:var(--gift-soft); font-size:14px; }
.gift-activity { padding:0 13px; }
.gift-activity>div { display:flex; gap:10px; align-items:center; padding:14px 0; }
.gift-activity>div+div { border-top:1px solid var(--gift-line); }
.gift-activity-icon { display:grid; place-items:center; flex:0 0 31px; height:31px; font-size:21px; background:#3b96ff18; border-radius:10px; color:#86bdff; }
.gift-activity strong { display:block; font-size:14px; font-weight:600; }
.gift-activity small { display:block; color:var(--gift-soft); font-size:14px; margin-top:4px; }
.gift-info { margin-top:22px; padding:18px 4px; }
.gift-info h2 { font-size:16px; }
.gift-info p { max-width:44ch; margin-top:8px; font-size:14px; line-height:1.6; color:var(--gift-soft); }
.gift-nft-list { padding:0 13px; }
.gift-nft-list article { display:flex; gap:10px; align-items:center; padding:16px 0; }
.gift-nft-list article+article { border-top:1px solid var(--gift-line); }
.gift-nft-list .gift-art { flex:0 0 54px; height:54px; border-radius:12px; }
.gift-nft-list article>div:nth-child(2) { flex:1; min-width:0; }
.gift-nft-list h2 { font-size:14px; }
.gift-nft-list p { font-size:14px; color:var(--gift-soft); margin:5px 0; }
.gift-promo--wide { margin-top:18px; }
.gift-profile-head { text-align:center; padding:3px 0 20px; }
.gift-avatar { display:grid; place-items:center; width:72px; height:72px; margin:0 auto 11px; border-radius:50%; background:linear-gradient(135deg,#3b96ff,#6691ff); color:white; font-size:25px; font-weight:800; }
.gift-profile-head h1 { font-size:18px; letter-spacing:-.4px; }
.gift-profile-head p { font-size:14px; color:var(--gift-soft); margin-top:5px; }
.gift-profile-stats { display:grid; grid-template-columns:repeat(3,1fr); padding:15px 0; margin:0; border:1px solid var(--gift-line); border-radius:14px; background:var(--gift-card); }
.gift-profile-stats>div { display:flex; flex-direction:column-reverse; gap:6px; text-align:center; }
.gift-profile-stats>div+div { border-left:1px solid var(--gift-line); }
.gift-profile-stats dt { color:var(--gift-soft); font-size:14px; text-transform:uppercase; }
.gift-profile-stats dd { margin:0; font-size:19px; font-weight:750; }
.gift-community { position:relative; overflow:hidden; padding:19px 16px; }
.gift-community h2 { position:relative; font-size:18px; max-width:20ch; }
.gift-community p { position:relative; margin:8px 0 17px; font-size:14px; color:var(--gift-soft); }
.gift-community-mark { position:absolute; right:14px; bottom:0; font-size:108px; color:#c385ff21; line-height:1; }
.gift-disclosure { text-align:center; font-size:14px; line-height:1.6; color:var(--gift-soft); padding:24px 5px; }
.gift-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:6px 8px 14px; border-top:1px solid var(--gift-line); background:#14171df5; }
.gift-tabs button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:48px; padding:5px 0; border:0; border-radius:8px; background:transparent; color:var(--gift-soft); font-size:14px; font-weight:600; }
.gift-tabs button[aria-selected="true"] { color:var(--gift-blue); }
.gift-tabs svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; stroke-linecap:round; }
.gift-tabs button:focus-visible { outline-offset:-2px; }
@media(min-width:620px) {
  .gift-scroll { padding:0 26px; }
  .gift-title { margin-top:8px; }
  .gift-home-grid { grid-template-columns:1.05fr 1fr; }
  .gift-promo { min-height:193px; }
  .gift-promo h2 { font-size:23px; }
  .gift-promo>img { width:135px; height:135px; right:-17px; }
  .gift-collection { gap:14px; }
  .gift-collectible { display:grid; grid-template-columns:72px 1fr; grid-template-rows:1fr 1fr; gap:0 11px; align-items:end; }
  .gift-collectible .gift-art { grid-row:1/3; }
  .gift-collectible h3 { margin:0 0 7px; }
  .gift-collectible .gift-tag { justify-self:start; align-self:start; }
  .gift-tabs { padding:6px max(8px,calc((100% - 580px)/2)) 10px; }
}
@media(max-width:335px) {
  .gift-scroll { padding:0 12px; }
  .gift-toolbar { padding:8px 12px; }
  .gift-promo { gap:4px; }
  .gift-promo>div { flex:1; min-width:0; }
  .gift-promo>img { position:static; flex:0 0 95px; width:95px; height:95px; }
  .gift-promo .gift-primary--small { max-width:100%; padding-inline:6px; }
  .gift-promo h2 { font-size:22px; }
  .gift-pool { padding:13px 11px; }
  .gift-nft-list { padding:0 10px; }
  .gift-nft-list .gift-art { flex-basis:43px; height:43px; }
}
