/* pingzoo.app stylesheet. Design tokens and fonts (Figtree, Nunito, JetBrains Mono; SIL Open Font
   License, see assets/fonts/FONTS.txt) come from the Claude Design export's offline home file; the rest
   is the export's site.css unchanged, plus the C&D additions at the end. */
/* Substitutes from Google Fonts — no brand font files were supplied. */
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-01.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-02.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-01.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-02.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-01.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-02.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-01.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-02.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-05.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-06.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-07.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-08.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-05.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-06.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-07.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-08.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-09.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-10.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-12.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-13.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-09.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-10.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-12.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-13.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/font-09.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/font-10.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/font-12.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/font-13.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
/* Brand — from the logo, gradient order */
--pz-blue:#0A5CFF;--pz-cyan:#19D3F5;--pz-violet:#7B2FF7;--pz-magenta:#FF2D9B;--pz-orange:#FF7A3D;--pz-navy:#0B1E5B;
--pz-gradient:linear-gradient(115deg,#19D3F5 0%,#0A5CFF 30%,#7B2FF7 60%,#FF2D9B 85%,#FF7A3D 100%);/* @kind color */
--pz-gradient-full:linear-gradient(90deg,#0A5CFF,#19D3F5,#7B2FF7,#FF2D9B,#FF7A3D);/* @kind color */
--pz-gradient-unread:linear-gradient(135deg,#7B2FF7 0%,#FF2D9B 70%,#FF7A3D 100%);/* @kind color */
/* Blue scale */
--blue-50:#EEF4FF;--blue-100:#DCE8FF;--blue-200:#B6CEFF;--blue-300:#7FA8FF;--blue-400:#3F7DFF;--blue-500:#0A5CFF;--blue-600:#0049D9;--blue-700:#003AAD;--blue-800:#0B2A80;--blue-900:#0B1E5B;
/* Neutrals — cool, tinted toward navy */
--gray-0:#FFFFFF;--gray-25:#FAFBFE;--gray-50:#F4F6FB;--gray-100:#ECEFF6;--gray-200:#DDE2EE;--gray-300:#C3CADB;--gray-400:#98A1B8;--gray-500:#646E8A;--gray-600:#4D5672;--gray-700:#343C57;--gray-800:#1E2540;--gray-900:#141A2E;--gray-950:#0C1020;
/* Raw status hues */
--green-500:#12A877;--green-700:#0B7A56;--red-500:#E5354B;--red-700:#B8213A;

/* Semantic — light */
--bg-app:#FFFFFF;--bg-grouped:var(--gray-50);--bg-sunken:var(--gray-100);
--surface-card:#FFFFFF;--surface-raised:#FFFFFF;--surface-hover:var(--gray-25);--surface-pressed:var(--gray-100);--surface-selected:var(--blue-50);--surface-overlay:rgba(11,30,91,.36);--surface-glass:rgba(255,255,255,.82);
--text-strong:var(--pz-navy);--text-body:var(--gray-700);--text-muted:var(--gray-500);--text-faint:var(--gray-400);--text-on-accent:#FFFFFF;--text-link:var(--blue-500);
--border-subtle:var(--gray-100);--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-focus:var(--blue-500);
--accent:var(--blue-500);--accent-hover:var(--blue-600);--accent-soft:var(--blue-50);--accent-soft-text:var(--blue-700);
--success:var(--green-500);--success-text:var(--green-700);--success-soft:#E7F8F1;
--warning:var(--pz-orange);--warning-text:#B24A12;--warning-soft:#FFF1E9;
--danger:var(--red-500);--danger-text:var(--red-700);--danger-soft:#FDECEE;
/* Alert severity (ntfy-style cards). Never colour alone — always icon + label. */
--sev-info:var(--pz-blue);--sev-info-text:var(--blue-600);--sev-info-soft:var(--blue-50);
--sev-warning:var(--pz-orange);--sev-warning-text:#B24A12;--sev-warning-soft:#FFF1E9;
--sev-critical:var(--pz-magenta);--sev-critical-text:#B8126C;--sev-critical-soft:#FFE8F4;
/* Unread / muted */
--unread:var(--pz-gradient-unread);/* @kind color */
--role-owner-soft:var(--blue-50);--role-owner-text:var(--blue-700);--role-admin-soft:#F2EAFF;--role-admin-text:#5B1BC0;
--unread-solid:var(--pz-violet);--muted-fg:var(--gray-400);--muted-bg:var(--gray-100);
/* Messages */
--bubble-mine:var(--blue-500);--bubble-mine-text:#FFFFFF;--bubble-theirs:var(--gray-100);--bubble-theirs-text:var(--pz-navy);
--av-bg-0:#E4EDFF;--av-fg-0:#0A4FE0;--av-bg-1:#D9F6FC;--av-fg-1:#06728A;--av-bg-2:#EEE4FE;--av-fg-2:#6A1FE0;--av-bg-3:#FFE3F1;--av-fg-3:#C0136F;--av-bg-4:#FFEBDF;--av-fg-4:#B84A12;
--wordmark:var(--pz-navy);
}
[data-theme="dark"]{
--bg-app:#0C1020;--bg-grouped:#080B17;--bg-sunken:#161C31;
--surface-card:#141A2E;--surface-raised:#1A2138;--surface-hover:#161C31;--surface-pressed:#1E2640;--surface-selected:#132552;--surface-overlay:rgba(3,5,14,.62);--surface-glass:rgba(12,16,32,.82);
--text-strong:#F3F5FC;--text-body:#C9CFE0;--text-muted:#929BB4;--text-faint:#5E6782;--text-on-accent:#FFFFFF;--text-link:var(--blue-300);
--border-subtle:#1A2036;--border-default:#252D48;--border-strong:#343D5E;--border-focus:var(--blue-400);
--accent:var(--blue-400);--accent-hover:var(--blue-300);--accent-soft:#14275E;--accent-soft-text:var(--blue-200);
--success:#2BC48F;--success-text:#4FD6A6;--success-soft:#0E2A23;
--warning:#FF8F5C;--warning-text:#FFA27A;--warning-soft:#2E1A10;
--danger:#F2566A;--danger-text:#FF7A8B;--danger-soft:#2E1219;
--sev-info:var(--blue-400);--sev-info-text:var(--blue-300);--sev-info-soft:#14275E;
--sev-warning:#FF8F5C;--sev-warning-text:#FFA27A;--sev-warning-soft:#2E1A10;
--sev-critical:#FF4DAB;--sev-critical-text:#FF7CC0;--sev-critical-soft:#33102A;
--role-owner-soft:#14275E;--role-owner-text:var(--blue-200);--role-admin-soft:#24164A;--role-admin-text:#C6A6FF;
--unread-solid:#9A5CFF;--muted-fg:#5E6782;--muted-bg:#1E2640;
--bubble-mine:var(--blue-500);--bubble-mine-text:#FFFFFF;--bubble-theirs:#1E2640;--bubble-theirs-text:#F3F5FC;
--av-bg-0:#14275E;--av-fg-0:#9FBDFF;--av-bg-1:#0B2E38;--av-fg-1:#6FDFF5;--av-bg-2:#24164A;--av-fg-2:#C6A6FF;--av-bg-3:#3A1030;--av-fg-3:#FF8CC8;--av-bg-4:#3A1E10;--av-fg-4:#FFA27A;
--wordmark:#FFFFFF;
}

:root{
--font-display:'Nunito',ui-rounded,'SF Pro Rounded',system-ui,sans-serif;
--font-ui:'Figtree',-apple-system,'SF Pro Text','Roboto',system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
--fw-regular:400;/* @kind font */--fw-medium:500;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */--fw-black:900;/* @kind font */
/* Scale (px at 100% text size; scales with Dynamic Type / Android font scale) */
--fs-display:40px;--lh-display:44px;
--fs-title-1:28px;--lh-title-1:34px;
--fs-title-2:22px;--lh-title-2:28px;
--fs-title-3:17px;--lh-title-3:22px;
--fs-headline:16px;--lh-headline:21px;
--fs-body:16px;--lh-body:22px;
--fs-callout:15px;--lh-callout:20px;
--fs-subhead:14px;--lh-subhead:19px;
--fs-footnote:13px;--lh-footnote:18px;
--fs-caption:12px;--lh-caption:16px;
--fs-micro:11px;--lh-micro:14px;
--ls-display:-0.02em;/* @kind font */--ls-title:-0.02em;/* @kind font */--ls-tight:-0.01em;/* @kind font */--ls-caps:0.06em;/* @kind font */
/* Semantic — Nunito only for wordmark/display; Figtree for every working title (Linear-tight hierarchy) */
--type-wordmark:900 1em/1 var(--font-display);/* @kind font */
--type-display:800 var(--fs-display)/var(--lh-display) var(--font-display);/* @kind font */
--type-title-1:700 var(--fs-title-1)/var(--lh-title-1) var(--font-ui);/* @kind font */
--type-title-2:700 var(--fs-title-2)/var(--lh-title-2) var(--font-ui);/* @kind font */
--type-title-3:600 var(--fs-title-3)/var(--lh-title-3) var(--font-ui);/* @kind font */
--type-headline:600 var(--fs-headline)/var(--lh-headline) var(--font-ui);/* @kind font */
--type-body:400 var(--fs-body)/var(--lh-body) var(--font-ui);/* @kind font */
--type-callout:400 var(--fs-callout)/var(--lh-callout) var(--font-ui);/* @kind font */
--type-subhead:400 var(--fs-subhead)/var(--lh-subhead) var(--font-ui);/* @kind font */
--type-label:600 var(--fs-subhead)/var(--lh-subhead) var(--font-ui);/* @kind font */
--type-footnote:400 var(--fs-footnote)/var(--lh-footnote) var(--font-ui);/* @kind font */
--type-caption:500 var(--fs-caption)/var(--lh-caption) var(--font-ui);/* @kind font */
--type-meta:500 var(--fs-caption)/var(--lh-caption) var(--font-ui);/* @kind font */
--type-overline:600 var(--fs-micro)/var(--lh-micro) var(--font-ui);/* @kind font */
--type-code:400 var(--fs-footnote)/var(--lh-footnote) var(--font-mono);/* @kind font */
}

:root{
/* 8-pt rhythm: 4 / 8 / 12 / 16 / 24 / 32, plus 2 for hairline nudges and 48/64 for layout */
--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;
--gutter-screen:16px;--row-inbox:76px;--row-topic:64px;--row-setting:52px;
--hit-ios:44px;--hit-android:48px;
--icon-sm:16px;--icon-md:20px;--icon-lg:24px;
--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
--radius-squircle:32%;/* @kind radius */
--radius-bubble:18px;--radius-bubble-tail:6px;
--radius-app-icon:22.37%;/* @kind radius */
}

:root{
--shadow-xs:0 1px 2px rgba(11,30,91,.06);
--shadow-sm:0 1px 2px rgba(11,30,91,.05),0 2px 8px rgba(11,30,91,.06);
--shadow-md:0 2px 4px rgba(11,30,91,.05),0 8px 24px rgba(11,30,91,.08);
--shadow-lg:0 4px 8px rgba(11,30,91,.06),0 20px 48px rgba(11,30,91,.14);
--shadow-accent:0 6px 18px rgba(10,92,255,.30),0 2px 4px rgba(123,47,247,.18);
--gloss:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 6px rgba(11,30,91,.12);/* @kind shadow */
--focus-ring:0 0 0 3px rgba(10,92,255,.32);/* @kind shadow */
--blur-glass:saturate(180%) blur(20px);/* @kind other */
--ease-out:cubic-bezier(.22,1,.36,1);/* @kind other */--ease-spring:cubic-bezier(.34,1.56,.64,1);/* @kind other */--ease-standard:cubic-bezier(.4,0,.2,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:320ms;/* @kind other */
--press-scale:.97;/* @kind other */
}
[data-theme="dark"]{
--shadow-xs:0 1px 2px rgba(0,0,0,.4);
--shadow-sm:0 1px 2px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.3);
--shadow-md:0 2px 4px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.4);
--shadow-lg:0 4px 8px rgba(0,0,0,.4),0 20px 48px rgba(0,0,0,.55);
--focus-ring:0 0 0 3px rgba(63,125,255,.45);/* @kind shadow */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--bg-app);-webkit-font-smoothing:antialiased}
a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
@keyframes pz-spin{to{transform:rotate(360deg)}}
@keyframes pz-shimmer{0%{opacity:.55}50%{opacity:1}100%{opacity:.55}}
@keyframes pz-pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
.pz-spin{animation:pz-spin .9s linear infinite}
.pz-shimmer{animation:pz-shimmer 1.4s ease-in-out infinite}
.pz-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){
:root{--dur-fast:0ms;/* @kind other */--dur-base:0ms;/* @kind other */--dur-slow:0ms;/* @kind other */--press-scale:1;/* @kind other */}
.pz-shimmer{animation:none}
.pz-spin{animation-duration:2.4s}
*{transition-duration:0ms!important}
}

