.gsg-row{display:flex;justify-content:flex-start;align-items:center;margin:12px 0 4px;width:100%}
.gsg-open{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:600 13px/1 inherit;letter-spacing:.04em;color:#000;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.gsg-open svg{width:18px;height:18px}
.gsg-mask{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:14px;box-sizing:border-box}
.gsg-mask.is-open{display:flex}
.gsg-win{position:relative;background:#fff;color:#000;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:28px 24px;box-sizing:border-box;font:14px/1.5 -apple-system,'Helvetica Neue',Arial,sans-serif}
.gsg-x{position:absolute;right:12px;top:6px;background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:#000}
.gsg-h{text-align:center;font:500 24px/1.2 'Playfair Display',Georgia,serif;letter-spacing:.02em;margin:0 0 16px}
.gsg-pane,.gsg-cont,.gsg-q{display:none}
.gsg-pane.on,.gsg-cont.on,.gsg-q.on{display:block}
.gsg-tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:12px}
.gsg-tab{flex:1;padding:10px 4px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#777}
.gsg-tab.on{border-bottom-color:#000;color:#000;font-weight:700}
.gsg-unit{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:12px;margin-bottom:10px}
.gsg-pill{display:inline-flex;border:1px solid #ccc;overflow:hidden}
.gsg-pill button{border:0;padding:5px 12px;background:#fff;color:#000;font-size:11px;cursor:pointer}
.gsg-pill button.on{background:#000;color:#fff}
.gsg-t{width:100%;border-collapse:collapse;font-size:12px;text-align:center;margin-bottom:12px}
.gsg-t th,.gsg-t td{padding:8px 4px;border:1px solid #eee}
.gsg-t th{background:#f6f6f6;font-weight:600;letter-spacing:.04em}
.gsg-t .hl{background:#000;color:#fff}
.gsg-note{font-size:11px;color:#666;margin:0 0 12px}
.gsg-hide{display:none!important}
.gsg-find{width:100%;background:#000;color:#fff;border:0;padding:13px;font:600 12px/1.2 inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin:6px 0 16px}
.gsg-how{border-top:1px solid #eee;padding-top:16px}
.gsg-how h3{font:500 20px 'Playfair Display',Georgia,serif;text-align:center;margin:0 0 12px}
.gsg-how ol{list-style:none;margin:0;padding:0;font-size:12px}
.gsg-how li{margin-bottom:10px}
.gsg-qh{text-align:center;font:500 20px 'Playfair Display',Georgia,serif;margin:0 0 4px}
.gsg-qd{text-align:center;font-size:12px;color:#666;margin:0 0 14px}
.gsg-range{text-align:center;margin:18px 0}
.gsg-range b{display:block;font-size:22px;margin-bottom:10px}
.gsg-range input{width:100%;accent-color:#000}
.gsg-go{width:100%;padding:13px;background:#000;color:#fff;border:1px solid #000;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin-top:12px;font-size:12px}
.gsg-go.w{background:#fff;color:#000}
.gsg-m label{display:block;font-size:12px;font-weight:700;margin:10px 0 4px}
.gsg-m div{display:flex;flex-wrap:wrap;gap:6px}
.gsg-m button{flex:1 0 20%;padding:8px 0;border:1px solid #ccc;background:#fff;color:#000;cursor:pointer;font-size:12px}
.gsg-m button.on{background:#000;color:#fff;border-color:#000}
.gsg-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gsg-shapes button{border:1px solid #ddd;background:#fff;padding:14px 4px;cursor:pointer;font-size:12px;color:#000}
.gsg-shapes button:hover{border-color:#000}
.gsg-skip{display:block;margin:12px 0 0 auto;background:none;border:0;font-size:12px;color:#666;text-decoration:underline;cursor:pointer}
.gsg-res{background:#f8f8f8;border:1px solid #eee;padding:14px;margin-bottom:12px}
.gsg-res strong{font-size:13px}
.gsg-badge{font:500 32px 'Playfair Display',Georgia,serif;text-align:center;margin:4px 0}
.gsg-bar{height:16px;background:#e0e0e0;overflow:hidden}
.gsg-bar i{display:block;height:100%;background:#000;color:#fff;font:normal 10px/16px sans-serif;text-align:center}
.gsg-res p{font-size:12px;color:#555;margin:6px 0 0}
.gsg-dots{display:flex;justify-content:center;gap:6px;margin-top:18px}
.gsg-dots i{width:7px;height:7px;background:#ddd;border-radius:50%}
.gsg-dots i.on{background:#000}
@media(max-width:480px){.gsg-win{padding:24px 14px}.gsg-tab{font-size:11px}}
