/* ============================================================
   PROGRESNÍK v4 — „Deník, který Tě vede."
   Zjednodušená verze: Dnes · Sešit · Vize · Kniha
   ============================================================ */
:root{
  --paper:#F4B06A; --paper-light:#F8F1E4; --sheet:#FFFDF7;
  --ink:#211C16; --ink-soft:#5A5047; --faded:#9C8D7E;
  --accent:#E8833A; --ok:#3E7C4F; --line:#E4D6C2;
  --shadow:0 1px 2px rgba(33,28,22,.08),0 10px 26px rgba(33,28,22,.13);
  --shadow-sm:0 1px 2px rgba(33,28,22,.07),0 4px 12px rgba(33,28,22,.08);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;color:var(--ink);background:var(--paper-light);font-size:16px;line-height:1.55;min-height:100dvh;-webkit-font-smoothing:antialiased;user-select:none;overscroll-behavior-y:none}
input,textarea{user-select:text;-webkit-user-select:text;font-family:inherit;color:var(--ink)}
textarea{resize:none}
.hand{font-family:inherit;font-weight:600}
#app{max-width:520px;margin:0 auto;min-height:100dvh}
.screen{padding:18px 18px calc(96px + var(--safe-b));animation:in .3s cubic-bezier(.22,.9,.3,1)}
.screen.full{padding-bottom:40px}
@keyframes in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* štítky, nadpisy */
.stitek{display:inline-block;background:var(--ink);color:#fff;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;padding:5px 11px;margin-bottom:10px}
.stitek.orange{background:var(--accent)}
.stitek.ok{background:var(--ok)}
h1.big{font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;margin-bottom:6px}
h2.sec{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--faded);margin:22px 0 10px}
.sub{font-size:14.5px;color:var(--ink-soft)}
.sec-gap{height:14px}
.lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);display:block;margin-bottom:6px}
.muted{color:var(--faded);font-size:12.5px;font-weight:700}

/* hlavička Dnes */
.head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.head .av{width:54px;height:54px;flex:none;cursor:pointer}
.head .av svg{width:54px;height:54px;display:block}
.head .hi{font-weight:800;font-size:21px;line-height:1.1}
.head .date{font-size:13px;color:var(--ink-soft);font-weight:700;margin-top:2px}
.pill{display:inline-flex;align-items:center;gap:5px;background:var(--sheet);border:1.5px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;color:var(--ink-soft)}
.pill.hot{border-color:var(--accent);color:var(--accent)}

/* list papíru / karta */
.sheet{background:var(--sheet);border-radius:14px;padding:18px;box-shadow:var(--shadow-sm);margin-bottom:14px;position:relative}
.sheet.tap{cursor:pointer;transition:transform .12s}
.sheet.tap:active{transform:scale(.985)}
.sheet.ink{background:var(--ink);color:#fff}
.sheet.ink .muted{color:rgba(255,255,255,.6)}
.sheet.ghost{background:transparent;border:2px dashed var(--line);box-shadow:none;color:var(--faded)}
.sheet.tilt-l{transform:rotate(-.25deg)} .sheet.tilt-r{transform:rotate(.2deg)}
.card-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.card-h .ic{color:var(--accent);display:flex}
.card-h .t{font-weight:800;font-size:17px;flex:1;line-height:1.2}
.card-h .r{font-size:12px;font-weight:800;color:var(--faded)}
.stag>*{animation:in .35s both}
.stag>*:nth-child(2){animation-delay:.05s}.stag>*:nth-child(3){animation-delay:.1s}.stag>*:nth-child(4){animation-delay:.15s}.stag>*:nth-child(5){animation-delay:.2s}

/* tlačítka */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-family:inherit;font-size:16px;font-weight:800;color:#fff;background:var(--ink);border:none;border-radius:999px;padding:14px 22px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s}
.btn:active{transform:scale(.97)}
.btn.ghost{background:var(--sheet);color:var(--ink);border:2px solid var(--ink);box-shadow:none}
.btn.orange{background:var(--accent)}
.btn.ok{background:var(--ok)}
.btn.small{width:auto;padding:9px 16px;font-size:14px}
.btn.soft{background:var(--paper-light);color:var(--ink);box-shadow:none}
.btn[disabled]{opacity:.4;pointer-events:none}
.backbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-family:inherit;font-weight:800;font-size:14px;color:var(--ink-soft);cursor:pointer;padding:4px 0}
.row{display:flex;gap:8px;align-items:center}

