/* Buyer account: mobile-first, isolated from storefront and administration. */
.buyer-account-backdrop { align-items:stretch; justify-content:center; padding:0; background:#f8fafc; }
.buyer-account-modal { width:100%; max-width:1180px; height:100dvh; max-height:none; margin:0; border:0; border-radius:0; background:#f8fafc; box-shadow:none; overflow-x:hidden; overflow-y:auto; padding:18px 16px calc(92px + env(safe-area-inset-bottom)); font-family:inherit; }
.buyer-account-header { max-width:1120px; margin:0 auto 18px; }
.buyer-account-toolbar { position:relative; display:grid; grid-template-columns:44px 1fr 44px; align-items:center; min-height:48px; }
.buyer-account-logo { color:#0f172a; font-size:22px; font-weight:900; letter-spacing:.07em; text-align:center; }
.buyer-account-icon-button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:14px; background:transparent; color:#0f172a; cursor:pointer; }
.buyer-account-icon-button svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.buyer-account-notification { position:relative; justify-self:end; }
.buyer-account-notification i { position:absolute; top:7px; right:6px; width:8px; height:8px; border:2px solid #f8fafc; border-radius:999px; background:#ef4444; }
.buyer-account-welcome { margin-top:19px; }
.buyer-account-welcome h1 { margin:0; color:#0f172a; font-size:20px; line-height:1.2; font-weight:800; letter-spacing:-.025em; }
.buyer-account-welcome p { max-width:390px; margin:8px 0 0; color:#64748b; font-size:12px; line-height:1.45; }
.buyer-account-modal .customer-dashboard-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:13px; max-width:1120px; margin:0 auto; }
.buyer-account-modal .customer-dashboard-card { position:relative; display:block; width:100%; min-height:164px; overflow:hidden; padding:18px 66px 17px 18px; border:1px solid var(--card-border); border-radius:21px; background:var(--card-bg); color:#0f172a; text-align:left; cursor:pointer; box-shadow:none; transition:transform .18s ease, border-color .18s ease; animation:buyer-card-in .2s ease both; }
.buyer-account-modal .customer-dashboard-card:active { transform:scale(.99); }
.buyer-account-modal .customer-dashboard-card-copy { display:block; min-width:0; }
.buyer-account-modal .customer-dashboard-card-title { display:block; }
.buyer-account-modal .customer-dashboard-card-title strong { display:block; color:#0f172a; font-size:14px; line-height:1.2; font-weight:800; }
.buyer-account-modal .customer-dashboard-card-title small { display:block; max-width:260px; margin-top:8px; color:#64748b; font-size:12px; line-height:1.3; font-weight:600; }
.buyer-account-modal .customer-dashboard-primary { display:block; margin-top:15px; }
.buyer-account-modal .customer-dashboard-primary strong { display:block; color:#0f172a; font-size:29px; line-height:1; font-weight:800; letter-spacing:-.035em; }
.buyer-account-modal .customer-dashboard-primary small { display:block; margin-top:8px; color:#64748b; font-size:12px; line-height:1.25; font-weight:600; }
.buyer-account-modal .customer-dashboard-card-icon { position:absolute; top:21px; right:18px; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--icon-bg); color:var(--accent); }
.buyer-account-modal .customer-dashboard-card-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.buyer-account-modal .customer-dashboard-card-arrow { position:absolute; right:19px; bottom:18px; color:var(--accent); }
.buyer-account-modal .customer-dashboard-card-arrow svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.5; }
.buyer-account-modal .customer-dashboard-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.buyer-account-modal .customer-dashboard-stats > span { display:inline-flex; max-width:100%; padding:6px 8px; border-radius:10px; background:rgba(255,255,255,.7); color:#64748b; font-size:10px; font-weight:700; line-height:1.2; }
.buyer-account-modal .customer-dashboard-game-preview { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:7px; margin-top:15px; }
.buyer-account-modal .customer-dashboard-game-preview span { display:grid; gap:4px; min-height:55px; place-content:center; border:1px solid #cfe1ff; border-radius:12px; background:rgba(255,255,255,.7); color:#64748b; font-size:9px; font-weight:800; text-align:center; }
.buyer-account-modal .customer-dashboard-game-preview b { color:#0f172a; font-size:18px; line-height:1; }
.buyer-account-modal .customer-dashboard-toy-preview { position:absolute; right:61px; bottom:13px; display:flex; align-items:end; gap:6px; max-width:115px; color:#64748b; font-size:10px; font-weight:700; }
.buyer-account-modal .customer-dashboard-toy-preview img { max-width:58px; max-height:72px; object-fit:contain; }
.buyer-account-modal .customer-dashboard-card.is-compact { min-height:113px; padding-top:20px; }
.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary { margin-top:10px; }
.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary strong { font-size:17px; }
.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-stats { display:none; }
.buyer-account-modal .tone-bonus { --card-bg:#fff9f4; --card-border:#fad9bd; --accent:#ff8a2a; --icon-bg:#fff0e3; }
.buyer-account-modal .tone-play { --card-bg:#f5f9ff; --card-border:#cfe1ff; --accent:#2f80ff; --icon-bg:#e8f1ff; }
.buyer-account-modal .tone-pet { --card-bg:#f5fcf8; --card-border:#cdeedc; --accent:#20b26b; --icon-bg:#e4f7ec; }
.buyer-account-modal .tone-personal { --card-bg:#f7f9fc; --card-border:#dce4ef; --accent:#6b7c93; --icon-bg:#eaf0f7; }
.buyer-account-modal .tone-toys { --card-bg:#fff7fa; --card-border:#f7d5e2; --accent:#e94f83; --icon-bg:#fee7ef; }
.buyer-account-modal .tone-orders { --card-bg:#f8f7ff; --card-border:#dcd8ff; --accent:#6c63ff; --icon-bg:#edeaff; }
.buyer-account-modal .tone-forest { --card-bg:#f6fbf5; --card-border:#d4ebcf; --accent:#4c9b48; --icon-bg:#e8f5e5; }
.buyer-account-modal .customer-dashboard-skeleton { display:grid; gap:9px; margin-top:20px; }
.buyer-account-modal .customer-dashboard-skeleton i { display:block; width:60%; height:12px; border-radius:99px; background:rgba(148,163,184,.18); }
.buyer-account-modal .customer-dashboard-skeleton i:nth-child(2) { width:42%; }.buyer-account-modal .customer-dashboard-skeleton i:nth-child(3) { width:74%; }
.buyer-account-modal .customer-dashboard-load-error { display:grid; gap:6px; margin-top:19px; color:#b91c1c; font-size:12px; }.buyer-account-modal .customer-dashboard-load-error small { color:#64748b; }
.buyer-account-empty { display:grid; gap:6px; min-height:150px; place-content:center; border:1px solid #dce4ef; border-radius:21px; background:#fff; color:#0f172a; text-align:center; }.buyer-account-empty span { color:#64748b; font-size:12px; }
.buyer-account-modal .customer-dashboard-footer { max-width:1120px; margin:15px auto 0; text-align:center; }.buyer-account-logout { border:0; background:transparent; color:#64748b; font-size:12px; cursor:pointer; }
.buyer-account-bottom-nav { position:sticky; z-index:5; bottom:calc(-18px - env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:2px; width:calc(100% + 32px); margin:18px -16px calc(-92px - env(safe-area-inset-bottom)); padding:10px 12px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #e5eaf1; border-radius:22px 22px 0 0; background:rgba(255,255,255,.97); box-shadow:0 -8px 24px rgba(15,23,42,.05); }.buyer-account-bottom-nav button { display:grid; min-height:44px; place-items:center; gap:3px; padding:2px; border:0; background:transparent; color:#8190a5; font:inherit; font-size:9px; font-weight:700; cursor:pointer; }.buyer-account-bottom-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.buyer-account-bottom-nav button.is-active { color:#2f80ff; }
@keyframes buyer-card-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media (min-width:720px) { .buyer-account-backdrop { align-items:center; padding:24px; }.buyer-account-modal { height:min(92dvh,1000px); border-radius:28px; padding:24px 26px 30px; box-shadow:0 22px 65px rgba(15,23,42,.13); }.buyer-account-header { margin-bottom:22px; }.buyer-account-welcome h1 { font-size:23px; }.buyer-account-modal .customer-dashboard-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }.buyer-account-modal .customer-dashboard-card.is-wide { grid-column:span 2; }.buyer-account-modal .customer-dashboard-card:hover { transform:translateY(-2px); }.buyer-account-bottom-nav { position:static; width:auto; max-width:600px; margin:22px auto 0; border:1px solid #e5eaf1; border-radius:18px; box-shadow:none; padding:8px 14px; }.buyer-account-modal .customer-dashboard-footer { margin-top:18px; } }
@media (max-width:359px) { .buyer-account-modal { padding-left:12px; padding-right:12px; }.buyer-account-bottom-nav { width:calc(100% + 24px); margin-left:-12px; margin-right:-12px; }.buyer-account-modal .customer-dashboard-card { padding-left:15px; padding-right:61px; }.buyer-account-modal .customer-dashboard-game-preview { gap:5px; }.buyer-account-modal .customer-dashboard-game-preview b { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { .buyer-account-modal .customer-dashboard-card { animation:none; transition:none; } }

/* Reference-accurate NORI buyer account proportions. */
.buyer-account-modal { background:#fff; padding:calc(14px + env(safe-area-inset-top)) 20px calc(106px + env(safe-area-inset-bottom)); color:#0b1830; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.buyer-account-header { margin-bottom:25px; }.buyer-account-toolbar { min-height:64px; grid-template-columns:44px 1fr 44px; }.buyer-account-logo { position:relative; font-size:29px; line-height:1; letter-spacing:.025em; font-weight:900; }.buyer-account-logo span { position:relative; }.buyer-account-logo span:after { position:absolute; top:-9px; right:-2px; width:10px; height:10px; border-radius:50%; background:#ff8a2a; content:""; }.buyer-account-icon-button svg { width:29px; height:29px; stroke-width:2.15; }.buyer-account-notification i { top:1px; right:-2px; display:grid; width:22px; height:22px; place-items:center; border:2px solid #fff; background:#ef2b2d; color:#fff; font-size:12px; font-style:normal; font-weight:800; line-height:1; }
.buyer-account-welcome { margin-top:22px; }.buyer-account-welcome h1 { color:#0b1830; font-size:27px; line-height:1.15; font-weight:800; letter-spacing:-.03em; }.buyer-account-welcome p { max-width:none; margin-top:10px; color:#65738b; font-size:16px; line-height:1.45; font-weight:500; }
.buyer-account-modal .customer-dashboard-grid { gap:16px; }.buyer-account-modal .customer-dashboard-card { min-height:0; padding:21px; border-radius:21px; }.buyer-account-modal .customer-dashboard-card-title strong { color:#0b1830; font-size:18px; line-height:1.15; font-weight:800; }.buyer-account-modal .customer-dashboard-card-title small { max-width:calc(100% - 88px); margin-top:10px; color:#65738b; font-size:15px; line-height:1.25; font-weight:500; white-space:nowrap; }.buyer-account-modal .customer-dashboard-primary { margin-top:17px; }.buyer-account-modal .customer-dashboard-primary strong { color:#0b1830; font-size:42px; line-height:1; font-weight:800; letter-spacing:-.04em; }.buyer-account-modal .customer-dashboard-primary small { margin-top:10px; color:#65738b; font-size:16px; line-height:1.25; font-weight:500; }.buyer-account-modal .customer-dashboard-card-icon { top:22px; right:34px; width:100px; height:100px; }.buyer-account-modal .customer-dashboard-card-icon svg { width:52px; height:52px; stroke-width:1.9; }.buyer-account-modal .customer-dashboard-card-arrow { right:30px; bottom:25px; }.buyer-account-modal .customer-dashboard-card-arrow svg { width:30px; height:30px; stroke-width:2.35; }
.buyer-account-modal .customer-dashboard-card.is-large { padding-right:22px; }.buyer-account-modal .tone-bonus { min-height:212px; --card-bg:#fff9f5; --card-border:#ffd5b5; --accent:#ff8417; --icon-bg:#fff0e5; }.buyer-account-modal .tone-play { min-height:270px; --card-bg:#f7faff; --card-border:#c9deff; --accent:#1565f8; --icon-bg:#e8f0ff; }.buyer-account-modal .tone-pet { min-height:250px; --card-bg:#f7fcf9; --card-border:#cdebd8; --accent:#1fa657; --icon-bg:#e9f7ed; }
.buyer-account-modal .tone-bonus .customer-dashboard-stats { display:none; }.buyer-account-modal .customer-dashboard-game-preview { width:calc(100% - 215px); min-width:300px; gap:12px; margin-top:24px; }.buyer-account-modal .customer-dashboard-game-preview span { min-height:82px; gap:6px; border-color:#c9deff; border-radius:15px; background:rgba(255,255,255,.55); font-size:13px; font-weight:600; }.buyer-account-modal .customer-dashboard-game-preview b { font-size:23px; font-weight:800; }.buyer-account-modal .customer-dashboard-pet-preview { display:flex; align-items:center; gap:9px; margin-top:22px; color:#65738b; font-size:15px; line-height:1; white-space:nowrap; }.buyer-account-modal .customer-dashboard-pet-preview span { display:grid; width:39px; height:39px; place-items:center; border-radius:50%; background:#e8f7ec; color:#61bd7b; }.buyer-account-modal .customer-dashboard-pet-preview span svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.buyer-account-modal .customer-dashboard-pet-preview .pet-leaf { font-size:25px; transform:rotate(-30deg); }.buyer-account-modal .customer-dashboard-pet-preview b { color:#65738b; font-size:15px; font-weight:500; }.buyer-account-modal .customer-dashboard-pet-preview i { width:1px; height:26px; margin:0 7px; background:#d7e5db; }
.buyer-account-modal .customer-dashboard-card.is-compact { min-height:115px; padding:20px 58px 20px 119px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-icon { top:19px; left:15px; right:auto; width:76px; height:76px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-icon svg { width:42px; height:42px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-title small { max-width:none; margin-top:7px; font-size:15px; white-space:nowrap; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary { margin-top:11px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary strong { font-size:24px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary small { margin-top:7px; font-size:15px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-arrow { right:27px; bottom:calc(50% - 15px); }
.buyer-account-modal .tone-personal { min-height:115px; --card-bg:#f8fafd; --card-border:#d6e0ef; --accent:#667991; --icon-bg:#edf1f7; }.buyer-account-modal .tone-personal .customer-dashboard-primary { display:none; }.buyer-account-modal .tone-personal .customer-dashboard-card-title strong { font-size:21px; }.buyer-account-modal .tone-toys { min-height:175px; --card-bg:#fff7fa; --card-border:#f6c9da; --accent:#ec3d85; --icon-bg:#ffe8f0; }.buyer-account-modal .tone-toys .customer-dashboard-card-icon { top:34px; }.buyer-account-modal .tone-toys .customer-dashboard-card-title small { max-width:190px; }.buyer-account-modal .tone-toys .customer-dashboard-primary { margin-top:10px; }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview { right:42px; bottom:9px; max-width:120px; }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview img { max-width:105px; max-height:128px; }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview span { display:none; }.buyer-account-modal .tone-orders { min-height:148px; --card-bg:#faf8ff; --card-border:#dccfff; --accent:#7044dd; --icon-bg:#eee8ff; }.buyer-account-modal .tone-orders .customer-dashboard-card-title small { max-width:none; }.buyer-account-modal .tone-orders .customer-dashboard-primary { margin-top:10px; }.buyer-account-modal .tone-forest { min-height:175px; --card-bg:#f7fcf8; --card-border:#cde9d4; --accent:#26983d; --icon-bg:#e9f7eb; }.buyer-account-modal .tone-forest .customer-dashboard-card-title small { max-width:none; }.buyer-account-modal .tone-forest .customer-dashboard-primary { margin-top:10px; }.buyer-account-modal .customer-dashboard-forest-preview { position:absolute; right:44px; bottom:8px; width:125px; height:125px; }.buyer-account-modal .customer-dashboard-forest-preview img { width:100%; height:100%; object-fit:contain; }
.buyer-account-modal .customer-dashboard-footer { display:none; }.buyer-account-bottom-nav { position:fixed; z-index:300; bottom:0; left:0; width:100%; margin:0; padding:10px 15px calc(12px + env(safe-area-inset-bottom)); border:1px solid #e7ebf1; border-bottom:0; border-radius:27px 27px 0 0; background:#fff; box-shadow:0 -4px 16px rgba(15,23,42,.05); }.buyer-account-bottom-nav button { min-height:62px; gap:5px; color:#7a8ca4; font-size:12px; font-weight:600; }.buyer-account-bottom-nav svg { width:28px; height:28px; stroke-width:2; }.buyer-account-bottom-nav button.is-active { color:#1565f8; }.buyer-account-bottom-nav button.is-active svg { filter:drop-shadow(0 2px 4px rgba(21,101,248,.14)); }
@media (min-width:768px) { .buyer-account-backdrop { padding:24px; background:#f8fafc; }.buyer-account-modal { width:min(1100px,100%); height:min(92dvh,1120px); padding:28px 32px 36px; border-radius:28px; background:#fff; }.buyer-account-modal .customer-dashboard-grid { gap:18px; }.buyer-account-modal .customer-dashboard-card.is-wide { grid-column:span 2; }.buyer-account-bottom-nav { position:sticky; bottom:0; width:100%; margin:24px 0 0; border-bottom:1px solid #e7ebf1; border-radius:22px; }.buyer-account-modal .customer-dashboard-game-preview { width:calc(100% - 250px); } }
@media (max-width:390px) { .buyer-account-modal { padding-left:20px; padding-right:20px; }.buyer-account-modal .customer-dashboard-game-preview { width:calc(100% - 52px); min-width:0; gap:10px; }.buyer-account-modal .customer-dashboard-game-preview span { min-height:76px; font-size:12px; }.buyer-account-modal .customer-dashboard-game-preview b { font-size:21px; }.buyer-account-modal .customer-dashboard-pet-preview { gap:6px; font-size:14px; }.buyer-account-modal .customer-dashboard-pet-preview b { font-size:14px; }.buyer-account-modal .customer-dashboard-pet-preview i { margin:0 4px; }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview { right:35px; }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview img { max-width:92px; } }
@media (max-width:359px) { .buyer-account-modal { padding-left:14px; padding-right:14px; }.buyer-account-modal .customer-dashboard-card { padding-left:17px; }.buyer-account-modal .customer-dashboard-card.is-compact { padding-left:106px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-icon { left:12px; width:70px; height:70px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-title strong { font-size:18px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-title small { font-size:13px; }.buyer-account-modal .customer-dashboard-primary strong { font-size:38px; }.buyer-account-modal .customer-dashboard-pet-preview { transform:scale(.9); transform-origin:left center; }
}

/* Compact safety pass: keep the reference hierarchy without oversized artwork or overflow. */
.buyer-account-modal,.buyer-account-modal * { box-sizing:border-box; min-width:0; }
.buyer-account-modal { max-width:100vw; overflow-x:clip; padding-left:16px; padding-right:16px; }
.buyer-account-header { margin-bottom:20px; }.buyer-account-toolbar { min-height:56px; }.buyer-account-logo { font-size:25px; }.buyer-account-logo span:after { top:-7px; width:8px; height:8px; }.buyer-account-icon-button svg { width:26px; height:26px; }.buyer-account-welcome { margin-top:16px; }.buyer-account-welcome h1 { font-size:23px; }.buyer-account-welcome p { font-size:14px; }
.buyer-account-modal .customer-dashboard-grid { gap:13px; }.buyer-account-modal .customer-dashboard-card { padding:17px; border-radius:20px; }.buyer-account-modal .customer-dashboard-card-title strong { font-size:16px; }.buyer-account-modal .customer-dashboard-card-title small { margin-top:7px; font-size:13px; }.buyer-account-modal .customer-dashboard-primary { margin-top:13px; }.buyer-account-modal .customer-dashboard-primary strong { font-size:35px; }.buyer-account-modal .customer-dashboard-primary small { margin-top:7px; font-size:14px; }.buyer-account-modal .customer-dashboard-card-icon { top:18px; right:20px; width:70px; height:70px; }.buyer-account-modal .customer-dashboard-card-icon svg { width:37px; height:37px; }.buyer-account-modal .customer-dashboard-card-arrow { right:19px; bottom:17px; }.buyer-account-modal .customer-dashboard-card-arrow svg { width:24px; height:24px; }
.buyer-account-modal .tone-bonus { min-height:180px; }.buyer-account-modal .tone-play { min-height:232px; }.buyer-account-modal .tone-pet { min-height:214px; }.buyer-account-modal .customer-dashboard-game-preview { width:calc(100% - 46px); min-width:0; gap:8px; margin-top:17px; }.buyer-account-modal .customer-dashboard-game-preview span { min-height:63px; border-radius:12px; font-size:10px; }.buyer-account-modal .customer-dashboard-game-preview b { font-size:18px; }.buyer-account-modal .customer-dashboard-pet-preview { gap:6px; margin-top:16px; font-size:12px; }.buyer-account-modal .customer-dashboard-pet-preview span { width:30px; height:30px; }.buyer-account-modal .customer-dashboard-pet-preview span svg { width:17px; height:17px; }.buyer-account-modal .customer-dashboard-pet-preview .pet-leaf { font-size:19px; }.buyer-account-modal .customer-dashboard-pet-preview b { font-size:12px; }.buyer-account-modal .customer-dashboard-pet-preview i { height:20px; margin:0 3px; }
.buyer-account-modal .customer-dashboard-card.is-compact { min-height:98px; padding:17px 46px 17px 91px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-icon { top:17px; left:13px; width:58px; height:58px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-icon svg { width:31px; height:31px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-title strong,.buyer-account-modal .tone-personal .customer-dashboard-card-title strong { font-size:18px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-title small { margin-top:5px; font-size:13px; overflow:hidden; text-overflow:ellipsis; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary { margin-top:7px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary strong { font-size:20px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-primary small { font-size:13px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-arrow { right:15px; }
.buyer-account-modal .tone-personal { min-height:98px; }.buyer-account-modal .tone-toys { min-height:145px; }.buyer-account-modal .tone-toys .customer-dashboard-card-icon { top:29px; }.buyer-account-modal .tone-toys .customer-dashboard-card-title small { max-width:calc(100% - 42px); }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview { right:27px; bottom:8px; max-width:80px; }.buyer-account-modal .tone-toys .customer-dashboard-toy-preview img { max-width:72px; max-height:96px; }.buyer-account-modal .tone-orders { min-height:125px; }.buyer-account-modal .tone-forest { min-height:145px; }.buyer-account-modal .customer-dashboard-forest-preview { right:26px; bottom:8px; width:95px; height:95px; }
.buyer-account-bottom-nav { padding:7px 8px calc(8px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; }.buyer-account-bottom-nav button { min-height:54px; gap:3px; font-size:10px; }.buyer-account-bottom-nav svg { width:23px; height:23px; }
@media (max-width:359px) { .buyer-account-modal { padding-left:12px; padding-right:12px; }.buyer-account-modal .customer-dashboard-card { padding-left:14px; padding-right:14px; }.buyer-account-modal .customer-dashboard-card.is-compact { padding-left:83px; }.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-icon { left:10px; width:54px; height:54px; }.buyer-account-modal .customer-dashboard-card-title strong { font-size:15px; }.buyer-account-modal .customer-dashboard-primary strong { font-size:31px; }.buyer-account-modal .customer-dashboard-game-preview { width:calc(100% - 34px); gap:5px; }.buyer-account-modal .customer-dashboard-game-preview b { font-size:16px; }.buyer-account-modal .customer-dashboard-pet-preview { transform:scale(.88); transform-origin:left center; width:113%; } }

/* Remove the legacy dashboard skin completely: no top stripe, round arrow button or inherited glow. */
.buyer-account-modal .customer-dashboard-card::before { display:none !important; content:none !important; }
.buyer-account-modal .customer-dashboard-card,.buyer-account-modal .customer-dashboard-card:hover { display:block; gap:0; border-color:var(--card-border); background:var(--card-bg); box-shadow:none; transform:none; }
.buyer-account-modal .customer-dashboard-card:hover { border-color:var(--card-border); }
.buyer-account-modal .customer-dashboard-card:active { transform:scale(.99); }
.buyer-account-modal .customer-dashboard-card-arrow { display:block; width:auto; height:auto; padding:0; border:0; border-radius:0; background:transparent; color:var(--accent); font-size:0; }
.buyer-account-modal .customer-dashboard-card-arrow:hover { transform:none; background:transparent; }
.buyer-account-modal .customer-dashboard-card-arrow svg { display:block; }
.buyer-account-modal .customer-dashboard-card-icon { border:0; box-shadow:none; }
.buyer-account-modal .customer-dashboard-card-title,.buyer-account-modal .customer-dashboard-primary,.buyer-account-modal .customer-dashboard-game-preview,.buyer-account-modal .customer-dashboard-pet-preview { position:relative; z-index:1; }
@media (min-width:600px) {
  .buyer-account-modal { width:min(1040px,calc(100% - 32px)); padding:26px 28px 30px; }
  .buyer-account-modal .customer-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .buyer-account-modal .customer-dashboard-card.is-wide { grid-column:span 2; }
  .buyer-account-bottom-nav { position:sticky; left:auto; width:100%; max-width:none; margin:20px 0 0; border-bottom:1px solid #e7ebf1; border-radius:20px; }
}

/* Final account layout: no duplicate navigation, no decorative illustrations, no gaps. */
.buyer-account-modal { padding-bottom:32px; }
.buyer-account-modal .customer-dashboard-grid { grid-auto-flow:row dense; }
.buyer-account-modal .customer-dashboard-card { grid-column:auto; }
.buyer-account-modal .customer-dashboard-card-icon,
.buyer-account-modal .customer-dashboard-toy-preview,
.buyer-account-modal .customer-dashboard-forest-preview { display:none !important; }
.buyer-account-modal .customer-dashboard-card-title small { max-width:none; }
.buyer-account-modal .customer-dashboard-card.is-compact { padding-left:17px; }
.buyer-account-modal .customer-dashboard-card.is-compact .customer-dashboard-card-title small { max-width:100%; }
.buyer-account-modal .tone-toys .customer-dashboard-card-title small { max-width:100%; }
.buyer-account-bottom-nav { display:none !important; }
.buyer-account-modal .customer-dashboard-card.is-fill-row { grid-column:span 2; }
.customer-dashboard-drawer-backdrop { align-items:center; justify-content:center; padding:16px; background:rgba(15,24,48,.32); }
.customer-dashboard-drawer { width:min(620px,100%); height:min(86dvh,820px); border:1px solid #e1e8f1; border-radius:28px; box-shadow:0 18px 55px rgba(15,24,48,.18); }
.customer-dashboard-drawer>header { padding:20px 22px; border-radius:28px 28px 0 0; }
.customer-dashboard-drawer-body { padding:20px 22px 28px; }
@media (max-width:599px) {
  .buyer-account-modal .customer-dashboard-card.is-fill-row { grid-column:auto; }
  .customer-dashboard-drawer-backdrop { align-items:flex-end; padding:10px; }
  .customer-dashboard-drawer { width:100%; height:min(82dvh,760px); border-radius:26px; }
  .customer-dashboard-drawer>header { padding:17px 18px; border-radius:26px 26px 0 0; }
  .customer-dashboard-drawer-body { padding:18px 16px 24px; }
}

/* Detail dialogs: centered on desktop, naturally sized when the content is short. */
.buyer-account-modal .customer-dashboard-drawer-backdrop { position:fixed; z-index:600; inset:0; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(15,24,48,.32); }
.buyer-account-modal .customer-dashboard-drawer { width:min(590px,100%); height:auto; max-height:86dvh; grid-template-rows:auto auto; border:1px solid #e1e8f1; border-radius:28px; box-shadow:0 20px 56px rgba(15,24,48,.18); }
.buyer-account-modal .customer-dashboard-drawer-body { max-height:calc(86dvh - 88px); padding:20px 22px 26px; overflow-y:auto; }
.buyer-account-modal .customer-dashboard-drawer-personal { width:min(520px,100%); }
.buyer-account-modal .customer-dashboard-drawer-personal .customer-dashboard-drawer-body { overflow:visible; }
.buyer-account-close-icon { display:none; }
@media (max-width:599px) {
  .buyer-account-notification > svg,.buyer-account-notification > i { display:none; }
  .buyer-account-notification .buyer-account-close-icon { display:block; }
  .buyer-account-notification .buyer-account-close-icon svg { display:block; width:27px; height:27px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.2; }
  .buyer-account-modal .customer-dashboard-drawer-backdrop { align-items:flex-end; padding:10px; }
  .buyer-account-modal .customer-dashboard-drawer { width:100%; max-height:82dvh; border-radius:26px; }
  .buyer-account-modal .customer-dashboard-drawer-body { max-height:calc(82dvh - 76px); padding:17px 16px 22px; }
}

/* Always-visible mobile close mark; do not depend on inherited SVG rules. */
@media (max-width:599px) {
  .buyer-account-notification { position:relative; }
  .buyer-account-notification > * { display:none !important; }
  .buyer-account-notification::before,
  .buyer-account-notification::after { position:absolute; width:26px; height:2.5px; border-radius:4px; background:#0b1830; content:""; }
  .buyer-account-notification::before { transform:rotate(45deg); }
  .buyer-account-notification::after { transform:rotate(-45deg); }
}

/* Account header controls and the storefront navigation dock. */
.buyer-account-notification > svg,
.buyer-account-notification > i { display:none; }
.buyer-account-notification .buyer-account-close-icon { display:block; }
.buyer-account-notification .buyer-account-close-icon svg { display:block; width:27px; height:27px; fill:none; stroke:#0b1830; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.2; }
@media (max-width:599px) {
  .buyer-account-toolbar > .buyer-account-icon-button:first-child { visibility:hidden; pointer-events:none; }
  .nori-mobile-nav { position:fixed !important; z-index:1000 !important; right:0 !important; bottom:0 !important; left:0 !important; width:100% !important; margin:0 !important; transform:none !important; }
  .app-shell { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
}

/* Safari on iPhone keeps a visual gap above its bottom browser controls. Extend the dock into it. */
@supports (-webkit-touch-callout:none) {
  @media (max-width:599px) {
    .nori-mobile-nav {
      bottom:calc(-1 * max(env(safe-area-inset-bottom), 34px)) !important;
      min-height:calc(64px + max(env(safe-area-inset-bottom), 34px));
      padding-bottom:calc(7px + max(env(safe-area-inset-bottom), 34px));
    }
    .app-shell { padding-bottom:calc(78px + max(env(safe-area-inset-bottom), 34px)); }
  }
}

/* Auth feedback and compact review images. */
.auth-notice,.auth-error { margin:0 0 12px; padding:11px 12px; border-radius:12px; font-size:13px; line-height:1.4; }
.auth-notice { border:1px solid #cfe1ff; background:#f5f9ff; color:#245eb3; }.auth-error { border:1px solid #f4caca; background:#fff6f6; color:#a63131; }
.auth-google-button { display:flex; width:100%; min-height:46px; align-items:center; justify-content:center; gap:9px; margin-top:10px; border:1px solid #dbe2ea; border-radius:12px; background:#fff; color:#172033; font:inherit; font-weight:800; cursor:pointer; }.auth-google-button span { color:#4285f4; font-size:20px; font-weight:900; }
.review-photo-lightbox { width:min(90vw,520px) !important; height:auto !important; max-height:72dvh !important; padding:10px; border-radius:18px; background:#fff; box-shadow:0 16px 46px rgba(15,24,48,.2); }.review-photo-lightbox img { display:block; width:auto; max-width:100%; max-height:calc(72dvh - 20px); margin:auto; border-radius:12px; }.review-photo-lightbox .icon-button { top:-12px; right:-12px; }
@media (max-width:599px) { .review-photo-grid { gap:7px; }.review-photo-grid button { width:64px; height:64px; border-radius:10px; }.review-photo-lightbox { width:min(88vw,390px) !important; max-height:62dvh !important; }.review-photo-lightbox img { max-height:calc(62dvh - 20px); } }
