[hidden] { display:none !important; }
body { background:#fff; }
.account-panel,.account-page,#account-nav,.editor-account-fields { color:#171717; font-family:Montserrat,Arial,sans-serif; }
.account-panel { max-width:480px; margin:10vh auto; padding:32px; background:#fff; border:1px solid #e5e5e5; border-radius:20px; }
.account-panel h1 { font-size:2.3rem; line-height:1.15; margin:20px 0; }
.account-panel p,.account-page>p { line-height:1.7; color:#666; }
.brand-label,.eyebrow { font-size:12px; font-weight:700; letter-spacing:0.1em; }
.account-panel label,.account-page label,.editor-account-fields label { display:block; font-size:13px; font-weight:600; }
.account-panel input,.account-page input,.account-page select,.account-page textarea,.editor-account-fields input,.editor-account-fields select { display:block; width:100%; padding:12px; margin:8px 0 18px; border:1px solid #ddd; border-radius:8px; font:inherit; background:#fff; color:#171717; }
.account-panel button { width:100%; }
#login-code { font-size:28px; letter-spacing:0.4em; }
#account-nav { background:#fff; border-bottom:1px solid #e5e5e5; padding:16px 24px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
#account-nav .btn { padding:9px 12px; font-size:12px; }
.account-brand { font-weight:800; font-size:20px; color:#111; text-decoration:none; margin-right:16px; }
.account-page { max-width:1200px; padding:40px 24px; margin:auto; }
.account-page h1 { font-size:32px; margin:8px 0 24px; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.library-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:20px 0; }
.library-toolbar label { min-width:180px; flex:1; }
.library-toolbar input,.library-toolbar select { margin-bottom:0; }
#presentation-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px; }
.presentation-card { background:#fff; border:1px solid #e5e5e5; border-radius:14px; overflow:hidden; }
.card-preview { width:100%; aspect-ratio:16/9; display:block; object-fit:cover; background:#f4f4f4; }
.cover-placeholder { display:grid; place-items:center; color:#777; font-size:24px; }
.card-info { padding:18px; }
.card-info h2 { font-size:17px; margin:0 0 8px; overflow-wrap:anywhere; }
.card-info p { font-size:12px; color:#777; margin-bottom:16px; }
.card-info .btn { padding:8px 12px; font-size:12px; }
.card-actions { display:flex; gap:8px; flex-wrap:wrap; }
.editor-account-fields { display:flex; flex-wrap:wrap; gap:16px; align-items:center; background:#fff; padding:16px; border:1px solid #e5e5e5; border-radius:12px; margin-bottom:24px; }
.editor-account-fields label { flex:1; min-width:180px; }
.editor-account-fields input,.editor-account-fields select { margin:8px 0 0; }
#save-status,#current-template { font-size:12px; color:#666; }
.settings-layout { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-top:32px; }
#theme-form { background:#fff; padding:24px; border:1px solid #e5e5e5; border-radius:14px; }
#theme-form h2 { margin-bottom:24px; font-size:20px; }
#theme-css { font-family:monospace; font-size:13px; resize:vertical; }
.personal-theme { padding:16px 0; border-bottom:1px solid #ddd; }
.personal-theme p { margin-bottom:12px; font-weight:700; }
.personal-theme .btn { padding:8px 12px; font-size:12px; margin-right:8px; }
#admin-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:24px 0; }
.metric { padding:24px; background:#fff; border:1px solid #ddd; border-radius:12px; }
.metric strong { display:block; margin-top:12px; font-size:26px; }
.table-wrap { overflow:auto; margin-top:24px; }
.account-page table { width:100%; border-collapse:collapse; background:#fff; font-size:13px; }
.account-page td,.account-page th { padding:16px; text-align:left; border-bottom:1px solid #ddd; white-space:nowrap; }
@media(max-width:700px) { .settings-layout { grid-template-columns:1fr; } #admin-metrics { grid-template-columns:1fr; } .page-heading { align-items:flex-start; flex-direction:column; } .account-panel { margin:24px 16px; } }
.account-section { max-width:680px; padding:28px; margin:24px 0; border:1px solid #e5e5e5; border-radius:14px; background:#fff; }
.account-section h2 { font-size:20px; margin-bottom:16px; }
.account-section p { color:#666; line-height:1.6; margin:12px 0; font-size:14px; }
.account-section form { margin-top:20px; }
.danger-zone { border-color:#eab4b4; }
.btn-danger { background:#b42318; color:#fff; }
.btn-danger:hover { background:#8e1b12; }
button:disabled { opacity:0.5; cursor:not-allowed; }
.share-dialog { margin:auto; width:calc(100% - 40px); max-width:600px; max-height:85vh; overflow:auto; border:1px solid #e5e5e5; border-radius:18px; padding:28px; color:#202027; background:#fff; font:14px/1.7 Montserrat,Arial,sans-serif; }
.share-dialog::backdrop { background:#11132a88; backdrop-filter:blur(4px); }
.share-dialog h2 { font-size:22px; line-height:1.3; margin-bottom:12px; }.share-dialog p { margin:14px 0; }.share-dialog #share-title { font-weight:700; overflow-wrap:anywhere; }
.share-dialog label { display:block; font-weight:600; font-size:12px; margin-top:16px; }.share-dialog input { width:100%; margin:8px 0 16px; padding:12px; border:1px solid #ddd; border-radius:8px; font:12px monospace; color:#222; background:#fafafa; }
.share-dialog .btn-row { display:flex; flex-wrap:wrap; gap:8px; }.share-dialog .btn { font-size:12px; padding:10px 14px; text-decoration:none; }.share-dialog #share-status { color:#6554c0; font-size:12px; }.share-dialog #share-status:empty { display:none; }

/* Public landing: an original constellation of floating paper and slide designs. */
.landing { --landing-accent:#6554c0; --landing-ink:#202027; width:100%; color:var(--landing-ink); background:#fff; }
.landing h1,.landing h2,.landing h3,.landing-brand,.landing-kicker,.landing-highlights,.landing-theme-info,.landing-preview-bar,.landing-step-number { font-family:Montserrat,Arial,sans-serif; }
.landing a { color:inherit; text-decoration:none; }
.landing-finale a.btn-primary { color:#fff; gap:18px; }
.landing a:focus-visible,.landing button:focus-visible,.landing input:focus-visible { outline:3px solid #ad9ff5; outline-offset:4px; }
.landing-universe { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:radial-gradient(ellipse at 50% 46%,#5d36df55 0,transparent 52%),linear-gradient(180deg,#13123f 0%,#28218e 42%,#392dd1 70%,#218ce4 100%); padding-bottom:30px; }
.landing-universe::after { content:''; position:absolute; bottom:-120px; left:-5%; right:-5%; height:230px; border-radius:50%; background:#67cdff30; filter:blur(45px); z-index:-1; }
.landing-topline { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:29px 46px; gap:20px; }
.landing-brand { display:inline-flex; align-items:center; gap:11px; font-size:24px; font-weight:700; letter-spacing:-1px; white-space:nowrap; }
.landing-brand-mark { position:relative; display:inline-block; width:30px; height:28px; }.landing-brand-mark i { position:absolute; width:20px; height:16px; border:1.5px solid #c7baff; border-radius:3px; background:#262058; }.landing-brand-mark i:nth-child(1) { top:0; left:0; }.landing-brand-mark i:nth-child(2) { top:5px; left:5px; }.landing-brand-mark i:nth-child(3) { top:10px; left:10px; background:#b8a4ff; }
.landing-beta { align-self:center; color:#c8c1e6; border:1px solid #ffffff30; padding:4px 7px; border-radius:6px; font-size:10px; font-weight:400; letter-spacing:0; }
.landing-language { display:flex; align-items:center; gap:3px; padding:4px; border:1px solid #ffffff25; border-radius:30px; background:#ffffff08; }
.landing-language button { font:11px Montserrat,sans-serif; color:#c6c0e4; background:transparent; border:0; border-radius:22px; padding:8px 12px; cursor:pointer; }.landing-language button[aria-pressed='true'] { color:#29204e; background:#f3eeff; font-weight:700; }.landing-language button:hover:not([aria-pressed='true']) { background:#ffffff15; }
.landing-center { position:relative; z-index:1; max-width:1000px; margin:auto; padding:26px 24px 42px; text-align:center; }
.landing-kicker { font-size:10px; font-weight:700; letter-spacing:.14em; line-height:1.6; margin-bottom:20px; color:#746b88; }.landing-center>.landing-kicker { display:inline-flex; align-items:center; gap:10px; padding:8px 18px; border:1px solid #ffffff30; border-radius:30px; background:#ffffff08; color:#e0d4ff; font-size:10px; letter-spacing:.12em; }.landing-center>.landing-kicker>span { font-size:17px; line-height:1; }
.landing-center h1 { font-weight:700; font-size:clamp(42px,5.15vw,70px); line-height:1.08; letter-spacing:-3px; margin:11px 0 22px; color:#fff; }.landing-center h1>span { color:#fff; }
.landing-lead { font-family:Lora,Georgia,serif; font-size:16px; line-height:1.8; color:#d0c7ed; max-width:630px; margin:0 auto; }
.landing .landing-access { width:100%; max-width:550px; text-align:left; padding:24px 26px; margin:27px auto 0; border:1px solid #ffffff36; border-radius:18px; background:#110d3e4d; backdrop-filter:blur(16px); box-shadow:0 10px 35px -15px #08042770; color:#fff; }
.landing-access h2 { font-weight:700; font-size:18px; line-height:1.4; letter-spacing:-.25px; color:#fff; margin-bottom:7px; }.landing-access .landing-access-description { font-family:Lora,Georgia,serif; font-size:12px; line-height:1.7; color:#d7ccec; margin-bottom:18px; }
.landing-access #email-form,.landing-access #code-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; align-items:center; }
.landing-access label { grid-column:1/-1; font-size:10px; color:#ded4f3; margin:0 0 2px; }
.landing-access input { min-width:0; margin:0; padding:14px; border:1px solid #ffffff50; border-radius:9px; background:#fff; color:#2c2349; font-size:12px; height:49px; }.landing-access input:focus { border-color:#a38afe; }.landing-access input::placeholder { color:#8b819e; }
.landing-access .btn-primary { background:#eae2ff; color:#2c205b; border-radius:9px; font-size:11px; font-weight:700; padding:14px 16px; height:49px; display:flex; align-items:center; justify-content:space-between; gap:18px; }.landing-access .btn-primary:hover { background:#fff; }
.landing-access #login-status { color:#f2d8ff; font-size:11px; line-height:1.6; margin-top:12px; overflow-wrap:anywhere; }.landing-access #login-status:empty { display:none; }
.landing-access .landing-access-note { font-family:Lora,Georgia,serif; font-size:10px; line-height:1.8; color:#c0b4dc; margin-top:14px; }
.landing-access #code-destination { grid-column:1/-1; font-size:11px; color:#e4d7f9; overflow-wrap:anywhere; margin-bottom:10px; }.landing-access #login-code { font-size:22px; letter-spacing:.3em; }.landing-access #code-form .btn-row { grid-column:1/-1; display:flex; gap:8px; margin-top:5px; }.landing-access #code-form .btn-row button { width:auto; flex:1; font-size:10px; padding:10px; border:1px solid #ffffff30; border-radius:8px; background:transparent; color:#e3d7f5; }
.landing-highlights { display:flex; justify-content:center; flex-wrap:wrap; list-style:none; gap:10px 23px; font-size:9px; color:#dfd4f5; margin-top:20px; }.landing-highlights li { display:flex; gap:7px; align-items:center; }.landing-highlights li>span { color:#bfb0ff; font-size:12px; }
.landing-sky { position:absolute; inset:0; pointer-events:none; z-index:-1; overflow:hidden; }.landing-star { position:absolute; width:var(--star-size); height:var(--star-size); top:var(--star-y); left:var(--star-x); background:#d9d8ff; border-radius:50%; box-shadow:0 0 7px #b3c8ff60; opacity:.45; animation:star-glow var(--star-duration) ease-in-out var(--star-delay) infinite alternate; }
/* Fixed edge anchors: wind pushes each carp inward and the rig pivots around its tether. */
.landing-floater { position:absolute; }
.koi-rig { transform-box:view-box; transform-origin:0px 90px; animation:koi-sway var(--float-duration,18s) ease-in-out var(--sway-delay,0s) infinite; }
.landing-floater svg { display:block; width:100%; overflow:visible; filter:drop-shadow(0 0 18px #8e9aff22); }
.floater-one { top:155px; left:0; width:290px; --koi-angle:8deg; --float-duration:13s; }
.floater-two { top:180px; right:0; width:245px; --koi-angle:12deg; --float-duration:16s; --sway-delay:-7s; opacity:.85; --wind-delay:-1.8s; }
.floater-three { left:0; top:510px; width:145px; --koi-angle:-8deg; --float-duration:19s; --sway-delay:-5s; opacity:.45; --wind-delay:-3s; }
.koi-body { transform-origin:64px 90px; animation:koi-billow 4.8s ease-in-out var(--wind-delay,0s) infinite; }
.koi-tail { transform-origin:280px 91px; animation:koi-tail-wave 2.4s ease-in-out var(--wind-delay,0s) infinite; }
.koi-fin { transform-origin:155px 90px; animation:koi-fin-wave 3.2s ease-in-out var(--wind-delay,0s) infinite; }

.landing-meteor { position:absolute; height:1px; width:130px; background:linear-gradient(90deg,transparent,#d5ceff80); transform:rotate(-35deg); opacity:0; animation:meteor-flight 17s linear infinite; }.meteor-one { top:44%; left:12%; animation-delay:4s; }.meteor-two { top:22%; right:12%; animation-delay:11s; animation-duration:23s; width:90px; }
.landing-deck-strip { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; width:calc(100% + 150px); max-width:1720px; left:50%; transform:translateX(-50%); margin:10px 0 0; padding:12px 0; }
.landing-deck { position:relative; min-width:0; aspect-ratio:1.58; padding:25px 28px; border-radius:11px; overflow:hidden; box-shadow:0 12px 25px -10px #090c5350; animation:deck-drift 12s ease-in-out infinite; --deck-angle:-3deg; }.landing-deck:nth-child(2) { --deck-angle:2deg; animation-delay:-3s; }.landing-deck:nth-child(3) { --deck-angle:-2deg; animation-delay:-6s; }.landing-deck:nth-child(4) { --deck-angle:3deg; animation-delay:-9s; }
.deck-overline { display:block; position:relative; z-index:1; font:7px Montserrat,sans-serif; letter-spacing:.12em; opacity:.65; }.landing-deck h3 { position:relative; z-index:1; font:700 clamp(22px,2.15vw,33px)/1.1 Montserrat,sans-serif; letter-spacing:-1px; margin-top:24px; }.landing-deck h3 em { font-family:Lora,Georgia,serif; font-weight:400; }.deck-bottom { position:absolute; z-index:1; bottom:18px; left:28px; font:7px Montserrat,sans-serif; opacity:.65; }
.deck-mint { background:#d7ec97; color:#202c22; }.deck-mint h3 { max-width:75%; }.deck-mint-art { position:absolute; width:160px; height:160px; right:-50px; top:40px; }.deck-mint-art i { position:absolute; inset:0; border:1px solid #35563e; border-radius:50%; }.deck-mint-art i:nth-child(2) { inset:18px; }.deck-mint-art i:nth-child(3) { inset:38px; background:#35563e; opacity:.85; }
.deck-apricot { background:#fff0dd; color:#4b282b; }.deck-apricot h3 { max-width:80%; }.deck-apricot-art { position:absolute; width:130px; height:130px; right:-38px; bottom:-22px; }.deck-apricot-art i { position:absolute; inset:0; background:#f57c56; border-radius:50%; }.deck-apricot-art i:nth-child(2) { transform:translate(-22px,-30px); background:#f2b87d; opacity:.8; }.deck-apricot-art i:nth-child(3) { transform:translate(12px,-60px); background:#ffb8b5; opacity:.7; }
.deck-cosmos { background:linear-gradient(135deg,#301339,#180e3a); color:#f5cbef; }.deck-cosmos-art { position:absolute; width:230px; height:230px; right:-70px; top:-85px; }.deck-cosmos-art i { position:absolute; inset:0; border:1px solid #db82c5; border-radius:50%; opacity:.5; }.deck-cosmos-art i:nth-child(2) { inset:32px; background:#9c5da0; opacity:.2; }
.deck-paper { background:#f5f3ed; color:#302d4e; }.deck-paper-art { position:absolute; font:150px/1 Montserrat,sans-serif; color:#e3deef; bottom:16px; right:8px; transform:rotate(-12deg); }
.landing-universe-caption { position:relative; z-index:1; text-align:center; font:11px Montserrat,sans-serif; color:#ddedff; margin:28px 24px 5px; }
.landing-detail { max-width:1184px; margin:auto; padding:64px 40px 0; background:#fff; }
.landing-detail>.landing-preview { max-width:840px; margin:0 auto 65px; }
.landing-themes,.landing-how { padding:65px 0; border-top:1px solid #ecebf0; scroll-margin-top:24px; }
.landing-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:34px; }.landing-section-heading .landing-kicker { margin-bottom:16px; }.landing-section-heading h2 { font-weight:700; font-size:36px; line-height:1.18; letter-spacing:-1.3px; }.landing-section-heading>p { max-width:290px; font-size:14px; line-height:1.85; color:#77707f; }
@keyframes star-glow { from { opacity:.15; } to { opacity:.75; } }
@keyframes koi-sway { 0%,100% { transform:rotate(calc(var(--koi-angle) - 5deg)); } 50% { transform:rotate(calc(var(--koi-angle) + 5deg)); } }
@keyframes koi-billow { 0%,100% { transform:rotate(-2deg) skewY(-2deg) scaleY(.95); } 50% { transform:rotate(3deg) skewY(2deg) scaleY(1.04); } }
@keyframes koi-tail-wave { 0%,100% { transform:rotate(-9deg) scaleY(.88); } 50% { transform:rotate(11deg) scaleY(1.04); } }
@keyframes koi-fin-wave { 0%,100% { transform:skewX(-6deg) scaleY(.92); } 50% { transform:skewX(6deg) scaleY(1.05); } }
@keyframes deck-drift { 0%,100% { transform:translateY(0) rotate(var(--deck-angle)); } 50% { transform:translateY(-9px) rotate(calc(var(--deck-angle) + 1deg)); } }
@keyframes meteor-flight { 0%,70%,100% { opacity:0; transform:translate(0,0) rotate(-35deg); } 74% { opacity:.6; } 83% { opacity:0; transform:translate(-180px,125px) rotate(-35deg); } }
body:not(.landing-visible) .landing * { animation-play-state:paused !important; }
.landing-preview { grid-area:preview; margin:7px 0 0; border:1px solid #e3dfea; border-radius:13px; background:#fff; box-shadow:0 12px 35px -18px #41375a28; overflow:hidden; }
.landing-preview-bar { display:flex; align-items:center; gap:12px; padding:13px 16px; border-bottom:1px solid #eeeaf2; color:#756e80; font-size:9px; }
.landing-window-dots { display:flex; gap:4px; }.landing-window-dots i { width:5px; height:5px; border-radius:50%; background:#d7d1df; }
.landing-file-label { margin-left:auto; font-family:monospace; color:#aaa3b2; }
.landing-preview-body { display:grid; grid-template-columns:1fr 1.9fr; min-height:228px; }
.landing-source { padding:22px 16px; border-right:1px solid #eeeaf2; min-width:0; }
.landing-source-label { font:8px Montserrat,sans-serif; color:#a8a1b1; letter-spacing:.12em; margin-bottom:19px; }
.landing-source-lines { display:flex; flex-direction:column; gap:6px; color:#716980; font:9px/1.4 monospace; }.landing-source-lines b { font-weight:400; color:#a485ce; }.landing-source-break { height:2px; }
.landing-slide { --demo-bg:#1a0533; --demo-title:#f7d794; --demo-body:#dfe6e9; --demo-accent:#e056a0; --demo-title-font:Montserrat,sans-serif; --demo-body-font:Montserrat,sans-serif; position:relative; overflow:hidden; min-width:0; padding:31px 27px; color:var(--demo-title); background:var(--demo-bg); }
.landing-slide[data-demo-theme='Mumbai'] { background:linear-gradient(135deg,#2d1250,#1a0533 45%,#0a1628); }
.landing-slide-eyebrow { position:relative; z-index:1; display:block; font:7px Montserrat,sans-serif; letter-spacing:.15em; opacity:.65; margin-bottom:26px; }
.landing-slide h3 { position:relative; z-index:1; font-family:var(--demo-title-font); font-size:27px; line-height:1.15; letter-spacing:-.6px; margin-bottom:14px; color:var(--demo-title); }
.landing-slide p { position:relative; z-index:1; font-family:var(--demo-body-font); font-size:9px; color:var(--demo-body); }
.landing-slide-number,.landing-slide-wordmark { position:absolute; bottom:18px; font:7px Montserrat,sans-serif; color:var(--demo-body); opacity:.6; }.landing-slide-number { left:27px; }.landing-slide-wordmark { right:22px; }
.landing-slide-orbit { position:absolute; right:-45px; top:32px; width:150px; height:150px; opacity:.45; }.landing-slide-orbit i { position:absolute; inset:0; border:1px solid var(--demo-accent); border-radius:50%; }.landing-slide-orbit i:nth-child(2) { inset:20px; }.landing-slide-orbit i:nth-child(3) { inset:40px; background:var(--demo-accent); opacity:.2; }
.landing-preview figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; font:9px Montserrat,sans-serif; color:#82788f; }.landing-preview-hint { display:flex; gap:5px; color:#6554c0; }
.landing-themes,.landing-how { padding:72px 0; border-top:1px solid #ecebf0; scroll-margin-top:24px; }
.landing-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:34px; }
.landing-section-heading .landing-kicker { margin-bottom:16px; }
.landing-section-heading h2 { font-weight:700; font-size:36px; line-height:1.18; letter-spacing:-1.3px; }
.landing-section-heading>p { max-width:290px; font-size:14px; line-height:1.85; color:#77707f; }
.landing-theme-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.landing-theme-option { display:block; text-align:left; border:1px solid #e3dfea; background:#fff; padding:0; border-radius:13px; overflow:hidden; cursor:pointer; transition:transform .2s,border-color .2s,box-shadow .2s; color:var(--landing-ink); }
.landing-theme-option:hover { transform:translateY(-3px); border-color:#a69acb; }.landing-theme-option[aria-pressed='true'] { border-color:var(--landing-accent); box-shadow:0 0 0 2px #6554c015; }
.landing-theme-cover { display:flex; flex-direction:column; position:relative; aspect-ratio:16/9; padding:24px 28px; overflow:hidden; }
.landing-theme-overline { font:8px Montserrat,sans-serif; letter-spacing:.1em; opacity:.65; }
.landing-theme-title { font-size:28px; line-height:1.15; letter-spacing:-.7px; margin-top:auto; position:relative; z-index:1; }
.landing-theme-tokyo { background:#fafaf8; color:#1a1a1a; font-family:system-ui,sans-serif; }.landing-theme-tokyo .landing-theme-decoration { position:absolute; width:70px; height:70px; border-radius:50%; background:#c0392b; right:25px; top:33px; opacity:.85; }
.landing-theme-paris { background:#fdfbf7; color:#3d2b1f; font-family:Georgia,serif; }.landing-theme-paris .landing-theme-decoration { position:absolute; width:100px; height:130px; border:1px solid #b89a6a; border-radius:80px 80px 0 0; right:30px; top:30px; opacity:.4; }
.landing-theme-mumbai { background:linear-gradient(135deg,#2d1250,#1a0533 45%,#0a1628); color:#f7d794; font-family:Montserrat,sans-serif; font-weight:700; }.landing-theme-mumbai .landing-theme-decoration { position:absolute; width:115px; height:115px; border:1px solid #e056a0; border-radius:50%; right:-20px; top:35px; box-shadow:0 0 0 15px #e056a015,0 0 0 30px #e056a015; }
.landing-theme-info { position:relative; display:flex; flex-direction:column; gap:6px; padding:19px 22px; background:#fff; }.landing-theme-info strong { font-size:13px; }.landing-theme-info>span:not(.landing-theme-select) { font-size:10px; color:#8c8497; }.landing-theme-select { position:absolute; right:22px; top:24px; font-size:17px; color:var(--landing-accent); }
.landing-theme-note { margin-top:20px; text-align:center; font-size:11px; line-height:1.8; color:#8b8298; }
.landing-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; }
.landing-steps article { position:relative; border-top:1px solid #e6e1ed; padding-top:22px; }
.landing-step-number { font-size:11px; color:#978caa; }
.landing-step-art { position:relative; width:100%; height:94px; margin:14px 0 24px; color:var(--landing-accent); }
.landing-art-write { padding:18px 24px; width:150px; border:1px solid #e7e0f2; border-radius:9px; transform:rotate(-4deg); }.landing-art-write>span { font:24px monospace; position:absolute; top:16px; left:16px; }.landing-art-write i { display:block; height:3px; background:#d3c7eb; margin:9px 0 0 24px; border-radius:2px; }.landing-art-write i:last-child { width:50px; }
.landing-art-theme { display:flex; align-items:center; padding-left:10px; }.landing-art-theme i { width:54px; height:68px; border-radius:8px; background:#fff; border:1px solid #ddd2ed; transform:rotate(-9deg); box-shadow:0 5px 15px -6px #72609430; }.landing-art-theme i:nth-child(2) { background:#e8deff; margin-left:-8px; transform:rotate(0); }.landing-art-theme i:nth-child(3) { background:#6554c0; margin-left:-8px; transform:rotate(9deg); }
.landing-art-present { display:flex; align-items:center; gap:10px; }.landing-art-present>span { display:grid; place-items:center; width:56px; height:56px; border:1px solid #ded3f2; border-radius:50%; font:30px Montserrat,sans-serif; }.landing-art-present i { padding:13px 9px; border:1px solid #e7e1ef; border-radius:8px; font:10px Montserrat,sans-serif; color:#9487ab; }
.landing-steps h3 { font-size:17px; font-weight:700; letter-spacing:-.3px; margin-bottom:14px; }.landing-steps p { font-size:13px; line-height:1.95; color:#7b7385; }
.landing-finale { padding:65px 0 76px; border-top:1px solid #ecebf0; text-align:center; }
.landing-finale-symbol { display:inline-block; font-size:47px; color:var(--landing-accent); margin-bottom:20px; }.landing-finale h2 { font-size:38px; line-height:1.2; letter-spacing:-1.3px; font-weight:700; }.landing-finale p { margin:20px auto 25px; font-size:14px; line-height:1.8; color:#7b7385; }.landing-finale .btn { display:inline-flex; font-family:Montserrat,sans-serif; }
.landing-footer { padding:26px 0 34px; border-top:1px solid #ecebf0; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#8b8298; font:11px Montserrat,sans-serif; }.landing-footer .landing-brand { font-size:18px; color:var(--landing-ink); }.landing-footer a:hover { color:var(--landing-accent); }
.landing-detail .landing-footer .landing-brand { color:#202027; }
@media(min-width:1700px) { .landing-deck-strip { width:calc(100% - 30px); } }
@media(max-width:1050px) { .floater-one { width:235px; opacity:.6; }.floater-two { width:205px; opacity:.6; }.landing-deck { padding:22px; }.landing-deck h3 { font-size:25px; }.landing-deck-strip { width:calc(100% + 330px); }.landing-slide h3 { font-size:25px; }.landing-theme-title { font-size:24px; } }
@media(max-width:700px) { .landing-topline { padding:23px 22px; }.landing-brand { font-size:21px; gap:9px; }.landing-beta { display:none; }.landing-language button { padding:7px 10px; font-size:10px; }.landing-center { padding:24px 20px 32px; }.landing-center>.landing-kicker { font-size:8px; padding:7px 12px; margin-bottom:16px; }.landing-center h1 { font-size:clamp(27px,7.2vw,42px); line-height:1.12; letter-spacing:-1.6px; margin:9px 0 18px; }.landing-lead { font-size:13px; line-height:1.8; max-width:370px; }.landing .landing-access { max-width:470px; padding:20px; margin-top:24px; }.landing-access h2 { font-size:17px; }.landing-access .landing-access-description { font-size:11px; margin-bottom:15px; }.landing-access #email-form,.landing-access #code-form { grid-template-columns:minmax(0,1fr); gap:10px; }.landing-access .btn-primary { justify-content:center; font-size:12px; gap:20px; width:100%; }.landing-access label { font-size:10px; }.landing-access input { font-size:13px; }.landing-access .landing-access-note { font-size:10px; }.landing-highlights { gap:10px 13px; font-size:8px; margin-top:18px; }.floater-one { top:105px; width:120px; opacity:.45; }.floater-two { top:90px; width:115px; opacity:.45; }.floater-three { display:none; }.landing-deck-strip { width:calc(100% + 520px); gap:15px; margin-top:4px; }.landing-deck { padding:20px; aspect-ratio:1.55; }.landing-deck h3 { font-size:23px; margin-top:20px; }.deck-overline { font-size:6px; }.deck-bottom { font-size:6px; left:20px; }.landing-universe-caption { font-size:9px; margin-top:22px; }.landing-detail { padding:42px 24px 0; }.landing-detail>.landing-preview { margin-bottom:42px; }.landing-preview-body { grid-template-columns:1fr 1.7fr; min-height:210px; }.landing-slide { padding:26px 20px; }.landing-slide h3 { font-size:23px; }.landing-slide-eyebrow { font-size:6px; }.landing-section-heading { flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:24px; }.landing-section-heading h2 { font-size:29px; letter-spacing:-.9px; }.landing-section-heading>p { max-width:none; font-size:13px; }.landing-themes,.landing-how { padding:44px 0; }.landing-theme-options { gap:12px; grid-template-columns:minmax(0,1fr); }.landing-theme-option { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }.landing-theme-cover { padding:16px 18px; min-height:135px; }.landing-theme-title { font-size:23px; }.landing-theme-info { justify-content:center; padding:20px; }.landing-theme-select { top:20px; right:18px; }.landing-theme-tokyo .landing-theme-decoration { right:15px; width:50px; height:50px; top:17px; }.landing-theme-paris .landing-theme-decoration { width:70px; height:90px; right:17px; top:15px; }.landing-theme-note { font-size:10px; text-align:left; }.landing-steps { grid-template-columns:1fr; gap:32px; }.landing-step-art { margin-bottom:16px; height:80px; }.landing-steps h3 { font-size:18px; }.landing-steps p { font-size:13px; }.landing-finale { padding:42px 0 50px; }.landing-finale h2 { font-size:29px; }.landing-finale p { font-size:13px; }.landing-footer { flex-wrap:wrap; justify-content:flex-start; gap:15px 30px; }.landing-footer>span { flex-basis:100%; font-size:10px; } }
@media(max-width:380px) { .landing-topline { padding:20px 18px; }.landing-center { padding:17px 18px 26px; }.landing-center h1 { font-size:26px; }.landing-lead { font-size:12px; }.landing .landing-access { padding:18px; margin-top:20px; }.landing-access .landing-access-description { font-size:10px; }.landing-highlights { gap:8px 10px; font-size:7px; }.landing-detail { padding-left:18px; padding-right:18px; }.landing-preview-body { grid-template-columns:1fr 1.65fr; }.landing-source { padding:20px 12px; }.landing-source-lines { font-size:8px; }.landing-slide { padding:26px 17px; }.landing-slide h3 { font-size:22px; }.landing-preview-bar { padding:12px; font-size:8px; }.landing-file-label { display:none; }.landing-preview figcaption { font-size:8px; padding:13px 12px; }.landing-theme-title { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .landing *, .landing *::before,.landing *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }.koi-rig { transform:rotate(var(--koi-angle)); }.landing-deck { transform:rotate(var(--deck-angle)); }.landing-theme-option:hover { transform:none; }.landing-meteor { display:none; } }

.ai-dialog {font-family:Montserrat,Arial,sans-serif;width:min(680px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:28px;border:1px solid var(--ui-border,#ddd);border-radius:16px;background:var(--ui-surface,#fff);color:var(--ui-text,#111)}
.ai-dialog label {display:block;margin:14px 0;font-weight:600}.ai-dialog input,.ai-dialog select,.ai-dialog textarea {display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid var(--ui-border,#ccc);border-radius:6px;background:var(--ui-surface,#fff);color:var(--ui-text,#111)}
.ai-dialog textarea {resize:vertical}.ai-dialog #ai-result {font:12px/1.5 monospace}.ai-fields {display:grid;grid-template-columns:1fr 2fr;gap:16px}.ai-metrics {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.ai-metrics div {padding:16px;border:1px solid var(--ui-border,#ddd);border-radius:10px}.ai-metrics strong,.ai-metrics span {display:block}.ai-metrics strong {font-size:24px}.ai-metrics span {margin-top:8px;font-size:13px}#ai-settings .table-wrap {max-height:400px;overflow:auto}#ai-settings table {min-width:700px}
@media(max-width:700px){.ai-metrics{grid-template-columns:repeat(2,1fr)}.ai-fields{grid-template-columns:1fr}.preview-pane .pane-toolbar{flex-wrap:wrap;gap:8px}.preview-theme-control{flex-wrap:wrap;gap:6px}.preview-theme-control .btn{font-size:12px;padding:6px 9px}}

.preview-pane .pane-toolbar{min-height:48px;height:auto;flex-wrap:wrap;gap:8px}.preview-theme-control{flex-wrap:wrap;gap:6px}.preview-theme-control .btn{font-size:11px;padding:6px 9px}

.global-edit-banner{font-family:Montserrat,Arial,sans-serif;position:sticky;top:0;z-index:11000;background:#b91c1c;color:#fff;padding:16px 24px;border-bottom:4px solid #7f1d1d}.global-edit-banner[hidden]{display:none}.global-edit-banner strong{font-size:18px}.global-edit-banner p{margin:8px 0;max-width:1000px}.global-edit-banner button{margin-right:12px}.preview-actions select{max-width:150px}
.css-source{position:relative}.css-source-highlight,.css-source #theme-css{box-sizing:border-box!important;margin:0!important;padding:12px!important;font:13px/1.6 monospace!important;letter-spacing:normal!important;tab-size:4;white-space:pre-wrap!important;overflow-wrap:break-word!important;width:100%;border:1px solid transparent!important;border-radius:4px}.css-source-highlight{scrollbar-gutter:stable;position:absolute;inset:0;pointer-events:none;color:transparent;overflow:hidden;background:var(--ui-bg)}.css-source-highlight mark{color:transparent;background:#fde047;border-radius:2px}.css-source #theme-css{position:relative;background:transparent!important;color:var(--ui-text)!important;caret-color:var(--ui-text);display:block;resize:vertical}.css-highlight-hint{font-size:12px;color:var(--ui-muted)}

.theme-visual-options{margin:16px 0;padding:12px;border:1px solid var(--ui-border,#ddd);border-radius:8px}.theme-visual-options summary{cursor:pointer;font-size:13px;font-weight:600}.theme-visual-options[open] summary{margin-bottom:12px}

/* Image studio: shared interface palette, explicit surfaces and responsive composition. */
.image-dialog {box-sizing:border-box;margin:auto;width:min(1000px,calc(100vw - 40px));max-height:90vh;overflow:auto;padding:0;border:1px solid var(--ui-border,#dedee7);border-radius:22px;background:var(--ui-surface,#fff);color:var(--ui-text,#202027);font:14px/1.6 Montserrat,Arial,sans-serif;box-shadow:0 24px 90px #0004}
.image-dialog::backdrop {background:#11132a99;backdrop-filter:blur(6px)}
.image-dialog [hidden]{display:none!important}.image-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px 20px}.image-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--ui-muted,#777)}.image-dialog h2{font-size:24px;line-height:1.3;margin:6px 0}.image-dialog h3{font-size:15px;margin:0 0 16px}.image-dialog-header p{margin:0;color:var(--ui-muted,#777)}.image-close{border:0;background:var(--ui-bg,#f4f4f8);color:inherit;border-radius:50%;width:36px;height:36px;font-size:26px;cursor:pointer;line-height:1}
.image-tabs{display:flex;gap:8px;padding:0 32px 20px;border-bottom:1px solid var(--ui-border,#e6e6ee)}.image-tabs button{font:inherit;font-size:12px;font-weight:600;color:inherit;background:transparent;border:0;border-radius:9px;padding:9px 14px;cursor:pointer}.image-tabs button[aria-pressed=true]{background:var(--ui-text,#252538);color:var(--ui-surface,#fff)}.image-tabs button:last-child{margin-left:auto;color:var(--ui-muted,#777)}
.image-dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px}.image-source{padding:28px 32px;min-width:0}.image-layout-panel{padding:28px 24px;background:var(--ui-bg,#f7f7fb);border-left:1px solid var(--ui-border,#e6e6ee)}.image-dialog label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}.image-dialog input,.image-dialog select,.image-dialog textarea{display:block;box-sizing:border-box;width:100%;font:inherit;margin-top:6px;padding:10px 12px;border:1px solid var(--ui-border,#dedee7);border-radius:9px;background:var(--ui-surface,#fff);color:var(--ui-text,#202027)}.image-dialog textarea{resize:vertical;line-height:1.7;min-height:150px}.image-dialog :is(input,select,textarea,button):focus-visible{outline:2px solid #8971ed;outline-offset:3px}.image-dialog :disabled{opacity:.5;cursor:wait}.image-hint{font-size:11px;font-weight:400;line-height:1.7;color:var(--ui-muted,#777)}.image-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.image-size-row{display:grid;grid-template-columns:1fr 80px;gap:10px}.image-dialog-footer{padding:14px 32px;border-top:1px solid var(--ui-border,#e6e6ee)}.image-dialog-footer p{margin:4px 0}#image-modal-status{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.image-search{display:grid;grid-template-columns:1fr;gap:8px}.image-search input,.image-search select{margin:0}.image-search button{justify-self:start}#image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:20px 0}.image-library-card{padding:10px;border:1px solid var(--ui-border,#dedee7);border-radius:14px;min-width:0;background:var(--ui-bg,#f8f8fc)}.image-library-card img{width:100%;height:130px;object-fit:contain;border-radius:8px;background:var(--ui-surface,#fff)}.image-library-card p{font-size:11px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:48px}.image-library-card button{width:100%;font-size:11px!important}
.image-composition-preview{aspect-ratio:16/9;background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#ddd);border-radius:12px;margin-bottom:22px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;box-sizing:border-box}.image-mini-text{font-size:10px;line-height:1.8;flex:1;z-index:2;pointer-events:none}.image-mini-art{background:#c6baf1;color:#5a418e;border-radius:5px;display:flex;align-items:center;justify-content:center;min-width:0;flex-shrink:0;font-size:30px;overflow:hidden;max-height:100%}.image-mini-art img{width:100%;height:100%;object-fit:var(--image-fit,contain)}.image-composition-preview[data-position=center]{flex-direction:column}.image-composition-preview[data-position=center] .image-mini-text{flex:0}.image-composition-preview[data-position=left]{flex-direction:row-reverse}.image-composition-preview[data-position=full] .image-mini-art{position:absolute;inset:0;border-radius:0;aspect-ratio:auto!important}.image-composition-preview[data-position=full] .image-mini-art img{object-fit:cover}.image-composition-preview[data-position=full] .image-mini-text{background:#ffffffbb;color:#222;border-radius:4px;padding:4px}
@media(max-width:700px){.image-dialog{width:calc(100vw - 20px)}.image-dialog-grid{grid-template-columns:1fr}.image-dialog-header,.image-source{padding:20px}.image-tabs{padding:0 20px 16px;gap:2px}.image-tabs button{padding:8px}.image-layout-panel{border-left:0;border-top:1px solid var(--ui-border,#ddd);padding:20px}.image-composition-preview{max-width:260px}.image-dialog-footer{padding:14px 20px}}
@media(min-width:701px) and (max-height:850px){.image-dialog-header{padding:20px 28px 14px}.image-tabs{padding:0 28px 14px}.image-source,.image-layout-panel{padding-top:20px;padding-bottom:20px}.image-dialog label{margin-bottom:12px}.image-dialog textarea{min-height:120px}.image-composition-preview{margin-bottom:16px;max-height:115px}.image-layout-panel .image-hint{font-size:10px}.image-dialog-footer{padding-top:8px;padding-bottom:8px}}

.image-header-actions{display:flex;align-items:center;gap:12px}.image-header-actions .btn{font-size:11px;padding:7px 12px;white-space:nowrap}.image-header-actions .image-close{flex-shrink:0}@media(max-width:700px){.image-dialog-header{gap:12px}.image-header-actions{flex-direction:column-reverse;align-items:flex-end;gap:8px}.image-header-actions .btn{white-space:normal;max-width:100px;line-height:1.4}}

/* A soft surface groups image generation without the browser's fieldset border. */
.image-generation-settings{min-width:0;margin:24px 0;padding:20px 24px;border:0;border-radius:14px;background:var(--ui-bg,#f7f7f8)}
.image-generation-settings>legend{float:left;width:100%;margin:0 0 18px;padding:0;font-size:15px;font-weight:700;color:var(--ui-text,#24242a)}
.image-generation-settings>div,.image-generation-settings>label{clear:both}
@media(max-width:600px){.image-generation-settings{padding:18px}}
/* Presentation studio: content and optional visual direction share one dialog. */
#ai-dialog{width:min(940px,calc(100vw - 32px));padding:0;border:0;border-radius:22px;box-shadow:0 24px 90px #0003;max-height:92vh;overflow:auto}
#ai-dialog::backdrop{background:#17192366;backdrop-filter:blur(5px)}
#ai-dialog .ai-dialog-header{display:flex;align-items:center;gap:18px;padding:26px 30px;border-bottom:1px solid var(--ui-border)}
#ai-dialog .ai-studio-icon{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:16px;background:var(--ui-subtle);font-size:28px;color:var(--ui-text)}
#ai-dialog .ai-studio-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;margin:0 0 6px;color:var(--ui-muted)}
#ai-dialog h2{font-size:27px;letter-spacing:-.04em;margin:0 0 6px;line-height:1.2}#ai-dialog-intro{font-size:12px;margin:0;color:var(--ui-muted)}
#ai-dialog .ai-dialog-body{padding:20px 30px}#ai-dialog .ai-model-field{display:block;max-width:360px;margin:0 0 20px}#admin-ai-prompt textarea{width:100%;font:12px/1.55 monospace;resize:vertical}#admin-ai-prompt .btn-row{margin-top:12px}
#ai-dialog .ai-compose-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
#ai-dialog h3{font-size:14px;margin:0 0 18px;letter-spacing:-.02em}#ai-dialog label{font-size:12px;margin:0 0 16px;line-height:1.5}
#ai-dialog input,#ai-dialog textarea,#ai-dialog select{font:12px/1.5 Montserrat,Arial,sans-serif;padding:11px 12px;border-radius:9px;min-width:0}
#ai-dialog textarea:focus,#ai-dialog input:focus,#ai-dialog select:focus{outline:2px solid #8b86cc;outline-offset:2px}
#ai-dialog .ai-fields{grid-template-columns:90px minmax(0,1fr);gap:12px}#ai-dialog .ai-field-hint{font-size:11px;line-height:1.65;color:var(--ui-muted);margin:0 0 16px}
#ai-dialog .ai-image-options{background:var(--ui-subtle);padding:22px;border:1px solid var(--ui-border);border-radius:16px}
#ai-dialog .ai-image-checkbox{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}#ai-dialog .ai-image-checkbox input{appearance:auto;display:inline-block;flex:0 0 16px;width:16px;height:16px;min-height:0;margin:2px 0;padding:0;accent-color:#68629b}
#ai-dialog .ai-template-example{padding:12px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:9px;overflow-wrap:anywhere}#ai-dialog .ai-template-example span{font-size:10px;color:var(--ui-muted)}#ai-dialog .ai-template-example p{font-size:11px;line-height:1.6;margin:6px 0 0}
#ai-dialog .ai-language-field{max-width:360px;margin-top:20px}#ai-dialog .ai-dialog-footer{position:sticky;bottom:0;background:var(--ui-surface);padding:16px 30px;border-top:1px solid var(--ui-border)}#ai-dialog .ai-dialog-footer .btn-row{justify-content:flex-end;margin:0}
#ai-progress:empty{display:none}#ai-dialog #ai-progress{font-size:12px;line-height:1.6;margin:0 0 12px;color:var(--ui-muted)}
#ai-dialog[data-operation="translate"]{width:min(680px,calc(100vw - 32px))}
@media(max-width:700px){#ai-dialog .ai-compose-grid{grid-template-columns:1fr;gap:22px}#ai-dialog .ai-dialog-body{padding:20px}#ai-dialog .ai-dialog-header{padding:22px 20px}#ai-dialog .ai-dialog-footer{padding:14px 20px}#ai-dialog h2{font-size:23px}}
#ai-dialog{box-sizing:border-box;margin:auto;overflow:hidden}#ai-dialog #ai-form{display:flex;flex-direction:column;max-height:92vh;margin:0}#ai-dialog .ai-dialog-header,#ai-dialog .ai-dialog-footer{flex-shrink:0}#ai-dialog .ai-dialog-body{overflow:auto;min-height:0}#ai-dialog .ai-dialog-footer{position:static}

/* Landing review: demo in the first screen, guest access, code boxes and calmer decoration. */
.landing-hero-demo { max-width:820px; margin:40px auto 0!important; text-align:left; box-shadow:0 30px 60px -25px #0a083a99; border-color:#ffffff40!important; }
.landing-hero-demo .landing-preview-body { min-height:240px; }
.landing-slide-two { position:absolute; inset:0; padding:31px 27px; opacity:0; transition:opacity .35s; z-index:1; }
.landing-slide-two ul { margin:0; padding-left:16px; font-family:var(--demo-body-font); font-size:11px; line-height:1.9; color:var(--demo-body); }
.landing-slide-two li,.landing-slide-two h3 { transition:opacity .35s,transform .35s; }
.landing-slide-number span { transition:opacity .3s; }
.landing-slide-number .demo-two { position:absolute; left:0; opacity:0; }
.landing-slide-number { position:absolute; }
.is-animated .landing-source-lines > span { opacity:0; transform:translateY(3px); transition:opacity .25s,transform .25s; }
.is-animated .landing-source-lines > span.typed { opacity:1; transform:none; }
.is-animated .landing-source-lines > span.typed:not(:has(~ .typed))::after { content:''; display:inline-block; width:6px; height:11px; margin-left:3px; vertical-align:-2px; background:#a485ce; animation:caret-blink 1s steps(1) infinite; }
.is-animated .landing-slide > :is(h3,p,.landing-slide-eyebrow) { opacity:0; transform:translateY(6px); transition:opacity .35s,transform .35s; }
.is-animated[data-demo="title"] .landing-slide > :is(h3,.landing-slide-eyebrow),.is-animated[data-demo="body"] .landing-slide > :is(h3,p,.landing-slide-eyebrow) { opacity:1; transform:none; }
.is-animated[data-demo^="two"] .landing-slide-two { opacity:1; }
.is-animated[data-demo^="two"] .landing-slide-number .demo-one { opacity:0; }
.is-animated[data-demo^="two"] .landing-slide-number .demo-two { opacity:1; }
.is-animated .landing-slide-two :is(h3,li,.landing-slide-eyebrow) { opacity:0; transform:translateY(6px); }
.is-animated:is([data-demo="two-title"],[data-demo="two-list1"],[data-demo="two-list2"]) .landing-slide-two :is(h3,.landing-slide-eyebrow),.is-animated:is([data-demo="two-list1"],[data-demo="two-list2"]) .landing-slide-two li:first-child,.is-animated[data-demo="two-list2"] .landing-slide-two li:last-child { opacity:1; transform:none; }
.landing-hero-demo:not(.is-animated) .landing-slide-two { display:none; }
@keyframes caret-blink { 50% { opacity:0; } }
.landing-guest { display:flex; align-items:center; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid #ffffff1f; }
.landing-guest > span { font:11px Montserrat,sans-serif; color:#b9add6; }
.landing-guest-button { padding:0; border:0; background:none; color:#fff; font:700 12px Montserrat,sans-serif; cursor:pointer; text-decoration:underline; text-decoration-color:#ffffff60; text-underline-offset:4px; }
.landing-guest-button:hover { text-decoration-color:#fff; }
.landing-finale-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.landing-finale-actions .btn-secondary { background:#fff; color:var(--landing-ink); border:1px solid #d9d4e5; font-family:Montserrat,sans-serif; }
.otp-field { position:relative; width:100%; }
.otp-field input[data-otp] { position:absolute!important; inset:0; width:100%!important; height:100%!important; margin:0!important; padding:0!important; opacity:0; z-index:1; cursor:text; font-size:16px!important; letter-spacing:0!important; }
.otp-boxes { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.otp-boxes span { display:grid; place-items:center; height:52px; border:1px solid #d9d4e5; border-radius:10px; background:#fff; color:#2c2349; font:700 22px/1 'SF Mono',Consolas,monospace; transition:border-color .15s,box-shadow .15s; }
.otp-boxes span.is-active { border-color:#8b6dff; box-shadow:0 0 0 3px #8b6dff40; }
.otp-boxes span.is-active:empty::after { content:''; width:2px; height:24px; background:#8b6dff; animation:caret-blink 1s steps(1) infinite; }
.landing-access #code-form .otp-field { grid-column:1; }
.account-page .otp-field { margin:8px 0 18px; max-width:420px; }
.account-page .otp-boxes span { border-color:var(--ui-border); background:var(--ui-surface); color:var(--ui-text); }
.floater-one { top:96px; opacity:.6; }
.floater-two { top:120px; opacity:.5; }
.floater-three { top:auto; bottom:330px; opacity:.28; }
@media(max-width:700px) { .landing-hero-demo { margin-top:28px!important; } .landing-access #code-form .otp-field { grid-column:1/-1; } .otp-boxes { gap:6px; } .otp-boxes span { height:46px; font-size:19px; } }
@media(prefers-reduced-motion:reduce) { .is-animated .landing-source-lines > span,.is-animated .landing-slide *,.landing-slide-two { transition:none!important; } }
.landing-guest { justify-content:center; }
.landing .landing-access .landing-guest-button { width:auto; }
.landing-slide-number { white-space:nowrap; }
.landing-detail { padding-top:8px; }
.landing-detail > .landing-how:first-child { border-top:0; }
/* Theme switcher right under the hero demo, so the change is visible where it happens. */
.landing-slide { transition:background-color .45s,color .45s; }.landing-slide h3,.landing-slide p,.landing-slide-orbit i { transition:color .45s,border-color .45s,background-color .45s; }
.landing-preview figcaption.landing-demo-themes { flex-wrap:wrap; justify-content:center; gap:10px 14px; padding:14px 16px 16px; border-top:1px solid #eeeaf2; background:#faf9fc; font-size:11px; }
.landing-demo-themes-label { font-weight:700; color:#3b3155; white-space:nowrap; }.landing-demo-themes-label span { color:var(--landing-accent); }
.landing-demo-theme-options { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.landing-demo-theme-options button { display:inline-flex; align-items:center; gap:7px; padding:7px 13px 7px 8px; border:1px solid #ddd7e8; border-radius:999px; background:#fff; color:#3b3155; font:600 11px Montserrat,sans-serif; cursor:pointer; transition:border-color .2s,box-shadow .2s,transform .2s; }
.landing-demo-theme-options button:hover { border-color:#a69acb; transform:translateY(-1px); }
.landing-demo-theme-options button[aria-pressed='true'] { border-color:var(--landing-accent); box-shadow:0 0 0 3px #6554c026; color:var(--landing-ink); }
.landing-demo-theme-options button:focus-visible { outline:2px solid var(--landing-accent); outline-offset:2px; }
.landing-swatch { width:16px; height:16px; border-radius:50%; background:linear-gradient(135deg,var(--swatch-bg) 50%,var(--swatch-accent) 50%); box-shadow:inset 0 0 0 1px #00000026; }
.landing-demo-themes-note { color:#8b8298; white-space:nowrap; }
.landing-footer { justify-content:center; gap:28px; }

/* Image studio: current image, upload/link tab and library management. */
.image-tabs button:last-child{margin-left:auto}
.image-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.image-dialog-footer>div{min-width:0}#image-save-layout{flex-shrink:0}
.image-current{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:12px;margin-bottom:22px;border:1px solid var(--ui-border,#dedee7);border-radius:14px;background:var(--ui-bg,#f8f8fc)}.image-current img{width:96px;height:72px;object-fit:cover;border-radius:8px;background:var(--ui-surface,#fff)}.image-current strong{font-size:12px}.image-current p{margin:2px 0;font-size:12px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.image-dialog label.image-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 20px;border:1.5px dashed var(--ui-border,#cfcfdc);border-radius:14px;text-align:center;cursor:pointer;background:var(--ui-bg,#f8f8fc)}.image-drop:hover,.image-drop.is-dragging{border-color:#8971ed}.image-drop input{position:absolute;width:1px;height:1px;opacity:0}.image-drop-icon{font-size:22px}.image-drop:focus-within{outline:2px solid #8971ed;outline-offset:3px}
.image-upload-preview{display:flex;gap:14px;align-items:center;margin:-4px 0 16px}.image-upload-preview img{width:120px;height:80px;object-fit:contain;border-radius:8px;background:var(--ui-bg,#f4f4f8);border:1px solid var(--ui-border,#e6e6ee)}
.image-or{display:flex;align-items:center;gap:12px;margin:26px 0 18px;font-size:11px;color:var(--ui-muted,#777)}.image-or::before,.image-or::after{content:'';flex:1;height:1px;background:var(--ui-border,#e6e6ee)}
.image-library-card .image-card-meta{font-size:10px;color:var(--ui-muted,#777);margin:0 0 8px;min-height:0;-webkit-line-clamp:2}.image-card-tools{display:flex;gap:6px;margin-top:6px}.image-card-tools button{flex:1;padding:5px 6px;border:1px solid var(--ui-border,#dedee7);border-radius:7px;background:transparent;color:inherit;font:600 10px Montserrat,Arial,sans-serif;cursor:pointer}.image-card-tools .image-card-delete{color:#d4443c}.image-library-card input{margin:0 0 8px;font-size:11px;padding:6px 8px}
/* API and MCP settings: grouped surfaces, scope checkboxes, key and connected-app rows. */
.integration-group p{clear:both}.integration-copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.integration-copy-row code{padding:8px 12px;border-radius:8px;background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#ddd);overflow-wrap:anywhere}
.integration-scopes{display:grid;gap:6px;margin:14px 0}.integration-scopes label{display:flex;gap:10px;align-items:flex-start;font-weight:400}.integration-scopes input{width:auto;margin-top:4px}
.integration-list{display:grid;gap:10px;margin-top:12px}.integration-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--ui-border,#ddd);border-radius:10px;background:var(--ui-surface,#fff)}.integration-item strong{display:block}.integration-item span{color:var(--ui-muted,#666);font-size:13px}.integration-item .btn-row{display:flex;gap:8px;flex-wrap:wrap}.integration-item .btn{font-size:12px;padding:7px 12px}
.integration-config{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border-radius:10px;background:var(--ui-bg,#f6f5fa);color:var(--ui-text,#24242a);border:1px solid var(--ui-border,#ddd);font:12px/1.6 ui-monospace,monospace;margin:10px 0}
#integration-secret{margin-top:20px}#settings-api details{margin-top:14px}#settings-api summary{cursor:pointer;font-weight:600}#integration-secret .btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}#integration-activity-details table{min-width:560px}
