/* Presentation engine styles */
body.deck{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:#0b1430;color:var(--ink)}
:root:not([data-theme=dark]) body.deck{background:#dfe3ee}
.dk-top{display:flex;align-items:center;gap:10px;padding:6px 14px;background:var(--navy);color:#fff;flex:0 0 auto;position:relative;z-index:30}
.dk-top img{width:34px;height:34px}
.dk-top .ttl{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-top .sub{font-size:.72rem;opacity:.7}
.dk-top .sp{flex:1}
.dk-top button,.dk-top a.b{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:.32em .7em;cursor:pointer;font-weight:600;font-size:.8rem;text-decoration:none}
.dk-top button:hover,.dk-top a.b:hover{background:rgba(255,255,255,.22)}
.dk-top button.on{background:var(--crimson);border-color:var(--crimson)}
.dk-menu{position:absolute;top:46px;left:10px;width:min(560px,92vw);max-height:78vh;overflow:auto;background:var(--card);color:var(--ink);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.45);padding:8px;z-index:40;display:none}
.dk-menu.open{display:block}
.dk-menu a{display:grid;grid-template-columns:34px 1fr auto;gap:10px;padding:7px 10px;border-radius:9px;text-decoration:none;color:inherit;align-items:center;font-size:.88rem;cursor:pointer}
.dk-menu a:hover,.dk-menu a.cur{background:var(--soft)}
.dk-menu a b{background:var(--blue);color:#fff;border-radius:8px;text-align:center;padding:2px 0;font-size:.85rem}
.dk-menu a.cir b{background:var(--crimson)}
.dk-menu small{color:var(--muted)}
#stageWrap{flex:1 1 0;min-height:0;position:relative;overflow:hidden}
#stage{position:absolute;left:50%;top:50%;width:1280px;height:720px;margin:-360px 0 0 -640px;transform-origin:center center}
.dk-bot{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:5px 14px;background:var(--navy);color:#cfd8f3;font-size:.78rem}
.dk-bot .bar{flex:1;height:5px;border-radius:5px;background:rgba(255,255,255,.15);overflow:hidden;cursor:pointer}
.dk-bot .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--crimson));width:0;transition:.25s}
.dk-bot button{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:.25em .65em;cursor:pointer;font-weight:700}
.dk-bot button:hover{background:rgba(255,255,255,.25)}
.dk-notes{position:absolute;left:0;right:0;bottom:0;max-height:34vh;overflow:auto;background:rgba(10,18,44,.96);color:#e8ecf9;padding:12px 24px;font-size:1rem;line-height:1.55;display:none;z-index:25;border-top:3px solid var(--crimson)}
.dk-notes.on{display:block}
.dk-notes b{color:#ff9bb3}
.dk-over{position:absolute;inset:0;background:var(--bg);overflow:auto;padding:18px;z-index:22;display:none}
.dk-over.on{display:block}
.dk-over .g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.dk-over .th{background:var(--card);border:2px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;font-size:.85rem;min-height:84px;position:relative}
.dk-over .th:hover,.dk-over .th.cur{border-color:var(--crimson)}
.dk-over .th small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.dk-over .th .k{position:absolute;right:8px;top:6px;font-size:.7rem;color:var(--muted)}

/* ------- slides ------- */
.sl{width:1280px;height:720px;background:var(--card);color:var(--ink);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.35);position:relative;overflow:hidden;padding:26px 52px 22px 58px;display:flex;flex-direction:column;font-size:26px}
.sl:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(var(--crimson),var(--blue))}
.sl-head{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex:0 0 auto}
.sl-head h2{font-size:38px;margin:0;flex:1;line-height:1.1}
.sl-head .chip{font-size:15px;white-space:nowrap}
.sl-logo{width:46px;height:46px}
.sl .body{flex:1 1 0;min-height:0;display:flex;gap:28px}
.sl .col{flex:1;min-width:0;display:flex;flex-direction:column}
.sl ul{margin:0;padding-left:1.05em;font-size:27px;line-height:1.36}
.sl li{margin:.26em 0}
.sl li::marker{color:var(--crimson)}
.sl li ul{font-size:.82em;margin-top:.1em}
.sl li ul li::marker{color:var(--blue)}
.frag{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.frag.on,.reveal-all .frag{opacity:1;transform:none}
.sl .wbox{flex:1 1 0;min-height:0;position:relative}
.sl .wbox>.wg{height:100%}
.sl .tasks{flex:0 0 auto;margin-top:10px;display:flex;gap:10px;align-items:stretch;font-size:19px}
.sl .tasks .tk{background:var(--soft);border-left:5px solid var(--crimson);border-radius:0 10px 10px 0;padding:7px 14px;line-height:1.3;flex:1}
.sl .tasks b{color:var(--crimson)}
.sl .callout{font-size:22px;line-height:1.4}
.sl .eqs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;width:100%;align-content:start}
.sl .eqc{background:var(--soft);border-radius:14px;padding:16px 22px;border-top:5px solid var(--blue)}
.sl .eqc small{font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.sl .eqc .e{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:38px;margin:.2em 0;line-height:1.25}
.sl .eqc .d{font-size:19px;color:var(--muted);line-height:1.35}
.sl .eqs.one{grid-template-columns:1fr}
.sl table.t{font-size:22px}
.sl table.t th,.sl table.t td{padding:.5em .8em}
.sl .big{font-size:84px;font-weight:800;color:var(--crimson);line-height:1}
.sl.key .body{flex-direction:column;justify-content:center;align-items:flex-start}
.sl .keytxt{font-size:34px;line-height:1.35;max-width:1000px}
.sl .chain{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.sl .chain button{flex:1 1 130px;border:2px solid var(--line);background:var(--card);border-radius:12px;padding:10px 8px;cursor:pointer;font-size:19px;font-weight:700;color:var(--ink);position:relative}
.sl .chain button small{display:block;font-weight:500;font-size:14px;color:var(--muted)}
.sl .chain button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.sl .chain button.on small{color:#dbe5ff}
.sl .chain button+button:before{content:"›";position:absolute;left:-13px;top:50%;margin-top:-14px;font-size:24px;color:var(--crimson)}
.sl .detail{margin-top:18px;background:var(--soft);border-radius:14px;padding:18px 24px;font-size:25px;line-height:1.4;flex:1}
.sl .opt{display:block;width:100%;text-align:left;margin:8px 0;padding:11px 18px;border-radius:12px;border:2px solid var(--line);background:var(--card);font-size:24px;cursor:pointer;color:var(--ink)}
.sl .opt:hover{border-color:var(--blue)}
.sl .opt.ok{background:#d6f3e4;border-color:var(--good);color:#0b4a2f}
.sl .opt.bad{background:#fde1e8;border-color:var(--crimson);color:#7a0f2b}
.sl .why{margin-top:12px;font-size:22px}
/* title slide */
.sl.title{background:linear-gradient(125deg,#0a1230 0%,#162a63 55%,#2f529e 100%);color:#fff;justify-content:center;align-items:center;text-align:center;padding:40px 90px}
.sl.title:before{display:none}
.sl.title img.lg{width:190px;height:190px;filter:drop-shadow(0 8px 22px rgba(0,0,0,.5));margin-bottom:12px}
.sl.title h1{font-size:50px;margin:.15em 0;line-height:1.12}
.sl.title h3{font-size:27px;font-weight:600;color:#ffb3c6;margin:.2em 0 .6em}
.sl.title p{font-size:21px;margin:.15em 0;color:#cfd8f3}
.sl.title .pill{display:inline-block;padding:.25em .9em;border-radius:99px;background:rgba(255,255,255,.14);font-size:20px;margin:.3em .15em}
.sl.sec{background:linear-gradient(120deg,var(--blue-d),var(--blue));color:#fff;justify-content:center;padding-left:90px}
.sl.sec:before{background:var(--crimson);width:18px}
.sl.sec .big{color:#ffb3c6;font-size:130px}
.sl.sec h2{font-size:56px;margin:.1em 0}
.sl.sec p{font-size:28px;color:#dbe5ff;max-width:900px}
@media print{body.deck{display:block;height:auto;overflow:visible}.dk-top,.dk-bot,.dk-notes{display:none}}
