/* Pakāpienu sala: jaunā vizuālā sistēma (no konceptlapas tetaskola-pasaule). Lieto sala/base.html. */
@font-face { font-family: 'Bricolage'; src: url('/static/brand/fonts/bricolage-500_800-normal.woff2') format('woff2'); font-weight: 500 800; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Bricolage'; src: url('/static/brand/fonts/bricolage-500_800-normal-ext.woff2') format('woff2'); font-weight: 500 800; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Caveat'; src: url('/static/brand/fonts/caveat-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }

@font-face { font-family: 'Manrope'; src: url('/static/brand/fonts/manrope-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('/static/brand/fonts/manrope-700.woff2') format('woff2'); font-weight: 700 800; font-display: swap; }

:root {
  --cream: #FFFDE9;
  --violet: #30233D;
  --violet-2: #5B4E66;
  --coral: #FF683B;
  --sun: #FDF196;
  --lavender: #C6B9EC;
  --lavender-2: #E9E3FB;
  --coral-dark: #B5401C;
  --coral-tint: #FFF1EA;
  --step-now: #FFE6DC;
  --hint-soft: #FFF8C2;
  --iso-right: #9C8AD6;
  --iso-soft: #EDE6FF;
  --placeholder: #8A7E94;
  --plinth-top: var(--sun);
  --plinth-left: var(--lavender);
  --plinth-right: var(--iso-right);

  --c-bg: var(--cream);
  --c-fg: var(--violet);
  --c-muted: var(--violet-2);
  --c-line: rgb(48 35 61 / 0.14);
  --c-accent: var(--coral);
  --c-card: #ffffff;
  --c-edge: var(--violet);
  --c-curtain: var(--violet);

  --f-display: 'Bricolage', 'Manrope', system-ui, sans-serif;
  --f-body: 'Manrope', system-ui, sans-serif;
  --f-hand: 'Caveat', 'Manrope', cursive;

  --t-mega: clamp(3.4rem, 1.4rem + 8.6vw, 9.5rem);
  --t-xl: clamp(2.4rem, 1.5rem + 3.9vw, 5.25rem);
  --t-l: clamp(1.7rem, 1.3rem + 1.7vw, 2.75rem);
  --t-m: clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem);
  --t-body: clamp(1rem, 0.96rem + 0.18vw, 1.125rem);
  --t-s: 0.9375rem;
  --t-xs: 0.8125rem;

  --u: clamp(0.5rem, 0.35rem + 0.6vw, 1rem);
  --gutter: clamp(1rem, 0.6rem + 1.6vw, 2.5rem);
  --radius: 14px;
  --edge: 5px;

  --z-gl: 0; --z-content: 1; --z-header: 50; --z-cursor: 80; --z-curtain: 90; --z-loader: 100;
}

/* Vakars: viens globāls slēdzis, viss teksts seko. */
html.is-evening {
  --c-bg: #30233D;
  --c-fg: var(--cream);
  --c-muted: #D9D0E6;
  --c-line: rgb(255 253 233 / 0.18);
  --c-card: #3F3150;
  --c-edge: #120C18;
  --plinth-top: #4A3B5C;
  --plinth-left: #251B30;
  --plinth-right: #1C1424;
}

/* ENGINE + FOUNDATION. The project look lives in tokens and component styles; edit this file
   only to change engine behavior. */

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  background: var(--c-bg);
  color: var(--c-fg);
}
body {
  min-height: 100dvh;
  font-family: var(--f-body);
  font-size: var(--t-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  overflow-x: clip;
}
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-weight: inherit; font-size: inherit; text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: var(--c-fg); color: var(--c-bg); }

/* Accessibility */
:focus-visible { outline: 3px solid var(--c-fg); outline-offset: 3px; border-radius: 2px; }
#main:focus { outline: none; }
.skip-link {
  position: fixed; left: var(--gutter); top: var(--gutter); z-index: calc(var(--z-loader) + 1);
  padding: 0.6em 1em; background: var(--c-fg); color: var(--c-bg);
  transform: translateY(-200%);
}
.skip-link:focus-visible { transform: none; }
.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;
}


/* Pakāpienu sala: vietnes stils. Klucis ir forma: rādiuss 14px un apakšējā „mala”. */
html { background: var(--c-bg); scroll-padding-top: 6rem; }
[hidden] { display: none !important; }
body { background: var(--c-bg); color: var(--c-fg); transition: background-color .8s ease, color .8s ease; }
::selection { background: var(--sun); color: var(--violet); }
:focus-visible { outline: 3px solid var(--c-fg); outline-offset: 3px; border-radius: 6px; }

/* ---------- 3D pasaule */
#world { position: fixed; inset: 0; z-index: var(--z-gl); pointer-events: none; }
.world-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.world-poster, .world-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .6s ease; }
html.motion:not(.no-gl) .world-poster { display: none; }
html.is-evening .world-poster { filter: brightness(.45) saturate(.8); }

