.mpg-wrap{--mpg-navy:#10233f;--mpg-blue:#1e4e8c;--mpg-gold:#e8a928;max-width:860px;margin:28px auto;padding:clamp(18px,4vw,34px);background:linear-gradient(145deg,#fff 0%,#f6f8fc 100%);border:1px solid #dfe6f0;border-radius:24px;box-shadow:0 18px 55px rgba(16,35,63,.13);font-family:inherit;color:#17243a;overflow:hidden;position:relative}.mpg-wrap:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#10233f,#1e4e8c,#e8a928)}.mpg-head{text-align:center;margin:4px 0 24px}.mpg-kicker{display:inline-block;padding:7px 13px;border-radius:30px;background:#eaf0f8;color:#31547d;font-size:10px;letter-spacing:1.5px;font-weight:900}.mpg-head h2{font-size:clamp(22px,4vw,31px);line-height:1.18;letter-spacing:.2px;margin:14px 0 8px;color:var(--mpg-navy);font-weight:900}.mpg-head p{margin:0;color:#65758b;font-size:14px}.mpg-benefits{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:17px 0 0}.mpg-benefits span{background:#fff;border:1px solid #e2e9f2;border-radius:30px;padding:7px 11px;color:#3d526e;font-size:11px;font-weight:750;box-shadow:0 3px 10px #10233f0a}.mpg-window{text-align:center;padding:12px 15px;border-radius:12px;font-size:12px;font-weight:900;letter-spacing:.25px;margin:0 0 20px}.mpg-window.is-open{background:#e9f8ef;color:#176b3b;border:1px solid #c8ead4}.mpg-window.is-closed{background:#fff1f0;color:#a52d2d;border:1px solid #f2d0ce}.mpg-entry-intro{display:flex;flex-direction:column;gap:5px;padding:16px 18px;margin-bottom:18px;border-radius:14px;background:linear-gradient(110deg,#10233f,#1d4778);color:#fff}.mpg-entry-intro strong{font-size:15px}.mpg-entry-intro span{font-size:12px;line-height:1.55;color:#dce7f5}.mpg-label{display:block;font-weight:850;margin:0 0 8px;color:#233b5c;font-size:13px}.mpg-label small{font-weight:500;color:#8290a3}.mpg-input{box-sizing:border-box;width:100%;height:51px;border:1px solid #cbd6e4;border-radius:11px;padding:0 15px;font-size:16px;background:#fff;color:#111827;box-shadow:inset 0 1px 2px #10233f08}.mpg-input:focus{outline:3px solid #dce9fb;border-color:#356ba8}.mpg-input::placeholder{color:#9aa8b9}.mpg-actions{display:flex;gap:10px;margin-top:13px}.mpg-button,.mpg-reset,.mpg-view{border:0;border-radius:11px;color:#fff;font-weight:850;font-size:14px;padding:14px 19px;cursor:pointer;transition:transform .15s ease,filter .15s ease;min-height:48px}.mpg-button:hover,.mpg-reset:hover,.mpg-view:hover{filter:brightness(1.06);transform:translateY(-1px)}.mpg-button{flex:1;background:linear-gradient(110deg,#173b68,#2865a4);box-shadow:0 7px 16px #173b682c}.mpg-reset{background:#64748b}.mpg-view{background:linear-gradient(110deg,#087c70,#0e9b83)}.mpg-view[hidden]{display:none}.mpg-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.mpg-message{min-height:24px;margin:14px 0 9px;text-align:center;font-size:13px;line-height:1.5;font-weight:750;color:#1d4e83}.mpg-results{padding:clamp(15px,3vw,23px);background:linear-gradient(145deg,#edf3fa,#f8fafc);border:1px solid #dbe5f0;border-radius:17px}.mpg-results-title{text-align:center;font-size:12px;letter-spacing:1px;font-weight:950;color:#213b5d;margin-bottom:17px}.mpg-result-grid{display:grid;gap:10px}.mpg-result-line{display:flex;align-items:center;justify-content:center;gap:12px;padding:5px 0}.mpg-result-letter{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#35699f;color:#fff;font-weight:950;font-size:15px;box-shadow:0 3px 8px #10233f26}.mpg-result-digits{display:flex;gap:8px;flex-wrap:wrap}.mpg-result-digits i{font-style:normal;width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ffd66e,#e8a928);color:#17243a;font-weight:950;font-size:15px;box-shadow:0 3px 8px #a76d1729}.mpg-blurred-ball{filter:blur(4px);color:#64748b!important}.mpg-history-count{text-align:center;font-size:12px;line-height:1.6;color:#53657c;margin-top:15px;padding-top:12px;border-top:1px solid #dce5ef}.mpg-charts{margin-top:25px}.mpg-charts h3{text-align:center;font-size:19px;color:var(--mpg-navy);margin:0 0 5px;font-weight:900}.mpg-chart-subtitle{text-align:center;color:#718096;font-size:12px;margin:0 0 15px}.mpg-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.mpg-chart{padding:16px;border:1px solid #e0e7f0;border-radius:15px;background:#fff;min-width:0;box-shadow:0 5px 16px #10233f08}.mpg-chart:last-child{grid-column:1/-1}.mpg-chart h4{margin:0 0 13px;font-size:13px;color:#294665;font-weight:850}.mpg-bar-row{display:grid;grid-template-columns:22px 1fr 36px;align-items:center;gap:8px;margin:8px 0;font-size:11px}.mpg-bar-label{text-align:center;font-weight:850;color:#425875}.mpg-bar-track{height:9px;background:#edf2f7;border-radius:8px;overflow:hidden}.mpg-bar-track i{display:block;height:100%;background:linear-gradient(90deg,#244e7b,#e8a928);border-radius:8px}.mpg-bar-row b{text-align:right;font-size:10px;color:#53657c}.mpg-position{margin:12px 0}.mpg-position>strong{font-size:11px;color:#425875}.mpg-position-bars{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;align-items:end;margin-top:7px}.mpg-position-cell{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px}.mpg-position-cell i{width:100%;max-width:18px;background:linear-gradient(180deg,#e8a928,#426b96);border-radius:4px 4px 0 0}.mpg-position-cell small{font-size:9px;color:#718096}.mpg-disclaimer{font-size:11px;line-height:1.65;color:#7b8797;margin:19px 2px 0;border-top:1px solid #e2e8f0;padding-top:13px;text-align:center}.mpg-admin-row{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}.mpg-admin-row input[type=date]{min-width:150px}.mpg-admin-row input[name="row_letter[]"]{width:85px}.mpg-admin-row input[name="number_sequence[]"]{width:160px}@media(max-width:600px){.mpg-wrap{margin:12px;padding:23px 14px;border-radius:18px}.mpg-head h2{font-size:22px}.mpg-benefits{gap:6px}.mpg-benefits span{font-size:10px;padding:6px 9px}.mpg-actions{flex-direction:column}.mpg-chart-grid{grid-template-columns:1fr}.mpg-chart:last-child{grid-column:auto}.mpg-result-digits{gap:5px}.mpg-result-digits i{width:32px;height:32px;font-size:13px}.mpg-result-letter{width:32px;height:32px}.mpg-result-line{gap:8px}.mpg-admin-row input{max-width:100%}}
.mpg-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 4px}.mpg-insight-card{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;padding:11px 13px;border:1px solid #dbe5f0;border-radius:12px;background:#fff}.mpg-insight-card span{font-size:11px;color:#61738b;font-weight:700}.mpg-insight-card strong{grid-row:span 2;color:#1e4e8c;font-size:20px;font-weight:950}.mpg-insight-card b{font-size:12px;color:#a66b08}.mpg-result-grid{gap:3px}.mpg-result-line{padding:12px 0}@media(max-width:600px){.mpg-insights{grid-template-columns:1fr}.mpg-insight-card{padding:10px 12px}}

/* v1.3.1 responsive layout improvements */
.mpg-wrap,.mpg-wrap *{box-sizing:border-box;min-width:0}
.mpg-wrap{width:calc(100% - 24px);max-width:860px}
.mpg-wrap img,.mpg-wrap canvas,.mpg-wrap svg{max-width:100%;height:auto}
.mpg-result-grid,.mpg-charts,.mpg-chart-grid,.mpg-insights{width:100%;min-width:0}
.mpg-chart{overflow:hidden}
.mpg-bar-row{grid-template-columns:24px minmax(0,1fr) 38px}
.mpg-actions>*{min-width:0}
.mpg-input{max-width:100%;min-width:0}
.mpg-admin-row{width:100%;min-width:0}
@media(max-width:767px){
 .mpg-wrap{width:calc(100% - 20px);margin:12px auto;padding:22px 14px;border-radius:17px}
 .mpg-head{margin-bottom:18px}
 .mpg-head h2{font-size:clamp(20px,6vw,25px);overflow-wrap:anywhere}
 .mpg-head p{font-size:13px;line-height:1.55}
 .mpg-entry-intro{padding:14px;overflow-wrap:anywhere}
 .mpg-actions{display:grid;grid-template-columns:1fr;gap:9px}
 .mpg-button,.mpg-reset,.mpg-view{width:100%;min-height:48px;padding:13px 12px;font-size:14px}
 .mpg-result-line{gap:7px;flex-wrap:nowrap}
 .mpg-result-letter{flex:0 0 34px;width:34px;height:34px}
 .mpg-result-digits{display:flex;flex-wrap:nowrap;gap:clamp(3px,1.5vw,7px)}
 .mpg-result-digits i{flex:0 1 34px;width:clamp(27px,8vw,34px);height:clamp(27px,8vw,34px);font-size:13px}
 .mpg-chart-grid{grid-template-columns:minmax(0,1fr)}
 .mpg-chart:last-child{grid-column:auto}
 .mpg-chart{padding:13px}
 .mpg-position-bars{gap:2px}
 .mpg-position-cell{font-size:9px}
 .mpg-admin-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px;border:1px solid #e1e8f0;border-radius:10px}
 .mpg-admin-row input[type=date],.mpg-admin-row input[name="row_letter[]"],.mpg-admin-row input[name="number_sequence[]"]{width:100%;max-width:100%;min-width:0;height:42px}
 .mpg-admin-row .mpg-remove-row{grid-column:1/-1;width:100%}
}
@media(max-width:360px){
 .mpg-wrap{width:calc(100% - 12px);padding:19px 10px}
 .mpg-result-digits{gap:3px}
 .mpg-result-digits i{width:27px;height:27px;font-size:12px}
 .mpg-result-letter{width:30px;height:30px;flex-basis:30px}
 .mpg-benefits span{font-size:9px;padding:5px 7px}
 .mpg-insight-card strong{font-size:18px}
}

.mpg-date-estimate{grid-column:1/-1;background:linear-gradient(120deg,#edf6ff,#fff8e8);border:1px solid #d7e5f3;border-radius:14px;padding:15px;margin-top:12px;display:flex;flex-direction:column;gap:7px;text-align:center}.mpg-date-estimate span{font-size:12px;color:#52677d}.mpg-date-estimate strong{font-size:clamp(16px,3vw,21px);color:#173b68}.mpg-date-estimate b{font-size:11px;color:#7a8796;font-weight:600}

/* v1.4.4: mobile-safe session hours and touch controls */
.mpg-window{white-space:normal;overflow-wrap:anywhere;line-height:1.7;min-height:42px}
.mpg-button,.mpg-reset,.mpg-view{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mpg-input{min-height:50px;-webkit-appearance:none;appearance:none}
@media(max-width:767px){
 .mpg-window{font-size:12px;padding:12px 10px;margin-bottom:16px;line-height:1.8}
 .mpg-actions{width:100%}
 .mpg-actions button{display:block;min-height:50px}
 .mpg-wrap{overflow:visible}
}

/* v1.4.5: robust mobile touch target and Elementor stacking */
.mpg-wrap .mpg-actions{position:relative;z-index:5;isolation:isolate}
.mpg-wrap .mpg-actions button{position:relative;z-index:6;pointer-events:auto;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.mpg-wrap .mpg-button:disabled{opacity:.58;cursor:not-allowed}
.mpg-wrap .mpg-button:not(:disabled):active,.mpg-wrap .mpg-reset:active,.mpg-wrap .mpg-view:active{transform:scale(.99)}
@media(max-width:767px){
 .mpg-wrap .mpg-actions button{min-height:54px;width:100%;font-size:15px;line-height:1.35}
 .mpg-wrap .mpg-input{font-size:16px}
}


/* v1.4.6: Integrated instructions above the analyzer; standalone responsive UI (no Elementor widget required). */
.mpg-wrap .mpg-guide{width:100%;margin:0 0 24px;padding:clamp(15px,3vw,23px);border:1px solid #dce7f3;border-radius:18px;background:linear-gradient(145deg,#f5f9ff,#fff);box-shadow:0 6px 20px rgba(20,55,90,.055);color:#183452}
.mpg-wrap .mpg-guide h3{margin:0 0 7px;text-align:center;font-size:clamp(18px,3vw,22px);line-height:1.4;font-weight:900;color:#153b68}
.mpg-wrap .mpg-guide-intro{text-align:center;margin:0 0 15px;color:#65758b;font-size:13px;line-height:1.65}
.mpg-wrap .mpg-guide details{display:block;margin:9px 0 0;border:1px solid #dce7f3;border-radius:12px;background:#fff;overflow:hidden}
.mpg-wrap .mpg-guide summary{display:block;position:relative;list-style:none;padding:14px 42px 14px 15px;cursor:pointer;color:#174779;font-size:14px;line-height:1.55;font-weight:800;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mpg-wrap .mpg-guide summary::-webkit-details-marker{display:none}
.mpg-wrap .mpg-guide summary:after{content:'+';position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:21px;line-height:1;color:#d49a24;font-weight:800}
.mpg-wrap .mpg-guide details[open] summary:after{content:'−'}
.mpg-wrap .mpg-guide .mpg-guide-text{padding:0 15px 15px;color:#52677d;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.mpg-wrap .mpg-guide .mpg-guide-text strong{color:#167347}
@media(max-width:767px){.mpg-wrap .mpg-guide{padding:15px 12px;margin-bottom:19px;border-radius:15px}.mpg-wrap .mpg-guide summary{padding:13px 38px 13px 12px;font-size:13px}.mpg-wrap .mpg-guide .mpg-guide-text{padding:0 12px 13px;font-size:13px}.mpg-wrap .mpg-guide-intro{font-size:12px}}
