﻿/* Schriften liegen in der App selbst (fonts/, SIL Open Font License) – keine Verbindung zu Google */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/lora-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/lora-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/lora-latin-700-normal.woff2) format("woff2")}
/* WITR Coaching-App · Prototyp · Redesign v2
   Grundlage: WITR Design Book (Anthrazit #2e2e33, Lora + Inter), Rot aus dem witr-Logo (#ff2837),
   ergänzt um warme helle Flächen und gedeckte Naturtöne (Salbei, Sand, gedämpftes Blau) gemäss Redesign-Auftrag. */
:root{
  /* witr-Rot aus dem Logo (#ff2837), für Flächen mit weisser Schrift minimal vertieft (gut lesbar) */
  --red:#e3202f; --red-text:#c41a28; --red-soft:#fde4e6;
  --ink:#2e2e33; --ink-2:#232328; --ink-3:#3a3a41;
  --muted:#6e6862; --line:#e7dfd4; --line-2:#d9d0c3;
  --cream:#f6f1ea; --card:#fffdf9; --soft:#f2ece3; --sand:#ebe1d3;
  --sage:#7d9878; --sage-soft:#e4ebdf; --blue:#6b86a0; --blue-soft:#e2e9ef; --beige:#d2b48a; --beige-soft:#f3e8d8;
  --on-red:#fff;
  /* Markenrot aus dem Logo, für grosse rote Flächen leicht vertieft, damit weisse Schrift gut lesbar bleibt */
  --brand:#ff2837; --brand-side:var(--red); --brand-bar:#b81a26;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --sage-dark:#5c7558;   /* Salbei für Flächen mit weisser Schrift (Kontrast) */
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:12px; --r-s:8px;
  --sh:none;   /* Flächen nur mit Rahmen, ohne Schatten (Schatten nur für schwebende Elemente: --sh-h) */
  --sh-h:0 2px 4px rgba(46,46,51,.05),0 16px 40px rgba(46,46,51,.11);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
/* «hidden» gewinnt immer – sonst überschreiben Listen-/Flex-Stile das Ausblenden (z. B. Suche in der Bibliothek) */
[hidden]{display:none!important}
html,body{margin:0;padding:0}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:.97rem;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.22;margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:2rem}
h2{font-size:1.35rem}
h3{font-size:1.08rem}
p{margin:.4em 0}
a{color:var(--red-text)}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-s);padding:11px 13px;width:100%;transition:border-color .2s,box-shadow .2s}
textarea{min-height:84px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
label{display:block;font-weight:600;font-size:.9rem;margin:16px 0 6px}
.hint{font-size:.84rem;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.eyebrow{font-size:.84rem;font-weight:600;color:var(--muted)}
.eyebrow.light{color:rgba(255,255,255,.82)}
.ic{width:20px;height:20px;display:inline-block;flex:none;stroke-width:1.6}
i.ic{vertical-align:middle}
svg.lucide{width:20px;height:20px;stroke-width:1.6;flex:none}

/* Prototyp-Leiste */
.protobar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 16px;background:#141417;color:#ececee;font-size:.78rem;position:relative;z-index:6}
.protobar .sp{flex:1}
.protobar .switch{display:flex;border:1px solid rgba(255,255,255,.3);border-radius:99px;overflow:hidden}
.protobar .switch button{background:transparent;border:0;color:inherit;padding:4px 12px;font-size:.76rem}
.protobar .switch button.on{background:var(--red);color:#fff}
.protobar.test{background:var(--brand-bar)}
.protobar .sync{opacity:.75}
.protobar .sync.error{opacity:1;color:#fff;background:var(--red);padding:1px 8px;border-radius:99px;font-weight:600}
.protobar .pb-btn{background:transparent;border:1px solid rgba(255,255,255,.35);color:inherit;border-radius:99px;padding:3px 12px;font-size:.76rem;cursor:pointer}
.protobar .pb-btn:hover{background:rgba(255,255,255,.12)}
@media (max-width:600px){.protobar .who{display:none}}
.onb.login{justify-content:flex-start}
.onb.login form{gap:10px}

/* ---------- Grundlayout ---------- */
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 36px)}
.side{background:var(--brand-side);color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 16px 22px;gap:4px;overflow-y:auto}
.side .logo{color:#fff;margin:0 12px 26px}
.logo-img{display:block;height:auto}
.side .logo-img{width:150px;margin:0 12px 30px}
.onb .logo-img{width:140px}
/* Logo oben auf dem Handy (dort gibt es keine Seitenleiste) */
.mlogo{display:none}
@media (max-width:900px){.mlogo{display:block;margin:2px 0 -4px}.mlogo .logo-img{width:84px}}
.navlink{display:flex;align-items:center;gap:13px;padding:10px 14px;border-radius:12px;color:rgba(255,255,255,.92);text-decoration:none;font-size:.93rem;transition:background .2s var(--ease),color .2s;position:relative}
.navlink:hover{background:rgba(255,255,255,.12);color:#fff}
.navlink.on{background:rgba(255,255,255,.2);color:#fff;font-weight:600}
.navlink.on::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:#fff}
.side .tagline{margin:auto 12px 18px;font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.35;color:rgba(255,255,255,.9);padding-top:28px}
.side .tagline svg{display:block;margin-top:10px}
.side .navlink.profile{border-top:1px solid rgba(255,255,255,.25);border-radius:0;padding-top:16px;margin-top:4px}
.logo{font-family:var(--serif);font-weight:700;font-size:1.7rem;letter-spacing:-.01em;display:inline-flex;align-items:flex-start;gap:3px;line-height:1}
.logo i{width:9px;height:9px;border-radius:50%;background:var(--red);display:inline-block;margin-top:1px}
.c-main{min-width:0;padding:28px 34px 80px;display:flex;flex-direction:column;gap:18px}
.c-main.narrow>*{width:100%;max-width:780px}
.view-enter{animation:fadeIn .2s ease-out both}

/* Untere Navigation (Mobile) */
.bnav{display:none}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{display:none}
  .c-main{padding:16px 16px 110px;gap:14px}
  .bnav{display:flex;position:fixed;left:0;right:0;bottom:0;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px);z-index:5}
  .bnav div{display:flex;width:100%;max-width:560px}
  .bnav a{flex:1;text-align:center;padding:9px 2px 11px;font-size:.75rem;color:var(--muted);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .2s}
  .bnav a.on{color:var(--red-text);font-weight:600}
  h1{font-size:1.65rem}
}

/* ---------- Karten und Bausteine ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0;box-shadow:var(--sh)}
.card.focus{border-color:var(--line-2)}
.card.soft{background:var(--soft);border-color:transparent;box-shadow:none}
.card .cl{font-size:.84rem;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:8px}
.card .ct{font-family:var(--serif);font-weight:600;font-size:1.12rem}
a.card,.task{color:inherit;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
a.card:hover,.task:hover,.hov:hover{border-color:var(--muted)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row .sp,.sp{flex:1}
.stack{display:flex;flex-direction:column;gap:12px}
.grid2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
@media (max-width:1000px){.grid2{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 18px;font-size:.9rem;font-weight:600;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;min-height:42px;transition:background .2s var(--ease),color .2s,border-color .2s,transform .15s}
.btn:hover{background:rgba(46,46,51,.05)}
.btn:active{transform:scale(.98)}
.btn.p{background:var(--red);border-color:var(--red);color:var(--on-red)}
.btn.p:hover{background:#c81c2a}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.dark:hover{background:var(--ink-3)}
.btn.s{padding:6px 13px;font-size:.8rem;min-height:34px;border-radius:8px}
.btn.ghost{border-color:var(--line-2)}
.btn.block{width:100%}
.btn:disabled{opacity:.4;cursor:not-allowed}
.round{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--ink);text-decoration:none;flex:none;transition:background .2s,transform .2s var(--ease)}
.round:hover{background:var(--sand);transform:translateX(2px)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;border:1px solid var(--line-2);border-radius:99px;padding:2px 10px;white-space:nowrap;color:var(--ink)}
.pill.r{border-color:var(--red);color:var(--red-text)}
.pill.f{background:var(--soft);border-color:transparent}
.pill.sage{background:var(--sage-soft);border-color:transparent;color:#4d6449}
.list{list-style:none;padding:0;margin:0}
.list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.list li:last-child{border-bottom:0}
.empty{color:var(--muted);font-style:italic;font-size:.92rem}
.sec-title{display:flex;align-items:center;gap:10px;margin-top:12px}
.sec-title h2{font-size:1.2rem}
.sec-head{display:flex;align-items:center;gap:10px;margin:8px 0 2px}
.sec-head .eyebrow{color:var(--ink)}
.sec-head a{font-size:.86rem;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.privacy{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:var(--muted)}
.privacy.shared{color:var(--red-text)}
.notice{background:var(--soft);border-radius:12px;padding:12px 15px;font-size:.88rem}
.notice.red{background:var(--red-soft)}
.bar{height:7px;border-radius:7px;background:var(--sand);overflow:hidden}
.bar i{display:block;height:100%;background:var(--red);border-radius:7px;animation:grow 1s var(--ease) both}
.bar.sage i{background:var(--sage)} .bar.blue i{background:var(--blue)} .bar.beige i{background:var(--beige)}

/* Seitenkopf */
.phead{display:flex;gap:16px;align-items:flex-start;padding:6px 0 4px}
.phead-ic{width:52px;height:52px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--red-text);box-shadow:var(--sh);flex:none}
.phead p{margin:4px 0 0;max-width:60ch}
.back{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;color:var(--muted);text-decoration:none}
.back:hover{color:var(--ink)}

/* ---------- Heute ---------- */
.dash{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.dash-main,.dash-side{display:flex;flex-direction:column;gap:20px;min-width:0}
@media (max-width:1180px){.dash{grid-template-columns:1fr}}
.hero{position:relative;border-radius:16px;overflow:hidden;min-height:360px;color:#fff;box-shadow:var(--sh);isolation:isolate}
.hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-in{padding:44px 44px 30px;display:flex;flex-direction:column;gap:12px;max-width:620px}
.hero-h{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:600;color:#fff;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-h svg{width:38px;height:38px;stroke-width:1.3;color:#f7dcc4}
.hero-q{font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.45;color:rgba(255,255,255,.9);margin:0 0 10px;max-width:30ch}
.hero-top{position:absolute;top:18px;right:20px;display:flex;gap:12px;align-items:center}
.hero-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);position:relative;transition:background .2s}
.hero-icon:hover{background:rgba(255,255,255,.22)}
.hero-icon .dot{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid #fff}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:.95rem;background:linear-gradient(135deg,#d7c2a8,#b79b7d);color:#2e2e33;flex:none;text-decoration:none;border:2px solid rgba(255,255,255,.85)}
.avatar.sm{width:40px;height:40px;font-size:.85rem}
.focus-card{display:flex;align-items:center;gap:16px;background:rgba(255,253,249,.96);color:var(--ink);text-decoration:none;border-radius:12px;padding:16px 20px;max-width:540px;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .25s var(--ease)}
.focus-card:hover{transform:translateY(-2px)}
.focus-card b{display:block;font-family:var(--serif);font-size:1.18rem;font-weight:600;margin-top:2px}
.focus-card .eyebrow{display:block;white-space:nowrap}
@media (max-width:900px){
  .hero{min-height:0;border-radius:20px}
  .hero-in{padding:20px 18px 18px;gap:8px}
  .hero .eyebrow.light{padding-right:90px;font-size:.72rem}
  .hero-h{font-size:1.7rem;gap:10px}
  .hero-h svg{width:24px;height:24px}
  .hero-q{font-size:1rem;margin-bottom:4px}
  .hero-top{top:12px;right:12px;gap:8px}
  .hero-top .hero-icon,.hero-top .avatar{width:42px;height:42px;font-size:.78rem}
  .focus-card{padding:12px 14px;gap:12px;border-radius:12px}
  .focus-card b{font-size:1rem}
  .focus-card .focus-ic{width:36px;height:36px}
  .focus-card .focus-ic svg{width:20px;height:20px}
  .card{padding:16px}
  .deco{display:none}
}
.focus-ic{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;flex:none}
.focus-ic svg{width:24px;height:24px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){.pair{grid-template-columns:1fr}}
.sess-date{display:flex;gap:14px;align-items:flex-start}
.sess-date svg{width:28px;height:28px;margin-top:2px}
.sess-date .ct{font-size:1.45rem}
.prep{list-style:none;padding:0;margin:6px 0 4px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}
.prep a{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:.93rem}
.prep a:hover span{text-decoration:underline}
.ck{width:24px;height:24px;border-radius:50%;border:1.6px solid var(--line-2);display:grid;place-items:center;flex:none;background:var(--card)}
.ck.on{background:var(--sage);border-color:var(--sage);color:#fff}
.ck.on svg{width:14px;height:14px;stroke-width:3;animation:pop .35s var(--ease) both}
.deco{position:absolute;right:-18px;top:58px;width:170px;opacity:.3;pointer-events:none}
.msg-head{display:flex;gap:12px;align-items:center}
.msg-text{font-size:.95rem;line-height:1.6}
.msg-text p{margin:0 0 8px}
.habit-top{display:flex;gap:14px;align-items:center}
.plant{width:52px;height:52px;border-radius:50%;background:var(--sage-soft);display:grid;place-items:center;color:var(--sage);flex:none}
.plant svg{width:26px;height:26px}
.wk{display:flex;gap:4px;justify-content:space-between;margin-top:6px}
.wk div{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.74rem;color:var(--muted)}
.wk span{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;background:var(--card)}
.wk span.d{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}
.wk span.d svg{width:16px;height:16px;stroke-width:3;animation:pop .35s var(--ease) both}
.wk span.t{border-color:var(--ink)}
.prow{display:grid;grid-template-columns:22px minmax(0,1fr) 80px 58px 16px;gap:10px;align-items:center;padding:9px 0;color:var(--ink);text-decoration:none;font-size:.88rem;border-radius:8px;transition:background .2s}
.prow:hover{background:var(--soft)}
.prow .v{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;font-size:.82rem}
.prow svg{width:18px;height:18px;color:var(--muted)}
.quote{position:relative;overflow:hidden;background:var(--card)}
.quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:1.32rem;line-height:1.45;position:relative;z-index:1}
.quote .sun{position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--red-soft)}
.quote svg.lucide{color:var(--beige);width:30px;height:30px}

/* Aufgaben-Karten */
.tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.task{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh)}
.thumb{position:relative;height:118px}
.thumb svg{width:100%;height:100%;display:block}
.task-ic{position:absolute;left:16px;bottom:-21px;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 6px 14px rgba(46,46,51,.14);color:var(--ink);z-index:2}
.task-b{padding:28px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.task-b b{font-family:var(--serif);font-size:1.05rem;font-weight:600}
.tprog{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums}
.task-f{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.84rem;color:var(--muted);margin-top:auto}

/* Als Nächstes */
.nextcard{padding:6px 20px}
.next{list-style:none;margin:0;padding:0}
.next li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.next li:last-child{border-bottom:0}
.next li.is-done .next-b b{color:var(--muted);font-weight:500}
.next-ic{width:38px;height:38px;border-radius:12px;background:var(--soft);display:grid;place-items:center;flex:none;color:var(--ink)}
.next-ic svg{width:18px;height:18px}
.next-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;color:var(--ink);text-decoration:none}
.next-b b{font-family:var(--serif);font-weight:600;font-size:1.02rem}
.next-b .tprog{max-width:260px;margin-top:4px}
.quick{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:520px){.next li{gap:10px}.next-ic{display:none}}

/* Zeitachse */
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl li{display:flex;gap:14px;align-items:flex-start;padding:10px 0;position:relative}
.tl .dotic{width:40px;height:40px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--red-text);z-index:1}
.tl .dotic svg{width:18px;height:18px}

/* Mehr (Mobile) */
.more{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.more a{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;box-shadow:var(--sh);font-weight:500}
.more a svg{color:var(--red-text)}

/* ---------- Übungen (bestehende Bausteine) ---------- */
.ex-head{display:flex;flex-direction:column;gap:4px}
.progress{display:flex;gap:5px}
.progress i{flex:1;height:5px;border-radius:5px;background:var(--sand);transition:background .4s var(--ease)}
.progress i.on{background:var(--red)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line-2);background:var(--card);border-radius:99px;padding:7px 14px;font-size:.88rem;transition:background .15s,border-color .15s,color .15s}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--red);border-color:var(--red);color:#fff}
.vcard{border:1px solid var(--line-2);border-radius:12px;padding:11px 13px;background:var(--card);text-align:left;font-size:.92rem;transition:background .15s,border-color .15s}
.vcard.on{border-color:var(--red);background:var(--red-soft)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.rank{list-style:none;padding:0;margin:0;counter-reset:r}
.rank li{counter-increment:r;display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.rank li::before{content:counter(r);width:26px;height:26px;border-radius:50%;border:2px solid var(--red);display:grid;place-items:center;font-size:.8rem;font-weight:600;color:var(--red-text);flex:none}
.slider-row{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 30px;gap:10px;align-items:center;padding:4px 0}
.slider-row span{font-size:.9rem}
.slider-row b{text-align:right;font-variant-numeric:tabular-nums}
input[type=range]{padding:0;border:0;accent-color:var(--red);background:transparent;box-shadow:none}
.seg{display:flex;gap:4px}
.seg button{width:38px;height:34px;border-radius:9px;border:1px solid var(--line-2);background:var(--card);font-size:.85rem;transition:background .15s}
.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.item-q{padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.check{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--red);flex:none;box-shadow:none}
.check:last-child{border-bottom:0}
.law{border:1px solid var(--line-2);border-radius:12px;padding:15px;text-align:left;background:var(--card);display:flex;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s}
.law.on{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.law h3{display:flex;align-items:center;gap:8px}
.law svg{width:20px;height:20px;flex:none}
.lawgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.fill-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--serif);font-size:1.05rem}
.fill-sentence input{width:auto;flex:1;min-width:140px;font-family:var(--sans);font-size:.95rem}
.dots{display:flex;gap:8px}
.dots span{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:.7rem;color:var(--muted);background:var(--card)}
.dots span.d{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}
.dots span.t{border-color:var(--ink);color:var(--ink);font-weight:600}
.footer-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-top:8px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs a{padding:9px 13px;text-decoration:none;color:var(--muted);font-size:.92rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.tabs a.on{color:var(--ink);border-bottom-color:var(--red);font-weight:600}
table.t{width:100%;border-collapse:collapse;font-size:.9rem}
table.t th,table.t td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.t th{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}
.tscroll{overflow-x:auto}
details summary{cursor:pointer;color:var(--muted)}

/* Landkarte */
.mapwrap{overflow-x:auto;border-radius:12px;border:1px solid var(--line);-webkit-overflow-scrolling:touch;background:#fff}
.map{position:relative;min-width:680px;line-height:0}
.map img{width:100%;height:auto;display:block;user-select:none}
.spot{position:absolute;width:8.5%;height:5.5%;transform:translate(-50%,-50%);border:0;border-radius:8px;background:transparent;padding:0;transition:background .15s}
.spot:hover{background:rgba(46,46,51,.08)}
.spot.on{box-shadow:inset 0 0 0 2px var(--red);background:rgba(227,32,47,.12)}
.mball{position:absolute;width:24px;height:24px;margin:-40px 0 0 -12px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none;animation:drop .4s var(--ease) both}
.mball.old{background:#8a8a92;opacity:.85;width:18px;height:18px;margin:-34px 0 0 -9px;animation:none}
.mball.inline{position:static;display:inline-block;width:12px;height:12px;margin:0 6px -1px 0;border-width:2px;box-shadow:none;vertical-align:baseline;animation:none}
.mobile-only{display:none}
@media (max-width:720px){.mobile-only{display:block}}

/* Wertepyramide */
.pyr{display:flex;flex-direction:column;align-items:center;gap:8px;margin:8px 0}
.pyr-row{display:flex;gap:8px;justify-content:center;width:100%}
.pyr-slot{flex:0 1 150px;min-height:48px;border:1.5px dashed var(--line-2);border-radius:12px;background:var(--card);display:grid;place-items:center;font-size:.92rem;color:var(--muted);padding:6px 8px;text-align:center}
.pyr-slot.on{border-style:solid;border-color:var(--ink);color:var(--ink);font-weight:600}
.pyr-slot.top.on{background:var(--red);border-color:var(--red);color:#fff}
/* Wertepyramide: Ziehen und Ablegen */
.pyr-slot[data-ps],.pv{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.pyr-slot.dz.over,.pyr-pool.over{outline:2px dashed var(--red);outline-offset:2px;background:var(--red-soft)}
.pyr-slot.picked,.pv.on{box-shadow:0 0 0 3px var(--red-soft);border-color:var(--red)}
.dragging{opacity:.35}
.pyr-ghost{position:fixed;z-index:50;transform:translate(-50%,-60%);pointer-events:none;background:var(--red);color:#fff;font-weight:600;font-size:.9rem;padding:8px 14px;border-radius:99px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.pyr-pool{min-height:52px;border-radius:12px;padding:6px}

/* Skalierungsstrahl */
.strahl{position:relative;padding:8px 0 4px}
.strahl-track{position:absolute;left:18px;right:18px;top:27px;height:3px;background:var(--line-2);border-radius:3px}
.strahl-track i{position:absolute;top:0;height:3px;background:repeating-linear-gradient(90deg,var(--red) 0 6px,transparent 6px 10px)}
.strahl-ticks{display:flex;justify-content:space-between;position:relative}
.tick{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--card);display:grid;place-items:center;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--muted);transition:transform .15s var(--ease),background .15s}
button.tick:hover{transform:scale(1.08);border-color:var(--ink)}
.tick.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;transform:scale(1.15)}
.tick.g{border:2.5px solid var(--red);color:var(--red-text);font-weight:700}
.tick.ref{background:var(--red-soft)}
.strahl-legend{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted);margin-top:6px}
@media (max-width:520px){.tick{width:28px;height:28px;font-size:.75rem}.strahl-track{top:23px;left:14px;right:14px}}

/* ABCDE-Kette */
.abc{display:flex;flex-direction:column;gap:6px;background:var(--soft);border-radius:12px;padding:14px}
.abc-cap{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.abc-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:6px}
.abc-row.new{grid-template-columns:1fr auto 1fr}
.abc-n{background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative;transition:border-color .2s}
.abc-n b{font-size:.86rem}
.abc-n.cur{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.abc-n.done .abc-l{background:var(--ink);color:#fff;border-color:var(--ink)}
.abc-row.new .abc-n.done .abc-l{background:var(--sage);border-color:var(--sage)}
.abc-n.crossed .abc-t{text-decoration:line-through;text-decoration-color:var(--red);color:var(--muted)}
.abc-t{font-size:.8rem;line-height:1.4;overflow-wrap:anywhere}
.abc-l{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font-weight:700;font-size:.8rem;background:var(--card)}
.abc-arr{display:grid;place-items:center;color:var(--muted)}
.abc-arr svg{width:16px;height:16px}
.abc-turn{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--red-text);padding-left:30%}
.abc-turn svg{width:16px;height:16px}
.abc-q{display:flex;gap:12px;align-items:flex-start}
.abc-q .abc-l{width:34px;height:34px;font-size:1rem;background:var(--red);border-color:var(--red);color:#fff;flex:none}
@media (max-width:620px){.abc-row,.abc-row.new{grid-template-columns:1fr}.abc-arr{transform:rotate(90deg)}.abc-turn{padding-left:0}}

/* Anker */
.anker-sun{position:absolute;left:80%;top:12%;width:9%;aspect-ratio:1;border-radius:50%;background:#e3202f;opacity:.85}
.anker-scene{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;border:1px solid var(--line);max-width:min(100%,720px);width:100%;touch-action:none;user-select:none}
.anker-scene.live{cursor:crosshair}
.anker-bg{position:absolute;inset:0;width:100%;height:100%}
.anker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line-2);border-radius:99px;padding:5px 10px 5px 7px;font-size:.78rem;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:grab;touch-action:none;max-width:46%;white-space:nowrap}
.anker span{overflow:hidden;text-overflow:ellipsis}
.anker svg{width:16px;height:16px;color:var(--red-text);flex:none}
.anker.sel{outline:2px solid var(--red);outline-offset:2px}
.anker.static{cursor:default}
.anker.in-tray{position:static;transform:none;max-width:100%}
.anker.ghost{position:fixed;z-index:50;pointer-events:none;opacity:.95;cursor:grabbing}
.anker-tray{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1.5px dashed var(--line-2);border-radius:12px;min-height:52px;align-items:center}

/* Zeitinventur */
.zrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}
.zrow input{flex:1;min-width:150px;width:auto}
.zpal{display:flex;gap:5px;flex-wrap:wrap}
.sw{width:24px;height:24px;border-radius:50%;border:2px solid transparent;padding:0}
.sw.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--card) inset}
/* Zeitinventur: Farbauswahl öffnet sich beim Antippen des Farbpunkts */
.zpick{position:relative}
.zpick summary{list-style:none;cursor:pointer;display:block}
.zpick summary::-webkit-details-marker{display:none}
.zpick[open] .zpal{position:absolute;right:0;top:32px;z-index:5;width:226px;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:10px;box-shadow:var(--sh-h)}
.zchip{display:inline-flex;align-items:center;gap:7px}
.zchip.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}
.dotc{width:12px;height:12px;border-radius:4px;display:inline-block}
.dotc.free{background:repeating-linear-gradient(45deg,var(--line-2) 0 2px,transparent 2px 5px);border:1px solid var(--line-2)}
.zwrap{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.zstrip{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;touch-action:none;user-select:none}
.zc{height:46px;border-radius:4px;border:1px solid var(--line-2);background:transparent;transition:background .12s}
.zstrip.paint .zc{cursor:pointer}
.zstrip.paint .zc:hover{border-color:var(--ink)}
.zaxis{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted)}
.zsum{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.84rem;margin-top:6px}
.zsum span{display:inline-flex;align-items:center;gap:6px}
.zsum i{width:12px;height:12px;border-radius:4px;display:inline-block}
.zsum .free i{background:repeating-linear-gradient(45deg,var(--line-2) 0 2px,transparent 2px 5px);border:1px solid var(--line-2)}
@media (max-width:520px){.zc{height:38px;border-radius:3px}.zstrip{gap:1px}}