/* textové pole deníku */
.ta{width:100%;min-height:76px;font-family:inherit;font-weight:600;font-size:17px;background:transparent;border:none;border-bottom:2px dashed var(--line);outline:none;line-height:1.4;padding:4px 0}
.ta::placeholder{color:var(--faded)}
.ta.letter{min-height:150px;border-bottom:none}
.in{width:100%;font-family:inherit;font-size:16px;font-weight:600;background:var(--sheet);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none}
.in:focus{border-color:var(--ink)}
.micb{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-weight:800;background:var(--sheet);color:var(--ink-soft);border:1.5px solid var(--line);border-radius:100px;padding:8px 14px;font-size:12.5px;cursor:pointer;margin-top:8px;box-shadow:0 1px 6px rgba(33,28,22,.05);transition:all .18s}
.micb:active{transform:scale(.95)}
.micb.rec{background:var(--accent);color:#fff;border-color:var(--accent);animation:recp 1.2s infinite}
.micb.busy{opacity:.7;background:var(--paper-light)}
@keyframes recp{0%,100%{box-shadow:0 0 0 0 rgba(232,131,58,.4)}50%{box-shadow:0 0 0 9px rgba(232,131,58,0)}}

/* checkbox ručně */
.chk{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);cursor:pointer}
.chk:last-child{border-bottom:none}
.chk .box{width:26px;height:26px;border:2.5px solid var(--ink);border-radius:4px;flex:none;display:flex;align-items:center;justify-content:center;transform:rotate(-1deg);background:var(--sheet)}
.chk .box span{font-family:inherit;font-weight:800;font-size:17px;line-height:1;color:var(--accent)}
.chk .txt{font-size:15.5px;font-weight:600;padding-top:2px;flex:1}
.chk.done .txt{color:var(--faded);text-decoration:line-through}
.prio-cols{columns:2;column-gap:18px}
.prio-cols .chk{break-inside:avoid;padding:6px 0}
.prio-cols .chk .box{width:19px;height:19px;border-width:2px}
.prio-cols .chk .txt{font-size:13.5px}

