/* Kit – vzhled "Lobby" (modra arena, zlute 3D tlacitka, bile pismo s tmavou konturou)
   Layout: jeden sloupec do 560 px (mobil), rodicovsky prehled az 1180 px. */
:root{
  --ink:#0a1440;--sky1:#38b0ff;--sky2:#157ae8;--sky3:#0a45b5;
  --panel:#1e66dc;--panel-hi:#3a8af5;--panel-dk:#1550b8;
  --yel:#ffcc1f;--yel-hi:#ffe066;--yel-dk:#e58a00;
  --red:#ff4f4f;--red-hi:#ff8080;--red-dk:#c41f2f;
  --grn:#45cf5c;--grn-hi:#7af08c;--grn-dk:#1f8f35;
  --org:#ff9a1f;--pink:#ff7ac3;--vio:#6d5cf5;
  --txt:#fff;--mut:#d3e4ff;--card:#fff;--card-ink:#0a1440;
  --disp:"Paytone One","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;
  --body:"Nunito",ui-rounded,"SF Pro Rounded",system-ui,sans-serif;
  --st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--sky3);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--body);color:var(--txt);-webkit-font-smoothing:antialiased;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 26px,rgba(255,255,255,0) 26px 52px),radial-gradient(130% 75% at 50% 0%,var(--sky1) 0%,var(--sky2) 48%,var(--sky3) 100%) fixed;
  overscroll-behavior-y:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
img{max-width:100%}
a{color:var(--yel)}
:focus-visible{outline:3px solid var(--yel);outline-offset:3px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* obrys pisma jako v Brawl Stars */
.ol,.tb-title,.btn,.hello-title,.app-lb,.h2,.mode b,.jbtn,.list-h b,.star-msg,.res-big,.tile b,.auth-logo,.auth-h,.boot-logo,.lesson-txt b,.opt em,.prog-nums b,.task-done-msg,.wg-lvl{
  --ols:2.5px;--olc:var(--ink);
  text-shadow:var(--ols) 0 0 var(--olc),calc(var(--ols)*-1) 0 0 var(--olc),0 var(--ols) 0 var(--olc),0 calc(var(--ols)*-1) 0 var(--olc),calc(var(--ols)*.72) calc(var(--ols)*.72) 0 var(--olc),calc(var(--ols)*-.72) calc(var(--ols)*.72) 0 var(--olc),calc(var(--ols)*.72) calc(var(--ols)*-.72) 0 var(--olc),calc(var(--ols)*-.72) calc(var(--ols)*-.72) 0 var(--olc),0 calc(var(--ols)*1.9) 0 var(--olc)}

.app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}
.app.siroka{max-width:1180px}
.scr{flex:1 0 auto;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative;padding-bottom:var(--sb)}
.boot{flex:1;display:grid;place-items:center;min-height:100dvh}
.boot-logo{font-family:var(--disp);font-size:64px;--ols:4px;animation:bob 1s ease-in-out infinite alternate}
@keyframes bob{to{transform:translateY(-8px) rotate(-3deg)}}

