.learning-page{padding-top:0}.learning-nav{min-height:75px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:29px;margin-bottom:32px}.learning-nav>button{font-size:13px;height:75px;padding:0 2px;border-bottom:2px solid transparent;color:#91a18c}.learning-nav>button.active{color:var(--green);border-color:var(--green);font-weight:600}.learning-nav>span{margin-left:auto;font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:center}.library-banner{background:#e9efdc;border-radius:20px;padding:30px 36px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;min-height:207px;position:relative}.library-banner .tag{font-size:10px;letter-spacing:1px;color:#7f936d}.library-banner h2{font-size:27px;margin:7px 0 10px;letter-spacing:1px}.library-banner p{font-size:12px;color:#819075;line-height:1.9}.ticket-art{width:180px;height:137px;border:1px solid #d6dfc3;background:#f6f8ed;transform:rotate(9deg);border-radius:12px;position:relative;padding:15px 19px;box-shadow:9px 11px 0 #dce6c8;margin-right:29px;flex:none}.ticket-art:after{content:'';border-left:2px dashed #d7dfc5;position:absolute;right:34px;top:0;bottom:0}.ticket-art>span{font-size:10px;color:#95a17f}.ticket-art strong{display:block;font:22px/.95 Georgia;letter-spacing:2px;color:#688154;margin-top:5px}.ticket-art i{font-style:normal;font-size:36px;position:absolute;right:45px;top:31px;color:#9db477}.ticket-art small{font-size:7px;color:#9aaa88;display:block;margin-top:10px}.library-empty{background:var(--surface,#f4f5eb);border:1px solid var(--line);border-radius:17px;text-align:center;padding:38px 20px 30px}.empty-book{width:70px;height:70px;margin:0 auto 18px;position:relative;display:grid;place-items:center;border-radius:20px;background:#f0f4e7;color:#90a76e;font-size:44px;line-height:1}.empty-book span{position:absolute;right:-7px;bottom:3px;border:3px solid white;border-radius:50%;background:#d9e8bf;font-size:19px;padding:4px}.library-empty h3{font-size:19px}.library-empty p{color:var(--muted);font-size:12px;line-height:1.8;margin:10px 0 21px}.library-empty>.btn{min-width:160px}.flow-steps{display:flex;gap:17px;justify-content:center;align-items:center;font-size:11px;color:#9ba68d;margin-top:33px}.flow-steps i{font-style:normal;color:#d4dccb}.enrolled-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.enrolled-card{background:var(--surface,#f4f5eb);border:1px solid var(--line);border-radius:17px;overflow:hidden}.enrolled-art{height:162px;position:relative;padding:23px}.enrolled-art>span{font-size:10px;letter-spacing:1px;color:#819472;display:block}.enrolled-art>strong{display:block;font-size:26px;margin-top:5px;font-weight:500}.enrolled-art>svg{position:absolute;height:135px;width:166px;right:-8px;bottom:-8px}.access-badge{position:absolute;right:12px;top:12px;font-size:10px;font-weight:400;padding:3px 8px;background:#ffffffe8;border-radius:5px;color:#6a8255}.access-badge.expired{color:#ad8a6d}.enrolled-body{padding:20px}.enrolled-body h3{font-size:18px}.enrolled-body>p{font-size:11px;color:var(--muted);margin-top:7px}.access-expiry{font-size:11px;color:#93a081;margin:17px 0}.enrolled-body>.btn{width:100%}.is-expired .enrolled-art{filter:grayscale(.7)}.redeem-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:48px 10px 25px;align-items:center}.redeem-intro h1{font-size:37px;line-height:1.6;margin:12px 0 16px}.redeem-intro>p{color:#8b987f;font-size:13px;line-height:2}.redeem-art{width:210px;height:165px;margin:25px 0 9px}.redeem-art svg{width:100%;height:100%}.redeem-promise{display:flex;gap:18px;font-size:10px;color:#96a582}.redeem-card{border:1px solid var(--line);background:var(--surface,#f4f5eb);border-radius:20px;padding:34px;box-shadow:0 8px 40px #35502504}.form-kicker{font-size:11px;letter-spacing:2px;color:#87a06d;display:block;margin-bottom:10px}.redeem-card h2{font-size:23px}.redeem-card>p{font-size:12px;color:var(--muted);margin-top:7px}.redeem-card form{margin-top:31px}.redeem-input{margin-top:10px;width:100%;border:1px solid #dce5d3;border-radius:9px;padding:16px 14px;background:#fbfcf8;color:var(--ink);font:16px/1.5 monospace;letter-spacing:1px;outline:none}.redeem-input:focus{border-color:#8da76e;box-shadow:0 0 0 3px #dfecc945}.redeem-input::placeholder{font:12px 'Microsoft YaHei';letter-spacing:0;color:#acb39e}.form-error{font-size:11px;color:#b6755c;min-height:25px;padding-top:8px;line-height:1.7}.redeem-submit{width:100%;height:47px;margin-top:9px}.redeem-notes{border-top:1px solid var(--line);margin-top:27px;padding-top:21px}.redeem-notes h3{font-size:11px;color:#7b8f6b;margin-bottom:8px}.redeem-notes p{font-size:10px;color:#a1aa96;line-height:2.1}.redeem-success{max-width:620px;border-radius:21px;border:1px solid var(--line);padding:44px 36px;background:var(--surface,#f4f5eb);margin:48px auto 0;text-align:center}.success-check{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#eaf3d9;color:#759656;font-size:35px;margin:0 auto 23px}.redeem-success h1{font-size:25px;margin:11px 0}.redeem-success>p{color:var(--muted);font-size:12px}.success-course{display:flex;align-items:center;gap:17px;text-align:left;padding:21px;margin:30px 0;background:#f6f8ef;border:1px solid var(--line);border-radius:13px}.success-course p{font-size:11px;color:#97a188;margin:4px 0}.success-course span{color:#7a9264;font-size:11px}.redeem-success>.actions{justify-content:center}.redeem-success>.actions>.btn{min-width:140px}.teacher-preview{display:flex;justify-content:center;gap:20px;padding:10px;background:#fff5d9;font-size:12px;color:#967c3f}.teacher-preview button{font-size:11px;text-decoration:underline}.course-process{display:flex;gap:20px;align-items:center;background:#edf2e5;border:1px solid #e3ead8;border-radius:11px;padding:17px 22px;margin:22px 0 26px;color:#7d9269;font-size:11px}.course-process b{font:17px Georgia;margin-right:8px;color:#a4b68e}.course-process i{font-style:normal;color:#b4c2a1}.catalog-filters{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.filter-pills{display:flex;gap:9px;flex-wrap:wrap}.filter-pills button{padding:7px 17px;border:1px solid var(--line);border-radius:7px;background:var(--surface,#f4f5eb);font-size:12px;color:#839375}.filter-pills button.active{background:var(--green);border-color:var(--green);color:white}.filter-pills.seasons{gap:7px}.filter-pills.seasons button{padding:4px 13px;border:0;background:none;font-size:11px}.filter-pills.seasons button.active{background:#e9f0db;color:#69844f}.course-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-course-card{border:1px solid var(--line);background:var(--surface,#f4f5eb);border-radius:14px;padding:22px}.course-card-top{display:flex;align-items:center;gap:10px;margin-bottom:22px}.season-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#edf1df;color:#799154;font:22px Georgia,'Songti SC',serif}.season-春{background:#edf1df}.season-暑{background:#f7eedc;color:#b49252}.season-秋{background:#f0e7de;color:#ab8460}.season-寒{background:#e9eff4;color:#7b98aa}.course-card-top>span{color:#a5af9b;font-size:10px}.course-card-top>.kind-tag{margin-left:auto;font-size:9px;padding:4px 7px}.admin-course-card h3{font-size:19px;margin-top:3px}.admin-course-card>p{font-size:11px;color:var(--muted);margin:12px 0 22px}.admin-course-card>p>span{padding:0 9px}.admin-course-actions{display:flex;gap:9px}.admin-course-actions>.btn{flex:1;font-size:11px;padding:8px}.modal-field{margin-top:18px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.choice-grid>label{border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12px;display:flex;align-items:center;gap:7px}.choice-grid input{accent-color:var(--green)}.seasons-choice{grid-template-columns:repeat(4,1fr)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.form-help{font-size:11px!important;line-height:1.9!important;color:#98a08d!important;margin-top:14px!important}.code-toolbar{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.code-toolbar>.editor-title{width:auto;max-width:270px;margin:0;min-width:130px}.code-toolbar>.search{margin-left:auto}.code-bulk{padding:12px 20px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);gap:12px}.code-table-scroll{overflow:auto}.code-table{min-width:890px}.code-table td{font-size:11px;padding:14px 12px;vertical-align:middle}.code-table th{font-size:11px}.code-table code{font:12px monospace;letter-spacing:.3px;white-space:nowrap;color:#456b4b}.code-table small{display:block;font-size:9px;color:#a2ab96;line-height:1.7;margin-top:4px}.code-table input{accent-color:var(--green)}.code-status{display:inline-block;font-size:10px;padding:3px 8px;border-radius:4px;background:#edf4e1;color:#779557}.status-used{background:#e8f0f5;color:#718c9c}.status-disabled,.status-expired{background:#f2eeea;color:#a18c7a}.code-empty{padding:50px 22px}.code-empty h3{font-size:15px;margin-bottom:8px}.code-empty p{font-size:12px}.copy-area{width:100%;height:230px;margin-top:18px;border:1px solid var(--line);border-radius:9px;padding:15px;resize:vertical;color:var(--ink);font-size:12px;line-height:1.8}.export-path{background:#f5f7ee;padding:14px;border-radius:8px;overflow-wrap:anywhere;margin-top:15px}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:23px 0}.import-summary>div{padding:15px 8px;background:#f2f6e9;border-radius:10px;text-align:center}.import-summary b{display:block;font-size:24px;line-height:1.4}.import-summary span{font-size:10px;color:#98a186}.naming-preview{padding:7px 16px;border:1px solid var(--line);border-radius:10px}.naming-preview>div{display:grid;grid-template-columns:1fr 40px 1fr;gap:8px;font-size:12px;padding:9px}.naming-preview span{color:#929f86}.naming-preview i{font-style:normal;color:#b1bea0}.naming-preview strong{font-weight:400;color:#79945b}.import-progress-title{display:flex;align-items:center;justify-content:space-between;margin:25px 0 13px;font-size:14px}.import-progress-title>span{color:#9aad83}.progress-track{height:8px;background:#eef3e5;border-radius:10px;overflow:hidden}.progress-track span{display:block;height:100%;background:#8baa63;transition:width .2s}.import-file-list{max-height:260px;overflow:auto;margin-top:18px}.import-file-list>div:not(.empty){display:flex;align-items:center;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.import-file-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-list b{margin-left:auto;white-space:nowrap;font-weight:400}.import-floating{position:fixed;right:24px;bottom:23px;background:#2a624b;border-radius:11px;padding:13px 18px;font-size:12px;color:#fff;box-shadow:0 5px 25px #22453324;z-index:10}.source-note{line-height:1.9}.lesson-nav:empty{display:none}
@media(min-width:1500px){.course-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){.course-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-process{gap:12px;padding:15px;font-size:10px}.course-process b{font-size:14px}.redeem-layout{gap:45px}.code-toolbar{flex-wrap:wrap}.code-toolbar>.search{margin-left:0}.enrolled-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar button{font-size:12px;padding:12px 10px;gap:8px}}
@media(max-width:800px){.sidebar{gap:0;flex-wrap:wrap}.sidebar button{padding:8px 11px}.sidebar .nav-icon{font-size:16px}.redeem-layout{gap:25px;padding:25px 0}.redeem-intro h1{font-size:29px}.redeem-card{padding:24px}.redeem-card h2{font-size:19px}.redeem-promise{flex-direction:column;gap:7px}.ticket-art{margin-right:0}.library-banner h2{font-size:24px}.course-process{flex-wrap:wrap;gap:10px}.learning-page{padding-top:0}}
@media(max-width:520px){.learning-nav{gap:23px;min-height:62px;margin-bottom:25px}.learning-nav>button{height:62px;font-size:12px}.learning-nav>span{font-size:10px;gap:6px}.learning-nav .avatar{width:22px;height:22px;font-size:10px}.learning-page>.page-heading{align-items:center}.learning-page>.page-heading h1{font-size:25px}.learning-page>.page-heading p{font-size:10px;max-width:210px}.learning-page>.page-heading>.btn{font-size:10px;padding:7px 10px;flex:none}.library-banner{min-height:180px;padding:23px 20px}.library-banner h2{font-size:21px;max-width:215px}.library-banner p{font-size:10px;max-width:230px;position:relative;z-index:1}.library-banner .tag{font-size:9px;letter-spacing:0}.ticket-art{width:108px;height:105px;padding:11px;position:absolute;right:-20px;bottom:15px;opacity:.65;box-shadow:7px 7px 0 #dce6c8}.ticket-art strong{font-size:19px}.ticket-art>span{font-size:7px}.ticket-art i{font-size:23px;right:12px;top:34px}.ticket-art small{font-size:6px}.ticket-art:after{right:20px}.library-empty{padding:29px 17px 25px}.library-empty h3{font-size:17px}.library-empty p{font-size:11px}.flow-steps{font-size:9px;gap:7px;white-space:nowrap}.enrolled-grid{grid-template-columns:1fr;gap:16px}.enrolled-art{height:151px}.enrolled-art>svg{right:5px;width:175px}.enrolled-body{padding:18px}.enrolled-body>.btn{height:40px}.redeem-layout{display:block;padding:0}.redeem-intro{position:relative;padding:10px 0 25px}.redeem-intro h1{font-size:28px;margin:10px 0}.redeem-intro>p{font-size:11px}.redeem-intro>.eyebrow{font-size:9px}.redeem-art{position:absolute;right:-5px;top:30px;width:120px;opacity:.5;margin:0;pointer-events:none}.redeem-promise{display:none}.redeem-card{padding:25px 22px;border-radius:17px}.redeem-card h2{font-size:20px}.redeem-card form{margin-top:22px}.redeem-notes{margin-top:23px;padding-top:17px}.redeem-input{font-size:14px;padding:14px 11px}.redeem-success{padding:32px 21px;margin:20px auto}.redeem-success h1{font-size:22px}.redeem-success>.eyebrow{font-size:9px}.redeem-success>.actions>.btn{min-width:0;flex:1}.success-course{padding:16px;gap:12px;margin:24px 0}.success-course h3{font-size:16px}.success-course span{font-size:10px}.course-catalog-grid{grid-template-columns:1fr}.admin-course-card{padding:19px}.course-card-top{margin-bottom:16px}.admin-course-card>p{margin:9px 0 18px}.course-process{display:grid;grid-template-columns:1fr 20px 1fr;gap:8px;padding:13px}.course-process>i:nth-of-type(2){display:none}.filter-pills{gap:6px}.filter-pills button{font-size:10px;padding:6px 11px}.course-catalog-grid .kind-tag{font-size:9px}.code-toolbar{padding:14px;gap:9px}.code-toolbar>.editor-title{flex:1;min-width:110px;max-width:100%;font-size:11px}.code-toolbar>.search{width:100%}.code-bulk{padding:10px 14px;align-items:start;font-size:10px;flex-direction:column;gap:6px}.code-bulk .text-btn{font-size:10px}.choice-grid{gap:7px}.choice-grid>label{padding:9px 6px;font-size:11px;gap:4px}.seasons-choice{grid-template-columns:repeat(4,1fr)}.form-two{gap:10px}.teacher-preview{font-size:10px;gap:10px;padding:9px 13px;align-items:center}.teacher-preview button{font-size:10px;flex:none}.import-summary{gap:8px}.import-summary b{font-size:21px}.import-summary span{font-size:9px}.import-floating{right:15px;bottom:15px;font-size:11px}.import-file-list>div:not(.empty){font-size:10px}.naming-preview{padding:5px 8px}.naming-preview>div{font-size:11px;grid-template-columns:1fr 22px 1fr}.learning-page .course-hero{padding-top:24px}}

@media(max-width:520px){.library-banner h2{font-size:20px;max-width:none;position:relative;z-index:1}}

/* One visible playlist: no category tab or nested scroll. */
.combined-sidebar{align-self:start}
.combined-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.combined-list-heading>span{font-size:11px;color:var(--muted)}
.combined-list-hint{font-size:11px;color:var(--muted);margin:5px 0 17px}
.combined-video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:none;overflow:visible}
.combined-video-list .video-item{border:1px solid var(--line);padding:12px 8px;gap:6px;min-height:49px;font-size:12px;line-height:1.5;margin:0}
.combined-video-list .video-item.selected{border-color:#dce8c9;background:#edf4e1}
.combined-video-list .video-circle{width:22px;height:22px;font-size:10px;background:transparent}
.combined-video-list>.empty{grid-column:1/-1}
@media(min-width:801px) and (max-width:1120px){.combined-sidebar{padding:16px}.combined-video-list .video-item{font-size:11px;padding:12px 6px;gap:4px}.combined-video-list .video-circle{width:18px;height:20px}}
@media(max-width:800px){.combined-video-list{grid-template-columns:repeat(3,minmax(0,1fr))}.combined-video-list .video-item{padding:13px 10px}}
@media(max-width:520px){.combined-video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.combined-video-list .video-item{padding:13px 9px;font-size:13px}.combined-list-hint{margin-bottom:15px}}

.lesson-return-bar{position:sticky;top:12px;z-index:8;display:flex;align-items:center;gap:18px;padding:12px 15px;background:#fffffff5;border:1px solid #e0e8d8;border-radius:13px;margin-bottom:24px;box-shadow:0 5px 20px #254b3410;backdrop-filter:blur(8px)}
.lesson-return-button{min-height:44px;padding:10px 18px;font-size:14px;font-weight:600;flex:none;gap:10px}
.lesson-return-button>span{font-size:23px;line-height:1;font-weight:400}
.return-context{font-size:10px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.return-context strong{display:block;color:var(--ink);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.video-stage{scroll-margin-top:96px}
@media(max-width:520px){.lesson-return-bar{top:8px;padding:10px;gap:11px;margin-bottom:21px}.lesson-return-button{padding:10px 12px;font-size:13px;min-height:44px;gap:7px}.return-context{font-size:9px}.return-context strong{font-size:11px}.video-stage{scroll-margin-top:90px}}

/* Keep titles and actions in one place. */
.return-context{white-space:normal;flex:1}
.return-context>span{font-size:11px;display:block;color:var(--muted)}
.return-context h1{font-size:21px;line-height:1.5;letter-spacing:0;margin:2px 0 0;overflow-wrap:anywhere}
.return-count{font-size:12px;color:var(--muted);white-space:nowrap}
.lesson-return-bar{padding:14px 16px;gap:20px}
.video-panel{align-self:start}
.video-info{padding:15px 20px}
.video-info h2{font-size:16px;font-weight:500}
.video-placeholder p{margin-top:17px}
.combined-list-heading{margin-bottom:16px}
.combined-list-heading h2{font-size:16px}
.art-num{font:22px/1.4 'Microsoft YaHei',sans-serif;top:23px;left:20px}
.clean-parent-nav h1{font-size:26px;font-weight:600;letter-spacing:0}
.clean-parent-nav>button{height:auto;min-height:42px;border:1px solid var(--green);color:white;padding:9px 16px;font-size:13px}
.library-action-bar{display:flex;justify-content:space-between;align-items:center;margin:3px 0 22px;gap:15px}
.library-action-bar>span{font-size:13px;color:var(--muted)}
.enrolled-art>svg{height:150px;width:215px;right:calc(50% - 108px);bottom:0}
.clean-redeem{max-width:480px;margin:48px auto 0;padding:32px}
.clean-redeem h1{font-size:25px}
.clean-redeem .redeem-rule{font-size:11px;color:var(--muted);margin:23px 0 0;border-top:1px solid var(--line);padding-top:18px}
.editor-course-tools{display:flex;justify-content:flex-end;margin:0 0 17px}
.cover-edit .art-num{font-size:18px}
.lesson-grid{margin-top:8px}
@media(max-width:520px){.lesson-return-bar{padding:11px;gap:12px}.return-context h1{font-size:16px;line-height:1.5}.return-context>span{font-size:10px}.return-count{display:none}.art-num{font-size:18px;left:13px;top:18px}.clean-parent-nav h1{font-size:24px}.clean-redeem{margin:22px auto 0;padding:25px 22px}.clean-redeem h1{font-size:23px}.clean-parent-nav>button{padding:8px 12px;font-size:12px}.library-action-bar{margin-bottom:18px}.video-info{padding:13px 16px}.video-info h2{font-size:14px}.combined-list-heading{margin-bottom:14px}.cover-edit .art-num{font-size:16px}}

.admin-main,.code-panel,.code-table-scroll{min-width:0}
@media(max-width:800px){.admin-shell{grid-template-columns:minmax(0,1fr)}}
.return-context h1{color:var(--ink)}

.bulk-picker-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:25px;overflow:auto}
.bulk-picker-header h2{font-size:22px;margin-bottom:4px}
.bulk-picker-controls{margin-top:21px;display:flex;flex-direction:column;gap:12px}
.bulk-scope{display:flex;gap:8px}
.bulk-scope button{padding:7px 16px;border:1px solid var(--line);border-radius:7px;font-size:12px;background:var(--surface,#f4f5eb);color:var(--muted)}
.bulk-scope button.active{background:var(--green);color:white;border-color:var(--green)}
.bulk-picker-controls .search{width:100%}
.bulk-picker-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:13px}
.bulk-picker-actions{display:flex;align-items:center;gap:13px;margin-top:13px;font-size:11px}
.bulk-picker-actions #bulkFolderCount{margin-left:auto;text-align:right}
.bulk-picker-dialog .modal-list{max-height:min(42dvh,420px);min-height:110px;margin-top:11px;overflow-y:auto;scrollbar-gutter:stable;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bulk-picker-dialog .modal-option{padding:11px 7px;gap:13px}
.bulk-picker-dialog .modal-option input{width:16px;height:16px;flex:none}
.bulk-picker-dialog .modal-option>span{overflow-wrap:anywhere}
.bulk-picker-footer{margin-top:16px}
.bulk-picker-footer .modal-actions{margin-top:16px}
.bulk-picker-dialog .empty>.btn{margin-top:12px}
@media(max-width:520px){.bulk-picker-dialog{padding:20px 17px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.bulk-picker-header h2{font-size:20px}.bulk-picker-controls{margin-top:16px}.bulk-picker-dialog .modal-list{max-height:36dvh}.bulk-picker-actions{gap:9px}.bulk-picker-actions .text-btn{font-size:10px;padding:2px 0}.bulk-picker-summary{font-size:10px}.bulk-picker-actions #bulkFolderCount{font-size:10px}.bulk-picker-dialog .modal-option{font-size:11px}.bulk-picker-dialog .modal-option small{font-size:10px}}


/* Course order is editable directly from the lecture list. */
.lesson-sort-hint{font-size:11px;color:var(--muted);padding:3px 10px 13px}
.lesson-sort-row{display:flex;align-items:center;position:relative;border-radius:9px;min-width:0;background:var(--surface,#f4f5eb);user-select:none}
.lesson-sort-row.active{background:#edf3e2}
.lesson-nav .lesson-sort-row>[data-edit-lesson],.lesson-sort-ghost>[data-edit-lesson]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;width:auto;text-align:left;padding:15px 8px 15px 12px;margin:0;background:transparent;border:0;border-radius:9px}
.lesson-sort-title{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.5}
.lesson-sort-title small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.lesson-index{flex:none;font:24px Georgia;color:#9cb083;min-width:29px}
.lesson-nav .lesson-sort-row>.lesson-drag-handle,.lesson-sort-ghost>.lesson-drag-handle{width:32px;min-height:44px;flex:none;padding:4px;margin:0;display:grid;place-items:center;background:transparent;touch-action:none;cursor:grab;font:24px sans-serif;color:#9daa9d;border-radius:7px}
.lesson-nav .lesson-drag-handle:hover{background:#e5eddc;color:var(--green)}
.lesson-nav .lesson-sort-row{transition:transform 180ms cubic-bezier(.2,.7,.2,1)}
.lesson-nav.is-sorting{overflow-anchor:none;scroll-behavior:auto}
.lesson-nav .lesson-sort-row.is-dragging{opacity:1;background:#edf3e280;outline:1px dashed #9ab39d;outline-offset:-3px;transition:none}
.lesson-sort-row.is-dragging>*{visibility:hidden}
.lesson-sort-row.drop-before:before,.lesson-sort-row.drop-after:after{content:'';position:absolute;height:3px;background:var(--green);border-radius:4px;left:3px;right:3px;z-index:2}
.lesson-sort-row.drop-before:before{top:-2px}.lesson-sort-row.drop-after:after{bottom:-2px}
.lesson-sort-ghost{position:fixed;z-index:1000;pointer-events:none;box-shadow:0 8px 25px #213c3430;border:1px solid #99b39e;background:#edf3e2;opacity:.96}
.sorting-lessons,.sorting-lessons *{cursor:grabbing!important;user-select:none!important}
.course-editor-heading{align-items:center;flex-wrap:wrap}
.course-editor-heading .actions{flex-wrap:nowrap;margin-left:auto}
@media(max-width:1100px){.course-editor-heading .actions{margin-left:0;flex-wrap:wrap}}
@media(max-width:520px){.lesson-sort-hint{padding-bottom:7px}.lesson-nav .lesson-sort-row>[data-edit-lesson]{padding-top:10px;padding-bottom:10px}.lesson-sort-title{font-size:12px}.course-editor-heading .actions{gap:7px}.course-editor-heading .btn{padding:8px 10px}}

.admin-course-card[data-open-course]{cursor:pointer;transition:border-color 150ms,box-shadow 150ms}
.admin-course-card[data-open-course]:hover,.admin-course-card[data-open-course]:focus-within{border-color:#a5b9a6;box-shadow:0 4px 14px #213c340a}
@media(prefers-reduced-motion:reduce){.lesson-nav .lesson-sort-row,.admin-course-card[data-open-course]{transition:none}}

.lesson-admin-grid{align-items:start;overflow-anchor:none}
.lesson-nav{min-height:520px}
#lessonEditor{min-height:620px;overflow-anchor:none}
.lesson-materials{background:#f5f7ef;border:1px solid var(--line);border-radius:12px;padding:20px;margin:22px 0}
.lesson-materials h3{font-size:15px}.lesson-materials p{color:var(--muted);font-size:12px;margin-top:5px}
.lesson-materials .actions{margin-top:16px}.lesson-materials .material-source{font-size:10px;margin-top:14px;overflow-wrap:anywhere}
.material-picker{width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 24px);padding:25px;overflow:auto}
.material-picker h2{font-size:22px}.material-picker>.search{width:100%;margin:18px 0 14px}
.material-picker-grid{display:grid;grid-template-columns:40% minmax(0,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;height:min(47dvh,440px)}
.material-folders{overflow:auto;border-right:1px solid var(--line);padding:6px}
.material-folder{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px}.material-folder.active{background:#edf3e2}
.material-folder input{flex:none;width:16px;height:16px;accent-color:var(--green)}.material-folder button{flex:1;min-width:0;text-align:left;font-size:12px;overflow-wrap:anywhere;padding:5px 0}.material-folder small{display:block;color:var(--muted);font-size:10px}
.material-files{overflow:auto;padding:0 15px}.material-files-heading{position:sticky;top:0;background:var(--surface,#f4f5eb);border-bottom:1px solid var(--line);padding:12px 0;z-index:1}.material-files-heading strong{display:block;font-size:12px;overflow-wrap:anywhere}.material-files-heading button{margin-top:5px;font-size:11px}.material-files .modal-option{padding:12px 0}
.material-picker-footer{display:flex;align-items:center;gap:14px;margin-top:18px;font-size:12px}.material-picker-footer>.actions{margin-left:auto}.material-picker-footer .text-btn{font-size:11px}
.upload-choices{display:flex;gap:12px;margin:26px 0}.upload-choices>.btn{flex:1;min-height:60px}
@media(max-width:800px){.lesson-nav{min-height:0}.material-picker{padding:20px}.material-picker-grid{grid-template-columns:42% minmax(0,1fr)}.material-folders{padding:4px}.material-folder{gap:6px;padding:5px}.material-files{padding:0 10px}.material-picker-footer{flex-wrap:wrap;gap:10px}.material-picker-footer>.actions{width:100%;justify-content:flex-end}.material-picker h2{font-size:19px}.lesson-materials{padding:15px}.lesson-materials .actions .btn{white-space:normal}.upload-choices{flex-wrap:wrap}}


.material-folder{cursor:pointer;flex-wrap:wrap}.material-folder.is-checked{background:#e7f0db;box-shadow:inset 0 0 0 1px #a4b890}
.material-folder .material-inspect{flex:0 0 auto;font-size:10px;color:var(--green);padding:3px 0;margin-left:26px;text-decoration:underline}
.import-name-preview{margin-top:15px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;max-height:240px;overflow:auto}
.import-name-preview>div{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1.5fr);gap:9px;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px;overflow-wrap:anywhere}
.import-name-preview strong{font-weight:500}.import-name-preview small{display:block;font-size:10px;color:var(--muted)}
#importCollectionField{margin-top:12px}#importCollectionField[hidden]{display:none}
.library-display-title{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.folder-detail-heading{flex-wrap:wrap;gap:12px}.folder-detail-heading .actions{flex-wrap:wrap}


.prefix-dialog{width:min(920px,calc(100vw - 28px));max-height:calc(100dvh - 24px);padding:25px;overflow:auto}
.prefix-dialog h2{font-size:22px}.prefix-name-label{margin-top:18px}
.prefix-selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:17px;font-size:12px}.prefix-selection-tools label{display:flex;align-items:center;gap:8px}
.prefix-selection-tools select,.prefix-range input{border:1px solid var(--line);background:var(--surface,#f4f5eb);border-radius:7px;padding:7px;color:var(--ink);font:inherit}
.prefix-range{display:flex;align-items:center;gap:8px}.prefix-range input{width:65px}.prefix-range-note{font-size:11px!important;color:var(--muted);margin-top:9px!important}
.prefix-bulk-tools{display:flex;align-items:center;gap:16px;font-size:11px;margin:16px 0 10px}.prefix-bulk-tools>span{margin-left:auto;color:var(--muted)}
.prefix-table-heading,.prefix-video-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}
.prefix-table-heading{font-size:11px;color:var(--muted);background:#f4f7ee;padding:10px 12px;border-radius:8px 8px 0 0}
.prefix-video-list{max-height:35dvh;min-height:100px;overflow:auto;border:1px solid var(--line);border-radius:0 0 8px 8px;scrollbar-gutter:stable}
.prefix-video-row{padding:12px;font-size:12px;border-bottom:1px solid var(--line);cursor:pointer;overflow-wrap:anywhere}.prefix-video-row:last-child{border:0}.prefix-video-row.selected{background:#f0f5e9}
.prefix-row-select{display:flex;align-items:center;gap:12px;color:var(--muted)}.prefix-row-select input{width:16px;height:16px;accent-color:var(--green)}.prefix-after{color:var(--green)}
.prefix-dialog .modal-actions{margin-top:6px}
@media(max-width:520px){.prefix-dialog{padding:19px 15px}.prefix-dialog h2{font-size:20px}.prefix-selection-tools{gap:10px}.prefix-range{gap:5px}.prefix-range input{width:49px}.prefix-range .btn{padding:7px 9px}.prefix-table-heading,.prefix-video-row{grid-template-columns:43px minmax(0,1fr) minmax(0,1fr);gap:9px}.prefix-video-row{font-size:11px;padding:10px 8px}.prefix-row-select{gap:5px}.prefix-table-heading{padding:10px 8px}.prefix-bulk-tools{gap:10px;flex-wrap:wrap}.prefix-video-list{max-height:28dvh}.prefix-table-heading{font-size:10px}}


.workflow-choices{display:grid;gap:12px;margin-top:22px}.workflow-choices button{text-align:left;border:1px solid var(--line);border-radius:12px;padding:19px;background:#f7f9f2}.workflow-choices button:hover{border-color:#a4b890;background:#edf3e2}.workflow-choices strong{display:block;font-size:16px}.workflow-choices span{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.video-source-tabs{display:flex;gap:7px;margin:17px 0}.video-source-tabs button{font-size:12px;padding:8px 18px;border:1px solid var(--line);border-radius:8px}.video-source-tabs .active{background:var(--green);color:white;border-color:var(--green)}
.course-title-entry{text-align:left;font:inherit;padding:0;cursor:pointer}.course-title-entry:hover{text-decoration:underline}
.course-editor-heading{position:sticky;top:0;z-index:5;background:var(--bg);padding:12px 0;margin-top:-12px}
.course-editor-heading .actions{position:relative;padding-bottom:23px}.course-save-state{position:absolute;right:0;bottom:0;font-size:11px;color:var(--muted)}
.enrolled-card:not(.is-expired){cursor:pointer}.enrolled-card:not(.is-expired):hover{border-color:#a4b890}.enrolled-card:focus-visible{outline:3px solid #a0c56d;outline-offset:3px}.course-enter-hint{display:block;font-size:13px;color:var(--green)}
@media(max-width:520px){.course-editor-heading{padding:9px 0}.course-editor-heading .actions{padding-bottom:20px}.course-save-state{left:0;right:auto}.workflow-choices button{padding:16px}.workflow-choices strong{font-size:15px}}


.edit-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.edit-section-title>.btn{font-size:11px;padding:6px 11px}
.classify-dialog{width:min(650px,calc(100vw - 28px));max-height:calc(100dvh - 24px);padding:25px;overflow:auto}.classify-dialog h2{font-size:21px}
.classify-target,.upload-folder-label{margin-top:20px}.classify-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:18px 0 10px}.classify-selection input,.pending-classify-list input{accent-color:var(--green)}.classify-selection span{color:var(--muted)}
.pending-classify-list{max-height:35dvh;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pending-classify-list .modal-option{cursor:pointer;padding:12px 5px}
@media(max-width:520px){.classify-dialog{padding:20px 16px}.classify-dialog h2{font-size:19px}.classify-dialog .modal-actions{flex-wrap:wrap}.classify-dialog .modal-actions .btn{white-space:normal}}

.enrolled-card.is-expired{background:#eeefed;border-color:#d9ddda;box-shadow:none;cursor:pointer}.enrolled-card.is-expired .enrolled-art{filter:grayscale(1);opacity:.65}.enrolled-card.is-expired .enrolled-body h3,.enrolled-card.is-expired .course-enter-hint,.enrolled-card.is-expired .card-kicker,.enrolled-card.is-expired .enrolled-body>p{color:#747c77}.enrolled-card.is-expired .access-badge.expired{color:#676f69;background:#e3e6e3}

.library-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin-bottom:20px;background:#e9f1e4;border-radius:12px;color:#305d46;font-size:14px}.library-notice>span{flex:1}.library-notice button{flex-shrink:0}.new-course-label{display:inline-block;background:#e8f2df;color:#567b40;padding:2px 6px;border-radius:5px;font-size:11px}.admin-course-actions{flex-wrap:wrap}

/* Clear, explicit save and publication actions. */
.bulk-save-help{padding:12px 15px;background:#f4f7ef;border-radius:10px}
.bulk-save-help strong{font-size:13px;color:var(--ink)}
.bulk-save-help p{margin:6px 0 0;line-height:1.7}
.bulk-picker-footer .modal-actions{flex-wrap:wrap}
.lesson-publication-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lesson-publication-actions>span{font-size:12px;color:var(--muted)}
.publication-selection{max-height:45vh;overflow:auto;margin-top:16px}
.publication-option{display:flex;gap:12px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.publication-option input{accent-color:var(--green);flex-shrink:0}
.publication-option span{overflow-wrap:anywhere}
@media(max-width:600px){.bulk-picker-footer .modal-actions>.btn{flex:1 1 auto;white-space:normal}.editor-heading{flex-wrap:wrap;gap:12px}.lesson-publication-actions{width:100%;justify-content:space-between}}
.material-change-dialog {width:min(780px,calc(100vw - 32px));}
.sync-target-list {max-height:46vh;overflow:auto;margin:16px 0;overscroll-behavior:contain;}
.sync-target {border:1px solid var(--line,#dce4dc);border-radius:14px;padding:16px;margin-bottom:12px;background:#fafcf9;}
.sync-target h3 {margin:0 0 6px;font-size:17px;}
.sync-target h3 small {display:block;font-size:12px;color:#68776b;margin-top:4px;font-weight:normal;}
.sync-target p {margin:8px 0;}
.sync-video {display:flex;gap:10px;align-items:flex-start;padding:8px 0;overflow-wrap:anywhere;}
.sync-video input {flex:0 0 auto;margin-top:4px;}
.sync-video small {display:block;color:#69776d;font-size:12px;margin-top:3px;}
.sync-explanation,.sync-summary {line-height:1.7;}
.sync-warning {color:#99551f;background:#fff4e7;border-radius:8px;padding:10px;font-size:13px;}
.sync-material-names {padding:10px;background:#f4f7f3;border-radius:10px;max-height:150px;overflow:auto;overflow-wrap:anywhere;}
.sync-material-names summary {cursor:pointer;}
.sync-material-names p {font-size:13px;margin:6px 0;}
#materialChangeError {overflow-wrap:anywhere;}
@media(max-width:600px) {
 .material-change-dialog .modal-actions {display:flex;flex-wrap:wrap;}
 .material-change-dialog .modal-actions button {flex:1 1 130px;}
 .sync-target {padding:12px;}
}

/* Whole-row selection keeps the checkbox and selected background in sync. */
.code-table [data-code-row]{cursor:pointer;transition:background-color .12s}
.code-table [data-code-row]:hover{background:#edf3e7}
.code-table [data-code-row].is-selected{background:#dcebdc}
.code-table [data-code-row].is-selected td:first-child{box-shadow:inset 3px 0 var(--green)}
.code-table [data-code-row]:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.code-table [name="selectedCode"],.code-select-all input{width:18px;height:18px;cursor:pointer}
.code-select-all{display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer;white-space:nowrap}

/* Checkbox cards use native labels: the entire card toggles once, including on touch. */
#modal label:has(input[type="checkbox"]){min-height:44px;cursor:pointer;transition:background-color .12s}
#modal label:has(input[type="checkbox"]):hover{background:#edf3e7}
#modal label:has(input[type="checkbox"]:checked){background:#dcebdc;box-shadow:inset 3px 0 var(--green)}
#modal label:has(input[type="checkbox"]:focus-visible){outline:2px solid var(--green);outline-offset:-2px}
#modal label:has(input[type="checkbox"]:disabled){cursor:not-allowed;opacity:.65}
#modal input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}
.classify-selection>label{display:flex;align-items:center;gap:8px;padding:8px;flex:1}
[data-selection-row]{cursor:pointer;transition:background-color .12s}
[data-selection-row]:hover{background:#edf3e7}
[data-selection-row]:has(input[type="checkbox"]:checked){background:#dcebdc}
[data-selection-row]:has(input[type="checkbox"]:checked)>td:first-child{box-shadow:inset 3px 0 var(--green)}
[data-selection-row]:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
[data-selection-row] input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:var(--green)}

@media(max-width:520px){
  .material-picker-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(100px,.8fr) minmax(150px,1.2fr);height:min(48dvh,440px)}
  .material-folders{border-right:0;border-bottom:1px solid var(--line)}
  .material-folder button[data-material-folder]{flex:1 1 calc(100% - 40px)}
  .material-folder .material-inspect{margin-left:28px}
}

.enrolled-swipe{position:relative;min-width:0;border-radius:17px;overflow:hidden;isolation:isolate}
.enrolled-swipe .enrolled-card{position:relative;z-index:1;height:100%;transition:transform .2s ease;background:var(--surface,#f4f5eb)}
.expired-swipe .enrolled-card{touch-action:pan-y;user-select:none}
.expired-swipe.swipe-open .enrolled-card{transform:translateX(-88px)}
.expired-course-delete{position:absolute;inset:0 0 0 auto;width:88px;background:#b44840;color:white;font-size:16px;font-weight:600;visibility:hidden}
.swipe-open>.expired-course-delete{visibility:visible}
.expired-course-delete:focus-visible{outline:3px solid #173d31;outline-offset:-5px}
.enrolled-card.is-expired{background:#ededeb;border-color:#d6d6d2;color:#777}
.is-expired .enrolled-art{filter:grayscale(1);opacity:.7}
.is-expired .enrolled-body{filter:grayscale(1)}
@media(prefers-reduced-motion:reduce){.enrolled-swipe .enrolled-card{transition:none}}

.code-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:12px}
.code-status-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#f4f5eb);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}
.code-status-card:hover{border-color:#779c8d;background:#eef4e9}.code-status-card.active{background:#e3eee1;border-color:#356b54;box-shadow:inset 0 0 0 1px #356b54}.code-status-card:focus-visible{outline:3px solid #79a68d;outline-offset:3px}
.code-card-label{font-size:13px;font-weight:600;line-height:1.5}.code-status-card strong{font-size:30px;font-weight:650;line-height:1.2;color:#245e48}.code-card-hint{font-size:11px;line-height:1.5;color:#65776a}.code-card-summary{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#65776a;font-size:11px;line-height:1.7;margin:0 0 20px}
@media(max-width:520px){.code-status-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.code-status-card{padding:14px;gap:7px}.code-status-card[data-code-status="all"]{grid-column:1/-1}.code-status-card strong{font-size:26px}.code-card-summary{font-size:10px}}

/* Keep card switching within a stable list viewport. */
.code-table-scroll{height:clamp(280px,52vh,560px);scrollbar-gutter:stable;overscroll-behavior:contain}
.code-table{table-layout:fixed;width:100%}.code-table th:nth-child(1){width:58px}.code-table th:nth-child(2){width:250px}.code-table th:nth-child(3){width:170px}.code-table th:nth-child(4){width:125px}.code-table th:nth-child(5){width:155px}
.code-table thead{position:sticky;top:0;z-index:1;background:var(--surface,#f4f5eb)}.code-table td{overflow-wrap:anywhere}
.code-table tr[hidden],#codeEmpty[hidden]{display:none}

/* Stable navigation and list viewports prevent scroll clamping during filtering. */
html{scrollbar-gutter:stable}
.admin-main{margin:0 auto;min-width:0}
.course-catalog-grid{height:clamp(360px,65vh,780px);overflow:auto;align-content:start;scrollbar-gutter:stable;overflow-anchor:none}
.folder-tree,.video-table-wrap{height:540px;min-height:0;scrollbar-gutter:stable;overflow-anchor:none}
#materialContent{min-height:780px}
#pdfRows,#studentRows{height:clamp(320px,60vh,650px);overflow:auto;scrollbar-gutter:stable;overflow-anchor:none}
.video-info{min-height:110px}
.code-bulk .actions{min-height:36px}
@media(max-width:700px){.folder-tree{height:165px}.video-table-wrap{height:440px}#materialContent{min-height:960px}.code-bulk .actions{min-height:76px}.course-catalog-grid{height:65vh}}

/* One accessible play button covers the entire idle video surface. */
.video-stage>.video-start-surface{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:transparent;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;font:inherit;color:#eff5df}
.video-start-surface .play-big{margin:0;flex:none}
.video-start-caption{color:#adbfa8;font-size:12px}
.video-stage>.video-start-surface:focus-visible{outline:3px solid #dcedb8;outline-offset:-6px}
.video-stage>.video-start-surface:disabled{cursor:default;opacity:.65}

.video-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.video-actions .btn{min-height:44px}.rewind-button{background:#dce8cd;border-color:#74956b;white-space:nowrap}.rewind-button>span{font-size:20px;line-height:1}

/* Keep the seek action and exit control in the fullscreen player. */
#videoStage video::-webkit-media-controls-fullscreen-button{display:none}
.video-panel:fullscreen,.video-panel.player-expanded{width:100%;height:100%;margin:0;border-radius:0;background:#10251d;display:flex;flex-direction:column;overflow:hidden}
.video-panel.player-expanded{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1000}
body:has(.video-panel.player-expanded){overflow:hidden}
.video-panel:fullscreen .video-stage,.video-panel.player-expanded .video-stage{flex:1;min-height:0;width:100%;aspect-ratio:auto}
.video-panel:fullscreen video,.video-panel.player-expanded video{object-fit:contain}
.video-panel:fullscreen .video-info,.video-panel.player-expanded .video-info{flex:none;min-height:0;padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:12px;color:#eef5e7;background:#162c24}
.video-panel:fullscreen .video-info h2,.video-panel.player-expanded .video-info h2{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.video-panel:fullscreen .video-actions,.video-panel.player-expanded .video-actions{flex-shrink:0;gap:8px}
.video-panel:fullscreen .video-actions .btn,.video-panel.player-expanded .video-actions .btn{background:#edf3e5;color:#214c3e;min-height:44px}
@media(max-height:450px){.video-panel:fullscreen .video-info h2,.video-panel.player-expanded .video-info h2{display:none}.video-panel:fullscreen .video-info,.video-panel.player-expanded .video-info{justify-content:center;padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom))}}
