/*
Theme Name: Prelims Lab
Theme URI: https://prelimslab.in
Author: Prelims Lab
Description: Minimal monochrome block theme with pastel highlighter colours for Prelims Lab: UPSC Prelims notes for every subject, daily current affairs, blog and the study app. Read. Practise. Clear.
Version: 1.6.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prelimslab
Tags: blog, education, block-patterns, full-site-editing, one-column, wide-blocks, accessibility-ready
*/

/* Prelims Lab 1.2: monochrome, Apple-style minimal. Colours live in theme.json; this file adds what theme.json cannot. */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.wp-site-blocks{min-height:100vh;display:flex;flex-direction:column}.wp-site-blocks>main{flex:1 0 auto}
.wp-site-blocks > *{margin-block-start:0}

/* Header: thin, frosted, sticky */
.wp-site-blocks > :first-child:has(.plab-header){position:sticky;top:0;z-index:50}
.admin-bar .wp-site-blocks > :first-child:has(.plab-header){top:32px}
@media (max-width:782px){.admin-bar .wp-site-blocks > :first-child:has(.plab-header){top:46px}}
.plab-header{position:relative;isolation:isolate;background:transparent!important;border-bottom:1px solid rgba(0,0,0,.08)}
.plab-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.plab-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--base)!important;color:var(--wp--preset--color--ink)!important}
.plab-header .wp-block-navigation__responsive-container.is-menu-open a{color:var(--wp--preset--color--ink);font-size:1.5rem;font-weight:600}
.plab-header .wp-block-navigation a{color:var(--wp--preset--color--muted);text-decoration:none;transition:color .2s}
.plab-header .wp-block-navigation a:hover{color:var(--wp--preset--color--ink);text-decoration:none}
.plab-header .plab-pill .wp-block-button__link{padding:.4rem .95rem;font-size:.8125rem}
.plab-nav-right{gap:18px!important}
.plab-brand{display:flex;align-items:center;gap:9px}
.plab-brand svg{width:28px;height:28px;flex:none;color:var(--wp--preset--color--ink)}
.plab-brand .wp-block-site-title a{text-decoration:none}
.plab-tick{stroke:var(--wp--preset--color--base)}
.plab-skip{position:absolute;left:-9999px}.plab-skip:focus{left:12px;top:12px;z-index:100;background:var(--wp--preset--color--base);padding:8px 12px;border-radius:8px}

/* Type */
.plab-eyebrow{font-size:.8125rem;letter-spacing:.02em;font-weight:600;color:var(--wp--preset--color--muted)}
.plab-display{font-size:var(--wp--preset--font-size--display)!important;line-height:1.04!important;letter-spacing:-.035em!important;font-weight:700!important}
.plab-sub{text-wrap:balance;color:var(--wp--preset--color--muted);font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.4;letter-spacing:-.015em;max-width:44ch;margin-inline:auto!important}
.plab-center{text-align:center}
.plab-center .wp-block-buttons{justify-content:center}
.plab-textlink a{font-size:1.0625rem;color:var(--wp--preset--color--ink)}
.plab-textlink a::after{content:" ›"}

/* Buttons */
.wp-block-button.is-style-outline .wp-block-button__link{border:1px solid var(--wp--preset--color--ink);color:var(--wp--preset--color--ink);background:transparent}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--base)}

