/* PracticePilot — Aspirant Profile (v0.57.0 premium redesign).
   Design tokens copied from the v0.56.0 My Weak Areas page (assets/weak-areas.css)
   so the student pages read as ONE product. Theme isolation follows the
   v0.49.3 two-tier pattern:
   TIER 1 — every rule is scoped under the #ppilot-profile-root ID (specificity
            1,x,x beats a theme's bare element / ".entry-content X" rules); no
            bare selectors, no global !important.
   TIER 2 — every text-bearing element sets its own color, decoration,
            font-family and margin. The only !important declarations are on
            this root's own links/buttons (neutralising a theme's !important
            hover fade) and the page-only theme title collapse.
   Mobile-first. Status never conveyed by color alone (icon/text + color). */

body.ppilot-profile-page .entry-header,
body.ppilot-profile-page .entry-title,
body.ppilot-profile-page h1.entry-title,
body.ppilot-profile-page .page-title,
body.ppilot-profile-page .wp-block-post-title,
body.ppilot-profile-page .elementor-widget-theme-page-title {
	display: none !important;
}

#ppilot-profile-root {
	--pppr-navy: #0b1f45;
	--pppr-navy-2: #16306a;
	--pppr-royal: #2547d0;
	--pppr-purple: #6d3fd8;
	--pppr-cyan: #0e7490;
	--pppr-green: #0f7a55;
	--pppr-amber: #a14a06;
	--pppr-red: #b42318;
	--pppr-rose: #be185d;
	--pppr-ink: #0f172a;
	--pppr-body: #334155;
	--pppr-muted: #4b5565;
	--pppr-line: #e3e8f2;
	--pppr-bg: #f4f6fb;
	--pppr-card: #ffffff;
	--pppr-radius: 20px;
	--pppr-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .06);
	--pppr-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	display: block;
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto 32px;
	padding: 0;
	font-family: var(--pppr-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--pppr-body);
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
#ppilot-profile-root *,
#ppilot-profile-root *::before,
#ppilot-profile-root *::after { box-sizing: border-box; }

/* ---- TIER 2 baseline ---- */
#ppilot-profile-root div,
#ppilot-profile-root section,
#ppilot-profile-root figure,
#ppilot-profile-root form { line-height: inherit; margin: 0; padding: 0; border: 0; font-family: var(--pppr-font); }
#ppilot-profile-root fieldset { margin: 0; padding: 0; border: 0; min-width: 0; font-family: var(--pppr-font); }
#ppilot-profile-root legend { padding: 0; border: 0; font-family: var(--pppr-font); color: var(--pppr-ink); }
#ppilot-profile-root h1,
#ppilot-profile-root h2,
#ppilot-profile-root h3 {
	font-family: var(--pppr-font); color: var(--pppr-ink); margin: 0; padding: 0; border: 0;
	text-decoration: none; text-transform: none; letter-spacing: -.01em; line-height: 1.25; font-weight: 700; background: none;
}
#ppilot-profile-root p,
#ppilot-profile-root span,
#ppilot-profile-root li,
#ppilot-profile-root strong,
#ppilot-profile-root small,
#ppilot-profile-root label,
#ppilot-profile-root figcaption,
#ppilot-profile-root caption,
#ppilot-profile-root th,
#ppilot-profile-root td {
	font-family: var(--pppr-font); color: inherit; margin: 0; padding: 0; text-decoration: none; text-transform: none; letter-spacing: normal; line-height: inherit; font-size: inherit;
}
#ppilot-profile-root ul,
#ppilot-profile-root ol { list-style: none; margin: 0; padding: 0; }
#ppilot-profile-root li { margin: 0; line-height: inherit; }
#ppilot-profile-root li::before,
#ppilot-profile-root li::marker { content: none; color: transparent; }
#ppilot-profile-root a,
#ppilot-profile-root a:visited,
#ppilot-profile-root a:hover,
#ppilot-profile-root a:focus,
#ppilot-profile-root a:active {
	text-decoration: none; border-bottom: 0; box-shadow: none; font-family: var(--pppr-font);
	opacity: 1 !important; filter: none !important;
}
#ppilot-profile-root button,
#ppilot-profile-root button:hover,
#ppilot-profile-root button:focus {
	font-family: var(--pppr-font); text-transform: none; letter-spacing: normal; box-shadow: none;
	opacity: 1 !important; filter: none !important;
}
#ppilot-profile-root img { max-width: 100%; height: auto; border: 0; box-shadow: none; }
#ppilot-profile-root svg { display: inline-block; vertical-align: middle; max-width: 100%; overflow: visible; }
#ppilot-profile-root .pppr-icon { width: 20px; height: 20px; flex: 0 0 auto; }
#ppilot-profile-root :focus { outline: none; }
#ppilot-profile-root :focus-visible { outline: 3px solid #2547d0; outline-offset: 2px; }
#ppilot-profile-root .pppr-hero :focus-visible { outline-color: #facc15; }
#ppilot-profile-root .pppr-sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
#ppilot-profile-root .pppr-muted { color: var(--pppr-muted); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }

