:root{--brand:#6a5acd;--brand1:#6a5acd;--brand2:#7b6ddd;--brand3:#8c7fee;--brand4:#a094ff;--bg1:#0f0f1f;--bg2:#1a1a2f;--text:#ffffff;--muted:#cfd3ff;--surface:255,255,255;--dot:#fff3;--white:#ffffff;--black:#000000;--transparent:rgba(0,0,0,0);--header-h:96px;--card-scale:0.90}
.theme-light{--bg1:#f9fafb;--bg2:#eef2f7;--text:#111827;--muted:#4b5563;--surface:0,0,0;--dot:#0003}
.theme-dark{--bg1:#0f0f1f;--bg2:#1a1a2f;--text:#ffffff;--muted:#cfd3ff;--surface:255,255,255;--dot:#fff3}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;color:var(--text);background:linear-gradient(120deg,var(--bg1),var(--bg2));font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif}
.app{min-height:100%;display:flex;flex-direction:column;align-items:stretch}
.aurora{position:fixed;inset:0;pointer-events:none;z-index:0}
.aurora::before{content:"";position:absolute;inset:-10px;opacity:.15;filter:blur(10px);background-image:
repeating-linear-gradient(100deg,var(--white) 0%,var(--white) 7%,var(--transparent) 10%,var(--transparent) 12%,var(--white) 16%),
repeating-linear-gradient(100deg,var(--brand1) 10%,var(--brand2) 15%,var(--brand3) 20%,var(--brand4) 25%,var(--brand2) 30%);
background-size:300% 300%,200% 200%;background-position:50% 50%,50% 50%;mask-image:radial-gradient(ellipse at 100% 0%,black 10%,var(--transparent) 70%)}
.theme-dark .aurora::before{background-image:
repeating-linear-gradient(100deg,var(--black) 0%,var(--black) 7%,var(--transparent) 10%,var(--transparent) 12%,var(--black) 16%),
repeating-linear-gradient(100deg,var(--brand1) 10%,var(--brand2) 15%,var(--brand3) 20%,var(--brand4) 25%,var(--brand2) 30%)}
.theme-dark .aurora::before{opacity:.05}
.aurora::after{content:"";position:absolute;inset:0;opacity:.15;background-image:
repeating-linear-gradient(100deg,var(--white) 0%,var(--white) 7%,var(--transparent) 10%,var(--transparent) 12%,var(--white) 16%),
repeating-linear-gradient(100deg,var(--brand1) 10%,var(--brand2) 15%,var(--brand3) 20%,var(--brand4) 25%,var(--brand2) 30%);
background-size:200% 200%,100% 100%;animation:auroraMove 16s ease-in-out infinite;background-attachment:fixed;mix-blend-mode:difference}
.theme-dark .aurora::after{background-image:
repeating-linear-gradient(100deg,var(--black) 0%,var(--black) 7%,var(--transparent) 10%,var(--transparent) 12%,var(--black) 16%),
repeating-linear-gradient(100deg,var(--brand1) 10%,var(--brand2) 15%,var(--brand3) 20%,var(--brand4) 25%,var(--brand2) 30%)}
.theme-dark .aurora::after{opacity:.05}
@keyframes auroraMove{0%{background-position:0% 50%,50% 50%}50%{background-position:100% 50%,40% 60%}100%{background-position:0% 50%,50% 50%}}
.brand-header{height:var(--header-h);display:flex;align-items:center;justify-content:center;position:relative;padding-top:16px}
.brand-logo{height:104px;max-width:80%;object-fit:contain;display:block;margin:12px auto 0}
.title{font-size:1.5rem;margin:0 0 .75rem}
.subtitle{margin:.25rem 0 1rem;color:var(--muted)}
.landing .title,.landing .subtitle{text-align:center}
.card{width:100%;max-width:480px;margin:16px auto;padding:16px;border-radius:16px;background:rgba(var(--surface),.06);backdrop-filter:blur(8px)}
.field{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}
.field input{width:100%;padding:.75rem;border-radius:12px;border:1px solid rgba(var(--surface),.15);background:rgba(var(--surface),.08);color:var(--text)}
.primary{width:100%;padding:.9rem;border:none;border-radius:14px;background:linear-gradient(135deg,var(--brand),#0000);color:#fff;font-weight:600}
.landing-box .primary{border:1px solid rgba(var(--surface),.2)}
.ghost{padding:.7rem 1rem;border-radius:12px;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.04);color:var(--text)}
.ghost:hover{background:rgba(var(--surface),.08)}
.error{color:#ff6b6b}
.success{color:#70e000}
.hidden{display:none!important}
.landing{flex:1;display:flex;align-items:center;justify-content:center;position:relative}
.landing-box{width:100%;max-width:520px;margin:auto;padding:20px;border-radius:20px;background:rgba(var(--surface),.10);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:inset 0 0 0 1px rgba(var(--surface),.12),0 12px 28px rgba(0,0,0,.18)}
.loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35)}
.loading-box{width:88vw;max-width:420px;padding:24px;border-radius:16px;background:rgba(0,0,0,.6);text-align:center}
.spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;margin:0 auto 12px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.retrospective{flex:1;display:flex;flex-direction:column}
.slides{position:relative;height:calc(100vh - var(--header-h));padding:24px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.slide{width:1080px;height:1350px;border-radius:24px;padding:36px;position:absolute;left:50%;top:50%;transform-origin:center center;transform:translate(-50%,-50%) scale(var(--scale,1));display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;color:var(--text);box-shadow:0 8px 28px rgba(0,0,0,.35);transition:transform .38s cubic-bezier(.2,.7,0,1), opacity .38s;opacity:0;pointer-events:none}
.slide .title{margin-top:.25rem}
.slide::before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(var(--surface),.08);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:inset 0 0 0 1px rgba(var(--surface),.08)}
.slide>*{position:relative;z-index:1}
.slide.active{opacity:1;pointer-events:auto}
.slide:not(.active){filter:blur(8px);}
.slide.active::before{background:rgba(var(--surface),.12);backdrop-filter:blur(8px) saturate(130%);-webkit-backdrop-filter:blur(8px) saturate(130%)}
.slide .logo{position:absolute;top:16px;left:16px;height:28px}
.slide .logo-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:96px}
.slide .logo-top{display:block;height:140px;max-width:70%;object-fit:contain;margin:6px auto 12px}
.slide h2{font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:3.2rem;margin:0 0 .85rem}
.slide .kicker{font-family:"Playfair Display",serif;font-weight:700;font-style:italic;letter-spacing:.02em;margin:0 0 .5rem;color:var(--muted)}
.slide p{margin:.6rem 0 0;line-height:1.75;color:var(--text);opacity:.9;font-size:1.15rem;max-width:90%}
.accent{color:var(--brand);font-style:italic;font-family:"Playfair Display",serif;font-weight:700}
.first-slide{justify-content:center}
.first-slide .title{font-size:4rem;line-height:1.15}
.first-slide p{font-size:2.2rem;color:var(--muted)}
.slide{cursor:grab}
.slide:active{cursor:grabbing}
.media{position:relative;width:100%;display:flex;align-items:center;justify-content:center;margin:56px 0}
.media img{width:58%;max-width:360px;height:auto;object-fit:contain;position:relative;z-index:1}
.second-slide .media img{width:52%;max-width:420px}
.media .bg-svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62%;height:auto;z-index:0;opacity:.9}
.orbs{position:absolute;inset:0;pointer-events:none}
.orb{position:absolute;border-radius:50%;opacity:.28}
.shape{position:absolute;inset:0;pointer-events:none}
.leaf{position:absolute;border-radius:999px;opacity:.36}
.second-slide .leaf{background:linear-gradient(135deg,#39d15a,#0b8f3b);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.second-slide{justify-content:center;text-align:center}
.second-slide .title{font-size:4rem;line-height:1.15}
.second-slide p:first-of-type{font-size:2.4rem;margin:12px 0 18px}
.second-slide .footer{font-size:2.4rem;margin-top:22px}
.thanks-slide .media{margin:72px 0}
.thanks-slide .title{font-family:"Playfair Display",serif;font-weight:700;font-style:italic;color:var(--brand)}
.growth-slide{justify-content:center;text-align:center}
.growth-slide .title{font-size:4rem;line-height:1.15}
.growth-slide p:first-of-type{font-size:2rem;margin:12px 0 18px}
.growth-slide .footer{font-size:2rem;margin-top:18px}
.footer{margin-top:auto;font-size:1.05rem;color:var(--text);opacity:.92}
.nav{display:flex;justify-content:center;gap:12px;padding:8px 16px}
.panel .list{width:100%;margin:12px 0;padding:0}
.panel-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:start;max-width:1200px;margin:0 auto;padding:8px}
.panel-left .card{margin:0}
.panel-right{padding:8px}
.panel-right .card{margin:0}
.panel-right .list{max-width:100%}
.client-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(var(--surface),.25)}
.search-row{display:block;padding:12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(var(--surface),.25);margin-bottom:12px}
.client-item{position:relative}
.client-item .logo{height:24px;width:24px;border-radius:6px;object-fit:contain}
.client-item .meta{flex:1}
.client-item .actions{display:flex;gap:8px;position:relative}
.badge{display:inline-block;margin:.25rem 0;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.06);color:var(--muted);font-size:.8rem}
.ghost.disabled{opacity:.5;pointer-events:none}
.action-danger{border-color:#ff6b6b;background:rgba(255,0,0,.08);color:#ff6b6b}
.kebab{width:36px;height:36px;border-radius:12px;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.06);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:22px}
.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;background:rgba(var(--surface),.10);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);border:1px solid rgba(var(--surface),.18);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column;gap:6px;z-index:20}
.menu-item{padding:.6rem .8rem;border-radius:10px;border:1px solid rgba(var(--surface),.12);background:rgba(var(--surface),.06);color:var(--text);text-align:left}
.menu-item:hover{background:rgba(var(--surface),.10)}
.menu-item.danger{border-color:#ff6b6b;color:#ff6b6b;background:rgba(255,0,0,.06)}
.menu-item.disabled{opacity:.5;pointer-events:none}
.search{position:relative}
.search::before{content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.7}
.search-input{width:100%;padding:.75rem .75rem .75rem 40px;border-radius:12px;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.08);color:var(--text)}
.sparkles{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:24px 24px;animation:twinkle 4s linear infinite}
@keyframes twinkle{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}
/* ensure fixed poster aspect 1080x1350 at all widths */
/* Theme selector */
.theme-toggle{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:64px;height:32px;border-radius:999px;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.08);color:var(--text);overflow:hidden}
.theme-toggle .icon{position:absolute;top:50%;transform:translateY(-50%);width:18px;height:18px}
.theme-toggle .icon.sun{left:7px}
.theme-toggle .icon.moon{right:9px}
.theme-toggle .knob{position:absolute;top:1px;left:1px;width:30px;height:30px;border-radius:50%;background:rgba(var(--surface),.18);border:1px solid rgba(var(--surface),.25);transition:transform .25s ease;z-index:1}
.theme-toggle[data-dark="false"] .knob{transform:translateX(0)}
.theme-toggle[data-dark="true"] .knob{transform:translateX(30px)}
.gear-toggle{position:absolute;top:12px;right:84px;display:inline-flex;align-items:center;justify-content:center;width:42px;height:32px;border-radius:999px;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.08);color:var(--text)}
.gear-toggle::before{content:"⚙";font-size:18px;line-height:1}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(var(--surface),.25);background:rgba(var(--surface),.08);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:22px;z-index:200}
.arrow.left{left:8px}
.arrow.right{right:8px}
.arrow:hover{background:rgba(var(--surface),.12)}
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:15}
.confetti-piece{position:absolute;width:8px;height:12px;background:linear-gradient(180deg,#f7d27a,#c99a2e);opacity:.95;top:-16px;animation:fall var(--dur) linear forwards;}
@keyframes fall{to{transform:translateY(110vh) rotate(360deg);opacity:.8}}
.slides .slide:last-child .title{font-size:4rem;line-height:1.15}
.slides .slide:last-child a.primary{font-size:2rem;padding:1.1rem 1.8rem;display:inline-block}
.closing-slide .title{font-size:4rem;line-height:1.15}
.closing-slide a.primary{font-size:2rem;padding:1.1rem 1.8rem;display:inline-block}
.closing-slide .logo-center{position:static;display:block;order:0;height:160px;max-width:70%;object-fit:contain;margin:6px auto 12px}
.closing-slide .kicker{order:1}
.closing-slide .title{order:2}
.closing-slide p{order:3}
.closing-slide .share{order:4}
/* Last card specific typography overrides */
.closing-slide .kicker, .slides .slide:last-child .kicker{font-size:4rem}
.closing-slide p, .slides .slide:last-child p{font-size:2rem}
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:500}
.modal.hidden{display:none!important}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.modal-card{position:relative;width:92vw;max-width:560px;margin:0 auto;padding:16px;border-radius:16px;background:rgba(var(--surface),.10);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);box-shadow:inset 0 0 0 1px rgba(var(--surface),.12),0 12px 28px rgba(0,0,0,.18)}
