/* OLPW:olpw-site.css | styles for olpw-site */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* OLPW shared styles: one clean green look (light + dark) for every page family, plus the floating
   Home / Back / theme controls. Each page family names its colours differently, so the --olpw-* tokens
   are mapped onto every family's variables here. `html:root[data-theme]` outranks the pages' own
   `:root` and `html[data-theme="light"]` blocks. olpw-site.js swaps the old display fonts for Inter and
   turns hard-coded orange accents into var(--olpw-accent*). */

/* Light: CleanBD's welcome-screen palette — mint→lime→cream gradient, bright #16A34A green, dark-green
   headings, translucent white cards with a faint green border and a green-tinted shadow. */
html:root[data-theme="light"] {
    color-scheme: light;
    --olpw-bg: #F0FDF4;
    --olpw-bg-2: #E6F7EC;
    --olpw-card: #FFFFFF;
    --olpw-card-glass: rgba(255, 255, 255, 0.80);
    --olpw-card-hi: #F2FBF5;
    --olpw-field: #FFFFFF;
    --olpw-line: rgba(22, 163, 74, 0.16);
    --olpw-line-2: rgba(22, 163, 74, 0.32);
    --olpw-text: #1A1D23;
    --olpw-text-2: #3F4A45;
    --olpw-muted: #6B7280;
    --olpw-dim: #9CA3AF;
    --olpw-heading: #14532D;
    --olpw-accent: #16A34A;
    --olpw-accent-2: #22C55E;
    --olpw-accent-deep: #15803D;
    --olpw-accent-soft: rgba(22, 163, 74, 0.10);
    --olpw-tint: #DCFCE7;
    --olpw-on-accent: #FFFFFF;
    --olpw-gradient: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #15803D 0%, #16A34A 100%);
    --olpw-nav: rgba(255, 255, 255, 0.72);
    --olpw-shadow-sm: 0 4px 16px rgba(22, 163, 74, 0.08);
    --olpw-shadow-md: 0 8px 24px rgba(22, 163, 74, 0.12);
    --olpw-shadow-lg: 0 20px 40px rgba(22, 163, 74, 0.18);
    --olpw-glow: rgba(22, 163, 74, 0.30);
    --olpw-page-gradient: linear-gradient(135deg, #F0FDF4 0%, #ECFCCB 30%, #DCFCE7 60%, #D1FAE5 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(134, 239, 172, 0.50), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(74, 222, 128, 0.32), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(250, 204, 21, 0.18), transparent 34%);
    /* Static geometric tile (olpw-site.js replaces it with a richer randomised one) */
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%2316a34a'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%2322c55e'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%2315803d'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%230d9488'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%2322c55e'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%2316a34a'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23f59e0b'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%2322c55e'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%2322c55e'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%2316a34a'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%230d9488'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%2322c55e'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%2315803d'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}

html:root[data-theme="dark"] {
    color-scheme: dark;
    --olpw-bg: #0B1210;
    --olpw-bg-2: #101A15;
    --olpw-card: #13211A;
    --olpw-card-glass: rgba(19, 33, 26, 0.84);
    --olpw-card-hi: #1A2C22;
    --olpw-field: #0E1813;
    --olpw-line: rgba(74, 222, 128, 0.14);
    --olpw-line-2: rgba(74, 222, 128, 0.30);
    --olpw-text: #ECFDF5;
    --olpw-text-2: #C5CFC9;
    --olpw-muted: #8CA096;
    --olpw-dim: #6B7C73;
    --olpw-heading: #BBF7D0;
    --olpw-accent: #4ADE80;
    --olpw-accent-2: #86EFAC;
    --olpw-accent-deep: #22C55E;
    --olpw-accent-soft: rgba(74, 222, 128, 0.12);
    --olpw-tint: rgba(74, 222, 128, 0.10);
    --olpw-on-accent: #052E16;
    --olpw-gradient: linear-gradient(135deg, #22C55E 0%, #4ADE80 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
    --olpw-nav: rgba(11, 18, 16, 0.78);
    --olpw-shadow-sm: 0 4px 16px rgba(0, 0, 0, 0.35);
    --olpw-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.45);
    --olpw-shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.55);
    --olpw-glow: rgba(74, 222, 128, 0.35);
    --olpw-page-gradient: linear-gradient(135deg, #0B1210 0%, #0F1A14 45%, #0C1713 70%, #0B1512 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(34, 197, 94, 0.16), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(74, 222, 128, 0.12), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(250, 204, 21, 0.06), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%234ade80'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%2386efac'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%2322c55e'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%232dd4bf'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%2386efac'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%234ade80'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23fbbf24'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%2386efac'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%2386efac'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%234ade80'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%232dd4bf'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%2386efac'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%2322c55e'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}

/* ---------- Family variables -> tokens (both themes; the memory game keeps its own look) ---------- */
html:root[data-theme]:not([data-olpw-page="Focaus_build"]) {
    /* index.html, planner.html, paswordreset.html, tools.html, refreshment.html */
    --bg: var(--olpw-bg);
    --surface: var(--olpw-card);
    --surface-light: var(--olpw-bg-2);
    --panel: var(--olpw-card);
    --field: var(--olpw-field);
    --nav-bg: var(--olpw-nav);
    --text-main: var(--olpw-text-2);
    --text-strong: var(--olpw-text);
    --text-muted: var(--olpw-muted);
    --border: var(--olpw-line);
    --accent: var(--olpw-accent);
    --accent-hover: var(--olpw-accent-deep);
    --accent-soft: var(--olpw-accent-soft);
    --radius: 16px;
    --glow-a: var(--olpw-glow);
    --glow-b: rgba(66, 133, 244, 0.05);

    /* Core subject hubs (math, physics, chemistry, biology, cs) */
    --bg-2: var(--olpw-bg-2);
    --bg-card: var(--olpw-card);
    --bg-card-hi: var(--olpw-card-hi);
    --line: var(--olpw-line);
    --line-2: var(--olpw-line-2);
    --text: var(--olpw-text);
    --text-dim: var(--olpw-dim);
    --orange: var(--olpw-accent);
    --orange-2: var(--olpw-accent-2);
    --orange-glow: var(--olpw-accent-soft);
    --silver: var(--olpw-text-2);
    --silver-dim: var(--olpw-muted);

    /* The other 22 subjects (hubs + chapters) */
    --card: var(--olpw-card);
    --card-hi: var(--olpw-card-hi);
    --muted: var(--olpw-muted);
    --dim: var(--olpw-dim);
    --tint: var(--olpw-accent-soft);
    --nav: var(--olpw-nav);

    /* Core chapter / dashboard / revision pages */
    --bg-primary: var(--olpw-bg);
    --bg-secondary: var(--olpw-card);
    --bg-panel: var(--olpw-bg-2);
    --text-primary: var(--olpw-text);
    --text-secondary: var(--olpw-text-2);

    /* Chemistry chapters, PDF tool */
    --pure-black: var(--olpw-bg);
    --black: var(--olpw-bg);
    --dark-gray: var(--olpw-card);
    --mid-gray: var(--olpw-line);
    --light-gray: var(--olpw-line-2);
    --neon-orange: var(--olpw-accent);
    --metallic-silver: var(--olpw-text-2);
    --text-gray: var(--olpw-muted);
    --white: var(--olpw-text);
    --drop-bg: var(--olpw-card-hi);
    --btn-text: var(--olpw-on-accent);

    /* Periodic table */
    --bg-0: var(--olpw-bg);
    --bg-1: var(--olpw-bg-2);
    --bg-3: var(--olpw-card-hi);
    --bg-4: var(--olpw-line);
    --bg-5: var(--olpw-line-2);
    --border-strong: var(--olpw-line-2);
    --fg: var(--olpw-text);
    --fg-2: var(--olpw-text-2);
    --fg-3: var(--olpw-muted);
    --fg-4: var(--olpw-dim);
    --accent-bright: var(--olpw-accent-2);
    --accent-deep: var(--olpw-accent-deep);
    --accent-glow: var(--olpw-accent-soft);
    --silver-dark: var(--olpw-muted);
    --glass: var(--olpw-nav);

    /* Chess pages */
    --panel2: var(--olpw-card-hi);
    --accent2: #4285F4;
}
/* --shadow is a full box-shadow everywhere except the chess pages, where it is a colour */
html:root[data-theme]:not([data-olpw-page="Focaus_build"]):not([data-olpw-page="new"]):not([data-olpw-page="chessworlds"]) {
    --shadow: var(--olpw-shadow-lg);
}
html:root[data-theme][data-olpw-page="new"],
html:root[data-theme][data-olpw-page="chessworlds"] {
    --bg: var(--olpw-bg);
}

/* ---------- Base ---------- */
/* html stays unpainted so the body background reaches the canvas and the drifting shapes
   (z-index -1) sit between the background and the content. */
html:root[data-theme]:not([data-olpw-page="Focaus_build"]) { background: none; }
html:root[data-theme]:not([data-olpw-page="Focaus_build"]) body {
    background-color: var(--olpw-bg);
    background-image: var(--olpw-geo), var(--olpw-orbs), var(--olpw-page-gradient);
    background-size: 340px 340px, 210px 210px, auto, auto, auto, auto;
    background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-attachment: scroll, scroll, fixed, fixed, fixed, fixed;
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
}
html:root[data-theme]:not([data-olpw-page="Focaus_build"]) body::after { display: none; }
html[data-theme="light"] ::selection { background: #BBF7D0; color: #052E16; }
html[data-theme="dark"] ::selection { background: rgba(74, 222, 128, 0.35); color: #FFFFFF; }
html:root[data-theme]:not([data-olpw-page="Focaus_build"]) h1:not(.olpw-float *) { color: var(--olpw-heading); }

/* Drifting geometric shapes (built by olpw-site.js) */
.olpw-ambient { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.olpw-amb { position: absolute; top: -60px; animation: olpwDrift var(--dur, 36s) linear infinite; will-change: transform, opacity; }
.olpw-amb svg { display: block; animation: olpwSway var(--sway, 5s) ease-in-out infinite alternate; }
@keyframes olpwDrift {
    0% { transform: translate(0, 0) rotate(0deg); opacity: 0; }
    8% { opacity: var(--op, 0.25); }
    92% { opacity: var(--op, 0.25); }
    100% { transform: translate(var(--dx, 8vw), calc(100vh + 80px)) rotate(var(--spin, 240deg)); opacity: 0; }
}
@keyframes olpwSway {
    from { transform: rotate(-14deg) scale(1); }
    to { transform: rotate(14deg) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) { .olpw-ambient { display: none; } }

/* ---------- Self-assessment quiz (rendered by olpw-site.js from the page's JSON block) ---------- */
.olpw-quiz-root {
    border: 1px solid var(--olpw-line, rgba(22, 163, 74, 0.16));
    background: var(--olpw-card-hi, rgba(22, 163, 74, 0.04));
    border-radius: 14px;
    padding: 1.5rem;
    margin-top: 1.25rem;
}
.olpw-quiz-head { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.olpw-quiz-sub { font-size: 0.85rem; color: var(--olpw-muted, #6B7280); }
.olpw-quiz-best {
    font-size: 0.8rem; font-weight: 700; white-space: nowrap;
    color: var(--olpw-accent-deep, #15803D);
    background: var(--olpw-accent-soft, rgba(22, 163, 74, 0.10));
    border: 1px solid var(--olpw-line, rgba(22, 163, 74, 0.16));
    border-radius: 999px; padding: 0.25rem 0.75rem;
}
.olpw-quiz-q { padding: 1rem 0; border-top: 1px dashed var(--olpw-line, rgba(22, 163, 74, 0.16)); }
.olpw-quiz-q:first-child { border-top: none; padding-top: 0; }
.olpw-quiz-qtext { font-weight: 600; margin: 0 0 0.75rem; color: var(--olpw-text, inherit); }
.olpw-quiz-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0.5rem; }
.olpw-quiz-opt, .olpw-quiz-check, .olpw-quiz-btn {
    font: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer;
    border: 1px solid var(--olpw-line-2, rgba(22, 163, 74, 0.32));
    background: var(--olpw-field, #FFFFFF);
    color: var(--olpw-text, inherit);
    border-radius: 10px; padding: 0.55rem 0.9rem; text-align: left;
    transition: background 0.15s, border-color 0.15s;
}
.olpw-quiz-opt:hover:not(:disabled), .olpw-quiz-check:hover:not(:disabled), .olpw-quiz-btn:hover {
    border-color: var(--olpw-accent, #16A34A);
    background: var(--olpw-accent-soft, rgba(22, 163, 74, 0.10));
}
.olpw-quiz-opt.is-correct {
    border-color: var(--olpw-accent, #16A34A);
    background: color-mix(in srgb, var(--olpw-accent, #16A34A) 16%, transparent);
    color: var(--olpw-accent-deep, #15803D);
}
.olpw-quiz-opt.is-wrong {
    border-color: #DC2626;
    background: color-mix(in srgb, #DC2626 12%, transparent);
    color: #B91C1C;
}
.olpw-quiz-fib { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.olpw-quiz-input {
    flex: 1 1 200px; font: inherit; font-size: 0.95rem;
    border: 1px solid var(--olpw-line-2, rgba(22, 163, 74, 0.32));
    background: var(--olpw-field, #FFFFFF);
    color: var(--olpw-text, inherit);
    border-radius: 10px; padding: 0.55rem 0.9rem;
}
.olpw-quiz-input:focus-visible { outline: none; border-color: var(--olpw-accent, #16A34A); box-shadow: 0 0 0 3px var(--olpw-accent-soft, rgba(22, 163, 74, 0.10)); }
.olpw-quiz-input.is-correct { border-color: var(--olpw-accent, #16A34A); background: color-mix(in srgb, var(--olpw-accent, #16A34A) 10%, transparent); }
.olpw-quiz-input.is-wrong { border-color: #DC2626; background: color-mix(in srgb, #DC2626 8%, transparent); }
.olpw-quiz-input:disabled { opacity: 1; }
.olpw-quiz-check { text-align: center; }
.olpw-quiz-verdict { font-size: 0.88rem; margin: 0.6rem 0 0; min-height: 1.2em; }
.olpw-quiz-verdict.ok { color: var(--olpw-accent-deep, #15803D); font-weight: 600; }
.olpw-quiz-verdict.no { color: #B91C1C; font-weight: 600; }
.olpw-quiz-banner {
    margin-top: 1rem; padding: 0.85rem 1rem; border-radius: 10px; font-weight: 600; font-size: 0.95rem;
    color: var(--olpw-accent-deep, #15803D);
    background: var(--olpw-accent-soft, rgba(22, 163, 74, 0.10));
    border: 1px solid var(--olpw-line-2, rgba(22, 163, 74, 0.32));
}
.olpw-quiz-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-top: 1.25rem; }
.olpw-quiz-score { font-size: 0.88rem; color: var(--olpw-muted, #6B7280); margin: 0; margin-right: auto; }
.olpw-quiz-btn.ghost { background: transparent; }
.olpw-quiz-key { margin-top: 1rem; padding: 1rem 1.25rem; border-radius: 10px; background: var(--olpw-card, #FFFFFF); border: 1px solid var(--olpw-line, rgba(22, 163, 74, 0.16)); }
.olpw-quiz-key h4 { margin: 0 0 0.5rem; font-size: 0.95rem; color: var(--olpw-heading, inherit); }
.olpw-quiz-key ol { margin: 0; padding-left: 1.4rem; font-size: 0.92rem; color: var(--olpw-text-2, inherit); }
.olpw-quiz-key li { margin: 0.2rem 0; }
.olpw-quiz-hint { font-size: 0.85rem; color: var(--olpw-muted, #6B7280); margin: 0 0 0.6rem; }
.olpw-quiz-model {
    margin-top: 0.6rem; padding: 0.85rem 1rem; border-radius: 10px; font-size: 0.92rem;
    color: var(--olpw-text-2, inherit);
    background: var(--olpw-card, #FFFFFF);
    border: 1px solid var(--olpw-line, rgba(22, 163, 74, 0.16));
    border-left: 3px solid var(--olpw-accent, #16A34A);
}

/* Back-to-top (built by olpw-site.js) */
.olpw-top-btn {
    position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 900;
    width: 2.6rem; height: 2.6rem; border-radius: 999px; border: 1px solid var(--olpw-line-2, rgba(22, 163, 74, 0.32));
    background: var(--olpw-nav, rgba(255, 255, 255, 0.72)); color: var(--olpw-accent-deep, #15803D);
    font-size: 1.1rem; font-weight: 700; cursor: pointer; display: none; align-items: center; justify-content: center;
    box-shadow: var(--olpw-shadow-sm, 0 4px 16px rgba(22, 163, 74, 0.08));
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    transition: opacity 0.2s, transform 0.2s;
}
.olpw-top-btn.show { display: flex; }
.olpw-top-btn:hover { transform: translateY(-2px); border-color: var(--olpw-accent, #16A34A); }

/* Floating palette button (built by olpw-site.js) */
.olpw-pal-btn {
    width: 2.25rem; height: 2.25rem; border-radius: 999px; border: 1px solid var(--olpw-line-2, rgba(22, 163, 74, 0.32));
    background: var(--olpw-nav, rgba(255, 255, 255, 0.72)); cursor: pointer; font-size: 1rem; line-height: 1;
    display: flex; align-items: center; justify-content: center; padding: 0;
    transition: transform 0.15s, border-color 0.15s;
}
.olpw-pal-btn:hover { transform: scale(1.08); border-color: var(--olpw-accent, #16A34A); }

html:root[data-theme]:not([data-olpw-page="Focaus_build"]) :is(input, select, textarea):focus-visible {
    outline: none;
    border-color: var(--olpw-accent);
    box-shadow: 0 0 0 3px var(--olpw-accent-soft);
}
html[data-theme] ::-webkit-scrollbar-track { background: var(--olpw-bg-2); }
html[data-theme] ::-webkit-scrollbar-thumb { background: var(--olpw-line-2); border-radius: 999px; }
html[data-theme] ::-webkit-scrollbar-thumb:hover { background: var(--olpw-accent-2); }

/* ---------- Shared card + button look ---------- */
html:root[data-theme] :is(
    .study-card, .feature-card, .tool-card, .info-box, .sidebar-section, .exam-box, .formula-box, .diagram-box,
    .question-card, .objective-card, .stat-card, .stat, .def-card, .term-card, .chapter-card, .resource-card,
    .auth-card, .today-card, .widget, .panel-card, .ch-card, .card
) {
    border-radius: 16px;
    border-color: var(--olpw-line);
    box-shadow: var(--olpw-shadow-sm);
}
/* plain content cards go translucent so the leaves and gradient show through faintly */
html:root[data-theme] :is(
    .study-card, .feature-card, .tool-card, .chapter-card, .resource-card, .ch-card, .stat-card, .stat,
    .hero-meta-item, .feature, .step, .subject-chip, .auth-card, .today-card, .widget, .panel-card, .def-card, .term-card
) {
    background: var(--olpw-card-glass);
    transition: transform 0.3s cubic-bezier(.2, .8, .3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}
html:root[data-theme] :is(.study-card, .feature-card, .tool-card, .chapter-card, .resource-card, .ch-card, .feature, .step, a.card):hover {
    transform: translateY(-5px);
    border-color: var(--olpw-line-2);
    box-shadow: var(--olpw-shadow-lg);
}
html:root[data-theme] :is(.btn-primary, .complete-btn, .auth-btn, .btn-neon, .cta-btn, .primary-btn, .btn-cta) {
    background: var(--olpw-gradient);
    color: var(--olpw-on-accent);
    border-color: transparent;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(22, 163, 74, 0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
html:root[data-theme] :is(.btn-primary, .complete-btn, .auth-btn, .btn-neon, .cta-btn, .primary-btn, .btn-cta):hover {
    background: var(--olpw-gradient-hover);
    color: var(--olpw-on-accent);
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(22, 163, 74, 0.38);
}
html:root[data-theme] :is(.answer-btn:hover, .reveal-btn:hover, .obj-btn.completed) { color: var(--olpw-on-accent); }
html:root[data-theme] :is(.btn-primary, .complete-btn, .btn-neon, .btn-secondary) { clip-path: none; }
html:root[data-theme] :is(.answer-btn, .reveal-btn, .reveal, .obj-btn, .btn-secondary, .mobile-menu-btn) { border-radius: 10px; }
html:root[data-theme] :is(.hero-eyebrow, .eyebrow, .hero-tag, .chip, .tag, .badge, .sec-num, .section-num, .difficulty, .lvl, .theme-btn) {
    border-radius: 999px;
}
html:root[data-theme] :is(.hero-eyebrow, .eyebrow, .land-eyebrow) {
    border: 1px solid var(--olpw-line);
    background: var(--olpw-card-glass);
    color: var(--olpw-accent-deep);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    padding: 7px 14px;
}
html:root[data-theme] :is(.hero-eyebrow, .eyebrow)::before { display: none; }
html:root[data-theme] :is(.bar, .bar i, .bar-track, .bar-fill, .progress-bar, .progress-fill) { border-radius: 999px; }

/* ---------- Landing page (index.html) ---------- */
html:root[data-theme] #authScreen { background: transparent; }
html:root[data-theme] .auth-card { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-radius: 24px; box-shadow: var(--olpw-shadow-lg); }
html:root[data-theme] .land-nav .nav-header { background: var(--olpw-nav); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-color: var(--olpw-line); }
html:root[data-theme] .land-hero h1 { font-size: clamp(38px, 5.2vw, 60px); letter-spacing: -0.03em; line-height: 1.08; }
html:root[data-theme] .land-hero h1 span {
    background: var(--olpw-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
html:root[data-theme] .land-stats > div { position: relative; padding-bottom: 10px; }
html:root[data-theme] .land-stats > div::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 3px;
    border-radius: 3px;
    background: var(--olpw-gradient);
}
html:root[data-theme] .land-stats b { font-size: 34px; font-weight: 800; color: var(--olpw-accent); line-height: 1; margin-bottom: 6px; }
html:root[data-theme] .land-stats span { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--olpw-muted); }
/* the illustrations are warm-toned images: blend the hero into the page, lean the icon pictures green */
html[data-theme="light"] .land-hero-img {
    mix-blend-mode: multiply;
    filter: saturate(0.62) sepia(0.12) brightness(1.03);
    box-shadow: none;
    -webkit-mask-image: radial-gradient(ellipse 68% 66% at 50% 50%, #000 60%, transparent 100%);
    mask-image: radial-gradient(ellipse 68% 66% at 50% 50%, #000 60%, transparent 100%);
}
html[data-theme="dark"] .land-hero-img { filter: saturate(0.7) brightness(0.9); }
html:root[data-theme] .feature:nth-child(1) img { filter: sepia(0.6) hue-rotate(60deg) saturate(1.1); }
html:root[data-theme] .feature:nth-child(2) img { filter: hue-rotate(100deg) saturate(0.85); }
html:root[data-theme] .feature:nth-child(3) img { filter: sepia(0.45) hue-rotate(75deg); }
html:root[data-theme] .land-section h2 { font-size: clamp(28px, 3.6vw, 40px); letter-spacing: -0.025em; color: var(--olpw-heading); }
html:root[data-theme] .step::before { background: var(--olpw-gradient); color: var(--olpw-on-accent); box-shadow: 0 6px 16px rgba(22, 163, 74, 0.3); }
html:root[data-theme] .subject-chip:hover { border-color: var(--olpw-accent); color: var(--olpw-accent-deep); background: var(--olpw-tint); transform: translateY(-2px); }
html:root[data-theme] .cta-band {
    background: var(--olpw-gradient);
    box-shadow: 0 20px 50px rgba(22, 163, 74, 0.30);
}
html:root[data-theme] .cta-band h2 { color: #FFFFFF; }
html:root[data-theme] .cta-band .btn { background: #FFFFFF; color: var(--olpw-accent-deep); border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); }

/* ---------- Core subject hubs (math, physics, chemistry, biology, cs) ---------- */
html:root[data-theme] :is(.hero-corner, .hero-grid, .deco-hatch),
html:root[data-theme] header h1 .strike::after { display: none; }
html:root[data-theme] .deco-strip { height: 1px; background: var(--olpw-line); }
html:root[data-theme] header h1 .silver-text {
    background: var(--olpw-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
html:root[data-theme] body:has(.study-card) header h1 {
    font-size: clamp(40px, 6.4vw, 80px);
    line-height: 1.04;
    letter-spacing: -0.035em;
}
html:root[data-theme] body:has(.study-card) header p { border-left: 0; padding-left: 0; font-size: 18px; }
html:root[data-theme] .hero-meta { gap: 14px; border: 0; }
html:root[data-theme] .hero-meta-item {
    border: 1px solid var(--olpw-line);
    border-radius: 16px;
    box-shadow: var(--olpw-shadow-sm);
}
html:root[data-theme] .hero-meta-item :is(b, strong, .num, .value) { color: var(--olpw-accent); }
html:root[data-theme] .grid-container { gap: 20px; background: transparent; border: 0; }
html:root[data-theme] .study-card {
    margin: 0;
    min-height: 0;
    border: 1px solid var(--olpw-line);
}
html:root[data-theme] .study-card:hover { background: var(--olpw-card); }
html:root[data-theme] .chapter-number { font-size: 11px; font-weight: 700; letter-spacing: 2px; color: var(--olpw-accent-deep); }
html:root[data-theme] .chapter-number::before { border-radius: 50%; box-shadow: none; }
html:root[data-theme] .chapter-title { font-size: 19px; line-height: 1.25; letter-spacing: -0.01em; }
html:root[data-theme] .resource-link { color: var(--olpw-accent); text-transform: none; letter-spacing: 0; font-size: 14px; }
html:root[data-theme] .resource-link.soon { color: var(--olpw-dim); }

/* ---------- The other 22 subjects (hubs + chapters) ---------- */
html:root[data-theme] body:has(> nav.top) :is(.hub-meta, .meta) { gap: 14px; border: 0; background: transparent; }
html:root[data-theme] body:has(> nav.top) :is(.hub-meta, .meta) > div {
    background: var(--olpw-card-glass);
    border: 1px solid var(--olpw-line);
    border-radius: 16px;
    box-shadow: var(--olpw-shadow-sm);
}
html:root[data-theme] body:has(> nav.top) :is(.hub-meta, .meta) > div :is(b, strong) { color: var(--olpw-accent); }
html:root[data-theme] body:has(> nav.top) :is(.concept, .q, .example, .box, .pager a, .tip) { border-radius: 16px; box-shadow: var(--olpw-shadow-sm); }
html:root[data-theme] body:has(> nav.top) table.terms { border-radius: 16px; overflow: hidden; box-shadow: var(--olpw-shadow-sm); }
html:root[data-theme] body:has(> nav.top) nav.top { background: var(--olpw-nav); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
/* reading sections sit in white panels, like CleanBD's content panels */
html:root[data-theme] body:has(> nav.top) .wrap > section {
    background: var(--olpw-card-glass);
    border: 1px solid var(--olpw-line);
    border-radius: 24px;
    padding: 40px 36px;
    margin-bottom: 24px;
    box-shadow: var(--olpw-shadow-sm);
}
html:root[data-theme] body:has(> nav.top) .wrap > section :is(.concept, .q, .box, .example) { background: var(--olpw-card); box-shadow: none; }
@media (max-width: 640px) {
    html:root[data-theme] body:has(> nav.top) .wrap > section { padding: 28px 20px; border-radius: 18px; }
}

/* ---------- Core chapter / dashboard / revision pages ---------- */
html:root[data-theme] body > header:has(.nav-brand) {
    background: var(--olpw-nav);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
html:root[data-theme] body > header .nav-brand { border-radius: 10px; }
html:root[data-theme] :is(.calc-table, .data-table) { border-radius: 12px; overflow: hidden; }
html:root[data-theme] .content-grid > .main-content {
    background: var(--olpw-card-glass);
    border: 1px solid var(--olpw-line);
    border-radius: 24px;
    padding: 40px 40px 8px;
    box-shadow: var(--olpw-shadow-sm);
}
html:root[data-theme] .content-grid > .main-content :is(.info-box, .exam-box, .formula-box, .diagram-box, .question-card, .objective-card, .def-card) { background: var(--olpw-card); box-shadow: none; }
@media (max-width: 640px) {
    html:root[data-theme] .content-grid > .main-content { padding: 24px 20px 4px; border-radius: 18px; }
}

/* ---------- Chemistry chapters ---------- */
html:root[data-theme][data-olpw-page^="chemistry-chapter"] nav:not(.olpw-float) {
    background: var(--olpw-nav);
    border-bottom: 1px solid var(--olpw-line);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
html:root[data-theme][data-olpw-page^="chemistry-chapter"] .hero h1 { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -0.03em; }
html:root[data-theme][data-olpw-page^="chemistry-chapter"] :is(.card, .objective-card, .question-card, .error-card, .formula-box, .progress-panel) {
    border-radius: 16px;
    box-shadow: var(--olpw-shadow-sm);
}
html:root[data-theme][data-olpw-page^="chemistry-chapter"] .hero-bg-img { opacity: 0.18; filter: grayscale(1); }

/* ---------- File converter (pdf.html) ---------- */
html:root[data-theme][data-olpw-page="pdf"] header.bg-base { background: var(--olpw-nav); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
html:root[data-theme][data-olpw-page="pdf"] section.bg-base { background: transparent; }
html:root[data-theme][data-olpw-page="pdf"] section.bg-dark { background: var(--olpw-card-glass); }
html:root[data-theme][data-olpw-page="pdf"] img[src*="feature-tools"] { filter: sepia(0.45) hue-rotate(75deg); border-radius: 20px; box-shadow: var(--olpw-shadow-md); }
html:root[data-theme][data-olpw-page="pdf"] .silver-text { color: var(--olpw-heading); }

/* ---------- Periodic table ---------- */
html:root[data-theme] .topbar {
    background: var(--olpw-nav);
    box-shadow: 0 1px 0 var(--olpw-line), var(--olpw-shadow-md);
}
html[data-theme="light"] .brand-mark { background: linear-gradient(135deg, #FFFFFF 0%, #E8F5EF 100%); box-shadow: 0 4px 14px rgba(0, 106, 78, 0.18); }
html[data-theme="light"] .brand-text .title { text-shadow: none; }
html:root[data-theme] .legend { box-shadow: var(--olpw-shadow-md); border-radius: 14px; }
html:root[data-theme] .periodic-table {
    background: var(--olpw-card-glass);
    border: 1px solid var(--olpw-line);
    border-radius: 20px;
    padding: 14px;
    box-shadow: var(--olpw-shadow-sm);
}
html[data-theme="light"] .element {
    color: var(--olpw-text);
    background: linear-gradient(150deg,
        color-mix(in srgb, var(--c, #999) 30%, #FFFFFF 70%) 0%,
        color-mix(in srgb, var(--c, #999) 16%, #FFFFFF 84%) 100%);
    border-color: color-mix(in srgb, var(--c, #999) 45%, #FFFFFF 55%);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
html[data-theme="light"] .element .el-sym { text-shadow: none; }
html[data-theme="light"] .element:hover,
html[data-theme="light"] .periodic-table.has-active .element.active,
html[data-theme="light"] .periodic-table.has-active .element.category-active {
    color: #FFFFFF;
    box-shadow: 0 12px 26px -6px rgba(16, 24, 40, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.6);
}
html[data-theme="light"] .periodic-table.has-active .element:not(.active):not(.category-active),
html[data-theme="light"] .element.search-dimmed { filter: saturate(0.3); opacity: 0.25; }
html:root[data-theme] .hover-panel { box-shadow: var(--olpw-shadow-lg); }
html[data-theme="light"] .modal-backdrop { background: rgba(16, 24, 40, 0.45); }

/* ---------- Floating Home / Back / theme controls ---------- */
/* Pages ship their own generic `nav { ... }` rules, so reset every box property here */
.olpw-float {
    position: fixed;
    top: auto;
    right: auto;
    left: max(14px, env(safe-area-inset-left));
    bottom: calc(14px + env(safe-area-inset-bottom));
    width: auto;
    height: auto;
    min-width: 0;
    max-width: calc(100vw - 28px);
    margin: 0;
    z-index: 99999;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 4px;
    padding: 5px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(22, 163, 74, 0.18);
    border-radius: 999px;
    box-shadow: 0 10px 30px rgba(22, 163, 74, 0.16);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font: 600 13px/1 'Inter', 'Segoe UI', system-ui, sans-serif;
}
html[data-theme="dark"] .olpw-float {
    background: rgba(19, 33, 26, 0.9);
    border-color: rgba(74, 222, 128, 0.18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
.olpw-float-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 36px;
    padding: 0 14px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #4A4D52;
    font: inherit;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.olpw-float-btn:hover,
.olpw-float-btn:focus-visible { background: #DCFCE7; color: #15803D; outline: none; }
html[data-theme="dark"] .olpw-float-btn { color: #C5CFC9; }
html[data-theme="dark"] .olpw-float-btn:hover,
html[data-theme="dark"] .olpw-float-btn:focus-visible { background: rgba(74, 222, 128, 0.14); color: #4ADE80; }
.olpw-float-home { padding-left: 5px; }
.olpw-float-home img { width: 26px; height: 26px; border-radius: 50%; display: block; }
.olpw-float-icon { width: 36px; padding: 0; justify-content: center; font-size: 16px; }

/* Keep clear of the planner's mobile tab bar */
@media (max-width: 760px) {
    html[data-olpw-page="planner"] .olpw-float { bottom: calc(78px + env(safe-area-inset-bottom)); }
}
@media (max-width: 480px) {
    .olpw-float-btn { padding: 0 11px; }
}
@media print {
    .olpw-float { display: none; }
}

/* ---------- Accent palettes (set by the theme picker via html[data-palette]) ---------- */
html:root[data-palette="blue"][data-theme="light"] {
    --olpw-bg: #EFF6FF; --olpw-bg-2: #E0EDFF; --olpw-card-hi: #F0F7FF;
    --olpw-line: rgba(37, 99, 235, 0.16); --olpw-line-2: rgba(37, 99, 235, 0.32);
    --olpw-heading: #1E3A8A; --olpw-accent: #2563EB; --olpw-accent-2: #3B82F6; --olpw-accent-deep: #1D4ED8;
    --olpw-accent-soft: rgba(37, 99, 235, 0.10); --olpw-tint: #DBEAFE;
    --olpw-gradient: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%);
    --olpw-shadow-sm: 0 4px 16px rgba(37, 99, 235, 0.08); --olpw-shadow-md: 0 8px 24px rgba(37, 99, 235, 0.12); --olpw-shadow-lg: 0 20px 40px rgba(37, 99, 235, 0.18);
    --olpw-glow: rgba(37, 99, 235, 0.30);
    --olpw-page-gradient: linear-gradient(135deg, #EFF6FF 0%, #E4E9FB 30%, #DBEAFE 60%, #E0F2FE 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(147, 197, 253, 0.50), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(96, 165, 250, 0.32), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(167, 139, 250, 0.16), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%232563eb'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%233b82f6'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%231d4ed8'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%230ea5e9'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%233b82f6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%232563eb'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%237c3aed'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%233b82f6'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%233b82f6'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%232563eb'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%230ea5e9'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%233b82f6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%231d4ed8'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="blue"][data-theme="dark"] {
    --olpw-bg: #0B1220; --olpw-bg-2: #101A2E; --olpw-card: #132038; --olpw-card-glass: rgba(19, 32, 56, 0.84); --olpw-card-hi: #1A2A47;
    --olpw-field: #0E1728; --olpw-line: rgba(96, 165, 250, 0.14); --olpw-line-2: rgba(96, 165, 250, 0.30);
    --olpw-text: #EFF6FF; --olpw-text-2: #C7D0DE; --olpw-muted: #8C97AB; --olpw-dim: #6B7690;
    --olpw-heading: #BFDBFE; --olpw-accent: #60A5FA; --olpw-accent-2: #93C5FD; --olpw-accent-deep: #3B82F6;
    --olpw-accent-soft: rgba(96, 165, 250, 0.12); --olpw-tint: rgba(96, 165, 250, 0.10); --olpw-on-accent: #0B1220;
    --olpw-gradient: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%);
    --olpw-nav: rgba(11, 18, 32, 0.78); --olpw-glow: rgba(96, 165, 250, 0.35);
    --olpw-page-gradient: linear-gradient(135deg, #0B1220 0%, #0F1A2C 45%, #0D1524 70%, #0C1320 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(59, 130, 246, 0.16), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(96, 165, 250, 0.12), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(167, 139, 250, 0.06), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%2360a5fa'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%2393c5fd'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%233b82f6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%2322d3ee'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%2393c5fd'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%2360a5fa'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23a78bfa'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%2393c5fd'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%2393c5fd'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%2360a5fa'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%2322d3ee'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%2393c5fd'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%233b82f6'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="purple"][data-theme="light"] {
    --olpw-bg: #F5F3FF; --olpw-bg-2: #EDE9FE; --olpw-card-hi: #F7F5FF;
    --olpw-line: rgba(124, 58, 237, 0.16); --olpw-line-2: rgba(124, 58, 237, 0.32);
    --olpw-heading: #4C1D95; --olpw-accent: #7C3AED; --olpw-accent-2: #8B5CF6; --olpw-accent-deep: #6D28D9;
    --olpw-accent-soft: rgba(124, 58, 237, 0.10); --olpw-tint: #EDE9FE;
    --olpw-gradient: linear-gradient(135deg, #7C3AED 0%, #8B5CF6 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #6D28D9 0%, #7C3AED 100%);
    --olpw-shadow-sm: 0 4px 16px rgba(124, 58, 237, 0.08); --olpw-shadow-md: 0 8px 24px rgba(124, 58, 237, 0.12); --olpw-shadow-lg: 0 20px 40px rgba(124, 58, 237, 0.18);
    --olpw-glow: rgba(124, 58, 237, 0.30);
    --olpw-page-gradient: linear-gradient(135deg, #F5F3FF 0%, #EDE9FE 30%, #EDE9FC 60%, #F3E8FF 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(196, 181, 253, 0.50), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(167, 139, 250, 0.32), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(236, 72, 153, 0.15), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%237c3aed'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%238b5cf6'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%236d28d9'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23a78bfa'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%238b5cf6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%237c3aed'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23ec4899'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%238b5cf6'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%238b5cf6'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%237c3aed'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23a78bfa'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%238b5cf6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%236d28d9'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="purple"][data-theme="dark"] {
    --olpw-bg: #0F0B1A; --olpw-bg-2: #151027; --olpw-card: #1B1430; --olpw-card-glass: rgba(27, 20, 48, 0.84); --olpw-card-hi: #241A40;
    --olpw-field: #100C1D; --olpw-line: rgba(167, 139, 250, 0.14); --olpw-line-2: rgba(167, 139, 250, 0.30);
    --olpw-text: #F5F3FF; --olpw-text-2: #CFC5E8; --olpw-muted: #9A8FB5; --olpw-dim: #6F6488;
    --olpw-heading: #DDD6FE; --olpw-accent: #A78BFA; --olpw-accent-2: #C4B5FD; --olpw-accent-deep: #8B5CF6;
    --olpw-accent-soft: rgba(167, 139, 250, 0.12); --olpw-tint: rgba(167, 139, 250, 0.10); --olpw-on-accent: #1E1B4B;
    --olpw-gradient: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #7C3AED 0%, #8B5CF6 100%);
    --olpw-nav: rgba(15, 11, 26, 0.78); --olpw-glow: rgba(167, 139, 250, 0.35);
    --olpw-page-gradient: linear-gradient(135deg, #0F0B1A 0%, #131022 45%, #120E20 70%, #100C1B 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(139, 92, 246, 0.16), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(167, 139, 250, 0.12), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(236, 72, 153, 0.06), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23a78bfa'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23c4b5fd'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%238b5cf6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23c4b5fd'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23a78bfa'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23e9d5ff'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23c4b5fd'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23c4b5fd'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23a78bfa'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23f472b6'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23c4b5fd'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%238b5cf6'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="orange"][data-theme="light"] {
    --olpw-bg: #FFF7ED; --olpw-bg-2: #FFEDD5; --olpw-card-hi: #FFF9F3;
    --olpw-line: rgba(234, 88, 12, 0.16); --olpw-line-2: rgba(234, 88, 12, 0.32);
    --olpw-heading: #7C2D12; --olpw-accent: #EA580C; --olpw-accent-2: #F97316; --olpw-accent-deep: #C2410C;
    --olpw-accent-soft: rgba(234, 88, 12, 0.10); --olpw-tint: #FFEDD5;
    --olpw-gradient: linear-gradient(135deg, #EA580C 0%, #F97316 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #C2410C 0%, #EA580C 100%);
    --olpw-shadow-sm: 0 4px 16px rgba(234, 88, 12, 0.08); --olpw-shadow-md: 0 8px 24px rgba(234, 88, 12, 0.12); --olpw-shadow-lg: 0 20px 40px rgba(234, 88, 12, 0.18);
    --olpw-glow: rgba(234, 88, 12, 0.30);
    --olpw-page-gradient: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 30%, #FFE4CC 60%, #FED7AA 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(253, 186, 116, 0.50), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(251, 146, 60, 0.32), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(250, 204, 21, 0.18), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23ea580c'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23f97316'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%23c2410c'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23fb923c'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23f97316'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23ea580c'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23f59e0b'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23f97316'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23f97316'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23ea580c'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23fb923c'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23f97316'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%23c2410c'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="orange"][data-theme="dark"] {
    --olpw-bg: #16100A; --olpw-bg-2: #1C140D; --olpw-card: #241A10; --olpw-card-glass: rgba(36, 26, 16, 0.84); --olpw-card-hi: #2B2015;
    --olpw-field: #171009; --olpw-line: rgba(251, 146, 60, 0.14); --olpw-line-2: rgba(251, 146, 60, 0.30);
    --olpw-text: #FFF7ED; --olpw-text-2: #E8DCCB; --olpw-muted: #A39482; --olpw-dim: #7C6E5D;
    --olpw-heading: #FED7AA; --olpw-accent: #FB923C; --olpw-accent-2: #FDBA74; --olpw-accent-deep: #F97316;
    --olpw-accent-soft: rgba(251, 146, 60, 0.12); --olpw-tint: rgba(251, 146, 60, 0.10); --olpw-on-accent: #431407;
    --olpw-gradient: linear-gradient(135deg, #F97316 0%, #FB923C 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #EA580C 0%, #F97316 100%);
    --olpw-nav: rgba(22, 16, 10, 0.78); --olpw-glow: rgba(251, 146, 60, 0.35);
    --olpw-page-gradient: linear-gradient(135deg, #16100A 0%, #1A130B 45%, #171009 70%, #150F09 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(249, 115, 22, 0.16), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(251, 146, 60, 0.12), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(250, 204, 21, 0.06), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23fb923c'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23fdba74'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%23f97316'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23fbbf24'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23fdba74'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23fb923c'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23fed7aa'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23fdba74'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23fdba74'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23fb923c'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23fbbf24'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23fdba74'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%23f97316'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="pink"][data-theme="light"] {
    --olpw-bg: #FDF2F8; --olpw-bg-2: #FCE7F3; --olpw-card-hi: #FEF6FB;
    --olpw-line: rgba(219, 39, 119, 0.16); --olpw-line-2: rgba(219, 39, 119, 0.32);
    --olpw-heading: #831843; --olpw-accent: #EC4899; --olpw-accent-2: #F472B6; --olpw-accent-deep: #BE185D;
    --olpw-accent-soft: rgba(236, 72, 153, 0.10); --olpw-tint: #FCE7F3;
    --olpw-gradient: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #BE185D 0%, #EC4899 100%);
    --olpw-shadow-sm: 0 4px 16px rgba(236, 72, 153, 0.08); --olpw-shadow-md: 0 8px 24px rgba(236, 72, 153, 0.12); --olpw-shadow-lg: 0 20px 40px rgba(236, 72, 153, 0.18);
    --olpw-glow: rgba(236, 72, 153, 0.30);
    --olpw-page-gradient: linear-gradient(135deg, #FDF2F8 0%, #FCE7F3 30%, #FBD9EC 60%, #FBCFE8 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(249, 168, 212, 0.50), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(244, 114, 182, 0.32), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(167, 139, 250, 0.15), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23ec4899'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23f472b6'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%23be185d'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23f9a8d4'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23ec4899'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%238b5cf6'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23f472b6'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23ec4899'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23f9a8d4'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%23be185d'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="pink"][data-theme="dark"] {
    --olpw-bg: #170B12; --olpw-bg-2: #1D0F17; --olpw-card: #25141D; --olpw-card-glass: rgba(37, 20, 29, 0.84); --olpw-card-hi: #2D1923;
    --olpw-field: #140A10; --olpw-line: rgba(244, 114, 182, 0.14); --olpw-line-2: rgba(244, 114, 182, 0.30);
    --olpw-text: #FDF2F8; --olpw-text-2: #E8D0DC; --olpw-muted: #A18B96; --olpw-dim: #78626E;
    --olpw-heading: #FBCFE8; --olpw-accent: #F472B6; --olpw-accent-2: #F9A8D4; --olpw-accent-deep: #EC4899;
    --olpw-accent-soft: rgba(244, 114, 182, 0.12); --olpw-tint: rgba(244, 114, 182, 0.10); --olpw-on-accent: #500724;
    --olpw-gradient: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #BE185D 0%, #EC4899 100%);
    --olpw-nav: rgba(23, 11, 18, 0.78); --olpw-glow: rgba(244, 114, 182, 0.35);
    --olpw-page-gradient: linear-gradient(135deg, #170B12 0%, #1B0E15 45%, #190D13 70%, #160B11 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(236, 72, 153, 0.16), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(244, 114, 182, 0.12), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(167, 139, 250, 0.06), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23f9a8d4'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%23ec4899'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23fbbf24'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23f9a8d4'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23e9d5ff'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23f9a8d4'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23f9a8d4'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23f472b6'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23fbbf24'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23f9a8d4'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%23ec4899'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="amber"][data-theme="light"] {
    --olpw-bg: #FFFBEB; --olpw-bg-2: #FEF3C7; --olpw-card-hi: #FFFCF0;
    --olpw-line: rgba(217, 119, 6, 0.16); --olpw-line-2: rgba(217, 119, 6, 0.32);
    --olpw-heading: #78350F; --olpw-accent: #D97706; --olpw-accent-2: #F59E0B; --olpw-accent-deep: #B45309;
    --olpw-accent-soft: rgba(217, 119, 6, 0.10); --olpw-tint: #FEF3C7;
    --olpw-gradient: linear-gradient(135deg, #D97706 0%, #F59E0B 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #B45309 0%, #D97706 100%);
    --olpw-shadow-sm: 0 4px 16px rgba(217, 119, 6, 0.08); --olpw-shadow-md: 0 8px 24px rgba(217, 119, 6, 0.12); --olpw-shadow-lg: 0 20px 40px rgba(217, 119, 6, 0.18);
    --olpw-glow: rgba(217, 119, 6, 0.30);
    --olpw-page-gradient: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 30%, #FDECB2 60%, #FDE9A8 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(253, 230, 138, 0.50), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(252, 211, 77, 0.32), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(234, 88, 12, 0.15), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23d97706'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23f59e0b'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%23b45309'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23fbbf24'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23f59e0b'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23d97706'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23ea580c'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23f59e0b'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23f59e0b'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23d97706'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23fbbf24'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23f59e0b'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%23b45309'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}
html:root[data-palette="amber"][data-theme="dark"] {
    --olpw-bg: #151109; --olpw-bg-2: #1B160C; --olpw-card: #221C10; --olpw-card-glass: rgba(34, 28, 16, 0.84); --olpw-card-hi: #2A2315;
    --olpw-field: #131009; --olpw-line: rgba(251, 191, 36, 0.14); --olpw-line-2: rgba(251, 191, 36, 0.30);
    --olpw-text: #FFFBEB; --olpw-text-2: #E9DFC6; --olpw-muted: #A3977B; --olpw-dim: #7B7055;
    --olpw-heading: #FDE68A; --olpw-accent: #FBBF24; --olpw-accent-2: #FDE047; --olpw-accent-deep: #F59E0B;
    --olpw-accent-soft: rgba(251, 191, 36, 0.12); --olpw-tint: rgba(251, 191, 36, 0.10); --olpw-on-accent: #451A03;
    --olpw-gradient: linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%);
    --olpw-gradient-hover: linear-gradient(135deg, #D97706 0%, #F59E0B 100%);
    --olpw-nav: rgba(21, 17, 9, 0.78); --olpw-glow: rgba(251, 191, 36, 0.35);
    --olpw-page-gradient: linear-gradient(135deg, #151109 0%, #191408 45%, #171208 70%, #141008 100%);
    --olpw-orbs:
        radial-gradient(circle at 8% 0%, rgba(245, 158, 11, 0.16), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(251, 191, 36, 0.12), transparent 46%),
        radial-gradient(circle at 78% 12%, rgba(234, 88, 12, 0.06), transparent 34%);
    --olpw-geo: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%20viewBox%3D'0%200%20340%20340'%3E%3Ccircle%20cx%3D'62'%20cy%3D'66'%20r%3D'20'%20fill%3D'none'%20stroke%3D'%23fbbf24'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%2F%3E%3Ccircle%20cx%3D'252'%20cy%3D'54'%20r%3D'4'%20fill%3D'%23fde047'%20fill-opacity%3D'.12'%2F%3E%3Cg%20transform%3D'translate(160%20148)'%3E%3Cpath%20d%3D'M0%20-13L11.5%206.5L-11.5%206.5Z'%20fill%3D'none'%20stroke%3D'%23f59e0b'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(292%20236)%20rotate(18)'%3E%3Crect%20x%3D'-9'%20y%3D'-9'%20width%3D'18'%20height%3D'18'%20rx%3D'4'%20fill%3D'none'%20stroke%3D'%23fb923c'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(74%20268)'%20stroke%3D'%23fde047'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-8%200H8'%2F%3E%3Cpath%20d%3D'M0%20-8V8'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(212%20300)%20rotate(-30)'%3E%3Cpath%20d%3D'M-12%200A12%2012%200%200%201%2012%200'%20fill%3D'none'%20stroke%3D'%23fbbf24'%20stroke-opacity%3D'.10'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'312'%20cy%3D'118'%20r%3D'3'%20fill%3D'%23fde68a'%20fill-opacity%3D'.12'%2F%3E%3Ccircle%20cx%3D'122'%20cy%3D'38'%20r%3D'9'%20fill%3D'none'%20stroke%3D'%23fde047'%20stroke-opacity%3D'.10'%20stroke-width%3D'1.8'%2F%3E%3Cg%20transform%3D'translate(36%20176)%20rotate(30)'%3E%3Cpath%20d%3D'M0%20-8L7%204L-7%204Z'%20fill%3D'%23fde047'%20fill-opacity%3D'.09'%2F%3E%3C%2Fg%3E%3Cg%20transform%3D'translate(196%20214)%20rotate(45)'%20stroke%3D'%23fbbf24'%20stroke-opacity%3D'.09'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-9%20-5H9'%2F%3E%3Cpath%20d%3D'M-9%200H9'%2F%3E%3Cpath%20d%3D'M-9%205H9'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'176'%20cy%3D'66'%20r%3D'2.6'%20fill%3D'%23fb923c'%20fill-opacity%3D'.11'%2F%3E%3Cg%20transform%3D'translate(316%20316)%20rotate(45)'%20stroke%3D'%23fde047'%20stroke-opacity%3D'.10'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M-6%200H6'%2F%3E%3Cpath%20d%3D'M0%20-6V6'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'330'%20cy%3D'170'%20r%3D'3.4'%20fill%3D'%23f59e0b'%20fill-opacity%3D'.10'%2F%3E%3C%2Fsvg%3E");
}

@media print {
  html, body { background: #fff !important; color: #111 !important; }
  .mobile-menu-btn, .olpw-top, nav, header, .olpw-float, .toast, .overlay, .pbar, .evalbar, .bottom-nav, #term, .phasebar, .thinkbar { display: none !important; }
  a { color: #000; text-decoration: underline; }
  img { max-width: 100%; }
  main, section, .page, .layout { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .card, .box, .panel { box-shadow: none !important; border: 1px solid #ccc !important; }
}

.olpw-reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.olpw-reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.olpw-reveal{opacity:1;transform:none}}

/* === Global design polish (auto) === */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--olpw-accent, #16A34A); color: #fff; }
*:focus-visible { outline: 2px solid var(--olpw-accent, #16A34A); outline-offset: 2px; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--olpw-line-2, rgba(22,163,74,.32)); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--olpw-accent, #16A34A); }
p, li { line-height: 1.65; }
a { transition: color .15s ease, opacity .15s ease; }
.card, .panel, .subject-card, .hub-card, .grid-card, .tile { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.card:hover, .panel:hover, .subject-card:hover, .hub-card:hover, .grid-card:hover, .tile:hover { transform: translateY(-3px); box-shadow: var(--olpw-shadow-md, 0 8px 24px rgba(22,163,74,.12)); }
button, .b, .btn, .nav button { transition: transform .12s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease; }
img { border-radius: 12px; }