/* ---------- Tipogrāfija */
.display { font-family: var(--f-display); font-weight: 800; font-size: var(--t-xl); line-height: .92; letter-spacing: -0.035em; text-indent: -0.04em; }
.display--m { font-size: clamp(2.3rem, 1.4rem + 3.6vw, 4.75rem); }
.h2 { font-family: var(--f-display); font-weight: 800; font-size: var(--t-l); line-height: 1; letter-spacing: -0.025em; }
.h2--gap { margin-top: calc(var(--u) * 6); }
.lead { font-size: var(--t-m); line-height: 1.45; max-width: 34ch; color: var(--c-fg); margin-top: calc(var(--u) * 2); }
.kicker { display: inline-block; font-weight: 800; font-size: var(--t-s); background: var(--sun); color: var(--violet); padding: .3em .7em; border-radius: 999px; margin-bottom: calc(var(--u) * 2); }
.hand { font-family: var(--f-hand); font-weight: 600; font-size: 1.5rem; line-height: 1.1; }
h3 { font-family: var(--f-display); font-weight: 700; font-size: var(--t-m); letter-spacing: -0.015em; line-height: 1.1; }

/* ---------- Pogas: kluči, kas paceļas un iespiežas */
.btn {
  --lift: 0px; --e: var(--edge);
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  font-weight: 800; font-size: 1.0625rem; line-height: 1; padding: 1.05em 1.5em;
  background: var(--coral); color: var(--violet); border: 2px solid var(--c-edge); border-radius: var(--radius);
  box-shadow: 0 var(--e) 0 var(--c-edge); translate: 0 var(--lift);
  transition: translate .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s cubic-bezier(.34,1.56,.64,1), background-color .25s ease;
  min-height: 48px; text-align: center;
}
.btn { background-image: linear-gradient(var(--sun), var(--sun)); background-repeat: no-repeat; background-size: 100% 0%; background-position: 50% 100%; transition: translate .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s cubic-bezier(.34,1.56,.64,1), background-size .35s cubic-bezier(.16,1,.3,1), color .25s; }
.btn:hover { --lift: -4px; --e: calc(var(--edge) + 4px); background-size: 100% 100%; color: var(--violet); }
.btn:active { --lift: calc(var(--edge) - 1px); --e: 1px; transition-duration: .06s; }
.btn--ghost { background-color: var(--c-card); color: var(--c-fg); }
.btn--ghost:hover { color: var(--violet); }
.btn--sm { font-size: .9375rem; padding: .7em 1.05em; min-height: 42px; --edge: 4px; }

/* Saites: marķiera vilciens zem teksta */
.ulink { position: relative; display: inline-block; font-weight: 700; padding: .35em .1em; }
.ulink span { background: linear-gradient(var(--sun), var(--sun)) 0 88% / 0% .42em no-repeat; transition: background-size .35s cubic-bezier(.16,1,.3,1); padding: 0 .1em; display: inline-block; transition: background-size .35s cubic-bezier(.16,1,.3,1), translate .35s cubic-bezier(.34,1.56,.64,1); }
.ulink:hover span, .ulink[aria-current='page'] span { background-size: 100% .42em; }
.ulink:hover span { translate: 0 -2px; }
.ulink--strong { margin-top: calc(var(--u) * 3); font-size: var(--t-m); }
.ulink--strong span { background-size: 100% .2em; }
.ulink--strong:hover span { background-size: 100% 100%; border-radius: 6px; color: var(--violet); }
html.is-evening .ulink span { color: var(--c-fg); }
html.is-evening .ulink span { background-position: 0 50%; border-radius: 6px; }
html.is-evening .ulink:hover span, html.is-evening .ulink[aria-current='page'] span { color: var(--violet); background-size: 100% 100%; }
html.is-evening .faq summary:hover span { background-size: 100% 100%; border-radius: 6px; }

/* ---------- Galvene */
.hdr {
  position: fixed; z-index: var(--z-header); top: 14px; left: var(--gutter); right: var(--gutter);
  display: flex; align-items: center; gap: calc(var(--u) * 2); padding: 4px 10px 4px 8px;
  background: var(--c-bg);
  border: 2px solid var(--c-edge); border-radius: calc(var(--radius) + 4px); box-shadow: 0 4px 0 var(--c-edge), 0 -30px 0 12px var(--c-bg);
  transition: background-color .8s ease, translate .5s cubic-bezier(.16,1,.3,1);
}
.hdr__logo { display: inline-flex; align-items: center; margin: -12px 0 -12px -10px; border-radius: 12px; }
.logo { position: relative; display: inline-block; line-height: 0; }
.logo img { display: block; height: 100%; width: auto; transition: rotate .45s cubic-bezier(.34,1.56,.64,1), translate .45s cubic-bezier(.34,1.56,.64,1); }
.logo__night { position: absolute; inset: 0; opacity: 0; }
html.is-evening .logo__night { opacity: 1; }
html.is-evening .logo__day { opacity: 0; }
/* Galvenē redzamā zīme ap 34px augsta (fails ar tukšo malu ir ~1.9x augstāks). */
.logo--hdr { height: 80px; }
.hdr__logo:hover .logo img { rotate: -3deg; translate: 0 -3px; }
.hdr__nav { margin-left: auto; }
.hdr__nav ul { display: flex; gap: calc(var(--u) * 1.5); list-style: none; padding: 0; }
.hdr__menu { display: none; }
@media (max-width: 767px) {
  .hdr { top: 10px; left: 10px; right: 10px; gap: 8px; }
  .logo--hdr { height: 62px; }
  .hdr .btn--sm { padding: .6em .8em; font-size: .875rem; white-space: nowrap; }
  .hdr__cta { margin-left: auto; }
  .hdr__menu { display: inline-flex; }
  .hdr__nav { display: none; position: absolute; top: calc(100% + 10px); left: 0; right: 0; margin: 0;
    background: var(--c-card); border: 2px solid var(--c-edge); border-radius: var(--radius); box-shadow: 0 5px 0 var(--c-edge); padding: 10px; }
  .menu-open .hdr__nav { display: block; }
  .hdr__nav ul { flex-direction: column; gap: 2px; }
  .hdr__nav .ulink { display: block; padding: .7em .4em; font-size: 1.125rem; }
}

