:root{--geo-red: #d63031;--geo-red-dark: #b71c1c;--geo-red-light: #fff5f5;--cream: #fffbf5;--ink: #1a1a1a;--charcoal: #2d3436;--text: #636e72;--light: #dfe6e9;--bg: #faf9f7;--white: #ffffff;--green: #27ae60;--orange: #f39c12}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink)}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}.site-header{background:var(--white);border-bottom:1px solid var(--light);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.site-header .brand{font-weight:700;font-size:1.05rem;color:var(--geo-red)}.site-header .nav{display:flex;gap:1rem;align-items:center}.site-header .nav a{color:var(--text);font-size:.875rem}.site-header .nav a:hover{color:var(--ink)}.btn-primary{background:var(--geo-red);color:#fff;border:none;padding:.55rem 1.25rem;font-weight:500;border-radius:6px;font-size:.9rem;box-shadow:0 1px 2px #0000000d;transition:background-color .15s;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background:var(--geo-red-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--geo-red);border:1px solid var(--geo-red);padding:.45rem 1.1rem;font-weight:500;border-radius:6px;font-size:.9rem;cursor:pointer}.btn-secondary:hover:not(:disabled){background:var(--geo-red-light)}.btn-tertiary{color:#6b7280;background:transparent;border:none;padding:.4rem .6rem;border-radius:6px;font-size:.875rem;cursor:pointer}.btn-tertiary:hover{color:#374151;background:#f3f4f6cc}.hero-grid{background:var(--cream);border-bottom:1px solid var(--light);max-width:1160px;margin:0 auto;padding:4rem 2rem 4.5rem;display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center;width:100%}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr;padding:3rem 1.25rem}}.hero-badge{display:inline-block;background:var(--white);border:1px solid var(--light);border-radius:999px;padding:.3rem .9rem;font-size:.78rem;color:var(--text);margin-bottom:1.25rem}.hero-copy h1{font-size:2.7rem;font-weight:800;line-height:1.18;margin:0 0 1.1rem;color:var(--ink);letter-spacing:-.02em}@media (max-width: 900px){.hero-copy h1{font-size:2rem}}.hero-accent{display:block;color:var(--geo-red)}.hero-sub{color:var(--text);font-size:1rem;line-height:1.7;margin:0 0 1.75rem;max-width:480px}.hero-input-row{display:flex;gap:.6rem;max-width:520px}.hero-input-row input{flex:1;border:1px solid var(--light);background:var(--white);border-radius:999px;padding:.8rem 1.2rem;font-size:.95rem;font-family:inherit;outline:none;min-width:0}.hero-input-row input:focus{border-color:var(--geo-red)}.btn-hero{border-radius:999px;padding:.8rem 1.5rem;font-size:.95rem}.hero-note{color:var(--text);font-size:.8rem;margin:.9rem 0 0}.hero-visual{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center}.mock-card-back{position:absolute;top:1.5rem;right:0;bottom:1.5rem;left:2.5rem;background:var(--white);border:1px solid var(--light);border-radius:14px;transform:rotate(5deg);opacity:.55}.mock-card{position:relative;background:var(--white);border:1px solid var(--light);border-radius:14px;box-shadow:0 12px 32px #1a1a1a14;padding:1.35rem;width:min(380px,100%)}.mock-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.9rem;margin-bottom:1.1rem}.mock-head .mock-brand{font-size:.75rem;font-weight:500;background:var(--geo-red-light);color:var(--geo-red);border-radius:999px;padding:.15rem .6rem}.mock-body{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.1rem}.mock-body .score-ring{--p: 68;width:96px;height:96px}.mock-body .score-ring .inner{width:76px;height:76px}.mock-dims{flex:1;min-width:0}.mock-dim{margin-bottom:.7rem}.mock-dim:last-child{margin-bottom:0}.mock-dim-head{display:flex;justify-content:space-between;font-size:.75rem;color:var(--charcoal);margin-bottom:.25rem}.mock-dim-bar{height:6px;background:#f2e9e4;border-radius:3px;overflow:hidden}.mock-dim-bar span{display:block;height:100%;background:var(--geo-red);border-radius:3px}.mock-chips{display:flex;gap:.5rem;flex-wrap:wrap}.mock-chips span{font-size:.72rem;color:var(--text);background:var(--bg);border:1px solid var(--light);border-radius:999px;padding:.2rem .65rem}@media (max-width: 900px){.hero-visual{display:none}}.auth-center{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem}.auth-card{width:100%;max-width:380px;background:var(--white);border:1px solid var(--light);border-radius:12px;padding:2rem}.auth-card h1{text-align:center;font-size:1.4rem;margin:0 0 .3rem}.auth-card .auth-sub{text-align:center;color:var(--text);font-size:.85rem;margin:0 0 1.5rem}.captcha-row{display:flex;gap:.5rem;align-items:center}.captcha-row input{flex:1;min-width:0}.captcha-row .form-row input{width:auto}.auth-card .captcha-row img{height:40px;border-radius:4px;border:1px solid var(--light);cursor:pointer}.auth-submit{width:100%;padding:.7rem;margin-top:.5rem}.section{max-width:860px;margin:0 auto;padding:3rem 1.5rem;width:100%}.section h2{font-size:1.25rem;color:var(--ink);margin:0 0 1.25rem}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media (max-width: 768px){.feature-grid{grid-template-columns:repeat(2,1fr)}}.feature-card{background:var(--white);border:1px solid var(--light);border-radius:8px;padding:1rem}.feature-card .num{color:var(--geo-red);font-weight:700;font-size:.85rem}.feature-card .name{font-weight:600;font-size:.925rem;margin:.25rem 0}.feature-card .desc{color:var(--text);font-size:.8rem;line-height:1.5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 768px){.steps{grid-template-columns:1fr}}.step-card{background:var(--white);border:1px solid var(--light);border-radius:8px;padding:1.1rem}.step-card .idx{width:24px;height:24px;border-radius:50%;background:var(--geo-red-light);color:var(--geo-red);font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.5rem}.site-footer{margin-top:auto;text-align:center;color:var(--text);font-size:.8rem;padding:2rem 1rem;border-top:1px solid var(--light);background:var(--white)}.page{max-width:640px;margin:0 auto;padding:2.5rem 1.5rem 4rem;width:100%}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.35rem;margin:0 0 .35rem}.page-header p{color:var(--text);font-size:.875rem;margin:0}.form-card{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1.5rem}.form-row{margin-bottom:1rem}.form-row label{display:block;font-size:.85rem;font-weight:600;color:var(--charcoal);margin-bottom:.35rem}.form-row label .opt{color:var(--text);font-weight:400}.form-row input,.form-row textarea{width:100%;border:1px solid var(--light);border-radius:6px;padding:.55rem .7rem;font-size:.9rem;font-family:inherit;outline:none}.form-row input:focus,.form-row textarea:focus{border-color:var(--geo-red)}.form-error{color:var(--geo-red);font-size:.85rem;margin:.5rem 0}.form-hint{color:var(--text);font-size:.8rem;margin-top:.25rem}.progress-card{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:2rem;text-align:center}.progress-bar{height:8px;background:var(--light);border-radius:4px;overflow:hidden;margin:1.25rem 0 .5rem}.progress-bar .fill{height:100%;background:var(--geo-red);border-radius:4px;transition:width .4s}.progress-text{color:var(--text);font-size:.85rem}.status-badge{display:inline-block;font-size:.75rem;padding:.15rem .6rem;border-radius:999px;background:var(--geo-red-light);color:var(--geo-red)}.status-badge.failed{background:#fdecea;color:var(--geo-red-dark)}.report-head{background:var(--cream);border-bottom:1px solid var(--light);padding:2.5rem 1.5rem}.report-head-inner{max-width:860px;margin:0 auto;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.score-ring{--p: 0;width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--geo-red) calc(var(--p) * 1%),#f2e9e4 0);display:flex;align-items:center;justify-content:center;flex-shrink:0}.score-ring .inner{width:88px;height:88px;border-radius:50%;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center}.score-ring .val{font-size:1.7rem;font-weight:700;color:var(--ink)}.score-ring .cap{font-size:.7rem;color:var(--text)}.report-head .meta h1{margin:0 0 .4rem;font-size:1.4rem}.report-head .meta .pos{color:var(--text);font-size:.9rem}.report-head .meta .headline{margin-top:.9rem;font-size:1rem;font-weight:600;color:var(--geo-red-dark)}.report-body{max-width:860px;margin:0 auto;padding:2rem 1.5rem 4rem;width:100%}.report-card{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1.35rem;margin-bottom:1.25rem}.report-card h3{margin:0 0 1rem;font-size:1rem;color:var(--ink)}.dim-row{margin-bottom:.9rem}.dim-row .dim-head{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.3rem}.dim-row .dim-head .score{font-weight:700;color:var(--charcoal)}.dim-row .bar{height:7px;background:#f2e9e4;border-radius:4px;overflow:hidden}.dim-row .bar .fill{height:100%;background:var(--geo-red);border-radius:4px}.dim-row .rates{color:var(--text);font-size:.75rem;margin-top:.25rem}table.data-table{width:100%;border-collapse:collapse;font-size:.875rem}table.data-table th,table.data-table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--light)}table.data-table th{color:var(--text);font-weight:500;font-size:.8rem}.diag-item{padding:.6rem 0;border-bottom:1px dashed var(--light);font-size:.875rem}.diag-item:last-child{border-bottom:none}.diag-item .problem{font-weight:600;color:var(--charcoal)}.diag-item .evidence{color:var(--text);font-size:.8rem;margin-top:.15rem}.conflict-row{font-size:.85rem;padding:.45rem 0;border-bottom:1px dashed var(--light)}.conflict-row:last-child{border-bottom:none}.conflict-row .fact{font-weight:600}.conflict-row .claims{color:var(--text);font-size:.8rem}.share-row{display:flex;gap:.5rem;align-items:center;font-size:.8rem;color:var(--text);flex-wrap:wrap}.share-row code{background:var(--bg);border:1px solid var(--light);border-radius:4px;padding:.15rem .45rem;word-break:break-all}.cta-banner{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1.25rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cta-banner .t{font-weight:600;font-size:.95rem}.cta-banner .d{color:var(--text);font-size:.8rem;margin-top:.2rem}.scan-list{display:flex;flex-direction:column;gap:.75rem}.scan-item{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.scan-item .name{font-weight:600}.scan-item .date{color:var(--text);font-size:.8rem}.scan-item .right{display:flex;align-items:center;gap:.9rem}.scan-item .score{font-weight:700;color:var(--geo-red)}.app-shell{flex:1;display:grid;grid-template-columns:220px 1fr;min-height:100vh}.app-side{background:var(--white);border-right:1px solid var(--light);display:flex;flex-direction:column;padding:1.25rem .9rem;position:sticky;top:0;height:100vh}.app-brand{font-weight:700;font-size:1.05rem;color:var(--geo-red);padding:0 .6rem 1.1rem;display:flex;flex-direction:column;line-height:1.3}.app-brand span{font-size:.75rem;font-weight:400;color:var(--text)}.app-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.app-nav-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem;border-radius:8px;border-left:3px solid transparent;color:var(--charcoal);font-size:.9rem;font-weight:500}.app-nav-item .t em{font-style:normal;color:var(--text);font-weight:400;font-size:.78rem;margin-left:.45rem}.app-nav-item:hover{background:var(--bg)}.app-nav-item.active{background:var(--geo-red-light);border-left-color:var(--geo-red);color:var(--geo-red-dark)}.app-nav-item.disabled{color:var(--text);cursor:not-allowed;opacity:.65}.app-nav-item .soon-tag{font-size:.68rem;background:var(--bg);border:1px solid var(--light);border-radius:999px;padding:.05rem .5rem;color:var(--text)}.app-side-foot{display:flex;flex-direction:column;gap:.15rem;border-top:1px solid var(--light);padding-top:.6rem}.app-side-foot .btn-tertiary{text-align:left}.app-main{padding:2rem 2.25rem 4rem;min-width:0}@media (max-width: 768px){.app-shell{grid-template-columns:1fr}.app-side{position:static;height:auto;flex-direction:row;align-items:center;gap:.75rem;padding:.6rem .9rem;border-right:none;border-bottom:1px solid var(--light)}.app-brand{padding:0;flex-direction:row;align-items:baseline;gap:.4rem}.app-nav{flex-direction:row}.app-nav-item{border-left:none;border-bottom:3px solid transparent;padding:.4rem .6rem}.app-nav-item.active{border-left-color:transparent;border-bottom-color:var(--geo-red)}.app-nav-item .t em,.app-side-foot{display:none}.app-main{padding:1.25rem 1rem 3rem}}.wb-wrap{max-width:920px}.wb-head{display:flex;align-items:center;gap:1.75rem;background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1.5rem 1.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.wb-head-meta{flex:1;min-width:200px}.wb-head-meta h1{margin:0 0 .3rem;font-size:1.3rem}.wb-head-meta .pos{color:var(--text);font-size:.875rem;margin-bottom:.6rem}.wb-head-actions{display:flex;gap:.6rem;flex-wrap:wrap}.delta-badge{display:inline-block;font-size:.78rem;font-weight:600;padding:.2rem .7rem;border-radius:999px}.delta-badge.up{background:#e8f8f0;color:var(--green)}.delta-badge.down{background:#fdecea;color:var(--geo-red-dark)}.delta-badge.flat,.delta-badge.first{background:var(--bg);color:var(--text);font-weight:400}.wb-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;align-items:start}@media (max-width: 768px){.wb-grid{grid-template-columns:1fr}}.wb-grid .report-card{margin-bottom:0}.wb-empty{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:3.5rem 2rem;text-align:center;max-width:560px}.wb-empty h1{font-size:1.25rem;margin:0 0 .6rem}.wb-empty p{color:var(--text);font-size:.9rem;line-height:1.7;margin:0 auto 1.5rem;max-width:420px}.sub-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff7f0;border:1px solid #f3d9c8;border-radius:10px;padding:.75rem 1.1rem;font-size:.88rem;color:var(--ink);margin-bottom:1.25rem}.sub-banner.inactive{background:var(--bg);border-color:var(--light);color:var(--text)}.monitor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.monitor-card{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1rem 1.1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.monitor-card:hover{border-color:#c9d1d4}.monitor-card.selected{border-color:var(--geo-red);box-shadow:0 0 0 2px #d6303114}.mc-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mc-head .name{font-weight:600;font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-score{margin:.7rem 0 .4rem;display:flex;align-items:baseline;gap:.5rem}.mc-score b{font-size:1.6rem;color:var(--geo-red)}.mc-score .cap{font-size:.75rem;color:var(--text)}.mc-meta{font-size:.78rem;color:var(--text)}.switch{position:relative;display:inline-block;width:38px;height:21px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfd8dc;border-radius:999px;transition:background .15s}.switch .slider:before{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:transform .15s}.switch input:checked+.slider{background:var(--green)}.switch input:checked+.slider:before{transform:translate(17px)}.trend-chart{width:100%;height:auto;margin-top:.75rem}.chart-val{font-size:11px;fill:var(--ink);font-weight:600}.chart-date{font-size:10px;fill:var(--text)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem;max-width:1080px;margin:0 auto}.pricing-card{position:relative;background:var(--white);border:1px solid var(--light);border-radius:12px;padding:1.5rem 1.3rem 1.3rem;display:flex;flex-direction:column}.pricing-card.highlight{border-color:var(--geo-red);box-shadow:0 4px 18px #d6303114}.pricing-card .ribbon{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--geo-red);color:#fff;font-size:.72rem;padding:.15rem .7rem;border-radius:999px;white-space:nowrap}.plan-name{font-weight:600;color:var(--ink);font-size:.95rem}.plan-price{font-size:1.9rem;font-weight:700;color:var(--ink);margin:.4rem 0 .2rem}.plan-price .per{font-size:.85rem;font-weight:400;color:var(--text)}.plan-desc{font-size:.82rem;color:var(--text);min-height:2.4em;line-height:1.5}.plan-features{list-style:none;margin:.8rem 0 1.2rem;padding:0;flex:1}.plan-features li{font-size:.84rem;color:var(--ink);padding:.28rem 0 .28rem 1.1rem;position:relative}.plan-features li:before{content:"✓";color:var(--green);position:absolute;left:0}.pricing-note{max-width:720px;margin:1.6rem auto 0;text-align:center;font-size:.8rem;color:var(--text)}.prose-card{background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1.6rem 1.8rem;max-width:760px;margin:0 auto}.prose-card h3{font-size:.98rem;color:var(--ink);margin:1.4rem 0 .5rem}.prose-card h3:first-child{margin-top:0}.prose-card p{font-size:.88rem;color:var(--text);line-height:1.8;margin:0}.prose-card a{color:var(--geo-red)}.footer-links{display:flex;gap:1.2rem;justify-content:center;margin-bottom:.7rem}.footer-links a{color:var(--text);font-size:.82rem}.footer-links a:hover{color:var(--geo-red)}.campaign-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.campaign-head h3{margin:0}.steps{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin:.9rem 0 1rem}.step{font-size:.8rem;color:var(--text)}.step.current{color:var(--geo-red);font-weight:600}.step.done{color:var(--green)}.impact-card{background:#fff7f0;border:1px solid #f3d9c8;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1rem}.impact-range{font-size:.92rem;color:var(--ink)}.impact-range b{color:var(--geo-red);font-size:1.05rem}.impact-conf{font-size:.8rem;color:var(--ink);margin-top:.2rem}.impact-note{font-size:.75rem;color:var(--text);margin-top:.35rem}.article-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem}.article-row{display:flex;gap:.75rem;border:1px solid var(--light);border-radius:10px;padding:.85rem 1rem;cursor:pointer;align-items:flex-start}.article-row.checked{border-color:var(--geo-red);background:#fffbfa}.article-row input{margin-top:.25rem}.ar-main{flex:1}.ar-title{font-weight:600;font-size:.92rem;color:var(--ink)}.ar-meta{font-size:.8rem;color:var(--text);margin:.25rem 0}.ar-content{font-size:.82rem;color:var(--text);line-height:1.7;white-space:pre-wrap;max-height:220px;overflow:auto;margin-top:.4rem}.order-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--light);padding-top:.9rem;font-size:.88rem;color:var(--ink)}.campaign-create{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.campaign-create select,.campaign-create input{border:1px solid var(--light);border-radius:8px;padding:.55rem .75rem;font-size:.88rem;background:var(--white)}.campaign-create select{min-width:240px}.campaign-create input{flex:1;min-width:200px}.publish-form{display:inline-flex;gap:.4rem;align-items:center}.publish-form input{border:1px solid var(--light);border-radius:6px;padding:.3rem .5rem;font-size:.8rem;width:180px}.rs-scores{display:flex;align-items:center;gap:1.1rem;margin:.5rem 0 .6rem}.rs-score{display:flex;flex-direction:column}.rs-score .cap{font-size:.75rem;color:var(--text)}.rs-score b{font-size:1.7rem;color:var(--ink)}.rs-score b.after{color:var(--geo-red)}.rs-arrow{font-size:1.3rem;color:var(--text)}.status-badge.draft,.status-badge.content_ready,.status-badge.ordered,.status-badge.published,.status-badge.url_verified,.status-badge.rescanning{background:var(--bg);color:var(--text)}.status-badge.content_ready,.status-badge.rescanning{background:#fff7f0;color:var(--geo-red-dark)}.status-badge.completed{background:#e8f8f0;color:var(--green)}.blog-list{display:flex;flex-direction:column;gap:1rem;max-width:760px;margin:0 auto}.blog-card{display:block;background:var(--white);border:1px solid var(--light);border-radius:10px;padding:1.2rem 1.4rem;color:inherit;transition:border-color .15s}.blog-card:hover{border-color:var(--geo-red)}.blog-date{font-size:.76rem;color:var(--text)}.blog-title{font-size:1.05rem;font-weight:600;color:var(--ink);margin:.3rem 0}.blog-excerpt{font-size:.86rem;color:var(--text);line-height:1.7}