/* ---- HERO ---- */
#ppilot-profile-root .pppr-hero {
	position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr; gap: 18px; align-items: center;
	padding: 22px 18px; margin: 0 0 16px; border-radius: var(--pppr-radius);
	background: radial-gradient(120% 140% at 100% 0%, #3b2a8c 0%, rgba(59, 42, 140, 0) 55%), linear-gradient(135deg, #0b1f45 0%, #16306a 60%, #1d3f7a 100%);
	color: #ffffff;
}
#ppilot-profile-root .pppr-hero--image {
	background-color: #0b1f45;
	/* v0.57.2 hotfix: verbatim Dashboard hero gradient (command-center.css
	   .ppilot-cc-hero, owner-confirmed correct), replacing the v0.57.1
	   page-specific alpha tune that still looked washed out live. */
	background-image: linear-gradient(90deg, rgba(7, 15, 34, 0.86) 0%, rgba(9, 24, 54, 0.72) 45%, rgba(11, 31, 69, 0.6) 72%, rgba(11, 31, 69, 0.28) 100%), var(--pppr-hero-img, none);
	background-size: cover; background-position: center right;
}
#ppilot-profile-root .pppr-hero--image .pppr-hero-motif { display: none; }
#ppilot-profile-root .pppr-hero-motif { position: absolute; right: 0; bottom: 0; width: 360px; height: 200px; opacity: .7; pointer-events: none; }
#ppilot-profile-root .pppr-hero-main { position: relative; z-index: 1; min-width: 0; }
#ppilot-profile-root .pppr-hero-id { display: flex; align-items: center; gap: 16px; }
#ppilot-profile-root .pppr-avatar {
	position: relative; flex: 0 0 auto; width: 76px; height: 76px; border-radius: 50%; overflow: hidden;
	background: linear-gradient(135deg, #2547d0, #6d3fd8); border: 3px solid rgba(255, 255, 255, .85);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25); display: flex; align-items: center; justify-content: center;
}
#ppilot-profile-root .pppr-avatar-initials { color: #ffffff; font-size: 26px; font-weight: 800; letter-spacing: .02em; }
#ppilot-profile-root .pppr-avatar-img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; background: none; object-fit: cover; border-radius: 50%; }
#ppilot-profile-root .pppr-hero-titles { min-width: 0; }
/* v0.57.1 hotfix (live-screenshot report, real photo background): same
   two-layer text-shadow the Dashboard hero (command-center.css
   .ppilot-cc-hero) uses, so these headings stay legible against ANY
   configured photo, not just a dark one. Colors/opacity unchanged. */
#ppilot-profile-root .pppr-hero-eyebrow { color: #7dd3fc !important; font-size: 13px; font-weight: 800; letter-spacing: .04em; margin: 0 0 2px; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
#ppilot-profile-root .pppr-hero-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
/* v0.57.3 hotfix: same !important hardening as weak-areas.css — mirrors
   command-center.css's proven .ppilot-cc-hero-greeting-prefix pattern. */
#ppilot-profile-root .pppr-hero-title { color: #ffffff !important; font-size: 26px; line-height: 1.15; font-weight: 800 !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .55), 0 2px 10px rgba(0, 0, 0, .35) !important; }
#ppilot-profile-root .pppr-hero-sub { color: #dbe4ff !important; font-size: 14px; line-height: 1.5; margin: 6px 0 0; max-width: 560px; text-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .3) !important; }
#ppilot-profile-root .pppr-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
#ppilot-profile-root .pppr-pill-text { color: inherit; }
#ppilot-profile-root .pppr-pill--live { background: #dcfce7; color: #14532d; }
#ppilot-profile-root .pppr-pill-dot { width: 8px; height: 8px; border-radius: 50%; background: #16a34a; display: inline-block; }
#ppilot-profile-root .pppr-hero-metas { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
#ppilot-profile-root .pppr-hero-meta { display: flex; align-items: center; gap: 10px; min-width: 0; }
#ppilot-profile-root .pppr-hero-meta-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .12); color: #ffffff; flex: 0 0 auto; }
#ppilot-profile-root .pppr-hero-meta-text { display: flex; flex-direction: column; min-width: 0; }
#ppilot-profile-root .pppr-hero-meta-label { color: #c7d2fe; font-size: 12px; font-weight: 600; }
#ppilot-profile-root .pppr-hero-meta-value { color: #ffffff; font-size: 15px; font-weight: 750; overflow-wrap: anywhere; }

#ppilot-profile-root .pppr-hero-ring { position: relative; z-index: 1; width: 150px; margin: 0 auto; text-align: center; }
#ppilot-profile-root .pppr-ring-svg { width: 150px; height: 150px; display: block; }
#ppilot-profile-root .pppr-ring-arc { transition: stroke-dasharray .8s ease; }
#ppilot-profile-root .pppr-hero-ring-label { position: absolute; left: 0; right: 0; top: 0; height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#ppilot-profile-root .pppr-hero-ring-value { color: #ffffff; font-size: 30px; font-weight: 800; line-height: 1.05; }
#ppilot-profile-root .pppr-hero-ring-caption { color: #dbe4ff; font-size: 13px; font-weight: 600; margin-top: 2px; }
#ppilot-profile-root .pppr-hero-ring-note { color: #dbe4ff; font-size: 12.5px; font-weight: 600; margin: 4px 0 0; min-height: 18px; }