/* ---------- Nodaļas: teksts vienā pusē, sala otrā */
main { position: relative; z-index: var(--z-content); }
section[data-chapter] { position: relative; min-height: 100svh; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gutter); padding: 7rem var(--gutter) 5rem; align-items: center; }
.spacer { display: none; }
.panel { grid-column: 1 / span 6; transition: background-color .8s ease; }
@media (min-width: 768px) {
  section[data-chapter] > .panel, .inner .inner__text { background: color-mix(in srgb, var(--c-bg) 90%, transparent); box-shadow: 0 0 56px 36px color-mix(in srgb, var(--c-bg) 90%, transparent); border-radius: 40px; padding: clamp(1.5rem, 1rem + 1.5vw, 2.5rem); }
}
.sala__panel, .skolotaji__panel { grid-column: 7 / span 6; }
.cels { min-height: 110svh; }

.hero { padding-top: 8rem; }
.hero__text { grid-column: 1 / span 6; }
.hero__text .lead { max-width: 30ch; }

@media (max-width: 767px) {
  section[data-chapter] { display: block; padding: 0; min-height: 0; }
  .spacer { display: block; height: 44svh; }
  .panel, .hero__text, .inner .inner__text { background: var(--c-bg); border-top: 2px solid var(--c-edge); border-radius: 28px 28px 0 0; padding: 2rem 1rem 3.5rem; box-shadow: 0 -4px 0 var(--c-edge); }
  .hero { padding-top: 0; }
  .hero::before { content: ''; display: block; height: 50svh; }
  .lead { font-size: 1.125rem; }
}

/* ---------- Uzdevums (signatūra) */
.task { margin-top: calc(var(--u) * 3.5); max-width: 30rem; background: var(--c-card); border: 2px solid var(--c-edge); border-radius: calc(var(--radius) + 4px); box-shadow: 0 7px 0 var(--c-edge); padding: 1.25rem 1.4rem 1.4rem; transition: background-color .8s ease; }
.task__meta { font-size: var(--t-xs); font-weight: 700; color: var(--c-muted); }
.task__q { display: flex; flex-wrap: wrap; align-items: center; gap: .15em .5em; min-height: 4.4rem; font-family: var(--f-display); font-weight: 800; font-size: 2rem; margin: .6rem 0 1rem; font-variant-numeric: tabular-nums; }
.frac { display: inline-grid; justify-items: center; line-height: 1; }
.frac span:first-child { border-bottom: 3px solid currentColor; padding: 0 .15em .08em; }
.frac span:last-child { padding-top: .08em; }
.op { color: var(--c-muted); }
.task__q sup { font-size: .55em; margin-left: -.85em; align-self: flex-start; padding-top: .2em; }
.task__q--text { font-size: 1.5rem; }
.task__slot { display: inline-grid; place-items: center; min-width: 2.4em; height: 1.6em; border: 3px dashed var(--coral); border-radius: 10px; color: var(--coral-dark); transition: background-color .3s, color .3s; }
.is-solved .task__slot { border-style: solid; background: var(--coral); color: var(--violet); }
.task__opts { display: flex; gap: .7rem; flex-wrap: wrap; }
.chip {
  --lift: 0px; --e: 5px;
  font-family: var(--f-display); font-weight: 800; font-size: 1.35rem; min-width: 4.4rem; min-height: 52px; padding: .45em .8em;
  background: var(--c-card); color: var(--c-fg); border: 2px solid var(--c-edge); border-radius: 12px; box-shadow: 0 var(--e) 0 var(--c-edge);
  translate: 0 var(--lift); transition: translate .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s cubic-bezier(.34,1.56,.64,1), background-color .2s;
}
.chip:hover { --lift: -3px; --e: 8px; background: var(--sun); color: var(--violet); }
.chip:active { --lift: 4px; --e: 1px; }
.chip.is-right { background: var(--sun); color: var(--violet); --lift: 4px; --e: 1px; }
.chip.is-wrong { animation: wobble .5s cubic-bezier(.36,.07,.19,.97); border-color: var(--coral); }
.chip[aria-disabled='true']:not(.is-right) { opacity: .45; pointer-events: none; }
@keyframes wobble { 20% { translate: -6px 0; } 40% { translate: 5px 0; } 60% { translate: -3px 0; } 80% { translate: 2px 0; } }
.task__msg { margin-top: 1rem; min-height: 2.6em; font-size: var(--t-s); line-height: 1.45; }
.task__msg .hand { font-size: 1.35rem; }
.task__next { margin-top: .9rem; }
.task__next[hidden] { display: none; }

