.context-page{max-width:850px}.context-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.context-card>p{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 26px;max-width:590px}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.context-field{display:grid;gap:7px}.context-field label{font-size:11px;font-weight:800}.context-field input{border:1px solid var(--line);border-radius:10px;background:#fbfbf8;color:var(--ink);padding:11px;outline-color:var(--blue)}.context-field small{color:var(--muted);font-size:10px;line-height:1.4}.context-tags{display:flex;flex-wrap:wrap;gap:7px;padding-top:2px}.context-tags span{background:#eef2ff;color:#375dbe;border-radius:20px;padding:6px 9px;font-size:11px}.context-consent{display:flex;align-items:flex-start;gap:9px;background:#f5f4ff;border-radius:12px;padding:13px;margin-top:22px;font-size:11px;line-height:1.5;color:#565278}.context-consent input{accent-color:var(--blue);margin-top:2px}.context-save{margin-top:20px;background:var(--blue);color:white}@media(max-width:800px){.context-grid{grid-template-columns:1fr}.context-card{padding:21px}}
body.dark{--ink:#e8eef9;--muted:#aab7cc;--paper:#101827;--card:#182235;--line:#2b3951;--blue:#6f95ff;--lime:#c8ed64;--orange:#ffc26d;--purple:#a899ff;--green:#6ed09b;--red:#f18e88;--shadow:0 16px 42px rgba(0,0,0,.3)}
body.dark .side{background:#131d2d}body.dark .side-bottom,body.dark .memory-stats,body.dark .goal-stat{border-color:var(--line)}body.dark .language,body.dark .pill,body.dark .option,body.dark .chat-history{background:#202c40}body.dark .nav button{color:#aab7cc}body.dark .nav button.active,body.dark .nav button:hover{background:#24375d;color:#91afff}body.dark button,body.dark input,body.dark textarea,body.dark select{color:var(--ink)}body.dark .icon-btn,body.dark .sound{background:#202c40;border-color:var(--line);color:var(--ink)}body.dark .btn-primary{color:#14253e}body.dark .mobile-nav{background:#131d2d;border-color:var(--line)}body.dark .memory-hero{background:#0c1422}body.dark .ai-tip{background:#242142;border-color:#3c376d;color:var(--ink)}body.dark .ai-tip p,body.dark .memory-callout{color:#d0cef1}body.dark .memory-callout{background:#242142;border-color:#3c376d}body.dark .chat-layout,body.dark .chat-main{background:var(--card)}body.dark .message.bot{background:#29254a;color:#e5e0ff}body.dark .context-field input,body.dark input,body.dark textarea,body.dark select{background:#202c40;color:var(--ink);border-color:var(--line)}body.dark .mini-example,body.dark .coach-modal{background:#202c40;border-color:var(--line);color:var(--ink)}body.dark .coach-answer{background:#29254a;color:#eeeaff}body.dark .auth-card{background:#182235;color:var(--ink)}body.dark .auth-card input,body.dark .auth-card select{background:#202c40;color:var(--ink)}.theme-toggle{font-size:16px;transition:transform .2s}.theme-toggle:hover{transform:rotate(18deg)}@media(max-width:800px){.top-actions .theme-toggle{display:grid}}
body.dark .quick,body.dark .chat-history button:first-of-type,body.dark .modes button:first-child,body.dark .memory-actions .btn:nth-child(2),body.dark button[style*="background:#e9efff"]{background:#263b60!important;color:#dbe7ff!important}body.dark button[style*="background:#f0effe"]{background:#332d61!important;color:#e9e4ff!important}body.dark .btn-white{background:#263b60;color:#e1eaff}body.dark .context-tags span{background:#263b60;color:#dbe7ff}body.dark .context-consent{background:#29254a;color:#e7e2ff}body.dark .rating button:nth-child(1){color:#ffaaa5}.dark .rating button:nth-child(2){color:#ffd08c}.dark .rating button:nth-child(3){color:#8ce0b8}.dark .rating button:nth-child(4){color:#9db9ff}.dark .auth-brand,.dark .auth-card label{color:#edf3ff}.dark .auth-card p{color:#b9c6db}.dark .auth-switch{color:#a9c0ff}.dark .option:hover{background:#263b60!important}.theme-toggle{font-size:16px;transition:transform .2s}.theme-toggle:hover{transform:rotate(18deg)}@media(max-width:800px){.top-actions .theme-toggle{display:grid}}
body.soft-ui{--radius:28px;--soft-border:#d8e1ee;--shadow:10px 10px 22px rgba(34,54,82,.12),-8px -8px 20px rgba(255,255,255,.82);background:radial-gradient(circle at 12% 8%,#fff 0,#f4f5f1 42%,#ecefea 100%)}body.soft-ui.dark{--soft-border:#3a4b67;--shadow:10px 10px 24px rgba(0,0,0,.38),-7px -7px 18px rgba(51,68,96,.22);background:radial-gradient(circle at 12% 8%,#1e2b40 0,#101827 58%)}body.soft-ui .side,body.soft-ui .goal,body.soft-ui .practice-card,body.soft-ui .attention,body.soft-ui .ai-tip,body.soft-ui .card-face,body.soft-ui .exercise-card,body.soft-ui .metric,body.soft-ui .chart-card,body.soft-ui .skills-card,body.soft-ui .talk-card,body.soft-ui .memory-profile,body.soft-ui .memory-timeline,body.soft-ui .context-card{border-color:var(--soft-border);box-shadow:var(--shadow)}body.soft-ui .btn,body.soft-ui .rating button,body.soft-ui .option,body.soft-ui .icon-btn,body.soft-ui .quick{border:1px solid var(--soft-border);box-shadow:5px 5px 12px rgba(29,48,74,.12),-4px -4px 10px rgba(255,255,255,.72)}body.soft-ui.dark .btn,body.soft-ui.dark .rating button,body.soft-ui.dark .option,body.soft-ui.dark .icon-btn,body.soft-ui.dark .quick{box-shadow:5px 5px 12px rgba(0,0,0,.32),-4px -4px 10px rgba(55,72,100,.18)}body.soft-ui .btn:active,body.soft-ui .rating button:active,body.soft-ui .option:active,body.soft-ui .icon-btn:active{transform:translate(2px,2px);box-shadow:inset 3px 3px 7px rgba(29,48,74,.14)}
.auth-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#14253e 0%,#2452c6 58%,#7765d8 100%)}.auth-card{width:min(100%,440px);padding:36px;background:#fffefa;border-radius:24px;box-shadow:0 26px 70px #07152e66}.auth-brand{font:800 23px Manrope,sans-serif;color:#14253e;margin-bottom:28px}.auth-brand span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:9px;background:#2452c6;color:#fff;font-size:16px}.auth-card h1{font-size:32px;margin:0 0 8px}.auth-card p{color:#718098;line-height:1.55;margin:0 0 24px}.auth-card label{display:block;margin:13px 0 6px;font:700 12px Manrope,sans-serif;color:#14253e}.auth-card [hidden]{display:none!important}.auth-card input,.auth-card select{width:100%;border:1px solid #e6e7df;border-radius:10px;padding:12px;background:#fff;font:14px Manrope,sans-serif}.auth-card .auth-submit{width:100%;margin-top:20px;background:#d8f45d;color:#14253e}.auth-switch{width:100%;margin-top:12px;background:none;color:#2452c6;font-weight:800}.auth-login-note{padding:11px 13px;border-radius:10px;background:#eef3ff;color:#3657a8;font-size:11px;line-height:1.5;margin:8px 0 18px}.auth-error{min-height:20px;margin-top:12px;color:#bf453e;font-size:12px}
/* Comfortable reading scale for the learning workspace. The compact side navigation is intentionally excluded. */
.main{font-size:16px;line-height:1.55}.main .eyebrow{font-size:11px;letter-spacing:1.3px}.main .section-title{font-size:19px}.main .continue p{font-size:15px;line-height:1.6}.main .btn{font-size:15px}.main .practice-card h3{font-size:16px}.main .practice-card p{font-size:13.5px;line-height:1.6}.main .word-row{font-size:14px}.main .word-row b{font-size:13px}.main .ai-tip p{font-size:14px;line-height:1.65}.main .text-link{font-size:14px}.main .word-type,.main .flip-note,.main .forms{font-size:12px}.main .definition{font-size:15px;line-height:1.55}.main .example span{font-size:13px}.main .rating button{font-size:14px}.main .ai-explain button{font-size:14px}.main .mini-example{font-size:14px;line-height:1.6}.main .question{font-size:27px}.main .option{font-size:15px}.main .result-box{font-size:14px;line-height:1.6}.main .message{font-size:14px;line-height:1.65}.main .chat-history h3{font-size:14px}.main .chat-history button,.main .modes button,.main .quick-actions button{font-size:12px}.main .metric span,.main .skill-row{font-size:13px}.main .bar label{font-size:11px}.main .timeline-item,.main .memory-callout{font-size:14px}.main .timeline-item small,.main .memory-stats span,.main .memory-status{font-size:11px}.main .context-card>p{font-size:14px}.main .context-field label{font-size:13px}.main .context-field small,.main .context-tags span,.main .context-consent{font-size:12px}.main input,.main textarea,.main select{font-size:15px}@media(max-width:800px){.main{font-size:15px}.main .section-title{font-size:18px}.main .question{font-size:23px}.main .practice-card p{font-size:13px}}