/* Stats band */
.plab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center}
.plab-stats b{display:block;font-size:clamp(2rem,4.5vw,3rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums}
.plab-stats span{display:block;color:var(--wp--preset--color--muted);font-size:.9375rem;margin-top:6px}
@media (max-width:700px){.plab-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}

/* Steps */
.plab-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plab-step{background:var(--wp--preset--color--base);border-radius:22px;padding:28px 26px}
.plab-step .n{font-size:.8125rem;font-weight:600;color:var(--wp--preset--color--muted)}
.plab-step h3{font-size:1.5rem;margin:.35em 0 .4em}
.plab-step p{color:var(--wp--preset--color--muted);margin:0}
@media (max-width:800px){.plab-steps{grid-template-columns:1fr}}

/* Cards and panels: grey, no borders */
.plab-card{border-radius:22px;background:var(--wp--preset--color--surface);padding:clamp(20px,3vw,32px)}
.wp-block-post-template.is-layout-grid > li{border-radius:22px;padding:22px 22px 18px;background:var(--wp--preset--color--surface);transition:background .2s}
.wp-block-post-template.is-layout-grid > li:hover{background:var(--wp--preset--color--tint)}
.wp-block-post-template.is-layout-grid .wp-block-post-title{letter-spacing:-.02em;line-height:1.2}
.wp-block-post-title a{text-decoration:none}
.wp-block-post-title a:hover{text-decoration:underline}
.plab-sechead{align-items:baseline!important}
.plab-sechead h2{margin:0}
.plab-sechead p a{color:var(--wp--preset--color--muted)}
.plab-kicker{color:var(--wp--preset--color--muted)}.plab-kicker a{color:inherit;text-decoration:none}.plab-kicker a:hover{color:var(--wp--preset--color--ink)}

/* Inverted band (Telegram) */
.plab-dark{background:#000!important;color:#f5f5f7}
.plab-dark h2,.plab-dark p{color:#f5f5f7}
.plab-dark .plab-mutedtxt{color:#a1a1a6!important}
.plab-dark .wp-block-button__link{background:#f5f5f7!important;color:#000!important}
.plab-dark .wp-block-button__link:hover{background:#d2d2d7!important}

/* Post content blocks from the starter layouts */
.plab-fact table{border-collapse:collapse;width:100%}
.plab-fact td,.plab-fact th{border-bottom:1px solid var(--wp--preset--color--line);padding:10px 12px;vertical-align:top}
.plab-fact th{background:var(--wp--preset--color--surface);text-align:left;font-weight:600}
.plab-q details{background:var(--wp--preset--color--surface);border-radius:14px;padding:14px 16px;margin-top:10px}
.plab-q summary{cursor:pointer;font-weight:600}
.plab-trap{border-left:3px solid var(--wp--preset--color--ink);background:var(--wp--preset--color--surface);padding:16px 18px;border-radius:0 14px 14px 0}
.plab-tg{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.plab-links{list-style:none;padding-left:0}
.plab-links a{color:var(--wp--preset--color--muted)}.plab-links a:hover{color:var(--wp--preset--color--ink)}
.plab-footer{font-size:.8125rem}
.plab-footer a{color:var(--wp--preset--color--muted)}
.plab-footer .wp-block-site-title a{color:var(--wp--preset--color--ink)}
.plab-footer .plab-fhead{color:var(--wp--preset--color--ink);font-weight:600}
.plab-footer .plab-legal{border-top:1px solid var(--wp--preset--color--line);padding-top:16px}

.wp-block-navigation a{text-decoration:none}
:where(.wp-site-blocks) :focus-visible{outline:2px solid var(--wp--preset--color--ink);outline-offset:3px;border-radius:4px}
::selection{background:#d2d2d7;color:#1d1d1f}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Dark mode: true black, grey panels */
@media (prefers-color-scheme: dark){
  body{--wp--preset--color--base:#000;--wp--preset--color--surface:#1c1c1e;--wp--preset--color--ink:#f5f5f7;--wp--preset--color--muted:#a1a1a6;--wp--preset--color--line:#424245;--wp--preset--color--tint:#2c2c2e;--wp--preset--color--accent:#f5f5f7;--wp--preset--color--button:#f5f5f7;--wp--preset--color--button-ink:#000}
  .plab-header{border-bottom-color:rgba(255,255,255,.1)}.plab-header::before{background:rgba(22,22,23,.8)}
  .wp-element-button:hover,.wp-block-button__link:hover{background:#d2d2d7!important;color:#000!important}
  .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#f5f5f7!important;color:#000!important}
  .plab-dark{background:#1c1c1e!important}
  ::selection{background:#424245;color:#f5f5f7}
}
@media (max-width:700px){.plab-home-notes .plab-index li:nth-child(n+7){display:none}}
.plab-header .is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start!important;padding:24px 8px!important}.plab-header .is-menu-open .wp-block-navigation__container{align-items:flex-start!important;gap:20px!important}

.plab-reviewed{color:var(--wp--preset--color--muted);font-size:.875rem;margin:0 0 4px}
.plab-empty{color:var(--wp--preset--color--muted)}

/* Prelims 2027 positioning: countdown and road map */
.plab-countdown{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px!important;padding:6px 14px;border-radius:999px;background:var(--wp--preset--color--surface);font-size:.875rem;color:var(--wp--preset--color--muted)}
.plab-countdown b{color:var(--wp--preset--color--ink);font-variant-numeric:tabular-nums}
.plab-dot{width:7px;height:7px;border-radius:50%;background:var(--wp--preset--color--ink);flex:none}
.plab-road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;counter-reset:r}
.plab-road li{position:relative;background:var(--wp--preset--color--base);border-radius:22px;padding:22px 20px 20px}
.plab-road .when{display:block;font-size:.8125rem;font-weight:600;color:var(--wp--preset--color--muted);margin-bottom:6px}
.plab-road li.now{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--base)}
.plab-road li.now .when,.plab-road li.now p{color:var(--wp--preset--color--line)}
.plab-road b{display:block;font-size:1.2rem;letter-spacing:-.02em;line-height:1.2}
.plab-road p{margin:8px 0 0;font-size:.9375rem;line-height:1.45;color:var(--wp--preset--color--muted)}
@media (max-width:960px){.plab-road{grid-template-columns:repeat(2,minmax(0,1fr))}.plab-road li.now{grid-column:1/-1}}
@media (max-width:560px){.plab-road{grid-template-columns:1fr}}
#plab-road{scroll-margin-top:70px}
@media (prefers-color-scheme: dark){.plab-road li.now .when,.plab-road li.now p{color:#424245}}

/* ==== pastel highlighters (1.6) ==== */
/* Pastel highlighter palette (v1.6): monochrome base, highlighter colours for meaning.
   yellow = key words · green = remember / correct · blue = PYQ and bare text · red = traps / wrong · purple = ranker's edge · orange = examples */
:root{--py:#fff2a8;--pg:#cff5d9;--pb:#d6e7ff;--pr:#ffdada;--pp:#e8defe;--po:#ffe3c8;--pt:#cdf1ec;--pk:#ffdcef;--pl:#e7f6b8;
  --my:#ffe866;--mg:#a8ecbd;--mb:#b5d4ff;--mr:#ffbdbd;--mp:#d6c6fd;--mo:#ffcf9f;--pin:#1d1d1f}
@media (prefers-color-scheme: dark){body{--py:rgba(255,214,10,.17);--pg:rgba(48,209,88,.17);--pb:rgba(10,132,255,.2);--pr:rgba(255,69,58,.2);--pp:rgba(191,90,242,.2);--po:rgba(255,159,10,.19);--pt:rgba(100,210,255,.17);--pk:rgba(255,55,95,.18);--pl:rgba(160,220,40,.16);
  --my:rgba(255,214,10,.42);--mg:rgba(48,209,88,.38);--mb:rgba(10,132,255,.42);--mr:rgba(255,69,58,.42);--mp:rgba(191,90,242,.42);--mo:rgba(255,159,10,.42);--pin:#f5f5f7}}
/* subject tiles in pastel */
.plab-subjects li:nth-child(9n+1)>*{background:var(--py)}.plab-subjects li:nth-child(9n+2)>*{background:var(--pb)}.plab-subjects li:nth-child(9n+3)>*{background:var(--pg)}
.plab-subjects li:nth-child(9n+4)>*{background:var(--pr)}.plab-subjects li:nth-child(9n+5)>*{background:var(--pp)}.plab-subjects li:nth-child(9n+6)>*{background:var(--po)}
.plab-subjects li:nth-child(9n+7)>*{background:var(--pt)}.plab-subjects li:nth-child(9n+8)>*{background:var(--pk)}.plab-subjects li:nth-child(9n+9)>*{background:var(--pl)}
.plab-subjects li>a:hover{filter:saturate(1.25) brightness(.98)}
.plab-subjects .plab-blurb{color:inherit;opacity:.72}
.plab-subjects .plab-s-soon b{color:inherit;opacity:.7}
@media (prefers-color-scheme:dark){.plab-subjects li>a,.plab-subjects li>div{color:#f5f5f7}}

mark.plab-hl,.plab-hl{background:linear-gradient(transparent 50%,var(--my) 50%,var(--my) 94%,transparent 94%);color:inherit;padding:0 .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.plab-countdown{background:var(--py)}
.plab-dot{background:#e5484d}
.plab-stats > div:nth-child(1) b{background:linear-gradient(transparent 58%,var(--my) 58%,var(--my) 92%,transparent 92%)}
.plab-stats > div:nth-child(2) b{background:linear-gradient(transparent 58%,var(--mb) 58%,var(--mb) 92%,transparent 92%)}
.plab-stats > div:nth-child(3) b{background:linear-gradient(transparent 58%,var(--mg) 58%,var(--mg) 92%,transparent 92%)}
.plab-stats > div:nth-child(4) b{background:linear-gradient(transparent 58%,var(--mr) 58%,var(--mr) 92%,transparent 92%)}
.plab-stats b{display:inline-block!important;padding:0 .12em}
.plab-step:nth-child(1){background:var(--pb)}.plab-step:nth-child(2){background:var(--pg)}.plab-step:nth-child(3){background:var(--pp)}
.plab-step p,.plab-step .n{color:inherit;opacity:.75}
.plab-road li:nth-child(2){background:var(--pb)}.plab-road li:nth-child(3){background:var(--po)}.plab-road li:nth-child(4){background:var(--pp)}.plab-road li:nth-child(5){background:var(--pg)}
.plab-road li:not(.now) p,.plab-road li:not(.now) .when{color:inherit;opacity:.75}
.wp-block-post-template.is-layout-grid > li:nth-child(3n+1){background:var(--py)}.wp-block-post-template.is-layout-grid > li:nth-child(3n+2){background:var(--pb)}.wp-block-post-template.is-layout-grid > li:nth-child(3n+3){background:var(--pg)}
.wp-block-post-template.is-layout-grid > li:hover{background:var(--pp)}
.plab-trap{background:var(--pr);border-left-color:#e5484d}
.plab-fact th{background:var(--pb)}
.plab-q details{background:var(--py)}
.plab-kicker a{background:var(--surface,rgba(255,255,255,.6));padding:.1em .5em;border-radius:999px}
::selection{background:var(--my);color:#1d1d1f}
@media (prefers-color-scheme: dark){::selection{background:var(--my);color:#f5f5f7}.plab-countdown b{color:#f5f5f7}}
