:root{
  --bg:#070b10; --panel:#0e151d; --panel2:#131d27; --line:#22313f; --ink:#dfe8ef; --mute:#8aa0b2;
  --acc:#5fd3a8; --acc2:#ffc857; --warn:#ff6b6b; --blue:#6bb8ff;
  color-scheme: dark;
}
*{box-sizing:border-box}
.eq,bdi.eq{direction:ltr;unicode-bidi:isolate}
/* RTL: zalomený LTR vzorec uprostřed RTL odstavce Chrome přeskládá po řádcích ((1 místo 1)); jako inline-block se zalomí uvnitř sebe a zůstane čitelný */
[dir=rtl] .eq,[dir=rtl] bdi.eq{display:inline-block;max-width:100%;text-align:left}
.val,.stats b,.legend b{unicode-bidi:isolate;direction:ltr}
#lang{width:auto;margin:0;padding:3px 6px}
[dir=rtl] body{font-family:system-ui,"Segoe UI",Tahoma,"Noto Sans Arabic","Noto Naskh Arabic",sans-serif}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
header{display:flex;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid var(--line);background:#0a1016;flex-wrap:wrap}
.brand{font-weight:700;letter-spacing:.04em}
.brand small{color:var(--mute);font-weight:400;margin-inline-start:6px}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav button{background:transparent;color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit}
nav button.on{color:#06110c;background:var(--acc);border-color:var(--acc);font-weight:600}
.hdr-right{margin-inline-start:auto;display:flex;gap:10px;align-items:center;color:var(--mute);font-size:12px}
.chip{border:1px solid var(--line);border-radius:999px;padding:3px 10px}
body{display:flex;flex-direction:column}
main{display:grid;grid-template-columns:1fr 360px;flex:1;min-height:0}
#view{position:relative;overflow:hidden;min-height:300px}
#panel{background:var(--panel);border-inline-start:1px solid var(--line);overflow:auto;padding:10px 12px 40px}
.sec{border:1px solid var(--line);border-radius:10px;margin:0 0 10px;background:var(--panel2)}
.sec summary{cursor:pointer;padding:8px 10px;font-weight:600;list-style:none}
.sec summary::before{content:"▸ ";color:var(--mute)} .sec[open] summary::before{content:"▾ "}
[dir=rtl] .sec summary::before{content:"◂ "} [dir=rtl] .sec[open] summary::before{content:"▾ "}
.sec-body{padding:2px 10px 10px}
.note{color:var(--mute);font-size:12.5px;margin:4px 0 8px}
.note b,.note strong{color:var(--ink)}
.ctl{display:block;margin:8px 0}
.ctl .lbl,.bar .lbl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mute)}
.ctl .val,.bar .val{color:var(--ink);font-variant-numeric:tabular-nums}
input[type=range]{width:100%;accent-color:var(--acc)}
select{width:100%;margin-top:4px;background:#0a1016;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px}
.tgl{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:13px;cursor:pointer}
.btn{background:#18263a;color:var(--ink);border:1px solid #2b4058;border-radius:8px;padding:7px 10px;cursor:pointer;font:inherit;font-size:13px;margin:3px 0}
.btn:hover{border-color:var(--acc)}
.btn.pri{background:var(--acc);color:#06110c;border-color:var(--acc);font-weight:600}
.btn.warn{background:#3a1a1e;border-color:#6b2a31}
.btnrow{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.btnrow .btn{flex:1 1 auto}
.stats{display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:12.5px;margin:6px 0}
.stats span{color:var(--mute)} .stats b{font-variant-numeric:tabular-nums;text-align:end;font-weight:600}
.stats b.g{color:var(--acc)} .stats b.y{color:var(--acc2)} .stats b.r{color:var(--warn)} .stats b.bl{color:var(--blue)}
.bar{margin:7px 0}
.bar .track{height:8px;border-radius:5px;background:#0a1016;border:1px solid var(--line);overflow:hidden;margin-top:3px}
.bar .track i{display:block;height:100%;width:0;transition:width .15s}
.log{font-size:12px;color:var(--mute);max-height:150px;overflow:auto}
.log div{padding:3px 0;border-bottom:1px dashed #1c2834}
.log .ev{color:var(--acc2)} .log .bad{color:var(--warn)} .log .ok{color:var(--acc)}
.edu3d-label{font-size:11.5px;color:#e9f2f8;background:rgba(6,12,18,.72);border:1px solid rgba(120,160,190,.35);padding:2px 7px;border-radius:6px;text-shadow:0 1px 2px #000}
.edu3d-label.big{font-size:13px;font-weight:700;letter-spacing:.08em;background:none;border:none;color:rgba(200,225,240,.55)}
.edu3d-label.warn{border-color:var(--warn);color:#ffd0d0}
.edu3d-label.ok{border-color:var(--acc)}
canvas.chart{width:100%;display:block;background:#0a1016;border:1px solid var(--line);border-radius:8px;margin-top:6px}
.legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--mute);margin:5px 0}
.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-inline-end:4px;vertical-align:-1px}
.legend b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
#hint{position:absolute;inset-inline-start:12px;bottom:10px;font-size:12px;color:var(--mute);background:rgba(7,11,16,.7);padding:5px 9px;border-radius:8px;pointer-events:none}
#info{position:absolute;inset-inline-start:12px;top:12px;max-width:min(420px,calc(100% - 24px));background:rgba(10,16,22,.92);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:none;font-size:13px}
#info h4{margin:0 0 4px;font-size:14px;color:var(--acc)}
#info .x{position:absolute;inset-inline-end:8px;top:4px;cursor:pointer;color:var(--mute)}
#hud{position:absolute;inset-inline-end:12px;top:12px;font-size:12px;color:var(--mute);text-align:end;pointer-events:none}
#err{padding:30px;color:var(--warn)}
@media (max-width:860px){
  main{grid-template-columns:1fr;grid-template-rows:56vh auto;flex:none}
  html,body{height:auto}
  #panel{border-inline-start:none;border-top:1px solid var(--line)}
  .hdr-right .chip{display:none}
}

/* přepínač skupin modulů (Biologie / Chemie / …) */
.groups{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.groups button{background:transparent;color:var(--mute);border:0;border-inline-end:1px solid var(--line);padding:6px 12px;cursor:pointer;font:inherit;font-weight:600}
.groups button:last-child{border-inline-end:0}
.groups button.on{background:var(--acc2);color:#1b1300}
.groups button .ico{margin-inline-end:6px}
.subtitle{color:var(--mute);font-size:12px}
/* chemie: paleta nástrojů, karty vlastností, ikony vůní */
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:5px;margin:6px 0}
.tools .btn{margin:0;padding:6px 4px;font-size:12.5px}
.btn.on{border-color:var(--acc2);box-shadow:inset 0 0 0 1px var(--acc2);color:var(--acc2)}
.card{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0;background:#0a1016;font-size:13px}
.card h5{margin:0 0 4px;font-size:13.5px;color:var(--acc2)}
.big-ico{font-size:40px;line-height:1;float:inline-end;margin-inline-start:8px}
.verdict{position:absolute;inset-inline-end:12px;bottom:10px;max-width:min(320px,calc(100% - 24px));background:rgba(10,16,22,.9);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;pointer-events:none}
.verdict .big-ico{font-size:46px}
.verdict h4{margin:0 0 3px;font-size:15px}
.verdict.ok{border-color:var(--acc)} .verdict.bad{border-color:var(--warn)}
.edu3d-label.atom{font-size:10px;padding:0 4px;background:rgba(6,12,18,.55)}
.edu3d-label.rs{font-size:12px;font-weight:700;color:#1b1300;background:var(--acc2);border-color:var(--acc2)}
.edu3d-label.plus{color:#bfe0ff;border-color:#4ea3ff;font-weight:700}
.edu3d-label.minus{color:#ffc9c9;border-color:#ff6b6b;font-weight:700}
.kbd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:#0a1016;border:1px solid var(--line);border-radius:5px;padding:0 4px}
.edu3d-label.vcard{width:230px;white-space:normal;background:rgba(10,16,22,.88);border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:12px;color:var(--mute);text-align:start}
.edu3d-label.vcard h4{margin:0 0 2px;font-size:14px;color:var(--ink)}
.edu3d-label.vcard .big-ico{font-size:34px}
.btn:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:1500px){.subtitle{display:none}}

/* ---- režim „Rozbij experiment“ (core/edu-break.js) */
.sec.brk>summary{color:#ff9b8a}
.brk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:6px 0}
.brk-btn{text-align:start;display:flex;gap:6px;align-items:center;margin:0}
.brk-btn .ico{font-size:17px}
.brk-card{border:1px dashed var(--line);border-radius:10px;padding:8px 10px;margin:6px 0;font-size:13px;color:var(--mute)}
.brk-card.on{border-style:solid;color:var(--ink);background:#0a1016}
.brk-v{display:flex;gap:8px;align-items:center;font-size:15px}
.brk-v .big-ico{font-size:30px}
.k-phys{--k:var(--acc)} .k-num{--k:var(--warn)} .k-limit{--k:var(--acc2)}
.brk-card.on,.brk-badge{border-color:var(--k)}
.brk-card.on .brk-v b,.brk-legend span,.brk-hist>div{color:var(--k)}
.brk-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;margin:4px 0 8px}
.brk-badge{position:absolute;top:10px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:5;background:rgba(10,16,22,.88);border:1px solid var(--k);border-radius:20px;padding:4px 12px;font-size:13px;pointer-events:none}
.brk-badge b{color:var(--k)}
#view.broken{box-shadow:inset 0 0 0 2px var(--brk-c,var(--warn))}
#view[data-brk="phys"]{--brk-c:var(--acc)} #view[data-brk="limit"]{--brk-c:var(--acc2)}
.model-tag{display:inline-block;font-size:11px;border:1px solid var(--acc2);color:var(--acc2);border-radius:8px;padding:0 6px;margin-inline-start:6px;vertical-align:middle}
.disclaimer{border-inline-start:3px solid var(--acc2);padding:4px 8px;margin:6px 0;font-size:12.5px;color:var(--mute);background:rgba(255,200,87,.06)}
.rel{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:13px;align-items:baseline}
.rel b.enan{color:var(--blue)} .rel b.dia{color:var(--acc2)} .rel b.same{color:var(--acc)}
.rs-rel{margin-top:3px;font-size:12px;font-weight:600}
.rs-rel.enan{color:var(--blue)} .rs-rel.dia{color:var(--acc2)}

/* UX vlna 3: sbalitelné dlouhé popisy v panelu */
.note-clamp{max-height:4.6em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.note-clamp.note-open{max-height:none;-webkit-mask-image:none;mask-image:none}
.note-more{background:none;border:0;color:var(--acc);cursor:pointer;font:inherit;font-size:12px;padding:2px 0 8px;margin-top:-6px}
.note-more:hover,.note-more:focus-visible{text-decoration:underline;outline:none}
/* telefon: záhlaví nesmí sežrat půl obrazovky – záložky v jednom posuvném řádku */
@media (max-width:720px){
  header{gap:8px;padding:6px 10px}
  nav#tabs{flex:1 0 100%;order:9;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  nav#tabs::-webkit-scrollbar{display:none}
  nav#tabs button{flex:none;white-space:nowrap;padding:6px 12px}
}
