        /* ── Apple Design System — Foundation ── */

        :root {
            /* Backgrounds */
            --bg: #000000;
            --bg-elevated: #000000;
            --apple-bg: #000000;
            --apple-bg-primary: #1C1C1E;
            --apple-bg-secondary: #2C2C2E;
            --apple-bg-tertiary: #3A3A3C;

            /* Legacy aliases (used in existing code) */
            --panel: #1C1C1E;
            --panel-strong: #2C2C2E;
            --panel-soft: rgba(255, 255, 255, 0.04);

            /* Separators */
            --line: #38383A;
            --line-strong: #545456;
            --apple-separator: #38383A;
            --apple-separator-opaque: #545456;

            /* Labels */
            --text: #FFFFFF;
            --paper: #FFFFFF;
            --muted: rgba(235, 235, 245, 0.6);
            --muted-soft: rgba(235, 235, 245, 0.3);
            --apple-label: #FFFFFF;
            --apple-label-secondary: rgba(235, 235, 245, 0.6);
            --apple-label-tertiary: rgba(235, 235, 245, 0.3);
            --apple-label-quaternary: rgba(235, 235, 245, 0.18);

            /* Legacy accent aliases */
            --accent: #A659D6;
            --accent-strong: #C084E4;
            --accent-deep: #A659D6;

            /* Semantic colors */
            --success: #30D158;
            --success-strong: #30D158;
            --warning: #FF9F0A;
            --danger: #FF453A;
            --apple-blue: #A659D6;
            --apple-green: #30D158;
            --apple-orange: #FF9F0A;
            --apple-red: #FF453A;
            --apple-yellow: #FFD60A;
            --apple-teal: #64D2FF;
            --apple-good: #30D158;
            --apple-warn: #FF9F0A;
            --apple-risk: #FF453A;

            /* Shadow — minimal */
            --shadow: none;

            /* Font */
            --apple-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            --apple-mono: 'SF Mono', 'IBM Plex Mono', ui-monospace, monospace;
        }

        /* ── Light Mode ── */
        html[data-theme="light"] {
            --bg: #F2F2F7;
            --bg-elevated: #FFFFFF;
            --apple-bg: #F2F2F7;
            --apple-bg-primary: #FFFFFF;
            --apple-bg-secondary: #F2F2F7;
            --apple-bg-tertiary: #E5E5EA;

            --panel: #FFFFFF;
            --panel-strong: #F2F2F7;
            --panel-soft: rgba(0, 0, 0, 0.04);

            --line: #C6C6C8;
            --line-strong: #AEAEB2;
            --apple-separator: #C6C6C8;
            --apple-separator-opaque: #AEAEB2;

            --text: #000000;
            --paper: #000000;
            --muted: rgba(60, 60, 67, 0.6);
            --muted-soft: rgba(60, 60, 67, 0.3);
            --apple-label: #000000;
            --apple-label-secondary: rgba(60, 60, 67, 0.6);
            --apple-label-tertiary: rgba(60, 60, 67, 0.3);
            --apple-label-quaternary: rgba(60, 60, 67, 0.18);

            --accent: #8B3FA0;
            --accent-strong: #8B3FA0;
            --accent-deep: #8B3FA0;

            --success: #34C759;
            --success-strong: #248A3D;
            --warning: #FF9500;
            --danger: #FF3B30;
            --apple-blue: #8B3FA0;
            --apple-green: #34C759;
            --apple-orange: #FF9500;
            --apple-red: #FF3B30;
            --apple-yellow: #FFCC00;
            --apple-teal: #5AC8FA;
            --apple-good: #34C759;
            --apple-warn: #FF9500;
            --apple-risk: #FF3B30;

            --shadow: none;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        html {
            min-height: 100%;
            background-color: var(--bg);
            color-scheme: dark;
            overflow-x: hidden;
        }

        html[data-theme="light"] {
            color-scheme: light;
        }

        body {
            font-family: var(--apple-font);
            background: var(--bg);
            color: var(--text);
            min-height: 100vh;
            min-height: 100dvh;
            padding:
                calc(12px + env(safe-area-inset-top))
                calc(16px + env(safe-area-inset-right))
                calc(32px + env(safe-area-inset-bottom))
                calc(16px + env(safe-area-inset-left));
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-size: 15px;
            line-height: 1.47;
            letter-spacing: -0.01em;
        }

        /* Kill all decorative pseudo-elements */
        body::before,
        body::after {
            display: none !important;
        }
