*,*:before,*:after{box-sizing:border-box}:root{--font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--maxw: 1180px;--header-h: 72px;--transition: .18s ease}:root,[data-theme=light]{--bg: #f5f8ff;--bg-soft: #eaf1fc;--surface: #ffffff;--surface-2: #f8fbff;--surface-3: #eef4fd;--ink: #0a1f3c;--ink-soft: #2f4568;--muted: #5f7492;--navy: #0b2545;--navy-soft: #13355c;--blue: #1b6bff;--blue-strong: #1250c8;--blue-soft: #e7f0ff;--green: #0e9f6e;--green-strong: #0b7f58;--green-soft: #e3f8ef;--amber: #b4690e;--amber-soft: #fdf1de;--red: #cf2b45;--red-soft: #fdeaee;--border: #dbe6f6;--border-strong: #c3d5ee;--shadow-sm: 0 2px 6px rgba(11, 37, 69, .06);--shadow: 0 18px 42px -26px rgba(11, 37, 69, .45);--shadow-lg: 0 34px 70px -34px rgba(11, 37, 69, .4);--hero-glow: radial-gradient(1200px 520px at 78% -10%, rgba(27, 107, 255, .16), transparent 62%), radial-gradient(900px 420px at 8% 6%, rgba(14, 159, 110, .12), transparent 60%);--grid-line: rgba(11, 37, 69, .05);--code-bg: #0d2137;--overlay: rgba(6, 20, 38, .55)}[data-theme=dark]{--bg: #06101f;--bg-soft: #08182b;--surface: #0c1e33;--surface-2: #0f2540;--surface-3: #132c4b;--ink: #eef5ff;--ink-soft: #c6d7ec;--muted: #93a9c6;--navy: #071b31;--navy-soft: #0b2545;--blue: #4e96ff;--blue-strong: #7ab2ff;--blue-soft: #112f52;--green: #2fd3a0;--green-strong: #5ce3b8;--green-soft: #0d3a30;--amber: #f0b357;--amber-soft: #3a2a12;--red: #ff7a90;--red-soft: #3a1520;--border: #1b3450;--border-strong: #27486c;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .35);--shadow: 0 22px 48px -28px rgba(0, 0, 0, .8);--shadow-lg: 0 40px 80px -40px rgba(0, 0, 0, .85);--hero-glow: radial-gradient(1100px 520px at 78% -12%, rgba(78, 150, 255, .24), transparent 60%), radial-gradient(800px 420px at 6% 4%, rgba(47, 211, 160, .14), transparent 62%);--grid-line: rgba(120, 170, 235, .08);--code-bg: #04101d;--overlay: rgba(2, 8, 16, .72)}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}h1,h2,h3,h4{margin:0 0 12px;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}h1{font-size:clamp(2.1rem,4.2vw,3.35rem);font-weight:800}h2{font-size:clamp(1.55rem,2.6vw,2.2rem);font-weight:750}h3{font-size:1.12rem;font-weight:700}p{margin:0 0 12px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}button{font-family:inherit}::selection{background:#1b6bff33}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.muted{color:var(--muted)}.small{font-size:.85rem}.tiny{font-size:.76rem}.strong{font-weight:700}.center{text-align:center}.mono{font-family:JetBrains Mono,Cascadia Code,ui-monospace,SFMono-Regular,Menlo,monospace}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.stack{display:grid;gap:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink);--btn-border: var(--border-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-size:.92rem;font-weight:650;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition),color var(--transition);white-space:nowrap;text-decoration:none}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn:active{transform:translateY(0)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{--btn-bg: linear-gradient(180deg, var(--blue), var(--blue-strong));--btn-fg: #fff;--btn-border: transparent;box-shadow:0 14px 28px -16px #1b6bffd9}.btn-primary:hover{box-shadow:0 20px 34px -16px #1b6bfff2}.btn-success{--btn-bg: linear-gradient(180deg, var(--green), var(--green-strong));--btn-fg: #fff;--btn-border: transparent;box-shadow:0 14px 28px -18px #0e9f6ee6}.btn-navy{--btn-bg: var(--navy);--btn-fg: #fff;--btn-border: transparent}[data-theme=dark] .btn-navy{--btn-bg: var(--surface-3);--btn-fg: var(--ink);--btn-border: var(--border-strong)}.btn-outline{--btn-bg: transparent;--btn-fg: var(--blue);--btn-border: var(--blue)}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--ink-soft);--btn-border: transparent}.btn-ghost:hover{background:var(--surface-3)}.btn-link{--btn-bg: transparent;--btn-fg: var(--blue);--btn-border: transparent;padding:4px 2px;font-weight:650}.btn-link:hover{text-decoration:underline}.btn-danger{--btn-bg: var(--red-soft);--btn-fg: var(--red);--btn-border: transparent}.btn-sm{padding:7px 12px;font-size:.8rem;border-radius:10px}.btn-lg{padding:15px 26px;font-size:1rem;border-radius:14px}.btn-block{width:100%}.btn .spinner{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--border)}.site-header .container{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.03rem;color:var(--ink);letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(140deg,var(--blue),var(--navy));color:#fff;display:grid;place-items:center;font-size:.98rem;font-weight:800;box-shadow:var(--shadow-sm)}.brand small{display:block;font-size:.66rem;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:10px}.header-nav{display:flex;align-items:center;gap:22px;font-size:.9rem;font-weight:600}.header-nav a{color:var(--ink-soft)}.header-nav a:hover{color:var(--blue);text-decoration:none}@media (max-width: 900px){.header-nav{display:none}}.theme-switch{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;cursor:pointer}.theme-switch-track{position:relative;width:46px;height:26px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);transition:background var(--transition)}.theme-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:linear-gradient(180deg,#ffd479,#f0a020);box-shadow:0 2px 6px #00000040;transition:transform var(--transition),background var(--transition)}[data-theme=dark] .theme-switch-track:after{transform:translate(20px);background:linear-gradient(180deg,#dfe9ff,#9db6d6)}.theme-switch-label{font-size:.74rem;font-weight:700;color:var(--muted);padding-right:6px}.hero{position:relative;padding:72px 0 56px;background-image:var(--hero-glow);overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 72%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:46px;align-items:center}@media (max-width: 980px){.hero-grid{grid-template-columns:1fr;gap:34px}}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--blue-soft);color:var(--blue-strong);font-size:.76rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;border:1px solid color-mix(in srgb,var(--blue) 22%,transparent)}[data-theme=dark] .eyebrow,.hero h1 span{color:var(--blue)}.hero-lead{font-size:1.08rem;color:var(--ink-soft);max-width:34rem;margin-bottom:24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.hero-checks{display:grid;gap:8px;margin:22px 0 0;padding:0;list-style:none;color:var(--ink-soft);font-size:.9rem}.hero-checks li{display:flex;gap:9px;align-items:flex-start}.check-dot{flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:var(--green-soft);color:var(--green-strong);display:grid;place-items:center;font-size:.7rem;font-weight:800;margin-top:2px}[data-theme=dark] .check-dot{color:var(--green)}.hero-mock{position:relative;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:18px}.mock-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mock-dots{display:flex;gap:5px}.mock-dots span{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.mock-score{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.mock-bars{display:grid;gap:9px}.mock-bar{display:grid;gap:4px}.mock-bar span:first-child{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted);font-weight:600}.bar-track{height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .6s ease}.mock-foot{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);display:flex;align-items:center;justify-content:space-between;font-size:.76rem;color:var(--muted)}.section{padding:72px 0}.section-alt{background:var(--surface-2);border-block:1px solid var(--border)}.section-head{max-width:46rem;margin:0 auto 38px;text-align:center}.section-head p{color:var(--muted);font-size:1.02rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media (max-width: 900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}.card-lg{padding:28px;border-radius:var(--radius-lg)}.feature{display:grid;gap:10px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--border-strong)}.feature-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue-strong);font-size:1.15rem;font-weight:800}[data-theme=dark] .feature-icon{color:var(--blue)}.feature p{color:var(--muted);font-size:.92rem;margin:0}.benefit-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.benefit-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}.benefit-list strong{display:block;margin-bottom:2px}.benefit-list p{margin:0;color:var(--muted);font-size:.9rem}.num-badge{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:.8rem;font-weight:800}[data-theme=dark] .num-badge{background:var(--surface-3);color:var(--blue)}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;text-align:center}.stat-strip .stat{padding:16px 10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.stat b{display:block;font-size:1.5rem;color:var(--blue)}.pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:880px;margin:0 auto}@media (max-width: 760px){.pricing{grid-template-columns:1fr}}.price-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;display:grid;gap:16px;align-content:start;box-shadow:var(--shadow-sm)}.price-card.highlight{border-color:var(--blue);box-shadow:0 26px 60px -34px #1b6bff8c}.price-card.highlight:before{content:"MAIS ECONOMICO";position:absolute;top:-12px;left:28px;padding:4px 12px;border-radius:999px;background:linear-gradient(180deg,var(--green),var(--green-strong));color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.08em}.price-value{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.price-value .currency{font-size:1rem;font-weight:700;color:var(--muted)}.price-value .amount{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;line-height:1}.price-value .period{color:var(--muted);font-size:.9rem}.price-note{font-size:.84rem;color:var(--muted);margin:0}.price-features{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.9rem}.price-features li{display:flex;gap:8px;align-items:flex-start;color:var(--ink-soft)}.price-features .check-dot{width:17px;height:17px;margin-top:3px}.savings-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-strong);font-size:.74rem;font-weight:750}[data-theme=dark] .savings-tag{color:var(--green)}.faq{display:grid;gap:10px;max-width:820px;margin:0 auto}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.faq summary{cursor:pointer;font-weight:650;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--blue);font-weight:800}.faq details[open] summary:after{content:"−"}.faq p{margin:10px 0 0;color:var(--muted);font-size:.92rem}.cta-band{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:48px 34px;background:linear-gradient(135deg,var(--navy),#103a68 55%,#0d2b4d);color:#fff;text-align:center;box-shadow:var(--shadow-lg)}.cta-band h2{color:#fff}.cta-band p{color:#ffffffc7;max-width:40rem;margin:0 auto 22px}.cta-band .btn-ghost{--btn-fg: #fff}.site-footer{padding:40px 0;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.footer-grid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.site-footer a{color:var(--muted)}.field{display:grid;gap:6px;margin-bottom:14px}.field>label,.field-label{font-size:.82rem;font-weight:700;color:var(--ink-soft);display:flex;align-items:center;gap:6px}.field .required{color:var(--red)}.input,.textarea,.select{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:.93rem;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.textarea{min-height:92px;resize:vertical;line-height:1.5}.input.invalid,.textarea.invalid{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 15%,transparent)}.hint{font-size:.76rem;color:var(--muted)}.error-text{font-size:.78rem;color:var(--red);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-grid .span-2{grid-column:1 / -1}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .input{padding-right:44px}.icon-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--muted);cursor:pointer;padding:6px 8px;border-radius:8px;font-size:.78rem;font-weight:700}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.alert{border-radius:12px;padding:11px 14px;font-size:.86rem;font-weight:550;border:1px solid transparent;margin-bottom:14px}.alert-error{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.alert-success{background:var(--green-soft);color:var(--green-strong);border-color:color-mix(in srgb,var(--green) 30%,transparent)}[data-theme=dark] .alert-success{color:var(--green)}.alert-info{background:var(--blue-soft);color:var(--blue-strong);border-color:color-mix(in srgb,var(--blue) 26%,transparent)}[data-theme=dark] .alert-info{color:var(--blue)}.alert-warn{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 30%,transparent)}.checkbox-row{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--ink-soft)}.checkbox-row input{margin-top:3px;width:16px;height:16px;accent-color:var(--blue)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:100;animation:fade-in .16s ease;overflow-y:auto}.modal{width:min(560px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);animation:pop-in .18s ease;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.modal.wide{width:min(760px,100%)}.modal-head{padding:20px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-head h2{font-size:1.28rem;margin-bottom:4px}.modal-head p{margin:0;color:var(--muted);font-size:.88rem}.modal-close{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:1rem;line-height:1;flex:0 0 auto}.modal-close:hover{color:var(--ink);border-color:var(--border-strong)}.modal-body{padding:18px 24px 22px;overflow-y:auto}.modal-foot{padding:0 24px 22px;display:grid;gap:10px}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.steps{display:flex;gap:8px;margin:16px 0 4px}.step-dot{flex:1;height:4px;border-radius:999px;background:var(--surface-3)}.step-dot.active{background:var(--blue)}.step-dot.done{background:var(--green)}.plan-pick{display:grid;gap:12px}.plan-option{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;padding:16px 18px;border:1.5px solid var(--border);border-radius:14px;background:var(--surface-2);cursor:pointer;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.plan-option:hover{border-color:var(--border-strong)}.plan-option.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 12px 26px -22px #1b6bffe6}.plan-option input[type=radio]{accent-color:var(--blue);width:17px;height:17px}.plan-option .plan-name{font-weight:700;font-size:.96rem}.plan-option .plan-sub{font-size:.78rem;color:var(--muted)}.plan-option .plan-price{font-weight:800;font-size:1.02rem;white-space:nowrap}.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:6px}.method{display:grid;gap:4px;padding:14px 16px;border:1.5px solid var(--border);border-radius:14px;background:var(--surface-2);cursor:pointer;text-align:left;color:var(--ink)}.method.selected{border-color:var(--blue);background:var(--blue-soft)}.method span{font-size:.78rem;color:var(--muted)}.pix-box{display:grid;gap:14px;justify-items:center;text-align:center;padding:6px 0}.pix-qr{width:208px;height:208px;border-radius:14px;background:#fff;padding:10px;border:1px solid var(--border)}.pix-code{width:100%;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;word-break:break-all;background:var(--surface-3);border:1px dashed var(--border-strong);border-radius:10px;padding:10px;max-height:92px;overflow:auto;color:var(--ink-soft);text-align:left}.pulse-wait{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted)}.pulse-wait:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.success-box{text-align:center;padding:8px 4px 0}.success-icon{width:62px;height:62px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);font-size:1.7rem;font-weight:800;border:2px solid color-mix(in srgb,var(--green) 35%,transparent)}[data-theme=dark] .success-icon{color:var(--green)}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue-strong);font-size:.78rem;font-weight:650;border:1px solid color-mix(in srgb,var(--blue) 20%,transparent)}[data-theme=dark] .chip{color:var(--blue)}.chip button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:.9rem;line-height:1;padding:0;opacity:.7}.chip button:hover{opacity:1}.chip-neutral{background:var(--surface-3);color:var(--ink-soft);border-color:var(--border)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:750;letter-spacing:.01em;background:var(--surface-3);color:var(--ink-soft);border:1px solid var(--border);white-space:nowrap}.badge-ok{background:var(--green-soft);color:var(--green-strong);border-color:color-mix(in srgb,var(--green) 28%,transparent)}.badge-warn{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 28%,transparent)}.badge-fail{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 28%,transparent)}.badge-info{background:var(--blue-soft);color:var(--blue-strong);border-color:color-mix(in srgb,var(--blue) 26%,transparent)}[data-theme=dark] .badge-ok{color:var(--green)}[data-theme=dark] .badge-info{color:var(--blue)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-topbar .container{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:10px}.app-main{flex:1;padding:28px 0 64px}.app-grid{display:grid;grid-template-columns:232px minmax(0,1fr);gap:26px;align-items:start}@media (max-width: 980px){.app-grid{grid-template-columns:1fr}}.side-nav{display:grid;gap:4px;position:sticky;top:92px}@media (max-width: 980px){.side-nav{position:static;display:flex;overflow-x:auto;padding-bottom:6px}}.side-link{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:11px;border:1px solid transparent;background:transparent;color:var(--ink-soft);font-size:.88rem;font-weight:620;cursor:pointer;text-align:left;white-space:nowrap}.side-link:hover{background:var(--surface-3)}.side-link.active{background:var(--blue-soft);color:var(--blue-strong);border-color:color-mix(in srgb,var(--blue) 24%,transparent)}[data-theme=dark] .side-link.active{color:var(--blue)}.side-link .ico{font-size:.95rem;width:18px;text-align:center}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.panel-head h2{font-size:1.22rem;margin-bottom:4px}.panel-head p{margin:0;color:var(--muted);font-size:.88rem;max-width:46rem}.control{display:grid;gap:6px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px dashed var(--border)}.control:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.control-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.control-head label{font-size:.84rem;font-weight:750;color:var(--ink)}.control-num{font-size:.68rem;font-weight:800;color:var(--blue);background:var(--blue-soft);border-radius:6px;padding:1px 6px}.control-hint{font-size:.76rem;color:var(--muted)}.control-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 700px){.control-row{grid-template-columns:1fr}}.analyze-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px;padding-top:18px;border-top:1px solid var(--border)}.analyze-status{font-size:.82rem;color:var(--muted);display:grid;gap:6px;flex:1;min-width:220px}.progress{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:999px;transition:width .5s ease}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 760px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-card{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.stat-card .label{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.stat-card .value{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;margin-top:2px}.gauge{--val: 0;--size: 168px;width:var(--size);height:var(--size);border-radius:50%;background:conic-gradient(var(--green) calc(var(--val) * 1%),var(--surface-3) calc(var(--val) * 1%) 100%);display:grid;place-items:center;position:relative;flex:0 0 auto}.gauge:before{content:"";position:absolute;top:13px;right:13px;bottom:13px;left:13px;border-radius:50%;background:var(--surface);border:1px solid var(--border)}.gauge-inner{position:relative;text-align:center;display:grid;gap:0}.gauge-inner .gauge-value{font-size:2.35rem;font-weight:800;letter-spacing:-.04em;line-height:1}.gauge-inner .gauge-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:750}.gauge.sm{--size: 112px}.gauge.sm .gauge-inner .gauge-value{font-size:1.6rem}.report-head{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.report-head .meta{display:grid;gap:6px;flex:1;min-width:240px}.indicator-list{display:grid;gap:14px}.indicator{display:grid;gap:5px}.indicator-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.indicator-top .name{font-weight:650;font-size:.9rem}.indicator-top .score{font-weight:750;font-variant-numeric:tabular-nums;font-size:.9rem}.indicator .bar-track{height:8px}.indicator .meta{font-size:.74rem;color:var(--muted)}.indicator.no-data .bar-track{background:repeating-linear-gradient(90deg,var(--surface-3) 0 8px,transparent 8px 14px)}.clean-list{margin:0;padding-left:18px;display:grid;gap:7px;font-size:.9rem;color:var(--ink-soft)}.clean-list.plain{list-style:none;padding-left:0}.clean-list li::marker{color:var(--blue)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media (max-width: 820px){.split{grid-template-columns:1fr}}.subcard{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:18px}.subcard h4{margin:0 0 10px;font-size:.92rem;font-weight:750}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px}table.data{width:100%;border-collapse:collapse;font-size:.86rem;min-width:560px}table.data th,table.data td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}table.data th{background:var(--surface-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750;white-space:nowrap}table.data tr:last-child td{border-bottom:none}table.data td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.delta-up{color:var(--green-strong);font-weight:700}.delta-down{color:var(--red);font-weight:700}[data-theme=dark] .delta-up{color:var(--green)}.rec{border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:grid;gap:8px;background:var(--surface-2)}.rec.done{opacity:.6}.rec.done .rec-title{text-decoration:line-through}.rec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rec-title{font-weight:700;font-size:.94rem;display:flex;gap:9px;align-items:flex-start}.rec-title input{margin-top:3px;accent-color:var(--green);width:16px;height:16px}.rec p{margin:0;font-size:.86rem;color:var(--ink-soft)}.rec .why{color:var(--muted);font-size:.82rem}.rec-tags{display:flex;gap:6px;flex-wrap:wrap}.rec-list{display:grid;gap:12px}.loading{display:grid;place-items:center;padding:40px 0;gap:12px;color:var(--muted);font-size:.88rem}.loading .dots{display:inline-flex;gap:5px}.loading .dots span{width:8px;height:8px;border-radius:50%;background:var(--blue);animation:bounce 1.1s infinite ease-in-out}.loading .dots span:nth-child(2){animation-delay:.14s}.loading .dots span:nth-child(3){animation-delay:.28s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.empty{text-align:center;padding:44px 20px;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2)}.empty strong{display:block;color:var(--ink);margin-bottom:4px;font-size:1rem}.toast-wrap{position:fixed;bottom:22px;right:22px;z-index:200;display:grid;gap:10px;max-width:min(390px,calc(100vw - 44px))}.toast{padding:12px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--blue);box-shadow:var(--shadow);font-size:.86rem;animation:pop-in .16s ease}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--red)}.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);font-size:.86rem;flex-wrap:wrap}.history-row .when{color:var(--muted);font-size:.78rem}.code-block{background:var(--code-bg);color:#dbe9ff;border-radius:12px;padding:14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.76rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:0}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.tab{padding:9px 14px;border:none;background:transparent;color:var(--muted);font-size:.86rem;font-weight:650;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}.divider{height:1px;background:var(--border);margin:18px 0}.fade-up{animation:fade-up .42s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
