/* AUTOGENEROVANO CORALEM, neupravovat.
 * Zdroj pravdy je stejnojmenny .less soubor, tento .css se pri kazde
 * synchronizaci prepisuje. Upravy delej v .less souboru. */
/* Světlina 68: styly obrazovky Předmět. Každý soubor LESS se překládá zvlášť, proto tu nejsou proměnné ani mixiny jádra; sklo, barvy, tlačítka a pole bere z 001-svetlina. */
/* Nahrávací plocha (.sv-nahrat) je od Světliny 97 v jádře 001-svetlina.less. */
/* Světlina 101: SEŠIT. Zápisy předmětu jsou strany jednoho sešitu: den a měsíc
   na okraji, žlutá čára okraje, text na linkách a velké diktování dole na palec.
   Ondra 30. 9. 2026: „jak jsou ty poznámky, tak je udělat fakt jako zápisky
   v sešitě nebo spíš jako, hm, zápisky z hodin, řekněme. A všechny ty poznámky
   budou takovej sešit vlastně." Míry tečou od 375 do 1280 px; kde to prohlížeč
   umí, zaokrouhlí se na celé pixely, ať je každá linka stejně ostrá. */
:root {
  --sv-okraj-sesitu: clamp(40px, calc(33.37px + 1.768vw), 56px);
  --sv-okraj-mezera: clamp(10px, calc(8.34px + 0.442vw), 14px);
  --sv-radek: clamp(26px, calc(24.34px + 0.442vw), 30px);
  --sv-radek-posun: calc(var(--sv-radek) * -0.22);
  --sv-cara-okraje: rgba(242, 177, 52, 0.6);
  --sv-linka-listu: rgba(20, 28, 24, 0.11);
}
@supports (width: round(1.5px, 1px)) {
  :root {
    --sv-okraj-sesitu: round(clamp(40px, calc(33.37px + 1.768vw), 56px), 1px);
    --sv-radek: round(clamp(26px, calc(24.34px + 0.442vw), 30px), 1px);
    --sv-radek-posun: round(calc(var(--sv-radek) * -0.22), 1px);
  }
}
/* Zápis vyplní obrazovku: list s linkami se posouvá uvnitř, diktování stojí dole. */
.sv-ram[data-obrazovka="predmet"] .sv-obrazovka.je-aktivni:has(.sv-poznamka) {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 420px;
}
.sv-obrazovka:has(.sv-poznamka) > [data-sv-obsah] {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.sv-poznamka {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}
.sv-obrazovky:has(.sv-obrazovka.je-aktivni .sv-poznamka) .sv-slogan {
  display: none;
}
.sv-poznamka--nacita {
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.sv-mimo-obrazovku {
  position: fixed;
  left: -10000px;
  top: 0;
  width: 640px;
}
/* Nahoře zpět do sešitu, uprostřed listování po stranách, vpravo kopie a Uložit. */
.sv-poznamka__hlava {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--sv-tl-v);
}
/* Potvrzení odchodu během hodiny se na telefonu vejde, nástroje přejdou pod něj. */
.sv-poznamka__hlava:has(.sv-potvrzeni) {
  flex-wrap: wrap;
}
.sv-poznamka__nastroje {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.sv-strany {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin: 0 auto;
  min-width: 0;
  font-size: var(--sv-pismo-s);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--sv-text-2);
}
.sv-strany__cislo {
  padding: 0 4px;
}
.sv-tl.sv-strany__tl {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.sv-tl.sv-strany__tl:hover,
.sv-tl.sv-strany__tl:focus-visible {
  background: var(--sv-hover);
}
.sv-tl.sv-strany__tl:disabled {
  opacity: 0.3;
  cursor: default;
  background: transparent;
  transform: none;
}
/* List sešitu: karta jako ostatní seznamy, žlutá čára okraje přes celou výšku. */
.sv-list {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 160px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--sv-karta-hrana);
  border-radius: var(--sv-r-pole);
  corner-shape: squircle;
  background-color: var(--sv-karta-pozadi);
  background-image: linear-gradient(to right, transparent calc(var(--sv-okraj-sesitu) - 1px), var(--sv-cara-okraje) calc(var(--sv-okraj-sesitu) - 1px), var(--sv-cara-okraje) calc(var(--sv-okraj-sesitu) + 1px), transparent calc(var(--sv-okraj-sesitu) + 1px));
  box-shadow: inset 0 1px 0 var(--sv-karta-odlesk), var(--sv-stin-karta);
}
/* Hlavička listu: na okraji den a měsíc, za čarou stav uložení, téma hodiny, o čem to je a nahrávky. */
.sv-list__hlava {
  display: grid;
  grid-template-columns: var(--sv-okraj-sesitu) minmax(0, 1fr);
  column-gap: var(--sv-okraj-mezera);
  align-items: start;
  padding: var(--sv-karta-y) var(--sv-karta-x) 8px 0;
}
.sv-list__okraj {
  display: flex;
  justify-content: center;
  padding-top: 2px;
}
.sv-list__nadpis {
  min-width: 0;
}
.sv-okraj {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.sv-okraj b {
  font-size: clamp(18px, calc(15.93px + 0.5525vw), 23px);
  font-weight: 800;
  letter-spacing: -0.02em;
}
.sv-okraj small {
  margin-top: 3px;
  font-size: var(--sv-mini);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sv-text-2);
}
.sv-poznamka__meta {
  margin: 0 0 2px;
  font-size: var(--sv-mini);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--sv-text-2);
}
.sv-poznamka__meta:empty {
  display: none;
}
.sv-poznamka__meta.je-chyba {
  color: var(--sv-chyba);
}
/* Světlina 66: téma a podtitul jsou textarea s výškou podle obsahu, dlouhý text se zalomí. */
.sv-poznamka__nazev,
.sv-poznamka__ocem {
  display: block;
  width: 100%;
  min-height: var(--sv-tl-maly);
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-shadow: inherit;
  padding: 2px 0;
  resize: none;
  overflow: hidden;
  field-sizing: content;
}
@supports (field-sizing: content) {
  .sv-poznamka__nazev,
  .sv-poznamka__ocem {
    height: auto !important;
  }
}
.sv-poznamka__nazev {
  font-size: clamp(21px, calc(18.1px + 0.7735vw), 30px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
/* Vyplňové písmo je šedé (Ondra 22. 9. 2026: „tady bych to klidně dal šedě to písmo
   toho, o čem to je, a ten samotný text, protože je to jenom výplňové písmo").
   Napsaný text je plně černý, podtitul O čem to je tlumený. */
.sv-poznamka__ocem {
  font-size: var(--sv-pismo);
  font-weight: 600;
  line-height: 1.45;
  opacity: 0.8;
}
.sv-poznamka__ocem:focus {
  opacity: 1;
}
.sv-poznamka__nazev::placeholder,
.sv-poznamka__ocem::placeholder {
  color: var(--sv-text-2);
  opacity: 0.55;
}
.sv-hodina__nahravky {
  margin: 6px 0 0;
}
.sv-hodina__nahravky:empty {
  display: none;
}
/* Linkovaný list: výška řádku je výška linky, takže text, nadpisy i odrážky stojí
   na linkách; pod textem je vždycky ještě jedna prázdná linka. */
.sv-poznamka__editor {
  flex: 1 0 auto;
  --coral-ed-px: 0px;
  --coral-ed-py: 0px;
}
.sv-poznamka__editor .coral-ed__plocha {
  flex: 1 0 auto;
  min-height: calc(4 * var(--sv-radek));
  overflow: visible;
  padding: 0 var(--sv-karta-x) var(--sv-radek) calc(var(--sv-okraj-sesitu) + var(--sv-okraj-mezera));
  font-size: var(--sv-cteni);
  line-height: var(--sv-radek);
  background-image: linear-gradient(to bottom, transparent calc(var(--sv-radek) - 1px), var(--sv-linka-listu) calc(var(--sv-radek) - 1px));
  background-size: 100% var(--sv-radek);
  background-position: 0 var(--sv-radek-posun);
  background-repeat: repeat-y;
}
.sv-poznamka__editor .coral-ed__r {
  min-height: var(--sv-radek);
  margin: 0;
}
.sv-poznamka__editor .coral-ed__h2,
.sv-poznamka__editor .coral-ed__h3,
.sv-poznamka__editor .coral-ed__h4 {
  margin: 0;
  padding: 0;
  border: 0;
  line-height: var(--sv-radek);
}
.sv-poznamka__editor .coral-ed__h2:not(:first-child) {
  margin-top: var(--sv-radek);
}
/* Světlina 133: v sešitu je # největší nadpis, ## menší a ### nejmenší, všechny tučné bez
   kapitálek a na linkách. Kapslík s čarou z jádra patří dokumentům, tady byl # menší než ##.
   Ondra 30. 9. 2026: „A ty nadpisy jsou dost divný, řekněme v těch poznámkách.“ */
.sv-poznamka__editor .coral-ed__h2 {
  font-size: clamp(19px, calc(17.34px + 0.442vw), 23px);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--sv-text);
}
.sv-poznamka__editor .coral-ed__h3 {
  font-size: var(--sv-cteni-h3);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--sv-text);
}
.sv-poznamka__editor .coral-ed__h4 {
  font-size: var(--sv-cteni);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  color: var(--sv-text-2);
}
.sv-poznamka__editor.je-prazdne .coral-ed__plocha::before {
  opacity: 0.55;
}
/* Světlina 105: přehled sešitu je bez svislé čáry okraje, ta patří jen otevřenému zápisu.
   Datum je kalendářový lístek (měsíc ve žlutém pásku, pod ním den), výtah na dva řádky.
   Ondra 30. 9. 2026: „Ta žlutá čára je tam pěkně hnusná, ale když to překliknu do detailu,
   tak už je to lepší." */