/* chips */
.exch{font-family:inherit;font-size:13.5px;font-weight:700;padding:8px 14px;border-radius:999px;border:2px solid var(--ink);background:var(--sheet);color:var(--ink);cursor:pointer}
.exch.on{background:var(--ink);color:#fff}
.exch.sm{font-size:12px;padding:5px 11px;border-width:1.5px}
.chips{display:flex;gap:7px;flex-wrap:wrap}

/* obsah sešitu — řádky listů */
.toc-wk{margin-top:18px}
.toc-wk .wkh{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 4px 6px}
.toc-wk .wkh .n{background:var(--ink);color:#fff;border-radius:6px;padding:2px 8px;font-size:11px}
.toc-wk .wkh.done .n{background:var(--ok)}
.toc-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--sheet);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:8px;cursor:pointer}
.toc-row:active{transform:scale(.985)}
.toc-num{width:32px;height:32px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.toc-row.done .toc-num{background:var(--ok);border-color:var(--ok);color:#fff}
.toc-row.cur .toc-num{background:var(--accent);border-color:var(--accent);color:#fff}
.toc-t{font-weight:800;font-size:15px;line-height:1.2}
.toc-d{font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.toc-row.done .toc-t{color:var(--ink-soft)}
.toc-r{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--faded)}

/* bloky v listech */
.story-sh p{font-size:16.5px;line-height:1.6;margin-bottom:12px;color:var(--ink)}
.story-sh p.story-first::first-letter{font-size:40px;font-weight:800;color:var(--accent);float:left;line-height:.9;margin:4px 6px 0 0}
.letter-paper{}
.letter-paper textarea{background:none !important}
.tfb{width:34px;height:30px;border-radius:8px;border:2px solid var(--line);background:var(--sheet);font-weight:800;font-size:12px;color:var(--faded);cursor:pointer;flex:none}
.tfb.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tri-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.tri-it{text-align:center}
.tri-l{font-size:11px;font-weight:800;color:var(--ink-soft);margin-top:2px}
.pil-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.pil{text-align:center;touch-action:none;cursor:ns-resize}
.pil-val{font-size:11.5px;font-weight:800;color:var(--ink-soft);text-align:center;margin-bottom:2px;min-height:14px}
.pil-l{display:flex;justify-content:center;margin-top:4px}
.pil-n{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--faded);margin-top:1px}
.kon{border-bottom:1.5px dashed var(--line);padding:4px 0}
.kon:last-child{border-bottom:none}
.kon summary{display:flex;align-items:center;gap:9px;padding:9px 0;cursor:pointer;list-style:none}
.kon summary::-webkit-details-marker{display:none}
.exrev{cursor:pointer;border:2px dashed var(--accent)}
.exrev .exrev-a{display:none;font-size:14px;color:var(--ink-soft);margin-top:8px}
.exrev.open .exrev-a{display:block}
.exrev.open{border-style:solid}
.sph-bar{height:7px;background:var(--paper-light);border-radius:4px;overflow:hidden}
.sph-bar i{display:block;height:100%;border-radius:4px}
.play-big{width:48px;height:48px;border-radius:50%;background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.addrow{display:flex;gap:8px;margin-top:10px;align-items:center}
.addrow input{flex:1;min-width:0;font-family:inherit;font-size:14px;font-weight:600;background:var(--sheet);border:1.5px solid var(--line);border-radius:100px;padding:10px 16px;outline:none}
.addrow button{width:42px;height:42px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:20px;font-weight:800;cursor:pointer;flex:none;box-shadow:0 3px 10px rgba(232,131,58,.3)}
.ov-it{font-size:12.5px;font-weight:600;padding:5px 0;border-bottom:1px dashed var(--line);display:flex;align-items:center;gap:6px}
.pl-mv{border:none;background:var(--paper-light);color:var(--ink-soft);width:28px;height:28px;border-radius:8px;font-size:14px;font-weight:800;cursor:pointer;flex:none}
.wz-top{display:flex;align-items:center;gap:10px;margin:4px 0 10px}
.wz-arrow{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--sheet);font-size:20px;font-weight:800;color:var(--ink);cursor:pointer;flex:none}
.wz-dots{flex:1;text-align:center}
.wz-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block;margin:0 3px;transition:all .3s}
.wz-dots i.on{background:var(--accent);width:22px;border-radius:5px}

/* vize */
.vz-it{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--line)}
.vz-it:last-child{border-bottom:none}
.vz-num{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none;margin-top:2px}
.vz-num.ok{background:var(--ok)} .vz-num.mid{background:var(--accent)} .vz-num.no{background:var(--faded)}
.vz-t{font-weight:700;font-size:17px;line-height:1.3}
.vz-step{font-size:12.5px;color:var(--ink-soft);font-weight:700;margin-top:3px}
.vz-step b{color:var(--accent)}
.stbtn{flex:1;font-family:inherit;font-weight:800;font-size:13px;padding:11px 6px;border-radius:12px;border:2px solid var(--line);background:var(--sheet);color:var(--ink-soft);cursor:pointer}
.stbtn.on.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.stbtn.on.mid{background:var(--accent);border-color:var(--accent);color:#fff}
.stbtn.on.no{background:var(--faded);border-color:var(--faded);color:#fff}
.evid{background:var(--paper-light);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink-soft);margin-top:10px}
.evid b{color:var(--ink)}

/* kniha */
.wk-card{display:flex;gap:12px;align-items:flex-start}
.wk-card img{width:84px;height:84px;object-fit:cover;border-radius:8px;flex:none;transform:rotate(-2deg);box-shadow:var(--shadow-sm)}
.entry{padding:10px 0;border-bottom:1px dashed var(--line)}
.entry:last-child{border-bottom:none}
.entry .d{font-size:11px;font-weight:800;color:var(--faded);text-transform:uppercase;letter-spacing:.06em}
.entry .x{font-size:15.5px;font-weight:600;line-height:1.45;white-space:pre-wrap}
.recall{border-left:4px solid var(--accent);background:#FFF4E8;border-radius:0 12px 12px 0}

/* avatar */
.pav{animation:pbob 3.2s ease-in-out infinite}
@keyframes pbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.wav-arm{transform-box:fill-box;transform-origin:12% 96%;animation:armwave 1.4s ease-in-out}
@keyframes armwave{0%,100%{transform:rotate(0)}15%{transform:rotate(-26deg)}35%{transform:rotate(12deg)}55%{transform:rotate(-22deg)}75%{transform:rotate(8deg)}}
.av-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.av-grid .avc{border-radius:50%;padding:3px;border:3px solid transparent;cursor:pointer}
.av-grid .avc.on{border-color:var(--accent)}
.av-grid .avc svg{width:100%;height:auto;display:block}
.av-grid.av5{grid-template-columns:repeat(5,1fr);gap:8px}

/* tab bar */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--safe-b));width:calc(100% - 28px);max-width:492px;background:var(--sheet);border-radius:22px;box-shadow:var(--shadow);display:flex;padding:4px;z-index:50}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 7px;border:none;background:none;font-family:inherit;color:var(--faded);cursor:pointer;border-radius:18px}
.tab .tl{font-size:10px;font-weight:800;letter-spacing:.02em}
.tab.active{color:var(--ink);background:var(--paper-light)}

