:root{--bg: #ffffff;--bg-secondary: #f2f2f7;--text: #000000;--hint: #8e8e93;--link: #007aff;--accent: #007aff;--accent-text: #ffffff;--danger: #ff3b30;--success: #34c759;--viewport: 100dvh;--radius: 12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #17212b;--bg-secondary: #232e3c;--text: #f5f5f5;--hint: #8b9398;--link: #6ab3f3;--accent: #5288c1;--accent-text: #ffffff;--danger: #ec3942;--success: #4fce5d}}:root[data-theme=dark]{--bg: #17212b;--bg-secondary: #232e3c;--text: #f5f5f5;--hint: #8b9398;--link: #6ab3f3;--accent: #5288c1;--accent-text: #ffffff;--danger: #ec3942;--success: #4fce5d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}:focus-visible{outline:2px solid var(--link);outline-offset:2px}#root{min-height:var(--viewport)}h1{font-size:24px;margin:0 0 8px}h2{font-size:18px;margin:24px 0 8px}h3{font-size:15px;margin:20px 0 8px;color:var(--hint);text-transform:uppercase;letter-spacing:.04em}p{margin:0 0 12px}.hint{color:var(--hint);font-size:14px}.link{background:none;border:0;padding:0;color:var(--link);font:inherit;cursor:pointer}.screen,.session{display:flex;flex-direction:column;min-height:var(--viewport);padding:16px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.title-row h1{margin-bottom:0}.lang{display:flex;flex:0 0 auto;padding:2px;background:var(--bg-secondary);border-radius:10px}.lang-option{min-width:40px;min-height:32px;padding:4px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--hint);background:none;border:0;border-radius:8px;cursor:pointer}.lang-option.current{color:var(--accent-text);background:var(--accent)}.content{flex:1}.session-header{display:flex;align-items:center;margin-bottom:12px}.session-header .hint{margin-left:auto}.bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:3px;border:0;background:var(--bg-secondary)}.bar::-webkit-progress-bar{background:var(--bg-secondary)}.bar::-webkit-progress-value,.bar::-moz-progress-bar{background:var(--accent)}.question{flex:1;padding-top:16px}.question-text{font-size:19px;line-height:1.4;margin-bottom:20px}.cards,.options,.mistakes,.follow-up{list-style:none;margin:0;padding:0}.cards li,.options li{margin-bottom:10px}.card:disabled{cursor:default;opacity:.55}.card,.option{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 14px;text-align:left;font:inherit;color:var(--text);background:var(--bg-secondary);border:2px solid transparent;border-radius:var(--radius);cursor:pointer}.card{flex-direction:column;align-items:flex-start;gap:2px}.card-title{font-weight:600}.option-text>:last-child{margin-bottom:0}.option:disabled{cursor:default;opacity:1}.option.picked{border-color:var(--accent)}.option.right{border-color:var(--success)}.option.wrong{border-color:var(--danger)}.option.missed{border-color:var(--success);border-style:dashed}.box{flex:0 0 auto;width:18px;height:18px;border:2px solid var(--hint);border-radius:4px}.option.picked .box{background:var(--accent);border-color:var(--accent)}.option.right .box{background:var(--success);border-color:var(--success)}.option.wrong .box{background:var(--danger);border-color:var(--danger)}.verdict{font-weight:600;margin:16px 0 0}.verdict.right{color:var(--success)}.verdict.wrong{color:var(--danger)}.explanation{margin-top:16px;padding:14px;background:var(--bg-secondary);border-radius:var(--radius)}.explanation>:last-child{margin-bottom:0}.follow-up li,.mistakes li{padding-left:16px;position:relative;margin-bottom:8px}.follow-up li:before,.mistakes li:before{content:"•";position:absolute;left:0;color:var(--hint)}.follow-up p,.mistakes p{margin:0}.actions{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--bg)}.grades{display:flex;gap:8px}.grades button{flex:1}.actions button{min-height:50px;padding:12px 16px;font:inherit;font-weight:600;color:var(--text);background:var(--bg-secondary);border:0;border-radius:var(--radius);cursor:pointer}.actions button.primary{color:var(--accent-text);background:var(--accent)}.actions button:disabled{opacity:.5;cursor:default}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--bg-secondary);padding:1px 5px;border-radius:5px}pre{overflow-x:auto;padding:12px;background:var(--bg-secondary);border-radius:var(--radius)}.explanation code,.explanation pre{background:var(--bg)}pre code{padding:0;background:none}.explanation table{display:block;overflow-x:auto;border-collapse:collapse;margin:12px 0;font-size:.85em;line-height:1.35;background:var(--bg);border-radius:var(--radius)}.explanation th,.explanation td{padding:6px 8px;text-align:left;vertical-align:top}.explanation tr+tr td,.explanation tbody tr:first-child td{border-top:1px solid var(--bg-secondary)}.token.comment{color:var(--hint)}.token.string,.token.regex{color:var(--success)}.token.keyword,.token.boolean{color:var(--link)}.token.function,.token.class-name{color:var(--accent)}.token.number{color:var(--danger)}
