:root{--bg:#f5f8ff;--surface:#fff;--ink:#0f172a;--muted:#64748b;--line:#dbe4f0;--blue:#1677ff;--purple:#7c3aed;--navy:#071a38;--cyan:#38bdf8;--green:#10b981;--danger:#ef4444;--shadow:0 12px 30px rgba(15,23,42,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans Khmer",Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.row{display:flex;align-items:center}.gap{gap:10px}.muted{color:var(--muted)}.full{width:100%}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.announcement{position:relative;padding:7px 48px;background:linear-gradient(90deg,#0564dc,#7c3aed,#204fd6);color:#fff;text-align:center;font-size:13px;overflow:hidden}.announcement button{position:absolute;right:18px;top:2px;border:0;background:transparent;color:#fff;font-size:22px}.announcement.scroll span{display:inline-block;animation:ticker 18s linear infinite}@keyframes ticker{0%{transform:translateX(30vw)}100%{transform:translateX(-30vw)}}
.site-header{height:70px;display:flex;align-items:center;gap:32px;padding:0 32px;background:rgba(5,21,47,.98);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800}.brand img{width:38px;height:38px}.brand b{color:#29b6ff}.brand.mini{font-size:18px}.brand.mini img{width:30px}.site-header nav{display:flex;gap:24px;flex:1}.site-header nav a{font-size:14px;color:#dbeafe}.site-header nav a:hover{color:#fff}.header-actions{display:flex;gap:10px;align-items:center}.lang-pill{font-size:12px;border:1px solid #33507b;border-radius:12px;padding:7px 10px}.icon-btn{border:0;background:transparent;color:#fff;font-size:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;padding:10px 16px;background:#fff;cursor:pointer;font-weight:700}.btn.small{padding:7px 10px;font-size:12px}.btn.primary{color:#fff;border:0;background:linear-gradient(135deg,#0ea5e9,#2563eb 58%,#b63cff)}.btn.ghost{background:transparent;border-color:#7890b4;color:inherit}.site-header .btn.ghost{color:#fff}.btn.big{padding:14px 22px;border-radius:14px}.flash-wrap{position:fixed;right:20px;top:90px;z-index:50;display:grid;gap:8px}.flash{background:#fff;border:1px solid var(--line);padding:12px 15px;border-radius:10px;box-shadow:var(--shadow)}.flash.danger{border-color:#fecaca}.flash.success{border-color:#bbf7d0}
.hero{min-height:540px;display:grid;grid-template-columns:1.05fr 1.15fr;gap:40px;align-items:center;padding:55px 5vw;background:radial-gradient(circle at 15% 60%,rgba(37,99,235,.65),transparent 35%),radial-gradient(circle at 60% 20%,rgba(124,58,237,.45),transparent 32%),linear-gradient(135deg,#05152f,#08285c 60%,#06162d);color:#fff}.hero-copy h1{font-size:58px;line-height:.98;margin:18px 0}.hero-copy h1 span{display:block;background:linear-gradient(90deg,#49b7ff,#b66cff);-webkit-background-clip:text;color:transparent}.hero-copy p{font-size:18px;line-height:1.7;color:#d8e5ff;max-width:680px}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eaf2ff;color:#2563eb;font-size:12px;font-weight:800}.hero .eyebrow{background:#0a285d;color:#bfe0ff;border:1px solid #26508e}.hero-features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px;color:#d6e6ff;font-size:13px}.hero-editor{background:#0a1a36;border:1px solid #295189;border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.35);overflow:hidden;transform:perspective(1200px) rotateY(-2deg)}.mock-top{padding:12px 16px;background:#061329;border-bottom:1px solid #284366;font-size:12px}.mock-top span{float:right}.mock-body{display:grid;grid-template-columns:100px 1fr 170px;min-height:390px}.mock-side{padding:18px 13px;line-height:2.5;background:#07152b;color:#c4d6ef;font-size:12px}.mock-panel{padding:18px;background:#0d203f;display:grid;gap:10px;align-content:start}.mock-panel label{font-size:11px;color:#b9c9df}.mock-panel select{background:#102b51;color:#fff;border:1px solid #34557b;padding:8px}.dots{height:18px;background:linear-gradient(90deg,#f97316 0 16%,#eab308 16% 32%,#22c55e 32% 48%,#06b6d4 48% 64%,#3b82f6 64% 80%,#a855f7 80%);border-radius:999px}.wheel{margin:auto;width:250px;height:250px;border-radius:50%;background:conic-gradient(#ef4444 0 12.5%,#f97316 12.5% 25%,#eab308 25% 37.5%,#65a30d 37.5% 50%,#06b6d4 50% 62.5%,#3b82f6 62.5% 75%,#8b5cf6 75% 87.5%,#d946ef 87.5%);box-shadow:inset 0 0 0 60px rgba(8,26,54,.6),inset 0 0 0 63px rgba(255,255,255,.25)}
.section{padding:36px 4vw}.section-title,.workspace-head,.share-head,.card-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.section h2{margin:0}.cards{display:grid;gap:16px;margin-top:20px}.cards.six{grid-template-columns:repeat(6,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.template-card,.price,.project-card,.panel,.feature-grid article,.stat-grid article,.cms-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 5px 18px rgba(15,23,42,.04)}.template-card{display:grid;gap:8px}.template-card small,.project-card small{color:var(--muted)}.thumb{height:125px;border-radius:12px;border:1px solid #d7e0ec;background:linear-gradient(145deg,#f8fbff,#eef4ff)}.thumb.t1{background:conic-gradient(#ef4444,#eab308,#22c55e,#06b6d4,#3b82f6,#a855f7,#ef4444);border-radius:50%;margin:0 auto;width:125px}.thumb.t2{background:radial-gradient(circle,#fff 0 22%,transparent 23%),conic-gradient(#ef4444 0 15%,#f97316 15% 30%,#eab308 30% 45%,#22c55e 45% 60%,#06b6d4 60% 75%,#3b82f6 75% 88%,#a855f7 88%);border-radius:50%;margin:0 auto;width:125px}.thumb.t3{background:linear-gradient(180deg,#081a39,#102a59)}.thumb.t4{background:linear-gradient(135deg,#fff1f2,#eff6ff)}.thumb.t5{background:linear-gradient(135deg,#fdf2f8,#ede9fe)}.thumb.t6{background:linear-gradient(135deg,#0f172a,#1d4ed8)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 4vw 40px}.feature-grid article h3{margin-top:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:#eef4ff;border:1px solid #d9e5f7;border-radius:999px;padding:6px 10px;font-size:12px}.price strong{display:block;font-size:36px;margin:10px 0}.price.featured{border:2px solid #2563eb;box-shadow:0 14px 38px rgba(37,99,235,.14)}.price ul{padding-left:18px;color:#475569;line-height:2}.page-head{padding:70px 6vw 35px;text-align:center;background:linear-gradient(180deg,#eaf2ff,#f8fbff)}.page-head h1{font-size:44px;margin:12px}.page-head p{max-width:780px;margin:auto;color:#64748b;font-size:17px;line-height:1.7}
.auth-shell{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 20% 20%,#dbeafe,transparent 30%),radial-gradient(circle at 80% 70%,#ede9fe,transparent 30%)}.auth-card{width:min(440px,94vw);display:grid;gap:10px;background:#fff;padding:32px;border:1px solid #d9e3f1;border-radius:22px;box-shadow:0 24px 60px rgba(15,23,42,.12)}.auth-card h1{margin-bottom:0}.auth-card p{margin-top:0;color:#64748b}.auth-card label,.cms-card label{font-size:12px;font-weight:800;color:#475569}.auth-card input,.cms-card input,.cms-card select,.cms-card textarea,.inspector input,.inspector select,.editor-top input,.inline-form input{width:100%;border:1px solid #ced9e8;background:#fff;padding:11px;border-radius:9px}.auth-logo{display:flex;align-items:center;gap:10px}.auth-logo img{width:48px}.auth-logo small{display:block;color:#64748b}
.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 70px)}.app-sidebar{background:#071a38;color:#cfe0f9;padding:24px 16px;display:flex;flex-direction:column;gap:6px}.app-sidebar a{padding:11px 13px;border-radius:10px}.app-sidebar a.active,.app-sidebar a:hover{background:#123567;color:#fff}.workspace{padding:28px;min-width:0}.workspace-head h1{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.stat-grid article b{display:block;font-size:28px}.stat-grid article span{color:#64748b}.project-preview{height:120px;background:linear-gradient(135deg,#e0f2fe,#ede9fe);border-radius:10px}.empty{padding:30px;border:1px dashed #b8c5d8;border-radius:14px;color:#64748b}.panel{margin-top:30px}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}
.editor-shell{height:calc(100vh - 70px);display:grid;grid-template-columns:92px 1fr 280px;background:#edf2f9;position:relative;overflow:hidden}.editor-sidebar{background:#081a36;color:#d8e5f8;padding:14px 8px;display:flex;flex-direction:column;gap:6px}.editor-sidebar .side-title{font-size:11px;text-transform:uppercase;color:#7293bd;padding:6px}.editor-sidebar button{border:0;background:transparent;color:inherit;text-align:left;padding:11px 8px;border-radius:9px;font-size:12px}.editor-sidebar button.active,.editor-sidebar button:hover{background:#123760}.editor-main{display:grid;grid-template-rows:58px 1fr 30px;min-width:0}.editor-top{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 14px;border-bottom:1px solid #d5dfec}.editor-top input{max-width:320px;font-weight:800}.canvas-wrap{display:grid;place-items:center;padding:30px;overflow:auto;background-image:linear-gradient(#dce4ef 1px,transparent 1px),linear-gradient(90deg,#dce4ef 1px,transparent 1px);background-size:24px 24px}.canvas-card{width:min(760px,90%);aspect-ratio:1.45;background:#fff;border:1px solid #c9d4e3;border-radius:8px;box-shadow:var(--shadow);display:grid;place-items:center;padding:36px;position:relative}.canvas-card canvas,.canvas-card svg{max-width:100%;max-height:100%}.canvas-card svg{display:none}.editor-status{background:#fff;border-top:1px solid #d7e0ec;padding:6px 12px;font-size:11px;color:#64748b}.inspector{background:#fff;border-left:1px solid #d5dfec;padding:14px;display:grid;gap:10px;align-content:start;overflow:auto}.inspector label{font-size:11px;font-weight:800;color:#64748b}.tabs{display:flex;border-bottom:1px solid #e2e8f0}.tabs button{flex:1;border:0;background:transparent;padding:10px}.tabs button.active{color:#2563eb;border-bottom:2px solid #2563eb}.palette{display:flex;gap:7px}.palette i{width:20px;height:20px;border-radius:50%;background:#f97316}.palette i:nth-child(2){background:#eab308}.palette i:nth-child(3){background:#22c55e}.palette i:nth-child(4){background:#06b6d4}.palette i:nth-child(5){background:#3b82f6}.palette i:nth-child(6){background:#a855f7}.data-drawer{position:absolute;left:92px;right:280px;bottom:0;height:58%;background:#fff;border-top:1px solid #cbd5e1;box-shadow:0 -20px 40px rgba(15,23,42,.12);padding:16px;transform:translateY(calc(100% - 42px));transition:.25s;z-index:12}.data-drawer.open{transform:translateY(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head button{font-size:24px;border:0;background:transparent}.source-tabs{display:flex;gap:6px;margin-bottom:12px}.source-tabs button{padding:8px 12px;border:1px solid #d8e1ee;border-radius:8px;background:#fff}.source-tabs button.active{background:#2563eb;color:#fff}.data-drawer textarea{width:100%;height:80px;border:1px solid #cbd5e1;padding:10px;border-radius:8px}.clean-actions{display:flex;align-items:center;gap:14px;margin:12px 0;font-size:12px}.table-wrap{max-height:210px;overflow:auto;border:1px solid #dbe4ef;border-radius:8px}.table-wrap table{border-collapse:collapse;width:100%;font-size:12px}.table-wrap td,.table-wrap th{border-bottom:1px solid #e5eaf1;padding:7px;text-align:left}
.share-page{padding:40px 5vw}.share-canvas{width:min(920px,94vw);height:620px;background:#fff;margin:20px auto;border:1px solid #dbe3ef;border-radius:16px;box-shadow:var(--shadow);display:grid;place-items:center;padding:40px}.share-canvas canvas,.share-canvas svg{max-width:100%;max-height:100%}.share-canvas svg{display:none}.ad-card{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin:18px 4vw;padding:14px;border:1px solid #f6cba9;background:#fff7ed;border-radius:16px}.ad-card img{width:150px;height:90px;object-fit:cover;border-radius:10px}.ad-card small,.ad-popup small{color:#c2410c;text-transform:uppercase;font-weight:800}.ad-card h4{margin:4px 0}.ad-card p{margin:6px 0;color:#7c2d12}.ad-popup{position:fixed;right:24px;bottom:68px;width:360px;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:16px;box-shadow:0 25px 70px rgba(15,23,42,.2);z-index:60}.ad-popup img{width:100%;height:140px;object-fit:cover;border-radius:12px}.ad-close{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;font-size:20px}.site-footer{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:30px;background:#06162f;color:#cbdaf1;padding:30px 4vw}.site-footer>div{display:flex;flex-direction:column;gap:8px}.footer-ticker{position:sticky;bottom:0;z-index:25;background:linear-gradient(90deg,#102c6a,#7c3aed,#0d3b84);color:#fff;padding:7px;text-align:center;font-size:12px;overflow:hidden}.footer-ticker span{display:inline-block;animation:ticker 25s linear infinite}
.cms-auth-bg{min-height:100vh;margin:0;background:radial-gradient(circle at 15% 20%,#133f8b,transparent 28%),radial-gradient(circle at 80% 80%,#6d28d9,transparent 28%),linear-gradient(135deg,#041328,#071c3d);color:#fff}.cms-login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .8fr;gap:60px;align-items:center;padding:8vw}.cms-login-copy{max-width:650px}.cms-login-copy>img{width:72px}.cms-login-copy h1{font-size:58px;line-height:1.02;margin:16px 0}.cms-login-copy p{font-size:18px;color:#c8d9f2;line-height:1.7}.security-points{display:flex;gap:10px;flex-wrap:wrap}.security-points span{padding:8px 11px;background:#0b2e61;border:1px solid #2f5c98;border-radius:999px}.cms-login-card{background:rgba(255,255,255,.98);color:#0f172a;padding:28px;border-radius:22px;display:grid;gap:10px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.cms-login-card input{padding:12px;border:1px solid #ccd8e7;border-radius:10px}.cms-body{margin:0;background:#eff4fb}.cms-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.cms-sidebar{background:linear-gradient(#061a39,#082855);padding:18px 12px;color:#d8e7fb;display:flex;flex-direction:column;gap:5px}.cms-sidebar .brand{margin:4px 6px 16px}.cms-sidebar a{padding:10px 12px;border-radius:9px;font-size:13px}.cms-sidebar a.active,.cms-sidebar a:hover{background:linear-gradient(90deg,#0ea5e9,#7c3aed);color:#fff}.cms-main{padding:18px;min-width:0}.cms-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cms-top h1{margin:0}.cms-user{background:#fff;border:1px solid #d9e3f0;border-radius:999px;padding:10px 14px}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.metric-grid article{background:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:14px}.metric-grid span{font-size:11px;color:#64748b}.metric-grid b{display:block;font-size:26px;margin:6px 0}.metric-grid small{font-size:10px;color:#10b981}.cms-grid{display:grid;grid-template-columns:1.2fr .9fr .8fr;gap:14px;margin-top:14px;align-items:start}.cms-card h2{margin-top:0}.cms-card form{display:grid;gap:8px}.cms-card textarea{min-height:70px}.switch-row{display:flex!important;justify-content:space-between;align-items:center;padding:10px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:10px}.switch-row input{width:auto!important}.card-head .status{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.status.on{background:#dcfce7;color:#166534}.status.off{background:#fee2e2;color:#991b1b}.ad-admin-row,.bar-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #e5e7eb;padding:9px 0}.ad-admin-row small{display:block;color:#64748b}.seo-box{display:grid;gap:7px;margin-top:18px;padding:12px;background:#eef6ff;border-radius:12px}.cms-footer{margin-top:16px;padding:12px;text-align:center;color:#64748b;font-size:12px}
@media(max-width:1100px){.cards.six{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.cms-grid{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.site-header{padding:0 14px}.site-header nav{display:none}.brand span{display:none}.hero{padding:35px 18px}.hero-copy h1{font-size:42px}.hero-features{grid-template-columns:1fr 1fr}.mock-panel{display:none}.mock-body{grid-template-columns:80px 1fr}.cards.six,.cards.three,.feature-grid,.stat-grid,.site-footer{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.editor-shell{grid-template-columns:64px 1fr}.inspector{display:none}.data-drawer{left:64px;right:0}.cms-login-shell{grid-template-columns:1fr;padding:25px}.cms-login-copy{display:none}.cms-layout{grid-template-columns:1fr}.cms-sidebar{display:none}.cms-grid,.metric-grid{grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:1fr}.ad-popup{left:12px;right:12px;width:auto}.share-canvas{height:480px}}
.consent-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:90;background:#fff;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.consent-banner p{margin:5px 0;color:#64748b;font-size:13px}.legal{max-width:900px;margin:auto}.legal h2{margin-top:28px}.legal p{line-height:1.8;color:#475569}

/* ======================================================================
   BitStream Visual Studio 2.0 UI refinements
   ====================================================================== */
html[data-theme="dark"]{--bg:#08111f;--surface:#0f1b2d;--ink:#e8eef8;--muted:#94a3b8;--line:#22324a;--shadow:0 14px 36px rgba(0,0,0,.28)}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .section,html[data-theme="dark"] .workspace,html[data-theme="dark"] .page-head{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .template-card,html[data-theme="dark"] .price,html[data-theme="dark"] .project-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .feature-grid article,html[data-theme="dark"] .stat-grid article{background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .page-head{background:linear-gradient(180deg,#0c1a2e,#08111f)}
html[data-theme="dark"] .page-head p,html[data-theme="dark"] .muted,html[data-theme="dark"] .template-card small,html[data-theme="dark"] .project-card small{color:#94a3b8}
html[data-theme="dark"] .btn:not(.primary){background:#111f33;color:#e5edf8;border-color:#31445f}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0f1b2d;color:#e5edf8;border-color:#31445f}

.site-sticky-stack{position:sticky;top:0;z-index:45}
.site-header{position:relative;top:auto;z-index:46;height:66px;padding:0 28px;box-shadow:0 4px 18px rgba(2,15,38,.12)}
.site-header .compact{padding:8px 12px;border-radius:9px;font-size:12px}
.lang-pill{cursor:pointer;background:transparent;color:#dbeafe}
.icon-btn{cursor:pointer}
.running-ticker{height:31px;background:linear-gradient(90deg,#0e3a83,#6d28d9,#0e3a83);color:#fff;font-size:12px;overflow:hidden;display:flex;align-items:center;z-index:44}
.running-header{position:relative}
.running-footer{position:fixed;left:0;right:0;bottom:0;z-index:75;box-shadow:0 -4px 16px rgba(15,23,42,.16)}
.ticker-track{display:inline-flex;width:max-content;min-width:max-content;animation:tickerRightToLeft 32s linear infinite;gap:80px;white-space:nowrap;will-change:transform}
.ticker-track span{padding-left:0}
@keyframes tickerRightToLeft{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
body.has-running-footer{padding-bottom:31px}

.compact-footer{grid-template-columns:1.5fr 1.2fr 1.4fr auto;align-items:center;padding:17px 4vw;margin:0;background:#06152d;min-height:92px}
.compact-footer p,.compact-footer small{margin:0}.footer-links{flex-direction:row!important;flex-wrap:wrap;gap:14px!important;font-size:12px}.footer-credit{font-size:11px;gap:4px!important}.footer-credit a{color:#9fd6ff;font-weight:700}.cookie-settings-link{border:1px solid #29476f;background:#0a2348;color:#dbeafe;border-radius:9px;padding:8px 10px;cursor:pointer;font-size:11px}

/* Cookie choices are a centered modal, not a site banner. */
.cookie-modal-backdrop,.app-modal-backdrop{position:fixed;inset:0;background:rgba(2,8,23,.56);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;z-index:120}
.cookie-modal,.app-modal{width:min(620px,96vw);background:#fff;color:#0f172a;border:1px solid #d8e2ef;border-radius:22px;box-shadow:0 30px 90px rgba(2,8,23,.28);padding:24px;position:relative}
.cookie-head,.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cookie-head h2{margin:8px 0 0;font-size:25px}.cookie-modal>p{color:#64748b;line-height:1.65}.modal-x{width:34px;height:34px;border-radius:50%;border:1px solid #d7e0ec;background:#fff;cursor:pointer;font-size:20px;color:#334155}
.cookie-options{display:grid;gap:9px;margin:18px 0}.cookie-options label{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;background:#f8fbff;border:1px solid #e1e9f3;border-radius:13px}.cookie-options label span{display:grid;gap:3px}.cookie-options small{color:#64748b}.cookie-options input{width:20px;height:20px}.cookie-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.modal-open{overflow:hidden}

.app-toast-stack{position:fixed;right:18px;top:82px;z-index:150;display:grid;gap:9px;pointer-events:none}.app-toast{min-width:240px;max-width:420px;background:#fff;color:#0f172a;border:1px solid #d9e2ef;border-left:4px solid #3b82f6;border-radius:12px;padding:12px 14px;box-shadow:0 16px 42px rgba(15,23,42,.18);opacity:0;transform:translateY(-8px);transition:.2s;pointer-events:auto}.app-toast.show{opacity:1;transform:none}.app-toast.success{border-left-color:#10b981}.app-toast.error{border-left-color:#ef4444}.app-toast.info{border-left-color:#3b82f6}
.app-modal{max-height:88vh;overflow:auto}.modal-message h2{margin:9px 0}.modal-message p{color:#64748b;line-height:1.7}.copy-link-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0}.copy-link-row input{min-width:0;padding:11px;border:1px solid #cbd5e1;border-radius:10px}.video-frame{aspect-ratio:16/9;border-radius:15px;overflow:hidden;background:#020617;margin-top:14px}.video-frame iframe{width:100%;height:100%;border:0}.modal-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.modal-template-grid a{padding:14px;border:1px solid #dce5ef;border-radius:12px;background:#f8fbff;font-weight:700}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.export-choice{border:1px solid #dbe4f0;background:#f8fbff;border-radius:14px;padding:18px;display:grid;gap:5px;text-align:left;cursor:pointer}.export-choice:hover{border-color:#60a5fa;transform:translateY(-1px)}.export-choice span{font-size:12px;color:#64748b}

.flash.fade-out{opacity:0;transform:translateX(10px);transition:.3s}.flash.info{border-color:#bfdbfe}.flash.warning{border-color:#fde68a}

/* Dashboard / public workspace */
.app-shell.modern-dashboard{grid-template-columns:260px minmax(0,1fr);align-items:start;min-height:calc(100vh - 66px)}
.sticky-sidebar{position:sticky;top:66px;height:calc(100vh - 66px);overflow:auto;justify-content:space-between;padding:20px 14px;background:linear-gradient(180deg,#06172f,#092653)}
.sidebar-top{display:flex;flex-direction:column;gap:6px}.side-section-title{padding:8px 12px;color:#7898bf;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800}.app-sidebar a{display:flex;align-items:center;gap:10px}.sidebar-profile{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:15px 7px 4px;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:9px;align-items:center}.avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#7c3aed);display:grid;place-items:center;color:#fff;font-weight:900}.profile-copy{display:grid;min-width:0}.profile-copy b{color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy small{color:#9eb4d2;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-badge{display:inline-flex;width:max-content;margin-top:3px;padding:3px 6px;border-radius:999px;background:#173d73;color:#bfe0ff;font-size:8px;text-transform:uppercase;font-weight:800}.profile-logout{padding:5px!important;text-align:center;color:#9eb4d2}.workspace{padding:26px 30px 44px}.sticky-workspace-head{position:sticky;top:66px;z-index:12;background:rgba(245,248,255,.94);backdrop-filter:blur(12px);padding:10px 0 14px;border-bottom:1px solid rgba(219,228,240,.8)}html[data-theme="dark"] .sticky-workspace-head{background:rgba(8,17,31,.94);border-color:#22324a}.workspace-head h1{font-size:32px;margin:7px 0 4px}.workspace-head p{margin:0;color:#64748b}.stat-grid.four{grid-template-columns:repeat(4,1fr)}.stat-grid article small{display:block;margin-top:4px;color:#94a3b8;font-size:10px}.dashboard-section{scroll-margin-top:145px;margin-top:28px}.project-grid{align-items:stretch}.project-card{display:grid;gap:9px}.project-preview{height:135px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#e0f2fe,#ede9fe)}.project-preview:before{content:"";width:76px;height:76px;border-radius:50%;background:conic-gradient(#3b82f6,#8b5cf6,#06b6d4,#22c55e,#3b82f6);opacity:.85}.project-preview span{position:absolute;bottom:8px;right:8px;background:#fff;padding:4px 7px;border-radius:7px;font-size:9px}.empty-large{grid-column:1/-1;display:grid;justify-items:start;gap:10px}.font-list{margin-top:15px}

/* Editor */
.editor-shell{height:calc(100vh - 66px);grid-template-columns:132px minmax(0,1fr) 310px;background:#eaf0f7;overflow:hidden}
.editor-sidebar{width:auto;padding:13px 9px}.sticky-editor-sidebar{position:relative}.editor-sidebar button{font-size:12px;padding:12px 10px;display:flex;gap:8px;align-items:center}.editor-sidebar button span{white-space:nowrap}.editor-side-bottom{margin-top:auto;border-top:1px solid #26496f;padding-top:9px}.editor-side-bottom a{display:block;padding:10px 8px;font-size:11px;color:#a8bedb}
.editor-main{grid-template-rows:62px 1fr 32px}.sticky-editor-top{position:relative;z-index:8}.editor-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.editor-title-wrap input{max-width:360px}.editor-title-wrap span{font-size:10px;color:#94a3b8;white-space:nowrap}.canvas-wrap{padding:24px}.canvas-card{width:min(880px,94%);aspect-ratio:1.5;padding:42px;overflow:hidden}.canvas-card canvas{width:100%!important;height:100%!important}.canvas-card svg{width:100%;height:100%}.sticky-inspector{position:relative;padding:16px;gap:10px}.inspector .two label{display:grid;gap:5px}.inspector input,.inspector select{padding:9px}.palette i{cursor:pointer;border:2px solid transparent}.palette i.selected{outline:2px solid #0f172a;outline-offset:2px}.data-drawer{left:132px;right:310px;height:62%;transform:translateY(calc(100% - 44px));padding:16px 18px}.drawer-head h3{margin:0}.drawer-head small{color:#64748b}.data-profile{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.data-profile span{background:#eef5ff;border:1px solid #dce7f4;border-radius:10px;padding:8px;color:#64748b;font-size:10px}.data-profile b{display:block;font-size:18px;color:#0f172a}.clean-actions{flex-wrap:wrap}.clean-actions input[type="text"],.clean-actions input:not([type]){border:1px solid #dbe4ef;padding:7px;border-radius:8px;max-width:150px}.table-wrap{max-height:270px}.table-wrap td[contenteditable="true"]:focus{outline:2px solid #93c5fd;background:#eff6ff}.kpi-visual{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:14px;text-align:center}.kpi-visual span{font-size:24px;color:#64748b}.kpi-visual strong{font-size:96px;line-height:1}.table-visual{width:100%;height:100%;overflow:auto}.table-visual table{width:100%;border-collapse:collapse}.table-visual th{background:#eaf2ff}.table-visual th,.table-visual td{border:1px solid #dce5ef;padding:8px;text-align:left}.print-only{display:none}

/* Templates */
.compact-page-head{padding:48px 6vw 30px}.compact-page-head h1{font-size:40px}.cards.four{grid-template-columns:repeat(4,1fr)}.template-filter{display:flex;gap:8px;flex-wrap:wrap}.template-filter button{border:1px solid #dbe4ef;background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}.template-filter button.active{background:#0f4fb7;color:#fff;border-color:#0f4fb7}.template-card.detailed{gap:10px}.row.spread{justify-content:space-between}.tag{background:#edf4ff;color:#2563eb;border-radius:999px;padding:3px 7px;font-size:9px}

/* Auth */
.modern-auth-shell{min-height:calc(100vh - 66px);background:radial-gradient(circle at 18% 20%,rgba(59,130,246,.18),transparent 28%),radial-gradient(circle at 80% 75%,rgba(124,58,237,.14),transparent 26%),#f5f8ff}.auth-card-wide{width:min(500px,94vw)}.auth-heading h1{margin:4px 0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f9;padding:4px;border-radius:11px}.auth-tabs button{border:0;background:transparent;padding:9px;border-radius:8px;cursor:pointer;font-weight:800;color:#64748b}.auth-tabs button.active{background:#fff;color:#2563eb;box-shadow:0 3px 10px rgba(15,23,42,.08)}.auth-tab-panel{display:none;gap:10px}.auth-tab-panel.active{display:grid}.check-row{display:flex!important;align-items:center;gap:8px!important}.check-row input{width:auto!important}.form-help{color:#64748b;font-size:11px;line-height:1.5}.auth-bottom{text-align:center;margin-top:7px!important}.otp-card{text-align:center}.otp-icon{width:58px;height:58px;border-radius:18px;background:#eaf2ff;color:#2563eb;display:grid;place-items:center;margin:4px auto;font-size:28px}.otp-input{text-align:center;font-size:25px;letter-spacing:9px;font-weight:800}

/* Checkout */
.checkout-page{min-height:calc(100vh - 66px);padding:48px 5vw;background:linear-gradient(180deg,#eef5ff,#f8fbff)}.checkout-card{width:min(900px,96vw);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid #dbe4ef;border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(15,23,42,.12)}.checkout-card.single{grid-template-columns:1fr;max-width:600px}.checkout-summary{padding:32px;background:linear-gradient(145deg,#071a38,#0d3d82);color:#fff;display:grid;gap:12px;align-content:start}.checkout-summary h1{margin:0}.checkout-summary ul{padding-left:20px;line-height:2}.checkout-price{font-size:44px;font-weight:900}.checkout-price small{font-size:13px;font-weight:500}.checkout-form{padding:32px;display:grid;gap:12px;align-content:start}.checkout-form>label:not(.payment-option){font-size:11px;font-weight:800;color:#64748b}.checkout-form select{border:1px solid #cbd5e1;padding:11px;border-radius:10px}.payment-option{display:flex;gap:12px;align-items:center;border:1px solid #dbe4ef;border-radius:13px;padding:13px;cursor:pointer}.payment-option input{width:18px;height:18px}.payment-option span{display:grid}.payment-option small{color:#64748b}.notice{padding:12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;color:#1e3a8a;font-size:12px;line-height:1.55}.notice.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.btn:disabled{opacity:.5;cursor:not-allowed}.pricing-cards small{font-size:12px}.plan-ribbon{display:inline-flex;background:#dbeafe;color:#1d4ed8;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.payment-note{margin-top:20px;padding:16px;border:1px solid #dbe4ef;border-radius:14px;background:#fff;color:#475569}

/* Account */
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-detail{display:flex;justify-content:space-between;border-top:1px solid #e5e7eb;padding:11px 0}.profile-detail span{color:#64748b}.plan-summary{display:grid;gap:4px}.plan-summary strong{font-size:34px}.responsive-table{overflow:auto}.responsive-table table{width:100%;border-collapse:collapse;font-size:12px}.responsive-table th,.responsive-table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}

/* CMS */
.cms-layout{grid-template-columns:260px minmax(0,1fr)}.sticky-cms-sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:16px 13px;justify-content:space-between}.cms-sidebar{display:flex;flex-direction:column}.cms-brand{margin:4px 7px 18px}.cms-nav{display:flex;flex-direction:column;gap:5px}.cms-nav a{display:flex;align-items:center;gap:10px}.cms-sidebar-bottom{margin-top:auto;display:grid;gap:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.cms-profile{padding:10px 4px 2px}.cms-main{padding:0 22px 24px}.sticky-cms-top{position:sticky;top:0;z-index:30;background:rgba(239,244,251,.94);backdrop-filter:blur(12px);padding:16px 0 13px;border-bottom:1px solid #dbe4ef;margin-bottom:14px}.cms-top h1{margin:3px 0}.cms-top p{margin:0;color:#64748b}.cms-top-actions{display:flex;align-items:center;gap:10px}.secure-chip{display:inline-flex;padding:7px 10px;background:#dcfce7;color:#166534;border-radius:999px;font-size:10px;font-weight:800}.metric-grid.eight{grid-template-columns:repeat(4,1fr)}.metric-grid article b{font-size:28px}.cms-footnote{font-size:10px;color:#64748b;margin:8px 2px}.cms-section-anchor{scroll-margin-top:105px}.cms-wide{margin-top:14px}.cms-grid.two-col{grid-template-columns:1fr 1fr}.plan-counts{display:flex;gap:7px;flex-wrap:wrap}.plan-counts span,.ad-kpis span{background:#eef5ff;color:#2563eb;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.payment-admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e5e7eb;padding:10px 0}.payment-admin-row small{display:block;color:#64748b;font-size:10px}.payment-admin-actions{display:flex;gap:8px;align-items:center}.settings-form{display:grid;gap:8px}.settings-form h3{margin:14px 0 2px}.compact-form{margin-bottom:14px}.switches{align-items:stretch}.ad-kpis{display:flex;gap:8px;margin:12px 0}.security-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.security-list span{padding:10px;background:#f5f9ff;border:1px solid #e0e8f2;border-radius:10px;font-size:11px}.cms-footer{padding:18px 0}

/* CMS login is product/SaaS styled, not hotel/media styled. */
.cms-auth-shell-modern{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.cms-auth-hero{padding:7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 22% 20%,rgba(14,165,233,.28),transparent 27%),radial-gradient(circle at 75% 72%,rgba(124,58,237,.26),transparent 28%),linear-gradient(145deg,#041327,#082b5d);color:#fff}.cms-auth-brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:900;margin-bottom:35px}.cms-auth-brand img{width:44px}.cms-auth-brand b{color:#40bfff}.cms-auth-hero h1{font-size:56px;max-width:680px;line-height:1.03;margin:15px 0}.cms-auth-hero p{max-width:650px;color:#c7d8ef;font-size:17px;line-height:1.7}.cms-auth-points{display:flex;gap:9px;flex-wrap:wrap}.cms-auth-points span{border:1px solid #315786;background:#0a2b58;border-radius:999px;padding:8px 10px;font-size:11px}.cms-auth-credit{margin-top:42px;color:#8fb1d8;font-size:11px}.cms-auth-panel{display:grid;place-items:center;padding:30px;background:#f5f8ff}.modern-cms-login{width:min(450px,94vw);box-shadow:0 25px 70px rgba(15,23,42,.14)}.inline-alert{padding:10px;border-radius:10px;background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe;font-size:12px}.inline-alert.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.login-security-note{text-align:center;color:#64748b;font-size:10px;padding-top:5px}.cms-otp-shell{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 30% 20%,#164c9b,transparent 30%),linear-gradient(145deg,#041327,#071c3d)}

/* Sharing */
.share-actions{display:flex;gap:8px}.share-page{min-height:70vh}.share-canvas{position:relative}.shared-kpi{display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.shared-kpi strong{font-size:90px;color:#3b82f6}.shared-table{overflow:auto;width:100%}.shared-table table{width:100%;border-collapse:collapse}.shared-table th,.shared-table td{border:1px solid #dbe4ef;padding:8px;text-align:left}

/* Print only the project title and visual from the editor. */
@media print{
  body.printing-visual *{visibility:hidden!important}
  body.printing-visual .canvas-card,body.printing-visual .canvas-card *{visibility:visible!important}
  body.printing-visual .canvas-card{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:auto!important;min-height:90vh!important;aspect-ratio:auto!important;border:0!important;box-shadow:none!important;padding:32px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;overflow:visible!important}
  body.printing-visual .print-only{display:block!important;visibility:visible!important}
  body.printing-visual .print-visual-title{font-size:28px!important;color:#000!important;margin:0 0 26px!important;text-align:center!important;width:100%!important}
  body.printing-visual .canvas-card canvas,body.printing-visual .canvas-card svg{max-width:95%!important;max-height:78vh!important}
  body.printing-visual .kpi-visual,body.printing-visual .table-visual{width:95%!important;max-height:78vh!important}
}

@media(max-width:1180px){.metric-grid.eight{grid-template-columns:repeat(4,1fr)}.cards.four{grid-template-columns:repeat(3,1fr)}.cms-grid.two-col{grid-template-columns:1fr}.editor-shell{grid-template-columns:116px minmax(0,1fr) 280px}.data-drawer{left:116px;right:280px}}
@media(max-width:850px){.app-shell.modern-dashboard{grid-template-columns:1fr}.sticky-sidebar{display:none}.stat-grid.four{grid-template-columns:1fr 1fr}.cards.four{grid-template-columns:1fr 1fr}.compact-footer{grid-template-columns:1fr 1fr}.footer-brand-col,.footer-credit{align-items:flex-start}.cms-auth-shell-modern{grid-template-columns:1fr}.cms-auth-hero{display:none}.cms-auth-panel{min-height:100vh}.cms-layout{grid-template-columns:1fr}.sticky-cms-sidebar{display:none}.metric-grid.eight{grid-template-columns:repeat(2,1fr)}.cms-main{padding:0 14px 20px}.sticky-cms-top{top:0}.editor-shell{grid-template-columns:72px 1fr}.editor-sidebar button span{display:none}.inspector{display:none}.data-drawer{left:72px;right:0}.account-grid{grid-template-columns:1fr}.checkout-card{grid-template-columns:1fr}.site-header{padding:0 13px}.header-actions .btn.ghost{display:none}}
@media(max-width:600px){.cards.four,.cards.six,.cards.three,.stat-grid.four,.metric-grid.eight,.compact-footer{grid-template-columns:1fr}.site-header nav{display:none}.lang-pill{font-size:10px;padding:6px}.workspace{padding:18px}.sticky-workspace-head{position:relative;top:auto}.workspace-head{align-items:flex-start;flex-direction:column}.editor-top .btn.ghost{display:none}.canvas-wrap{padding:10px}.canvas-card{width:100%;padding:20px}.data-profile{grid-template-columns:1fr 1fr}.cookie-actions{flex-direction:column}.cookie-actions .btn{width:100%}.export-grid{grid-template-columns:1fr}.modal-template-grid{grid-template-columns:1fr}.cms-top{align-items:flex-start;gap:8px}.cms-top-actions .btn{display:none}.security-list{grid-template-columns:1fr}}
.plotly-visual{width:100%;height:100%;min-height:360px}.plotly-visual .plot-container,.plotly-visual .svg-container{width:100%!important;height:100%!important}
.google-ad-host{margin:16px 4vw;min-height:0;text-align:center}.google-ad-host small{display:block;color:#94a3b8;font-size:9px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}
body.has-running-header .sticky-sidebar{top:97px;height:calc(100vh - 97px)}
body.has-running-header .sticky-workspace-head{top:97px}
body.has-running-header .editor-shell{height:calc(100vh - 97px)}
html[data-theme="dark"] .editor-shell{background:#0b1523}html[data-theme="dark"] .editor-top,html[data-theme="dark"] .inspector,html[data-theme="dark"] .editor-status,html[data-theme="dark"] .data-drawer{background:#101c2e;color:#e5edf8;border-color:#263750}html[data-theme="dark"] .canvas-wrap{background-color:#0b1523;background-image:linear-gradient(#1c2a3e 1px,transparent 1px),linear-gradient(90deg,#1c2a3e 1px,transparent 1px)}html[data-theme="dark"] .canvas-card{background:#fff;color:#0f172a}html[data-theme="dark"] .data-profile span{background:#13243b;border-color:#29415f;color:#9fb3ce}html[data-theme="dark"] .data-profile b{color:#e8eef8}html[data-theme="dark"] .source-tabs button{background:#13243b;color:#dbeafe;border-color:#2b4567}html[data-theme="dark"] .source-tabs button.active{background:#2563eb;color:#fff}html[data-theme="dark"] .table-wrap{border-color:#2a3e59}html[data-theme="dark"] .table-wrap td,html[data-theme="dark"] .table-wrap th{border-color:#263750}

/* Export / print sponsor is shown before the action, never inside the user's artwork. */
.export-sponsor{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid #dbe4ef;background:#f8fbff;border-radius:14px;text-align:left}.export-sponsor small{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.export-sponsor div{display:grid;gap:2px}.export-sponsor b{font-size:12px;color:#0f172a}.export-sponsor span{font-size:11px;color:#64748b}.export-sponsor a{font-size:11px;font-weight:800;color:#2563eb}.upgrade-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:12px 0;border-radius:14px;background:linear-gradient(110deg,#eff6ff,#f5f3ff);border:1px solid #dbeafe;text-align:left}.upgrade-strip div{display:grid;gap:2px}.upgrade-strip b{font-size:12px}.upgrade-strip span{font-size:10px;color:#64748b}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media print{body.printing-visual .plotly-visual{width:95%!important;height:72vh!important;min-height:0!important}body.printing-visual .plotly-visual .modebar{display:none!important}}

/* ===== v1.3 UX / plan / consent refinements ===== */
html,body{min-height:100%}body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1 0 auto}.site-footer{margin-top:auto}.running-footer{position:fixed!important;left:0;right:0;bottom:0;z-index:90}.has-running-footer{padding-bottom:32px}.has-running-footer .site-footer{margin-bottom:0}
button,.btn,a.btn,.template-card a,.editor-sidebar button,.tabs button,.source-tabs button,.palette i,.cookie-settings-link,.share-role,.export-choice,.stepper button{cursor:pointer!important}
button:disabled,.btn:disabled{cursor:not-allowed!important}

/* Compact cookie notice: first visit behaves like mainstream sites; granular choices open only on Manage. */
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;background:#fff;border:1px solid #dbe4ef;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.18);max-width:1180px;margin:auto}.has-running-footer .cookie-banner{bottom:46px}.cookie-banner.hidden{display:none}.cookie-banner-copy{display:grid;gap:3px;min-width:0}.cookie-banner-copy b{font-size:13px}.cookie-banner-copy span{font-size:11px;color:#64748b;line-height:1.45}.cookie-banner-actions{display:flex;gap:7px;flex-shrink:0}.compact-consent-modal{max-width:540px}.cookie-modal-backdrop{z-index:130}
html[data-theme="dark"] .cookie-banner{background:#101c2e;border-color:#2a3e59;color:#eef5ff}.cookie-banner .btn.small{padding:8px 11px}

/* Public footer always settles at the bottom without becoming visually oversized. */
.compact-footer{min-height:112px;padding:22px 4.5vw!important;align-items:center}.footer-brand-col{gap:5px}.footer-brand-col small,.footer-credit,.footer-links{font-size:11px}.footer-credit{gap:3px}.cookie-settings-link{font-size:10px;padding:7px 9px}

/* Editor inspector now behaves as real Style / Data / Text tabs. */
.inspector{overflow-y:auto}.inspector-panel{display:none}.inspector-panel.active{display:block}.inspector-panel>label{display:grid;gap:6px;margin:11px 0 6px}.inspector-tabs{position:sticky;top:0;z-index:3;background:inherit}.inspector-bottom-actions{display:grid;gap:9px;margin-top:16px;padding-top:13px;border-top:1px solid #e2e8f0}.inspector-message{padding:12px;border:1px solid #dbe4ef;border-radius:14px;background:#f8fbff}.inspector-message p{font-size:11px;color:#64748b;line-height:1.55}.data-mini-summary{display:grid;gap:7px;margin-top:10px}.data-mini-summary span{padding:8px 10px;border-radius:10px;background:#eef5ff;color:#31517a;font-size:10px}.paid-hint{font-size:9px;background:#ede9fe;color:#6d28d9;padding:2px 6px;border-radius:999px;margin-left:5px}.locked-note{padding:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;font-size:10px;line-height:1.45}.wheel-controls{display:grid;gap:7px;padding:10px 0}.stepper{display:grid;grid-template-columns:38px 1fr 38px;gap:6px}.stepper button{border:1px solid #cbd5e1;border-radius:9px;background:#fff;font-size:18px}.stepper input{text-align:center}.guest-editor-strip{display:flex;align-items:center;gap:10px;padding:7px 15px;background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;font-size:10px}.guest-editor-strip span{flex:1}.guest-editor-strip a{font-weight:800}.export-brand-mark{display:none}
.canvas-card{transition:background .2s ease}.share-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.share-role{display:grid;text-align:left;gap:4px;padding:14px;border:1px solid #dbe4ef;border-radius:14px;background:#fff}.share-role span{font-size:10px;color:#64748b}.share-role.locked{background:#f8fafc;opacity:.72}.upgrade-modal .modal-actions{justify-content:flex-start}

/* Built-in font previews and upload safeguards. */
.builtin-font-preview{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.builtin-font-preview span{padding:8px 10px;border:1px solid #dbe4ef;border-radius:10px;background:#f8fbff;font-size:12px}.font-upload-form input[type="file"]{min-width:0}

/* Optional Google OAuth CTA. */
.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:#94a3b8;font-size:10px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}.google-auth-btn{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #cbd5e1;border-radius:11px;padding:11px 12px;background:#fff;color:#0f172a;font-weight:800;text-decoration:none}.google-auth-btn:hover{background:#f8fafc}.google-g{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:900;color:#2563eb;background:#eef5ff}

/* Template library should visually communicate the actual output family. */
.template-thumb-label{display:inline-flex;margin:8px;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.88);font-size:9px;font-weight:800;color:#0f172a}.learning-note{margin-top:18px;padding:13px 15px;border:1px solid #dbe4ef;border-radius:14px;background:#fff;color:#475569;font-size:11px;line-height:1.55}

html[data-theme="dark"] .inspector-message,html[data-theme="dark"] .share-role,html[data-theme="dark"] .builtin-font-preview span{background:#13243b;border-color:#2a3e59;color:#e8eef8}html[data-theme="dark"] .share-role span,html[data-theme="dark"] .inspector-message p{color:#9fb3ce}html[data-theme="dark"] .google-auth-btn{background:#13243b;color:#eef5ff;border-color:#2a3e59}

@media(max-width:760px){.cookie-banner{left:10px;right:10px;bottom:10px;align-items:flex-start;flex-direction:column}.cookie-banner-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.cookie-banner-actions .btn{width:100%}.has-running-footer .cookie-banner{bottom:42px}.share-role-grid{grid-template-columns:1fr}.guest-editor-strip{align-items:flex-start;flex-wrap:wrap}}
@media print{body.printing-visual .export-brand-mark.free-active{display:block!important;visibility:visible!important;position:absolute;right:24px;bottom:18px;font-size:11px;color:#64748b;font-weight:700}}
.font-upload-form{grid-template-columns:minmax(180px,.9fr) minmax(260px,1.2fr) auto!important}.font-upload-form input[type="file"]{width:100%;max-width:520px;overflow:hidden}
@media(max-width:800px){.font-upload-form{grid-template-columns:1fr!important}}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:800px){.three{grid-template-columns:1fr}}

/* v1.3.1 template previews: every card now looks like the visual it actually opens. */
.template-preview{position:relative;overflow:hidden;width:100%;height:138px;border-radius:12px;margin:0;background:#f8fbff;border:1px solid #d7e0ec}
.template-preview .template-thumb-label{position:absolute;left:8px;bottom:8px;z-index:3;margin:0;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.preview-plutchik-wheel,.preview-emotion-wheel,.preview-multi-ring-wheel{background:radial-gradient(circle at center,#fff 0 17%,transparent 17.5% 28%,rgba(255,255,255,.88) 28.5% 30%,transparent 30.5% 46%,rgba(255,255,255,.86) 46.5% 48%,transparent 48.5%),conic-gradient(#ef4444 0 12.5%,#f97316 12.5% 25%,#eab308 25% 37.5%,#22c55e 37.5% 50%,#14b8a6 50% 62.5%,#3b82f6 62.5% 75%,#8b5cf6 75% 87.5%,#d946ef 87.5%);background-size:126px 126px;background-repeat:no-repeat;background-position:center}
.preview-business-dashboard,.preview-comparison-chart,.preview-student-infographic{background:linear-gradient(to top,transparent 0 18%,#2563eb 18% 63%,transparent 63%) 14% 50%/12% 72% no-repeat,linear-gradient(to top,transparent 0 18%,#8b5cf6 18% 82%,transparent 82%) 34% 50%/12% 72% no-repeat,linear-gradient(to top,transparent 0 18%,#06b6d4 18% 52%,transparent 52%) 54% 50%/12% 72% no-repeat,linear-gradient(to top,transparent 0 18%,#22c55e 18% 72%,transparent 72%) 74% 50%/12% 72% no-repeat,linear-gradient(#fff,#eef5ff)}
.preview-kpi-dashboard{background:radial-gradient(circle at 50% 50%,#fff 0 20%,transparent 21%),conic-gradient(from 10deg,#2563eb,#8b5cf6,#06b6d4,#22c55e,#eab308,#2563eb);background-size:112px 112px;background-repeat:no-repeat;background-position:center}
.preview-timeline{background:linear-gradient(135deg,transparent 0 18%,#2563eb 19% 21%,transparent 22% 38%,#06b6d4 39% 41%,transparent 42% 58%,#22c55e 59% 61%,transparent 62%),linear-gradient(#fff,#eef5ff)}
.preview-scatter-lab{background:radial-gradient(circle at 18% 72%,#2563eb 0 5px,transparent 6px),radial-gradient(circle at 31% 61%,#8b5cf6 0 5px,transparent 6px),radial-gradient(circle at 43% 57%,#06b6d4 0 5px,transparent 6px),radial-gradient(circle at 58% 42%,#22c55e 0 5px,transparent 6px),radial-gradient(circle at 72% 31%,#f97316 0 5px,transparent 6px),radial-gradient(circle at 84% 18%,#ef4444 0 5px,transparent 6px),linear-gradient(#fff,#eef5ff)}
.preview-turtle-lab{background:linear-gradient(90deg,transparent 12%,#2563eb 12% 14%,transparent 14% 47%,#2563eb 47% 49%,transparent 49%),linear-gradient(0deg,transparent 20%,#2563eb 20% 22%,transparent 22% 70%,#2563eb 70% 72%,transparent 72%),linear-gradient(#fff,#eef5ff);background-size:90px 90px,90px 90px,100% 100%;background-position:center;background-repeat:no-repeat}
.preview-heatmap-lab{background:repeating-linear-gradient(90deg,transparent 0 3px,rgba(255,255,255,.9) 3px 5px),repeating-linear-gradient(0deg,transparent 0 20px,rgba(255,255,255,.9) 20px 22px),linear-gradient(90deg,#dbeafe,#60a5fa,#2563eb);background-size:78% 68%;background-repeat:no-repeat;background-position:center}
.preview-boxplot-lab{background:linear-gradient(90deg,transparent 19%,#2563eb 19% 21%,transparent 21% 39%,#8b5cf6 39% 41%,transparent 41% 59%,#06b6d4 59% 61%,transparent 61% 79%,#22c55e 79% 81%,transparent 81%),linear-gradient(#fff,#eef5ff)}
.preview-survey-report,.preview-social-card{background:radial-gradient(circle,#fff 0 28%,transparent 29%),conic-gradient(#2563eb 0 35%,#8b5cf6 35% 58%,#06b6d4 58% 76%,#22c55e 76% 100%);background-size:112px 112px;background-repeat:no-repeat;background-position:center}

/* v1.3.1 compact consent / paid-free polish */
.cookie-banner{padding-right:44px}.cookie-banner-x{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;background:transparent;color:#64748b;font-size:19px;line-height:1;border-radius:50%;cursor:pointer}.cookie-banner-x:hover{background:#eef5ff;color:#0f172a}
.compact-footer{min-height:88px!important;padding:15px 4.5vw!important}
.font-rights-check{grid-column:1/-1;display:flex!important;align-items:flex-start;gap:8px;font-size:10px;color:#64748b}.font-rights-check input{width:auto!important;margin-top:2px}
.turtle-code-panel{display:grid;gap:8px;margin-top:12px;padding:11px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fbff}.turtle-code-panel p,.turtle-code-panel small{font-size:10px;color:#64748b;line-height:1.45;margin:0}.turtle-code-panel textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;min-height:138px}
html[data-theme="dark"] .turtle-code-panel{background:#13243b;border-color:#2a3e59}html[data-theme="dark"] .turtle-code-panel p,html[data-theme="dark"] .turtle-code-panel small{color:#9fb3ce}

/* ============================================================
   v1.4 editor deep-fix: compact tool flyouts + real two-pane design mode
   ============================================================ */
.site-sticky-stack{position:sticky;top:0;z-index:70}.site-header{position:relative!important;top:auto!important}.site-header nav{min-width:0;overflow:hidden}.site-header nav a{white-space:nowrap}.store-nav-link{color:#7dd3fc!important;font-weight:800}.store-nav-link:hover{color:#fff!important}

.editor-shell{grid-template-columns:140px minmax(0,1fr) 340px!important;min-width:0}.editor-main{min-width:0}.editor-sidebar{min-width:0}.editor-sidebar button{min-height:42px;padding:11px 12px!important}.editor-sidebar button span{overflow:hidden;text-overflow:ellipsis}.editor-side-bottom a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-back{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d6e1ef;border-radius:10px;color:#31517a;background:#f8fbff;font-weight:900;flex:0 0 auto}.editor-title-wrap{min-width:0;flex:1}.editor-title-wrap input{min-width:150px;max-width:390px}.editor-actions{flex:0 0 auto}

.editor-tool-flyout{position:absolute;left:140px;width:286px;max-height:calc(100% - 16px);overflow:auto;background:#fff;border:1px solid #d8e2ef;border-radius:14px;box-shadow:0 18px 46px rgba(15,23,42,.18);z-index:28;padding:10px}.tool-flyout-head{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 8px;border-bottom:1px solid #e6edf5}.tool-flyout-head b{font-size:12px}.tool-flyout-head button{border:0;background:transparent;font-size:19px;color:#64748b;cursor:pointer}.compact-tool-list{display:grid;gap:5px;padding-top:7px}.compact-tool-list a,.compact-tool-list button{display:grid;gap:2px;width:100%;text-align:left;padding:10px;border:1px solid transparent;border-radius:10px;background:#fff;color:#0f172a;cursor:pointer}.compact-tool-list a:hover,.compact-tool-list button:hover{background:#eef5ff;border-color:#cfe0f7}.compact-tool-list b{font-size:11px}.compact-tool-list span{font-size:9px;color:#64748b}

.inspector{min-width:0;padding:14px!important}.inspector *{min-width:0}.inspector-panel{overflow-wrap:anywhere}.style-section{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid #e8eef5}.section-mini-title{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:2px 0 5px}.series-field-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 10px}.series-field-list label{display:flex!important;align-items:center;gap:6px;padding:7px 8px;background:#f8fbff;border:1px solid #dce6f2;border-radius:9px;font-size:10px!important}.series-field-list input{width:auto!important}.series-color-controls{display:grid;gap:6px;margin-top:7px}.series-color-title{font-size:10px;font-weight:800;color:#64748b}.series-color-row{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}.series-color-row span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.series-color-row input[type=color]{padding:2px!important;height:30px}.wheel-ring-fields{display:grid;gap:6px}.wheel-ring-fields label{display:grid!important;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:8px}.wheel-ring-fields label select{width:100%}.data-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.check-row{display:flex!important;align-items:center;gap:7px}.check-row input{width:auto!important}

.canvas-wrap{min-width:0}.canvas-card{width:min(900px,94%)!important;min-width:0}.canvas-card canvas,.canvas-card svg,.plotly-visual{max-width:100%;max-height:100%}.canvas-card svg:not(.hidden){display:block!important}.plotly-visual{width:100%;height:100%}.canvas-card .hidden{display:none!important}

.data-drawer{left:140px!important;right:340px!important;height:min(68%,620px)!important;transform:translateY(100%)!important;border-radius:16px 16px 0 0;overflow:hidden}.data-drawer.open{transform:translateY(0)!important}.data-drawer .table-wrap{max-height:260px}.data-drawer form{display:grid;gap:8px}.data-drawer .source-tabs{overflow-x:auto;padding-bottom:3px}.data-drawer .source-tabs button{white-space:nowrap}.drawer-head button{cursor:pointer}

body.modal-open .running-footer{display:none!important}body.modal-open .data-drawer.open{transform:translateY(100%)!important}.app-modal{width:min(560px,94vw)!important}.modal-template-grid{grid-template-columns:1fr!important}

/* Prevent editor text/control overflow. */
.editor-top,.inspector,.data-drawer,.editor-tool-flyout{overflow-wrap:anywhere}.copy-link-row{max-width:100%}.copy-link-row input{width:100%}.clean-actions>*{max-width:100%}.clean-actions input{min-width:110px}

/* Dark editor flyout/controls. */
html[data-theme="dark"] .editor-tool-flyout{background:#101c2e;border-color:#2a3e59;color:#eef5ff}html[data-theme="dark"] .compact-tool-list a,html[data-theme="dark"] .compact-tool-list button{background:#101c2e;color:#eef5ff}html[data-theme="dark"] .compact-tool-list a:hover,html[data-theme="dark"] .compact-tool-list button:hover{background:#132b4a;border-color:#315477}html[data-theme="dark"] .series-field-list label{background:#13243b;border-color:#2a3e59;color:#eef5ff}

.demo-pro-box{margin-top:12px;padding:11px 12px;border:1px dashed #93c5fd;border-radius:12px;background:#eff6ff;display:grid;gap:4px}.demo-pro-box b{font-size:11px}.demo-pro-box small{font-size:9px;color:#64748b}.demo-pro-box code{font-size:10px;overflow-wrap:anywhere}.demo-pro-box button{justify-self:start}

@media(max-width:1240px){.editor-shell{grid-template-columns:124px minmax(0,1fr) 310px!important}.editor-tool-flyout{left:124px}.data-drawer{left:124px!important;right:310px!important}.editor-title-wrap input{max-width:270px}}
@media(max-width:960px){.editor-shell{grid-template-columns:82px minmax(0,1fr)!important}.editor-sidebar button span{display:none}.editor-sidebar .side-title{font-size:9px}.editor-tool-flyout{left:82px;width:260px}.inspector{position:absolute!important;right:0;top:0;bottom:0;width:min(330px,88vw);z-index:24;box-shadow:-12px 0 30px rgba(15,23,42,.12)}.data-drawer{left:82px!important;right:0!important}.editor-main{padding-right:0}.canvas-card{width:min(760px,96%)!important}}
@media(max-width:700px){.editor-shell{grid-template-columns:64px minmax(0,1fr)!important}.editor-tool-flyout{left:64px;width:min(270px,calc(100vw - 74px))}.data-drawer{left:64px!important}.editor-title-wrap input{max-width:180px}.editor-top{padding:7px}.editor-actions .btn{padding:8px 10px;font-size:11px}.site-header nav{display:none}.store-nav-link{display:none}.series-field-list{grid-template-columns:1fr}}
@media(max-width:960px){.inspector{display:grid!important}}
.editor-header-nav{align-items:center}.editor-mode-label{font-size:11px;font-weight:800;color:#93c5fd;padding:6px 9px;border:1px solid #29496f;border-radius:999px;white-space:nowrap}

/* ===== BitStream Visual Studio v1.5 final editor cleanup ===== */
body.editor-page{overflow:hidden}
body.editor-page>main{min-height:0;overflow:hidden}
body.editor-page .site-sticky-stack{position:sticky;top:0;z-index:100}
body.editor-page .editor-shell{height:calc(100vh - 66px)!important;grid-template-columns:126px minmax(0,1fr) 300px!important;overflow:hidden}
body.editor-page.has-running-header .editor-shell{height:calc(100vh - 97px)!important}
body.editor-page.has-running-footer .editor-shell{height:calc(100vh - 97px)!important}
.editor-sidebar{height:100%;overflow:hidden!important;padding:12px 8px!important}
.editor-sidebar button{min-height:40px!important;padding:10px 10px!important;transition:background .18s ease,transform .18s ease}
.editor-sidebar button:hover{transform:translateX(2px)}
.editor-main{min-height:0;overflow:hidden;grid-template-rows:58px minmax(0,1fr) 30px!important}
.editor-top{position:sticky!important;top:0!important;z-index:18!important;min-width:0}
.canvas-wrap{overflow:auto!important;padding:18px!important;scrollbar-width:thin}
.canvas-card{width:min(920px,96%)!important;max-height:calc(100vh - 190px);transition:width .2s ease,box-shadow .2s ease,background .2s ease}
.editor-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inspector{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px!important;scrollbar-width:thin}
.inspector-tabs{top:0!important;z-index:7!important;padding-top:2px}
.inspector-panel{animation:inspectorFade .16s ease}
@keyframes inspectorFade{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.visual-sample-btn{margin:8px 0 5px;font-size:11px!important}
.native-visual-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.visual-picker-wrap{position:relative;margin-top:6px}
.visual-picker-button{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-weight:700;cursor:pointer}
.visual-picker-button:hover{border-color:#60a5fa;background:#f8fbff}
.visual-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:35;max-height:330px;overflow:auto;background:#fff;border:1px solid #d9e3ef;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:7px;scrollbar-width:thin}
.visual-picker-group{padding:5px 0;border-bottom:1px solid #edf1f6}.visual-picker-group:last-child{border:0}
.visual-picker-group>b{display:block;padding:4px 6px 5px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.visual-picker-group>div{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.visual-picker-group button{border:0;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;font-size:10px;color:#172033;cursor:pointer;white-space:normal;line-height:1.25}
.visual-picker-group button:hover,.visual-picker-group button.active{background:#eaf3ff;color:#1d4ed8}
.style-section{padding-top:10px;margin-top:9px;border-top:1px solid #edf1f6}
.style-section.hidden,#fieldMappingControls.hidden,#dataWorkspaceCard.hidden,#dataMiniSummary.hidden,#wheelDataHint.hidden,#centerTextControl.hidden,#chartLabelControls.hidden,#gridLinesWrap.hidden,#labelFieldWrap.hidden,#dataTransformControls.hidden,#seriesColorControls.hidden{display:none!important}
.turtle-code-panel{margin-top:0!important;padding:0!important;border:0!important;background:transparent!important;gap:10px!important}
.turtle-code-panel textarea{min-height:300px!important;resize:vertical!important;border:1px solid #cbd5e1!important;border-radius:10px!important;padding:10px!important;background:#fff!important;color:#0f172a!important;line-height:1.55!important}
.tool-context-head{display:flex;justify-content:space-between;gap:8px}.tool-context-head div{display:grid;gap:4px}.tool-context-head small{font-size:9px;color:#64748b;line-height:1.45}
.turtle-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.turtle-presets .btn{justify-content:center}
.editor-tool-flyout{left:126px!important;width:270px!important;max-height:min(420px,calc(100% - 16px))!important;transition:opacity .16s ease,transform .16s ease}
.editor-tool-flyout:not(.hidden){animation:toolFly .16s ease}
@keyframes toolFly{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.compact-tool-list a,.compact-tool-list button{padding:9px!important}.compact-tool-list b{font-size:10.5px!important}.compact-tool-list span{font-size:8.5px!important}
.data-drawer{left:126px!important;right:300px!important}
.app-modal{padding-top:52px!important}
.app-modal>.modal-x{position:absolute!important;right:14px!important;top:14px!important;left:auto!important;margin:0!important;z-index:10!important}
.modal-message{min-width:0}.modal-message .eyebrow{display:inline-flex}
.pricing-cards-compact{width:min(1240px,94vw);margin:0 auto!important;grid-template-columns:repeat(3,minmax(0,360px))!important;justify-content:center!important;gap:18px!important}
.pricing-cards-compact .price{min-height:0!important;padding:20px!important}
.pricing-cards-compact .price ul{line-height:1.65!important;font-size:13px}
.pricing-cards-compact .price strong{font-size:34px!important}
.footer-credit a[href^="mailto:"]{color:#cde7ff!important;text-decoration:none}.footer-credit a[href^="mailto:"]:hover{text-decoration:underline}
.btn,.visual-picker-button,.visual-picker-group button,.editor-sidebar button,.compact-tool-list button,.compact-tool-list a{transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.btn:hover{transform:translateY(-1px)}
@media(max-width:1240px){body.editor-page .editor-shell{grid-template-columns:112px minmax(0,1fr) 286px!important}.editor-tool-flyout{left:112px!important}.data-drawer{left:112px!important;right:286px!important}.visual-picker-group>div{grid-template-columns:1fr}}
@media(max-width:960px){body.editor-page .editor-shell{grid-template-columns:74px minmax(0,1fr)!important}.editor-sidebar button span{display:none}.inspector{position:absolute!important;right:0;top:0;bottom:0;width:min(300px,86vw);z-index:30;box-shadow:-14px 0 35px rgba(15,23,42,.15)}.editor-tool-flyout{position:fixed!important;left:84px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;max-height:52vh!important;border-radius:16px!important}.data-drawer{left:74px!important;right:0!important}.canvas-card{width:min(760px,96%)!important}}
@media(max-width:700px){body.editor-page .editor-shell{grid-template-columns:62px minmax(0,1fr)!important}.editor-tool-flyout{left:72px!important}.editor-title-wrap input{max-width:180px!important}.editor-actions{gap:4px!important}.editor-actions .btn{padding:8px 9px!important}.canvas-wrap{padding:8px!important}.canvas-card{width:100%!important;padding:18px!important}.pricing-cards-compact{grid-template-columns:1fr!important;width:min(94vw,430px)}.visual-picker-group>div{grid-template-columns:1fr}}
html[data-theme="dark"] .visual-picker-button,html[data-theme="dark"] .visual-picker-menu{background:#101c2e;color:#eef5ff;border-color:#2a3e59}html[data-theme="dark"] .visual-picker-group button{color:#dbeafe}html[data-theme="dark"] .visual-picker-group button:hover,html[data-theme="dark"] .visual-picker-group button.active{background:#173253;color:#93c5fd}html[data-theme="dark"] .turtle-code-panel textarea{background:#0f1b2d!important;color:#eef5ff!important;border-color:#2a3e59!important}
/* Keep editor chrome visually fixed; panels may wheel-scroll without showing bulky scrollbars. */
.editor-sidebar{scrollbar-width:none}.editor-sidebar::-webkit-scrollbar{display:none}
.inspector{scrollbar-width:none}.inspector::-webkit-scrollbar{width:0;height:0}
.editor-tool-flyout{scrollbar-width:thin}

@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;transform:none}}

/* v1.9 education template previews */
.preview-statistics-lab{background:linear-gradient(#fff,#eef5ff);position:relative}
.preview-statistics-lab:before{content:'Mean 77.5   Median 76.5';position:absolute;left:14%;right:14%;top:30%;padding:14px 8px;border:1px solid #bfdbfe;border-radius:10px;background:#fff;color:#2563eb;text-align:center;font-size:11px;font-weight:800;box-shadow:0 6px 18px rgba(37,99,235,.08)}
.preview-math-lab{background:linear-gradient(135deg,#eff6ff,#f5f3ff);position:relative}
.preview-math-lab:before{content:'12 + 8 = 20   ·   7 × 6 = 42';position:absolute;left:10%;right:10%;top:38%;color:#1e3a8a;text-align:center;font-size:13px;font-weight:900}
.preview-diagram-lab{background:linear-gradient(#fff,#eef5ff);position:relative}
.preview-diagram-lab:before{content:'Start  ↓  Data  ↓  Review  ↓  Finish';position:absolute;left:22%;right:22%;top:16%;padding:8px;border:2px solid #60a5fa;border-radius:10px;background:#fff;color:#1e3a8a;text-align:center;font-size:10px;font-weight:800;line-height:1.8;white-space:pre-line}

/* v1.9 CMS: one page per navigation tab instead of one long scrolling page. */
.cms-tab-page .cms-tab-content,.cms-tab-page .cms-tab-grid{width:100%}
.cms-tab-page .cms-tab-grid{grid-template-columns:minmax(0,1fr)!important;margin-top:0}
.cms-tab-page .cms-tab-grid>.cms-card{width:100%;max-width:none}
.cms-tab-page .cms-wide{margin-top:0}
.cms-mobile-tabs{display:none;gap:6px;overflow-x:auto;padding:0 0 12px;scrollbar-width:thin}
.cms-mobile-tabs a{flex:0 0 auto;padding:8px 11px;border:1px solid #dbe4ef;border-radius:9px;background:#fff;color:#31517a;font-size:11px;font-weight:800;text-decoration:none}
.cms-mobile-tabs a.active{background:#2563eb;border-color:#2563eb;color:#fff}
@media(max-width:850px){.cms-mobile-tabs{display:flex}.cms-tab-page .sticky-cms-top{margin-bottom:8px}}

/* ===== BitStream CMS v2.0: dashboard manager, traffic, discounts, storage ===== */
.cms-nav-group{padding:10px 12px 3px;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#6f91bd}.cms-nav-group:first-child{padding-top:0}.cms-flashes{display:grid;gap:7px;margin:0 0 12px}.cms-manager-grid,.traffic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.cms-manager-grid>.cms-card,.traffic-grid>.cms-card{min-width:0}.manager-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.manager-status-grid>a{display:grid;gap:5px;min-width:0;padding:14px;background:#fff;border:1px solid #dbe4ef;border-radius:14px;color:#0f172a;text-decoration:none}.manager-status-grid>a:hover{border-color:#93c5fd;box-shadow:0 8px 24px rgba(37,99,235,.08)}.manager-status-grid span{font-size:10px;color:#64748b}.manager-status-grid b{font-size:18px}.manager-status-grid small{font-size:10px;color:#0f9d73}.mini-link{white-space:nowrap;font-size:10px;font-weight:800;color:#2563eb}.traffic-kpis,.product-kpis,.storage-kpis{margin-bottom:14px}.metric-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.split-insights{display:grid;grid-template-columns:1fr 1fr;gap:18px}.split-insights h3{margin:4px 0 8px}.path-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discounts-layout{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)}.discount-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #e5e7eb}.discount-admin-row:first-of-type{border-top:0}.discount-admin-row small{display:block;margin-top:5px;color:#64748b;font-size:10px}.discount-code-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.discount-code-line code{padding:5px 8px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-weight:900;letter-spacing:.04em}.danger-outline{border-color:#fecaca!important;color:#b91c1c!important;background:#fff!important}.danger-outline:hover{background:#fef2f2!important}.recent-traffic-card{margin-top:14px}.audit-card{margin-top:14px}.audit-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #e5e7eb}.audit-row small{display:block;color:#64748b;font-size:10px;margin-top:3px}.audit-row time{font-size:10px;color:#64748b;white-space:nowrap}.inline-help{display:inline!important;margin-left:5px}.coupon-input{text-transform:uppercase}.discount-applied{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;margin:8px 0;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534}.cms-tab-page .cms-card{background:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:16px}.cms-tab-page .card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cms-tab-page .card-head h2{margin:0 0 4px}.cms-tab-page .card-head p{margin:0;color:#64748b;font-size:11px;line-height:1.45}.cms-tab-page .settings-form input,.cms-tab-page .settings-form select,.cms-tab-page .settings-form textarea{width:100%;box-sizing:border-box}.cms-tab-page .row.gap form{margin:0}.cms-tab-page .row.gap .btn{white-space:nowrap}
@media(max-width:1350px){.metric-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.manager-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discounts-layout{grid-template-columns:1fr}}
@media(max-width:1050px){.cms-manager-grid,.traffic-grid{grid-template-columns:1fr}.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.split-insights{grid-template-columns:1fr}}
@media(max-width:850px){.cms-nav-group{display:none}}
@media(max-width:600px){.metric-grid.six,.metric-grid.four,.manager-status-grid{grid-template-columns:1fr}.discount-admin-row,.audit-row{align-items:flex-start;flex-direction:column}.discount-admin-row>.row{width:100%;flex-wrap:wrap}.discount-admin-row>.row form{flex:1}.discount-admin-row>.row .btn{width:100%}.cms-tab-page .card-head{flex-direction:column}.cms-tab-page .cms-card{padding:12px}}

/* ===== BitStream Digital v2.1: language picker, About/team, account requests and user management ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.language-picker{display:flex;align-items:center}.language-picker select{height:34px;min-width:94px;padding:0 28px 0 10px;border:1px solid #d7e0ec;border-radius:10px;background:#fff;color:#16304f;font-size:11px;font-weight:800;cursor:pointer}.language-picker select:focus{outline:2px solid #93c5fd;outline-offset:1px}html[data-theme="dark"] .language-picker select{background:#10213a;border-color:#2a3e59;color:#eef5ff}

.about-head{max-width:980px}.about-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.about-story-card{padding:24px;border:1px solid #dbe4ef;border-radius:18px;background:#fff}.about-story-card h2{margin:6px 0 10px}.about-story-card p{margin:0;color:#64748b;line-height:1.75}.people-section{padding-top:12px}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.founder-grid{grid-template-columns:minmax(0,720px)}.person-card{display:flex;gap:16px;align-items:flex-start;padding:18px;border:1px solid #dbe4ef;border-radius:18px;background:#fff}.person-card h3{margin:2px 0 3px}.person-card strong{display:block;color:#2563eb;font-size:12px}.person-card p{margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.6}.person-photo{width:92px;height:92px;flex:0 0 92px;border-radius:18px;object-fit:cover;border:1px solid #dbe4ef;background:#eef5ff}.person-placeholder{display:grid;place-items:center;font-size:24px;font-weight:900;color:#2563eb}.founder-card .person-photo{width:118px;height:118px;flex-basis:118px}

.account-request-panel{scroll-margin-top:100px}.account-request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.account-request-form>label{display:grid;gap:5px}.account-request-form>label:nth-of-type(3),.account-request-note,.account-request-form>.btn{grid-column:1/-1}.account-request-note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #dbe4ef;border-radius:11px;background:#f8fbff;font-size:11px}.account-request-note span{color:#64748b;line-height:1.45}.account-request-form>.btn{justify-self:start}.request-history{display:grid;gap:8px;margin-top:16px}.request-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid #e5e7eb}.request-row small{display:block;margin-top:3px;color:#64748b}.request-row p{margin:5px 0 0;color:#475569;font-size:11px}.request-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.user-management-page{display:grid;gap:14px}.account-request-admin-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;padding:13px 0;border-top:1px solid #e5e7eb}.account-request-admin-row:first-of-type{border-top:0}.account-request-admin-row small{display:block;margin-top:4px;color:#64748b}.account-request-admin-row p{margin:6px 0 0;font-size:11px;color:#475569}.request-review-form{display:grid;gap:7px}.request-review-form input{width:100%}.cms-user-list{display:grid;gap:8px;margin-top:12px}.cms-user-row{border:1px solid #dbe4ef;border-radius:12px;background:#fff;overflow:hidden}.cms-user-row[data-closed="true"]{background:#fffafa}.cms-user-row summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 13px;cursor:pointer;list-style:none}.cms-user-row summary::-webkit-details-marker{display:none}.cms-user-row summary>span:first-child{display:grid;gap:3px;min-width:0}.cms-user-row summary small{color:#64748b;overflow-wrap:anywhere}.cms-user-summary-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cms-user-summary-meta i{font-style:normal;font-size:10px;font-weight:800;color:#2563eb}.cms-user-manage-form{display:grid;gap:10px;padding:13px;border-top:1px solid #e5e7eb;background:#f8fbff}.user-action-buttons{flex-wrap:wrap}

.about-cms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.about-cms-grid .team-manager-card{grid-column:1/-1}.team-admin-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:13px 0;border-top:1px solid #e5e7eb}.team-admin-row:first-of-type{border-top:0}.team-admin-avatar{width:58px;height:58px;border-radius:14px;background:#eef5ff;display:grid;place-items:center;overflow:hidden;color:#2563eb;font-weight:900}.team-admin-avatar img{width:100%;height:100%;object-fit:cover}.team-admin-fields{display:grid;gap:7px}.team-admin-fields input,.team-admin-fields textarea{width:100%;box-sizing:border-box}.inline-order{display:flex!important;align-items:center;gap:6px!important;font-size:10px!important}.inline-order input{width:76px!important}.compact-switch{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important}.compact-switch input{width:auto!important}

html[data-theme="dark"] .about-story-card,html[data-theme="dark"] .person-card,html[data-theme="dark"] .cms-user-row{background:#101c2e;border-color:#2a3e59}html[data-theme="dark"] .cms-user-manage-form,html[data-theme="dark"] .account-request-note{background:#13243b;border-color:#2a3e59}html[data-theme="dark"] .about-story-card p,html[data-theme="dark"] .person-card p,html[data-theme="dark"] .account-request-note span{color:#9fb3ce}

@media(max-width:1000px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-cms-grid{grid-template-columns:1fr}.about-cms-grid .team-manager-card{grid-column:auto}.account-request-admin-row{grid-template-columns:1fr}}
@media(max-width:700px){.about-story-grid,.people-grid,.account-request-form{grid-template-columns:1fr}.person-card{flex-direction:column}.founder-card .person-photo,.person-photo{width:88px;height:88px;flex-basis:88px}.request-row,.cms-user-row summary{flex-direction:column;align-items:flex-start}.cms-user-summary-meta{justify-content:flex-start}.account-request-form>label:nth-of-type(3),.account-request-note,.account-request-form>.btn{grid-column:auto}.team-admin-row{grid-template-columns:1fr}.team-admin-avatar{width:54px;height:54px}}

/* v2.1 CMS user search */
.cms-user-search{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}.cms-user-search input{min-width:260px;max-width:520px;flex:1}@media(max-width:640px){.cms-user-search input{min-width:0;width:100%}}
