.geo-tool{--gt-bg:#f8f8f9;--gt-card:#ffffff;--gt-ink:#0f0e0d;--gt-ink-2:rgba(15,14,13,0.70);--gt-ink-3:rgba(15,14,13,0.46);--gt-rule:rgba(0,0,0,0.10);--gt-rule-strong:rgba(0,0,0,0.22);--gt-accent:#1840FF;--gt-accent-glow:rgba(24,64,255,0.30);--gt-warn:#b07a00;--gt-ok:#2e7d52;--gt-sans:"DM Sans",system-ui,sans-serif;--gt-display:"Bebas Neue",sans-serif;--gt-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-family:var(--gt-sans);color:var(--gt-ink);-webkit-font-smoothing:antialiased}.geo-tool,.geo-tool *{text-shadow:none}.geo-tool .gt-eyebrow{font-family:var(--gt-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gt-ink-3);font-weight:500}.geo-tool .gt-eyebrow .gt-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gt-accent);vertical-align:1px;margin-right:8px}.geo-tool .gt-display{font-family:var(--gt-sans);font-weight:600;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}.geo-tool .gt-display em{font-style:normal;color:var(--gt-accent)}.geo-tool .gt-lede{font-family:var(--gt-sans);font-weight:400;line-height:1.5;color:var(--gt-ink-2);text-wrap:pretty}.geo-tool .gt-body{color:var(--gt-ink-2);line-height:1.6}.geo-tool .gt-mono{font-family:var(--gt-mono)}.geo-tool .gt-btn{font-family:var(--gt-sans);font-size:15px;font-weight:600;letter-spacing:.01em;height:52px;padding:0 24px;border-radius:3px;border:1px solid var(--gt-accent);background:var(--gt-accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;transition:filter .2s,transform .15s,box-shadow .2s,background .2s,color .2s,border-color .2s}.geo-tool .gt-btn:hover{filter:brightness(.9);transform:translateY(-2px);box-shadow:0 12px 40px var(--gt-accent-glow)}.geo-tool .gt-btn:active{transform:translateY(0)}.geo-tool .gt-btn.gt-ghost{background:transparent;color:var(--gt-ink);border-color:var(--gt-rule-strong);box-shadow:none}.geo-tool .gt-btn.gt-ghost:hover{border-color:var(--gt-accent);color:var(--gt-accent);filter:none}.geo-tool .gt-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.geo-tool .gt-arrow{transition:transform .2s ease}.geo-tool .gt-btn:hover .gt-arrow{transform:translateX(3px)}.geo-tool .gt-field{display:flex;flex-direction:column;gap:8px}.geo-tool .gt-field label{font-family:var(--gt-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gt-ink-3)}.geo-tool .gt-input{font-family:var(--gt-sans);font-size:16px;color:var(--gt-ink);background:transparent;border:0;border-bottom:1px solid var(--gt-rule-strong);height:44px;padding:0 0 6px;outline:none;width:100%;transition:border-color .15s ease}.geo-tool .gt-input::placeholder{color:var(--gt-ink-3)}.geo-tool .gt-input:focus{border-bottom-color:var(--gt-accent)}.geo-tool .gt-input.error{border-bottom-color:#d23b3b}.geo-tool .gt-error-text{font-family:var(--gt-mono);font-size:11px;color:#d23b3b;letter-spacing:.04em}.geo-tool .gt-card{background:var(--gt-card);border:1px solid var(--gt-rule);border-radius:8px}.geo-tool .gt-card-elev{background:var(--gt-card);border:1px solid var(--gt-rule);border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.08)}.geo-tool .gt-row{display:grid;grid-gap:28px;gap:28px}.geo-tool .gt-row-2{grid-template-columns:repeat(2,1fr)}.geo-tool .gt-row-3{grid-template-columns:repeat(3,1fr)}@media (max-width:760px){.geo-tool .gt-row-2,.geo-tool .gt-row-3{grid-template-columns:1fr}}.geo-tool .gt-hairline{height:1px;background:var(--gt-rule);border:0;margin:0}.geo-tool .gt-dotted{border-top:1px dotted var(--gt-rule-strong);margin:24px 0}.geo-tool .gt-progress-bar{height:2px;background:var(--gt-rule);position:relative;border-radius:2px;overflow:hidden}.geo-tool .gt-progress-fill{position:absolute;inset:0 auto 0 0;background:var(--gt-accent);transition:width .36s cubic-bezier(.2,.8,.2,1)}.geo-tool .gt-step-pill{font-family:var(--gt-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gt-ink-3)}.geo-tool .gt-radio-card{border:1px solid var(--gt-rule);border-radius:6px;padding:14px 18px;cursor:pointer;display:flex;align-items:center;gap:14px;background:var(--gt-card);transition:border-color .2s ease,background .2s ease,padding-left .24s ease}.geo-tool .gt-radio-card:hover{border-color:var(--gt-accent);padding-left:22px}.geo-tool .gt-radio-card.selected{border-color:var(--gt-accent);background:rgba(24,64,255,.04)}.geo-tool .gt-radio-dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--gt-rule-strong);flex-shrink:0;position:relative}.geo-tool .gt-radio-card.selected .gt-radio-dot{border-color:var(--gt-accent)}.geo-tool .gt-radio-card.selected .gt-radio-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gt-accent)}.geo-tool .gt-score-ring{transform:rotate(-90deg)}.geo-tool .gt-score-ring-bg{stroke:var(--gt-rule)}.geo-tool .gt-score-ring-fg{stroke:var(--gt-accent);transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}.geo-tool .gt-price-display{font-family:var(--gt-display);letter-spacing:.01em;line-height:1}.geo-tool .gt-score-grid{grid-template-columns:200px 1fr}@media (max-width:600px){.geo-tool .gt-score-grid{grid-template-columns:1fr;gap:20px!important;text-align:center}}.geo-tool .gt-issue-row{display:grid;grid-template-columns:100px 1fr 110px;grid-gap:18px;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--gt-rule)}.geo-tool .gt-issue-row:last-child{border-bottom:1px solid var(--gt-rule)}.geo-tool .gt-issue-sev{font-family:var(--gt-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}.geo-tool .gt-sev-high{color:var(--gt-accent)}.geo-tool .gt-sev-med{color:var(--gt-warn)}.geo-tool .gt-sev-low{color:var(--gt-ok)}.geo-tool .gt-issue-status{font-family:var(--gt-mono);font-size:11px;color:var(--gt-ink-3);text-align:right}@media (max-width:600px){.geo-tool .gt-issue-row{grid-template-columns:1fr;gap:6px}.geo-tool .gt-issue-status{text-align:left}}@keyframes gtFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gtPulse{0%,to{opacity:.4}50%{opacity:1}}.geo-tool .gt-fade-up{animation:gtFadeUp .48s ease both}