:root{--bg:#f8f9fa;--bg-card:#fff;--bg-hover:#f1f3f5;--border:#e9ecef;--border-focus:#4c6ef5;--text:#212529;--text-muted:#6c757d;--primary:#4c6ef5;--primary-dark:#3b5bdb;--success:#2f9e44;--success-bg:#d3f9d8;--danger:#e03131;--danger-bg:#ffe3e3;--warning:#e67700;--warning-bg:#fff3bf;--radius:10px;--radius-lg:16px;--shadow:0 1px 4px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.06);--shadow-hover:0 4px 12px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.08);--transition:.18s ease;--timer-ok:#2f9e44;--timer-warn:#e67700;--timer-danger:#e03131}[data-theme=dark]{--bg:#141517;--bg-card:#1e2023;--bg-hover:#25282c;--border:#2c2e33;--border-focus:#748ffc;--text:#dee2e6;--text-muted:#868e96;--primary:#748ffc;--primary-dark:#4c6ef5;--success:#40c057;--success-bg:#0a2614;--danger:#ff6b6b;--danger-bg:#2c0a0a;--warning:#fcc419;--warning-bg:#2c1f00}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;min-height:100dvh;transition:background var(--transition),color var(--transition)}button,input,select,textarea{font:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}ol,ul{list-style:none}#app-root{display:flex;flex-direction:column;min-height:100dvh}.main-content{flex:1}.container{max-width:900px}.container,.container--wide{margin:0 auto;padding:0 1rem}.container--wide{max-width:1100px}.page-enter-active,.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-6px)}.question-enter-active,.question-leave-active{transition:opacity .22s ease,transform .22s ease}.question-enter-from{opacity:0;transform:translate(36px)}.question-leave-to{opacity:0;transform:translate(-36px)}.btn{align-items:center;border-radius:var(--radius);display:inline-flex;font-weight:500;gap:.4rem;justify-content:center;min-height:40px;padding:.55rem 1.1rem;transition:background var(--transition),box-shadow var(--transition),transform var(--transition);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-dark)}.btn--ghost{background:transparent;border:1.5px solid var(--border);color:var(--text-muted)}.btn--ghost:hover{background:var(--bg-hover);border-color:var(--text-muted);color:var(--text)}.btn--danger{background:var(--danger-bg);color:var(--danger)}.btn--danger:hover{background:var(--danger);color:#fff}.btn--success{background:var(--success-bg);color:var(--success)}.btn--success:hover{background:var(--success);color:#fff}.btn--icon{border-radius:8px;padding:.45rem}.btn--sm{font-size:.85rem;min-height:32px;padding:.35rem .75rem}.btn--lg{font-size:1.05rem;min-height:48px;padding:.75rem 1.5rem}.card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:box-shadow var(--transition),border-color var(--transition)}.card--hover:hover{border-color:var(--primary);box-shadow:var(--shadow-hover)}.input,.select,.textarea{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:.55rem .85rem;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #4c6ef526}.textarea{min-height:80px;resize:vertical}.label{color:var(--text-muted);display:block;font-size:.85rem;font-weight:600;letter-spacing:.02em;margin-bottom:.35rem;text-transform:uppercase}.field{margin-bottom:1rem}.badge{align-items:center;border-radius:100px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.2rem .6rem}.badge--primary{background:#e7ebff;color:var(--primary-dark)}.badge--success{background:var(--success-bg);color:var(--success)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--muted{background:var(--bg-hover);color:var(--text-muted)}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:100}.modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;max-height:90dvh;max-width:500px;overflow-y:auto;width:100%}.modal__header{align-items:center;border-bottom:1.5px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal__body{padding:1.5rem}.modal__footer{border-top:1.5px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-enter-active,.modal-leave-active{transition:opacity .2s ease}.modal-enter-active .modal,.modal-leave-active .modal{transition:transform .2s ease,opacity .2s ease}.modal-enter-from{opacity:0}.modal-enter-from .modal{opacity:0;transform:scale(.95) translateY(8px)}.modal-leave-to{opacity:0}.modal-leave-to .modal{opacity:0;transform:scale(.95) translateY(8px)}.option-btn{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;display:flex;font-size:1rem;gap:.75rem;min-height:52px;padding:.9rem 1.2rem;text-align:left;transition:all var(--transition);width:100%}.option-btn:hover:not([disabled]){background:#f0f3ff;border-color:var(--primary)}[data-theme=dark] .option-btn:hover:not([disabled]){background:#1a1e3a}.option-btn.selected{background:#e7ebff;border-color:var(--primary);color:var(--primary-dark)}[data-theme=dark] .option-btn.selected{background:#1a1e3a;color:var(--primary)}.option-btn.correct{animation:pulse-green .35s ease;background:var(--success-bg);border-color:var(--success);color:var(--success)}.option-btn.wrong{animation:shake .35s ease;background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.option-btn[disabled]{cursor:default}@keyframes pulse-green{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.55}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.font-bold{font-weight:700}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header[data-v-3cac4614]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--bg-card);border-bottom:1.5px solid var(--border);position:sticky;top:0;z-index:50}.header__inner[data-v-3cac4614]{height:60px;justify-content:space-between}.header__inner[data-v-3cac4614],.header__logo[data-v-3cac4614]{align-items:center;display:flex}.header__logo[data-v-3cac4614]{font-size:1.1rem;font-weight:700;gap:.5rem}.header__logo-icon[data-v-3cac4614]{font-size:1.4rem}.header__nav[data-v-3cac4614]{align-items:center;display:flex;gap:.75rem}.header__nav-link[data-v-3cac4614]{border-radius:6px;color:var(--text-muted);font-weight:500;padding:.35rem .5rem;transition:color var(--transition),background var(--transition)}.header__nav-link.router-link-active[data-v-3cac4614],.header__nav-link[data-v-3cac4614]:hover{background:var(--bg-hover);color:var(--text)}@media(max-width:480px){.header__logo-text[data-v-3cac4614]{display:none}}