.sv-sesit {
  --sv-kalendar: clamp(44px, calc(39.86px + 1.105vw), 54px);
}
.sv-sesit .sv-zapis > .sv-polozka__hlavni {
  align-items: flex-start;
  gap: var(--sv-okraj-mezera);
  padding-left: 0;
}
.sv-zapis .sv-okraj {
  flex-shrink: 0;
  width: var(--sv-kalendar);
  margin-top: 2px;
  overflow: hidden;
  border: 1px solid var(--sv-druh-hrana);
  border-radius: calc(10px * var(--sv-roh-hladky, 1));
  corner-shape: squircle;
  background: var(--sv-druh-pozadi);
  box-shadow: var(--sv-stin-tl);
}
.sv-zapis .sv-okraj small {
  order: -1;
  align-self: stretch;
  margin: 0;
  padding: 3px 0 2px;
  background: var(--sv-druh);
  text-align: center;
}
/* Světlina 123: druh zápisu má svou barvičku. Ondra 1. 10. 2026: „různý typy barviček
   toho, co tam vytvoří". Vlastní zápis je žlutý jako sešit, přepis hodiny modrozelený
   a zápisky psané rukou inkoustově modré: kalendářový lístek, tečka u názvu druhu
   a čára okraje otevřeného zápisu. */