#ppilot-profile-root .pppr-hero-stats { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#ppilot-profile-root .pppr-hero-stat { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .16); min-width: 0; }
#ppilot-profile-root .pppr-hero-stat > div { display: flex; flex-direction: column; min-width: 0; }
#ppilot-profile-root .pppr-hero-stat--level { grid-column: 1 / -1; align-items: flex-start; }
#ppilot-profile-root .pppr-hero-stat-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 11px; flex: 0 0 auto; background: rgba(255, 255, 255, .14); }
#ppilot-profile-root .pppr-hero-stat-icon--fire { color: #fb923c; }
#ppilot-profile-root .pppr-hero-stat-icon--star { color: #c4b5fd; }
#ppilot-profile-root .pppr-hero-stat-icon--crown { color: #facc15; }
#ppilot-profile-root .pppr-hero-stat-value { color: #ffffff; font-size: 20px; font-weight: 800; line-height: 1.15; }
#ppilot-profile-root .pppr-hero-stat-label { color: #dbe4ff; font-size: 12.5px; font-weight: 600; line-height: 1.3; }
#ppilot-profile-root .pppr-hero-level { flex: 1 1 auto; gap: 2px; width: 100%; }
#ppilot-profile-root .pppr-hero-level .pppr-bar { margin-top: 8px; background: rgba(255, 255, 255, .18); }
#ppilot-profile-root .pppr-hero-level-xp { color: #dbe4ff; font-size: 12.5px; font-weight: 600; margin-top: 6px; }

/* ---- LAYOUT ---- */
#ppilot-profile-root .pppr-row { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 0 0 16px; }

/* ---- CARDS ---- */
#ppilot-profile-root .pppr-card {
	background: var(--pppr-card); border: 1px solid var(--pppr-line); border-radius: var(--pppr-radius);
	box-shadow: var(--pppr-shadow); padding: 18px; min-width: 0; color: var(--pppr-body);
}
#ppilot-profile-root .pppr-goals-card { margin: 0 0 16px; }
#ppilot-profile-root .pppr-card-head { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
#ppilot-profile-root .pppr-card-head > .pppr-btn { margin-left: auto; }
#ppilot-profile-root .pppr-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: #2547d0; color: #ffffff; flex: 0 0 auto; }
#ppilot-profile-root .pppr-card-icon--blue { background: linear-gradient(135deg, #2547d0, #3b82f6); color: #ffffff; }
#ppilot-profile-root .pppr-card-icon--red { background: linear-gradient(135deg, #dc2626, #f43f5e); color: #ffffff; }
#ppilot-profile-root .pppr-card-icon--amber { background: #fff4d6; color: #a14a06; }
#ppilot-profile-root .pppr-card-titles { min-width: 0; flex: 1 1 180px; }
#ppilot-profile-root .pppr-card-title { color: var(--pppr-ink); font-size: 18px; font-weight: 800; line-height: 1.3; }
#ppilot-profile-root .pppr-card-sub { color: var(--pppr-muted); font-size: 13.5px; line-height: 1.45; margin: 2px 0 0; }
#ppilot-profile-root .pppr-sub-title { color: var(--pppr-ink); font-size: 15px; font-weight: 750; }

/* Profile rows */
#ppilot-profile-root .pppr-prows { display: flex; flex-direction: column; border: 1px solid var(--pppr-line); border-radius: 14px; overflow: hidden; }
#ppilot-profile-root .pppr-prow + .pppr-prow { border-top: 1px solid var(--pppr-line); }
#ppilot-profile-root .pppr-prow-btn,
#ppilot-profile-root .pppr-prow-btn:hover,
#ppilot-profile-root .pppr-prow-btn:focus {
	display: grid; grid-template-columns: 40px minmax(0, 1fr) 20px; grid-template-areas: "icon label chev" "icon value chev";
	align-items: center; gap: 2px 12px; width: 100%; min-height: 60px; margin: 0; padding: 10px 12px;
	background: #ffffff; color: var(--pppr-ink); border: 0; border-radius: 0; text-align: left; cursor: pointer; font-size: 15px; line-height: 1.35;
}
#ppilot-profile-root .pppr-prow-btn:hover { background: #f7f9fe; }
#ppilot-profile-root .pppr-prow-btn:focus-visible { outline-offset: -3px; }
#ppilot-profile-root .pppr-prow-icon { grid-area: icon; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 11px; }
#ppilot-profile-root .pppr-prow-label { grid-area: label; color: var(--pppr-body); font-size: 13px; font-weight: 650; }
#ppilot-profile-root .pppr-prow-value { grid-area: value; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; min-width: 0; color: var(--pppr-ink); }
#ppilot-profile-root .pppr-prow-text { color: var(--pppr-ink); font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
#ppilot-profile-root .pppr-prow-chev { grid-area: chev; color: #64748b; width: 18px; height: 18px; }
#ppilot-profile-root .pppr-tone--red { background: #fef2f2; color: #dc2626; }
#ppilot-profile-root .pppr-tone--rose { background: #fff1f2; color: #e11d48; }
#ppilot-profile-root .pppr-tone--purple { background: #f5f3ff; color: #7c3aed; }
#ppilot-profile-root .pppr-tone--amber { background: #fff7ed; color: #ea580c; }
#ppilot-profile-root .pppr-tone--blue { background: #eff6ff; color: #2563eb; }
#ppilot-profile-root .pppr-tone--green { background: #ecfdf5; color: #059669; }
#ppilot-profile-root .pppr-chip { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
#ppilot-profile-root .pppr-chip--red { background: #fee4e2; color: #b42318; }
#ppilot-profile-root .pppr-chip--muted { background: #eef2f7; color: #334155; }
#ppilot-profile-root .pppr-status { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; }
#ppilot-profile-root .pppr-status-text { color: inherit; }
#ppilot-profile-root .pppr-status--done { color: var(--pppr-green); }
#ppilot-profile-root .pppr-status--done .pppr-icon { color: #16a34a; }
#ppilot-profile-root .pppr-status--pending { color: var(--pppr-amber); }

