/* Ния учи — една колона като телефон; фон на карирана тетрадка */
:root{
  --paper:#f3f5f9; --sheet:#ffffff; --grid:#e3e8f1;
  --ink:#1b2440; --ink-2:#56607a; --line:#d9dfea;
  --accent:#2f5bea; --accent-ink:#ffffff; --pencil:#ffcf3f; --pencil-ink:#3a2a00;
  --ok:#1f9d63; --warn:#e08a00; --bad:#d64545;
  --display:"Unbounded","Golos Text",system-ui,sans-serif;
  --body:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){:root{
  --paper:#0f1424; --sheet:#171e33; --grid:#1a2238; --ink:#e8ecf7; --ink-2:#9aa4bf; --line:#2a3452;
  --accent:#7b9bff; --accent-ink:#0b1022; --pencil:#ffd95c; --pencil-ink:#2b2000;
  --ok:#3ccf8e; --warn:#ffb340; --bad:#ff7a7a; color-scheme:dark}}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:15px/1.45 var(--body);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:22px 22px}
a{color:var(--accent)}
img{max-width:100%;height:auto}
.app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--sheet);display:flex;flex-direction:column;
  border-inline:1px solid var(--line)}
.top{position:sticky;top:0;z-index:5;background:var(--sheet);padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}
.top .who{font:700 17px var(--display)}
.top .sub{font-size:12px;color:var(--ink-2)}
.me{width:36px;height:36px;border-radius:50%;background:var(--pencil);color:var(--pencil-ink);display:grid;place-items:center;
  font-weight:700;text-decoration:none}
.screen{flex:1;padding:14px 16px 96px;display:flex;flex-direction:column;gap:14px}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:5;max-width:560px;margin:0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;
  background:var(--sheet);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 11px;font-size:12px;color:var(--ink-2);text-decoration:none}
.tabs svg{width:24px;height:24px}
.tabs a[aria-current]{color:var(--accent);font-weight:700}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

h2{font:500 15px var(--display);margin:0;text-wrap:balance}
.lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-weight:600}
.muted{color:var(--ink-2);font-size:13px}
.big{font-size:17px}
.tnum{font-variant-numeric:tabular-nums}
.row{display:flex;align-items:center;gap:10px}
.between{justify-content:space-between}
.grow{flex:1}
.min0{min-width:0}
.card{display:block;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--sheet);color:inherit;text-decoration:none}
.flash{background:color-mix(in srgb,var(--ok) 14%,var(--sheet));border:1px solid var(--ok);border-radius:12px;padding:10px 14px;font-weight:600}
.err{color:var(--bad);font-weight:600;margin:0}
.okmsg{color:var(--ok);font-weight:600;margin:0}
.dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}
.chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;text-decoration:none}
.chip.test{background:color-mix(in srgb,var(--bad) 15%,transparent);color:var(--bad)}
.chip.hw{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.chip.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.chip.todo{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.btn{display:block;width:100%;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);font:700 15px var(--body);
  padding:13px 16px;cursor:pointer;text-align:center;text-decoration:none}
.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
.btn.red{background:var(--bad);color:#fff}
.btn[disabled]{opacity:.6}
.pomagala{display:grid;gap:8px;margin:0 0 12px}

/* мисии */
.mission{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.mission.soon{opacity:.6}
.ring{width:44px;height:44px}
.ring circle{fill:none;stroke-width:5}
.ring .bg{stroke:var(--line)}
.ring .fg{stroke:var(--ok);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}
.mission .min{font:500 14px var(--display);color:var(--ink-2);white-space:nowrap}
.mission .min.won{color:var(--ok)}
.mission .ikona{width:44px;height:44px;display:grid;place-items:center;font-size:26px}

/* часове */
.lessons{padding-block:4px}
.lesson{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line);
  color:inherit;text-decoration:none}
.lesson:last-child{border-bottom:0}
.lesson .n{font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:13px;text-align:right}
.lesson .nm{font-weight:600;min-width:0;display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.lesson .nm small{display:block;font-weight:400;font-size:12px}
.lesson .n.ext{font-size:9px;font-weight:700;letter-spacing:.03em;text-align:left;width:auto}
.lesson:has(.ext){grid-template-columns:36px 1fr auto}
.strip{display:flex;gap:6px;flex-wrap:wrap}
.event{display:grid;grid-template-columns:4px 1fr auto;gap:10px;align-items:center}
.event .bar{align-self:stretch;border-radius:4px}
.event .note{font-size:13px;margin-top:4px}
.stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.link-del{border:0;background:none;color:var(--ink-2);font:12px var(--body);text-decoration:underline;cursor:pointer;padding:0}

/* календар */
.nav-arrow{font:500 22px var(--display);text-decoration:none;padding:0 10px}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.day{border:1px solid var(--line);border-radius:12px;padding:8px 4px;text-align:center;color:inherit;text-decoration:none;display:flex;flex-direction:column}
.day .d{font:500 16px var(--display);font-variant-numeric:tabular-nums}
.day .w{font-size:11px;color:var(--ink-2)}
.day.today .w{color:var(--accent);font-weight:700}
.day .marks{display:flex;justify-content:center;gap:3px;margin-top:4px;min-height:8px}
.day .marks i{width:7px;height:7px;border-radius:50%}
.m-test{background:var(--bad)} .m-hw{background:var(--warn)}
.day[aria-current]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--sheet))}
details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
details[open]>summary{margin-bottom:10px}