.sv-zapis,
.sv-list {
  --sv-druh: var(--sv-zluta);
  --sv-druh-hrana: rgba(212, 143, 27, 0.45);
  --sv-druh-pozadi: rgba(255, 236, 180, 0.38);
}
.sv-zapis[data-druh="hodina"],
.sv-list[data-druh="hodina"] {
  --sv-druh: #86d9c7;
  --sv-druh-hrana: rgba(22, 128, 108, 0.45);
  --sv-druh-pozadi: rgba(200, 242, 232, 0.42);
  --sv-cara-okraje: rgba(34, 158, 136, 0.6);
}
.sv-zapis[data-druh="rukopis"],
.sv-list[data-druh="rukopis"] {
  --sv-druh: #aebcff;
  --sv-druh-hrana: rgba(50, 76, 204, 0.45);
  --sv-druh-pozadi: rgba(214, 221, 255, 0.45);
  --sv-cara-okraje: rgba(62, 94, 226, 0.55);
}
.sv-zapis__druh {
  white-space: nowrap;
}
.sv-zapis__druh::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  border-radius: 50%;
  corner-shape: round;
  vertical-align: 1px;
  background: var(--sv-druh);
  box-shadow: inset 0 0 0 1px var(--sv-druh-hrana);
}
/* Nahrát zápisky: na telefonu kulaté tlačítko jen s ikonou vedle Nového zápisu. */
.sv-tl.sv-sesit__import:focus-within {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.3));
  box-shadow: 0 0 0 3px rgba(242, 177, 52, 0.4), var(--sv-stin-tl);
}
@media (max-width: 767px) {
  .sv-tl.sv-sesit__import {
    width: var(--sv-tl-v);
    padding: 0;
  }
}
/* Originály stran převedených zápisků v hlavičce listu; klepnutí je zvětší. */
.sv-predlohy {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  padding: 2px 2px 4px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.sv-predlohy__popis {
  flex-shrink: 0;
  font-size: var(--sv-mini);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--sv-text-2);
}
.sv-predloha {
  flex-shrink: 0;
  display: block;
  height: clamp(60px, calc(57.51px + 0.663vw), 66px);
  aspect-ratio: 3 / 4;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sv-druh-hrana);
  border-radius: calc(8px * var(--sv-roh-hladky, 1));
  corner-shape: squircle;
  background: #fff;
  box-shadow: var(--sv-stin-tl);
  cursor: zoom-in;
  outline: none;
  transition: transform 120ms ease;
}
.sv-predloha img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.sv-predloha:hover {
  transform: translateY(-1px);
}
.sv-predloha:focus-visible {
  box-shadow: 0 0 0 3px rgba(242, 177, 52, 0.45), var(--sv-stin-tl);
}
.sv-zapis .sv-okraj b {
  padding: 5px 0 6px;
}
.sv-zapis .sv-polozka__veta.sv-zapis__vytah {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
}
/* Výstup sdílený víc předměty je u obou, oddělený čarou. */
.sv-spolecne {
  margin: 16px 0 6px;
  padding-top: 12px;
  border-top: 1px solid var(--sv-linka);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
  font-size: var(--sv-pismo);
  opacity: 0.9;
}
/* Světlina 101: diktování je velké tlačítko dole na palec, podržet a mluvit, nebo
   klepnout; vedle něj Celá hodina. Ondra 30. 9. 2026: „to diktování, když budu
   držet hlasový, no furt u těch poznámek není moc významný". */