/* ---------- Ceļš: DOM kāpnes */
.stairs { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: end; margin-top: calc(var(--u) * 4); }
.stairs__step {
  background: var(--c-card); border: 2px solid var(--c-edge); border-radius: var(--radius);
  box-shadow: 0 calc(6px + var(--i) * 7px) 0 var(--c-edge); padding: 1.1rem 1rem 1.3rem;
  margin-top: calc((2 - var(--i)) * 2.6rem); margin-bottom: calc(var(--i) * 7px); transition: background-color .8s ease;
}
.stairs__step:nth-child(3) { background: var(--sun); color: var(--violet); }
.stairs__n { display: block; font-family: var(--f-display); font-weight: 800; font-size: 2.6rem; line-height: 1; letter-spacing: -0.04em; margin-bottom: .5rem; }
.stairs__step p { font-size: var(--t-s); line-height: 1.45; margin-top: .4rem; }
@media (max-width: 767px) {
  .stairs { grid-template-columns: 1fr; gap: 1.2rem; }
  .stairs__step { margin: 0 calc((2 - var(--i)) * 1.6rem) calc(var(--i) * 7px) 0; }
}

/* ---------- Klases */
.grades { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-top: calc(var(--u) * 3); }
.grade {
  --lift: 0px; --e: 4px;
  width: 100%; text-align: left; display: grid; gap: .45rem; padding: .75rem .8rem .85rem; min-height: 100%;
  background: var(--c-card); border: 2px solid var(--c-edge); border-radius: 12px; box-shadow: 0 var(--e) 0 var(--c-edge);
  translate: 0 var(--lift); transition: translate .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s cubic-bezier(.34,1.56,.64,1), background-color .3s;
}
.grade:hover, .grade:focus-visible { --lift: -4px; --e: 8px; }
.grade__n { font-family: var(--f-display); font-weight: 800; font-size: 2rem; line-height: 1; letter-spacing: -0.04em; }
.grade__t { display: flex; flex-wrap: wrap; gap: .3rem; }
.tag { white-space: nowrap; font-size: .72rem; font-weight: 700; padding: .2em .55em; border-radius: 999px; line-height: 1.3; }
.tag--on { background: var(--lavender-2); color: var(--violet); }
.tag--sun { background: var(--sun); color: var(--violet); border: 1.5px solid var(--violet); }
.tag--off { border: 1.5px dashed currentColor; color: var(--c-fg); }
.sala__note { margin-top: 1.2rem; rotate: -1.5deg; }
@media (max-width: 767px) { .grades { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Vecāki */
.ledger { margin-top: calc(var(--u) * 3); border-top: 2px solid var(--c-fg); }
.ledger__row { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding: .95rem 0; border-bottom: 1px solid var(--c-line); align-items: baseline; }
.ledger__row dt { rotate: -2deg; font-size: 1.45rem; }
.ledger__row dd { margin: 0; font-size: var(--t-body); line-height: 1.5; }
@media (max-width: 767px) { .ledger__row { grid-template-columns: 1fr; gap: .2rem; } }

/* ---------- Skolotāji: slēdzis maina dienas laiku */
.switch { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; margin-top: calc(var(--u) * 3); background: var(--c-card); border: 2px solid var(--c-edge); border-radius: 999px; box-shadow: 0 4px 0 var(--c-edge); padding: 4px; }
.switch::before { content: ''; position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 999px; background: var(--sun); transition: translate .5s cubic-bezier(.34,1.4,.64,1); }
.switch[data-on='arpus']::before { translate: 100% 0; }
.switch button { position: relative; font-weight: 800; padding: .75em 1.3em; min-height: 46px; border-radius: 999px; color: var(--c-fg); transition: color .3s; }
.switch button[aria-checked='true'] { color: var(--violet); }
.switch button span { display: inline-block; transition: translate .3s cubic-bezier(.34,1.56,.64,1); }
.switch button:hover span { translate: 0 -3px; }
.switch button:hover:not([aria-checked='true']) { background: color-mix(in srgb, var(--sun) 35%, transparent); }
.switch button[aria-checked='true']:hover span { scale: 1.06; }
.mode { margin-top: calc(var(--u) * 3); }
.mode__lead { font-size: var(--t-m); font-weight: 700; }
.mode__list { list-style: none; padding: 0; display: grid; gap: .9rem; margin-top: 1rem; }
.mode__list li { border-left: 4px solid var(--sun); padding-left: 1rem; }
.mode__list p { font-size: var(--t-s); line-height: 1.5; margin-top: .3rem; max-width: 46ch; }
.skolotaji__panel .btn { margin-top: calc(var(--u) * 3); }

/* ---------- Iekšlapas */
.inner .inner__text { grid-column: 1 / span 6; }
.inner .inner__text--right { grid-column: 7 / span 6; }
.inner .btn, .inner .row { margin-top: calc(var(--u) * 3); }
.row { display: flex; gap: .8rem; flex-wrap: wrap; }
.inner-body { position: relative; padding: 0 var(--gutter) 6rem; }
.inner-body .panel { max-width: 62rem; margin: 0 auto; background: var(--c-bg); border: 2px solid var(--c-edge); border-radius: 28px; box-shadow: 0 6px 0 var(--c-edge); padding: clamp(1.5rem, 1rem + 3vw, 3.5rem); }
.inner-body .panel > .btn { margin-top: calc(var(--u) * 4); }
.faq { margin-top: 1rem; display: grid; gap: .6rem; }
.faq details { border: 2px solid var(--c-edge); border-radius: 12px; background: var(--c-card); box-shadow: 0 4px 0 var(--c-edge); }
.faq summary { cursor: pointer; font-weight: 800; padding: 1rem 1.1rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.faq summary::after { content: '+'; font-family: var(--f-display); font-size: 1.4rem; line-height: .8; transition: rotate .3s cubic-bezier(.34,1.56,.64,1); }
.faq details[open] summary::after { rotate: 45deg; }
.faq summary:hover span { background: linear-gradient(var(--sun), var(--sun)) 0 88% / 100% .42em no-repeat; color: var(--violet); }
.faq details p { padding: 0 1.1rem 1.1rem; line-height: 1.5; }
@media (max-width: 767px) {
  .inner .inner__text, .inner .inner__text--right { grid-column: 1 / -1; }
  .inner { padding-top: 0 !important; }
  .inner::before { content: ''; display: block; height: 46svh; }
  .inner-body { padding: 0 0 4rem; }
  .inner-body .panel { border-radius: 0; border-left: 0; border-right: 0; }
}

/* ---------- Kājene: vakars */
.ftr { position: relative; z-index: var(--z-content); min-height: 100svh; display: flex; align-items: flex-end; padding: 8rem var(--gutter) 2rem; }
.ftr__inner { width: 100%; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gutter); row-gap: 2rem; align-items: end; }
.ftr__brand { grid-column: 1 / span 7; position: relative; max-width: 640px; }
.ftr__brand .logo--ftr { width: 100%; height: auto; position: relative; z-index: 1; }
.ftr__brand .logo--ftr img { width: 100%; height: auto; }
.ftr__brand .logo--ftr .logo__night { height: 100%; }
.ftr__plinth { display: block; width: 76%; margin: -17% 0 0 5%; position: relative; z-index: 0; }
.pl-top { fill: var(--plinth-top); } .pl-left { fill: var(--plinth-left); } .pl-right { fill: var(--plinth-right); }
.ftr__brand:hover .logo--ftr img { translate: 0 -6px; rotate: -1.5deg; }
.ftr__col { grid-column: 8 / span 5; }
.ftr__lead { font-family: var(--f-display); font-weight: 700; font-size: var(--t-m); margin-bottom: 1.2rem; }
.ftr__note { margin-top: 1.2rem; rotate: -2deg; }
.ftr__links { grid-column: 1 / span 8; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; }
.ftr__fine { grid-column: 9 / span 4; font-size: var(--t-xs); color: var(--c-muted); text-align: right; }
@media (max-width: 767px) {
  .ftr { padding: 38svh 0 0; }
  .ftr__inner { display: block; background: var(--c-bg); border-top: 2px solid var(--c-edge); border-radius: 28px 28px 0 0; padding: 2rem 1rem 2rem; }
  .ftr__brand { margin: 0 0 1.5rem -4%; }
  .ftr__links { margin-top: 2rem; }
  .ftr__fine { text-align: left; margin-top: 1.2rem; }
}

/* ---------- Aizkars ar kāpņu malu */
#curtain .curtain__panel { top: -14%; height: 114%; background: var(--violet);
  clip-path: polygon(0 12%, 20% 12%, 20% 9%, 40% 9%, 40% 6%, 60% 6%, 60% 3%, 80% 3%, 80% 0, 100% 0, 100% 100%, 0 100%); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (max-width: 420px) { .hide-s { display: none; } }

/* ================= Pārbaudes plūsma ================= */
html.world-hidden #world { opacity: 0; visibility: hidden; transition: opacity .5s, visibility 0s .5s; }
#world { transition: opacity .6s; }
.h3 { font-family: var(--f-display); font-weight: 700; font-size: var(--t-m); }

/* --- /sakt: klašu terases --- */
.sakt .sakt__panel { grid-column: 1 / span 7; }
.pick fieldset { border: 0; padding: 0; margin: calc(var(--u) * 3) 0 0; }
.pick__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; }
.pick__opt {
  --lift: 0px; --e: 4px;
  position: relative; display: grid; justify-items: start; gap: .35rem; cursor: pointer; padding: .7rem .75rem .8rem;
  background: var(--c-card); border: 2px solid var(--c-edge); border-radius: 14px; box-shadow: 0 var(--e) 0 var(--c-edge);
  translate: 0 var(--lift); transition: translate .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s cubic-bezier(.34,1.56,.64,1), background-color .25s;
}
.pick__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.pick__opt:hover { --lift: -4px; --e: 8px; }
.pick__opt:has(input:checked) { background: var(--lavender-2); --lift: -6px; --e: 10px; outline: 3px solid var(--coral); outline-offset: 2px; }
.pick__opt:has(input:focus-visible) { outline: 3px solid var(--c-fg); outline-offset: 4px; }
.gtile { width: 100%; height: auto; max-height: 84px; overflow: visible; }
.gtile__block { transition: translate .4s cubic-bezier(.34,1.56,.64,1); }
.pick__opt:hover .gtile__block, .pick__opt:has(input:checked) .gtile__block { translate: 0 -6px; }
.pick__n { font-family: var(--f-display); font-weight: 800; font-size: 1.15rem; letter-spacing: -0.02em; }
.pick__go { margin-top: calc(var(--u) * 3); }
.pick__note { margin-top: .8rem; font-size: var(--t-s); color: var(--c-muted); max-width: 46ch; }
.isosteps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1.5rem; }
.isosteps li { display: grid; gap: .5rem; align-content: start; }
.isosteps .iso-icon { height: 64px; width: auto; transition: translate .4s cubic-bezier(.34,1.56,.64,1); }
.isosteps li:hover .iso-icon { translate: 0 -5px; }
.isosteps__n { color: var(--coral-dark); }
.isosteps p { font-size: var(--t-s); line-height: 1.5; }
.limits { margin-top: 2rem; border: 2px solid var(--c-edge); border-radius: 12px; background: var(--c-card); box-shadow: 0 4px 0 var(--c-edge); }
.limits summary { cursor: pointer; font-weight: 800; padding: 1rem 1.1rem; }
.limits summary:hover span { background: linear-gradient(var(--sun), var(--sun)) 0 88% / 100% .42em no-repeat; color: var(--violet); }
.limits ul { padding: 0 1.1rem 1.1rem 2.2rem; display: grid; gap: .5rem; font-size: var(--t-s); line-height: 1.5; }
@media (max-width: 767px) {
  .sakt .sakt__panel { grid-column: 1 / -1; }
  .pick__grid { grid-template-columns: repeat(2, 1fr); }
  .isosteps { grid-template-columns: 1fr; }
}

