/* Workbench controls frame the existing 1600 × 900 slides; slide artwork stays untouched. */
body{--rail-max-width:clamp(214px,20vw,282px);--rail-width:clamp(160px,var(--rail-requested-width,999px),var(--rail-max-width));--preview-width:260px}
#filmstrip,#workspace-bar,#presenter-panel,#projection-toolbar{font-family:"PingFang TC","Noto Sans TC",sans-serif;color:#4d3b30}
#filmstrip{position:fixed;z-index:65;inset:0 auto 0 0;width:var(--rail-width);max-width:var(--rail-max-width);background:#f9f6f0;border-right:1px solid #d8cbbb;display:flex;flex-direction:column}
#filmstrip-resizer{position:absolute;z-index:2;top:0;right:-6px;bottom:0;width:12px;cursor:col-resize;touch-action:none}
#filmstrip-resizer::after{content:"";position:absolute;top:50%;left:4px;width:4px;height:50px;transform:translateY(-50%);border-radius:4px;background:#ae9277;box-shadow:0 0 0 4px #f9f6f0cc}
#filmstrip-resizer:hover::after,#filmstrip-resizer:focus-visible::after,body.resizing-filmstrip #filmstrip-resizer::after{background:#6e4330}
#filmstrip-resizer:focus-visible{outline:2px solid #a46d46;outline-offset:-2px}
body.resizing-filmstrip{user-select:none;cursor:col-resize}
.filmstrip-head{padding:24px 20px 17px;border-bottom:1px solid #e2d7c9;display:grid;gap:7px}
.filmstrip-head span{font-size:10px;letter-spacing:.18em;color:#9a816b}
.filmstrip-head strong{font-family:"Songti TC","Noto Serif TC",serif;font-size:23px;font-weight:400;color:#38291f}
.filmstrip-head small{font-size:12px;color:#9a816b}
#outline-close{display:none;position:absolute;top:18px;right:18px;border:0;background:none;color:#6e4330;font-size:24px;cursor:pointer}
#filmstrip-list{min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 15px 24px;scrollbar-color:#c6b7a5 transparent;scrollbar-width:thin}
.thumb-card{display:block;width:100%;padding:10px 11px 12px;margin:0 0 7px;border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer}
.thumb-card:hover{background:#f1ebe2}.thumb-card[aria-current="page"]{background:#fefcf8;border-color:#b89572;box-shadow:inset 3px 0 #a46d46}
.thumb-card:focus-visible,.presenter-neighbor:focus-visible,#workspace-bar button:focus-visible,#projection-toolbar button:focus-visible{outline:2px solid #a46d46;outline-offset:2px}
.thumb-frame,.presenter-frame{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#ede7dc;border:1px solid #d4c5b4;pointer-events:none}
.thumb-frame .thumbnail-canvas,.presenter-frame .thumbnail-canvas{display:block;position:absolute;top:0;left:0;width:1600px;height:900px;transform:scale(var(--thumb-scale,.12));transform-origin:top left;pointer-events:none}
.thumb-caption{display:flex;gap:10px;align-items:baseline;padding-top:9px}
.thumb-caption b{flex:none;font:14px Georgia,serif;color:#a46d46}.thumb-caption span{font-size:12px;color:#695447;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workspace-bar{position:fixed;z-index:60;top:0;left:var(--rail-width);right:0;height:64px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f9f6f0;border-bottom:1px solid #e0d4c7}
.workspace-identity{display:flex;align-items:center;gap:12px;min-width:0;font-size:13px;letter-spacing:.03em;white-space:nowrap}.workspace-identity b{font-weight:400;color:#b6a594}.workspace-identity strong{font-weight:400;color:#8f725b;font-variant-numeric:tabular-nums}
.workspace-actions{display:flex;align-items:center;gap:8px}.workspace-actions button,#projection-toolbar button,#open-projector{border:1px solid #b9a48e;background:transparent;color:#5b3c2a;padding:9px 14px;font:13px inherit;white-space:nowrap;cursor:pointer}
.workspace-actions button:hover,#projection-toolbar button:hover,#open-projector:hover{background:#eadfce}
.workspace-actions #solo-present{background:#6e4330;color:#fff9f0;border-color:#6e4330}.workspace-actions #solo-present:hover{background:#563222}
#workspace-status{font-size:12px;color:#8a715d;max-width:20vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#outline-toggle{display:none!important}
body[data-view="workspace"] #deck{left:var(--stage-center-x);top:calc(50% + 32px)}
body[data-view="presenter"]{--rail-max-width:190px}
body[data-view="presenter"] #deck{left:var(--stage-center-x);top:calc(50% + 32px)}
body[data-view="presenter"] .controls{right:calc(var(--preview-width) + 18px)}
#presenter-panel{display:none;position:fixed;z-index:62;inset:64px 0 0 auto;width:var(--preview-width);padding:20px 17px;overflow-y:auto;background:#f8f4ed;border-left:1px solid #d9cbbb}
body[data-view="presenter"] #presenter-panel{display:block}
.presenter-heading{display:grid;gap:10px;padding:0 0 18px;border-bottom:1px solid #d9cbbb}.presenter-heading>span{font-size:11px;letter-spacing:.17em;color:#9a806d}.presenter-heading>strong{font:26px Georgia,serif;font-variant-numeric:tabular-nums;color:#38291f}.presenter-heading p{font-size:12px;line-height:1.4;color:#8c715d;margin:0}.presenter-heading small{font-size:11px;line-height:1.65;color:#8c715d}
#projector-link{font-size:11px;color:#8c6547;text-decoration:underline;text-underline-offset:3px}
.presenter-neighbor{display:block;width:100%;margin-top:20px;padding:0;text-align:left;border:0;background:none;color:#4d3b30;cursor:pointer}.presenter-neighbor:disabled{opacity:.35;cursor:default}.presenter-neighbor>span:first-child{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.08em}.presenter-neighbor strong{display:block;margin-top:7px;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-view="presenter"] #solo-present{display:none}
body[data-view="projection"] #filmstrip,body[data-view="projection"] #workspace-bar,body[data-view="projection"] #presenter-panel,body[data-view="presentation"] #filmstrip,body[data-view="presentation"] #workspace-bar,body[data-view="presentation"] #presenter-panel{display:none}
#projection-toolbar{display:none;position:fixed;z-index:70;top:0;left:0;right:0;padding:12px 22px;align-items:center;justify-content:space-between;background:#f9f6f0;box-shadow:0 2px 16px #281a1424;font-size:13px}
body[data-view="projection"] #projection-toolbar{display:flex}
html:fullscreen body[data-view="projection"] #projection-toolbar,html:fullscreen body[data-view="projection"] .controls,body[data-view="presentation"] .controls{display:none}
@media(max-width:780px){
 #filmstrip{width:min(280px,84vw);max-width:none;transform:translateX(-102%);transition:transform .2s ease;box-shadow:4px 0 20px #3d2d2218}
 #filmstrip-resizer{display:none}
 #outline-close{display:block}
 body.rail-open #filmstrip{transform:none}
 #workspace-bar{left:0;padding:0 12px}.workspace-identity{font-size:11px}.workspace-actions{gap:4px}.workspace-actions button{font-size:11px;padding:8px}#workspace-status{display:none}#outline-toggle{display:block!important;border:0!important;background:none!important;padding:6px!important;font-size:17px!important}
 body[data-view="workspace"] #deck,body[data-view="presenter"] #deck{left:50%;top:calc(50% + 32px)}
 body[data-view="presenter"] #presenter-panel{display:none}
}
@media(prefers-reduced-motion:reduce){#filmstrip{transition:none}}
@media print{#filmstrip,#workspace-bar,#presenter-panel,#projection-toolbar{display:none!important}#deck{position:static!important;left:auto!important;top:auto!important;transform:none!important}}