.sv-diktafon {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sv-diktafon__rada {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.sv-diktafon .coral-dikt__stav[hidden],
.sv-diktafon .coral-dikt__karta[hidden],
.sv-diktafon__mic[hidden] {
  display: none !important;
}
/* Velké tlačítko diktuje samo; z řady Coralu zůstává šipka k diktování z mobilu a Wispr Flow, na dotykovém zařízení nic. */
.sv-diktafon .coral-dikt__rada > [data-diktovani="tady"] {
  display: none !important;
}
@media (pointer: coarse) {
  .sv-diktafon__rada > .coral-dikt {
    display: none;
  }
}
/* Poslouchání ukazuje samo tlačítko, hláška nad ním zůstává jen pro chybu; během hodiny mluví stav hodiny. */
.sv-diktafon:has(.sv-diktafon__mic.je-zapnuto) .coral-dikt__stav:not([data-druh="chyba"]),
.sv-diktafon.je-hodina .coral-dikt__stav,
.sv-diktafon.je-hodina-jinde .coral-dikt__stav {
  display: none !important;
}
/* Diktování roste od 200 do 320 px, ať se vedle něj vejde Celá hodina i kolečko s tužkou. */
.sv-tl.sv-diktafon__mic {
  flex: 1 1 200px;
  min-width: 0;
  max-width: 320px;
  min-height: 56px;
  padding: 6px 24px 6px 18px;
  gap: 12px;
  justify-content: flex-start;
  border-radius: 999px;
  corner-shape: round;
  --sv-ikona: 26px;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
/* Popisky velkého tlačítka (z jádra, Světlina 139) a Celé hodiny mají písmo aplikace;
   přepínání popisků a červený tep při nahrávání dělá jádro pluginu. */
.sv-diktafon__popis,
.sv-diktafon__mic .coral-dikt-velke__popis {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  line-height: 1.15;
  text-align: left;
}
.sv-diktafon__popis b,
.sv-diktafon__mic .coral-dikt-velke__popis b {
  font-size: clamp(16px, calc(15.17px + 0.221vw), 18px);
  font-weight: 800;
}
.sv-diktafon__popis small,
.sv-diktafon__mic .coral-dikt-velke__popis small {
  font-size: var(--sv-mini);
  font-weight: 700;
  opacity: 0.8;
}
/* Během hodiny se tlačítko zmenší na kolečko vedle ní, hodina v jiném zápisu ho schová. */
.sv-diktafon.je-hodina .sv-tl.sv-diktafon__mic {
  flex: 0 0 56px;
  width: 56px;
  padding: 0;
  justify-content: center;
}
.sv-diktafon.je-hodina .sv-diktafon__popis,
.sv-diktafon.je-hodina .coral-dikt-velke__popis {
  display: none;
}
.sv-diktafon.je-hodina-jinde .sv-diktafon__mic {
  display: none;
}
/* Světlina 78: diktování celé hodiny. Nečinné: tlačítko Celá hodina vedle diktování.
   Běží: červená tečka s časem, stav přepisu a Ukončit. Ondra 24. 9. 2026:
   „aby tam bylo výraznější to dektování, aby s fakt věděl, že můžeš prostě
   v hodině to zapnout". */
.sv-hodina {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 2px 0;
}
.sv-diktafon .sv-hodina {
  margin: 0;
}
.sv-diktafon .sv-hodina.je-bezi,
.sv-diktafon .sv-hodina.je-uklada {
  flex: 1 1 260px;
}
.sv-tl.sv-diktafon__hodina {
  min-height: 56px;
  padding: 6px 22px 6px 16px;
  gap: 10px;
  border-radius: 999px;
  corner-shape: round;
}
/* Světlina 115: psaní rukou je kolečko s tužkou vedle diktování, co umí, řekne bublina. */
.sv-diktafon__rukou[hidden] {
  display: none !important;
}
.sv-tl.sv-diktafon__rukou {
  flex: 0 0 56px;
  width: 56px;
  min-height: 56px;
  padding: 0;
  justify-content: center;
  border-radius: 999px;
  corner-shape: round;
  --sv-ikona: 24px;
}
.sv-hodina.je-bezi {
  padding: 10px 12px;
  border: 1px solid rgba(214, 43, 43, 0.35);
  border-radius: var(--sv-r-pole);
  corner-shape: squircle;
  background: rgba(239, 68, 68, 0.08);
}
.sv-hodina__zaznam {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--sv-text-m);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.sv-hodina__tecka {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  corner-shape: round;
  background: #d62b2b;
  box-shadow: 0 0 0 0 rgba(214, 43, 43, 0.5);
  animation: sv-hodina-tep 1.6s ease-out infinite;
}
@keyframes sv-hodina-tep {
  0% {
    box-shadow: 0 0 0 0 rgba(214, 43, 43, 0.5);
  }
  70%,
  100% {
    box-shadow: 0 0 0 8px rgba(214, 43, 43, 0);
  }
}
.sv-hodina__stav {
  flex: 1 1 220px;
  min-width: 0;
  font-size: var(--sv-pismo-s);
  font-weight: 600;
  line-height: 1.4;
  color: var(--sv-text-2);
}
.sv-hodina.je-bezi .sv-hodina__tl {
  margin-left: auto;
}
.sv-hodina.je-bezi .sv-hodina__tl [data-coral-ikona] {
  color: #d62b2b;
}
.sv-hodina.je-uklada {
  min-height: var(--sv-tl-v);
}
/* Světlina 93: pás běžící hodiny nad přehledem předmětu. */
[data-sv-hodina-pas] {
  margin: 0 0 18px;
}
@media (prefers-reduced-motion: reduce) {
  .sv-hodina__tecka {
    animation: none;
  }
}
@media (max-width: 767px) {
  .sv-predmet__hlava > div:not(.sv-formular__akce) {
    order: 2;
    flex: 1;
    min-width: 0;
  }
  /* Na telefonu je diktování přes celou šířku (vedle něj jen šipka Coralu, když je),
       pod ním Celá hodina a kolečko s tužkou; všechny popisky zůstanou celé i na 320 px.
       Během hodiny stojí všechno v jedné řadě: kolečka a mezi nimi běžící hodina. */
  .sv-diktafon__rada {
    gap: 8px;
  }
  .sv-tl.sv-diktafon__mic {
    flex: 1 1 0;
    min-width: 60%;
    max-width: none;
    padding: 6px 14px 6px 12px;
    gap: 10px;
  }
  .sv-diktafon .sv-hodina:not(.je-bezi):not(.je-uklada) {
    flex: 1 1 0;
    min-width: 55%;
  }
  .sv-diktafon.je-hodina .sv-diktafon__rada {
    flex-wrap: nowrap;
  }
  .sv-diktafon.je-hodina .sv-tl.sv-diktafon__mic {
    min-width: 0;
  }
  .sv-tl.sv-diktafon__hodina {
    width: 100%;
    justify-content: flex-start;
    padding: 6px 14px 6px 12px;
  }
  .sv-diktafon__popis small,
  .sv-diktafon__mic .coral-dikt-velke__popis small {
    white-space: normal;
  }
  .sv-hodina.je-bezi .sv-hodina__stav {
    order: 3;
    flex-basis: 100%;
  }
}