/* Snapshot tiles */
#ppilot-profile-root .pppr-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
#ppilot-profile-root .pppr-tile,
#ppilot-profile-root .pppr-tile:visited,
#ppilot-profile-root .pppr-tile:hover,
#ppilot-profile-root .pppr-tile:focus { display: flex; align-items: center; gap: 10px; padding: 12px; min-height: 64px; border-radius: 14px; border: 1px solid transparent; min-width: 0; color: var(--pppr-ink); }
#ppilot-profile-root .pppr-tile--link { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
#ppilot-profile-root .pppr-tile--link:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15, 23, 42, .08); }
#ppilot-profile-root .pppr-tile-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: #ffffff; flex: 0 0 auto; }
#ppilot-profile-root .pppr-tile-text { display: flex; flex-direction: column; min-width: 0; }
#ppilot-profile-root .pppr-tile-value { color: var(--pppr-ink); font-size: 20px; font-weight: 800; line-height: 1.15; }
#ppilot-profile-root .pppr-tile-label { color: var(--pppr-body); font-size: 12.5px; font-weight: 600; line-height: 1.3; }
#ppilot-profile-root .pppr-tile--blue { background: #eef4ff; border-color: #dbe6fe; }
#ppilot-profile-root .pppr-tile--blue .pppr-tile-icon { color: var(--pppr-royal); }
#ppilot-profile-root .pppr-tile--green { background: #ecfdf3; border-color: #cdeedd; }
#ppilot-profile-root .pppr-tile--green .pppr-tile-icon { color: var(--pppr-green); }
#ppilot-profile-root .pppr-tile--purple { background: #f5f1ff; border-color: #e7ddfe; }
#ppilot-profile-root .pppr-tile--purple .pppr-tile-icon { color: var(--pppr-purple); }
#ppilot-profile-root .pppr-tile--amber { background: #fff8eb; border-color: #fdebc8; }
#ppilot-profile-root .pppr-tile--amber .pppr-tile-icon { color: var(--pppr-amber); }
#ppilot-profile-root .pppr-tile--red { background: #fef3f2; border-color: #fde2df; }
#ppilot-profile-root .pppr-tile--red .pppr-tile-icon { color: var(--pppr-red); }
#ppilot-profile-root .pppr-tile--rose { background: #fff1f5; border-color: #fcdbe7; }
#ppilot-profile-root .pppr-tile--rose .pppr-tile-icon { color: var(--pppr-rose); }

#ppilot-profile-root .pppr-snap-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
#ppilot-profile-root .pppr-chart-box,
#ppilot-profile-root .pppr-subjects-box { border: 1px solid var(--pppr-line); border-radius: 14px; padding: 14px; min-width: 0; background: #ffffff; }
#ppilot-profile-root .pppr-chart { margin: 0; }
#ppilot-profile-root .pppr-chart-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
#ppilot-profile-root .pppr-legend { display: inline-flex; gap: 14px; }
#ppilot-profile-root .pppr-legend-item { display: inline-flex; align-items: center; gap: 6px; }
#ppilot-profile-root .pppr-legend-text { color: var(--pppr-body); font-size: 12.5px; font-weight: 600; }
#ppilot-profile-root .pppr-legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
#ppilot-profile-root .pppr-legend-dot--blue { background: #2547d0; }
#ppilot-profile-root .pppr-legend-dot--purple { background: #7c3aed; }
#ppilot-profile-root .pppr-chart-svg { display: block; width: 100%; height: auto; }
#ppilot-profile-root .pppr-axis { fill: #4b5565; font-size: 13px; font-family: var(--pppr-font); }
#ppilot-profile-root .pppr-chart-caption { color: var(--pppr-muted); font-size: 12.5px; line-height: 1.45; margin: 8px 0 0; }
#ppilot-profile-root .pppr-subjects { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
#ppilot-profile-root .pppr-subject { min-width: 0; }
#ppilot-profile-root .pppr-subject-top { display: flex; justify-content: space-between; gap: 10px; }
#ppilot-profile-root .pppr-subject-name { color: var(--pppr-ink); font-size: 13.5px; font-weight: 650; overflow-wrap: anywhere; }
#ppilot-profile-root .pppr-subject-val { color: var(--pppr-ink); font-size: 13.5px; font-weight: 800; white-space: nowrap; }
#ppilot-profile-root .pppr-subject .pppr-bar { margin-top: 5px; }
#ppilot-profile-root .pppr-subject-meta { color: var(--pppr-muted); font-size: 12px; }

/* Bars */
#ppilot-profile-root .pppr-bar { display: block; height: 8px; border-radius: 999px; background: #e6eaf4; overflow: hidden; }
#ppilot-profile-root .pppr-bar-fill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #2547d0, #6d3fd8); transition: width .6s ease; }
#ppilot-profile-root .pppr-bar--blue .pppr-bar-fill { background: linear-gradient(90deg, #2563eb, #38bdf8); }
#ppilot-profile-root .pppr-bar--amber .pppr-bar-fill { background: linear-gradient(90deg, #f59e0b, #f97316); }
#ppilot-profile-root .pppr-bar--purple .pppr-bar-fill { background: linear-gradient(90deg, #7c3aed, #a855f7); }
#ppilot-profile-root .pppr-bar--green .pppr-bar-fill { background: linear-gradient(90deg, #16a34a, #22c55e); }
#ppilot-profile-root .pppr-bar--red .pppr-bar-fill { background: linear-gradient(90deg, #dc2626, #f43f5e); }
#ppilot-profile-root .pppr-bar--cyan .pppr-bar-fill { background: linear-gradient(90deg, #0891b2, #22d3ee); }
#ppilot-profile-root .pppr-bar--gold .pppr-bar-fill { background: linear-gradient(90deg, #f59e0b, #facc15); }

