/* ArumSoft Learning: PowerPoint track components. Uses the site's color tokens from the main stylesheet. */

/* ---- slide mockups ---- */
.pp-one{max-width:560px;margin:0 auto}
.pp-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.9rem;align-items:start}
.pp-compare-arrow{align-self:center;color:var(--color-muted);font-size:1.4rem;margin-top:1.2rem}
@media (max-width:640px){.pp-compare{grid-template-columns:minmax(0,1fr)}.pp-compare-arrow{transform:rotate(90deg);justify-self:center;margin:0}}
.pp-slide-wrap{min-width:0}
.pp-slide-tag{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}
.pp-slide{container-type:inline-size;position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:6px;background:#fff;border:1px solid #d5dbe0;box-shadow:0 1px 2px rgba(28,33,38,.06),0 4px 14px rgba(28,33,38,.06);color:#1c2126;display:flex;font-family:"Segoe UI",var(--font-sans)}
.pp-s-content{flex:1;min-width:0;padding:6.5cqw 7cqw;display:flex;flex-direction:column;gap:2.4cqw}
.pp-titleonly .pp-s-content{justify-content:center}
.pp-s-title{font-size:5cqw;font-weight:650;line-height:1.15;letter-spacing:-.01em}
.pp-titleonly .pp-s-title{font-size:6.4cqw}
.pp-s-sub{font-size:3cqw;color:#5b6670;margin-top:-1cqw}
.pp-s-bullets{margin:0;padding-left:4cqw;font-size:3.1cqw;line-height:1.35;list-style:disc}
.pp-s-bullets li+li{margin-top:.9cqw}
.pp-s-steps{display:flex;align-items:center;gap:1.4cqw;margin-top:auto;margin-bottom:auto}
.pp-s-step{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1cqw;border:.3cqw solid #177a5a;border-radius:1.6cqw;padding:2cqw 1.4cqw;font-size:2.7cqw;line-height:1.2;background:#e8f4ef}
.pp-s-step b{display:flex;align-items:center;justify-content:center;width:4.6cqw;height:4.6cqw;border-radius:50%;background:#177a5a;color:#fff;font-size:2.6cqw}
.pp-s-arrow{color:#177a5a;font-size:3.6cqw;font-weight:700}
.pp-s-icons{display:flex;gap:2.4cqw;margin-top:auto;margin-bottom:auto}
.pp-s-icon{flex:1;display:flex;flex-direction:column;align-items:center;gap:1.2cqw;text-align:center;font-size:2.7cqw;line-height:1.2}
.pp-s-glyph{display:flex;align-items:center;justify-content:center;width:9cqw;height:9cqw;border-radius:50%;background:#e8f4ef;color:#177a5a;font-size:4.6cqw}
.pp-s-bars{flex:1;min-height:0;display:flex;align-items:flex-end;gap:2cqw;padding-top:1cqw;border-bottom:.25cqw solid #c9d0d5}
.pp-s-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0}
.pp-s-barfill{display:block;height:var(--v);background:#b8c2ca;border-radius:.6cqw .6cqw 0 0;position:relative;min-height:1cqw}
.pp-s-barfill em{position:absolute;top:-3.4cqw;left:0;right:0;text-align:center;font-style:normal;font-size:2.3cqw;color:#5b6670}
.pp-s-barlabel{font-size:2.2cqw;text-align:center;padding-top:.8cqw;color:#5b6670;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:-4cqw}
.pp-s-bars{margin-bottom:4cqw}
.pp-s-bar.pp-hl .pp-s-barfill{background:#177a5a}
.pp-s-bar.pp-hl .pp-s-barfill em{color:#146c50;font-weight:700}
.pp-s-hbars{flex-direction:column;align-items:stretch;justify-content:center;border-bottom:0;border-left:.25cqw solid #c9d0d5;margin-bottom:0;gap:1.4cqw}
.pp-s-hbars .pp-s-bar{flex-direction:row-reverse;justify-content:flex-end;align-items:center;height:auto;gap:1.4cqw}
.pp-s-hbars .pp-s-barfill{height:3.6cqw;width:var(--v);border-radius:0 .6cqw .6cqw 0}
.pp-s-hbars .pp-s-barfill em{top:auto;left:auto;right:-6cqw;width:5.4cqw;text-align:left;line-height:3.6cqw}
.pp-s-hbars .pp-s-barlabel{margin:0;width:18cqw;flex:none;text-align:right;padding:0}
.pp-s-line{flex:1;min-height:0;position:relative;border-bottom:.25cqw solid #c9d0d5;border-left:.25cqw solid #c9d0d5;margin-bottom:4cqw}
.pp-s-line svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pp-s-line polyline{fill:none;stroke:#177a5a;stroke-width:2.5}
.pp-s-dots circle{fill:#b8c2ca}
.pp-s-dots circle.pp-hl{fill:#177a5a}
.pp-s-xlabels{position:absolute;left:0;right:0;bottom:-3.6cqw;display:flex;justify-content:space-between;font-size:2.1cqw;color:#5b6670}
.pp-s-table{border-collapse:collapse;width:100%;font-size:2.4cqw;line-height:1.25}
.pp-s-table th,.pp-s-table td{border:.15cqw solid #d5dbe0;padding:.8cqw 1.2cqw;text-align:left}
.pp-s-table th{background:#177a5a;color:#fff;font-weight:600;border-color:#177a5a}
.pp-s-table tbody tr:nth-child(even) td{background:#f6f8f9}
.pp-s-quote{margin:auto 0;font-size:4cqw;line-height:1.3;font-style:italic;border-left:.8cqw solid #177a5a;padding-left:2.4cqw;color:#1c2126}
.pp-s-big{font-size:12cqw;font-weight:700;line-height:1;color:#177a5a;margin-top:auto}
.pp-s-biglabel{font-size:3cqw;color:#5b6670;margin-bottom:auto}
.pp-s-buttons{display:flex;flex-wrap:wrap;gap:1.6cqw;margin-top:auto}
.pp-s-buttons span{border-radius:1.2cqw;background:#177a5a;color:#fff;font-size:2.5cqw;font-weight:600;padding:1.2cqw 2.4cqw}
.pp-s-img{flex:0 0 42%;display:flex;align-items:center;justify-content:center;padding:3cqw;text-align:center;font-size:2.3cqw;line-height:1.3;color:#3c5a6e;background:linear-gradient(135deg,#cfe0ea,#a9c4d4 60%,#8fb1c4)}
.pp-s-img span{background:rgba(255,255,255,.72);border-radius:1cqw;padding:1cqw 1.6cqw;max-width:90%}
.pp-img-full .pp-s-img{position:absolute;inset:0;flex:none;align-items:flex-end;justify-content:flex-end;padding:2.4cqw}
.pp-img-full .pp-s-img span{font-size:2cqw}
.pp-img-full .pp-s-content{position:relative;z-index:1;justify-content:flex-end;color:#fff;background:linear-gradient(0deg,rgba(15,25,32,.78),rgba(15,25,32,.15) 70%,transparent)}
.pp-img-full .pp-s-sub{color:#e4ebef}
.pp-t-dark{background:#1f2a33;color:#f2f5f7;border-color:#1f2a33}
.pp-t-dark .pp-s-sub,.pp-t-dark .pp-s-barlabel,.pp-t-dark .pp-s-biglabel,.pp-t-dark .pp-s-xlabels{color:#b9c5cd}
.pp-t-dark .pp-s-step{background:#2a3843;border-color:#5fc39e;color:#f2f5f7}
.pp-t-dark .pp-s-quote{color:#f2f5f7}
.pp-t-dark .pp-s-big{color:#5fc39e}
.pp-t-dark .pp-s-glyph{background:#2a3843;color:#5fc39e}
.pp-t-brand{background:#177a5a;color:#fff;border-color:#177a5a}
.pp-t-brand .pp-s-sub,.pp-t-brand .pp-s-biglabel{color:#d5ece3}
.pp-t-brand .pp-s-big{color:#fff}
.pp-t-brand .pp-s-step{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.pp-t-brand .pp-s-step b{background:#fff;color:#177a5a}
.pp-t-brand .pp-s-glyph{background:rgba(255,255,255,.15);color:#fff}
.pp-t-messy{background:#fff7d6;font-family:"Comic Sans MS","Comic Sans",cursive}
.pp-t-messy .pp-s-title{font-family:Georgia,serif;color:#c2185b;font-size:4.2cqw;text-decoration:underline;text-align:center}
.pp-t-messy .pp-s-bullets{font-size:2.5cqw;color:#7a6b2b}
.pp-t-messy .pp-s-bullets li:nth-child(2n){font-family:Impact,sans-serif;color:#2e7d32}
.pp-t-messy .pp-s-content{padding:3cqw 2.4cqw;gap:1.2cqw}
.pp-t-messy .pp-s-step{border-color:#f57c00;background:#ffe0b2;transform:rotate(-2deg)}
.pp-t-messy .pp-s-step:nth-child(3){transform:translateY(1.4cqw)}
.pp-t-messy .pp-s-barfill{background:#ff7043}
.pp-t-messy .pp-s-img{filter:saturate(1.8)}
.pp-slide-layout{margin:.35rem 0 0;font-size:.75rem;color:var(--color-muted);text-align:center}
.pp-slide-notes{margin:.45rem 0 0;font-size:.8rem;line-height:1.45;background:#fff;border:1px solid var(--color-line);border-radius:6px;padding:.4rem .6rem;color:var(--color-ink)}
.pp-slide-notes span{display:block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}
.pp-flags{margin:.5rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.3rem}
.pp-flags li{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;line-height:1.3;border-radius:999px;padding:.12rem .55rem}
.pp-flags span{font-weight:700}
.pp-bad li{background:#fde8e6;color:#b42318}
.pp-good li{background:#e3f4ec;color:#146c50}

/* ---- prose extras ---- */
.prose .pp-code{position:relative}
.prose .pp-code[data-lang]::before{content:attr(data-lang);position:absolute;top:.35rem;right:.6rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}
.prose .pp-tablewrap{overflow-x:auto}
.pp-copy{position:absolute;top:.4rem;right:3.6rem;border:1px solid var(--color-line);background:#fff;border-radius:6px;font-size:.72rem;padding:.1rem .5rem;color:var(--color-muted);cursor:pointer}
.pp-copy:hover{border-color:var(--color-brand);color:var(--color-brand-ink)}

/* ---- quiz ---- */
.pp-q-text{font-weight:600;line-height:1.5}
.pp-opts{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}
.pp-opt{width:100%;text-align:left;border:1px solid var(--color-line);border-radius:8px;background:#fff;padding:.55rem .8rem;font-size:.97rem;line-height:1.45;cursor:pointer;transition:border-color .15s,background .15s}
.pp-opt:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-subtle)}
.pp-opt:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}
.pp-opt:disabled{cursor:default}
.pp-opt.pp-right{border-color:var(--color-brand);background:#e3f4ec;color:#0f5a42;font-weight:600}
.pp-opt.pp-wrong{border-color:#d64545;background:#fdeeee;color:#9b1c1c}
.pp-opt.pp-right::before{content:"✓ "}
.pp-opt.pp-wrong::before{content:"✕ "}
.pp-opt code{font-family:var(--font-mono);font-size:.9em}
.pp-explain{margin:.6rem 0 0;font-size:.95rem;line-height:1.55;color:var(--color-ink);background:var(--color-subtle);border-radius:8px;padding:.6rem .8rem}
.pp-explain .pp-verdict.pp-ok{color:var(--color-brand-ink)}
.pp-explain .pp-verdict.pp-no{color:#b42318}
.pp-check{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}
.pp-check input{margin-top:.3rem;width:1.05rem;height:1.05rem;accent-color:var(--color-brand);flex:none}
.pp-check input:checked+span{color:var(--color-muted);text-decoration:line-through;text-decoration-color:rgba(91,102,112,.5)}

/* ---- header menus (static pages) ---- */
.pp-menu-panel[hidden]{display:none}
/* lists inside components must not inherit prose list styles */
.prose .pp-quiz ol,.prose .pp-quiz ul,.prose .pp-opts,.prose ul.pp-flags,.prose section ul.pp-checklist,.prose .pp-slide ul{list-style:none;padding-left:0}
.prose .pp-quiz li+li,.prose .pp-flags li+li,.prose .pp-checklist li+li{margin-top:0}
.prose .pp-quiz ol>li+li{margin-top:1.4rem}
.prose .pp-slide .pp-s-bullets{list-style:disc;padding-left:4cqw}
.prose .pp-slide .pp-s-bullets li+li{margin-top:.9cqw}
.prose .pp-checklist{display:grid;gap:.5rem}
.prose .pp-quiz p,.prose .pp-quiz h3{margin:0}
.prose .pp-quiz .pp-explain{margin-top:.6rem}
.prose .pp-quiz .pp-q-text{margin-bottom:0}
.prose figure .pp-slide-tag,.prose figure .pp-slide-layout,.prose figure .pp-slide-notes{margin-top:0}
.pp-s-bullets{font-size:3.5cqw}
.pp-s-step{font-size:3cqw}
.pp-s-icon{font-size:3cqw}
.prose .pp-quiz>ol{padding:1rem 1rem 1.25rem}
.pp-s-step{overflow-wrap:anywhere;hyphens:auto}
.pp-s-steps.pp-n5 .pp-s-step,.pp-s-steps.pp-n4 .pp-s-step{font-size:2.5cqw;padding:1.6cqw 1cqw}
.pp-s-steps.pp-n5{gap:.9cqw}
.pp-s-steps.pp-n5 .pp-s-arrow{font-size:2.6cqw}
.pp-s-table.pp-dense{font-size:2cqw;line-height:1.15}
.pp-s-table.pp-dense th,.pp-s-table.pp-dense td{padding:.5cqw .9cqw}
.pp-compare .pp-s-table{font-size:2.2cqw}
.pp-s-content{min-height:0}
.pp-s-table.pp-dense{font-size:2.3cqw}
.pp-s-table.pp-dense th,.pp-s-table.pp-dense td{padding:.7cqw 1cqw}
.pp-compare .pp-s-table.pp-dense{font-size:2.1cqw}
.pp-one .pp-s-table:not(.pp-dense){font-size:2.7cqw}

/* ---- course pages ---- */
.pp-fit{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff;border-radius:8px;overflow:hidden}
.pp-fit th,.pp-fit td{border:1px solid var(--color-line);padding:.55rem .75rem;text-align:left;vertical-align:top}
.pp-fit th{background:var(--color-subtle);font-weight:600;font-size:.85rem}
.pp-fit td:last-child{white-space:nowrap}
.pp-bar{height:.6rem;border-radius:999px;background:var(--color-subtle);border:1px solid var(--color-line);overflow:hidden}
.pp-bar span{display:block;height:100%;background:var(--color-brand);border-radius:999px;transition:width .3s}
.pp-continue[hidden]{display:none}
.pp-roadmap{list-style:none;padding:0;margin-left:0;margin-right:0;counter-reset:none}
.pp-step-card{position:relative}
@media (min-width:1024px){.pp-step-card:not(:last-child)::after{content:"→";position:absolute;right:-.85rem;top:1.1rem;color:var(--color-muted);font-size:1rem;z-index:1}}
.pp-syl summary::-webkit-details-marker{display:none}
.pp-syl summary::after{content:"⌄";color:var(--color-muted);transition:transform .15s;margin-left:.25rem}
.pp-syl[open] summary::after{transform:rotate(180deg)}
.pp-syl summary:hover{background:var(--color-subtle)}
.pp-syl-list{list-style:none;margin:0;padding:0}
.pp-syl-item{display:flex;align-items:flex-start;gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--color-line)}
.pp-syl-item:last-child{border-bottom:0}
.pp-done{flex:none;padding-top:.15rem;cursor:pointer}
.pp-done input{width:1.1rem;height:1.1rem;accent-color:var(--color-brand);cursor:pointer}
.pp-syl-item:has(input:checked) a .font-medium{color:var(--color-muted)}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq summary{display:flex;justify-content:space-between;gap:1rem}
.pp-faq summary::after{content:"+";color:var(--color-muted);font-weight:400}
.pp-faq[open] summary::after{content:"−"}
.pp-selfstart{align-self:flex-start}
@media (min-width:1024px){.pp-hubgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
