:root{
  --gsat31-bg:#fffaf3;
  --gsat31-card:#fff;
  --gsat31-soft:#fff4e6;
  --gsat31-text:#2f1c16;
  --gsat31-muted:#795f55;
  --gsat31-line:#ead9cb;
  --gsat31-accent:#8b1c1c;
  --gsat31-accent-dark:#681313;
  --gsat31-shadow:0 20px 55px rgba(77,42,31,.11);
}
.gsat31-shell,.gsat31-shell *{box-sizing:border-box}
.gsat31-shell{max-width:1120px;margin:32px auto;color:var(--gsat31-text);font-family:inherit}
.gsat31-master-shell{background:var(--gsat31-bg);border:1px solid var(--gsat31-line);border-radius:28px;padding:30px;box-shadow:var(--gsat31-shadow)}
.gsat31-hero,.gsat31-form-head,.gsat31-result-head{min-width:0}
.gsat31-master-hero{text-align:center;max-width:820px;margin:0 auto 28px}
.gsat31-kicker,.gsat31-tag{display:inline-flex;align-items:center;border:1px solid var(--gsat31-line);background:var(--gsat31-soft);color:var(--gsat31-accent);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gsat31-master-hero h2,.gsat31-report-head h1{font-size:clamp(34px,5vw,58px);line-height:1.06;letter-spacing:-.035em;margin:16px 0 12px;color:var(--gsat31-text)}
.gsat31-master-hero p,.gsat31-report-head p,.gsat31-result-head p{color:var(--gsat31-muted);font-size:17px;line-height:1.7;margin:0}
.gsat31-tool-count{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 14px;border:1px solid var(--gsat31-line);border-radius:14px;background:#fff}
.gsat31-tool-count strong{font-size:24px;color:var(--gsat31-accent)}
.gsat31-tool-count span{color:var(--gsat31-muted);font-size:14px}
.gsat31-form{display:grid;gap:18px}
.gsat31-master-form{max-width:940px;margin:0 auto}
.gsat31-birth{min-width:0;border:1px solid var(--gsat31-line);background:rgba(255,255,255,.74);border-radius:20px;padding:20px}
.gsat31-birth legend{padding:0 8px;color:var(--gsat31-accent);font-size:17px;font-weight:800}
.gsat31-fieldset-help{margin:0 0 16px;color:var(--gsat31-muted);font-size:14px;line-height:1.55}
.gsat31-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gsat31-fields label{min-width:0;display:grid;gap:7px;color:var(--gsat31-muted);font-size:14px;font-weight:700}
.gsat31-fields .gsat31-wide{grid-column:1/-1}
.gsat31-fields input,.gsat31-fields select{width:100%;min-width:0;background:#fff;color:var(--gsat31-text);border:1px solid var(--gsat31-line);border-radius:12px;padding:13px 14px;font:inherit;outline:none;box-shadow:none}
.gsat31-fields input::placeholder{color:#aa9187}
.gsat31-fields input:focus,.gsat31-fields select:focus{border-color:var(--gsat31-accent);box-shadow:0 0 0 3px rgba(139,28,28,.1)}
.gsat31-form-note{border:1px solid var(--gsat31-line);background:var(--gsat31-soft);border-radius:16px;padding:16px 18px}
.gsat31-form-note strong{display:block;margin-bottom:5px;color:var(--gsat31-text)}
.gsat31-form-note p{margin:0;color:var(--gsat31-muted);font-size:14px;line-height:1.6}
.gsat31-submit,.gsat31-share-buttons a,.gsat31-share-buttons button,.gsat31-new-report a{border:1px solid var(--gsat31-accent);background:var(--gsat31-accent);color:#fff;text-decoration:none;border-radius:12px;padding:13px 18px;font:inherit;font-weight:800;cursor:pointer;transition:.2s background,.2s transform,.2s border-color}
.gsat31-submit{width:100%;min-height:62px;display:grid;place-items:center;gap:2px}
.gsat31-submit span{font-size:16px}.gsat31-submit small{font-size:12px;font-weight:600;opacity:.85}
.gsat31-submit:hover,.gsat31-share-buttons a:hover,.gsat31-share-buttons button:hover,.gsat31-new-report a:hover{background:var(--gsat31-accent-dark);border-color:var(--gsat31-accent-dark);transform:translateY(-1px);color:#fff}
.gsat31-submit:focus-visible,.gsat31-share-buttons a:focus-visible,.gsat31-share-buttons button:focus-visible,.gsat31-new-report a:focus-visible{outline:3px solid rgba(139,28,28,.2);outline-offset:3px}
.gsat31-error{max-width:940px;margin:0 auto 18px;background:#fff1f1;border:1px solid #e4aaaa;color:#7a1717;padding:14px 16px;border-radius:14px;font-weight:700}

.gsat31-report-shell{max-width:1180px}
.gsat31-complete-report{display:grid;gap:20px}
.gsat31-report-head{background:var(--gsat31-bg);border:1px solid var(--gsat31-line);border-radius:28px;padding:30px;box-shadow:var(--gsat31-shadow)}
.gsat31-report-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.gsat31-report-title-row>div:first-child{min-width:0;max-width:860px}
.gsat31-report-head h1{font-size:clamp(32px,5vw,52px)}
.gsat31-report-badge{flex:0 0 auto;width:100px;height:100px;border-radius:24px;background:var(--gsat31-accent);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 12px 30px rgba(139,28,28,.18)}
.gsat31-report-badge strong{font-size:34px;line-height:1}.gsat31-report-badge span{font-size:12px;margin-top:5px;text-transform:uppercase;letter-spacing:.08em}
.gsat31-report-nav{display:flex;gap:8px;overflow:auto;padding-top:22px;margin-top:22px;border-top:1px solid var(--gsat31-line);scrollbar-width:thin}
.gsat31-report-nav a{flex:0 0 auto;text-decoration:none;color:var(--gsat31-accent);background:#fff;border:1px solid var(--gsat31-line);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700}
.gsat31-report-nav a:hover{border-color:var(--gsat31-accent);background:var(--gsat31-soft)}
.gsat31-result{background:var(--gsat31-bg);border:1px solid var(--gsat31-line);border-radius:28px;padding:30px;box-shadow:var(--gsat31-shadow)}
.gsat31-result-block{scroll-margin-top:24px}
.gsat31-result-head h2{margin:13px 0 8px;color:var(--gsat31-text);font-size:clamp(27px,4vw,38px);letter-spacing:-.025em;line-height:1.12}
.gsat31-score{display:flex;justify-content:center;align-items:center;gap:20px;background:var(--gsat31-card);border:1px solid var(--gsat31-line);border-radius:22px;padding:22px;margin:24px 0}
.gsat31-score-ring{--score:50;width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,var(--gsat31-card) 59%,transparent 60%),conic-gradient(var(--gsat31-accent) calc(var(--score)*1%),var(--gsat31-line) 0)}
.gsat31-score-ring strong{font-size:32px;color:var(--gsat31-text)}.gsat31-score-ring span{color:var(--gsat31-muted);font-size:12px}.gsat31-score small{color:var(--gsat31-muted)}.gsat31-score h3{margin:4px 0 0;color:var(--gsat31-text)}
.gsat31-chart{background:#fff;border:1px solid var(--gsat31-line);border-radius:22px;padding:18px;margin:24px 0;color:#111;overflow:auto;-webkit-overflow-scrolling:touch}
.gsat31-chart svg,.gsat31-chart img{max-width:100%;height:auto}
.gsat31-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.gsat31-result-row{background:var(--gsat31-card);border:1px solid var(--gsat31-line);border-radius:16px;padding:16px;display:grid;gap:6px;min-width:0}
.gsat31-result-row span{color:var(--gsat31-muted);font-size:13px}.gsat31-result-row strong{font-size:17px;color:var(--gsat31-text);overflow-wrap:anywhere}
.gsat31-section,.gsat31-share{background:var(--gsat31-card);border:1px solid var(--gsat31-line);border-radius:20px;padding:22px;margin-top:16px}
.gsat31-section h3,.gsat31-share h2{margin:0 0 10px;color:var(--gsat31-text);font-size:22px}.gsat31-section p,.gsat31-share p{color:var(--gsat31-muted);line-height:1.7;margin-bottom:0}
.gsat31-share-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
.gsat31-share-buttons a,.gsat31-share-buttons button{background:#fff;color:var(--gsat31-accent);border-color:var(--gsat31-line)}
.gsat31-share-buttons .gsat31-share-main{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gsat31-accent);color:#fff;border-color:var(--gsat31-accent)}
.gsat31-share-buttons .gsat31-icon-button{width:52px;height:52px;min-width:52px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;color:var(--gsat31-accent);border:1px solid var(--gsat31-line)}
.gsat31-share-main img{width:20px;height:20px;object-fit:contain;display:block}.gsat31-icon-button img{width:25px;height:25px;object-fit:contain;display:block}.gsat31-copy-button img{width:24px;height:24px}
.gsat31-share-buttons .gsat31-print-button{background:var(--gsat31-accent);color:#fff;border-color:var(--gsat31-accent)}
.gsat31-new-report{text-align:center;padding:8px 0 20px}.gsat31-new-report a{display:inline-block}
.gsat31-result-expired{text-align:center}
.gsat31-result .pe-kundli-wrap{max-width:none}.gsat31-result .pe-kundli-head{color:#111}
.gsat31-result .pe-kundli-wrap svg line,.gsat31-result .pe-kundli-wrap svg polyline,.gsat31-result .pe-kundli-wrap svg path:not([fill]){stroke:#3b261d !important;stroke-width:1.5 !important;stroke-opacity:1 !important;vector-effect:non-scaling-stroke}.gsat31-result .pe-kundli-wrap svg{overflow:visible}

@media(max-width:700px){
  .gsat31-shell{margin:18px auto;padding-left:10px;padding-right:10px}
  .gsat31-master-shell,.gsat31-report-head,.gsat31-result{padding:18px;border-radius:20px}
  .gsat31-fields,.gsat31-result-grid{grid-template-columns:1fr}.gsat31-fields .gsat31-wide{grid-column:auto}
  .gsat31-report-title-row{display:block}.gsat31-report-badge{width:auto;height:auto;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;margin-top:18px;border-radius:14px}.gsat31-report-badge strong{font-size:24px}.gsat31-report-badge span{margin:0}
  .gsat31-score{justify-content:flex-start;padding:18px;gap:15px}.gsat31-score-ring{width:96px;height:96px;flex-basis:96px}.gsat31-score-ring strong{font-size:27px}
  .gsat31-chart{padding:10px;border-radius:16px}
  .gsat31-share-buttons .gsat31-share-main,.gsat31-share-buttons .gsat31-print-button{flex:1 1 180px}.gsat31-share-buttons .gsat31-icon-button{flex:0 0 52px;width:52px}
}
@media(max-width:390px){.gsat31-share-buttons .gsat31-share-main,.gsat31-share-buttons .gsat31-print-button{flex-basis:100%;width:100%}.gsat31-score{align-items:flex-start}}
@media print{
  body *{visibility:hidden}.gsat31-complete-report,.gsat31-complete-report *{visibility:visible}.gsat31-complete-report{position:absolute;left:0;top:0;width:100%;max-width:none}.gsat31-share,.gsat31-report-nav,.gsat31-new-report{display:none}.gsat31-result,.gsat31-report-head{box-shadow:none;break-inside:avoid-page}
}