/* Goals */
#ppilot-profile-root .pppr-goals { display: grid; grid-template-columns: 1fr; gap: 12px; }
#ppilot-profile-root .pppr-goal { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 16px; border: 1px solid var(--pppr-line); background: #fbfcfe; min-width: 0; }
#ppilot-profile-root .pppr-goal-head { display: flex; align-items: flex-start; gap: 10px; }
#ppilot-profile-root .pppr-goal-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 11px; background: #ffffff; flex: 0 0 auto; }
#ppilot-profile-root .pppr-goal-titles { min-width: 0; }
#ppilot-profile-root .pppr-goal-title { color: var(--pppr-ink); font-size: 14px; font-weight: 750; line-height: 1.3; }
#ppilot-profile-root .pppr-goal-value { color: var(--pppr-ink); font-size: 22px; font-weight: 800; line-height: 1.2; margin: 2px 0 0; }
#ppilot-profile-root .pppr-goal-value--unset { color: var(--pppr-muted); font-size: 16px; font-weight: 700; }
#ppilot-profile-root .pppr-goal-num { color: var(--pppr-ink); font-size: 22px; font-weight: 800; }
#ppilot-profile-root .pppr-goal-unit { color: var(--pppr-ink); font-size: 14px; font-weight: 700; }
#ppilot-profile-root .pppr-goal-foot { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
#ppilot-profile-root .pppr-goal-foot-text { color: var(--pppr-body); font-size: 13px; font-weight: 600; }
#ppilot-profile-root .pppr-goal-foot-strong { color: var(--pppr-ink); font-weight: 750; }
#ppilot-profile-root .pppr-goal-note { color: var(--pppr-muted); font-size: 12px; line-height: 1.4; margin: 0; }
#ppilot-profile-root .pppr-goal--green { background: #f3fbf6; border-color: #d5f0df; }
#ppilot-profile-root .pppr-goal--green .pppr-goal-icon { color: #b45309; background: #fef3c7; }
#ppilot-profile-root .pppr-goal--blue { background: #f3f7ff; border-color: #dbe6fe; }
#ppilot-profile-root .pppr-goal--blue .pppr-goal-icon { color: var(--pppr-royal); }
#ppilot-profile-root .pppr-goal--purple { background: #f8f5ff; border-color: #e7ddfe; }
#ppilot-profile-root .pppr-goal--purple .pppr-goal-icon { color: var(--pppr-purple); }
#ppilot-profile-root .pppr-goal--amber { background: #fffaf2; border-color: #fdebc8; }
#ppilot-profile-root .pppr-goal--amber .pppr-goal-icon { color: #c2410c; }
#ppilot-profile-root .pppr-goal--cyan { background: #f2fbfd; border-color: #cdeef5; }
#ppilot-profile-root .pppr-goal--cyan .pppr-goal-icon { color: var(--pppr-cyan); }
#ppilot-profile-root .pppr-checks { display: flex; flex-direction: column; gap: 4px; }
#ppilot-profile-root .pppr-check { display: flex; align-items: flex-start; gap: 10px; min-height: 40px; padding: 4px 0; }
#ppilot-profile-root .pppr-check-input,
#ppilot-profile-root .pppr-radio-input,
#ppilot-profile-root .pppr-check-input:focus,
#ppilot-profile-root .pppr-radio-input:focus { flex: 0 0 auto; width: 20px; height: 20px; min-height: 0; margin: 2px 0 0; padding: 0; border: 0; box-shadow: none; background: none; accent-color: #2547d0; cursor: pointer; opacity: 1; position: static; appearance: auto; -webkit-appearance: auto; }
#ppilot-profile-root .pppr-check-input { border-radius: 4px; }
#ppilot-profile-root .pppr-radio-input { border-radius: 50%; }
#ppilot-profile-root .pppr-check-input[disabled],
#ppilot-profile-root .pppr-radio-input[disabled] { cursor: progress; }
#ppilot-profile-root .pppr-check-label { display: flex; flex-direction: column; gap: 1px; cursor: pointer; min-width: 0; }
#ppilot-profile-root .pppr-check-title { color: var(--pppr-ink); font-size: 14px; font-weight: 650; line-height: 1.35; }
#ppilot-profile-root .pppr-check-desc { color: var(--pppr-muted); font-size: 12px; line-height: 1.35; }
#ppilot-profile-root .pppr-link-btn,
#ppilot-profile-root .pppr-link-btn:hover,
#ppilot-profile-root .pppr-link-btn:focus { align-self: flex-start; display: inline-flex; align-items: center; min-height: 40px; padding: 0 2px; margin: 0; border: 0; background: transparent; color: var(--pppr-royal); font-size: 14px; font-weight: 700; cursor: pointer; }
#ppilot-profile-root .pppr-link-btn-text { color: var(--pppr-royal); text-decoration: underline; text-underline-offset: 3px; }