/* --- Izometriskās kāpnes (progress un rezultāts) --- */
.stairs-iso { width: 100%; height: auto; overflow: visible; }
.stairs-iso polygon { stroke: var(--violet); stroke-width: 1.6; stroke-linejoin: round; transition: fill .4s ease; }
.stairs-iso__ground { fill: var(--lavender-2); stroke: none !important; }
.stairs-iso .step .f-top { fill: var(--cream); } .stairs-iso .step .f-left { fill: var(--lavender); } .stairs-iso .step .f-right { fill: var(--iso-right); }
.stairs-iso .step__flag { opacity: 0; transition: opacity .3s; }
.stairs-iso .step__flag line { stroke: var(--violet); stroke-width: 2.4; stroke-linecap: round; }
.stairs-iso .step__flag polygon { fill: var(--coral); }
.stairs-iso .is-now .f-top { fill: var(--step-now); } .stairs-iso .is-now polygon { stroke: var(--coral); stroke-width: 2.4; }
.stairs-iso .is-done .f-top, .stairs-iso .is-proti .f-top { fill: var(--sun); }
.stairs-iso .is-proti .step__flag { opacity: 1; }
.stairs-iso .is-nostiprina .f-top { fill: var(--sun); } .stairs-iso .is-nostiprina .f-left, .stairs-iso .is-nostiprina .f-right { fill: var(--iso-soft); }
.stairs-iso .is-skip polygon, .stairs-iso .is-nav polygon { fill: transparent !important; stroke-dasharray: 5 4; stroke: var(--violet-2); }
.stairs-iso .is-trukst polygon { fill: color-mix(in srgb, var(--coral) 20%, transparent) !important; stroke: var(--coral); stroke-dasharray: 6 4; stroke-width: 2.4; }
.stairs-iso .is-trukst { animation: gapPulse 2.4s ease-in-out infinite; }
@keyframes gapPulse { 50% { opacity: .55; } }
.kid__body { fill: var(--violet); } .kid__head { fill: var(--cream); stroke: var(--violet); stroke-width: 1.5; } .kid__cap { fill: var(--sun); stroke: var(--violet); stroke-width: 1.2; } .kid__shadow { fill: color-mix(in srgb, var(--violet) 18%, transparent); }

