body[data-view="session"],body[data-view="game"]{background:radial-gradient(ellipse at top right,#eee4ff,transparent 48%),#f8f6f2}
body[data-view="session"] .shell{display:block}
body[data-view="session"] .sidebar,body[data-view="session"] .topbar,body[data-view="session"] .network-footer{display:none}
body[data-view="session"] main,body[data-view="game"] main{max-width:1250px;padding:24px 30px 36px}
.practice-view{max-width:none!important}
.practice-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}
.play-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#352447;font-size:1.25rem;font-weight:850}
.play-brand img{width:38px;height:38px}
.practice-top .secondary{background:white;border:1px solid #e5dcec;font-size:.85rem}
.practice-title{display:flex;align-items:center;gap:10px;margin:0}
.practice-title h2{font-size:1.1rem;margin:0;color:#4d3861}
.mode-badge{font-size:.72rem;font-weight:800;background:#eee4fb;color:#7d52b2;padding:5px 10px;border-radius:99px}
.practice-layout{display:grid;grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:22px;align-items:start}
.practice-sidebar{border:1px solid #e6dced;border-radius:20px;background:#fffc;overflow:hidden}
.practice-sidebar>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 19px;border-bottom:1px solid #eee6f4}
.practice-sidebar h3{font-size:1rem;margin:0;color:#514061}
.practice-sidebar header span{font-size:.75rem;color:#927da2;white-space:nowrap}
.practice-word-list{list-style:none;padding:8px;margin:0;max-height:480px;overflow-y:auto;scrollbar-width:thin}
.practice-word{position:relative;display:flex;align-items:center;gap:10px;padding:10px 11px;min-height:43px;border-radius:9px;margin:2px 0;color:#6f607d;font-size:.92rem}
.practice-word strong{font-weight:650;overflow-wrap:anywhere;flex:1;min-width:0}
.practice-word.current{background:#eee5fc;outline:1px solid #e4d2fa;color:#543687}
.word-result{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:7px;background:#f1edf5;color:#a495b3;font-weight:850;font-size:1rem}
.practice-word.remembered .word-result{background:#dff3e7;color:#2b8660}
.practice-word.missed .word-result{background:#ffebe7;color:#c35f55}
.current-dot{width:6px;height:6px;border-radius:50%;background:#9e78d6}
.practice-tools{display:grid;gap:9px;padding:15px;border-top:1px solid #eee6f4;background:#fcfaff}
.practice-tools button{font-size:.85rem;min-height:43px;border-radius:10px;padding:10px 12px;text-align:left;font-weight:750}
.practice-tools .add-words{background:#eee4fb;color:#6f459f;border:1px solid #e2d3f4}
.practice-tools .repeat-words{background:#fff0e4;color:#a96735;border:1px solid #f4d9bd}
.practice-tools .quiz-link{background:none;color:#897396;font-weight:650;text-align:center;font-size:.78rem}
.practice-main{min-width:0}
.practice-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85rem;color:#82718d;margin:0 1px 10px}
.practice-status strong{color:#68517d;font-weight:700}
.practice-meter{display:block;width:100%;height:7px;appearance:none;border:0;background:#e8deef;border-radius:99px;overflow:hidden;margin-bottom:19px}
.practice-meter::-webkit-progress-bar{background:#e8deef;border-radius:99px}
.practice-meter::-webkit-progress-value{background:#a583d8;border-radius:99px}
.practice-meter::-moz-progress-bar{background:#a583d8;border-radius:99px}
.memory-card{position:relative;border:1px solid #e5d9ee;border-radius:24px;background:#fff;padding:29px clamp(23px,4vw,45px);text-align:center;min-height:410px;box-shadow:0 12px 35px #51336106}
.memory-card .card-topic{color:#9c82b1;font-size:.73rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;margin:0}
.memory-card h2{font-size:clamp(2.15rem,4.1vw,3.5rem);color:#3a284c;margin:28px 0 18px;line-height:1.15;overflow-wrap:anywhere}
.memory-card .card-hint{font-size:.9rem;color:#97879f;margin:8px 0 17px}
.pronounce-word{background:#f6f0fc;color:#9072a8;border-radius:99px;font-size:.8rem;padding:7px 12px;margin-bottom:7px}
.memory-answer{margin:20px auto 0;padding-top:19px;border-top:1px solid #eee5f4}
.memory-answer .meaning{font-size:1.55rem;font-weight:700;color:#654286;white-space:pre-wrap;margin:0 0 9px}
.memory-answer .example{font-size:.96rem;line-height:1.6;color:#8c7b98;white-space:pre-wrap;margin:0}
.memory-reveal{display:block;width:min(100%,330px);margin:25px auto 0;padding:15px 20px;background:#7046cf;box-shadow:0 4px 0 #532caa;color:#fff;border-radius:12px;font-weight:800}
.memory-recall{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-width:510px;margin:25px auto 0}
.memory-recall button{padding:14px 10px;border:1px solid;border-radius:12px;font-weight:800;min-height:54px}
.memory-recall .miss{background:#fff0ea;border-color:#f4d5c8;color:#b6644a}
.memory-recall .know{background:#e7f5ee;border-color:#bfe3d1;color:#2e7c5a}
.memory-recall button:hover{filter:brightness(.97)}
.memory-feedback{min-height:24px;text-align:center;font-size:.83rem;color:#97829f;margin:12px 0 0}
.practice-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:17px}
.practice-counts>div{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e8deef;background:#fffa;border-radius:12px;padding:12px 6px;font-size:.78rem;color:#927ba1}
.practice-counts strong{font-size:1.2rem;color:#69517d}
.practice-counts .remembered strong{color:#378763}
.practice-counts .missed strong{color:#bd7654}
.practice-complete{text-align:center;min-height:410px;padding:30px 25px;background:#fff;border:1px solid #e5d9ee;border-radius:24px}
.practice-complete img{height:145px;width:145px;object-fit:contain;margin:0 auto 14px}
.practice-complete h2{font-size:1.7rem;color:#63457e}
.practice-complete p{color:#9785a3;font-size:.9rem}
.practice-complete strong{color:#795c95}
body[data-view="game"] .session-view{max-width:880px}
body[data-view="game"] #soloContent{padding:30px;border-radius:24px;border-color:#e5d9ee;box-shadow:0 12px 35px #51336106}
body[data-view="game"] .question h2{font-size:clamp(2rem,4vw,3.4rem);color:#3a284c;margin:23px 0}
body[data-view="game"] .choices{counter-reset:answer}
body[data-view="game"] .choices button{counter-increment:answer;min-height:85px;font-weight:750;border-radius:15px;border-width:2px;background:#fff3ed;border-color:#f0d7c9;color:#a76243}
body[data-view="game"] .choices button::before{content:counter(answer);display:inline-grid;place-items:center;width:25px;height:25px;margin-right:12px;border:1px solid currentColor;border-radius:7px;font-size:.8rem;opacity:.7}
body[data-view="game"] .choices button:nth-child(2){background:#f3ecff;border-color:#dfcff3;color:#8156b6}
body[data-view="game"] .choices button:nth-child(3){background:#e9f4ef;border-color:#c7e3d4;color:#3c8167}
body[data-view="game"] .choices button:nth-child(4){background:#eef4fc;border-color:#d1dff0;color:#557fa8}
.quiz-mode-caption{color:#977faa;font-size:.85rem;margin-bottom:0}
.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0 0 22px}.mode-options article{border:1px solid #e6d8f2;border-radius:13px;padding:19px;background:#fcf9ff}.mode-options h3{color:#735490;font-size:1rem}.mode-options p{color:#8b739b;font-size:.86rem;line-height:1.6}.mode-options .secondary{background:#eee4fb;color:#745296;font-size:.82rem}
@media(max-width:650px){.mode-options{grid-template-columns:1fr}}
@media(max-width:900px){.practice-layout{grid-template-columns:230px minmax(0,1fr);gap:16px}.practice-title .mode-badge{display:none}.practice-counts{gap:7px}.practice-counts>div{flex-direction:column;gap:0}}
@media(max-width:650px){body[data-view="session"] main,body[data-view="game"] main{padding:16px 15px 28px}.practice-top{gap:10px;margin-bottom:19px;flex-wrap:wrap}.practice-title{order:3;width:100%;justify-content:center}.practice-title h2{font-size:.95rem}.practice-top .secondary{font-size:.78rem;padding:8px 11px}.play-brand{font-size:1.12rem}.play-brand img{width:32px;height:32px}.practice-layout{display:flex;flex-direction:column;gap:14px}.practice-sidebar{width:100%;order:2}.practice-main{width:100%;order:1}.practice-word-list{max-height:220px;display:grid;grid-template-columns:1fr 1fr;padding:9px}.practice-word{font-size:.82rem;padding:8px;min-height:42px;gap:7px}.practice-tools{grid-template-columns:1fr 1fr;padding:12px;gap:8px}.practice-tools .quiz-link{grid-column:1/-1}.practice-tools button{font-size:.78rem}.memory-card{min-height:325px;padding:24px 21px}.memory-card h2{font-size:2.15rem;margin:21px 0 16px}.memory-answer .meaning{font-size:1.35rem}.memory-recall{gap:9px;margin-top:19px}.memory-recall button{font-size:.86rem;min-height:50px}.memory-reveal{margin-top:21px}.practice-counts{margin-top:13px}.practice-counts>div{padding:8px 4px;font-size:.73rem}.practice-complete{min-height:325px;padding:24px 21px}.practice-complete img{height:115px;width:115px}.practice-complete h2{font-size:1.5rem}body[data-view="game"] #soloContent{padding:23px 18px}body[data-view="game"] .choices button{min-height:65px}}
