.unified-picker-backdrop{z-index:80;overscroll-behavior:contain;overflow:hidden}.unified-file-picker{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(980px,100vw - 32px);height:min(720px,100dvh - 32px);min-height:0;max-height:calc(100dvh - 32px);display:grid;overflow:hidden}.unified-picker-header{gap:12px;min-height:0;display:grid}.unified-file-picker .modal-head{align-items:flex-start}.unified-file-picker .modal-head h2,.unified-file-picker .modal-head p{margin:0}.unified-file-picker .modal-head p{color:#66746f;margin-top:5px;line-height:1.5}.unified-picker-search{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.unified-picker-search input{border:1px solid #bdcec5;border-radius:6px;min-width:0;min-height:40px;padding:8px 10px}.unified-picker-body{grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:14px;min-width:0;min-height:0;display:grid;overflow:hidden}.unified-picker-results,.unified-picker-preview{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #dbe6df;border-radius:8px;min-width:0;min-height:0;padding:8px;overflow:auto}.unified-picker-results{background:#fbfdfb}.unified-picker-item{color:#20332f;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:4px;width:100%;min-width:0;padding:10px;display:grid}.unified-picker-item:hover,.unified-picker-item.selected{background:#edf7f2;border-color:#8ab7a5}.unified-picker-item:focus-visible{outline-offset:1px;outline:3px solid #23735340}.unified-picker-item span,.unified-picker-item small{color:#66746f;overflow-wrap:anywhere}.unified-picker-preview{background:#eef4f0;align-content:start;gap:8px;padding:12px;display:grid}.unified-picker-preview h3,.unified-picker-preview p{overflow-wrap:anywhere;margin:0}.unified-picker-preview img,.unified-picker-preview video,.unified-picker-preview iframe{object-fit:contain;background:#fff;border:0;border-radius:6px;width:100%;min-height:240px;max-height:460px;display:block}.unified-file-picker>.unified-picker-actions{background:#fff;border-top:1px solid #dbe6df;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;min-height:44px;margin:0;padding-top:10px;display:grid}.unified-picker-confirm-hint{color:#66746f;min-width:0;font-size:13px}@media (width<=760px){.unified-file-picker{gap:10px;width:min(100vw - 20px,620px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:12px}.unified-picker-body{grid-template-rows:minmax(150px,.9fr) minmax(150px,1.1fr);grid-template-columns:1fr;gap:10px}.unified-file-picker>.unified-picker-actions{grid-template-columns:1fr auto auto}}@media (height<=650px){.unified-file-picker{gap:8px;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:10px 14px}.unified-picker-header{gap:7px}.unified-file-picker .modal-head p{font-size:12px}.unified-picker-preview img,.unified-picker-preview video,.unified-picker-preview iframe{min-height:180px}}@media (width<=520px){.unified-picker-search{grid-template-columns:1fr}.unified-file-picker>.unified-picker-actions{grid-template-columns:1fr 1fr}.unified-picker-confirm-hint{grid-column:1/-1}}@media (width<=760px) and (height<=650px){.unified-picker-body{grid-template-rows:minmax(100px,.9fr) minmax(100px,1.1fr)}}.unified-file-center{gap:16px;display:grid}.unified-file-tabs{border-bottom:1px solid #dbe6df;flex-wrap:wrap;gap:8px;padding-bottom:10px;display:flex}.unified-file-tabs button{color:#41564e;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:36px;padding:7px 12px}.unified-file-tabs button:hover,.unified-file-tabs button.active{color:#125d49;background:#edf7f2;border-color:#a8c9bb}.unified-upload-band,.unified-file-filters,.unified-file-detail,.unified-duplicate-list>section,.consistency-toolbar{background:#fbfdfb;border:1px solid #dbe6df;border-radius:8px;padding:14px}.unified-upload-band{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.unified-upload-band label,.unified-file-filters label,.unified-metadata-form label{color:#526660;gap:5px;min-width:150px;font-size:13px;display:grid}.unified-upload-band input,.unified-upload-band select,.unified-file-filters input,.unified-file-filters select,.unified-metadata-form input{background:#fff;border:1px solid #bdcec5;border-radius:6px;min-width:0;min-height:38px;padding:7px 9px}.unified-upload-progress{flex:240px;grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:8px;display:grid}.unified-upload-progress progress{accent-color:#18785d;width:100%}.unified-file-filters{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.unified-batch-bar,.pagination-row,.unified-detail-actions,.reference-summary,.consistency-toolbar{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.unified-batch-bar,.pagination-row{justify-content:space-between;margin:10px 0}.unified-batch-bar>div,.unified-selection-summary{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.pagination-row>div{gap:8px;display:flex}.data-table.unified-file-table{table-layout:fixed;width:100%;min-width:1180px}.unified-file-select-col{width:3%}.unified-file-name-col{width:18%}.unified-file-type-col,.unified-file-size-col{width:7%}.unified-file-storage-col{width:12%}.unified-file-reference-col{width:21%}.unified-file-status-col{width:9%}.unified-file-uploaded-col{width:13%}.unified-file-action-col{width:10%}.unified-file-table th:first-child,.unified-file-table td:first-child{width:3%}.unified-file-table th:nth-child(2),.unified-file-table td:nth-child(2){width:18%}.unified-file-table th:nth-child(3),.unified-file-table td:nth-child(3),.unified-file-table th:nth-child(4),.unified-file-table td:nth-child(4){width:7%}.unified-file-table th:nth-child(5),.unified-file-table td:nth-child(5){width:12%}.unified-file-table th:nth-child(6),.unified-file-table td:nth-child(6){width:21%}.unified-file-table th:nth-child(7),.unified-file-table td:nth-child(7){width:9%}.unified-file-table th:nth-child(8),.unified-file-table td:nth-child(8){width:13%}.unified-file-table th:nth-child(9),.unified-file-table td:nth-child(9){width:10%}.unified-file-list-row>td{border-bottom:2px solid #dfe8e2}.unified-file-list-row>td:nth-child(n+6){padding-left:18px}.unified-file-detail-row>td{background:#f4f8f5;border-bottom:2px solid #dfe8e2;padding:10px}.file-name-cell{gap:3px;min-width:0;display:grid}.file-name-cell strong,.file-name-cell span,.file-name-cell small{overflow-wrap:anywhere}.file-name-cell span,.file-name-cell small{color:#66746f}.unified-file-reference-cell{overflow-wrap:break-word;line-height:1.55}.unified-file-reference-cell strong,.unified-file-reference-cell small,.unified-file-uploaded-cell span,.unified-file-uploaded-cell small{display:block}.unified-file-reference-cell small,.unified-file-uploaded-cell small{color:#66746f;margin-top:4px;font-size:12px}.unified-file-uploaded-cell,.unified-file-status-cell,.unified-file-action-cell{white-space:nowrap}.status-badge{color:#315c4d;background:#e9f2ed;border-radius:999px;align-items:center;width:max-content;max-width:100%;padding:4px 8px;font-size:12px;display:inline-flex}.status-trashed,.status-cleaned{color:#725b5b;background:#f1eeee}.status-new_use_stopped{color:#745817;background:#fff1cf}.unified-file-detail{gap:14px;display:grid}.detail-grid,.storage-stat-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;display:grid}.detail-grid>div,.storage-stat-grid>div{background:#fff;border:1px solid #e0e9e4;border-radius:6px;gap:4px;min-width:0;padding:10px;display:grid}.detail-grid span,.storage-stat-grid span{color:#66746f;font-size:13px}.detail-grid strong,.storage-stat-grid strong{overflow-wrap:anywhere;min-width:0}.hash-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.unified-file-preview{background:#eef4f0;border:1px solid #d6e2da;border-radius:8px;min-height:320px;max-height:620px;overflow:auto}.unified-file-preview img,.unified-file-preview video,.unified-file-preview iframe{object-fit:contain;border:0;width:100%;min-height:320px;max-height:600px;display:block}.unified-metadata-form{grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:10px;display:grid}.unified-reference-section,.unified-operation-log{gap:10px;display:grid}.reference-summary span{background:#edf5f1;border-radius:6px;padding:6px 9px}.unified-reference-block{color:#6d2d24;background:#fff5f2;border:1px solid #d99d90;border-radius:6px;gap:8px;padding:12px;display:grid}.unified-reference-block p{margin:0}.unified-reference-block .data-table{color:#263d35;background:#fff}.unified-reference-section .link-button,.unified-reference-block .link-button{white-space:normal;text-align:left}.unified-duplicate-list{gap:12px;display:grid}.unified-duplicate-list>section{gap:8px;display:grid}.unified-duplicate-list>section>div{flex-wrap:wrap;gap:12px;display:flex}.unified-duplicate-list ul{margin:0;padding-left:20px}.consistency-toolbar{justify-content:flex-start}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.unified-file-filters,.detail-grid,.storage-stat-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.unified-metadata-form{grid-template-columns:1fr 1fr}}@media (width<=720px){.unified-file-filters,.detail-grid,.storage-stat-grid,.unified-metadata-form{grid-template-columns:1fr}.unified-upload-band{align-items:stretch}.unified-upload-band>*{width:100%}}.gameplay-controlled-preview{background:#f7f9fc;border:1px solid #d7dee8;border-radius:6px;width:100%;min-height:240px;margin-top:12px;overflow:hidden}.gameplay-controlled-preview iframe,.gameplay-controlled-preview video{object-fit:contain;background:#111827;border:0;width:100%;min-height:320px;max-height:520px;display:block}.gameplay-controlled-preview p,.gameplay-preview-error{color:#4b5563;text-align:center;justify-content:center;align-items:center;gap:12px;min-height:240px;margin:0;padding:24px;display:flex}@media (width<=760px){.gameplay-controlled-preview iframe,.gameplay-controlled-preview video{min-height:240px}}.gameplay-upload-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gameplay-upload-controls>button{flex:none;min-width:0}:root{color:#24302f;background:#f3f6f2;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:#f3f6f2;min-width:1120px;min-height:100vh;margin:0}button{font:inherit}.admin-shell{min-height:100vh;display:flex}.sidebar{color:#f8fbf6;background:#20332f;flex:0 0 244px;width:244px;padding:24px 18px}.brand-block{border-bottom:1px solid #ffffff24;align-items:center;gap:12px;padding:8px 6px 22px;display:flex}.brand-mark{color:#20332f;background:#f2c14e;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.brand-block strong,.brand-block small{display:block}.brand-block small{color:#bdd0ca;margin-top:2px}.sidebar nav{gap:6px;margin-top:22px;display:grid}.sidebar button{color:#dce8e3;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:11px 12px}.sidebar button:hover,.sidebar button.active{color:#20332f;background:#eef3ed}.sidebar button span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.main-area{flex:1;padding:28px 34px 40px;overflow:auto}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.topbar p{color:#6d7975;margin:0 0 4px}.topbar h1{letter-spacing:0;margin:0;font-size:28px}.topbar-status,.readonly-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice-bar{color:#3d514a;background:#f8fbf7;border:1px solid #d8e5dc;border-left:4px solid #4f7e5b;border-radius:8px;margin-bottom:18px;padding:12px 16px;font-size:14px}.status-pill,.enum-tag{white-space:nowrap;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex}.status-pill{color:#244234;background:#dceadf;border-radius:6px}.enum-tag{color:#475569;background:#eef2f7;border-radius:999px}.enum-tag.green{color:#166534;background:#dcfce7}.enum-tag.blue{color:#1d4ed8;background:#dbeafe}.enum-tag.amber{color:#92400e;background:#fef3c7}.enum-tag.red{color:#991b1b;background:#fee2e2}.enum-tag.gray{color:#475569;background:#eef2f7}.enum-tag.dark{color:#fff;background:#24302f}.readonly-actions button{color:#7d8883;cursor:not-allowed;opacity:.78;background:#f2f5f1;border:1px solid #cad7d0;border-radius:6px;min-height:34px;padding:6px 11px}.module-intro{color:#56635f;background:#fff;border:1px solid #dbe4de;border-radius:8px;padding:16px 18px}.module-intro strong,.module-intro span{display:block}.module-intro strong{color:#20332f;margin-bottom:4px;font-size:16px}.overview-intro{grid-column:1/-1}.overview-boundary-list{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.overview-boundary-list li{color:#365044;background:#eef4ee;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.metric-card{background:#fff;border:1px solid #dbe4de;border-radius:8px;min-height:112px;padding:18px}.metric-card span{color:#687672;display:block}.metric-card strong{color:#1f4234;align-items:baseline;gap:6px;margin-top:10px;font-size:34px;display:flex}.metric-card em{color:#687672;font-size:15px;font-style:normal;font-weight:700}.wide-panel{grid-column:1/-1}.section-panel{background:#fff;border:1px solid #dbe4de;border-radius:8px;overflow:hidden}.section-head{border-bottom:1px solid #e5ece7;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.compact-head{padding-bottom:12px}.section-head h2,.section-head p{margin:0}.section-head h2{letter-spacing:0;font-size:18px}.section-head p{color:#687672;margin-top:5px;font-size:14px}.filter-panel{background:#fbfcfa;border-bottom:1px solid #e5ece7;padding:16px 20px}.filter-grid{grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(150px,1fr));align-items:end;gap:12px;display:grid}.filter-field{color:#60716b;gap:6px;font-size:13px;font-weight:700;display:grid}.filter-field input,.filter-field select{color:#263632;width:100%;min-height:36px;font:inherit;background:#fff;border:1px solid #cddad2;border-radius:6px;padding:7px 10px}.filter-field input:focus,.filter-field select:focus{border-color:#4f7e5b;outline:2px solid #4f7e5b29}.filter-footer{color:#60716b;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}.filter-footer button{color:#284439;cursor:pointer;background:#fff;border:1px solid #b9c9c0;border-radius:6px;min-height:34px;padding:6px 12px}.filter-footer button:hover{background:#eef4ee}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1180px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e9eee9;padding:15px 16px}th{color:#586861;background:#f7f9f6;font-size:13px;font-weight:800}td{color:#2c3634;font-size:14px}tr:hover td{background:#fbfcfa}tr:last-child td{border-bottom:0}.align-center{text-align:center}.align-right{text-align:right}.text-strong{color:#20332f;font-weight:700}.long-text{min-width:220px;line-height:1.65}.mono-text{color:#52605b;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.nowrap{white-space:nowrap}.state-box,.empty-state{color:#60716b;background:#fff;border:1px solid #dbe4de;border-radius:8px;padding:28px}.state-box{gap:12px;display:grid}.state-box strong{color:#20332f}.state-box span{color:#687672;font-size:14px}.loading-box{background:#fbfcfa}.error-box{color:#a43f31;background:#fff7f5;border-color:#efb7ad}.error-box strong{color:#a43f31}.error-box span{color:#8b5f58}.state-box-header{gap:6px;display:grid}.state-box-actions{flex-wrap:wrap;gap:10px;display:flex}.retry-button{color:#fff;cursor:pointer;background:#244f3b;border:1px solid #244f3b;border-radius:7px;min-height:38px;padding:8px 16px;font-weight:750}.retry-button:disabled{color:#87938e;cursor:not-allowed;background:#edf2ee;border-color:#d5ded8}@media (width<=900px){body{min-width:0}.admin-shell{display:block}.sidebar{width:100%;min-height:auto}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.main-area{padding:20px}.topbar,.section-head{flex-direction:column;align-items:flex-start}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:1fr}.filter-footer{flex-direction:column;align-items:flex-start}}.upload-module{min-height:640px}.upload-head{background:#fff}.upload-tabs{background:#fbfcfa;border-bottom:1px solid #e5ece7;flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}.upload-tabs button{color:#42544d;cursor:pointer;background:#fff;border:1px solid #cbd8d0;border-radius:999px;min-height:36px;padding:7px 13px}.upload-tabs button:hover,.upload-tabs button.active{color:#244234;background:#e9f2ea;border-color:#4f7e5b}.upload-panel{padding:18px 20px 22px}.upload-intro{margin-bottom:14px}.upload-stack{gap:14px;display:grid}.upload-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.upload-card{background:#fff;border:1px solid #dbe4de;border-radius:8px;min-height:118px;padding:16px}.upload-card.primary-card{grid-column:span 2}.upload-card span{color:#687672;font-size:13px;font-weight:700;display:block}.upload-card strong{color:#20332f;margin-top:8px;font-size:20px;display:block}.upload-card p{color:#60716b;margin:10px 0 0}.skeleton-actions{flex-wrap:wrap;gap:8px;display:flex}.skeleton-action{color:#788580;cursor:not-allowed;opacity:.82;background:#f2f5f1;border:1px solid #cad7d0;border-radius:6px;min-height:36px;padding:7px 12px}.upload-notice{color:#41564e;background:#f8fbf7;border:1px solid #d8e5dc;border-left:4px solid #6c8f59;border-radius:8px;padding:12px 14px}.upload-boundary-note{color:#41564e;background:#fbfcfa;border:1px solid #d8e5dc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.upload-boundary-note strong{color:#20332f}.upload-boundary-note span{color:#60716b}.publish-check-layout{grid-template-columns:minmax(0,1.2fr) 280px;align-items:stretch;gap:14px;display:grid}.check-list,.publish-status-card,.preview-tree{background:#fff;border:1px solid #dbe4de;border-radius:8px;margin:0;padding:16px 18px}.check-list{color:#43514d;gap:8px;padding-left:36px;display:grid}.publish-status-card span,.preview-tree span{color:#687672;display:block}.publish-status-card strong{color:#a43f31;margin-top:8px;font-size:28px;display:block}.publish-status-card p{color:#687672;margin:8px 0 0}.preview-tree{gap:8px;display:grid}.preview-tree strong{color:#20332f;font-size:18px}@media (width<=900px){.upload-card-grid,.publish-check-layout{grid-template-columns:1fr}.upload-card.primary-card{grid-column:auto}}.upload-stage-grid{background:#f8fbf7;border-bottom:1px solid #e5ece7;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px 18px;display:grid}.upload-stage-grid span{color:#41564e;background:#fff;border:1px solid #dbe4de;border-radius:8px;gap:4px;min-height:58px;padding:10px 12px;font-size:13px;display:grid}.upload-stage-grid b{color:#20332f}.business-stage-grid span{min-height:64px}.upload-flow-card{background:#fff;border:1px solid #dbe4de;border-radius:8px;gap:14px;padding:16px 18px;display:grid}.upload-flow-card h3,.precheck-report h3{color:#20332f;margin:0;font-size:17px}.step-flow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.step-flow span{color:#2e463d;background:#f8fbf7;border:1px solid #cbd8d0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;position:relative}.step-flow span:not(:last-child):after{content:"→";color:#8a9992;margin-left:10px}.sample-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sample-field-grid span,.sample-file-list span,.precheck-report span,.resource-card span{color:#455650;background:#fbfcfa;border:1px solid #e1e9e4;border-radius:6px;padding:9px 11px}.field-chip-group{flex-wrap:wrap;gap:8px;display:flex}.field-chip-group span{color:#244234;background:#e9f2ea;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.sample-file-list,.resource-board,.precheck-report{gap:10px;display:grid}.sample-file-list,.resource-board{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-card{background:#fff;border:1px solid #dbe4de;border-radius:8px;gap:8px;padding:16px;display:grid}.resource-card strong{color:#20332f;font-size:17px}.folder-tree{color:#f8fbf6;background:#20332f;border:1px solid #dbe4de;border-radius:8px;margin:0;padding:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7;overflow:auto}.precheck-report{background:#fff;border:1px solid #dbe4de;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));padding:16px}.precheck-report h3{grid-column:1/-1}.precheck-report span{gap:4px;display:grid}.precheck-report b{color:#20332f}.detailed-check-list{padding:14px;list-style:none}.detailed-check-list li{border-bottom:1px solid #edf2ee;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.detailed-check-list li:last-child{border-bottom:0}.detailed-check-list em{color:#475569;white-space:nowrap;background:#eef2f7;border-radius:999px;padding:4px 9px;font-size:12px;font-style:normal;font-weight:800}.product-detail-stack{gap:16px;max-width:960px;padding:20px;display:grid}.product-detail-head{background:#fbfcfa;border:1px solid #dbe4de;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.product-detail-head span,.product-detail-description span{color:#687672;font-size:12px;font-weight:750}.product-detail-head h3{color:#20332f;margin:4px 0 0;font-size:22px}.detail-back-action{white-space:nowrap}.product-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.product-detail-grid article,.product-detail-description{background:#fff;border:1px solid #dbe4de;border-radius:8px;gap:6px;padding:14px;display:grid}.product-detail-grid strong{color:#20332f;overflow-wrap:anywhere;font-size:16px}.product-detail-description p{color:#41564e;margin:0;line-height:1.7}@media (width<=900px){.product-detail-head{flex-direction:column;align-items:stretch}.product-detail-grid{grid-template-columns:1fr}.detail-back-action{width:100%}}.phone-preview{background:#f7faf6;border:10px solid #24302f;border-radius:28px;width:360px;max-width:100%;overflow:hidden;box-shadow:0 18px 40px #20332f2e}.phone-bar{color:#20332f;text-align:center;background:#fff;border-bottom:1px solid #e1e9e4;padding:14px;font-weight:800}.phone-preview section{border-bottom:1px solid #e8eee9;gap:8px;padding:16px;display:grid}.phone-preview strong{color:#20332f}.phone-preview p{color:#687672;margin:4px 0 0}.phone-preview span{color:#43514d;background:#fff;border:1px solid #dbe4de;border-radius:8px;padding:9px 10px}.phone-preview button{color:#64736d;cursor:not-allowed;background:#eef4ee;border:1px solid #cad7d0;border-radius:8px;min-height:36px}.phone-preview em{color:#8a6d2d;font-size:13px;font-style:normal}@media (width<=900px){.upload-stage-grid,.sample-field-grid,.sample-file-list,.resource-board,.precheck-report{grid-template-columns:1fr}}.report-viewer{gap:16px;display:grid}.report-capability-grid,.report-status-grid,.report-basic-grid,.report-issue-summary{gap:10px;display:grid}.report-capability-grid{background:#f7faf7;border:1px solid #dbe4de;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));padding:14px}.report-capability-grid span,.report-basic-grid span{color:#4b5f58;gap:4px;min-width:0;font-size:13px;display:grid}.report-capability-grid b,.report-basic-grid b{color:#20332f}.report-toolbar,.report-detail-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-toolbar>div{gap:4px;display:grid}.report-toolbar strong{color:#20332f;font-size:17px}.report-toolbar span{color:#687672;font-size:13px}.refresh-button,.table-action,.secondary-action{color:#244234;cursor:pointer;background:#fff;border:1px solid #9eb6a8;border-radius:7px;min-height:38px;padding:8px 14px;font-weight:750}.refresh-button{color:#fff;background:#244f3b;border-color:#244f3b}.refresh-button:disabled,.table-action:disabled{color:#87938e;cursor:not-allowed;background:#edf2ee;border-color:#d5ded8}.report-status-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.report-status-grid article{background:#fff;border:1px solid #dce5df;border-radius:8px;gap:7px;min-height:84px;padding:13px 15px;display:grid}.report-status-grid span{color:#687672;font-size:13px}.report-status-grid strong{color:#20332f;overflow-wrap:anywhere;font-size:22px}.report-status-grid .compact-value{font-size:14px;line-height:1.45}.report-status-grid .danger-value{color:#a43f31}.commit-meaning-note{color:#2f516d;background:#edf4fa;border-left:4px solid #507aa0;padding:11px 14px;font-size:13px;line-height:1.6}.issue-count{border-radius:999px;justify-content:center;min-width:30px;padding:4px 8px;font-weight:800;display:inline-flex}.issue-count.error{color:#a43f31;background:#fbe9e6}.issue-count.warning{color:#876312;background:#fff4d9}.issue-count.info{color:#365f7d;background:#e8f2f8}.report-detail{border-top:2px solid #cddbd2;gap:18px;padding-top:18px;display:grid}.report-detail-head span{color:#6a7873;font-size:12px;font-weight:750}.report-detail-head h3{color:#20332f;overflow-wrap:anywhere;margin:4px 0 0;font-size:20px}.report-basic-grid{background:#fbfcfa;border:1px solid #dce5df;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.report-basic-grid span{overflow-wrap:anywhere;border-right:1px solid #e3eae5;padding:4px 12px}.report-basic-grid span:nth-child(4),.report-basic-grid .wide-value{border-right:0}.report-basic-grid .wide-value{border-top:1px solid #e3eae5;grid-column:1/-1;padding-top:12px}.report-issue-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.report-issue-summary article{border:1px solid #dce5df;border-radius:8px;justify-content:space-between;align-items:center;min-height:62px;padding:10px 14px;display:flex}.report-issue-summary article.error{color:#9b382c;background:#fff7f5;border-color:#edc5bf}.report-issue-summary article.warning{color:#7c5c13;background:#fffbef;border-color:#ead8a8}.report-issue-summary article.info{color:#315c78;background:#f4f9fc;border-color:#bdd4e3}.report-issue-summary strong{font-size:24px}.report-subsection{gap:12px;display:grid}.report-subsection h4{color:#20332f;margin:0;font-size:17px}.issue-group-grid,.resource-problem-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.issue-group,.resource-problem-grid section{background:#fff;border:1px solid #dce5df;border-radius:8px;min-width:0;padding:13px}.issue-group h5,.resource-problem-grid h5{color:#263d35;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.issue-group h5 span,.resource-problem-grid h5 span{background:#edf2ee;border-radius:999px;padding:2px 8px}.issue-group.error{border-top:3px solid #b64b3d}.issue-group.warning{border-top:3px solid #c69a35}.issue-group.info{border-top:3px solid #5682a0}.issue-group p,.resource-problem-grid p{color:#87938e;margin:0}.issue-row{border-top:1px solid #edf1ee;gap:4px;padding:9px 0;display:grid}.issue-row strong{color:#263d35;overflow-wrap:anywhere}.issue-row span{color:#4d5f59;line-height:1.55}.issue-row small{color:#78857f;overflow-wrap:anywhere}.resource-problem-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.resource-problem-grid ul{color:#4d5f59;margin:0;padding-left:20px}.resource-problem-grid li{overflow-wrap:anywhere;margin:5px 0}.report-markdown{color:#edf5f0;white-space:pre-wrap;overflow-wrap:anywhere;background:#1f2d2a;border:1px solid #2e403b;border-radius:8px;max-height:420px;margin:0;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.65;overflow:auto}@media (width<=1100px){.report-capability-grid,.report-status-grid,.resource-problem-grid,.report-basic-grid,.issue-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-basic-grid span{border-right:0}}@media (width<=700px){.report-capability-grid,.report-status-grid,.report-basic-grid,.report-issue-summary,.issue-group-grid,.resource-problem-grid{grid-template-columns:1fr}.report-toolbar,.report-detail-head{flex-direction:column;align-items:stretch}.refresh-button,.secondary-action{width:100%}}.lifecycle-panel{background:#fff;border:1px solid #dbe4de;border-radius:8px;gap:12px;padding:14px;display:grid}.lifecycle-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lifecycle-summary>div{background:#f8fbf7;border:1px solid #e2ebe5;border-radius:8px;gap:6px;padding:12px;display:grid}.lifecycle-summary span,.lifecycle-hint,.lifecycle-rule-text{color:#64736d;font-size:13px}.lifecycle-summary strong{color:#20332f;overflow-wrap:anywhere}.lifecycle-actions,.confirm-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lifecycle-message{border-radius:8px;padding:10px 12px;font-size:14px}.lifecycle-message.success{color:#256238;background:#f1f8f1;border:1px solid #bad7c0}.lifecycle-message.error{color:#9b382c;background:#fff7f5;border:1px solid #edc5bf}.lifecycle-message.info,.lifecycle-hint{background:#f8fbf7;border:1px solid #d8e5dc;border-radius:8px;padding:10px 12px}.lifecycle-acceptance-note,.lifecycle-list-note{margin:0}.danger-action{color:#9b382c;border-color:#d6a39b}.confirm-backdrop{z-index:20;background:#1c2b276b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:8px;gap:14px;width:min(460px,100%);padding:22px;display:grid;box-shadow:0 18px 50px #1625203d}.confirm-dialog h3,.confirm-dialog p{margin:0}.confirm-dialog h3{color:#20332f;font-size:18px}.confirm-dialog p{color:#52615b;line-height:1.7}@media (width<=700px){.lifecycle-summary{grid-template-columns:1fr}.lifecycle-actions button,.confirm-actions button{width:100%}}.real-acceptance-banner{color:#225a32;background:#eef8ef;border:1px solid #9ec5a6;border-radius:8px;margin-bottom:16px;padding:12px 14px;font-weight:700}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.metric-card{color:#20332f;text-align:left;background:#fff;border:1px solid #d8e0dc;border-radius:8px;min-height:92px;padding:16px}.metric-card span,.detail-grid span,.form-field span{color:#66746f;font-size:13px}.metric-card strong{margin-top:12px;font-size:28px;display:block}.quick-actions,.crud-toolbar,.detail-action-row,.modal-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.crud-toolbar{margin:14px 0}.crud-toolbar input,.crud-toolbar select,.form-field input,.form-field select,.form-field textarea{color:#20332f;font:inherit;background:#fff;border:1px solid #cdd8d2;border-radius:8px;padding:10px 12px}.crud-toolbar input{min-width:220px}.data-table{border-collapse:collapse;border:1px solid #dce4df;border-radius:8px;width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7eee9;padding:11px 12px}.data-table th{color:#50615b;background:#f5f8f6;font-weight:700}.selected-row td{background:#f2f7f3}.link-button{color:#26654a;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.secondary-action.small{padding:7px 10px}.detail-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detail-head h2,.detail-head p{margin:0}.detail-head p{color:#66746f;margin-top:4px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.detail-grid div{background:#fbfdfb;border:1px solid #e0e8e3;border-radius:8px;padding:12px}.detail-grid strong{color:#20332f;white-space:pre-wrap;word-break:break-word;margin-top:7px;display:block}.detail-grid-wide{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.inline-notice{border-radius:8px;margin:12px 0;padding:10px 12px}.notice-success{color:#256238;background:#f1f8f1;border:1px solid #bad7c0}.notice-error{color:#9b382c;background:#fff7f5;border:1px solid #edc5bf}.notice-info{color:#315478;background:#f3f7fc;border:1px solid #c9d7e8}.lifecycle-rule-text,.form-help{color:#52615b;background:#f8fbf7;border:1px solid #d8e5dc;border-radius:8px;margin:12px 0 0;padding:10px 12px;line-height:1.7}.danger-action{color:#9b382c;background:#fff7f5;border:1px solid #d6a39b;border-radius:8px;padding:10px 14px;font-weight:700}.modal-backdrop{z-index:30;background:#1c2b2773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.crud-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(920px,100%);max-height:min(86vh,820px);padding:22px;display:flex;overflow:hidden;box-shadow:0 22px 64px #1625203d}.crud-modal-body{overscroll-behavior:contain;min-height:0;padding-right:4px;overflow-y:auto}.form-error-summary{color:#7b241c;background:#fff5f3;border:1px solid #d67b72;border-radius:6px;gap:8px;margin-bottom:14px;padding:12px;display:grid}.form-error-summary button{color:#8f2e24;text-align:left;cursor:pointer;background:0 0;border:0;width:fit-content;padding:0;text-decoration:underline}.modal-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.modal-head h2{margin:0;font-size:20px}.icon-action{color:#20332f;cursor:pointer;background:#fff;border:1px solid #ccd8d2;border-radius:8px;width:36px;height:36px;font-size:22px;line-height:1}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.course-form-grid>.form-field:nth-child(-n+3){min-width:0}.course-form-grid>.form-field:nth-child(-n+3)>input,.course-form-grid>.form-field:nth-child(-n+3)>select{width:100%}.course-form-grid>.form-field:nth-child(2)>small{white-space:nowrap}.course-package-form-grid>.form-field:nth-child(-n+2),.course-create-form-grid>.form-field:nth-child(-n+3){grid-column:1/-1;min-width:0}.course-package-form-grid>.form-field:nth-child(-n+2)>input,.course-package-form-grid>.form-field:nth-child(-n+2)>select,.course-create-form-grid>.form-field:nth-child(-n+3)>input,.course-create-form-grid>.form-field:nth-child(-n+3)>select{width:100%;max-width:100%}.course-create-form-grid>.form-field:nth-child(-n+3)>small{white-space:normal;line-height:1.45}.lesson-plan-form-grid>.form-field:nth-child(-n+3),.courseware-form-grid>.form-field:nth-child(-n+3),.gameplay-form-grid>.form-field:nth-child(-n+3){grid-column:1/-1;min-width:0}.lesson-plan-form-grid>.form-field:nth-child(-n+3)>select,.courseware-form-grid>.form-field:nth-child(-n+3)>select,.gameplay-form-grid>.form-field:nth-child(-n+3)>select{width:100%;max-width:100%}.lesson-plan-form-grid>.form-field:nth-child(-n+3)>small,.courseware-form-grid>.form-field:nth-child(-n+3)>small,.gameplay-form-grid>.form-field:nth-child(-n+3)>small{white-space:normal;line-height:1.45}.form-field{gap:7px;display:grid}.wide-field{grid-column:1/-1}.form-field textarea{resize:vertical}.form-multiselect{background:#fff;border:1px solid #c8d4ce;border-radius:6px;flex-wrap:wrap;gap:8px;min-height:42px;padding:8px;display:flex}.form-multiselect>label{cursor:pointer;background:#f7faf8;border:1px solid #d5dfda;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:4px 9px;display:inline-flex}.form-multiselect>label.selected{background:#e6f4ee;border-color:#287a61}.form-multiselect input{width:16px;height:16px;margin:0}.form-field small{color:#66746f;line-height:1.5}.form-field.field-invalid input,.form-field.field-invalid select,.form-field.field-invalid textarea,.form-field.field-invalid .form-multiselect{border-color:#d95b4f;box-shadow:0 0 0 2px #d95b4f1f}.form-field .field-error{color:#9b382c;font-weight:700}.modal-actions{background:#fff;border-top:1px solid #e2e9e5;flex:none;justify-content:flex-end;margin-top:18px;padding-top:14px}button:disabled{cursor:not-allowed;opacity:.65}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.crud-toolbar input,.crud-toolbar select,.crud-toolbar button,.detail-action-row button,.modal-actions button{width:100%}}.app-shell{background:#f3f6f2;grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.app-shell .sidebar{min-height:100vh}.brand{border-bottom:1px solid #ffffff24;gap:4px;padding:8px 6px 22px;display:grid}.brand strong{color:#f8fbf6;font-size:18px}.brand span{color:#bdd0ca;font-size:13px}.main-content{align-content:start;gap:16px;min-width:0;min-height:100vh;padding:28px 34px 40px;display:grid;overflow:auto}.panel,.detail-panel{background:#fff;border:1px solid #dbe4de;border-radius:8px;padding:18px 20px}.overview-panel{align-content:start;gap:16px;display:grid}.overview-head{padding:0 0 14px}.overview-head h1{color:#20332f;margin:0;font-size:26px}.overview-head p{color:#687672;margin:5px 0 0}.quick-actions{border-top:1px solid #e5ece7;padding-top:14px}.quick-actions h2{color:#20332f;flex-basis:100%;margin:0;font-size:18px}.primary-action{color:#fff;cursor:pointer;background:#244f3b;border:1px solid #244f3b;border-radius:7px;min-height:38px;padding:8px 14px;font-weight:750}.primary-action:disabled,.secondary-action:disabled,.danger-action:disabled{cursor:not-allowed;opacity:.65}.real-acceptance-banner.identity-expiring{color:#9a3412;background:#fff7ed;border-color:#fdba74}.real-acceptance-banner.identity-expired,.real-acceptance-banner.identity-missing{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.real-acceptance-banner strong,.real-acceptance-banner em{font-style:normal;font-weight:700}.courseware-upload-panel{border-top:1px solid #e5ece7;gap:14px;margin-top:18px;padding-top:18px;display:grid}.courseware-upload-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.courseware-upload-head h3{color:#20332f;margin:0;font-size:18px}.courseware-upload-head p,.courseware-upload-box .form-help,.courseware-file-card .form-help{color:#66746f;margin:4px 0 0;line-height:1.55}.asset-status{color:#23633d;white-space:nowrap;background:#e8f3ec;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:750}.courseware-file-card,.courseware-upload-box{background:#f8faf7;border:1px solid #dbe4de;border-radius:8px;gap:12px;padding:14px;display:grid}.courseware-file-card{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.courseware-file-card>div,.selected-file{gap:4px;display:grid}.courseware-file-card span,.selected-file span{color:#66746f;font-size:13px}.courseware-file-card strong,.selected-file strong{color:#20332f;word-break:break-word}.courseware-file-card .primary-action,.courseware-file-card .form-help{grid-column:1/-1;justify-self:start}.file-picker{justify-items:start;gap:8px;display:inline-grid}.file-picker span{color:#20332f;cursor:pointer;background:#fff;border:1px solid #ccd8d2;border-radius:7px;min-height:38px;padding:8px 14px;font-weight:750}.file-picker input{max-width:100%}.selected-file{background:#fff;border:1px dashed #b7c8c0;border-radius:8px;padding:10px 12px}.lesson-editor-shell,.lesson-editor-empty{gap:16px}.lesson-editor-toolbar{z-index:5;background:#f8fbf7fa;border:1px solid #d7e4dc;border-radius:8px;grid-template-columns:minmax(260px,1fr) auto;align-items:start;gap:12px 18px;padding:14px;display:grid;position:sticky;top:0;box-shadow:0 8px 22px #20332f14}.lesson-editor-toolbar h3,.lesson-editor-toolbar p,.lesson-preview-head h4,.lesson-preview-head p{margin:0}.lesson-editor-toolbar p,.lesson-preview-head p{color:#66746f}.lesson-editor-toolbar-status,.lesson-editor-toolbar-actions,.lesson-module-actions,.lesson-block-actions,.lesson-module-addbar,.lesson-table-actions,.lesson-table-column-actions,.lesson-image-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-editor-toolbar-status{justify-content:flex-end}.lesson-editor-toolbar-actions{grid-column:1/-1;justify-content:flex-start}.dirty-state,.clean-state,.module-count,.block-type-label{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:750}.dirty-state{color:#9a3412;background:#fff7ed}.clean-state{color:#23633d;background:#edf7f0}.block-type-label{color:#2f5d48;background:#eaf3ee}.module-count{color:#60706a;background:#f1f5f2}.publish-action{background:#1f6f43}.low-risk-action{color:#7c4a03}.quiet-action{background:#f8fbf7}.danger-subtle{color:#9f2f2f;border-color:#efc3c3}.lesson-editor-overview,.lesson-editor-empty-card,.lesson-module-card,.lesson-unrecognized-card,.lesson-teacher-preview{background:#fff;border:1px solid #dbe6df;border-radius:8px;padding:14px}.lesson-editor-overview{gap:10px;display:grid}.lesson-editor-overview>div{flex-wrap:wrap;gap:8px;display:flex}.lesson-editor-overview a{color:#24513d;background:#f7fbf8;border:1px solid #cfddd5;border-radius:999px;padding:6px 10px;text-decoration:none}.lesson-editor-overview a.hidden-link{color:#7b8580;background:#f1f3f1;text-decoration:line-through}.lesson-section-stack,.lesson-module-card,.lesson-module-body,.lesson-list-editor,.lesson-table-editor-wrap,.lesson-image-fields,.lesson-unrecognized-card{gap:12px;display:grid}.lesson-module-card.module-hidden{background:#f5f6f4;border-style:dashed}.lesson-module-head{border-bottom:1px solid #e6eee9;grid-template-columns:minmax(300px,1fr) auto;align-items:start;gap:12px;padding-bottom:12px;display:grid}.lesson-module-title{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.lesson-module-title label,.lesson-editor-field,.compact-select{gap:5px;display:grid}.lesson-module-title label{flex:1;min-width:min(460px,100%)}.lesson-module-title span,.lesson-editor-field span,.compact-select span{color:#66746f;font-size:12px;font-weight:700}.lesson-module-title input,.lesson-heading-input,.lesson-editor-field input,.lesson-editor-field textarea,.lesson-list-item-editor input,.lesson-table-editor textarea,.compact-select select{color:#20332f;width:100%;font:inherit;background:#fff;border:1px solid #ccd8d2;border-radius:7px;padding:9px 10px}.lesson-block-card{background:#fbfdfb;border:1px solid #e0e8e3;border-radius:8px;gap:12px;padding:12px;display:grid}.lesson-block-head{grid-template-columns:minmax(240px,1fr) auto;align-items:start;gap:12px;display:grid}.lesson-block-head>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.lesson-block-head strong{color:#20332f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-paragraph-textarea{resize:vertical;min-height:116px}.lesson-list-item-editor{grid-template-columns:34px minmax(260px,1fr) auto;align-items:center;gap:8px;display:grid}.lesson-list-item-editor>span{color:#49645a;text-align:right;font-weight:800}.lesson-table-editor-scroll,.lesson-table-preview-scroll{background:#fff;border:1px solid #d9e5dd;border-radius:8px;max-width:100%;overflow-x:auto}.lesson-table-editor,.lesson-table-preview{border-collapse:collapse;width:max-content;min-width:100%}.lesson-teacher-preview-stage{background:#eef3f0;justify-items:center;width:100%;min-width:0;max-width:100%;padding:18px;display:grid;overflow:hidden}.lesson-teacher-preview{box-sizing:border-box;width:min(100%,375px,100vw - 24px);min-width:0;max-width:375px;font-size:13.5px;line-height:1.8;overflow:hidden}.lesson-teacher-preview p,.lesson-teacher-preview li,.lesson-teacher-preview td{overflow-wrap:anywhere;word-break:break-word}.lesson-table-preview-shell{width:100%;max-width:100%;position:relative;overflow:hidden}.lesson-table-preview-shell--narrow .lesson-table-preview-scroll{overflow-x:hidden}.lesson-table-scroll-hint{color:#526d82;margin:0 0 5px;font-size:11px;line-height:1.5}.lesson-table-overflow-cue{pointer-events:none;background:linear-gradient(90deg,#fff0,#24486629);width:12px;position:absolute;top:27px;bottom:1px;right:0}.lesson-table-preview-shell--narrow .lesson-table-preview{table-layout:fixed;width:100%}.lesson-table-preview-shell--narrow .lesson-table-preview td:first-child{width:36%}.lesson-table-preview td.lesson-table-sticky-cell{z-index:1;background:#fff;position:sticky;left:0;box-shadow:4px 0 6px #1e405a1a}.lesson-table-editor td,.lesson-table-preview td{vertical-align:top;border:1px solid #d9e5dd;padding:0}.lesson-table-preview td{padding:8px 10px}.lesson-table-editor textarea{resize:vertical;border:0;border-radius:0;min-width:180px;min-height:68px}.lesson-table-editor .table-row-control{text-align:center;background:#fafcfb;width:76px;padding:8px}.lesson-image-editor{grid-template-columns:minmax(220px,320px) minmax(280px,1fr);align-items:start;gap:14px;display:grid}.lesson-image-preview-box{background:#f7faf8;border:1px solid #dbe6df;border-radius:8px;place-items:center;min-height:180px;display:grid;overflow:hidden}.lesson-image-preview-box img,.lesson-image-preview-figure img{object-fit:contain;max-width:100%;max-height:280px;display:block}.lesson-image-picker{background:#f8fbf7;border:1px dashed #bdd0c7;border-radius:8px;flex-basis:100%;padding:10px}.lesson-module-addbar{border-top:1px dashed #cfddd5;padding-top:12px}.lesson-module-addbar>span{color:#66746f;font-weight:800}.lesson-unrecognized-card{background:#fffaf0;border-color:#f0d49a}.lesson-unrecognized-item{background:#fff;border:1px solid #f0dfb8;border-radius:8px;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) auto;align-items:end;gap:10px;padding:10px;display:grid}.lesson-unrecognized-item span{color:#8a5a0f;font-weight:800}.lesson-unrecognized-item p{color:#384843;margin:4px 0 0}.lesson-empty-module,.lesson-divider-editor{color:#66746f;background:#f8fbf7;border:1px dashed #cbd9d2;border-radius:8px;padding:12px}.lesson-preview-section{border-top:1px solid #e5ece7;padding-top:12px}.lesson-preview-highlight{background:#eff8f2;border-left:4px solid #5d9c70;padding:8px 10px}.lesson-image-preview-figure{margin:10px 0}.lesson-image-preview-figure figcaption{color:#66746f;margin-top:6px;font-size:13px}@media (width<=1400px){.lesson-editor-toolbar,.lesson-module-head,.lesson-block-head,.lesson-image-editor,.lesson-unrecognized-item{grid-template-columns:1fr}.lesson-editor-toolbar-status,.lesson-module-actions,.lesson-block-actions{justify-content:flex-start}}.lesson-section-stack{gap:22px}.lesson-section-stack>.lesson-module-card{border-width:1.5px;padding:0;overflow:hidden;box-shadow:0 10px 24px #20332f0f}.lesson-section-stack>.lesson-module-card:nth-of-type(4n+1){background:#f2f8f3;border-color:#cfe0d2}.lesson-section-stack>.lesson-module-card:nth-of-type(4n+1) .lesson-module-head{background:#e7f2e9;border-bottom-color:#cfe0d2}.lesson-section-stack>.lesson-module-card:nth-of-type(4n+2){background:#f2f7fb;border-color:#cddde8}.lesson-section-stack>.lesson-module-card:nth-of-type(4n+2) .lesson-module-head{background:#e7f0f7;border-bottom-color:#cddde8}.lesson-section-stack>.lesson-module-card:nth-of-type(4n+3){background:#fbf7ee;border-color:#e5d9be}.lesson-section-stack>.lesson-module-card:nth-of-type(4n+3) .lesson-module-head{background:#f4ecd9;border-bottom-color:#e5d9be}.lesson-section-stack>.lesson-module-card:nth-of-type(4n){background:#f6f3f8;border-color:#dcd3e2}.lesson-section-stack>.lesson-module-card:nth-of-type(4n) .lesson-module-head{background:#eee8f2;border-bottom-color:#dcd3e2}.lesson-section-stack>.lesson-module-card.module-hidden{filter:saturate(.55);opacity:.82;border-style:dashed}.lesson-section-stack>.lesson-module-card:focus-within{border-color:#2f7a4d;box-shadow:0 0 0 3px #2f7a4d24,0 14px 28px #20332f1f}.lesson-section-stack>.lesson-module-card:focus-within .lesson-module-head{background-image:linear-gradient(#2f7a4d14,#2f7a4d14)}.lesson-module-head{padding:18px 20px 16px}.lesson-module-body{padding:16px 18px 18px}.lesson-module-title{align-items:center;gap:10px}.lesson-module-title label{gap:7px}.lesson-module-title label>span{color:#214f39;font-size:15px;font-weight:800}.lesson-module-title input{color:#17362a;border-color:#b6cbc0;min-height:44px;font-size:18px;font-weight:800}.lesson-module-title .asset-status,.lesson-module-title .module-count{font-size:13px;font-weight:750}.lesson-block-card{background:#fff;border-color:#d9e5dd;padding:14px;box-shadow:0 4px 12px #20332f0a}.lesson-block-card:focus-within{border-color:#7daf8b;box-shadow:0 0 0 2px #5d9c701f}.lesson-block-highlight{background:#fffaf0;border-color:#ead39a}.lesson-block-head{border-bottom:1px solid #edf2ef;padding-bottom:10px}.lesson-block-head>div:first-child{flex-direction:column;align-items:flex-start;gap:6px}.block-type-label{color:#1f5a3a;background:#dfeee5;border-radius:6px;padding:5px 10px;font-size:16px;font-weight:800;line-height:1.2}.lesson-block-head strong{color:#20332f;white-space:normal;max-width:100%;font-size:16px;font-weight:750;line-height:1.45}.lesson-editor-field,.compact-select{gap:7px}.lesson-editor-field span,.compact-select span{color:#314d42;font-size:14px;font-weight:750}.lesson-heading-input,.lesson-editor-field input,.lesson-editor-field textarea,.lesson-list-item-editor input,.lesson-table-editor textarea,.compact-select select{font-size:15.5px;line-height:1.55}.lesson-paragraph-textarea{min-height:148px}.lesson-list-editor{gap:10px}.lesson-list-item-editor{grid-template-columns:40px minmax(260px,1fr) auto;align-items:start}.lesson-list-item-editor>span{color:#244f3a;padding-top:9px;font-size:15px}.lesson-list-item-editor input{min-height:42px}.lesson-table-editor-wrap{background:#fbfdf9;border:1px solid #e2e8dd;border-radius:8px;gap:10px;padding:12px}.lesson-table-actions{justify-content:flex-start}.lesson-table-actions:before{color:#20332f;content:"表格内容";margin-right:4px;font-size:16px;font-weight:800}.lesson-table-editor td.table-head-cell{background:#dfeee5}.lesson-table-editor textarea{color:#20332f;min-height:76px;font-size:14.5px}.lesson-image-editor{background:#fbfdfb;border:1px solid #e0e8e3;border-radius:8px;padding:12px}.lesson-image-fields{gap:12px}.lesson-image-preview-box{background:#eef6f1}.lesson-image-preview-box img,.lesson-image-preview-figure img{max-height:320px}.lesson-module-addbar{border-top-color:#2f7a4d38;gap:10px}.lesson-module-addbar>span{color:#244f3a;font-size:15px;font-weight:800}.lesson-unrecognized-card{border-width:1.5px}.feedback-panel{gap:16px;display:grid}.feedback-list{gap:14px;display:grid}.feedback-card{background:#fbfdf9;border:1px solid #dce8d8;border-radius:8px;gap:12px;padding:16px;display:grid}.feedback-card-head,.feedback-meta,.feedback-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.feedback-card-head{justify-content:space-between}.feedback-card-head strong{color:#20332f;font-size:17px;display:block}.feedback-card-head span,.feedback-meta{color:#65736a;font-size:13px}.feedback-meta strong{color:#244f3a;font-weight:700}.feedback-content{color:#20332f;margin:0;font-size:15px;line-height:1.7}.feedback-reply{color:#244f3a;background:#eef6f1;border-radius:8px;margin:0;padding:10px 12px}.feedback-reply-editor{color:#244f3a;gap:8px;font-weight:700;display:grid}.feedback-reply-editor textarea{resize:vertical;min-height:92px}.file-center-panel .section-head p{max-width:760px}.file-center-toolbar{align-items:stretch}.file-center-toolbar input{flex:260px;min-width:220px}.file-center-toolbar select{min-width:138px}.file-center-table-wrap{max-width:100%}.file-center-table{min-width:980px}.file-name-cell{white-space:normal;overflow-wrap:anywhere;min-width:220px;max-width:320px}.file-name-cell strong,.file-name-cell span,.file-center-table td small{display:block}.file-name-cell span,.file-center-table td small{color:#687672;margin-top:4px;font-size:12px}.pagination-row{color:#53645f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.pagination-row>div{flex-wrap:wrap;gap:8px;display:flex}.file-center-detail{gap:16px;display:grid}.file-detail-row td{background:#f8fbf8;border-top:0;padding:0 16px 18px}.inline-file-detail{box-shadow:none;border-top-left-radius:0;border-top-right-radius:0}.file-center-explain{background:#f8fbf8;border:1px solid #e2e9e4;border-radius:8px;padding:14px}.file-center-explain strong{color:#20332f;margin-bottom:6px;display:block}.file-center-explain p,.file-center-explain ul{color:#53645f;margin:0}.file-center-explain ul{padding-left:20px}.status-available{color:#1d6840;background:#e5f4ea}.status-processing{color:#7a5200;background:#fff4d8}.status-temporarily_unavailable,.status-incomplete,.status-unknown{color:#53645f;background:#f1f4f2}.status-inactive{color:#8a3328;background:#f7e2df}@media (width<=900px){.file-center-toolbar input,.file-center-toolbar select,.file-center-toolbar button{width:100%}.pagination-row,.pagination-row>div{align-items:stretch;width:100%}.pagination-row button{flex:120px}}.file-operation-buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.file-operation-notes{color:#526070;margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.file-center-preview{background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;margin-top:12px;padding:12px}.file-center-preview-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.file-center-preview-head strong{overflow-wrap:anywhere;min-width:0}.file-center-preview img{object-fit:contain;background:#fff;border-radius:6px;max-width:100%;max-height:520px;display:block}.gameplay-resource-panel{margin-top:16px}.gameplay-resource-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:12px;display:grid}.gameplay-resource-card{grid-template-columns:minmax(0,1fr);align-content:start;align-self:start;min-width:0}.gameplay-resource-card>*,.gameplay-resource-card .selected-file{min-width:0}.gameplay-resource-card .courseware-file-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.gameplay-resource-card .courseware-file-head h4,.gameplay-resource-card .courseware-file-head p,.gameplay-resource-card .courseware-upload-help{margin:0}.gameplay-resource-card .courseware-file-head p,.gameplay-resource-card .courseware-upload-help{color:#66746f;line-height:1.55}.gameplay-resource-card .asset-status,.gameplay-resource-card .primary-action,.gameplay-resource-card .danger-action{place-self:start;width:max-content;max-width:100%}.gameplay-resource-card .asset-meta-list{gap:8px;margin:0;display:grid}.gameplay-resource-card .asset-meta-list>div{grid-template-columns:minmax(88px,auto) minmax(0,1fr);gap:10px;display:grid}.gameplay-resource-card .asset-meta-list dt{color:#66746f}.gameplay-resource-card .asset-meta-list dd{overflow-wrap:anywhere;min-width:0;margin:0}.gameplay-resource-card .upload-picker-row,.gameplay-upload-progress{gap:8px;display:grid}.gameplay-resource-card .file-picker,.gameplay-resource-card .file-picker input{min-width:0;max-width:100%}.gameplay-resource-card .selected-file{overflow-wrap:anywhere}.gameplay-upload-progress{color:#41564e;grid-template-columns:auto minmax(120px,1fr);align-items:center}.gameplay-upload-progress progress{accent-color:#18785d;width:100%}.danger-confirm-modal{max-width:520px}.danger-confirm-copy{color:#44524f;margin:0;line-height:1.7}.danger-confirm-summary{color:#7d2a21;background:#fff7f5;border:1px solid #efc8c1;border-radius:8px;gap:4px;padding:12px;display:grid}.danger-confirm-summary strong{color:#4a201a}.controlled-image-panel{margin-top:18px}.controlled-image-upload-progress{color:#334b45;grid-template-columns:auto minmax(160px,1fr);align-items:center;gap:12px;display:grid}.controlled-image-upload-progress progress{accent-color:#18785d;width:100%;height:10px}.controlled-image-groups{gap:16px;display:grid}.controlled-image-group{background:#fbfdfb;border:1px solid #dbe6df;border-radius:8px;gap:12px;padding:14px;display:grid}.controlled-image-group-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.controlled-image-group-head h4,.controlled-image-group-head p{margin:0}.controlled-image-group-head p{color:#66746f;margin-top:4px}.controlled-image-card{gap:12px;display:grid}.controlled-image-empty{color:#66746f;text-align:center;background:#f7faf8;border:1px dashed #c9d8d0;border-radius:8px;place-items:center;gap:6px;min-height:140px;display:grid}.controlled-image-empty strong{color:#20332f}.controlled-image-preview{aspect-ratio:4/3;cursor:pointer;background:#eef6f1;border:1px solid #d6e2da;border-radius:8px;place-items:center;width:min(320px,100%);display:grid;overflow:hidden}.controlled-image-preview:disabled{cursor:default;opacity:.8}.controlled-image-preview img{object-fit:contain;width:100%;height:100%;display:block}.controlled-image-preview-failure{color:#8f352b;text-align:center;justify-items:center;gap:10px;display:grid}.controlled-image-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.controlled-image-actions.compact{gap:8px}.controlled-image-list{gap:12px;display:grid}.controlled-image-item{background:#fff;border:1px solid #dbe6df;border-radius:8px;grid-template-columns:minmax(160px,220px) minmax(180px,1fr);align-items:center;gap:12px;padding:12px;display:grid}.controlled-image-meta{color:#66746f;gap:4px;display:grid}.controlled-image-meta strong{color:#20332f}.selected-file{color:#41564e;overflow-wrap:anywhere;font-weight:700}.file-picker.small span,.secondary-action.small,.danger-action.small{min-height:32px;padding:6px 10px;font-size:13px}.image-preview-modal img{object-fit:contain;background:#f7faf8;border-radius:8px;max-width:100%;max-height:min(70vh,720px);display:block}.image-confirm-modal p{color:#41564e;line-height:1.6}@media (width<=900px){.controlled-image-item{grid-template-columns:1fr}.controlled-image-preview{width:100%}}.admin-login-screen{color:#20262e;background:#f3f5f7;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-panel{background:#fff;border:1px solid #cfd5dc;border-radius:8px;gap:18px;width:min(400px,100%);padding:28px;display:grid;box-shadow:0 12px 32px #18202a1f}.admin-login-panel h1{letter-spacing:0;margin:0 0 6px;font-size:24px}.admin-login-panel p{color:#59636f;margin:0}.admin-login-panel label{gap:7px;font-weight:600;display:grid}.admin-login-panel input{min-height:42px;font:inherit;border:1px solid #aeb7c2;border-radius:4px;padding:8px 10px}.admin-login-message{color:#8a1c13;background:#fff1f0;border-left:3px solid #b42318;padding:10px}.admin-session-bar{background:#fff;border-bottom:1px solid #d9dee5;justify-content:flex-end;align-items:center;gap:12px;min-height:40px;padding:6px 18px;display:flex}.admin-session-bar button{color:#235b7d;cursor:pointer;background:0 0;border:0}.admin-session-bar button:disabled{color:#8d96a0;cursor:default}.admin-authenticated-root>.app-shell{min-height:calc(100vh - 40px)}.structured-courseware-editor{background:#f8fbfa;border:1px solid #b8c5ca;margin:0 0 20px;padding:18px}.structured-editor-header,.structured-draft-toolbar,.structured-page-title,.structured-page-actions,.structured-preview-controls,.structured-version-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.structured-editor-header h3,.structured-draft-toolbar strong{margin:0}.structured-editor-header p{color:#53646a;margin:5px 0 0}.structured-version-badge{color:#34464d;background:#e6ecee;border-radius:4px;padding:5px 9px;font-size:13px}.structured-version-badge.structured{color:#195d3d;background:#dcefe5}.structured-rule-strip{color:#43535a;background:#fff;border-left:3px solid #2b7760;flex-wrap:wrap;gap:8px 16px;margin:14px 0;padding:10px 12px;font-size:13px;display:flex}.structured-empty-state{background:#fff;border:1px dashed #9fb0b6;padding:18px}.structured-draft-toolbar{align-items:flex-start;margin:14px 0}.structured-draft-toolbar>div:first-child{flex-direction:column;gap:4px;display:flex}.structured-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.structured-batch-picker{width:auto;margin:0}.structured-insert-row{color:#617177;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:12px;display:flex}.structured-insert-row button{padding:6px 9px}.structured-page-list{gap:0;display:grid}.structured-page-card{cursor:grab;background:#fff;border:1px solid #bdc9cd;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;padding:14px;display:grid}.structured-page-card:active{cursor:grabbing}.structured-page-preview{aspect-ratio:16/9;background:#11181b;place-items:center;width:100%;display:grid;overflow:hidden}.structured-page-preview img,.structured-page-preview video{object-fit:contain;width:100%;height:100%}.structured-page-placeholder{color:#dbe2e4;text-align:center}.structured-preview-failed{justify-items:center;gap:8px;display:grid}.structured-preview-failed button{color:#f5f8f9;background:0 0;border-color:#dbe2e4}.structured-page-content{min-width:0}.structured-page-title{flex-wrap:wrap;justify-content:flex-start}.structured-page-title span{background:#edf1f2;padding:3px 6px;font-size:12px}.structured-file-name{overflow-wrap:anywhere;font-weight:600}.structured-page-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:10px}.file-picker.compact{width:auto;margin:0}.structured-upload-state{grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:8px;margin:8px 0;display:grid}.structured-upload-state progress{width:100%}.structured-upload-state.failed{color:#a22929}.structured-upload-state.succeeded{color:#176443}.structured-version-summary{color:#53646a;border-top:1px solid #d4dddf;justify-content:flex-start;margin-top:14px;padding-top:12px}.legacy-courseware-panel{border-top:2px solid #bcc8cc;margin-top:20px;padding-top:18px}.structured-preview-modal{z-index:1100;background:#070c0edb;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.structured-preview-shell{width:min(1120px,96vw)}.structured-preview-stage{aspect-ratio:16/9;background:#050708;place-items:center;width:100%;display:grid;overflow:hidden}.structured-preview-stage img,.structured-preview-stage video{object-fit:contain;width:100%;height:100%}.structured-preview-controls{background:#fff;padding:10px}@media (width<=760px){.structured-editor-header,.structured-draft-toolbar{flex-direction:column;align-items:stretch}.structured-toolbar-actions{justify-content:flex-start}.structured-page-card{grid-template-columns:1fr}.structured-insert-row{flex-wrap:wrap}}