/* предмети */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tile{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--sheet);color:inherit;text-decoration:none;
  display:flex;flex-direction:column;gap:8px;min-width:0}
.badge{width:34px;height:34px;border-radius:10px;color:#fff;font:700 12px var(--display);display:inline-grid;place-items:center;flex:none}
.badge.sm{width:28px;height:28px;font-size:10px;border-radius:8px;vertical-align:middle}
.badge.lg{width:46px;height:46px;font-size:14px;border-radius:12px}
.tile .t{font-weight:700;font-size:14px;line-height:1.2}
.tile .s{font-size:11px;color:var(--ink-2)}
.tile .flags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sys{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--ink-2)}
.subhead{display:flex;gap:12px;align-items:center}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--paper);border-radius:12px;padding:3px;gap:3px}
.seg a,.seg label span{display:block;text-align:center;border-radius:9px;padding:8px 2px;font:600 12px var(--body);color:var(--ink-2);text-decoration:none;cursor:pointer}
.seg a[aria-current],.seg input:checked+span{background:var(--sheet);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.seg.kinds{grid-template-columns:repeat(3,1fr)}
.seg.kinds.four{grid-template-columns:repeat(4,1fr)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg input:focus-visible+span{outline:2px solid var(--accent)}
.entry{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.thumbs{display:flex;gap:4px;align-items:center}
.thumbs img{width:48px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.thumbs .more{font-size:12px;color:var(--ink-2)}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.photo{display:block;width:100%;border-radius:10px;border:1px solid var(--line)}
.danger summary{color:var(--bad)}

/* формуляри */
.form{display:flex;flex-direction:column;gap:8px}
.form label{font-size:13px;font-weight:600;color:var(--ink-2)}
input,select,textarea{font:16px var(--body);color:var(--ink);background:var(--sheet);border:1.5px solid var(--line);border-radius:10px;
  padding:10px 12px;width:100%}
input[type=color]{padding:2px;height:44px;width:64px}
input[type=checkbox],input[type=radio]{width:auto}
.check{display:flex;gap:8px;align-items:center}
.form .btn{margin-top:6px}
.login{max-width:380px;margin:12vh auto 0;display:flex;flex-direction:column;gap:10px}
.logo{font:700 28px var(--display);color:var(--accent)}

/* качване */
.step{display:flex;gap:10px;align-items:center;margin-top:6px}
.step .k{width:28px;height:28px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:13px}
.shot{border:2px dashed var(--line);border-radius:14px;padding:16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.shot input{position:absolute;opacity:0;width:1px;height:1px}
.shot:focus-within{border-color:var(--accent)}
.form .shot strong{color:var(--accent);font-size:15px}
.form .shot span{font-weight:400}
.previews{display:flex;gap:6px;flex-wrap:wrap}
.previews:empty{display:none}
.pv{position:relative}
.pv img{width:64px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.pv button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--bad);color:#fff;font-weight:700;cursor:pointer;line-height:1}
.progress{position:relative;height:28px;border-radius:8px;background:var(--paper);overflow:hidden}
.progress .bar-in{position:absolute;inset:0 auto 0 0;width:0;background:color-mix(in srgb,var(--ok) 35%,transparent);transition:width .2s}
.progress .ptext{position:relative;display:block;text-align:center;line-height:28px;font-size:13px;font-weight:600}

/* настройки */
.tt-wrap{overflow-x:auto;margin-inline:-4px}
.tt{border-collapse:collapse;width:100%;min-width:480px}
.tt th,.tt td{padding:3px;border-bottom:1px dashed var(--line);vertical-align:middle}
.tt thead th{font-size:12px;color:var(--ink-2)}
.tt tbody th{text-align:left;font-weight:400;white-space:nowrap}
.tt select{padding:6px 4px;font-size:14px}
.tt .time{width:58px;padding:4px;font-size:12px;display:block;margin-top:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* корици на учебниците */
.korica{width:52px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--line);box-shadow:0 2px 6px rgba(0,0,0,.12);display:block}
.korica.sm{width:44px;height:61px}
.korici{display:flex;gap:4px;flex:none}
.vrazki{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.lesson.ucha{grid-template-columns:28px 1fr}
.lesson.ucha .vrazki{grid-column:2;margin-top:0}
.snimki{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}
.snimki img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.thumb-empty{display:block;width:48px;height:64px;border-radius:6px;border:1px dashed var(--line)}
.small{font-size:12px}
/* плочките в „Уроци“: учебник · учебна тетрадка · бяла тетрадка */
.plochki{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.plochka{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none;font-size:13px;line-height:1.25}
.plochka img,.plochka .bez-korica{width:100%;aspect-ratio:36/50;object-fit:cover;border-radius:10px;border:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.plochka .bez-korica{display:grid;place-items:center;text-align:center;padding:8px;border-style:dashed;box-shadow:none;color:var(--ink-2);font-weight:600}
.plochka .muted{font-size:12px}
.lesson.den{grid-template-columns:40px 1fr auto;color:inherit;text-decoration:none}
.lesson.den .nm{display:block}
.lesson.den .nm .muted{font-weight:400;font-size:12px}
/* логото на училището */
.uchilishte{display:block;flex:none;line-height:0}
.uchilishte img{height:38px;width:auto}
.uchilishte.golyamo{align-self:flex-start;margin:4px 0}
.uchilishte.golyamo img{height:84px}
.grow{flex:1}
/* бутон „назад“ в горната лента (вътрешните страници) */
.nazad{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.nazad svg{width:22px;height:22px}
.nazad:active{background:var(--line)}
/* преглед на снимка на цял екран */
.pregled{position:fixed;inset:0;z-index:50;background:rgba(5,8,16,.96);display:grid;place-items:center;overflow:hidden;touch-action:none}
.pregled[hidden]{display:none}
.pregled img{max-width:100vw;max-height:100dvh;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none;touch-action:none}
.pregled-gore{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;
  padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px 16px;background:linear-gradient(rgba(0,0,0,.6),transparent);color:#fff;font-weight:600}
.pregled .zatvori{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.pregled .strelka{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:12px;
  background:rgba(255,255,255,.12);color:#fff;font-size:34px;cursor:pointer}
.pregled .prev{left:6px}.pregled .next{right:6px}
.pregled .strelka[hidden]{display:none}
/* „След училище“ на Днес */
.stapki{margin:0 0 6px;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.lesson.sled-red{grid-template-columns:10px 1fr auto}
.lesson.sled-red .vrazki{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.preduprezhdenie{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:color-mix(in srgb,var(--warn) 9%,var(--sheet));display:flex;flex-direction:column;gap:4px}
.preduprezhdenie code{font-size:12px;word-break:break-all}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.shots .shot{padding:14px 8px}
.form .shots .shot span{font-size:12px}
/* проверката на домашно */
.proverka{display:flex;flex-direction:column;gap:10px}
.zadacha{display:flex;flex-direction:column;gap:6px;border-left-width:4px}
.zadacha.ok{border-left-color:var(--ok)}.zadacha.test{border-left-color:var(--bad)}.zadacha.hw{border-left-color:var(--warn)}
.zadacha p{margin:0}
.zadacha .greshka{color:var(--bad)}
.zadacha .nasoka{background:color-mix(in srgb,var(--pencil) 14%,transparent);border-radius:8px;padding:6px 8px}
.card.teche{border-style:dashed}
.chip.otkaz{border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;font-size:11px;font-weight:700}
/* „Виж проверката от учител“ при снимките на датата */
.ot-uchitel > summary{list-style:none;display:flex;justify-content:center;align-items:center;gap:8px;cursor:pointer}
.ot-uchitel > summary::-webkit-details-marker{display:none}
.ot-uchitel[open] > summary{margin-bottom:10px}
.lesson.den .stack{gap:3px}
/* „Подготовка за утре“: резюмето и куизът */
.rezyume{display:flex;flex-direction:column;gap:10px}
.rezyume h2{margin:6px 0 0}
.tekst p{margin:0 0 8px;line-height:1.5}
.tekst p:last-child{margin-bottom:0}
.lbl.izvor{margin-top:10px}
.ponyatiya{margin:6px 0 0}
.ponyatiya dt{font-weight:700;margin-top:8px}
.ponyatiya dd{margin:2px 0 0}
.kuiz fieldset{margin:0;display:flex;flex-direction:column;gap:6px}
.kuiz legend{float:left;width:100%;margin-bottom:4px;padding:0}
.otgovor{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:400 !important;color:var(--ink) !important;font-size:15px !important}
.otgovor input{margin-top:3px;flex:none}
.otgovor:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--sheet))}
.zadacha .small.greshka{color:var(--bad)}

/* Прогрес */
.statove{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.stat{background:var(--sheet);border-radius:12px;padding:10px 12px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.stat b{display:block;font:700 22px var(--body);font-variant-numeric:tabular-nums}
.stat small{color:var(--ink-2)}
.sedmici{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.sedmici th,.sedmici td{padding:6px 4px;text-align:right;border-bottom:1px solid var(--paper)}
.sedmici th:first-child,.sedmici td:first-child{text-align:left}
.sedmici th{font:600 12px var(--body);color:var(--ink-2)}
.sedmici td.nula{color:var(--ink-2)}

/* Играта: точки, нива, стълба, трофеи, похвали */
.pohvala{position:relative;overflow:hidden;border-radius:16px;padding:14px 16px;color:#1b1300;
  background:linear-gradient(135deg,#ffe27a,#ffb84d);box-shadow:0 6px 18px rgba(255,170,40,.35);animation:izskok .5s cubic-bezier(.2,1.6,.4,1)}
.pohvala-gore{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;font:600 16px var(--display)}
.tochki-chip{flex:none;background:#1b1300;color:#ffd95c;border-radius:999px;padding:3px 10px;font:700 14px var(--body);animation:puls 1.2s ease-in-out 2}
@keyframes izskok{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes puls{50%{transform:scale(1.18)}}
.igra-lenta{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--sheet)),var(--sheet))}
.igra-emoji{font-size:34px;line-height:1}
.lenta{height:10px;border-radius:99px;background:var(--line);overflow:hidden;margin:5px 0 3px}
.lenta i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffcf3f,#ff8a3d);animation:napalni 1.2s ease-out}
.lenta.golyama{height:14px;background:rgba(255,255,255,.25)}
@keyframes napalni{from{width:0!important}}
.ogan{display:flex;flex-direction:column;align-items:center;line-height:1;font-size:22px}
.ogan b{font:700 15px var(--display);color:#ff6a00}
.ogan.sivo{filter:grayscale(1);opacity:.55}
.ogan.golyam{font-size:30px}.ogan.golyam b{font-size:20px;color:#fff}.ogan small{font-size:10px;color:rgba(255,255,255,.85)}
.ogan:not(.sivo) span{animation:plamak 1.6s ease-in-out infinite;display:inline-block;transform-origin:50% 90%}
@keyframes plamak{50%{transform:scale(1.12) rotate(-4deg)}}
.igra-geroi{border-radius:18px;padding:16px;color:#fff;display:flex;flex-direction:column;gap:6px;
  background:linear-gradient(160deg,#4f46e5,#2f5bea 55%,#0ea5e9);box-shadow:0 8px 24px rgba(47,91,234,.35)}
.geroi-nivo{display:flex;align-items:center;gap:12px}
.geroi-emoji{font-size:48px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25));animation:podskok 2.4s ease-in-out infinite}
@keyframes podskok{50%{transform:translateY(-5px)}}
.geroi-nivo .min0{flex:1}
.geroi-ime{font:700 22px var(--display)}
.lbl.svetlo{color:rgba(255,255,255,.8)}
.geroi-tochki{font-size:14px}.geroi-tochki b{font:700 30px var(--display)}
.geroi-slogan{margin:4px 0 0;font-style:italic;font-size:13px;color:rgba(255,255,255,.92)}
.sedm-grafika{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;align-items:end;text-align:center}
.sg{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink-2)}
.sg-st{width:70%;max-width:26px;border-radius:6px 6px 2px 2px;background:color-mix(in srgb,var(--accent) 55%,transparent);animation:rasti .8s ease-out both}
.sg.dnes .sg-st{background:linear-gradient(#ffcf3f,#ff8a3d)}.sg.dnes small{color:var(--ink);font-weight:700}
@keyframes rasti{from{transform:scaleY(0);transform-origin:bottom}}
/* стълбата: пътека нагоре (най-горе е следващото) */
.stalba{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 4px;border-radius:16px;
  background:linear-gradient(180deg,color-mix(in srgb,#0ea5e9 14%,var(--sheet)),color-mix(in srgb,#22c55e 12%,var(--sheet)))}
.stalba-gore{padding:4px 0}
.stapalo{display:grid;grid-template-columns:72px 150px;gap:10px;align-items:center;transform:translateX(var(--dx));
  animation:izkachi .5s ease-out both;animation-delay:calc(var(--i) * 70ms)}
@keyframes izkachi{from{opacity:0;transform:translate(var(--dx),14px)}}
.vazel{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:30px;justify-self:center;
  background:var(--line);box-shadow:0 5px 0 color-mix(in srgb,var(--ink) 20%,transparent)}
.minato .vazel{background:linear-gradient(145deg,#ffe27a,#f5a623);box-shadow:0 5px 0 #c27c0e}
.tuk .vazel{width:76px;height:76px;font-size:36px;background:conic-gradient(#ff8a3d calc(var(--p) * 1%),var(--line) 0);box-shadow:0 0 0 6px color-mix(in srgb,#ff8a3d 25%,transparent);animation:tuk 1.8s ease-in-out infinite}
.tuk .vazel span{width:62px;height:62px;border-radius:50%;background:var(--sheet);display:grid;place-items:center}
@keyframes tuk{50%{box-shadow:0 0 0 12px color-mix(in srgb,#ff8a3d 10%,transparent)}}
.zaklyucheno .vazel{font-size:22px;opacity:.75}
.az{position:absolute;right:-26px;bottom:-4px;font-size:30px;font-style:normal;animation:podskok 1.4s ease-in-out infinite}
.etiket{display:flex;flex-direction:column;line-height:1.25}
.etiket b{font-size:13px}.etiket small{font-size:11px;color:var(--ink-2)}
.tuk .etiket b{font-size:15px;color:#ff6a00}
.etiket .nagr{color:var(--ink);font-weight:600}
.zaklyucheno .etiket{opacity:.75}
/* трофеите */
.trofei{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.trofei.mini{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:6px 0}
.trofei-k{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:10px 6px;border-radius:14px;
  border:1px dashed var(--line);color:var(--ink-2);line-height:1.2}
.trofei-k .e{font-size:28px;filter:grayscale(1);opacity:.5}
.trofei-k b{font-size:12px}.trofei-k small{font-size:10px}
.trofei-k.otkl{border:1px solid #f5c84c;background:linear-gradient(160deg,color-mix(in srgb,#ffe27a 30%,var(--sheet)),var(--sheet));color:var(--ink)}
.trofei-k.otkl .e{filter:none;opacity:1}
.ocenka{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:700 14px var(--display);color:#fff;background:var(--ink-2)}
.ocenka.o6{background:#1f9d63}.ocenka.o5{background:#2f5bea}.ocenka.o4{background:#e08a00}
.lesson .ocenka+.nm small{display:block}
.lesson.tochka{grid-template-columns:28px 1fr auto;font-size:14px}
.lesson.tochka .n{font-size:18px;text-align:center}
.plus{color:var(--ok);font-variant-numeric:tabular-nums;white-space:nowrap}
.pohvali-vid{margin-top:8px}
/* празнуването */
.praznik{position:fixed;inset:0;z-index:60;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:16px;
  background:rgba(10,14,30,.72);display:grid;place-items:center}
.praznik:not([open]){display:none}
.praznik-in{background:var(--sheet);color:var(--ink);border-radius:22px;padding:22px 18px;max-width:380px;width:100%;text-align:center;
  display:flex;flex-direction:column;gap:8px;animation:izskok .6s cubic-bezier(.2,1.6,.4,1)}
.praznik-emoji{font-size:72px;line-height:1;animation:podskok 1.6s ease-in-out infinite}
.praznik-ime{font:700 22px var(--display)}
.praznik p{margin:0}
.nagrada{background:linear-gradient(135deg,#ffe27a,#ffb84d);color:#1b1300;border-radius:14px;padding:10px 12px}
.nagrada .muted{color:#5a4200}
.konfeti{position:fixed;top:-12px;z-index:70;width:9px;height:14px;border-radius:2px;pointer-events:none;animation:pada linear forwards}
@keyframes pada{to{transform:translate(var(--x),105vh) rotate(var(--r));opacity:.9}}
@media (prefers-reduced-motion:reduce){.pohvala,.praznik-in,.stapalo,.lenta i,.sg-st,.geroi-emoji,.az,.praznik-emoji,.tuk .vazel,.ogan span{animation:none!important}.konfeti{display:none}}

/* лентата с тестовете за контролните — най-отгоре на „Днес“ */
.kontrolni-lenta{border:3px solid var(--bad);border-radius:16px;padding:12px;margin:0 0 14px;background:color-mix(in srgb,var(--bad) 8%,var(--sheet));display:flex;flex-direction:column;gap:8px}
.kontrolni-lenta h2{margin:0;font:800 20px/1.2 var(--display);color:var(--bad);text-transform:uppercase;letter-spacing:.01em}
.kontrolni-lenta .vazhno{font:800 15px var(--display);color:var(--bad);text-transform:uppercase}
.kontrolni-lenta .card{margin:0}
.razyasnenie{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.razyasnenie summary{cursor:pointer;font-weight:600}
.razyasnenie .tekst p{margin:6px 0}

/* На компютър (широк екран и мишка, Димо 01.11.2026): по-широка колона и всичко по-едро.
   zoom увеличава пропорционално и шрифтовете (те са в px); прегледът на снимки е извън .app и не се пипа. Телефонът — без промяна. */
@media (min-width:1000px) and (hover:hover) and (pointer:fine){
  .app{zoom:1.25;max-width:720px}
  .tabs{max-width:720px}
  .screen{gap:16px}
}
@media (min-width:1500px) and (hover:hover) and (pointer:fine){
  .app{zoom:1.4;max-width:760px}
  .tabs{max-width:760px}
}
.pismeno-zadachi{padding-left:1.4em;margin:.4em 0}
.list-tekst{margin:.5em 0 14px;padding:12px;border-radius:10px;background:rgba(100,116,139,.1);line-height:1.55}
.list-tekst h3,.list-vaprosi{margin:0 0 8px;font-size:17px}
.list-red{display:grid;grid-template-columns:1.7em 1fr;column-gap:8px}
.list-red span:first-child{text-align:right;font-size:12px;opacity:.55;padding-top:2px}
.list-prazen{height:8px}
.plan-skrit{margin:0 0 12px}
.test-str{display:block;width:100%;height:auto;border-radius:6px}
.test-pdf h3{margin:14px 0 8px}
.podskazka{margin:.3em 0 .7em}
.podskazka>summary{display:inline-block;padding:3px 14px;border:1.5px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:600;font-size:13px}
details.podskazka[open]>summary{margin-bottom:6px}
.podskazka>div{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--pencil) 14%,transparent);font-size:14px;line-height:1.45}
.plan-skrit>summary{text-align:center}
.pismeno-zadachi li{margin:.55em 0;line-height:1.45}
.pismeno .previews{display:flex;flex-wrap:wrap;gap:.4em}
.pismeno .pv img{width:84px;height:84px;object-fit:cover;border-radius:8px}
/* „Задължително за запомняне“ в Подготовка на предмета (app/zapomni/<код>.html) */
.zapomni{margin:10px 0;font-size:15px;line-height:1.5;border-color:var(--pencil)}
.zapomni>summary{cursor:pointer;font-weight:700;list-style:none}
.zapomni>summary::-webkit-details-marker{display:none}
.zapomni>summary::before{content:"▸ "}.zapomni[open]>summary::before{content:"▾ "}
.zapomni .str{color:var(--ink-2);font-size:13px;margin:8px 0}
.zapomni ul.cs{padding-left:20px;margin:4px 0 8px}
.zapomni table{border-collapse:collapse;width:100%;font-size:14px;margin:4px 0 8px}
.zapomni td{border:1px solid var(--line);padding:4px 6px;vertical-align:top}
.zapomni .kak{background:color-mix(in srgb,var(--pencil) 25%,var(--sheet));border-radius:10px;padding:8px 10px;margin:6px 0 10px}
.zapomni .kw{display:inline-block;font-size:11px;font-weight:700;color:#fff;border-radius:999px;padding:0 7px;margin-right:4px}
.zapomni .k1{background:#2f5bea}.zapomni .k2{background:#1f9d63}.zapomni .k3{background:#b86e00}.zapomni .k4{background:#8b3fd1}
.zapomni details{margin-top:6px}.zapomni details summary{cursor:pointer;color:var(--accent)}
.zapomni .a{background:color-mix(in srgb,var(--ok) 10%,var(--sheet));border-radius:10px;padding:8px 10px;margin-top:6px}
.zapomni a{color:var(--accent)}
.zapomni-wrap{margin:10px 0}.zapomni-wrap .zapomni{margin:0 0 6px}
@media print{
  body.pechat-zapomni *{visibility:hidden}
  body.pechat-zapomni .zapomni.pechat,body.pechat-zapomni .zapomni.pechat *{visibility:visible}
  body.pechat-zapomni .zapomni.pechat{position:absolute;left:0;top:0;width:100%;border:0;padding:0;zoom:1;font-size:12pt;color:#000;background:#fff}
  body.pechat-zapomni .zapomni.pechat summary::before,body.pechat-zapomni .zapomni.pechat a[href^="/podgotovka"],body.pechat-zapomni .zapomni.pechat a[href^="/vazov"]{display:none}
  body.pechat-zapomni .app{zoom:1}
  .zapomni.pechat .kw{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .zapomni.pechat table,.zapomni.pechat .kak,.zapomni.pechat li{break-inside:avoid}
}

/* „Питай учителя“ */
.vapros{margin:6px 0 16px}
.vapros-lbl{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.vapros-red{display:flex;gap:6px;align-items:flex-end}
.vapros-red textarea{flex:1;min-width:0;font:inherit;padding:8px 10px;border:1px solid #cbd5e1;border-radius:10px;resize:vertical;box-sizing:border-box}
.vapros-red .btn{width:auto;flex:none;margin:0}
.vapros-par{margin-top:8px;padding:10px 12px;border-radius:10px;background:rgba(100,116,139,.12)}
.vapros-q{font-weight:600;margin-bottom:4px;white-space:pre-wrap}
.vapros-a{white-space:pre-wrap;line-height:1.5}
.vapros-greshka{margin-top:8px;color:#b91c1c;font-size:14px}
@media print{.vapros{display:none}}

/* темите от уроците за контролно (10.11.2026): списък най-горе + мисловна карта */
.temi-spisak{display:grid;gap:6px;margin:0 0 14px}
.temi-spisak .lbl{font-size:12px;font-weight:700;color:var(--ink-2);margin:6px 0 0}
.tema-red{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--sheet);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
.tema-red .tema-ime{min-width:0}
.tema-red.tuk{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.tema-red.reshena .tema-ime{color:var(--ink-2)}
.mind-map{display:grid;gap:10px;margin:0 0 12px}
.mm-centar{justify-self:center;text-align:center;padding:10px 18px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:15px;max-width:100%}
.mm-klonove{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));position:relative}
.mm-klon{--c:hsl(var(--h) 70% 45%);border:1px solid color-mix(in srgb,var(--c) 45%,var(--line));border-left:5px solid var(--c);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--c) 8%,var(--sheet))}
@media (prefers-color-scheme: dark){.mm-klon{--c:hsl(var(--h) 75% 65%)}}
.mm-ime{font-weight:800;color:var(--c);margin:0 0 6px}
.mm-klon ul{margin:0;padding:0 0 0 18px;display:grid;gap:3px}
.mm-klon li{font-size:14px;line-height:1.35}

/* текстът на темата: блокове с подзаглавие, редове, удебелено (10.11.2026) */
.tema-tekst .t-blok{margin:0 0 12px}
.tema-tekst .t-blok:last-child{margin-bottom:0}
.tema-tekst .t-zgl{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--accent);margin:0 0 4px}
.tema-tekst ul{margin:0;padding:0 0 0 18px;display:grid;gap:4px}
.tema-tekst p{margin:0 0 4px}
.tema-tekst b{font-weight:700}
.rezyume.tema>[data-pechat-tema]{width:100%;margin:0 0 10px}
@media print{
  body.pechat-tema *{visibility:hidden}
  body.pechat-tema .rezyume.tema .za-pechat,body.pechat-tema .rezyume.tema .za-pechat *{visibility:visible}
  body.pechat-tema .rezyume.tema{position:absolute;left:0;top:0;width:100%}
  body.pechat-tema .rezyume.tema>:not(.za-pechat){display:none}
  body.pechat-tema .app{zoom:1}
  body.pechat-tema .za-pechat{border:0;background:#fff;color:#000;font-size:11pt;padding:0;margin:0 0 10pt}
  body.pechat-tema .za-pechat summary{list-style:none;font-size:13pt}
  body.pechat-tema .za-pechat summary::-webkit-details-marker,body.pechat-tema .za-pechat summary::before{display:none}
  body.pechat-tema .t-zgl{color:#1f3fb0}
  body.pechat-tema .t-blok,body.pechat-tema .mm-klon{break-inside:avoid}
  body.pechat-tema .mind-map{break-before:page}
  body.pechat-tema .mm-klonove{grid-template-columns:1fr 1fr}
  body.pechat-tema .mm-klon,body.pechat-tema .mm-centar{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.pechat-tema .mm-klon{--c:hsl(var(--h) 70% 38%);background:#fff}
}
/* заглавието на темата — само при разпечатване, най-горе (номер на урока и име) */
.tema-zgl-pechat{display:none}
@media print{
  body.pechat-tema .tema-zgl-pechat{display:block;border-bottom:2pt solid #1f3fb0;padding:0 0 6pt;margin:0 0 12pt}
  body.pechat-tema .tzp-ime{font-size:18pt;font-weight:800;color:#000}
  body.pechat-tema .tzp-pod{font-size:10pt;color:#444}
}
@media print{html:has(body.pechat-tema),body.pechat-tema{background:#fff !important;background-image:none !important}}
/* картинка към въпрос от теста (от презентациите на учителя) */
.vapros-snimka{display:block;max-width:100%;max-height:260px;margin:8px auto;border-radius:10px;object-fit:contain;background:#fff}
/* свързващ въпрос (10.11.2026): понятие → падащо меню с определенията */
.sv-pole{display:grid;gap:4px;margin:8px 0 0}
.sv-pole select{width:100%;padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--sheet);color:var(--ink);font:inherit;font-size:14px;white-space:normal}
.svarzvane-rez{display:grid;gap:4px;margin:6px 0}
.sv-red{font-size:14px;padding:6px 8px;border-radius:8px}
.sv-red.ok{background:color-mix(in srgb,var(--ok) 12%,transparent)}
.sv-red.greshno{background:color-mix(in srgb,var(--bad) 12%,transparent)}
.sv-red.greshno s{color:var(--bad)}
.sv-red.greshno span{color:var(--ok);font-weight:700}
/* линия на времето (12.11.2026): местата по ред, свързани с вертикална линия; до всяко — падащо меню със събитията */
.hron{position:relative;margin:8px 0 0;padding-left:30px}
.hron::before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:3px;border-radius:2px;background:linear-gradient(var(--accent),var(--ok))}
.hron>.sv-pole,.hron>.sv-red{position:relative}
.hron>.sv-pole::before,.hron>.sv-red::before{content:attr(data-n);position:absolute;left:-30px;top:6px;width:22px;height:22px;border-radius:50%;background:var(--sheet);border:2px solid var(--accent);font-size:12px;font-weight:700;display:grid;place-items:center;color:var(--ink)}
.hron-krai{font-size:12px;color:var(--pencil);margin:2px 0}
/* печат на темата: системен шрифт с истински удебелен вариант (уеб шрифтът Golos е зареден до 700, а принтерът губеше удебеленото) */
@media print{
  body.pechat-tema .za-pechat,body.pechat-tema .za-pechat *,body.pechat-tema .tema-zgl-pechat *{font-family:Arial,"Helvetica Neue","Liberation Sans",Helvetica,sans-serif !important}
  body.pechat-tema .tema-tekst b,body.pechat-tema .mm-klon b{font-weight:700 !important;color:#000}
  body.pechat-tema .tema-tekst li,body.pechat-tema .tema-tekst p{color:#222}
  body.pechat-tema .t-zgl,body.pechat-tema .mm-ime,body.pechat-tema .tzp-ime,body.pechat-tema .mm-centar{font-weight:700 !important}
}
/* печат на темата: по-едри букви (10.11.2026) */
@media print{
  body.pechat-tema .za-pechat{font-size:12.5pt;line-height:1.4}
  body.pechat-tema .tema-tekst li,body.pechat-tema .tema-tekst p{font-size:12.5pt}
  body.pechat-tema .t-zgl{font-size:11pt;margin-top:2pt}
  body.pechat-tema .za-pechat summary{font-size:15pt}
  body.pechat-tema .tzp-ime{font-size:20pt}
  body.pechat-tema .tzp-pod{font-size:11pt}
  body.pechat-tema .mm-centar{font-size:14pt}
  body.pechat-tema .mm-ime{font-size:12.5pt}
  body.pechat-tema .mm-klon li{font-size:11.5pt}
}
