:root{color:#12342f;font-synthesis:none;background:#edf5f1;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:#116b59;font-weight:650}.auth-shell{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.brand-panel{color:#f7fbf9;background:#123f37;flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,8rem);display:flex}.brand-panel h1{max-width:700px;margin:.4rem 0 1.5rem;font-size:clamp(3rem,7vw,6.5rem);line-height:.95}.brand-panel>p:last-child{color:#cbe1da;max-width:520px;font-size:1.2rem}.card{background:#fff;border:1px solid #d7e4df;border-radius:22px;padding:clamp(1.6rem,4vw,3rem);box-shadow:0 24px 70px #173b3215}.auth-shell>.card{align-self:center;margin:2rem clamp(2rem,7vw,7rem)}.eyebrow{color:#27816e;letter-spacing:.16em;font-size:.78rem;font-weight:800}h2{margin:.35rem 0 1.8rem;font-size:2rem}form{gap:.55rem;display:grid}label{gap:.45rem;margin-top:.65rem;font-weight:700;display:grid}input{width:100%;font:inherit;background:#fbfdfc;border:1px solid #b9cdc6;border-radius:10px;padding:.85rem 1rem}input:focus{border-color:#27816e;outline:3px solid #4fb69e35}.password-control{display:block;position:relative}.password-control input{padding-right:3.2rem}.password-toggle{color:#527069;background:0 0;border-radius:8px;place-items:center;width:2.25rem;height:2.25rem;margin:0;padding:0;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:#12342f;outline-offset:1px;background:#e5f5ef;outline:2px solid #27816e}.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23527069' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1.15rem center;background-repeat:no-repeat;background-size:12px 8px;padding-right:3rem!important}small{color:#a23232}button{color:#fff;font:inherit;cursor:pointer;background:#176d5c;border:0;border-radius:10px;margin-top:1rem;padding:.9rem 1.2rem;font-weight:800}button:disabled{opacity:.6}button.secondary{color:#176d5c;background:0 0;border:1px solid #176d5c;width:auto}nav{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.notice{background:#edf7f3;border-radius:10px;padding:.8rem 1rem}.notice.error{color:#9f2020;background:#fff0f0;border:1px solid #df7777}.error-text{color:#9f2020;font-weight:650}.center-card{place-items:center;min-height:100vh;padding:2rem;display:grid}.center-card .card{max-width:520px}.dashboard{max-width:980px;margin:0 auto;padding:4rem 2rem}.dashboard header{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.student-header h2{margin:.2rem 0;font-size:clamp(1.8rem,4vw,2.6rem)}.muted{color:#627a74}@media (width<=820px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:34vh;padding:3rem 2rem}.brand-panel h1{font-size:3rem}.auth-shell>.card{margin:1.25rem}.dashboard header{flex-direction:column;align-items:flex-start}}.dashboard{gap:1.5rem;display:grid}.dashboard header{grid-column:1/-1}.dashboard-nav{background:#fff;border:1px solid #d7e4df;border-radius:14px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:-.4rem 0 0;padding:.45rem;display:grid;box-shadow:0 12px 36px #173b320d}.dashboard-nav a{color:#527069;text-align:center;border-radius:10px;padding:.8rem 1rem;font-weight:750;text-decoration:none}.dashboard-nav a:hover{color:#176d5c;background:#edf7f3}.dashboard-nav a.active{color:#fff;background:#176d5c}.dashboard>.card{grid-column:1/-1}.empty-page{text-align:center;align-content:center;justify-items:center;min-height:320px;display:grid}.empty-page h3{margin:.35rem 0 .65rem;font-size:1.5rem}.student-header{position:relative}.account-menu{flex:none;position:relative}.account-menu summary{color:#12342f;cursor:pointer;background:#fff;border:1px solid #b9cdc6;border-radius:999px;align-items:center;gap:.65rem;padding:.55rem .75rem;font-weight:700;list-style:none;display:flex}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:"";border-bottom:2px solid #527069;border-right:2px solid #527069;width:.45rem;height:.45rem;margin-left:.15rem;transform:rotate(45deg)translateY(-2px)}.account-menu[open] summary{border-color:#27816e;box-shadow:0 0 0 3px #4fb69e25}.user-avatar{color:#176d5c;background:#dcece6;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;display:inline-grid}.user-avatar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.25rem;height:1.25rem}.account-menu-panel{z-index:10;background:#fff;border:1px solid #d7e4df;border-radius:12px;min-width:220px;padding:.45rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 45px #173b3225}.account-menu-panel a,.account-menu-panel button{text-align:left;border-radius:8px;margin:0;padding:.75rem .85rem;text-decoration:none}.account-menu-panel a:hover,.account-menu-panel button:hover{background:#edf7f3}.account-menu-panel button{color:#9f2020;background:0 0}.profile-page{max-width:980px}.profile-card{grid-column:1/-1;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:2rem 3rem;display:grid}.profile-avatar{color:#627a74;text-align:center;justify-items:center;gap:.8rem;font-size:.9rem;display:grid}.user-avatar.large{width:7rem;height:7rem}.user-avatar.large svg{stroke-width:1.35px;width:4.3rem;height:4.3rem}.profile-card dl{margin:0;display:grid}.profile-card dl>div{border-bottom:1px solid #d7e4df;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:1rem;padding:1rem 0;display:grid}.profile-card dt{color:#627a74;font-weight:700}.profile-card dd{overflow-wrap:anywhere;margin:0;font-weight:750}.status-active{color:#176d5c;background:#e5f5ef;border-radius:999px;padding:.3rem .65rem;font-size:.88rem;display:inline-block}.back-link{grid-column:2;justify-self:start}@media (width<=820px){.student-header{flex-direction:row!important}.student-header h2{font-size:clamp(1.5rem,7vw,2.2rem)}.account-menu summary span{display:none}.profile-card{grid-template-columns:1fr}.profile-card dl,.back-link{grid-column:1}.profile-card dl>div{grid-template-columns:1fr;gap:.35rem}}@media (width<=560px){.dashboard-nav{grid-template-columns:1fr}.dashboard-nav a{text-align:left}}.practice-controls{grid-template-columns:1fr 1.5fr auto;align-items:end;gap:.75rem;display:grid}.practice>h3,.wrong>h3{margin:.35rem 0 1.8rem;font-size:1.5rem;line-height:1.3}.practice select{font:inherit;background-color:#fff;border:1px solid #b9cdc6;border-radius:10px;padding:.8rem}.question{border-top:1px solid #d7e4df;margin-top:2rem;padding-top:1.5rem}.question-navigation{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-bottom:1.5rem;display:grid}.question-navigation strong{text-align:center;font-size:1rem}.question-navigation button{margin:0}.question-title{white-space:pre-line;margin:1rem 0;font-size:1.15rem;font-weight:400;line-height:1.5}.question-content{min-width:0}.question-media{margin:1.25rem 0}.question-media img{object-fit:contain;background:#fff;border:1px solid #d3e0db;border-radius:8px;width:auto;max-width:100%;max-height:560px;display:block}.question-media figcaption{color:#627a74;margin-top:.45rem;font-size:.85rem}.options{gap:.7rem;margin:1.4rem 0;display:grid}.options label{cursor:pointer;border:1px solid #d3e0db;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;padding:1rem;font-weight:400;display:grid}.options label strong{font-weight:800}.options label.selected{background:#edf7f3;border-color:#27816e}.options label.answer-correct{color:#115f4f;background:#dff4e9;border-color:#27816e;box-shadow:inset 4px 0 #27816e}.options label.answer-incorrect{color:#922b2b;background:#fff0f0;border-color:#d95c5c;box-shadow:inset 4px 0 #c83d3d}.options input{width:auto;margin:.25rem .8rem 0 0}.practice-actions{align-items:center;gap:1rem;display:flex}.correct{color:#176d5c;font-weight:800}.incorrect{color:#a23232;font-weight:800}@media (width<=820px){.practice-controls{grid-template-columns:1fr}.practice-actions{flex-direction:column;align-items:stretch}.question-navigation{grid-template-columns:1fr 1fr}.question-navigation strong{grid-area:1/1/auto/-1}.question-navigation button{grid-row:2}}.translation{color:#315f56;white-space:pre-line;border-left:3px solid #74b7a6;padding-left:1rem;line-height:1.55}.option-translation{color:#526e67;margin-top:.45rem;font-weight:500;display:block}.question figure{margin:1.25rem 0}.question figure img{border:1px solid #d3e0db;border-radius:12px;max-width:100%;max-height:520px;display:block}.question figcaption{color:#627a74;margin-top:.45rem;font-size:.9rem}.media-link{margin:.8rem 0;display:block}.support-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.support-actions button,.explanation-panel button{margin-top:0}.explanation-panel{background:#f5faf8;border-radius:12px;margin-top:1.4rem;padding:1rem}.explanation-panel p{white-space:pre-line}.explanation-tab-list{border-bottom:1px solid #cfe0da;gap:.5rem;margin-bottom:.8rem;padding-bottom:.65rem;display:flex}.explanation-tab-list button{text-transform:lowercase;min-width:64px;margin:0;padding:.45rem .8rem}.explanation-tab-list button.active{color:#fff;background:#167b67}.explanation-tab-content p{white-space:pre-line;margin:0;line-height:1.55}.wrong-filters{gap:.75rem;margin-bottom:1rem;display:flex}.wrong select{font:inherit;background-color:#fff;border:1px solid #b9cdc6;border-radius:10px;padding:.8rem}.wrong-grid{gap:.7rem;display:grid}.review-pagination{color:#627a74;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;font-size:.9rem;display:flex}.review-pagination>div{align-items:center;gap:.75rem;display:flex}.review-pagination button{width:auto}.review-page-arrow{min-width:36px;height:36px;margin:0;padding:0;font-size:1.1rem;line-height:1;width:36px!important}.wrong-item{text-align:left;color:#173b32;background:#f5faf8;border:1px solid #d7e4df;grid-template-columns:80px 1fr;gap:.35rem 1rem;margin:0;font-weight:400;display:grid}.wrong-item>span{font-weight:400}.wrong-item small{color:#627a74;grid-column:2;font-weight:400}.wrong-detail{border-top:1px solid #d7e4df;margin-top:1.5rem;padding-top:1.5rem}.wrong-detail-title{white-space:pre-line;font-weight:400}.wrong-explanation{white-space:pre-line}.review-options p{border:1px solid #d7e4df;border-radius:8px;padding:.8rem}.review-options .review-correct{background:#e8f6f1;border-color:#4da88f}@media (width<=820px){.wrong-filters{flex-direction:column}.wrong-item{grid-template-columns:1fr}.wrong-item small{grid-column:1}.review-pagination{flex-direction:column;align-items:stretch}.review-pagination>div{justify-content:space-between}}.mock-start>h3,.mock-result>h3{margin:.35rem 0 1.5rem;font-size:1.5rem}.mock-start select{width:100%;font:inherit;background-color:#fff;border:1px solid #b9cdc6;border-radius:10px;padding:.85rem;font-weight:400}.mock-info-grid{grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0;display:grid}.mock-info{background:#edf8f4;border:1px solid #b8d9cf;border-radius:14px;padding:1.2rem}.mock-info.strategy{background:#fff9e8;border-color:#e2d39b}.mock-info h4{margin:0 0 .75rem}.mock-info ul{gap:.45rem;margin:0;padding-left:1.2rem;line-height:1.45;display:grid}.mock-hint-choice{grid-template-columns:none;align-items:center;gap:.65rem;margin:1rem 0;font-weight:600;display:flex}.mock-hint-choice input{width:auto}.mock-exam-shell{grid-column:1/-1;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.mock-sidebar{border-radius:16px;padding:1.2rem;position:sticky;top:1rem}.mock-timer{color:#fff;background:#123f37;border-radius:12px;justify-items:center;gap:.25rem;margin-bottom:1rem;padding:.8rem;display:grid}.mock-timer small{color:#cbe1da}.mock-timer strong{font-variant-numeric:tabular-nums;font-size:1.65rem}.question-index{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.question-index button{aspect-ratio:1;border:2px solid #0000;border-radius:50%;place-items:center;margin:0;padding:0;font-size:.82rem;display:grid}.question-index button.unanswered{color:#526e67;background:#e5e9e7}.question-index button.answered{color:#fff;background:#45a889}.question-index button.marked{color:#4d3900;background:#e6bd45}.question-index button.current{border-color:#12342f;box-shadow:inset 0 0 0 2px #fff}.mock-legend{color:#526e67;gap:.35rem;margin:1rem 0;font-size:.78rem;display:grid}.mock-submit{background:#176d5c;width:100%;margin:0}.mock-cancel{background:#a23232;width:100%;margin:.6rem 0 0}.danger-button{background:#a23232}.mock-question{min-width:0;padding:2rem}.mock-media{border:1px solid #d3e0db;border-radius:12px;max-width:100%;max-height:480px;margin:1rem 0;display:block}.mock-question-actions{flex-wrap:wrap;gap:.75rem;display:flex}.mock-question-actions button{margin:0}.result-banner{color:#fff;border-radius:14px;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.result-banner.pass{background:#176d5c}.result-banner.fail{background:#a23232}.result-banner strong{font-size:2rem}.result-banner span{letter-spacing:.08em;font-size:1.4rem;font-weight:850}.result-stats{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0 2rem;display:grid}.result-stats span{text-align:center;background:#edf5f1;border-radius:10px;padding:.8rem}.mock-wrong-list{gap:.75rem;display:grid}.mock-restart{margin:0 0 1rem}.mock-wrong-list article{background:#fff8f8;border:1px solid #e2bcbc;border-radius:12px;gap:.55rem;padding:1rem;display:grid}.mock-wrong-list article>span{color:#725454}.wrong-question-link{color:#116b59;text-align:left;background:0 0;border-radius:0;width:fit-content;margin:0;padding:0;text-decoration:underline}.wrong-detail-modal{width:min(760px,100%);max-height:calc(100vh - 2rem);position:relative;overflow-y:auto}.wrong-detail-modal>.review-options{grid-template-columns:1fr;justify-content:stretch;gap:.65rem;display:grid}.wrong-detail-modal>.review-options p{width:100%;margin:0;line-height:1.5}.exam-modal.self-review-detail-modal{text-align:left;width:min(1100px,100vw - 2rem)}.self-review-detail-modal>.eyebrow{padding-right:2.5rem}.self-review-detail-modal>#self-review-detail-title{text-align:left;display:block}.self-review-detail-modal .question-media{width:65%;margin:1.25rem auto}.self-review-detail-modal .question-media img{max-height:420px}.detail-close{color:#526e67;background:0 0;margin:0;padding:.2rem .55rem;font-size:1.6rem;font-weight:400;position:absolute;top:.75rem;right:.85rem}.review-options .review-incorrect{background:#fff0f0;border-color:#d95c5c}.exam-modal-backdrop{z-index:30;background:#0c2923aa;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.exam-modal{background:#fff;border-radius:16px;width:min(520px,100%);padding:1.5rem;box-shadow:0 25px 80px #09231daa}.exam-modal h3{margin-top:0}.exam-modal>div{justify-content:flex-end;gap:.75rem;display:flex}.exam-modal button{margin:0}@media (width<=820px){.mock-info-grid,.mock-exam-shell{grid-template-columns:1fr}.mock-sidebar{position:static}.question-index{grid-template-columns:repeat(8,1fr)}.result-stats{grid-template-columns:1fr 1fr}}@media (width<=560px){.question-index{grid-template-columns:repeat(5,1fr)}.mock-question{padding:1.25rem}.result-stats{grid-template-columns:1fr}.exam-modal>div{flex-direction:column-reverse}.exam-modal button,.self-review-detail-modal .question-media{width:100%}}.question-meta-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.question-meta-row .muted{margin:0}.save-question-button{white-space:nowrap;padding:.3rem .55rem;font-size:.75rem;font-weight:400}.save-toast{z-index:40;color:#fff;background:#18794e;border:1px solid #68c295;border-radius:12px;max-width:min(420px,100vw - 2rem);margin:0;padding:.9rem 1.1rem;font-weight:700;position:fixed;top:4.75rem;right:1.5rem;box-shadow:0 14px 34px #17332735}@media (width<=560px){.save-toast{max-width:none;top:4.5rem;left:1rem;right:1rem}}.review-tabs{border-bottom:1px solid #cfe0da;gap:.65rem;margin:1rem 0 1.25rem;padding-bottom:.75rem;display:flex}.review-tabs button{min-width:140px}.review-tabs button.active{color:#fff;background:#167b67}
