.program-page{max-width:1180px;margin:0 auto;padding:38px 24px 72px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none;font-weight:700;margin:0 0 26px;transition:color .2s,transform .2s}.back-link:hover{color:var(--text);transform:translateX(-3px)}.back-link svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}.program-hero{display:flex;align-items:center;gap:26px;padding:32px;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 18px 50px rgba(0,0,0,.08)}.program-page-icon{width:112px;height:112px;flex:0 0 112px;display:grid;place-items:center;border-radius:28px;color:var(--program-color);background:color-mix(in srgb,var(--program-color) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--program-color) 30%,transparent)}.program-page-icon svg{width:58px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.program-intro h1{margin:8px 0 8px;font-size:clamp(32px,5vw,54px);line-height:1}.program-intro p{max-width:700px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}.verified-label,.section-kicker{color:var(--green,#35b978);font-size:12px;font-weight:850;letter-spacing:.1em}.verified-label{display:flex;align-items:center;gap:7px}.verified-label svg{width:19px;height:19px;padding:3px;border-radius:50%;background:var(--green,#35b978);color:#07160f;fill:none;stroke:currentColor;stroke-width:2.2}.meta-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.meta-chips span{padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--background);font-size:13px;font-weight:700}.program-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px;margin-top:22px}.program-content{display:grid;gap:22px}.content-panel,.download-panel{border:1px solid var(--border);border-radius:24px;background:var(--surface);padding:28px}.content-panel h2,.download-panel h2{font-size:24px;margin:6px 0 16px}.content-panel>p,.download-panel>p{color:var(--muted);line-height:1.75;margin:0}.program-specs{display:grid;grid-template-columns:1fr 1fr;margin:0}.program-specs div{padding:16px 0;border-top:1px solid var(--border)}.program-specs div:nth-child(odd){padding-right:22px}.program-specs dt{font-size:12px;color:var(--muted);margin-bottom:5px}.program-specs dd{margin:0;font-weight:750}.download-panel{position:sticky;top:22px}.download-options{display:grid;gap:10px;margin-top:20px}.download-option{display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:12px;min-height:67px;padding:10px 13px;border-radius:16px;color:#062016;text-decoration:none;background:linear-gradient(135deg,#54d394,#2eae70);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 20px rgba(33,169,102,.16);transition:transform .2s,box-shadow .2s,filter .2s}.download-option:hover{transform:translateY(-2px);filter:saturate(1.08) brightness(1.04);box-shadow:0 13px 27px rgba(33,169,102,.25)}.download-option-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.28)}.download-option svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.download-option span:nth-child(2){display:grid;gap:3px}.download-option b{font-size:14px}.download-option small{opacity:.72;font-size:11px}.option-arrow{width:18px!important}.safe-note{display:flex;gap:11px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.safe-note>svg{width:24px;flex:0 0 24px;color:var(--green,#35b978);fill:none;stroke:currentColor;stroke-width:1.6}.safe-note span{display:grid;gap:3px}.safe-note b{font-size:13px}.safe-note small{color:var(--muted);line-height:1.4}.not-found{text-align:center;padding:110px 20px}.not-found>span{color:var(--green,#35b978);font-size:14px;font-weight:900;letter-spacing:.2em}.not-found h1{font-size:42px;margin:12px 0}.not-found p{color:var(--muted)}.not-found a{display:inline-flex;margin-top:16px;padding:12px 18px;border-radius:12px;background:var(--green,#35b978);color:#062016;text-decoration:none;font-weight:800}
@media(max-width:850px){.program-layout{grid-template-columns:1fr}.download-panel{position:static}.program-hero{align-items:flex-start}.program-page-icon{width:86px;height:86px;flex-basis:86px}.program-page-icon svg{width:44px}}
@media(max-width:580px){.program-page{padding:24px 14px 50px}.program-hero{display:block;padding:22px;border-radius:22px}.program-page-icon{margin-bottom:20px}.program-specs{grid-template-columns:1fr}.program-specs div:nth-child(odd){padding-right:0}.content-panel,.download-panel{padding:21px;border-radius:20px}}
[data-theme="light"] .download-option{color:#07301e;background:linear-gradient(135deg,#5cdda0,#36bd7b);box-shadow:0 8px 20px rgba(26,145,86,.18)}
:root{--border:var(--line);--surface:var(--card);--background:var(--bg)}
.details-panel h2{margin-bottom:8px}.resource-details{margin:20px 0 0}.resource-details>div{display:grid;grid-template-columns:minmax(180px,42%) 1fr;gap:20px;padding:13px 0;border-top:1px solid var(--border)}.resource-details dt{color:var(--muted);font-size:14px}.resource-details dd{margin:0;font-weight:750;overflow-wrap:anywhere}.resource-details dd small{color:var(--muted);font-weight:500}.html-description{color:var(--muted);line-height:1.75}.html-description>:first-child{margin-top:0}.html-description>:last-child{margin-bottom:0}.gallery-panel{margin-top:22px}.program-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.program-gallery a{display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--background);border:1px solid var(--border)}.program-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.program-gallery a:hover img{transform:scale(1.035)}
@media(max-width:580px){.resource-details>div{grid-template-columns:1fr;gap:5px}.program-gallery{grid-template-columns:1fr}}
.program-page-icon.has-image{overflow:hidden;background:var(--surface)}.program-page-icon.has-image img{width:100%;height:100%;object-fit:cover}.program-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.program-hero{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(330px,410px);align-items:start}.hero-resource-info{padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--background)}.hero-resource-info h2{margin:5px 0 12px;font-size:20px}.hero-resource-info .resource-details{margin-top:0}.hero-resource-info .resource-details>div{grid-template-columns:minmax(145px,48%) 1fr;padding:8px 0;gap:12px}.hero-resource-info .resource-details dt,.hero-resource-info .resource-details dd{font-size:12px}.program-content>.details-panel{display:none}
@media(max-width:1000px){.program-hero{grid-template-columns:90px 1fr}.hero-resource-info{grid-column:1/-1;width:100%}}
@media(max-width:620px){.program-hero{grid-template-columns:1fr}.program-hero .program-page-icon{margin-bottom:0}.hero-resource-info{grid-column:auto}.hero-resource-info .resource-details>div{grid-template-columns:1fr;gap:3px}}
.program-top-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,410px);align-items:start;gap:22px}.program-top-layout .program-hero{display:flex;align-items:center;height:auto}.program-top-layout .hero-resource-info{background:var(--surface);box-shadow:0 18px 50px rgba(0,0,0,.08)}
@media(max-width:1000px){.program-top-layout{grid-template-columns:1fr}.program-top-layout .program-hero{height:auto}.program-top-layout .hero-resource-info{width:auto}}
@media(max-width:620px){.program-top-layout .program-hero{display:block}}
.program-layout{grid-template-columns:minmax(0,1fr) minmax(340px,410px)}
@media(max-width:850px){.program-layout{grid-template-columns:1fr}}
.program-top-main{display:grid;align-content:start;gap:22px;min-width:0}.program-top-main .top-description{margin:0}.program-content>.content-panel:first-child{display:none}
.program-page>.gallery-panel{display:none}.program-top-main .top-gallery{display:block;margin:0;width:100%}
.program-top-side{display:grid;align-content:start;gap:22px;min-width:0}.program-top-side .hero-resource-info,.program-top-side .top-download{position:static;width:100%;margin:0}.program-layout{display:none}
.program-page{width:100%;max-width:1180px;padding-left:0;padding-right:0}
@media(max-width:580px){.program-page{padding-left:0;padding-right:0}}
.rating-panel{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:22px}.rating-panel h2{margin:6px 0 8px}.rating-panel p{margin:0;color:var(--muted)}.rating-control{display:flex;min-width:270px;flex-direction:column;align-items:flex-end;gap:8px}.rating-stars{display:flex;gap:5px}.rating-stars button{border:0;background:transparent;color:var(--line);font-size:35px;line-height:1;cursor:pointer;padding:2px;transition:color .15s,transform .15s}.rating-stars button:hover,.rating-stars button.active{color:#ffc857;transform:translateY(-2px)}.rating-stars button:disabled{cursor:wait;opacity:.7}.rating-control small{min-height:18px;color:var(--accent)}@media(max-width:680px){.rating-panel{align-items:flex-start;flex-direction:column}.rating-control{align-items:flex-start;min-width:0}}
.comments-panel{margin-top:22px}.comments-panel>header h2{display:flex;align-items:center;gap:9px}.comments-panel>header h2 small{display:grid;place-items:center;min-width:27px;height:27px;padding:0 8px;border-radius:7px;background:var(--background);color:var(--muted);font-size:12px}.comment-form{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:18px 0 22px;border-bottom:1px solid var(--border)}.comment-form>img,.comment-item>img{width:42px;height:42px;border-radius:10px;object-fit:cover;background:var(--background)}.comment-form textarea{width:100%;min-height:92px;resize:vertical;padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:var(--background);color:var(--text);font:inherit;line-height:1.5;outline:0}.comment-form textarea:focus{border-color:var(--green,#35b978)}.comment-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.comment-form footer small{color:var(--muted)}.comment-form button,.comment-login button{min-height:38px;padding:0 16px;border:0;border-radius:8px;background:var(--green,#35b978);color:#062016;font-weight:800;cursor:pointer}.comment-form button:disabled{opacity:.65;cursor:wait}.comment-list{display:grid}.comment-item{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:20px 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:0}.comment-item header{display:flex;align-items:center;justify-content:space-between;gap:15px}.comment-item time{color:var(--muted);font-size:12px}.comment-item p{margin:7px 0 0;color:var(--muted);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.comment-empty{padding:25px 0 5px;color:var(--muted);text-align:center}.comment-login{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;border:1px solid var(--border);border-radius:12px;background:var(--background)}.comment-login p{margin:0;color:var(--muted)}@media(max-width:580px){.comment-form,.comment-item{grid-template-columns:34px 1fr}.comment-form>img,.comment-item>img{width:34px;height:34px}.comment-item header{align-items:flex-start;flex-direction:column;gap:3px}.comment-login{align-items:flex-start;flex-direction:column}}
.comment-reply{margin-top:9px;padding:0;border:0;background:transparent;color:var(--green,#35b978);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.comment-reply:hover{text-decoration:underline}.comment-form.replying textarea{border-color:var(--green,#35b978);box-shadow:0 0 0 3px color-mix(in srgb,var(--green,#35b978) 12%,transparent)}
.rating-control .user-rating-label:not(:empty){min-height:auto;padding:5px 9px;border-radius:6px;background:color-mix(in srgb,#ffc857 14%,transparent);color:#d79b19;font-weight:800}
.subscriber-resource-toggle{display:flex!important;align-items:center;gap:9px;padding:12px!important;border:1px solid var(--border);border-radius:9px;background:var(--background);font-weight:800}.subscriber-resource-toggle input{width:18px;height:18px}.subscriber-access-note{display:flex;align-items:center;gap:8px;margin:15px 0 0;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--background)}.subscriber-access-note b{color:var(--green,#35b978)}.subscriber-access-note span{flex:1;color:var(--muted);font-size:11px}.subscriber-access-note a{padding:6px 8px;border-radius:6px;background:var(--green,#35b978);color:#062016;font-size:10px;font-weight:850;text-decoration:none}.subscriber-access-note.locked+.download-options{opacity:.45}
