.ls-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 0}.ls-summary strong{font-size:18px}.ls-summary small{display:block;color:var(--muted);margin-top:6px}.ls-summary .btn{margin-left:auto}
.ls-save-state{font-size:12px;color:#386749;align-self:center}.ls-save-state.error{color:#b42338}
.ls-dialog{border:0;padding:0;border-radius:20px;width:min(1460px,96vw);max-width:96vw;height:92vh;max-height:94vh;background:#f5f6fb;color:var(--ink);box-shadow:0 30px 100px #171c4a44}
.ls-dialog::backdrop{background:#171c4a88;backdrop-filter:blur(3px)}
.ls-shell{height:100%;display:flex;flex-direction:column}.ls-header,.ls-footer{padding:16px 22px;background:white;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.ls-header h2{margin:0;font-size:22px}.ls-header .ls-close{margin-left:auto}.ls-footer{border-top:1px solid var(--line);border-bottom:0}.ls-footer .btn:last-child{margin-left:auto}
.ls-subtitle{font-size:12px;color:var(--muted)}.ls-body{flex:1;min-height:0;overflow:auto;padding:20px}.ls-start{max-width:980px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.ls-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.ls-panel h3{margin:0 0 12px}.ls-label{display:flex;flex-direction:column;gap:7px;margin:0 0 14px;font-size:13px;font-weight:700}.ls-label input,.ls-label select,.ls-label textarea{font:inherit;font-weight:400;width:100%;box-sizing:border-box;border:1px solid #cdd3e7;border-radius:9px;padding:10px;background:white;color:var(--ink)}.ls-label textarea{resize:vertical;min-height:105px;line-height:1.6}.ls-source{min-height:250px!important}.ls-hint{font-size:13px;line-height:1.65;color:var(--muted);margin:10px 0}.ls-message{white-space:pre-wrap;font-size:13px;color:#705012;line-height:1.6}.ls-message.error{color:#b42338}.ls-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.ls-actions .btn{font-size:12px;padding:8px 11px}
.ls-workspace{display:grid;grid-template-columns:190px minmax(280px,1fr) 340px;gap:18px;height:100%;min-height:0}.ls-thumbs,.ls-edit{overflow:auto;min-height:0}.ls-thumbs{display:flex;flex-direction:column;gap:9px}.ls-thumb{padding:13px;border:1px solid var(--line);border-radius:11px;background:white;text-align:left;color:var(--ink);cursor:pointer;flex-shrink:0}.ls-thumb.active{border:2px solid #2f7be8;background:#eef5ff}.ls-thumb b{display:block;margin-bottom:5px;font-size:13px}.ls-thumb small{color:var(--muted);font-size:11px}.ls-preview-col{min-width:0;overflow:auto}.ls-preview-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:0 0 10px}.ls-screen{aspect-ratio:16/9;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative;box-shadow:0 8px 25px #1a1b3d0a}.ls-canvas{width:960px;height:540px;transform-origin:top left;background:linear-gradient(150deg,#fff,#f3f6ff);padding:42px 50px;position:absolute;left:0;top:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:auto;font-family:var(--font-body,'Be Vietnam Pro',sans-serif)}
.ls-canvas .ls-kicker{font-size:13px;color:#2f7be8;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}.ls-canvas h1{font-size:36px;line-height:1.25;margin:0 0 24px;overflow-wrap:anywhere}.ls-canvas .ls-content{font-size:24px;line-height:1.55;overflow-wrap:anywhere;min-height:0}.ls-canvas .ls-content ul{margin:0;padding-left:28px}.ls-canvas .ls-content li{margin:0 0 12px}.ls-canvas img{max-width:100%;max-height:295px;object-fit:contain}.ls-canvas .ls-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ls-canvas .ls-columns section{border-top:4px solid #2f7be8;background:white;padding:18px;border-radius:10px}.ls-canvas .ls-columns h3{font-size:24px;margin:0 0 12px}.ls-canvas .ls-columns .ls-content{font-size:20px}.ls-canvas[data-kind=khainiem]{justify-content:center;text-align:center}.ls-canvas[data-kind=khainiem] h1{font-size:48px;color:#205cac}.ls-canvas[data-kind=summary]{border-left:12px solid #17a775}.ls-canvas[data-kind=quytrinh] li::marker{color:#2f7be8;font-weight:800}.ls-canvas .ls-illustration{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ls-canvas figure{margin:0;text-align:center}.ls-canvas figcaption{font-size:14px;color:var(--muted);margin-top:8px}.ls-image-empty{border:2px dashed #cdd3e7;border-radius:14px;padding:50px 20px;color:var(--muted);font-size:18px;text-align:center}.ls-edit .tbarea{min-height:120px}.ls-edit .tbbar{gap:3px}.ls-edit .tbbar button{font-size:12px;padding:5px}.ls-notice{padding:12px;border-radius:10px;background:#fff5db;color:#7c5311;font-size:12px;line-height:1.6;margin-top:14px}.ls-assets{display:flex;gap:7px;flex-wrap:wrap}.ls-assets button{width:70px;height:60px;padding:3px;border:1px solid var(--line);background:white;border-radius:8px}.ls-assets img{width:100%;height:100%;object-fit:contain}.ls-outline-row{display:grid;grid-template-columns:30px minmax(120px,1fr) 170px auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.ls-outline-row input,.ls-outline-row select{min-width:0;width:100%;padding:9px;border:1px solid var(--line);border-radius:7px}.ls-stage{width:100%;max-width:1200px;margin:auto}.ls-stage .ls-screen{width:100%}.ls-busy{opacity:.65;pointer-events:none}
@media(max-width:1100px){.ls-workspace{grid-template-columns:150px minmax(260px,1fr)}.ls-edit{grid-column:2;overflow:visible}.ls-workspace{height:auto}.ls-thumbs{grid-row:1/3}.ls-preview-col{overflow:visible}.ls-start{grid-template-columns:1fr}}
@media(max-width:650px){.ls-header,.ls-footer{padding:12px}.ls-body{padding:12px}.ls-workspace{display:flex;flex-direction:column}.ls-thumbs{flex-direction:row;overflow:auto;max-height:90px}.ls-thumb{min-width:140px;max-width:180px}.ls-outline-row{grid-template-columns:22px 1fr}.ls-outline-row select{grid-column:2}.ls-outline-row .ls-actions{grid-column:2}.ls-header h2{font-size:18px}}

/* Shared theme tokens: picker, thumbnails, editor preview and projected slide. */
.ls-edit .tbarea{font-weight:400}
.rn-stage:has(>.ls-stage){min-height:0;container-type:size}
.rn-stage>.ls-stage{width:min(100cqw,calc(100cqh * 16 / 9));max-width:1200px}
[data-theme=ocean]{--slide-accent:#1262c4;--slide-ink:#12365c;--slide-bg:#eef7ff;--slide-soft:#dceeff;--slide-secondary:#0f8c9e;--slide-panel:#ffffffd9;--slide-art:radial-gradient(ellipse at 108% 105%,#8fdad8 0 23%,transparent 23.2%),radial-gradient(ellipse at 105% 103%,#c0e8ff 0 37%,transparent 37.2%),linear-gradient(120deg,#f5fbff,#e8f4ff)}
[data-theme=mint]{--slide-accent:#097454;--slide-ink:#174334;--slide-bg:#f1faf1;--slide-soft:#d9efde;--slide-secondary:#8a6319;--slide-panel:#fffffff0;--slide-art:radial-gradient(ellipse at 110% 110%,#a9d9b2 0 32%,transparent 32.3%),radial-gradient(ellipse at 100% -25%,#e3eec4 0 35%,transparent 35.3%),linear-gradient(110deg,#fbfdf4,#eef9ef)}
[data-theme=sunset]{--slide-accent:#b44921;--slide-ink:#603421;--slide-bg:#fff7e9;--slide-soft:#ffe6c6;--slide-secondary:#a65a0a;--slide-panel:#fffffff0;--slide-art:radial-gradient(circle at 100% 100%,#ffc884 0 160px,transparent 162px),radial-gradient(circle at 98% 95%,#ffe0b7 0 250px,transparent 252px),linear-gradient(110deg,#fffcf5,#fff1dc)}
[data-theme=violet]{--slide-accent:#7447be;--slide-ink:#3c285d;--slide-bg:#f7f2ff;--slide-soft:#e9ddfa;--slide-secondary:#ba466f;--slide-panel:#fffffff0;--slide-art:radial-gradient(ellipse at 100% 110%,#d4baf2 0 30%,transparent 30.3%),radial-gradient(ellipse at 108% -30%,#f5d7eb 0 45%,transparent 45.3%),linear-gradient(120deg,#fcfaff,#f1eafa)}
[data-theme=chalk]{--slide-accent:#f8d77b;--slide-ink:#f2faf6;--slide-bg:#183e34;--slide-soft:#2e5a49;--slide-secondary:#bce9cb;--slide-panel:#234b3e;--slide-art:radial-gradient(ellipse at 100% 100%,#36675355,transparent 65%),linear-gradient(125deg,#183e34,#102e26)}
[data-theme=classic]{--slide-accent:#2f7be8;--slide-ink:#1a1b3d;--slide-bg:#fff;--slide-soft:#edf3fc;--slide-secondary:#537091;--slide-panel:#fff;--slide-art:linear-gradient(150deg,#fff,#f3f6ff)}
.ls-theme-section{margin:0 0 18px}.ls-theme-heading{font-weight:750;font-size:13px;margin-bottom:10px;color:var(--ink)}.ls-theme-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.ls-theme-option{min-width:0;cursor:pointer;border:2px solid transparent;border-radius:11px;background:white;padding:5px;color:var(--ink);transition:border-color .15s,transform .15s}.ls-theme-option:hover{transform:translateY(-2px);border-color:#c9d5e9}.ls-theme-option.active{border-color:#2f7be8;box-shadow:0 0 0 2px #2f7be814}.ls-theme-swatch{height:52px;border-radius:6px;background:var(--slide-art);display:flex;align-items:center;gap:8px;padding:9px;overflow:hidden;box-sizing:border-box;border:1px solid #00000008}.ls-theme-swatch>span{font-weight:850;font-size:22px;color:var(--slide-accent);border-bottom:3px solid var(--slide-accent)}.ls-theme-swatch>i{width:18px;height:18px;border-radius:50%;background:var(--slide-soft);flex-shrink:0}.ls-theme-name{font-size:11px;font-weight:650;display:block;padding:6px 0 2px;white-space:nowrap}.ls-panel .ls-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ls-divider{border:0;border-top:1px solid var(--line);margin:22px 0}.ls-pptx-import .ls-message:empty{display:none}.ls-footer>.ls-pptx-import{max-width:265px}.ls-footer>.ls-pptx-import .ls-message{max-height:42px;overflow:auto;font-size:11px}.ls-footer input{padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit}.ls-thumb[data-theme]{border-left:5px solid var(--slide-accent)}.ls-thumb[data-theme].active{background:var(--slide-bg);color:var(--slide-ink);border-color:var(--slide-accent)}.ls-thumb[data-theme=chalk].active small{color:#c4e6d0}
.ls-canvas[data-theme]{background:var(--slide-art);color:var(--slide-ink);border-top:8px solid var(--slide-accent);padding:36px 52px 42px}.ls-canvas[data-theme] .ls-kicker{color:var(--slide-accent);letter-spacing:.13em;display:flex;align-items:center;gap:12px}.ls-canvas[data-theme] .ls-kicker::before{content:'';width:28px;height:3px;background:var(--slide-accent);flex-shrink:0}.ls-canvas[data-theme] h1{color:var(--slide-ink);font-size:40px;font-weight:850;max-width:820px}.ls-canvas[data-theme] .ls-content{position:relative;z-index:1}.ls-canvas[data-theme] li::marker{color:var(--slide-accent);font-weight:800}.ls-canvas[data-theme] .ls-columns section{background:var(--slide-panel);border-color:var(--slide-accent)}.ls-canvas[data-theme] .ls-columns section:nth-child(2){border-color:var(--slide-secondary)}.ls-canvas[data-theme] .ls-columns h3{color:var(--slide-accent)}.ls-canvas[data-theme] .ls-columns section:nth-child(2) h3{color:var(--slide-secondary)}.ls-canvas[data-theme][data-kind=summary]{border-left:0;border-bottom:12px solid var(--slide-accent)}.ls-canvas[data-theme][data-kind=khainiem]{border-top:0;border-left:12px solid var(--slide-accent)}.ls-canvas[data-theme][data-kind=khainiem] .ls-kicker{justify-content:center}.ls-canvas[data-theme][data-kind=khainiem] h1{font-size:50px;color:var(--slide-accent);max-width:none}.ls-canvas[data-theme][data-kind=khainiem] .ls-content{font-size:27px;max-width:780px;margin:0 auto}.ls-canvas[data-theme][data-kind=quytrinh] ol{list-style:none;counter-reset:steps;padding:0;margin:0;display:grid;gap:13px}.ls-canvas[data-theme][data-kind=quytrinh] ol>li{counter-increment:steps;position:relative;padding:10px 15px 10px 62px;background:var(--slide-panel);border-radius:10px;margin:0;min-height:46px;box-sizing:border-box;font-size:23px;line-height:1.4}.ls-canvas[data-theme][data-kind=quytrinh] ol>li::before{content:counter(steps);position:absolute;left:12px;top:9px;background:var(--slide-soft);color:var(--slide-accent);width:33px;height:33px;border-radius:9px;text-align:center;line-height:33px;font-weight:850}.ls-canvas[data-theme] figcaption,.ls-canvas[data-theme] .ls-image-empty{color:var(--slide-ink)}.ls-canvas[data-theme=chalk]{box-shadow:inset 0 0 0 10px #967749;border:0;padding:48px 54px}.ls-canvas[data-theme=chalk] .ls-content [style*="color"]{color:inherit!important}.ls-canvas[data-theme=chalk] .ls-content mark{color:#243c30}.ls-canvas[data-theme=classic]{border-top:0}.ls-canvas[data-theme=classic][data-kind=quytrinh] ol>li{background:transparent}
@media(max-width:1250px) and (min-width:1101px){.ls-workspace{grid-template-columns:150px minmax(280px,1fr) 300px;gap:12px}.ls-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.ls-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ls-theme-swatch{height:40px}.ls-theme-section{margin-bottom:12px}.ls-footer{gap:7px}.ls-footer .btn{padding:8px;font-size:12px}}
/* Cheerful primary-school template, shared by editor and projection. */
[data-theme=playful]{--slide-accent:#cf4773;--slide-ink:#283e65;--slide-bg:#fff9e9;--slide-soft:#ffe3a3;--slide-secondary:#248676;--slide-panel:#fffffff2;--slide-art:radial-gradient(circle at 96% 94%,#a7dfc9 0 95px,transparent 96px),radial-gradient(circle at 92% 100%,#d4efe2 0 155px,transparent 156px),radial-gradient(circle at 95% 4%,#ffe7a5 0 65px,transparent 66px),linear-gradient(120deg,#fffdf4,#fff4dc)}
.ls-canvas[data-theme=playful]{border-top:9px solid #f3bd4b;border-bottom:9px solid #8bd2b5;border-radius:18px;padding:34px 52px 46px}
.ls-canvas[data-theme=playful] h1{font-family:'Baloo 2','Be Vietnam Pro',sans-serif;color:#b43c68;font-size:44px;margin-bottom:20px}
.ls-canvas[data-theme=playful] .ls-kicker{color:#267b73}
.ls-canvas[data-theme=playful]>.ls-content{background:#ffffffc9;border:2px solid #f1dda6;border-radius:22px;padding:18px 24px}
.ls-canvas[data-theme=playful] .ls-content li:nth-child(3n+1)::marker{color:#d34977}
.ls-canvas[data-theme=playful] .ls-content li:nth-child(3n+2)::marker{color:#168678}
.ls-canvas[data-theme=playful] .ls-content li:nth-child(3n)::marker{color:#a96b08}
.ls-canvas[data-theme=playful] .ls-columns section{border-radius:22px}
.ls-canvas[data-theme=playful][data-kind=khainiem] h1{color:#b43c68}
.ls-canvas.ls-decorated{padding:88px 100px 94px!important}.ls-decorated h1{font-size:36px!important}.ls-decorated[data-kind=khainiem] h1{font-size:42px!important}.ls-stickers{position:absolute;inset:0;pointer-events:none}.ls-sticker{position:absolute;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:60px}.ls-sticker svg,.ls-sticker img{width:100%;height:100%;object-fit:contain;max-height:none}.ls-sticker.draggable{pointer-events:auto;cursor:grab;touch-action:none}.ls-sticker.dragging{cursor:grabbing;animation:none!important;outline:2px dashed #2f7be8}.ls-sticker.lively{animation:ls-sticker-bob 4s ease-in-out infinite}.ls-decoration-panel{padding:14px;background:#fff9e9;border:1px solid #f1dda6;border-radius:16px;margin-bottom:16px}.ls-decoration-panel .btn{margin:4px 0;font-size:12px}@keyframes ls-sticker-bob{50%{transform:translateY(-7px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.ls-sticker.lively{animation:none}}
.ls-style-dialog{width:min(1250px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:22px;padding:24px;color:var(--ink);background:#f6f8ff}.ls-style-dialog::backdrop{background:#17244199}.ls-style-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.ls-style-results .ls-panel{padding:12px}.ls-style-results h3{font-size:16px}.ls-style-dialog>.btn{margin:6px}@media(max-width:850px){.ls-style-results{grid-template-columns:1fr}}
