:root{font-family:Inter,system-ui,sans-serif;color:#f7f2ff;background:#0d0718;--bg:#0d0718;--panel:#171026;--panel2:#211633;--purple:#8b5cf6;--orange:#ff8a2b;--muted:#a99dbb;--line:#302442}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -20%,#321653 0,#120a22 40%,#0d0718 72%);min-height:100vh}button{font:inherit}.shell{max-width:520px;margin:auto;min-height:100vh;padding:22px 18px 96px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.12em}.title{font-size:30px;line-height:1.05;margin:5px 0 8px}.muted{color:var(--muted)}.card{background:linear-gradient(145deg,rgba(33,22,51,.94),rgba(20,13,34,.92));border:1px solid var(--line);border-radius:22px;padding:18px;margin:12px 0;box-shadow:0 16px 40px #0004}.hero{padding:22px}.btn{border:0;border-radius:16px;padding:14px 18px;font-weight:800;cursor:pointer}.primary{background:var(--orange);color:#1a0e05}.secondary{background:#2a1d40;color:#fff;border:1px solid #43305e}.row{display:flex;gap:10px}.row>*{flex:1}.progress{height:7px;background:#2b203b;border-radius:99px;overflow:hidden;margin:16px 0}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--orange))}.choice{width:100%;text-align:left;margin:7px 0}.good{border-color:#6e4aa4}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);background:#100a1ceF;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:12px 8px 18px;backdrop-filter:blur(14px)}.nav a{color:#9e91b1;text-decoration:none;font-size:12px}.nav a.active{color:var(--orange)}.pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#2a1b3f;color:#d9c8ef;font-size:12px}.quote{font-size:22px;font-weight:750;line-height:1.35}.stage{color:#cbb9e5;font-size:13px}.center{text-align:center}.bigmic{width:92px;height:92px;border-radius:50%;border:0;background:var(--orange);font-size:34px}.feedback{border-left:3px solid var(--orange)}
.status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin:-12px 0 18px}.dot{width:8px;height:8px;border-radius:50%;background:#6ee7a8}.stepper{display:flex;gap:5px;margin:12px 0 18px}.stepper i{height:5px;flex:1;background:#2b203b;border-radius:9px}.stepper i.done{background:var(--orange)}.back{background:none;border:0;color:#cbb9e5;padding:0 0 12px;cursor:pointer}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);background:#241833;border:1px solid var(--line);padding:10px 14px;border-radius:12px;font-size:13px;z-index:5}.small{font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}
.metricgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{padding:16px}.metric strong{display:block;font-size:1.55rem;margin-top:6px}.reviewList{display:grid;gap:10px}.reviewRow{display:flex;justify-content:space-between;gap:12px;align-items:center}.tiny{font-size:.78rem}.bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.bar i{display:block;height:100%;background:currentColor;border-radius:inherit}
.moduleCard{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}.moduleCard span{font-size:24px;color:var(--orange)}.input{width:100%;border:1px solid var(--line);background:#100a1c;color:#fff;border-radius:14px;padding:13px;margin:10px 0;outline:none}.area{min-height:110px;resize:vertical}.readingText{font-size:18px;line-height:1.75}.chipbox{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.chip{border:1px solid #4a3565;background:#2a1d40;color:#fff;border-radius:999px;padding:10px 12px}.answerbox{min-height:74px;border:1px dashed #604783;border-radius:16px;padding:16px;margin:14px 0;color:#ddd0ed}.full{width:100%;margin-top:8px}
.searchrow{display:flex;gap:8px}.searchrow .input{flex:1}.resultItem{cursor:pointer}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:16px}.toggle{min-width:54px}.activity{border-left:3px solid currentColor;padding-left:12px}.tiny{font-size:.78rem}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(127,127,127,.12)}