/* Achievements */
#ppilot-profile-root .pppr-ach-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
#ppilot-profile-root .pppr-badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#ppilot-profile-root .pppr-badge { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 12px 8px; border-radius: 14px; border: 1px solid var(--pppr-line); background: #fbfcfe; min-width: 0; }
#ppilot-profile-root .pppr-badge-medal { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; color: #ffffff; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .15); }
#ppilot-profile-root .pppr-badge-medal .pppr-icon { width: 24px; height: 24px; }
#ppilot-profile-root .pppr-badge-label { color: var(--pppr-ink); font-size: 13px; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
#ppilot-profile-root .pppr-badge-date { color: var(--pppr-body); font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: #eef2f7; }
#ppilot-profile-root .pppr-badge--blue .pppr-badge-medal { background: linear-gradient(135deg, #2563eb, #38bdf8); }
#ppilot-profile-root .pppr-badge--purple .pppr-badge-medal { background: linear-gradient(135deg, #7c3aed, #c084fc); }
#ppilot-profile-root .pppr-badge--amber .pppr-badge-medal { background: linear-gradient(135deg, #f59e0b, #fb923c); }
#ppilot-profile-root .pppr-badge--green .pppr-badge-medal { background: linear-gradient(135deg, #059669, #34d399); }
#ppilot-profile-root .pppr-badge--rose .pppr-badge-medal { background: linear-gradient(135deg, #e11d48, #fb7185); }
#ppilot-profile-root .pppr-badge--cyan .pppr-badge-medal { background: linear-gradient(135deg, #0891b2, #22d3ee); }
#ppilot-profile-root .pppr-streaks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-content: start; }
#ppilot-profile-root .pppr-streak { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 14px 8px; border-radius: 14px; border: 1px solid var(--pppr-line); background: #ffffff; text-align: center; }
#ppilot-profile-root .pppr-streak-label { color: var(--pppr-body); font-size: 12.5px; font-weight: 650; }
#ppilot-profile-root .pppr-streak-row { display: inline-flex; align-items: center; gap: 6px; }
#ppilot-profile-root .pppr-streak-val { color: var(--pppr-ink); font-size: 28px; font-weight: 800; line-height: 1.15; }
#ppilot-profile-root .pppr-streak-unit { color: var(--pppr-muted); font-size: 12.5px; font-weight: 600; }
#ppilot-profile-root .pppr-streak-fire { color: #ea580c; width: 26px; height: 26px; }
#ppilot-profile-root .pppr-streak-crown { color: #d97706; width: 26px; height: 26px; }
#ppilot-profile-root .pppr-next { margin-top: 14px; padding: 12px; border-radius: 12px; background: #f8f5ff; border: 1px solid #ebe2ff; }
#ppilot-profile-root .pppr-next-top { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 6px; flex-wrap: wrap; }
#ppilot-profile-root .pppr-next-label { color: var(--pppr-ink); font-size: 13.5px; font-weight: 700; }
#ppilot-profile-root .pppr-next-val { color: var(--pppr-purple); font-size: 13px; font-weight: 750; }
#ppilot-profile-root .pppr-level { margin-top: 14px; }
#ppilot-profile-root .pppr-level-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 0 6px; flex-wrap: wrap; }
#ppilot-profile-root .pppr-level-label { color: var(--pppr-ink); font-size: 14px; font-weight: 800; }
#ppilot-profile-root .pppr-level-xp { display: inline-flex; align-items: center; gap: 6px; color: var(--pppr-ink); }
#ppilot-profile-root .pppr-level-xp .pppr-icon { color: #d97706; width: 18px; height: 18px; }
#ppilot-profile-root .pppr-level-xp-text { color: var(--pppr-ink); font-size: 13.5px; font-weight: 750; }

/* Account */
#ppilot-profile-root .pppr-arows { display: flex; flex-direction: column; }
#ppilot-profile-root .pppr-arow { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; grid-template-areas: "icon label action" "icon value action"; align-items: center; gap: 0 12px; padding: 10px 0; min-height: 60px; }
#ppilot-profile-root .pppr-arow + .pppr-arow { border-top: 1px solid var(--pppr-line); }
#ppilot-profile-root .pppr-arow-icon { grid-area: icon; display: inline-flex; color: var(--pppr-navy); }
#ppilot-profile-root .pppr-arow-label { grid-area: label; color: var(--pppr-ink); font-size: 14px; font-weight: 700; }
#ppilot-profile-root .pppr-arow-value { grid-area: value; color: var(--pppr-body); font-size: 13.5px; overflow-wrap: anywhere; }
#ppilot-profile-root .pppr-arow-spacer { grid-area: action; }
#ppilot-profile-root .pppr-mini-btn,
#ppilot-profile-root .pppr-mini-btn:visited,
#ppilot-profile-root .pppr-mini-btn:hover,
#ppilot-profile-root .pppr-mini-btn:focus {
	grid-area: action; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 14px; margin: 0;
	border-radius: 10px; border: 1px solid #cdd6e8; background: #ffffff; color: var(--pppr-navy); font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap;
}
#ppilot-profile-root .pppr-mini-btn:hover { background: #f3f6fd; border-color: #b9c6ea; }
#ppilot-profile-root .pppr-mini-btn-text { color: var(--pppr-navy); }
#ppilot-profile-root .pppr-mini-btn .pppr-icon { width: 15px; height: 15px; }

/* Empty states */
#ppilot-profile-root .pppr-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 22px 14px; border-radius: 14px; background: var(--pppr-bg); }
#ppilot-profile-root .pppr-empty-icon { display: inline-flex; color: var(--pppr-royal); }
#ppilot-profile-root .pppr-empty-icon .pppr-icon { width: 38px; height: 38px; }
#ppilot-profile-root .pppr-empty-title { color: var(--pppr-ink); font-size: 16px; font-weight: 750; line-height: 1.35; }
#ppilot-profile-root .pppr-empty-text { color: var(--pppr-muted); font-size: 14px; line-height: 1.55; max-width: 440px; }
#ppilot-profile-root .pppr-empty .pppr-btn { margin-top: 8px; }

