/* Platform */
:root{color-scheme:dark;--bg:#090a0d;--surface:#121318;--raised:#191a20;--line:#292b34;--text:#f6f4f4;--muted:#a9aab4;--red:#d82b30;--bright:#ff6268;--hover:#b82027;--radius:15px;--width:1450px;font:16px/1.55 "Inter","Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0;min-width:0}img{max-width:100%}[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;overflow-wrap:anywhere}h1{font-size:clamp(2rem,5vw,3.75rem);letter-spacing:-.055em;margin-bottom:17px}h2{font-size:clamp(1.25rem,2.4vw,1.75rem);letter-spacing:-.025em;margin-bottom:13px}h3{font-size:1.05rem;margin-bottom:8px}p{color:var(--muted);margin-bottom:14px}
a{color:#ff888a;text-decoration:none}a:hover{text-decoration:underline}button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:2px solid #ff7c7e;outline-offset:3px}
header{position:relative;z-index:8;background:#0d0e12;border-bottom:1px solid #202129}
.top,main{width:min(var(--width),calc(100% - clamp(26px,8vw,126px)));margin-inline:auto}
.top{height:72px;display:flex;align-items:center;gap:clamp(16px,4vw,68px)}
.brand{color:#fff;font-weight:850;font-size:1.3rem;letter-spacing:-.05em;display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.brand:hover{text-decoration:none}.brand-accent{color:var(--bright)}
.logo{display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.12rem;width:34px;height:34px;border-radius:9px}
nav{display:flex;align-items:center;gap:clamp(12px,3vw,33px);flex:1;height:100%;min-width:0}
nav>a{height:100%;display:flex;align-items:center;position:relative;color:#c3c3cc;font-size:.91rem;font-weight:650;white-space:nowrap}
nav>a[aria-current=page]{color:#fff}
nav>a[aria-current=page]::after{position:absolute;bottom:0;inset-inline:0;height:2px;background:var(--bright);content:""}
nav>a:hover{color:white;text-decoration:none}
.account-menu{margin:0 0 0 auto;position:relative}.account-menu summary{list-style:none}.account-menu summary::-webkit-details-marker{display:none}
.avatar{background:#352024;color:#ffd4d1;border:1px solid #553239;border-radius:10px;display:grid;place-items:center;width:36px;height:36px;font-size:.76rem;font-weight:800;letter-spacing:.04em}
.account-menu-body{position:absolute;right:0;top:calc(100% + 11px);min-width:174px;max-width:250px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 25px #0008}
.account-menu-body strong{display:block;overflow-wrap:anywhere;margin-bottom:8px}
main{padding:27px 0 68px;min-height:calc(100vh - 72px)}
button,.btn{display:inline-flex;justify-content:center;align-items:center;gap:.4em;background:var(--red);color:#fff;border:1px solid transparent;border-radius:8px;padding:.62em .95em;font:inherit;font-weight:700;line-height:1.24;cursor:pointer;text-decoration:none;min-height:36px}
button:hover,.btn:hover{background:var(--hover);text-decoration:none}
button.secondary,.btn.secondary{background:var(--raised);border-color:#333540;color:#f3f1f1}
button.secondary:hover,.btn.secondary:hover{background:#24252d}
button.secondary[aria-pressed=true]{background:#411d22;border-color:#9f333a;color:#fff}
button:disabled{cursor:default;opacity:.56}button.danger{color:#ff9a9a}
input,textarea,select{width:100%;max-width:100%;padding:.6em .75em;font:inherit;background:#0d0e12;color:#faf7f7;border:1px solid #393b45;border-radius:8px}
input::placeholder,textarea::placeholder{color:#a5a4ae}
input[type=radio]{width:auto;margin:0 .6em 0 0;accent-color:var(--red)}
input[type=file]::file-selector-button{background:#23242d;color:#faf5f4;border:1px solid #41424d;border-radius:5px;padding:.35em .6em;margin-right:8px}
textarea{min-height:94px;resize:vertical}.code{font-family:Consolas,monospace;font-size:.91rem}
label{display:block;font-weight:650;margin-bottom:10px}label>:is(input,select,textarea){display:block;margin-top:5px}
.actions,.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.panel,.card,fieldset{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}
.panel{margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:14px}
fieldset{margin:0 0 14px}legend{font-weight:700;padding:0 7px}
summary{cursor:pointer;font-weight:700}
.notice{background:#392916;color:#ffe0ab;border-radius:8px;padding:10px 12px;overflow-wrap:anywhere}
.notice.success{background:#183226;color:#bcf2cc}
.tag{display:inline-flex;padding:4px 10px;border-radius:7px;background:#27242a;color:#f4dbda;font-size:.79rem;font-weight:750;white-space:nowrap}
progress{display:block;width:100%;height:7px;accent-color:var(--bright);margin:6px 0 9px}
.auth{width:min(100%,480px);margin:clamp(25px,10vh,105px) auto;padding:clamp(20px,5vw,43px);border-top:3px solid var(--red);box-shadow:0 20px 65px #0007}
.auth h1{font-size:clamp(1.8rem,6vw,2.65rem)}
.hero{background:linear-gradient(110deg,#21171c,#141419 75%);border:1px solid var(--line);padding:clamp(20px,4vw,43px);border-radius:var(--radius);margin:0 0 19px}
.hero small{display:block;color:#ff9194;margin-bottom:7px;font-weight:700}
.hero p{max-width:70ch;margin:0}.hero h1{margin-bottom:10px}
.back-link{display:inline-flex;align-items:center;gap:8px;margin:0 0 17px;color:#e0dadd;font-weight:700;font-size:.88rem}
.back-link:hover{color:#fff}

/* Catalog and course presentation */
.cover-art{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:end;gap:4px;min-width:0;aspect-ratio:16/10;padding:clamp(11px,2vw,25px);background:#1c222c;color:#fff}
.cover-art::before,.cover-art::after{position:absolute;inset:0;content:"";pointer-events:none;z-index:-1}
.cover-art::before{background:radial-gradient(ellipse at 76% 17%,color-mix(in srgb,var(--t-accent) 65%,#12151c),transparent 50%),linear-gradient(142deg,#0d1119,color-mix(in srgb,var(--t-accent) 29%,#10131b) 75%,#101218)}
.cover-art::after{inset:-65% -20% -35% 28%;background:repeating-linear-gradient(119deg,transparent 0 30px,#fff1 30px 31px,transparent 32px 51px);transform:rotate(-6deg);mask-image:linear-gradient(90deg,transparent,#000)}
.cover-art span,.cover-art strong{z-index:0;text-shadow:0 1px 10px #0008;overflow-wrap:anywhere}
.cover-art strong{font-size:clamp(1rem,2vw,1.65rem);line-height:1.13;letter-spacing:-.035em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cover-label,.card-category,.showcase-category{font-size:.71rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#ff888a}
.cover-art img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;background:#13151b}
.showcase{position:relative;isolation:isolate;display:grid;align-items:end;overflow:hidden;min-height:clamp(360px,38vw,570px);border:1px solid #242631;border-radius:18px;margin:0 0 clamp(23px,4vw,44px);background:#13151c}
.showcase .cover-art{position:absolute;inset:0 0 0 15%;height:100%;width:85%;border:0;z-index:-2}
.showcase .cover-art img{object-position:center 42%}
.showcase .cover-art :is(span,strong){visibility:hidden}
.showcase::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e1017 8%,#0e1017eb 29%,#0e101760 66%,transparent),linear-gradient(0deg,#0e1017 0%,transparent 69%);z-index:-1}
.showcase-copy{padding:clamp(22px,5vw,66px);max-width:min(100%,720px)}
.showcase-copy h1{font-size:clamp(2.25rem,6vw,5.1rem);line-height:.99;margin:8px 0 12px}
.showcase-copy p{color:#dcdae0;max-width:50ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.catalog-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-bottom:16px}
.catalog-heading :is(h1,h2),.section-heading h2{margin:0}
.catalog-heading input{max-width:300px}
.filters{margin-bottom:23px}.filters button{font-size:.85rem;min-height:33px}
.category-group{margin:0 0 29px}
.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.7vw,20px)}
.course-card{background:#131419;border:1px solid #272930;border-radius:13px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .2s}
.course-card:hover{border-color:#63434b}
.card-cover-link{display:block}.card-cover-link:focus-visible{outline-offset:-4px}
.course-card-body{padding:clamp(10px,1.4vw,19px);display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px}
.course-card h3{margin:0;font-size:clamp(.94rem,1.35vw,1.19rem)}
.course-card p{font-size:.86rem;line-height:1.45;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.course-card-action{margin-top:auto}.course-card-action .btn{font-size:.82rem}
.card-progress{width:100%;color:var(--muted);font-size:.82rem}
.catalog-empty{padding:21px;border:1px dashed var(--line);border-radius:var(--radius)}
.presentation-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(25px,5vw,80px);align-items:start}
.presentation-intro h1{margin:7px 0 16px}
.presentation-intro .cover-art{border-radius:13px;margin-bottom:20px;border:1px solid var(--line)}
.presentation-intro h2{margin-bottom:8px}.presentation-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:74ch}
.presentation-actions{margin:15px 0 10px}
.presentation-plan{padding-top:5px}
.presentation-topics{padding:0;margin:0;list-style:none;counter-reset:topics;display:grid;gap:9px}
.presentation-topic{counter-increment:topics;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:11px}
.presentation-topic::before{content:counter(topics,decimal-leading-zero);color:#ff9898;background:#351b20;border-radius:7px;display:grid;place-items:center;min-height:34px;font-size:.75rem;font-weight:800}
.presentation-topic :is(p,ul){font-size:.89rem;color:var(--muted);margin:0 0 6px;overflow-wrap:anywhere}.presentation-topic ul{padding-inline-start:19px}.presentation-topic li::marker{color:#ff797c}
.related-courses{margin-top:35px;padding-top:23px;border-top:1px solid var(--line)}
.related-grid{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(185px,26vw,285px);gap:13px;overflow:auto;padding:3px 3px 11px;scroll-snap-type:x proximity}
.related-grid .course-card{scroll-snap-align:start}

/* Administration */
.admin-actions{margin-bottom:15px}
.admin-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:14px;align-items:center}
.admin-row .cover-art{border-radius:8px;padding:7px}.admin-row .cover-art strong{font-size:.79rem}.admin-row .cover-label{display:none}
.admin-row h2,.admin-row p{margin-bottom:4px;overflow-wrap:anywhere}.admin-row h2{font-size:1.15rem}
.admin-tile{margin:0}
.theme-picker{margin-top:14px}.theme-group+.theme-group{margin-top:10px}.theme-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}
.theme-option{font-size:.87rem}.theme-swatch{background:var(--t-surface);color:var(--t-accent);padding:1px 5px;border:1px solid var(--t-accent);border-radius:5px}
.cover-picker{margin:12px 0}.cover-preview img{display:block;width:min(200px,100%);aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin:7px 0}
.editor-topic{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.editor-block{background:#1a1b21;border:1px solid #2b2c33;border-radius:10px;padding:13px;margin:10px 0}.editor-block h4{margin:0 0 9px}
.editor-block details,.editor-topic details{margin:8px 0}
.image-request{border:1px solid #57363b;border-radius:10px;background:#21181d;padding:12px;margin-bottom:12px}
.image-request h4,.image-location{margin:0 0 6px}

/* Lessons */
.reading-shell header{display:none}.reading-shell main{width:100%;padding:0;margin:0}
.course-page{min-height:100vh;background:var(--t-bg);color:var(--t-text);padding:clamp(13px,3vw,49px);overflow-wrap:anywhere}
.course-page p,.course-page .topic.locked{color:var(--t-muted)}.course-page a{color:var(--t-accent)}
.course-page .hero,.course-page .panel,.course-page fieldset{background:var(--t-surface);color:var(--t-text);border-color:transparent}
.course-page .hero{margin-top:11px}.course-page .hero small{color:var(--t-accent)}
.course-page .lesson-title{font-size:clamp(1.65rem,4vw,3.15rem);margin:24px 0 16px}
.module-nav{margin-bottom:22px}.module-nav summary{margin-bottom:5px}
.topic{display:block;border-radius:7px;padding:7px 9px;margin-bottom:3px}.topic.active{background:var(--t-bg);font-weight:750}
.course-page progress,.course-page input[type=radio]{accent-color:var(--t-accent)}
.course-page button{background:var(--t-accent);color:var(--t-ink)}
.course-page .notice{color:#ffe0ab}.course-page .notice.success{color:#bcf2cc}
.course-frame{display:block;width:100%;height:180px;border:0;overflow:hidden;background:var(--t-bg)}
.quiz-wrap{padding:clamp(13px,3vw,35px);background:var(--t-surface);border-radius:14px}
.quiz-wrap fieldset{margin-top:12px}.quiz-wrap .actions{margin-bottom:9px}
.choice{display:flex;align-items:center;font-weight:500;padding:8px 10px;margin:5px 0;border-radius:7px;background:var(--t-bg);color:var(--t-text)}
.choice input{display:inline}
.finish-banner,.images-dialog{width:min(625px,calc(100% - 26px));max-height:85dvh;padding:clamp(17px,4vw,32px);background:#18171b;color:#fff;border:1px solid #594045;border-radius:15px}
.finish-banner{text-align:center}.finish-banner::backdrop,.images-dialog::backdrop{background:#060509d9}
.course-page .finish-banner p{color:#d8cacc}.course-page .finish-banner .btn{background:var(--red);color:white}
.finish-mark{width:50px;height:50px;margin:0 auto 12px;display:grid;place-items:center;background:#47202a;color:#ffd9d9;border-radius:12px;font-size:1.65rem}

@media(max-width:1020px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-row{grid-template-columns:80px minmax(0,1fr)}.admin-row>.actions{grid-column:2}}
@media(max-width:710px){.top{height:62px;gap:18px}.logo{width:29px;height:29px}.brand{font-size:1.16rem}nav{gap:12px}nav>a{font-size:.8rem}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-grid{grid-template-columns:1fr;gap:16px}.showcase .cover-art{inset:0;width:100%}.showcase::after{background:linear-gradient(0deg,#0e1017 5%,#0e1017b5 47%,#0e10173b)}.catalog-heading input{max-width:200px}.presentation-plan{padding-top:0}}
@media(max-width:400px){.top{height:auto;min-height:58px;display:grid;grid-template-columns:1fr;gap:5px;padding:8px 0 0}.top nav{min-height:39px}.top nav>a{min-height:39px}.avatar{width:30px;height:30px}.catalog-heading{align-items:stretch;flex-direction:column}.catalog-heading input{max-width:none}.course-card-action .btn{padding:.5em .58em;font-size:.76rem}.course-card p{font-size:.8rem}.admin-row{grid-template-columns:62px minmax(0,1fr)}.section-heading .tag{font-size:.73rem}}

.course-page .choice.choice-correct{background:#153c2c;color:#ebfff1;border:1px solid #479b6c}
.course-page .choice.choice-wrong{background:#49202a;color:#fff0f0;border:1px solid #b45765}
.choice-verdict{margin-inline-start:auto;padding-inline-start:10px;font-size:1.2em;font-weight:800}
.choice-correct .choice-verdict{color:#8af1a9}.choice-wrong .choice-verdict{color:#ffadb8}
.study-widget,.course-audio-widget{position:fixed;right:max(15px,env(safe-area-inset-right));z-index:15}
.study-widget{bottom:max(15px,env(safe-area-inset-bottom))}
.course-audio-widget{bottom:calc(max(15px,env(safe-area-inset-bottom)) + 53px);z-index:16}
.study-star,.audio-toggle{height:44px;min-width:44px;border:1px solid #42343b;border-radius:13px;display:block;margin-left:auto;background:#262227;color:#ffdc72;padding:5px 11px;font-size:1.13rem}
.audio-toggle{color:#ff8b88;font-size:1.32rem}
.study-star:is(:hover,[aria-expanded=true]),.audio-toggle:is(:hover,[aria-expanded=true]){background:#393034}
.study-favorites,.course-audio-panel{position:absolute;right:0;bottom:calc(100% + 9px);background:#17171c;border:1px solid #41353d;border-radius:16px;color:#fcf8f7;padding:14px;box-shadow:0 12px 40px #0008;max-height:65dvh;overflow:auto}
.study-favorites{bottom:calc(100% + 61px);width:min(390px,calc(100vw - 30px))}
.study-favorites h2{font-size:1.13rem;margin-bottom:12px}
.study-item{display:grid;grid-template-columns:16px 1fr 28px;gap:6px;align-items:start;background:#232126;border-radius:10px;padding:9px;margin-bottom:6px}
.study-item>span{color:#ffda73}
.study-item small{grid-column:2;color:#b7bfd3}
.study-item .study-quote{display:block;background:none;border:0;padding:0;color:#fcf8f7;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem}
.study-item .study-quote:hover{text-decoration:underline}
.study-trash{grid-column:3;grid-row:2;background:none;border:0;color:#ffbac4;padding:0;line-height:1.4}
.study-status:not(:empty){position:absolute;right:55px;bottom:4px;width:max-content;max-width:calc(100vw - 84px);background:#17171c;color:#fcf8f7;border:1px solid #41353d;border-radius:8px;padding:6px 10px;font-size:.82rem}
.course-audio-panel{width:min(280px,calc(100vw - 30px));background:#10171a;border-color:#35444b}
.course-audio-panel p:empty{display:none}
.course-audio-panel select{margin:9px 0 3px}
.course-audio-panel input[type=range]{width:100%;padding:0;accent-color:#c4c9d8}
.course-audio-panel label{margin-top:7px;font-size:.8rem}
.audio-art{height:132px;display:flex;align-items:center;justify-content:center;gap:2px;background:radial-gradient(ellipse at 50% 85%,#192f31,#080f13 80%);border-radius:10px}
.audio-art i{width:3px;height:var(--bar);border-radius:6px;background:#edf2fa}
.audio-art.is-playing i{animation:audio-wave .62s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -33ms)}
@keyframes audio-wave{from{scale:1 .45}to{scale:1 1.15}}
@media(prefers-reduced-motion:reduce){.audio-art.is-playing i{animation:none}}
.audio-controls{display:flex;gap:9px;justify-content:center;margin-top:8px}
.audio-controls button{background:#263137;color:white}
.audio-controls .audio-play{background:#e8eef4;color:#171d22;min-width:45px}
.audio-admin-list .actions{justify-content:space-between;margin-top:8px}

.visual-editor-shell main{width:min(1200px,calc(100% - 24px));padding-bottom:155px}
.visual-page{padding:clamp(12px,3vw,40px);border-radius:0}
.visual-page .visual-material{color:var(--course-text);overflow-wrap:anywhere}
.visual-material p{color:inherit}
.visual-page .visual-top{justify-content:space-between}
.visual-page .visual-top small{color:var(--t-muted)}
.visual-page select{max-width:420px;background:var(--t-surface);color:var(--t-text)}
.visual-material [data-visual-block]{outline:1px solid transparent;outline-offset:3px}
.visual-material [data-visual-block]:hover{outline-color:color-mix(in srgb,var(--course-accent),transparent 55%)}
.visual-material .visual-picked{outline:2px solid var(--course-accent)!important}
.visual-material .visual-drop{box-shadow:0 4px 0 var(--course-accent)}
.visual-material [draggable=true]{cursor:grab}
.visual-material [contenteditable="plaintext-only"],.visual-page [contenteditable="plaintext-only"]{cursor:text;min-height:1em}
.visual-material [contenteditable]:focus,.visual-page [contenteditable]:focus{outline:1px dashed var(--t-accent);outline-offset:3px}
.visual-material figure{position:relative}
.visual-material figure.img-front,.visual-material figure.img-back{position:absolute;pointer-events:auto}
.visual-material figure.img-back{z-index:0}
.visual-material section:has(> .img-back)>:not(.img-back){position:relative;z-index:1}
.visual-material .img-v-center:not(.img-front,.img-back){margin-block:auto}
.lesson-card:has(> .img-inline.img-v-center){display:flex;flex-direction:column;justify-content:center}
.visual-resize{position:absolute;right:-8px;bottom:-8px;width:18px;height:18px;padding:0!important;border:2px solid #fff;border-radius:4px;touch-action:none;cursor:nwse-resize;visibility:hidden}
.visual-picked .visual-resize,.visual-material figure:hover .visual-resize{visibility:visible}
.visual-toolbar{position:fixed;z-index:20;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);display:flex;flex-direction:column;align-items:center}
.visual-toolstrip,.visual-options{padding:7px;background:#211e23;border:1px solid #483d43;border-radius:12px;box-shadow:0 8px 30px #0009}
.visual-toolstrip{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.visual-toolstrip button,.visual-options button{font-size:.83rem}
.visual-options{width:100%;max-height:55dvh;overflow:auto;margin-bottom:7px}
.visual-options .actions{align-items:flex-end}
.visual-options .actions label{margin-bottom:0}
.visual-options input[type=number]{width:80px}
.visual-options input[type=color]{width:45px;padding:4px;height:34px}
.visual-options select{width:auto;max-width:100%}
.visual-swatches{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:7px 0 0}
.visual-swatches span{font-size:.8rem;margin-inline:3px}
.visual-swatches button{background:var(--swatch);width:25px;height:25px;border:1px solid #9c99b2;padding:0}
.visual-status:not(:empty){background:#211e23;color:#fff;padding:6px 11px;border-radius:7px;margin-bottom:5px;text-align:center}
.visual-audio-admin{margin-top:28px}
.visual-audio-admin summary{margin-bottom:8px}
.legacy-preview{margin-bottom:17px}
@media(max-width:520px){.visual-toolstrip button,.visual-options button{padding:5px 7px;font-size:.74rem}.visual-toolbar{width:calc(100% - 20px)}}

.package-dialog{width:min(1250px,calc(100% - 22px));max-height:91dvh}
.package-top,.package-summary{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.package-top{justify-content:space-between}.package-top h2,.package-summary h3{margin:0}
.package-summary label{min-width:min(270px,60vw);margin:0}.package-summary p{margin:2px 0 8px}
.package-cover{width:min(155px,23vw);aspect-ratio:16/10;object-fit:cover;border-radius:8px}
.package-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(205px,29%);gap:14px;align-items:start}
.package-frame-area{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:6px}
.package-image-list{min-width:0}.package-image-list p{overflow-wrap:anywhere}
.package-actions{position:sticky;bottom:0;background:#18171b;padding:9px 0;margin-top:12px}
@media(max-width:680px){.package-preview-grid{grid-template-columns:1fr}.package-summary{align-items:start}.package-summary label{min-width:0}}

/* Leitura: coluna de 1.176 px, respiro entre cartões e fundo fora do material. */
.reading-shell main{width:min(1176px,calc(100% - clamp(32px,8vw,128px)));margin-inline:auto;padding:clamp(18px,3vw,44px) 0 70px}
.reading-shell .course-page{padding:0;background:transparent;isolation:isolate;--reading-gap:clamp(28px,5.45vw,64px)}
.reading-shell .course-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
    radial-gradient(ellipse at 50% 15%,color-mix(in srgb,var(--t-surface),transparent 8%),transparent 68%),
    linear-gradient(160deg,var(--t-bg),color-mix(in srgb,var(--t-bg) 85%,#000) 68%)}
.reading-shell .course-page[data-course-theme^="light-"]::before{background:linear-gradient(155deg,var(--t-bg),color-mix(in srgb,var(--t-bg),#fff 38%))}
.reading-back{display:inline-flex;align-items:center;font-size:.91rem;font-weight:700;padding:7px 0;margin:0 0 9px}
.reading-shell .course-page .hero{margin:0 0 var(--reading-gap);padding:clamp(22px,5.45vw,64px);border-radius:12px}
.reading-shell .course-page .hero h1{font-family:var(--lesson-heading-font,system-ui);font-weight:var(--lesson-heading-weight,750);font-size:clamp(1.9rem,4vw,3.45rem);color:var(--lesson-heading-color,var(--t-text))}
.reading-shell .course-page .hero.reading-hero-with-cover{padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);align-items:stretch}
.reading-hero-copy{padding:clamp(22px,5.45vw,64px);align-self:center;min-width:0}
.reading-hero-with-cover .cover-art{min-height:100%;aspect-ratio:auto}
.reading-hero-with-cover .cover-art :is(span,strong){visibility:hidden}
.reading-shell .course-page .module-nav{padding:13px 19px;margin:0 0 20px;border-radius:10px}
.reading-shell .course-page .lesson-title{margin:0 0 19px;font-size:clamp(1.55rem,3vw,2.4rem);font-family:var(--lesson-heading-font,system-ui);font-weight:var(--lesson-heading-weight,750);color:var(--lesson-heading-color,var(--t-text))}
.reading-shell .course-frame,.visual-page .course-frame{background:transparent}
.reading-shell .quiz-wrap{margin-top:var(--reading-gap);padding:clamp(20px,5vw,64px);border-radius:12px}
@media(max-width:650px){
    .reading-shell main{width:calc(100% - 28px)}
    .reading-shell .course-page .hero.reading-hero-with-cover{grid-template-columns:1fr}
    .reading-hero-with-cover .cover-art{aspect-ratio:16/9;min-height:0}
    .reading-shell .course-page .hero{margin-bottom:28px}
}

.branded-platform{--red:var(--platform-accent);--bright:color-mix(in srgb,var(--platform-accent),white 30%);--hover:color-mix(in srgb,var(--platform-accent),black 15%)}
.branded-platform a:not(.btn,.topic){color:var(--bright)}
.branded-platform .brand,.branded-platform nav>a{color:var(--text)}
.branded-platform :is(button,.btn):not(.secondary,.audio-control,.audio-play,.audio-toggle,.study-star,.study-quote,.study-trash),.branded-platform .logo{color:var(--platform-ink)}
.branded-platform .course-page button{color:var(--t-ink)}
.platform-logo,.tenant-mark{width:43px;height:43px;object-fit:contain;border-radius:9px;background:var(--raised);flex:none}
.tenant-mark{display:grid;place-items:center;color:var(--tenant-color);font-size:1.3rem}
.platform-brand-name{max-width:min(34vw,240px);overflow:hidden;text-overflow:ellipsis}
.tenant-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.tenant-heading{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.tenant-heading h2{margin-bottom:4px}
.tenant-facts{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:8px 14px;margin:0 0 16px}
.tenant-facts dt{color:var(--muted);font-size:.9rem}
.tenant-facts dd{margin:0;overflow-wrap:anywhere}
.tenant-active{color:#bdf8d1;background:#163529}.tenant-blocked{color:#ffbcc2;background:#421d25}.tenant-expired{color:#ffdfac;background:#483314}
.management-form{width:100%;max-width:720px}
.management-form label{margin-bottom:13px}
.management-form input[type=color]{width:96px;height:43px;padding:5px}
.management-form [role=status],.tenant-copy{margin-top:12px}
.table-scroll{overflow:auto}
.management-table{border-collapse:collapse;width:100%;text-align:left}
.management-table th,.management-table td{padding:10px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.management-table th{color:var(--muted);font-size:.86rem}
.management-table td:last-child{white-space:nowrap}
@media(max-width:540px){
    .branded-platform header .top{height:auto;min-height:58px;display:grid;grid-template-columns:1fr;gap:5px;padding:8px 0 0}
    .branded-platform nav{min-height:39px;flex-wrap:wrap}
    .branded-platform nav>a{min-height:39px}
    .platform-brand-name{max-width:min(75vw,300px)}
}

.lesson-player-dialog{width:min(880px,calc(100% - 24px));max-height:90dvh;padding:clamp(12px,3vw,26px);border-radius:14px;background:var(--surface);color:var(--text);border:1px solid var(--line)}
.lesson-player-dialog::backdrop{background:#04070bdd}
.lesson-player-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.lesson-player-heading h2{margin:0}
.lesson-player-dialog :is(iframe,video){width:100%;aspect-ratio:16/9;max-height:64dvh;border:0;border-radius:8px;display:block;background:#000;margin-bottom:12px}
.visual-material .lesson-media-action:disabled{pointer-events:none}