/* --- /parbaude --- */
.quiz { position: relative; z-index: var(--z-content); min-height: 100svh; display: grid; grid-template-columns: 5fr 7fr; gap: calc(var(--gutter) * 1.5); align-items: start; padding: 8.5rem var(--gutter) 4rem; max-width: 1360px; margin: 0 auto; }
.quiz__side { position: sticky; top: 8rem; }
.quiz__meta { font-size: var(--t-s); margin-bottom: 1rem; }
.quiz__note { margin-top: .6rem; rotate: -1.5deg; }
.quiz__card { background: var(--c-card); border: 2px solid var(--c-edge); border-radius: 24px; box-shadow: 0 8px 0 var(--c-edge); padding: clamp(1.25rem, .8rem + 2vw, 2.5rem); }
.quiz__nr { font-weight: 800; font-size: var(--t-s); color: var(--coral-dark); }
.quiz__q { font-family: var(--f-display); font-weight: 800; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.6rem); line-height: 1; letter-spacing: -0.03em; margin: .5rem 0 1.4rem; font-variant-numeric: tabular-nums; }
.quiz__field { display: flex; gap: .7rem; }
.quiz__field .btn { flex: none; }
.quiz__field input { flex: 1; min-width: 0; font-family: var(--f-display); font-weight: 800; font-size: 1.8rem; padding: .35em .6em; background: var(--cream); color: var(--violet); border: 2px solid var(--c-edge); border-radius: 14px; box-shadow: inset 0 4px 0 color-mix(in srgb, var(--violet) 8%, transparent); }
.quiz__field input::placeholder { color: var(--placeholder); font-weight: 600; }
.quiz__field input:focus-visible { outline: 3px solid var(--c-fg); outline-offset: 2px; }
.btn:disabled { opacity: .45; cursor: not-allowed; --lift: 0px !important; }
.pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-top: 1rem; max-width: 22rem; }
.pad__k {
  --lift: 0px; --e: 4px; font-family: var(--f-display); font-weight: 800; font-size: 1.35rem; min-height: 50px;
  background: var(--c-card); color: var(--c-fg); border: 2px solid var(--c-edge); border-radius: 12px; box-shadow: 0 var(--e) 0 var(--c-edge);
  translate: 0 var(--lift); transition: translate .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s cubic-bezier(.34,1.56,.64,1), background-color .18s;
}
.pad__k:hover { --lift: -2px; --e: 6px; background: var(--sun); color: var(--violet); }
.pad__k:active { --lift: 3px; --e: 1px; }
.pad__k--del { background: var(--lavender-2); color: var(--violet); }
@media (hover: hover) and (pointer: fine) { .pad { display: none; } }
.quiz__alt { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.4rem; }
.chip--sm { font-family: var(--f-body); font-size: .95rem; font-weight: 800; min-width: 0; min-height: 44px; }
.quiz__fine, .quiz__foot { font-size: var(--t-xs); color: var(--c-muted); margin-top: .8rem; line-height: 1.5; max-width: 60ch; }
.quiz__foot { grid-column: 1 / -1; }
.quiz__saved { min-height: 1.4em; font-weight: 700; margin-top: .6rem; font-size: var(--t-s); }
.hint { margin-top: 1.4rem; border-top: 2px dashed var(--c-line); padding-top: 1.2rem; }
.hint__open { display: inline-flex; align-items: center; gap: .6rem; font-weight: 800; padding: .5rem .9rem .5rem .5rem; border: 2px dashed var(--c-edge); border-radius: 14px; min-height: 48px; transition: translate .25s cubic-bezier(.34,1.56,.64,1), background-color .2s; }
.hint__open:hover { translate: 0 -3px; background: var(--sun); color: var(--violet); border-style: solid; }
.hint__open[hidden] { display: none; }
.hint__list { list-style: none; padding: 0; display: grid; gap: .7rem; margin-top: .9rem; }
.hint__lvl { position: relative; border: 2px solid var(--c-edge); border-radius: 14px; padding: .9rem 1rem .9rem 1.1rem; background: var(--cream); color: var(--violet); box-shadow: 0 4px 0 var(--c-edge); }
.hint__lvl--2 { margin-left: 1.2rem; background: var(--hint-soft); }
.hint__lvl--3 { margin-left: 2.4rem; background: var(--sun); }
.hint__lvl h3 { font-size: 1rem; margin-bottom: .3rem; }
.hint__lvl p, .hint__lvl li { font-size: var(--t-s); line-height: 1.5; }
.hint__ex { font-family: var(--f-display); font-weight: 800; font-size: 1.25rem !important; }
.hint__soli { padding-left: 1.2rem; margin: .3rem 0; font-variant-numeric: tabular-nums; }
.hint__rule { font-size: var(--t-xs); margin-top: .7rem; color: var(--c-muted); }
@media (max-width: 767px) {
  .quiz { grid-template-columns: minmax(0, 1fr); padding: 6.5rem 1rem 3rem; gap: 1rem; }
  .quiz > *, .res > * { min-width: 0; }
  .quiz__side { position: static; }
  .quiz__side .stairs-iso { display: block; width: 100%; height: 150px; max-width: 100%; margin: 0 auto; overflow: hidden; }
  .quiz__side { display: grid; justify-items: center; }
  .quiz__note { display: none; }
  .quiz__field input { font-size: 1.5rem; }
  .quiz__field .btn { padding-inline: 1rem; }
}