*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-app);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased}
a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;background:var(--surface-card);padding:8px 12px;z-index:10}
header.site{position:sticky;top:0;z-index:5;background:var(--surface-glass);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border-subtle)}
header.site .wrap{display:flex;align-items:center;gap:24px;height:88px}
.logo{display:flex;align-items:center}.logo img{height:64px;width:auto;display:block}
.logo .on-dark{display:none}[data-theme="dark"] .logo .on-light{display:none}[data-theme="dark"] .logo .on-dark{display:block}
nav.main{display:flex;gap:6px;margin-left:auto}nav.main a{font:600 15px/1 var(--font-ui);color:var(--text-body);padding:10px 12px;border-radius:10px}nav.main a:hover{background:var(--surface-hover);text-decoration:none}nav.main a[aria-current="page"]{color:var(--text-strong);background:var(--bg-sunken)}
.theme-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-strong);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.theme-btn .i{width:20px;height:20px}.theme-btn .moon{display:none}[data-theme="dark"] .theme-btn .sun{display:none}[data-theme="dark"] .theme-btn .moon{display:block}
h1,h2,h3{color:var(--text-strong);margin:0;text-wrap:balance}
.hero{padding:72px 0 64px}.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.hero h1{font:800 64px/1.03 var(--font-ui);letter-spacing:-.035em}
.hero .sub{font:600 24px/1.3 var(--font-ui);color:var(--accent);margin:20px 0 0;letter-spacing:-.01em}
.hero p.lede{font:400 18px/1.55 var(--font-ui);color:var(--text-body);margin:18px 0 0;max-width:520px;text-wrap:pretty}
.stores{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.store{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 18px;border-radius:14px;border:1.5px dashed var(--border-strong);color:var(--text-muted);font:600 15px/1.2 var(--font-ui)}
.note{font:500 13px/1.4 var(--font-ui);color:var(--text-muted);margin-top:10px}
.stage{position:relative;aspect-ratio:1/1;border-radius:32px;background:radial-gradient(70% 60% at 50% 50%,#14275E 0%,#0C1020 72%);overflow:hidden;box-shadow:var(--shadow-lg)}
.stage .orb{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);filter:drop-shadow(0 0 40px rgba(10,92,255,.55))}
.stage .ring{position:absolute;left:50%;top:50%;width:72%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(63,125,255,.35);box-shadow:0 0 60px rgba(63,125,255,.18)}
.fl{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:18px;background:var(--surface-card);box-shadow:0 18px 40px rgba(0,0,0,.4);max-width:78%}
.fl .tile{width:42px;height:42px;border-radius:32%;display:flex;align-items:center;justify-content:center;flex:none}.fl .tile .i{width:22px;height:22px}
.fl .meta{font:600 12px/1 var(--font-ui);color:var(--text-muted);white-space:nowrap}.fl .meta b{color:var(--text-body)}
.fl .ttl{font:700 15px/1.25 var(--font-ui);color:var(--text-strong);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl.alert{border-left:5px solid var(--danger)}.fl.ok{border-left:5px solid var(--success)}
.bubble{position:absolute;display:flex;gap:10px;align-items:flex-end}.bubble .av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--font-ui);flex:none}
.bubble .b{background:var(--surface-card);border-radius:18px 18px 18px 6px;padding:8px 14px 10px;box-shadow:0 14px 30px rgba(0,0,0,.35)}.bubble .who{font:600 12px/16px var(--font-ui);color:var(--text-muted)}.bubble .txt{font:600 16px/22px var(--font-ui);color:var(--text-strong);white-space:nowrap}
.chip{position:absolute;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border-radius:999px;background:var(--surface-card);color:var(--text-strong);font:700 14px/1 var(--font-ui);box-shadow:0 14px 30px rgba(0,0,0,.35);white-space:nowrap}.chip .i{width:18px;height:18px}
section.band{padding:72px 0;border-top:1px solid var(--border-subtle)}
.eyebrow{font:600 12px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.band h2{font:800 40px/1.1 var(--font-ui);letter-spacing:-.03em;max-width:720px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px;padding:0;list-style:none}
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm)}
.card .num{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-soft-text);font:700 15px/36px var(--font-ui);text-align:center;margin-bottom:16px}
.card h3{font:700 20px/1.25 var(--font-ui);letter-spacing:-.01em}.card p{margin:8px 0 0;color:var(--text-muted);font:400 16px/1.5 var(--font-ui);text-wrap:pretty}
.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;margin-top:36px;padding:0;list-style:none}
.features li{display:flex;gap:14px;align-items:flex-start}.features .ic{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}.features .ic .i{width:20px;height:20px}
.features b{display:block;font:700 17px/1.3 var(--font-ui);color:var(--text-strong)}.features span{display:block;color:var(--text-muted);font:400 15px/1.5 var(--font-ui);margin-top:2px}
.who{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.who span{padding:10px 16px;border-radius:999px;background:var(--bg-sunken);color:var(--text-strong);font:600 15px/1 var(--font-ui)}
.cta{background:var(--bg-grouped)}.cta .wrap{display:flex;align-items:center;gap:32px;justify-content:space-between;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 22px;border-radius:14px;font:600 16px/1 var(--font-ui);color:#fff;background:var(--pz-gradient);box-shadow:var(--gloss),var(--shadow-accent)}.btn:hover{text-decoration:none;filter:brightness(1.05)}
.btn.secondary{background:var(--surface-card);color:var(--text-strong);border:1px solid var(--border-default);box-shadow:var(--shadow-xs)}
.page{padding:56px 0 80px}.page .wrap{max-width:780px}
.page h1{font:800 44px/1.08 var(--font-ui);letter-spacing:-.03em}.page .intro{font:400 19px/1.55 var(--font-ui);color:var(--text-body);margin:16px 0 0;text-wrap:pretty}
.page h2{font:700 24px/1.25 var(--font-ui);letter-spacing:-.015em;margin:44px 0 12px}.page h3{font:700 18px/1.3 var(--font-ui);margin:24px 0 6px}
.page p,.page li{font:400 17px/1.65 var(--font-ui);color:var(--text-body)}.page ul,.page ol{padding-left:22px}.page li{margin:6px 0}
.updated{font:500 14px/1 var(--font-ui);color:var(--text-muted);margin-top:14px}
details.faq{border:1px solid var(--border-default);border-radius:16px;background:var(--surface-card);margin:12px 0}details.faq summary{cursor:pointer;list-style:none;padding:18px 20px;font:700 17px/1.35 var(--font-ui);color:var(--text-strong);display:flex;gap:12px;align-items:center}details.faq summary::-webkit-details-marker{display:none}details.faq summary::after{content:"+";margin-left:auto;font:400 24px/1 var(--font-ui);color:var(--text-muted)}details.faq[open] summary::after{content:"–"}details.faq .a{padding:0 20px 18px}details.faq .a p{margin:0 0 8px}
.contact{display:flex;gap:16px;align-items:center;padding:20px;border-radius:18px;background:var(--bg-grouped);margin-top:28px}.contact .ic{width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.addr{font:700 18px/1.2 var(--font-mono);color:var(--text-strong)}
table.limits{width:100%;border-collapse:separate;border-spacing:0;margin-top:20px;border:1px solid var(--border-default);border-radius:16px;overflow:hidden;background:var(--surface-card)}
table.limits th,table.limits td{padding:14px 18px;text-align:left;font:400 16px/1.4 var(--font-ui);border-top:1px solid var(--border-subtle)}table.limits tr:first-child th,table.limits tr:first-child td{border-top:none}
table.limits thead th{font:600 13px/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-grouped)}table.limits td.v{font-weight:700;color:var(--text-strong);white-space:nowrap;font-variant-numeric:tabular-nums}
.steps-ol{counter-reset:s;list-style:none;padding:0}.steps-ol li{counter-increment:s;display:flex;gap:14px;align-items:flex-start;margin:12px 0}.steps-ol li::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent-soft-text);font:700 14px/30px var(--font-ui);text-align:center;flex:none;margin-top:2px}
mark.tbc{background:var(--warning-soft);color:var(--warning-text);border-radius:6px;padding:1px 6px;font-weight:600}
.draft{margin-top:20px;padding:12px 16px;border-radius:14px;border:1.5px dashed var(--warning);background:var(--warning-soft);color:var(--warning-text);font:600 14px/1.45 var(--font-ui)}
footer.site{border-top:1px solid var(--border-subtle);background:var(--bg-grouped);padding:40px 0 48px}
footer.site .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
footer.site nav{display:flex;flex-wrap:wrap;gap:6px 22px}footer.site nav a{font:600 15px/1.6 var(--font-ui);color:var(--text-body)}
footer.site .fine{font:400 14px/1.6 var(--font-ui);color:var(--text-muted);margin-top:14px}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero h1{font-size:44px}.hero .sub{font-size:20px}.hero{padding:40px 0 48px}.steps{grid-template-columns:1fr}.features{grid-template-columns:1fr}.band h2{font-size:30px}section.band{padding:52px 0}.page h1{font-size:34px}nav.main a:not(.keep){display:none}footer.site .wrap{grid-template-columns:1fr}header.site .wrap{gap:12px}.wrap{padding:0 20px}}
@media (max-width:420px){.stage{border-radius:24px}.fl{max-width:86%}.stage .orb{width:110px;height:110px}.fl .ttl{font-size:14px}.bubble .txt{font-size:15px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.i{display:inline-block;width:20px;height:20px;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;flex:none}
.pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center;margin-top:36px}.pair .arrow{color:var(--text-muted)}
.acard{position:relative;display:grid;gap:6px;padding:16px 18px 16px 22px;border-radius:18px;background:var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);overflow:hidden}
.acard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--danger)}.acard.ok::before{background:var(--success)}
.acard .top{display:flex;align-items:center;gap:8px;font:600 13px/1 var(--font-ui);color:var(--text-muted)}.acard .top b{color:var(--text-strong);font-size:14px}.acard .top .t{margin-left:auto}
.acard .ttl{font:700 19px/1.25 var(--font-ui);color:var(--text-strong)}.acard .src{display:flex;align-items:center;gap:6px;font:500 13px/1 var(--font-ui);color:var(--text-muted)}.acard .src .i{width:14px;height:14px}
.dark-band{background:radial-gradient(60% 80% at 70% 40%,#14275E 0%,#0C1020 70%);color:#C9CFE0}.dark-band h2{color:#fff}.dark-band .eyebrow{color:#9FBDFF}
@media (max-width:860px){.pair{grid-template-columns:1fr}.pair .arrow{transform:rotate(90deg);justify-self:center}}

.x-hero{position:relative;overflow:hidden;background:#0C1020;color:#C9CFE0;padding:84px 0 40px}
.x-glow{position:absolute;inset:-20% -10% auto auto;width:900px;height:900px;background:radial-gradient(closest-side,rgba(10,92,255,.35),rgba(123,47,247,.12) 55%,transparent 75%);pointer-events:none}
.x-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.x-kicker{display:inline-flex;align-items:center;gap:10px;font:600 14px/1 var(--font-ui);color:#9FBDFF;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);margin:0 0 26px}
.x-kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 10px var(--success)}
.x-hero h1{color:#fff;font:800 76px/1.0 var(--font-ui);letter-spacing:-.045em}
.x-sub{font:600 26px/1.3 var(--font-ui);margin:22px 0 0;background:linear-gradient(90deg,#19D3F5,#7FA8FF 40%,#C6A6FF 75%,#FF8CC8);-webkit-background-clip:text;background-clip:text;color:transparent}
.x-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.x-hero .btn.secondary{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.18)}
.x-hero .note{color:#929BB4}
.x-stage{position:relative;aspect-ratio:560/620;max-width:560px;width:100%;justify-self:end}
.x-lines{position:absolute;inset:0;width:100%;height:100%}.x-lines path{fill:none;stroke:url(#g);stroke:#3F7DFF;stroke-opacity:.45;stroke-width:2.5;stroke-dasharray:6 10;animation:xdash 1.6s linear infinite}
@keyframes xdash{to{stroke-dashoffset:-32}}
.x-orb{position:absolute;left:50%;top:48.4%;width:30%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 50px rgba(10,92,255,.7));animation:xbreath 3.2s ease-in-out infinite}
@keyframes xbreath{50%{transform:translate(-50%,-50%) scale(1.04)}}
.x-ring{position:absolute;left:50%;top:48.4%;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid rgba(63,125,255,.35)}.x-ring.r1{width:52%;aspect-ratio:1}.x-ring.r2{width:80%;aspect-ratio:1;border-color:rgba(123,47,247,.22)}
.fc{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:18px;background:var(--surface-card);box-shadow:0 20px 44px rgba(0,0,0,.5);max-width:86%;animation:xfloat 6s ease-in-out infinite}
.fc.c2{animation-delay:-2s}.fc .tile{width:42px;height:42px;border-radius:32%;display:flex;align-items:center;justify-content:center;flex:none}.fc .tile .i{width:22px;height:22px}
.fc .meta{font:600 12px/1 var(--font-ui);color:var(--text-muted);white-space:nowrap}.fc .meta b{color:var(--text-body)}.fc .ttl{font:700 15px/1.25 var(--font-ui);color:var(--text-strong);margin-top:4px;white-space:nowrap}
@keyframes xfloat{50%{transform:translateY(-8px)}}
.x-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.x-bottom .bubble{position:relative;align-self:flex-end}.x-swap{position:relative;width:min(330px,92%);height:70px}.x-swap .fc{position:absolute;left:0;top:0;max-width:none;width:100%;animation:none}
.fc.red{border-left:5px solid var(--danger);animation:xred 8s ease-in-out infinite}.fc.green{border-left:5px solid var(--success);opacity:0;animation:xgreen 8s ease-in-out infinite}
@keyframes xred{0%,45%{opacity:1}55%,95%{opacity:0}100%{opacity:1}}@keyframes xgreen{0%,45%{opacity:0;transform:translateY(8px)}55%,95%{opacity:1;transform:none}100%{opacity:0}}
.x-b{animation:xfloat 6s ease-in-out -3s infinite}
.x-strip{position:relative;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}
.x-strip span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.06);color:#E6EAF5;font:600 15px/1 var(--font-ui)}.x-strip span .i{width:18px;height:18px}.x-strip .eq{background:var(--pz-gradient);color:#fff}
@media (max-width:860px){.x-grid{grid-template-columns:1fr}.x-hero{padding:48px 0 32px}.x-hero h1{font-size:46px}.x-sub{font-size:20px}.x-stage{justify-self:center}}
@media (prefers-reduced-motion:reduce){.fc.red{opacity:0}.fc.green{opacity:1}}
@media (max-width:1100px){.x-stage{aspect-ratio:auto;display:flex;flex-direction:column;gap:14px;align-items:stretch;padding:150px 0 0;max-width:460px}
.x-stage .fc{position:relative;left:auto!important;right:auto!important;top:auto!important;max-width:none;animation:none}.x-stage .fc.c2{align-self:flex-end;margin-left:28px}.x-stage .fc.c1{margin-right:28px}
.x-lines,.x-ring.r2{display:none}.x-orb,.x-ring.r1{top:70px}.x-orb{width:110px}.x-ring.r1{width:170px}
.x-bottom{position:relative;left:auto;right:auto;bottom:auto}.x-swap{width:100%;height:70px}.x-stage .x-swap .fc{position:absolute}}
@media (max-width:860px){header.site .logo img{height:52px}header.site .wrap{height:76px}}
footer.site .logo img{height:46px}

.soon{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;background:rgba(123,47,247,.16);color:#C6A6FF;font:700 11px/1 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;margin-left:6px}
[data-theme="light"] .soon{background:#F2EAFF;color:#5B1BC0}
.mnav{display:none;position:relative}.mnav summary{list-style:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-strong)}.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:0;top:52px;min-width:220px;display:grid;padding:8px;border-radius:16px;background:var(--surface-raised);border:1px solid var(--border-default);box-shadow:var(--shadow-lg)}.mnav nav a{padding:12px 14px;border-radius:10px;color:var(--text-strong);font:600 16px/1 var(--font-ui)}
@media (max-width:1060px){nav.main{display:none}.mnav{display:block;margin-left:auto}}
.phero{position:relative;overflow:hidden;background:#0C1020;padding:72px 0 56px}.phero h1{color:#fff;font:800 56px/1.05 var(--font-ui);letter-spacing:-.04em;max-width:880px}.phero .intro{color:#C9CFE0;font:400 20px/1.55 var(--font-ui);max-width:720px;margin:18px 0 0}.phero .eyebrow{color:#9FBDFF}
.pband{background:var(--bg-grouped)}.problem{font:500 26px/1.45 var(--font-ui);color:var(--text-body);max-width:900px;margin:0;text-wrap:pretty;letter-spacing:-.01em}.problem strong{color:var(--text-strong)}
.flow{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:28px}
.frow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center;padding:32px;border-radius:28px;background:var(--surface-card);border:1px solid var(--border-subtle)}
.frow:nth-child(even) .fcopy{order:2}
.frow h3{font:800 32px/1.1 var(--font-ui);letter-spacing:-.025em;margin:8px 0 12px}.frow p{font:400 17px/1.6 var(--font-ui);color:var(--text-body);margin:0}
.sn{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--pz-gradient);color:#fff;align-items:center;justify-content:center;font:800 13px/1 var(--font-ui);margin-right:10px;letter-spacing:0}
.fnote{font:500 14px/1.5 var(--font-ui)!important;color:var(--text-muted)!important;margin-top:12px!important}
.fart{border-radius:22px;background:radial-gradient(80% 80% at 50% 40%,#14275E 0%,#0C1020 75%);padding:28px;min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ill{display:flex;flex-direction:column;gap:12px;width:100%;max-width:420px;align-items:stretch}
.ill .fc{position:relative;max-width:none;animation:none;left:auto;top:auto}.fc .fcb{min-width:0;flex:1}.fc .ttl{overflow:hidden;text-overflow:ellipsis}
.fc.red{border-left:5px solid var(--danger)}.ill .fc.red{animation:none;opacity:1}.ill .fc.green{border-left:5px solid var(--success);opacity:1;animation:none}.fc.quiet{opacity:.75}.fc.dim{opacity:.55}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tags code{font:600 12px/1 var(--font-mono);padding:5px 8px;border-radius:6px;background:var(--bg-sunken);color:var(--text-body)}
.tags .hp,.tags .np,.tags .ok{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px 0 6px;border-radius:6px;font:700 11px/1 var(--font-ui);white-space:nowrap}.tags .hp{background:var(--danger-soft);color:var(--danger-text)}.tags .np{background:var(--bg-sunken);color:var(--text-muted);padding:0 8px}.tags .ok{background:var(--success-soft);color:var(--success-text)}.tags .i{width:12px;height:12px}
.bubble.rel{position:relative;align-self:flex-start}.ill .bubble.rel:nth-of-type(odd){align-self:flex-end}
.mrow{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:var(--surface-card);color:var(--text-strong);font:700 13px/1 var(--font-ui);box-shadow:0 10px 24px rgba(0,0,0,.35)}.pill .i{width:16px;height:16px}.pill .soon{margin-left:2px}
.down{align-self:center;color:#9FBDFF;transform:rotate(90deg)}
.route .topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.tchip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#E6EAF5;font:700 13px/1 var(--font-ui)}.tchip .i{width:14px;height:14px}
.panel{background:var(--surface-card);border-radius:20px;overflow:hidden;box-shadow:0 20px 44px rgba(0,0,0,.45);width:100%}.ph{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;font:700 17px/1 var(--font-ui);color:var(--text-strong)}.ph span{font:600 12px/1 var(--font-ui);color:var(--text-muted);padding:5px 9px;border-radius:999px;background:var(--bg-sunken)}
.tabs{display:flex;gap:4px;margin:0 12px 6px;padding:4px;border-radius:12px;background:var(--bg-sunken)}.tabs span{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:34px;border-radius:9px;font:700 12px/1 var(--font-ui);color:var(--text-muted);white-space:nowrap}.tabs span.on{background:var(--surface-raised);color:var(--text-strong);box-shadow:var(--shadow-sm)}.tabs .i{width:14px;height:14px}
.prow{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border-subtle)}.prow>.i{width:20px;height:20px;color:var(--accent)}.prow div{flex:1;min-width:0;display:grid;gap:3px}.prow b{font:700 14px/1.2 var(--font-ui);color:var(--text-strong)}.prow div span{font:400 12px/1.3 var(--font-ui);color:var(--text-muted)}
.copy{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;background:var(--accent);color:#fff;font:700 12px/1 var(--font-ui);white-space:nowrap}.copy .i{width:13px;height:13px}
.more{display:inline-flex;align-items:center;gap:8px;font:700 16px/1 var(--font-ui);margin-top:24px}.more .i{width:16px;height:16px}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.cards3.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.card.link{color:inherit;display:block;transition:transform var(--dur-fast),box-shadow var(--dur-fast)}.card.link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.cic{width:44px;height:44px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.cic .i{width:22px;height:22px}
.names{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:28px 0 0}.names li{padding:10px 16px;border-radius:999px;background:var(--bg-sunken);color:var(--text-strong);font:600 15px/1 var(--font-ui)}
.plansline{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.plansline h2{font-size:32px}
.ctah{font:800 32px/1.15 var(--font-ui)!important;letter-spacing:-.025em}
.ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.ticks li{display:flex;gap:10px;align-items:center;font:500 15px/1.4 var(--font-ui);color:var(--text-body)}.ticks .i{width:16px;height:16px;color:var(--success)}.ticks.no .i{color:var(--text-muted)}
.methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.citem{padding:18px 20px;border-radius:16px;background:var(--surface-card);border:1px solid var(--border-subtle)}.citem .cn{display:flex;align-items:center;gap:6px}.citem b{font:700 18px/1.2 var(--font-ui);color:var(--text-strong)}.citem p{margin:6px 0 0;color:var(--text-muted);font:400 15px/1.5 var(--font-ui)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.two h2{font:800 30px/1.15 var(--font-ui);letter-spacing:-.025em;margin-bottom:12px}.two p{font:400 17px/1.6 var(--font-ui)}
pre.code{margin:16px 0 0;padding:18px 20px;border-radius:16px;background:#070A14;border:1px solid rgba(255,255,255,.1);overflow-x:auto}pre.code code{font:500 14px/1.7 var(--font-mono);color:#E6EAF5;white-space:pre}
table.cmp{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border-default);border-radius:18px;overflow:hidden;background:var(--surface-card)}table.cmp th,table.cmp td{padding:16px 20px;text-align:left;border-top:1px solid var(--border-subtle);font:500 16px/1.4 var(--font-ui);color:var(--text-body)}table.cmp thead th{border-top:none;background:var(--bg-grouped);font:700 14px/1 var(--font-ui);color:var(--text-strong)}table.cmp td .i{width:18px;height:18px}table.cmp td:nth-child(2) .i{color:var(--success)}table.cmp th[scope="row"]{color:var(--text-strong);font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.planc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:32px;border-radius:24px;background:var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md)}.pprice{text-align:right;display:grid;gap:6px}.pprice b{font:800 48px/1 var(--font-ui);color:var(--text-strong);letter-spacing:-.03em}.pprice span{color:var(--text-muted);font:600 14px/1 var(--font-ui)}
.tbd{font:600 13px/1 var(--font-ui);color:var(--text-muted);padding:5px 9px;border-radius:7px;background:var(--bg-sunken)}
footer.site .wrap{grid-template-columns:minmax(0,1fr) auto}.fcols{display:grid;grid-template-columns:repeat(3,auto);gap:40px}footer.site .fcols nav{display:grid;gap:8px;align-content:start}footer.site .fcols b{font:700 13px/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}footer.site .legal{grid-column:1/-1;border-top:1px solid var(--border-subtle);padding-top:20px;margin-top:8px}.addr-s{font:600 14px/1 var(--font-mono);color:var(--text-body)}
.x-hero .store{border-color:rgba(255,255,255,.22);color:#C9CFE0}
@media (max-width:860px){.frow{grid-template-columns:1fr;gap:24px;padding:20px}.frow:nth-child(even) .fcopy{order:0}.frow h3{font-size:26px}.cards3,.cards3.four,.methods,.catalog,.two{grid-template-columns:1fr}.phero h1{font-size:38px}.phero{padding:48px 0 40px}.problem{font-size:20px}.fcols{grid-template-columns:1fr 1fr;gap:24px}.planc{grid-template-columns:1fr}.pprice{text-align:left}.fart{padding:18px;min-height:0}.tabs span{font-size:11px}table.cmp th,table.cmp td{padding:12px}}
.blogo{display:inline-block;width:22px;height:22px;flex:none;background:var(--text-strong);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}.blogo.none{background:none;-webkit-mask:none;mask:none;color:var(--text-muted);display:inline-flex}.blogo.none .i{width:20px;height:20px}
.names.logos li{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px}
.citem .cn .blogo{width:28px;height:28px;margin-right:6px}

/* C&D additions */
.cn .gen{width:22px;height:22px;color:var(--text-muted)}
.guide-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
/* Horizontal header lockup (Taylor via PD; Logo Usage pingzoo-r1-ADDENDUM-2: orb beside wordmark, the guide's own
   proportions: wordmark 0.65 of the orb box, gap 0.15; clear space at least half the orb's height). */
header.site .wrap{height:88px}
header.site .logo.hlogo{gap:8px}
header.site .logo.hlogo img.orb{width:56px;height:56px}
header.site .logo.hlogo img.wm{height:36px;width:auto}
@media (max-width:860px){header.site .wrap{height:72px}header.site .logo.hlogo{gap:6px}
header.site .logo.hlogo img.orb{width:44px;height:44px}header.site .logo.hlogo img.wm{height:29px}}
footer.site .logo.hlogo{gap:6px;padding:4px 0}
footer.site .logo.hlogo img.orb{width:44px;height:44px}
footer.site .logo.hlogo img.wm{height:29px;width:auto}
/* r1.9.3: the cookie banner (consent.js). Bottom of the screen, theme tokens, equal-weight buttons. */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:720px;margin:0 auto;display:flex;
flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 20px;border-radius:16px;background:var(--surface-raised);
color:var(--text-body);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);font:400 15px/1.5 var(--font-ui)}
.consent[hidden]{display:none}
.consent p{margin:0;flex:1 1 280px}
.consent a{color:var(--text-link)}
.consent-actions{display:flex;gap:10px}
.consent-btn{min-width:110px;height:44px;padding:0 18px;border-radius:12px;font:600 15px/1 var(--font-ui);
color:var(--text-strong);background:var(--surface-card);border:1px solid var(--border-strong);cursor:pointer}
.consent-btn:hover{background:var(--surface-hover)}
/* r1.9.5 S-4: focus moves to the main content after the first banner; no ring around the whole page. */
#main[tabindex="-1"]:focus{outline:none;box-shadow:none}
/* launch-r1/cs1: the film's preview note and transcript. */
.film-note{margin-top:12px}
.transcript{margin-top:8px;font:400 15px/1.6 var(--font-ui);color:var(--text-muted)}
.transcript summary{cursor:pointer;font-weight:600;color:var(--text-body)}
.transcript p{margin:8px 0 0;max-width:720px}

/* cs2: the Coming Soon page. Taylor: "give the text a better spacing even the top is jammed". One vertical rhythm
   (--cs-gap), text at most 60ch, the brand tokens and fonts unchanged. */
.cs{--cs-gap:clamp(20px,3.2vw,32px)}
header.site.cs-head{position:relative;background:transparent;border-bottom:0;backdrop-filter:none;
-webkit-backdrop-filter:none}
/* Home only: the header sits over the hero, so the glow runs to the top edge. */
header.site.cs-head.cs-over{position:absolute;top:0;left:0;right:0;z-index:5}
header.site.cs-head .wrap{justify-content:space-between;height:72px}
.cs-hero{position:relative;overflow:hidden;padding:calc(72px + clamp(48px,8vh,104px)) 0 clamp(64px,10vh,120px);
text-align:center}
.cs-hero .wrap{position:relative;display:flex;flex-direction:column;align-items:center;max-width:1000px}
.cs-logo{display:flex;align-items:center;gap:12px;margin:0 0 calc(var(--cs-gap)*1.25)}
.cs-logo img.orb{width:88px;height:88px}
.cs-logo img.wm{height:58px;width:auto}
.soon.cs-soon{height:auto;margin:0 0 var(--cs-gap);padding:8px 16px;border-radius:999px;font-size:13px;
letter-spacing:.08em}
.cs-hero h1{font:800 clamp(38px,6vw,60px)/1.12 var(--font-display,var(--font-ui));letter-spacing:-.02em;
color:var(--text-strong);margin:0;max-width:18ch;text-wrap:balance}
.cs-sub{font:400 clamp(18px,2.2vw,21px)/1.65 var(--font-ui);color:var(--text-body);margin:var(--cs-gap) 0 0;
max-width:60ch;text-wrap:pretty}
.cs-film{width:100%;margin:calc(var(--cs-gap)*2.25) 0 0;text-align:center}
.cs-film>div{margin:0 auto}
.cs-film .film-note{margin:calc(var(--cs-gap)*.75) auto 0;font:500 15px/1.6 var(--font-ui);color:var(--text-muted)}
/* cs3 (Taylor: "normal types set not need for preview drop down"): the transcript as plain text under the note. */
.cs-film .cs-transcript{margin:calc(var(--cs-gap)*.5) auto 0;max-width:60ch;font:400 16px/1.75 var(--font-ui);
color:var(--text-body);text-wrap:pretty}
.cs-contact{margin:calc(var(--cs-gap)*2) 0 0;font:500 17px/1.6 var(--font-ui);color:var(--text-muted)}
.cs-contact a{color:var(--text-link)}
footer.site.cs-footer{padding:clamp(40px,6vh,64px) 0 clamp(48px,7vh,72px)}
footer.site .wrap.cs-foot{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.cs-foot p{margin:0;font:400 15px/1.8 var(--font-ui);color:var(--text-muted)}
.cs-foot nav{display:flex;gap:8px 28px;flex-wrap:wrap;justify-content:center}
.cs-foot nav a{font:600 15px/1.6 var(--font-ui);color:var(--text-body)}
.cs-foot .legal{font-size:14px}
.cs-foot .cs-owner{font-weight:600;color:var(--text-body)}
@media (max-width:860px){.cs-logo img.orb{width:64px;height:64px}.cs-logo img.wm{height:42px}
.cs-hero{padding:calc(72px + clamp(32px,5vh,64px)) 0 64px}}
