.ps{--type-small:.875rem;--type-body:1.0625rem;--type-section:1.5rem;--type-heading:2.25rem;--space:24px;font-size:var(--type-body)}
.top{max-width:1440px;margin:auto;padding:24px 32px;border-bottom:1px solid var(--ps-line);display:flex;justify-content:space-between;gap:20px;align-items:center}
.brand{font-size:1.25rem;font-weight:700;text-decoration:none}.brand span{display:block;font-size:var(--type-small);font-weight:400;color:var(--ps-muted)}
.course-layout{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1440px;margin:auto;align-items:start}.sidebar{padding:32px 24px;position:sticky;top:0;max-height:100dvh;overflow:auto}.sidebar nav{display:grid;gap:8px;margin:22px 0}.sidebar a{display:flex;gap:10px;text-decoration:none;border:1px solid var(--ps-line);border-radius:12px;padding:12px;font-size:var(--type-small);min-height:44px;align-items:center}.sidebar a[aria-current=step]{background:var(--ps-raised);box-shadow:inset 3px 0 var(--ps-accent);font-weight:700}.sidebar a span{color:var(--ps-accent)}
main{min-width:0}.course-layout main{padding:40px 48px 80px;border-left:1px solid var(--ps-line)}h1{font-size:var(--type-heading);font-weight:600;line-height:1.15;letter-spacing:-.035em;margin:18px 0 24px;max-width:22ch}h2{font-size:var(--type-section);line-height:1.25;margin:30px 0 16px}h3{font-size:1.125rem;margin:22px 0 12px}p{max-width:72ch;line-height:1.7}li{margin:0 0 12px;line-height:1.7}ol,ul{padding-left:24px}.lead{font-size:1.25rem;color:var(--ps-muted)}.start,.lesson{max-width:850px;margin:auto}.lesson h2{font-size:var(--type-heading);max-width:26ch;margin-top:16px}.facts{display:flex;flex-wrap:wrap;gap:24px;margin:32px 0;padding:24px 0;border-block:1px solid var(--ps-line)}.facts span{color:var(--ps-muted);font-size:var(--type-small)}.facts b{display:block;color:var(--ps-accent);font-size:1.75rem}.example,.minimum,.worksheet,.check{padding:24px;border:1px solid var(--ps-line);border-radius:18px;margin:28px 0}.example{background:var(--ps-plum);box-shadow:0 16px 50px #0003}.minimum{border-left:4px solid var(--ps-accent);background:var(--ps-well)}.example h3,.minimum h3,.worksheet h3,.check h3{margin-top:0}.worksheet{background:var(--ps-panel)}.field{display:block;margin:20px 0}textarea,select{width:100%;font:inherit;color:var(--ps-ink);background:var(--ps-well);border:1px solid var(--ps-line);border-radius:10px;padding:12px;min-height:46px;margin-top:8px;resize:vertical}textarea{display:block}.complete{display:flex;align-items:center;gap:12px;min-height:44px}.complete input{width:24px;height:24px;accent-color:var(--ps-accent);flex-shrink:0}.actions,.pager{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.pager{justify-content:space-between;border-top:1px solid var(--ps-line);padding-top:24px}.ps-btn{font-size:var(--type-small)}.ps-btn:disabled{opacity:.6;cursor:not-allowed}progress{width:100%;height:12px;accent-color:var(--ps-accent)}.ps-hint,.save-state,#storage-state{font-size:var(--type-small);color:var(--ps-muted)}.save-state:empty{display:none}audio{width:100%;max-width:600px;margin:12px 0}details{margin:22px 0;border:1px solid var(--ps-line);border-radius:12px;padding:14px 18px}summary{min-height:44px;cursor:pointer;display:list-item;padding:10px 0;font-weight:600}.route{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.route span{padding:16px;border:1px solid var(--ps-line);border-radius:12px;background:var(--ps-panel)}.document{max-width:900px;padding:40px 28px 72px;margin:auto}.mobile-select{display:none}.notice{padding:16px 24px;background:var(--ps-well);border:1px solid var(--ps-line);border-radius:12px;max-width:none;margin:24px;font-size:var(--type-small)}.sales-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;max-width:1200px;padding:48px 32px;margin:auto;align-items:center}.sales-hero h1{font-size:clamp(2.25rem,4vw,3.75rem)}.price{font-size:4.5rem;line-height:1;margin:24px 0}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.review-grid .ps-card{display:flex;flex-direction:column}.review-grid .ps-btn{align-self:start;margin-top:auto}.hero-review{max-width:1200px;margin:auto;padding:56px 32px 32px}.hero-review h1{font-size:3rem;max-width:25ch}.status-line{border-left:4px solid var(--ps-accent);padding:12px 20px}.wide{max-width:1200px}.doc-link{display:block;padding:12px 0;text-decoration:underline}.ps-skip{left:12px}.print-only{display:none}
.sidebar a span{flex:0 0 2ch;white-space:nowrap}
.table-scroll{overflow-x:auto;margin:24px 0;border:1px solid var(--ps-line);border-radius:12px}.table-scroll table{border-collapse:collapse;width:100%;min-width:600px;font-size:var(--type-small)}.table-scroll th,.table-scroll td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ps-line)}.table-scroll th{background:var(--ps-raised)}
@media(prefers-reduced-motion:no-preference){.start,.lesson{animation:arrive .25s ease-out}@keyframes arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}
@media(max-width:800px){.top{padding:20px;flex-wrap:wrap}.course-layout{display:block}.sidebar{position:static;max-height:none;padding:20px}.sidebar nav{display:none}.sidebar .ps-hint{max-width:55ch}.course-layout main{padding:24px 20px 60px;border-left:0;border-top:1px solid var(--ps-line)}.mobile-select{display:block;margin-bottom:28px}.sales-hero{grid-template-columns:1fr;padding:28px 20px;gap:24px}.hero-review{padding:32px 20px}.hero-review h1{font-size:2.25rem}.review-grid{grid-template-columns:1fr}.example,.minimum,.worksheet,.check{padding:20px}.route{gap:8px}.facts{gap:18px}.document{padding:28px 20px 60px}.notice{margin:20px}.top .ps-tag{display:none}}
@media print{.ps{background:white;color:#18111f}.top,.sidebar,.pager,.mobile-select,.actions,.ps-skip,audio,.save,.complete{display:none!important}.course-layout{display:block}.course-layout main{padding:0;border:0}.lesson[hidden],.start[hidden]{display:block!important}.lesson{break-before:page}.ps::before,.ps::after{display:none}.example,.minimum,.worksheet,.check{background:white;color:#18111f;border-color:#888}.ps-hint,.lead,.ps-eyebrow{color:#302039}textarea{background:white;color:black;border-color:#999}.print-only{display:block}}
