/* Creator delivery layer: restrained surfaces, legible metadata, explicit task controls. */
:root{--bg:#111514;--sidebar:#0d1110;--surface:#1a201d;--raised:#252e28;--border:#323e36;--ink:#f1f5f2;--muted:#aab9af;--brand:#b7f5cb;--brand-ink:#143c28;--z-nav:20;--z-canvas:1;--z-menu:30;--z-modal:70;--z-toast:90}
body{min-width:320px}button,a{touch-action:manipulation}button,select,input{min-height:38px}textarea{min-height:90px}button:disabled{opacity:.48}.btn,.chip,.icon-btn{transition:background 180ms ease-out,border-color 180ms ease-out,color 180ms ease-out}.btn{font-size:13px;font-weight:550}.btn.small{font-size:12px}.btn.danger,.btn[data-action^="confirm-delete"]{color:var(--danger);border-color:#765050;background:#382526}.icon-btn{min-height:34px}.page p{overflow-wrap:anywhere}.page-heading{font-size:29px;font-weight:620;letter-spacing:-.025em}.page-subtitle{font-size:14px;line-height:1.7}.media-meta{font-size:12px}.badge{font-size:12px}.notice{font-size:13px;line-height:1.75}.form-error{font-size:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-label,.field input,.field textarea,.field select{font-size:14px}.field small{font-size:12px}.field input,.field select{min-height:44px}.field textarea{min-height:100px}.field textarea:invalid:not(:placeholder-shown){border-color:var(--danger)}
.sidebar{width:220px;padding:29px 18px 20px;z-index:var(--z-nav)}.brand{gap:12px;margin-bottom:32px}.brand-mark{font-size:32px}.brand small{font-size:12px;letter-spacing:.015em}.sidebar .new-project{min-height:44px}.sidebar nav{margin-top:27px;gap:7px}.nav-item{padding:12px 13px;font-size:14px;gap:12px}.nav-item.active{background:#23372b;color:#dcf8e5}.nav-item.active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand);margin-left:auto}.nav-item svg{width:20px;height:20px}.app-shell{margin-left:220px}.topbar{height:68px;padding:0 36px}.breadcrumb{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.top-actions{flex-shrink:0}.environment-label{color:var(--muted);font-size:12px;display:inline-flex;align-items:center;gap:7px}.environment-label:before{content:"";height:6px;width:6px;background:#a6c5b0;border-radius:50%}.topbar-divider{height:18px;width:1px;background:var(--border)}.avatar{height:30px;width:30px}.page{padding:34px 36px 48px;max-width:1680px;min-width:0}.sidebar-bottom{padding:18px 2px 0}.workspace-profile{border-top:1px solid var(--border);padding:20px 0 10px;display:flex;align-items:center;gap:10px}.workspace-profile strong{font-size:12px;font-weight:550;display:block;color:#dce7e0}.workspace-profile small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.profile-avatar{display:grid;place-items:center;width:31px;height:33px;background:#29362e;border-radius:7px;color:#c8e2d1}.sidebar-bottom>.btn{margin-top:4px;font-size:12px;padding-inline:0}
.project-heading,.project-heading .page-heading-row{align-items:center}.project-heading .page-subtitle{margin-bottom:0}.project-heading .btn.primary{min-height:42px}.project-summary{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--border)}.project-summary strong{color:var(--ink);font-weight:550;margin-right:5px}.project-summary .summary-note{margin-left:auto}.project-toolbar{gap:20px;padding:22px 0 0;margin:0 0 22px}.project-tabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.project-tabs .chip{background:transparent;color:var(--muted);border-radius:7px;padding:8px 13px}.project-tabs .chip.active{background:#2a3d30;color:#ddf9e5}.project-tabs .chip span{font-variant-numeric:tabular-nums;opacity:.8;margin-left:6px}.project-search-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.project-search-tools .search-field{width:228px;min-width:160px}.project-search-tools select{font-size:12px;padding:9px 26px 9px 11px;background:transparent;min-height:38px}.projects-page .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.projects-page .project-card{border:1px solid var(--border);border-radius:12px;background:#19201b;overflow:hidden;transition:border-color 180ms ease-out}.projects-page .project-card:hover{border-color:#66796a}.projects-page .project-thumb{border-radius:0;aspect-ratio:16/9;background:#18211b;min-height:150px;border:0;position:relative}.project-thumb img{width:100%;height:100%;object-fit:cover}.project-thumb:focus-visible{outline-offset:-3px}.project-thumb .empty-thumb{width:100%;height:100%;border:0}.project-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#1c2820;color:#b1c1b5;min-height:150px}.project-placeholder svg{width:36px;height:36px;stroke-width:1.2}.project-placeholder>span,.project-placeholder small{font-size:12px}.project-status{position:absolute;top:12px;left:12px;font-size:11px;line-height:1.6;padding:4px 8px;border-radius:5px;background:#111a14e8;color:#deece2;border:1px solid #71877666;max-width:calc(100% - 24px)}.project-status.done{color:#d5f8e1}.projects-page .project-info{padding:17px 18px 0;margin:0}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-title-row strong,.project-title-row h3,.projects-page .project-info>strong{font-size:16px;font-weight:580;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.project-specs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:8px 0 0;font-variant-numeric:tabular-nums}.project-specs>span+span:before{content:"·";margin-right:8px;color:#7e9083}.project-footer{margin:16px 18px 0;padding:12px 0 14px;border-top:1px solid #2e3a31;display:flex;align-items:center;justify-content:space-between;gap:8px}.project-footer>small,.project-footer>span{color:var(--muted);font-size:11px}.project-footer .card-actions{margin:0;gap:7px}.project-footer .btn{min-height:32px;font-size:12px;padding:5px 9px;background:transparent;color:#daeee0;border-color:#465a4c}.project-footer .icon-btn{width:30px;min-height:30px;height:30px;border:0;background:transparent}.projects-page .empty-state{margin:42px auto;max-width:650px;border-style:solid;background:#18201b;padding:48px 24px}.empty-state h2{font-size:20px}.empty-state .btn{margin:10px 5px 0}.project-count{font-variant-numeric:tabular-nums}.projects-page .project-grid:has(.empty-state){display:block}
.editor-page,.cut-page{min-width:0}.page:has(.editor-page){padding:24px 24px 22px;max-width:none}.editor-heading,.cut-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.editor-heading h1,.cut-heading h1{font-size:23px;font-weight:580;margin:7px 0 4px;line-height:1.4;overflow-wrap:anywhere}.editor-heading .work-actions,.cut-heading .work-actions{align-items:center;flex-shrink:0}.editor-heading .back-link,.cut-heading .back-link{font-size:12px}.editor-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.save-indicator{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.save-indicator:before{content:"";width:5px;height:5px;border-radius:50%;background:#9bdab0}.save-indicator.error:before{background:var(--danger)}.save-indicator.error{color:var(--danger)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;background:#1a221d;border:1px solid var(--border);border-radius:9px}.editor-toolbar>div,.add-card-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.editor-toolbar .btn{min-height:32px;font-size:12px;padding:5px 10px}.editor-toolbar .zoom-tools{padding-left:12px;border-left:1px solid var(--border);flex-wrap:nowrap}.zoom-tools span{min-width:40px;justify-content:center;font-size:12px}.canvas-stage{height:calc(100vh - 270px);min-height:510px;border:1px solid #354139;border-radius:10px;background:#121a15;isolation:isolate;overscroll-behavior:contain}.canvas-world{background-color:#121a15;min-width:1500px;min-height:1050px}.canvas-hint{left:20px;top:16px;max-width:calc(100% - 36px);color:#a8bbae;font-size:12px}.canvas-card{width:240px;background:#202b23;border:1px solid #526558;border-radius:10px;box-shadow:none}.canvas-card:hover{border-color:#799782}.canvas-card.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.canvas-card-head{padding:10px 12px;font-size:12px;border-bottom:1px solid #3c4d41;margin-bottom:12px;color:#deece2}.canvas-card-head b{font-weight:550}.canvas-card-head .icon-btn{height:24px;min-height:24px;width:24px;font-size:16px;background:transparent;border:0;color:#b1c4b7}.canvas-card-body{padding:0 12px 12px}.canvas-card img{height:126px;object-fit:cover;border-radius:5px}.canvas-card textarea{min-height:62px;max-height:150px;font-size:13px;padding:8px 10px;margin-top:10px;background:#172019;border-color:#465c4d}.canvas-card-body small{font-size:11px;line-height:1.6;color:#b2c3b7}.canvas-card-character,.canvas-card-scene,.canvas-card-prop{border-color:#526558}.canvas-card-character .canvas-card-head b{color:#e8d4a3}.canvas-card-scene .canvas-card-head b{color:#afcfe6}.canvas-card-prop .canvas-card-head b{color:#d9bbdf}.canvas-card-script{width:440px;background:#1d2820}.canvas-card-script .canvas-card-body>strong{font-size:14px;margin:0 0 12px;font-weight:550;overflow-wrap:anywhere}.script-shots{padding:0;margin:10px 0 14px;list-style:none}.script-shots li,.script-shot{border-top:1px solid #3b4c40;padding:11px 0;margin:0;line-height:1.7;font-size:12px}.script-shot p{font-size:13px;margin:4px 0 6px}.script-shot strong{font-size:12px;color:#c4ebd2}.script-shot .shot-reference{font-size:11px;color:var(--muted);margin:5px 0}.script-shot-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.script-shot .btn,.script-shots .btn{font-size:11px;min-height:28px;padding:3px 7px}.script-actions{display:flex;gap:8px;flex-wrap:wrap}.script-actions .btn{min-height:32px;font-size:12px;padding:6px 10px}.canvas-port{width:14px;min-height:14px;height:14px}.canvas-port.in{left:-8px}.canvas-port.out{right:-8px}.canvas-svg{pointer-events:none}.canvas-edge,.canvas-edge-hit{pointer-events:stroke}.canvas-menu{z-index:var(--z-menu);box-shadow:none;border-color:#6a8272}.canvas-empty{position:absolute;left:36px;top:76px;width:420px;max-width:calc(100% - 64px);padding:28px;background:#1c2a20;border:1px solid #435b49;border-radius:12px;z-index:4;user-select:text}.canvas-empty h2{font-size:21px;margin-bottom:10px}.canvas-empty p{font-size:13px;color:#b9cbbf;line-height:1.8}.canvas-empty .btn{font-size:12px;margin:5px 7px 0 0}.canvas-note{color:var(--muted);font-size:12px;line-height:1.7}.editor-footer{display:flex;gap:16px;justify-content:space-between;font-size:11px;color:var(--muted);padding-top:10px}
.cut-page{max-width:1320px;margin:auto}.cut-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.cut-main .preview-stage{aspect-ratio:16/9;background:#070a08;border:1px solid #334337;border-radius:10px;display:flex;align-items:center;justify-content:center}.cut-main .preview-stage[data-ratio="9:16"]{aspect-ratio:16/10}.cut-main .cut-video{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}.cut-main .preview-stage[data-ratio="9:16"] .cut-video{width:auto;max-width:100%;aspect-ratio:9/16;height:100%;object-fit:cover}.cut-main .preview-badge{font-size:11px;max-width:calc(100% - 24px);line-height:1.5}.shot-inspector{padding:20px;background:#1b251e;border:1px solid var(--border);border-radius:10px;min-width:0}.shot-inspector h2,.shot-inspector h3{font-size:16px;margin:0 0 16px}.shot-inspector .shot-size{font-size:12px;color:var(--muted)}.shot-inspector dl{margin:0}.shot-inspector dt{font-size:12px;color:var(--muted);margin:15px 0 5px}.shot-inspector dd{margin:0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.shot-inspector .btn{width:100%;margin-top:18px}.cut-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 0}.cut-toolbar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cut-summary{font-size:12px;color:var(--muted);display:flex;gap:15px;margin-bottom:10px}.cut-order{gap:12px;padding:8px 2px 15px;margin-top:8px}.cut-order li{flex:0 0 240px;background:#1b251e;border:1px solid #35493d;border-radius:9px;overflow:hidden}.cut-order li.active{outline:none;border-color:#a0d3b1}.cut-order li>button{border:0;border-radius:0;background:transparent;padding:14px 14px 10px;min-height:120px;display:flex;flex-direction:column;gap:6px}.cut-order .active button,.cut-order li.active button{background:#2c4333;border:0}.cut-order b{font-size:13px;font-weight:550}.cut-order small{font-size:11px}.cut-order button span{font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#d5e6da}.cut-order .shot-edit{margin:0;padding:7px 8px 9px;gap:3px;border-top:1px solid #344b3c}.cut-order .shot-edit .btn{min-height:28px;font-size:11px;padding:3px 6px;flex:1}.cut-caption{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;color:white;font-size:16px;line-height:1.6;text-shadow:0 1px 5px #000;background:#0008;padding:6px 12px;border-radius:5px;max-width:90%;width:fit-content;margin:auto}.preview-progress{height:3px;background:#334538;border-radius:2px;overflow:hidden}.preview-progress>span{height:100%;background:var(--brand);display:block;transition:width 180ms ease-out}.cut-empty{max-width:680px}.cut-page .preview-controls{justify-content:flex-start;flex-wrap:wrap}.export-note{font-size:12px;color:var(--muted);line-height:1.75}
.modal{background:#1c2720;border-color:#516558;border-radius:12px;box-shadow:0 8px 8px #0004;max-width:640px}.modal-header{padding:20px 24px}.modal-header h2{font-size:20px;font-weight:580}.modal-body{padding:23px 24px}.modal-body>p{font-size:14px;line-height:1.8;color:#cbdcd0}.modal-footer{padding:0 24px 24px}.modal .btn{margin:4px 8px 0 0}.modal .icon-btn{margin:0}.modal .field:last-of-type{margin-bottom:20px}.modal .form-error{padding:9px 12px;border-radius:6px;background:#42282b;color:#ffd0d0}.modal .form-error:empty{display:none}.export-options{display:flex;gap:12px;flex-wrap:wrap}.toast{left:calc(50% + 110px);font-size:13px;line-height:1.6}.home-intro h1{font-size:30px}.template-info h3{font-size:17px}.template-info p{font-size:13px;line-height:1.7}.template-info .eyebrow{font-size:11px;color:var(--muted)}.asset-card>div>strong{font-size:14px}.asset-card .media-meta{font-size:12px}.page:has(.home-intro) .project-info>strong{font-size:13px}.page:has(.home-intro) .project-specs{font-size:10px;margin-top:4px}.page:has(.home-intro) .project-footer{border:0;margin:0;padding:0}.page:has(.home-intro) .project-footer>small,.page:has(.home-intro) .project-footer>span,.page:has(.home-intro) .project-status{display:none}
@media(min-width:1580px){.projects-page .project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){.sidebar{width:190px;padding-inline:13px}.app-shell{margin-left:190px}.page{padding:28px 25px}.topbar{padding-inline:25px}.nav-item{font-size:13px;gap:9px}.project-search-tools .search-field{width:190px}.project-footer{margin-inline:14px}.projects-page .project-info{padding-inline:14px}.project-footer>small,.project-footer>span{max-width:90px}.project-footer .btn{padding-inline:6px}.cut-main{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.toast{left:calc(50% + 95px)}}
@media(max-width:960px){.sidebar{width:175px}.app-shell{margin-left:175px}.nav-item{font-size:12px;padding-inline:9px}.projects-page .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-toolbar{align-items:flex-start}.project-search-tools{width:100%}.project-search-tools .search-field{flex:1}.cut-main{grid-template-columns:1fr}.shot-inspector{display:block}.shot-inspector dl{display:grid;grid-template-columns:80px 1fr;gap:10px}.shot-inspector dt{margin:0}.shot-inspector dd{font-size:13px}.shot-inspector .btn{width:auto}.editor-heading{align-items:flex-start}.editor-heading .work-actions{flex-wrap:wrap}.toast{left:calc(50% + 87px)}}
@media(max-width:640px){.sidebar{position:static;width:100%;padding:15px 16px 0}.sidebar .brand{margin-bottom:13px;font-size:21px}.brand small{display:inline;margin-left:7px}.sidebar nav{margin-top:0;gap:3px}.sidebar .sidebar-bottom{display:none}.nav-item{min-height:38px;padding:8px 10px;font-size:12px}.nav-item.active:after{display:none}.app-shell{margin-left:0}.topbar{height:48px;padding-inline:16px}.environment-label{font-size:10px}.topbar-divider,.top-actions .avatar{display:none}.breadcrumb{max-width:65%;font-size:11px}.page{padding:25px 16px 32px}.page-heading{font-size:26px}.page-subtitle{font-size:13px}.project-heading{align-items:flex-start}.project-heading>.btn{min-height:38px;font-size:12px;padding:8px 11px}.project-summary{gap:14px;margin-top:13px;padding-bottom:18px;font-size:12px}.project-summary .summary-note{width:100%;margin-left:0}.project-toolbar{padding-top:16px;gap:12px}.project-tabs{gap:2px}.project-tabs .chip{padding:7px 9px;font-size:12px}.project-search-tools{gap:8px;flex-wrap:nowrap}.project-search-tools .search-field{width:100%;min-width:110px}.project-search-tools select{max-width:128px;padding:9px 6px;font-size:11px}.projects-page .project-grid{grid-template-columns:1fr;gap:18px}.projects-page .project-thumb{min-height:170px}.project-footer>small,.project-footer>span{max-width:none}.project-specs{font-size:12px}.projects-page .project-card .btn{min-height:34px}.projects-page .project-info{padding:15px 17px 0}.project-footer{margin-inline:17px}.page:has(.editor-page){padding:20px 14px}.editor-heading,.cut-heading{gap:12px;flex-wrap:wrap}.editor-heading h1,.cut-heading h1{font-size:21px}.editor-heading .work-actions,.cut-heading .work-actions{flex-direction:row;max-width:none;width:100%;justify-content:flex-end}.editor-heading .work-actions .btn,.cut-heading .work-actions .btn{font-size:12px;min-height:36px}.editor-toolbar{padding:8px;gap:10px}.editor-toolbar .btn{font-size:11px;min-height:32px;padding-inline:7px}.editor-toolbar .zoom-tools{border-left:0;padding-left:0}.canvas-stage{height:600px;min-height:400px}.canvas-empty{left:18px;top:75px;max-width:calc(100% - 36px);padding:22px}.canvas-empty h2{font-size:19px}.canvas-hint{left:15px;font-size:11px;width:290px;max-width:calc(100vw - 68px)}.editor-footer{flex-direction:column;gap:6px;line-height:1.6}.cut-main{gap:15px}.cut-main .preview-stage{min-height:205px}.cut-main .preview-badge{font-size:10px}.cut-caption{font-size:13px;bottom:14px;left:12px;right:12px}.cut-toolbar{align-items:flex-start;gap:12px}.cut-toolbar .btn{font-size:12px;min-height:36px}.cut-order li{flex-basis:230px}.shot-inspector{padding:17px}.shot-inspector dl{grid-template-columns:60px 1fr}.cut-summary{gap:12px;font-size:11px;flex-wrap:wrap}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal-header{padding:17px 18px}.modal-body{padding:18px}.modal-footer{padding:0 18px 20px}.modal-header h2{font-size:19px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.field input,.field textarea,.field select{font-size:14px}.toast{left:50%;bottom:16px;max-width:calc(100vw - 28px);width:max-content}.media-grid,.template-grid{gap:14px}.template-info h3{font-size:14px}.template-info p{font-size:12px}.home-intro h1{font-size:25px}.home-intro p{font-size:13px}.composer-tools>label{font-size:11px}}
.asset-placeholder{height:126px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#17221b;border:1px dashed #536859;border-radius:5px;color:#c3d9cb}.asset-placeholder>span{font-size:15px}.asset-placeholder small{font-size:11px;color:#adc3b5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.storage-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.storage-banner>span{flex:1;min-width:160px}.cut-main>div{min-width:0}.cut-page>.section-head{margin-top:18px}.script-shot-head{font-variant-numeric:tabular-nums}.script-shot-head>span{font-size:11px;color:var(--muted);margin-left:auto}.canvas-stage{min-height:400px;height:calc(100dvh - 270px)}
@media(max-width:640px){.canvas-stage{height:580px}.canvas-empty{width:min(420px,calc(100vw - 64px))}.canvas-card-head .icon-btn,.script-shot .btn,.script-shots .btn,.script-actions .btn,.cut-order .shot-edit .btn,.project-footer .icon-btn,.canvas-menu .btn{min-height:40px;min-width:40px}.canvas-port:before{content:"";position:absolute;inset:-8px}.canvas-card-head{min-height:55px}}
@media(max-width:640px){.cut-main .preview-stage{width:100%;min-height:0}.cut-main .cut-video{min-width:0}.sidebar nav{gap:2px}.nav-item{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
