.program-page{--p-plum:#352047;--p-gold:#ddbb69;--p-muted:#686271;--p-line:#e5e0e9;background:#f6f5f8;color:#29232f;font-size:16px;line-height:1.8}
.program-shell{max-width:1200px;padding-top:30px}.program-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.overline{font-size:13px;letter-spacing:.1em;font-weight:700;color:#6a5576}.program-heading h1{font-size:clamp(30px,4vw,46px);margin:5px 0;line-height:1.4;color:var(--p-plum)}.program-heading p{margin:0;color:var(--p-muted);font-size:18px}.program-stamp{text-align:center;border-right:1px solid #d4c8dd;padding:0 28px;flex:none}.program-stamp strong{display:block;font-size:48px;font-weight:500;line-height:1.1;color:var(--p-plum)}.program-stamp span{font-size:14px;color:var(--p-muted)}
.demo-notice{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 18px;background:#eeebf3;border:1px solid #dfd8e8;border-radius:12px;color:#51435e;font-size:14px}.text-button{background:transparent;border:0;color:#563274;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:4px 8px;font-weight:700;flex:none}.view-switch{display:flex;gap:5px;margin:24px 0;padding:5px;border:1px solid var(--p-line);border-radius:14px;background:white;width:fit-content;max-width:100%}.view-switch button{border:0;background:transparent;color:#5c5065;padding:11px 24px;min-height:48px;border-radius:10px;font-weight:700}.view-switch button[aria-pressed=true]{background:var(--p-plum);color:white}
.learn-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.learn-main,.learn-side{min-width:0}.spotlight{position:relative;padding:30px;border-radius:22px;background:linear-gradient(125deg,#261631,#4e3166);color:#fff;overflow:hidden}.spotlight h2{color:#fff;font-size:28px;margin:7px 0 12px;line-height:1.5}.spotlight p{color:#e7ddeb;margin:0 0 20px;max-width:580px}.spotlight .overline{color:#efd89b}.spotlight-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.light-chip{color:#fff;border:1px solid #ffffff40;border-radius:8px;padding:3px 10px;font-size:14px}.p-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--p-plum);color:white;border:1px solid transparent;border-radius:10px;padding:11px 20px;min-height:46px;line-height:1.6;font-weight:700;font-size:16px}.gold-button{background:var(--p-gold);color:#302036}.secondary-button{background:white;color:var(--p-plum);border-color:#cfc2d8}.p-button:disabled{opacity:.45;cursor:not-allowed}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 13px}.section-title h2{font-size:23px;margin:0}.section-title p,.quiet{color:var(--p-muted);font-size:14px;margin:0}
.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lesson-tile{display:flex;gap:14px;align-items:flex-start;text-align:right;padding:20px;border:1px solid var(--p-line);border-radius:15px;background:white;color:#302436;min-width:0;transition:border-color .2s,transform .2s}.lesson-tile:hover{border-color:#9676aa;transform:translateY(-2px)}.lesson-number{flex:none;width:36px;height:36px;background:#f1ebf6;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#63447a}.lesson-tile.is-done .lesson-number{background:#e5f3ed;color:#225f4a}.lesson-tile strong{display:block;font-size:17px;line-height:1.5}.lesson-tile small{display:block;font-size:14px;margin-top:7px;color:var(--p-muted)}.panel{border:1px solid var(--p-line);border-radius:18px;padding:22px;background:#fff;margin-bottom:18px}.panel h2,.panel h3{margin:0 0 12px;line-height:1.5}.panel h3{font-size:19px}.progress-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.progress-header strong{font-size:29px;color:var(--p-plum)}.progress-track{background:#eee8f3;height:8px;border-radius:10px;overflow:hidden;margin:12px 0}.progress-track span{height:100%;display:block;background:#795490;border-radius:10px}.stage-list{display:grid;gap:13px;padding:0;list-style:none;margin:19px 0 0}.stage-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.status{font-size:13px;border-radius:7px;padding:3px 8px;background:#eee9f3;color:#5e4870;white-space:normal}.status.good{background:#e7f3ed;color:#215f46}.status.warn{background:#fff2d6;color:#78520e}.status.low{background:#fbe8e7;color:#903d36}.notice{padding:14px 17px;border-right:3px solid #cfab56;background:#fffaee;color:#6a5526;border-radius:8px;font-size:14px}.side-link{display:block;padding:12px 0;border-top:1px solid var(--p-line);font-size:15px;color:#543569;font-weight:700}.help-card{background:#e9f1ee;border-color:#cfdfd8}.help-card h3{color:#285343}.help-card p{color:#3f5e50;font-size:15px}.help-card .text-button{color:#285343}.test-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.test-tile{border:1px solid var(--p-line);background:white;padding:18px;border-radius:15px;min-width:0}.test-tile h3{font-size:18px;margin:7px 0}.test-tile p{font-size:14px;color:var(--p-muted)}.test-tile .p-button{width:100%;font-size:14px;padding:9px}.test-score{font-size:26px;color:var(--p-plum);font-weight:800}
.calendar-controls{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.program-page label{font-size:15px;font-weight:700;color:#45364e}.program-page input,.program-page select,.program-page textarea{font:inherit;background:#fff;border:1px solid #cfc5d7;border-radius:9px;min-height:45px;padding:8px 11px;max-width:100%;color:#2e2435}.calendar-controls label{display:grid;gap:6px;flex:1;min-width:150px}.calendar-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.calendar-day{padding:12px;border:1px solid var(--p-line);border-radius:11px;background:#fff;min-width:0}.calendar-day strong{display:block;font-size:15px}.calendar-day p{margin:5px 0;font-size:14px;line-height:1.5}.calendar-day small{font-size:12px;color:var(--p-muted)}.calendar-day.off{background:#f1f0f3;color:#655e6c}.calendar-day.peak{background:#fffbef;border-color:#eadfbf}.calendar-day.learn{border-top:3px solid #745487}.program-page details summary{cursor:pointer;font-weight:700;color:var(--p-plum);padding:5px;min-height:44px}
.coach-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.coach-header h2{margin:0;font-size:26px}.coach-header p{margin:5px 0;color:var(--p-muted)}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.metric-box{border:1px solid var(--p-line);padding:19px 21px;border-radius:15px;background:#fff;min-width:0}.metric-box span{display:block;font-size:14px;color:#6b5d75}.metric-box strong{display:block;font-size:32px;color:var(--p-plum);line-height:1.5}.metric-box small{color:#64576e;font-size:13px}.metric-box.highlight{background:var(--p-plum);border-color:var(--p-plum)}.metric-box.highlight span,.metric-box.highlight strong,.metric-box.highlight small{color:white}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.phase-selector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.phase-selector button{padding:8px 18px;border:1px solid #d5cadb;background:#fff;border-radius:9px;color:#5c406c;min-height:44px}.phase-selector button.active{background:#ede6f3;border-color:#846199;font-weight:800}.skill-item{margin:0 0 14px;border:1px solid var(--p-line);border-radius:13px;padding:17px;min-width:0}.skill-item legend{font-size:16px;font-weight:700;padding:0 8px;color:#3c294b}.rating-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rating-options label{display:block;cursor:pointer;border:1px solid #dfd6e5;padding:12px;border-radius:10px;background:#faf9fc;font-size:14px;font-weight:400}.rating-options label:has(input:checked){background:#eee6f5;border-color:#71468e}.rating-options input{min-height:0;margin-left:7px;accent-color:#624076}.rating-options strong{font-size:16px}.rating-options span{display:block;margin-top:4px;color:#61536a;line-height:1.5}.note-label{display:grid;gap:8px}.program-page textarea{resize:vertical;width:100%;min-height:90px}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--p-line)}.attendance-row label{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:500}.attendance-row input{min-height:20px;width:20px;height:20px;accent-color:#5b376e}.domain-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 42px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f0ebf4;font-size:15px}.domain-row .progress-track{margin:0}.domain-row .progress-track span{background:#397460}.domain-row .progress-track.warn span{background:#b78825}.domain-row .progress-track.low span{background:#ba6a5e}.action-item{padding:16px;border:1px solid #dfd7e6;border-radius:12px;margin:12px 0}.action-item strong{color:#483154}.action-item p{font-size:15px;margin:7px 0}.comparison-table{width:100%;margin:10px 0}.comparison-table th,.comparison-table td{font-size:15px;padding:12px 8px;white-space:normal}.comparison-table td b{font-size:19px;color:#4d2d64}.program-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--p-line);margin-top:30px;padding-top:18px}.program-bottom p{max-width:780px;font-size:13px;color:#6a6070}
.program-page dialog{width:min(800px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid #ded4e6;border-radius:22px;padding:26px;color:#302638;box-shadow:0 30px 120px #21122d66}.program-page dialog::backdrop{background:#20112c99;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.close-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8ccdf;background:#f9f6fb;border-radius:50%;font-size:28px;color:#4f365e}.program-page dialog h2{font-size:28px;line-height:1.4;margin:0 0 14px}.program-page dialog h3{font-size:20px;margin:20px 0 9px}.lesson-steps{padding-right:24px;line-height:1.9}.lesson-steps li{margin-bottom:9px}.quote-box{border-right:3px solid #c4a15a;background:#f7f3eb;padding:20px;border-radius:12px;color:#4d3930;font-size:18px;margin:20px 0}.scenario-box{padding:20px;border-radius:15px;background:#f3eef7;margin-top:20px}.answer-grid{display:grid;gap:9px;margin-top:15px}.answer-option{text-align:right;border:1px solid #d7cbdc;border-radius:11px;background:#fff;color:#382444;padding:14px 16px;line-height:1.6;min-height:48px}.answer-option.selected{border:2px solid #745087;background:#f2eaf7}.answer-option.correct{border-color:#39725b;background:#e7f2ec;color:#214e3a}.answer-option.wrong{border-color:#b36b60;background:#fcefed;color:#7c352b}.answer-option:disabled{cursor:default}.question-nav{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.question-nav button{width:39px;height:39px;border:1px solid #d4c8dc;background:white;color:#543468;border-radius:8px}.question-nav button.answered{background:#eee5f4}.question-nav button.active{background:#52336a;color:white}.feedback-box{padding:13px 16px;margin-top:13px;border-radius:10px;background:#e8f2ed;color:#285740}.feedback-box.error{background:#fff1e7;color:#75421f}.review-item{border-bottom:1px solid #e3dae9;padding:14px 0}.review-item p{margin:4px 0;font-size:15px}.review-item b{font-size:15px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#30203e;color:#fff;border-radius:12px;padding:14px 24px;z-index:200;box-shadow:0 8px 35px #24112b38;max-width:calc(100% - 30px);text-align:center}.program-page button:focus-visible,.program-page input:focus-visible,.program-page select:focus-visible,.program-page textarea:focus-visible{outline:3px solid #b38a38;outline-offset:3px}.program-page button,.program-page a{touch-action:manipulation}
@media(max-width:980px){.learn-layout{grid-template-columns:minmax(0,1fr) 250px}.lesson-grid{grid-template-columns:1fr}.test-tiles{grid-template-columns:1fr}.test-tile{display:grid;grid-template-columns:1fr auto;gap:7px 15px}.test-tile p,.test-tile .p-button{grid-column:1/-1}.calendar-days{grid-template-columns:repeat(3,1fr)}.two-panels{grid-template-columns:1fr}}
@media(max-width:700px){.program-heading{gap:12px}.program-heading h1{font-size:30px}.program-stamp{padding:0 12px}.program-stamp strong{font-size:38px}.program-stamp span{font-size:12px}.overline{font-size:12px;letter-spacing:.04em}.demo-notice{display:block}.demo-notice .text-button{padding-right:0;display:block;margin-top:6px}.view-switch{width:100%}.view-switch button{flex:1;min-width:0;padding:10px 7px;font-size:14px;line-height:1.5}.learn-layout{grid-template-columns:1fr}.learn-side{display:grid;grid-template-columns:1fr;gap:0}.spotlight{padding:23px}.spotlight h2{font-size:25px}.spotlight p{font-size:16px}.lesson-grid{grid-template-columns:1fr}.panel{padding:18px}.metric-row{grid-template-columns:1fr 1fr;gap:10px}.metric-box{padding:15px}.metric-box strong{font-size:27px}.coach-header{display:block}.coach-header .button-row{margin-top:10px}.calendar-days{grid-template-columns:1fr 1fr}.rating-options{grid-template-columns:1fr}.rating-options label{display:block}.rating-options span{margin-right:24px}.attendance-row{grid-template-columns:1fr 1fr;gap:9px}.attendance-row strong{grid-column:1/-1}.domain-row{grid-template-columns:minmax(0,1fr) 74px 33px;gap:8px;font-size:14px}.program-bottom{display:block}.program-page dialog{padding:20px 16px;max-height:94dvh}.program-page dialog h2{font-size:24px}.comparison-table th,.comparison-table td{font-size:14px}.program-heading p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.lesson-tile{transition:none}}
@media print{.site-nav,.view-switch,.demo-notice,.program-bottom,.site-footer,.text-button,.button-row,.toast{display:none!important}.program-shell{width:100%;max-width:none;padding:0}.metric-row,.two-panels{display:block}.panel,.metric-box{break-inside:avoid;margin:12px 0;box-shadow:none}.program-stamp{display:none}body{background:white!important}}