/* Buttons */
#ppilot-profile-root .pppr-btn,
#ppilot-profile-root .pppr-btn:visited {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px;
	border-radius: 12px; border: 1px solid transparent; font-size: 14px; font-weight: 700; line-height: 1.2; cursor: pointer;
	white-space: nowrap; text-decoration: none; text-transform: none; background: #eef2ff; color: var(--pppr-royal); margin: 0; width: auto; height: auto;
	transition: background-color .15s ease, transform .15s ease;
}
#ppilot-profile-root .pppr-btn .pppr-btn-text { color: inherit; font-weight: 700; }
#ppilot-profile-root .pppr-btn .pppr-icon { width: 18px; height: 18px; }
#ppilot-profile-root .pppr-btn--sm { min-height: 40px; padding: 8px 14px; font-size: 13.5px; }
#ppilot-profile-root .pppr-btn--primary,
#ppilot-profile-root .pppr-btn--primary:visited,
#ppilot-profile-root .pppr-btn--primary:hover,
#ppilot-profile-root .pppr-btn--primary:focus { background: #2f40cd linear-gradient(135deg, #2547d0, #4338ca); color: #ffffff; border-color: transparent; }
#ppilot-profile-root .pppr-btn--primary:hover { background: #2935ab linear-gradient(135deg, #1e3bb3, #3730a3); transform: translateY(-1px); }
#ppilot-profile-root .pppr-btn--accent,
#ppilot-profile-root .pppr-btn--accent:hover,
#ppilot-profile-root .pppr-btn--accent:focus { background: #c2410c linear-gradient(135deg, #c2410c, #b45309); color: #ffffff; border-color: transparent; }
#ppilot-profile-root .pppr-btn--accent:hover { background: #9a3412 linear-gradient(135deg, #9a3412, #92400e); transform: translateY(-1px); }
#ppilot-profile-root .pppr-btn--ghost,
#ppilot-profile-root .pppr-btn--ghost:visited,
#ppilot-profile-root .pppr-btn--ghost:hover,
#ppilot-profile-root .pppr-btn--ghost:focus { background: #ffffff; color: var(--pppr-navy); border-color: #cdd6e8; }
#ppilot-profile-root .pppr-btn--ghost:hover { background: #f3f6fd; }
#ppilot-profile-root .pppr-btn[disabled] { cursor: not-allowed; background: #e9edf5; color: #4b5565; border-color: #d5dbe7; transform: none; }
#ppilot-profile-root .pppr-icon-btn,
#ppilot-profile-root .pppr-icon-btn:hover,
#ppilot-profile-root .pppr-icon-btn:focus { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border-radius: 12px; border: 1px solid #cdd6e8; background: #ffffff; color: var(--pppr-ink); cursor: pointer; }

/* Modal */
#ppilot-profile-root .pppr-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-end; justify-content: center; background: rgba(11, 31, 69, .55); padding: 0; }
#ppilot-profile-root .pppr-modal { width: 100%; max-width: 720px; max-height: 92vh; overflow-y: auto; background: #ffffff; border-radius: 20px 20px 0 0; box-shadow: 0 24px 64px rgba(11, 31, 69, .35); padding: 18px 16px 20px; color: var(--pppr-body); }
#ppilot-profile-root .pppr-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
#ppilot-profile-root .pppr-modal-title { color: var(--pppr-ink); font-size: 20px; font-weight: 800; }
#ppilot-profile-root .pppr-form { display: flex; flex-direction: column; gap: 16px; }
#ppilot-profile-root .pppr-fieldset { display: flex; flex-direction: column; gap: 12px; padding: 14px; border: 1px solid var(--pppr-line); border-radius: 14px; }
#ppilot-profile-root .pppr-legend-title { color: var(--pppr-ink); font-size: 14px; font-weight: 800; padding: 0 6px; }
#ppilot-profile-root .pppr-form-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
#ppilot-profile-root .pppr-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
#ppilot-profile-root .pppr-label { color: var(--pppr-ink); font-size: 13.5px; font-weight: 700; line-height: 1.3; }
#ppilot-profile-root .pppr-hint { color: var(--pppr-muted); font-size: 12px; line-height: 1.35; }
#ppilot-profile-root .pppr-field-error { color: var(--pppr-red); font-size: 12.5px; font-weight: 650; line-height: 1.35; }
#ppilot-profile-root .pppr-input,
#ppilot-profile-root .pppr-select,
#ppilot-profile-root .pppr-input:focus,
#ppilot-profile-root .pppr-select:focus {
	display: block; width: 100%; height: 44px; min-height: 44px; margin: 0; padding: 0 12px;
	border: 1px solid #cdd6e8; border-radius: 12px; background-color: #ffffff; color: var(--pppr-ink);
	font-family: var(--pppr-font); font-size: 15px; line-height: 1.2; box-shadow: none; text-transform: none;
}
#ppilot-profile-root .pppr-select { padding-right: 34px; -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #4b5565 50%), linear-gradient(135deg, #4b5565 50%, transparent 50%); background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
#ppilot-profile-root .pppr-input:focus-visible,
#ppilot-profile-root .pppr-select:focus-visible { outline: 3px solid #2547d0; outline-offset: 1px; border-color: #2547d0; }
#ppilot-profile-root .pppr-field--error .pppr-input,
#ppilot-profile-root .pppr-field--error .pppr-select { border-color: #d92d20; background-color: #fffbfa; }
#ppilot-profile-root .pppr-input[disabled],
#ppilot-profile-root .pppr-select[disabled] { background-color: #f1f4f9; color: #4b5565; }
#ppilot-profile-root .pppr-check--form { padding: 4px 0 0; }
#ppilot-profile-root .pppr-modal-actions { display: flex; flex-direction: column-reverse; gap: 10px; }
#ppilot-profile-root .pppr-modal-actions .pppr-btn { width: 100%; }
#ppilot-profile-root .pppr-inline-error { color: var(--pppr-red); background: #fef3f2; border: 1px solid #fecdca; border-radius: 10px; padding: 8px 12px; font-size: 13px; font-weight: 600; margin: 0; }

