:root{--bg1:#1e3c72;--bg2:#2a5298;--accent:#667eea;--accent2:#764ba2;--text:#172033;--muted:#5b6770;--soft:#f8fafc;--radius:26px}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 5%,rgba(255,255,255,.08),transparent 30%),linear-gradient(135deg,var(--bg1),var(--bg2))}.viewport{min-height:100svh;display:grid;place-items:center;padding:24px 20px 92px}.deck-shell{position:relative}.deck-frame{position:relative;width:1024px;height:768px;transform-origin:top left}.slide{position:absolute;inset:0;display:none;width:1024px;height:768px;overflow:hidden;background:#fff;border-radius:var(--radius);box-shadow:0 28px 80px rgba(0,0,0,.34)}.slide.active{display:block}.slide.title-slide.active{display:flex}.slide.title-slide:not(.active){display:none!important}.slide-header{height:88px;display:flex;align-items:center;padding:0 56px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.slide-header h1{margin:0;font-size:32px;line-height:1.1}.slide-content{height:680px;padding:38px 56px 42px;overflow:hidden}.title-slide{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 72px 92px;color:#fff;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,var(--accent),var(--accent2))}.app-logo{width:132px;height:132px;object-fit:cover;border-radius:30px;margin:0 0 26px;padding:8px;background:rgba(255,255,255,.16);box-shadow:0 20px 45px rgba(0,0,0,.3)}.title-slide h1{margin:0 0 18px;font-size:64px;line-height:1;font-weight:900;letter-spacing:-.035em}.subtitle{max-width:760px;margin:0;font-size:27px;line-height:1.38;color:rgba(255,255,255,.94)}.company-info{position:absolute;left:42px;right:42px;bottom:30px;text-align:center;font-size:16px;color:rgba(255,255,255,.88)}h2{margin:0 0 24px;font-size:38px;line-height:1.08}h3{margin:0 0 14px;font-size:25px}h4{margin:0 0 7px;font-size:18px;color:var(--accent2)}p{margin:0 0 13px;font-size:17px;line-height:1.48;color:var(--muted)}.two-column,.problem-solution{display:grid;grid-template-columns:1fr 1fr;gap:34px}.problem-side,.solution-side{min-height:448px;padding:27px;border-radius:18px}.problem-side{background:#fee2e2;border-left:8px solid #dc2626}.solution-side{background:#dcfce7;border-left:8px solid #16a34a}.bullet-list{list-style:none;padding:0;margin:13px 0 0}.bullet-list li{position:relative;margin:9px 0;padding-left:25px;font-size:16px;line-height:1.42;color:#445064}.bullet-list li:before{content:"●";position:absolute;left:0;top:2px;color:var(--accent);font-size:14px}.stats-grid,.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:0 0 25px}.stat-item{padding:18px 10px;text-align:center;border-radius:14px;background:var(--soft);border-top:4px solid var(--accent);box-shadow:0 4px 12px rgba(16,24,40,.05)}.stat-number{display:block;font-size:25px;font-weight:900;color:var(--accent2)}.stat-label{display:block;margin-top:4px;font-size:13px;color:var(--muted)}.tech-item{padding:13px 8px;border-radius:11px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:14px;font-weight:800}.feature-box,.arch-layer{margin:10px 0;padding:15px 17px;border-radius:12px;background:var(--soft);border-left:5px solid var(--accent);box-shadow:0 3px 10px rgba(16,24,40,.06)}.feature-box p,.arch-layer p{font-size:15px;line-height:1.38;margin:0}.arch-diagram{padding:16px;border-radius:16px;background:#f8fafc;border:2px dashed #d2d7e1}.cta-section{padding:32px;border-radius:18px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.cta-section h3,.cta-section p{color:#fff}.resource-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.download-btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;text-decoration:none;background:#fff;color:var(--accent2);font-weight:850;box-shadow:0 5px 14px rgba(0,0,0,.12)}.footer-note{margin-top:18px;text-align:center;font-size:14px;color:#6b7280}.controls{position:fixed;z-index:20;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:10px;padding:8px;border-radius:999px;background:rgba(8,16,33,.72);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(0,0,0,.28)}.nav-btn{min-width:112px;min-height:46px;border:0;border-radius:999px;padding:0 18px;cursor:pointer;font-weight:850;color:#182033;background:#fff}.nav-btn.primary{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.nav-btn:disabled{opacity:.42}.counter{position:fixed;z-index:20;top:calc(14px + env(safe-area-inset-top));right:16px;min-width:70px;padding:9px 14px;text-align:center;border-radius:999px;background:rgba(255,255,255,.94);font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.16)}.progress{position:fixed;z-index:19;left:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .2s ease}body.reflow .viewport{display:block;min-height:100svh;padding:8px 8px calc(82px + env(safe-area-inset-bottom))}body.reflow .deck-shell{width:100%!important;height:calc(100svh - 98px - env(safe-area-inset-bottom))!important}body.reflow .deck-frame{width:100%;height:100%;transform:none!important}body.reflow .slide{width:100%;height:100%;border-radius:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body.reflow .slide-header{position:sticky;z-index:5;top:0;height:auto;min-height:68px;padding:18px 22px}body.reflow .slide-header h1{font-size:clamp(26px,7vw,36px)}body.reflow .slide-content{height:auto;min-height:calc(100% - 68px);padding:24px 22px 34px;overflow:visible}body.reflow .title-slide{min-height:100%;padding:34px 24px 38px}body.reflow .app-logo{width:112px;height:112px;border-radius:25px;margin-bottom:22px}body.reflow .title-slide h1{font-size:clamp(42px,13vw,68px)}body.reflow .subtitle{font-size:clamp(20px,5.7vw,29px)}body.reflow .company-info{position:static;margin-top:34px;font-size:15px;line-height:1.45}body.reflow h2{font-size:clamp(30px,8vw,42px)}body.reflow h3{font-size:24px}body.reflow p{font-size:17px;line-height:1.52}body.reflow .two-column,body.reflow .problem-solution{grid-template-columns:1fr;gap:18px}body.reflow .problem-side,body.reflow .solution-side{min-height:0;padding:22px}body.reflow .stats-grid,body.reflow .tech-grid{grid-template-columns:repeat(2,1fr);gap:10px}body.reflow .stat-item{padding:15px 8px}body.reflow .bullet-list li{font-size:16px}body.reflow .cta-section{padding:25px 18px}body.reflow .resource-links{flex-direction:column}body.reflow .download-btn{width:100%}body.reflow .controls{left:8px;right:8px;bottom:calc(7px + env(safe-area-inset-bottom));transform:none;justify-content:center;border-radius:18px}body.reflow .nav-btn{flex:1;min-width:0;max-width:220px;min-height:48px}body.reflow .counter{top:calc(9px + env(safe-area-inset-top));right:11px;font-size:14px;min-width:62px}@media(max-width:420px){body.reflow .slide-content,body.reflow .slide-header{padding-left:18px;padding-right:18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}