/* 2.9: corporate library, explicit save, anchored text edits and readable history. */







#project-save-state{font-size:11px;color:var(--muted);margin-right:7px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}
#project-save-state.is-dirty{color:var(--blue)}
.is-deck #main-view{height:calc(100dvh - 108px)}
button:disabled{cursor:default}.btn:disabled{opacity:.55}
.template-library.modal,.history-modal.modal{width:min(1100px,calc(100vw - 40px));max-width:1100px;max-height:calc(100dvh - 40px);overflow:hidden;border-radius:20px;box-shadow:0 28px 90px #0b122d33}
.template-library .modal-header,.history-modal .modal-header{padding:23px 28px}.template-library .modal-header h2,.history-modal .modal-header h2{font-size:21px;letter-spacing:-.45px}
.template-library .modal-body{padding:23px 28px 28px;min-height:200px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.template-library .modal-footer,.history-modal .modal-footer{padding:15px 28px;min-height:66px;gap:14px;flex-wrap:wrap}

.brand-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.brand-choice{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface);min-width:0;transition:border-color .15s,box-shadow .15s}

.brand-choice:hover{box-shadow:0 8px 24px #0c173510}

.library-frame{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#fff;border-radius:8px;min-width:0;text-align:left}
.library-frame .slide-scene{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}
.brand-miniatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-top:8px}
.brand-miniatures .library-frame{border-radius:4px}
.template-format{color:var(--muted);font-size:11px}

.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px;min-width:0}.library-toolbar>b{font-size:13px;font-weight:500}
.library-search{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 11px;color:var(--muted);margin:0;max-width:300px}
.library-search input[type=search]{background:transparent!important;border:0!important;box-shadow:none!important;outline:none;min-height:38px;width:220px;padding:8px 0;font-size:12px;color:var(--ink)}
.library-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:22px}.library-filters button{border:1px solid transparent;padding:7px 11px;border-radius:8px;background:var(--surface-alt);color:var(--muted);font:500 12px 'Segoe UI',Arial;cursor:pointer}.library-filters button:hover{background:var(--surface-hover);color:var(--ink)}.library-filters button.selected{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}
.library-layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.library-layout{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:11px;overflow:hidden;padding:7px;cursor:pointer;text-align:left;min-width:0;transition:border-color .15s,box-shadow .15s}.library-layout:hover{border-color:var(--blue);box-shadow:0 4px 16px #0b122d14}
.library-layout>span:last-child:not(.library-frame){display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 7px 6px;font-size:12px;line-height:1.5}.library-layout>span:last-child svg{flex:none;color:var(--muted)}
.library-expanded{padding:10px;background:var(--surface-alt);border-radius:14px}.library-expanded .library-frame{border-radius:8px}.library-footer-note{margin-right:auto;max-width:70%;font-size:11px;color:var(--muted);line-height:1.5}.library-error,.history-error{color:#b54b41;font-size:12px;line-height:1.5}.gallery-loading{padding:70px 0;text-align:center;color:var(--muted);font-size:13px}
/* Version list and preview are separate vertical scroll regions, never a wide data table. */
.history-modal .modal-body{padding:21px 28px 18px;overflow-y:auto;overflow-x:hidden;min-height:100px}
.history-project-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;min-width:0}.history-project-heading>div{min-width:0}.history-project-heading span{font-size:11px;color:var(--muted)}.history-project-heading h3{font-size:19px;line-height:1.35;letter-spacing:-.2px;margin:5px 0 0;overflow-wrap:anywhere;color:var(--ink)}.history-brand{flex-shrink:0;border:1px solid var(--line);border-radius:7px;padding:6px 10px;white-space:nowrap}
.history-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:22px}.history-tabs button{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:0 1px 13px;font:500 13px 'Segoe UI',Arial;cursor:pointer}.history-tabs button.selected{color:var(--blue);border-bottom-color:var(--blue)}.history-tabs button>span{background:var(--surface-alt);padding:3px 5px;border-radius:5px;font-size:10px}
.version-browser{display:grid;grid-template-columns:235px minmax(0,1fr);gap:27px;min-width:0;align-items:start}.version-list{max-height:440px;overflow-y:auto;overflow-x:hidden;padding-right:7px;overscroll-behavior:contain;scrollbar-gutter:stable}.version-entry{display:flex;flex-direction:column;gap:7px;width:100%;padding:13px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-align:left;cursor:pointer;margin-bottom:8px;min-width:0;position:relative}.version-entry:hover{background:var(--surface-hover)}.version-entry.selected{background:var(--blue-soft);border-color:var(--blue)}
.version-label{font-size:13px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.version-meta{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:10px;color:var(--muted)}.version-meta time{white-space:nowrap}.version-author{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1}.version-number{white-space:nowrap;font-variant-numeric:tabular-nums}.version-current{font-size:9px;color:var(--blue);margin-top:2px}
.version-detail{min-width:0;min-height:300px}.version-detail>p{font-size:12px;color:var(--muted)}.version-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 15px}.version-preview-heading>div{display:flex;align-items:center;gap:12px}.version-preview-heading b{font-size:13px;color:var(--ink)}.version-preview-heading span{font-size:11px;color:var(--muted)}.version-preview{padding:9px;background:var(--surface-alt);border:1px solid var(--line);border-radius:12px;overflow:hidden}.version-preview [data-fit-scene]{position:relative;aspect-ratio:16/9;overflow:hidden;background:white;border-radius:5px}.version-preview .slide-scene{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}.version-source{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow-y:auto;font:13px/1.6 'Segoe UI',Arial;color:var(--ink);margin:4px}
.version-preview-nav{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:11px;color:var(--muted);font-size:11px}.version-preview-nav .icon-btn{width:27px;height:27px}.version-description{font-size:12px;margin-top:20px;color:var(--ink)}.version-description b{font-weight:500}.version-description p{font-size:11px;color:var(--muted);margin:7px 0;overflow-wrap:anywhere}.version-current-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin:19px 0 0}.restore-version-btn{font-size:12px;margin-top:11px}.version-service-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin:12px 0 0}.restore-confirm{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--surface-alt);margin-top:16px}.restore-confirm>b{font-size:13px}.restore-confirm p{font-size:12px;color:var(--muted);line-height:1.5}.restore-confirm .btn{margin:7px 5px 0 0;font-size:11px}.history-footnote{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:11px;color:var(--muted);line-height:1.55}.history-safe-note{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-right:auto}
.access-settings{max-width:810px;margin:auto}.access-settings h4{font-size:14px;font-weight:500;margin:7px 0 16px}.access-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.access-choice{display:flex;align-items:flex-start;gap:13px;min-width:0;text-align:left;border:1px solid var(--line);border-radius:13px;padding:20px 17px;background:var(--surface);color:var(--ink);cursor:pointer;min-height:118px}.access-choice.selected{background:var(--blue-soft);border-color:var(--blue);color:var(--ink);opacity:1}.access-choice:not(:disabled):hover{background:var(--surface-hover)}.access-choice>svg{flex:none;color:var(--muted)}.access-choice.selected>svg{color:var(--blue)}.access-choice>span{flex:1;min-width:0}.access-choice b{font-size:13px;font-weight:600;display:block;margin-bottom:8px}.access-choice small{font-size:11px;line-height:1.6;color:var(--muted);display:block}.access-settings>p{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0 26px}.access-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 0 14px;border-top:1px solid var(--line)}.access-copy b{font-size:13px;font-weight:500;display:block}.access-copy small{font-size:11px;color:var(--muted);display:block;margin-top:8px}.access-copy .btn{font-size:12px}
/* Text editing control never participates in exported scene geometry. */
.strip-frame [data-edit-text]{z-index:6;cursor:text;outline:2px solid transparent;outline-offset:6px;border-radius:3px;transition:outline-color .12s,background .12s}
.strip-frame [data-edit-text]:hover,.strip-frame .text-edit-active{outline:2px solid #7d9bff;outline-offset:6px;background:#7b9dff0a}
.text-edit-popover{position:fixed;z-index:210;display:flex;flex-direction:column;width:344px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 55px #111f3933;color:var(--ink);font:13px/1.5 'Segoe UI',Arial;overflow:hidden}
.text-edit-popover header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);flex:none}.text-edit-popover header strong{font-size:13px;font-weight:600}.text-edit-popover header .icon-btn{height:24px;width:24px}.text-format-toolbar{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid var(--line);flex:none}.text-format-toolbar button{width:29px;height:28px;border:1px solid var(--line);background:var(--surface);border-radius:5px;color:var(--ink);cursor:pointer;font-size:13px}.text-format-toolbar button:hover{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.text-format-toolbar span{font-size:10px;color:var(--muted);padding-left:7px}
.text-popover-fields{overflow-y:auto;overflow-x:hidden;max-height:360px;min-height:80px;padding:12px;overscroll-behavior:contain}.artboard-text-input{min-height:110px;border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;padding:12px;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;outline:0;cursor:text;tab-size:4}.artboard-text-input:focus{border-color:var(--blue)}.text-popover-fields label{font-size:10px;color:var(--muted);margin:0 0 10px;display:flex;flex-direction:column;gap:5px}.text-popover-fields textarea{min-height:57px;resize:vertical;width:100%;font:12px/1.5 'Segoe UI',Arial;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-alt);color:var(--ink)}
.text-preview-status{padding:0 14px 10px;font-size:10px;line-height:1.5;color:var(--muted);min-height:26px}.text-edit-popover footer{display:flex;justify-content:flex-end;gap:8px;padding:11px 13px;border-top:1px solid var(--line);flex:none}.text-edit-popover footer .btn{font-size:12px;min-height:32px;padding:6px 10px}
@media(max-width:900px){.library-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.version-browser{grid-template-columns:190px minmax(0,1fr);gap:17px}}
@media(max-width:650px){.template-library.modal,.history-modal.modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.template-library .modal-header,.history-modal .modal-header{padding:17px}.template-library .modal-body,.history-modal .modal-body{padding:17px}.template-library .modal-footer,.history-modal .modal-footer{padding:12px 17px}.brand-choice-grid{grid-template-columns:1fr}.library-layout-grid{gap:11px}.library-layout>span:last-child:not(.library-frame){font-size:10px;padding:7px 2px}.library-toolbar{flex-wrap:wrap}.library-search{max-width:100%;flex:1}.library-search input[type=search]{width:100%}.version-browser{display:flex;flex-direction:column}.version-detail,.version-list{width:100%}.version-list{max-height:210px}.version-preview-heading>span{display:none}.version-description{margin-top:13px}.history-safe-note{display:none}.history-project-heading h3{font-size:16px}.access-choice-grid{grid-template-columns:1fr}.access-choice{min-height:90px}.access-copy{align-items:flex-start;flex-direction:column}.history-brand{max-width:90px;overflow:hidden;text-overflow:ellipsis}.project-space-left [data-action=project-location]>span{display:none}.is-deck #main-view{height:calc(100dvh - 108px)}.library-footer-note{max-width:100%;font-size:10px}.text-edit-popover{width:320px}}
@media(prefers-reduced-motion:reduce){.brand-choice,.library-layout,.strip-frame [data-edit-text]{transition:none}}

.strip-frame .slide-scene .image-overlay.crop-active{z-index:8}
.text-format-toolbar button[aria-pressed="true"]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.artboard-text-input.slide-italic{font-style:italic}
