.sgs-app{--navy:#071b45;--teal:#129b98;--coral:#ff533d;--cream:#f3e2bd;--green:#139a67;--yellow:#e6a117;--gray:#677181;--black:#111827;max-width:1060px;margin:0 auto}.sgs-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:36px;align-items:center;padding:26px 0 28px}.sgs-hero-copy h1{font-size:clamp(38px,6vw,68px);line-height:.98;letter-spacing:-.055em;margin:.25em 0;color:var(--navy)}.sgs-hero-copy p{font-size:18px;color:#596579;max-width:650px}.sgs-logo-large{max-width:380px;width:100%;margin:auto;display:block}.sgs-date{display:inline-flex;padding:7px 11px;background:#e9f8f7;color:#087b77;border-radius:999px;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.sgs-entry-guide{margin:0 0 20px;padding:18px 20px;border:2px solid #b9e7e4;background:linear-gradient(135deg,#f0fbfa,#fbfefd);border-radius:18px;box-shadow:0 8px 24px rgba(18,155,152,.08)}.sgs-entry-guide-title{display:flex;gap:11px;align-items:flex-start;color:var(--navy);margin-bottom:12px}.sgs-entry-guide-title strong{display:block;font-size:18px;line-height:1.15}.sgs-entry-guide-title span:not(.sgs-guide-number){display:block;color:#5b6879;font-size:13px;margin-top:3px}.sgs-guide-number{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--teal);color:#fff;font-weight:900;flex:0 0 auto}.sgs-cycle-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:11px 0 13px;padding:11px 12px;background:#fff;border:1px solid #e3ecec;border-radius:13px}.sgs-cycle-label{font-size:12px;font-weight:850;color:#42516a;margin-right:2px}.sgs-cycle-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:8px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em}.sgs-cycle-chip.gray{background:var(--gray)}.sgs-cycle-chip.orange{background:var(--yellow)}.sgs-cycle-chip.green{background:var(--green)}.sgs-cycle-arrow{color:#78869a;font-weight:900}.sgs-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;color:#4e5d70;font-size:12.5px;line-height:1.4}.sgs-guide-steps b{color:var(--teal)}.sgs-main-card,.sgs-content-card{background:#fff;border:1px solid #e5eaf0;border-radius:22px;box-shadow:0 14px 45px rgba(7,27,69,.08)}.sgs-main-card{padding:clamp(18px,3vw,32px);margin-bottom:28px}.sgs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.sgs-mode-group,.sgs-size-group{display:flex;gap:8px;flex-wrap:wrap}.sgs-chip{border:1px solid #dfe5ed;background:#fff;color:#435168;padding:8px 12px;border-radius:999px;font-weight:780;font-size:13px;cursor:pointer}.sgs-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.sgs-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:#f6f9fc;border:1px solid #e7edf4;border-radius:14px;margin-bottom:18px;font-size:13px;color:#58677c}.sgs-status strong{color:var(--navy)}.sgs-grid-wrap{display:flex;justify-content:center;overflow:hidden;padding:4px 0 12px}.sgs-grid{display:grid;gap:5px;width:min(100%,560px);touch-action:manipulation}.sgs-cell{aspect-ratio:1/1;width:100%;min-width:0;border:2px solid #dbe1e9;border-radius:12px;background:#fff;color:#17243d;font-weight:900;text-align:center;text-transform:uppercase;font-size:clamp(18px,5vw,30px);caret-color:var(--teal);transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border .16s ease}.sgs-cell:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,155,152,.13);transform:translateY(-1px)}.sgs-cell.state-gray{background:var(--gray);border-color:#596372;color:#fff}.sgs-cell.state-yellow{background:var(--yellow);border-color:#cb8a08;color:#fff}.sgs-cell.state-green{background:var(--green);border-color:#0e7b53;color:#fff}.sgs-cell.state-black{background:var(--black);border-color:var(--black);color:transparent;caret-color:transparent}.sgs-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.sgs-legend-item{padding:11px;border-radius:13px;background:#f8fafc;border:1px solid #edf0f4;font-size:12px;color:#596579}.sgs-swatch{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.sgs-swatch.green{background:var(--green)}.sgs-swatch.yellow{background:var(--yellow)}.sgs-swatch.gray{background:var(--gray)}.sgs-action-row{display:flex;gap:10px;align-items:stretch;margin-top:18px;flex-wrap:wrap}.sgs-button{appearance:none;border:0;border-radius:14px;padding:14px 18px;font-size:15px;font-weight:850;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .16s ease,box-shadow .16s ease}.sgs-button:hover{transform:translateY(-1px)}.sgs-button.primary{background:linear-gradient(135deg,var(--teal),#087f7c);color:#fff;box-shadow:0 10px 25px rgba(18,155,152,.22);flex:1}.sgs-button.secondary{background:#f0f3f7;color:#25344c}.sgs-button.coral{background:linear-gradient(135deg,var(--coral),#e34533);color:#fff;box-shadow:0 10px 24px rgba(255,83,61,.18);flex:1}.sgs-help{font-size:12px;color:#7b8798;margin-top:8px;text-align:center}.sgs-error{display:none;background:#fff1ef;border:1px solid #ffd2ca;color:#9f2f22;padding:12px 14px;border-radius:13px;margin-top:12px;font-size:13px}.sgs-progress{display:none;align-items:center;gap:10px;color:#536276;font-size:13px;margin-top:12px}.sgs-spinner{width:18px;height:18px;border:3px solid #d9e6e5;border-top-color:var(--teal);border-radius:50%;animation:sgsspin .75s linear infinite}@keyframes sgsspin{to{transform:rotate(360deg)}}.sgs-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.sgs-content-card{padding:22px}.sgs-content-card h2,.sgs-content-card h3{color:var(--navy);line-height:1.15;margin-top:.2em}.sgs-content-card p{color:#5c687a;font-size:14px}.sgs-ad-zone{margin:28px 0;padding:18px;border:1px dashed #d9dee6;border-radius:14px;min-height:70px;display:flex;align-items:center;justify-content:center;color:#9aa4b1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#fbfcfd}.sgs-results-head{text-align:center;padding:14px 0 22px}.sgs-results-head h1{font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:-.045em;color:var(--navy);margin:.3em 0}.sgs-result-grid{display:grid;gap:5px;width:min(100%,560px);margin:0 auto}.sgs-result-cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--green);border:2px solid #0e7b53;color:#fff;font-weight:900;font-size:clamp(18px,5vw,30px)}.sgs-result-cell.black{background:var(--black);border-color:var(--black)}.sgs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.sgs-stat{background:#f7f9fc;border:1px solid #e8edf3;border-radius:15px;padding:16px;text-align:center}.sgs-stat strong{display:block;font-size:26px;color:var(--navy);line-height:1}.sgs-stat span{display:block;margin-top:5px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#788497;font-weight:750}.sgs-swaps-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:24px}.sgs-step-panel{background:#fff;border:1px solid #e5eaf0;border-radius:20px;padding:22px;box-shadow:0 12px 35px rgba(7,27,69,.06)}.sgs-step-number{font-size:12px;color:var(--teal);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.sgs-step-text{font-size:22px;font-weight:850;color:var(--navy);line-height:1.25;margin:9px 0 18px}.sgs-step-list{max-height:530px;overflow:auto;padding-right:4px}.sgs-step-item{padding:12px 13px;border:1px solid #e6ebf1;border-radius:12px;margin-bottom:8px;font-size:13px;color:#536276}.sgs-step-item.active{border-color:#9bd9d6;background:#f0fbfa;color:#075d5a}.sgs-inline-note{padding:13px 14px;border-left:4px solid var(--teal);background:#f0fbfa;border-radius:0 12px 12px 0;font-size:13px;color:#356663;margin:16px 0}.sgs-community{margin-top:16px;padding:13px 14px;border:1px solid #e3e9f0;border-radius:14px;background:#fbfcfe;font-size:13px}.sgs-community label{display:flex;gap:9px;align-items:flex-start}.sgs-archive-list{display:grid;gap:12px}.sgs-archive-item{background:#fff;border:1px solid #e6eaf0;border-radius:14px;padding:15px;display:flex;justify-content:space-between;gap:12px}.sgs-archive-item strong{color:var(--navy)}.sgs-empty{text-align:center;padding:30px;color:#6c7889}.sgs-share{background:#071b45;color:#fff;padding:20px;border-radius:18px;text-align:center}.sgs-share strong{font-size:28px;display:block}.sgs-share button{margin-top:10px}.sgs-faq details{border-bottom:1px solid #e7ebf1;padding:14px 0}.sgs-faq summary{cursor:pointer;font-weight:800;color:var(--navy)}
@media(max-width:760px){.sgs-entry-guide{padding:15px}.sgs-guide-steps{grid-template-columns:1fr}.sgs-cycle-row{gap:5px}.sgs-cycle-chip{padding:5px 7px;font-size:10px}.sgs-hero{grid-template-columns:1fr;gap:10px;text-align:center;padding-top:10px}.sgs-logo-large{max-width:260px}.sgs-hero-copy p{font-size:16px}.sgs-content-grid{grid-template-columns:1fr}.sgs-swaps-layout{grid-template-columns:1fr}.sgs-legend{grid-template-columns:1fr}.sgs-grid,.sgs-result-grid{gap:4px}.sgs-cell,.sgs-result-cell{border-radius:9px}.sgs-stats{grid-template-columns:repeat(3,1fr)}.sgs-stat{padding:12px 7px}.sgs-stat strong{font-size:21px}.sgs-action-row{flex-direction:column}.sgs-button{width:100%}.sgs-toolbar{align-items:flex-start}.sgs-status{align-items:flex-start;flex-direction:column}}
@media(max-width:350px){.sgs-cell,.sgs-result-cell{border-radius:7px}.sgs-grid,.sgs-result-grid{gap:3px}.sgs-main-card{padding:14px}.sgs-chip{padding:7px 9px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.sgs-spinner{animation:none}.sgs-cell,.sgs-button{transition:none}}


.sgs-tip-optin-note{max-width:850px;margin:18px auto 0;padding:22px 24px;border:1px solid #d8e0e8;border-radius:20px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 12px 32px rgba(11,31,58,.07);text-align:center}.sgs-tip-optin-note .sgs-tip-kicker{display:inline-block;font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#13a5a1;margin-bottom:7px}.sgs-tip-optin-note h2{margin:0 0 8px;color:#0b1f3a;font-size:clamp(1.15rem,2.2vw,1.5rem)}.sgs-tip-optin-note p{margin:0 auto;color:#475569;max-width:690px;line-height:1.65;font-size:.95rem}

/* v1.3 mobile hardening */
.sgs-grid,.sgs-result-grid{max-width:min(560px,calc(100vw - 44px));}
.sgs-cell,.sgs-result-cell{min-height:0;min-width:0;line-height:1;padding:0;}
@media(max-width:520px){
 .sgs-app{width:100%;max-width:100%;overflow:hidden}.sgs-main-card{padding:14px 10px;border-radius:16px}.sgs-entry-guide{margin-bottom:14px}.sgs-toolbar{gap:9px}.sgs-mode-group,.sgs-size-group{width:100%;display:grid;gap:6px}.sgs-mode-group{grid-template-columns:repeat(2,minmax(0,1fr))}.sgs-size-group{grid-template-columns:repeat(5,minmax(0,1fr))}.sgs-chip{padding:8px 5px;font-size:11px;white-space:nowrap}.sgs-grid-wrap{width:100%;padding-left:0;padding-right:0}.sgs-grid,.sgs-result-grid{width:100%;max-width:calc(100vw - 40px);gap:3px}.sgs-cell,.sgs-result-cell{border-width:1.5px;border-radius:7px;font-size:clamp(16px,5.4vw,24px)}.sgs-status{padding:10px}.sgs-community{font-size:12px}.sgs-hero-copy h1{font-size:clamp(34px,11vw,48px)}
}
@media(max-width:360px){.sgs-main-card{padding:12px 7px}.sgs-grid,.sgs-result-grid{max-width:calc(100vw - 30px);gap:2px}.sgs-chip{font-size:10px;padding:7px 3px}.sgs-entry-guide{padding:12px 10px}.sgs-cycle-row{padding:9px 8px}.sgs-cycle-label{width:100%}}
.sgs-alternative-wrap{margin-top:22px}.sgs-alternative-wrap+h3{margin-top:28px}.sgs-alternative-wrap h3{text-align:center;color:var(--navy);margin:0 0 10px}.sgs-alternative-grid{margin-top:10px}