/* toast */
.toast{position:fixed;left:50%;transform:translateX(-50%) translateY(-14px);top:calc(12px + env(safe-area-inset-top,0px));background:var(--ink);color:#fff;font-size:14px;font-weight:700;padding:11px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:all .25s;z-index:100;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* onboarding */
.ob-hero{text-align:center;padding:30px 0 10px}
.ob-hero .logo{font-weight:800;font-size:30px;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
.ob-hero .logo .mark{flex:none;width:40px;height:40px}
.ob-hero .logo b{font-weight:800}
.ob-hero .logo span{color:var(--accent)}
.seg{display:flex;background:var(--paper-light);border-radius:999px;padding:3px}
.seg button{flex:1;border:none;background:none;font-family:inherit;font-weight:800;font-size:14px;padding:10px;border-radius:999px;color:var(--faded);cursor:pointer}
.seg button.on{background:var(--ink);color:#fff}
.dots-prog{display:flex;gap:5px}
.dots-prog i{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}
.dots-prog i.on{background:var(--ok)} .dots-prog i.cur{background:var(--accent)}
.big-num{font-weight:800;font-size:40px;line-height:1}
@media (max-width:360px){.screen{padding-left:14px;padding-right:14px}}

/* vstupní animace — šipka malovaná štětcem, Progresník se vynoří */
#splash{position:fixed;inset:0;z-index:200;background:radial-gradient(120% 90% at 50% 40%,#F6CC98 0%,#F0B97C 70%,#E9AD6E 100%);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,transform .5s ease}
#splash::before{content:"";position:absolute;inset:0;opacity:.28;mix-blend-mode:multiply;background-image:radial-gradient(rgba(120,60,20,.18) 1px,transparent 1.4px),radial-gradient(rgba(255,255,255,.5) 1px,transparent 1.6px);background-size:9px 9px,13px 13px;background-position:0 0,4px 6px}
#splash.off{opacity:0;transform:scale(1.04);pointer-events:none}
#splash.gone{display:none}
.sp-wrap{position:relative;width:min(80vw,350px);aspect-ratio:1;animation:spin 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes spin{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}
.sp-arrow{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sp-mask{stroke:#fff;stroke-width:46;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:760;stroke-dashoffset:760;animation:spdraw 1.25s cubic-bezier(.55,0,.25,1) .3s forwards}
.sp-maskhead{stroke:#fff;stroke-width:46;stroke-linecap:round;fill:none;stroke-dasharray:130;stroke-dashoffset:130;animation:spdraw .32s ease-out 1.45s forwards}
@keyframes spdraw{to{stroke-dashoffset:0}}
.sp-word{position:absolute;left:0;right:0;top:50%;transform:translateY(-58%);text-align:center;font-weight:800;font-size:clamp(34px,11vw,52px);letter-spacing:-.015em;color:#211C16;white-space:nowrap}
.sp-word span{display:inline-block;opacity:0;filter:blur(6px);transform:translateY(10px) scale(1.06);animation:spletter .38s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes spletter{to{opacity:1;filter:blur(0);transform:none}}
@media (prefers-reduced-motion:reduce){.sp-mask,.sp-maskhead{animation-duration:.01s;animation-delay:0s}.sp-word span{animation-duration:.01s}.sp-wrap{animation:none}}

/* instalační nápověda (iOS) */
.inst-ov{position:fixed;inset:0;background:rgba(33,28,22,.55);z-index:150;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:calc(24px + var(--safe-b))}
.inst-box{background:var(--sheet);border-radius:16px;padding:18px 20px;max-width:480px;width:100%;box-shadow:var(--shadow);animation:in .3s both}

/* polička knih */
.shelf{margin:14px 0 18px;padding:0 6px}
.books{display:flex;align-items:flex-end;gap:10px;padding:0 10px;min-height:150px}
.book{width:58px;height:132px;cursor:pointer;transition:transform .2s;position:relative}
.book .spine{position:absolute;inset:0;background:var(--bc,#2E5E8C);border-radius:4px 4px 2px 2px;box-shadow:inset 6px 0 0 rgba(255,255,255,.18),inset -4px 0 0 rgba(0,0,0,.18),0 6px 10px rgba(33,28,22,.18);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px 4px;color:#fff}
.book .yr{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:800;font-size:17px;letter-spacing:.06em}
.book .ttl{font-size:9px;font-weight:700;opacity:.85;text-align:center;line-height:1.1}
.book.cur{height:146px;width:64px}
.book.cur .spine{box-shadow:inset 6px 0 0 rgba(255,255,255,.18),inset -4px 0 0 rgba(0,0,0,.18),0 6px 10px rgba(33,28,22,.18),0 0 0 3px #F4B06A}
.book:active{transform:translateY(-6px)}
.book.ghost .spine{background:transparent;border:2px dashed var(--line);color:var(--faded);box-shadow:none}
.plank{height:12px;background:linear-gradient(#C9A273,#A97E4F);border-radius:3px;box-shadow:0 8px 14px rgba(33,28,22,.22)}
.zoomin{animation:zoomin .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes zoomin{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}

/* otevření knihy */
.bk-ov{position:fixed;inset:0;z-index:120;perspective:1100px;background:rgba(248,241,228,0);transition:background .5s,opacity .3s;pointer-events:none}
.bk-ov.dim{background:rgba(248,241,228,.92)}
.bk-ov.out{opacity:0}
.bk3d{position:absolute;transform-style:preserve-3d;transition:left .6s cubic-bezier(.2,.8,.2,1),top .6s cubic-bezier(.2,.8,.2,1),width .6s cubic-bezier(.2,.8,.2,1),height .6s cubic-bezier(.2,.8,.2,1)}
.bk-body{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(90deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.bk3d.lift{left:calc(50% - 85px) !important;top:calc(50% - 125px) !important;width:170px !important;height:250px !important}
.bk3d.lift .bk-body{transform:rotateY(0deg)}
.bk-spine{position:absolute;left:0;top:0;width:34px;height:100%;transform:rotateY(-90deg) translateZ(0);transform-origin:left center;border-radius:4px 0 0 4px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;box-shadow:inset 6px 0 0 rgba(255,255,255,.18)}
.bk-spine span{writing-mode:vertical-rl;transform:rotate(180deg)}
.bk-cover{position:absolute;inset:0;border-radius:4px 10px 10px 4px;transform-origin:left center;transform:rotateY(0deg);transition:transform .55s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;box-shadow:inset 10px 0 0 rgba(255,255,255,.14),0 14px 30px rgba(33,28,22,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.bk-ct{font-weight:800;font-size:44px;letter-spacing:.02em}
.bk-cs{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-top:6px}
.bk-pages{position:absolute;inset:0;border-radius:4px 10px 10px 4px;background:#FFFDF7;box-shadow:inset -8px 0 0 #EFE7D6,0 10px 24px rgba(33,28,22,.2);overflow:hidden;transform:translateZ(-1px)}
.bk-page{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px}
.bk-ph{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--faded)}
.bk-pt{font-weight:800;font-size:22px;margin-top:6px}
.bk-pm{color:var(--ink-soft);font-size:13px;font-weight:700;margin-top:4px}
.bk3d.open .bk-cover{transform:rotateY(-160deg)}
.bk3d.grow{transition:left .45s cubic-bezier(.4,0,.2,1),top .45s cubic-bezier(.4,0,.2,1),width .45s cubic-bezier(.4,0,.2,1),height .45s cubic-bezier(.4,0,.2,1);left:0 !important;top:0 !important;width:100% !important;height:100% !important}
.bk3d.grow .bk-pages{border-radius:0;transition:border-radius .4s}
.bk3d.grow .bk-cover{opacity:0;transition:opacity .25s}

/* video v appce, myšlenky, kvíz */
.yt-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.yt-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.idea{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.idea:last-child{border-bottom:none}
.idea-n{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none;margin-top:2px}
.idea-t{font-weight:800;font-size:15.5px}
.idea-d{font-size:14px;color:var(--ink-soft);margin-top:2px;line-height:1.5}
.qopt{display:block;width:100%;text-align:left;font-family:inherit;font-size:14.5px;font-weight:600;padding:10px 12px;margin:6px 0;border-radius:10px;border:2px solid var(--line);background:var(--sheet);color:var(--ink);cursor:pointer}
.qopt.good{border-color:var(--ok);background:#EAF3EC}
.qopt.bad{border-color:var(--accent);background:#FFF4E8}
.qopt[disabled]{cursor:default}

/* nádrž, teploměr, počasí, tělo */
.gauge{touch-action:none;cursor:ns-resize;user-select:none}
.wx{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.wx-b{border:2px solid var(--line);background:var(--sheet);border-radius:12px;padding:8px 2px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;font-size:10.5px;font-weight:800;color:var(--ink-soft);cursor:pointer}
.wx-b svg{width:34px;height:34px}
.wx-b.on{border-color:var(--accent);background:#FFF4E8;color:var(--ink)}

.gnum{width:72px;text-align:center;flex:none}
.gnum .big-num{font-variant-numeric:tabular-nums;min-height:44px}
.g-fire{transition:transform .12s ease-out}

/* lišta nahrávání s křivkou hlasu */
.rec-bar{display:flex;align-items:center;gap:10px;margin-top:8px;background:var(--ink);color:#fff;border-radius:999px;padding:8px 10px 8px 14px}
.rec-dot{width:10px;height:10px;border-radius:50%;background:#E8533A;flex:none;animation:recdot 1s infinite}
@keyframes recdot{0%,100%{opacity:1}50%{opacity:.25}}
.rec-wave{flex:1;height:30px;min-width:0;display:block}
.rec-time{font-weight:800;font-size:13px;font-variant-numeric:tabular-nums;flex:none;min-width:36px;text-align:right}
.rec-stop{width:34px;height:34px;border-radius:50%;border:none;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.rec-stop span{width:12px;height:12px;border-radius:3px;background:var(--ink);display:block}
.rec-spin{width:16px;height:16px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin 1s linear infinite;flex:none;margin-left:2px}
@keyframes spin{to{transform:rotate(360deg)}}
.rec-bar .muted{color:rgba(255,255,255,.75)}

/* náhledy v nabídce */
.kth{width:56px;height:56px;border-radius:10px;overflow:hidden;flex:none;background:var(--paper-light);display:flex;align-items:center;justify-content:center}
.kth img{width:100%;height:100%;object-fit:cover;display:block}
.kth.book{width:44px;height:62px;border-radius:3px 6px 6px 3px}
.kth.book:not(:has(img)){background:linear-gradient(135deg,var(--bc),color-mix(in srgb,var(--bc),#000 25%));box-shadow:inset 4px 0 0 rgba(255,255,255,.22);padding:5px 4px;align-items:flex-start}
.kth.book span{color:#fff;font-weight:800;font-size:8.5px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.kth.ic{background:var(--paper-light)}

/* páry: výčitka → já výrok, emoce → situace, rychlá odpověď */
.pr-head{display:flex;justify-content:space-between;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding-bottom:8px;border-bottom:2px solid var(--ink)}
.pr-row{padding:12px 0;border-bottom:1px dashed var(--line)}
.pr-row:last-child{border-bottom:none}
.pr-l{font-weight:800;font-size:15px;margin-bottom:6px}
.pr-row.q .pr-l{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}
.pr-in{width:100%;font-size:16px}
.pr-ex{font-size:15px;color:var(--ink-soft);font-style:italic;background:var(--paper-light);border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;gap:8px}
.pr-ex span{font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--faded);letter-spacing:.06em}

/* swipe řádky (nabídka k týdnu) */
.swp{position:relative;margin-bottom:8px;border-radius:12px;overflow:hidden}
.swp .toc-row{margin-bottom:0;position:relative;z-index:1;touch-action:pan-y}
.swp-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-weight:800;font-size:14px;color:#fff;background:var(--ok)}
.swp-bg span{display:flex;align-items:center;gap:6px}
.swp-del{opacity:0}
.swp.l .swp-bg{background:#C2452F}
.swp.l .swp-del{opacity:1}
.swp.l .swp-ok{opacity:0}
.swp.arm .swp-bg span{transform:scale(1.08)}
