.sg-wrap{background:#0b1b31;color:#f5f8ff;border-radius:24px;padding:20px 16px;margin:8px 0 24px}.sg-wrap h2{font-size:25px;margin:4px 0 5px}.sg-muted{color:#b2c6df;font-size:13px}.sg-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:22px 0;background:#102640;border-radius:14px;padding:5px}.sg-tabs button{border:0;border-radius:11px;background:transparent;color:#aac1dd;padding:13px 4px;font-weight:700}.sg-tabs button.sg-active{background:#2c4059;color:#fff}.sg-card{display:flex;align-items:center;gap:14px;background:#203956;border:0;border-radius:16px;padding:18px 14px;margin:10px 0;width:100%;text-align:left;color:#fff}.sg-card .sg-icon{color:#9bc9ff;font-size:24px;width:30px}.sg-card .sg-next{margin-left:auto;color:#9bc9ff;font-size:25px}.sg-card strong{display:block;font-size:18px}.sg-card small{display:block;color:#b6cbe4;margin-top:5px}.sg-back{background:transparent;border:0;color:#a8ccf7;padding:8px 0}.sg-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.sg-info{border:1px solid #6487ae;background:transparent;color:#b6d8ff;border-radius:50%;width:30px;height:30px;font-size:17px}.sg-help{background:#203956;border-radius:13px;padding:14px;margin:12px 0;line-height:1.55;font-size:14px}.sg-help button{float:right;background:transparent;color:#fff;border:0;font-size:20px}.sg-field{display:block;width:100%;margin:6px 0 14px;background:#fff;color:#12233a;border:1px solid #7692af;border-radius:9px;padding:12px;font-size:16px}.sg-label{display:block;color:#b9cde6;font-size:13px;margin-top:14px}.sg-primary{background:#65aeff;color:#071b33;border:0;border-radius:12px;padding:14px;font-weight:800;width:100%;margin-top:14px}.sg-secondary{background:#203956;color:#fff;border:1px solid #537498;border-radius:10px;padding:10px}.sg-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sg-scorebtn{flex:1;min-width:64px;background:#203956;color:#fff;border:1px solid #52769d;border-radius:10px;padding:12px 5px}.sg-scorebtn.selected{background:#69b0ff;color:#071b33}.sg-item{background:#152e4b;padding:13px;border-radius:12px;margin:8px 0}.sg-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.sg-stat{background:#203956;padding:14px;border-radius:12px}.sg-stat b{display:block;font-size:23px;margin-top:5px}.sg-stat small{color:#b2c6df}.sg-chart{width:100%;height:140px;background:#152e4b;border-radius:12px}.sg-empty{padding:24px 10px;color:#b9cde6;text-align:center}.sg-wrap button{cursor:pointer}.sg-wrap select,.sg-wrap input{max-width:100%}

/* Compact, aligned mobile date inputs */
.sg-row:has(input[type="date"]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.sg-row:has(input[type="date"]) label{min-width:0;width:100%;flex:none!important}.sg-row input[type="date"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;height:46px;padding:8px 7px;font-size:14px;color-scheme:dark;background:#203956;color:#f5f8ff;border:1px solid #537498;border-radius:10px}.sg-row input[type="date"]::-webkit-date-and-time-value{text-align:left;min-width:0}.sg-row input[type="date"]::-webkit-calendar-picker-indicator{width:15px;opacity:.8}
/* V10.28 Short Game navigation and 10-shot exercises */
.sg-v28 .sg-eyebrow{color:#8cbfff;font-size:10px;letter-spacing:1.4px;font-weight:700}.sg-v28 .sg-banner{display:block;width:100%;border:0;background:#183b60;color:#fff;text-align:left;border-radius:18px;padding:12px;margin:15px 0;overflow:hidden}.sg-banner-visual{display:block;height:155px;background:linear-gradient(140deg,#244f73,#102744 55%,#0a1b31);border-radius:12px;position:relative;overflow:hidden}.sg-practice .sg-banner-visual,.sg-chip .sg-banner-visual,.sg-putt .sg-banner-visual{background-image:linear-gradient(0deg,rgba(8,28,47,.15),rgba(8,28,47,.2)),url('home-hero.jpg');background-size:cover;background-position:center}.sg-chip .sg-banner-visual{background-image:linear-gradient(0deg,rgba(8,28,47,.12),rgba(8,28,47,.2)),url('home-cover-fixed.jpg')}.sg-putt .sg-banner-visual{background-image:linear-gradient(0deg,rgba(8,28,47,.12),rgba(8,28,47,.2)),url('home-performance-lab-v997.jpg')}.sg-analysis .sg-banner-visual{padding:10px;background:#102744}.sg-mini-kpis{display:flex;gap:5px}.sg-mini-kpis b{flex:1;background:#1b3b5c;border-radius:6px;padding:8px 5px;color:#adc8e6;font-size:8px}.sg-mini-kpis em{display:block;color:white;font-size:17px;font-style:normal;margin-top:4px}.sg-analysis svg{width:100%;height:90px;margin-top:4px}.sg-banner-caption{display:flex;align-items:center;justify-content:space-between;padding:12px 3px 3px;position:relative}.sg-banner-caption strong{font-size:20px}.sg-banner-caption small{display:block;position:absolute;left:3px;bottom:-10px;font-size:11px;color:#c1d6ea}.sg-banner-caption>span{font-size:26px;color:#8cbfff}.sg-banner{padding-bottom:22px!important}.sg-drill{display:flex;gap:13px;align-items:center;text-align:left;background:#203956;border:0;color:white;border-radius:15px;padding:16px 12px;width:100%;margin:9px 0}.sg-drill strong,.sg-course strong{display:block;font-size:16px}.sg-drill small,.sg-course small{display:block;color:#aec7e2;font-size:12px;margin-top:5px}.sg-drill-icon{font-size:25px;color:#8cbfff}.sg-access{color:#7cbbff!important;font-weight:700;font-size:10px!important}.sg-chevron{margin-left:auto;font-size:24px;color:#8cbfff}.sg-course{width:100%;display:flex;align-items:center;gap:13px;background:#203956;color:white;border:0;border-radius:14px;text-align:left;padding:14px;margin:9px 0}.sg-course>span:last-child{margin-left:auto}.sg-course-number{display:grid;place-items:center;background:#3473af;border-radius:10px;width:43px;height:43px;font-size:19px;font-weight:800}.sg-course-locked{opacity:.5}.sg-holegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.sg-hole{background:#203956;border:1px solid #436484;border-radius:12px;padding:12px 4px;min-height:100px;display:flex;flex-direction:column;align-items:center;gap:5px}.sg-hole strong{font-size:25px}.sg-hole small{color:#b9d0e8;font-size:10px}.sg-hole-next{border-color:#7cbdff}.sg-premium{font-size:8px;color:#91bfff}.sg-entry{background:#142c49;border:1px solid #294c70;border-radius:16px;padding:14px;margin:15px 0}.sg-entry h3{margin:3px 0 8px}.sg-choice{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 15px}.sg-choice button{background:#203956;color:#e6f2ff;border:1px solid #52769d;border-radius:9px;padding:11px 12px;min-width:62px;flex:1;font-size:13px}.sg-choice button.on{background:#65aeff;color:#071b33;border-color:#65aeff;font-weight:800}.sg-stepper{display:flex;align-items:center;justify-content:space-between;background:#203956;padding:8px;border-radius:12px;margin:10px 0}.sg-stepper button{background:#365b80;border:0;border-radius:10px;color:white;width:48px;height:42px;font-size:25px}.sg-stepper strong{font-size:27px}.sg-progress{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-top:18px}.sg-progress span{height:7px;border-radius:6px;background:#29445e}.sg-progress span.filled{background:#69b5ff}.sg-v28 .sg-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sg-v28 .sg-dates label{min-width:0}.sg-v28 .sg-dates input{box-sizing:border-box;width:100%}

/* V10.29 corrections */
.sg-practice .sg-banner-visual{background-image:linear-gradient(0deg,rgba(8,28,47,.10),rgba(8,28,47,.08)),url("sg-practice.jpg")}
.sg-chip .sg-banner-visual{background-image:linear-gradient(0deg,rgba(8,28,47,.08),rgba(8,28,47,.08)),url("sg-chip.jpg")}
.sg-putt .sg-banner-visual{background-image:linear-gradient(0deg,rgba(8,28,47,.08),rgba(8,28,47,.08)),url("sg-putt.jpg")}
.sg-info{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;padding:0;line-height:1;font-family:Arial,sans-serif;font-size:17px;font-weight:600;vertical-align:middle}.sg-info span{display:block;line-height:1;text-align:center}

/* V10.30 Trophy Cabinet and premium metallic awards */
.sg-awards .sg-banner-visual{background:radial-gradient(ellipse at 50% 50%,#3a4f69,#142d4b 58%,#0b1c32)}
.sg-awards .sg-banner-visual:after{content:'🏆';position:absolute;left:0;right:0;top:30px;text-align:center;font-size:76px;filter:drop-shadow(0 8px 15px #020e1c)}
.sg-cabinet-list{display:grid;gap:10px;margin-top:16px}.sg-cabinet-card{background:#193652;border:1px solid #365778;border-radius:14px;padding:15px}.sg-cabinet-top{display:flex;align-items:center;justify-content:space-between}.sg-cabinet-trophy{font-size:29px;filter:grayscale(1);opacity:.5}.sg-trophy-bronze,.sg-trophy-silver,.sg-trophy-gold{filter:none;opacity:1}.sg-cabinet-counts{display:flex;gap:12px;margin:9px 0}.sg-cabinet-counts span{font-size:14px;background:#254766;padding:7px 10px;border-radius:8px}.sg-cabinet-card small{color:#a9c5e0}
.sg-award{position:fixed;z-index:99999;left:12px;right:12px;top:50%;transform:translateY(-50%);max-width:460px;margin:auto;border-radius:20px;padding:26px 20px;text-align:center;color:#fff;box-shadow:0 0 0 100vmax rgba(1,8,18,.79),0 20px 50px #0009;overflow:hidden;border:1px solid #ffffff7a}.sg-award-bronze{background:linear-gradient(130deg,#4b2519,#a86641 46%,#5c2d1c)}.sg-award-silver{background:linear-gradient(130deg,#394b5b,#9babb9 46%,#455766)}.sg-award-gold{background:linear-gradient(130deg,#6e501e,#c49b47 46%,#6b4d1c)}.sg-award-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#ffffff28 46%,transparent 62%);pointer-events:none}.sg-award-trophy{font-size:64px;line-height:1.3;filter:drop-shadow(0 7px 8px #0007)}.sg-award-kicker{font-size:10px;letter-spacing:2px;font-weight:700;opacity:.9;margin:12px 0 5px}.sg-award h2{font-size:24px;letter-spacing:.5px;margin:7px 0}.sg-award-stars{letter-spacing:8px;font-size:19px;margin:10px 0}.sg-award strong{display:block;font-size:17px}.sg-award p{font-size:13px}.sg-award small{display:block;font-size:12px;opacity:.88}.sg-award-close{background:#0d243e;color:white;border:1px solid #ffffff80;border-radius:10px;padding:12px 28px;margin-top:20px;font-weight:700}

/* V10.31 premium navigation, photography and exercise tiles */
.sg-v28 .sg-back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:12px 0 15px;padding:8px 19px;background:#1c4268;border:1.5px solid #79bdff;border-radius:12px;color:#fff;font-size:16px;font-weight:750;box-shadow:0 3px 14px #0b8de21a}
.sg-v28 .sg-practice .sg-banner-visual{background-image:linear-gradient(0deg,#05182b25,#05182b10),url('sg-practice-new.jpg')}
.sg-v28 .sg-chip .sg-banner-visual{background-image:linear-gradient(0deg,#05182b25,#05182b10),url('sg-chip-new.jpg')}
.sg-v28 .sg-putt .sg-banner-visual{background-image:linear-gradient(0deg,#05182b25,#05182b10),url('sg-putt-new.jpg')}
.sg-analysis .sg-banner-visual{background:radial-gradient(ellipse at 80% 0%,#1e5682,#0d2643 75%);padding:12px 12px 7px;border:1px solid #2d5b83}
.sg-graph-label{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#a3c5e5}.sg-analysis svg{height:105px;margin:0}.sg-graph-caption{display:block;text-align:right;color:#95c3e8;font-size:10px;margin-top:-8px}
.sg-exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.sg-exercise-card{position:relative;display:flex;flex-direction:column;min-width:0;text-align:left;border:1px solid #3c6489;border-radius:17px;background:#1c3a5c;color:#fff;padding:8px 8px 12px;overflow:hidden}.sg-exercise-feature{grid-column:1/-1}.sg-exercise-photo{height:105px;border-radius:12px;display:block;background-position:center;background-size:cover;background-image:url('sg-chip-new.jpg')}.sg-exercise-feature .sg-exercise-photo{height:170px}.sg-photo-par2{background-image:url('sg-practice-new.jpg')}.sg-photo-accuracy,.sg-photo-landing,.sg-photo-ladder,.sg-photo-bunker{background-image:url('sg-chip-new.jpg')}.sg-photo-gate,.sg-photo-clock,.sg-photo-lag,.sg-photo-pressure,.sg-photo-breaking{background-image:url('sg-putt-new.jpg')}.sg-exercise-copy{padding:12px 4px 0;display:block}.sg-exercise-copy strong{font-size:15px;line-height:1.2;display:block}.sg-exercise-feature .sg-exercise-copy strong{font-size:20px}.sg-exercise-copy small{display:block;color:#b4cde7;font-size:11px;margin:5px 0}.sg-exercise-copy em{display:block;font-style:normal;font-size:10px;color:#86c2ff;font-weight:800;letter-spacing:.5px}.sg-exercise-arrow{position:absolute;right:15px;bottom:15px;color:#8fc9ff;font-size:24px}.sg-exercise-copy{padding-right:18px}
.sg-hole{min-height:124px;gap:6px}.sg-hole-lie{font-size:10px;color:#cce1f5;font-weight:700;text-align:center}.sg-hole-premium{background:#303c4b;border-color:#657183;opacity:.8}.sg-hole-premium .sg-hole-lie{color:#c4c9d1}.sg-premium{font-size:9px!important;font-weight:900;letter-spacing:.3px;color:#fff!important;margin-top:auto}.sg-hole-next{border-color:#7cbdff;box-shadow:inset 0 0 0 1px #7cbdff}
.sg-chart{height:160px;background:linear-gradient(160deg,#193d60,#102a48);border:1px solid #345e85;padding:4px;border-radius:15px;box-sizing:border-box}

/* V10.32 Landing Zone precision progression */
.sg-target-panel{margin:18px 0 12px;padding:24px 14px;border:1px solid #3988c2;border-radius:20px;background:radial-gradient(ellipse at center,#183e61 0%,#0c223b 75%);display:flex;align-items:center;flex-direction:column;gap:9px;text-align:center;color:#f2f8ff}
.sg-target-kicker{font-size:12px;letter-spacing:.16em;color:#83c8ff;font-weight:800}
.sg-target-circle{width:132px;height:132px;border:3px dashed #65bcff;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#1c6594 0%,#133956 72%);box-shadow:0 0 22px #2a9df744,inset 0 0 25px #2a9df722}
.sg-target-dot{height:13px;width:13px;background:#fff;border-radius:50%;box-shadow:0 0 14px #a4dfff}
.sg-target-panel strong{font-size:20px}.sg-target-panel small{color:#b7d3ec}
.sg-landing-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}.sg-landing-levels span{text-align:center;padding:10px 3px;background:#233950;color:#a9b9c9;border-radius:9px;font-size:12px}.sg-landing-levels .active{background:#287db8;color:white;border:1px solid #71c6ff;font-weight:800}.sg-landing-levels .completed{background:#1a514e;color:#a4e7d4}

/* V10.33: test plan and safer save controls */
.sg-test-switch{display:flex;align-items:center;gap:8px;margin:14px 0 20px;padding:9px;background:#142e4b;border:1px solid #385f83;border-radius:13px}.sg-test-switch span{font-size:11px;letter-spacing:1px;color:#9bbddd;margin-right:auto;font-weight:700}.sg-test-switch button{background:#223f60;color:#dcecff;border:1px solid #557a9e;border-radius:9px;padding:9px 15px;font-weight:700}.sg-test-switch button.on{background:#64b1ff;color:#09213b;border-color:#64b1ff}.sg-save-final{margin-top:25px!important;margin-bottom:18px!important;min-height:53px}.sg-edit-actions{margin-top:7px;gap:12px}.sg-edit-actions .sg-secondary{padding:11px 16px}

/* V10.34 instruction visuals and access states */
.sg-drill-illustration{margin:14px 0 4px}.sg-drill-illustration svg{display:block;width:100%;max-height:220px;border-radius:12px}.sg-drill-illustration small{display:block;color:#bcd5ed;font-size:11px;margin-top:5px}.sg-clock-guide{display:grid;gap:7px;margin-top:12px}.sg-clock-guide>div{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:#142c49;border:1px solid #42688a;border-radius:10px}.sg-clock-guide span{color:#bcd5ed}.sg-clock-guide small{color:#bcd5ed}.sg-course-locked{opacity:.55;filter:grayscale(.35)}.sg-course-locked:active{opacity:.85}
/* V10.35 Putting Master progression */
.sg-master-stages{display:grid;gap:10px;margin:22px 0}.sg-master-stage{display:flex;align-items:center;gap:14px;padding:16px;border-radius:15px;background:#203b5b;border:1px solid #426487;color:#eaf4ff}.sg-master-stage>span{display:grid;place-items:center;min-width:43px;height:43px;border-radius:12px;background:#3675ac;font-size:20px;font-weight:700}.sg-master-stage>div{display:grid;gap:4px}.sg-master-stage small{color:#b5cee5}.sg-master-locked{opacity:.48}.sg-master-done{border-color:#4bba94}.sg-master-done>span{background:#23795e}.sg-master-current{border-color:#67b9ff;box-shadow:0 0 0 1px #67b9ff}.sg-master-count{text-align:center;font-size:34px;font-weight:800;color:#71bbff;margin:20px 0}.sg-master-stages+.sg-entry .sg-progress{display:flex;gap:3px;flex-wrap:wrap}.sg-master-stages+.sg-entry .sg-progress span{min-width:6px;flex:1 0 5px;height:8px;border-radius:6px;background:#335571}.sg-master-stages+.sg-entry .sg-progress span.filled{background:#6db7ff}

/* V10.36 analysis controls and modal */
.sg-v28 .sg-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;align-items:start}
.sg-v28 .sg-dates .sg-label{display:block;min-width:0;width:100%;overflow:hidden}
.sg-v28 .sg-dates .sg-date-field{display:block;min-width:0;max-width:100%;width:100%;height:48px;box-sizing:border-box;appearance:auto;-webkit-appearance:auto;padding:8px 5px;font-size:13px;background:#203e60;color:#fff;color-scheme:dark;border:1px solid #6c91b9}
.sg-v28 .sg-stat b{font-size:19px;line-height:1.3;overflow-wrap:anywhere}
.sg-modal-overlay{position:fixed;inset:0;background:rgba(2,11,25,.78);display:flex;align-items:center;justify-content:center;z-index:99999;padding:22px}
.sg-modal{width:min(100%,400px);background:#132e4c;border:1px solid #6db8fa;border-radius:20px;padding:24px;box-shadow:0 20px 60px #0008;color:#f4f8ff}
.sg-modal h3{font-size:22px;margin:0 0 12px}.sg-modal p{color:#c0d3e8;line-height:1.5}
.sg-modal-actions{display:flex;gap:12px;margin-top:24px}.sg-modal-actions button{flex:1;padding:13px;border-radius:11px;background:#244666;color:white;border:1px solid #5a80a7;font-weight:700}.sg-modal-actions button:last-child{background:#63adfa;color:#092541;border-color:#63adfa}

/* V10.37: exercise-specific photographic setup overlays */
.sg-v28 .sg-photo-par2{background-image:url("sg-drill-par2.jpg")}
.sg-v28 .sg-photo-accuracy{background-image:url("sg-drill-accuracy.jpg")}
.sg-v28 .sg-photo-ladder{background-image:url("sg-drill-ladder.jpg")}
.sg-v28 .sg-photo-bunker{background-image:url("sg-drill-bunker.jpg")}
.sg-v28 .sg-photo-landing{background-image:url("sg-drill-landing.jpg")}
.sg-v28 .sg-photo-gate{background-image:url("sg-drill-gate.jpg")}
.sg-v28 .sg-photo-clock{background-image:url("sg-drill-clock.jpg")}
.sg-v28 .sg-photo-lag{background-image:url("sg-drill-lag.jpg")}
.sg-v28 .sg-photo-pressure{background-image:url("sg-drill-pressure.jpg")}
.sg-v28 .sg-photo-breaking{background-image:url("sg-drill-breaking.jpg")}
.sg-master-achievement{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.sg-master-achievement span{background:#112a46;border:1px solid #35516e;border-radius:10px;padding:11px 8px;color:#a6b8ce;font-size:12px;font-weight:700}.sg-master-achievement span.complete{color:#f8d87b;border-color:#c69d42;background:#3a3425}.sg-master-achievement small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:#b7c8dc}.sg-exercise-photo{background-size:cover;background-position:center}.sg-exercise-card:not(.sg-exercise-feature) .sg-exercise-photo{height:125px}
/* V10.39: photo-free premium GSA Blue landing banners. Visual-only update. */
.sg-v28 .sg-practice .sg-banner-visual,.sg-v28 .sg-analysis .sg-banner-visual,.sg-v28 .sg-awards .sg-banner-visual{height:155px;padding:0;border:1px solid #285d91;background-color:#071b34;background-repeat:no-repeat;background-position:center;background-size:cover;box-shadow:inset 0 0 28px #020d20aa}
.sg-v28 .sg-practice .sg-banner-visual{background-image:linear-gradient(90deg,#061c37a8,#061c3700 75%),url('sg-banner-practice.jpg')}
.sg-v28 .sg-analysis .sg-banner-visual{background-image:linear-gradient(90deg,#061c37a8,#061c3700 75%),url('sg-banner-statistics.jpg')}
.sg-v28 .sg-awards .sg-banner-visual{background-image:linear-gradient(90deg,#061c37a8,#061c3700 75%),url('sg-banner-records.jpg')}
.sg-v28 .sg-awards .sg-banner-visual:after{content:none}
.sg-v28 .sg-banner-caption strong{letter-spacing:.2px}

/* V10.40: approved GSA Blue practice category artwork only. */
.sg-v28 .sg-chip .sg-banner-visual{background-image:url('sg-banner-chip-v1040.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;}
.sg-v28 .sg-putt .sg-banner-visual{background-image:url('sg-banner-putt-v1040.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;}

/* Independent GSA Short Game brand treatment */
html,body{margin:0;min-height:100%;background:#061629;color:#f5f9ff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}
#app{max-width:560px;margin:auto;padding:10px 14px 60px}
.sg-wrap{background:radial-gradient(ellipse at 100% 0%,#10396a 0%,#091e39 35%,#07182e 75%);border:1px solid #154875;box-shadow:0 0 35px #008aff13;min-height:80vh;margin:0;border-radius:25px;padding:22px 15px}
.sg-v28 .sg-banner{border:1px solid #188bfa;box-shadow:0 0 13px #0b8bfa36,inset 0 0 15px #0077e51a;background:linear-gradient(155deg,#092f57,#071a33)}
.sg-v28 .sg-banner-visual{box-shadow:0 0 20px #0c93f537!important}
.sg-v28 .sg-practice .sg-banner-visual{background-image:url('sg-banner-practice.jpg')}
.sg-v28 .sg-analysis .sg-banner-visual{background-image:url('sg-banner-statistics.jpg')}
.sg-v28 .sg-awards .sg-banner-visual{background-image:url('sg-banner-records.jpg')}
.sg-v28 .sg-banner-caption{color:#fff}
.sg-v28 .sg-banner-caption small{color:#b5d8f6}
.sg-v28 .sg-banner-visual{height:170px}
@media(max-width:380px){.sg-v28 .sg-banner-visual{height:140px}}
.brand-top{display:flex;align-items:center;gap:10px;padding:16px 10px 20px;max-width:560px;margin:auto}
.brand-top img{width:48px;height:48px;border-radius:12px}.brand-top b{display:block;font-size:19px;letter-spacing:.2px}.brand-top small{color:#8bbde8}

/* V1.2: iPhone safe area, independent brand, and five-tab navigation */
html{background:#061629}body{padding-bottom:0}
.brand-top{padding:calc(env(safe-area-inset-top, 0px) + 38px) 18px 20px;align-items:center;gap:12px;min-height:130px}
.brand-top img{width:54px;height:54px;flex:none;border-radius:14px}
.brand-top b{font-size:25px;font-weight:850;letter-spacing:.5px;color:#fff;line-height:1.12;white-space:nowrap}
.brand-top .brand-divider{font-weight:400;color:#77bfff}
.brand-top .brand-subname{font-size:14px;font-weight:750;letter-spacing:1px;color:#fff}
.brand-top small{display:block;margin-top:7px;font-size:10px;letter-spacing:1.6px;font-weight:650;color:#91c9ff}
#app{padding:8px 14px 125px}
.sg-wrap{padding-top:20px;min-height:0}
.sg-v28 .sg-banner:first-child{margin-top:0}
.sg-bottom-nav{position:fixed;z-index:50;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);left:50%;transform:translateX(-50%);width:min(calc(100% - 22px),540px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 5px;background:#0b2645f5;border:1px solid #2772b2;border-radius:20px;box-shadow:0 0 24px #006dd63b;backdrop-filter:blur(18px)}
.sg-bottom-nav button{display:flex;align-items:center;flex-direction:column;gap:3px;padding:8px 1px;background:transparent;border:1px solid transparent;border-radius:13px;color:#b7d2ed;font-size:10px;font-weight:650;min-width:0}
.sg-bottom-nav button.active{background:#104e89;border-color:#268cde;color:white}
.sg-nav-icon{font-size:23px;line-height:1.1}
.sg-more h2{margin:0 0 4px;font-size:27px}.sg-more-intro{color:#a9c6e3;font-size:13px;margin:0 0 18px}
.sg-more-panel{background:#102e4d;border:1px solid #2b628f;border-radius:15px;padding:17px;margin:12px 0}
.sg-more-panel h3{font-size:17px;margin:0 0 10px;color:white}.sg-more-panel p{font-size:13px;color:#d0e2f5;line-height:1.5;margin:6px 0}.sg-more-panel .sg-more-note{font-size:11px;color:#9ebbd5}
.sg-more-action{background:#2084db;border:1px solid #63b6ff;color:white;border-radius:10px;padding:12px 15px;font-weight:700;margin:10px 0}
@media(max-width:375px){.brand-top b{font-size:22px}.brand-top .brand-subname{font-size:12px}.brand-top small{letter-spacing:1px}}

/* V1.3: white brand separator and true bottom-docked navigation */
.brand-top .brand-divider{color:#fff}
.sg-bottom-nav{bottom:0;left:0;right:0;transform:none;width:100%;max-width:none;box-sizing:border-box;border-radius:19px 19px 0 0;padding:8px max(9px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(9px,env(safe-area-inset-left,0px));box-shadow:0 -8px 30px #00122577}
#app{padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))}

/* V1.4: compact native-style bottom dock and cohesive GSA Blue pages */
.brand-top{padding-top:calc(env(safe-area-inset-top,0px) + 18px);padding-bottom:12px;min-height:104px}
.sg-bottom-nav{bottom:0;left:0;right:0;width:100%;max-width:none;transform:none;border-radius:16px 16px 0 0;min-height:0;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#09213bf5;border-color:#2378b5;box-shadow:0 -3px 16px #0085ff1b}
.sg-bottom-nav button{padding:7px 1px 6px;gap:3px;border-radius:12px;font-size:10px;line-height:1.2}
.sg-bottom-nav button.active{background:linear-gradient(155deg,#103b65,#092847);border:1px solid #37a8ff;color:#f7fcff;box-shadow:inset 0 0 12px #129cff40,0 0 13px #008cff7a;text-shadow:0 0 7px #58bdff}
.sg-bottom-nav button.active .sg-nav-icon{color:#7bd4ff;filter:drop-shadow(0 0 5px #21a5ff)}
.sg-nav-icon{font-size:21px}
#app{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}
.sg-more .sg-back,.sg-v28>.sg-back{display:inline-flex;align-items:center;justify-content:center;background:#1a4167;border:1px solid #6dbbff;border-radius:12px;color:#f4f9ff;font-weight:750;padding:11px 17px;margin-bottom:18px}
.sg-more>h2{font-size:25px;margin:0 0 6px}.sg-more-intro{margin:0 0 14px}
.sg-more-panel{background:linear-gradient(150deg,#14375b,#102943);border:1px solid #3574a5;border-radius:16px;padding:16px;margin:12px 0;box-shadow:inset 0 1px #ffffff0a}
.sg-more-panel h3{font-size:18px;margin-bottom:8px}.sg-more-panel p{font-size:13px}
.sg-v28 select.sg-field{appearance:none;-webkit-appearance:none;background-color:#183c60;color:#f6fbff;border:1px solid #4b92ca;border-radius:12px;min-height:48px;padding:10px 39px 10px 13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' stroke='%2389caff' fill='none' stroke-width='2'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat}
.sg-v28 .sg-dates{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sg-v28 .sg-dates .sg-label{overflow:visible;min-width:0}
.sg-date-wrap{position:relative;display:block;min-width:0;width:100%;margin-top:7px}
.sg-v28 .sg-dates input.sg-date-field{display:block;width:100%;min-width:0;max-width:100%;height:48px;margin:0;padding:8px 27px 8px 8px;border:1px solid #4b92ca;border-radius:12px;background:#183c60;color:#f5faff;font-size:12px;color-scheme:dark;appearance:auto;-webkit-appearance:auto}
.sg-v28 .sg-dates input.sg-date-field::-webkit-date-and-time-value{text-align:left;min-width:0}
.sg-calendar-button{position:absolute;right:3px;top:5px;height:38px;width:25px;padding:0;border:0;background:#183c60;color:#8bd0ff;font-size:17px;border-radius:8px}
.sg-stat{background:#173959;border:1px solid #315f87}.sg-stat b{color:#f7fbff}

/* GSA Short Game V1.5 · cohesive premium navy/neon design */
:root{--sg-ink:#061629;--sg-surface:#0a2544;--sg-card:#123758;--sg-neon:#249eff;--sg-soft:#b7d4ef}
.sg-wrap{background:radial-gradient(ellipse at 92% 2%,#143d70 0%,#0a2341 35%,#06182f 85%);border:1px solid #22679d;box-shadow:inset 0 1px #5dbbff19,0 0 24px #008fff0b}
.sg-v28 .sg-cabinet-card,.sg-v28 .sg-stat,.sg-v28 .sg-item,.sg-v28 .sg-entry,.sg-v28 .sg-help,.sg-v28 .sg-course,.sg-v28 .sg-drill,.sg-v28 .sg-card{background:linear-gradient(145deg,#163e63,#0b2745 72%,#081e38);border:1px solid #2389d1;border-radius:17px;box-shadow:inset 0 1px #8ed4ff12,0 0 13px #008bff16;color:#f4faff}
.sg-v28 .sg-cabinet-card{padding:17px;margin-bottom:2px}
.sg-v28 .sg-cabinet-card strong,.sg-v28 h2,.sg-v28 h3{color:#f5faff;letter-spacing:-.3px}
.sg-v28 .sg-cabinet-counts span{background:#163d61;border:1px solid #3978a7;color:#d8ebfc}
.sg-v28 .sg-stat small,.sg-v28 .sg-muted{color:#b6cee5}
.sg-v28 .sg-chart{background:linear-gradient(140deg,#123b60,#081e38);border:1px solid #2688cb}
.sg-v28 .sg-back{background:linear-gradient(140deg,#1a4b78,#0d3053);border-color:#55b8ff;box-shadow:inset 0 1px #ffffff12,0 0 12px #0b8dff20}
.sg-v28 select.sg-field,.sg-v28 input.sg-field{background-color:#153c60;border-color:#388ed0;color:#f4faff}
.sg-v28 .sg-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:100%}
.sg-v28 .sg-dates .sg-label{width:100%;min-width:0;max-width:100%;overflow:hidden}
.sg-v28 .sg-dates .sg-date-wrap{width:100%;min-width:0;max-width:100%;overflow:hidden;border-radius:12px}
.sg-v28 .sg-dates input.sg-date-field{width:100%;min-width:0;max-width:100%;font-size:12px;padding:8px 25px 8px 6px;border-radius:12px;background:#153c60}
.sg-v28 .sg-dates .sg-calendar-button{right:3px;background:#153c60}
.sg-more-list{display:grid;gap:12px;margin-top:18px}
.sg-more-link{display:flex;align-items:center;width:100%;gap:13px;text-align:left;padding:15px 14px;border-radius:16px;border:1px solid #258ce0;background:linear-gradient(140deg,#16436b,#0a2848 78%);box-shadow:inset 0 1px #9edbff1b,0 0 13px #088bff21;color:white}
.sg-more-symbol{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:12px;background:#124b7c;border:1px solid #3eabf4;color:#80d2ff;font-size:22px}
.sg-more-link-text{display:grid;gap:3px;min-width:0;flex:1}.sg-more-link-text strong{font-size:16px}.sg-more-link-text small{font-size:12px;color:#accae5}.sg-more-chevron{font-size:27px;color:#86caff}
.sg-detail-card,.sg-plan{background:linear-gradient(145deg,#173e63,#0a2847);border:1px solid #2688d0;border-radius:17px;padding:18px;margin:13px 0;box-shadow:inset 0 1px #b1dfff12,0 0 14px #008fff1b}
.sg-detail-card h3,.sg-plan h3{font-size:19px;margin:0 0 10px}.sg-detail-card p,.sg-plan p{color:#d4e5f5;font-size:14px;line-height:1.5}.sg-detail-card small,.sg-more-detail .sg-more-note{color:#adc8e2;font-size:12px;line-height:1.5}
.sg-plan-grid{display:grid;grid-template-columns:1fr;gap:2px}.sg-plan-label{letter-spacing:2px;color:#92cfff;font-size:11px;font-weight:800}.sg-plan-premium{border-color:#41b5ff;box-shadow:inset 0 1px #c4ebff1e,0 0 18px #078cff38}.sg-plan ul{padding-left:18px;color:#d8e9f7;font-size:13px;line-height:1.9}.sg-plan-status{font-size:13px;color:#a7cdea}.sg-plan-cta{background:linear-gradient(125deg,#178bdf,#5dbaff);border:1px solid #85d7ff;border-radius:11px;padding:12px 17px;color:#061b32;font-weight:800;width:100%}
/* iPhone dock: visible controls centered within a compact bar */
.sg-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-height:0;padding:8px max(7px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(7px,env(safe-area-inset-left,0px));background:linear-gradient(180deg,#0b2b4bfa,#071d36fa);border:1px solid #288ee1;border-bottom:0;box-shadow:0 -5px 23px #007de53a}
.sg-bottom-nav button{min-height:59px;display:flex;justify-content:center;align-items:center;gap:4px;padding:7px 1px;border-radius:13px;font-size:12px;font-weight:700}
.sg-nav-icon{font-size:27px;line-height:1.05}.sg-bottom-nav button.active{background:linear-gradient(155deg,#145486,#0a3154);border-color:#42b6ff;box-shadow:inset 0 0 17px #1d9fff55,0 0 16px #159bff80}
#app{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}
@media(max-width:370px){.sg-bottom-nav button{font-size:10px}.sg-nav-icon{font-size:24px}.sg-more-link-text strong{font-size:15px}}
