:root{--bg:#faf9f7;--surface:#ffffff;--surface-2:#f5f3ef;--ink:#26221e;--ink-2:#4b443d;--muted:#857c72;--accent:#4f7a4a;--accent-deep:#40653c;--accent-soft:#eef3ed;--amber:#b97f24;--amber-soft:#faf2e2;--danger:#c2452d;--danger-soft:#faece8;--line:#e9e3da;--line-strong:#ddd5c9;--shadow-1:0 1px 2px rgba(38,34,30,0.05);--shadow-2:0 1px 3px rgba(38,34,30,0.06),0 6px 20px rgba(38,34,30,0.05);--r-lg:12px;--r-md:9px;--r-sm:7px;--sidebar-w:268px}*{box-sizing:border-box}::selection{background:rgba(79,122,74,0.16)}html,body{height:100%}body{margin:0;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{display:flex;min-height:100dvh}.sidebar{width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--surface);padding:1.1rem 0.85rem 1rem;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:0.6rem;padding:0.25rem 0.55rem 1.1rem}.brand-mark{width:30px;height:30px;flex:none;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:"Outfit",sans-serif;font-weight:800;font-size:18px;border-radius:8px}.brand-name{font-family:"Outfit",sans-serif;font-weight:700;font-size:17px;letter-spacing:-0.01em}.brand-name em{font-style:normal;color:var(--muted);font-weight:600}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:0.65rem;padding:0.7rem 0.8rem;border-radius:var(--r-sm);color:var(--ink-2);text-decoration:none;font-weight:500;font-size:15.5px;transition:background 0.12s ease,color 0.12s ease}.sidebar nav a svg{width:20px;height:20px;flex:none;opacity:0.75}.sidebar nav a:hover{background:var(--surface-2)}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.sidebar nav a.active svg{opacity:1}.sidebar-foot{margin-top:auto;padding:0.7rem 0.65rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;display:flex;align-items:center;gap:0.45rem}.env-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.content{flex:1;min-width:0}main{max-width:1200px;margin:0 auto;padding:2.2rem 2.4rem 4rem;outline:none}.page-head{margin-bottom:1.6rem}.page-head h1{margin:0 0 0.25rem;font-family:"Outfit",sans-serif;font-size:28px;font-weight:700;letter-spacing:-0.015em}.page-head p{margin:0;color:var(--muted);font-size:15.5px}.page-head .head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;height:44px;padding:0 1.2rem;border-radius:var(--r-sm);border:1px solid transparent;font:inherit;font-size:15.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:background 0.13s ease,border-color 0.13s ease,transform 0.1s ease,box-shadow 0.13s ease;white-space:nowrap}.btn:active:not(:disabled){transform:scale(0.98)}.btn:disabled{opacity:0.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:var(--accent-deep)}.btn-secondary{background:var(--surface);color:var(--ink-2);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--muted);color:var(--ink)}.btn-lg{height:48px;padding:0 1.5rem;font-size:16.5px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.panel-pad{padding:1.4rem 1.5rem}table.data{width:100%;border-collapse:collapse;font-size:15.5px}table.data th{text-align:left;font-size:13px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);padding:0.95rem 1.4rem;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:1.05rem 1.4rem;border-bottom:1px solid var(--line);vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:var(--surface-2)}.cell-primary{font-weight:600;color:var(--ink)}.cell-muted{color:var(--muted);font-size:14.5px}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.link{color:var(--accent-deep);font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:0.3rem;height:27px;padding:0 0.75rem;border-radius:999px;font-size:13.5px;font-weight:600;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.chip.accent{background:var(--accent-soft);color:var(--accent-deep);border-color:#d8e4d6}.chip.amber{background:var(--amber-soft);color:var(--amber);border-color:#eedec0}.chip.danger{background:var(--danger-soft);color:var(--danger);border-color:#f0d2ca}.empty{text-align:center;padding:3.2rem 1.5rem}.empty .empty-icon{width:44px;height:44px;margin:0 auto 0.9rem;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-deep);border-radius:12px}.empty h2{margin:0 0 0.3rem;font-size:18px;font-weight:600}.empty p{margin:0 0 1.2rem;color:var(--muted);font-size:15.5px}.stepper{display:flex;align-items:center;gap:0;margin-bottom:1.7rem}.step{display:flex;align-items:center;gap:0.55rem;color:var(--muted);font-size:15px;font-weight:500;white-space:nowrap}.step-num{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line-strong);font-size:14px;font-weight:600;background:var(--surface);transition:all 0.15s ease}.step.current{color:var(--ink);font-weight:600}.step.current .step-num{border-color:var(--accent);background:var(--accent);color:#fff}.step.done{color:var(--accent-deep)}.step.done .step-num{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.step-line{flex:1;height:1px;background:var(--line-strong);margin:0 0.9rem;min-width:24px}.step-line.done{background:var(--accent)}.wizard-body{min-height:260px}.wizard-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid var(--line)}.f-label{display:block;font-weight:600;font-size:16px;margin-bottom:0.55rem}.f-input{width:100%;height:48px;padding:0 1rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);font:inherit;font-size:16.5px;background:var(--surface);transition:border-color 0.13s ease,box-shadow 0.13s ease}.f-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,122,74,0.13);outline:none}.f-input.invalid{border-color:var(--danger)}.f-hint{color:var(--muted);font-size:14.5px;margin-top:0.45rem}.f-error{color:var(--danger);font-size:14.5px;margin-top:0.45rem;font-weight:500}.f-preview{margin-top:1rem;padding:0.8rem 1rem;background:var(--surface-2);border-radius:var(--r-sm);font-size:14.5px;color:var(--muted)}.f-preview code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:var(--ink-2);background:var(--surface);padding:0.1rem 0.4rem;border-radius:4px;border:1px solid var(--line)}.pick-list{display:flex;flex-direction:column;gap:0.55rem}.pick{display:flex;align-items:flex-start;gap:0.75rem;padding:1.05rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color 0.13s ease,box-shadow 0.13s ease}.pick:hover{border-color:var(--accent)}.pick:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,122,74,0.12);background:linear-gradient(0deg,rgba(79,122,74,0.03),rgba(79,122,74,0.03)),var(--surface)}.pick input{margin-top:3px;accent-color:var(--accent);width:20px;height:20px;flex:none}.pick-body strong{display:block;font-size:16px;font-weight:600}.pick-body span{color:var(--muted);font-size:14.5px}.pick.nested{margin-left:1.9rem;background:var(--bg)}.pick.nested:has(input:checked){background:linear-gradient(0deg,rgba(79,122,74,0.04),rgba(79,122,74,0.04)),var(--bg)}.roadmap-toggle{display:flex;align-items:center;gap:0.5rem;width:100%;margin-top:1.1rem;padding:0.65rem 0.2rem;background:none;border:none;border-top:1px solid var(--line);color:var(--muted);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer}.roadmap-toggle:hover{color:var(--ink-2)}.roadmap-toggle .tri{transition:transform 0.15s ease;font-size:10px}.roadmap-toggle.open .tri{transform:rotate(90deg)}.roadmap{display:none;flex-direction:column;gap:0.45rem;padding-top:0.5rem}.roadmap.open{display:flex}.roadmap .pick{opacity:0.78;cursor:default;padding:0.85rem 1.2rem}.roadmap .pick:hover{border-color:var(--line)}.review-list{display:flex;flex-direction:column}.review-row{display:flex;justify-content:space-between;gap:1.5rem;padding:0.8rem 0;border-bottom:1px solid var(--line);font-size:15.5px}.review-row:last-child{border-bottom:none}.review-row dt{color:var(--muted);font-weight:500;margin:0}.review-row dd{margin:0;text-align:right;font-weight:600}.callout{display:flex;gap:0.6rem;padding:0.85rem 1rem;background:var(--amber-soft);border:1px solid #eedec0;border-radius:var(--r-sm);color:#7c5a1d;font-size:14.5px;margin-top:1.1rem}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.7rem 0 0.7rem 2rem}.timeline li::before{content:"";position:absolute;left:7px;top:0;bottom:0;width:1.5px;background:var(--line)}.timeline li:first-child::before{top:50%}.timeline li:last-child::before{bottom:50%}.tl-dot{position:absolute;left:0;width:15px;height:15px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface)}.tl-dot.SUCCESS{border-color:var(--accent);background:var(--accent)}.tl-dot.SUCCESS::after{content:"";position:absolute;inset:3px 3.5px;border-left:1.8px solid #fff;border-bottom:1.8px solid #fff;transform:rotate(-45deg) translateY(-1px)}.tl-dot.WORKING,.tl-dot.QUEUED{border-color:var(--amber);background:var(--amber-soft);animation:tl-pulse 1.3s ease-in-out infinite}.tl-dot.FAILURE{border-color:var(--danger);background:var(--danger)}@keyframes tl-pulse{0%,100%{box-shadow:0 0 0 0 rgba(185,127,36,0.3)}50%{box-shadow:0 0 0 5px rgba(185,127,36,0.08)}}.tl-name{font-size:15.5px;font-weight:500}.build-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;margin-bottom:0.4rem;border-bottom:1px solid var(--line)}.build-summary .b-title{font-weight:600;font-size:17px}.build-summary .b-sub{color:var(--muted);font-size:14.5px}.cat-section{margin-bottom:1.8rem}.cat-section h2{font-size:13.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);margin:0 0 0.9rem}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:0.9rem}.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem 1.3rem}.cat-card .c-head{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;margin-bottom:0.3rem}.cat-card strong{font-size:16px;font-weight:600}.cat-card p{margin:0;color:var(--muted);font-size:14.5px}.cat-card.dim{opacity:0.72}.skel{border-radius:var(--r-sm);background:linear-gradient(100deg,var(--surface-2) 30%,#fbf9f6 45%,var(--surface-2) 60%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:150% 0}100%{background-position:-50% 0}}@media (max-width:760px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;gap:0.5rem;padding:0.6rem 0.8rem}.sidebar nav{flex-direction:row}.sidebar nav a{font-size:14.5px;padding:0.5rem 0.7rem}.sidebar nav a svg{display:none}.sidebar-foot{display:none}.brand-name{display:none}main{padding:1.4rem 1.1rem 3rem}}.mkt{min-height:100dvh;display:flex;flex-direction:column}.mkt-nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1240px;width:100%;margin:0 auto;padding:1.1rem 2rem}.mkt-brand{display:flex;align-items:center;gap:0.6rem;text-decoration:none;color:var(--ink)}.mkt-nav-links{display:flex;gap:1.8rem}.mkt-nav-links a{color:var(--ink-2);text-decoration:none;font-size:15.5px;font-weight:500}.mkt-nav-links a:hover{color:var(--accent-deep)}.mkt-nav-cta{display:flex;gap:0.7rem}.btn-xl{height:54px;padding:0 1.8rem;font-size:17px;border-radius:11px;gap:0.65rem}.btn-sm{height:36px;padding:0 0.9rem;font-size:14px}.hero{position:relative;text-align:center;padding:5.5rem 2rem 5rem;background:radial-gradient(1000px 480px at 20% -10%,rgba(122,155,118,0.14),transparent 60%),radial-gradient(900px 420px at 85% 0%,rgba(232,162,61,0.12),transparent 55%),var(--bg);overflow:hidden}.hero-inner{max-width:880px;margin:0 auto}.hero-eyebrow{display:inline-block;font-size:14.5px;font-weight:600;color:var(--accent-deep);background:var(--accent-soft);border:1px solid #d8e4d6;padding:0.45rem 1.1rem;border-radius:999px;margin-bottom:1.6rem}.hero h1{margin:0 0 1.3rem;font-family:"Outfit",sans-serif;font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1.08;letter-spacing:-0.025em}.hero-accent{color:var(--accent-deep)}.hero-sub{margin:0 auto 2.2rem;max-width:62ch;color:var(--ink-2);font-size:18.5px;line-height:1.65}.hero-ctas{display:flex;gap:0.9rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.2rem}.hero-stats{display:flex;justify-content:center;gap:3.5rem;flex-wrap:wrap}.hero-stats div{display:flex;flex-direction:column;gap:0.15rem}.hero-stats strong{font-family:"Outfit",sans-serif;font-size:26px;font-weight:700;color:var(--accent-deep)}.hero-stats span{color:var(--muted);font-size:14.5px}.mkt-section{padding:5rem 2rem}.mkt-section-alt{background:var(--surface);border-block:1px solid var(--line)}.section-inner{max-width:1140px;margin:0 auto}.section-eyebrow{display:block;font-size:14px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:0.8rem}.mkt-section h2,.mkt-cta h2{margin:0 0 1.2rem;font-family:"Outfit",sans-serif;font-size:clamp(28px,3.6vw,40px);font-weight:700;line-height:1.15;letter-spacing:-0.02em}.section-sub{max-width:66ch;color:var(--ink-2);font-size:17px;margin:0 0 2.2rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.1rem;margin-top:2.4rem}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem 1.7rem 1.8rem;transition:transform 0.18s ease,box-shadow 0.18s ease}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}.feature-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-deep);border-radius:12px;margin-bottom:1.1rem}.feature-icon svg{width:24px;height:24px}.feature-card h3{margin:0 0 0.45rem;font-size:18px;font-weight:700;letter-spacing:-0.01em}.feature-card p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.6}.steps-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem;margin-top:2.4rem}.step-card{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem}.step-badge{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-family:"Outfit",sans-serif;font-size:18px;font-weight:700;margin-bottom:1rem}.step-card h3{margin:0 0 0.4rem;font-size:18px;font-weight:700}.step-card p{margin:0;color:var(--ink-2);font-size:15.5px}.home-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0.7rem}.home-cat-item{display:flex;align-items:center;gap:0.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:0.9rem 1.1rem}.home-cat-dot{width:9px;height:9px;border-radius:50%;background:var(--line-strong);flex:none}.home-cat-item.live .home-cat-dot{background:var(--accent)}.home-cat-label{flex:1;font-weight:600;font-size:15.5px}.plans-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem;margin-top:2.2rem;max-width:900px}.plan-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem}.plan-card.plan-featured{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,122,74,0.1),var(--shadow-2)}.plan-card h3{margin:0.9rem 0 0.5rem;font-size:20px;font-weight:700;font-family:"Outfit",sans-serif}.plan-card p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.65}.mkt-cta{text-align:center;padding:5.5rem 2rem;background:radial-gradient(800px 400px at 50% 120%,rgba(122,155,118,0.16),transparent 60%),var(--bg)}.mkt-cta h2{margin-bottom:2rem}.cta-note{color:var(--muted);font-size:14.5px;margin:1.1rem 0 0}.mkt-footer{border-top:1px solid var(--line);background:var(--surface);padding:2rem;margin-top:auto}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;color:var(--muted);font-size:14px}.auth-wall{min-height:100dvh;display:grid;place-items:center;padding:2rem;background:radial-gradient(900px 460px at 30% -10%,rgba(122,155,118,0.13),transparent 60%),var(--bg)}.auth-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-2);padding:3rem 3.2rem;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:0.6rem}.brand-mark-lg{width:52px;height:52px;font-size:26px;border-radius:14px;margin-bottom:0.6rem;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:"Outfit",sans-serif;font-weight:800}.auth-card h1{margin:0;font-family:"Outfit",sans-serif;font-size:26px;font-weight:700;letter-spacing:-0.02em}.auth-card p{margin:0 0 1.4rem;color:var(--ink-2);font-size:16px}.auth-card .link{margin-top:1.2rem;font-size:14.5px}.app-shell{display:flex;min-height:100dvh}.sidebar .brand{text-decoration:none;color:var(--ink)}.sidebar-user{margin-top:auto;padding:0.9rem 0.65rem 0.8rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:0.6rem}.sidebar-user + .sidebar-foot{margin-top:0;border-top:none;padding-top:0.2rem}.user-line{display:flex;align-items:center;gap:0.5rem;min-width:0}.user-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-banner{background:var(--amber-soft);border-bottom:1px solid #eedec0;color:#7c5a1d;font-size:14.5px;padding:0.8rem 2.4rem}.callout-ok{background:var(--accent-soft) !important;border-color:#d8e4d6 !important;color:var(--accent-deep) !important}.toast{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:14.5px;padding:0.8rem 1.3rem;border-radius:10px;box-shadow:var(--shadow-2);z-index:50}@media (max-width:760px){.mkt-nav-links{display:none}.hero{padding:3.5rem 1.3rem 3.5rem}.hero-stats{gap:1.8rem}.mkt-section{padding:3.2rem 1.3rem}.auth-card{padding:2.2rem 1.6rem}}.panel-title{margin:0 0 1.2rem;font-family:"Outfit",sans-serif;font-size:19px;font-weight:700;letter-spacing:-0.01em}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem 1.2rem;max-width:860px}.pf-full{grid-column:1 / -1}.pf-actions{display:flex;align-items:center;justify-content:flex-end;gap:0.9rem;margin-top:0.3rem}.f-optional{color:var(--muted);font-weight:500;font-size:13.5px}.f-saved{color:var(--accent-deep);font-weight:600;font-size:14.5px}.pci-note{margin:1.3rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;max-width:70ch}.pay-pending p,.pay-status{color:var(--ink-2);font-size:15.5px;max-width:68ch;margin:0.7rem 0 0}.pay-status{margin:0 0 1rem}.pay-pending .chip{margin-bottom:0.2rem}@media (max-width:760px){.profile-grid{grid-template-columns:1fr}}.pm-saved{display:flex;align-items:center;gap:0.9rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem;max-width:560px}.pm-icon{font-size:22px;flex:none}.pm-body{flex:1;min-width:0}.pm-body strong{display:block;font-size:16px}.pm-body span{color:var(--muted);font-size:13.5px}.sim-picker{margin-top:1.1rem}.sim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0.7rem;max-width:720px}.sim-inst{display:flex;align-items:center;gap:0.7rem;padding:0.95rem 1.1rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);font:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color 0.13s ease,box-shadow 0.13s ease,transform 0.1s ease}.sim-inst:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,122,74,0.1)}.sim-inst:active:not(:disabled){transform:scale(0.98)}.sim-inst:disabled{opacity:0.5;cursor:wait}.checkout-overlay{position:fixed;inset:0;background:rgba(38,34,30,0.45);display:grid;place-items:center;z-index:60;padding:1.5rem}.checkout-modal{background:var(--surface);border-radius:16px;box-shadow:0 24px 60px rgba(38,34,30,0.25);width:100%;max-width:420px;overflow:hidden}.co-head{display:flex;align-items:center;gap:0.8rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line)}.co-head strong{display:block;font-size:16px}.co-sub{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:0.4rem}.co-close{margin-left:auto;background:none;border:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0.2rem 0.4rem}.co-close:hover{color:var(--ink)}.co-body{padding:1.8rem 1.6rem 1.6rem;display:flex;flex-direction:column;align-items:center;gap:0.9rem;text-align:center;min-height:230px;justify-content:center}.co-amount{font-family:"Outfit",sans-serif;font-size:34px;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}.co-method{display:flex;align-items:center;gap:0.6rem;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:0.45rem 1.1rem;font-size:15px;font-weight:600}.co-pay{width:100%;margin-top:0.4rem}.co-note{color:var(--muted);font-size:12.5px;margin:0.2rem 0 0}.co-processing{color:var(--ink-2);font-size:15.5px;font-weight:600;margin:0}.co-spinner{width:44px;height:44px;border-radius:50%;border:3.5px solid var(--line);border-top-color:var(--accent);animation:co-spin 0.8s linear infinite}@keyframes co-spin{to{transform:rotate(360deg)}}.co-success{width:54px;height:54px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:700;animation:co-pop 0.35s cubic-bezier(0.34,1.56,0.64,1)}@keyframes co-pop{from{transform:scale(0.4);opacity:0}to{transform:scale(1);opacity:1}}