.slide-canvas{position:relative;overflow:hidden;flex:none}.slide-canvas.is-thumb{border-radius:6px;box-shadow:0 0 0 1px rgb(15 23 42/.08);pointer-events:none}.spin{animation:deck-spin .9s linear infinite}@keyframes deck-spin{to{transform:rotate(1turn)}}.deck-player{position:fixed;inset:0;background:#05070b;color:#e5e7eb;font-family:var(--font-sans);user-select:none;-webkit-user-select:none;touch-action:pan-y;overflow:hidden}.deck-player.embed{position:absolute;background:#000}.deck-player.empty{display:grid;place-items:center;font-size:15px}.deck-stage-box{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer}.deck-player:not(.chrome) .deck-stage-box{cursor:none}.deck-stage{position:relative;overflow:hidden;background:#000;box-shadow:0 30px 80px rgb(0 0 0/.5)}.deck-layer{position:absolute;inset:0}.deck-layer.cur{z-index:2}.deck-layer.prev{z-index:1}.deck-layer.cur.entering.t-fade{animation:deck-fade-in .6s ease both}.deck-layer.prev.t-fade{animation:deck-fade-out .6s ease both}.deck-layer.cur.entering.t-slide.fwd{animation:deck-slide-in .7s cubic-bezier(.2,.7,.2,1) both}.deck-layer.prev.t-slide.fwd{animation:deck-slide-out .7s cubic-bezier(.2,.7,.2,1) both}.deck-layer.cur.entering.t-slide.back{animation:deck-slide-in-back .7s cubic-bezier(.2,.7,.2,1) both}.deck-layer.prev.t-slide.back{animation:deck-slide-out-back .7s cubic-bezier(.2,.7,.2,1) both}.deck-layer.cur.entering.t-zoom{animation:deck-zoom-in .7s cubic-bezier(.2,.7,.2,1) both}.deck-layer.prev.t-zoom{animation:deck-fade-out .5s ease both}.deck-layer.prev.t-none{display:none}@keyframes deck-fade-in{0%{opacity:0}}@keyframes deck-fade-out{to{opacity:0}}@keyframes deck-slide-in{0%{transform:translateX(100%)}}@keyframes deck-slide-out{to{transform:translateX(-30%);opacity:.6}}@keyframes deck-slide-in-back{0%{transform:translateX(-100%)}}@keyframes deck-slide-out-back{to{transform:translateX(30%);opacity:.6}}@keyframes deck-zoom-in{0%{opacity:0;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.deck-layer{animation:none!important}}.deck-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgb(255 255 255/.08);z-index:5}.deck-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue-500),var(--green-400));transition:width .4s ease}.deck-controls{position:absolute;left:50%;bottom:20px;transform:translate(-50%,8px);z-index:6;display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:rgb(17 24 39/.86);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgb(0 0 0/.35),inset 0 0 0 1px rgb(255 255 255/.08);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.deck-player.chrome .deck-controls{opacity:1;transform:translate(-50%);pointer-events:auto}.deck-controls button{display:inline-flex;align-items:center;gap:8px;height:40px;min-width:40px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#f3f4f6;font:500 13px/1 var(--font-sans);cursor:pointer}.deck-controls button:hover:not(:disabled){background:rgb(255 255 255/.1)}.deck-controls button:disabled{opacity:.35;cursor:default}.deck-controls button:focus-visible{outline:2px solid var(--blue-400);outline-offset:1px}.deck-count{min-width:64px;text-align:center;font:600 13px/1 var(--font-sans);font-variant-numeric:tabular-nums}.deck-count span{color:#9ca3af;font-weight:400}.deck-controls-sep{width:1px;height:22px;background:rgb(255 255 255/.14);margin:0 4px}.deck-player.embed .deck-controls{bottom:10px}@media (max-width:640px){.deck-controls-label{display:none}.deck-controls{bottom:14px}.deck-player.chrome .deck-controls{opacity:1}}.presenter{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;background:#0b0e14;color:#e5e7eb;font-family:var(--font-sans)}.presenter button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;background:rgb(255 255 255/.08);color:#f3f4f6;font:500 14px/1 var(--font-sans);padding:10px 14px;cursor:pointer}.presenter button:hover{background:rgb(255 255 255/.14)}.presenter button.primary{background:var(--blue-600)}.presenter button.primary:hover{background:var(--blue-500)}.presenter-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid rgb(255 255 255/.08)}.presenter-title{display:flex;flex-direction:column;gap:3px;min-width:0}.presenter-title strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presenter-link{font-size:12px;color:#fbbf24}.presenter-link.on{color:#34d399}.presenter-timer{display:flex;align-items:center;gap:8px}.presenter-timer .time{font:700 30px/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-right:6px}.presenter-timer button{padding:8px}.presenter-timer .clock{color:#9ca3af;font-size:13px;margin-left:8px}.presenter-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px;padding:20px;min-height:0}.presenter-current,.presenter-side{display:flex;flex-direction:column;gap:10px;min-height:0}.presenter-label{margin:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9ca3af}.presenter-frame{flex:1;min-height:0;display:grid;place-items:center}.presenter-frame.next{flex:0 0 34%;opacity:.92}.presenter-notes{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgb(255 255 255/.08);padding-top:12px}.notes-text{overflow:auto;font-size:22px;line-height:1.5;color:#f3f4f6;white-space:pre-wrap}.notes-text em{color:#6b7280;font-size:16px}.presenter-bar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid rgb(255 255 255/.08)}.presenter-strip{flex:1;display:flex;gap:6px;overflow-x:auto;justify-content:center}.presenter-strip button{min-width:34px;justify-content:center;padding:8px 0;font-variant-numeric:tabular-nums}.presenter-strip button.on{background:var(--blue-600)}@media (max-width:760px){.presenter-grid{grid-template-columns:1fr;overflow:auto}.presenter-frame{min-height:200px}}.deck-editor{display:flex;flex-direction:column;height:100dvh;min-width:0;background:var(--paper)}.deck-editor.loading{align-items:center;justify-content:center;gap:16px}.deck-top{gap:12px}.deck-title-input{flex:1;min-width:120px;max-width:520px;font:650 17px/1.2 var(--font-sans)!important;border:1px solid transparent!important;background:transparent!important;padding:7px 10px!important;border-radius:var(--radius)!important;color:var(--ink-strong)}.deck-title-input:focus,.deck-title-input:hover{border-color:var(--line)!important;background:var(--surface)!important}.deck-banner{display:flex;align-items:center;gap:8px;margin:10px 20px 0;padding:9px 14px;border-radius:var(--radius);background:var(--green-50);color:var(--green-800);font-size:13px}.deck-banner.error{background:var(--red-50);color:var(--red-700)}.deck-banner .text-button{margin-left:auto}.deck-body{flex:1;min-height:0;display:grid;grid-template-columns:216px minmax(0,1fr) 356px}.deck-sorter{border-right:1px solid var(--line);background:var(--surface);overflow-y:auto;padding:14px 10px 16px 8px;gap:12px}.deck-sorter,.deck-sorter ol{display:flex;flex-direction:column}.deck-sorter ol{list-style:none;margin:0;padding:0;gap:8px}.deck-sorter li{position:relative;border-radius:10px}.deck-sorter li.drop-after:after,.deck-sorter li.drop-before:before{content:"";position:absolute;left:22px;right:4px;height:3px;border-radius:2px;background:var(--blue-600)}.deck-sorter li.drop-before:before{top:-6px}.deck-sorter li.drop-after:after{bottom:-6px}.app-shell.v2 .sorter-item,.sorter-item{display:flex;align-items:flex-start;gap:6px;width:100%;padding:6px 4px;border:0;border-radius:10px;background:transparent;cursor:grab;text-align:left}.sorter-item:hover{background:var(--gray-50)}.deck-sorter li.active .sorter-item{background:var(--blue-50)}.deck-sorter li.active .sorter-thumb{box-shadow:0 0 0 2px var(--blue-600)}.sorter-num{width:16px;flex:none;padding-top:2px;font-size:11px;font-weight:600;color:var(--gray-500);text-align:right;font-variant-numeric:tabular-nums}.sorter-thumb{position:relative;display:block;border-radius:6px}.sorter-badge{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:600;background:rgb(17 24 39/.82);color:#fff}.sorter-badge.ready{background:var(--green-600)}.sorter-badge.failed{background:var(--red-600)}.sorter-grip{color:var(--gray-300);margin-top:2px}.sorter-add{position:relative}.add-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:20;display:flex;flex-direction:column;padding:6px;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xl),0 0 0 1px var(--line)}.add-menu button,.app-shell.v2 .add-menu button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:var(--radius);background:transparent;font-size:13px;color:var(--ink);text-align:left;cursor:pointer}.add-menu button:hover{background:var(--gray-100)}.deck-canvas-pane{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px 24px 14px;gap:10px}.deck-canvas-box{flex:1;min-height:0;display:grid;place-items:center}.deck-canvas-frame{border-radius:10px;overflow:hidden;box-shadow:var(--shadow-lg),0 0 0 1px rgb(15 23 42/.06)}.deck-canvas-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--gray-500)}.deck-canvas-meta .text-button{display:inline-flex;align-items:center;gap:6px;font-size:13px}.deck-inspector{border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}.deck-tabs{display:flex;gap:2px;padding:10px 12px 0;border-bottom:1px solid var(--line)}.app-shell.v2 .deck-tabs button,.deck-tabs button{display:inline-flex;align-items:center;gap:6px;padding:9px 10px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font-size:13px;font-weight:550;color:var(--gray-600);cursor:pointer}.deck-tabs button.active{color:var(--blue-700);border-bottom-color:var(--blue-600)}.deck-inspector-body{flex:1;overflow-y:auto;padding:16px}.deck-fields{gap:14px}.deck-field,.deck-fields{display:flex;flex-direction:column}.deck-field{gap:6px;font-size:12px;font-weight:600;color:var(--gray-700);min-width:0}.deck-field input:not([type=checkbox]):not([type=range]):not([type=color]),.deck-field select,.deck-field textarea,.deck-row.three>input{width:100%;font-weight:400;font-size:14px}.deck-field textarea{resize:vertical;line-height:1.45}.deck-field.color input{width:100%;height:36px;padding:2px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.deck-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deck-row.three{grid-template-columns:.8fr 1.1fr 1.1fr;gap:6px}.deck-group{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line-soft)}.deck-group-title{margin:0;font-size:12px;font-weight:600;color:var(--gray-700)}.deck-check{display:flex!important;flex-direction:row!important;gap:8px;align-items:flex-start;font-size:13px;color:var(--gray-700)}.deck-check input{margin-top:2px;width:auto!important;flex:none}.deck-actions-row label.button,.deck-chips label.chip{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;width:auto;margin:0;cursor:pointer}.deck-actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.deck-actions-row .button{gap:6px}.seg{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:var(--radius-lg);background:var(--gray-100)}.app-shell.v2 .seg button,.seg button{padding:8px 6px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:550;color:var(--gray-600);cursor:pointer}.seg button.on{background:var(--surface);color:var(--ink-strong);box-shadow:var(--shadow-sm)}.anim-status{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--line);font-size:13px}.anim-status>svg{flex:none;margin-top:1px;color:var(--gray-500)}.anim-status div{display:flex;flex-direction:column;gap:3px}.anim-status small{color:var(--gray-600);line-height:1.45}.anim-status.ready{background:var(--green-50);border-color:var(--green-200)}.anim-status.ready>svg{color:var(--green-600)}.anim-status.failed{background:var(--red-50);border-color:var(--red-200)}.anim-status.failed>svg{color:var(--red-600)}.anim-status.generating>svg,.anim-status.queued>svg{color:var(--blue-600)}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.app-shell.v2 .theme-card,.theme-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer}.theme-card.on{border-color:var(--blue-600);box-shadow:0 0 0 1px var(--blue-600)}.theme-card strong{font-size:13px;margin-top:4px}.theme-card small{font-size:11px;color:var(--gray-500);line-height:1.3}.theme-preview{display:block;width:100%;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px rgb(15 23 42/.08);pointer-events:none}.deck-copy{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.deck-copy>div{display:flex;gap:8px}.deck-copy input{flex:1;min-width:0;font:400 12px/1.4 var(--font-mono)}.deck-checks,.deck-export,.deck-history,.deck-share{display:flex;flex-direction:column;gap:14px}.export-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.export-row div{display:flex;flex-direction:column;gap:3px}.export-row small{color:var(--gray-600);font-size:12px;line-height:1.45}.check-ok{display:flex;gap:8px;align-items:flex-start;color:var(--green-800)}.deck-checks ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13px}.deck-history ol{list-style:none;margin:0;padding:0}.deck-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:13px}.deck-history small{display:block;color:var(--gray-500);font-size:11px}@media (max-width:1100px){.deck-body{grid-template-columns:180px minmax(0,1fr) 320px}}@media (max-width:860px){.deck-editor{height:auto;min-height:100dvh}.app-shell.v2 .deck-top{height:auto;flex-wrap:wrap;padding:8px 10px;row-gap:8px}.deck-title-input{flex:1 1 0}.deck-top .editor-actions{width:100%;display:flex;gap:6px;overflow-x:auto}.deck-top .editor-actions .button{flex:1;justify-content:center;white-space:nowrap}.deck-top .save-state{display:none}.deck-body{display:flex;flex-direction:column}.deck-sorter{order:2;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;padding:10px}.deck-sorter,.deck-sorter ol{flex-direction:row}.deck-sorter .sorter-grip{display:none}.sorter-add{flex:none;align-self:center}.sorter-add .button{white-space:nowrap}.add-menu{position:fixed;left:12px;right:12px;bottom:80px}.deck-canvas-pane{order:1;padding:12px 12px 8px}.deck-canvas-box{min-height:0;aspect-ratio:16/9}.deck-inspector{order:3;border:0}.deck-inspector-body{overflow:visible}}.decks-home{--page-gap:28px;gap:var(--page-gap)}.deck-chat,.decks-home{display:flex;flex-direction:column}.deck-chat{gap:14px}.deck-msg{display:flex;gap:10px;align-items:flex-start;max-width:100%;font-size:14px;line-height:1.55}.deck-msg p{margin:0}.deck-msg.user{align-self:flex-end;max-width:80%;padding:10px 14px;border-radius:16px 16px 4px 16px;background:var(--gray-100);color:var(--ink)}.deck-msg.assistant{color:var(--gray-700)}.deck-msg.assistant>.spin{margin-top:3px;color:var(--blue-600)}.deck-msg.outline-card{flex-direction:column;align-items:stretch;gap:14px;padding:18px;border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}.outline-head{display:flex;gap:12px;align-items:flex-start}.outline-head>svg{flex:none;color:var(--blue-600);margin-top:3px}.outline-head>div{flex:1;display:flex;flex-direction:column;gap:10px}.outline-title{font:650 18px/1.3 var(--font-sans)!important;width:100%}.outline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.outline-row{display:grid;grid-template-columns:22px 176px minmax(0,1fr) auto;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line-soft)}.outline-num{padding-top:4px;font-size:12px;font-weight:600;color:var(--gray-500);text-align:right;font-variant-numeric:tabular-nums}.outline-body{display:flex;flex-direction:column;gap:8px;min-width:0}.outline-body input,.outline-body textarea{width:100%;font-size:14px}.outline-body input{font-weight:600}.outline-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.outline-tags select{width:auto;max-width:100%;font-size:12px;padding:4px 8px;height:auto}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--gray-100);color:var(--gray-700)}.tag.anim{background:var(--indigo-100);color:var(--indigo-700)}.outline-notes{margin:0;font-size:12px;line-height:1.5;color:var(--gray-500)}.outline-foot{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.outline-cost{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--gray-600)}.outline-foot .deck-actions-row{justify-content:flex-end}.deck-error{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--red-50);color:var(--red-700);font-size:13px}.deck-composer{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md),0 0 0 1px var(--line)}.deck-composer>input,.deck-composer>select,.deck-composer>textarea{width:100%;font-size:15px}.deck-composer>textarea:first-child{border:0!important;box-shadow:none!important;padding:6px 4px!important;resize:none;font-size:16px;line-height:1.5}.deck-composer-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.deck-chips{display:flex;flex-wrap:wrap;gap:6px}.app-shell.v2 .deck-chips .chip,.deck-chips .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;color:var(--gray-700);cursor:pointer}.deck-chips .chip.on{border-color:var(--blue-300);background:var(--blue-50);color:var(--blue-700)}.deck-composer-opts{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.deck-composer-opts label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--gray-600)}.deck-composer-opts input,.deck-composer-opts select{width:84px;font-size:13px}.deck-composer-opts .button{gap:6px}.deck-examples{display:flex;flex-wrap:wrap;gap:4px 14px}.deck-examples .text-button{font-size:13px}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title-row h2{margin:0;font-size:16px}.section-title-row .button{gap:6px}.deck-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.deck-card{position:relative;border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm),0 0 0 1px var(--line);overflow:hidden}.app-shell.v2 .deck-card-open,.deck-card-open{display:flex;flex-direction:column;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.deck-card-thumb{display:block;overflow:hidden;background:var(--gray-100)}.deck-card-meta{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px}.deck-card-meta strong{font-size:14px;color:var(--ink-strong)}.deck-card-meta small{font-size:12px;color:var(--gray-500)}.deck-card-delete{position:absolute!important;right:8px;bottom:12px;color:var(--gray-400)}.deck-card-delete:hover{color:var(--red-600)}.deck-empty{display:flex;align-items:center;gap:10px;padding:22px;border-radius:var(--radius-xl);border:1px dashed var(--gray-300);color:var(--gray-600)}.deck-empty p{margin:0}@media (max-width:640px){.outline-row{grid-template-columns:18px minmax(0,1fr) auto}.outline-thumb{display:none}.deck-composer-bar{flex-direction:column;align-items:stretch}.deck-composer-opts .button{flex:1 1 100%;justify-content:center}.outline-foot .deck-actions-row .button{flex:1 1 auto;justify-content:center}.deck-msg.outline-card{padding:14px}}