/* Post-its */
.pz{background:color-mix(in srgb,var(--pc) 35%,var(--card));border:1px solid var(--pc);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.pz-h{font-family:var(--serif);font-weight:600;display:flex;flex-direction:column;gap:2px}
.pz-hint{font-family:var(--sans);font-weight:400;font-size:.76rem;color:var(--muted)}
.pz-list{display:flex;flex-wrap:wrap;gap:8px}
.postit{position:relative;background:var(--pc);padding:10px 22px 12px 10px;font-size:.86rem;line-height:1.35;min-width:90px;max-width:100%;box-shadow:0 3px 8px rgba(46,46,51,.14);transform:rotate(-1deg);border-radius:2px 2px 8px 2px;animation:pop .3s var(--ease) both;overflow-wrap:anywhere}
.postit:nth-child(even){transform:rotate(1.2deg)}
.pi-x{position:absolute;top:2px;right:4px;border:0;background:transparent;font-size:1rem;line-height:1;color:var(--muted);padding:2px}
.pi-x.inline{position:static;padding:0 0 0 4px}
.pz-add{display:flex;gap:6px}
.pz-add input{padding:8px 10px}
.around{display:grid;grid-template-columns:1fr minmax(160px,.8fr) 1fr;grid-template-areas:"a f b" "c f d";gap:14px;align-items:start}
.ar-a{grid-area:a}.ar-b{grid-area:b}.ar-c{grid-area:c}.ar-d{grid-area:d}.ar-f{grid-area:f;align-self:center;display:flex;justify-content:center}
@media (max-width:820px){.around{grid-template-columns:1fr;grid-template-areas:"f" "a" "b" "c" "d"}.ar-f svg{max-width:200px}}
.silfig{width:100%;max-width:170px}
.ikisvg{width:100%;max-width:300px}

/* Netzwerkkarte */
.netgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){.netgrid{grid-template-columns:1fr}}
.netmap svg{width:100%;max-width:440px;display:block;margin:0 auto}
.netmap.big svg{max-width:560px}
.netbox{border:1px solid var(--pc);background:var(--card);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.netbox input{padding:8px 10px}

/* Inneres Team */
.tisch{position:relative;aspect-ratio:10/7;max-width:620px;width:100%;margin:8px auto}
.tisch-bg{position:absolute;left:12%;top:16%;width:76%;height:68%}
.tisch-topic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:36%;text-align:center;font-family:var(--serif);font-weight:600;font-size:.92rem;color:#4a3626}
.stuhl{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--card);border:1.5px dashed var(--line-2);border-radius:12px;padding:8px 10px;font-size:.76rem;max-width:120px;text-align:center;transition:border-color .15s,transform .15s}
.stuhl svg{width:22px;height:22px;color:var(--muted)}
.stuhl.voll{border-style:solid;border-color:var(--ink)}
.stuhl.voll svg{color:var(--red-text)}
.stuhl.cur{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
button.stuhl:hover{transform:translate(-50%,-50%) scale(1.05)}

/* Aufstellung */
.brett{position:relative;aspect-ratio:1;width:100%;max-width:min(440px,60vh);margin:0 auto;border-radius:12px;background:#d8b98f;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:10% 10%;border:6px solid #a77c52;box-shadow:inset 0 0 30px rgba(0,0,0,.15);touch-action:none}
.fig{position:absolute;transform:translate(-50%,-80%);display:flex;flex-direction:column;align-items:center;cursor:grab;touch-action:none;user-select:none}
.fig .pawn{width:30px;height:42px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.3))}
.fig span{font-size:.7rem;font-weight:600;background:rgba(255,253,249,.92);border-radius:6px;padding:1px 6px;margin-top:2px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.fig.sel .pawn{filter:drop-shadow(0 0 0 #fff) drop-shadow(0 0 4px #e3202f)}
.ghostfig{opacity:.28;pointer-events:none}
.fig.new{position:static;transform:none}
.fig.ghost{position:fixed;z-index:50;pointer-events:none;transform:translate(-50%,-80%)}
.fig-tray{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1.5px dashed var(--line-2);border-radius:12px;max-width:440px;margin:0 auto;width:100%}

/* Riemann-Thomann */
.kreuz{position:relative;aspect-ratio:1;width:100%;max-width:480px;margin:30px auto;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:crosshair}
.kreuz svg{width:100%;height:100%;display:block;border-radius:12px}
.kpole{position:absolute;display:flex;flex-direction:column;align-items:center;font-size:.72rem;color:var(--muted);text-align:center;line-height:1.25;pointer-events:none}
.kpole b{font-family:var(--serif);font-size:1rem;color:var(--ink)}
.kpole.top{top:-28px;left:50%;transform:translateX(-50%)}
.kpole.bottom{bottom:-30px;left:50%;transform:translateX(-50%)}
.kpole.left{left:6px;top:52%;align-items:flex-start;text-align:left;max-width:30%}
.kpole.right{right:6px;top:52%;align-items:flex-end;text-align:right;max-width:30%}
.kmark{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;font-size:.72rem;font-weight:700;pointer-events:none;animation:pop .3s var(--ease) both}
.kmark i{width:20px;height:20px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.kmark.goal i{background:transparent;border:3px solid var(--red);box-shadow:none}

/* Lebensrad */
.radsvg{width:100%;max-width:520px;display:block;margin:0 auto}
.radhit{fill:transparent;cursor:pointer}
.radhit:hover{fill:rgba(227,32,47,.18)}

/* 9-Felder */
.nf{display:grid;grid-template-columns:130px repeat(3,minmax(0,1fr));gap:8px}
.nf-h{font-family:var(--serif);font-weight:600;text-align:center;padding:6px;background:var(--soft);border-radius:8px}
.nf-h:first-child{background:transparent}
.nf-r{font-family:var(--serif);font-weight:600;display:flex;align-items:center;padding:8px;background:var(--soft);border-radius:8px;font-size:.92rem}
.nf-c{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:0}
.nf-c b{font-size:.84rem;line-height:1.3}
.nf-c.start{border-color:var(--red);box-shadow:0 0 0 2px var(--red-soft)}
.nf-c textarea{min-height:70px;font-size:.88rem}
.nf-c ul{margin:4px 0;padding-left:1.1em}
.nf-meta{display:none;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media (max-width:900px){.nf{grid-template-columns:1fr}.nf-h,.nf-r{display:none}.nf-meta{display:block}}

/* Dankbarkeitstagebuch als Buch */
.book{display:grid;grid-template-columns:1fr 1fr;background:#efe4d2;border-radius:18px;padding:14px;gap:0;box-shadow:0 18px 40px rgba(46,46,51,.14);perspective:1600px}
.book.one{grid-template-columns:1fr}
.page{background:#fffcf6;padding:24px 26px;min-height:420px;box-shadow:inset 0 0 0 1px #eadfcd;background-image:repeating-linear-gradient(transparent 0 31px,rgba(181,160,130,.18) 31px 32px)}
.page.left{border-radius:8px 0 0 10px;box-shadow:inset -14px 0 18px -14px rgba(0,0,0,.18),inset 0 0 0 1px #eadfcd}
.page.right{border-radius:0 10px 10px 0;box-shadow:inset 14px 0 18px -14px rgba(0,0,0,.18),inset 0 0 0 1px #eadfcd;transform-origin:left center}
.book.one .page{border-radius:8px}
.flip-next .page.right{animation:flipin .5s var(--ease) both}
.flip-prev .page.left{animation:flipback .5s var(--ease) both;transform-origin:right center}
@keyframes flipin{from{transform:rotateY(-35deg);opacity:.3}to{transform:none;opacity:1}}
@keyframes flipback{from{transform:rotateY(35deg);opacity:.3}to{transform:none;opacity:1}}
.page-date{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.page-q{margin:6px 0 12px}
.page-empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted)}
.grat-ev{display:flex;gap:12px;margin-bottom:14px}
.grat-ev>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.grat-ev input,.grat-ev textarea{background:transparent;border-color:rgba(181,160,130,.5)}
.grat-n{width:28px;height:28px;border-radius:50%;background:var(--sage-dark);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none}
.hand{font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.5}
.book-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media (max-width:820px){.book{grid-template-columns:1fr;padding:8px}.page.left{display:none}.page.right{border-radius:8px}.page{padding:18px}}

/* Netzwerkkarte ziehen */
.netp.drag{cursor:grab;touch-action:none}
.netsvg{touch-action:none}

/* Ganz nah dran */
.sensegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.sense{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}
.sense-ic{width:38px;height:38px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}

/* Aufstellung: Linien und Modus */
.brett-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.brett.linemode .fig{cursor:pointer}
.fig.me span{background:var(--red);color:#fff}
.fig.new{display:flex;flex-direction:column;align-items:center;cursor:grab}
.fig.new span{font-size:.7rem;font-weight:600}
.fig.new.used{opacity:.35;cursor:not-allowed}

/* Self-Compassion Break */
.scb-path{display:flex;align-items:center;justify-content:center;gap:0;margin:4px 0 8px}
.scb-path i{width:36px;height:2px;background:var(--line-2)}
.scb-dot{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;color:var(--muted);width:92px;text-align:center}
.scb-dot span{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;background:var(--card)}
.scb-dot.cur span{border-color:var(--red);background:var(--red-soft);color:var(--red-text)}
.scb-dot.done span{background:var(--sage);border-color:var(--sage);color:#fff}
.scb-art{display:block;width:100%;max-width:260px;margin:0 auto}
.breath{display:flex;flex-direction:column;align-items:center;gap:10px;margin:10px 0}
.breath span{width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,var(--red-soft),#f6d3cc);animation:breathe 8s ease-in-out infinite}
.breath.small span{width:60px;height:60px}
@keyframes breathe{0%,100%{transform:scale(.7)}50%{transform:scale(1.15)}}
.say-list{display:flex;flex-direction:column;gap:8px;max-width:520px;margin:0 auto;width:100%}
.say{border:1px solid var(--line-2);background:var(--card);border-radius:12px;padding:12px 14px;font-family:var(--serif);font-style:italic;font-size:1.02rem;text-align:left}
.say.on{border-color:var(--red);background:var(--red-soft)}

/* Optimismus */
.optexp{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.optaxis{display:flex;align-items:center;gap:8px;font-size:.86rem}
.optaxis i{flex:1;height:2px;background:linear-gradient(90deg,var(--sage),var(--red))}
.optdim{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.optsw{display:flex;border:1px solid var(--line-2);border-radius:99px;overflow:hidden;width:max-content;max-width:100%}
.optsw button{border:0;background:var(--card);padding:8px 16px;font-size:.88rem}
.optsw button.on{background:var(--ink);color:#fff}

/* Das beste Denken */
.waage{display:block;width:100%;max-width:320px;margin:0 auto}
.waage g{transition:transform .5s var(--ease)}
.hindrow{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:8px}
@media (max-width:620px){.hindrow{grid-template-columns:1fr}.hindrow .abc-arr{transform:rotate(90deg)}}

/* Starkes Selbstbild */
.sb-q{display:flex;flex-direction:column;gap:4px}
.ctools{display:flex;flex-direction:column;gap:8px;background:var(--soft);border-radius:12px;padding:10px}
.emojis{gap:4px}
.emo-chip{font-size:1.4rem;border:0;background:transparent;padding:2px 4px;border-radius:8px}
.emo-chip:hover{background:var(--card)}
.cboard{position:relative;aspect-ratio:4/3;width:100%;background:#fffdf9;border:1px solid var(--line);border-radius:12px;overflow:hidden;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:22px 22px;touch-action:none}
.cboard .ccanvas,.cboard .cdraw{position:absolute;inset:0;width:100%;height:100%}
.cboard .ccanvas{pointer-events:none}
.cboard .ccanvas.on{pointer-events:auto;cursor:crosshair;z-index:3}
.citem{position:absolute;transform:translate(-50%,-50%);cursor:grab;touch-action:none;user-select:none;z-index:2}
.citem.postit{padding:10px 12px;min-width:90px;max-width:40%;font-size:.86rem;box-shadow:0 3px 8px rgba(46,46,51,.15);border-radius:2px 2px 8px 2px;overflow-wrap:anywhere}
.citem .cemo{font-size:2.4rem;line-height:1}
.citem.img img{max-width:180px;max-height:140px;border-radius:6px;box-shadow:0 3px 8px rgba(46,46,51,.15);display:block;pointer-events:none}
.citem.sel{outline:2px solid var(--red);outline-offset:3px}
.cboard.mini{pointer-events:none}
.cboard.mini .citem.postit{font-size:.62rem;padding:5px 6px;min-width:50px}
.cboard.mini .cemo{font-size:1.4rem}
.cboard.mini .citem.img img{max-width:90px;max-height:70px}
.sb-all{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}

/* Worst Case */
.wc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.notfall{border:2px solid var(--red);border-radius:12px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:6px}
.notfall-h{font-family:var(--serif);font-weight:700;font-size:1.1rem;color:var(--red-text);display:flex;gap:8px;align-items:center}
.wc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:6px}
.wc-cols ul{margin:4px 0;padding-left:1.1em;font-size:.9rem}

/* Die 10 Gebote */
.place{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.place svg{display:block;width:100%;height:auto;max-height:220px}
.bubble{position:absolute;left:24%;top:10%;right:6%;background:#fffdf9;border-radius:12px;padding:10px 14px;font-size:.9rem;box-shadow:0 6px 16px rgba(0,0,0,.12);font-family:var(--serif)}
.bubble::before{content:"";position:absolute;left:-10px;top:24px;border:6px solid transparent;border-right:10px solid #fffdf9}
.gebot-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:620px){.gebot-cols{grid-template-columns:1fr}.bubble{position:static;margin:8px}}
.gaxis{position:relative;height:360px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(90deg,#e4ebdf,#fffdf9 50%,#f8e1dd);touch-action:none}
.gaxis-line{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;font-weight:600;font-size:.8rem;color:var(--muted)}
.gchip{position:absolute;transform:translate(-50%,-50%);background:var(--card);border:1px solid var(--line-2);border-radius:99px;padding:6px 12px;font-size:.8rem;max-width:44%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 6px rgba(0,0,0,.08);display:flex;align-items:center;gap:5px}
.gchip[data-gebot]{cursor:grab;touch-action:none}
.gchip.do{border-color:var(--sage)}
.gchip.dont{border-color:var(--red)}
.gchip.me{background:var(--ink);color:#fff}
.gchip[data-act]{cursor:pointer}

/* Memento mori */
.speaker{display:flex;align-items:flex-end;gap:12px;justify-content:center;margin:16px 0}
.speaker svg{width:80px;flex:none}
.bubble.big{position:relative;left:auto;top:auto;right:auto;font-size:1.2rem;max-width:420px;margin-bottom:60px}
.hourglass{display:flex;justify-content:center;color:var(--beige)}
.hourglass svg{width:44px;height:44px}

/* Grafische Methoden – Runde 5 */
/* 4 Stimmen der Ambivalenz */
.amb{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:10px;margin:8px 0}
.amb-q{grid-column:1/-1;display:flex;gap:8px;align-items:center;background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;font-family:var(--serif)}
.amb-q svg{width:18px;height:18px;flex:none}
.amb-h{text-align:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.amb-r{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--soft);border-radius:8px;padding:8px 0}
.amb-c .pz{height:100%;min-height:150px}
@media (max-width:640px){.amb{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr);gap:6px}.amb-c .pz-hint{display:none}}
/* Willenskraft-Workout */
.wk-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.wk-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.wk-ic{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--red);margin-right:6px;vertical-align:middle}
.wk-ic svg{width:16px;height:16px}
.wk-ic.big{width:42px;height:42px;border-radius:12px;background:var(--red-soft);margin:0 0 4px}
.wk-ic.big svg{width:22px;height:22px}
@media (max-width:640px){.wk-cards{grid-template-columns:1fr}}
.wkgrid{border-collapse:separate;border-spacing:3px;font-size:.78rem;min-width:560px}
.wkgrid th{font-weight:600;text-align:center;color:var(--muted);padding:2px}
.wkgrid th small{display:block;font-weight:400}
.wkgrid tbody th{text-align:left;color:var(--ink);white-space:nowrap;padding-right:8px;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.wkgrid th.today{color:var(--red-text)}
.wkc{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--line-2);background:var(--card);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#fff}
.wkc svg{width:15px;height:15px}
.wkc.on{background:var(--sage);border-color:var(--sage)}
.wkc.fut{opacity:.35;cursor:default}
span.wkc{cursor:default}
td.today .wkc{box-shadow:0 0 0 2px var(--red-soft)}
/* Problemgymnastik: Turnhalle */
.gym{border-radius:12px;overflow:hidden;margin:8px 0;border:1px solid var(--line)}
.gym-wall{height:46px;background:repeating-linear-gradient(90deg,#e9e1d4 0 40px,#e2d8c8 40px 42px);position:relative;border-bottom:6px solid #a77c52}
.gym-wall span{position:absolute;left:12px;top:12px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#8a7864;font-weight:700}
.gym-wall:after{content:"";position:absolute;right:18px;top:8px;width:46px;height:30px;background:repeating-linear-gradient(0deg,#c9a77f 0 3px,transparent 3px 8px);border-left:3px solid #a77c52;border-right:3px solid #a77c52}
.gym-floor{background:linear-gradient(180deg,#d9b98d,#cda874);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 60px),linear-gradient(180deg,#d9b98d,#cda874);display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;padding:22px 16px;gap:8px}
.mat{height:150px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px;position:relative;box-shadow:0 6px 0 rgba(0,0,0,.12);transition:transform .25s}
.mat.prob{background:#8d9aa6}
.mat.loes{background:#5f8fb9}
.mat.active{transform:translateY(-3px);outline:3px solid #fff}
.mat-l{position:absolute;top:8px;left:0;right:0;text-align:center;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#fff}
.mat .pose{height:104px;width:auto;animation:gymIn .35s ease}
@keyframes gymIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gym-arrow{display:flex;justify-content:center;color:#fff}
.gym-arrow svg{width:28px;height:28px}
.posechips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.posechip{display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:6px 8px;cursor:pointer;font:inherit;font-size:.74rem;width:76px}
.posechip .pose{height:52px}
.posechip.on{border-color:var(--red);background:var(--red-soft)}
.gym-q{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:640px){.gym-q{grid-template-columns:1fr}.mat{height:120px}.mat .pose{height:80px}.gym-floor{grid-template-columns:1fr 30px 1fr;padding:14px 8px}}
.gym-res{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gym-rc{display:flex;gap:10px;align-items:flex-start;background:var(--soft);border-radius:12px;padding:10px}
.gym-rc .pose{height:70px;flex:none}
@media (max-width:640px){.gym-res{grid-template-columns:1fr}}
/* Loslassen: Geschichte */
.story{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:8px 0}
.story-art svg,.story-mini svg{display:block;width:100%;height:auto}
.story-t{font-family:var(--serif);font-size:1.05rem;line-height:1.6;padding:14px 18px 0;margin:0;min-height:5.5em}
.story-nav{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}
.story-mini{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:center;background:var(--soft);border-radius:12px;padding:10px;margin-bottom:12px}
.story-mini svg{border-radius:8px}
@media (max-width:640px){.story-mini{grid-template-columns:1fr}}
.paper{background:#fffef8;border:1px solid var(--line-2);border-radius:4px;padding:10px;box-shadow:0 2px 6px rgba(0,0,0,.06);margin:8px 0;background-image:repeating-linear-gradient(180deg,transparent 0 27px,#e8e2d6 27px 28px)}
.paper textarea{background:transparent;border:0;box-shadow:none}
.paper.torn{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;background:none;border:0;box-shadow:none}
.paper.torn span{background:#fffef8;border:1px solid var(--line-2);padding:12px;min-height:70px;font-size:.88rem;overflow:hidden;white-space:pre-wrap;color:var(--muted)}
.paper.torn .p1{clip-path:polygon(0 0,100% 0,92% 20%,100% 40%,90% 60%,100% 80%,94% 100%,0 100%);transform:rotate(-6deg) translateX(-10px);animation:tearL .6s ease}
.paper.torn .p2{clip-path:polygon(8% 0,100% 0,100% 100%,6% 100%,0 80%,10% 60%,0 40%,8% 20%);transform:rotate(7deg) translateX(10px);animation:tearR .6s ease;text-indent:-50%}
@keyframes tearL{from{transform:none}}
@keyframes tearR{from{transform:none}}
/* Über den Berg kommen */
.bergsvg{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:8px 0}
/* Ein altes Muster verändern */
.muster3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.muster3 .cboard.mini{aspect-ratio:4/3}
@media (max-width:640px){.muster3{grid-template-columns:1fr}}
.muster-advice{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;align-items:center;margin:8px 0}
.muster-advice .bubble{position:relative;left:auto;top:auto;right:auto}
.muster-advice .bubble textarea{border:0;background:transparent;box-shadow:none}
@media (max-width:640px){.muster-advice{grid-template-columns:1fr}}
/* Eisenhower-Matrix */
.eis{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr 1fr;gap:8px;margin:10px 0}
.eis-ax{text-align:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.eis-ax.v{writing-mode:vertical-rl;transform:rotate(180deg);align-self:center}
.eis-c{background:var(--pc);border-radius:12px;padding:12px;min-height:150px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:box-shadow .15s}
.eis-c:hover{box-shadow:inset 0 0 0 2px rgba(46,46,51,.15)}
.eis-h b{display:block;font-family:var(--serif);font-size:.98rem}
.eis-h span{font-size:.78rem;color:var(--ink-3)}
.eis-h .pill{margin-left:0;margin-top:4px;display:inline-block;background:#fff}
.eis-list,.eis-inbox{display:flex;flex-wrap:wrap;gap:6px}
.eis-inbox{min-height:44px;padding:10px;border:1.5px dashed var(--line-2);border-radius:12px;background:var(--card)}
.task-chip{background:#fff;border-radius:8px;padding:6px 10px;font-size:.84rem;box-shadow:0 2px 4px rgba(0,0,0,.08);touch-action:none;user-select:none;cursor:grab}
.task-chip small{color:var(--muted)}
.task-chip.sel{outline:2px solid var(--red)}
.task-chip.ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%) rotate(-3deg);box-shadow:0 8px 18px rgba(0,0,0,.2)}
@media (max-width:640px){.eis{grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);gap:6px}.eis-c{padding:8px;min-height:120px}.eis-h b{font-size:.84rem}.eis-h span{font-size:.7rem}}

.task-chip.static{cursor:default;touch-action:auto}
.task-chip.cut{text-decoration:line-through;opacity:.55}
.eis-plan{background:var(--pc);border-radius:12px;padding:12px;margin:10px 0;display:flex;flex-direction:column;gap:10px}
.eis-ph b{display:block;font-family:var(--serif)}
.eis-ph span{display:block;font-size:.8rem}
.eis-row{background:rgba(255,255,255,.6);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:8px}
.eis-rt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.eis-rt .btn{margin-left:auto}
.ecal{background:var(--card);border-radius:12px;padding:10px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ecal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ecal-wd{text-align:center;font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.ecal-d{border:1.5px solid var(--line);background:#fff;border-radius:9px;min-height:40px;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;line-height:1.1}
.ecal-d small{font-size:.6rem;font-weight:400;color:var(--muted)}
.ecal-d.off{background:transparent;border-color:transparent;color:var(--line-2);cursor:default}
.ecal-d.off small{color:var(--line-2)}
.ecal-d.today{border-color:var(--red)}
.ecal-d.on{background:var(--red);border-color:var(--red);color:#fff}
.ecal-d.on small{color:#fff}
.ecal.week .ecal-d{min-height:52px}
.ecal-t{margin-top:8px;display:flex;flex-direction:column;gap:4px}

.lib-thumb{position:relative;width:96px;height:52px;flex:none;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.lib-thumb svg{width:100%;height:100%;display:block}
.lib-thumb .task-ic{left:auto;right:4px;bottom:4px;width:24px;height:24px;box-shadow:none}
.lib-thumb .task-ic svg{width:13px;height:13px}
@media (max-width:640px){.lib-thumb{width:72px;height:44px}}

/* Übersichtlichkeit – Runde 6 */
.tree-only{display:block;cursor:pointer}
.tree-only .cl{display:flex;align-items:center;gap:6px}
.tree-only .cl .sp{flex:1}
.tree-only > svg{display:block;width:100%;height:auto;max-width:320px;margin:0 auto}
.grid2>*,.grid3>*{min-width:0}
select{max-width:100%}
.tprog.fresh span{color:var(--muted);font-size:.8rem}
.new-badge{position:absolute;right:12px;top:12px;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 9px;z-index:2}
.new-badge.inl{position:static;display:inline-block;vertical-align:2px;margin-left:6px;font-size:.62rem;padding:2px 7px}
.msg-note{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:14px 0 4px;color:var(--ink);text-decoration:none;box-shadow:var(--sh)}
.msg-note .avatar{width:38px;height:38px;font-size:.78rem;flex:none}
.msg-note b{display:block;font-family:var(--serif)}
.msg-snip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-list{list-style:none;margin:10px 0 0;padding:0;max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:4px}
.mp-h{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:10px 4px 2px;display:flex;align-items:center;gap:6px}
.mp-h svg{width:13px;height:13px}
.mp-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:12px;padding:6px;font:inherit;color:inherit;cursor:pointer}
.mp-btn:hover,.mp-btn:focus-visible{background:var(--soft);border-color:var(--line)}
.mp-btn b{display:block;font-size:.92rem}
.mp-btn .hint{display:block}
.mp-btn .lib-thumb{width:72px;height:42px}
.fav{background:none;border:0;cursor:pointer;color:var(--line-2);padding:4px;display:inline-flex}
.fav svg{width:18px;height:18px}
.fav.on{color:#e8a33a}
.fav.on svg{fill:#e8a33a}
details.fold{padding:0}
details.fold summary{list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;cursor:pointer}
details.fold summary::-webkit-details-marker{display:none}
details.fold summary > svg:last-child{transition:transform .2s;color:var(--muted)}
details.fold[open] summary > svg:last-child{transform:rotate(180deg)}
details.fold > .stack{padding:0 18px 16px}

/* Stärkenbaum */
.tree-card{align-items:stretch}
.tree-card .tree{display:block;margin:0 auto}
.tree-card.big{align-items:center;justify-content:center}
.leaf{animation:leaf .6s var(--ease) both}
.leaf.new ellipse{filter:drop-shadow(0 0 3px rgba(227,32,47,.5))}
@keyframes leaf{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}

/* Gefühle */
.emogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.emo{border:1px solid var(--line-2);border-radius:12px;background:var(--card);display:flex;flex-direction:column;transition:border-color .15s}
.emo.on{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.emo-btn{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:10px 12px;text-align:left;font-size:.92rem;width:100%}
.emo-i{font-size:1.9rem;line-height:1}
.emo-int{padding:0 8px 8px;gap:4px}
.emo-int button{width:auto;flex:1;font-size:.72rem;height:28px;padding:0 4px}

/* Dialog, Toast, Onboarding */
.modal-bg{position:fixed;inset:0;background:rgba(30,28,26,.42);display:flex;align-items:flex-end;justify-content:center;z-index:20;padding:16px;animation:fade .2s both}
@media (min-width:700px){.modal-bg{align-items:center}}
.modal{background:var(--card);border-radius:20px;max-width:560px;width:100%;max-height:88vh;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 30px 80px rgba(0,0,0,.25);animation:rise .3s var(--ease) both}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 20px;border-radius:99px;font-size:.88rem;z-index:30;display:flex;gap:8px;align-items:center;animation:rise .3s var(--ease) both;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.onb{max-width:540px;margin:0 auto;padding:44px 18px 40px;display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 36px)}
.onb .grow{flex:1}
.line-art{width:140px;height:40px}

/* Coach-Portal */
.k-main{padding:30px 34px 60px;min-width:0;display:flex;flex-direction:column;gap:18px;max-width:1200px}
@media (max-width:900px){.k-main{padding:18px 16px 110px}}

/* Bewegung */
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes grow{from{width:0}}
@keyframes pop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes rise{from{opacity:0;transform:translate(var(--tx,0),12px) scale(.98)}to{opacity:1;transform:translate(var(--tx,0),0) scale(1)}}
.toast{--tx:-50%}
@keyframes fade{from{opacity:0}}
@keyframes drop{from{transform:translateY(-10px);opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Fallnotiz in «Nach der Sitzung»: klar als privat abgesetzt */
.card.private-note{background:#f1eee9;border:1.5px dashed var(--line-2);box-shadow:none}
.card.private-note .cl{color:var(--ink)}
/* Fotos zu Fallnotizen */
.photos{display:flex;flex-wrap:wrap;gap:8px}
.photos:empty{display:none}
.photos .ph{width:84px;height:84px;padding:0;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:var(--soft);cursor:pointer;position:relative;display:block}
.photos .ph img{width:100%;height:100%;object-fit:cover;display:block}
.photos .ph.rm.off{opacity:.35;outline:2px solid var(--red)}
.photos .ph.rm.off::after{content:"entfernen";position:absolute;inset:auto 0 0 0;background:var(--red);color:#fff;font-size:.65rem;text-align:center;padding:2px 0}
.photos .ph.broken{display:grid;place-items:center;font-size:.7rem;color:var(--muted)}
.photo-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.photo-big img{display:block;max-width:100%;max-height:75vh;margin:0 auto;border-radius:8px}
/* Termin planen: gewählte Übungen */
.chip-x{background:transparent;border:0;color:inherit;font-size:1rem;line-height:1;padding:0 0 0 4px;cursor:pointer}
/* Heute: nächster Termin mit Vorbereitung */
.term-card{border-color:var(--line-2)}
.term-head{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;flex-wrap:wrap}
.term-head .eyebrow{display:block}
.term-when{display:block;font-family:var(--serif);font-size:1.3rem;line-height:1.25}
.term-head .small{display:block}
.term-more{display:inline-flex !important;align-items:center;gap:4px;color:var(--muted)}
.term-sub{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--ink)}
.term-prep{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.term-prep .chip{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
@media (max-width:600px){.term-more{flex-basis:100%;padding-left:50px}}
/* Abschluss einer Übung: Sprechblase «Stärke entdeckt?» – schwebt über der Seite, die Übung bleibt sichtbar */
.sa-bubble{position:fixed;right:24px;bottom:24px;z-index:30;width:340px;max-width:calc(100vw - 32px);max-height:60vh;overflow:auto;background:var(--card);border:1px solid var(--line-2);border-radius:18px 18px 4px 18px;padding:14px;box-shadow:0 14px 40px rgba(46,46,51,.22);display:flex;flex-direction:column;gap:8px;animation:fadeUp .35s var(--ease) both}
.sa-bubble::after{content:"";position:absolute;right:-1px;bottom:-9px;border:9px solid transparent;border-top-color:var(--card);border-right-color:var(--card);transform:skewX(-20deg)}
.sa-q{font-family:var(--serif);font-size:1rem;line-height:1.3;display:block}
.sa-x{background:transparent;border:0;font-size:1.4rem;line-height:1;color:var(--muted);cursor:pointer;padding:0 2px}
.sa-chips .chip{font-size:.78rem;padding:4px 10px}
.sa-more summary{cursor:pointer;margin-bottom:6px}
.sa-reopen{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:4px;border:0;border-radius:99px;background:var(--sage);color:#fff;font-weight:600;padding:10px 14px;box-shadow:0 8px 20px rgba(46,46,51,.2);cursor:pointer}
@media (max-width:900px){.sa-bubble{right:16px;left:16px;width:auto;max-width:none;bottom:82px;max-height:52vh}.sa-reopen{right:16px;bottom:82px}}
/* Tagebuch: direkt auf den Buchlinien schreiben – alles im 32-px-Zeilenraster, Felder ohne Rahmen */
.book .page{padding:32px 26px;line-height:32px}
.book .page *{line-height:32px}
.book .page-date,.book .page-q,.book .page label,.book .page p{margin:0}
.book .page-q{font-size:1.15rem}
.book .grat-ev{gap:12px;margin:0 0 32px}
.book .grat-ev>div{gap:0}
.book .grat-n{margin-top:2px}
.book .page input,.book .page textarea{display:block;width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0 2px;margin:0;height:32px;min-height:0;font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--ink);resize:none;overflow:hidden}
.book .page textarea{height:64px}
.book .page input::placeholder,.book .page textarea::placeholder{font-family:var(--sans);font-style:normal;font-size:.88rem;color:#857a6a}
.book .page input:focus,.book .page textarea:focus{outline:none;background:rgba(127,152,120,.1)}
/* Weiterschreiben-Fragen: als vollständige Textzeilen auf den Linien, antippbar */
.grat-prompts{display:flex;flex-direction:column}
.gp{display:flex;align-items:flex-start;gap:6px;width:100%;text-align:left;background:none;border:0;padding:0;margin:0;color:#5f7a5b;font:inherit;font-size:.92rem;cursor:pointer;white-space:normal}
.gp .ic{flex:none;width:16px;height:16px;margin-top:8px}
.gp:hover span{text-decoration:underline}
.book .page .hand{font-size:1.02rem}
@media (max-width:820px){.book .page{padding:32px 16px}}

/* ---------- Whiteboard ---------- */
.wb{display:flex;flex-direction:column;gap:8px;min-width:0}
.wb-bar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--sh)}
.wb-b{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:600 .85rem var(--sans);cursor:pointer;margin:0}
.wb-b:hover{background:var(--soft)}
.wb-b.on{background:var(--ink);color:#fff}
.wb-b svg{width:18px;height:18px}
.wb-pct{min-width:52px;font-variant-numeric:tabular-nums}
.wb-sep{width:1px;height:24px;background:var(--line);margin:0 4px}
.wb-cols{display:inline-flex;gap:4px;align-items:center}
.wb-sw{width:22px;height:22px;border-radius:50%;border:2px solid rgba(46,46,51,.15);padding:0;cursor:pointer;flex:none}
.wb-sw.on{outline:2px solid var(--ink);outline-offset:2px}
.wb-stage{position:relative;height:calc(100vh - 260px);min-height:380px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.wb-svg{display:block;width:100%;height:100%;touch-action:none}
.wb-stage[data-tool="hand"] .wb-svg{cursor:grab}
.wb-stage[data-tool="pen"] .wb-svg,.wb-stage[data-tool="rect"] .wb-svg,.wb-stage[data-tool="ellipse"] .wb-svg,.wb-stage[data-tool="arrow"] .wb-svg,.wb-stage[data-tool="postit"] .wb-svg,.wb-stage[data-tool="text"] .wb-svg{cursor:crosshair}
.wb-stage[data-tool="select"] .wb-it{cursor:move}
.wb-sel [data-h]{cursor:nwse-resize}
.wb-ctx{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 20px);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:5px;box-shadow:var(--sh-h);z-index:2}
.wb-pop{position:absolute;top:10px;left:10px;right:10px;max-width:340px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--sh-h);z-index:3}
.wb-pop button{border:0;background:transparent;font-size:1.4rem;line-height:1;padding:6px 0;border-radius:8px;cursor:pointer}
.wb-pop button:hover{background:var(--soft)}
.wb-status{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);background:rgba(255,253,249,.92);border:1px solid var(--line);border-radius:999px;padding:3px 10px;pointer-events:none}
.wb-dot{width:8px;height:8px;border-radius:50%;background:var(--beige)}
.wb-status.ok .wb-dot{background:var(--sage)}
.wb-empty{position:absolute;inset:auto 16px 50% 16px;text-align:center;color:var(--muted);font-size:.95rem;pointer-events:none}
.wb-ta{position:absolute;margin:0;padding:6px;border:2px solid #4f7cc0;border-radius:4px;background:#fff;font-family:var(--sans);line-height:1.3;resize:none;outline:none;overflow:hidden;z-index:2;box-shadow:var(--sh)}
.wb-ta.pt{text-align:center;padding:14px}
.wb.full{position:fixed;inset:0;z-index:15;background:var(--cream);padding:10px}
.wb.full .wb-stage{height:auto;flex:1;min-height:0}
body.wb-noscroll{overflow:hidden}
.wb-list li{gap:10px}
@media (max-width:700px){
  .wb-bar{gap:2px;padding:4px}
  .wb-b{min-width:34px;height:34px;padding:0 6px}
  .wb-sep{display:none}
  .wb-cols{padding:0 4px}
  .wb-stage{height:calc(100vh - 330px);min-height:340px}
  .wb.full{padding:6px}
}
.wb [hidden]{display:none!important}

/* ---------- Übersicht pro Sitzung ---------- */
.sess{gap:12px}
.sess.upcoming{border-color:#f3c9c4}
.sess-h{display:flex;align-items:center;gap:12px}
.sess-h .dotic{width:38px;height:38px;border-radius:50%;background:var(--soft);display:grid;place-items:center;flex:none;color:var(--red-text)}
.sess-sec{display:flex;flex-direction:column;gap:6px}
.sess-sec>.eyebrow{display:flex;align-items:center;gap:6px}
.sess-sec>.eyebrow svg{width:14px;height:14px}
.sess-l{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sess-it{display:flex;align-items:center;gap:10px;padding:10px 12px;color:var(--ink);text-decoration:none;flex-wrap:wrap}
.sess-it+.sess-it,.sess-l>*+*{border-top:1px solid var(--line)}
.sess-it:hover{background:var(--soft)}
.sess-it .hint,.sfold .hint{display:block}
.sess-it>svg:last-child{color:var(--muted)}
.sess-steps{margin:0;padding-left:1.2em}
.sfold summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
.sfold summary::-webkit-details-marker{display:none}
.sfold summary>svg:last-child{transition:transform .2s;color:var(--muted)}
.sfold[open] summary>svg:last-child{transform:rotate(180deg)}
.sfold>.stack{padding:0 12px 12px}

/* ---------- Potential-Transfer ---------- */
.pt-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:12px}
.pt-isle{display:flex;flex-direction:column;gap:10px;border-radius:12px;padding:14px;border:1px solid var(--line)}
.pt-isle.sit{background:#f7eedf;border-color:#e6d3b3}
.pt-isle.can{background:#eaf1e6;border-color:#cddcc6}
.pt-echo{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:var(--serif)}
.pt-echo ul{margin:6px 0 0;padding-left:1.2em;font-family:var(--sans)}
.pt-acts{display:flex;flex-wrap:wrap;gap:8px}
.pt-head{display:flex;align-items:center;gap:12px}
.pt-head h3{font-size:1.3rem}
.pt-num{width:34px;height:34px;border-radius:50%;background:var(--c,var(--ink));color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.pt-num svg{width:16px;height:16px}
.pt-hub{display:flex;flex-direction:column;gap:10px}
.pt-hub-it{display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--c);border-radius:12px;padding:14px;cursor:pointer;box-shadow:var(--sh)}
.pt-hub-it:hover{box-shadow:var(--sh-h)}
.pt-hub-it .hint{display:block}
.pt-hub-it.done{background:color-mix(in srgb,var(--c) 8%,var(--card))}
.pt-hub-it>svg:last-child{color:var(--muted);flex:none}
/* Schlussbild */
.ptx{position:relative;overflow:hidden;border-radius:20px;padding:22px 18px;color:#f4f1ec;background:radial-gradient(120% 80% at 100% 0%,rgba(227,32,47,.35),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(125,152,120,.28),transparent 60%),linear-gradient(160deg,#2e2e33,#1c1c21);box-shadow:0 18px 40px rgba(28,28,33,.28);display:flex;flex-direction:column;gap:10px}
.ptx-eyebrow{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffb3b9}
.ptx-eyebrow svg{width:16px;height:16px}
.ptx-skills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ptx-skill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid color-mix(in srgb,var(--c) 70%,transparent);font-weight:600;font-size:.92rem;backdrop-filter:blur(4px)}
.ptx-skill b{width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-size:.75rem}
.ptx-skill.light{background:var(--card);color:var(--ink);position:relative;padding-right:28px}
.ptx-skill.light .pi-x{top:50%;transform:translateY(-50%);right:6px}
.ptx-flow{display:block;width:100%;height:56px;margin:0 auto}
.ptx-sit{align-self:center;width:min(100%,460px);text-align:center;border-radius:12px;padding:16px;background:linear-gradient(135deg,#e3202f,#b81a26);box-shadow:0 10px 30px rgba(227,32,47,.35)}
.ptx-k{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.ptx-k2{margin-top:10px;text-align:center}
.ptx-sit-t{font-family:var(--serif);font-size:1.2rem;font-weight:600;line-height:1.3;margin-top:4px;color:#fff}
.ptx-goal{margin-top:8px;font-size:.88rem;opacity:.92;display:flex;gap:6px;justify-content:center;align-items:center}
.ptx-goal svg{width:14px;height:14px}
.ptx-take{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.ptx-card{border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-top:3px solid var(--c)}
.ptx-from{font-size:.74rem;color:#cfc8bf;margin-bottom:4px}
.ptx-to{font-weight:600;line-height:1.35;color:#fff}
.ptx-next{display:flex;gap:10px;align-items:flex-start;margin-top:4px;padding:12px 14px;border-radius:12px;background:rgba(125,152,120,.22);border:1px solid rgba(125,152,120,.5)}
.ptx-next svg{width:18px;height:18px;flex:none;margin-top:2px;color:#cfe0c9}
.pt-dact{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}
/* In der Detailansicht einer Fähigkeit führen nur «Zur Liste» und «Fertig» weiter */
#ex:has(.pt-head) + .footer-actions{display:none}
@media (max-width:620px){.pt-dact{flex-direction:column-reverse}.pt-dact .btn{width:100%;justify-content:center}}

.pt-echo li{display:flex;align-items:center;gap:6px}
.pt-x{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:2px 6px;border-radius:6px}
.pt-x:hover{background:var(--soft);color:var(--ink)}
.ptx-pick{gap:14px}
.ptx-grp{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ptx-grp>.ptx-skill{align-self:flex-start}
.ptx-chips{display:flex;flex-wrap:wrap;gap:8px}
.ptx-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.9rem;color:#f4f1ec;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.3);border-radius:999px;padding:7px 12px;cursor:pointer;text-align:left}
.ptx-chip svg{width:14px;height:14px;flex:none}
.ptx-chip:hover{background:rgba(255,255,255,.12)}
.ptx-chip.on{background:var(--c);border:1px solid var(--c);color:#fff;font-weight:600;box-shadow:0 4px 14px color-mix(in srgb,var(--c) 45%,transparent)}
.ptx-sit.small-sit{padding:12px}
.ptx-sit.small-sit .ptx-sit-t{font-size:1.02rem}
.pt-xfer{display:flex;flex-direction:column;gap:10px}
.pt-xf{background:var(--card);border:1px solid var(--c);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh)}
.pt-xf-h{font-size:.86rem;color:var(--muted)}
.pt-xf-h b{color:var(--ink)}

/* ---------- Notfallkoffer ---------- */
.kof{position:relative;padding-top:22px;max-width:640px;margin:0 auto;width:100%}
.kof-handle{position:absolute;top:0;left:50%;transform:translateX(-50%);width:110px;height:34px;border:7px solid #2e2e33;border-bottom:0;border-radius:18px 18px 0 0}
.kof-body{position:relative;border-radius:22px;padding:16px;background:linear-gradient(160deg,#e3202f,#b81a26);box-shadow:0 14px 34px rgba(184,26,38,.32),inset 0 -6px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;gap:12px}
.kof-body::before,.kof-body::after{content:"";position:absolute;top:12px;bottom:12px;width:6px;border-radius:4px;background:rgba(0,0,0,.14)}
.kof-body::before{left:22%}.kof-body::after{right:22%}
.kof-title{position:relative;z-index:1;color:#fff;font-family:var(--serif);font-weight:600;font-size:1.15rem;text-align:center}
.kof-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.kof-fach{background:color-mix(in srgb,var(--c) 70%,#fff);border-radius:12px;padding:10px 12px;box-shadow:0 3px 10px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:8px}
.kof-fh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2e2e33}
.kof-fh b{min-width:24px;height:24px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:.8rem}
.kof-tags{display:flex;flex-wrap:wrap;gap:6px}
.kof-tags span{background:#fffdf9;border-radius:8px;padding:4px 8px;font-size:.84rem;line-height:1.3;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.kof.mini .kof-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.kof.mini .kof-fach{cursor:pointer;opacity:.82;padding:8px 10px}
.kof.mini .kof-fach.full{opacity:1}
.kof.mini .kof-fach.cur{outline:3px solid #fff;outline-offset:1px;opacity:1}
.kof-mut{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.kof-note{background:#fff1a8;color:#2e2e33;padding:10px 12px;border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,.18);transform:rotate(-1.5deg);max-width:280px;font-family:var(--serif);font-size:.95rem}
.kof-note:nth-child(2n){transform:rotate(1.5deg)}
.nk-panel{border:1px solid var(--line);border-top:5px solid var(--c);border-radius:12px;background:var(--card);padding:14px;display:flex;flex-direction:column;gap:10px}
.nk-chips{display:flex;flex-wrap:wrap;gap:8px}
.nk-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.9rem;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:8px 12px;cursor:pointer;position:relative}
.nk-chip svg{width:14px;height:14px;flex:none;color:var(--muted)}
.nk-chip.on{background:color-mix(in srgb,var(--c) 75%,#fff);border-color:color-mix(in srgb,var(--c) 60%,#2e2e33);font-weight:600}
.nk-chip.on svg{color:var(--ink)}
.nk-chip.own{padding-right:28px}
.nk-chip.own .pi-x{top:50%;transform:translateY(-50%)}
.nk-sub{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* ---------- Timeline ---------- */
.tl-line{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-top:6px}
.tl-line::before{content:"";position:absolute;left:8%;right:4%;top:30px;height:3px;background:linear-gradient(90deg,#6b86a0,#e3202f,#8a5fb0,#e8a33a,#5c9a5a);border-radius:3px}
.tl-line::after{content:"";position:absolute;right:0;top:24px;border:8px solid transparent;border-left:12px solid #5c9a5a}
.tl-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:center}
div.tl-node{cursor:default}
.tl-dot{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:3px solid var(--c);color:var(--c);box-shadow:var(--sh);transition:transform .15s}
.tl-node:hover .tl-dot{transform:scale(1.06)}
.tl-node.ev .tl-dot{width:56px;height:56px;margin-top:-4px}
.tl-node.done .tl-dot{background:var(--c);color:#fff}
.tl-lbl{font-size:.8rem;font-weight:600;line-height:1.25}
.tl-axis{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.tlr{display:flex;flex-direction:column;gap:14px}
.tlr-ev{border-radius:12px;padding:14px 16px;background:linear-gradient(135deg,#2e2e33,#1c1c21);color:#f4f1ec;display:flex;flex-direction:column;gap:4px}
.tlr-ev>div:nth-child(2){font-family:var(--serif);font-size:1.1rem;color:#fff}
.tlr-list{position:relative;display:flex;flex-direction:column;gap:12px;padding-left:4px}
.tlr-list::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:3px;background:linear-gradient(180deg,#6b86a0,#e3202f,#8a5fb0,#e8a33a,#5c9a5a);border-radius:3px}
.tlr-st{position:relative;display:flex;gap:12px;align-items:flex-start}
.tlr-dot{width:40px;height:40px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 0 0 4px var(--cream)}
.tlr-dot svg{width:18px;height:18px}
.tlr-b{flex:1;min-width:0;background:var(--card);border:1px solid var(--c);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:8px}
.tlr-q{font-size:.78rem;color:var(--muted)}
.tlr-a{font-size:.95rem}
.tlr-voice{border-radius:12px;padding:16px;background:linear-gradient(135deg,#5c9a5a,#3f7a45);color:#fff;text-align:center}
.tlr-voice>div{font-family:var(--serif);font-size:1.2rem;margin-top:4px}
#ex:has(.tl-detail) + .footer-actions{display:none}
@media (max-width:520px){.tl-dot{width:40px;height:40px}.tl-node.ev .tl-dot{width:46px;height:46px}.tl-line::before{top:26px}.tl-line::after{top:20px}.tl-lbl{font-size:.7rem}.tl-axis{font-size:.6rem}}

/* ---------- Beobachtungsaufgabe ---------- */
.beo-task{display:flex;gap:14px;align-items:flex-start;border-radius:12px;padding:16px;background:linear-gradient(135deg,#dbe6f0,#eef3f7);border:1px solid #c9d7e3}
.beo-ic{width:46px;height:46px;border-radius:12px;background:#6b86a0;color:#fff;display:grid;place-items:center;flex:none}
.beo-txt{font-family:var(--serif);font-size:1.12rem;line-height:1.4;margin-top:4px}
.beo-pick{display:flex;flex-direction:column;gap:8px}
.beo-opt{display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;cursor:pointer}
.beo-opt.on{border-color:#6b86a0;box-shadow:inset 0 0 0 2px #6b86a0;background:#f2f6fa}
.beo-opt>span:last-child{font-size:.9rem;color:var(--muted)}
.beo-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.beo-day{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.72rem;color:var(--muted)}
.beo-day b{width:30px;height:30px;border-radius:50%;border:2px dashed var(--line-2);display:grid;place-items:center;color:#fff;font-size:.8rem}
.beo-day.on b{background:#6b86a0;border:2px solid #6b86a0}
.beo-add{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.beo-list{display:flex;flex-direction:column;gap:8px}
.beo-e{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px 12px}
/* Coach: Beziehungsgestaltung */
.bez-box{background:var(--soft);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.bez-box ul{margin:0;padding-left:1.2em}
.bez-ann summary{cursor:pointer;display:flex;gap:8px;align-items:center;font-weight:600;font-size:.92rem}
.bez-ann ol{padding-left:1.3em}
.nk-chips.long{max-height:340px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}

/* ---------- Runde 5: Schmunzellinie, Ampel, Eisberg, Selbstgespräch, Weg, Grenzen ---------- */
.src-note{display:flex;gap:6px;align-items:flex-start}
.src-note svg{width:14px;height:14px;flex:none;margin-top:3px}
.sch-svg,.weg-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:12px}
.sch-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.sch-l>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:.92rem}
.sch-l b{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.amp-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}
.amp-n{display:grid;place-items:center;height:38px;border-radius:8px;background:var(--c);color:#fff;font-weight:700}
.amp-ends{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--muted);margin-top:4px}
.amp-seg{flex-wrap:wrap;width:100%}
.amp-seg button{flex:1;min-width:30px}
.amp-seg button:disabled{opacity:.3}
.amp{display:flex;gap:14px;align-items:stretch}
.amp-box{width:72px;flex:none;background:#2e2e33;border-radius:22px;padding:10px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;gap:10px;box-shadow:var(--sh-h)}
.amp-l{width:50px;height:50px;border-radius:50%;background:var(--c);box-shadow:0 0 18px var(--c),inset 0 -6px 0 rgba(0,0,0,.18)}
.amp-rows{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.amp-row{flex:1;background:var(--card);border:1px solid var(--c);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.amp-h{font-size:.9rem}
.amp-t{font-size:.9rem}
.amp-t span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ice{width:100%;align-self:stretch;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.ice-sky{background:linear-gradient(180deg,#eef4f8,#dbe6f0);padding:18px 16px 0;display:flex;justify-content:center}
.ice-tip{width:min(70%,360px);min-height:60px;background:#fff;border-radius:40px 40px 0 0;padding:14px 12px 10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-content:flex-end;box-shadow:inset 0 -4px 0 #e6eef4}
.ice-sea{position:relative;background:linear-gradient(180deg,#3d6e9b,#1e3f61);padding:0 12px 18px;display:flex;flex-direction:column;align-items:center}
.ice-wl{align-self:stretch;text-align:right;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#cfe0e8;padding:4px 2px;border-top:2px solid #9fc1da}
.ice-under{width:min(96%,560px);min-height:90px;background:#cfe0e8;border-radius:0 0 50% 50% / 0 0 34% 34%;padding:14px 16px 28px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-content:flex-start}
.ice-tip span,.ice-it{font:inherit;font-size:.88rem;background:#fff;border:1px solid rgba(46,46,51,.12);border-radius:8px;padding:5px 10px;color:var(--ink)}
.ice-tip em,.ice-under em{color:var(--muted);font-size:.85rem}
button.ice-it{cursor:pointer}
.ice-it{display:inline-flex;align-items:center;gap:4px}
.ice-it svg{width:14px;height:14px}
.ice-it.up{background:#fff1a8;border-color:#e8a33a;font-weight:600;box-shadow:0 0 0 3px rgba(232,163,58,.35)}
.bubble-in{background:#eceef1;border-radius:18px 18px 18px 4px;padding:12px 14px}
.sg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.sg-c{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.sg-ct{font-family:var(--serif);font-size:1.05rem}
.sg-pick{display:flex;flex-direction:column;gap:8px}
.sg-p{font:inherit;text-align:left;font-family:var(--serif);font-size:1.02rem;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--ink)}
.sg-p.on{background:#fff1a8;border-color:#e8a33a;box-shadow:inset 0 0 0 2px #e8a33a}
.sg{display:flex;flex-direction:column;align-items:center;gap:6px}
.sg-old{width:100%;max-width:460px;background:#eceef1;color:#6e6862;border-radius:12px;padding:12px 14px;text-decoration:line-through;text-decoration-color:rgba(227,32,47,.6)}
.sg-old .ptx-k{text-decoration:none;display:block}
.sg-arrow{color:var(--red-text)}
.sg-new{width:100%;max-width:460px;border-radius:18px;padding:18px;text-align:center;color:#fff;background:radial-gradient(120% 90% at 100% 0%,rgba(227,32,47,.45),transparent 60%),linear-gradient(160deg,#2e2e33,#1c1c21);box-shadow:0 14px 34px rgba(28,28,33,.25)}
.sg-m{font-family:var(--serif);font-size:1.45rem;line-height:1.3;margin:6px 0}
.weg-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.weg-l>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.weg-l ol,.weg-l ul{margin:6px 0 0;padding-left:1.2em}
.weg-l ul{list-style:none;padding:0}
.weg-l li{display:flex;gap:6px;align-items:center}
.weg-l li svg{width:14px;height:14px;color:var(--red-text)}
.gfk{display:flex;flex-direction:column;gap:8px}
.gfk-s{display:flex;gap:12px;align-items:flex-start;margin-left:calc(var(--i) * 18px);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;opacity:.75}
.gfk-s.on{opacity:1;border-color:#c9d7e3;box-shadow:var(--sh)}
.gfk-n{width:28px;height:28px;border-radius:50%;background:#6b86a0;color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.gfk-s.on .gfk-n{background:#5c9a5a}
.gfk-say{border-radius:18px;padding:16px;background:linear-gradient(135deg,#6b86a0,#4d6a86);color:#fff}
.gfk-say>div{font-family:var(--serif);font-size:1.15rem;line-height:1.4;margin-top:4px}
@media (max-width:520px){.gfk-s{margin-left:calc(var(--i) * 8px)}.amp-box{width:56px}.amp-l{width:38px;height:38px}.amp-n{height:30px;font-size:.8rem}}

/* Bibliothek nach Themen */
.list li.lib-h{padding:18px 0 8px;gap:10px;font-family:var(--serif);font-weight:600;font-size:1.08rem;border-bottom:2px solid var(--line-2)}
.list li.lib-h:first-child{padding-top:10px}
.lib-h-ic{width:30px;height:30px;border-radius:8px;background:var(--red-soft);color:var(--red-text);display:grid;place-items:center}
.lib-h-ic svg{width:16px;height:16px}
.lib-h-n{margin-left:auto;font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--muted);background:var(--soft);border-radius:999px;padding:2px 10px}
.protobar .stand{opacity:.7;font-size:.72rem}

/* ---------- AIMS-D: Fragebogen mit automatischer Auswertung ---------- */
.aims-ends{display:flex;gap:6px;align-items:center;font-size:.86rem;color:var(--ink-2);background:var(--sage-soft);border-radius:var(--r-s);padding:8px 12px;margin:0 0 12px}
.aims-ends svg{width:16px;height:16px;flex:none}
.aims-q{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:10px;transition:border-color .2s}
.aims-q.done{border-color:var(--sage)}
.aims-t{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin-bottom:10px;line-height:1.4}
.aims-no{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:.78rem;font-weight:700}
.aims-q.done .aims-no{background:var(--sage)}
.aims-row{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.aims-b{height:40px;min-width:0;padding:0;border-radius:8px;border:1px solid var(--line-2);background:var(--soft);color:var(--ink);font:600 1rem var(--sans);cursor:pointer}
.aims-b:hover{border-color:var(--ink-3)}
.aims-b.on{background:var(--red);border-color:var(--red);color:#fff}
.aims-lab{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--muted);margin-top:5px}
.aims-res{display:flex;flex-direction:column;gap:12px}
.aims-f{background:var(--card);border:1px solid var(--c);border-radius:var(--r-s);padding:10px 12px}
.aims-f.tot{background:var(--ink);border-color:var(--ink);color:#fff}
.aims-fh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.aims-v{font:700 1.5rem var(--serif);color:var(--c)}
.aims-f.tot .aims-v{color:#fff}
.aims-bar{position:relative;height:10px;border-radius:6px;background:var(--line);margin:6px 0 4px}
.aims-f.tot .aims-bar{background:rgba(255,255,255,.2)}
.aims-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--c)}
.aims-f.tot .aims-bar span{background:#ff2837}
.aims-bar i{position:absolute;top:-4px;width:3px;height:18px;margin-left:-1.5px;border-radius:2px;background:var(--ink);opacity:.55}
.aims-f.tot .aims-bar i{background:#fff;opacity:.8}
.aims-fs{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.76rem;color:var(--muted)}
.aims-f.tot .aims-fs{color:rgba(255,255,255,.75)}
.aims-scale{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted);padding:0 2px;margin-top:-6px}
.aims-det summary{cursor:pointer;font-weight:600;font-size:.9rem}
.aims-det ol{margin:8px 0 0;padding-left:1.4em;font-size:.86rem}
.aims-det li{padding:4px 0;border-bottom:1px solid var(--line)}
.aims-det li span{display:inline}
.aims-det li b{float:right;margin-left:10px}

/* ---------- Runde Council: Zugänglichkeit, Archiv, Sprechblase ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sa-vis{display:flex;gap:5px;align-items:center;margin-top:3px}
.sa-vis svg{width:14px;height:14px;flex:none}
.sa-bubble.compact{gap:10px}
.arch .list li{gap:10px;flex-wrap:wrap}
.dotb{width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:9px;flex:none}
.aims-d{font-size:.8rem;color:var(--ink-2);margin-top:2px;line-height:1.35}
.aims-f.tot .aims-d{color:rgba(255,255,255,.8)}

/* Handy: Bedienelemente mindestens 44 px hoch (Fingergrösse), Reiter seitlich wischbar statt umbrechen */
@media (max-width:900px){
  .btn.s{min-height:44px;padding:8px 14px}
  .seg button{height:44px;min-width:40px}
  .round{width:44px;height:44px}
  .back{min-height:44px;padding:4px 0}
  .check input{width:24px;height:24px}
  .wb-b{min-width:44px;height:44px}
  .wb-sw{width:28px;height:28px;margin:8px 4px}
  .sa-x{min-width:44px;min-height:44px}
  .chip{min-height:40px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{white-space:nowrap;flex:none;padding:12px 13px}
  .fav{min-width:44px;min-height:44px;justify-content:center;align-items:center}
}

/* ---------- Circle of Influence: drei ineinanderliegende Kreise ---------- */
.coi{margin:4px 0}
.coi-r{border-radius:32px;padding:12px 12px 14px;display:flex;flex-direction:column;gap:8px;text-align:center}
.coi-s{background:#f1ece4;border:2px dashed #b9ad9f}
.coi-e{background:#e3ecf5;border:2px solid #9db8d8;border-radius:28px}
.coi-k{background:#fbe5e3;border:2px solid var(--red);border-radius:24px}
.coi-l b{display:block;font-family:var(--serif);font-size:1rem}
.coi-l span{font-size:.8rem;color:var(--ink-2)}
.coi-cs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.coi-c{display:inline-flex;align-items:center;gap:4px;background:var(--card);border-radius:8px;padding:4px 10px;font-size:.84rem;box-shadow:0 1px 2px rgba(46,46,51,.12)}
.coi-c.nx{background:var(--red);color:#fff;font-weight:600}
.coi-c svg{width:14px;height:14px}
.coi-none{color:var(--muted);font-size:.85rem}
.coi-pick{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.coi-pt{font-weight:500}
.coi-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.coi-seg button{width:auto;min-height:40px;font-size:.84rem}
.coi-seg button.on.z-k{background:var(--red);border-color:var(--red)}
.coi-seg button.on.z-e{background:#4f7cc0;border-color:#4f7cc0}
.coi-seg button.on.z-s{background:#6f665d;border-color:#6f665d}
.coi-next{display:flex;gap:6px;align-items:center;margin-top:6px}
.coi-next svg{width:16px;height:16px;color:var(--red)}

/* ---------- 1%-Gewohnheit: Meine Gewohnheiten heute ---------- */
.gew-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;color:var(--ink-2)}
.gew-legend b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--c);color:#fff;margin-right:4px}
.gew-row{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);padding:8px}
.gew-row input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:6px 4px}
.gew-no{flex:none;width:22px;text-align:center;color:var(--muted);font-size:.85rem}
.gew-seg{display:flex;gap:4px;flex:none}
.gew-seg button{width:40px;font-weight:700;font-size:1rem}
.gew-seg button.on{background:var(--c);border-color:var(--c);color:#fff}
.gew-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:560px){.gew-g{grid-template-columns:1fr}}
.gew-col{border:1px solid var(--line);border-top:4px solid var(--c);border-radius:var(--r-s);background:var(--card);padding:10px}
.gew-h{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px}
.gew-h b{margin-left:auto;color:var(--c)}
.gew-m{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--c);color:#fff}
.gew-l{display:flex;flex-wrap:wrap;gap:6px}
.gew-l span{background:var(--soft);border-radius:8px;padding:4px 9px;font-size:.86rem}
@media (max-width:560px){.gew-row{flex-wrap:wrap}.gew-row input{flex:1 1 calc(100% - 34px)}.gew-seg{margin-left:30px}}

/* ---------- Kurze Tour: Hervorhebung und Erklärkarte ---------- */
#tour{position:fixed;inset:0;z-index:200}
.tour-hole{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px rgba(30,28,33,.6);outline:3px solid #ff2837;outline-offset:0;transition:left .3s var(--ease),top .3s var(--ease),width .3s var(--ease),height .3s var(--ease);pointer-events:none;animation:tourPulse 1.8s ease-in-out infinite}
.tour-hole.none{left:50%;top:50%;width:0;height:0;outline:0;animation:none}
@keyframes tourPulse{0%,100%{outline-color:#ff2837}50%{outline-color:rgba(255,40,55,.45)}}
.tour-card{position:fixed;background:var(--card);border-radius:18px;padding:16px 18px;box-shadow:0 18px 50px rgba(0,0,0,.32);display:flex;flex-direction:column;gap:8px;animation:fadeUp .3s var(--ease) both}
.tour-n{font-size:.75rem;color:var(--muted);font-weight:600;letter-spacing:.08em}
.tour-card h3{margin:0;color:var(--red-text);font-size:1.2rem}
.tour-card p{margin:0;line-height:1.5}
.tour-tip{font-size:.85rem;color:var(--ink-2);display:flex;gap:6px;align-items:center}
.tour-tip svg{width:16px;height:16px;color:var(--red);flex:none}
.tour-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
@media (prefers-reduced-motion:reduce){.tour-hole{animation:none;transition:none}}

/* ---------- Bildauswahl ---------- */
.bild-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
@media (max-width:420px){.bild-grid{grid-template-columns:repeat(2,1fr)}}
.bild-it{position:relative;padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;background:var(--soft);cursor:pointer;aspect-ratio:4/3;display:block}
.bild-it img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s var(--ease)}
.bild-it:hover img{transform:scale(1.04)}
.bild-it.on{border-color:var(--red);box-shadow:0 6px 18px rgba(227,32,47,.25)}
.bild-ck{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center}
.bild-ck svg{width:16px;height:16px}
.bild-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.bild-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.bild-card img{width:100%;max-height:340px;object-fit:cover;display:block}
.bild-card figcaption{padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.bild-l{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.bild-t{white-space:pre-wrap}

/* ---------- Übergangskompass ---------- */
.aims-row.kp-s5{grid-template-columns:repeat(5,1fr)}
.kp-facts{margin:4px 0 0;padding-left:1.2em;font-size:.92rem}
.kp-facts li{margin:3px 0}
.kp-own{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.kp-own>div{flex:1;min-width:180px}
.kp-help{background:var(--sage-soft);border-radius:var(--r-s);padding:12px 14px;font-size:.88rem}
.kp-help p{margin:4px 0 0}
.kp-help a{color:inherit;font-weight:700}
.kp-res{display:flex;flex-direction:column;gap:16px}
.kp-res h3{font:600 1.05rem var(--serif);margin:0 0 8px}
.kp-kicker{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--red-text)}
.kp-type{font:600 1.5rem var(--serif);margin:0}
.kp-res>p{margin:0}
.kp-grid{display:flex;flex-direction:column;gap:18px}
.kp-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.kp-radar{width:100%;max-width:520px;height:auto;display:block;margin:0 auto}
.kp-radar text{font:600 18px var(--sans);fill:var(--ink)}
.kp-ring{fill:none;stroke:var(--line-2);stroke-width:1}
.kp-axis{stroke:var(--line-2);stroke-width:1}
.kp-shape{fill:rgba(227,32,47,.18);stroke:var(--red);stroke-width:2.5;stroke-linejoin:round}
.kp-prev{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-dasharray:5 4;opacity:.55}
.kp-dot{fill:var(--red)}
.kp-cap{text-align:center;margin:4px 0 8px}
.kp-vals{list-style:none;margin:0;padding:0;font-size:.86rem}
.kp-vals li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--line)}
.kp-vals li span{flex:1;min-width:0}
.kp-vals li small{flex-basis:100%;text-align:right;color:var(--muted);font-size:.74rem}
.kp-fac{margin-bottom:10px;--c:var(--ink)}
.kp-fac:first-of-type{--c:var(--red)}
.kp-fh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.88rem}
.kp-v{font:700 1.15rem var(--serif);white-space:nowrap}
.kp-v small{font:400 .74rem var(--sans);color:var(--muted)}
.kp-n{font-size:.86rem;background:var(--soft);border-radius:var(--r-s);padding:8px 10px;margin:8px 0 0}
.kp-item{margin-bottom:10px}
.kp-item p{margin:3px 0 0;font-size:.9rem}
.kp-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);padding:9px 12px;margin-top:8px;font-size:.88rem}
.kp-box b{display:block;margin-bottom:2px}
@media (max-width:700px){.kp-cols{grid-template-columns:1fr}}
@media (max-width:900px){.aims-row.kp-s5 .aims-b,.aims-row .aims-b{height:44px}}

/* ---------- Terminanfragen ---------- */
.pill.amber{background:#fbeccf;border-color:transparent;color:#7a5410;vertical-align:middle;margin-left:6px}
.pill.amber svg{width:13px;height:13px}
.card.req{gap:10px}
.card.req .row{align-items:flex-start;flex-wrap:nowrap}
.req-act{justify-content:flex-end;flex-wrap:wrap!important;gap:8px}
.nbadge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#fff;color:var(--red-text);font-size:.72rem;font-weight:700;margin-left:auto}
.bnav a{position:relative}
.bnav .nbadge{position:absolute;top:4px;left:calc(50% + 6px);margin:0;background:var(--red);color:#fff}

/* ---------- Ruhigere Gestaltung (weniger Standard-Muster) ----------
   Keine Symbole vor kleinen Überschriften und Karten-Titeln, keine Symbol-Kreise, keine Pfeil-Knöpfe auf jeder Karte. */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.sec-head>svg,.card .cl>svg,.card .cl>.ic{display:none}
.next-ic{width:24px;height:24px;background:none;border-radius:0;color:var(--muted)}
.task-ic{display:none}
.task-b{padding-top:16px}
.task-f .round{display:none}
.eyebrow.term-sub>svg{display:none}

/* ---------- Sport-Werkzeuge: Skalen, Videoanalyse, Woche im Gleichgewicht ---------- */
.sc-row{margin:10px 0 14px}
.sc-l{font-weight:600;font-size:.92rem;margin-bottom:6px}
.sc-seg{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.sc-seg button{width:auto;min-width:0;height:44px}
.sc-ends{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--muted);margin-top:4px}
.ns-edit{gap:6px}
.ns-video{display:flex;flex-direction:column;gap:10px}
.ns-scene{border:1px solid var(--line);border-radius:var(--r-s);padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.ns-sh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bal{display:flex;flex-direction:column;gap:10px}
.bal-r{display:grid;grid-template-columns:minmax(110px,1.3fr) 2fr auto;gap:10px;align-items:center}
.bal-n{font-size:.9rem;font-weight:600}
.bal-bar{position:relative;height:12px;border-radius:6px;background:var(--line)}
.bal-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--ink)}
.bal-bar i{position:absolute;top:-4px;width:3px;height:20px;margin-left:-1.5px;border-radius:2px;background:var(--red)}
.bal-e{font-size:.8rem;white-space:nowrap;color:var(--muted)}
.bal-e.e1,.bal-e.e2{color:var(--red-text)}
.bal-e.e4,.bal-e.e5{color:#4d6449}
.bal-e small{color:var(--muted)}
.bal-own{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
@media (max-width:520px){.bal-r{grid-template-columns:1fr auto}.bal-bar{grid-column:1/-1;order:3}}

/* ---------- Abschluss-Dossier (Ansicht und PDF über «Drucken → Als PDF speichern») ---------- */
.abs-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 36px;display:flex;flex-direction:column;gap:22px;color:#2e2e33}
.doc-head{display:flex;gap:24px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}
.doc-head .logo-img{width:110px;height:auto;flex:none}
.doc-head h1{margin:0 0 6px;font-size:1.7rem}
.doc-meta{font-size:.92rem;color:var(--ink-2);line-height:1.5}
.doc-intro{margin:0;color:var(--ink-2)}
.doc-sec h2{font:600 1.15rem var(--serif);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.doc-big{font:600 1.2rem var(--serif);margin:0}
.doc-list{margin:4px 0;padding-left:1.2em}
.doc-list li{margin:3px 0}
.doc-item{margin-bottom:10px}
.doc-date{font-size:.8rem;color:var(--muted)}
.doc-tree{max-width:300px}
.doc-tree svg{display:block;width:100%;height:auto;max-height:190px}
.doc-ex{border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.doc-ex-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.doc-ex-h h3{margin:0;font:600 1.05rem var(--serif)}
.doc-foot{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.abs-del{margin-top:6px}
@media (max-width:600px){.doc{padding:20px 16px}.doc-head{flex-direction:column;gap:10px}}
@media print{
  @page{margin:16mm 14mm}
  html,body{background:#fff!important}
  .protobar,.side,.bnav,.mlogo,.no-print,#tour,.toast,.sa-bubble,.sa-reopen,.modal-bg{display:none!important}
  .shell{display:block!important}
  .k-main,.c-main{padding:0!important;max-width:none!important}
  .view-enter{animation:none!important}
  .doc{border:0;padding:0;gap:16px}
  .doc-ex,.doc-item,.doc-sec h2,.doc-head{break-inside:avoid}
  .doc-sec h2{break-after:avoid}
  a{color:inherit;text-decoration:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