/* --- /rezultats --- */
.res { position: relative; z-index: var(--z-content); display: grid; grid-template-columns: 5fr 7fr; gap: calc(var(--gutter) * 1.5); align-items: center; padding: 8.5rem var(--gutter) 3rem; max-width: 1360px; margin: 0 auto; }
.res__fine { margin-top: 1rem; font-size: var(--t-s); color: var(--c-muted); max-width: 46ch; line-height: 1.5; }
.res__stairs { margin: 0; }
.res__legend { list-style: none; padding: 0; display: grid; gap: .45rem; margin-top: 1rem; }
.res__legend li { display: grid; grid-template-columns: 18px 1fr; column-gap: .6rem; align-items: center; font-size: var(--t-s); }
.res__legend .res__st { grid-column: 2; font-size: var(--t-xs); }
.res__legend .dot { width: 18px; height: 18px; border: 2px solid var(--violet); border-radius: 4px; background: var(--cream); rotate: 45deg; scale: .8 .8; flex: none; }
.res__legend .is-proti .dot, .res__legend .is-nostiprina .dot { background: var(--sun); }
.res__legend .is-trukst .dot { background: color-mix(in srgb, var(--coral) 25%, transparent); border: 2px dashed var(--coral); }
.res__legend .is-nav .dot { background: transparent; border-style: dashed; }
.res__nos { font-weight: 700; }
.res__st { color: var(--c-muted); }
.res__legend .is-trukst .res__st { color: var(--coral-dark); font-weight: 700; }
.res-cards { position: relative; z-index: var(--z-content); display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 1.2rem; padding: 0 var(--gutter) 4rem; max-width: 1360px; margin: 0 auto; }
.rcard { background: var(--c-card); border: 2px solid var(--c-edge); border-radius: 22px; box-shadow: 0 7px 0 var(--c-edge); padding: 1.4rem; display: grid; align-content: start; gap: .6rem; transition: translate .3s cubic-bezier(.34,1.56,.64,1); }
.rcard:hover { translate: 0 -3px; }
.rcard .iso-icon { height: 56px; width: auto; }
.rcard h2 { font-family: var(--f-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -0.02em; }
.rcard ul { padding-left: 1.1rem; display: grid; gap: .35rem; line-height: 1.45; }
.rcard--gap { background: var(--coral-tint); color: var(--violet); }
.rcard--next { background: var(--sun); color: var(--violet); }
.rcard__honest { font-size: var(--t-s); line-height: 1.5; }
.rcard .row { margin-top: .4rem; }
.review { list-style: none; padding: 0; display: grid; gap: .8rem; margin-top: 1.2rem; }
.review__i { display: grid; grid-template-columns: 28px 1fr; gap: .8rem; padding: .9rem 0; border-bottom: 1px solid var(--c-line); }
.review__mark { width: 22px; height: 22px; margin-top: .2rem; rotate: 45deg; scale: .85 .85; border: 2px solid var(--violet); border-radius: 4px; background: var(--cream); }
.review__i--ok .review__mark { background: var(--sun); }
.review__i--ne .review__mark { background: color-mix(in srgb, var(--coral) 30%, transparent); border-color: var(--coral); }
.review__i--skip .review__mark, .review__i--nav .review__mark { border-style: dashed; background: transparent; }
.review__q { font-family: var(--f-display); font-weight: 800; font-size: 1.25rem; }
.review__a { font-weight: 700; font-size: var(--t-s); margin-top: .2rem; }
.review__s { font-size: var(--t-s); color: var(--c-muted); margin-top: .2rem; }
.ask { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; margin-top: 2rem; padding: 1.2rem; border: 2px dashed var(--c-edge); border-radius: 18px; }
.ask[hidden] { display: none; }
.ask .hand { font-size: 1.6rem; margin: .3rem 0; }
.ask__fine { font-size: var(--t-s); color: var(--c-muted); }
@media (max-width: 900px) {
  .res { grid-template-columns: minmax(0, 1fr); padding: 6.5rem 1rem 2rem; }
  .res-cards { grid-template-columns: 1fr; padding: 0 1rem 3rem; }
}

/* ---------- Ražošanas papildinājumi */
a.grade{text-decoration:none;color:inherit}
.mi-kurss{margin-top:calc(var(--u)*3);border:2px dashed var(--c-edge);border-radius:var(--radius);padding:1rem 1.1rem;display:grid;gap:.35rem}
.mi-kurss h3{font-size:1.05rem}
.skolotaji__cta{margin-top:calc(var(--u)*3)}
.buj__panel{grid-column:7 / span 6}
.faq a{text-decoration:underline}
.ftr__fine{color:var(--c-muted)}
/* Parādīšanās ritinot: tikai nobīde, saturs vienmēr redzams (v3 princips 6); tikai ar JS un bez reduced motion. */
.motion [data-reveal]{translate:0 22px;transition:translate .7s cubic-bezier(.16,1,.3,1)}
.motion [data-reveal].ir-redzams{translate:0 0}
@media (max-width:767px){.buj__panel{grid-column:1 / -1}}

/* Pierakstīta lietotāja konts galvenē */
.hdr__konts{display:flex;align-items:center;gap:.5rem}
.hdr__konts form{margin:0}
.hdr .profile-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .7rem .25rem .25rem;border:2px solid var(--c-edge);border-radius:999px;background:var(--c-card);color:var(--c-fg);font-weight:800;font-size:.85rem;line-height:1.1;transition:translate .25s cubic-bezier(.34,1.56,.64,1)}
.hdr .profile-chip:hover{translate:0 -2px;background:var(--sun);color:var(--violet)}
.hdr .profile-chip img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.hdr .profile-chip small{display:block;font-weight:600;font-size:.7rem;color:var(--c-muted)}
@media (max-width:767px){.hdr .profile-chip span{display:none}.hdr__konts form{display:none}}
.hdr__iziet{display:none}.hdr__iziet form{margin:0}.hdr__iziet button{font:inherit;background:none;border:0;color:inherit}
@media (max-width:767px){.menu-open .hdr__iziet{display:block}}
.vecaki__saites { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: calc(var(--u) * 2); }
.vecaki__saites .ulink { min-height: 44px; display: inline-flex; align-items: center; }
/* Jury 2026-11-05: kājenes saites ar ≥ 44 px skāriena laukumu. */
.ftr__links a { display: inline-flex; align-items: center; min-height: 44px; }
