:root{--logo-url:url(/logo-square-badge.png);--brand-ink:#0b2e38;--brand-teal:#0e9c86;--brand-teal-d:#0a7d6c;--patho:#d64545;--patho-bg:#fceded;--patho-d:#9a2a2a;--micro:#2e9e5b;--micro-bg:#e8f6ee;--micro-d:#1c6b3c;--pharma:#2f6bd4;--pharma-bg:#eaf1fc;--pharma-d:#1c4a94;--pharma-d2:#1c4a94;--paper:#f6f8f8;--card:#fff;--line:#e4eaea;--line-2:#eef2f2;--text:#12333b;--text-2:#5c7178;--text-3:#8a9ba0;--gold:#e6a32c;--gold-bg:#fbf1dc;--shadow:0 1px 2px #0b2e380a, 0 8px 24px #0b2e380f;--shadow-lg:0 10px 40px #0b2e3824;--r:16px;--font-d:"Space Grotesk", sans-serif;--font-b:"Inter", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-b);color:var(--text);-webkit-font-smoothing:antialiased;background:#dde5e5;justify-content:center;align-items:center;min-height:100dvh;padding:0;display:flex}.app{background:var(--paper);width:100%;max-width:430px;height:100dvh;max-height:920px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (min-width:480px){.app{border-radius:28px;height:900px}}.screen{opacity:0;pointer-events:none;flex-direction:column;transition:opacity .35s,transform .35s;display:flex;position:absolute;inset:0;transform:translateY(8px)}.screen.active{opacity:1;pointer-events:auto;transform:none}#login{color:#fff;background:radial-gradient(120% 90% at 50% -10%,#0e9c86 0%,#0a6a5c 42%,#073f3d 100%);justify-content:space-between;padding:0}.login-top{text-align:center;padding:64px 32px 0}.login-logo{background:#fff;border-radius:20px;justify-content:center;align-items:center;width:74px;height:74px;margin:0 auto 22px;display:flex;overflow:hidden;box-shadow:0 8px 30px #00000040}.login-logo i{background-image:var(--logo-url);background-position:50%;background-repeat:no-repeat;background-size:contain;width:80%;height:80%}.login-eyebrow{font-family:var(--font-d);letter-spacing:.32em;text-transform:uppercase;opacity:.75;margin-bottom:14px;font-size:11px;font-weight:600}.login-title{font-family:var(--font-d);letter-spacing:-.02em;font-size:40px;font-weight:700;line-height:.98}.login-title span{font-size:15px;font-weight:500;font-family:var(--font-b);letter-spacing:.01em;opacity:.82;margin-top:14px;line-height:1.5;display:block}.gearline{justify-content:center;align-items:center;gap:8px;margin:30px 0 0;display:flex}.gearline .d{background:#ffffff59;border-radius:50%;width:6px;height:6px}.gearline .d.on{background:#fff;border-radius:3px;width:22px}.login-card{background:var(--paper);color:var(--text);border-radius:30px 30px 0 0;padding:30px 28px 34px}.login-card h2{font-family:var(--font-d);margin-bottom:4px;font-size:19px;font-weight:600}.login-card p.sub{color:var(--text-2);margin-bottom:20px;font-size:13.5px}.field{margin-bottom:14px;position:relative}.field .cc{color:var(--text-2);pointer-events:none;font-size:15px;font-weight:600;position:absolute;top:50%;left:16px;transform:translateY(-50%)}input.phone{border:1.5px solid var(--line);width:100%;height:54px;font-size:17px;font-family:var(--font-d);letter-spacing:.04em;color:var(--text);background:#fff;border-radius:14px;padding:0 16px 0 52px;font-weight:500;transition:border-color .2s}input.phone:focus{border-color:var(--brand-teal);outline:none}.otp-row{gap:10px;margin-bottom:8px;display:flex}.otp-row input{border:1.5px solid var(--line);text-align:center;height:56px;font-family:var(--font-d);background:#fff;border-radius:13px;flex:1;font-size:22px;font-weight:600}.otp-row input:focus{border-color:var(--brand-teal);outline:none}.btn{width:100%;height:54px;font-family:var(--font-b);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;transition:transform .12s,filter .2s;display:flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand-teal);color:#fff}.btn-primary:hover{filter:brightness(1.05)}.login-hint{text-align:center;color:var(--text-3);margin-top:14px;font-size:12px}.hide{display:none!important}.topbar{background:var(--paper);align-items:center;gap:11px;padding:16px 20px 12px;display:flex}.topbar .lg{background:var(--brand-ink);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden}.topbar .lg i{background-image:var(--logo-url);background-position:50%;background-repeat:no-repeat;background-size:78%;width:100%;height:100%}.topbar .who{flex:1;min-width:0}.topbar .who b{font-family:var(--font-d);font-size:15px;font-weight:600;line-height:1.1;display:block}.topbar .who span{color:var(--text-2);font-size:11.5px}.topbar .bell{border:1px solid var(--line);width:38px;height:38px;color:var(--text-2);background:#fff;border-radius:11px;justify-content:center;align-items:center;display:flex;position:relative}.topbar .bell:after{content:"";background:var(--patho);border:1.5px solid var(--paper);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:10px}.scroll{scroll-behavior:smooth;flex:1;padding:4px 16px 100px;overflow:hidden auto}.scroll::-webkit-scrollbar{width:0}.hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(150deg,#0b2e38 0%,#0e5a54 100%);border-radius:22px;padding:22px 22px 20px;position:relative;overflow:hidden}.hero:before{content:"";border:22px solid #ffffff0b;border-radius:50%;width:150px;height:150px;position:absolute;top:-38px;right:-38px}.hero:after{content:"";border:16px solid #ffffff0a;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-46px;right:6px}.hero-top{z-index:2;justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-d);letter-spacing:.26em;text-transform:uppercase;opacity:.72;font-size:10.5px;font-weight:600}.phase-chip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff24;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:600}.hero-body{z-index:2;align-items:center;gap:18px;margin-top:6px;display:flex;position:relative}.gauge{flex-shrink:0;width:118px;height:118px;position:relative}.gauge svg{transform:rotate(-90deg)}.gauge .val{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge .val b{font-family:var(--font-d);font-size:33px;font-weight:700;line-height:1}.gauge .val small{opacity:.7;letter-spacing:.1em;text-transform:uppercase;margin-top:3px;font-size:10px}.hero-meta{flex:1}.hero-day{font-family:var(--font-d);opacity:.85;font-size:15px;font-weight:500}.hero-daynum{font-family:var(--font-d);margin:2px 0 8px;font-size:34px;font-weight:700;line-height:1}.hero-daynum span{opacity:.6;font-size:16px;font-weight:500}.hero-sub{opacity:.8;font-size:12.5px;line-height:1.45}.stats{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px;display:grid}.stat{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:15px;padding:12px 10px}.stat i{margin-bottom:5px;font-size:17px;display:block}.stat b{font-family:var(--font-d);font-size:20px;font-weight:700;line-height:1;display:block}.stat span{color:var(--text-2);letter-spacing:.02em;font-size:10.5px}.stat .flame{color:var(--gold)}.stat .pts{color:var(--brand-teal)}.stat .rank{color:var(--pharma)}.sec-head{justify-content:space-between;align-items:center;margin:22px 4px 11px;display:flex}.sec-head h3{font-family:var(--font-d);font-size:15px;font-weight:600}.sec-head .link{color:var(--brand-teal);cursor:pointer;font-size:12px;font-weight:600}.dayswitch{align-items:center;gap:6px;display:flex}.dayswitch button{border:1px solid var(--line);width:28px;height:28px;color:var(--text-2);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;font-size:14px;display:flex}.dayswitch button:disabled{opacity:.35;cursor:default}.dayswitch b{font-family:var(--font-d);text-align:center;min-width:70px;color:var(--text-2);font-size:12.5px;font-weight:500}.subj{background:var(--card);border:1px solid var(--line);border-radius:15px;margin-bottom:11px;overflow:hidden}.subj-head{align-items:center;gap:10px;padding:12px 14px 10px;display:flex}.subj-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.subj-head b{font-family:var(--font-d);letter-spacing:.02em;flex:1;font-size:13px;font-weight:600}.subj-count{color:var(--text-2);font-size:11px;font-weight:500}.subj-body{padding:0 8px 6px}.item{cursor:pointer;border-radius:11px;align-items:center;gap:11px;padding:9px 8px;transition:background .15s;display:flex}.item:active{background:var(--line-2)}.chk{border:2px solid var(--line);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .18s;display:flex}.chk i{opacity:0;font-size:13px;transition:all .18s;transform:scale(.5)}.item.done .chk i{opacity:1;transform:scale(1)}.item .txt{flex:1;font-size:13.5px;line-height:1.35;transition:color .18s}.item.done .txt{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:1.5px}.item .pt{color:var(--text-3);font-size:11px;font-weight:600;font-family:var(--font-d)}.item.done .pt{color:var(--brand-teal)}.sweep{background:var(--gold-bg);border:1px dashed var(--gold);opacity:0;border-radius:13px;align-items:center;gap:10px;height:0;margin-top:2px;padding:0 14px;transition:all .3s;display:flex;overflow:hidden}.sweep.show{opacity:1;height:auto;margin-top:11px;padding-top:11px;padding-bottom:11px}.sweep i{color:var(--gold);font-size:19px}.sweep b{font-family:var(--font-d);color:var(--gold);font-size:12.5px;font-weight:600}.sweep span{color:#9a7318;font-size:11.5px;display:block}.badges{gap:9px;display:flex}.badge{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:15px;flex:1;padding:13px 6px 11px;transition:transform .2s;position:relative}.badge.got{border-color:#0000}.badge.got.teal{background:#e7f6f2}.badge.got.gold{background:var(--gold-bg)}.badge .ic{background:var(--line-2);width:38px;height:38px;color:var(--text-3);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 7px;font-size:19px;display:flex}.badge.got .ic{color:#fff}.badge.got.teal .ic{background:var(--brand-teal)}.badge.got.gold .ic{background:var(--gold)}.badge b{font-family:var(--font-d);font-size:11px;font-weight:600;line-height:1.1;display:block}.badge span{color:var(--text-3);margin-top:2px;font-size:9.5px;display:block}.badge.got span{color:var(--text-2)}.badge .lock{color:var(--text-3);font-size:11px;position:absolute;top:8px;right:9px}.badge.got .lock{display:none}.lb-hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(150deg,#0b2e38,#0e5a54);border-radius:20px;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.lb-hero .l small{opacity:.7;letter-spacing:.04em;font-size:11px}.lb-hero .l b{font-family:var(--font-d);margin-top:3px;font-size:26px;font-weight:700;line-height:1.1;display:block}.lb-hero .l b em{opacity:.7;font-size:13px;font-style:normal;font-weight:500}.lb-hero .r{text-align:right}.lb-hero .r .pct{font-family:var(--font-d);background:#ffffff26;border-radius:20px;padding:6px 13px;font-size:13px;font-weight:600}.cohort{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:13px;align-items:center;gap:9px;margin:11px 0;padding:11px 14px;font-size:12.5px;display:flex}.cohort i{color:var(--brand-teal);font-size:16px}.cohort b{color:var(--text);font-family:var(--font-d);font-weight:600}.row{border-bottom:1px solid var(--line-2);align-items:center;gap:11px;padding:11px 6px;display:flex}.row:last-child{border-bottom:none}.row .rk{background:var(--line-2);width:27px;height:27px;color:var(--text-2);font-family:var(--font-d);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:flex}.row.top1 .rk{background:var(--gold);color:#fff}.row.top2 .rk{color:#fff;background:#c7cdd0}.row.top3 .rk{color:#fff;background:#d9a47a}.av{background:var(--brand-teal);color:#fff;width:33px;height:33px;font-family:var(--font-d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:flex}.row .nm{flex:1;min-width:0}.row .nm b{font-size:13.5px;font-weight:600;line-height:1.2;display:block}.row .nm span{color:var(--text-3);font-size:10.5px}.row .strk{color:var(--text-2);font-size:11.5px;font-family:var(--font-d);align-items:center;gap:3px;font-weight:500;display:flex}.row .strk i{color:var(--gold);font-size:12px}.row .sc{font-family:var(--font-d);text-align:right;width:42px;font-size:15px;font-weight:700}.row.you{background:var(--pharma-bg);border-bottom:none;border-radius:12px;margin-top:6px;padding:11px 10px}.row.you .nm b{color:var(--pharma-d2)}.lb-note{color:var(--text-3);text-align:center;margin-top:14px;padding:0 10px;font-size:11px;line-height:1.5}.card-wrap{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:6px 12px}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);height:74px;padding-bottom:env(safe-area-inset-bottom);background:#ffffffeb;display:flex;position:absolute;bottom:0;left:0;right:0}.nav button{color:var(--text-3);cursor:pointer;font-family:var(--font-b);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding-top:12px;font-size:10.5px;font-weight:500;display:flex}.nav button i{font-size:21px}.nav button.on{color:var(--brand-teal)}.nav .fab{flex:none;width:54px}.nav .fab .ring{background:var(--brand-teal);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:50px;height:50px;margin-top:-16px;font-size:23px;display:flex;box-shadow:0 8px 20px #0e9c8666}.toast{background:var(--brand-ink);color:#fff;z-index:50;opacity:0;pointer-events:none;box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:14px;align-items:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:500;transition:all .35s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:70px;left:50%;transform:translate(-50%)translateY(-20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast i{color:var(--gold);font-size:16px}.toast.teal i{color:#5ee3c6}.cfx{z-index:60;pointer-events:none;border-radius:2px;width:9px;height:9px;position:absolute}.tabpane{display:none}.tabpane.on{animation:.35s fade;display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:0;pointer-events:none;background:#0b2e3866;justify-content:center;align-items:center;padding:24px;transition:opacity .2s;display:flex;position:absolute;inset:0}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-card{background:var(--card);width:100%;max-width:320px;box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--line);border-radius:20px;padding:24px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);transform:scale(.95)}.modal-overlay.show .modal-card{transform:scale(1)}.modal-icon{margin-bottom:12px;font-size:32px;display:inline-block}.modal-title{font-family:var(--font-d);color:var(--brand-ink);margin-bottom:8px;font-size:18px;font-weight:700}.modal-body{color:var(--text-2);margin-bottom:20px;font-size:13.5px;line-height:1.5}.modal-actions{gap:10px;display:flex}.modal-btn{height:44px;font-family:var(--font-b);cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:background-color .15s,transform .1s;display:flex}.modal-btn:active{transform:scale(.97)}.modal-btn-cancel{background:var(--line-2);color:var(--text-2)}.modal-btn-cancel:hover{background:var(--line)}.modal-btn-confirm{background:var(--patho);color:#fff}.modal-btn-confirm:hover{background:var(--patho-d)}.cert-celebration-banner{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0e9c86 0%,#15796b 100%);border-radius:18px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 20px;transition:transform .2s,box-shadow .2s;animation:3s infinite alternate bannerSparkle;display:flex;box-shadow:0 4px 15px #0e9c8633}.cert-celebration-banner:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0e9c864d}@keyframes bannerSparkle{0%{filter:brightness()}to{filter:brightness(1.1)}}.banner-left{align-items:center;gap:14px;display:flex}.banner-emoji{font-size:26px}.banner-text{flex-direction:column;gap:2px;display:flex}.banner-text strong{font-family:var(--font-d);font-size:15px;font-weight:700}.banner-text span{opacity:.9;font-size:12.5px}.btn-claim-banner{color:#0e9c86;font-size:13px;font-weight:700;font-family:var(--font-b);cursor:pointer;background:#fff;border:none;border-radius:10px;padding:8px 16px;transition:background-color .15s}.btn-claim-banner:hover{background:#f0faf8}.cert-modal-card{overflow:hidden;max-width:860px!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.cert-modal-scroll{background:var(--bg);max-height:90vh;box-shadow:var(--shadow-lg);border:1.5px solid var(--line);border-radius:20px;overflow-y:auto}.certificate-page-container{background:var(--bg);flex-direction:column;align-items:center;max-width:900px;min-height:100vh;margin:0 auto;padding:24px 16px;display:flex}.certificate-modal-container{flex-direction:column;align-items:center;width:100%;padding:16px;display:flex}.cert-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;margin-bottom:24px;padding-bottom:16px;display:flex}.cert-back-btn{color:var(--brand-teal);align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.cert-logo{font-family:var(--font-d);color:var(--brand-ink);font-size:18px;font-weight:700}.cert-main{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.cert-verification-alert{text-align:center;background:#0e9c860f;border:1px solid #0e9c8633;border-radius:12px;width:100%;max-width:700px;padding:12px 18px}.badge-verified{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#0e9c86;border-radius:20px;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.cert-verification-alert p{color:var(--text-2);margin:0;font-size:12.5px}.cert-card-outer{box-sizing:border-box;background:#fbfaf7;border:12px double #c5a880;border-radius:4px;width:100%;max-width:700px;padding:24px;position:relative;box-shadow:0 8px 30px #00000014}.cert-card-outer.square{aspect-ratio:1;flex-direction:column;max-width:620px;display:flex}.cert-card-outer.square .cert-card-inner{flex-direction:column;flex:1;justify-content:center;align-items:stretch;display:flex}.cert-logo-brand{box-sizing:border-box;background:#fff;border-radius:18px;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 16px;padding:6px;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000014}.cert-logo-brand img{object-fit:contain;width:80%;height:80%;display:block}.cert-card-inner{text-align:center;box-sizing:border-box;border:2px solid #0e9c86;padding:36px 24px;position:relative}.cert-card-corner{border:2px solid #c5a880;width:20px;height:20px;position:absolute}.cert-card-corner.tl{border-bottom:none;border-right:none;top:6px;left:6px}.cert-card-corner.tr{border-bottom:none;border-left:none;top:6px;right:6px}.cert-card-corner.bl{border-top:none;border-right:none;bottom:6px;left:6px}.cert-card-corner.br{border-top:none;border-left:none;bottom:6px;right:6px}.cert-eyebrow{font-family:var(--font-d);color:#7a7a7a;letter-spacing:.22em;margin-bottom:8px;font-size:9px;font-weight:700}.cert-title{font-family:var(--font-d);color:#0b2e38;letter-spacing:.02em;margin-bottom:12px;font-size:18px;font-weight:700}.cert-intro{color:#666;margin-bottom:8px;font-family:Georgia,serif;font-size:13px;font-style:italic}.cert-recipient-name{font-family:var(--font-d);color:#0e9c86;text-transform:capitalize;margin-bottom:2px;font-size:24px;font-weight:700}.cert-divider-line{background:#c5a880;width:140px;height:2px;margin:8px auto 14px}.cert-body-desc{color:#444;margin-bottom:14px;font-size:11.5px;line-height:1.5}.cert-stats-badge{background:#0e9c860a;border:1px dashed #0e9c8633;border-radius:6px;justify-content:center;align-items:center;gap:10px;max-width:fit-content;margin:0 auto 16px;padding:6px 12px;display:inline-flex}.stat-item{color:#0b2e38;font-size:11.5px}.stat-dot{color:#c5a880;font-weight:700}.cert-signatures{justify-content:space-between;align-items:center;gap:8px;margin-top:5px;margin-bottom:8px;display:flex}.sig-block{flex-direction:column;flex:1;align-items:center;display:flex}.sig-name{color:#0b2e38;text-align:center;border-bottom:1px solid #ddd;width:100%;max-width:110px;margin-bottom:4px;padding-bottom:4px;font-family:Georgia,serif;font-size:14px;font-style:italic}.sig-date{color:#0b2e38;text-align:center;border-bottom:1px solid #ddd;width:100%;max-width:110px;margin-bottom:4px;padding-bottom:4px;font-size:11px;font-weight:600}.sig-title{color:#777;text-transform:uppercase;letter-spacing:.02em;font-size:9px}.sig-seal{justify-content:center;width:60px;display:flex}.gold-seal{background:#c5a880;border:1.5px dashed #fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 3px 10px #c5a8804d}.seal-text-top,.seal-text-bottom{color:#fff;letter-spacing:.05em;font-size:6.5px;font-weight:800}.cert-footer-id{color:#999;justify-content:center;align-items:center;gap:6px;margin-top:8px;font-family:monospace;font-size:8.5px;display:flex}.cert-actions-panel{background:var(--card);border:1px solid var(--line);width:100%;max-width:700px;box-shadow:var(--shadow);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:20px;padding:24px;display:flex}.btn-download-pdf{color:#fff;cursor:pointer;background:#0e9c86;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-size:14px;font-weight:700;transition:background-color .15s,transform .1s;display:flex}.btn-download-pdf:hover{background:#15796b}.btn-download-pdf:active{transform:scale(.99)}.btn-download-png{color:#0e9c86;cursor:pointer;background:0 0;border:1.5px solid #0e9c86;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-size:14px;font-weight:700;transition:background-color .15s,color .15s,transform .1s;display:flex}.btn-download-png:hover{background:#0e9c860d}.btn-download-png:active{transform:scale(.99)}.share-section{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:18px;display:flex}.share-section h3{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.share-buttons-row{flex-wrap:wrap;gap:10px;display:flex}.btn-share{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;min-width:120px;height:40px;font-size:12px;font-weight:600;transition:background-color .15s,transform .1s;display:flex}.btn-share:active{transform:scale(.97)}.btn-share.copy{background:var(--line-2);color:var(--brand-ink)}.btn-share.copy:hover{background:var(--line)}.btn-share.whatsapp{color:#fff;background:#25d366}.btn-share.whatsapp:hover{background:#20ba5a}.btn-share.twitter{color:#fff;background:#1da1f2}.btn-share.twitter:hover{background:#1a90da}.error-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);text-align:center;border-radius:20px;width:100%;max-width:400px;padding:32px 24px}.error-card h1{color:var(--brand-ink);margin-bottom:12px;font-size:20px;font-weight:700}.error-card p{color:var(--text-2);margin-bottom:24px;font-size:13.5px;line-height:1.5}.splash-screen{background:var(--paper);z-index:9999;opacity:1;pointer-events:all;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.splash-screen.fade-out{opacity:0;pointer-events:none;transform:scale(1.05)}.splash-container{text-align:center;flex-direction:column;align-items:center;max-width:80%;display:flex}.splash-logo-img{opacity:0;width:220px;height:auto;margin-bottom:16px;animation:1.2s cubic-bezier(.34,1.56,.64,1) forwards splash-logo-anim;transform:scale(.9)}.splash-title-text{font-family:var(--font-d);color:var(--brand-ink);letter-spacing:-.5px;opacity:0;margin-bottom:8px;font-size:28px;font-weight:700;animation:.8s .4s forwards splash-fade-in}.splash-subtitle-text{font-family:var(--font-b);color:var(--text-2);opacity:0;margin-bottom:36px;font-size:13.5px;animation:.8s .6s forwards splash-fade-in}.splash-spinner{border:3px solid #0e9c861a;border-top-color:var(--brand-teal);opacity:0;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite splash-spin,.5s .8s forwards splash-fade-in}@keyframes splash-logo-anim{to{opacity:1;transform:scale(1)}}@keyframes splash-fade-in{to{opacity:1}}@keyframes splash-spin{to{transform:rotate(360deg)}}