/* Toast / loading / error */
#ppilot-profile-root .pppr-toast { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 100001; display: inline-flex; align-items: center; gap: 8px; max-width: calc(100vw - 32px); padding: 10px 16px; border-radius: 12px; box-shadow: 0 12px 30px rgba(15, 23, 42, .25); font-size: 14px; font-weight: 700; }
#ppilot-profile-root .pppr-toast-text { color: inherit; }
#ppilot-profile-root .pppr-toast--ok { background: #0f5132; color: #ffffff; }
#ppilot-profile-root .pppr-toast--error { background: #7a271a; color: #ffffff; }
#ppilot-profile-root .pppr-loading,
#ppilot-profile-root .pppr-error { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 48px 20px; border-radius: var(--pppr-radius); background: var(--pppr-card); border: 1px solid var(--pppr-line); text-align: center; }
#ppilot-profile-root .pppr-loading-text { color: var(--pppr-body); font-weight: 600; }
#ppilot-profile-root .pppr-spinner { width: 30px; height: 30px; border-radius: 50%; border: 3px solid #dbe2f0; border-top-color: var(--pppr-royal); animation: pppr-spin .8s linear infinite; }
@keyframes pppr-spin { to { transform: rotate(360deg); } }

/* ---- ≥ 600px ---- */
@media (min-width: 600px) {
	#ppilot-profile-root .pppr-hero { padding: 26px; grid-template-columns: minmax(0, 1fr) 160px; }
	#ppilot-profile-root .pppr-hero-main { grid-column: 1 / -1; }
	#ppilot-profile-root .pppr-hero-stats { grid-column: 1 / 2; grid-row: 2; align-self: center; }
	#ppilot-profile-root .pppr-hero-ring { grid-column: 2 / 3; grid-row: 2; }
	#ppilot-profile-root .pppr-avatar { width: 96px; height: 96px; }
	#ppilot-profile-root .pppr-hero-title { font-size: 30px; }
	#ppilot-profile-root .pppr-hero-metas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-goals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-overlay { align-items: center; padding: 24px; }
	#ppilot-profile-root .pppr-modal { border-radius: 20px; padding: 22px 24px 24px; }
	#ppilot-profile-root .pppr-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-modal-actions { flex-direction: row; justify-content: flex-end; }
	#ppilot-profile-root .pppr-modal-actions .pppr-btn { width: auto; }
	#ppilot-profile-root .pppr-prow-btn,
	#ppilot-profile-root .pppr-prow-btn:hover,
	#ppilot-profile-root .pppr-prow-btn:focus { grid-template-columns: 40px minmax(120px, 0.8fr) minmax(0, 1.2fr) 20px; grid-template-areas: "icon label value chev"; }
	#ppilot-profile-root .pppr-arow { grid-template-columns: 28px minmax(120px, .8fr) minmax(0, 1.2fr) auto; grid-template-areas: "icon label value action"; }
}

/* ---- ≥ 900px ---- */
@media (min-width: 900px) {
	#ppilot-profile-root .pppr-card { padding: 20px 22px; }
	#ppilot-profile-root .pppr-goals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-snap-grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
	#ppilot-profile-root .pppr-ach-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
	#ppilot-profile-root .pppr-streaks { grid-template-columns: 1fr 1fr; }
}

/* ---- ≥ 1100px: hero on one line, two-column rows ---- */
@media (min-width: 1100px) {
	#ppilot-profile-root .pppr-hero { grid-template-columns: minmax(0, 1fr) 170px minmax(300px, 340px); padding: 28px 32px; gap: 24px; }
	#ppilot-profile-root .pppr-hero-main { grid-column: auto; }
	#ppilot-profile-root .pppr-hero-ring { grid-column: auto; grid-row: auto; }
	#ppilot-profile-root .pppr-hero-stats { grid-column: auto; grid-row: auto; }
	#ppilot-profile-root .pppr-hero-title { font-size: 34px; }
	#ppilot-profile-root .pppr-avatar { width: 112px; height: 112px; }
	#ppilot-profile-root .pppr-avatar-initials { font-size: 34px; }
	#ppilot-profile-root .pppr-row--top { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: stretch; }
	#ppilot-profile-root .pppr-row--bottom { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: stretch; }
	#ppilot-profile-root .pppr-hero-motif { right: auto; left: 46%; width: 420px; height: 210px; transform: translateX(-50%); opacity: .8; }
	#ppilot-profile-root .pppr-snap-grid { grid-template-columns: 1fr; }
	#ppilot-profile-root .pppr-ach-grid { grid-template-columns: 1fr; }
	#ppilot-profile-root .pppr-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---- ≥ 1280px ---- */
@media (min-width: 1280px) {
	#ppilot-profile-root .pppr-snap-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
	#ppilot-profile-root .pppr-goals { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-ach-grid { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
	#ppilot-profile-root .pppr-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#ppilot-profile-root .pppr-streaks { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	#ppilot-profile-root *,
	#ppilot-profile-root *::before,
	#ppilot-profile-root *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	#ppilot-profile-root .pppr-btn--primary:hover,
	#ppilot-profile-root .pppr-btn--accent:hover,
	#ppilot-profile-root .pppr-tile--link:hover { transform: none; }
}
