pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.slide{--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg:#fff;--fg:#181818;--title:inherit;--accent:#3ab9d5;--accent-fg:#fff;--code-bg:#f5f5f5;--code-fg:#1b1b1b;--code-size:12px;--code-line:18px;--stripe:color-mix(in srgb, var(--fg) 6%, transparent);--border:color-mix(in srgb, var(--fg) 16%, transparent);width:var(--slide-w,980px);height:var(--slide-h,552px);transform-origin:0 0;box-sizing:border-box;text-align:left;font-family:var(--font,ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif);color:var(--fg);background-color:var(--bg);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;font-size:17.6px;line-height:1.5;position:relative;overflow:hidden}.slide *,.slide :before,.slide :after{box-sizing:border-box;border:0 solid #e5e7eb}.slide :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit;margin:0}.slide :is(p,blockquote,figure,pre,dl,dd,hr){margin:0}.slide :is(ul,ol){margin:0;padding:0;list-style:none}.slide :is(img,svg,video,iframe){vertical-align:middle;display:block}.slide :is(img,video){max-width:100%;height:auto}.slide a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.slide table{border-collapse:collapse;border-color:inherit;text-indent:0}.slide :is(code,kbd,pre){font-family:var(--mono);font-size:1em}.slide :is(v-clicks,v-click,v-after){display:contents}.slide .flow{padding:40px 56px;position:absolute;inset:0}.slide .flow.center{display:grid}.slide .flow.center>.center-wrap{width:100%;margin:auto 0}.slide h1{margin-bottom:16px;margin-left:-.05em;font-size:36px;line-height:40px}.slide h2{font-size:30px;line-height:36px}.slide h3{font-size:24px;line-height:32px}.slide h4{font-size:20px;line-height:28px}.slide h5{font-size:16px;line-height:24px}.slide h6{text-transform:uppercase;letter-spacing:.1em;opacity:.4;padding-top:4px;font-size:14px;font-weight:500;line-height:20px}.slide p{margin:16px 0;line-height:24px}.slide ul{list-style:square}.slide ol{list-style:decimal}.slide li{margin-left:1.1em;padding-left:.2em;line-height:1.8em}.slide blockquote{background:var(--code-bg);color:var(--code-fg);border-left:1px solid var(--accent);border-radius:4px;padding:4px 8px;font-size:14px;line-height:20px}.slide blockquote>*{margin:0}.slide table{width:100%}.slide tr{border-bottom:1px solid var(--border)}.slide th{text-align:left;font-weight:400}.slide :is(td,th){padding:12px 8px}.slide a{border-bottom:1px dashed}.slide :is(b,strong){font-weight:600}.slide kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:2px 4px;font-size:12px}.slide :not(pre)>code{background:var(--code-bg);color:var(--code-fg);border-radius:4px;padding:2px 6px;font-size:.9em}.slide pre.code{border-radius:var(--code-radius,4px);white-space:pre;tab-size:2;background:color-mix(in srgb, var(--code-bg) var(--code-alpha,100%), transparent);color:var(--code-fg);font-size:var(--code-size);line-height:var(--code-line);margin:4px 0;padding:8px;overflow:hidden}.slide pre.code code{font:inherit;background:0 0;padding:0}.slide pre.code .ln{opacity:.45;-webkit-user-select:none;user-select:none}.slide pre.code .line.dim{opacity:.3}.slide pre.code.dark :is(.hljs-keyword,.hljs-doctag,.hljs-template-tag,.hljs-type,.hljs-variable.language_){color:#ff7b72}.slide pre.code.dark :is(.hljs-title,.hljs-title.class_,.hljs-title.function_){color:#d2a8ff}.slide pre.code.dark :is(.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id){color:#79c0ff}.slide pre.code.dark :is(.hljs-regexp,.hljs-string,.hljs-meta .hljs-string){color:#a5d6ff}.slide pre.code.dark :is(.hljs-built_in,.hljs-symbol){color:#ffa657}.slide pre.code.dark :is(.hljs-comment,.hljs-code,.hljs-formula){color:#8b949e}.slide pre.code.dark :is(.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo){color:#7ee787}.slide pre.code.dark :is(.hljs-subst,.hljs-section,.hljs-bullet,.hljs-emphasis,.hljs-strong){color:inherit}.slide pre.code.dark .hljs-addition{color:#aff5b4;background:#033a16}.slide pre.code.dark .hljs-deletion{color:#ffdcd7;background:#67060c}.slide .pageno{padding:8px;font-size:12px;line-height:16px;position:absolute;bottom:0;right:0}.slide .el{position:absolute}.slide .el>.content{overflow-wrap:break-word;outline:none;min-height:100%}.slide .el>.content:is(.v-middle,.v-bottom){flex-direction:column;justify-content:center;display:flex}.slide .el>.content.v-bottom{justify-content:flex-end}.slide .el>.content>:first-child{margin-top:0!important}.slide .el>.content>:last-child{margin-bottom:0!important}.slide .el.filled>.content{border-radius:10px;padding:12px 16px}.slide .el>:not(.handle),.slide .el.image.cropped{filter:var(--shadow,none)}.slide .el.image.cropped>img{filter:none}.slide .el.locked.selected{cursor:default;outline-style:dashed!important}.slide .el.code pre.code,.slide .el.code textarea.code{width:100%;height:100%;margin:0}.slide .el.code textarea.code{resize:none;font:inherit;font-family:var(--mono);font-size:var(--code-size);line-height:var(--code-line);border:0;outline:none;display:block}.slide .el.image img{object-fit:contain;width:100%;height:100%;max-width:none!important;max-height:none!important;margin:0!important;position:static!important;inset:auto!important;transform:none!important}.slide .el.shape{text-align:center}.slide .el.shape .shape-text{overflow-wrap:anywhere;flex-direction:column;justify-content:center;padding:8px 12px;display:flex;position:absolute;inset:0}.slide .el.shape .shape-text>.content{outline:none;flex-shrink:0;min-height:1em}.slide .el.shape .shape-text>.content>*{margin:0}.slide .el.shape>.shape-text{filter:none}.slide .el.image.cropped img{width:var(--crop-w);height:var(--crop-h);object-fit:fill;clip-path:var(--crop-clip);left:var(--crop-l)!important;top:var(--crop-t)!important;position:absolute!important}.slide .el.shape svg{width:100%;height:100%;overflow:visible}.slide .el.video .video{background:#000 50%/cover no-repeat;border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden}.slide .el.video iframe{border:0;width:100%;height:100%}.slide .el.video .play{background:#e00;border-radius:12px;width:64px;height:44px;margin:auto;position:absolute;inset:0}.slide .el.video .play:after{content:"";border:9px solid #0000;border-left:15px solid #fff;border-right:0;position:absolute;top:13px;left:26px}.slide .el.video .yt-consent{color:#111;cursor:pointer;white-space:nowrap;background:#fffe;border:0;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;font:600 14px/1.3 system-ui,sans-serif;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.slide .el.video .yt-consent small{color:#555;font-size:11px;font-weight:400}.slide .el.table .tbl-wrap{width:100%;height:100%;position:relative}.slide .el.shape .shape-box{width:100%;height:100%}.slide .el.table table{table-layout:fixed;height:100%}.slide .el.table :is(td,th){overflow-wrap:break-word;vertical-align:middle}.slide .el.table :is(td,th):focus{outline-offset:-2px;outline:2px solid #6366f1}.theme-jbt{--jbt-stage:linear-gradient(118deg, transparent 58%, #ffffff12 58% 71%, transparent 71%), linear-gradient(62deg, #00000012 22%, transparent 22% 48%, #ffffff0d 48% 60%, transparent 60%), linear-gradient(200deg, #ffffff0f 18%, transparent 18%), radial-gradient(60% 45% at 100% 20%, #84b5dc, transparent), radial-gradient(40% 35% at 100% 100%, #a3a19f, transparent), linear-gradient(155deg, #00aeef, #2b93cb 28%, #42789c 52%, #45505a 74%, #6c6a68);--jbt-band:linear-gradient(100deg, transparent 30%, #ffffff0f 30% 46%, transparent 46%), linear-gradient(90deg, #4d7898, #5f90b4 22%, #557286 45%, #55595d 68%, #8f8d8b);--accent:#006b96;--code-bg:#f8f8f8;--code-fg:#393a34;--code-size:9.6px;--code-line:12.8px;font-size:15.2px}.theme-jbt h1{text-shadow:0 2px 2px #0006;margin-bottom:24px;font-size:30px;font-weight:600;line-height:36px}.theme-jbt h2{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:30px;line-height:36px;overflow:hidden}.theme-jbt h1+p{margin-bottom:16px}.theme-jbt :is(p,ul,table)+h2{margin-top:40px}.theme-jbt ul{list-style:outside}.theme-jbt li{margin-top:6px;margin-bottom:6px}.theme-jbt ul ul{margin-top:8px;list-style:circle}.theme-jbt ul ul ul{list-style:square}.theme-jbt tr{border:0}.theme-jbt th{color:#fff;background:#006b96;border:0;font-weight:600}.theme-jbt td{color:#181818;background:#fff;border:0}.theme-jbt tr:nth-child(2n) td{background:#f0f0f0}.theme-jbt a{color:#006b96}.theme-jbt a:hover{color:#00b6ff}.theme-jbt :is(li>code,li p code){font-size:14.8px}.theme-jbt :is(pre.code,li>code,li p code,blockquote){box-shadow:inset 0 2px 4px #0000000d}.theme-jbt blockquote p code{box-shadow:none}.theme-jbt:is(.layout-cover,.layout-quiz,.layout-intro) :is(h1,h2){text-align:center}.theme-jbt:is(.layout-cover,.layout-quiz){background:linear-gradient(#0004, #0007), var(--jbt-stage)}.theme-jbt:is(.layout-cover,.layout-quiz,.layout-intro){border:4px solid #fff}.theme-jbt:is(.layout-cover,.layout-quiz,.layout-intro) h1{color:#fff;letter-spacing:.025em;text-shadow:2px 2px #0003;font-size:60px;line-height:80px}.theme-jbt:is(.layout-cover,.layout-quiz,.layout-intro) h2{color:#e1f7ff;letter-spacing:.025em;text-shadow:2px 2px #0003}.theme-jbt.layout-quiz{background-blend-mode:lighten;text-shadow:1px 1px #0006}.theme-jbt.layout-quiz h1{font-size:36px;line-height:40px}.theme-jbt.layout-quiz :is(.center-wrap>div,.el>.content>div){color:#fff;background-color:#0003;border-radius:8px;margin-top:16px;padding:16px 32px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.theme-jbt.layout-quiz :is(.center-wrap>div,.el>.content>div) code{background-color:#00b6ff66;font-weight:600}.theme-jbt.layout-quiz :is(.center-wrap>div,.el>.content>div) ul{list-style:none}.theme-jbt.layout-quiz :is(.center-wrap>div,.el>.content>div) li{background-color:#00709eb3;border-radius:.375rem;padding:.5rem}.theme-jbt:is(.layout-default,.layout-hands-on){background:#fff;background-image:var(--jbt-band);background-repeat:no-repeat;background-size:100% 85px}.theme-jbt:is(.layout-default,.layout-hands-on) h1{color:#fff}.theme-jbt.layout-hands-on h1{text-transform:uppercase}.theme-jbt.layout-hands-on h1:before{content:"💻";color:#e1f7ff;margin-right:.3em}.theme-jbt.layout-intro{background:var(--jbt-stage)}.theme-jbt.layout-fact{text-align:center}.theme-jbt.layout-fact h1{font-size:96px;font-weight:700;line-height:1}.theme-jbt.layout-fact h1+p{font-size:24px;font-weight:700;line-height:32px}.theme-jbt.layout-statement{text-align:center}.theme-jbt.layout-statement h1{font-size:60px;font-weight:700;line-height:1}.theme-jbt.layout-section h1{font-size:60px;font-weight:500;line-height:80px}.theme-jbt h1{overflow-wrap:break-word}.theme-jbt:is(.layout-cover,.layout-intro) .pageno{display:none}.slide .el.colored>.content :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,strong,em){color:inherit}:root{--ui-bg:#f4f5f7;--ui-panel:#fff;--ui-line:#e3e5ea;--ui-line-strong:#cfd3da;--ui-fg:#1d2330;--ui-muted:#6b7280;--ui-hover:#f0f2f5;--ui-active:#e6ecf7;--ui-accent:#2f6fed;--ui-accent-soft:#e8f0fe;--ui-danger:#d93a3a;--ui-sel:#2f6fed;--ui-radius:8px;--ui-shadow:0 1px 2px #1018280d, 0 8px 24px #10182814;--ui-pop:0 12px 40px #10182829, 0 2px 6px #1018281a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{color:var(--ui-fg);background:var(--ui-bg);-webkit-font-smoothing:antialiased;font:13px/1.4 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,select,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}kbd{letter-spacing:.04em;color:var(--ui-muted);font:12px/1 system-ui,sans-serif}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}hr{border:0;border-top:1px solid var(--ui-line);margin:4px 0}input:not([type]),input[type=text],input[type=number],select,textarea{border:1px solid var(--ui-line-strong);background:#fff;border-radius:6px;min-width:0;padding:5px 8px}input:not([type]):focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--ui-accent);outline:2px solid var(--ui-accent-soft);outline-offset:0}.tb,.ib{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 10px;display:inline-flex}.tb:hover:not(:disabled),.ib:hover:not(:disabled){background:var(--ui-hover)}.tb:disabled,.ib:disabled{opacity:.4;cursor:default}.tb.icon{width:32px;padding:0}.tb.small{height:26px;padding:0 6px;font-size:12px}.tb.icon.small{width:26px}.tb.primary,button.primary{background:var(--ui-accent);color:#fff;border-color:var(--ui-accent);font-weight:600}.tb.primary:hover:not(:disabled){background:#245bd0}.tb.danger,.danger{color:var(--ui-danger)}button.primary.danger{background:var(--ui-danger);border-color:var(--ui-danger);color:#fff}.tb[aria-expanded=true]{background:var(--ui-active)}.tb:has(+.menu:popover-open){background:var(--ui-active)}.chev{opacity:.55;margin-left:-2px}.divider{background:var(--ui-line);width:1px;height:20px;margin:0 4px}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--ui-panel);border-bottom:1px solid var(--ui-line);z-index:5;align-items:center;gap:8px;padding:6px 12px;display:flex}.logo{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f6fed,#7b4dff);border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.doc{flex-direction:column;min-width:0;display:flex}.doc-title{field-sizing:content;min-width:60px;max-width:340px;font-size:15px;font-weight:600;background:0 0!important;border:1px solid #0000!important;padding:1px 6px!important}.doc-row{align-items:center;gap:6px;min-width:0;display:flex}.save-state{color:var(--ui-muted);white-space:nowrap;align-items:center;gap:3px;font-size:11.5px;display:inline-flex}.save-state.failed{color:var(--ui-danger);font-weight:600}.doc-title:hover{border-color:var(--ui-line)!important}.menubar{display:flex}.menubar .tb{height:24px;color:var(--ui-muted);padding:0 7px;font-size:12.5px}.menubar .chev{display:none}.tools{align-items:center;gap:2px;margin:0 auto;display:flex}.right{align-items:center;gap:4px;display:flex}@media (width<=1180px){.tools .tb>span,.right .tb:not(.primary)>span{display:none}}main{flex:1;min-height:0;display:flex}.app-foot{background:var(--ui-panel);border-top:1px solid var(--ui-line);color:var(--ui-muted);text-align:center;padding:8px 12px;font-size:12.5px}.app-foot .lang{font-size:inherit;color:inherit;cursor:pointer;background:0 0;border-color:#0000;padding:1px 4px}.app-foot.in-home{background:0 0;margin-top:48px;padding:16px 0 0}.app-foot a{color:var(--ui-accent);text-decoration:none}.app-foot a:hover{text-decoration:underline}.slides-panel{background:var(--ui-panel);border-right:1px solid var(--ui-line);flex-direction:column;flex:none;width:236px;display:flex}.panel-head{text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);justify-content:space-between;align-items:center;padding:10px 12px 6px;font-size:11.5px;font-weight:600;display:flex}.slide-list{flex:1;padding:0 8px 16px;overflow-y:auto}.deck-group+.deck-group{margin-top:6px}.deck-head{z-index:2;background:var(--ui-panel);align-items:center;gap:2px;padding:4px 2px;font-size:12.5px;font-weight:600;display:flex;position:sticky;top:0}.deck-head.entry{color:var(--ui-muted);font-weight:500}.deck-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.count{color:var(--ui-muted);background:var(--ui-hover);border-radius:10px;padding:0 7px;font-size:11px}.deck-head .tb{height:24px}.deck-head .tb.icon,.deck-head .menu-wrap .tb{width:24px;padding:0}.deck-head .tb .chev{display:none}.thumb-row{align-items:flex-start;gap:6px;padding:4px 0;display:flex}.num{text-align:right;width:18px;color:var(--ui-muted);font-variant-numeric:tabular-nums;padding-top:4px;font-size:11px}.thumb{width:180px;height:101px;box-shadow:0 0 0 1px var(--ui-line);cursor:pointer;text-align:left;background:#fff;border:2px solid #0000;border-radius:6px;flex:none;padding:0;position:relative;overflow:hidden}.thumb:hover{box-shadow:0 0 0 1px var(--ui-line-strong), 0 2px 6px #0001}.thumb[aria-current=true]{border-color:var(--ui-sel);box-shadow:0 0 0 2px var(--ui-accent-soft)}.thumb>.slide{pointer-events:none;position:absolute;top:0;left:0}.add-slide{border:1.5px dashed var(--ui-line-strong);width:100%;height:36px;color:var(--ui-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex}.add-slide:hover{border-color:var(--ui-accent);color:var(--ui-accent);background:var(--ui-accent-soft)}.stage{background:radial-gradient(circle at 1px 1px, #d9dce2 1px, transparent 0) 0 0 / 20px 20px, var(--ui-bg);flex:1;place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.frame{border-radius:2px;position:relative;box-shadow:0 2px 6px #10182812,0 16px 48px #10182822}.frame>.slide{position:absolute;top:0;left:0}.stage-info{color:var(--ui-muted);font-variant-numeric:tabular-nums;background:#ffffffd0;border-radius:10px;padding:2px 8px;font-size:11.5px;position:absolute;bottom:10px;right:12px}.stage .el{cursor:move;touch-action:none}.stage .el:hover:not(.selected){outline:1px solid #2f6fed80}.stage .el.selected{outline:1.5px solid var(--ui-sel)}.stage .el.editing{cursor:text;outline:1.5px dashed var(--ui-sel)}.stage .el.image{-webkit-user-select:none;user-select:none}.handle{z-index:3;border:1.5px solid var(--ui-sel);background:#fff;border-radius:3px;width:10px;height:10px;margin:-5px;position:absolute;box-shadow:0 1px 2px #0003}.handle.nw{cursor:nwse-resize;top:0;left:0}.handle.n{cursor:ns-resize;top:0;left:50%}.handle.ne{cursor:nesw-resize;top:0;left:100%}.handle.e{cursor:ew-resize;top:50%;left:100%}.handle.se{cursor:nwse-resize;top:100%;left:100%}.handle.s{cursor:ns-resize;top:100%;left:50%}.handle.sw{cursor:nesw-resize;top:100%;left:0}.handle.w{cursor:ew-resize;top:50%;left:0}.crop-ghost{z-index:40;opacity:.35;cursor:move;outline:1px dashed #0006;position:absolute}.crop-ghost img{pointer-events:none;width:100%;height:100%;display:block}.slide .el.cropping{z-index:41;cursor:move;outline:2px solid var(--ui-sel)}.handle.crop-handle{background:#111;border:2px solid #fff;border-radius:2px;width:14px;height:14px;margin:-7px}.guide{pointer-events:none;z-index:10;background:#ff2d8a;position:absolute}.guide.x{width:1px;top:0;bottom:0}.guide.y{height:1px;left:0;right:0}.marquee{z-index:10;border:1px solid var(--ui-sel);pointer-events:none;background:#2f6fed14;position:absolute}.col-resize{cursor:col-resize;z-index:2;width:7px;margin-left:-3px;position:absolute;top:0;bottom:0}.col-resize:hover{background:#2f6fed55}.stage .tbl-wrap td.current,.stage .tbl-wrap th.current{box-shadow:inset 0 0 0 2px var(--ui-sel)}.stage .tbl-wrap :is(td,th).marked{box-shadow:inset 0 0 0 999px color-mix(in srgb, var(--ui-sel) 22%, transparent)}.stage .tbl-wrap :is(td,th).marked.current{box-shadow:inset 0 0 0 2px var(--ui-sel), inset 0 0 0 999px color-mix(in srgb, var(--ui-sel) 22%, transparent)}.inspector{background:var(--ui-panel);border-left:1px solid var(--ui-line);flex:none;width:272px;padding-bottom:24px;overflow-y:auto}.inspector section{border-bottom:1px solid var(--ui-line);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.inspector h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);margin:0 0 2px;font-size:11.5px}.inspector .field{color:var(--ui-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.inspector .field>select,.inspector .field>input,.inspector .field>textarea{color:var(--ui-fg)}.inspector .btn-row{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.inspector .btn-row>select{flex:1}.inspector .ib{border-color:var(--ui-line);min-width:30px;height:30px;padding:0 6px}.inspector .ib.on{background:var(--ui-accent-soft);color:var(--ui-accent);border-color:#b9cdfa}.inspector .ib.wide{flex:1;justify-content:flex-start;padding:0 10px}.inspector .ib.danger{color:var(--ui-danger)}.inspector .ib.file{position:relative}.inspector .sep{background:var(--ui-line);width:1px;height:18px;margin:0 4px}.inspector .grid4{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.inspector .grid4 label{color:var(--ui-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.inspector .grid4 input{width:100%;color:var(--ui-fg);padding:4px 5px}.inspector .hint{color:var(--ui-muted);margin:0;font-size:11.5px}.inspector .hint-box{color:var(--ui-muted);background:var(--ui-bg);border-radius:var(--ui-radius);margin:0;padding:10px 12px;font-size:12px;line-height:1.55}.inspector .notes{resize:vertical;width:100%;min-height:110px}.notes-wrap{position:relative}.inspector .notes-wrap .notes{background:0 0;display:block;position:relative}.text-mirror{color:#0000;white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none;background:#fff;border:1px solid #0000;border-radius:6px;padding:5px 8px;position:absolute;inset:0;overflow:hidden}.inspector .actions{flex-flow:wrap}.inspector .actions .ib.wide{flex:45%}.inspector .grow{flex:1}.check{cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:flex}.swatches{flex-wrap:wrap;gap:5px;display:flex}.swatches .sw{cursor:pointer;border:1px solid #0002;border-radius:50%;width:22px;height:22px;padding:0}.swatches .sw.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ui-accent)}.swatches .sw.none{background:linear-gradient(135deg, #fff 45%, var(--ui-danger) 45% 55%, #fff 55%)}.presets{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.preset{border:1px solid var(--ui-line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:stretch;gap:4px;padding:6px;font-size:11.5px;display:flex}.preset:hover{border-color:var(--ui-line-strong)}.preset.on{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-soft)}.slide.mini,.slide.mini-tbl{pointer-events:none;overflow:hidden;background:0 0!important;width:auto!important;height:auto!important;padding:0!important;font-size:4px!important;position:relative!important}.slide.mini-tbl{flex:none;width:54px!important}.slide.mini .tbl-wrap,.slide.mini-tbl .tbl-wrap{position:static}.slide.mini table,.slide.mini-tbl table{width:100%}.slide.mini :is(td,th),.slide.mini-tbl :is(td,th){height:7px;padding:0!important}.slide.mini .pageno,.slide.mini-tbl .pageno{display:none}.menu{border:1px solid var(--ui-line);min-width:220px;max-height:min(78vh,640px);box-shadow:var(--ui-pop);color:var(--ui-fg);background:#fff;border-radius:10px;margin:0;padding:6px;overflow-y:auto}.menu.wide{min-width:0}.menu:popover-open{animation:.12s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.mi{cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;width:100%;height:32px;padding:0 10px;display:flex}.mi:hover:not(:disabled),.mi:focus-visible{background:var(--ui-hover);outline:none}.mi:disabled{opacity:.4;cursor:default}.mi kbd{margin-left:auto;padding-left:20px}.mi.danger{color:var(--ui-danger)}.mi .dot{border-radius:3px;width:10px;height:10px}.mi-row{gap:4px;display:flex}.mi-row .mi{border:1px solid var(--ui-line);flex:1;justify-content:center}.mi-row .mi.on{background:var(--ui-accent-soft);color:var(--ui-accent);border-color:#b9cdfa}.menu .ctx-sw{max-width:250px;padding:2px 10px 6px}.shape-ico{width:22px;height:14px;display:inline-flex}.shape-ico svg{width:22px;height:14px}.format-custom{padding:2px}.format-custom input{flex:1;width:150px;min-width:0}.format-custom .mi{flex:none;width:auto}.mh{text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);margin:8px 10px 4px;font-size:11px;font-weight:600}.mh:first-child{margin-top:4px}.shape-row{gap:2px;padding:2px 4px;display:flex}.shape-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;width:40px;height:32px;padding:4px}.shape-btn:hover{background:var(--ui-hover)}.shape-btn svg{fill:#dbe5fb;width:100%;height:100%;stroke:var(--ui-accent);stroke-width:1.5px}.preset-grid,.theme-grid{grid-template-columns:repeat(4,132px);gap:8px;padding:4px;display:grid}.theme-grid{grid-template-columns:repeat(4,132px)}.preset-card,.theme-card{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:5px;padding:4px;font-size:12px;display:flex}.preset-card:hover,.theme-card:hover{background:var(--ui-hover)}.theme-card.on{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.mini-slide{width:127px;height:72px;box-shadow:0 0 0 1px var(--ui-line);background:#fff;border-radius:4px;display:block;position:relative;overflow:hidden}.mini-slide>.slide{pointer-events:none;position:absolute;top:0;left:0}dialog{width:min(480px,100vw - 32px);box-shadow:var(--ui-pop);color:var(--ui-fg);border:0;border-radius:14px;padding:22px 24px}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182859}dialog.wide{width:min(860px,100vw - 32px)}dialog h2{margin:0 0 6px;font-size:17px}dialog p{color:var(--ui-muted);margin:0 0 12px;line-height:1.5}dialog input:not([type]),dialog select{width:100%;height:36px}dialog menu{justify-content:flex-end;gap:8px;margin:18px 0 0;padding:0;display:flex}dialog menu button{border:1px solid var(--ui-line-strong);cursor:pointer;background:#fff;border-radius:7px;height:34px;padding:0 14px}dialog menu button:hover{background:var(--ui-hover)}dialog menu button.primary:hover{background:#245bd0}.pick-list{border:1px solid var(--ui-line);border-radius:8px;max-height:300px;padding:4px;overflow-y:auto}.pick-list .check{border-radius:6px;padding:6px 8px;font-family:ui-monospace,monospace;font-size:12px}.pick-list .check:hover{background:var(--ui-hover)}.md-editor,.md-mirror{tab-size:2;padding:12px;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.md-editor{resize:vertical;width:100%;height:min(58vh,520px)}.md-wrap{position:relative}.md-wrap .md-editor{background:0 0;display:block;position:relative}dialog.find{z-index:20;border-radius:8px;flex-direction:column;gap:4px;width:min(440px,100% - 24px);margin:0;padding:6px 6px 6px 30px;display:none;position:absolute;inset:10px 12px auto auto}dialog.find[open]{display:flex}.find-fold{position:absolute;top:6px;left:3px;width:22px!important}dialog.find.replacing .find-fold{height:56px}.find-row{align-items:center;gap:2px;display:flex}.find-field{flex:1;min-width:0;display:flex;position:relative}.find-field input:not([type]){flex:1;width:auto;height:26px;padding-right:76px}.find-field input[aria-invalid=true]{border-color:var(--ui-danger)!important;outline-color:#d93a3a26!important}.find-toggles{gap:1px;display:flex;position:absolute;top:3px;right:3px}.find-toggle{min-width:22px;height:20px;color:var(--ui-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 3px;font-size:11.5px}.find-toggle.word{text-underline-offset:2px;text-decoration:underline}.find-toggle.regex{font-family:ui-monospace,monospace;font-weight:700}.find-badge{color:#3a2a00;text-align:center;background:#f5b400;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;bottom:4px;right:4px;box-shadow:0 1px 2px #0003}.find-badge.inline{box-shadow:none;flex:none;position:static}.find-filter.on{color:var(--ui-accent);background:var(--ui-accent-soft)}.find-scope{flex-wrap:wrap;gap:10px;padding:2px 0}.find-scope select{width:auto;height:26px;padding:0 6px}.find-scope .check{gap:4px;font-size:12px}.find-toggle:hover{background:var(--ui-hover)}.find-toggle.on{color:var(--ui-accent);background:var(--ui-accent-soft);border-color:var(--ui-accent)}.find-count{min-width:84px;color:var(--ui-muted);white-space:nowrap;flex:none;padding:0 6px;font-size:12px}.find-count.none{color:var(--ui-danger)}::highlight(find){background-color:#f5b40040}::highlight(find-current){background-color:#f5b400a0}::highlight(find-thumb){background-color:#f5b400c0}dialog.palette{width:min(560px,100vw - 32px);margin-top:12vh;padding:0;overflow:hidden}.palette-input{width:100%;border:0!important;border-bottom:1px solid var(--ui-line)!important;border-radius:0!important;outline:none!important;height:52px!important;padding:0 18px!important;font-size:15px!important}.palette ul{max-height:380px;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette li{cursor:pointer;border-radius:7px;align-items:center;height:36px;padding:0 12px;display:flex}.palette li[aria-selected=true]{background:var(--ui-accent-soft);color:var(--ui-accent)}.palette li kbd{margin-left:auto}.palette li.empty{color:var(--ui-muted);cursor:default}.toast{z-index:50;color:#fff;max-width:min(640px,100vw - 32px);box-shadow:var(--ui-pop);background:#1d2330;border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 16px;animation:.15s ease-out pop;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast .tb{color:#fff}.toast .tb:hover{background:#ffffff1f!important}.home{height:100%;padding:0 max(24px,50vw - 560px) 64px;overflow-y:auto}.home-head{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand svg{color:var(--ui-accent)}.home h1{letter-spacing:-.01em;margin:24px 0 18px;font-size:26px}.home h2{margin:36px 0 12px;font-size:15px}.home h2 small{color:var(--ui-muted);margin-left:6px;font-weight:400}.home h2 .tb{float:right;font-weight:400}.start-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.start-card{border:1px solid var(--ui-line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;transition:box-shadow .15s,border-color .15s;display:flex}.start-card:hover{border-color:var(--ui-line-strong);box-shadow:var(--ui-shadow)}.start-card svg{color:var(--ui-accent)}.start-card b{font-size:14px}.start-card small{color:var(--ui-muted);line-height:1.45}.start-card.primary{color:#fff;background:linear-gradient(135deg,#2f6fed,#7b4dff);border:0;font-weight:400}.start-card.primary svg,.start-card.primary small{color:#fff;opacity:.9}.error{color:var(--ui-danger);margin-top:12px}.empty{color:var(--ui-muted)}.theme-strip{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;display:grid}.home-theme{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.theme-cover{aspect-ratio:16/9;background:var(--cover-bg,var(--bg));color:var(--cover-fg,var(--title));font-family:var(--heading-font,var(--font,inherit));font-weight:var(--heading-weight,700);box-shadow:0 0 0 1px var(--ui-line);border-radius:8px;place-items:center;font-size:15px;transition:transform .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.theme-cover i{background:var(--accent);height:4px;position:absolute;bottom:0;left:0;right:0}.home-theme:hover .theme-cover,.home-theme:focus-visible .theme-cover{box-shadow:0 0 0 2px var(--ui-accent), var(--ui-shadow);transform:translateY(-2px)}.home-theme:focus-visible{outline:none}.theme-name{color:var(--ui-muted);padding-left:2px;font-size:12.5px}.home .lead{color:var(--ui-muted);margin:-8px 0 18px}.home.dragging .home-start,.home.dragging .home-themes,.home.dragging .home-projects{opacity:.35}.drop-hint{z-index:50;border:2px dashed var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 8%, transparent);color:var(--ui-accent);pointer-events:none;border-radius:16px;place-content:center;justify-items:center;gap:6px;display:grid;position:fixed;inset:16px}.drop-hint small{color:var(--ui-muted)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.project{border:1px solid var(--ui-line);background:#fff;border-radius:12px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.project:hover{box-shadow:var(--ui-shadow)}.project.current{border-color:var(--ui-accent)}.project-open{aspect-ratio:16/9;cursor:pointer;background:var(--cover-bg,var(--bg));color:var(--cover-fg,var(--title));border:0;padding:0}.project-cover{height:100%;font-family:var(--heading-font,inherit);text-align:center;border-bottom:4px solid var(--accent);place-items:center;padding:16px;font-size:17px;display:grid}.project-meta{flex-direction:column;gap:2px;padding:10px 12px 2px;display:flex}.project-meta b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-rename{font:inherit;border:1px solid var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-soft);border-radius:6px;outline:none;margin:-3px -6px;padding:2px 5px;font-weight:700}.project-meta small{color:var(--ui-muted)}.project-actions{justify-content:flex-end;align-items:center;gap:4px;padding:4px 8px 8px;font-size:12px;display:flex}.project-actions span{color:var(--ui-danger);margin-right:auto}.presenter{z-index:100;cursor:default;background:#000;outline:none;place-items:center;display:grid;position:fixed;inset:0}.presenter a{cursor:pointer}.pv-main{position:relative;overflow:hidden}.pv-main>.slide{position:absolute;top:0;left:0}.presenter.pv{color:#e8eaed;background:#111317;grid-template-columns:auto 1fr;place-items:start;gap:24px;padding:24px}.pv-side{flex-direction:column;gap:16px;min-width:0;height:calc(100vh - 80px);display:flex}.pv-next small{color:#9aa0a6;margin-bottom:6px;display:block}.pv-next>div{border-radius:4px;position:relative;overflow:hidden}.pv-next .slide{position:absolute;top:0;left:0}.pv-notes{white-space:pre-wrap;background:#1c1f24;border-radius:10px;flex:1;padding:16px;font-size:20px;line-height:1.5;overflow-y:auto}.pv-bar{color:#fff;font-variant-numeric:tabular-nums;opacity:0;background:#0009;border-radius:18px;align-items:center;gap:10px;padding:4px 6px 4px 14px;font-size:13px;transition:opacity .2s;display:flex;position:fixed;bottom:14px;right:16px}.presenter:hover .pv-bar,.presenter.pv .pv-bar{opacity:1}.pv-bar .tb{color:#fff}.pv-bar .tb:hover{background:#fff2!important}.pv-progress{background:var(--ui-accent);height:3px;transition:width .2s;position:fixed;bottom:0;left:0}.output{position:fixed;top:0;left:-99999px}@page{size:980px 552px;margin:0}@media print{html,body,#app{height:auto}body{background:0 0}.app,.home,.presenter,.toast{display:none!important}.output{position:static}.output .slide{break-after:page;break-inside:avoid;position:relative!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.deck-head[draggable=true]{cursor:grab;border-radius:6px}.deck-head[draggable=true]:hover{background:var(--ui-hover)}.deck-group{border-top:2px solid #0000;border-bottom:2px solid #0000}.deck-group.drop-before{border-top-color:var(--ui-accent)}.deck-group.drop-after{border-bottom-color:var(--ui-accent)}.tbl-bar{z-index:4;position:absolute}.tbl-bar.cols{height:12px;top:-18px;left:0;right:0}.tbl-bar.rows{width:12px;top:0;bottom:0;left:-18px}.tbl-chip{background:#2f6fed22;border-radius:3px;place-items:center;transition:background .1s;display:grid;position:absolute}.tbl-bar.cols .tbl-chip{height:12px;top:0}.tbl-bar.rows .tbl-chip{width:12px;left:0}.tbl-chip:hover{background:#2f6fed55}.tbl-btn{color:#fff;cursor:pointer;opacity:0;border:0;border-radius:50%;width:18px;height:18px;margin:0;padding:0;font:600 13px/18px system-ui,sans-serif;transition:opacity .1s;position:absolute;box-shadow:0 1px 3px #0004}.tbl-btn.add{background:var(--ui-accent)}.tbl-btn.del{background:var(--ui-danger);position:static}.tbl-bar.cols .tbl-btn.add{margin-left:-9px;top:-3px}.tbl-bar.rows .tbl-btn.add{margin-top:-9px;left:-3px}.tbl-chip:hover .tbl-btn,.tbl-btn:hover,.tbl-bar:hover .tbl-btn.add{opacity:1}.styles{flex-direction:column;gap:4px;max-height:340px;display:flex;overflow-y:auto}.style-btn{border:1px solid var(--ui-line);cursor:pointer;text-align:left;background:0 0;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.style-btn:hover{border-color:var(--ui-line-strong)}.style-btn.on{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-soft)}.style-btn.custom{display:flex}.style-apply{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:0}.style-del{width:20px;height:20px;color:var(--ui-muted);cursor:pointer;opacity:0;background:#fff;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%);box-shadow:0 1px 2px #0003}.style-btn.custom:hover .style-del{opacity:1}.style-del:hover{color:var(--ui-danger)}.slide.mini.style-prev{text-align:left;display:block;background:var(--bg,#fff)!important;width:100%!important;padding:6px 10px!important;font-size:15px!important}.slide.mini.style-prev>*{zoom:.6;white-space:nowrap;text-overflow:ellipsis;text-align:left;overflow:hidden;margin:0!important}.slide.mini.style-prev>:is(h3,h5,h6,p,blockquote,pre){zoom:.9}.slide.mini.style-prev>pre{padding:6px 10px}.slide.mini.style-prev>blockquote{margin:0!important}.inspector .grid3{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.inspector .grid3 label{color:var(--ui-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.inspector .grid3 select{width:100%;color:var(--ui-fg);padding:4px}.keep-sizes{border-top:1px solid var(--ui-line);flex-wrap:wrap;margin:6px 8px 4px;padding-top:8px}.keep-sizes small{width:100%;color:var(--ui-muted);padding-left:22px}.mi-ext{color:var(--ui-muted);margin-left:auto;padding-left:12px;font-size:11px}.export-scope{color:var(--ui-muted);gap:6px;margin:10px 0 14px;font-size:12px;display:grid}.export-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.export-card{border:1px solid var(--ui-line-strong);cursor:pointer;border-radius:10px;align-content:start;gap:4px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid;position:relative}.export-card:hover{background:var(--ui-hover)}.export-card.on{border-color:var(--ui-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-accent) 22%, transparent)}.export-card.off{opacity:.45;cursor:not-allowed}.export-card input{opacity:0;pointer-events:none;position:absolute}.export-card:has(input:focus-visible){outline:2px solid var(--ui-accent);outline-offset:2px}.export-card strong{font-size:14px}.export-card strong small{color:var(--ui-muted);font-weight:400}.export-card .apps{color:var(--ui-fg);font-size:12px}.export-card .note{color:var(--ui-muted);font-size:12px;line-height:1.4}.export-card .badges{gap:6px;margin-top:4px;display:flex}.export-card em{background:var(--ui-hover);color:var(--ui-muted);border-radius:99px;padding:2px 7px;font-size:10.5px;font-style:normal}.export-card em.b-edit{color:#1d4ed8;background:#e7f0ff}.export-card em.b-exact{color:#15803d;background:#e8f7ee}.export-hint{font-size:12px;margin-top:14px!important}.slide.painting .el{cursor:copy}