/* ---------- horni lista ---------- */
.tb{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;
  padding:calc(10px + var(--st)) 14px 10px;background:linear-gradient(rgba(6,18,64,.72),rgba(6,18,64,.5));border-bottom:3px solid rgba(6,18,64,.65);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tb-btn{width:48px;height:48px;display:grid;place-items:center;padding:0;color:var(--ink);background:linear-gradient(var(--yel-hi),var(--yel));
  border:3px solid var(--ink);border-radius:12px;box-shadow:inset 0 -5px 0 var(--yel-dk),inset 0 2px 0 rgba(255,255,255,.7),0 3px 0 var(--ink);transform:skewX(-6deg)}
.tb-btn > *{transform:skewX(6deg)}
.tb-btn img{width:32px;height:32px}
.tb-btn:active{transform:skewX(-6deg) translateY(2px);box-shadow:inset 0 -3px 0 var(--yel-dk),0 1px 0 var(--ink)}
.tb-menu{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.tb-menu i{display:block;width:22px;height:4px;border-radius:3px;background:var(--ink);transform:skewX(6deg)}
.tb-title{text-align:center;font-family:var(--disp);font-size:23px;line-height:1.05;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-logo{font-size:32px;transform:rotate(-3deg)}
.logo-kit{color:var(--yel)}
.tb.clear{background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;position:absolute;left:0;right:0}

/* ---------- tlacitka ---------- */
.btn{display:grid;place-items:center;width:100%;min-height:58px;padding:0 24px;border:3px solid var(--ink);border-radius:14px;cursor:pointer;
  font-family:var(--disp);font-size:23px;letter-spacing:.3px;color:#fff;text-decoration:none;--ols:2.5px;
  background:linear-gradient(var(--yel-hi) 0%,var(--yel) 55%,#ffb400 100%);
  box-shadow:inset 0 -7px 0 var(--yel-dk),inset 0 3px 0 rgba(255,255,255,.75),0 5px 0 var(--ink);transform:skewX(-7deg)}
.btn > span{display:block;transform:skewX(7deg)}
.btn:active{transform:skewX(-7deg) translateY(3px);box-shadow:inset 0 -4px 0 var(--yel-dk),inset 0 3px 0 rgba(255,255,255,.75),0 2px 0 var(--ink)}
.btn:disabled{filter:grayscale(.7);opacity:.6;cursor:default}
.btn.modra{background:linear-gradient(var(--panel-hi),var(--panel));box-shadow:inset 0 -7px 0 var(--panel-dk),inset 0 3px 0 rgba(255,255,255,.35),0 5px 0 var(--ink)}
.btn.zelena{background:linear-gradient(var(--grn-hi),var(--grn));box-shadow:inset 0 -7px 0 var(--grn-dk),inset 0 3px 0 rgba(255,255,255,.5),0 5px 0 var(--ink)}
.btn.cervena{background:linear-gradient(var(--red-hi),var(--red));box-shadow:inset 0 -7px 0 var(--red-dk),inset 0 3px 0 rgba(255,255,255,.5),0 5px 0 var(--ink)}
.btn.mala{min-height:44px;font-size:18px;padding:0 16px;border-radius:12px}
.lnk{background:none;border:0;padding:8px 10px;color:var(--mut);font-weight:800;font-size:14px;text-decoration:underline;text-underline-offset:3px}

.panel{background:linear-gradient(var(--panel-hi),var(--panel));border:3px solid var(--ink);border-radius:16px;box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 4px 0 var(--ink)}
.h2{margin:0;font-family:var(--disp);font-weight:400;font-size:20px;letter-spacing:.2px}
.obsah{padding:12px 16px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.muted{color:var(--mut);font-weight:700}
.autor{margin-top:auto;padding:8px 16px 16px;text-align:center;font-weight:700;font-size:11.5px;color:rgba(255,255,255,.6)}
.autor a{color:inherit;text-underline-offset:2px}
.s-home > .autor{grid-column:1/-1}
.prazdno{padding:18px;text-align:center;color:var(--mut);font-weight:800}

/* ---------- 1 · pozdrav ---------- */
.s-hello{overflow:hidden;isolation:isolate}
.hello-bg{position:absolute;inset:0;z-index:-3;background:#0a2a78 center/cover no-repeat}
.hello-bg.rozmazane{filter:blur(22px) saturate(1.2);transform:scale(1.15)}
.hello-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hello-ramecek{position:absolute;left:7%;right:7%;top:calc(90px + var(--st));z-index:-2;border:5px solid #fff;border-radius:18px;box-shadow:0 0 0 3px var(--ink),0 14px 0 rgba(10,20,64,.35);transform:rotate(-2.5deg);overflow:hidden;background:#fff}
.hello-ramecek img{display:block;width:100%;height:auto;max-height:46vh;object-fit:cover}
.hello-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,30,90,.35) 0%,rgba(10,30,90,0) 22%,rgba(10,30,90,0) 45%,rgba(8,30,110,.78) 76%,rgba(6,20,80,.96) 100%)}
.hello-streak{position:absolute;top:calc(14px + var(--st));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;
  background:var(--ink);border:2px solid rgba(255,255,255,.25);border-radius:999px;font-weight:900;font-size:14.5px;white-space:nowrap;z-index:31}
.hello-streak img{width:26px;height:26px}
.hello-main{margin-top:auto;padding:0 26px;display:grid;gap:12px}
.hello-title{margin:0;font-family:var(--disp);font-weight:400;line-height:.95;font-size:clamp(56px,17vw,82px);--ols:4px;transform:rotate(-4deg);transform-origin:left bottom;display:flex;flex-direction:column;overflow-wrap:anywhere}
.hello-title .jmeno{color:var(--yel)}
.hello-title .jmeno.holka{color:var(--pink)}
.hello-sub{margin:0;font-weight:800;font-size:17.5px;line-height:1.35;max-width:28ch;text-shadow:0 2px 0 var(--ink)}
.hello-bottom{padding:22px 26px calc(26px + var(--sb));display:grid;gap:10px}
.hello-kredit{font-size:11px;font-weight:700;color:rgba(255,255,255,.75);text-align:right;text-decoration:none;justify-self:end;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- 2 · domu ---------- */
.home-greet{padding:12px 20px 4px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:800;font-size:14px;color:var(--mut)}
.home-greet b{font-family:var(--disp);font-weight:400;font-size:21px;color:#fff;--ols:2px}
.apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 6px;padding:12px 12px 4px}
.app-i{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:inherit;position:relative;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}
.app-ic{width:70px;height:70px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:18px;box-shadow:inset 0 -6px 0 rgba(0,0,0,.22),inset 0 3px 0 rgba(255,255,255,.45),0 4px 0 var(--ink);transition:transform .12s}
.app-i:active .app-ic{transform:translateY(3px) scale(.96)}
.app-ic img{width:54px;height:54px;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}
.app-lb{font-family:var(--disp);font-size:14px;line-height:1.1;text-align:center;--ols:2px}
.app-badge{position:absolute;top:-6px;right:calc(50% - 44px);min-width:24px;height:24px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-weight:900;font-size:12.5px;background:var(--red);color:#fff;border:2.5px solid var(--ink)}
.c-modra{background:linear-gradient(#8f7bff,#5b45f0)}.c-zelena{background:linear-gradient(#5ee28a,#20a957)}.c-fialova{background:linear-gradient(#6d5cf5,#3a2bb8)}
.c-oranzova{background:linear-gradient(#ffc04d,#ff8a00)}.c-seda{background:linear-gradient(#a9b3d6,#7480a8)}.c-ruzova{background:linear-gradient(#ff9bd0,#e0458f)}.c-cervena{background:linear-gradient(#ff8a8a,#e03a3a)}
.chef-zone{position:relative;min-height:150px;margin-top:4px}
.chef{position:absolute;right:-28px;bottom:-36px;width:150px;height:auto;z-index:1;transform-origin:100% 100%;animation:peek 6s ease-in-out infinite;pointer-events:none}
@keyframes peek{0%,70%,100%{transform:translateX(0) rotate(0)}76%{transform:translateX(-8px) rotate(-4deg)}84%{transform:translateX(0) rotate(2deg)}}
.chef-bubble{position:absolute;left:14px;right:120px;top:12px;margin:0;padding:12px 14px;font-weight:800;font-size:14px;line-height:1.35;z-index:2;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink)}
.chef-bubble b{display:block;font-family:var(--disp);font-weight:400;font-size:17px;margin-bottom:2px;color:var(--red-dk)}
.chef-bubble small{display:block;margin-top:4px;font-size:12px;color:#5a6690}
.chef-bubble::after{content:"";position:absolute;right:-12px;top:30px;width:18px;height:18px;transform:rotate(45deg);background:#fff;border-top:3px solid var(--ink);border-right:3px solid var(--ink)}
.widgets{display:grid;gap:12px;padding:6px 12px 22px;position:relative;z-index:2}
.wg{padding:12px 14px;display:grid;gap:8px}
.wg-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12.5px;color:var(--mut)}
.wg-lvl{font-family:var(--disp);font-size:13.5px;letter-spacing:.4px;text-transform:uppercase;padding:3px 10px;color:#fff;border:2.5px solid var(--ink);border-radius:8px;transform:skewX(-8deg);--ols:1.5px;background:var(--panel-dk)}
.wg-lvl.dulezite{background:var(--org)}.wg-lvl.hori{background:var(--red);animation:blik 1.2s ease-in-out infinite}.wg-lvl.info{background:#2f8cff}.wg-lvl.ukol{background:var(--grn)}
@keyframes blik{50%{filter:brightness(1.35)}}
.wg-from{margin-left:auto;white-space:nowrap}
.wg-text{margin:0;font-weight:800;font-size:15px;line-height:1.35;white-space:pre-line;overflow-wrap:anywhere}
.wg-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.wbtn{border:2.5px solid var(--ink);border-radius:10px;font-weight:900;font-size:13.5px;padding:8px 14px;min-height:40px;background:rgba(6,18,64,.45);color:#fff}
.wbtn.ok{background:linear-gradient(var(--grn-hi),var(--grn));color:var(--ink);box-shadow:inset 0 -4px 0 var(--grn-dk)}
.wg.vyrizeno{opacity:.65}
.wg-reply{display:grid;gap:8px}
.wg-reply textarea{width:100%;min-height:70px;border-radius:12px;border:3px solid var(--ink);padding:10px;color:var(--ink);background:#fff;font-weight:700;resize:vertical}
.wg-odpoved{margin:0;padding:8px 10px;border-radius:10px;background:rgba(6,18,64,.35);font-weight:700;font-size:13.5px}
.wg-check{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:800;font-size:15px;line-height:1.25;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit}
.wg-box{width:34px;height:34px;flex:none;display:grid;place-items:center;border:3px solid var(--ink);border-radius:9px;background:#fff}
.wg-box::after{content:"";width:14px;height:7px;border-left:4px solid transparent;border-bottom:4px solid transparent;transform:rotate(-45deg) translate(1px,-2px)}
.wg-check.on .wg-box{background:var(--grn)}
.wg-check.on .wg-box::after{border-color:#fff}
.wg-check.on .wg-task-text{text-decoration:line-through;text-decoration-thickness:2.5px;opacity:.75}
.wg-check small{display:block;font-size:12px;color:var(--mut);margin-top:2px}

/* ---------- 3 · anglictina ---------- */
.lesson{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px;text-align:left;padding:10px 12px;width:100%;color:#fff}
.lesson-ring{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;position:relative;font-family:var(--disp);font-size:15px;
  background:conic-gradient(var(--yel) calc(var(--p)*1%),rgba(6,18,64,.6) 0);border:3px solid var(--ink)}
.lesson-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--panel)}
.lesson-ring b{position:relative;font-weight:400}
.lesson-txt b{display:block;font-family:var(--disp);font-weight:400;font-size:19px;line-height:1.1;--ols:2px}
.lesson-txt small{font-weight:800;font-size:13px;color:var(--mut)}
.lesson-more{font-weight:900;font-size:12.5px;padding:6px 10px;background:rgba(6,18,64,.5);border-radius:8px;white-space:nowrap}
.lekce-list{display:grid;gap:8px}
.opts{display:grid;gap:8px}
.opt{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;text-align:left;padding:7px 12px 7px 8px;width:100%;min-height:58px;
  background:rgba(6,18,64,.38);border:3px solid rgba(6,18,64,.65);border-radius:14px;color:#fff}
.opt img{width:42px;height:42px}
.opt b{display:block;font-weight:900;font-size:15.5px;line-height:1.15}
.opt small{font-weight:700;font-size:12px;line-height:1.2;color:var(--mut)}
.opt em{font-style:normal;font-family:var(--disp);font-size:22px}
.opt.is-on{background:linear-gradient(var(--yel-hi),var(--yel));border-color:var(--ink);color:var(--ink);box-shadow:inset 0 -5px 0 var(--yel-dk),0 3px 0 var(--ink)}
.opt.is-on small{color:#5a3d00}
.opt.is-on em{color:#fff}
.opt:disabled{opacity:.45}
.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mode{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:10px;min-height:74px;color:#fff;
  background:linear-gradient(var(--panel-hi),var(--panel));border:3px solid var(--ink);border-radius:14px;box-shadow:0 4px 0 var(--ink)}
.mode img{width:48px;height:48px;grid-row:span 2}
.mode b{font-family:var(--disp);font-weight:400;font-size:17px;line-height:1;--ols:2px}
.mode small{font-weight:700;font-size:11.5px;line-height:1.2;color:var(--mut)}
.mode.is-on{background:linear-gradient(#ff7a7a,var(--red));box-shadow:inset 0 -5px 0 var(--red-dk),0 4px 0 var(--ink)}
.mode.is-on small{color:#ffe3e3}
.cta{position:sticky;bottom:0;padding:12px 16px calc(16px + var(--sb));background:linear-gradient(rgba(10,69,181,0),rgba(10,69,181,.9) 35%);z-index:5}

/* ---------- 4 · uceni a zkouseni ---------- */
.learn-meta{display:flex;gap:8px;padding:10px 16px 0;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:12.5px;padding:5px 11px 5px 6px;background:rgba(6,18,64,.55);color:#fff;border-radius:999px}
.chip img{width:22px;height:22px}
.chip.bez{padding-left:11px}
.card{flex:1 1 auto;margin:12px 16px 0;border:0;padding:0;background:none;cursor:pointer;display:grid;min-height:300px;text-align:center;color:var(--card-ink)}
.card-face{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 18px;
  background:var(--card);border:4px solid var(--ink);border-radius:24px;box-shadow:inset 0 -10px 0 #dfe8ff,0 6px 0 var(--ink);transition:opacity .16s,transform .22s cubic-bezier(.3,1.5,.5,1)}
.card-lang{font-weight:900;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;background:var(--ink);color:var(--yel);border-radius:999px}
.card-word{font-family:var(--disp);font-weight:400;font-size:clamp(32px,10vw,46px);line-height:1.05;overflow-wrap:anywhere;hyphens:auto}
.card-hint{font-weight:800;font-size:14px;opacity:.7;max-width:24ch}
.card-cs{font-weight:900;font-size:17px;color:#3156c9}
.card-ex{font-weight:700;font-size:15px;line-height:1.4;max-width:28ch;font-style:italic;color:#46527d}
.card .card-back{opacity:0;transform:scale(.92);pointer-events:none}
.card.otocena .card-front{opacity:0;transform:scale(.92);pointer-events:none}
.card.otocena .card-back{opacity:1;transform:none}
.judge{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 16px 4px;transition:opacity .2s}
.judge.skryte{opacity:0;visibility:hidden}
.jbtn{border:3px solid var(--ink);border-radius:18px;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;min-height:78px;font-family:var(--disp);font-size:20px}
.jbtn img{width:46px;height:46px}
.jbtn.ne{background:linear-gradient(var(--red-hi),var(--red));box-shadow:inset 0 -7px 0 var(--red-dk),0 5px 0 var(--ink)}
.jbtn.ano{background:linear-gradient(var(--grn-hi),var(--grn));box-shadow:inset 0 -7px 0 var(--grn-dk),0 5px 0 var(--ink)}
.jbtn:active{transform:translateY(3px)}
.prog{padding:12px 18px calc(18px + var(--sb));display:grid;gap:8px}
.prog-bar{height:24px;border-radius:999px;overflow:hidden;background:var(--ink);border:3px solid var(--ink);box-shadow:0 3px 0 rgba(0,0,0,.25)}
.prog-bar i{display:block;height:100%;border-radius:999px;transition:width .4s cubic-bezier(.3,1.4,.5,1);
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 8px,rgba(255,255,255,0) 8px 16px),linear-gradient(var(--yel-hi),var(--yel) 60%,#ffaa00)}
.prog-nums{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-size:14px;color:var(--mut)}
.prog-nums b{font-family:var(--disp);font-weight:400;font-size:22px;color:#fff}
.toast{position:fixed;left:50%;bottom:calc(110px + var(--sb));transform:translateX(-50%) translateY(10px);opacity:0;pointer-events:none;z-index:80;
  font-weight:900;font-size:14px;padding:10px 16px;white-space:nowrap;background:var(--ink);color:#fff;border-radius:999px;border:2px solid rgba(255,255,255,.25);transition:opacity .2s,transform .2s;max-width:92vw;overflow:hidden;text-overflow:ellipsis}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- 5 · spelling ---------- */
.spell-q{margin:12px 16px 0;padding:22px 18px;display:grid;justify-items:center;gap:10px;text-align:center;color:var(--card-ink);background:var(--card);border:4px solid var(--ink);border-radius:22px;box-shadow:inset 0 -8px 0 #dfe8ff,0 6px 0 var(--ink)}
.spell-q b{font-family:var(--disp);font-weight:400;font-size:clamp(28px,8.5vw,38px);line-height:1.08;overflow-wrap:anywhere}
.spell-q > span{font-weight:800;font-size:14px;opacity:.75}
.spell-opts{display:grid;gap:10px;padding:18px 16px 0}
.sopt{min-height:62px;font-weight:900;font-size:21px;padding:6px 16px;color:#fff;background:linear-gradient(var(--panel-hi),var(--panel));border:3px solid var(--ink);border-radius:14px;
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.2),0 4px 0 var(--ink);text-shadow:0 2px 0 var(--ink);overflow-wrap:anywhere}
.sopt.dobre{background:linear-gradient(var(--grn-hi),var(--grn));box-shadow:inset 0 -5px 0 var(--grn-dk),0 4px 0 var(--ink)}
.sopt.spatne{background:linear-gradient(var(--red-hi),var(--red));box-shadow:inset 0 -5px 0 var(--red-dk),0 4px 0 var(--ink);animation:shake .35s}
.sopt.tlumene{opacity:.45}
.sopt:disabled{cursor:default}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}
.spell-next{padding:16px 16px 0;margin-top:auto}
.spell-next.skryte{visibility:hidden}

/* ---------- vysledek / odmena ---------- */
.res{padding:18px 18px 26px;display:grid;gap:14px;justify-items:center;text-align:center}
.res-big{font-family:var(--disp);font-size:clamp(44px,14vw,64px);line-height:1;--ols:4px;transform:rotate(-3deg)}
.res-sub{margin:0;font-weight:800;font-size:16px;color:var(--mut);max-width:30ch}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.tile{padding:12px 8px;display:grid;gap:2px;justify-items:center}
.tile b{font-family:var(--disp);font-weight:400;font-size:26px;--ols:2px}
.tile span{font-weight:800;font-size:12px;color:var(--mut)}
.odmena{width:100%;display:grid;gap:10px;justify-items:center}
.odmena-foto{width:min(320px,86%);border:5px solid #fff;border-radius:18px;box-shadow:0 0 0 3px var(--ink),0 10px 0 rgba(10,20,64,.35);transform:rotate(2deg);overflow:hidden;background:#fff;animation:pop .6s cubic-bezier(.3,1.6,.5,1)}
.odmena-foto img{display:block;width:100%;height:auto;max-height:52vh;object-fit:cover}
.odmena-h{font-family:var(--disp);font-size:22px;margin:0;color:var(--yel);--ols:2.5px}
.chyby-list{width:100%;display:grid;gap:6px;text-align:left}
.chyby-list li{list-style:none;padding:8px 12px;border-radius:12px;background:rgba(6,18,64,.4);font-weight:800;display:flex;justify-content:space-between;gap:12px}
.chyby-list ul{margin:0;padding:0;display:grid;gap:6px}
@keyframes pop{0%{transform:scale(.2) rotate(-10deg)}100%{transform:scale(1) rotate(2deg)}}

/* ---------- 6 · prehled slovicek ---------- */
.list-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 8px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;padding:4px;background:rgba(6,18,64,.5);border-radius:12px}
.tab{border:0;font-weight:900;font-size:14px;padding:8px 14px;min-height:40px;border-radius:9px;background:none;color:var(--mut)}
.tab.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -3px 0 var(--yel-dk)}
.legend{display:flex;align-items:center;gap:6px;font-weight:800;font-size:12px;color:var(--mut)}
.legend i{width:70px;height:10px;border-radius:999px;display:block;background:linear-gradient(90deg,hsl(4 88% 56%),hsl(28 95% 55%),hsl(50 98% 55%),hsl(130 62% 50%));border:2px solid var(--ink)}
.list-head{display:grid;grid-template-columns:1.15fr 1fr 44px;gap:8px;padding:2px 24px 6px;font-weight:900;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);align-items:center}
.list-head img{width:20px;height:20px;justify-self:center}
.rows{list-style:none;margin:0;padding:0 12px 24px;display:grid;gap:6px}
.row{display:grid;grid-template-columns:1.15fr 1fr 44px;gap:8px;align-items:center;padding:8px 10px 8px 12px;min-height:48px;color:#fff;
  background:hsl(var(--h) var(--s,88%) var(--l,52%));border:2.5px solid var(--ink);border-radius:12px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.16),0 3px 0 var(--ink)}
.row-en{font-weight:900;font-size:15px;line-height:1.15;text-shadow:0 2px 0 rgba(10,20,64,.75),1px 0 0 rgba(10,20,64,.75),-1px 0 0 rgba(10,20,64,.75);overflow-wrap:anywhere}
.row-cs{font-weight:700;font-size:13.5px;line-height:1.2;text-shadow:0 1.5px 0 rgba(10,20,64,.6);overflow-wrap:anywhere}
.row-n{justify-self:center;min-width:34px;height:32px;padding:0 6px;display:grid;place-items:center;font-family:var(--disp);font-size:17px;background:var(--ink);border-radius:9px;color:#fff}
.row-n small{display:block;font-family:var(--body);font-weight:900;font-size:9px;letter-spacing:.03em;line-height:1}
.row.nove{--h:225;--s:22%;--l:58%}

/* ---------- 7 · checklisty (Limit, Vecerka) ---------- */
.night-head{display:flex;align-items:center;gap:12px;padding:12px 18px 6px}
.night-head img{width:56px;height:56px}
.night-head b{display:block;font-family:var(--disp);font-weight:400;font-size:23px;line-height:1.05;--ols:2.5px}
.night-head small{font-weight:800;font-size:14px;color:var(--mut)}
.night-popis{margin:0 18px;font-weight:700;font-size:14px;color:var(--mut)}
.tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 14px 0;align-content:start}
.task{border:3px solid var(--ink);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;min-height:132px;text-align:center;
  font-weight:900;font-size:13.5px;line-height:1.15;color:#fff;text-shadow:0 2px 0 var(--ink);background:linear-gradient(#5f7bff,#3e56e0);box-shadow:inset 0 -6px 0 rgba(0,0,0,.22),inset 0 2px 0 rgba(255,255,255,.3),0 4px 0 var(--ink);
  transition:transform .45s cubic-bezier(.5,-0.3,.7,.4),opacity .45s}
.task img{width:62px;height:62px}
.task.pada{transform:translateY(280px) scale(.25) rotate(-25deg);opacity:0}
.task-done-msg{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:120px;font-family:var(--disp);font-size:24px;padding:10px}
.starzone{margin:auto 14px 18px;padding:16px 12px 14px;display:grid;gap:10px;justify-items:center;background:rgba(6,10,50,.5);border:3px solid var(--ink);border-radius:22px;box-shadow:inset 0 3px 0 rgba(255,255,255,.12)}
.stars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px;width:100%}
.slot{aspect-ratio:1;position:relative;display:grid;place-items:center;border:0;background:none;padding:0}
.slot::before{content:"";position:absolute;inset:0;background:var(--hvezda) center/contain no-repeat;filter:grayscale(1) brightness(1.6);opacity:.22}
.slot.plna::before{filter:none;opacity:1}
.slot img{width:44%;height:44%;position:relative;margin-top:8%;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}
.slot.pop::before,.slot.pop img{animation:pop2 .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop2{0%{transform:scale(.2)}100%{transform:scale(1)}}
.star-msg{margin:0;font-family:var(--disp);font-size:18px;text-align:center;--ols:2px}
.starzone.vse{animation:glow 1.6s ease-in-out infinite alternate}
@keyframes glow{from{box-shadow:0 0 0 rgba(255,204,31,0)}to{box-shadow:0 0 34px rgba(255,204,31,.75)}}
.s-vecerka{background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 26px,rgba(255,255,255,0) 26px 52px),radial-gradient(130% 80% at 50% 0%,#5a63ff 0%,#3434c9 45%,#1b1a7a 100%)}
.s-limit{background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 26px,rgba(255,255,255,0) 26px 52px),radial-gradient(130% 80% at 50% 0%,#4be08b 0%,#1fa45d 45%,#0e6a3f 100%)}
.s-limit .task{background:linear-gradient(#36c978,#1d9a56)}

/* ---------- hamburger menu ---------- */
.menu{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end;background:rgba(6,10,40,.55);animation:fade .15s}
.menu-panel{width:min(320px,86vw);height:100%;overflow:auto;padding:calc(16px + var(--st)) 14px calc(20px + var(--sb));display:flex;flex-direction:column;gap:10px;
  background:radial-gradient(130% 75% at 50% 0%,var(--sky1),var(--sky2) 50%,var(--sky3));border-left:4px solid var(--ink);animation:slide .2s ease-out}
.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.menu-head b{font-family:var(--disp);font-size:26px;--ols:2.5px}
.menu-a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;color:#fff;text-decoration:none;font-weight:900;font-size:16px;background:rgba(6,18,64,.35);border:2.5px solid rgba(6,18,64,.55)}
.menu-a img{width:36px;height:36px}
.menu-a.on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);border-color:var(--ink)}
.menu-sep{height:1px;background:rgba(255,255,255,.2);margin:6px 0}
/* podpora Klubu Vytopna - jen rodice, vzdy uplne dole; jemny banner, jen srdicko je cervene v bilem krouzku */
.menu-podpora{margin-top:auto;padding-top:16px;border-top:2px dashed rgba(255,255,255,.3)}
.menu-pod{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;color:#fff;text-decoration:none;background:rgba(6,18,64,.35);border:2.5px solid rgba(6,18,64,.55)}
.menu-pod:active{transform:translateY(2px)}
.menu-pod-ik{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:2.5px solid var(--ink)}
.menu-pod-ik svg{width:22px;height:22px;fill:#e92d1f;stroke:none}
.menu-pod-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.menu-pod-txt b{font-weight:900;font-size:15px;line-height:1.2}
.menu-pod-txt small{font-weight:700;font-size:12.5px;line-height:1.25;color:var(--mut)}
.menu-pod-ven{flex:none;align-self:flex-start;width:16px;height:16px;fill:none;stroke:var(--mut);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.menu-pata{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin:12px 0 0;font-weight:700;font-size:13px}
.menu-pata a{color:var(--mut);text-decoration:underline;text-underline-offset:3px}
.menu-tecka{flex:none;width:9px;height:9px;border-radius:50%;background:var(--yel)}
@keyframes fade{from{opacity:0}}
@keyframes slide{from{transform:translateX(40px);opacity:.4}}

/* ---------- formulare (prihlaseni, rodice) ---------- */
.form{display:grid;gap:14px}
.pole{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}
.pole > span,.pole legend{font-weight:900;font-size:14px;color:#fff;padding:0}
.pole em{font-style:normal;font-weight:700;color:var(--mut);font-size:12.5px}
.pole input,.pole select,.pole textarea{width:100%;min-height:50px;border:3px solid var(--ink);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:800;font-size:16px}
.pole textarea{min-height:110px;resize:vertical;line-height:1.4}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips-skupina{margin:10px 0 6px;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.chips-skupina:first-of-type{margin-top:2px}
.chip-in{position:relative;cursor:pointer}
.chip-in input{position:absolute;opacity:0;width:1px;height:1px}
.chip-in span{display:block;padding:9px 14px;border-radius:12px;border:3px solid var(--ink);background:rgba(6,18,64,.4);font-weight:900;font-size:14.5px;min-height:44px}
.chip-in input:checked + span{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -4px 0 var(--yel-dk)}
.chip-in input:focus-visible + span{outline:3px solid #fff;outline-offset:2px}

.auth{min-height:100dvh;max-width:480px;margin:0 auto;padding:calc(24px + var(--st)) 16px calc(32px + var(--sb));display:flex;flex-direction:column;gap:16px}
.auth-head{display:grid;justify-items:center;text-align:center;gap:6px;margin-top:10px}
.auth-star{width:84px;height:84px;animation:bob 1.4s ease-in-out infinite alternate}
.auth-logo{margin:0;font-family:var(--disp);font-weight:400;font-size:64px;line-height:1;--ols:4px;transform:rotate(-3deg)}
.auth-sub{margin:4px 0 0;font-weight:800;color:var(--mut);max-width:32ch}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:rgba(6,18,64,.5);border-radius:14px}
.auth-tabs a{display:grid;place-items:center;min-height:44px;border-radius:10px;font-weight:900;color:var(--mut);text-decoration:none}
.auth-tabs a.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -4px 0 var(--yel-dk)}
.auth-card{padding:18px 16px;display:grid;gap:14px}
.auth-h{margin:0;font-family:var(--disp);font-weight:400;font-size:22px}
.auth-p{margin:0;font-weight:700}
.auth-err{margin:0;padding:10px 12px;border-radius:12px;background:var(--red);border:3px solid var(--ink);font-weight:900}
.auth-note{margin:0;text-align:center;font-weight:700;font-size:13px;color:var(--mut)}

/* ---------- rodice ---------- */
.rod-tabs{display:flex;gap:6px;padding:12px 14px 4px;overflow-x:auto;scrollbar-width:none}
.rod-tabs::-webkit-scrollbar{display:none}
.rod-tabs button{flex:0 0 auto;border:3px solid var(--ink);border-radius:12px;padding:8px 14px;min-height:44px;font-weight:900;background:rgba(6,18,64,.4);color:var(--mut)}
.rod-tabs button.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -4px 0 var(--yel-dk)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px}
.kid{padding:14px;display:grid;gap:12px;min-width:0;align-content:start}
.kid-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.kid-head b{font-family:var(--disp);font-size:24px;--ols:2.5px;text-shadow:2px 0 0 var(--ink),-2px 0 0 var(--ink),0 2px 0 var(--ink),0 -2px 0 var(--ink),0 4px 0 var(--ink)}
.seg{display:inline-flex;gap:4px;padding:4px;background:rgba(6,18,64,.5);border-radius:12px}
.seg button{border:0;background:none;border-radius:9px;padding:7px 12px;min-height:38px;font-weight:900;font-size:13.5px;color:var(--mut)}
.seg button.is-on{background:#fff;color:var(--ink)}
.stat4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stat4 div{background:rgba(6,18,64,.38);border-radius:12px;padding:10px 6px;text-align:center;display:grid;gap:2px}
.stat4 b{font-family:var(--disp);font-weight:400;font-size:22px;font-variant-numeric:tabular-nums}
.stat4 span{font-weight:800;font-size:11.5px;color:var(--mut)}
.tbl-wrap{overflow-x:auto;border-radius:12px;background:rgba(6,18,64,.3);-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums;min-width:560px}
.tbl th,.tbl td{padding:8px 8px;text-align:left;border-bottom:1px solid rgba(255,255,255,.12);white-space:nowrap}
.tbl th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:900;position:sticky;top:0;background:#1a4fb0}
.tbl td.num{text-align:right}
.tbl tr.prazdny td{color:rgba(255,255,255,.45)}
.tbl .pill{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:900;font-size:12px}
.pill.ok{background:var(--grn);color:var(--ink)}.pill.stred{background:var(--yel);color:var(--ink)}.pill.zle{background:var(--red);color:#fff}.pill.nic{background:rgba(255,255,255,.15);color:var(--mut)}
.graf{width:100%;height:auto;display:block}
.graf text{font-family:var(--body);font-weight:800;font-size:11px;fill:var(--mut)}
.graf .osa{stroke:rgba(255,255,255,.18);stroke-width:1}
.graf .bar{fill:var(--yel)}
.graf .bar.dnes{fill:#fff}
.graf .cara{fill:none;stroke:var(--grn-hi);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.graf .bod{fill:var(--grn-hi);stroke:var(--ink);stroke-width:2}
.legenda{display:flex;gap:14px;flex-wrap:wrap;font-weight:800;font-size:12.5px;color:var(--mut)}
.legenda i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.zpr-list{display:grid;gap:8px}
.zpr{padding:10px 12px;border-radius:12px;background:rgba(6,18,64,.38);display:grid;gap:6px}
.zpr-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:800;font-size:12.5px;color:var(--mut)}
.zpr p{margin:0;font-weight:800;white-space:pre-line;overflow-wrap:anywhere}
.zpr .odp{padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.12);font-weight:700}
.stav{font-weight:900;font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.15)}
.stav.ok{background:var(--grn);color:var(--ink)}
.polozky-ed{display:grid;gap:8px}
.polozka-ed{display:grid;grid-template-columns:42px 1fr 44px;gap:8px;align-items:center}
.polozka-ed img{width:40px;height:40px}
.polozka-ed input{min-height:44px;border:3px solid var(--ink);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font-weight:800;width:100%}
.ikona-btn{width:44px;height:44px;border:3px solid var(--ink);border-radius:10px;background:rgba(6,18,64,.45);color:#fff;font-weight:900;font-size:18px;display:grid;place-items:center;padding:0}
.ikony-vyber{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;padding:8px;background:rgba(6,18,64,.4);border-radius:12px}
.ikony-vyber button{border:2px solid transparent;border-radius:10px;background:none;padding:4px}
.ikony-vyber button.is-on{border-color:var(--yel);background:rgba(255,204,31,.2)}
.ikony-vyber img{width:40px;height:40px}
.kod{font-family:var(--disp);font-size:22px;letter-spacing:1px;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:12px;padding:6px 12px;user-select:all}

/* ---------- buzerlistek ---------- */
.buzer{display:grid;gap:10px}
.buzer-i{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;min-height:66px;border:3px solid var(--ink);border-radius:16px;color:#fff;font-weight:900;font-size:16px;
  background:linear-gradient(var(--panel-hi),var(--panel));box-shadow:inset 0 -5px 0 rgba(0,0,0,.18),0 4px 0 var(--ink)}
.buzer-i img{width:44px;height:44px}
.buzer-i .wg-box{margin-left:auto}
.buzer-i.on{background:linear-gradient(var(--grn-hi),var(--grn));color:var(--ink)}
.buzer-i.on .wg-box{background:var(--grn-dk)}
.buzer-i.on .wg-box::after{border-color:#fff}
.mrizka{display:grid;gap:6px}
.mrizka-r{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:center;font-weight:900;font-size:13px}
.mrizka-d{display:grid;grid-template-columns:repeat(35,minmax(0,1fr));gap:2px}
.mrizka-d i{aspect-ratio:1;border-radius:3px;background:rgba(255,255,255,.12)}
.mrizka-d i.l1{background:#9ad86a}.mrizka-d i.l2{background:#52c35a}.mrizka-d i.l3{background:#1e9b3f}
.mrizka-d i.dnes{outline:2px solid #fff}

@media (min-width:700px){
  .apps{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---------- profil ---------- */
.profil{width:min(640px,100%);margin-inline:auto}

/* ---------- krouzky ---------- */
.wg-lvl.kalendar{background:var(--vio)}
.wg-den .wg-head .lnk{margin-left:8px;font-size:12.5px}
.program{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pr{display:grid;grid-template-columns:38px auto minmax(0,1fr) auto auto;align-items:center;column-gap:10px;row-gap:2px;padding:5px 10px 5px 5px;border-radius:12px;background:rgba(6,18,64,.35);font-weight:800}
.pr img{width:36px;height:36px}
.pr-cas{font-family:var(--disp);font-size:15.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pr-nazev{font-weight:900;font-size:15px;overflow-wrap:anywhere}
.pr-stitek{font-weight:900;font-size:11.5px;padding:3px 8px;border-radius:999px;background:var(--red);color:#fff;white-space:nowrap}
.pr.zruseno .pr-cas,.pr.zruseno .pr-nazev{text-decoration:line-through;text-decoration-thickness:2px;opacity:.65}
.pr.zruseno img{filter:grayscale(1);opacity:.6}
.pr.navic{background:rgba(255,204,31,.2);box-shadow:inset 0 0 0 2px var(--yel)}
.pr.navic .pr-stitek{background:var(--yel);color:var(--ink)}
.pr.probehlo{opacity:.55}
.pr small{grid-column:2/-1;font-weight:700;font-size:12.5px;color:var(--mut)}
.pr .lnk{padding:4px 2px;font-size:12.5px;color:#fff}
.pr-nic{margin:0;padding:6px 4px;font-weight:800;color:var(--mut)}
.pr-kdo{display:block;font-family:var(--disp);font-weight:400;font-size:16px;margin-top:2px}
.kal{display:grid;gap:8px}
.kal-den{padding:10px;border-radius:14px;background:rgba(6,18,64,.3);display:grid;gap:8px}
section.kal-den{background:linear-gradient(var(--panel-hi),var(--panel))}
.kal-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:900;font-size:15px}
.kal-h.dnes > span:first-child{color:var(--yel)}
.kal-h .lnk{padding:2px 4px;color:var(--yel)}
.pridat-form{padding:10px;border-radius:12px;background:rgba(6,18,64,.35)}
.dva{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kr-ed{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-areas:"ik nazev pryc" "den den den" "od od do";gap:6px 8px;padding:8px;border-radius:12px;background:rgba(6,18,64,.3)}
.kr-ed > .ikona-btn:first-child{grid-area:ik}
.kr-ed .kr-nazev{grid-area:nazev}
.kr-ed [data-polozka-pryc]{grid-area:pryc}
.kr-ed .kr-den{grid-area:den}
.kr-ed .kr-od{grid-area:od}
.kr-ed .kr-do{grid-area:do}
.kr-ed input,.kr-ed select{min-height:44px;border:3px solid var(--ink);border-radius:10px;padding:6px 10px;background:#fff;color:var(--ink);font-weight:800;width:100%}
@media (min-width:520px){
  .kr-ed{grid-template-columns:44px minmax(0,1fr) 130px 104px 104px 44px;grid-template-areas:"ik nazev den od do pryc"}
}

/* ---------- tablet na sirku a pocitac (Ema pouziva tablet na sirku) ---------- */
@media (min-width:860px){
  .app{max-width:1120px}
  .tb{grid-template-columns:52px 1fr 52px;padding-inline:20px}
  /* pozdrav */
  .s-hello .hello-main{padding:0 48px;max-width:760px}
  .s-hello .hello-bottom{padding:24px 48px calc(32px + var(--sb));grid-template-columns:minmax(0,420px) 1fr;align-items:end}
  .s-hello .hello-bottom .btn{grid-column:1}
  .s-hello .hello-kredit{grid-column:2}
  .s-hello .hello-shade{background:linear-gradient(90deg,rgba(6,20,80,.88) 0%,rgba(8,30,110,.55) 38%,rgba(10,30,90,0) 62%),linear-gradient(180deg,rgba(10,30,90,.35) 0%,rgba(10,30,90,0) 20%)}
  .s-hello-ramecek .hello-ramecek{left:auto;right:6%;top:50%;width:42%;transform:translateY(-50%) rotate(2.5deg)}
  .s-hello-ramecek .hello-ramecek img{max-height:72vh}
  .hello-title{font-size:clamp(64px,9vw,96px)}
  /* domu: ikony vlevo, program a vzkazy vpravo */
  .s-home{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto auto auto auto 1fr;grid-template-areas:"tb tb" "greet wid" "ted wid" "apps wid" "chef wid" "pradl wid";align-content:start;column-gap:18px}
  .s-home > .ted-band{grid-area:ted;margin:0 12px 6px 16px}
  .s-home > .tb{grid-area:tb}
  .s-home > .home-greet{grid-area:greet;padding:18px 20px 4px}
  .s-home > .apps{grid-area:apps;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px 12px 4px 16px;align-content:start}
  .s-home > .chef-zone{grid-area:chef;min-height:190px}
  .s-home > .pradl-zone{grid-area:pradl}
  .s-home > .widgets{grid-area:wid;align-content:start;padding:18px 20px 24px 0}
  .s-home .chef{width:170px;right:auto;left:calc(100% - 140px)}
  .app-ic{width:84px;height:84px;border-radius:20px}
  .app-ic img{width:64px;height:64px}
  .app-lb{font-size:15.5px}
  .app-badge{right:calc(50% - 50px)}
  /* anglictina: dva sloupce */
  .en-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;align-content:start;padding-inline:20px}
  .en-col{display:flex;flex-direction:column;gap:12px}
  .s-en .cta{width:min(560px,100%);margin-inline:auto}
  /* karticky, spelling, vysledek: vycentrovane */
  .s-learn > :not(.tb),.s-spell > :not(.tb){width:min(760px,calc(100% - 32px));margin-left:auto;margin-right:auto}
  .s-learn > .card,.s-spell > .spell-q{margin-top:14px}
  .s-learn > .learn-meta,.s-spell > .learn-meta{padding-inline:0}
  .s-learn > .judge,.s-spell > .spell-opts,.s-spell > .spell-next,.s-learn > .prog,.s-spell > .prog{padding-inline:0}
  .s-spell .spell-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-spell .sopt{min-height:70px}
  .res{width:min(760px,100%);margin-inline:auto}
  .rows,.list-top,.list-head{width:min(900px,100%);margin-inline:auto}
  /* checklisty: ukoly vlevo, hvezdy vpravo */
  .s-limit,.s-vecerka{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto auto auto 1fr;grid-template-areas:"tb tb" "head stars" "popis stars" "tasks stars";align-content:start;column-gap:12px}
  .s-limit > .tb,.s-vecerka > .tb{grid-area:tb}
  .s-limit > .night-head,.s-vecerka > .night-head{grid-area:head;padding:18px 20px 6px}
  .s-limit > .night-popis,.s-vecerka > .night-popis{grid-area:popis;margin:0 20px}
  .s-limit > .tasks,.s-vecerka > .tasks{grid-area:tasks;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:12px 8px 24px 20px}
  .s-limit > .starzone,.s-vecerka > .starzone{grid-area:stars;margin:18px 20px 20px 0;align-self:start;position:sticky;top:90px}
  .task{min-height:150px;font-size:14.5px}
  .task img{width:72px;height:72px}
  /* krouzky a sbirka */
  .s-krouzky .obsah{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}
  .s-krouzky .obsah > .seg{grid-column:1/-1}
  .sbirka-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media (min-width:860px) and (max-height:820px){
  .s-learn .card{min-height:240px}
  .card-word{font-size:40px}
  .jbtn{min-height:68px}
  .s-learn .judge{padding-top:12px}
}
/* ---------- 3b · gramatika ---------- */
.en-cast{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 0;max-width:640px}
.en-cast button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:4px 10px;border:3px solid var(--ink);border-radius:14px;background:rgba(6,18,64,.4);color:var(--mut);font-family:var(--disp);font-size:18px}
.en-cast button img{width:34px;height:34px}
.en-cast button.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -5px 0 var(--yel-dk),0 3px 0 var(--ink)}
.g-znak{display:inline-grid;place-items:center;min-width:34px;height:32px;padding:0 5px;border:2.5px solid var(--ink);border-radius:9px;background:#fff;color:var(--red);font:400 15px/1 var(--disp);font-style:normal;transform:rotate(-5deg)}
.mini-ring{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--yel) calc(var(--p)*1%),rgba(6,18,64,.55) 0);border:2.5px solid var(--ink)}
.mini-ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--panel-dk)}
.mini-ring i{position:relative;font:400 10px/1 var(--disp);font-style:normal;font-variant-numeric:tabular-nums}
.opt.is-on .mini-ring::before{background:var(--yel-hi)}
.g-jak{margin:0;font-weight:700;font-size:13.5px;line-height:1.4;color:var(--mut)}
.g-karta{margin:12px 16px 0;padding:18px 16px;display:grid;justify-items:center;gap:12px;text-align:center;color:var(--card-ink);background:var(--card);border:4px solid var(--ink);border-radius:22px;box-shadow:inset 0 -8px 0 #dfe8ff,0 6px 0 var(--ink)}
.g-veta{margin:0;font-weight:900;font-size:clamp(20px,5.6vw,27px);line-height:1.55;max-width:32ch;overflow-wrap:anywhere;text-wrap:balance}
.g-gap{display:inline-block;min-width:4em;padding:0 8px;border-bottom:4px dashed #3156c9;line-height:1.3;color:#3156c9}
.g-gap.ok{border:0;border-radius:8px;background:var(--grn);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.g-gap.zle{min-width:0;border:0;border-radius:8px;background:#ffdede;color:var(--red-dk)}
.g-hint{font-weight:800;font-size:.78em;color:#6a76a3;white-space:nowrap}
.g-signal{font-family:var(--disp);font-weight:400;font-size:clamp(30px,9vw,42px);line-height:1.1;padding:8px 20px;border-radius:14px;background:#eef3ff}
.g-zadani-cs{margin:0;font-weight:900;font-size:clamp(19px,5vw,24px);line-height:1.35;max-width:28ch}
.g-preklad{border:0;background:none;padding:6px 10px;min-height:36px;font-weight:800;font-size:13.5px;color:#3156c9;text-decoration:underline;text-underline-offset:3px}
.g-cs{margin:0;font-weight:800;font-size:15px;color:#46527d}
.g-moz.kratke{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
.g-moz .sopt small{display:block;font-weight:800;font-size:13px;opacity:.85;text-shadow:none;margin-top:2px}
.g-napis{display:grid;gap:12px;padding:16px 16px 0}
.g-input{width:100%;min-height:60px;padding:10px 16px;border:3px solid var(--ink);border-radius:14px;background:#fff;color:var(--ink);font-weight:900;font-size:22px;text-align:center;box-shadow:inset 0 3px 0 rgba(10,20,64,.12)}
.g-input.ok{background:#e6fbe9;border-color:var(--grn-dk)}
.g-input.zle{background:#fff0f0;border-color:var(--red-dk);color:var(--red-dk);text-decoration:line-through}
.g-sklad{width:100%;min-height:66px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:8px;padding:10px;border:3px dashed #b9c6ee;border-radius:14px;background:#f5f8ff}
.g-sklad.ok{border:3px solid var(--grn);background:#e6fbe9}
.g-sklad.zle{border:3px solid var(--red);background:#fff0f0}
.g-sklad-pr{font-weight:800;font-size:14px;color:#8a95bd}
.g-dl{min-height:46px;padding:6px 14px;border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font-weight:900;font-size:18px;box-shadow:0 3px 0 var(--ink)}
.g-dl:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.g-sklad .g-dl{background:var(--yel-hi)}
.g-sklad .g-dl:disabled{opacity:1;cursor:default}
.g-banka{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:16px 16px 0}
.g-akce{padding:14px 16px 0}
.g-ano .jbtn{font-size:18px}
.g-zpet{margin:14px 16px 0;padding:14px 16px 16px;display:grid;gap:9px;border:3px solid var(--ink);border-radius:18px;box-shadow:0 5px 0 var(--ink);animation:pop .35s cubic-bezier(.3,1.6,.5,1)}
.g-zpet.ok{background:linear-gradient(#5fe07a,var(--grn))}
.g-zpet.zle{background:linear-gradient(#ff8a8a,var(--red))}
.g-zpet-h{font-family:var(--disp);font-weight:400;font-size:26px;line-height:1;--ols:2.5px}
.g-plna{margin:0;padding:10px 12px;border-radius:12px;background:#fff;color:var(--ink);font-weight:900;font-size:19px;line-height:1.35}
.g-plna b{color:var(--grn-dk)}
.g-zpet-cs{margin:0;font-weight:800;font-size:14.5px;color:#fff}
.g-proc{margin:0;font-weight:800;font-size:14.5px;line-height:1.45;color:#fff}
.g-proc span{display:inline-block;padding:1px 8px;margin-right:4px;border-radius:999px;background:var(--ink);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.g-proc b{color:var(--yel-hi)}
.g-chyby li{flex-direction:column;gap:2px}
.g-chyby li b{color:var(--yel-hi)}
.g-rod{display:grid;gap:6px}
.g-rod-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-weight:800;font-size:13.5px}
.g-rod-dov{display:flex;flex-wrap:wrap;gap:6px}
.g-rod-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 5px;border-radius:999px;background:rgba(6,18,64,.4);font-weight:800;font-size:12.5px}
.g-rod-chip i{width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--yel) calc(var(--p)*1%),rgba(255,255,255,.2) 0)}
.g-rod-chip b{font-variant-numeric:tabular-nums}
.tahak-hlava{display:grid;gap:2px}
.tahak-hlava b{font-family:var(--disp);font-weight:400;font-size:24px;line-height:1.1;--ols:2.5px}
.tahak-hlava small{font-weight:800;font-size:14px;color:var(--mut)}
.tahak-grid{display:grid;gap:14px}
.tahak{background:var(--card);color:var(--card-ink);border:4px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 5px 0 var(--ink);padding-bottom:4px}
.tahak-h{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:4px 10px;flex-wrap:wrap;padding:10px 14px;color:#fff;background:var(--sky2);border-bottom:3px solid var(--ink)}
.tahak-h .ol{font-family:var(--disp);font-weight:400;font-size:21px;line-height:1.1;--ols:2px}
.tahak-h small{font-weight:900;font-size:13px}
.t-zluta .tahak-h{background:var(--yel);color:var(--ink)}
.t-zluta .tahak-h .ol{color:var(--ink);text-shadow:none}
.t-cervena .tahak-h{background:var(--red)}
.t-fialova .tahak-h{background:var(--vio)}
.tahak b{color:var(--sky3)}
.t-cervena b{color:var(--red-dk)}
.t-zluta b{color:#b45309}
.t-fialova b{color:var(--vio)}
.tahak > :not(.tahak-h){margin:12px 14px}
.tahak h3{margin:14px 14px 0;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a76a3}
.tahak h3 + *{margin-top:6px}
.tahak-p{font-weight:700;font-size:15.5px;line-height:1.45}
.tahak-tab{width:calc(100% - 28px);border-collapse:collapse;font-size:16px}
.tahak-tab td{padding:7px 10px;border-bottom:2px solid #e3e9fb;font-weight:800}
.tahak-tab td:first-child{color:#6a76a3;width:50%}
.tahak-ul{padding-left:20px;display:grid;gap:4px;font-weight:700;font-size:15px;line-height:1.4}
.tahak-slova{display:flex;flex-wrap:wrap;gap:6px}
.tahak-slova span{padding:4px 10px;border-radius:999px;background:#eef3ff;border:2px solid #c9d6fb;font-weight:900;font-size:14px}
.tahak-roz{padding:10px 12px;border-radius:14px;background:#f5f8ff;border:2px solid #dbe4fb;display:grid;gap:4px}
.tahak-roz p{margin:0;font-weight:800;font-size:15.5px;line-height:1.4}
.tahak-roz > b{font-family:var(--disp);font-weight:400;font-size:18px;color:var(--ink)}
.tahak-ex{color:#46527d;font-style:italic}
@media (min-width:860px){
  .en-cast{padding-inline:20px}
  .tahak-grid{grid-template-columns:1fr 1fr;align-items:start}
  .tahak.prvni{grid-column:1/-1}
  .tahak.prvni{display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:0}
  .tahak.prvni > .tahak-h{grid-column:1/-1}
  .s-tahak .obsah{padding-inline:20px}
  .s-gram > :not(.tb){width:min(760px,calc(100% - 32px));margin-left:auto;margin-right:auto}
  .s-gram > .learn-meta,.s-gram > .spell-opts,.s-gram > .g-napis,.s-gram > .g-banka,.s-gram > .g-akce,.s-gram > .judge,.s-gram > .prog{padding-inline:0}
  .s-gram .spell-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-gram .g-moz.kratke{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- zdroje a licence obrazku ---------- */
.zdroj{padding:0;overflow:hidden}
.zdroj summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;min-height:52px;cursor:pointer;list-style:none;font-size:17px}
.zdroj summary::-webkit-details-marker{display:none}
.zdroj summary b{font-family:var(--disp);font-weight:400;--ols:2px}
.zdroj summary em{font-style:normal;font-weight:900;padding:2px 10px;border-radius:999px;background:rgba(6,18,64,.5);font-variant-numeric:tabular-nums}
.zdroj[open] summary{border-bottom:3px solid var(--ink)}
.zdroj ul{margin:0;padding:6px 14px 10px;list-style:none;display:grid;gap:0}
.zdroj li{display:flex;flex-wrap:wrap;gap:2px 10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:13.5px;font-weight:700;line-height:1.35}
.zdroj li:last-child{border-bottom:0}
.z-t{flex:1 0 100%;font-weight:900;color:#fff}
.z-a{color:var(--mut)}
.zdroj li a{color:var(--yel)}

/* ---------- rodice: fotky zviratek ---------- */
.foto-skupiny{display:grid;gap:4px}
.foto-skupina .chips-skupina{margin:6px 0 2px}
.foto-tagy{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px}
.foto-tagy::-webkit-scrollbar{display:none}
.foto-tagy button{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:48px;padding:5px 8px 5px 5px;border:3px solid var(--ink);border-radius:999px;background:rgba(6,18,64,.4);color:#fff;font-weight:900;font-size:14.5px}
.foto-tagy img,.foto-tagy i{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;background:rgba(255,255,255,.15);flex:0 0 auto}
.foto-tagy em{font-style:normal;font-family:var(--disp);font-size:13px;min-width:28px;padding:3px 7px;border-radius:999px;background:rgba(6,18,64,.6);text-align:center;font-variant-numeric:tabular-nums}
.foto-tagy button.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -4px 0 var(--yel-dk)}
.foto-tagy button.is-on em{background:var(--ink);color:#fff}
.foto-deti{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-weight:800;font-size:14px}
.foto-dite{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px 6px 14px;border:3px solid var(--ink);border-radius:999px;background:rgba(6,18,64,.4);color:#fff;font-weight:900;font-size:14.5px}
.foto-dite i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.25);font-style:normal;font-size:15px;line-height:1}
.foto-dite.is-on{background:linear-gradient(var(--grn-hi),var(--grn));color:var(--ink);box-shadow:inset 0 -4px 0 var(--grn-dk)}
.foto-dite.is-on i{background:var(--ink);color:#fff}
.foto-info{margin:0;font-weight:800;font-size:14px;line-height:1.4;color:var(--mut);max-width:70ch}
.foto-info b{color:#fff}
.foto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.foto{position:relative;margin:0;aspect-ratio:1;border:3px solid var(--ink);border-radius:12px;overflow:hidden;background:var(--panel-dk)}
.foto-img{display:block;width:100%;height:100%;padding:0;border:0;background:none}
.foto-img img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .2s,filter .2s}
.foto-x{position:absolute;top:5px;right:5px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:2.5px solid var(--ink);border-radius:50%;background:var(--red);color:#fff;font:900 24px/1 var(--body);box-shadow:0 2px 0 var(--ink)}
.foto-x::before{content:"";position:absolute;inset:-6px}
.foto-stitek{display:none;position:absolute;left:6px;bottom:6px;padding:3px 8px;border-radius:999px;background:var(--ink);color:#fff;font-weight:900;font-size:11px;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.foto.skryta{border-color:rgba(6,18,64,.7)}
.foto.skryta .foto-img img{filter:grayscale(1);opacity:.3}
.foto.skryta .foto-stitek{display:block}
.foto.skryta .foto-x{background:var(--grn);color:var(--ink);font-size:21px}
.foto-lb{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:calc(12px + var(--st)) 16px calc(14px + var(--sb));background:rgba(6,10,40,.86);animation:fade .15s}
.foto-lb-in{width:min(900px,100%);display:grid;gap:10px}
.foto-lb-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.foto-lb-top span{font-family:var(--disp);font-size:20px;--ols:2px}
.foto-lb-img{position:relative;display:grid;place-items:center;min-height:0}
.foto-lb-img img{display:block;max-width:100%;max-height:60vh;max-height:calc(100dvh - 250px);border:4px solid #fff;border-radius:14px;box-shadow:0 0 0 3px var(--ink);background:#fff}
.foto-lb-img.skryta img{filter:grayscale(1);opacity:.45}
.foto-lb-img .foto-stitek{display:block;left:50%;bottom:14px;transform:translateX(-50%);font-size:13px;padding:5px 12px}
.foto-lb-kredit{margin:0;text-align:center;font-weight:700;font-size:12.5px;color:var(--mut)}
.foto-lb-akce{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:10px;align-items:center;width:min(480px,100%);margin-inline:auto}
.foto-sip{min-height:58px;padding:0;border:3px solid var(--ink);border-radius:14px;background:rgba(6,18,64,.6);color:#fff;font:900 34px/1 var(--body);box-shadow:0 4px 0 var(--ink)}
@media (min-width:600px){ .foto-grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (min-width:860px){
  .foto-tagy{flex-wrap:wrap;overflow:visible}
  .foto-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
}

.pr-btn{border:2.5px solid var(--ink);border-radius:999px;padding:4px 10px;min-height:34px;font-weight:900;font-size:12.5px;white-space:nowrap;color:#fff;background:var(--red);box-shadow:0 2px 0 var(--ink)}
.pr-btn.obnovit{background:var(--grn);color:var(--ink)}
.pr-btn:disabled{opacity:.5}
.kr-ed [data-polozka-pryc] img{width:28px;height:28px}

/* ---------- hesla, prihlaseni ---------- */
.pole > label{font-weight:900;font-size:14px;color:#fff}
.heslo{position:relative;display:block}
.heslo input{padding-right:56px}
.heslo-oko{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:40px;display:grid;place-items:center;border:0;border-radius:10px;background:rgba(10,20,64,.08);color:var(--ink);padding:0}
.heslo-oko:hover{background:rgba(10,20,64,.16)}
.heslo-oko .oko-skrtnute{display:none}
.heslo-oko.on .oko-skrtnute{display:inline}
.heslo-oko:focus-visible{outline:3px solid var(--yel);outline-offset:1px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.auth-ok{margin:0;padding:10px 12px;border-radius:12px;background:var(--grn);color:var(--ink);border:3px solid var(--ink);font-weight:900}
.pole-tip{font-weight:700;font-size:12.5px;color:var(--mut);line-height:1.35}
.auth-note a{color:var(--yel);font-weight:900}

/* ---------- slovicka z fotky ---------- */
.nahrat{width:min(720px,100%);margin-inline:auto}
.nahrat-btn{margin-top:4px}
.foto-btn{cursor:pointer}
.nahledy{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.nahled{position:relative;aspect-ratio:3/4;border:3px solid var(--ink);border-radius:12px;overflow:hidden;background:#fff}
.nahled img{width:100%;height:100%;object-fit:cover;display:block}
.nahled .ikona-btn{position:absolute;top:4px;right:4px;width:34px;height:34px;background:var(--red)}
.stav.zle{background:var(--red);color:#fff}

/* ---------- dospely vzhled pro rodice ("Vecerni modra") ----------
   html.rodic nastavuje shell.php a kit.js (motiv); detske moduly ho nemaji, v Profilu jde vypnout. */
html.rodic{
  --p-bg:#0e1733;--p-panel-bg:#121c3c;--p-bar:rgba(14,23,51,.88);--p-th:#17234a;
  --p-surface:rgba(255,255,255,.05);--p-surface2:rgba(255,255,255,.08);--p-seg-on:rgba(255,255,255,.16);--p-line:rgba(255,255,255,.1);--p-input:rgba(255,255,255,.06);--p-cell:rgba(255,255,255,.1);
  --p-text:#edf1ff;--p-muted:#97a4ca;--p-accent:#ffcc1f;--p-accent-ink:#1d1603;--p-accent-soft:rgba(255,204,31,.13);
  --p-ok:#4ade80;--p-ok-soft:rgba(74,222,128,.15);--p-bad:#f87171;--p-bad-soft:rgba(248,113,113,.15);--p-warn:#fb923c;--p-warn-soft:rgba(251,146,60,.15);
  --disp:"Nunito",ui-rounded,system-ui,sans-serif;background:var(--p-bg);accent-color:var(--p-accent)}
html.rodic body{background:var(--p-bg);color:var(--p-text)}
html.rodic *{text-shadow:none!important}
html.rodic a:not([class]){color:var(--p-accent)}
html.rodic :focus-visible{outline:2px solid var(--p-accent);outline-offset:2px}
html.rodic .muted,html.rodic .prazdno{color:var(--p-muted);font-weight:700}
html.rodic .h2{font-weight:800;font-size:17px;letter-spacing:-.005em}
html.rodic .lnk{color:var(--p-muted);font-weight:700}
html.rodic .autor,html.rodic .autor a{color:var(--p-muted)}
html.rodic .toast{background:var(--p-text);color:var(--p-bg);border:0;font-weight:700}
html.rodic .boot-logo{font-weight:900}
/* horni lista */
html.rodic .tb{background:var(--p-bar);border-bottom:1px solid var(--p-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html.rodic .tb-btn{width:44px;height:44px;color:var(--p-text);background:transparent;border:1px solid var(--p-line);border-radius:12px;box-shadow:none;transform:none}
html.rodic .tb-btn > *{transform:none}
html.rodic .tb-btn img{width:26px;height:26px}
html.rodic .tb-btn:active{transform:scale(.96);box-shadow:none}
html.rodic .tb-menu{gap:4px}
html.rodic .tb-menu i{width:18px;height:2px;border-radius:2px;background:currentColor;transform:none}
html.rodic .tb-title{font-weight:800;font-size:17px;letter-spacing:0}
html.rodic .tb-logo{font-size:19px;transform:none}
html.rodic .logo-kit{color:var(--p-accent)}
html.rodic .tb.clear{background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
html.rodic .tb.clear .tb-btn{color:#fff;background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* tlacitka a panely */
html.rodic .btn{min-height:50px;padding:0 20px;border:0;border-radius:12px;font-weight:700;font-size:16px;letter-spacing:0;color:var(--p-accent-ink);background:var(--p-accent);box-shadow:none;transform:none}
html.rodic .btn > span{transform:none}
html.rodic .btn:active{transform:translateY(1px);box-shadow:none;filter:brightness(.94)}
html.rodic .btn.modra{color:var(--p-text);background:var(--p-surface2);box-shadow:inset 0 0 0 1px var(--p-line)}
html.rodic .btn.zelena{color:#06210f;background:var(--p-ok);box-shadow:none}
html.rodic .btn.cervena{color:#fff;background:#d63b3b;box-shadow:none}
html.rodic .btn.mala{min-height:36px;padding:0 14px;border-radius:10px;font-size:14px}
html.rodic .panel{background:var(--p-surface);border:1px solid var(--p-line);border-radius:16px;box-shadow:none}
/* pozdrav: fotka pres cele pozadi, bez fotky jen modra */
html.rodic .s-hello{color:#fff}
html.rodic .hello-title{flex-direction:row;flex-wrap:wrap;column-gap:.26em;font-weight:800;font-size:clamp(40px,11.5vw,58px);line-height:1.02;letter-spacing:-.015em;transform:none}
html.rodic .hello-title .jmeno,html.rodic .hello-title .jmeno.holka{color:#fff}
html.rodic .hello-sub{font-weight:600;font-size:16.5px;color:rgba(255,255,255,.86)}
html.rodic .hello-streak{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.2);font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* domu */
html.rodic .home-greet{padding:20px 20px 4px;color:var(--p-muted);font-weight:700}
html.rodic .home-greet b{font-weight:800;font-size:24px;letter-spacing:-.01em;color:var(--p-text)}
html.rodic .apps{gap:18px 6px;padding:16px 12px 8px}
html.rodic .app-ic{width:60px;height:60px;border:1px solid var(--p-line);border-radius:17px;background:var(--p-surface);box-shadow:none}
html.rodic .app-i:active .app-ic{transform:scale(.95)}
html.rodic .app-ic img{width:40px;height:40px;filter:none}
html.rodic .app-lb{font-weight:700;font-size:12.5px;color:var(--p-text)}
html.rodic .app-badge{top:-5px;right:calc(50% - 38px);min-width:20px;height:20px;padding:0 5px;font-weight:800;font-size:11px;color:var(--p-accent-ink);background:var(--p-accent);border:2px solid var(--p-bg)}
html.rodic .widgets{gap:12px}
html.rodic .wg{padding:14px 16px}
html.rodic .wg-head{color:var(--p-muted);font-weight:700}
html.rodic .wg-lvl{padding:3px 8px;font-weight:700;font-size:11px;letter-spacing:.07em;color:var(--p-text);background:var(--p-surface2);border:0;border-radius:6px;transform:none}
html.rodic .wg-lvl.kalendar,html.rodic .wg-lvl.info{color:var(--p-accent);background:var(--p-accent-soft)}
html.rodic .wg-lvl.dulezite{color:var(--p-warn);background:var(--p-warn-soft)}
html.rodic .wg-lvl.hori{color:var(--p-bad);background:var(--p-bad-soft);animation:none}
html.rodic .wg-lvl.ukol{color:var(--p-ok);background:var(--p-ok-soft)}
html.rodic .wg-text{font-weight:700;font-size:15px}
html.rodic .wbtn{min-height:38px;font-weight:700;color:var(--p-text);background:transparent;border:1px solid var(--p-line);border-radius:10px}
html.rodic .wbtn.ok{color:var(--p-accent-ink);background:var(--p-accent);border-color:transparent;box-shadow:none}
html.rodic .wg-odpoved{background:var(--p-surface2);font-weight:700}
html.rodic .wg-reply textarea{border:1px solid var(--p-line);background:var(--p-input);color:var(--p-text);font-weight:600}
html.rodic .wg-box{width:24px;height:24px;border:1.5px solid var(--p-muted);border-radius:50%;background:transparent}
html.rodic .wg-box::after{width:10px;height:5px;border-left-width:2.5px;border-bottom-width:2.5px}
html.rodic .wg-check{font-weight:700}
html.rodic .wg-check.on .wg-box{background:var(--p-ok);border-color:var(--p-ok)}
html.rodic .pr{padding:6px 10px 6px 6px;font-weight:700;background:var(--p-surface2);border-radius:10px}
html.rodic .pr img{width:28px;height:28px}
html.rodic .pr-cas{font-weight:800;font-size:14px}
html.rodic .pr-nazev{font-weight:700;font-size:14.5px}
html.rodic .pr-stitek{font-weight:700;color:var(--p-bad);background:var(--p-bad-soft)}
html.rodic .pr.navic{background:var(--p-accent-soft);box-shadow:inset 0 0 0 1px var(--p-accent)}
html.rodic .pr.navic .pr-stitek{color:var(--p-accent-ink);background:var(--p-accent)}
html.rodic .pr small{color:var(--p-muted)}
html.rodic .pr .lnk{color:var(--p-text)}
html.rodic .pr-kdo{font-weight:800;font-size:14px;color:var(--p-text)}
html.rodic .pr-btn{border:0;box-shadow:none;font-weight:700;color:var(--p-bad);background:var(--p-bad-soft)}
html.rodic .pr-btn.obnovit{color:var(--p-ok);background:var(--p-ok-soft)}
/* menu */
html.rodic .menu{background:rgba(5,8,20,.5)}
html.rodic .menu-panel{gap:2px;background:var(--p-panel-bg);border-left:1px solid var(--p-line)}
html.rodic .menu-head{margin-bottom:10px}
html.rodic .menu-head b{font-weight:800;font-size:20px}
html.rodic .menu-a{gap:14px;padding:10px;font-weight:700;font-size:15.5px;color:var(--p-text);background:transparent;border:0;border-radius:10px}
html.rodic .menu-a img{width:26px;height:26px}
html.rodic .menu-a.on{color:var(--p-text);background:var(--p-accent-soft)}
html.rodic .menu-sep{margin:8px 0;background:var(--p-line)}
html.rodic .menu-podpora{padding-top:14px;border-top:1px solid var(--p-line)}
html.rodic .menu-pod{color:var(--p-text);background:var(--p-surface);border:1px solid var(--p-line)}
html.rodic .menu-pod:active{transform:translateY(1px)}
html.rodic .menu-pod-ik{width:38px;height:38px;border:0}
html.rodic .menu-pod-ik svg{width:20px;height:20px}
html.rodic .menu-pod-txt b{font-weight:700;font-size:14.5px}
html.rodic .menu-pod-txt small{font-weight:600;color:var(--p-muted)}
html.rodic .menu-pod-ven{stroke:var(--p-muted)}
html.rodic .menu-pata a{color:var(--p-muted);font-weight:600}
html.rodic .menu-tecka{background:var(--p-accent)}
/* buzerlistek */
html.rodic .night-head{gap:12px}
html.rodic .night-head img{width:40px;height:40px}
html.rodic .night-head b{font-weight:800;font-size:22px;letter-spacing:-.01em}
html.rodic .night-head small{color:var(--p-muted);font-weight:700}
html.rodic .buzer{gap:0;overflow:hidden;background:var(--p-surface);border:1px solid var(--p-line);border-radius:16px}
html.rodic .buzer-i{min-height:60px;padding:10px 14px;font-weight:700;font-size:15.5px;color:var(--p-text);background:transparent;border:0;border-bottom:1px solid var(--p-line);border-radius:0;box-shadow:none}
html.rodic .buzer-i:last-child{border-bottom:0}
html.rodic .buzer-i img{width:30px;height:30px}
html.rodic .buzer-i.on{color:var(--p-muted);background:transparent}
html.rodic .buzer-i.on > span:not(.wg-box){text-decoration:line-through;text-decoration-thickness:1.5px}
html.rodic .buzer-i.on .wg-box{background:var(--p-ok);border-color:var(--p-ok)}
html.rodic .mrizka-r{font-weight:700}
html.rodic .mrizka-d i{background:var(--p-cell)}
html.rodic .mrizka-d i.dnes{outline:1.5px solid var(--p-text);outline-offset:1px}
html.rodic .legenda{color:var(--p-muted);font-weight:700}
/* rodice */
html.rodic .rod-tabs{gap:2px;padding:8px 14px 0;border-bottom:1px solid var(--p-line)}
html.rodic .rod-tabs button{min-height:44px;padding:8px 12px;font-weight:700;color:var(--p-muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}
html.rodic .rod-tabs button.is-on{color:var(--p-text);background:transparent;border-bottom-color:var(--p-accent);box-shadow:none}
html.rodic .kid-head b{font-weight:800;font-size:19px}
html.rodic .seg{background:var(--p-surface2);border-radius:10px}
html.rodic .seg button{min-height:34px;font-weight:700;color:var(--p-muted)}
html.rodic .seg button.is-on{color:var(--p-text);background:var(--p-seg-on);box-shadow:0 1px 2px rgba(0,0,0,.18)}
html.rodic .stat4 div{background:var(--p-surface2)}
html.rodic .stat4 b{font-weight:800;font-size:21px}
html.rodic .stat4 span{color:var(--p-muted);font-weight:700}
html.rodic .tbl-wrap{background:transparent;border:1px solid var(--p-line)}
html.rodic .tbl th{color:var(--p-muted);background:var(--p-th);font-weight:700}
html.rodic .tbl th,html.rodic .tbl td{border-bottom:1px solid var(--p-line)}
html.rodic .tbl tr.prazdny td{color:var(--p-muted);opacity:.7}
html.rodic .tbl select{padding:3px 6px;border:1px solid var(--p-line);border-radius:6px;background:var(--p-input);color:var(--p-text);font-weight:600}
html.rodic .pill{font-weight:700}
html.rodic .pill.ok{color:var(--p-ok);background:var(--p-ok-soft)}
html.rodic .pill.stred{color:var(--p-warn);background:var(--p-warn-soft)}
html.rodic .pill.zle{color:var(--p-bad);background:var(--p-bad-soft)}
html.rodic .pill.nic{color:var(--p-muted);background:var(--p-surface2)}
html.rodic .graf text{fill:var(--p-muted);font-weight:600}
html.rodic .graf .osa{stroke:var(--p-line)}
html.rodic .graf .bar{fill:var(--p-accent)}
html.rodic .graf .bar.dnes{fill:var(--p-text)}
html.rodic .graf .cara{stroke:var(--p-ok)}
html.rodic .graf .bod{fill:var(--p-ok);stroke:var(--p-bg)}
html.rodic .g-rod-chip{background:var(--p-surface2);font-weight:700}
html.rodic .g-rod-chip i{background:conic-gradient(var(--p-accent) calc(var(--p)*1%),var(--p-line) 0)}
html.rodic .zpr{background:var(--p-surface2)}
html.rodic .zpr-meta{color:var(--p-muted)}
html.rodic .stav{background:var(--p-surface2)}
html.rodic .stav.ok{color:var(--p-ok);background:var(--p-ok-soft)}
html.rodic .kal-den,html.rodic section.kal-den,html.rodic .kr-ed,html.rodic .pridat-form{background:var(--p-surface2)}
html.rodic .kal-h.dnes > span:first-child,html.rodic .kal-h .lnk{color:var(--p-accent)}
/* formulare */
html.rodic .pole > span,html.rodic .pole legend,html.rodic .pole > label{font-weight:700;color:var(--p-text)}
html.rodic .pole em,html.rodic .pole-tip,html.rodic .chips-skupina{color:var(--p-muted)}
html.rodic .pole input,html.rodic .pole select,html.rodic .pole textarea,html.rodic .polozka-ed input,html.rodic .kr-ed input,html.rodic .kr-ed select{border:1px solid var(--p-line);border-radius:10px;background:var(--p-input);color:var(--p-text);font-weight:600}
html.rodic .chip-in span{border:1px solid var(--p-line);border-radius:999px;background:transparent;font-weight:700}
html.rodic .chip-in input:checked + span{color:var(--p-accent-ink);background:var(--p-accent);border-color:transparent;box-shadow:none}
html.rodic .kod{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;border:1px solid var(--p-line);background:var(--p-input);color:var(--p-text)}
html.rodic .ikona-btn{border:1px solid var(--p-line);background:var(--p-surface2);color:var(--p-text)}
html.rodic .ikony-vyber{background:var(--p-surface2)}
html.rodic .ikony-vyber button.is-on{border-color:var(--p-accent);background:var(--p-accent-soft)}
html.rodic .heslo-oko{color:var(--p-text);background:transparent}
html.rodic .heslo-oko:hover{background:var(--p-surface2)}
/* rodice: fotky */
html.rodic .foto-tagy button{color:var(--p-text);background:var(--p-surface);border:1px solid var(--p-line);font-weight:700}
html.rodic .foto-tagy img,html.rodic .foto-tagy i{border:0}
html.rodic .foto-tagy em{font-weight:800;background:var(--p-surface2)}
html.rodic .foto-tagy button.is-on{color:var(--p-accent-ink);background:var(--p-accent);border-color:transparent;box-shadow:none}
html.rodic .foto-tagy button.is-on em{color:var(--p-accent-ink);background:rgba(0,0,0,.15)}
html.rodic .foto-dite{color:var(--p-text);background:var(--p-surface);border:1px solid var(--p-line);font-weight:700}
html.rodic .foto-dite i{background:var(--p-surface2)}
html.rodic .foto-dite.is-on{color:#06210f;background:var(--p-ok);border-color:transparent;box-shadow:none}
html.rodic .foto-dite.is-on i{color:#fff;background:rgba(0,0,0,.25)}
html.rodic .foto-info{color:var(--p-muted);font-weight:600}
html.rodic .foto-info b{color:var(--p-text)}
html.rodic .foto{border:0;border-radius:10px;background:var(--p-surface2)}
html.rodic .foto-x{border:0;font-size:20px;background:rgba(10,14,30,.62);box-shadow:0 1px 4px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html.rodic .foto.skryta .foto-x{color:#06210f;background:var(--p-ok)}
html.rodic .foto-stitek{background:rgba(10,14,30,.75)}
html.rodic .foto-lb{background:rgba(5,8,20,.92)}
html.rodic .foto-lb-top span{font-weight:800;font-size:18px}
html.rodic .foto-lb-img img{border:0;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
html.rodic .foto-lb-kredit{color:var(--p-muted)}
html.rodic .foto-sip{border:1px solid var(--p-line);background:var(--p-surface2);box-shadow:none}
/* zdroje obrazku */
html.rodic .zdroj summary b{font-weight:800}
html.rodic .zdroj summary em{font-weight:700;background:var(--p-surface2)}
html.rodic .zdroj[open] summary{border-bottom:1px solid var(--p-line)}
html.rodic .zdroj li{font-weight:600;border-bottom-color:var(--p-line)}
html.rodic .z-t{font-weight:700;color:var(--p-text)}
html.rodic .z-a{color:var(--p-muted)}
html.rodic .zdroj li a{color:var(--p-accent)}
@media (min-width:860px){
  html.rodic .app-ic{width:72px;height:72px;border-radius:20px}
  html.rodic .app-ic img{width:46px;height:46px}
  html.rodic .app-badge{right:calc(50% - 44px)}
  html.rodic .app-lb{font-size:13.5px}
}

/* ---------- o aplikaci (jen rodice) ---------- */
.o-hlava{display:flex;align-items:center;gap:14px;padding:4px 2px}
.o-hlava img{width:64px;height:64px;border-radius:16px;flex:none}
.o-hlava b{display:block;font-family:var(--disp);font-weight:400;font-size:30px;line-height:1.05;--ols:2.5px}
.o-hlava div > span{display:block;margin-top:4px;font-weight:700;font-size:14px;line-height:1.35;color:var(--mut)}
.o-p{margin:0;font-weight:700;font-size:15px;line-height:1.5}
.o-p a{font-weight:800}
html.rodic .o-hlava b{font-weight:800;font-size:26px;letter-spacing:-.01em}
html.rodic .o-hlava div > span{font-weight:600;color:var(--p-muted)}
html.rodic .o-p{font-weight:600}

/* ---------- carove ikony, skupiny v menu rodice, okna, zpetna vazba (oba vzhledy) ---------- */
.ik{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.domek{display:block;width:30px;height:30px;flex:none}
.tb-btn .domek{width:28px;height:28px}
.tb-btn .domek3d{width:34px;height:34px}
.menu-a > .domek3d{width:36px;height:36px;padding:1px}
button.menu-a{width:100%;text-align:left;font-family:inherit;cursor:pointer}
.menu-a > .ik,.menu-a > .domek{width:36px;height:36px;padding:5px}
.menu-skupiny{display:grid;gap:12px}
.menu-skupina{display:grid;gap:8px}
.menu-skupina h2{margin:6px 2px 0;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.menu-polozky{display:grid;gap:8px}
.okno{position:fixed;inset:0;z-index:95;display:flex;align-items:flex-end;justify-content:center;padding:calc(12px + var(--st)) 12px calc(12px + var(--sb));background:rgba(6,10,40,.6);animation:fade .15s}
.okno-in{width:min(560px,100%);max-height:calc(100dvh - 24px - var(--st) - var(--sb));overflow:auto;padding:16px;display:grid;gap:14px;animation:nahoru .2s ease-out}
/* dlouhe okno (Nabidka ukolu): nadpis s krizkem a tlacitko dole zustavaji videt i pri posouvani */
.okno-h{position:sticky;top:-16px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-16px -16px 0;padding:16px 16px 8px;background:inherit;border-radius:13px 13px 0 0}
.okno-pata{position:sticky;bottom:-16px;z-index:2;margin:0 -16px -16px;padding:10px 16px 16px;background:inherit}
@keyframes nahoru{from{transform:translateY(30px);opacity:.4}}
@media (min-width:700px){ .okno{align-items:center} }
.zv-h{margin:4px 0 0;font-size:12.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.zv-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.zv-list li{padding:10px 12px;border-radius:12px;background:rgba(6,18,64,.35);display:grid;gap:6px}
.zv-list li.nove{box-shadow:inset 0 0 0 2px var(--yel)}
.zv-list p{margin:0;font-weight:700;font-size:14px;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}
.zv-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:800;font-size:12.5px;color:var(--mut)}
.zv-odp{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.12)}
.zv-navrhy{display:grid;gap:8px}
.zv-navrh{display:grid;gap:3px;text-align:left;padding:10px 12px;border-radius:12px;border:2.5px solid rgba(6,18,64,.55);background:rgba(6,18,64,.35);color:#fff;cursor:pointer;font-family:inherit}
.zv-navrh b{font-weight:900;font-size:14.5px}
.zv-navrh span{font-weight:700;font-size:13px;line-height:1.4;color:var(--mut)}
.zv-navrh.is-on{border-color:var(--yel);background:rgba(255,204,31,.18)}
.zv-rozh{margin:0;font-weight:800;font-size:13.5px;color:var(--yel)}
.zv-akce{display:flex;gap:8px;flex-wrap:wrap}
.zv-akce .btn{width:auto}

/* dospely vzhled: menu pres celou obrazovku, okna, zpetna vazba */
html.rodic .menu-rodic .menu-panel{width:100%;border-left:0}
html.rodic .menu-skupina{gap:4px}
html.rodic .menu-skupina h2{margin-top:4px;color:var(--p-muted);font-weight:700}
html.rodic .menu-polozky{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 6px}
html.rodic .menu-rodic .menu-a{gap:10px;padding:8px;font-size:14.5px}
html.rodic .menu-a > .ik{width:26px;height:26px;padding:2px;color:var(--p-muted)}
html.rodic .menu-a > .domek{width:26px;height:26px;padding:0}
html.rodic .menu-a.on > .ik{color:var(--p-accent)}
html.rodic .okno{background:rgba(5,8,20,.62)}
html.rodic .okno-in{background:var(--p-panel-bg)}
html.rodic .zv-h{color:var(--p-muted);font-weight:700}
html.rodic .zv-list li{background:var(--p-surface2)}
html.rodic .zv-list li.nove{box-shadow:inset 0 0 0 1.5px var(--p-accent)}
html.rodic .zv-list p{font-weight:600}
html.rodic .zv-meta{color:var(--p-muted);font-weight:700}
html.rodic .zv-odp{background:var(--p-accent-soft)}
html.rodic .zv-navrh{border:1px solid var(--p-line);background:var(--p-surface2);color:var(--p-text)}
html.rodic .zv-navrh b{font-weight:700}
html.rodic .zv-navrh span{color:var(--p-muted);font-weight:600}
html.rodic .zv-navrh.is-on{border-color:var(--p-accent);background:var(--p-accent-soft)}
html.rodic .zv-rozh{color:var(--p-accent);font-weight:700}

/* ---------- plocha rodice (jen dospely vzhled) ---------- */
html.rodic .tb-plocha{grid-template-columns:auto minmax(0,1fr) auto;row-gap:0}
.tb-domu{display:flex;align-items:center;gap:8px;justify-self:start;padding:4px 2px;text-decoration:none}
.tb-znacka{font-weight:800;font-size:19px;letter-spacing:-.01em;color:#fff}
.tb-datum{justify-self:center;display:flex;align-items:center;gap:8px;max-width:100%;padding:7px 14px;border:1px solid var(--p-line);border-radius:999px;background:var(--p-surface2);color:var(--p-text);font-family:inherit;font-weight:800;font-size:15.5px;white-space:nowrap;cursor:pointer}
.tb-datum i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.75}
.tb-datum[aria-expanded="true"] i{transform:translateY(2px) rotate(-135deg)}
.tb-plocha .tb-menu{justify-self:end}
.pl-dny{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0 2px}
.pl-dny::-webkit-scrollbar{display:none}
.pl-dny button{flex:1 0 auto;min-width:56px;display:grid;justify-items:center;gap:1px;padding:7px 8px;border:1px solid var(--p-line);border-radius:12px;background:transparent;color:var(--p-text);font-family:inherit;cursor:pointer}
.pl-dny b{font-weight:800;font-size:13.5px}
.pl-dny span{font-weight:600;font-size:12px;color:var(--p-muted)}
.pl-dny button.is-on{color:var(--p-accent-ink);background:var(--p-accent);border-color:transparent}
.pl-dny button.is-on span{color:var(--p-accent-ink);opacity:.75}
.plocha{flex:1;display:grid;gap:12px;align-content:start;padding:12px 12px 16px}
.pl-oznam{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--p-accent);border-radius:12px;background:var(--p-accent-soft);color:var(--p-text);font-family:inherit;font-weight:700;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.pl-oznam span{flex:1}
.pl-oznam b{font-weight:800;color:var(--p-accent)}
.pl-jinden{margin:0;padding:2px 4px;font-weight:700;color:var(--p-muted)}
.pl-jinden .lnk{padding:0 0 0 8px;color:var(--p-accent)}
.plocha .pl-apps{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 2px;padding:2px 0 0}
html.rodic .pl-apps .app-ic{width:52px;height:52px;border-radius:15px}
html.rodic .pl-apps .app-ic img{width:34px;height:34px}
html.rodic .pl-apps .app-lb{font-size:11.5px}
.pl-sekce{min-width:0;display:grid;gap:10px;padding:14px}
.pl-h{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:800;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--p-muted)}
.pl-h .lnk{padding:0;font-size:12.5px;letter-spacing:0;text-transform:none}
.pl-dite > .pl-h{font-size:17px;letter-spacing:-.005em;text-transform:none;color:var(--p-text)}
.kruhy{display:flex;flex-wrap:wrap;gap:12px 6px}
.kruhy-vse{display:flex;flex-wrap:wrap;gap:14px 26px}
.kruhy-vse .kruhy{flex-wrap:nowrap}
.kruh{width:62px;display:grid;justify-items:center;gap:2px;text-align:center}
.kruh-g{position:relative;width:60px;height:60px;display:grid;place-items:center;border-radius:50%}
.kruh-g svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.kruh-s{fill:none;stroke:var(--p-cell);stroke-width:5}
.kruh-p{fill:none;stroke:var(--p-accent);stroke-width:5;stroke-linecap:round}
.kruh-g img{position:relative;width:30px;height:30px}
.kruh.vse .kruh-g{background:var(--p-ok-soft)}
.kruh.vse .kruh-p{stroke:var(--p-ok)}
.kruh-n{font-weight:800;font-size:13.5px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--p-text)}
.kruh-ok{font-size:16px;color:var(--p-ok)}
.kruh-lb{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:12px;color:var(--p-muted)}
.en-radek{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;flex-wrap:wrap}
.en-radek > b{font-weight:800;font-size:14.5px}
.en-stats{display:flex;gap:6px;flex-wrap:wrap}
.en-st{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 5px;border-radius:999px;background:var(--p-surface2);font-weight:600;font-size:13px}
.en-st img{width:22px;height:22px}
.en-st .g-znak{min-width:24px;height:22px;font-size:11px;border-width:1.5px;transform:none}
.en-st b{font-weight:800}
.en-st > span{color:var(--p-muted)}
.en-nic{font-weight:600;font-size:13px;color:var(--p-muted)}
.vz-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.vz-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:8px 10px;border-radius:10px;background:var(--p-surface2);font-size:13.5px}
.vz-pro{font-weight:800}
.vz-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.vz-odp{grid-column:1/-1;font-weight:600;color:var(--p-muted)}
.pl-lista{position:sticky;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 8px calc(6px + var(--sb));background:var(--p-bar);border-top:1px solid var(--p-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pl-lista .pl-btn{position:relative;display:grid;justify-items:center;gap:3px;padding:6px 2px;border:0;border-radius:10px;background:none;color:var(--p-muted);font-family:inherit;font-weight:700;font-size:11.5px;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer}
.pl-lista .pl-btn:active{background:var(--p-surface2)}
.pl-lista .ik{width:24px;height:24px;color:var(--p-text)}
.pl-lista em{position:absolute;top:3px;right:calc(50% - 17px);width:10px;height:10px;border-radius:50%;background:var(--p-accent);border:2px solid var(--p-bg)}
@media (max-width:359px){ .tb-znacka{display:none} }
@media (min-width:860px){
  html.rodic .menu-rodic .menu-panel{padding-left:max(24px,calc((100vw - 1100px) / 2));padding-right:max(24px,calc((100vw - 1100px) / 2))}
  html.rodic .menu-skupiny{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;align-items:start}
  html.rodic .menu-polozky{grid-template-columns:1fr}
  .plocha{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-items:start;padding:16px 20px 20px}
  .plocha > .pl-apps,.plocha > .pl-oznam,.plocha > .pl-jinden,.plocha > .autor{grid-column:1/-1}
  .plocha .pl-apps{grid-template-columns:repeat(6,92px);justify-content:start}
  .pl-lista{grid-template-columns:repeat(5,140px);justify-content:center}
}

/* ---------- rodice: nastaveni (kody v pruhu nahore, deti v kartach pres celou sirku) ---------- */
.kody-pruh{padding:12px 14px}
.kody-form{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.kod-pole{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px}
.kod-pole input{width:150px;min-height:38px;padding:6px 10px;border:2.5px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}
.kody-form .btn{width:auto}
.kody-odkaz{font-weight:700;font-size:13px;color:var(--mut);overflow-wrap:anywhere}
.deti-nast,.nast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:14px;align-items:start}
.kat-radek{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kat-tagy{display:flex;flex-wrap:wrap;gap:6px}
.kat-tag{padding:4px 10px;border-radius:999px;background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);font-weight:900;font-size:13px}
.heslo-skryte summary{cursor:pointer;font-weight:800;font-size:14px;color:var(--yel);list-style:none}
.heslo-skryte summary::-webkit-details-marker{display:none}
.heslo-skryte summary::before{content:"▸ "}
.heslo-skryte[open] summary{margin-bottom:10px}
.heslo-skryte[open] summary::before{content:"▾ "}
.heslo-skryte .pole + .pole{margin-top:10px}
html.rodic .app.siroka{max-width:1600px}
html.rodic .chips{gap:6px}
html.rodic .chip-in span{min-height:0;padding:6px 12px;font-size:13.5px}
html.rodic .kod-pole{font-weight:700}
html.rodic .kod-pole input{border:1px solid var(--p-line);background:var(--p-input);color:var(--p-text)}
html.rodic .kody-odkaz{color:var(--p-muted);font-weight:600}
html.rodic .kat-tag{background:var(--p-accent-soft);color:var(--p-accent);font-weight:700}
html.rodic .heslo-skryte summary{color:var(--p-accent);font-weight:700}

/* ---------- AI rezim (Napsat Claudovi), chybejici modul, nabidka upozorneni ---------- */
.pl-pozn{display:flex;gap:8px;align-items:flex-end}
.pl-pozn textarea{flex:1;min-width:0;min-height:42px;max-height:140px;padding:10px 12px;border:1px solid var(--p-line);border-radius:12px;background:var(--p-input);color:var(--p-text);font:inherit;font-weight:600;font-size:15px;line-height:1.35;resize:vertical}
.pl-pozn .btn{width:auto;min-height:42px}
.pozn-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pozn-list li{display:grid;gap:4px;padding:8px 10px;border-radius:10px;background:var(--p-surface2)}
.pozn-list li.nove{box-shadow:inset 0 0 0 1.5px var(--p-accent)}
.pozn-list li.nejasne{box-shadow:inset 0 0 0 1.5px var(--p-warn);background:var(--p-warn-soft)}
.pozn-list p{margin:0;font-weight:600;font-size:14px;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}
.pozn-list .lnk{margin-left:auto;padding:0;font-size:12.5px}
.pl-oznam-ik{font-style:normal;font-size:18px;line-height:1}
/* novinky: nove funkce jako karty s odkazem, opravy drobne pod dnem */
.nov-den{display:grid;gap:10px}
.nov-datum{margin:10px 0 0;font-family:var(--disp);font-weight:400;font-size:20px;--ols:2px}
.nov-karta{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px}
.nov-ik{width:48px;height:48px;object-fit:contain}
.nov-txt{display:grid;gap:6px;justify-items:start}
.nov-txt h3{margin:0;font-weight:900;font-size:17px;line-height:1.25}
.nov-txt p{margin:0;font-weight:700;font-size:14.5px;line-height:1.45;color:var(--mut)}
.nov-stitek{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--yel);color:var(--ink);font-style:normal;font-weight:900;font-size:11px;letter-spacing:.04em;text-transform:uppercase;vertical-align:2px}
.nov-btn{width:auto;margin-top:4px}
.nov-opravy{margin:0;padding:0 4px 0 20px;display:grid;gap:4px;font-weight:600;font-size:13px;line-height:1.4;color:var(--mut)}
.nov-opravy li::marker{color:var(--mut)}
html.rodic .nov-karta.nova{border-color:var(--p-accent)}
html.rodic .nov-datum{font-family:inherit;font-weight:800;font-size:15px;color:var(--p-muted);text-transform:uppercase;letter-spacing:.06em}
html.rodic .nov-txt p,html.rodic .nov-opravy{color:var(--p-muted)}
html.rodic .nov-stitek{background:var(--p-accent);color:#0b1330}
.pl-oznam.varovani{align-items:flex-start;border-color:var(--p-warn);background:var(--p-warn-soft)}
.pl-oznam.varovani .ik{color:var(--p-warn);margin-top:1px}
.pl-oznam.varovani span{display:grid;gap:2px;font-weight:600}
.pl-oznam.varovani span b{font-weight:800}
.pl-oznam.varovani .lnk{padding:0;color:var(--p-warn);font-weight:800}
.app-chybi{opacity:.55;cursor:pointer;font-family:inherit}
.app-chybi:hover,.app-chybi:focus-visible{opacity:.9}
html.rodic .app-chybi .app-ic{background:transparent;border:1.5px dashed var(--p-muted)}
.app-chybi .ik{width:26px;height:26px;color:var(--p-text)}
.push-nabidka .wg-text{margin:0}

/* ---------- pruvodce nove rodiny ---------- */
.pv{flex:1;display:flex;flex-direction:column;width:min(560px,100%);margin:0 auto;padding:calc(24px + var(--st)) 20px calc(20px + var(--sb));text-align:center;touch-action:pan-y}
.pv-telo{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:pv-vjezd .35s ease-out}
.pv-ikona{width:150px;height:150px;border-radius:32px;animation:pv-skok 2.4s ease-in-out infinite}
.pv-h{margin:0;font-weight:800;font-size:28px;letter-spacing:-.01em}
.pv-p{margin:0;max-width:38ch;font-weight:600;font-size:16px;line-height:1.5;color:var(--p-muted)}
.pv-p b{color:var(--p-text)}
.pv-deti{justify-content:center;margin-top:6px}
.pv-deti .chip-in span{padding:10px 18px;font-size:15px}
.pv-seznam{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%}
.pv-seznam li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--p-surface2);font-size:14px;text-align:left}
.pv-seznam span{color:var(--p-muted);overflow-wrap:anywhere}
.pv-udaje{margin:0;padding:10px 12px;border-radius:12px;background:var(--p-accent-soft);font-weight:600;font-size:14px;text-align:left}
.pv-form{width:100%;text-align:left}
.pv-nav{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:12px;margin-top:18px}
.pv-sip{height:56px;min-width:56px;padding:0 14px;border:1px solid var(--p-line);border-radius:16px;background:var(--p-surface2);color:var(--p-text);font-family:inherit;font-weight:800;font-size:22px;cursor:pointer}
.pv-sip.dalsi{background:var(--p-accent);border-color:transparent;color:var(--p-accent-ink);font-size:20px;white-space:nowrap}
.pv-sip:disabled{opacity:.35;cursor:default}
.pv-tecky{display:flex;justify-content:center;gap:6px}
.pv-tecky i{width:7px;height:7px;border-radius:50%;background:var(--p-cell)}
.pv-tecky i.on{width:20px;border-radius:4px;background:var(--p-accent)}
.pv-preskocit{align-self:center;margin-top:8px}
@keyframes pv-skok{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-12px) rotate(-4deg)}40%{transform:translateY(0) rotate(0)}55%{transform:translateY(-5px) rotate(3deg)}70%{transform:translateY(0) rotate(0)}}
@keyframes pv-vjezd{from{opacity:0;transform:translateX(28px)}}

/* ---------- sbirka: nahledy, ktere se zvetsi v aplikaci ---------- */
.sbirka-foto{display:block;aspect-ratio:3/4;padding:0;border:3px solid var(--ink);border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in}
.sbirka-foto img{display:block;width:100%;height:100%;object-fit:cover}
html.rodic .sbirka-foto{border:0;border-radius:10px}

/* ---------- 1.6: nemcina, barvy deti, prichyceny pruh Clauda, detska lista, ucebnice ---------- */
.c-tyrkys{background:linear-gradient(#63e6d9,#14a39c)}
/* detska plocha: aplikace vlevo, checklisty vpravo (nevejdou-li se, nahore skupina, ktere je vic) */
.apps.apps2{display:flex;flex-wrap:wrap;gap:16px 18px;align-items:flex-start}
.apps2.vic-sez{flex-direction:row-reverse}
.apps2 .apps-sk{display:flex;flex-wrap:wrap;gap:16px 10px}
.apps2 .apps-app{margin-right:auto}
.apps2 .apps-sez{margin-left:auto}
.apps2 .app-i{width:78px}
@media (min-width:900px){ .s-home > .apps.apps2{display:flex} }
.apps.apps2.bloky{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px 10px;align-items:start}
.apps2.bloky .apps-sk{display:grid;gap:16px 6px;margin:0;justify-items:center}
.apps2.bloky .apps-app{grid-template-columns:repeat(2,minmax(0,1fr))}
.apps2.bloky .apps-sez{grid-template-columns:minmax(0,1fr)}
.apps2.bloky .app-i{width:auto;max-width:100%}
@media (min-width:900px){ .s-home > .apps.apps2.bloky{display:grid} }
.s-home{padding-bottom:calc(92px + var(--sb))}
.kid-lista{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;max-width:560px;margin:0 auto;
  padding:6px 18px calc(8px + var(--sb));background:linear-gradient(rgba(10,69,181,0),rgba(10,40,130,.92) 38%)}
.kl-btn{position:relative;display:grid;justify-items:center;gap:2px;padding:4px 6px;border:0;background:none;color:#fff;font-weight:900;font-size:12.5px;text-decoration:none;
  text-shadow:1px 0 0 var(--ink),-1px 0 0 var(--ink),0 1px 0 var(--ink),0 -1px 0 var(--ink)}
.kl-btn img{width:34px;height:34px}
.kl-btn em{position:absolute;top:0;right:calc(50% - 26px);min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red);border:2px solid var(--ink);font-style:normal;font-size:11.5px;line-height:16px;text-shadow:none}
.kl-pohar{display:grid;place-items:center;width:62px;height:62px;margin-bottom:2px;border:3px solid var(--ink);border-radius:50%;background:linear-gradient(#ffc04d,#ff8a00);
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.2),inset 0 3px 0 rgba(255,255,255,.45),0 4px 0 var(--ink)}
.kl-stred{display:flex;align-items:flex-end;gap:14px}
.kl-kruh{display:grid;justify-items:center;gap:3px;color:#fff;font-weight:900;font-size:12.5px;text-decoration:none;
  text-shadow:1px 0 0 var(--ink),-1px 0 0 var(--ink),0 1px 0 var(--ink),0 -1px 0 var(--ink)}
.kl-kruh i{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:3px solid var(--ink);border-radius:50%;background:linear-gradient(#ffc04d,#ff8a00);
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.2),inset 0 3px 0 rgba(255,255,255,.45),0 4px 0 var(--ink)}
.kl-kruh img{width:38px;height:38px}
.kl-partak i{background:linear-gradient(#d8efff,#7cc0ff)}
.kl-partak img{width:54px;height:54px;object-fit:contain;transform:translateY(5px)}
.kl-kruh:active i{transform:translateY(2px)}
html.rodic .kl-kruh{color:var(--p-text);text-shadow:none;font-weight:700}
html.rodic .kl-kruh i{border:1px solid var(--p-line);box-shadow:none}
.kl-pohar img{width:38px;height:38px}
.kl-pohar:active{transform:translateY(2px)}
html.rodic .kid-lista{background:var(--p-bar);border-top:1px solid var(--p-line)}
html.rodic .kl-btn{color:var(--p-text);text-shadow:none;font-weight:700}
html.rodic .kl-pohar{border:1px solid var(--p-line);box-shadow:none}
/* krouzky pokroku: vnitrek v barve ditete; s detailem jsou to tlacitka */
.kruh-g{background:var(--p-cell,rgba(255,255,255,.12));background:color-mix(in srgb,var(--kb,#8a94b8) 30%,transparent)}
button.kruh{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button.kruh:active .kruh-g{transform:scale(.95)}
.kruh.vse .kruh-g{background:color-mix(in srgb,var(--kb,#4ade80) 30%,transparent)}
/* plocha rodice: pruh Napsat Claudovi a lista prichycene dole */
.pl-dole{position:sticky;bottom:0;z-index:20;background:var(--p-bar);border-top:1px solid var(--p-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pl-dole .pl-lista{position:static;border-top:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.pl-pruh{padding:8px 12px 0;max-width:760px;margin:0 auto}
.pl-pruh textarea{min-height:40px;max-height:120px;resize:none}
.pl-pruh-ok{margin:0 auto;max-width:760px;padding:6px 14px 0;color:var(--p-ok);font-weight:700;font-size:13.5px}
.app-plus{opacity:.35;cursor:pointer;font-family:inherit;align-self:start}
.app-plus:hover,.app-plus:focus-visible{opacity:.8}
html.rodic .app-plus .app-ic{width:40px;height:40px;margin-top:6px;background:transparent;border:1px dashed var(--p-muted);border-radius:12px}
.app-plus .ik{width:20px;height:20px;color:var(--p-text)}
.mod-list{display:grid;gap:12px}
.mod-r{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid var(--p-line,rgba(255,255,255,.2));border-radius:14px}
.mod-r > img{width:44px;height:44px}
.mod-t{display:grid;gap:6px;min-width:0}
.mod-t small{color:var(--p-muted,var(--mut));font-weight:600;line-height:1.4}
.chip-btn{padding:6px 12px;border:1px solid var(--p-line,rgba(255,255,255,.3));border-radius:999px;background:transparent;font-weight:700;font-size:13.5px;color:var(--p-text,#fff)}
.chip-btn.on{background:var(--p-ok-soft,rgba(74,222,128,.2));border-color:transparent;color:var(--p-ok,#7af08c)}
.mod-chybi{justify-self:start;padding:4px 0}
.cile{display:flex;gap:14px;flex-wrap:wrap}
.cil-pole{display:grid;gap:4px;font-weight:700;font-size:13.5px}
.cil-pole input{width:96px;padding:8px 10px;border:1px solid var(--p-line);border-radius:10px;background:var(--p-input);color:var(--p-text);font-weight:700}
/* checklist pohledem rodice: co ktere dite dnes splnilo */
.cl-deti{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.cl-dite{padding:14px;display:grid;gap:10px;align-content:start}
.cl-hlava{display:flex;align-items:center;gap:12px}
.cl-hlava b{font-size:18px;font-weight:800}
.cl-polozky{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cl-polozky li{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:var(--p-surface,rgba(255,255,255,.08));font-weight:600}
.cl-polozky li img{width:28px;height:28px;opacity:.55}
.cl-polozky li b{color:var(--p-ok,#7af08c);font-size:18px}
.cl-polozky li.ok{background:var(--p-ok-soft,rgba(74,222,128,.15))}
.cl-polozky li.ok img{opacity:1}
/* nastaveni deti: box ditete s barvou, ucebnice a lekce k zaskrtnuti */
.kid-box{border-top:4px solid var(--kb,transparent)}
.kid-box > .form{display:grid;gap:12px}
.barvy{display:flex;flex-wrap:wrap;gap:8px}
.barva-in{position:relative;cursor:pointer}
.barva-in input{position:absolute;opacity:0;width:1px;height:1px}
.barva-in span:not(.sr){display:block;width:32px;height:32px;border-radius:50%;background:var(--b);border:3px solid transparent;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.barva-in input:checked + span{border-color:#fff;box-shadow:0 0 0 2px var(--b)}
.barva-in input:focus-visible + span{outline:3px solid var(--yel);outline-offset:2px}
.kid-uc{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--p-line,rgba(255,255,255,.2))}
.kid-uc-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:16px}
.kid-uc-h img{width:28px;height:28px}
.kid-uc select{width:100%;padding:9px 10px;border:1px solid var(--p-line,rgba(255,255,255,.3));border-radius:10px;background:var(--p-input,rgba(0,0,0,.2));color:var(--p-text,#fff);font-weight:700}
.kid-uc select option,.kid-uc select optgroup{color:#111}
.uc-seznam{display:grid;gap:4px;max-height:340px;overflow:auto;padding-right:2px}
.uc-mini{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--p-muted,var(--mut))}
.uc-l{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px}
.uc-l:hover{background:var(--p-surface2,rgba(255,255,255,.08))}
.uc-l input{width:18px;height:18px;accent-color:var(--p-accent,var(--yel))}
.uc-l small{color:var(--p-muted,var(--mut));font-variant-numeric:tabular-nums}
/* Nastaveni ditete: sekce pod sebou, vyrazne nadpisy, sbalene tipy a lekce, Ulozit porad videt dole */
.kid-nast-obal{display:grid}
.kid-nast{display:grid;gap:16px;width:100%;max-width:760px;margin:0 auto}
.kid-nast-h{display:flex;align-items:center;gap:10px;margin:4px 4px 0;font-size:26px;font-weight:900;line-height:1.15}
.kid-nast-h i{flex:none;width:16px;height:16px;border-radius:50%;background:var(--kb,#888)}
.kid-form{display:grid;gap:16px}
.nast-sekce,.nast-sekce.kid-uc{display:grid;gap:14px;padding:18px}
.nast-h{display:flex;align-items:center;gap:10px;margin:0;padding-bottom:12px;border-bottom:1px solid var(--p-line,rgba(255,255,255,.15));font-size:20px;font-weight:900;line-height:1.2}
.nast-h img{width:30px;height:30px}
.nast-h3{margin:2px 0 0;font-size:16px;font-weight:900;line-height:1.25;color:var(--p-accent,#ffcc1f)}
.pole-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
@media (max-width:340px){ .pole-2{grid-template-columns:minmax(0,1fr)} }
.mod-skupina{display:grid;gap:8px}
.mod-skupina + .mod-skupina{padding-top:12px;border-top:1px solid var(--p-line,rgba(255,255,255,.1))}
.mot-nast{display:grid;gap:14px}
.mot-nast .mot-blok{display:grid;gap:8px;margin:0}
.mot-nast .mot-blok + .mot-blok{padding-top:14px;border-top:1px solid var(--p-line,rgba(255,255,255,.1))}
.kit-tip-sb{width:min(100%,max(50%,250px));margin-left:auto}
.kit-tip-sb[open]{width:100%}
.kit-tip-sb summary{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,204,31,.4);border-radius:12px;background:rgba(255,204,31,.1);font-weight:700;font-size:14px;line-height:1.3;cursor:pointer;list-style:none}
.kit-tip-sb summary::-webkit-details-marker{display:none}
.kit-tip-sb summary .ik{flex:none;width:18px;height:18px;color:#ffcc1f}
.kit-tip-sb p{margin:8px 2px 0;font-size:14px;line-height:1.5}
.uc-det summary{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--p-line,rgba(255,255,255,.2));border-radius:12px;background:var(--p-surface,rgba(255,255,255,.05));font-weight:700;cursor:pointer;list-style:none}
.uc-det summary::-webkit-details-marker{display:none}
.uc-det summary small{margin-left:auto;color:var(--p-muted,#97a4ca);font-weight:600}
.uc-det summary::after{content:"▾";color:var(--p-muted,#97a4ca)}
.uc-det[open] summary::after{content:"▴"}
.uc-det[open] > summary{margin-bottom:10px}
.uc-det > * + *{margin-top:10px}
.nast-ulozit{position:sticky;bottom:calc(12px + var(--sb,0px));z-index:6;display:grid}
.nast-ulozit .btn{min-height:56px;font-size:18px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.uc-import summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--p-muted,var(--mut))}
.uc-import .form{margin-top:10px}
.uc-chybi{justify-self:start;padding:2px 0;font-size:13.5px}
/* jazyky: rozehrana hra a dalsi lekce z ucebnice */
.pokracovat{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}
.pokr-txt{display:flex;align-items:center;gap:10px;min-width:0}
.pokr-txt img{width:40px;height:40px}
.pokr-txt b{display:block;font-weight:900}
.pokr-txt small{display:block;font-weight:700;opacity:.85}
.pokr-btns{display:flex;align-items:center;gap:6px}
.pokr-btns .btn{width:auto}
.dalsi-lekce{width:100%;margin-top:4px}
/* 1.6b: plocha rodice (aplikace v jedne rade, Dnes pres celou sirku), editor ukolu, korunky, denni cil */
.plocha .pl-apps{display:flex;flex-wrap:wrap;gap:10px 2px}
.plocha .pl-apps .app-i{width:60px}
@media (min-width:1000px){
  .plocha .pl-apps{display:flex}
  .plocha .pl-apps .app-i{width:92px}
  .plocha > .pl-dnes{grid-column:1/-1}
}
.polozka-ed{grid-template-columns:42px 1fr 44px}
.ed-deti{grid-column:1/-1;margin:-2px 0 4px 50px}
.ed-deti summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--p-muted,var(--mut))}
.ed-dite{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center;margin-top:6px;font-weight:700;font-size:13.5px}
.ed-dite input{min-height:36px;padding:6px 10px;border:1px solid var(--p-line,var(--ink));border-radius:8px;background:var(--p-input,#fff);color:var(--p-text,var(--ink));font-weight:600;width:100%}
.ed-akce{display:flex;gap:10px;flex-wrap:wrap}
html.rodic .polozka-ed input{border:1px solid var(--p-line);background:var(--p-input);color:var(--p-text);font-weight:600}
html.rodic .ikona-btn{border:1px solid var(--p-line);background:var(--p-surface)}
html.rodic .ikony-vyber{background:var(--p-surface)}
.chip-jinak{display:block;font-size:11.5px;font-weight:600;opacity:.75}
.nab-sk{display:grid;gap:8px}
.nab-list{display:flex;flex-wrap:wrap;gap:6px}
.nab-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border:1px solid var(--p-line,rgba(255,255,255,.3));border-radius:999px;background:transparent;color:var(--p-text,#fff);font-weight:600;font-size:13.5px}
.nab-btn img{width:24px;height:24px}
.nab-btn.pridano{background:var(--p-ok-soft,rgba(74,222,128,.2));border-color:transparent;opacity:.8}
.app-koruna{position:absolute;top:-12px;left:calc(50% - 46px);font-size:24px;filter:drop-shadow(0 2px 0 var(--ink));transform:rotate(-14deg)}
.kruh.koruna{position:relative}
.kruh.koruna::before{content:"👑";position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-8deg);font-size:18px;z-index:1}
.koruna-box{display:grid;justify-items:center;gap:2px;padding:12px 16px;border:3px solid var(--ink);border-radius:16px;background:linear-gradient(#fff3b0,#ffd23f);color:var(--ink);text-align:center}
.koruna-box span{font-size:40px;line-height:1}
.koruna-box b{font-family:var(--disp);font-size:22px}
.koruna-box small{font-weight:800}
.cil-pruh{grid-column:1/-1;display:grid;gap:6px;padding:2px 4px;font-weight:800;font-size:15px}
.jina-lekce{display:block;width:100%;padding:8px 12px;border:2px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(6,20,80,.2);color:#fff;font:inherit;font-weight:800;font-size:14.5px;cursor:pointer}
.jina-lekce:active{transform:translateY(1px)}
html.rodic .jina-lekce{border-color:var(--p-line);background:var(--p-surface);color:var(--p-text)}
.cil-bar{display:block;height:10px;border-radius:999px;background:rgba(0,0,0,.25);overflow:hidden}
.cil-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--grn-hi),var(--grn))}
.deti-nast{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
/* 1.6.1: nenapadne plusko vpravo v rade aplikaci, lista rodice bez kuchare */
.plocha .pl-apps{position:relative;padding-right:34px}
.plocha .pl-apps .app-plus{position:absolute;right:0;top:2px;width:30px}
html.rodic .plocha .pl-apps .app-plus .app-ic{width:28px;height:28px;margin-top:0;border-radius:8px}
.plocha .pl-apps .app-plus .ik{width:16px;height:16px}
.pl-lista.ctyri{grid-template-columns:repeat(4,minmax(0,1fr))}
.pl-lista.tri{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1000px){ .pl-lista.ctyri{grid-template-columns:repeat(4,140px)} .pl-lista.tri{grid-template-columns:repeat(3,140px)} }
.plocha .pl-apps{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:10px 2px}
.plocha .pl-apps .app-i{width:auto}
@media (min-width:1000px){ .plocha .pl-apps{display:grid;grid-template-columns:repeat(var(--n,6),92px)} .plocha .pl-apps .app-i{width:auto} }
.plocha nav.pl-apps{padding-right:36px!important}
.kruhy-radky{display:grid;gap:12px}
.kruhy-radek{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:center}
.kr-jmeno{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.kr-jmeno::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--kb)}
.kruhy-radek .kruhy{gap:10px 8px}
.kruhy-radek{grid-template-columns:58px 1fr}
.kruhy-radek .kruhy{gap:8px 6px}
.kruhy-radek .kruh{width:54px}
.kruhy-radek .kruh-g{width:52px;height:52px}
.kruhy-radek .kruh-g img{width:26px;height:26px}
.kruhy-radek .kruh-n{font-size:12.5px}
@media (min-width:700px){ .kruhy-radek{grid-template-columns:90px 1fr} .kruhy-radek .kruh{width:62px} .kruhy-radek .kruh-g{width:60px;height:60px} .kruhy-radek .kruh-g img{width:30px;height:30px} }
.plocha .pl-apps .app-lb{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:699px){ .plocha .pl-apps .app-lb{font-size:10.5px} }
.pl-h-akce{display:flex;align-items:center;gap:10px}
.pl-h-btn{padding:3px 10px;border:1px solid var(--p-line);border-radius:999px;color:var(--p-text);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;text-decoration:none}
.pl-h-btn:hover{background:var(--p-surface2)}
.kr-prehled-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kr-prehled-h b{font-weight:800;font-size:16px}
html.rodic .pl-apps .app-ic .ik{width:26px;height:26px;color:var(--p-text)}
.s-krouzky-rodic .obsah{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));align-items:start;gap:12px}
.s-krouzky-rodic .kr-prehled-h{grid-column:1/-1}
/* 1.6.2: hrdinske questy (jednorazovy specialni ukol, zlate a nahore) */
.task.quest{position:relative;background:linear-gradient(135deg,#ffe36e,#ffb21f);color:var(--ink);border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,214,64,.55),0 6px 0 var(--ink);animation:questZar 2.4s ease-in-out infinite;padding-top:26px}
.task.quest span:last-child{font-weight:900}
.task.quest{text-shadow:none}
.task.quest .quest-stitek{text-shadow:0 1px 0 rgba(6,18,64,.6)}
/* monitor bez Retiny: stin pod textem dlazdice jen 1 px, 2 px tam pusobi jako zdvojeny napis */
@media (max-resolution:1.5dppx){ .task{text-shadow:0 1px 0 var(--ink)} .task.quest{text-shadow:none} }
.quest-stitek{position:absolute;top:-11px;left:14px;padding:2px 10px;border:2.5px solid var(--ink);border-radius:999px;background:#ff5a5f;color:#fff;font-weight:900;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}
@keyframes questZar{0%,100%{box-shadow:0 0 0 3px rgba(255,214,64,.55),0 6px 0 var(--ink)}50%{box-shadow:0 0 0 7px rgba(255,214,64,.25),0 6px 0 var(--ink)}}
@media (prefers-reduced-motion:reduce){ .task.quest{animation:none} }
.slot.plna.quest{background:linear-gradient(135deg,#ffe36e,#ffb21f)}
/* kroky pradleny v dennim checklistu: fialove, susicka ceka na pracku */
.task.pradl-task{position:relative;background:linear-gradient(135deg,#b58cff,#7b4fe0);box-shadow:0 0 0 3px rgba(181,140,255,.5),0 6px 0 var(--ink)}
.pradl-stitek{background:#7b4fe0}
.task.pradl-task:disabled{opacity:.6;filter:saturate(.7)}
.pradl-ceka{font-weight:900;font-size:12px;opacity:.9}
.slot.plna.pradl-slot{background:linear-gradient(135deg,#b58cff,#7b4fe0)}
.questy{display:grid;gap:10px;padding:4px 12px 0}
.quest-banner{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border:3px solid var(--ink);border-radius:16px;background:linear-gradient(135deg,#ffe36e,#ffb21f);color:var(--ink);text-decoration:none;box-shadow:0 5px 0 var(--ink);animation:questZar 2.4s ease-in-out infinite}
.quest-banner img{width:44px;height:44px}
.quest-banner small{display:block;font-weight:900;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#b3261e}
.quest-banner b{display:block;font-weight:900;font-size:16px;line-height:1.25}
.quest-banner em{font-style:normal;font-weight:900;font-size:13px;padding:6px 10px;border:2.5px solid var(--ink);border-radius:10px;background:#fff}
html.rodic .quest-banner{border:1px solid rgba(255,214,64,.6);box-shadow:none;animation:none}
.cl-polozky li.quest{background:linear-gradient(135deg,rgba(255,214,64,.22),rgba(255,160,40,.16));box-shadow:inset 0 0 0 1px rgba(255,214,64,.55)}
/* rodic vrati odskrtnuty ukol, ktery hotovy neni */
.cl-vratit{margin-left:10px;padding:4px 2px;font-size:13px;font-weight:700;color:var(--p-muted,#97a4ca);text-decoration:underline}
.cl-vratit:hover{color:var(--p-text,#fff)}
/* zpetna vazba, kterou Claude jeste netridil (spravce) */
.zv-netridene{display:grid;gap:10px;padding:12px 14px}
.zv-netridene summary{cursor:pointer;font-weight:800}
.zv-netridene .zv-karta{opacity:.85}

.quest-mini{display:block;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--p-accent,#ffcc1f)}
.quest-pryc{padding:0 0 0 8px;font-size:18px;text-decoration:none}
.ikona-in{position:relative;cursor:pointer}
.ikona-in input{position:absolute;opacity:0;width:1px;height:1px}
.ikona-in img{width:40px;height:40px;padding:4px;border:2px solid transparent;border-radius:10px}
.ikona-in input:checked + img{border-color:var(--p-accent,var(--yel));background:var(--p-accent-soft,rgba(255,204,31,.2))}
.ikona-in input:focus-visible + img{outline:3px solid var(--yel);outline-offset:2px}
.cl-hotove li{opacity:.6}
.stav-hotovo{color:var(--p-ok,#7af08c)}
/* tlacitko menu se slovem Menu, at nezapadne */
.tb-menu{flex-direction:row;gap:8px;width:auto;padding:0 12px}
.tb-menu-txt{font-family:var(--disp);font-size:16px;color:var(--ink);line-height:1}
.tb-ham{display:flex;flex-direction:column;gap:5px;align-items:center}
html.rodic .tb-menu{width:auto;padding:0 12px;gap:8px}
html.rodic .tb-menu-txt{font-family:var(--body);font-weight:700;font-size:14px;color:currentColor}
html.rodic .tb-ham{gap:4px}
.tb{grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr)}
.tb > .tb-btn:first-child{justify-self:start}
.tb > .tb-menu{justify-self:end}
.tb-title{max-width:56vw}
@media (min-width:900px){ .tb{grid-template-columns:minmax(52px,1fr) auto minmax(52px,1fr)} }
html.rodic .tb-plocha{grid-template-columns:auto minmax(0,1fr) auto}
/* tipy pro rodice */
.tip-h{display:flex;align-items:center;gap:10px}
.tip-h img{width:34px;height:34px;flex:none}
.tipy-list{margin:0;padding-left:20px;display:grid;gap:8px;font-weight:600;font-size:15px;line-height:1.5}
.tipy-list li::marker{color:var(--p-accent,var(--yel))}
.tipy-kroky{padding-left:22px}
.tipy-kroky .lnk{padding:0;font-size:inherit;color:var(--p-accent,var(--yel))}
.tip-hlavni{border-color:var(--p-accent,var(--yel));box-shadow:inset 0 0 0 1px var(--p-accent,var(--yel))}
.tip-odkaz{display:flex;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;color:inherit}
.tip-odkaz img{width:36px;height:36px}
.tip-odkaz b{display:block;font-weight:800}
.tip-odkaz small{display:block;color:var(--p-muted,var(--mut));font-weight:600}
/* vzkazy pro rodice nahore na plose */
.pl-vzkazy-pro{display:grid;gap:10px}
.pl-vzkazy-pro .pl-h{margin:0}
@media (min-width:1000px){ .plocha > .pl-vzkazy-pro{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))} .plocha > .pl-vzkazy-pro .pl-h{grid-column:1/-1} }

/* ---------- motivace u checklistu, tipy pro rodice, hodnoceni modulu ---------- */
.mot{display:flex;align-items:center;gap:10px;margin:10px 0 4px;padding:10px 14px;border-radius:16px;background:rgba(6,18,64,.35);border:2.5px solid rgba(6,18,64,.55);color:#fff;font-weight:800;font-size:15px;line-height:1.35}
.mot img{width:34px;height:34px;flex:none}
.mot b{color:var(--yel)}
.mot-r{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;font-size:14px;line-height:1.45}
.mot-r .ik{width:18px;height:18px;flex:none;margin-top:1px;color:var(--yel)}
.kit-tip{display:flex;gap:10px;align-items:flex-start;margin:10px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,204,31,.12);border:1px solid rgba(255,204,31,.35);font-size:14px;line-height:1.45;font-weight:600}
.kit-tip .ik{width:20px;height:20px;flex:none;color:#ffcc1f}
.kit-tip b{color:#ffcc1f;font-weight:900;letter-spacing:.02em}
.nast-grid + .kit-tip,.h2 + .kit-tip{margin:0 0 12px}
.mot-nast .mot-blok{display:grid;gap:6px;margin-top:8px}
.mot-nast .mot-blok + .mot-blok{padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}
.mot-radek{display:flex;flex-wrap:wrap;gap:8px 16px}
.mot-radek label{display:flex;align-items:center;gap:8px;font-weight:700}
.mot-radek select,.mot-radek input[type=time]{width:auto;min-width:96px}
.pv-mot{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center;margin-top:14px}
.pv-mot label{display:flex;align-items:center;gap:8px;font-weight:800}
.pv-mot select{width:auto}
.pv-hodn{margin:0 0 4px;text-align:center}
.hodn{display:inline-block;margin-left:8px;font-size:13px;font-weight:800;color:#ffcc1f;white-space:nowrap;vertical-align:1px}
.hodn small{font-weight:600;opacity:.8}
.hodn.prazdne{color:inherit;opacity:.55;font-weight:600}
.hv-rada{display:flex;gap:2px;margin-top:4px}
.hv{background:none;border:0;padding:2px 3px;font-size:26px;line-height:1;color:rgba(255,255,255,.28);cursor:pointer}
.hv.on{color:#ffcc1f}
.hv:disabled{opacity:.6}
.kit-tip{text-align:left}
.pv-mot select{background:var(--p-input,rgba(255,255,255,.06));color:inherit;border:1px solid var(--p-line,rgba(255,255,255,.2));border-radius:10px;padding:6px 10px;font:inherit;font-weight:800}
/* navrh noveho modulu a vyskakovaci odpoved */
.mod-novy{margin-top:16px;padding-top:4px;border-top:1px solid var(--p-line,rgba(255,255,255,.15))}
.mod-sk{display:grid;gap:12px;margin-top:22px}
.mod-sk:first-of-type{margin-top:10px}
.mod-novy textarea{width:100%;min-height:76px}
.odp-modul{display:grid;gap:12px}
.odp-puvodni{margin:0;padding:10px 12px;border-radius:12px;background:var(--p-surface,rgba(255,255,255,.06));font-style:italic;line-height:1.45}
.odp-puvodni small{display:block;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin-bottom:2px}
.odp-text{margin:0;font-size:16px;font-weight:700;line-height:1.5}
.odp-modul.zapracovano .odp-text::before{content:"✓ ";color:var(--p-ok,#4ade80)}
.odp-podpora{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid rgba(233,45,31,.45);background:rgba(233,45,31,.08)}
.odp-podpora .o-p{margin:0}
.odp-akce{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.zv-modul{display:grid;gap:8px;margin:6px 0}

/* ---------- hry se slovicky ---------- */
.s-hra{padding-bottom:28px}
.s-hra > :not(.tb){width:min(760px,calc(100% - 32px));margin-left:auto;margin-right:auto}
.s-hra > .learn-meta{padding-inline:0}
.hra-zadani{margin:10px 0 0;text-align:center;color:#fff;font-weight:900;font-size:17px}
.hra-info{margin:14px 0 0;text-align:center;color:#fff;font-weight:800}
.hra-info b{color:var(--yel)}
.hra-konec{display:block;margin:18px auto 0;color:rgba(255,255,255,.8);font-weight:800}
.hra-dal{display:flex;justify-content:center;margin-top:12px}
.hra-dal .btn{width:auto;min-width:180px}
/* pexeso */
.pex{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;perspective:900px}
@media (min-width:600px){ .pex{grid-template-columns:repeat(4,minmax(0,1fr))} }
.pex-k{position:relative;min-height:92px;padding:0;border:0;background:none;cursor:pointer;font:inherit}
.pex-in{position:absolute;inset:0;display:block;transition:transform .35s;transform-style:preserve-3d}
.pex-k.ot .pex-in{transform:rotateY(180deg)}
.pex-rub,.pex-lic{position:absolute;inset:0;display:grid;place-items:center;padding:6px;border:3px solid var(--ink);border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 4px 0 var(--ink)}
.pex-rub{background:repeating-linear-gradient(45deg,var(--yel) 0 10px,var(--yel-hi) 10px 20px);color:var(--ink);font-weight:900;font-size:34px}
.pex-lic{transform:rotateY(180deg);background:#fff;color:var(--ink);font-weight:900;font-size:16px;line-height:1.2;text-align:center;word-break:break-word}
.pex-k.cizi .pex-lic{color:var(--sky3)}
.pex-k.nal .pex-lic{background:linear-gradient(var(--grn-hi),var(--grn));color:#fff}
.pex-k:disabled{cursor:default}
/* spojovacka */
.spoj{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.spoj-sl{display:grid;gap:10px;align-content:start}
.spoj-b{min-height:56px;padding:6px 10px;font:inherit;font-weight:900;font-size:17px;line-height:1.2;color:#fff;background:linear-gradient(var(--panel-hi),var(--panel));border:3px solid var(--ink);border-radius:14px;box-shadow:0 4px 0 var(--ink);cursor:pointer;word-break:break-word}
.spoj-b.vyb{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink)}
.spoj-b.zle{background:linear-gradient(var(--red-hi),var(--red));animation:shake .35s}
.spoj-b.hot{visibility:hidden}
/* rychlovka */
.hra-stav{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;margin-top:12px;color:#fff;font-weight:900;font-size:17px}
.hra-stav b{color:var(--yel)}
.hra-cas{padding:4px 12px;border-radius:999px;background:rgba(6,18,64,.45);border:2.5px solid rgba(6,18,64,.6);font-size:20px}
.hra-cas.malo{background:var(--red);border-color:var(--ink);animation:shake .35s}
.hra-serie{color:var(--yel)}
.hra-rek{opacity:.75;font-size:14px}
/* presmycka */
.pres-cil{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px}
.pres-p{width:40px;height:50px;padding:0;font:inherit;font-weight:900;font-size:24px;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:10px;box-shadow:0 3px 0 var(--ink)}
.pres-p:not(.plne){background:rgba(255,255,255,.25);border-style:dashed}
.pres-mezera{width:14px}
.pres-cil.ok .pres-p{background:linear-gradient(var(--grn-hi),var(--grn));color:#fff}
.pres-cil.zle .pres-p{background:linear-gradient(var(--red-hi),var(--red));color:#fff}
.pres-banka{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.pres-z{width:48px;height:52px;padding:0;font:inherit;font-weight:900;font-size:24px;color:var(--ink);background:linear-gradient(var(--yel-hi),var(--yel));border:3px solid var(--ink);border-radius:12px;box-shadow:inset 0 -4px 0 var(--yel-dk),0 4px 0 var(--ink);cursor:pointer}
.pres-z.pouzite{visibility:hidden}
.pres-spravne{margin:12px 0 0;text-align:center;color:#fff;font-weight:800;font-size:17px}
.pres-spravne b{color:var(--yel)}
.modes.hry{margin-top:4px}

/* ---------- vzkazy: schovani ve widgetu, chat u rodicu, smajlici ---------- */
.wg[data-skryvatelny]{touch-action:pan-y}
.wg-x{width:30px;height:30px;display:grid;place-items:center;flex:none;padding:0;border:0;border-radius:50%;background:rgba(6,18,64,.28);color:inherit;font:900 19px/1 system-ui,sans-serif;cursor:pointer}
html.rodic .wg-x{background:var(--p-surface2);color:var(--p-muted)}
.wg.pryc{transform:translateX(110%)!important;opacity:0!important;transition:transform .22s,opacity .22s}
.wg-reply{grid-template-columns:auto 1fr;align-items:start}
.wg-reply > :not(.emoji-wrap):not(textarea){grid-column:1 / -1}
.chat{display:grid;gap:12px}
.chat-list{display:grid;gap:8px;align-content:end;min-height:45vh}
.chat-prazdno{text-align:center;margin:24px 0}
.bub{max-width:min(560px,88%);justify-self:start;display:grid;gap:4px;padding:8px 12px 7px;border-radius:16px 16px 16px 4px;background:var(--p-surface2,rgba(255,255,255,.08))}
.bub.moje{justify-self:end;border-radius:16px 16px 4px 16px;background:rgba(255,204,31,.13);border:1px solid rgba(255,204,31,.28)}
.bub.odp{background:var(--p-surface,rgba(255,255,255,.05));border:1px solid var(--p-line,rgba(255,255,255,.1))}
.bub-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--p-muted,#97a4ca)}
.bub-text{margin:0;font-size:15.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.bub-stavy{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:700}
.bub-pro{padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--p-muted,#97a4ca)}
.bub-pro.ok{color:var(--p-ok,#4ade80)}
.bub-smazat{margin-left:auto;font-size:12px}
.chat-psani{position:sticky;bottom:0;z-index:6;display:grid;gap:8px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--p-bg,#0e1733);border-top:1px solid var(--p-line,rgba(255,255,255,.1))}
.chat-nast{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chat-komu{display:flex;gap:6px;flex-wrap:wrap;flex:1 1 auto}
.chat-nast select{width:auto;padding:6px 10px;border-radius:10px;background:var(--p-input,rgba(255,255,255,.06));color:inherit;border:1px solid var(--p-line,rgba(255,255,255,.15));font:inherit;font-weight:700}
.chip-in.komu input:checked + span{background:var(--kb,#4a8fe7);border-color:var(--kb,#4a8fe7);color:#fff}
.chip-in.komu.rodic2{--kb:#a78bfa}
.chat-radek{display:flex;gap:8px;align-items:flex-end}
.chat-radek textarea{flex:1;min-height:44px;max-height:180px;resize:none;padding:10px 12px;border-radius:14px;background:var(--p-input,rgba(255,255,255,.06));color:inherit;border:1px solid var(--p-line,rgba(255,255,255,.15));font:inherit;line-height:1.4}
.chat-poslat{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--p-accent,#ffcc1f);color:var(--p-accent-ink,#1d1603);cursor:pointer}
.chat-poslat .ik{width:22px;height:22px}
.emoji-wrap{position:relative;flex:none}
.emoji-btn{width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);font-size:22px;line-height:1;cursor:pointer}
.emoji-pop{position:absolute;bottom:52px;left:0;z-index:30;display:grid;grid-template-columns:repeat(7,40px);gap:2px;padding:8px;border-radius:14px;background:#17234a;border:1px solid rgba(255,255,255,.15);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.emoji-pop button{width:40px;height:40px;padding:0;border:0;border-radius:10px;background:none;font-size:22px;line-height:1;cursor:pointer}
.emoji-pop button:hover{background:rgba(255,255,255,.12)}
.wg .emoji-pop{bottom:auto;top:52px}
.chat{grid-template-rows:1fr auto;min-height:calc(100dvh - 150px)}
.chat-list{min-height:0}
html.rodic .chip-in.komu input:checked + span{background:var(--kb,#4a8fe7);border-color:var(--kb,#4a8fe7);color:#fff}

/* ---------- rozvrh hodin ---------- */
.roz-zitra{display:grid;gap:4px;padding:12px 16px;color:#fff}
.roz-zitra b{font-weight:900;font-size:15px;opacity:.85}
.roz-zitra p{margin:0;font-weight:900;font-size:19px;line-height:1.35}
.roz-dny{margin:12px 0 10px}
.roz-dny .dnes:not(.is-on){box-shadow:inset 0 -3px 0 var(--yel)}
.roz-panel{padding:12px 16px;color:#fff}
.roz-nadpis{display:block;margin-bottom:6px;font-weight:900;font-size:17px}
.roz-den{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.roz-den li{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:baseline;padding:8px 10px;border-radius:12px;background:rgba(6,18,64,.3)}
.roz-h{color:var(--yel);font-weight:900}
.roz-p{font-weight:900;font-size:17px}
.roz-p small{font-weight:700;opacity:.8}
.roz-cas{font-weight:700;opacity:.8;white-space:nowrap}
.roz-nic{margin:6px 0}
.roz-zitra-btn{width:auto;margin:8px auto 4px;display:flex}
.roz-deti{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.roz-dite{display:grid;gap:10px}
.roz-stav{margin:0;padding:8px 12px;border-radius:10px;background:rgba(255,204,31,.12);font-weight:700;font-size:14px}
.roz-stav.chyba{background:rgba(248,113,113,.15)}
.roz-tab-wrap{overflow-x:auto}
.roz-tab{width:100%;border-collapse:separate;border-spacing:3px;font-size:14px}
.roz-tab th{font-weight:800;color:var(--p-muted,#97a4ca);text-align:center;padding:4px}
.roz-tab tbody th{text-align:left;white-space:nowrap}
.roz-tab tbody th small{display:block;font-weight:600;font-size:11px}
.roz-tab td{text-align:center;padding:7px 4px;border-radius:8px;background:var(--p-surface2,rgba(255,255,255,.08));font-weight:800}
.roz-tab .dnes{color:var(--p-accent,#ffcc1f)}
.roz-tab td.dnes{box-shadow:inset 0 0 0 1px rgba(255,204,31,.45)}
.roz-foto-btn{width:auto;justify-self:start;cursor:pointer}
.roz-tab tbody th{width:1%;padding-right:8px}

/* ---------- kuchar ---------- */
.kuch-deti{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px}
.kuch-dite{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:180px;padding:10px 14px;border-radius:14px;border:1px solid var(--p-line,rgba(255,255,255,.15));background:var(--p-surface,rgba(255,255,255,.05));color:inherit;font:inherit;text-align:left;cursor:pointer}
.kuch-dite img{grid-row:1 / 3;width:40px;height:40px;object-fit:contain;filter:grayscale(1);opacity:.5}
.kuch-dite b{font-size:16px;font-weight:800}
.kuch-dite small{font-size:12.5px;font-weight:700;color:var(--p-muted,#97a4ca)}
.kuch-dite.on{border-color:var(--kb);background:color-mix(in srgb,var(--kb) 22%,transparent)}
.kuch-dite.on img{filter:none;opacity:1}
.kuch-dite.on small{color:inherit}
.kuch-nast{margin-top:14px}
.kuch-nast summary{cursor:pointer;font-weight:700;color:var(--p-muted,#97a4ca)}
.kuch-nast .form{margin-top:10px}
.pl-kuchar img{width:26px;height:26px;object-fit:contain}

/* ---------- krouzky u rodicu po dnech ---------- */
.kd-upravit{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.kd-upravit .chip-btn.on{background:var(--kb);border-color:var(--kb);color:#fff}
.kd-dny{display:grid;gap:12px}
.kd-den{display:grid;gap:6px;padding:10px 12px}
.kd-h{margin:0 0 2px;font-size:13.5px;font-weight:800;color:var(--p-muted,#97a4ca);letter-spacing:.01em}
.kd-den.dnes{box-shadow:inset 0 0 0 1px rgba(255,204,31,.45)}
.kd-den.dnes .kd-h{color:var(--p-accent,#ffcc1f)}
.kd-radek{display:grid;grid-template-columns:58px minmax(0,1fr) 30px;gap:8px;align-items:center;padding:6px 8px;border-radius:12px;background:color-mix(in srgb,var(--kb) 15%,transparent)}
.kd-jmeno{font-size:12px;font-weight:800;color:var(--kb);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kd-boxy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
@media (min-width:760px){ .kd-boxy{grid-template-columns:repeat(4,minmax(0,1fr))} }
.kd-box{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 6px 5px 8px;border-radius:10px;background:var(--p-surface2,rgba(255,255,255,.08))}
.kd-box img{width:22px;height:22px}
.kd-t{display:grid;min-width:0}
.kd-t b{font-size:13.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kd-t small{font-size:11.5px;font-weight:600;color:var(--p-muted,#97a4ca);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kd-box.zruseno{opacity:.55}
.kd-box.zruseno b{text-decoration:line-through}
.kd-box.navic{box-shadow:inset 0 0 0 1px rgba(255,204,31,.45)}
.kd-x{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--p-muted,#97a4ca);font:900 15px/1 system-ui,sans-serif;cursor:pointer}
.kd-x.obnovit{color:var(--p-ok,#4ade80)}
.kd-volno{font-size:12px;font-weight:600;color:var(--p-muted,#97a4ca)}
.kd-plus{width:28px;height:28px;padding:0;border:1px dashed var(--p-line,rgba(255,255,255,.25));border-radius:8px;background:none;color:var(--p-muted,#97a4ca);font-size:17px;line-height:1;cursor:pointer}
@media (max-width:759px){
  .kd-radek{grid-template-columns:minmax(0,1fr) 28px;grid-template-areas:"jmeno plus" "boxy boxy";row-gap:4px}
  .kd-jmeno{grid-area:jmeno}
  .kd-plus{grid-area:plus;width:26px;height:26px}
  .kd-boxy{grid-area:boxy}
}

/* ---------- nastaveni: samostatna stranka se zalozkami ---------- */
.plocha-nast,.kody-uvod{max-width:720px}
.deti-nast.jedno{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  .deti-nast.jedno .kid-box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:26px;align-items:start}
  .deti-nast.jedno .kid-box > .kid-jmeno{grid-column:1/-1}
  .deti-nast.jedno .kid-box > .form{grid-column:1;grid-row:2/span 8}
  .deti-nast.jedno .kid-box > .kid-uc{grid-column:2;margin-bottom:14px}
  .deti-nast.jedno .kid-box > .form + .kid-uc{border-top:0;padding-top:0}
}
.mod-stranka{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));align-items:start}
.mod-hodnotit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--p-muted,var(--mut))}
.mod-hodnotit .hv-rada{margin-top:0}

/* ---------- checklisty: pro koho ukol plati ---------- */
.ed-napoveda{margin:0 0 2px;font-size:13px}
.ed-pod{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-2px 0 4px 50px}
.ed-pod .ed-deti{margin:0}
.ed-pod .ed-deti[open]{flex-basis:100%}
.ed-pro{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.ed-pro-l{font-size:13px;font-weight:700;color:var(--p-muted,var(--mut))}
.ed-pro-d{min-height:30px;padding:3px 11px;border-radius:999px;border:1.5px dashed var(--p-line,rgba(255,255,255,.35));background:transparent;color:var(--p-muted,var(--mut));font-weight:700;font-size:12.5px;text-decoration:line-through;opacity:.75}
.ed-pro-d.on{border:1.5px solid var(--kb);background:color-mix(in srgb,var(--kb) 26%,transparent);color:var(--p-text,#fff);text-decoration:none;opacity:1}
.ed-pro-d:focus-visible{outline:2px solid var(--p-accent,#ffcc1f);outline-offset:2px}
.chip-t{display:grid;line-height:1.25}
.chip-pro{display:block;font-size:11.5px;font-weight:800}

/* ---------- plocha rodice: vetsi ikony nahore a kolecka pres celou sirku radku ---------- */
.plocha .pl-apps{grid-template-columns:repeat(var(--n,6),minmax(0,1fr))}
@media (min-width:1000px){ .plocha .pl-apps{grid-template-columns:repeat(var(--n,6),minmax(0,1fr))} }
html.rodic .plocha .pl-apps .app-ic{width:min(100%,clamp(54px,15vw,96px));height:auto;aspect-ratio:1;border-radius:clamp(15px,3.8vw,24px)}
html.rodic .plocha .pl-apps .app-ic img{width:62%;height:auto}
html.rodic .plocha .pl-apps .app-lb{font-size:clamp(11px,3vw,14.5px)}
/* mezera mezi checklisty a predmety: na koreni (sloupce --kr-cols ji pouzivaji na radku i v karte ditete) */
:root{--kr-mezera:8px}
.kruhy.kruhy-sloupce{display:grid;grid-template-columns:var(--kr-cols);gap:8px 6px;align-items:start}
.kruhy-sloupce .kruh,.kruhy-radek .kruhy-sloupce .kruh{width:100%;min-width:0}
.kruhy-sloupce .kruh-g,.kruhy-radek .kruhy-sloupce .kruh-g{width:min(100%,112px);height:auto;aspect-ratio:1}
.kruhy-sloupce .kruh-g img,.kruhy-radek .kruhy-sloupce .kruh-g img{width:48%;height:auto}
/* predmet bez dnesniho pokroku: mala kulicka bez cisla v polovicnim sloupci; margin ji posadi svisle na stred velkych kolecek vedle */
.kruhy-sloupce .kruh.maly{grid-template-columns:minmax(0,1fr)}
.kruhy-sloupce .kruh.maly .kruh-g,.kruhy-radek .kruhy-sloupce .kruh.maly .kruh-g{width:min(100%,56px);min-width:0;margin-top:min(50%,28px)}
.kruhy-sloupce .kruh.maly .kruh-g img{width:58%}
.kruh.maly .kruh-n,.kruh.maly .kruh-lb{display:none}
.kruhy-radek{grid-template-columns:minmax(0,1fr);gap:4px}
.kruhy-radky{gap:14px}
@media (min-width:700px){
  .kruhy-radek{grid-template-columns:96px minmax(0,1fr);gap:10px}
  :root{--kr-mezera:clamp(16px,5vw,80px)}
  .kruhy.kruhy-sloupce{gap:10px 14px}
  .kruhy-sloupce .kruh-n,.kruhy-radek .kruhy-sloupce .kruh-n{font-size:15px}
  .kruhy-sloupce .kruh.koruna::before{font-size:24px;top:-14px}
}
@media (max-width:699px){ html.rodic .plocha .pl-apps .app-lb{font-size:10.5px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:clip} }
/* v kartach deti (rezim Podle deti) je mezera uzsi, karty jsou uzke */
.pl-dite .kruhy-sloupce{--kr-mezera:clamp(12px,3vw,28px)}

/* ---------- pridani do planu: cista stranka pres celou aplikaci ---------- */
html.bez-posunu,html.bez-posunu body{overflow:hidden}
.toast{z-index:120}
.stranka-okno{position:fixed;inset:0;z-index:96;overflow-y:auto;padding:calc(10px + var(--st)) 16px calc(28px + var(--sb));background:var(--p-bg,#0e1733);color:var(--p-text,#fff);animation:fade .15s}
.so-hlava{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;max-width:560px;margin:0 auto 14px}
.so-hlava b{font-weight:800;font-size:18px}
.so-zavrit,.cas-zavrit{width:44px;height:44px;border:0;border-radius:12px;background:var(--p-surface2,rgba(255,255,255,.08));color:inherit;font-size:24px;line-height:1;cursor:pointer}
.so-zavrit{position:absolute;right:0;top:2px}
.so-form{max-width:560px;margin:0 auto;display:grid;gap:18px}
.so-kdo{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;color:var(--p-muted,#97a4ca)}
.so-kdo b{display:flex;align-items:center;gap:7px;color:var(--p-text,#fff);font-size:17px}
.so-kdo b::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--kb)}
.so-casy{display:flex;align-items:flex-end;gap:12px}
.so-casy > .pole{flex:1;min-width:0}
.so-casy > .cas-pole{margin-bottom:4px}
.so-pozn-btn{display:inline-flex;align-items:center;gap:9px;justify-self:start;padding:4px 0;border:0;background:none;color:var(--p-text,#fff);font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.so-pozn-btn[hidden]{display:none}
.so-plus{width:26px;height:26px;display:grid;place-items:center;border:1.5px solid var(--p-muted,#97a4ca);border-radius:50%;font-size:17px;line-height:1}
.so-pozn-btn u{text-underline-offset:3px}
/* pole casu: tlacitko, ktere otevre cifernik */
.cas-pole{display:inline-flex;align-items:center;gap:6px}
.pole .cas-pole{display:flex}
.cas-btn{width:100%;min-height:50px;padding:8px 14px;border:1px solid var(--p-line,rgba(255,255,255,.2));border-radius:10px;background:var(--p-input,rgba(0,0,0,.2));color:var(--p-text,#fff);font:inherit;font-weight:800;font-size:19px;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer}
.cas-btn.prazdne{color:var(--p-muted,#97a4ca);font-weight:600;font-size:16px}
.cas-pole.mala .cas-btn{width:auto;min-height:40px;padding:6px 14px;border-radius:999px;font-size:14.5px;font-weight:700}
.cas-pole.mala .cas-btn.prazdne{border-style:dashed}
.cas-x{width:32px;height:32px;border:0;border-radius:50%;background:var(--p-surface2,rgba(255,255,255,.08));color:var(--p-text,#fff);font-size:18px;line-height:1;cursor:pointer}
.cas-x[hidden]{display:none}
.kr-ed .cas-pole{display:flex}
.kr-ed .kr-od-p{grid-area:od}
.kr-ed .kr-do-p{grid-area:do}
.kr-ed .cas-btn{min-height:44px;padding:6px 10px;font-size:15.5px;text-align:center}
.kr-ed .cas-btn.prazdne{font-size:14px}
/* cifernik pres celou obrazovku: jednolita barva, nejdriv hodina, pak minuty */
.cas-okno{position:fixed;inset:0;z-index:98;display:flex;flex-direction:column;align-items:center;gap:16px;overflow-y:auto;padding:calc(12px + var(--st)) 16px calc(24px + var(--sb));background:var(--p-bg,#0e1733);color:var(--p-text,#fff)}
.cas-hlava{width:100%;max-width:420px;display:flex;align-items:center;justify-content:space-between}
.cas-hlava b{font-weight:800;font-size:18px}
.cas-disp{display:flex;align-items:center;gap:2px;font-size:54px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.cas-disp button{padding:4px 10px;border:0;border-radius:14px;background:transparent;color:var(--p-muted,#97a4ca);font:inherit;cursor:pointer}
.cas-disp button.on{background:var(--p-surface2,rgba(255,255,255,.08));color:var(--p-text,#fff)}
.cas-delky{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:420px}
.cas-delka{display:grid;justify-items:center;gap:1px;min-height:54px;padding:6px 4px;border:1px solid var(--p-line,rgba(255,255,255,.2));border-radius:12px;background:var(--p-surface,rgba(255,255,255,.05));color:var(--p-text,#fff);font:inherit;cursor:pointer}
.cas-delka b{font-size:17px;font-weight:800}
.cas-delka small{font-size:11.5px;font-weight:600;color:var(--p-muted,#97a4ca)}
.cas-delka:disabled{opacity:.4;cursor:default}
.cas-tip{margin:-6px 0 0;font-size:13px;color:var(--p-muted,#97a4ca)}
.cas-cif{position:relative;flex:none;width:min(86vw,340px);aspect-ratio:1}
.cas-cif svg{position:absolute;inset:0;width:100%;height:100%}
.cas-cif svg circle{fill:var(--p-surface2,rgba(255,255,255,.08))}
.cas-cif svg circle.stred{fill:var(--p-accent,#ffcc1f)}
.cas-cif svg line{stroke:var(--p-accent,#ffcc1f);stroke-width:.8}
.cas-cif button{position:absolute;width:13%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--p-text,#fff);font:inherit;font-weight:800;font-size:clamp(15px,4.4vw,18px);cursor:pointer}
.cas-cif button.vn{width:11%;font-size:clamp(12px,3.5vw,14.5px);font-weight:700;color:var(--p-muted,#97a4ca)}
.cas-cif button.on{background:var(--p-accent,#ffcc1f);color:#111}
.cas-cif button:hover:not(.on){background:var(--p-surface2,rgba(255,255,255,.08))}
.cas-cif button:focus-visible{outline:2px solid var(--p-accent,#ffcc1f);outline-offset:2px}
/* ---------- nove zpravy pres celou aplikaci ---------- */
.nz-okno{position:fixed;inset:0;z-index:97;overflow-y:auto;display:flex;justify-content:center;padding:calc(24px + var(--st)) 16px calc(24px + var(--sb));background:var(--p-bg,#0e1733);color:var(--p-text,#fff);animation:fade .2s}
.nz-obsah{width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:14px;margin:auto 0}
.nz-ikona{width:120px;height:120px;animation:nz-houp 1.8s ease-in-out infinite}
@keyframes nz-houp{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@media (prefers-reduced-motion:reduce){ .nz-ikona{animation:none} }
.nz-h{margin:0;font-size:28px;font-weight:800}
.nz-list{list-style:none;margin:0;padding:0;width:100%;display:grid;gap:10px}
.nz-list li{display:grid;gap:3px;padding:14px 16px;border-left:4px solid var(--kb);border-radius:14px;background:var(--p-surface,rgba(255,255,255,.05))}
.nz-kdo{font-size:16px;font-weight:800}
.nz-na{font-size:12.5px;color:var(--p-muted,#97a4ca)}
.nz-text{margin:2px 0 0;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.nz-dalsi{justify-self:start;margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--p-surface2,rgba(255,255,255,.08));font-size:12.5px;font-weight:700;color:var(--p-muted,#97a4ca)}
.nz-obsah .btn{width:100%;max-width:360px;margin-top:6px}
.nz-zavrit{font-size:15px}
/* rozvrh na mobilu: Od a Do v poslednim radku napul (cas je tlacitko s ciferníkem) */
@media (max-width:519px){ .kr-ed{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 44px;grid-template-areas:"ik nazev nazev pryc" "den den den den" "od od do do"} }

/* ---------- vzkazy na plose rodice: cely radek otevre stranku vzkazu ---------- */
.vz-list li{display:block;padding:0;background:none}
.vz-odkaz{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:8px 10px;border-radius:10px;background:var(--p-surface2);color:inherit;font-size:13.5px;text-decoration:none}
.vz-odkaz:hover{background:var(--p-seg-on)}
.vz-odkaz:focus-visible{outline:2px solid var(--p-accent,#ffcc1f);outline-offset:2px}
/* ---------- pradlena ---------- */
.pradl-dite{display:grid;gap:8px;align-content:start}
.pradl-duvody{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:340px}
.pradl-duvody .muted{font-size:13px;font-weight:700}
/* Pradlena u ditete: jako Kuchar, ale vykukuje z leveho kraje obrazovky; dva kroky vedle sebe */
.pradl-zone{margin-top:4px}
.pradl-scena{position:relative;min-height:150px}
.pradl{position:absolute;left:-22px;bottom:0;width:140px;height:auto;z-index:1;transform-origin:0 100%;animation:peek-l 6s ease-in-out infinite;pointer-events:none}
@keyframes peek-l{0%,70%,100%{transform:translateX(0) rotate(0)}76%{transform:translateX(8px) rotate(4deg)}84%{transform:translateX(0) rotate(-2deg)}}
.pradl-bubble{position:absolute;left:112px;right:14px;top:12px;margin:0;padding:12px 14px;font-weight:800;font-size:14px;line-height:1.35;z-index:2;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink)}
.pradl-bubble b{display:block;font-family:var(--disp);font-weight:400;font-size:17px;margin-bottom:2px;color:var(--red-dk)}
.pradl-bubble::after{content:"";position:absolute;left:-12px;top:30px;width:18px;height:18px;transform:rotate(45deg);background:#fff;border-bottom:3px solid var(--ink);border-left:3px solid var(--ink)}
.pradl-kroky{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 12px 4px}
.pradl-kroky .wg-check{padding:10px 12px;font-size:14px;align-items:flex-start}
.pradl-kroky .wg-check:disabled{opacity:.55;cursor:default}
@media (prefers-reduced-motion:reduce){ .pradl{animation:none} }
/* tlacitka ve widgetech: ikonka vedle textu, ne v plne velikosti */
.wbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.wbtn img{width:24px;height:24px;flex:none}

/* ---------- krouzky: zmena jednoho dne, vyjimky v dalsich dnech ---------- */
.pr-uprav{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--p-muted,#97a4ca);cursor:pointer}
.pr-uprav:hover{background:var(--p-surface2,rgba(255,255,255,.08));color:var(--p-text,#fff)}
.pr-uprav:focus-visible{outline:2px solid var(--p-accent,#ffcc1f);outline-offset:1px}
.pr-uprav .ik{width:19px;height:19px}
.pr.zmena{background:rgba(255,154,60,.2);box-shadow:inset 0 0 0 2px #ff9a3c}
.pr.zmena .pr-stitek{background:#ff9a3c;color:#1b1200}
html.rodic .pr.zmena{background:rgba(255,154,60,.13);box-shadow:inset 0 0 0 1px #ff9a3c}
html.rodic .pr.zmena .pr-stitek{color:#1b1200;background:#ff9a3c}
.pr .pr-pozn::before{content:"📝 "}
.kd-box.zmena{box-shadow:inset 0 0 0 1px #ff9a3c}
.pr-vyjimky{margin-top:10px;padding-top:10px;border-top:1px solid var(--p-line,rgba(255,255,255,.2))}
.pr-vyjimky > b{display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--p-muted,var(--mut))}
.pr-vyjimky ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.pr-vyjimky li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:13.5px;font-weight:700}
.pr-vyjimky li small{font-weight:600;color:var(--p-muted,var(--mut))}
.pv-den{font-variant-numeric:tabular-nums;color:var(--p-muted,var(--mut))}
.pr-vyjimky em{font-style:normal;font-size:11.5px;font-weight:800;white-space:nowrap;padding:2px 8px;border-radius:999px;background:rgba(255,154,60,.22);color:#ffb36b}
.kr-rozvrh-odkazy{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:12px 0 0;font-size:13.5px;font-weight:600;color:var(--p-muted,#97a4ca)}
.so-info{margin:0;font-weight:700;color:var(--p-muted,#97a4ca)}
.so-akce{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px}
.so-smazat{color:var(--p-bad,#ff7a7a)}
.pl-h-btn{white-space:nowrap}

/* ---------- uklid pokoje ---------- */
.zn{display:inline-block;min-width:1.1em;font-weight:900;font-variant-numeric:tabular-nums}
.zn-hv{text-decoration:underline double;text-underline-offset:3px;text-decoration-thickness:1px}
.zn sup{margin-left:1px;font-size:.6em;vertical-align:.45em}
.ukl-radky{display:grid;gap:8px}
.ukl-dnes{display:grid;grid-template-columns:minmax(64px,auto) 40px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 12px;border:1px solid var(--p-line,rgba(255,255,255,.15));border-radius:12px;background:var(--p-surface2,rgba(255,255,255,.08));color:var(--p-text,#fff);font:inherit;text-align:left;cursor:pointer}
.ukl-dnes img{width:40px;height:40px}
.ukl-st{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:15px}
.ukl-st.prazdne{grid-column:2/-1;color:var(--p-muted,#97a4ca);font-weight:600}
.ukl-dnes.chybi{border:1.5px dashed var(--p-accent,#ffcc1f)}
.ukl-dnes:hover{background:var(--p-seg-on,rgba(255,255,255,.16))}
.ukl-okno{position:fixed;inset:0;z-index:98;display:flex;flex-direction:column;align-items:center;gap:16px;overflow-y:auto;padding:calc(12px + var(--st)) 16px calc(24px + var(--sb));background:var(--p-bg,#0e1733);color:var(--p-text,#fff)}
.ukl-okno .cas-hlava{max-width:560px}
.ukl-volby{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:560px}
@media (min-width:700px){ .ukl-volby{grid-template-columns:repeat(3,minmax(0,1fr))} }
.ukl-volba{display:grid;justify-items:center;gap:4px;padding:14px 8px;border:1px solid var(--p-line,rgba(255,255,255,.15));border-radius:16px;background:var(--p-surface,rgba(255,255,255,.05));color:var(--p-text,#fff);font:inherit;cursor:pointer}
.ukl-volba img{width:76px;height:76px}
.ukl-volba .zn{font-size:22px}
.ukl-volba > span:last-child{font-weight:700;font-size:14.5px;text-align:center}
.ukl-volba.on{border:2px solid var(--p-accent,#ffcc1f);background:var(--p-accent-soft,rgba(255,204,31,.15))}
.ukl-volba:focus-visible{outline:2px solid var(--p-accent,#ffcc1f);outline-offset:2px}
.ukl-tyden{display:grid;gap:12px;margin:12px 0}
.ukl-tyden-r{display:grid;gap:6px}
.ukl-dny{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ukl-den{display:grid;justify-items:center;gap:2px;padding:6px 2px;border:1px solid var(--p-line,rgba(255,255,255,.15));border-radius:10px;background:var(--p-surface,rgba(255,255,255,.05));color:var(--p-text,#fff);font:inherit;cursor:pointer}
.ukl-den small{font-size:11.5px;font-weight:700;color:var(--p-muted,#97a4ca)}
.ukl-den img{width:30px;height:30px}
.ukl-den .ukl-plus{height:30px;font-size:18px;line-height:30px;color:var(--p-muted,#97a4ca)}
.ukl-den.dnes{border-color:var(--p-accent,#ffcc1f)}
.ukl-graf{position:relative;margin-top:8px}
.ukl-leg{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 8px;font-size:13.5px;font-weight:700;color:var(--p-text,#fff)}
.ukl-leg-i{display:inline-flex;align-items:center;gap:6px}
.ukl-plocha{position:relative;border-radius:8px;outline:none}
.ukl-plocha:focus-visible{box-shadow:0 0 0 2px var(--p-accent,#ffcc1f)}
.ukl-svg{display:block;max-width:100%;overflow:visible}
.ukl-mriz{stroke:var(--p-line,rgba(255,255,255,.1));stroke-width:1}
.ukl-osa{fill:var(--p-muted,#97a4ca);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.ukl-podtrh{stroke:var(--p-muted,#97a4ca);stroke-width:1}
.ukl-cara{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ukl-kriz{stroke:var(--p-muted,#97a4ca);stroke-width:1}
.ukl-tip{position:absolute;top:6px;z-index:2;min-width:160px;padding:8px 10px;border:1px solid var(--p-line,rgba(255,255,255,.15));border-radius:10px;background:var(--p-panel-bg,#121c3c);box-shadow:0 6px 18px rgba(0,0,0,.35);font-size:13px;pointer-events:none}
.ukl-tip b{display:block;margin-bottom:4px;font-size:12px;color:var(--p-muted,#97a4ca)}
.ukl-tip-r{display:grid;grid-template-columns:14px auto;column-gap:6px;align-items:center;margin-top:3px}
.ukl-tip-r i{width:12px;height:2px;border-radius:1px}
.ukl-tip-r strong{font-weight:800;color:var(--p-text,#fff)}
.ukl-tip-r span{grid-column:2;font-size:12px;color:var(--p-muted,#97a4ca)}
.ukl-tabulka{margin-top:10px}
.ukl-tabulka summary{cursor:pointer;font-weight:700;color:var(--p-muted,#97a4ca)}
.ukl-tabulka table{width:100%;margin-top:8px;border-collapse:collapse;font-size:13.5px}
.ukl-tabulka th,.ukl-tabulka td{padding:6px 8px;border-bottom:1px solid var(--p-line,rgba(255,255,255,.1));text-align:left;font-variant-numeric:tabular-nums}
.ukl-stupnice{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.ukl-stupnice li{display:grid;grid-template-columns:40px 34px minmax(0,1fr);align-items:center;gap:8px;font-weight:700}
.ukl-stupnice img{width:40px;height:40px}
.ukl-stupnice .zn{font-size:18px}
.wg-uklid .ukl-k-hlava{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px 14px}
.ukl-k-ik{width:96px;height:96px}
.ukl-k-zn{font-family:var(--disp);font-weight:400;font-size:66px;line-height:1;color:#fff;--ols:3px}
.ukl-k-zn .zn{font-weight:400;min-width:0}
.ukl-k-txt{margin:0;font-family:var(--disp);font-size:21px;line-height:1.15;color:#fff;--ols:2px}
.wg-uklid .wg-text{margin:0;font-size:18px}
.ukl-k-dny{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:10px}
.ukl-k-den{display:grid;justify-items:center;gap:2px;font-weight:800;font-size:11.5px}
.ukl-k-den img{width:28px;height:28px}
.ukl-k-den i{font-style:normal;line-height:28px;opacity:.5}
.ukl-k-den.dnes small{color:var(--yel,#ffcc1f)}

/* uklid pokoje na plose: az dole pres celou sirku, deti ve dvou sloupcich */
.ukl-radky{grid-template-columns:repeat(2,minmax(0,1fr))}
.pl-dite .ukl-radky{grid-template-columns:minmax(0,1fr)}
.ukl-st{flex-wrap:wrap;min-width:0;gap:2px 8px}
@media (min-width:700px){ .plocha > .pl-uklid{grid-column:1/-1} }
@media (max-width:699px){
  .pl-uklid .ukl-dnes{grid-template-columns:40px minmax(0,1fr);gap:4px 10px;padding:10px}
  .pl-uklid .ukl-dnes .kr-jmeno{grid-column:1/-1}
  .pl-uklid .ukl-st{font-size:14px;line-height:1.2}
  .pl-uklid .ukl-st.prazdne{grid-column:1/-1}
}

/* ---------- krouzky: sloupec na kazde dite, dole kruhove plusko ---------- */
.kr-sloupce{display:grid;grid-template-columns:repeat(var(--n,1),minmax(0,1fr));gap:8px 12px;align-items:start}
.kr-sloupec{display:grid;gap:6px;min-width:0;container-type:inline-size}
.kr-kdo{display:flex;align-items:center;gap:6px;margin:0 0 2px}
.kr-kdo::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--kb)}
.kr-sloupec .pr-nic{padding:4px 2px}
.kr-plus{justify-self:center;width:32px;height:32px;margin-top:2px;padding:0;border:1.5px dashed var(--p-muted,#97a4ca);border-radius:50%;background:transparent;color:var(--p-muted,#97a4ca);font:inherit;font-size:20px;line-height:1;cursor:pointer}
.kr-plus:hover,.kr-plus:focus-visible{border-style:solid;color:var(--p-text,#fff);background:var(--p-surface2,rgba(255,255,255,.08));outline:none}
.kd-plus{border-radius:50%}
/* uzky sloupec: cas nad nazvem, stitek pod nim */
@container (max-width:300px){
  .pr{grid-template-columns:30px minmax(0,1fr) auto;gap:1px 8px;padding:6px}
  .pr img{width:30px;height:30px;grid-row:1/span 2}
  .pr-cas{grid-column:2;grid-row:1;font-size:12.5px}
  .pr-nazev{grid-column:2;grid-row:2;font-size:13.5px;line-height:1.2}
  .pr > span:empty{display:none}
  .pr-stitek{grid-column:2;grid-row:3;justify-self:start;margin-top:2px}
  .pr-uprav{grid-column:3;grid-row:1/span 2}
  .pr small{grid-column:2/-1}
}
/* vzkazy pro rodice od rodiny: podbarveny blok, at na plose vystupuje */
.plocha > .pl-vzkazy-pro{padding:12px 14px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(255,204,31,.2),rgba(255,154,60,.1));border:1px solid rgba(255,204,31,.5);box-shadow:0 0 0 3px rgba(255,204,31,.12)}
.plocha > .pl-vzkazy-pro .pl-h{color:var(--p-accent,#ffcc1f)}
html.rodic .pl-vzkazy-pro .wg{background:var(--p-panel-bg,#121c3c)}

/* pruh dnu na plose: stale videt, uzka sipka vpravo nacte dalsi tyden */
.tb-datum i{display:none}
.pl-dny{padding-top:8px}
.pl-dny .pl-dny-vic{flex:0 0 auto;position:sticky;right:0;z-index:1;min-width:34px;width:34px;padding:0 0 3px;display:grid;place-items:center;font-size:24px;line-height:1;color:var(--p-muted);background:var(--p-panel-bg,#121c3c);box-shadow:-10px 0 10px -4px var(--p-panel-bg,#121c3c)}
.pl-dny .pl-dny-vic:hover,.pl-dny .pl-dny-vic:focus-visible{color:var(--p-text);outline:none;border-color:var(--p-muted)}

/* ---------- registrace rodiny, pozvanka, prihlaseni ---------- */
.auth-sirsi{max-width:560px}
.auth-zpet{display:block;border-radius:50%}
.auth-kroky{list-style:none;margin:10px 0 0;padding:0;display:flex;gap:18px;justify-content:center}
.auth-kroky li{display:flex;align-items:center;gap:7px;font-weight:900;color:var(--mut)}
.auth-kroky li span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:3px solid var(--ink);background:rgba(6,18,64,.5);font-size:13px}
.auth-kroky li.ted{color:#fff}
.auth-kroky li.ted span{background:var(--yel);color:var(--ink)}
.auth-kroky li.hotovo span{background:var(--grn);color:var(--ink)}
.auth-jine{display:grid;gap:10px;justify-items:center;padding-top:14px;border-top:3px solid rgba(6,18,64,.4);text-align:center}
.auth-jine p{margin:0;font-weight:900}
.auth-deti{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.auth-deti li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:8px 12px;border-radius:12px;background:rgba(6,18,64,.4)}
.auth-deti li span{font-size:13px;font-weight:700;color:var(--mut)}
.auth-dve{display:grid;gap:10px}
@media (min-width:520px){ .auth-dve{grid-template-columns:1fr 1fr} }
.auth-card .form .pole small.pole-tip{display:block;margin-top:4px}
.auth-note .lnk{font:inherit;font-weight:900;color:var(--yel);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}

/* ---------- uvodni stranka pro navstevniky ---------- */
.uv{--uv-bg:#0e1733;--uv-panel:#121c3c;--uv-line:rgba(255,255,255,.1);--uv-text:#f3f5fb;--uv-muted:#a9b3d1;--uv-yel:#ffcc1f;background:var(--uv-bg);color:var(--uv-text);font-family:"Nunito",system-ui,sans-serif;font-weight:600;line-height:1.5}
.uv *{box-sizing:border-box}
.uv-obal{max-width:1080px;margin:0 auto;padding:0 16px}
.uv-tlacitka{display:grid;gap:12px;max-width:460px;margin:26px auto 0}
@media (min-width:560px){ .uv-tlacitka{grid-template-columns:1fr 1fr} .uv-tlacitka.jedno{grid-template-columns:minmax(0,300px);justify-content:center} }
.uv-btn{display:grid;place-items:center;min-height:62px;padding:12px 20px;border-radius:16px;font-weight:900;font-size:19px;text-decoration:none;transition:transform .1s}
.uv-btn:active{transform:translateY(2px)}
.uv-btn.hl{background:linear-gradient(#ffe36e,var(--uv-yel));color:#1c2442;box-shadow:0 5px 0 #b48a00}
.uv-btn.sek{background:var(--uv-panel);color:#fff;border:1.5px solid rgba(255,255,255,.25)}
.uv-btn small{display:block;font-size:13px;font-weight:700;opacity:.75}
/* sekce funkci: vysvetlujici text, slajdy krok za krokem (telefon 1 : 2) a seznam kroku; na sirokem displeji text a kroky vedle telefonu */
.uv-sekce{display:grid;grid-template-areas:"text" "okno" "kroky";gap:22px;padding:40px 0;border-top:1px solid var(--uv-line);scroll-margin-top:12px}
@media (min-width:880px){
  .uv-sekce{grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto 1fr;grid-template-areas:"text okno" "kroky okno";gap:22px 56px;padding:60px 0}
  .uv-sekce.obr-vlevo{grid-template-columns:340px minmax(0,1fr);grid-template-areas:"okno text" "okno kroky"}
}
.uv-text{grid-area:text}
.uv-sekce h2{display:flex;align-items:center;gap:12px;margin:0;font-size:clamp(25px,3.4vw,34px);font-weight:900;line-height:1.15}
.uv-sekce h2 img,.uv-sekce h2 .uv-emo{flex:none;width:48px;height:48px}
.uv-emo{display:inline-grid;place-items:center;font-size:34px;line-height:1}
.uv-emo.dlazdice{border-radius:28%;background:linear-gradient(#ff7a7a,#e5484d);box-shadow:inset 0 -3px 0 rgba(0,0,0,.2),inset 0 2px 0 rgba(255,255,255,.35)}
.uv-sekce h2 .uv-emo.dlazdice{font-size:28px}
.uv-rozcestnik .uv-emo.dlazdice{font-size:16px}
.uv-text p{margin:14px 0 0;max-width:62ch;color:var(--uv-muted);font-size:17px;line-height:1.6}
.uv-text p:first-of-type{color:var(--uv-text)}
.uv-okno{grid-area:okno;position:relative;justify-self:center;align-self:start;width:min(100%,300px)}
@media (min-width:880px){ .uv-okno{width:340px;position:sticky;top:20px} }
.uv-pas{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border:6px solid #1a2550;border-radius:32px;background:#1a2550;box-shadow:0 22px 50px rgba(0,0,0,.45)}
.uv-pas::-webkit-scrollbar{display:none}
.uv-pas:focus-visible{outline:3px solid var(--uv-yel);outline-offset:4px}
.uv-slajd{flex:0 0 100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always}
.uv-slajd img{display:block;width:100%;height:auto;aspect-ratio:1/2;border-radius:26px}
.uv-sip{position:absolute;top:calc(50% - 20px);z-index:1;display:grid;place-items:center;width:46px;height:46px;margin-top:-23px;padding:0;border:1.5px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(14,23,51,.88);color:#fff;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:opacity .15s,transform .1s}
.uv-sip:not(:disabled):hover{background:#1d2a5c}
.uv-sip:not(:disabled):active{transform:scale(.94)}
.uv-sip:disabled{opacity:0;pointer-events:none}
.uv-sip svg{width:22px;height:22px}
.uv-sip.zpet{left:-23px}
.uv-sip.dal{right:-23px}
@media (max-width:400px){ .uv-sip.zpet{left:-10px} .uv-sip.dal{right:-10px} }
.uv-tecky{display:flex;justify-content:center;gap:2px;margin-top:10px}
.uv-tecky[hidden]{display:none}
.uv-tecky button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;background:none;cursor:pointer}
.uv-tecky button::before{content:"";width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.28);transition:width .2s,background .2s}
.uv-tecky button[aria-current]::before{width:24px;background:var(--uv-yel)}
.uv-tecky button:focus-visible{outline:2px solid var(--uv-yel);outline-offset:-4px;border-radius:999px}
.uv-kroky-s{grid-area:kroky;display:grid;gap:8px;margin:0;padding:0;list-style:none;align-self:start}
.uv-kroky-s a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border:1px solid transparent;border-radius:16px;color:var(--uv-muted);font-size:16px;line-height:1.5;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.uv-kroky-s a:hover{background:rgba(255,255,255,.04);color:var(--uv-text)}
.uv-kroky-s a:focus-visible{outline:3px solid var(--uv-yel);outline-offset:2px}
.uv-kroky-s a[aria-current]{background:var(--uv-panel);border-color:rgba(255,204,31,.5);color:var(--uv-text)}
.uv-kroky-s b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-weight:900;font-size:16px}
.uv-kroky-s a[aria-current] b{background:var(--uv-yel);color:#1c2442}
.uv-kroky-s .kdo{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;font-style:normal;font-weight:900;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;vertical-align:1px}
.uv-kroky-s .kdo.rodic{background:rgba(255,204,31,.16);color:var(--uv-yel)}
.uv-kroky-s .kdo.dite{background:rgba(96,165,250,.2);color:#9cc3ff}
/* rozcestnik pod hlavickou: odkazy na jednotlive funkce */
.uv-rozcestnik{padding:36px 0 30px;border-top:1px solid var(--uv-line);text-align:center}
.uv-rozcestnik p{margin:0 auto 16px;max-width:60ch;color:var(--uv-muted);font-size:16px}
.uv-rozcestnik div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.uv-rozcestnik a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border:1px solid var(--uv-line);border-radius:999px;background:var(--uv-panel);color:var(--uv-text);font-weight:800;font-size:15px;text-decoration:none}
.uv-rozcestnik a:hover{border-color:rgba(255,204,31,.5)}
.uv-rozcestnik img,.uv-rozcestnik .uv-emo{width:28px;height:28px;font-size:20px}
.uv-navic{padding:40px 0;border-top:1px solid var(--uv-line)}
.uv-navic h2{margin:0 0 16px;text-align:center;font-size:clamp(22px,3vw,28px);font-weight:900}
.uv-mini{display:grid;gap:10px;margin:0;padding:0;list-style:none}
@media (min-width:700px){ .uv-mini{grid-template-columns:repeat(2,1fr)} }
.uv-mini li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--uv-panel);border:1px solid var(--uv-line)}
.uv-mini img,.uv-mini .uv-emo{width:40px;height:40px;font-size:30px}
.uv-mini b{display:block}
.uv-mini span{font-size:14px;color:var(--uv-muted)}
.uv-konec{padding:40px 0 calc(36px + var(--sb,0px));border-top:1px solid var(--uv-line);text-align:center}
.uv-konec p{margin:0 auto;max-width:60ch;color:var(--uv-muted);font-size:14.5px}
.uv-konec .uv-tlacitka{margin-bottom:22px}
.uv-konec a{color:var(--uv-yel)}

/* ---------- Hero sekce uvodni stranky (views/uvod-hero.php): text vlevo, plocha rodicu a telefon ditete vpravo ---------- */
.uh{position:relative;overflow:hidden;padding:0 16px 64px;background:radial-gradient(900px 520px at 88% 12%,rgba(74,143,231,.22),transparent 70%),radial-gradient(760px 460px at 6% 100%,rgba(255,204,31,.09),transparent 70%),var(--uv-bg);border-bottom:1px solid var(--uv-line)}
.uh-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1200px;margin:0 auto;padding:calc(20px + var(--st,0px)) 0 8px}
.uh-logo{display:flex;align-items:center;gap:9px;font-family:"Paytone One",sans-serif;font-size:31px;line-height:1;color:#fff;text-decoration:none}
.uh-logo .logo-kit{color:var(--uv-yel)}
.uh-domek{width:36px;height:36px;flex:none;filter:drop-shadow(0 3px 0 #061240)}
.uh-nav-odkazy{display:flex;align-items:center;gap:24px}
.uh-nav-odkazy a{color:var(--uv-muted);font-weight:800;font-size:15.5px;text-decoration:none}
.uh-nav-odkazy a:hover{color:#fff}
.uh-nav-odkazy .uh-nav-btn{padding:9px 18px;border-radius:12px;border:1.5px solid rgba(255,255,255,.28);color:#fff}
@media (max-width:640px){ .uh-nav-odkazy a:not(.uh-nav-btn){display:none} }
.uh h1{margin:0;font-weight:900;font-size:clamp(36px,4.6vw,64px);line-height:1.05;letter-spacing:-.015em;text-wrap:balance}
.uh h1 span{color:var(--uv-yel)}
.uh-stitek{display:inline-block;margin:0 0 18px;padding:6px 13px;border-radius:999px;background:rgba(255,204,31,.12);color:var(--uv-yel);font-weight:900;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase}
.uh-lead{margin:20px 0 0;max-width:48ch;font-size:clamp(17px,1.45vw,20px);line-height:1.55;color:var(--uv-muted)}
.uh-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.uh-cta .uv-btn{min-width:230px;min-height:58px}
.uh-kod{margin:14px 0 0;font-size:14px;color:var(--uv-muted)}
.uh-kod a{color:var(--uv-yel)}
.uh-fakta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;list-style:none;font-weight:800;font-size:14.5px;color:var(--uv-muted)}
.uh-fakta li::before{content:"✓";margin-right:7px;color:#4ade80;font-weight:900}
.uh-grid{display:grid;gap:36px;align-items:center;max-width:1200px;margin:0 auto;padding-top:30px}
@media (min-width:980px){ .uh-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:48px;padding-top:52px} }
.uh-obr{position:relative;min-height:540px}
.uh-karta{position:absolute;top:0;left:0;width:min(100%,470px);margin:0;padding:14px 14px 12px;border-radius:26px;background:#16214a;border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 90px rgba(0,0,0,.5)}
.uh-karta figcaption{margin:2px 6px 10px;font-weight:900;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--uv-muted)}
.uh-karta img{display:block;width:100%;height:auto;border-radius:16px}
.uh-telefon{position:absolute;right:0;bottom:-14px;width:212px;margin:0;padding:8px;border-radius:36px;background:#04081a;border:2px solid #2b3769;box-shadow:0 34px 80px rgba(0,0,0,.6)}
.uh-telefon img{display:block;width:100%;height:auto;border-radius:28px}
.uh-toast{position:absolute;left:-18px;bottom:38px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:18px;background:#fff;color:#1c2442;box-shadow:0 20px 44px rgba(0,0,0,.4)}
.uh-toast i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#22c55e;color:#fff;font-style:normal;font-weight:900}
.uh-toast b{display:block;font-weight:900;font-size:15px}
.uh-toast small{color:#5b6585;font-weight:700;font-size:12.5px}
@media (max-width:979px){ .uh-obr{width:min(100%,640px);margin:0 auto} .uh-toast{left:0} }
@media (max-width:699px){ .uh-obr{min-height:0;display:grid;justify-items:center} .uh-karta{position:relative} .uh-telefon,.uh-toast{display:none} }

/* ---------- nastaveni: pozvanka, dny bez skoly ---------- */
.pozv-sekce,.volno-sekce{margin-top:14px}
.pozv-form,.volno-form{display:grid;gap:10px;align-items:end;margin-top:8px}
@media (min-width:640px){ .pozv-form{grid-template-columns:minmax(0,1fr) auto} .volno-form{grid-template-columns:1fr 1fr 1.4fr auto} }
.volno-list{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}
.volno-list li{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;gap:10px;align-items:center;padding:6px 6px 6px 12px;border-radius:10px;background:var(--p-surface2,rgba(255,255,255,.08))}
.volno-list li span{font-weight:600;color:var(--p-muted,#97a4ca)}
.volno-list .ikona-btn{width:36px;height:36px;font-size:18px}
.volno-pozn{margin:0 0 8px;font-weight:700}
html:not(.rodic) .volno-pozn{color:#fff;opacity:.85}

/* ---------- UX: zpet v toastu, loader plochy, Ted je na rade, Domacnost, rychly vzkaz, nabidky, vetsi cile ---------- */
.toast.on{pointer-events:auto}
.toast.zpet{display:flex;align-items:center;gap:10px;width:max-content;max-width:min(92vw,440px);white-space:normal;line-height:1.3;text-align:left;border-radius:18px}
.toast.zpet .toast-zpet{flex:none;margin-left:0}
.toast-zpet{margin-left:6px;padding:4px 12px;border:0;border-radius:999px;background:var(--yel,#ffcc1f);color:#1c2442;font:inherit;font-weight:900;cursor:pointer}
html.rodic .toast-zpet{background:var(--p-accent,#ffcc1f);color:var(--p-accent-ink,#1c2442)}
.s-splash .hello-bottom{justify-content:center}
.splash-nacita{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:rgba(6,18,64,.55);color:#fff;font-weight:800}
.splash-nacita i{width:16px;height:16px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ted-band{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 12px 6px;padding:10px 12px;border:3px solid var(--ink);border-radius:18px;background:linear-gradient(135deg,#ffe36e,#ffb21f);color:var(--ink);text-decoration:none;box-shadow:0 5px 0 var(--ink)}
.ted-band img{width:52px;height:52px}
.ted-t{display:grid;gap:1px;min-width:0}
.ted-t small{font-weight:900;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:#8a4b00}
.ted-t b{font-family:var(--disp);font-weight:400;font-size:20px;line-height:1.1}
.ted-t > span{font-weight:800;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ted-band em{font-style:normal;font-weight:900;font-size:13px;padding:8px 12px;border:2.5px solid var(--ink);border-radius:12px;background:#fff;white-space:nowrap}
.dom-sekce{padding-top:6px}
.dom-sekce + .dom-sekce{margin-top:22px;padding-top:18px;border-top:1px solid var(--p-line,rgba(255,255,255,.1))}
.dom-h{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.dom-h img{width:34px;height:34px}
.rv-form{gap:14px}
.rv-komu{display:flex;flex-wrap:wrap;gap:8px}
.rv-volby{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rv-radek{align-items:flex-start}
.rv-radek textarea{min-height:90px}
.pl-nabidka{align-items:center;flex-wrap:wrap}
.pl-nabidka > span:nth-child(2){flex:1 1 220px}
.pl-nab-akce{display:flex;align-items:center;gap:10px}
.pl-sbalena .pl-h-akce{flex-wrap:wrap;gap:6px}
.pl-sbal-text{margin:0;font-weight:700;color:var(--p-muted,#97a4ca)}
/* vetsi cile pro prst: neviditelny okraj kolem malych tlacitek (aspon 44 px) */
.kd-x,.kd-plus,.kr-plus,.pr-uprav,.wg-x,.cas-x,.so-zavrit,.cas-zavrit,.ikona-btn,.pl-dny-vic{position:relative}
.kd-x::after,.kd-plus::after,.kr-plus::after,.pr-uprav::after,.wg-x::after,.cas-x::after,.ikona-btn::after{content:"";position:absolute;inset:-8px;border-radius:inherit}
.kd-x{width:30px;height:30px;font-size:17px}
.kd-tuzka .ik{width:16px;height:16px}
.kd-plus{width:36px;height:36px;font-size:20px}
.kr-plus{width:40px;height:40px}
.pr-uprav{width:40px;height:40px}
.wg-x{width:34px;height:34px}

/* ---------- pruh dnu na 4 tydny (vikendy a volno klidne zelene) a prehled dnu na 4 mesice ---------- */
.tb-datum i{display:inline-block}
.pl-dny button{flex:0 0 auto;min-width:62px}
.pl-dny button.vik{background:rgba(94,211,164,.1);border-color:rgba(94,211,164,.38)}
.pl-dny button.vik b{color:#86dfb9}
.pl-dny button.is-on,.pl-dny button.vik.is-on{background:var(--p-accent);border-color:transparent}
.pl-dny button.vik.is-on b{color:var(--p-accent-ink)}
.kl-obsah{max-width:560px;margin:0 auto;display:grid;gap:20px}
.kl-mesic h3{margin:0 0 8px;font-size:16px;font-weight:800;text-transform:capitalize}
.kl-mriz{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.kl-dn{padding-bottom:2px;font-size:11.5px;font-weight:800;text-align:center;color:var(--p-muted,#97a4ca)}
.kl-den{display:grid;justify-items:center;align-content:start;gap:3px;min-height:48px;padding:6px 2px 4px;border:1px solid var(--p-line,rgba(255,255,255,.1));border-radius:10px;background:var(--p-surface,rgba(255,255,255,.05));color:var(--p-text,#fff);font:inherit;cursor:pointer}
.kl-den b{font-size:14px;font-weight:800}
.kl-den:disabled{opacity:.3;cursor:default}
.kl-den.vik{background:rgba(94,211,164,.1);border-color:rgba(94,211,164,.35)}
.kl-den.vik b{color:#86dfb9}
.kl-den.dnes{border-color:var(--p-accent,#ffcc1f)}
.kl-den.zmena{box-shadow:inset 0 0 0 1.5px #ff9a3c}
.kl-den.is-on,.kl-den.vik.is-on{background:var(--p-accent,#ffcc1f);border-color:transparent;color:var(--p-accent-ink,#1c2442)}
.kl-den.is-on b{color:inherit}
.kl-tecky{display:flex;gap:3px;min-height:6px}
.kl-tecky i{width:6px;height:6px;border-radius:50%}
.kl-leg{margin:0;font-size:12.5px;font-weight:600;color:var(--p-muted,#97a4ca)}
.kl-leg i{display:inline-block;width:12px;height:12px;margin:0 5px 0 2px;border-radius:3px;vertical-align:-2px}
.kl-leg i.vik{background:rgba(94,211,164,.4)}
.kl-leg i.zm{box-shadow:inset 0 0 0 1.5px #ff9a3c}

/* ---------- zabezpeceni: kontrola robota, napoveda k sile hesla ---------- */
.cf-turnstile{min-height:66px;margin:2px 0 6px}
.heslo-sila{margin:-6px 0 0;min-height:1.2em;font-size:13px;font-weight:800;color:var(--mut)}
.heslo-sila.slabe{color:#ffb4a8}
.heslo-sila.dobre{color:#ffe36e}
.heslo-sila.silne{color:#7af08c}

/* ---------- slovicka: rozestupy, lekce po castech (cela lekce + casti), volby ve dvou sloupcich ---------- */
.en-col{display:flex;flex-direction:column;gap:10px}
.en-col > .h2{margin-top:8px}
.en-col > .h2:first-child{margin-top:0}
.unit{display:grid;gap:10px;padding:10px 12px 12px;color:#fff;text-align:left}
.unit:not(.is-on){opacity:.85}
.unit-h{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px}
.unit-casti{display:flex;flex-wrap:wrap;gap:8px}
.cast{display:grid;justify-items:center;align-content:center;min-width:62px;min-height:50px;padding:5px 11px;border:3px solid var(--ink);border-radius:12px;background:rgba(6,18,64,.4);color:#fff;line-height:1.1}
.cast b{font-family:var(--disp);font-weight:400;font-size:16px;--ols:2px}
.cast small{font-weight:800;font-size:11px;color:var(--mut)}
.cast.cela{padding-inline:14px}
.cast.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -4px 0 var(--yel-dk)}
.cast.is-on small{color:#5a3d00}
.opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;padding-top:8px}
.opt{grid-template-columns:44px minmax(0,1fr);gap:8px;padding:10px 10px 9px 8px;min-height:70px;position:relative}
.opt:last-child:nth-child(odd){grid-column:1/-1}
.opt em{position:absolute;top:-11px;right:8px;font-size:15px;line-height:1;padding:4px 9px;border-radius:999px;background:var(--ink);color:#fff}
.opt.is-on em{background:var(--ink)}
.opt b{font-size:14.5px}
.opt small{font-size:11.5px}
@media (min-width:520px){ .opts{grid-template-columns:repeat(3,minmax(0,1fr))} .opt:last-child:nth-child(odd){grid-column:auto} }

/* ---------- partak (avatar): karta na plose, stranka Partak ---------- */
.wg-avatar{display:grid;gap:10px}
.av-figura{display:flex;justify-content:center;padding:8px 0 2px;text-decoration:none}
.av-fig{position:relative;display:inline-block;width:150px;height:150px}
.av-fig .av-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 0 rgba(6,18,64,.35))}
.av-fig .av-item{position:absolute;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 0 rgba(6,18,64,.5))}
.av-fig .av-hlava{top:-14px;left:50%;transform:translateX(-50%)}
.av-fig .av-telo{left:-18px;top:42%}
.av-fig .av-nohy{bottom:-8px;left:4px}
.av-fig .av-ruka{right:-18px;top:38%}
.av-fig .av-kamarad{right:-12px;bottom:-10px}
.av-info{text-align:center;display:grid;gap:5px}
.av-info b{font-family:var(--disp);font-weight:400;font-size:22px;--ols:2px}
.av-info small{font-weight:800;font-size:12.5px;color:var(--mut)}
.av-bar{display:block;height:12px;border-radius:999px;background:rgba(6,18,64,.5);border:2px solid var(--ink);overflow:hidden}
.av-bar i{display:block;height:100%;background:linear-gradient(var(--yel-hi),var(--yel))}
.av-pobidky{display:grid;gap:6px}
.av-pobidky > b{font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.av-pob{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:center;padding:6px 8px;border-radius:12px;background:rgba(6,18,64,.35);color:#fff;text-decoration:none}
.av-pob img{width:40px;height:40px;object-fit:contain;filter:grayscale(1) opacity(.8)}
.av-pob b{display:block;font-weight:900;font-size:14px}
.av-pob small{font-weight:700;font-size:11.5px;color:var(--mut)}
.av-mini{display:block;height:6px;margin-top:4px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden}
.av-mini i{display:block;height:100%;background:var(--yel)}
.av-hlavni{display:grid;justify-items:center;gap:6px;padding:16px 14px 14px;color:#fff}
.av-hlavni .av-fig{width:190px;height:190px}
.av-hlavni .av-info{width:100%}
.av-jmeno{font-family:var(--disp);font-weight:400;font-size:24px;--ols:2px}
.av-popis{font-weight:800;font-size:13px;color:var(--mut)}
.av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.av-karta{display:grid;justify-items:center;align-content:start;gap:4px;padding:10px 8px;border:3px solid var(--ink);border-radius:14px;background:rgba(6,18,64,.4);color:#fff;text-align:center}
.av-karta img{width:84px;height:84px;object-fit:contain}
.av-karta b{font-family:var(--disp);font-weight:400;font-size:15px;line-height:1.1;--ols:2px}
.av-karta small{font-weight:700;font-size:11.5px;color:var(--mut);line-height:1.2}
.av-karta.on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -4px 0 var(--yel-dk)}
.av-karta.on small{color:#5a3d00}
.av-karta.zamceno img{filter:grayscale(1) opacity(.55)}
.av-karta .av-mini{width:100%}
.av-slot{margin:6px 0 0;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.av-jak,.av-hist{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.av-jak li,.av-hist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(6,18,64,.35);font-weight:700;font-size:13.5px;color:#fff}
.av-jak li b{text-align:right;font-weight:800;color:var(--yel)}
.av-hist li b{font-family:var(--disp);font-weight:400;color:var(--yel)}

/* ---------- zasady zpracovani osobnich udaju ---------- */
.zasady{text-align:left}
.zasady h3{margin:18px 0 6px;font-family:var(--disp);font-weight:400;font-size:18px;--ols:2px}
.zasady p,.zasady li{font-weight:600;font-size:14px;line-height:1.5}
.zasady ul{margin:0;padding-left:18px;display:grid;gap:6px}
.zasady mark{background:var(--yel);color:var(--ink);padding:0 4px;border-radius:4px;font-weight:800}
.zasady a{color:#fff}

/* ---------- cestina: temata, ulohy (doplnovacka, detektiv, petiminutovka), vysledek se znamkou ---------- */
.cj-temata{display:grid;gap:8px}
.cj-tema{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;width:100%;text-align:left;color:#fff}
.cj-tema:not(.is-on){opacity:.85}
.cj-tema.is-on{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -5px 0 var(--yel-dk),0 4px 0 var(--ink)}
.cj-tema-ik{width:58px;height:58px;object-fit:contain}
.cj-tema-txt{display:grid;gap:2px;min-width:0}
.cj-tema-txt b{font-family:var(--disp);font-weight:400;font-size:18px;line-height:1.1}
.cj-tema-txt small{font-weight:700;font-size:12px;line-height:1.25;color:var(--mut)}
.cj-tema.is-on small{color:#5a3d00}
.cj-tema-st{font-weight:900!important}
.cj-ring{width:54px;height:54px;font-size:13px}
.cj-posl{display:grid;justify-items:center;line-height:1}
.cj-posl .zn{font-family:var(--disp);font-weight:400;font-size:34px}
.cj-posl small{font-weight:800;font-size:10.5px;color:var(--mut)}
.cj-tema.is-on .cj-posl small{color:#5a3d00}
.cj-testy{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;color:#fff;flex-wrap:wrap}
.cj-testy > b{font-weight:900;font-size:14px}
.cj-testy > span{display:flex;gap:12px}
.cj-test{display:grid;justify-items:center;line-height:1.05}
.cj-test .zn{font-family:var(--disp);font-weight:400;font-size:24px}
.cj-test small{font-weight:700;font-size:10.5px;color:var(--mut)}
.cj-gap{min-width:1.3em;padding:0 4px;text-align:center}
.cj-gap.vyb{border-bottom-style:solid;color:var(--card-ink)}
.cj-bez{font-size:.6em;font-weight:800;letter-spacing:.01em;white-space:nowrap;vertical-align:.15em}
.cj-veta{font-size:clamp(22px,6vw,30px)}
.cj-moz.kratke{grid-template-columns:repeat(var(--n,2),minmax(0,1fr))}
.cj-moz.kratke .sopt{min-height:76px;font-family:var(--disp);font-weight:400;font-size:34px}
.sopt.vybrano{background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);box-shadow:inset 0 -5px 0 var(--yel-dk),0 4px 0 var(--ink)}
.cj-det{line-height:1.9}
.cj-slovo{display:inline-block;margin:1px 0;padding:0 6px;border:2px dashed rgba(49,86,201,.35);border-radius:10px;background:none;font:inherit;color:inherit;cursor:pointer}
.cj-slovo:hover,.cj-slovo:focus-visible{border-color:#3156c9;background:#eef3ff}
.cj-slovo:disabled{border-color:transparent;cursor:default}
.cj-slovo.zle{background:#ffdede;color:var(--red-dk)}
.cj-slovo.opr{border:0;padding:0}
.cj-slovo.opr s{color:var(--red-dk)}
.cj-slovo.opr b{padding:0 6px;border-radius:8px;background:var(--grn);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.cj-det-tip{font-weight:800;font-size:12.5px;color:#5b6b96}
.cj-det-akce{grid-template-columns:1fr}
.cj-cas{font-variant-numeric:tabular-nums}
.cj-cas.dochazi{background:var(--red);color:#fff}
.cj-znamka{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:#fff;border:5px solid var(--ink);box-shadow:0 6px 0 var(--ink);transform:rotate(-6deg)}
.cj-znamka .zn{font-family:var(--disp);font-weight:400;font-size:92px;line-height:1;color:var(--red)}
.cj-znamka .zn-hv{text-decoration-thickness:4px;text-underline-offset:10px}
.cj-chyba{display:grid!important;gap:3px}
.cj-chyba .muted{font-weight:700;font-size:13px}
.cj-rod-testy .zn{font-weight:900}
.cj-cele{white-space:nowrap}
.s-cj .modes .mode{min-width:0;grid-template-columns:42px minmax(0,1fr)}
.s-cj .modes .mode img{width:42px;height:42px}
.s-cj .modes .mode b{font-size:16px;overflow-wrap:anywhere}
.s-cj .modes .mode small{font-size:11px}
.cj-trida{font-family:var(--body);font-weight:900;font-size:13px;color:var(--mut);margin-left:6px}
.cj-nic{margin:0;font-weight:800;font-size:14px;color:var(--mut)}
.cj-dalsi{margin-top:4px}
.cj-dalsi > summary{cursor:pointer;font-weight:900;font-size:14px;color:var(--mut);padding:6px 0;list-style-position:inside}
.cj-dalsi[open] > summary{margin-bottom:8px}

/* ---------- mentor a ucitel (dospely vzhled; promenne i pro rodice s detskym vzhledem) ---------- */
.tr-obsah,.mt-obsah,.mv-sekce,.hod-sek,.pl-limit{--p-bg:#0e1733;--p-surface:rgba(255,255,255,.05);--p-line:rgba(255,255,255,.12);--p-text:#edf1ff;--p-muted:#a7b2d6;
  --p-accent:#ffcc1f;--p-accent-ink:#1d1603;--p-accent-soft:rgba(255,204,31,.13);--p-ok:#4ade80;--p-ok-soft:rgba(74,222,128,.15);--p-bad:#f87171;--p-bad-soft:rgba(248,113,113,.15)}
.ik-hv{width:16px;height:16px;fill:#ffcc1f;vertical-align:-3px;margin-right:3px}
.ik-pu{width:13px;height:13px;fill:#05070f;stroke:#c9d1ec;stroke-width:2;vertical-align:-2px;margin-right:3px}
.tr-obsah,.mt-obsah{max-width:640px;margin:0 auto;width:100%;box-sizing:border-box}
.tr-hlava{display:flex;align-items:center;gap:10px}
.tr-hlava-t{flex:1;min-width:0;text-align:center}
.tr-h{margin:0;font-size:20px;font-weight:900;line-height:1.2}
.tr-hlava .muted{margin:2px 0 0;font-size:13px}
.tr-hlava .tb-btn{flex:none;font:900 24px/1 var(--body);color:var(--p-text)}
.tr-hlava .tb-btn:disabled{opacity:.3}
.tr-leg{padding:10px 14px;font-size:13px;font-weight:700;line-height:1.45}
.tr-leg summary{cursor:pointer;font-weight:900}
.tr-leg p{margin:8px 0 0}
.tr-dite{padding:12px 14px;display:grid;gap:10px}
.tr-jmeno{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tr-jmeno b{font-size:16px;font-weight:900}
.tr-nezap{font-size:12px;font-weight:900;color:var(--p-accent)}
.tr-doch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tr-volba{min-height:52px;padding:4px;border-radius:12px;border:1px solid var(--p-line);background:transparent;color:var(--p-text);font:inherit;font-weight:900;font-size:13px;line-height:1.15;cursor:pointer}
.tr-volba.on{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-accent-ink)}
.tr-pov{display:flex;align-items:center;gap:8px}
.tr-pov > span{flex:1;font-size:13px;font-weight:900;color:var(--p-muted)}
.tr-znamka{height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--p-line);background:transparent;color:var(--p-text);display:flex;align-items:center;gap:4px;font:inherit;font-weight:900;font-size:14px;cursor:pointer}
.tr-znamka .ik-hv{fill:#4b5785}
.tr-znamka .ik-pu{fill:transparent}
.tr-hvezda.on{border-color:#ffcc1f;background:rgba(255,204,31,.14)}
.tr-hvezda.on .ik-hv{fill:#ffcc1f}
.tr-puntik.on{border-color:#c9d1ec;background:rgba(201,209,236,.12)}
.tr-puntik.on .ik-pu{fill:#05070f}
.tr-pozn{margin:0;font-size:13px;line-height:1.45}
.mt-h{margin:0;font-size:26px;font-weight:900}
.mt-karta{padding:16px;display:grid;gap:12px}
.mt-hlava{display:flex;align-items:center;gap:12px}
.mt-av{flex:none;width:42px;height:42px;border-radius:21px;color:#0e1733;font-weight:900;font-size:18px;display:flex;align-items:center;justify-content:center}
.mt-jm{flex:1;min-width:0;display:grid}
.mt-jm b{font-size:17px;font-weight:900}
.mt-jm small{font-size:13px;font-weight:700;color:var(--p-muted)}
.mt-stav{flex:none;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}
.mt-stav svg,.mt-ch i svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.mt-stav.ok{background:var(--p-ok-soft);color:var(--p-ok)}
.mt-stav.zle{background:var(--p-bad-soft);color:var(--p-bad)}
.mt-stav.ceka{background:var(--p-accent-soft);color:var(--p-accent)}
.mt-bunky{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
.mt-bunka{background:var(--p-bg);border-radius:12px;padding:10px;display:grid;gap:2px}
.mt-bunka small{font-size:12px;font-weight:800;color:var(--p-muted)}
.mt-bunka b{font-size:19px;font-weight:900}
.mt-r{margin:0;display:flex;gap:10px;font-size:14px;font-weight:700;line-height:1.4}
.mt-r > span{flex:none;width:64px;color:var(--p-muted);font-weight:800}
.mt-chov{border-top:1px solid var(--p-line);padding-top:12px;display:grid;gap:10px}
.mt-pod{margin:0;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--p-muted)}
.mt-ch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mt-ch{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800}
.mt-ch i{flex:none;width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center}
.mt-ch.ok i{background:var(--p-ok-soft);color:var(--p-ok)}
.mt-ch.zle i{background:var(--p-bad-soft);color:var(--p-bad)}
.mt-pozn{margin:0;font-size:14px;font-weight:700;line-height:1.4}
.mt-limit{background:var(--p-bg);border-radius:14px;padding:14px;display:grid;gap:12px}
.mt-limit-h{margin:0;font-size:16px;font-weight:900}
.mt-volby{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
.mt-volba{min-height:72px;border-radius:14px;border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-text);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}
.mt-volba b{font-weight:900;font-size:16px}
.mt-volba small{font-weight:800;font-size:13px;color:var(--p-muted)}
.mt-volba.on{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-accent-ink)}
.mt-volba.on small{color:var(--p-accent-ink)}
.mt-zatim,.mt-uvidi{margin:0;font-size:13px;line-height:1.4}
.mt-vz textarea{resize:none}
.mt-odkazy{margin:0;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:900}
.mt-step{display:flex;align-items:center;gap:10px}
.mt-step > span{flex:1;font-size:15px;font-weight:800}
.mt-step b{min-width:96px;text-align:center;font-size:16px;font-weight:900;color:var(--p-accent)}
.mt-step .tb-btn{flex:none;font:900 22px/1 var(--body);color:var(--p-text)}
.mv-list{display:grid;gap:8px}
.mv-r{display:flex;align-items:center;gap:10px}
.mv-r img{width:28px;height:28px}
.mv-r > span{flex:1;min-width:0;display:grid}
.mv-r small{font-size:12px;font-weight:700;color:var(--p-muted)}
.mv-akce{display:flex;flex-wrap:wrap;gap:8px}
.mv-odkaz{display:grid;gap:8px}
.hod-sek{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--p-line)}
.hod-h{margin:0;font-size:15px;font-weight:900}
.hod-r{margin:0;display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:700}
.hod-otazka{margin:6px 0 0;font-size:15px;font-weight:900}
.hod-ab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hod-ch{display:flex;align-items:center;gap:10px}
.hod-ch > span{flex:1;min-width:0;font-size:14px;font-weight:800;line-height:1.25}
.hod-ch .hod-ab{flex:none;grid-template-columns:repeat(2,64px)}
.hod-b{min-height:44px;border-radius:12px;border:1px solid var(--p-line);background:transparent;color:var(--p-text);font:inherit;font-weight:900;font-size:14px;cursor:pointer}
.hod-b.on-ano{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-accent-ink)}
.hod-b.on-ne{background:#ff8f7a;border-color:#ff8f7a;color:#0e1733}
.hod-tip{margin:0;font-size:13px;line-height:1.4}
.pl-limit{cursor:default;margin:0}
.mot-plocha{margin:0 16px}
.sk-chip .ik-hv{width:14px;height:14px}

/* ---------- prirodopis: poznavacka podle obrazku (obrazek -> nazev, nazev -> obrazek, karticky, pisemka, tahak) ---------- */
.pri-karta{margin:12px 16px 0;padding:12px 14px 14px;display:grid;justify-items:center;gap:8px;text-align:center;color:var(--card-ink);background:#fff;
  border:4px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink);font:inherit}
button.pri-karta{width:calc(100% - 32px);cursor:pointer}
button.pri-karta:active{transform:translateY(3px);box-shadow:0 3px 0 var(--ink)}
.pri-obr{display:block;width:100%;max-width:520px;height:auto;max-height:min(34vh,290px);object-fit:contain}
.pri-otoc{font-weight:800;font-size:14px;line-height:1.3;color:#46527d}
.pri-nazev{font-family:var(--disp);font-weight:400;font-size:clamp(26px,7.5vw,36px);line-height:1.08;color:var(--ink)}
.pri-tip{font-weight:800;font-size:14.5px;line-height:1.4;color:#46527d;max-width:34ch}
.pri-judge{padding-top:14px}
.pri-judge .jbtn{min-height:68px;font-size:18px}
.pri-judge .jbtn img{width:30px;height:30px}
.pri-moz .sopt{min-height:56px;font-size:19px}
.pri-otazka{margin:12px 16px 0;padding:14px 16px 16px;display:grid;justify-items:center;gap:8px;text-align:center;background:var(--card);color:var(--card-ink);
  border:4px solid var(--ink);border-radius:22px;box-shadow:inset 0 -8px 0 #dfe8ff,0 6px 0 var(--ink)}
.pri-otazka b{font-family:var(--disp);font-weight:400;font-size:clamp(26px,7.5vw,36px);line-height:1.08;overflow-wrap:anywhere}
.pri-obrazky{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 16px 0}
.pri-volba{display:grid;place-items:center;aspect-ratio:3/2;padding:6px;background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink);cursor:pointer}
.pri-volba:active{transform:translateY(2px);box-shadow:0 2px 0 var(--ink)}
.pri-volba.dobre{border-color:var(--grn-dk);box-shadow:0 0 0 4px var(--grn),0 4px 0 var(--ink)}
.pri-volba.spatne{border-color:var(--red-dk);box-shadow:0 0 0 4px var(--red),0 4px 0 var(--ink);animation:shake .35s}
.pri-volba.tlumene{opacity:.4}
.pri-volba:disabled{cursor:default}
.pri-obr-mini{display:block;width:100%;height:100%;object-fit:contain}
.pri-pis-akce{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px}
.g-input.pri-odevzdano{background:var(--yel-hi)}
.pri-zlobi{display:grid;gap:3px;padding:10px 14px;color:#fff;font-size:13.5px;line-height:1.35}
.pri-zlobi b{font-weight:900}
.pri-zlobi span{font-weight:700;color:var(--mut)}
.pri-chyby li{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;justify-content:start}
.pri-chyby li span{display:grid;gap:2px}
.pri-chyby li small{font-weight:700;font-size:13px;line-height:1.35;color:var(--mut)}
.pri-obr-ch{display:block;width:88px;height:58px;object-fit:contain;padding:3px;background:#fff;border-radius:10px}
.pri-tahak{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pri-tk{margin:0;display:grid;align-content:start;gap:6px;padding:8px 10px 10px;background:#fff;color:var(--card-ink);border:3px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink)}
.pri-tk-obr{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.pri-tk figcaption{display:grid;gap:3px}
.pri-tk b{font-family:var(--disp);font-weight:400;font-size:16px;line-height:1.1;color:var(--ink)}
.pri-tk small{font-weight:700;font-size:12.5px;line-height:1.3;color:#46527d}
@media (min-width:600px){
  .pri-moz{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pri-obrazky{max-width:640px;margin:0 auto;width:100%}
}

/* ---------- matematika: priklad, policko odpovedi, ciselna klavesnice, zlomky ---------- */
.c-zluta{background:linear-gradient(#ffe36e,#f5b800)}
/* svetla dlazdice pro barevna pismena ABC a pocetni znamenka (na cervene a zlute splyvala) */
.c-bila{background:linear-gradient(#ffffff,#d9e3f5)}
.mat-karta{gap:14px}
.mat-q{margin:0;font-weight:900;font-size:clamp(26px,7.5vw,38px);line-height:1.35;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mat-karta.slovni .mat-q{font-size:clamp(17px,4.6vw,21px);line-height:1.45;text-align:left;font-weight:800}
.mat-otaz{display:inline-block;min-width:1.2em;padding:0 6px;border-radius:8px;background:#e7edff;color:#3156c9;text-align:center}
.mat-rim{font-family:Georgia,serif;letter-spacing:.06em}
.mat-q sup{font-size:.6em}
.zl{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.05;font-size:.8em;margin:0 2px}
.zl > span:first-child{border-bottom:3px solid currentColor;padding:0 4px 2px}
.zl > span:last-child{padding:2px 4px 0}
.zl .mat-otaz{padding:0 4px;min-width:1em}
.mat-pole{display:flex;align-items:center;justify-content:center;gap:10px;min-width:60%;padding:8px 14px;border:4px dashed #9db0ea;border-radius:16px;background:#f6f8ff}
.mat-pole.ok{border:4px solid var(--grn);background:#e6fbee}
.mat-pole.zle{border:4px solid var(--red);background:#ffecec}
.mat-pole.vyb{border:4px solid var(--yel-dk);background:#fff8dc}
.mat-vstup{min-width:2ch;font-family:var(--disp);font-size:40px;line-height:1.1;color:var(--card-ink);font-variant-numeric:tabular-nums}
.mat-jedn{font-weight:900;font-size:22px;color:#5b6b96}
.mat-kurzor{display:inline-block;width:3px;height:36px;vertical-align:middle;background:#3156c9;animation:mat-blik 1s steps(1) infinite}
@keyframes mat-blik{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){ .mat-kurzor{animation:none} }
.mat-spravne{margin:0;font-weight:800;font-size:16px;color:#5b6b96}
.mat-spravne b{color:var(--grn-dk,#178a43)}
.mat-klav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 16px 0;max-width:520px;margin:0 auto;width:100%}
.mat-kl{min-height:58px;border:3px solid var(--ink);border-radius:14px;background:linear-gradient(var(--panel-hi),var(--panel));color:#fff;font-family:var(--disp);font-size:28px;box-shadow:inset 0 -5px 0 rgba(0,0,0,.18),0 4px 0 var(--ink)}
.mat-kl:active{transform:translateY(3px);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18),0 1px 0 var(--ink)}
.mat-kl.zn{background:linear-gradient(#93a8ff,#6b7fe6)}
.mat-kl:disabled{visibility:hidden}
.mat-kl.del{background:linear-gradient(var(--red-hi),var(--red));font-size:24px}
.mat-kl.ok{grid-column:span 2;background:linear-gradient(var(--grn-hi),var(--grn));font-size:22px}
.mat-skore{background:var(--grn);color:#fff}
.mat-rek{font-family:var(--disp);font-weight:400;font-size:24px}
.mat-ch-q{font-weight:900}
.mat-ch-q .zl{font-size:.85em}
@media (min-width:860px){ .s-mat .mat-klav{padding-top:18px} }

/* ---------- detska titulka: domecek s napisem vlevo, datum uprostred (vyber dne), menu vpravo ---------- */
.tb.tb-dite{grid-template-columns:auto minmax(0,1fr) auto}
.tb-vlevo{display:flex;align-items:center;gap:10px;min-width:0}
.tb-znacka-k{font-family:var(--disp);font-size:23px;line-height:1;color:#fff;text-decoration:none;white-space:nowrap;transform:rotate(-3deg);--ols:2px}
.tb-dite .tb-datum{gap:7px;padding:8px 13px;border:2.5px solid rgba(6,18,64,.6);background:rgba(6,18,64,.4);color:#fff;font-weight:900;font-size:15px}
.tb-dite .tb-datum:active{transform:translateY(1px)}
.tb-dite .tb-datum i{flex:none;opacity:.9}
.tbd-txt{white-space:nowrap}
.tbd-kr{display:none}
@media (max-width:419px){
  .tb-dite .tb-menu-txt{display:none}
  .tb-dite .tb-menu{width:48px;padding:0}
}
@media (max-width:379px){ .tbd-dl{display:none} .tbd-kr{display:inline} .tb-znacka-k{font-size:20px} .tb-vlevo{gap:7px} }
@media (max-width:339px){ .tb-znacka-k{display:none} }
.den-menu{position:fixed;inset:0;z-index:90;background:rgba(6,10,40,.5);animation:fade .15s}
.den-panel{position:absolute;top:calc(78px + var(--st));left:50%;transform:translateX(-50%);width:min(400px,calc(100% - 24px));max-height:calc(100dvh - 100px - var(--st));overflow:auto;display:grid;gap:6px;padding:10px;border-radius:18px;background:#16245e;border:3px solid var(--ink);box-shadow:0 12px 32px rgba(0,0,0,.45);animation:nahoru .18s ease-out}
.den-i{display:grid;grid-template-columns:minmax(76px,auto) auto minmax(0,1fr);align-items:baseline;gap:10px;padding:11px 14px;border-radius:14px;border:2.5px solid rgba(6,18,64,.55);background:rgba(6,18,64,.35);color:#fff;font-family:inherit;text-align:left;cursor:pointer}
.den-i b{font-family:var(--disp);font-weight:400;font-size:18px;line-height:1.1}
.den-i span{font-weight:800;font-size:14px;color:var(--mut)}
.den-i small{justify-self:end;max-width:100%;font-weight:700;font-size:13px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.den-i.vik b{color:#8ee6b8}
.den-i.is-on{border-color:var(--yel);background:rgba(255,204,31,.18)}
.den-i:active{transform:translateY(1px)}
.den-greet{align-items:center}
.den-greet .lnk{padding:6px 0;font-weight:800;font-size:14px;color:var(--yel)}
.den-obsah{display:grid;gap:12px;padding:8px 16px 24px}
.den-typ{margin:0;padding:10px 14px;border-radius:14px;background:rgba(6,18,64,.45);border:2px solid rgba(94,211,164,.7);font-weight:800;color:#a3ecc6}
.den-nacita{margin:8px 4px}
.den-sez-h{display:flex;align-items:center;gap:10px}
.den-sez-h img{width:40px;height:40px}
.den-sez-h b{font-family:var(--disp);font-weight:400;font-size:20px}
.den-sez-h small{margin-left:auto;padding:3px 10px;border-radius:999px;background:rgba(6,18,64,.45);border:1.5px solid rgba(94,211,164,.7);color:#a3ecc6;font-weight:800;font-size:12px}
.den-pol{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.den-pol li{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;line-height:1.25}
.den-pol li img{width:30px;height:30px;flex:none}
.den-pol li small{display:block;font-weight:800;font-size:12px;color:var(--yel)}
.den-pol li.quest span{color:var(--yel-hi,#ffe27a)}
.den-pozn{margin:0;text-align:center;font-size:13.5px}
@media (min-width:860px){
  .s-home.s-den{display:flex}
  .den-obsah{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;padding:8px 20px 28px}
  .den-obsah > .den-typ,.den-obsah > .den-pozn,.den-obsah > .den-nacita{grid-column:1/-1}
}


/* ---------- logopedie: hry, hlásky, karty cvičení, foukání, zrcátko ---------- */
.lg-hry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lg-hra{position:relative;display:grid;justify-items:center;align-content:start;text-align:center;gap:4px;padding:14px 10px 12px;color:#fff;cursor:pointer}
.lg-hra-ik{width:58px;height:58px}
.lg-hra b{font-family:var(--disp);font-weight:400;font-size:18px;line-height:1.1}
.lg-hra small{font-weight:800;font-size:13px;line-height:1.25;color:var(--mut)}
.lg-hra em{position:absolute;top:6px;right:8px;padding:2px 7px;border-radius:999px;background:rgba(6,18,64,.5);color:var(--yel);font-style:normal;font-weight:900;font-size:11px}
.lg-rady{display:grid;gap:6px;margin-top:12px;padding:12px 14px}
.lg-rady b{font-family:var(--disp);font-weight:400;font-size:17px}
.lg-rady ul{margin:0;padding-left:18px;display:grid;gap:3px;font-weight:800;font-size:14px;line-height:1.35}
.lg-rady small{font-weight:700;font-size:12.5px;color:var(--mut)}
.lg-hlasky{display:grid;gap:8px}
.lg-hlaska{display:grid;grid-template-columns:66px 40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;color:#fff;cursor:pointer}
.lg-hlaska.doporucena{box-shadow:inset 0 0 0 3px var(--yel),0 4px 0 var(--ink)}
.lg-pismeno{font-family:var(--disp);font-size:28px;line-height:1;text-align:center;color:#fff;--ols:2.5px;white-space:nowrap}
.lg-pismeno.dlouhe{font-size:19px;--ols:2px}
.lg-pismeno.velke{font-size:66px;--ols:4px}
.lg-hlaska-ik{width:40px;height:40px}
.lg-hlaska-txt{min-width:0}
.lg-hlaska-txt b{display:block;font-weight:900;font-size:15px}
.lg-hlaska.doporucena .lg-hlaska-txt b{color:var(--yel)}
.lg-hlaska-txt small{display:block;font-weight:700;font-size:12.5px;color:var(--mut)}
.s-lg-uloha .lg-telo{display:grid;gap:12px;padding:4px 16px 18px}
.lg-prog{padding-bottom:2px}
.lg-zrc-btn{display:inline-flex;align-items:center;gap:6px;padding:0;color:var(--yel);font-weight:900;font-size:14px}
.lg-zrc-btn img{width:22px;height:22px}
.lg-karta{display:grid;justify-items:center;text-align:center;gap:10px;padding:16px 14px 18px;color:#fff}
.lg-typ{font-weight:900;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.lg-obr img{width:96px;height:96px}
.lg-obr.velky img{width:118px;height:118px}
.lg-text{margin:0;font-weight:900;font-size:24px;line-height:1.35}
.lg-text.slovo{font-family:var(--disp);font-weight:400;font-size:clamp(40px,12vw,58px);line-height:1.1}
.lg-hl{color:var(--yel)}
.lg-pozn{margin:0;font-weight:800;font-size:14px;color:var(--mut)}
.lg-pozn.mala{font-size:12.5px}
.lg-nastroje{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.lg-nastroj{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:2.5px solid rgba(6,18,64,.6);background:rgba(6,18,64,.35);color:#fff;font-family:inherit;font-weight:900;font-size:14px;cursor:pointer}
.lg-nastroj img{width:22px;height:22px}
.lg-nastroj.nahrava{border-color:#ff6b6b;animation:lg-pulz 1s ease-in-out infinite}
@keyframes lg-pulz{50%{box-shadow:0 0 0 6px rgba(255,107,107,.35)}}
.lg-slabiky{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.lg-slabika{min-width:66px;padding:10px 14px;border-radius:14px;border:3px solid var(--ink);background:linear-gradient(var(--panel-hi),var(--panel));color:#fff;font-family:var(--disp);font-size:26px;box-shadow:0 4px 0 var(--ink)}
.lg-judge{padding:4px 0 0}
.lg-judge .jbtn{min-height:70px;font-size:18px}
.lg-judge .jbtn img{width:28px;height:28px}
.jbtn.lg-znovu{background:linear-gradient(#8f7bff,#5b45f0);box-shadow:inset 0 -7px 0 #3a2bb8,0 5px 0 var(--ink)}
.lg-akce{display:grid}
.lg-navod{justify-items:stretch;text-align:left}
.lg-navod-h{display:flex;align-items:center;justify-content:center;gap:16px}
.lg-navod-ik{width:72px;height:72px}
.lg-zvuk{margin:0;font-weight:900;font-size:17px;line-height:1.35;text-align:center}
.lg-navod-t{font-family:var(--disp);font-weight:400;font-size:18px}
.lg-navod ol{margin:0;padding-left:22px;display:grid;gap:6px;font-weight:800;font-size:16px;line-height:1.35}
.lg-navod .lg-pozn{text-align:center}
.lg-cvik-h{font-family:var(--disp);font-weight:400;font-size:28px;--ols:2.5px}
.lg-cvik-t{margin:0;max-width:34ch;font-weight:800;font-size:17px;line-height:1.4}
.lg-pocitadlo{display:grid;place-items:center;align-content:center;gap:2px;width:min(210px,64vw);aspect-ratio:1;border-radius:50%;border:4px solid var(--ink);background:radial-gradient(circle at 35% 30%,var(--yel-hi),var(--yel) 60%,var(--yel-dk));color:var(--ink);box-shadow:inset 0 -10px 0 rgba(0,0,0,.15),0 6px 0 var(--ink);cursor:pointer;touch-action:manipulation}
.lg-pocitadlo b{font-family:var(--disp);font-weight:400;font-size:44px;line-height:1}
.lg-pocitadlo small{max-width:12ch;font-weight:900;font-size:13px;line-height:1.2}
.lg-pocitadlo:active{transform:translateY(3px);box-shadow:inset 0 -6px 0 rgba(0,0,0,.15),0 3px 0 var(--ink)}
.lg-zrcatko{position:fixed;z-index:80;top:calc(84px + var(--st));right:12px;width:132px;height:132px;border-radius:50%;overflow:hidden;border:4px solid var(--yel);box-shadow:0 8px 24px rgba(0,0,0,.45);background:#000}
.lg-zrcatko video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.lg-zrcatko button{position:absolute;bottom:6px;left:50%;width:30px;height:30px;margin-left:-15px;padding:0;border-radius:50%;border:2px solid var(--ink);background:var(--yel);color:var(--ink);font-weight:900;font-size:18px;line-height:1;cursor:pointer}
.lg-svicky{display:flex;justify-content:center;align-items:flex-end;gap:12px;height:150px;padding-top:10px}
.lg-svicka{position:relative;width:26px;height:84px;border-radius:6px 6px 4px 4px;border:3px solid var(--ink);background:linear-gradient(90deg,#fff3c4,#ffe08a 60%,#f6c95a)}
.lg-svicka .knot{position:absolute;left:50%;top:-12px;width:3px;height:10px;margin-left:-1.5px;background:#3a2a1a}
.lg-svicka .plamen{position:absolute;left:50%;top:-46px;width:22px;height:34px;margin-left:-11px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff7b0,#ffcc1f 45%,#ff7a1a 80%);box-shadow:0 0 18px 6px rgba(255,170,40,.55);transform-origin:50% 90%;animation:lg-plamen .45s ease-in-out infinite alternate}
@keyframes lg-plamen{to{transform:scale(.92,1.08) rotate(3deg)}}
.lg-svicka.zhasla .plamen{animation:lg-zhasni .5s ease-out forwards}
@keyframes lg-zhasni{to{opacity:0;transform:translateY(-14px) scale(.3)}}
.lg-svicka.zhasla::after{content:'';position:absolute;left:50%;top:-34px;width:10px;height:22px;margin-left:-5px;border-radius:50%;background:rgba(225,225,235,.6);filter:blur(3px);animation:lg-dym 1.2s ease-out forwards}
@keyframes lg-dym{from{opacity:.9}to{opacity:0;transform:translateY(-30px) scale(1.8)}}
.lg-rybnik{position:relative;width:100%;height:120px;border-radius:18px;border:3px solid var(--ink);background:linear-gradient(#7fd3ff,#2f8be0);overflow:hidden}
.lg-lod{position:absolute;bottom:12px;left:calc(8px + (100% - 128px) * var(--x) / 100)}
.lg-lod img{width:64px;height:64px}
.lg-ostrov{position:absolute;right:6px;bottom:6px}
.lg-ostrov img{width:58px;height:58px}
.lg-vitr{position:absolute;left:8px;top:22px;width:70px;height:16px;border-radius:10px;opacity:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 14px,transparent 14px 22px);transition:opacity .2s}
.lg-vitr.fouka{opacity:1;animation:lg-vitr .6s linear infinite}
@keyframes lg-vitr{from{transform:translateX(-20px)}to{transform:translateX(30px)}}
.lg-mereni{width:100%;height:16px;border-radius:999px;border:3px solid var(--ink);background:rgba(6,18,64,.5);overflow:hidden}
.lg-mereni i{display:block;width:calc(var(--u,0) * 100%);height:100%;background:linear-gradient(90deg,#5ee28a,#ffcc1f);transition:width .08s}
.lg-mereni.fouka i{background:linear-gradient(90deg,#ffcc1f,#ff7a1a)}
.lg-fouk-drz{display:grid;place-items:center;align-content:center;gap:4px;width:min(210px,64vw);aspect-ratio:1;border-radius:50%;border:4px solid var(--ink);background:radial-gradient(circle at 35% 30%,#a8e6ff,#4a8fe7);color:#fff;font-weight:900;font-size:16px;box-shadow:0 6px 0 var(--ink);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}
.lg-fouk-drz img,.lg-fouk-drz span{pointer-events:none}
.lg-fouk-drz img{width:56px;height:56px}
.lg-fouk-drz.drzi{transform:scale(.96);background:radial-gradient(circle at 35% 30%,#fff,#7fd3ff)}
.lg-soukromi{font-weight:700;font-size:12.5px;color:var(--mut)}
.lg-repro{display:grid;justify-items:center;gap:6px;padding:16px 26px;border-radius:22px;border:3px solid var(--ink);background:linear-gradient(var(--yel-hi),var(--yel));color:var(--ink);font-family:var(--disp);font-size:20px;box-shadow:inset 0 -6px 0 var(--yel-dk),0 5px 0 var(--ink);cursor:pointer}
.lg-repro img{width:64px;height:64px}
.lg-repro:active{transform:translateY(2px)}
.spell-opts.lg-volby{grid-template-columns:1fr 1fr;padding:0}
.lg-volba{display:grid;justify-items:center;align-content:center;gap:4px;min-height:110px}
.lg-volba img{width:48px;height:48px}
.lg-volba span{font-family:var(--disp);font-weight:400;font-size:26px}
.g-rod-chip.lg-dop{box-shadow:inset 0 0 0 2px var(--yel)}
@media (min-width:860px){
  .s-lg-uloha .lg-telo{width:min(640px,100%);margin-inline:auto}
  .lg-zrcatko{width:180px;height:180px}
}

/* ---------- plocha rodice: stavkujici Pradlena nebo Kuchar = cervena bublinka se jmenem ditete pod ikonou ---------- */
.plocha .pl-apps .app-ic{position:relative}
.app-bub{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;width:max-content;max-width:calc(100% + 12px);pointer-events:none}
.app-bub b{max-width:100%;padding:2px 7px;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;font-weight:800;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 0 0 2px var(--p-bg,#0e1733)}
.plocha .pl-apps.s-bublinou .app-lb{margin-top:5px}
/* dve deti na malych ikonach: mensi bublinky, at je ikona porad poznat */
@media (max-width:699px){ .app-bub.dve{gap:1px} .app-bub.dve b{padding:1px 6px;font-size:10px;line-height:12px} }
/* uzky telefon: datum nahore se vejde i se sipkou, Menu jen jako hamburger */
.tb-plocha .tb-datum i{flex:none}
/* obrazovka nepretece do strany (kuchar vykukuje z kraje, na telefonu by sla plocha posouvat); clip nerusi lepivou listu */
.scr{overflow-x:clip}
@media (max-width:379px){ html.rodic .tb-plocha .tb-menu-txt{display:none} html.rodic .tb-plocha .tb-menu{width:44px;padding:0} }

/* ---------- LifeKit (lifekit.cz): tmavy plochy vzhled pro teenagery ----------
   html.lifekit je vzdy spolu s html.rodic (plochy dospely vzhled). Tady jen paleta z referenci (antracit, mata, modra,
   fialova, levandule, losos, zluta), pismo Unbounded + Inter a vlastni titulka podle navrhu D (lk-*). */
html.lifekit{
  --lk-bg:#121315;--lk-k:#1e2023;--lk-k2:#2a2d31;--lk-cara:#2e3136;--lk-text:#f2f3f5;--lk-text2:#c9ccd2;--lk-mut:#8f949c;
  --lk-mata:#2fd39f;--lk-modra:#3456ff;--lk-fialova:#7b4dff;--lk-levandule:#a587ff;--lk-losos:#ff7c7c;--lk-zluta:#ffc21f;
  --lk-disp:"Unbounded",system-ui,sans-serif;
  /* promenne detskeho vzhledu (moduly bez vlastniho dospeleho stylu) */
  --ink:#121315;--sky1:#121315;--sky2:#121315;--sky3:#121315;--panel:#1e2023;--panel-hi:#1e2023;--panel-dk:#17181b;
  --yel:#2fd39f;--yel-hi:#2fd39f;--yel-dk:#1c9c74;--red:#ff7c7c;--red-hi:#ff7c7c;--red-dk:#c95454;--grn:#2fd39f;--grn-hi:#2fd39f;--grn-dk:#1c9c74;
  --org:#ffc21f;--pink:#ff7c7c;--vio:#7b4dff;--txt:#f2f3f5;--mut:#8f949c;
  --disp:"Inter",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;
  /* promenne plocheho (dospeleho) vzhledu */
  --p-bg:#121315;--p-panel-bg:#17181b;--p-bar:rgba(18,19,21,.9);--p-th:#1e2023;
  --p-surface:#1e2023;--p-surface2:#2a2d31;--p-seg-on:#3a3e44;--p-line:#2e3136;--p-input:#1a1c1f;--p-cell:#2a2d31;
  --p-text:#f2f3f5;--p-muted:#8f949c;--p-accent:#2fd39f;--p-accent-ink:#121315;--p-accent-soft:rgba(47,211,159,.14);
  --p-ok:#2fd39f;--p-ok-soft:rgba(47,211,159,.15);--p-bad:#ff7c7c;--p-bad-soft:rgba(255,124,124,.15);--p-warn:#ffc21f;--p-warn-soft:rgba(255,194,31,.15);
  background:var(--lk-bg);accent-color:var(--lk-mata)}
html.lifekit body{background:var(--lk-bg);color:var(--lk-text);font-family:var(--body)}
html.lifekit .boot-logo{font-family:var(--lk-disp);font-weight:700;font-size:40px;letter-spacing:-1px;animation:none}
html.lifekit .logo-kit{color:var(--lk-mata)}
html.lifekit .tb-logo,html.lifekit .tb-title{font-family:var(--lk-disp);font-weight:700;font-size:17px;letter-spacing:-.3px}
html.lifekit .btn{border-radius:25px;font-family:var(--lk-disp);font-size:15px}
html.lifekit .btn.mala{border-radius:18px;font-size:13px}
html.lifekit .panel{border-radius:22px;border:0;background:var(--lk-k)}
html.lifekit .h2{font-family:var(--lk-disp);font-weight:700;font-size:16px}
html.lifekit .seg button.is-on{background:var(--lk-mata);color:#121315}
html.lifekit .menu-panel{background:var(--lk-bg)}
html.lifekit .menu-head b{font-family:var(--lk-disp);font-weight:700}
.lk-ik{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* stranky LifeKitu: sloupec karet, dole misto pro plovouci menu */
html.lifekit .lk-scr{gap:16px;padding:calc(14px + var(--st)) 18px calc(116px + var(--sb))}
html.lifekit .lk-scr.s-krouzky,html.lifekit .lk-scr.s-den{padding:0 0 calc(116px + var(--sb));gap:0}
.lk-hlava{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}
.lk-logo{font-family:var(--lk-disp);font-weight:700;font-size:21px;letter-spacing:-.5px;color:var(--lk-text);text-decoration:none}
.lk-logo span{color:var(--lk-mata)}
.lk-hlava-pr{display:flex;gap:10px;align-items:center}
.lk-kulate{position:relative;flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:22px;border:1px solid var(--lk-cara);background:var(--lk-k);color:var(--lk-text);text-decoration:none;cursor:pointer}
.lk-tecka{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:4px;background:var(--lk-losos)}
.lk-avatar{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:22px;background:var(--lk-levandule);color:#121315;font-family:var(--lk-disp);font-weight:700;font-size:16px;cursor:pointer}
.lk-hlava-zpet{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}
.lk-hlava-t{text-align:center;font-family:var(--lk-disp);font-weight:700;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-pozdrav h1{margin:4px 0 0;font-family:var(--lk-disp);font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.5px;overflow-wrap:anywhere}
.lk-datum{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--lk-mut);font-size:14px;font-weight:600;cursor:pointer}
.lk-datum::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.lk-nadpis{display:flex;flex-direction:column;gap:6px}
.lk-nadpis h1{margin:0;font-family:var(--lk-disp);font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.5px}
.lk-nadpis p{margin:0;color:var(--lk-mut);font-size:15px;font-weight:600;line-height:1.45}
.lk-zpet{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:4px;border-radius:22px;background:var(--lk-k);color:var(--lk-text)}
.lk-pozn{margin:0;color:var(--lk-mut);font-size:14px;font-weight:600;line-height:1.45}
.lk-pozn.mala{font-size:12.5px}
.lk-pozn a{color:var(--lk-mata)}
.lk-prazdno{margin:0;padding:18px;border-radius:20px;background:var(--lk-k);color:var(--lk-mut);font-weight:600}
.lk-sek-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.lk-sek-h h2{margin:0;font-family:var(--lk-disp);font-size:17px;font-weight:700}
.lk-sek-h a{color:var(--lk-mata);font-size:14px;font-weight:700;text-decoration:none}

/* limit na mobil: maly barevny pruh (mata = plny, fialova = omezeny, modra = ceka na splneni Dne), cislo slovy a nevyrazne */
.lk-limit{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;background:var(--lk-modra);color:#fff}
.lk-limit p{margin:0;font-size:14px;font-weight:600;line-height:1.4;color:rgba(255,255,255,.88)}
.lk-limit b{color:#fff;font-weight:800}
.lk-limit-ik{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:20px;background:rgba(255,255,255,.18);color:#fff}
.lk-limit.plny{background:var(--lk-mata);color:#121315}
.lk-limit.plny p{color:#16392d}
.lk-limit.plny b{color:#121315}
.lk-limit.plny .lk-limit-ik{background:rgba(18,19,21,.12);color:#121315}
.lk-limit.omezeny{background:var(--lk-fialova)}

/* plany */
.lk-plany{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lk-plany.jeden{grid-template-columns:minmax(0,1fr)}
.lk-plan{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px;border-radius:22px;background:var(--lk-k);color:var(--lk-text);text-decoration:none}
.lk-plan small{color:var(--lk-mut);font-size:13px;font-weight:700}
.lk-plan b{font-family:var(--lk-disp);font-size:16px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.lk-plan.zruseno b{color:var(--lk-mut);text-decoration:line-through}

/* karty, tlacitka */
.lk-karta{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:28px;background:var(--lk-k);color:var(--lk-text);text-decoration:none}
.lk-stitek{margin:0;color:var(--lk-mata);font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.lk-ted-t{margin:0;font-family:var(--lk-disp);font-size:27px;font-weight:700;line-height:1.1;letter-spacing:-.6px;overflow-wrap:anywhere}
.lk-ted-pod{margin:-6px 0 0;color:var(--lk-mut);font-weight:600}
.lk-ted.hotovo .lk-ted-t{color:var(--lk-mata)}
.lk-ted-akce{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lk-ted-akce span{color:var(--lk-mut);font-size:14px;font-weight:600}
.lk-quest{margin:0;color:var(--lk-zluta);font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border:0;border-radius:25px;background:var(--lk-mata);color:#121315;font-family:var(--lk-disp);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lk-btn:active{transform:scale(.97)}
.lk-btn:disabled{opacity:.4;cursor:default;transform:none}
.lk-btn.pada{opacity:.55}
.lk-btn.druhe{background:var(--lk-k2);color:var(--lk-text)}
.lk-btn.velke{min-height:56px;padding:0 36px;font-size:16px}
.lk-btn .lk-ik{width:18px;height:18px}

/* seznam (Den, Rano, Vecerka) jako barevna karta: nesplnene nahore, hotove dole a mensi */
.lk-seznam{--lk-pod:var(--lk-modra);display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:28px;background:var(--lk-pod);color:#fff}
.lk-seznam.mata{--lk-pod:var(--lk-mata);color:#121315}
.lk-seznam.fialova{--lk-pod:var(--lk-fialova)}
.lk-seznam-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px}
.lk-seznam-h h2{margin:0;font-family:var(--lk-disp);font-size:22px;font-weight:700}
.lk-seznam-h h2 a{color:inherit;text-decoration:none}
.lk-seznam-h span{font-family:var(--lk-disp);font-size:17px;font-weight:700}
.lk-ukol{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:4px 0;border:0;background:none;color:inherit;font-size:16px;font-weight:800;line-height:1.3;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lk-ukol > i{flex:none;width:26px;height:26px;border:2px solid currentColor;border-radius:13px}
.lk-ukol small{display:block;font-size:12px;font-weight:700;opacity:.8}
.lk-ukol .lk-quest{color:inherit;opacity:.85}
.lk-ukol:disabled{opacity:.55;cursor:default}
.lk-ukol.pada{animation:lk-pryc .43s ease-in forwards}
.lk-ukol.pada > i{background:currentColor}
@keyframes lk-pryc{60%{opacity:1}to{opacity:0;transform:translateX(28px)}}
.lk-seznam-vse{margin:0;font-size:16px;font-weight:800}
.lk-seznam-cara{height:1px;margin:2px 0;background:currentColor;opacity:.25}
.lk-hotovo{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:2px 0;border:0;background:none;color:inherit;font-size:14px;font-weight:600;line-height:1.3;text-align:left;opacity:.75;cursor:pointer}
.lk-hotovo > i{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:currentColor}
.lk-hotovo > i .lk-ik{width:12px;height:12px;stroke:var(--lk-pod);stroke-width:3.2}
.lk-dlazdice-r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lk-dlazdice-r:empty{display:none}
.lk-dlazdice{display:flex;flex-direction:column;gap:4px;min-height:128px;padding:18px;border-radius:28px;text-decoration:none}
.lk-dlazdice:only-child{grid-column:1 / -1}
.lk-dlazdice.mata{background:var(--lk-mata);color:#121315}
.lk-dlazdice.fialova{background:var(--lk-fialova);color:#fff}
.lk-dl-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lk-dl-h b{font-family:var(--lk-disp);font-size:19px;font-weight:700}
.lk-dl-ok{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:14px;background:#121315;color:var(--lk-mata)}
.lk-dlazdice.fialova .lk-dl-ok{background:#fff;color:var(--lk-fialova)}
.lk-dl-ok .lk-ik{width:15px;height:15px;stroke-width:3}
.lk-dl-n{margin-top:auto;font-family:var(--lk-disp);font-size:26px;font-weight:700}
.lk-dlazdice small{font-size:13px;font-weight:700}

/* uceni dnes: karty pres sebe */
.lk-uceni{display:flex;flex-direction:column}
.lk-predmet{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:-24px;padding:16px 18px 38px;border-radius:24px;text-decoration:none;box-shadow:0 -6px 16px rgba(0,0,0,.18)}
.lk-sek-h + .lk-predmet{margin-top:0;box-shadow:none}
.lk-predmet:last-child{padding-bottom:18px}
.lk-predmet b{font-family:var(--lk-disp);font-size:19px;font-weight:700}
.lk-predmet span{font-size:14px;font-weight:800;white-space:nowrap}
.lk-predmet.splneno span::before{content:"✓ "}
.lk-predmet.fialova,.lk-predmet-k.fialova{background:var(--lk-fialova);color:#fff}
.lk-predmet.losos,.lk-predmet-k.losos{background:var(--lk-losos);color:#121315}
.lk-predmet.modra,.lk-predmet-k.modra{background:var(--lk-modra);color:#fff}
.lk-predmet.mata,.lk-predmet-k.mata{background:var(--lk-mata);color:#121315}
.lk-predmet.zluta,.lk-predmet-k.zluta{background:var(--lk-zluta);color:#121315}
.lk-predmet.levandule,.lk-predmet-k.levandule{background:var(--lk-levandule);color:#121315}
.lk-predmet-k{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:24px;text-decoration:none}
.lk-pk-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lk-pk-h b{font-family:var(--lk-disp);font-size:20px;font-weight:700}
.lk-pk-n{font-family:var(--lk-disp);font-size:15px;font-weight:700}
.lk-pk-bar{display:block;height:8px;border-radius:4px;background:rgba(0,0,0,.2);overflow:hidden}
.lk-pk-bar i{display:block;height:100%;border-radius:4px;background:currentColor}
.lk-predmet-k small{font-size:13px;font-weight:700;opacity:.85}
.lk-predmet-k .lk-dl-ok{background:rgba(0,0,0,.2);color:inherit}

/* mentor, domacnost, vzkazy */
.lk-mentor{flex-direction:row;align-items:flex-start;gap:14px;padding:16px;border-radius:22px}
.lk-mentor-av{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:21px;background:var(--lk-levandule);color:#121315;font-family:var(--lk-disp);font-weight:700;font-size:16px}
.lk-mentor-av.darek{background:#2e2a17;color:var(--lk-zluta)}
.lk-mentor-od{margin:0;color:var(--lk-mut);font-size:13px;font-weight:700}
.lk-mentor-t{margin:4px 0 0;font-size:15px;font-weight:600;line-height:1.4}
.lk-radek{flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:20px}
.lk-radek p{margin:0;color:var(--lk-text2);font-size:14px;font-weight:600;line-height:1.4}
.lk-radek b{color:var(--lk-text);font-weight:800}
.lk-radek-ik{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:20px;background:var(--lk-k2);color:var(--lk-mata)}
.av-fig.lk-partak-fig{flex:none;transform:scale(.32);transform-origin:0 0;margin:0 -102px -102px 0}
.lk-partak{overflow:hidden}
.lk-vzkazy .widgets{display:flex;flex-direction:column;gap:10px;padding:0}

/* kdyz je toho moc */
.lk-klid-p{margin:-4px 0 12px;color:var(--lk-mut);font-size:14px;font-weight:600;line-height:1.45}
.lk-klid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lk-klid-t{display:flex;flex-direction:column;gap:6px;min-height:136px;padding:16px;border-radius:24px;background:var(--lk-k);color:var(--lk-text);text-decoration:none}
.lk-klid-t b{margin-top:auto;font-family:var(--lk-disp);font-size:16px;font-weight:700}
.lk-klid-t small{color:var(--lk-mut);font-size:13px;font-weight:600;line-height:1.3}
.lk-klid-t > .lk-ik{width:28px;height:28px}
.lk-klid-t.uzem > .lk-ik{color:var(--lk-zluta)}
.lk-klid-t.krok > .lk-ik{color:var(--lk-mata)}
.lk-klid-t.pomoc > .lk-ik{color:var(--lk-losos)}
.lk-mini-koule{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8ff0cf,var(--lk-mata) 55%,#139a72);animation:lk-mini 8s ease-in-out infinite}
@keyframes lk-mini{0%,100%{transform:scale(.6)}40%{transform:scale(1)}}

/* plovouci menu dole */
.lk-lista{position:fixed;left:0;right:0;bottom:calc(18px + var(--sb));z-index:40;display:flex;justify-content:center;gap:10px;pointer-events:none}
.lk-lista-a{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-width:52px;height:52px;padding:0 15px;border-radius:26px;background:#2a2d31;color:var(--lk-text);font-family:var(--lk-disp);font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.5)}
.lk-lista-a.on{padding:0 22px}
.lk-lista-a.on .lk-ik{color:var(--lk-mata)}

/* dychani: kulicka se nafukuje s nadechem */
.lk-dech-volby{display:flex;flex-direction:column;gap:12px}
html.lifekit .lk-seg{display:flex;width:100%;border-radius:14px}
html.lifekit .lk-seg button{flex:1;min-height:40px;border-radius:11px}
.lk-dech-popis{margin:0;min-height:4.5em;color:var(--lk-text2);font-size:15px;font-weight:500;line-height:1.5}
.lk-dech-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:330px}
.lk-koule{--dech:.4;width:min(60vw,240px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a6f5da 0%,var(--lk-mata) 48%,#128f69 100%);box-shadow:0 0 70px rgba(47,211,159,.3);transform:scale(var(--dech));transition:transform 1s ease-in-out;will-change:transform}
.lk-koule.klid{--dech:.55;width:180px}
.lk-dech-stage.tichy .lk-koule{transform:scale(.75);opacity:calc(.25 + var(--dech) * .75);transition-property:opacity}
.lk-dech-faze{margin:0;min-height:1.3em;font-family:var(--lk-disp);font-size:20px;font-weight:700;text-align:center}
.lk-dech-cas{margin:0;min-height:1.2em;color:var(--lk-mut);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.lk-dech-ovl{display:flex;flex-direction:column;align-items:center;gap:14px}
.lk-dech-ovl .lk-seg{max-width:320px}
.lk-dech-jak{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.lk-dech-odp{max-width:30em;margin:0;color:var(--lk-text2);font-weight:600;line-height:1.45;text-align:center}
.lk-dech-dal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin:0}
.lk-dech-dal a{color:var(--lk-mata);font-weight:700}
@media (prefers-reduced-motion:reduce){ .lk-mini-koule{animation:none} .lk-ukol.pada{animation:none} }

/* uzemneni 5-4-3-2-1 */
.lk-uzem-kroky{display:flex;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}
.lk-uzem-kroky li{width:36px;height:36px;display:grid;place-items:center;border-radius:18px;background:var(--lk-k);color:var(--lk-mut);font-family:var(--lk-disp);font-weight:700;font-size:14px}
.lk-uzem-kroky li.ted{background:var(--lk-mata);color:#121315}
.lk-uzem-kroky li.hotovo{background:#15312a;color:var(--lk-mata)}
.lk-uzem{align-items:center;text-align:center}
.lk-uzem .lk-uzem-n{margin:0;font-family:var(--lk-disp);font-size:64px;font-weight:700;line-height:1;color:var(--lk-mata)}
.lk-uzem h2{margin:0;font-family:var(--lk-disp);font-size:21px;font-weight:700}
.lk-uzem p{margin:0;color:var(--lk-text2);font-weight:500;line-height:1.5}
.lk-uzem-tecky{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:6px 0}
.lk-uzem-tecky button{width:44px;height:44px;border:2px solid #44484f;border-radius:22px;background:transparent;cursor:pointer}
.lk-uzem-tecky button.on{border-color:var(--lk-mata);background:var(--lk-mata)}
.lk-uzem-konec{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:12px;text-align:center}
.lk-uzem-konec h1{margin:0;font-family:var(--lk-disp);font-size:26px;font-weight:700}
.lk-uzem-konec p{margin:0;color:var(--lk-text2);font-weight:500;line-height:1.5}

/* maly krok */
.lk-krok-nahoda{align-self:flex-start}
.lk-krok-sk h2{margin:0 0 10px;font-family:var(--lk-disp);font-size:16px;font-weight:700}
.lk-krok-list{display:flex;flex-wrap:wrap;gap:8px}
.lk-krok{padding:12px 16px;border:1px solid var(--lk-cara);border-radius:18px;background:var(--lk-k);color:var(--lk-text);font-size:14.5px;font-weight:600;line-height:1.3;text-align:left;cursor:pointer}
.lk-krok:active{background:var(--lk-k2)}
.lk-krok-vybrany > p:not(.lk-stitek):not(.lk-ted-t){margin:0;color:var(--lk-text2);font-weight:500;line-height:1.5}

/* pomoc */
.lk-pomoc-k{gap:10px}
.lk-pomoc-k h2{margin:0;font-family:var(--lk-disp);font-size:18px;font-weight:700}
.lk-pomoc-k p{margin:0;color:var(--lk-text2);font-size:15px;font-weight:500;line-height:1.5}
.lk-pomoc-k p b{color:var(--lk-text);font-weight:800}
.lk-pomoc-tel{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.lk-pomoc-k.nouze{background:#3a1d20;box-shadow:inset 0 0 0 1px rgba(255,124,124,.35)}
.lk-pomoc-k.nouze .lk-btn:not(.druhe){background:var(--lk-losos)}

/* den dopredu, vyber dne a moduly v LifeKitu */
html.lifekit .den-menu{background:rgba(0,0,0,.55)}
html.lifekit .den-panel{background:var(--lk-bg);border:1px solid var(--lk-cara);border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
html.lifekit .den-i{border:1px solid var(--lk-cara);background:var(--lk-k)}
html.lifekit .den-i b{font-family:var(--lk-disp);font-weight:700;font-size:15px}
html.lifekit .den-i.vik b{color:var(--lk-mata)}
html.lifekit .den-i.is-on{border-color:var(--lk-mata);background:rgba(47,211,159,.12)}

/* prihlaseni, registrace a zasady na lifekit.cz */
html.lifekit .auth{gap:18px}
html.lifekit .auth-head{justify-items:start;text-align:left;margin-top:28px}
html.lifekit .auth-logo{font-family:var(--lk-disp);font-weight:700;font-size:44px;letter-spacing:-1.5px;transform:none}
html.lifekit .auth-logo a{color:inherit;text-decoration:none}
html.lifekit .auth-sub{max-width:34ch;color:var(--lk-mut);font-weight:600;font-size:15px}
html.lifekit .auth-card,html.lifekit .auth-box{padding:22px 18px;border:0;border-radius:24px;background:var(--lk-k);box-shadow:none}
html.lifekit .auth-h,html.lifekit .zasady h3{font-family:var(--lk-disp);font-weight:700;font-size:19px;letter-spacing:-.2px}
html.lifekit .zasady h3{font-size:16px}
html.lifekit .auth-p{color:var(--lk-text2);font-weight:500}
html.lifekit .auth-err{border:1px solid rgba(255,124,124,.4);background:var(--p-bad-soft);color:#ffd5d5;font-weight:700}
html.lifekit .auth-ok{border:1px solid rgba(47,211,159,.4);background:var(--p-ok-soft);color:#c9f7e7;font-weight:700}
html.lifekit .auth-note{color:var(--lk-mut);font-weight:600}
html.lifekit .auth-note a,html.lifekit .auth-note .lnk{color:var(--lk-mata);font-weight:700}
html.lifekit .auth-kroky li span{border:1px solid var(--lk-cara);background:var(--lk-k)}
html.lifekit .auth-kroky li.ted span,html.lifekit .auth-kroky li.hotovo span{border-color:var(--lk-mata);background:var(--lk-mata);color:#121315}
html.lifekit .auth-jine{border-top:1px solid var(--lk-cara)}
html.lifekit .auth-deti li{background:var(--lk-k2)}

/* uvodni stranka lifekit.cz */
.lk-uvod{max-width:560px;min-height:100dvh;margin:0 auto;padding:calc(14px + var(--st)) 18px calc(28px + var(--sb));display:flex;flex-direction:column;gap:26px}
.lk-uvod .lk-btn.druhe{min-height:44px;padding:0 18px;font-size:14px}
.lk-uvod-hero{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px}
.lk-uvod-hero h1{margin:0;font-family:var(--lk-disp);font-size:clamp(38px,11vw,56px);font-weight:700;line-height:1.02;letter-spacing:-1.5px}
.lk-uvod-hero p{margin:0;max-width:34ch;color:var(--lk-text2);font-size:17px;font-weight:500;line-height:1.5}
.lk-uvod-hero small{color:var(--lk-mut);font-size:13.5px;font-weight:600}
.lk-uvod-karty{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lk-uvod-k{display:flex;flex-direction:column;gap:8px;min-height:170px;padding:18px;border-radius:26px}
.lk-uvod-k h2{margin:auto 0 0;font-family:var(--lk-disp);font-size:19px;font-weight:700}
.lk-uvod-k p{margin:0;font-size:14px;font-weight:600;line-height:1.4}
.lk-uvod-k .lk-ik{width:26px;height:26px}
.lk-uvod-k.modra{background:var(--lk-modra);color:#fff}
.lk-uvod-k.zluta{background:var(--lk-zluta);color:#121315}
.lk-uvod-k.fialova{background:var(--lk-fialova);color:#fff}
.lk-uvod-k.mata{background:var(--lk-mata);color:#121315}
.lk-uvod-pata{margin-top:auto;display:grid;gap:8px;color:var(--lk-mut);font-size:13.5px;font-weight:600;line-height:1.5}
.lk-uvod-pata p{margin:0}
.lk-uvod-pata a{color:var(--lk-mata)}

/* vyukove moduly a horni lista v LifeKitu: detske 3D obrysy splynou s pozadim (--ink je barva pozadi),
   vybrane volby jsou matove s tmavym textem, tlacitka v liste kulata */
html.lifekit .tb{background:rgba(18,19,21,.88);border-bottom:0}
html.lifekit .tb-btn{width:44px;height:44px;border-radius:22px;border:1px solid var(--lk-cara);background:var(--lk-k);color:var(--lk-text)}
html.lifekit .tb-btn .lk-ik{width:20px;height:20px}
html.lifekit .tb-menu{width:44px;padding:0}
html.lifekit .tb-menu-txt{display:none}
html.lifekit .tb-domu .lk-ik{width:24px;height:24px;color:var(--lk-mata)}
html.lifekit .tb-znacka{font-family:var(--lk-disp);font-weight:700;letter-spacing:-.4px}
html.lifekit .mode.is-on{background:var(--lk-mata);color:#121315;box-shadow:none}
html.lifekit .mode.is-on small{color:#1d4437}
html.lifekit .jbtn{border:0;font-family:var(--lk-disp);font-weight:700;font-size:17px;color:#121315}
html.lifekit .jbtn.ne{background:var(--lk-losos);box-shadow:none}
html.lifekit .jbtn.ano{background:var(--lk-mata);box-shadow:none}
html.lifekit .cta{background:linear-gradient(rgba(18,19,21,0),rgba(18,19,21,.92) 35%)}
html.lifekit .en-cast button{font-family:var(--body);font-weight:700;font-size:16px}
html.lifekit .card-face{box-shadow:none}
html.lifekit .prog-bar{background:var(--lk-k2);border:0;box-shadow:none}
html.lifekit .prog-bar i{background:var(--lk-mata)}
/* modre pruhledne plochy detskeho vzhledu v LifeKitu jako antracitove karty */
html.lifekit :is(.lesson-more,.chip,.cast,.tabs,.en-cast button,.mot){background:var(--lk-k2);border-color:transparent}
html.lifekit .opt{background:var(--lk-k);border-color:transparent}
html.lifekit .opt.is-on{background:var(--lk-mata);box-shadow:none}
html.lifekit .opt.is-on small{color:#1d4437}
html.lifekit .opt em{background:var(--lk-k2);color:var(--lk-text)}
html.lifekit .opt.is-on em{background:#121315;color:var(--lk-mata)}
html.lifekit .en-cast button.is-on,html.lifekit .cast.is-on{background:var(--lk-mata);color:#121315;box-shadow:none}
html.lifekit .cast.is-on small{color:#1d4437}
/* jiny den na titulce LifeKitu (vyber dne nahore) */
html.lifekit .lk-scr.s-den > .lk-hlava{padding:calc(14px + var(--st)) 18px 0}
html.lifekit .lk-scr.s-den .home-greet{padding:16px 18px 4px}
html.lifekit .lk-scr.s-den .home-greet b{font-family:var(--lk-disp);font-weight:700;font-size:26px;letter-spacing:-.4px}
html.lifekit .den-obsah{padding:8px 18px 24px}
html.lifekit .den-sez-h b{font-weight:700}

/* titulka LifeKitu: seznam na rade jako velka karta, Ted na rade je jeji vyrazny zacatek */
.lk-hero{--lk-pod:var(--lk-modra);--lk-hb:#fff;--lk-ht:var(--lk-modra);display:flex;flex-direction:column;gap:8px;padding:16px 16px 18px;border-radius:28px;background:var(--lk-pod);color:#fff}
.lk-hero.mata{--lk-pod:var(--lk-mata);--lk-hb:#121315;--lk-ht:var(--lk-mata);color:#121315}
.lk-hero.fialova{--lk-pod:var(--lk-fialova);--lk-ht:var(--lk-fialova)}
.lk-hero-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:2px 4px 0}
.lk-hero-h a{color:inherit;font-family:var(--lk-disp);font-weight:700;font-size:18px;text-decoration:none}
.lk-hero-h span{font-family:var(--lk-disp);font-weight:700;font-size:15px;opacity:.85}
.lk-hero-ted{display:flex;flex-direction:column;gap:12px;margin:2px 0 6px;padding:18px;border-radius:22px;background:rgba(255,255,255,.16)}
.lk-hero.mata .lk-hero-ted{background:rgba(18,19,21,.09)}
.lk-hero-stitek{margin:0;font-size:12.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.9}
.lk-hero-ted .lk-quest{color:inherit;opacity:.85}
.lk-hero-t{margin:0;font-family:var(--lk-disp);font-size:27px;font-weight:700;line-height:1.1;letter-spacing:-.6px;overflow-wrap:anywhere}
.lk-hero-akce{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lk-hero-akce span{font-size:14px;font-weight:600;opacity:.88}
.lk-btn.hero{background:var(--lk-hb);color:var(--lk-ht)}
.lk-hero-ted:has(.pada) .lk-hero-t{animation:lk-pryc .43s ease-in forwards}
.lk-hero .lk-ukol{min-height:36px;padding:2px 4px;font-size:15px;font-weight:700}
.lk-hero .lk-ukol > i{width:22px;height:22px;border-radius:11px}
.lk-hero .lk-seznam-cara{margin:2px 4px}
.lk-hero .lk-hotovo{padding:2px 4px;font-size:13px}
.lk-hero .lk-hotovo > i{width:18px;height:18px}
.lk-hero .lk-hotovo > i .lk-ik{width:11px;height:11px}
.lk-dlazdice.modra{background:var(--lk-modra);color:#fff}
.lk-dlazdice.modra .lk-dl-ok{background:#fff;color:var(--lk-modra)}

/* oslava splneneho Dne: velky obrazek, konfety se rozleti z trubky */
.lk-oslava{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 18px 20px;border-radius:28px;background:radial-gradient(130% 90% at 50% 0%,#21a67a 0%,#198f6a 65%);color:#fff;text-align:center;overflow:hidden}
.lk-oslava.rano{background:radial-gradient(130% 90% at 50% 0%,#ffd45c 0%,#ffc21f 65%);color:#121315}
.lk-oslava.vecerka{background:radial-gradient(130% 90% at 50% 0%,#3d37a8 0%,#2f2a8c 65%)}
.lk-oslava.uceni{background:radial-gradient(130% 90% at 50% 0%,#4f6dff 0%,#3456ff 65%)}
.lk-oslava-obr{display:block;width:100%;max-width:420px;height:auto;margin:0 -6px}
.lk-oslava h2{margin:2px 0 0;font-family:var(--lk-disp);font-size:30px;font-weight:700;letter-spacing:-.6px}
.lk-oslava p{margin:0;max-width:30em;font-size:15px;font-weight:600;line-height:1.45;color:rgba(255,255,255,.88)}
.lk-oslava.rano p{color:rgba(18,19,21,.8)}
.lk-oslava-odkaz{margin-top:6px;color:inherit;font-size:14px;font-weight:700}
.lk-oslava > .lk-sbalit{position:absolute;top:14px;right:14px;margin:0;z-index:1}
.lk-oslava.rano > .lk-sbalit{background:rgba(18,19,21,.1)}
/* ilustrace oslav: konfety, stuhy a jiskry spolecne, pak kazdy obrazek zvlast */
.lk-oslava .kf,.lk-oslava .ks{transform-box:fill-box;transform-origin:center}
.lk-oslava.hraje .kf{animation:lk-konfeta .95s cubic-bezier(.18,.9,.32,1.18) both;animation-delay:var(--d,0s)}
.lk-oslava .ks{animation:lk-jiskra 2.4s ease-in-out infinite;animation-delay:var(--d,0s)}
.o-paprsky,.o-kruh{transform-box:view-box;transform-origin:180px 92px;animation:lk-tocit 40s linear infinite}
.o-kruh{animation-duration:24s}
.lk-oslava.hraje .o-pohar{transform-box:fill-box;transform-origin:50% 100%;animation:lk-skok .7s cubic-bezier(.2,.9,.3,1.25) both}
.lk-oslava.hraje .o-odznak{transform-box:fill-box;transform-origin:50% 40%;animation:lk-odznak .8s cubic-bezier(.2,.9,.3,1.3) both}
.lk-oslava.hraje .o-fajfka{stroke-dasharray:1;stroke-dashoffset:1;animation:lk-stuha .5s ease-out .45s forwards}
.lk-oslava.hraje .o-paprsek{transform-box:view-box;transform-origin:180px 92px;animation:lk-paprsek .7s ease-out .3s both}
.o-v{transform-box:fill-box;transform-origin:center}
.o-stopa{opacity:0}
.lk-oslava.hraje .o-v{animation:lk-boom .8s ease-out both}
.lk-oslava.hraje .o-stopa{stroke-dasharray:1;animation:lk-let 1s ease-out both}
.lk-oslava.hraje .o-v2,.lk-oslava.hraje .o-s2{animation-delay:.45s}
.lk-oslava.hraje .o-v3,.lk-oslava.hraje .o-s3{animation-delay:.9s}
.o-zare{transform-box:fill-box;transform-origin:center;animation:lk-zare 3s ease-in-out infinite}
.o-vlajka{transform-box:fill-box;transform-origin:0 50%;animation:lk-vlaje 1.3s ease-in-out infinite}
.o-stezka{animation:lk-pochod 2.4s linear infinite}
.o-mrak{animation:lk-plyne 9s ease-in-out infinite alternate}
.o-mrak.m2{animation-duration:11s}
.o-let{animation:lk-bob 2.6s ease-in-out infinite}
.o-planeta{animation:lk-bob 5s ease-in-out infinite}
.o-plamen{transform-box:fill-box;transform-origin:50% 0;animation:lk-plamen .22s ease-in-out infinite alternate}
.o-dym{transform-box:fill-box;transform-origin:center;animation:lk-dym 2.6s ease-in-out infinite;animation-delay:var(--d,0s)}
.o-rychlost{opacity:.4;animation:lk-rychlost 1.4s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes lk-konfeta{0%{transform:translate(var(--x),var(--y)) scale(.2);opacity:0}18%{opacity:1}100%{transform:none;opacity:1}}
@keyframes lk-stuha{to{stroke-dashoffset:0}}
@keyframes lk-jiskra{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.55);opacity:.55}}
@keyframes lk-tocit{to{transform:rotate(360deg)}}
@keyframes lk-skok{0%{transform:translateY(24px) scale(.5);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:none;opacity:1}}
@keyframes lk-odznak{0%{transform:scale(.3) rotate(-30deg);opacity:0}65%{transform:scale(1.08) rotate(5deg);opacity:1}100%{transform:none;opacity:1}}
@keyframes lk-paprsek{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:none;opacity:1}}
@keyframes lk-boom{0%{transform:scale(.1);opacity:0}30%{opacity:1}100%{transform:none;opacity:1}}
@keyframes lk-let{0%{stroke-dashoffset:1;opacity:.6}45%{stroke-dashoffset:0;opacity:.6}100%{stroke-dashoffset:0;opacity:0}}
@keyframes lk-zare{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@keyframes lk-vlaje{0%,100%{transform:scaleX(1) skewY(0)}50%{transform:scaleX(.86) skewY(5deg)}}
@keyframes lk-pochod{to{stroke-dashoffset:-48}}
@keyframes lk-plyne{to{transform:translateX(18px)}}
@keyframes lk-bob{0%,100%{transform:translate(0,0)}50%{transform:translate(5px,-7px)}}
@keyframes lk-plamen{to{transform:scaleY(.72)}}
@keyframes lk-dym{0%,100%{transform:scale(.88)}50%{transform:scale(1.08)}}
@keyframes lk-rychlost{0%,100%{opacity:.15}50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){ .lk-oslava *,.lk-hero-ted .lk-hero-t{animation:none!important;stroke-dasharray:none!important} }
/* seznam se zdola plni barvou splneni podle poctu hotovych ukolu: Den do zelena, Rano do zluta, Vecerka do nocni modre.
   Pas prechodu (36 % vysky) zacina pod spodnim okrajem (nic hotoveho = cista zakladni barva) a s posledni fajfkou dojede nahoru. */
@property --lk-p{syntax:'<number>';inherits:false;initial-value:0}
.lk-plni{--lk-od:var(--lk-modra);--lk-do:#198f6a;transition:--lk-p .9s cubic-bezier(.3,.7,.3,1)}
.lk-plni.mata{--lk-od:var(--lk-mata);--lk-do:#ffc21f}
.lk-plni.fialova{--lk-od:var(--lk-fialova);--lk-do:#2f2a8c}
.lk-plni.modra,.lk-plni.mata,.lk-plni.fialova{
  background:linear-gradient(180deg,var(--lk-od) calc((1 - var(--lk-p) * 1.36) * 100%),var(--lk-do) calc(1.36 * (1 - var(--lk-p)) * 100%));
  background:linear-gradient(in oklab 180deg,var(--lk-od) calc((1 - var(--lk-p) * 1.36) * 100%),var(--lk-do) calc(1.36 * (1 - var(--lk-p)) * 100%))}
.lk-plni .lk-hotovo{opacity:.85}
/* sbalovani a rozbalovani seznamu na titulce */
.lk-hero-h,.lk-seznam-h{align-items:center}
.lk-hero-h a,.lk-seznam-h h2{margin-right:auto}
.lk-sbalit{flex:none;width:34px;height:34px;display:grid;place-items:center;margin:-6px -6px -6px 2px;padding:0;border:0;border-radius:17px;background:rgba(255,255,255,.16);color:inherit;cursor:pointer}
.lk-plni.mata .lk-sbalit{background:rgba(18,19,21,.1)}
.lk-sbalit .lk-ik{width:18px;height:18px}
button.lk-dlazdice{width:100%;border:0;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
button.lk-dlazdice:active{transform:scale(.98)}
/* hrava hranice plneni: kolem pasu prechodu obcas jemne proplouvaji bubliny barvy splneni (a zakladni barvy pod nim),
   jsou za obsahem karty; pri 0 % i 100 % jsou mimo kartu, takze cista barva zustane cista */
.lk-plni{position:relative;isolation:isolate;overflow:hidden;--lk-c:calc((1.18 - var(--lk-p) * 1.36) * 100%);--lk-h1:rgba(25,143,106,.95);--lk-h2:rgba(76,214,168,.5)}
.lk-plni.mata{--lk-h1:rgba(255,194,31,.95);--lk-h2:rgba(255,236,160,.65)}
.lk-plni.fialova{--lk-h1:rgba(47,42,140,.95);--lk-h2:rgba(120,110,240,.5)}
.lk-plni::before,.lk-plni::after{content:"";position:absolute;top:0;bottom:0;left:-30%;right:-30%;z-index:-1;pointer-events:none}
.lk-plni::before{background:radial-gradient(7% 9% at 28% calc(var(--lk-c) - 4%),var(--lk-h1) 0%,var(--lk-h1) 38%,transparent 70%),radial-gradient(4.5% 6% at 60% calc(var(--lk-c) - 10%),var(--lk-h1) 0%,var(--lk-h1) 35%,transparent 70%),radial-gradient(18% 5% at 46% var(--lk-c),var(--lk-h2) 0%,transparent 72%);animation:lk-bubliny1 11s ease-in-out infinite}
.lk-plni::after{background:radial-gradient(6% 8% at 70% calc(var(--lk-c) - 3%),var(--lk-h1) 0%,var(--lk-h1) 38%,transparent 70%),radial-gradient(3.5% 4.5% at 40% calc(var(--lk-c) - 14%),var(--lk-h1) 0%,var(--lk-h1) 35%,transparent 70%),radial-gradient(14% 4% at 24% calc(var(--lk-c) + 1%),var(--lk-h2) 0%,transparent 72%);animation:lk-bubliny2 15s ease-in-out infinite}
@keyframes lk-bubliny1{0%,100%{transform:translate(-4%,3%);opacity:0}20%{opacity:.9}55%{transform:translate(4%,-6%);opacity:.55}75%{transform:translate(5%,-8%);opacity:0}}
@keyframes lk-bubliny2{0%,100%{transform:translate(5%,2%);opacity:0}30%{opacity:.85}62%{transform:translate(-4%,-7%);opacity:.5}85%{transform:translate(-5%,-9%);opacity:0}}
@media (prefers-reduced-motion:reduce){ .lk-plni::before,.lk-plni::after{display:none} }
