.projects-page{max-width:1500px;margin:12px auto}.page-body:has(>.project-workspace){padding-top:0}.project-workspace{margin:0 auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.projects-page h1{margin:0;font-size:1.6rem;overflow-wrap:anywhere}.projects-page h2{font-size:1.15rem}.projects-page button{padding:7px 12px;border:1px solid #9aa4af;border-radius:5px;background:#fff;cursor:pointer}.projects-page button:disabled{opacity:.55;cursor:default}.projects-page button:focus-visible,.projects-page input:focus-visible{outline:2px solid #2968b4;outline-offset:2px}.projects-page .primary{background:#2866ab;border-color:#2866ab;color:#fff}.projects-page .danger{color:#b42323;border-color:#d4a4a4}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.project-heading>button{flex-shrink:0}.project-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.projects-page .project-open{border:none;padding:0;color:var(--link-text-color);text-align:left;font-size:1.15rem;overflow-wrap:anywhere;text-decoration:none}.projects-page .project-open:hover{text-decoration:underline}.project-list>li{position:relative}.project-list .project-open:after{content:"";position:absolute;inset:0;border-radius:6px}.project-list .project-actions button{position:relative;z-index:1}.project-list .project-open:focus-visible{outline:none}.project-list .project-open:focus-visible:after{outline:2px solid #2968b4;outline-offset:3px}.project-date{font-size:.85rem;color:#222}.job-generation-time-active{color:navy}.project-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.project-empty,.project-help{color:#666;line-height:1.7}#material-editor-name-help{color:navy}.project-error{color:#a51e1e;background:#fff0f0;padding:12px}.project-notice{color:#21633b;background:#eef8f1;padding:12px}.project-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.project-dialog{display:flex;flex-direction:column;width:100%;max-width:500px;max-height:calc(90dvh / var(--ui-zoom));overflow:hidden;background:#fff;border-radius:8px;padding:24px;box-shadow:0 8px 32px #0003}.project-editor-form{display:flex;flex-direction:column;min-height:0;gap:16px}.project-dialog .project-actions,.project-dialog>h2{flex-shrink:0}.project-dialog>.dialog-scroll-body{margin-top:16px}.project-dialog h2{margin-top:0}.project-dialog label{display:block;margin-bottom:8px}.project-dialog input{width:100%;padding:9px;border:1px solid #999;border-radius:4px;margin-bottom:20px}.project-dialog p{line-height:1.7}.project-delete-name{overflow-wrap:anywhere;font-weight:700}@media (max-width:750px){.project-list>li{flex-direction:column}}.material-panel{margin-top:24px}.material-create{padding:8px 12px;border-radius:5px;background:#2866ab;color:#fff;text-decoration:none}.material-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.material-form{display:grid;grid-gap:10px;gap:10px}.material-form input,.material-form textarea{width:100%;padding:8px;font:inherit;border:1px solid #aaa;border-radius:4px}.material-form textarea{resize:vertical}.material-form select{max-width:100%;padding:8px;font:inherit;border:1px solid #aaa;border-radius:4px}.material-details{margin:24px 0}.material-info-card{padding:20px;border:1px solid #ccd6e0;border-radius:14px;background:#f7f9fc}.material-info-card .material-details{margin-bottom:0}.material-info-card .material-details+.project-actions{margin-top:20px}.material-details dt{margin-top:18px;color:#555;font-size:.9rem}.material-details dd{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.material-editor{width:min(760px,calc(calc(100vw / var(--ui-zoom)) - 32px));max-height:calc(90dvh / var(--ui-zoom));padding:24px;border:none;border-radius:8px;overflow:hidden}.material-editor>.material-form{display:flex;flex-direction:column;gap:0;max-height:calc(calc(90dvh / var(--ui-zoom)) - 48px);min-height:0}.material-editor .material-form>.project-heading{flex-shrink:0;margin-bottom:16px}.dialog-scroll-body{display:grid;grid-gap:10px;gap:10px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-gutter:stable}.material-editor::-webkit-backdrop{background:rgba(0,0,0,.4)}.material-editor::backdrop{background:rgba(0,0,0,.4)}.material-editor h2{margin:0;font-size:1.2rem}.material-editor button{font:inherit;padding:8px 14px;border:1px solid #9aa4af;border-radius:5px;background:#fff;cursor:pointer}.material-editor button.primary{background:#2866ab;border-color:#2866ab;color:#fff}.material-editor button:disabled{opacity:.55;cursor:default}@media (max-width:750px){.material-editor{width:calc(100vw / var(--ui-zoom));max-width:calc(100vw / var(--ui-zoom));height:calc(100dvh / var(--ui-zoom));max-height:calc(100dvh / var(--ui-zoom));margin:0;padding:20px 16px;border-radius:0}.material-editor>.material-form{max-height:calc(calc(100dvh / var(--ui-zoom)) - 40px)}}.material-divider{margin:28px 0 16px;border:0;border-top:1px solid #bdc8d3}.scene-detail{display:grid;grid-gap:20px;gap:20px;margin-top:20px}.scene-candidates,.scene-tag-groups{display:flex;flex-wrap:wrap;gap:16px}.scene-tag-group{flex:0 0 auto;min-width:min-content;max-width:100%;margin:0;padding:12px;border:1px solid #c6d7e8;border-radius:16px;background:#f7faff}.scene-tag-group legend{padding:0 8px;font-weight:600;overflow-wrap:anywhere}.binary-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:12px;background:#e9eff7;color:#425875;font-size:.85rem;overflow-wrap:anywhere}.binary-editor-item{display:grid;grid-template-columns:minmax(0,var(--ui-thumbnail-small)) minmax(0,1fr);grid-gap:16px;gap:16px;padding:16px;border:1px solid #ccd6e0;border-radius:12px}.binary-editor-preview{display:flex;justify-content:center;align-items:flex-start;min-width:0}.binary-editor-preview>img{width:var(--ui-thumbnail-small);height:var(--ui-thumbnail-small);max-width:100%;object-fit:contain}.binary-editor-preview audio{width:100%;max-width:100%}.binary-editor-preview .image-thumbnail{width:var(--ui-thumbnail-small);height:var(--ui-thumbnail-small)}.binary-editor-fields{display:grid;grid-gap:8px;gap:8px;min-width:0;overflow-wrap:anywhere}.binary-editor-visibility{display:flex;align-items:center;gap:8px}.material-form .binary-editor-visibility input{width:18px;height:18px;flex-shrink:0}@media (max-width:750px){.binary-editor-item{grid-template-columns:minmax(0,1fr)}.binary-editor-preview>img{max-width:100%}}.scene-material-groups{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;margin-top:16px}.scene-material-group{flex:1 1 calc(var(--ui-thumbnail-small) + 90px);min-width:min-content;padding:16px;border:1px solid #ccd6e0;border-radius:12px;background:#fff}.scene-material-group>h3,.scene-material-group>h4{margin-top:0}.scene-candidate-preview{display:flex;flex-direction:column;gap:8px;width:var(--ui-thumbnail-small);max-width:100%;overflow-wrap:anywhere}.scene-thumbnail-frame{display:flex;align-items:center;justify-content:center;flex:0 0 var(--ui-thumbnail-small);width:var(--ui-thumbnail-small);min-width:var(--ui-thumbnail-small);height:var(--ui-thumbnail-small);box-sizing:border-box;overflow:hidden;border:1px solid #ddd;border-radius:4px;background:#f5f5f5}.projects-page .scene-thumbnail-frame>.image-thumbnail{flex:0 0 100%;width:100%;max-width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.scene-thumbnail-frame img{display:block;width:100%;height:100%;object-fit:contain}.scene-candidate-audio,.scene-candidate-preview .audio-preview{width:260px;max-width:100%}.scene-material-group:has(.audio-preview){flex-basis:294px}.scene-choice{flex:0 0 auto;width:max-content;min-width:calc(var(--ui-thumbnail-small) + 22px);padding:10px;border:1px solid #ccd6e0;border-radius:6px}.scene-choice label{display:flex;gap:8px;align-items:center;margin-top:12px}.scene-choice input[type=checkbox],.scene-editor input[type=checkbox],.scene-editor input[type=radio]{width:18px;height:18px;padding:0}.scene-music-unused{display:flex;align-items:center;gap:8px}.scene-editor fieldset{min-width:0;margin:10px 0;padding:16px;border:1px solid #ccd6e0;border-radius:6px}.scene-editor .scene-tag-group{min-width:min-content}.scene-editor select{max-width:100%;padding:8px;font:inherit}.scene-prompt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.scene-shot-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.scene-shot-fields{display:grid;grid-template-columns:minmax(60px,100px) minmax(70px,100px) minmax(0,1fr);align-items:end;grid-gap:12px;gap:12px}.scene-shot-fields>div{display:grid;grid-gap:8px;gap:8px;min-width:0}.scene-shot-fields select{width:100%;min-width:0}.scene-shot-line{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.scene-shot-fields input{max-width:130px}.scene-shot-total{font-weight:700}.scene-shot-list{list-style:none;padding:0}.scene-shot-list>li{border-bottom:1px solid #ddd;padding:12px 0}.scene-output-video{display:block;zoom:calc(1 / var(--ui-zoom));width:calc(var(--ui-thumbnail-large) * var(--ui-zoom));height:calc(var(--ui-thumbnail-large) * var(--ui-zoom));max-width:calc(100% * var(--ui-zoom));object-fit:contain}.scene-output-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.scene-output-preview{display:flex;align-items:center;justify-content:center;width:var(--ui-thumbnail-large);max-width:100%;height:var(--ui-thumbnail-large);overflow:hidden;border-radius:4px;background:#f5f5f5}.scene-output-preview .scene-output-video{width:calc(100% * var(--ui-zoom));height:calc(100% * var(--ui-zoom))}.scene-output-preview img{display:block;width:100%;height:100%;object-fit:contain}.projects-page .scene-output-preview .image-thumbnail{flex-basis:100%;width:100%;height:100%}.scene-generation-history{display:grid;grid-gap:16px;gap:16px;width:100%;min-width:0;margin:0;padding:0;list-style:none}.scene-generation-history>li{display:grid;grid-template-columns:var(--ui-thumbnail-large) minmax(0,1fr) auto;align-items:start;grid-gap:20px;gap:20px;min-width:0;padding:16px 0;border-bottom:1px solid #ddd}.scene-generation-previews{display:grid;grid-gap:12px;gap:12px;min-width:0}.scene-generation-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;overflow-wrap:anywhere}.scene-generation-details .project-error{align-self:stretch;margin:0}.scene-generation-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}@media (max-width:875px){.scene-generation-history>li{grid-template-columns:minmax(0,1fr) auto}.scene-generation-previews{grid-column:1/-1}}.job-video-preview{display:flex;align-items:center;justify-content:center;width:var(--ui-thumbnail-large);max-width:100%;height:var(--ui-thumbnail-large);overflow:hidden;border-radius:4px;background:#ddd}.job-video-preview .scene-output-video{display:block;width:auto;height:auto;max-width:calc(100% * var(--ui-zoom));max-height:calc(100% * var(--ui-zoom));object-fit:contain;object-position:center}.scene-job-table{width:100%;border-collapse:collapse;text-align:left}.scene-job-scroll{overflow-x:auto}.scene-job-table td,.scene-job-table th{padding:12px 16px 12px 0;border-bottom:1px solid #ddd;vertical-align:top}.scene-job-table td:not(:last-child),.scene-job-table th:not(:last-child){white-space:nowrap;width:1%}.scene-job-result{display:flex;align-items:center;flex-wrap:wrap;gap:10px;overflow-wrap:anywhere}.scene-job-error{color:#a51e1e}.scene-jobs,.scene-jobs .scene-job-scroll{width:100%;min-width:0}.scene-jobs .scene-job-table{table-layout:fixed;min-width:760px}.scene-jobs .scene-job-table td:first-child,.scene-jobs .scene-job-table td:nth-child(2),.scene-jobs .scene-job-table th:first-child,.scene-jobs .scene-job-table th:nth-child(2){width:175px}.scene-jobs .scene-job-table td:nth-child(3),.scene-jobs .scene-job-table th:nth-child(3){width:90px}.scene-jobs .scene-job-table td:nth-child(4),.scene-jobs .scene-job-table th:nth-child(4){width:auto}.scene-jobs .scene-job-table td:last-child,.scene-jobs .scene-job-table th:last-child{width:160px}.scene-job-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.scene-job-actions-heading{text-align:right}.scene-jobs .scene-job-table td:last-child,.scene-jobs .scene-job-table th:last-child{padding-right:0}.scene-jobs .scene-job-result{flex-wrap:nowrap;min-width:0}.scene-jobs .scene-job-result strong{flex-shrink:0;white-space:nowrap}.scene-jobs .scene-job-result button{margin-left:auto;flex-shrink:0;white-space:nowrap}.scene-jobs .scene-job-error{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-scene-count{display:block;color:#666;font-size:.85rem;margin-top:6px}.project-list>.scene-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.scene-list-history{position:relative;z-index:1;grid-column:1/-1;width:100%;min-width:0;color:#222;border-top:1px solid #d8e0e7;padding-top:16px}.scene-output-choices{grid-column:1/-1;min-width:0;--ui-choice-size:var(--ui-thumbnail-small)}.scene-output-choices-large{--ui-choice-size:var(--ui-thumbnail-large)}.scene-output-choice{display:flex;flex-direction:column;gap:8px;flex:0 0 var(--ui-choice-size);width:var(--ui-choice-size);max-width:100%}.scene-output-choice .join-video-option{width:100%;height:var(--ui-choice-size);flex-basis:auto}@media (max-width:750px){.project-list>.scene-list-row{grid-template-columns:minmax(0,1fr)}}.join-video-options{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1;min-width:0}.join-video-more{grid-column:1/-1}.join-video-option{position:relative;flex:0 0 var(--ui-thumbnail-small);width:var(--ui-thumbnail-small);height:var(--ui-thumbnail-small);box-sizing:border-box;overflow:hidden;border:1px solid #ddd;border-radius:4px;background:#f5f5f5}.join-video-option .scene-output-video{display:block;width:calc(100% * var(--ui-zoom));height:calc(100% * var(--ui-zoom));max-height:none;object-fit:contain}.join-video-option .join-video-check{position:absolute;top:6px;right:6px;width:20px;height:20px;margin:0;accent-color:#2866ab;cursor:pointer;z-index:1}.join-video-option:has(.join-video-check:checked){border-color:#2866ab;box-shadow:inset 0 0 0 1px #2866ab}.material-upload h2{margin-top:0}.material-upload input,.material-upload label{display:block;margin-bottom:12px;max-width:100%}.projects-page .image-thumbnail{display:flex;align-items:center;justify-content:center;flex:0 0 var(--ui-thumbnail-small);width:var(--ui-thumbnail-small);max-width:100%;height:var(--ui-thumbnail-small);padding:0;overflow:hidden;border:1px solid #ddd;border-radius:4px;background:#f5f5f5;cursor:zoom-in}.image-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.image-thumbnail span,.image-thumbnail-empty{font-size:.85rem;color:#666}.projects-page .image-thumbnail:disabled{opacity:1;cursor:default}.material-binary-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:100%}.audio-preview{width:300px;max-width:100%;min-width:0}.audio-preview audio{display:block;width:100%}.binary-visibility{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}.binary-visibility input{width:18px;height:18px;margin:0;accent-color:#2866ab}.image-preview-overlay{position:fixed;inset:0;background:rgba(0,0,0,.2);z-index:2000}.image-preview-dismiss{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-out}.image-preview-dismiss img{display:block;width:auto;height:auto;max-width:calc(80vw / var(--ui-zoom));max-height:calc(80vh / var(--ui-zoom));object-fit:contain}.image-preview-dismiss:focus-visible{outline:2px solid #2968b4;outline-offset:-4px}.material-history{padding:0;list-style:none}.material-history>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #ddd;flex-wrap:wrap}.joined-history .material-history,.scene-job-history .material-history{display:grid;grid-gap:16px;gap:16px}.joined-history .material-history>li,.scene-job-history .material-history>li{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px;border:1px solid #bcc8d4;border-radius:12px;background:#fafcfe}.job-history-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;width:100%;min-width:0}.job-history-with-preview>.job-history-layout{grid-template-columns:minmax(0,var(--ui-thumbnail-large)) minmax(0,1fr);gap:16px}.job-history-with-preview .job-history-details{border-left:1px solid #d8e0e7;padding-left:16px}.job-history-previews{display:grid;align-self:start;align-content:start;grid-gap:12px;gap:12px;min-width:0}.job-history-previews:empty{display:none}.job-history-details{min-width:0}.job-history-details>.project-heading{align-items:flex-start;flex-wrap:nowrap;gap:12px;margin-bottom:8px}@media (max-width:875px){.job-history-with-preview>.job-history-layout{grid-template-columns:minmax(0,1fr);gap:12px}.job-history-with-preview .job-history-details{border-left:0;padding-left:0;border-top:1px solid #d8e0e7;padding-top:12px}}.job-history-path{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;min-width:0;overflow-wrap:anywhere;flex:1 1}.job-history-path a{color:var(--link-text-color);text-decoration:none}.job-history-path a:hover{text-decoration:underline}.job-history-path>span{color:#777}.job-history-status{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px;flex-shrink:0;white-space:nowrap}.material-history .project-date,.material-history strong{display:block;overflow-wrap:anywhere}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 0;margin:0 0 16px;border-bottom:1px solid #bdc8d3;overflow-x:auto}.project-toolbar>.project-breadcrumbs{flex:1 1;min-width:0;overflow:hidden}.project-toolbar>.project-actions{flex-shrink:0;flex-wrap:nowrap}.current-project-select{max-width:240px;min-width:120px;padding:7px 8px;border:1px solid #9aa4af;border-radius:5px;font:inherit;background:#fff}.project-toolbar .project-breadcrumbs ol{flex-wrap:nowrap}.project-breadcrumbs{margin:0;color:#555;font-size:.95rem}.project-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;padding:0;margin:0;list-style:none}.project-breadcrumbs li{display:flex;align-items:center;min-width:0;max-width:100%}.project-breadcrumbs li+li:before{content:">";margin:0 10px;color:#777;flex-shrink:0}.project-breadcrumbs a{color:var(--link-text-color);text-decoration:none}.project-breadcrumbs a:hover{text-decoration:underline}.project-breadcrumb-name{font-weight:700;font-size:calc(1em + 2pt)}.project-breadcrumb-icon{flex-shrink:0;margin-right:6px;color:var(--link-text-color)}.project-breadcrumbs [aria-current],.project-breadcrumbs a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.material-choices,.project-list{display:grid;grid-gap:12px;gap:12px;list-style:none;padding:0;margin:20px 0}.material-choices a,.project-list>li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:14px 18px;border:1px solid #bcc8d4;border-radius:6px;color:var(--link-text-color);background:#fafcfe;text-decoration:none}.material-choices a:hover,.project-list>li:hover{background:#eef4fb}.material-choices .project-date{flex-shrink:0}.material-choices a span:first-child{overflow-wrap:anywhere;min-width:0}.material-choices a span:last-child{font-size:1.5rem}.projects-page a:focus-visible{outline:2px solid #2968b4;outline-offset:3px}@media (max-width:750px){.project-breadcrumbs li{display:none}.project-breadcrumbs li:nth-last-child(-n+2){display:flex;max-width:48%}.project-breadcrumbs li:nth-last-child(2):before{display:none}.project-breadcrumbs li:nth-last-child(2) a:before{content:"← "}.project-breadcrumbs [aria-current],.project-breadcrumbs a{max-width:100%}}