/* 2.5 V2: one compact component system; document and canvas scrolling are separate. */
:root{--ui-font:Inter,"Segoe UI",Arial,sans-serif;--line:#e7e9ef;--blue:#4460ac;--ink:#242731;--radius:12px}
body,button,input,textarea,select{font-family:var(--ui-font)}button,input,textarea,select{font-size:13px}button{font-weight:500}button:disabled{cursor:default;opacity:.4}.btn{border-radius:10px;min-height:38px;font-size:13px;gap:8px;box-shadow:none}.btn.small{min-height:32px;padding:7px 10px;font-size:12px}.btn.quiet{color:#727988}.btn.primary{background:#4460ac;color:white}.btn.primary:hover:not(:disabled){background:#385396}.icon-btn{border-radius:8px}.btn svg,.icon-btn svg{flex-shrink:0}select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23727a89' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") right 12px center/16px no-repeat;border:1px solid var(--line);border-radius:9px;padding:10px 34px 10px 12px;color:#303847;min-height:38px;max-width:100%;width:100%}textarea{resize:vertical;line-height:1.6}

.outline-page-title{display:flex;align-items:baseline;gap:14px}.outline-page-title h1{font-size:30px;letter-spacing:-.9px;margin:0;line-height:1.2;font-weight:600}.outline-total{font-size:13px;color:#7e8798;white-space:nowrap}.outline-options{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:26px}.density-tabs{padding:4px;display:inline-flex;background:#f2f3f6;border-radius:12px;gap:4px}.density-tabs>button{display:flex;align-items:center;gap:12px;background:transparent;border:0;color:#788092;font-size:12px;padding:9px 13px;border-radius:9px}.density-tabs>button>span{min-width:20px;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;opacity:.72}.density-tabs>button.selected{background:white;color:#344e97;box-shadow:0 1px 4px #15274816}.outline-tools{display:flex;align-items:center;gap:2px}.outline-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.outline-main-title{font-size:22px;line-height:1.23;font-weight:600;letter-spacing:-.35px;color:#283954;margin:0 0 18px}.outline-subtitle{font-size:13px;font-weight:650;color:#344e88;margin:20px 0 8px}.outline-paragraph{font-size:13px;font-weight:400;line-height:1.65;margin:0 0 12px}.outline-main-title strong,.outline-subtitle strong{font-weight:inherit}.outline-paragraph:last-child{margin-bottom:0}.show-full{margin:0 0 16px 14px}.outline-edit-block{margin-bottom:12px}.outline-edit-text{width:100%;display:block;background:#fbfcff;border:1px solid #d9e0ed;border-radius:8px;min-height:44px;max-height:600px;margin:0;padding:11px 12px;resize:vertical;line-height:1.55}.edit-kind{background-color:transparent;font-size:10px;min-height:25px;width:auto;max-width:180px;padding:3px 27px 3px 0;border:0;margin-bottom:3px;color:#6c7a93}.outline-edit-text.outline-main-title{font-size:21px}.outline-edit-text.outline-subtitle{font-size:14px}.boundary-insert{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;border:0;border-top:1px dashed #9eb0d7;background:#f6f8fd;color:#4460ac;padding:11px;font-size:11px;border-radius:7px;margin:18px 0}.boundary-insert:hover{background:#eaf0fd}.photo-source-note{font-size:11px;line-height:1.5;color:#798294;margin-top:6px}
/* Vertical editor; no inherited horizontal strip styles remain. */
.is-deck .main-shell{height:100dvh;min-height:0;overflow:hidden}.is-deck #main-view{height:calc(100dvh - 60px)}.editor250.deck-view{height:100%;padding:0;display:flex;flex-direction:column;max-width:none}.editor250 .deck-identity{display:flex;align-items:center;gap:10px;min-width:0}.editor250 .deck-identity h1{font-size:13px;font-weight:600;letter-spacing:0;max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;color:#515b6f}.editor250 .heading-actions{display:flex;gap:8px;flex-shrink:0;padding:0;width:auto;margin:0;align-self:auto}.editor250 .deck-workspace{display:grid;grid-template-columns:176px minmax(0,1fr) 248px;gap:0;flex:1;min-height:0;height:auto;align-items:stretch;position:relative}.editor250 .canvas-column{grid-row:auto;grid-column:auto;min-width:0;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:#f3f4f7;order:initial}.editor250 .slide-stack{flex:1;min-height:0;display:block;overflow-x:hidden;overflow-y:auto;padding:24px;position:relative;scroll-behavior:auto;scrollbar-gutter:stable;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#bcc4d2 transparent}.editor250 .slide-stack::-webkit-scrollbar{width:9px;height:0}.editor250 .strip-slide{display:block;flex:none;width:var(--slide-width,100%);max-width:100%;min-width:0;margin:0 auto 34px;content-visibility:visible;contain-intrinsic-size:none;scroll-margin-top:24px}.editor250 .strip-slide-label{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:400;color:#9ba3b1;padding:0 1px 10px;height:25px}.editor250 .strip-slide-label>span:first-child{color:#657ba8;font-weight:600}.editor250 .strip-frame{position:relative;display:block;aspect-ratio:16/9;width:100%;height:auto;margin:0;border-radius:4px;overflow:hidden;outline:1px solid #dce1eb;box-shadow:0 4px 16px #1a2b4509;background:#fff}.editor250 .strip-slide.is-selected .strip-frame{outline:1px solid #8297c7;box-shadow:0 5px 22px #2b467111}.editor250 .strip-frame>.slide-scene,.editor250 .thumb-frame>.slide-scene{position:absolute;top:0;left:0;margin:0;transform-origin:top left}.editor250 #active-slide-position{color:#5c73a4}
.editor250 .slides-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:white;border-right:1px solid var(--line);order:initial}.editor250 .slides-sidebar>header{font-size:12px;display:flex;justify-content:space-between;padding:20px 15px 16px}.editor250 .slides-sidebar>header>span{color:#99a2b2}.editor250 .thumbnail-rail{display:block;flex:1;position:relative;top:auto;padding:2px 13px 18px;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;grid-row:auto;scrollbar-width:thin;border:0}.editor250 .thumb-row{margin:0 0 15px;padding:0;position:relative;cursor:grab;border-radius:6px;min-width:0;max-width:100%}.editor250 .thumb-row:active{cursor:grabbing}.editor250 .thumbnail{width:100%;max-width:100%;min-width:0;display:block;background:transparent;border:0;padding:0;text-align:left;cursor:inherit;margin:0}.editor250 .thumb-frame{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:5px;outline:1px solid #e2e7f0;background:#fff}.editor250 .selected>.thumbnail .thumb-frame{outline:2px solid #4c69b0;outline-offset:2px}.editor250 .thumb-caption{display:flex;gap:7px;font-size:9px;line-height:1.4;margin:8px 0 0;color:#9aa2b1;min-width:0}.editor250 .thumb-caption>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.editor250 .thumb-caption>b{font-size:10px;color:#5d72a3;font-weight:500}.editor250 .thumb-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px;height:25px}.editor250 .thumb-grip{position:static;background:transparent;display:flex;opacity:1;transform:none;color:#a6aebb;font-size:initial;padding:0;margin-right:auto;pointer-events:none}.editor250 .thumb-actions .icon-btn{width:25px;height:24px;background:transparent;color:#9ca6b7}.editor250 .thumb-actions .icon-btn:hover{color:#4460ac;background:#edf1fa}.editor250 .thumb-row.dragging{opacity:.65}.editor250 .thumb-row.drop-before:before,.editor250 .thumb-row.drop-after:after{content:'';height:3px;background:#4460ac;left:-6px;right:-6px;position:absolute;border-radius:2px;z-index:10}.editor250 .thumb-row.drop-before:before{top:-10px}.editor250 .thumb-row.drop-after:after{bottom:-8px}.editor250 .slides-sidebar>footer{padding:10px;border-top:1px solid var(--line)}
.editor250 .control-label{display:block;font-size:10px;color:#8a94a5;margin:0 0 7px}.editor250 .layout-chooser{border:1px solid #e1e6f1;display:flex;gap:10px;align-items:center;padding:12px;background:#f9fafc;border-radius:11px;color:#3b4d71;font-size:12px;width:100%;text-align:left;line-height:1.4;margin-bottom:7px}.editor250 .layout-chooser:hover{background:#f0f3fa;border-color:#aebddd}.editor250 .layout-chooser>svg:last-child{margin-left:auto;flex:none}.editor250 .layout-symbol{display:flex;color:#7288b6;flex:none}.editor250 .slot-tile{width:100%;min-height:74px;background:#fafbfe;border:1px dashed #cbd5e7;border-radius:11px;display:flex;align-items:center;gap:10px;padding:10px;margin:0 0 8px;text-align:left;color:#4b6397;overflow:hidden}.editor250 .slot-tile>img{width:47px;height:47px;object-fit:cover;border-radius:7px;flex:none}.editor250 .slot-tile>span{min-width:0}.editor250 .slot-tile b{font-size:11px;font-weight:600;display:block}.editor250 .slot-tile small{font-size:9px;line-height:1.4;color:#9aa5b8;display:block;margin-top:5px}.editor250 .slot-tile>svg{margin-left:auto;flex:none}.editor250 .slot-empty{height:45px;width:39px;display:flex;align-items:center;justify-content:center;color:#8396be;flex:none}.editor250 .slot-tile:hover{border-color:#819aca;background:#f2f6ff}.editor250 .inspector-section{padding:0;margin:0;border:0}.editor250 .inspector-section .field{margin:0 0 14px}.editor250 .inspector-section label{font-size:10px;color:#8a94a5}.editor250 .inspector-section select{font-size:11px}.editor250 .background-tile{background:#f9fafc;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px;text-align:left;padding:14px 10px;font-size:11px;width:100%;color:#7082a5}.editor250 .background-tile>img{width:40px;height:40px;object-fit:cover;border-radius:6px}.editor250 .background-tile>svg:last-child{margin-left:auto}
/* Editor-only controls are a transparent top layer; hovering never washes out a photo. */
.slide-scene .image-overlay{opacity:1;position:absolute;inset:auto;left:0;top:0;transform:none;padding:0;border:2px dashed #8da8d299;border-radius:20px;box-shadow:none;color:#4460ac;background:transparent;white-space:normal;overflow:hidden;z-index:5;display:flex;align-items:center;justify-content:center}.slide-scene .image-overlay.has-photo{border:2px solid transparent}.slide-scene .image-overlay>span{display:flex;align-items:center;justify-content:center;gap:12px;font-size:30px;font-weight:500;background:#ffffffec;border:1px solid #e2e9f5;border-radius:14px;padding:16px 25px;box-shadow:0 4px 16px #10264910;max-width:calc(100% - 30px);line-height:1.2;color:#3b568d}.slide-scene .image-overlay.has-photo>span{position:absolute;right:20px;bottom:20px;font-size:24px;padding:12px 18px;opacity:0;transform:translateY(3px);transition:opacity .15s,transform .15s}.slide-scene .image-overlay:hover{background:transparent;border-color:#93acdb;opacity:1}.slide-scene .image-overlay.has-photo:hover>span{opacity:1;transform:none}.slide-scene .image-overlay:hover>span{background:#fff}.slide-scene .image-overlay:hover+img,.slide-scene img{opacity:1}
@media(min-width:1700px){.outline-board{gap:26px}.editor250 .deck-workspace{grid-template-columns:192px minmax(0,1fr) 260px}}
@media(max-width:1180px){.outline-board{gap:16px}.outline-main-title{font-size:20px}.outline-options{gap:8px}.editor250 .deck-workspace{grid-template-columns:152px minmax(0,1fr) 224px}.editor250 .deck-identity h1{max-width:290px}.outline-tools .btn{font-size:11px}.outline-page-title{gap:8px}.outline-page-title h1{font-size:27px}}
@media(max-width:960px){.outline-board{grid-template-columns:1fr}.outline-options{flex-wrap:wrap}.editor250 .deck-workspace{grid-template-columns:140px minmax(0,1fr)}.editor250 .deck-identity h1{max-width:210px}}
@media(max-width:720px){.is-deck #main-view{height:calc(100dvh - 56px)}.outline-page-title h1{font-size:26px}.outline-total{font-size:12px}.outline-tools{margin-left:auto}.outline-options{padding-bottom:18px;margin-bottom:20px}.outline-board{gap:18px}.editor250 .deck-identity h1{max-width:calc(100vw - 70px);font-size:12px}.editor250 .heading-actions{width:100%;align-self:auto;justify-content:flex-end;gap:4px}.editor250 .heading-actions .btn{font-size:10px;padding:7px 9px;min-height:30px}.editor250 .heading-actions .btn.quiet span{display:inline}.editor250 .heading-actions .btn.primary{margin-left:0}.editor250 .deck-workspace{grid-template-columns:96px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:auto;min-height:0;flex:1}.editor250 .thumbnail-rail{padding:3px 9px 10px;max-height:none}.editor250 .thumb-caption>span{display:none}.editor250 .thumb-actions{gap:2px}.editor250 .thumb-actions .icon-btn{width:22px}.editor250 .thumb-grip{width:12px}.editor250 .slides-sidebar>header{font-size:10px;padding:14px 9px 12px}.editor250 .slide-stack{padding:18px 12px}.editor250 .strip-slide{max-width:100%;margin-bottom:24px}.editor250 .slides-sidebar>footer{padding:5px}.editor250 .slides-sidebar>footer .btn{font-size:10px;padding:7px;gap:5px}}
@media(prefers-reduced-motion:reduce){.slide-scene .image-overlay>span{transition:none}}

.source-version-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
/* A scaled artboard is a viewport, not a nested scroll container. Focus must
   never pan the whole slide when the user clicks an image during navigation. */
.editor250 .strip-frame{overflow:clip}
.editor250 .strip-frame>.slide-scene{position:absolute!important}
