:root{--stage:#0d0f0e;--stage-soft:#151816;--panel:#1b1e1c;--panel-raised:#222623;--line:#ffffff1a;--line-strong:#fff3;--ink:#f3f5f2;--muted:#929a95;--green:#00a679;--green-bright:#21d29e;--toolbar-height:64px}*{box-sizing:border-box}html{background:var(--stage);color:var(--ink)}body{background:var(--stage);-webkit-font-smoothing:antialiased;min-width:320px;min-height:100vh;margin:0;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,Helvetica,Arial,sans-serif}button{font:inherit}.deckApp{background:radial-gradient(circle at 90% 0, #00a67912, transparent 28%), var(--stage);min-height:100vh}.workspace,.compareView{min-height:100vh}.workspaceToolbar,.compareToolbar{z-index:30;min-height:var(--toolbar-height);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d0f0ef0;justify-content:space-between;align-items:center;gap:20px;padding:10px 18px;display:flex;position:sticky;top:0}.versionSwitch{align-items:center;gap:6px;min-width:0;display:flex}.versionSwitch button,.workspaceActions button,.compareToolbar button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;transition:border-color .15s,background .15s,color .15s}.versionSwitch button{align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.versionSwitch button span{color:var(--green-bright);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.versionSwitch button strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;font-weight:600;overflow:hidden}.versionSwitch button:hover,.versionSwitch button:focus-visible,.versionSwitch button.isActive{border-color:var(--line-strong);background:var(--panel);color:var(--ink);outline:none}.versionSwitch button.isActive{border-color:#21d29e66}.workspaceActions{flex:none;align-items:center;gap:8px;display:flex}.pageCounter,.compareToolbar>span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.workspaceActions button,.compareToolbar button{border-color:var(--line);padding:0 13px}.workspaceActions button:hover,.workspaceActions button:focus-visible,.compareToolbar button:hover,.compareToolbar button:focus-visible{border-color:var(--line-strong);color:var(--ink);outline:none}.primaryAction{border-color:var(--green)!important;background:var(--green)!important;color:#fff!important}.primaryAction:hover,.primaryAction:focus-visible{border-color:var(--green-bright)!important;background:#00b884!important}.workspaceBody{height:calc(100vh - var(--toolbar-height));grid-template-columns:188px minmax(0,1fr);min-height:520px;display:grid}.slideRail{border-right:1px solid var(--line);scrollbar-color:#3a403c transparent;scrollbar-width:thin;background:#121513b8;padding:14px 12px 24px;overflow-y:auto}.slideRail button{content-visibility:auto;contain-intrinsic-size:auto 92px;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;width:100%;margin:0 0 12px;padding:4px;display:block;position:relative}.slideRail button:hover,.slideRail button:focus-visible{border-color:var(--line-strong);outline:none}.slideRail button.isActive{border-color:var(--green-bright);background:#21d29e14}.slideRail button>span{z-index:2;color:#fff;background:#050705cc;border-radius:2px;padding:3px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1;position:absolute;top:8px;left:8px}.slideRail img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);background:#070807;width:100%;height:auto;display:block}.canvas{background-color:#0000;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;min-width:0;min-height:0;padding:24px 30px;display:grid}.canvasSlide{min-width:0;min-height:0;width:min(100%, calc((100vh - var(--toolbar-height) - 50px) * 16 / 9));aspect-ratio:16/9;border:1px solid var(--line-strong);cursor:zoom-in;background:#050605;border-radius:2px;max-width:1540px;padding:0;display:block;overflow:hidden;box-shadow:0 34px 90px #00000080}.canvasSlide:hover,.canvasSlide:focus-visible{border-color:var(--green-bright);outline:none}.canvasSlide img{object-fit:contain;width:100%;height:100%;display:block}.compareToolbar>span{margin-left:auto}.compareViewport{overflow-x:auto}.deckMatrix{min-width:1120px;padding:0 18px 80px}.versionRail,.deckRow{grid-template-columns:42px minmax(0,1fr);gap:12px;display:grid}.versionRail{top:var(--toolbar-height);z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d0f0ef2;margin:0 -18px;padding:12px 18px;position:sticky}.slotRailLabel,.slotNumber{color:#59605c;text-align:center;align-self:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.deckGrid{grid-column:2;grid-template-columns:repeat(var(--version-count), minmax(0, 1fr));gap:12px;display:grid}.versionRail{grid-template-columns:42px repeat(var(--version-count), minmax(0, 1fr))}.versionTab{border:1px solid #0000;border-left:2px solid var(--line-strong);min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 9px;padding:8px 10px;display:grid}.versionTab:hover,.versionTab:focus-visible,.versionTab.isActive{border-color:var(--line-strong);border-left-color:var(--green-bright);background:var(--panel);outline:none}.versionTab>span{color:var(--green-bright);grid-row:1/3;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.versionTab strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:620;overflow:hidden}.versionTab small{color:var(--muted);font-size:9px}.deckRow{border-bottom:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 230px;padding:14px 0}.deckGrid{min-width:0}.deckCell{aspect-ratio:16/9;border:1px solid var(--line);background:#080a08;border-radius:2px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.deckCellFilled{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;box-shadow:0 12px 26px #0000003d}.deckCellFilled:hover,.deckCellFilled:focus-visible{z-index:2;border-color:var(--green-bright);outline:none;transform:translateY(-2px);box-shadow:0 18px 42px #0000006b}.deckCell img{object-fit:cover;width:100%;height:100%;display:block}.cellPage{color:#fff;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050705cc;border-radius:2px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px;line-height:1;transition:opacity .15s;position:absolute;bottom:7px;right:7px}.deckCellFilled:hover .cellPage,.deckCellFilled:focus-visible .cellPage{opacity:1}.deckCellEmpty{color:#343936;border-style:dashed;place-items:center;font-size:18px;display:grid}.presenter{z-index:100;cursor:none;background:#000;place-items:center;width:100vw;height:100vh;display:none;position:fixed;inset:0;overflow:hidden}.presenterCanvas{background:#000;width:100vw;height:100vh;margin:0}.presenterCanvas img{object-fit:contain;width:100%;height:100%;display:block}.deckApp:fullscreen{width:100vw;height:100vh;overflow:hidden}.deckApp:fullscreen .workspace,.deckApp:fullscreen .compareView{display:none}.deckApp:fullscreen .presenter{display:grid}@media (max-width:900px){:root{--toolbar-height:112px}.workspaceToolbar{flex-direction:column;align-items:stretch;gap:8px}.versionSwitch{overflow-x:auto}.workspaceActions{justify-content:flex-end}.workspaceBody{grid-template-columns:116px minmax(0,1fr)}.canvas{padding:16px 14px 10px}.compareToolbar{flex-wrap:wrap}}@media (max-width:620px){.versionSwitch button strong{display:none}.versionSwitch button{flex:1 0 auto;justify-content:center}.workspaceBody{grid-template-columns:92px minmax(0,1fr)}.slideRail{padding-inline:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
