.framework-en{display:block;margin-top:3px;font:500 .78em/1.25 Inter,"Noto Sans SC",sans-serif;color:var(--muted)}
.role-entry{grid-template-columns:minmax(250px,.8fr) minmax(420px,1.2fr)!important;align-items:center}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.role-card{min-height:170px;border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:22px;text-align:left;cursor:pointer;transition:.2s}.role-card:hover,.role-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow);outline:3px solid rgba(166,61,53,.18)}.role-card>span{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:#eee2d2;color:var(--red);font-size:24px;font-weight:900}.role-card b{display:block;margin-top:15px;font-size:20px}.role-card small{display:block;margin-top:8px;color:var(--muted)}.role-student{background:var(--red);color:white;border-color:var(--red)}.role-student>span{background:rgba(255,255,255,.18);color:white}.role-student .framework-en,.role-student small{color:#f8e9df}
.framework-course-map{margin:18px 0 24px;padding:22px;border-radius:24px;background:#eee2d0}.framework-map-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.framework-map-head h3{font-size:30px;margin:5px 0}.framework-map-head p{max-width:620px;color:var(--muted)}.framework-level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.framework-level{min-height:138px;border:1px solid var(--line);border-radius:18px;background:#fffdf8;padding:18px;text-align:left}.framework-level.available,.framework-level.mock{cursor:pointer}.framework-level.available:hover,.framework-level.mock:hover{border-color:var(--red);transform:translateY(-2px)}.framework-level b{display:block;font-size:24px}.framework-level span,.framework-level small{display:block;margin-top:7px}.framework-level small{color:var(--muted)}.framework-level.pending{opacity:.64}.framework-level.mock{background:#2c2a27;color:white}.framework-level.mock .framework-en,.framework-level.mock small{color:#eee2d2}
.framework-modal[hidden]{display:none}.framework-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(30,25,20,.56);overflow:auto}.framework-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:26px;background:#fffdf8;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.framework-dialog h2{font-size:clamp(28px,5vw,42px);margin:8px 0 14px}.framework-close{position:absolute;right:16px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:#eee2d2;font-size:28px;cursor:pointer}.framework-start-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}.framework-start{border:1px solid var(--line);border-radius:18px;background:white;padding:22px;text-align:left;cursor:pointer}.framework-start:first-child{background:#f1dfc4}.framework-start b,.framework-start span{display:block}.framework-start b{font-size:20px}.framework-start span{margin-top:10px;color:var(--muted)}.framework-account-actions,.mock-actions{display:flex;gap:10px;flex-wrap:wrap}.placement-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.placement-path{border:1px solid var(--line);border-radius:20px;background:#fffdf8;padding:24px;text-align:left}.placement-path:first-child{background:#f1dfc4}.placement-path b,.placement-path span{display:block}.placement-path b{font-size:20px}.placement-path span{margin-top:10px;color:var(--muted)}
.mock-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.mock-levels button{border:1px solid var(--line);border-radius:16px;background:white;padding:18px;font-size:20px;font-weight:850}.mock-levels button:not(:disabled){cursor:pointer}.mock-levels button:not(:disabled):hover{border-color:var(--red)}.mock-levels small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.framework-note{padding:14px;border-radius:14px;background:#f5ede1}.mock-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.mock-progress time{font-variant-numeric:tabular-nums}.mock-question{padding:22px 0}.mock-question audio{width:100%;margin:12px 0}.mock-options{display:grid;gap:10px;margin-top:18px}.mock-options label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer}.mock-options label:has(input:checked){border-color:var(--red);background:#f8eee6}.mock-score{display:flex;align-items:baseline;gap:10px;margin:18px 0}.mock-score strong{font-size:72px;color:var(--red)}.mock-review{display:grid;gap:8px}.mock-review details{border:1px solid var(--line);border-radius:12px;padding:12px}.mock-success{padding:18px;border-radius:14px;background:#e5efe7;color:#315b3c;font-weight:800}
.framework-extra-tab{display:none!important}.framework-practice-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 24px;padding:10px;border:1px solid var(--line);border-radius:20px;background:#f2e7d7}.framework-practice-tools .framework-practice-mode{width:100%;min-height:62px;margin:0;border-radius:15px;background:#fffdf8;color:var(--ink);font-weight:800}.framework-practice-tools .framework-practice-mode.active{background:var(--red);border-color:var(--red);color:white;box-shadow:0 7px 18px rgba(166,61,53,.2)}.framework-practice-tools .framework-practice-mode.active .framework-en{color:rgba(255,255,255,.88)}.tabs .tab .framework-en{font-size:10px}.tabs{position:sticky;top:82px;z-index:20;background:var(--ivory);padding:8px 0}
@media(max-width:900px){.framework-level-grid{grid-template-columns:repeat(2,1fr)}.role-entry{grid-template-columns:1fr!important}.framework-map-head{display:block}}
@media(max-width:600px){.role-grid,.framework-start-grid,.placement-choice-grid{grid-template-columns:1fr}.framework-level-grid{grid-template-columns:1fr 1fr}.framework-level{min-height:120px;padding:14px}.framework-dialog{padding:28px 18px 24px}.mock-levels{grid-template-columns:repeat(2,1fr)}.tabs{top:68px}.tabs .tab{flex:1 1 46%}.framework-practice-tools{gap:5px;padding:6px}.framework-practice-tools .framework-practice-mode{min-width:0;min-height:56px;padding:6px 3px;font-size:12px;line-height:1.15}.framework-practice-tools .framework-en{font-size:9px;line-height:1.1}}
