.grammar{--g-accent:#ffd399;--g-purple:#c3b7ff}.grammar [hidden]{display:none!important}.g-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 17px;border:1px solid #455574;border-radius:10px;background:#1b2940;color:var(--text);font:inherit;font-size:12px;line-height:1.7;text-decoration:none;cursor:pointer}.g-button:hover:not(:disabled){border-color:var(--g-accent)}.g-button:disabled{opacity:.45;cursor:default}.g-primary{background:var(--g-accent);color:#1e2538;border-color:var(--g-accent);font-weight:700}.g-quiet{background:transparent}.g-danger{color:#ffb8c5;border-color:#895669}.g-panel{padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--card);margin-bottom:22px}.g-panel h2{font-size:21px;line-height:1.6;margin:0 0 16px;letter-spacing:-.5px}.g-muted{color:#9aaac4;font-size:12px;line-height:1.9}.g-badge{display:inline-flex;padding:6px 10px;border:1px solid #ffd39933;border-radius:20px;background:#ffd3990b;color:var(--g-accent);font-size:10px;line-height:1.6;white-space:normal}.g-actions,.g-spread{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.g-spread{justify-content:space-between}.g-actions{margin-top:20px}.g-tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.g-tabs a[aria-current],.g-tabs button[aria-pressed=true]{border-color:var(--g-accent);color:var(--g-accent);background:#ffd3990d}.g-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.g-filters label{flex:1 1 180px}.grammar label{display:grid;gap:8px;color:#aebbd1;font-size:12px;line-height:1.8}.grammar input,.grammar select,.grammar textarea{box-sizing:border-box;min-width:0;width:100%;border:1px solid #3c4e6b;border-radius:9px;background:#0d1525;color:var(--text);padding:11px;font:inherit;font-size:13px;line-height:1.8}.grammar textarea{resize:vertical}.grammar :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--g-accent);outline-offset:4px}.g-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.g-progress>div{padding:20px;border:1px solid var(--border);border-radius:13px;background:#141e30}.g-progress span{display:block;color:#9aaac4;font-size:11px;margin-bottom:10px}.g-progress strong{font-size:26px;color:var(--g-accent);font-variant-numeric:tabular-nums}.g-question h2{font-size:18px;margin:18px 0}.g-prompt{font-size:25px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:25px 0}.g-options{display:grid;gap:12px;margin:0 0 22px;padding:0;border:0}.g-options label{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #354561;border-radius:11px;cursor:pointer;background:#10192a;color:#e3eafa;font-size:15px}.g-options input{flex:0 0 18px;width:18px;height:18px;margin:4px 0 0;accent-color:var(--g-accent)}.g-options .g-correct{border-color:#7ed7ae;background:#9bf6cf0c}.g-options .g-wrong{border-color:#e78da0;background:#ff829a0c}.g-options .g-option-letter{color:#93a3bf;font-size:12px;flex-shrink:0;margin-top:2px}.g-options .g-option-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.g-feedback{margin-top:25px;padding:24px;border:1px solid #7ed7ae66;border-radius:12px;background:#9bf6cf06;line-height:1.95}.g-feedback.g-answer-wrong{border-color:#e78da066;background:#ff829a06}.g-feedback h3{font-size:17px;margin:0 0 15px}.g-feedback p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.g-explanation-option{padding:12px 0;border-top:1px solid #6f829333;color:#b5c2d8;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.g-answer-title{color:var(--mint)}.g-answer-wrong .g-answer-title{color:#ffb4c2}.g-empty{padding:36px;text-align:center;color:#aebbd1;line-height:1.9}.g-theory-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:24px;align-items:start}.g-theory-list{display:grid;gap:12px}.g-theory-card{padding:21px;border:1px solid #344360;border-radius:13px;background:#111b2c;cursor:pointer;text-align:left}.g-theory-card[aria-pressed=true]{border-color:var(--g-accent);background:#ffd39909}.g-theory-card h2{font-size:17px;line-height:1.7;margin:14px 0 10px}.g-theory-card p{font-size:12px;line-height:1.9;color:#9aabc6;margin:0}.g-reading h2{font-size:25px;overflow-wrap:anywhere;margin-top:20px}.g-prose{font-size:14px;line-height:2.15;white-space:pre-wrap;overflow-wrap:anywhere;color:#cfdaeb}.g-reading .g-summary{color:var(--g-accent);font-size:13px;line-height:1.9;border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:24px}.g-form{display:grid;gap:19px}.g-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.g-form fieldset{padding:0;border:0;display:grid;gap:19px;min-width:0;margin:0}.g-form legend{font-size:14px;font-weight:600;padding:0 0 16px;color:#d9e2f4}.g-form .g-check{display:flex;align-items:center;gap:10px}.g-check input{width:18px;height:18px;accent-color:var(--g-accent);margin:0}.g-status{padding:15px 18px;background:#bdd2ff09;border:1px solid #7793b14d;border-radius:10px;font-size:12px;line-height:1.9;white-space:pre-wrap;margin:0 0 22px}.g-admin-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}.g-admin-row{border-top:1px solid var(--border);padding:18px 0}.g-admin-row h3{font-size:15px;line-height:1.8;margin:9px 0;white-space:pre-wrap;overflow-wrap:anywhere}.g-admin-row .g-actions{margin-top:12px}.g-admin-row .g-button{padding:7px 12px;min-height:36px;font-size:11px}.g-admin-list{max-height:950px;overflow:auto}.g-hint{color:#9daec8;font-size:11px;line-height:1.9}.g-form-divider{border:0;border-top:1px solid var(--border);margin:0}.grammar .category-card .availability{margin:0 0 22px}.grammar .footer a{color:#a4b2cb;text-decoration:none}.grammar .category-symbol{color:var(--g-accent);background:#ffd39912}.g-error{color:#ffb4c2}@media(max-width:800px){.g-admin-layout,.g-theory-grid{grid-template-columns:minmax(0,1fr)}.g-theory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.g-admin-list{max-height:550px}}@media(max-width:600px){.g-panel{padding:22px 18px}.g-form-grid,.g-theory-list{grid-template-columns:minmax(0,1fr)}.g-progress{gap:9px}.g-progress>div{padding:15px 12px}.g-progress strong{font-size:23px}.g-prompt{font-size:21px}.g-feedback{padding:18px}.g-reading h2{font-size:23px}.g-prose{font-size:13px}.g-actions>.g-button{flex:1}.g-spread{gap:14px}.g-tabs .g-button{flex:1;white-space:nowrap}.g-filters{gap:12px}.g-filters label{flex-basis:100%}.grammar .hub-intro{padding-top:32px}}
.g-audio-settings{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}.g-audio-settings .g-check{display:flex;align-items:center;gap:8px;font-size:11px}.g-audio-settings .g-hint{flex-basis:100%;margin:0}.g-audio-settings .g-hint:empty{display:none}.g-correct-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px 30px 0;border:1px solid #eb879c99;border-radius:23px;color:#fff0f3;background:radial-gradient(ellipse at 50% 0,#cf516544,transparent 62%),#28141f;box-shadow:0 24px 110px #0009;text-align:center}.g-correct-dialog::backdrop{background:#090a15bf;backdrop-filter:blur(5px)}.g-correct-eyebrow{font-size:8px;letter-spacing:1.7px;color:#f4a0b2}.g-correct-x{display:grid;place-items:center;width:33px;height:33px;border:1px solid #b9718359;border-radius:50%;background:#e899aa0c;color:#ffcbd6;font-size:22px;line-height:1;padding:0}.g-correct-icon{display:grid;place-items:center;width:64px;height:64px;margin:15px auto 22px;border:1px solid #f19aab8a;background:#ee849823;border-radius:20px;color:#ffb2c4;font-size:36px;box-shadow:0 0 46px #ed779c1c}.g-correct-dialog h2{font-size:28px;letter-spacing:-1px;color:#ffc0ce;margin:0 0 10px}.g-correct-subtitle{font-size:12px;color:#d8a5b4;line-height:1.8}.g-correct-sentence{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:25px 0 12px}.g-correct-translation{font-size:12px;color:#d6acba;line-height:1.9;margin:0 0 22px;white-space:pre-wrap;overflow-wrap:anywhere}.g-correct-dialog .g-button{background:#5a283a;border-color:#d27b9480;color:#ffe1e9}.g-correct-dialog .g-hint{color:#bd91a2;min-height:20px;font-size:10px}.g-correct-dialog :focus-visible{outline-color:#ffb4c8}.g-correct-bottom{display:flex;gap:10px;border-top:1px solid #d58ba633;padding:20px 0 23px;margin-top:20px}.g-correct-bottom .g-button{flex:1}.g-correct-bottom .g-button:last-child{background:#f6acbd;color:#3a1723;font-weight:700;border-color:#f6acbd}@media(max-width:600px){.g-correct-dialog{padding:21px 22px 0;border-radius:20px}.g-correct-sentence{font-size:23px}}@media(prefers-reduced-motion:no-preference){.g-correct-dialog[open]{animation:g-correct-arrive .22s ease-out}@keyframes g-correct-arrive{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}}
.g-school-section{margin:38px 0 42px}.g-school-section>h2{font-size:27px;letter-spacing:-.7px;margin:12px 0}.g-school-group{margin-top:28px}.g-school-group h3{font-size:18px;margin:0 0 14px}.g-school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.g-school-card{display:block;min-width:0;padding:23px;border:1px solid var(--border);border-radius:14px;background:var(--card);text-decoration:none;color:var(--text)}.g-school-card:hover{border-color:var(--g-accent);background:#ffd39909}.g-school-card h4{font-size:24px;margin:9px 0 15px}.g-school-card p{margin:0 0 16px}.g-school-enter{font-size:12px;color:var(--g-accent)}.g-level-search{max-width:480px;margin:24px 0 14px}.g-level-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.g-level-list .g-panel{margin:0;min-width:0}.g-level-list h2{margin:18px 0 12px;overflow-wrap:anywhere}.g-level-preview{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:#adbbd1}.g-school-group .g-spread{align-items:baseline}#ga-upload-panel summary{cursor:pointer;font-size:15px;color:var(--g-accent)}#ga-upload-panel>label{margin:20px 0}#ga-upload-preview{max-height:300px;overflow:auto;overflow-wrap:anywhere}@media(max-width:600px){.g-school-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.g-school-card{padding:18px 14px}.g-level-list{grid-template-columns:minmax(0,1fr)}.g-school-card h4{font-size:21px}}
