@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--purple-100:#efedff;--purple-200:#dad8ff;--purple-300:#c1bfff;--purple-400:#aaa5ee;--purple-500:#8e84dc;--purple-600:#7261c6;--purple-700:#512eab;--purple-800:#3d1788;--purple-900:#330b77;--pearson-900:#0d004d;--pearson-920:#272247;--pearson-940:#181235;--pearson-950:#100c24;--pearson-980:#090714;--color-bg:var(--pearson-980);--color-surface:var(--pearson-950);--color-surface-elevated:var(--pearson-940);--color-border:#c1bfff1f;--color-text:#f0f0f5;--color-text-muted:var(--purple-400);--tpl-copy:#e6e3fa;--tpl-copy-dim:#cdc6f0;--tpl-copy-faint:#a89ee0;--tpl-border-on-dark:#d4d0ff38;--tpl-fs-body:1rem;--tpl-lh-body:1.65;--tpl-fs-caption:.875rem;--tpl-lh-caption:1.55;--tpl-fs-overline:.6875rem;--tpl-fs-title-sm:1.125rem;--tpl-fs-lede:1.0625rem;--color-primary:var(--purple-700);--color-primary-light:var(--purple-300);--color-accent:var(--purple-300);--color-danger:#ff6b6b;--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;font-family:var(--font-sans);font-variant-ligatures:none;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}::selection{background:var(--purple-700);color:var(--color-text)}body{background:var(--color-bg);min-height:100vh;margin:0;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;cursor:pointer;text-decoration:none}.main-content{flex:1;position:relative}.scroll-line{background:var(--color-border);z-index:100;width:1px;position:fixed;top:0;bottom:0;left:16px}.scroll-progress{background:var(--purple-300);z-index:101;width:1px;height:0;position:fixed;top:0;left:16px}.projects-section{grid-template-columns:1fr;gap:1.5rem;padding:0 60px 120px 50px;display:grid}@media (min-width:640px){.projects-section{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects-section{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width:1400px){.projects-section{grid-template-columns:repeat(4,1fr)}}@media (min-width:1800px){.projects-section{grid-template-columns:repeat(5,1fr)}}@media (max-width:768px){.projects-section{padding:0 20px 80px}.scroll-line,.scroll-progress{display:none}}.index-header{grid-column:1/-1;margin-bottom:.5rem;padding:2rem 0 0}.index-header-top{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.index-tabs{gap:0;display:flex}.index-tab{color:var(--color-text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .15s;display:inline-flex}.index-tab:hover{color:var(--color-text)}.index-tab-active{color:var(--color-text);background:var(--pearson-950);border-color:var(--color-border);border-bottom-color:var(--pearson-950);z-index:1;position:relative}.index-tab-count{min-width:1.4rem;height:1.4rem;color:var(--color-text-muted);background:#ffffff0f;border-radius:3px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.7rem;font-weight:600;display:inline-flex}.index-tab-active .index-tab-count{color:var(--color-text);background:#c1bfff1f}.index-controls{align-items:center;gap:.5rem;padding-bottom:2px;display:flex}.index-search{border:1px solid var(--color-border);width:160px;color:var(--color-text);font-family:var(--font-sans);background:0 0;border-radius:0;min-width:0;padding:.35rem .6rem;font-size:.8125rem}.index-search::placeholder{color:var(--color-text-muted);opacity:.6}.index-search:focus{outline:2px solid var(--purple-300,#a78bfa);outline-offset:0}.index-sort{border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-sans);cursor:pointer;appearance:none;white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right .6rem center no-repeat;border-radius:0;padding:.35rem 1.75rem .35rem .6rem;font-size:.8125rem}.index-sort:focus{outline:2px solid var(--purple-300,#a78bfa);outline-offset:0}.index-empty{color:var(--color-text-muted);grid-column:1/-1;padding:3rem 0;font-size:.9rem}.index-label{font-size:1.25rem;font-weight:600}.index-count{color:var(--color-text-muted);font-size:.9rem}@media (max-width:640px){.index-header-top{flex-wrap:wrap;align-items:center}.index-controls{margin-left:auto}}.btn{font-family:var(--font-sans);font-variant-ligatures:none;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn:focus-visible{outline:2px solid var(--purple-300);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn-primary:hover:not(:disabled){background:var(--purple-300);border-color:var(--purple-300)}.btn-ghost{color:var(--color-text-muted);border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border);background:0 0}.btn-danger{color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:var(--color-bg)}.btn-sm{padding:.4rem .8rem;font-size:.65rem}.btn-icon-left{margin-right:.4em}.btn-icon-right{margin-left:.4em}.modal-overlay{z-index:2000;background:#090714e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--pearson-950);border:1px solid var(--color-border);width:90%;max-width:420px;padding:2rem}.modal-content h3{font-family:var(--font-sans);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.modal-content p{color:var(--color-text-muted);margin:0 0 2rem;font-size:.9rem;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:.75rem;display:flex}.header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 50px 0;display:flex}.header-left{flex:1;min-width:0}.header-right{flex-wrap:wrap;justify-content:flex-end;align-self:center;align-items:center;gap:.75rem;display:flex}.header-project-admin-status{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:.3rem .55rem;font-size:.6875rem;font-weight:600}.header-project-admin-status--published{color:var(--color-success,#86efac);background:#22c55e26}.header-project-admin-status--draft{color:var(--color-text-muted);background:var(--pearson-900,#0003)}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (max-width:768px){.header{padding:1rem 20px 0}}.debug-bar{color:#fff;z-index:10000;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:8px 16px;font-size:13px;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000026}.debug-bar-content{flex-wrap:wrap;align-items:center;gap:20px;max-width:1200px;margin:0 auto;display:flex}.debug-label{font-size:14px;font-weight:600}.debug-groups{align-items:center;gap:12px;display:flex}.debug-groups-label{margin:0;font-weight:500}.debug-groups-checkboxes{align-items:center;gap:16px;display:flex}.debug-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:0;font-weight:400;display:flex}.debug-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#fbbf24;width:16px;height:16px}.debug-active{color:#fbbf24;margin-left:auto;font-weight:500}@media (max-width:768px){.debug-bar{padding:6px 12px;font-size:12px}.debug-bar-content{gap:12px}.debug-groups-checkboxes{gap:8px}.debug-active{flex-basis:100%;margin-left:0}}.badge{font-family:var(--font-sans);font-variant-ligatures:none;border-radius:2px;align-items:center;padding:.35rem .75rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-default{border:1px solid var(--color-border);color:var(--color-text);background:#100c24d9}.badge-featured{color:var(--color-text);background:#512eabe6}.badge-success{color:var(--color-text);background:#2eab51e6}.badge-muted{color:var(--color-text-muted);background:#8e84dc26}.project-card{background:var(--pearson-950);border:1px solid var(--color-border);flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:#c1bfff40;box-shadow:0 8px 32px #0000004d}.project-card-image{aspect-ratio:16/10;border-bottom:1px solid var(--color-border);background:var(--pearson-940);display:block;position:relative;overflow:hidden}.project-card-image img{object-fit:cover;width:100%;height:100%}.project-card-banners{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:12px;right:0}.project-card-banner{border-radius:2px 0 0 2px}.project-card-content{flex-direction:column;flex:1;gap:.5rem;padding:1.25rem;display:flex}.project-card-title{margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.project-card-title a{color:var(--color-text);transition:color .2s}.project-card-title a:hover{color:var(--purple-300)}.project-card-description{color:var(--color-text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.maturity-tag{letter-spacing:0;text-transform:none;border:none}.maturity-concept{color:#f0f0f5;background:#6b7280a6}.maturity-prototype{color:#fed7aa;background:#c2410ca6}.maturity-alpha{color:#fef08a;background:#a16207a6}.maturity-beta{color:#c7d2fe;background:#4338caa6}.maturity-report{color:#a5f3fc;background:#0e7490a6}.maturity-complete{color:#bbf7d0;background:#15803da6}.project-card-clickable{cursor:pointer}.project-card-clickable:focus-visible{outline:2px solid var(--purple-300);outline-offset:2px}.project-card-featured{border-color:#c1bfff4d;position:relative}.project-card-status{z-index:10;font-family:var(--font-sans);font-variant-ligatures:none;border:1px solid var(--color-border);pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--color-text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#100c24d9;border-radius:2px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.7rem;font-weight:600;display:inline-flex;position:absolute;top:12px;left:12px}@media (max-width:640px){.project-card-content{padding:1rem}}.wave-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-statement{background:var(--color-bg);flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 60px 80px 50px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:1;max-width:900px;position:relative}.hero-label{color:var(--color-text-muted);align-items:center;gap:.75rem;margin-bottom:2rem;font-size:.9rem;font-weight:500;display:inline-flex}.hero-label:before{content:"";background:var(--purple-400);width:16px;height:1px}.hero-title{font-family:var(--font-sans);letter-spacing:-.02em;margin:0 0 2rem;font-size:clamp(3rem,8vw,6.5rem);font-weight:400;line-height:1.2}.hero-title em{color:var(--purple-300);font-style:normal}.hero-title .word{display:inline-block}.hero-title .word-inner{animation:.8s cubic-bezier(.16,1,.3,1) backwards slideUp;display:inline-block}.hero-title .word:first-child .word-inner{animation-delay:.1s}.hero-title .word:nth-child(2) .word-inner{animation-delay:.15s}.hero-title .word:nth-child(3) .word-inner{animation-delay:.2s}.hero-title .word:nth-child(4) .word-inner{animation-delay:.25s}.hero-title .word:nth-child(5) .word-inner{animation-delay:.3s}.hero-title .word:nth-child(6) .word-inner{animation-delay:.35s}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.hero-description{color:var(--color-text-muted);max-width:500px;margin-bottom:3rem;font-size:1rem;line-height:1.7;animation:.6s ease-out .5s backwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-stats{border-top:1px solid var(--color-border);padding-top:2rem;animation:.6s ease-out .7s backwards fadeIn;display:flex}.stat{flex-direction:column;flex:1;gap:.25rem;max-width:200px;display:flex}.stat-value{font-family:var(--font-sans);color:var(--color-text);font-size:2.5rem;font-weight:300;line-height:1}.stat-label{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.hero-scroll-hint{color:var(--color-text-muted);z-index:1;align-items:center;gap:.75rem;font-size:.8rem;font-weight:500;animation:.6s ease-out 1s backwards fadeIn;display:flex;position:absolute;bottom:30px;left:50px}.scroll-arrow{border:1px solid var(--color-border);place-items:center;width:20px;height:20px;animation:2s ease-in-out infinite bounce;display:grid}.scroll-arrow svg{width:10px;height:10px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (max-width:768px){.hero-statement{min-height:90vh;padding:0 20px 60px}.hero-stats{flex-wrap:wrap;gap:2rem}.hero-scroll-hint{left:20px}}.loading-state{min-height:60vh;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.95rem;display:flex}.loading-state:after{content:"";background:var(--purple-300);width:4px;height:4px;margin-left:8px;animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;padding:2rem;display:flex}.error-state h2{font-family:var(--font-sans);margin:0;font-size:2rem;font-weight:600}.error-state p{color:var(--color-text-muted);max-width:400px;margin:0;font-size:.85rem}.form-group{margin-bottom:1.75rem}.form-group label{color:var(--color-text-muted);margin-bottom:.6rem;font-size:.85rem;font-weight:600;display:block}.form-group input{width:100%;font-family:var(--font-sans);font-variant-ligatures:none;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);outline:none;padding:.9rem 1rem;font-size:.95rem;transition:border-color .2s}.form-group input:focus{border-color:var(--purple-500);outline:2px solid var(--purple-300);outline-offset:2px}.form-group input::placeholder{color:var(--color-text-muted);opacity:.5}.project-detail{max-width:1200px;margin:0 auto;padding:5rem 2rem 4rem}.project-detail .back-btn{z-index:1000;mix-blend-mode:difference;position:fixed;top:1.5rem;left:50px}.project-detail-content{flex-direction:column;gap:1.5rem;display:flex}.project-detail-templates{width:100%}.project-detail-templates .project-detail-lead-visual.media-placeholder.media-placeholder--article-empty{aspect-ratio:4/3;box-sizing:border-box;width:min(352px,92vw);max-width:100%;min-height:240px}.project-detail-templates .project-detail-lead-visual .media-placeholder-icon{font-size:2.5rem}.project-detail-templates .project-detail-lead-inner{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;display:flex}.project-detail-templates .project-detail-lead .project-detail-elevator{width:100%;max-width:min(40rem,100%);font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0;font-weight:400}.project-detail-templates .preview-panel{--preview-content-inset:0px;--color-border:var(--tpl-border-on-dark);background:0 0;width:100%;max-width:none;margin:0;padding:.5rem 0 3rem}.project-detail-templates .tpl-section.tpl-section--has-bg{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.project-detail-templates .tpl-section.tpl-section--has-bg .tpl-inner{max-width:var(--tpl-rail-max);margin:0 auto}.project-detail-templates .tpl-section.tpl-alt:not(.tpl-section--has-bg){width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.project-detail-templates .tpl-section.tpl-alt:not(.tpl-section--has-bg) .tpl-inner{max-width:var(--tpl-rail-max);margin:0 auto}.project-detail-templates .preview-section-shell.preview-section-shell--has-bg,.project-detail-templates .article-embed-shell.article-embed-shell--has-bg{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.project-detail-templates .preview-section-shell.preview-section-shell--has-bg .tpl-inner,.project-detail-templates .article-embed-shell.article-embed-shell--has-bg .tpl-inner{max-width:var(--tpl-rail-max);margin:0 auto}.project-detail-header{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.project-detail-title{margin:0;font-size:2.5rem;font-weight:700;line-height:1.2}.project-detail-description{color:var(--color-text-muted);margin:0;font-size:1.1rem;line-height:1.8}.project-detail-body{color:var(--color-text);font-size:1rem;line-height:1.8}.project-detail-body h1,.project-detail-body h2,.project-detail-body h3{margin:1.5em 0 .5em;font-weight:600}.project-detail-body h2{font-size:1.5rem}.project-detail-body h3{font-size:1.25rem}.project-detail-body p{margin:0 0 1em}.project-detail-body a{color:var(--purple-300);text-decoration:underline}.project-detail-body code{background:var(--pearson-940);border-radius:3px;padding:.2em .4em;font-size:.9em}.project-detail-body pre{background:var(--pearson-940);border-radius:4px;padding:1rem;overflow-x:auto}.project-detail-body pre code{background:0 0;padding:0}.project-detail-body ul,.project-detail-body ol{margin:0 0 1em;padding-left:1.5em}.project-detail-body blockquote{border-left:3px solid var(--purple-700);color:var(--color-text-muted);margin:1em 0;padding-left:1rem}.project-detail-body img,.project-detail-body video,.project-detail-body audio{border-radius:6px;width:calc(100% - 2rem);margin:1.25em 1rem;display:block}.project-detail-body audio{width:calc(100% - 2rem);height:2.5rem}.project-detail-header .btn{flex-shrink:0}.project-detail-guest{max-width:32rem;margin:0 auto;padding:6rem 2rem 4rem}.project-detail-guest-card{background:var(--pearson-940);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.project-detail-guest-intro{color:var(--color-text-muted);margin:0 0 1rem;line-height:1.6}.project-detail-guest-actions{margin-bottom:1.5rem}.project-detail-guest-form{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.project-detail-guest-error{color:var(--color-error,#f87171);margin:0;font-size:.9rem}@media (max-width:768px){.project-detail{padding:4.5rem 1rem 2rem}.project-detail .back-btn{left:max(1rem, env(safe-area-inset-left));top:max(1rem, env(safe-area-inset-top))}.project-detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.project-detail-title{font-size:clamp(1.35rem,2vw + 1rem,1.75rem);line-height:1.2}.project-detail-description{font-size:1rem;line-height:1.65}.project-detail-templates .project-detail-lead-visual.media-placeholder.media-placeholder--article-empty{width:min(100%,20rem);min-height:200px}.project-detail-templates .project-detail-lead-inner{gap:1rem}.project-detail-admin{flex-direction:column;align-items:stretch}.project-detail-admin-actions{justify-content:flex-start}}.builder-page{z-index:1001;background:var(--color-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.builder-topbar{padding:.6rem max(1.25rem, env(safe-area-inset-right)) .6rem max(1.25rem, env(safe-area-inset-left));border-bottom:1px solid var(--color-border);background:var(--pearson-950);flex-shrink:0;align-items:center;gap:1rem;min-height:52px;display:flex}.builder-topbar-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.builder-save-block{flex-direction:row;align-items:center;gap:.65rem;display:flex}.builder-save-meta{text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;max-width:min(260px,46vw);display:flex}.builder-save-meta-line{font-size:.75rem;line-height:1.35}.builder-save-meta .builder-save-error{display:block}.builder-last-saved{color:var(--color-text-muted)}.builder-last-saved--pending{color:var(--purple-400)}.builder-last-saved--after-error{opacity:.88;font-size:.7rem}.builder-save-error{color:var(--color-danger);font-size:.8rem}.builder-autosave{color:var(--purple-400);font-size:.8rem}.builder-autosave--muted{color:var(--color-text-muted)}.builder-autosave--error{color:var(--color-danger)}.builder-project-record{border-bottom:1px solid var(--color-border);background:var(--pearson-940);flex-shrink:0}.builder-project-record-summary{cursor:pointer;padding:.55rem max(1.25rem, env(safe-area-inset-right)) .55rem max(1.25rem, env(safe-area-inset-left));letter-spacing:.02em;color:var(--purple-300);font-size:.8125rem;font-weight:600;list-style:none}.builder-project-record-summary::-webkit-details-marker{display:none}.builder-project-record-summary:before{content:"▸ ";margin-right:.25rem;transition:transform .15s;display:inline-block}.builder-project-record[open] .builder-project-record-summary:before{transform:rotate(90deg)}.builder-project-record-body{flex-direction:column;gap:.65rem;max-width:52rem;padding:0 1.25rem .85rem;display:flex}.builder-project-record-hint{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.4}.builder-project-record-row{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.builder-project-record-field{color:var(--color-text-muted);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.builder-project-record-field--block{width:100%}.builder-project-record-field input[type=date],.builder-project-record-field textarea{font:inherit;color:var(--color-text);background:var(--pearson-950);border:1px solid var(--color-border);border-radius:4px;padding:.35rem .5rem;font-size:.875rem}.builder-project-record-field textarea{resize:vertical;min-height:4.5rem}.builder-legacy-banner{padding:.75rem max(1.25rem, env(safe-area-inset-right)) .75rem max(1.25rem, env(safe-area-inset-left));border-bottom:1px solid var(--color-border);background:#4f46e51f;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.builder-legacy-banner p{max-width:52rem;color:var(--color-text-secondary,var(--color-text-muted));margin:0;font-size:.875rem;line-height:1.45}.builder-body{flex:1;display:flex;overflow:hidden}.builder-chat-pane{border-right:1px solid var(--color-border);background:var(--pearson-950);flex-direction:column;width:40%;min-width:320px;display:flex;overflow:hidden}.builder-preview-pane{background:var(--color-bg);flex:1;overflow:hidden auto}.chat-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.chat-empty{color:var(--color-text-muted);text-align:center;margin-top:2rem;font-size:.85rem}.chat-bubble{flex-direction:column;max-width:88%;display:flex}.chat-bubble--user{align-self:flex-end}.chat-bubble--assistant{align-self:flex-start}.chat-bubble-content{border:1px solid var(--color-border);padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.chat-bubble--user .chat-bubble-content{background:var(--pearson-940);border-color:#c1bfff33}.chat-bubble--assistant .chat-bubble-content{background:var(--pearson-980);border-color:var(--color-border)}.chat-bubble--assistant .chat-bubble-content p+p{margin-top:.65rem}.chat-bubble--assistant .chat-bubble-content strong{color:var(--purple-300);font-weight:600}.chat-bubble-content p{margin:0 0 .5em}.chat-bubble-content p:last-child{margin:0}.chat-bubble-content ul,.chat-bubble-content ol{margin:.25em 0;padding-left:1.25em}.chat-bubble-content code{background:var(--pearson-940);padding:.1em .35em;font-size:.85em}.chat-typing{align-items:center;gap:5px;min-height:1.2rem;display:flex}.chat-typing span{background:var(--purple-400);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingBounce}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-input-row{border-top:1px solid var(--color-border);background:var(--pearson-950);align-items:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.chat-input{resize:none;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-sans);border-radius:0;flex:1;min-height:38px;max-height:160px;padding:.55rem .75rem;font-size:.875rem;line-height:1.5;overflow-y:auto}.chat-input::placeholder{color:var(--color-text-muted);opacity:.6}.chat-input:focus{outline:2px solid var(--purple-300);outline-offset:0}.chat-input:disabled{opacity:.5}.preview-panel{box-sizing:border-box;--color-border:var(--tpl-border-on-dark);--preview-content-inset:max(1.5rem, env(safe-area-inset-left), env(safe-area-inset-right));width:100%;max-width:none;padding-top:2.5rem;padding-bottom:4rem;padding-left:var(--preview-content-inset);padding-right:var(--preview-content-inset);margin:0}.preview-empty{min-height:60vh;color:var(--tpl-copy-dim,var(--color-text-muted));justify-content:center;align-items:center;font-size:1rem;line-height:1.65;display:flex}.preview-section-shell,.article-embed-shell{--tpl-rail-max:min(1120px, 100%);--tpl-copy-max:min(52rem, 100%);margin-bottom:3.5rem;padding:clamp(40px,6vw,72px) clamp(20px,4vw,60px);position:relative}.preview-section-shell.preview-section-shell--has-bg:before,.article-embed-shell.article-embed-shell--has-bg:before{content:"";background-image:var(--section-bg-url);opacity:.34;filter:grayscale()sepia(.35)hue-rotate(210deg)saturate(2)brightness(.62);pointer-events:none;z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.preview-section-shell.preview-section-shell--has-bg.preview-section-shell--bg-jpeg:before,.article-embed-shell.article-embed-shell--has-bg.article-embed-shell--bg-jpeg:before{opacity:.38}.preview-section-shell.preview-section-shell--has-bg.preview-section-shell--bg-solid:before,.article-embed-shell.article-embed-shell--has-bg.article-embed-shell--bg-solid:before{filter:none;opacity:1;background-image:none;background-color:var(--section-bg-solid)}.preview-section-shell.preview-section-shell--has-bg>*,.article-embed-shell.article-embed-shell--has-bg>*{z-index:1;position:relative}.section-heading-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.section-bg-toolbar{margin:-.35rem 0 1rem}.section-bg-field{flex-direction:column;gap:.25rem;max-width:16rem;display:flex}.section-bg-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:.65rem;font-weight:600}.section-bg-select{font:inherit;color:var(--color-text);background:var(--pearson-940);border:1px solid var(--color-border);border-radius:4px;min-height:40px;padding:.35rem .45rem;font-size:.8rem}.section-title{overflow-wrap:break-word;flex:1;margin:0;font-size:clamp(1.15rem,2.5vw + .5rem,1.5rem);font-weight:600}.section-actions{opacity:1;flex-shrink:0;gap:.25rem;display:flex}.section-action-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:.2rem .45rem;font-size:.8rem;line-height:1}.section-action-btn:hover{color:var(--color-text);border-color:var(--color-border)}.section-action-btn--danger:hover{color:var(--color-danger);border-color:var(--color-danger)}.section-placeholder{color:var(--color-text-muted);border:1px dashed var(--color-border);text-align:center;padding:1.5rem;font-size:.875rem}.section-body{color:var(--color-text);font-size:1rem;line-height:1.8}.section-body p{margin:0 0 1em}.section-body h2{margin:1.5em 0 .5em;font-size:1.5rem;font-weight:600}.section-body h3{margin:1.5em 0 .5em;font-size:1.25rem;font-weight:600}.section-body ul,.section-body ol{margin:0 0 1em;padding-left:1.5em}.section-body code{background:var(--pearson-940);padding:.2em .4em;font-size:.9em}.section-body pre{background:var(--pearson-940);padding:1rem;overflow-x:auto}.section-body pre code{background:0 0;padding:0}.section-hero{padding-top:1rem}.hero-tagline{letter-spacing:-.02em;margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.2}.hero-cta{margin-bottom:1.5rem;display:inline-flex}.mermaid-diagram{background:var(--pearson-940);border:1px solid var(--color-border);padding:1.5rem;position:relative;overflow:auto}.mermaid-diagram svg{max-width:100%;margin:0 auto;display:block}.mermaid-edit-hint{color:var(--color-text-muted);opacity:.72;pointer-events:none;font-size:.75rem;position:absolute;top:.5rem;right:.75rem}.mermaid-error{color:var(--color-danger);font-size:.85rem}.mermaid-raw{white-space:pre-wrap;color:var(--color-text-muted);margin-top:.5rem;font-size:.8rem}.mermaid-loading{color:var(--color-text-muted);text-align:center;padding:2rem;font-size:.85rem}.mermaid-editor-textarea{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text);resize:vertical;border-radius:0;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.5}.mermaid-editor-textarea:focus{outline:2px solid var(--purple-300);outline-offset:0}.media-placeholder{border:2px dashed var(--color-border);background:var(--pearson-940);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:180px;padding:2rem;display:flex}.media-placeholder:hover{border-color:var(--purple-400);background:var(--pearson-950)}.media-placeholder--locked{cursor:default;opacity:.5}.media-placeholder--locked:hover{border-color:var(--color-border);background:var(--pearson-940)}.media-placeholder--filled{min-height:unset;cursor:default;background:0 0;border:none;align-items:flex-start;padding:0}.media-placeholder--article-empty{cursor:default;background:var(--pearson-940);border-style:solid;border-width:1px;min-height:120px}.media-placeholder--article-empty:hover{border-color:var(--color-border);background:var(--pearson-940)}.media-placeholder-icon{color:var(--color-text-muted);font-size:1.75rem}.media-placeholder-label{font-size:var(--tpl-fs-body);color:var(--tpl-copy);font-weight:500}.media-placeholder-hint{font-size:var(--tpl-fs-caption);color:var(--tpl-copy-dim)}.media-preview{border:1px solid var(--color-border);width:100%;display:block}.media-remove{margin-top:.5rem}.media-upload-progress{width:100%;font-size:var(--tpl-fs-caption);color:var(--tpl-copy-dim);flex-direction:column;align-items:center;gap:.75rem;display:flex}.media-progress-track{background:var(--color-border);width:100%;height:3px}.media-progress-bar{background:var(--purple-400);height:3px;transition:width .2s}.media-error{font-size:var(--tpl-fs-caption);color:var(--color-danger)}.media-caption{font-size:var(--tpl-fs-caption);color:var(--tpl-copy-dim);text-align:center;margin:.75rem 0 0;font-style:italic}.media-caption--above{text-align:left;font-style:normal;font-size:var(--tpl-fs-body);color:var(--tpl-copy);line-height:var(--tpl-lh-body);margin:0 0 .75rem}.media-placeholder--choice{cursor:default;flex-direction:column;gap:1rem}.media-choice-buttons{gap:1rem;display:flex}.media-choice-btn{background:var(--pearson-950);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-sans);font-size:var(--tpl-fs-body);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:.35rem;padding:1.25rem 1rem;font-weight:500;display:flex}.media-choice-btn:hover{border-color:var(--purple-400);background:var(--pearson-940)}.media-choice-icon{width:1.5rem;height:1.5rem;color:var(--color-text-secondary,var(--color-text-muted));flex-shrink:0}.media-choice-btn:hover .media-choice-icon{color:var(--purple-400,#a78bfa)}.media-choice-btn small{font-size:var(--tpl-fs-caption);color:var(--tpl-copy-dim);font-weight:400}.tpl-shell{margin-left:calc(-1 * var(--preview-content-inset,1.5rem));margin-right:calc(-1 * var(--preview-content-inset,1.5rem));position:relative}.tpl-shell--read-only{margin:0}.tpl-shell-controls{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));z-index:10;opacity:.88;gap:.35rem;display:flex;position:absolute}.tpl-shell-bg-toolbar{top:max(.75rem, env(safe-area-inset-top));left:max(.75rem, env(safe-area-inset-left));z-index:10;max-width:min(16rem,100% - 7rem);position:absolute}.tpl-shell-bg-field{flex-direction:column;gap:.2rem;display:flex}.tpl-shell-bg-label{font-size:var(--tpl-fs-overline);letter-spacing:.07em;text-transform:uppercase;color:#dad6ffb8;font-weight:600}.tpl-shell-bg-select{font:inherit;font-size:var(--tpl-fs-caption);color:var(--color-text);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090714e0;border-radius:4px;min-height:40px;padding:.35rem .4rem}.tpl-control-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:var(--tpl-fs-caption);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent;background:#090714d9;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 .55rem;line-height:1;display:inline-flex}.tpl-control-btn:hover{color:var(--color-text);border-color:#c1bfff59}.tpl-control-btn--danger:hover{color:var(--color-danger);border-color:var(--color-danger)}.tpl-section{--tpl-rail-max:min(1120px, 100%);--tpl-copy-max:min(52rem, 100%);--color-border:var(--tpl-border-on-dark);background:var(--pearson-950);padding:clamp(48px,8vw,80px) clamp(20px,4vw,60px);position:relative;overflow:hidden}.tpl-section.tpl-alt{background:var(--pearson-940)}.tpl-section.tpl-section--has-bg:before{content:"";background-image:var(--tpl-bg-url);opacity:.34;filter:grayscale()sepia(.35)hue-rotate(210deg)saturate(2)brightness(.62);pointer-events:none;z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.tpl-section.tpl-section--has-bg.tpl-section--bg-solid:before{filter:none;opacity:1;background-image:none;background-color:var(--tpl-bg-solid);background-size:auto}.tpl-hero.tpl-section--has-bg.tpl-section--bg-solid:before{opacity:1;filter:none}.tpl-hero.tpl-section--has-bg.tpl-section--bg-solid:after{opacity:.18}.tpl-section.tpl-section--has-bg.tpl-section--bg-jpeg:before{opacity:.38}.tpl-hero.tpl-section--has-bg:before{opacity:.52;filter:brightness(.72)saturate(1.05)}.tpl-hero.tpl-section--has-bg.tpl-section--bg-jpeg:before{opacity:.55;filter:brightness(.78)saturate(.95)}.tpl-hero.tpl-section--has-bg:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#09071447 0%,#09071438 38%,#0907149e 100%);position:absolute;inset:0}.tpl-section.tpl-cta.tpl-section--has-bg:before{opacity:.28}.tpl-inner{max-width:var(--tpl-rail-max);z-index:1;width:100%;margin:0 auto;position:relative}.tpl-inner>.tpl-cards-grid,.tpl-inner>.tpl-stats-grid,.tpl-inner>.tpl-cases-grid,.tpl-inner>.tpl-compare-two,.tpl-inner>.tpl-stacked-rows,.tpl-inner>.tpl-timeline,.tpl-inner>.tpl-pull-quote{max-width:var(--tpl-copy-max);width:100%;margin-left:auto;margin-right:auto}.tpl-prose-block .tpl-inner{max-width:var(--tpl-copy-max);margin-left:auto;margin-right:auto}.tpl-head{margin-bottom:clamp(32px,5vw,52px)}.tpl-head--center{text-align:center}.tpl-head--center>.tpl-heading{max-width:var(--tpl-copy-max);margin-left:auto;margin-right:auto}.tpl-head--center .tpl-subtext{margin-left:auto;margin-right:auto}.tpl-label{font-size:var(--tpl-fs-overline);letter-spacing:.18em;text-transform:uppercase;color:var(--purple-200);margin-bottom:16px;font-weight:700;display:inline-block}.tpl-heading{letter-spacing:-.03em;color:#f8f7fffa;overflow-wrap:break-word;margin:0 0 14px;font-size:clamp(1.35rem,3.2vw + .6rem,48px);font-weight:700;line-height:1.12}.tpl-subtext{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy-dim);max-width:var(--tpl-copy-max);margin:0}.tpl-prose-block-heading{max-width:none;margin-bottom:clamp(1rem,2vw,1.25rem)}.tpl-prose-block-body{flex-direction:column;gap:clamp(.85rem,1.5vw,1.15rem);display:flex}.tpl-prose-block-para{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);max-width:none;margin:0}.tpl-prose-block-placeholder{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy-faint);max-width:none;margin:0;font-style:italic}.tpl-para{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin-bottom:16px}.tpl-para:last-child{margin-bottom:0}.tpl-cards-grid{gap:clamp(14px,2vw,20px);display:grid}.tpl-cards-grid--1{grid-template-columns:1fr}.tpl-cards-grid--2{grid-template-columns:repeat(2,1fr)}.tpl-cards-grid--3{grid-template-columns:repeat(3,1fr)}.tpl-card{background:var(--pearson-920);border:1px solid var(--color-border);border-radius:0;padding:clamp(20px,3vw,32px)}.tpl-icon-box{width:48px;height:48px;color:var(--purple-200);background:#8e84dc24;border:1px solid #dad6ff33;border-radius:0;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.tpl-card-title{font-size:var(--tpl-fs-title-sm);letter-spacing:-.01em;color:#f8f7fffa;margin:0 0 10px;font-weight:700}.tpl-card-body{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0}.tpl-feature-card{background:var(--pearson-920);border:1px solid var(--color-border);border-radius:0;padding:clamp(20px,3vw,32px);position:relative;overflow:hidden}.tpl-feature-card:before{content:"";background:var(--purple-500);opacity:.55;height:2px;position:absolute;top:0;left:0;right:0}.tpl-feat-num{font-size:var(--tpl-fs-overline);letter-spacing:.14em;color:var(--tpl-copy-dim);margin:0 0 16px;font-weight:700}.tpl-stats-grid{gap:clamp(14px,2vw,20px);display:grid}.tpl-stats-grid--2{grid-template-columns:repeat(2,1fr)}.tpl-stats-grid--3{grid-template-columns:repeat(3,1fr)}.tpl-stats-grid--4{grid-template-columns:repeat(4,1fr)}.tpl-stats-grid--1{grid-template-columns:1fr}.tpl-stat-card{background:var(--pearson-920);border:1px solid var(--color-border);border-radius:0;padding:clamp(24px,3.5vw,36px) clamp(20px,3vw,32px);position:relative;overflow:hidden}.tpl-stat-card:after{content:"";opacity:1;background:#dad6ff47;height:2px;position:absolute;bottom:0;left:0;right:0}.tpl-stat-val{letter-spacing:-.04em;color:#f8f7fffa;font-variant-numeric:tabular-nums;margin:0 0 14px;font-size:clamp(1.75rem,4vw + .5rem,56px);font-weight:800;line-height:1}.tpl-stat-label{font-size:var(--tpl-fs-body);color:var(--tpl-copy);margin:0 0 8px;font-weight:600}.tpl-stat-sub{font-size:var(--tpl-fs-caption);line-height:var(--tpl-lh-caption);color:var(--tpl-copy-dim);margin:0;font-style:italic}.tpl-cases-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(14px,2vw,20px);display:grid}.tpl-case-card{background:var(--pearson-920);border:1px solid var(--color-border);border-radius:0;align-items:flex-start;gap:clamp(12px,2vw,18px);padding:clamp(18px,2.5vw,28px);display:flex}.tpl-case-logo{width:48px;height:48px;font-size:var(--tpl-fs-overline);letter-spacing:.04em;border:1px solid var(--color-border);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.tpl-case-logo--purple{color:var(--purple-200);background:#8e84dc24;border-color:#dad6ff38}.tpl-case-logo--orange{color:#ffb088;background:#ff6e3c1f;border-color:#ff8c6447}.tpl-case-logo--blue{color:#9fd4ff;background:#3b82f61f;border-color:#78b4ff47}.tpl-case-logo--green{color:#86f0c8;background:#10b9811f;border-color:#50dcb447}.tpl-case-logo--red{color:#fdbaba;background:#ef44441f;border-color:#ff969647}.tpl-case-content{flex:1;min-width:0}.tpl-case-tag{font-size:var(--tpl-fs-overline);letter-spacing:.12em;text-transform:uppercase;color:var(--purple-200);background:#8e84dc24;border:1px solid #dad6ff38;border-radius:0;margin-bottom:10px;padding:3px 8px;font-weight:700;display:inline-block}.tpl-split-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.tpl-split-text .tpl-heading{margin-bottom:20px}.tpl-split-panel{min-width:0}.tpl-mock-card-wrap{flex-direction:column;gap:.65rem;min-width:0;display:flex}.tpl-mock-chrome{font-size:var(--tpl-fs-overline);letter-spacing:.14em;text-transform:uppercase;color:var(--tpl-copy-dim);margin:0;font-weight:700}.tpl-mock-card{background:var(--pearson-920);border:1px solid var(--color-border);border-radius:0;flex-direction:column;gap:.35rem;min-width:0;max-width:100%;padding:clamp(22px,3vw,32px);display:flex}.tpl-mock-empty{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0}.tpl-mock-upload-hint{font-size:var(--tpl-fs-caption);line-height:var(--tpl-lh-caption);color:var(--tpl-copy-faint);margin:0}.tpl-mock-heading{font-size:var(--tpl-fs-caption);color:var(--tpl-copy-dim);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--color-border);margin:0 0 12px;padding-bottom:12px;font-weight:600}.tpl-panel-row{border-bottom:1px solid #d2ceff1a;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.tpl-panel-row:last-child{border-bottom:none}.tpl-panel-row-label{font-size:var(--tpl-fs-body);color:var(--tpl-copy-dim)}.tpl-panel-row-value{font-size:var(--tpl-fs-body);color:var(--tpl-copy);font-weight:600}.tpl-panel-score{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.tpl-panel-score-label{font-size:var(--tpl-fs-body);color:var(--tpl-copy);margin:0;font-weight:600}.tpl-panel-score-val{letter-spacing:-.02em;color:var(--purple-200);margin:0;font-size:clamp(1.375rem,2.5vw + .75rem,1.75rem);font-weight:800}.tpl-panel-flag{background:#f59e0b1a;border:1px solid #f59e0b47;border-radius:0;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 14px;display:flex}.tpl-panel-flag-icon{color:#fcd34d;flex-shrink:0;margin-top:1px}.tpl-panel-flag-text{font-size:var(--tpl-fs-caption);line-height:var(--tpl-lh-caption);color:#fee6a0f2;margin:0}.tpl-panel-flag-text strong{color:#fde68a;font-weight:600}.tpl-panel-tags{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.tpl-panel-tag{font-size:var(--tpl-fs-caption);color:var(--purple-200);background:#8e84dc29;border:1px solid #dad6ff3d;border-radius:0;padding:5px 12px;font-weight:600}.tpl-panel-tag--value{color:#7af0c8;background:#10b98124;border-color:#50dcb452}.tpl-panel-rec{color:var(--purple-200);background:#8e84dc1f;border:1px solid #dad6ff42;border-radius:0;margin-top:10px;padding:16px 18px}.tpl-panel-rec-body{flex-direction:column;gap:6px;min-width:0;display:flex}.tpl-panel-rec-label{font-size:var(--tpl-fs-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--tpl-copy-dim);margin:0;font-weight:700}.tpl-panel-rec-text{font-size:var(--tpl-fs-body);font-weight:500;line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0}.tpl-hero{flex-direction:column;justify-content:flex-end;min-height:min(80vh,52rem);padding:clamp(4rem,10vw,6.25rem) clamp(20px,4vw,60px) clamp(3rem,6vw,5rem);display:flex}@media (max-height:520px){.tpl-hero{min-height:unset;padding-top:3rem}}.tpl-hero>.tpl-inner{z-index:3;margin-top:auto;position:relative}.tpl-hero .tpl-deco-circles{pointer-events:none;z-index:2;width:min(600px,140vw);max-width:none;height:min(600px,140vw);position:absolute;top:50%;right:clamp(-180px,-12vw,-80px);transform:translateY(-50%)}.tpl-hero-inner{z-index:1;max-width:var(--tpl-copy-max);position:relative}.tpl-eyebrow{font-size:var(--tpl-fs-overline);letter-spacing:.2em;text-transform:uppercase;color:var(--purple-200);margin:0 0 20px;font-weight:600}.tpl-hero-headline{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--color-text);overflow-wrap:break-word;margin:0 0 clamp(1rem,3vw,1.75rem);font-size:clamp(1.75rem,5.5vw + .4rem,76px);font-weight:400;line-height:1.2}.tpl-hero-record{color:var(--color-text-muted);max-width:500px;margin:clamp(1.75rem,4vw,2.5rem) 0 0;font-size:1rem;font-weight:400;line-height:1.7}.tpl-hero-record-line{margin:0}.tpl-hero-record-line+.tpl-hero-record-line{margin-top:.35rem}.tpl-hl{color:var(--purple-300);font-style:normal}.tpl-hero-sub{font-size:var(--tpl-fs-lede);line-height:var(--tpl-lh-body);color:var(--tpl-copy-dim);max-width:var(--tpl-copy-max);margin:0 0 clamp(1.25rem,4vw,2.75rem)}.tpl-btn-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tpl-btn-primary{background:var(--purple-700);color:#fff;min-height:44px;font-family:var(--font-sans);font-size:var(--tpl-fs-body);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-weight:600;text-decoration:none;display:inline-flex}.tpl-btn-primary:hover{background:var(--purple-600)}.tpl-btn-primary:focus-visible{outline:2px solid var(--purple-300);outline-offset:2px}.tpl-btn-primary--lg{font-size:var(--tpl-fs-lede);padding:16px 36px}.tpl-btn-primary--placeholder{opacity:.5;cursor:default}.tpl-btn-primary--placeholder:focus-visible{outline:none}.tpl-btn-ghost{min-height:44px;color:var(--tpl-copy);font-family:var(--font-sans);font-size:var(--tpl-fs-body);-webkit-tap-highlight-color:transparent;border:1px solid #ffffff38;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-weight:500;text-decoration:none;display:inline-flex}.tpl-btn-ghost:focus-visible{outline:2px solid var(--purple-300);outline-offset:2px}.tpl-cta{text-align:center;padding:clamp(4rem,10vw,7.5rem) clamp(20px,4vw,60px)}.tpl-cta-circles{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tpl-cta-inner{z-index:1;width:100%;max-width:var(--tpl-copy-max);background-image:radial-gradient(100% 75% at 50% 38%,#b4aaff29 0%,#8e84dc12 42%,#0000 68%);background-repeat:no-repeat;border-radius:20px;flex-direction:column;align-items:center;gap:20px;margin-left:auto;margin-right:auto;padding:clamp(1.25rem,3vw,2.25rem) clamp(.75rem,2vw,1.25rem);display:flex;position:relative}.tpl-cta-heading{letter-spacing:-.04em;color:#faf9fff7;max-width:var(--tpl-copy-max);overflow-wrap:break-word;margin:0;font-size:clamp(1.5rem,4vw + .5rem,62px);font-weight:700;line-height:1.08}.tpl-cta-sub{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);max-width:min(520px, var(--tpl-copy-max));margin:0}.tpl-cta-footnote{font-size:var(--tpl-fs-caption);color:var(--tpl-copy-faint);letter-spacing:.06em;margin:0}.tpl-pull-quote{text-align:left}.tpl-pull-quote .tpl-label{text-align:center;margin-bottom:12px;display:block}.tpl-pull-quote-context{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy-dim);text-align:center;margin:0 0 20px}.tpl-pull-quote-block{border-left:3px solid var(--purple-500);margin:0;padding:0 0 0 20px}.tpl-pull-quote-text{letter-spacing:-.02em;color:#faf9fff7;margin:0;font-size:clamp(1.2rem,2.2vw + .5rem,1.65rem);font-weight:600;line-height:1.45}.tpl-pull-quote-attrib{font-size:var(--tpl-fs-caption);color:var(--tpl-copy-dim);margin-top:16px;font-style:normal;font-weight:500}.tpl-timeline{padding:0;list-style:none}.tpl-timeline-step{border-bottom:1px solid #d2ceff1f;grid-template-columns:28px 1fr;gap:16px 20px;padding:18px 0;display:grid}.tpl-timeline-step:last-child{border-bottom:none}.tpl-timeline-rail{justify-content:center;padding-top:4px;display:flex;position:relative}.tpl-timeline-rail:after{content:"";background:#dad6ff33;width:1px;position:absolute;top:14px;bottom:-18px;left:50%;transform:translate(-50%)}.tpl-timeline-step:last-child .tpl-timeline-rail:after{display:none}.tpl-timeline-dot{background:var(--purple-500);z-index:1;border:1px solid #e6e2ff73;border-radius:0;width:10px;height:10px}.tpl-timeline-content{min-width:0}.tpl-timeline-marker{font-size:var(--tpl-fs-overline);letter-spacing:.14em;text-transform:uppercase;color:var(--purple-200);margin-bottom:6px;font-weight:700;display:block}.tpl-timeline-title{font-size:var(--tpl-fs-title-sm);letter-spacing:-.02em;color:#f8f7fffa;margin:0 0 6px;font-weight:700}.tpl-timeline-body{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0}.tpl-compare-two{border:1px solid var(--color-border);background:var(--pearson-920);grid-template-columns:1fr 1fr;display:grid}.tpl-compare-col{min-width:0;padding:clamp(18px,3vw,28px)}.tpl-compare-col:first-child{border-right:1px solid var(--color-border)}.tpl-compare-heading{font-size:var(--tpl-fs-overline);letter-spacing:.14em;text-transform:uppercase;color:var(--purple-200);margin:0 0 12px;font-weight:700}.tpl-compare-body{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0}.tpl-stack-row{border-bottom:1px solid #d2ceff1f;align-items:flex-start;gap:16px;padding:16px 0;display:flex}.tpl-stack-row:last-child{border-bottom:none}.tpl-stack-icon{background:#8e84dc1f;border:1px solid #dad6ff33;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tpl-stack-row-gutter{flex-shrink:0;width:40px}.tpl-stack-row-text{flex:1;min-width:0}.tpl-stack-row-title{font-size:var(--tpl-fs-title-sm);letter-spacing:-.02em;color:#f8f7fffa;margin:0 0 6px;font-weight:700}.tpl-stack-row-body{font-size:var(--tpl-fs-body);line-height:var(--tpl-lh-body);color:var(--tpl-copy);margin:0}@media (max-width:1024px){.preview-panel{--preview-content-inset:max(1.75rem, env(safe-area-inset-left), env(safe-area-inset-right))}.tpl-shell{margin-left:calc(-1 * var(--preview-content-inset,1.75rem));margin-right:calc(-1 * var(--preview-content-inset,1.75rem))}.tpl-shell--read-only{margin-left:0;margin-right:0}.tpl-stats-grid--4,.tpl-cards-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.tpl-split-grid{gap:clamp(28px,4vw,48px)}.preview-section-shell,.article-embed-shell{margin-bottom:clamp(2.25rem,5vw,3rem);padding:clamp(32px,5vw,56px) clamp(18px,3.5vw,44px)}}@media (max-width:900px){.builder-body{flex-direction:column;min-height:0}.builder-chat-pane{border-right:none;border-bottom:1px solid var(--color-border);flex:none;width:100%;min-width:0;min-height:200px;max-height:min(44dvh,420px)}.builder-preview-pane{-webkit-overflow-scrolling:touch;flex:auto;min-height:min(48dvh,560px);overflow-y:auto}.preview-panel{--preview-content-inset:max(1rem, env(safe-area-inset-left), env(safe-area-inset-right));padding-top:1.25rem;padding-bottom:2.5rem}.tpl-shell{margin-left:calc(-1 * var(--preview-content-inset,1rem));margin-right:calc(-1 * var(--preview-content-inset,1rem))}.tpl-shell--read-only{margin-left:0;margin-right:0}.tpl-section{padding:clamp(2.25rem, 6vw, 3.25rem) max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right))}.tpl-hero{min-height:min(62dvh,26rem);padding:clamp(2.5rem, 8vw, 4rem) max(1rem, env(safe-area-inset-left)) clamp(2rem, 5vw, 3.25rem) max(1rem, env(safe-area-inset-right))}.tpl-cta{padding:clamp(2.75rem, 8vw, 4.5rem) max(1rem, env(safe-area-inset-left)) clamp(2.5rem, 7vw, 4rem) max(1rem, env(safe-area-inset-right))}.tpl-cards-grid--2,.tpl-cards-grid--3,.tpl-stats-grid--2,.tpl-stats-grid--3,.tpl-stats-grid--4,.tpl-cases-grid{grid-template-columns:1fr}.tpl-split-grid{grid-template-columns:1fr;gap:1.75rem}.tpl-compare-two{grid-template-columns:1fr}.tpl-compare-col:first-child{border-right:none;border-bottom:1px solid var(--color-border)}.section-action-btn{-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.preview-section-shell,.article-embed-shell{padding:clamp(24px, 5vw, 40px) max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));margin-bottom:2.25rem}}@media (max-width:768px){.builder-topbar{padding-left:max(.85rem, env(safe-area-inset-left));padding-right:max(.85rem, env(safe-area-inset-right));flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.builder-topbar-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:.35rem .5rem;min-width:0}.builder-save-meta{max-width:min(220px,52vw)}.section-heading-row{flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem}.section-title{flex:calc(100% - 5.5rem);min-width:0;font-size:clamp(1.05rem,.35vw + 1rem,1.35rem)}.section-actions{flex-shrink:0;margin-left:auto}.chat-messages{padding:.75rem max(.75rem, env(safe-area-inset-left)) .75rem max(.75rem, env(safe-area-inset-right));gap:.75rem}.chat-bubble{max-width:min(100%,26rem)}.chat-bubble-content{padding:.65rem .875rem;font-size:1rem;line-height:1.55}.chat-input-row{padding:.65rem max(.65rem, env(safe-area-inset-left)) .65rem max(.65rem, env(safe-area-inset-right));gap:.4rem}.chat-input{min-height:44px;font-size:1rem}.tpl-shell-controls{top:max(.5rem, env(safe-area-inset-top));right:max(.5rem, env(safe-area-inset-right));gap:.25rem}.tpl-shell-bg-toolbar{top:max(.5rem, env(safe-area-inset-top));left:max(.5rem, env(safe-area-inset-left));max-width:min(14rem,100% - 5.5rem)}.tpl-head{margin-bottom:clamp(1.25rem,4vw,2rem)}.tpl-heading{margin-bottom:.75rem;font-size:clamp(1.2rem,1.1vw + 1.05rem,2rem);line-height:1.14}.tpl-label{margin-bottom:.65rem}.tpl-hero-headline{margin-bottom:clamp(.75rem,2.5vw,1.25rem);font-size:clamp(1.45rem,2.2vw + 1.1rem,2.65rem);line-height:1.08}.tpl-eyebrow{margin-bottom:.85rem}.tpl-cta-heading{font-size:clamp(1.25rem,1.5vw + 1rem,2.35rem);line-height:1.1}.tpl-cta-inner{gap:1rem;padding:clamp(1rem,3vw,1.5rem) clamp(.5rem,2vw,1rem)}.tpl-pull-quote-text{font-size:clamp(1.1rem,2vw + .55rem,1.45rem)}.tpl-stat-val{margin-bottom:.65rem;font-size:clamp(1.5rem,5vw + .75rem,2.75rem)}.tpl-cards-grid,.tpl-stats-grid,.tpl-cases-grid{gap:.875rem}.tpl-card,.tpl-feature-card{padding:clamp(16px,4vw,24px)}.tpl-stat-card{padding:clamp(18px,4vw,28px) clamp(16px,3.5vw,24px)}.tpl-case-card{gap:.875rem;padding:clamp(16px,3.5vw,22px)}.tpl-btn-primary,.tpl-btn-ghost{min-height:44px;padding:12px 22px}.tpl-btn-primary--lg{padding:14px 24px}.tpl-split-grid{gap:1.5rem}.tpl-mock-card{padding:clamp(16px,3.5vw,24px)}}@media (max-width:640px){.preview-panel{--preview-content-inset:max(.75rem, env(safe-area-inset-left), env(safe-area-inset-right));padding-top:1rem;padding-bottom:2rem}.tpl-shell{margin-left:calc(-1 * var(--preview-content-inset,.75rem));margin-right:calc(-1 * var(--preview-content-inset,.75rem))}.tpl-shell--read-only{margin-left:0;margin-right:0}.tpl-section{padding:clamp(1.75rem, 5vw, 2.5rem) max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right))}.tpl-label{letter-spacing:.12em}.tpl-card-title{font-size:clamp(1.03125rem,.35vw + .98rem,1.125rem)}.tpl-case-card{flex-direction:column;align-items:stretch}.tpl-case-logo{width:44px;height:44px}.tpl-cta-circles{max-width:min(100%,420px);height:auto}.tpl-btn-primary--lg{justify-content:center;width:100%;max-width:22rem}.tpl-btn-row{justify-content:flex-start;gap:.65rem;width:100%}.tpl-timeline-step{grid-template-columns:22px 1fr;gap:12px 14px;padding:14px 0}.tpl-compare-col{padding:clamp(14px,3.5vw,22px)}.tpl-stack-row{flex-direction:column;align-items:stretch;gap:.65rem;padding:14px 0}.tpl-stack-icon{align-self:flex-start;width:36px;height:36px}.tpl-stack-row-gutter{display:none}.tpl-pull-quote-block{padding-left:14px}.tpl-pull-quote-context{margin-bottom:1rem}.preview-section-shell,.article-embed-shell{padding:clamp(20px, 4.5vw, 32px) max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));margin-bottom:2rem}}@media (max-width:480px){.builder-chat-pane{min-height:180px;max-height:min(40dvh,380px)}.tpl-hero-headline{font-size:clamp(1.35rem,5.5vw + .65rem,2.1rem)}.tpl-heading{font-size:clamp(1.1rem,4vw + .65rem,1.65rem)}.tpl-cta-heading{font-size:clamp(1.15rem,4vw + .55rem,1.85rem)}.tpl-hero{min-height:unset;padding-top:clamp(2rem,10vw,3rem);padding-bottom:clamp(1.75rem,6vw,2.5rem)}.tpl-icon-box{width:44px;height:44px;margin-bottom:14px}.media-placeholder{min-height:160px;padding:1.25rem}.media-choice-buttons{flex-direction:column;width:100%}.media-choice-btn{width:100%}}@media (max-width:400px){.tpl-btn-row{flex-direction:column;align-items:stretch}.tpl-btn-primary,.tpl-btn-ghost{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.chat-typing span{opacity:.65;animation:none;transform:none}}.user-list-page{max-width:1200px;margin:120px auto 0;padding:0 60px 80px 80px}.user-list-header{align-items:baseline;gap:1.5rem;margin-bottom:2.5rem;display:flex}.user-list-header h1{font-family:var(--font-sans);margin:0;font-size:2.5rem;font-weight:600}.user-count{color:var(--color-text-muted);opacity:.7;font-size:.9rem}.empty-state{text-align:center;color:var(--color-text-muted);padding:4rem 2rem;font-size:1rem}.users-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.user-card{background:var(--pearson-950);border:1px solid var(--color-border);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.user-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.user-email{color:var(--color-text);font-size:1rem;font-weight:600}.user-username{color:var(--color-text-muted);opacity:.8;font-size:.85rem}.user-groups{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.user-actions{justify-content:flex-end;gap:.75rem;display:flex}@media (max-width:768px){.user-list-page{margin-top:80px;padding:0 20px 60px}.users-grid{grid-template-columns:1fr}.user-list-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.edit-user-page{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}.edit-user-header{margin-bottom:2rem}.back-link{color:var(--color-link,#2563eb);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:0;font-size:.875rem;display:inline-block}.back-link:hover{text-decoration:underline}.edit-user-header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.edit-user-email{color:var(--color-text-primary,#111827);margin:0;font-size:1rem;font-weight:500}.edit-user-username{color:var(--color-text-secondary,#6b7280);margin:.125rem 0 0;font-size:.875rem}.edit-user-body h2{color:var(--color-text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:1rem;font-weight:600}.groups-table{border-collapse:collapse;background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:8px;width:100%;font-size:.9rem;overflow:hidden}.groups-table thead tr{background:var(--color-surface-raised,#f9fafb)}.groups-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary,#6b7280);border-bottom:1px solid var(--color-border,#e5e7eb);padding:.625rem 1rem;font-size:.75rem;font-weight:600}.groups-table td{border-bottom:1px solid var(--color-border,#e5e7eb);color:var(--color-text-primary,#111827);padding:.75rem 1rem}.groups-table tbody tr:last-child td{border-bottom:none}.groups-table tbody tr{cursor:pointer;transition:background .1s}.groups-table tbody tr:hover{background:var(--color-surface-hover,#f3f4f6)}.groups-table tbody tr.row-selected{background:var(--color-primary-subtle,#eff6ff)}.col-id{color:var(--color-text-secondary,#6b7280);font-family:ui-monospace,monospace;font-size:.8rem}.col-assigned{text-align:center;width:80px}.col-assigned input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--color-primary,#2563eb)}.no-groups{color:var(--color-text-secondary,#6b7280);font-size:.9rem}.save-error{color:var(--color-error,#dc2626);margin:1rem 0 0;font-size:.875rem}.edit-user-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}
