@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap";html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.page{display:flex;justify-content:end;flex-direction:column;gap:16px}.practice-page{position:relative;flex-direction:row;justify-content:center;align-items:flex-start}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;transition:.3s;background:#667eea;color:#fff}.btn:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}:root{--surface-color: #fff;--surface-muted: #f0f0f0;--text-color: #333;--text-light-color: #666;--border-color: #e0e0e0;--accent-color: #667eea}[data-theme=dark]{--surface-color: #1d2028;--surface-muted: #2a2f3a;--text-color: #f5f7fb;--text-light-color: #c8cfdd;--border-color: #3a4252;--accent-color: #8ea2ff;--library-card-bg: #252b36;--library-card-border: #3a4252;--library-card-title-color: #f5f7fb;--library-card-shadow: 0 4px 14px rgba(0, 0, 0, .35);--library-card-completed-bg: #313a5c}body{font-family:Roboto,sans-serif;overflow-x:hidden;background:var(--surface-color);color:var(--text-color)}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif}.loading-view{width:100%;color:#666;font-size:16px;display:flex;flex-direction:column;align-items:center;gap:8px}.loading-view-text{text-align:center}.loader{display:flex;gap:8px}.square{width:10px;height:10px;background:#666;opacity:0;animation:loadingPulse 1s infinite}.square:nth-child(1){animation-delay:0s}.square:nth-child(2){animation-delay:.1s}.square:nth-child(3){animation-delay:.2s}.square:nth-child(4){animation-delay:.3s}.square:nth-child(5){animation-delay:.4s}@keyframes loadingPulse{0%{opacity:0}30%{opacity:1}to{opacity:0}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-skip-link{position:absolute;left:16px;top:-40px;padding:4px 8px;border-radius:8px;background:#667eea;color:#fff;text-decoration:none;z-index:1000}.layout-skip-link:focus{top:8px}.layout-header{position:sticky;top:0;z-index:100;border-bottom:1px solid #ddd;background:var(--surface-color, #fff)}.layout-header-inner{width:100%;max-width:1180px;margin:0 auto;padding:16px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.layout-brand{color:var(--text-color, #333);text-decoration:none;font-weight:700;font-size:24px;letter-spacing:.5px}.layout-controls{display:flex;gap:8px}.layout-theme-switcher,.layout-nav-toggle{border:1px solid var(--border-color, #e0e0e0);background:var(--surface-color, #fff);color:var(--text-color, #333)}.layout-nav{width:100%;display:none}.layout-nav.is-open{display:block}.layout-nav-list{list-style:none;margin:0;padding:8px 0 0;display:flex;flex-direction:column;gap:4px}.layout-nav-item{margin:0}.layout-nav-link{display:inline-flex;align-items:center;padding:4px 8px;border-radius:8px;text-decoration:none;color:var(--text-color, #333)}.layout-nav-link:hover{background:var(--surface-muted, #f0f0f0)}.layout-nav-link.is-active{color:var(--accent-color, #667eea);background:var(--surface-muted, #f0f0f0)}.layout-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:24px 16px 32px;box-sizing:border-box}.layout-footer{border-top:1px solid var(--border-color, #ddd);background:var(--surface-color, #fff)}.layout-footer-inner{width:100%;max-width:1180px;margin:0 auto;padding:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.layout-footer-school-link{display:inline-flex;align-items:center;gap:4px;width:fit-content;color:var(--text-color, #333);text-decoration:none}.layout-footer-school-link:hover{text-decoration:underline}.layout-footer-school-logo{width:20px;height:20px}.layout-footer-school-text{font-size:12px}.layout-footer-authors{display:flex;flex-wrap:wrap;gap:4px 8px}.layout-footer-author-link{color:var(--text-light-color, #666);text-decoration:none;font-size:12px}.layout-footer-author-link:hover{text-decoration:underline;color:var(--text-color, #333)}@media(min-width:768px){.layout-header-inner{gap:16px}.layout-nav-toggle{display:none}.layout-nav{width:auto;display:block;margin-left:auto}.layout-nav-list{padding-top:0;flex-direction:row;gap:8px}.layout-footer-inner{flex-direction:row;align-items:center;justify-content:space-between}.layout-footer-authors{justify-content:flex-end}}.top-bar{display:flex;justify-content:space-evenly;align-items:center;background-color:#667eea;width:70%;margin:0 auto;border-radius:8px;padding:16px;color:#fff}.difficulty-selector,.game-selector{width:30%;padding:.4em .8em;border-radius:8px;outline:none;cursor:pointer}.badge-container{height:fit-content;display:inline-block}.achievement{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:16px}.badge-img{width:80px}.error-message{width:100%;color:#ff6b6b;font-size:16px;font-weight:500}.panel-top-bar{background-color:#764ba2;border-top-left-radius:8px;border-top-right-radius:8px;padding:16px;color:#fff;font-weight:700;display:flex;justify-content:space-between;align-items:center}.panel-content{display:flex;flex-direction:row;justify-content:center;align-items:center;min-height:300px}.stats-table{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr}.table-cell{border:1px solid #e0e0e0;background-color:#f0f0f0;color:#333;padding:8px;text-align:center;font-size:16px}.total-cell{border:1px solid #e0e0e0;background-color:#667eea;color:#fff;padding:16px;text-align:center;font-size:16px;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.landing{width:100%;max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.landing-hero,.landing-section,.landing-final{background:var(--surface-color, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:24px;box-shadow:0 6px 20px #00000014}.landing-hero{display:flex;flex-direction:column;gap:16px}.landing-hero-badge{margin:0;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:1px}.landing-hero-title{margin:0;font-size:28px;line-height:1.25;color:var(--text-color, #333)}.landing-hero-subtitle{margin:0;color:var(--text-light-color, #666);line-height:1.6}.landing-actions{display:flex;flex-direction:column;gap:8px}.landing-actions-primary,.landing-actions-secondary,.landing-final-btn{width:100%}.landing-actions-secondary{background:#f0f0f0;color:#333;border:1px solid var(--border-color, #e0e0e0)}.landing-links{display:flex;flex-direction:column;gap:4px}.landing-links-link{color:#667eea;text-decoration:none;width:fit-content}.landing-links-link:hover{text-decoration:underline}.landing-section{display:flex;flex-direction:column;gap:16px}.landing-section-title{margin:0;color:var(--text-color, #333);font-size:22px}.landing-features-grid{display:grid;grid-template-columns:1fr;gap:16px}.landing-feature,.landing-faq-item{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;background:var(--surface-color, #fff);transition:box-shadow .3s ease}.landing-feature:hover,.landing-faq-item:hover{box-shadow:0 8px 18px #00000024}.landing-feature-title,.landing-faq-item-question{margin:0 0 4px;color:var(--text-color, #333)}.landing-feature-text,.landing-faq-item-answer{margin:0;color:var(--text-light-color, #666);line-height:1.5}.landing-flow{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:8px}.landing-flow-item{color:var(--text-color, #333);line-height:1.5}.landing-faq{display:grid;gap:8px}.landing-final{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.landing-final-text{margin:0;color:var(--text-color, #333);line-height:1.5}@media(min-width:768px){.landing{gap:40px}.landing-hero,.landing-section,.landing-final{padding:32px}.landing-hero-title{font-size:36px;max-width:700px}.landing-actions{flex-direction:row;align-items:center}.landing-actions-primary,.landing-actions-secondary{width:auto;min-width:210px}.landing-features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-faq{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-final{flex-direction:row;justify-content:space-between;align-items:center}.landing-final-text{max-width:620px}.landing-final-btn{width:auto;min-width:220px}}.modal-overlay{position:fixed;inset:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .3s ease-in-out}.modal-overlay.is-visible{opacity:1}.modal-overlay.is-visible .modal{transform:scale(1);opacity:1}.modal{width:100%;max-width:440px;transform:scale(.9);opacity:0;transition:all .3s ease-in-out}.modal-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 10px 40px #0003;padding:24px;display:flex;flex-direction:column;gap:16px}.modal-title{margin:0;font-size:24px;color:#333;text-align:center}.modal-message{margin:0;color:#666;font-size:16px;line-height:1.5;text-align:center}.modal-actions{display:flex;gap:8px;margin-top:8px}.modal-actions .modal-btn{flex:1;padding:8px 16px;border-radius:8px;cursor:pointer;transition:.3s;font-size:16px;font-weight:500}.modal-actions .modal-btn-cancel{background:#f0f0f0;color:#333;border:1px solid #e0e0e0}.modal-actions .modal-btn-cancel:hover:not(:disabled){background:#e4e4e4}.modal-actions .modal-btn-confirm{background:#667eea;color:#fff;border:1px solid #667eea}.modal-actions .modal-btn-confirm:hover:not(:disabled){background:#4865e6}.modal-actions .modal-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.modal-card{padding:16px}.modal-title{font-size:20px}.modal-message{font-size:14px}.modal-actions{flex-direction:column}.modal-actions .modal-btn{width:100%}}.auth{min-height:calc(100vh - 40px);padding:32px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center}.auth-card{width:100%;max-width:440px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px;display:flex;flex-direction:column;gap:16px}.auth-title{margin:0}.auth-subtitle{margin:0;color:#666}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-tab{padding:8px 16px;border-radius:8px;border:1px solid #e0e0e0;background:#f0f0f0;cursor:pointer;transition:.3s}.auth-tab.is-active{background:#667eea;color:#fff;border-color:#667eea}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form-error{color:#ff6b6b;min-height:18px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-label{font-size:14px;color:#666}.auth-hint{font-size:12px;color:#666}.auth-input{padding:8px 16px;border-radius:8px;border:1px solid #e0e0e0;outline:none}.auth-input:focus{border-color:#667eea}.auth-error{color:#ff6b6b;font-size:12px;min-height:16px}.auth-submit{width:100%}.auth-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.auth-link{color:#667eea;text-decoration:none}.auth-switch{display:inline-flex;gap:4px;align-items:center;color:#666}.auth-switch-btn{border:none;background:transparent;color:#667eea;cursor:pointer;padding:0}.is-hidden{display:none}@media(max-width:600px){.auth-card{padding:16px}.auth-footer{flex-direction:column;align-items:flex-start}}.library-title{margin:0;color:var(--text-color, #333)}.library-subtitle{margin:0;color:var(--text-light-color, #666);font-size:16px}.library-difficulty{margin:0;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap}.library-difficulty-label{color:var(--text-light-color, #666);font-size:16px}.library-diff-btn{background:var(--surface-muted, #f0f0f0);color:var(--text-color, #333);border:1px solid var(--border-color, #e0e0e0)}.library-diff-btn.is-active{background:#667eea;color:#fff;border-color:#667eea}.library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.loading-view{grid-column:1/-1}.library-card{background:var(--library-card-bg, #fff);border:1px solid var(--library-card-border, #e0e0e0);border-radius:8px;box-shadow:var(--library-card-shadow, 0 2px 4px rgba(0, 0, 0, .1));padding:16px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px}.library-card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.library-card-title{font-size:24px;color:var(--library-card-title-color, #333);min-width:0}.library-topic-badge{color:var(--text-light-color, #666);font-size:12px;white-space:nowrap}.library-card.is-completed{opacity:.5;background-color:var(--library-card-completed-bg, #e0e0e0)}.topic-icon{width:32px;height:32px;object-fit:contain}.library-card-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.library-card-actions-right{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.library-list-status.is-error{color:#ff6b6b}.library-status{color:var(--text-light-color, #666);font-size:16px}.library-status.is-error{color:#ff6b6b;font-weight:500}@media(max-width:600px){.library-list{grid-template-columns:1fr}.library-difficulty{flex-direction:column;align-items:flex-start}}.background-img{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:cover;z-index:-1}.final-screen-modal{width:70%;height:300px;background:#0006;display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;transform:translate(-50%,-50%);left:50%;top:50%;border-radius:8px}.final-screen-text{width:70%;color:#fff}.badge-container{width:30%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;color:#fff}.badge-img-animated{width:110px;animation:pulse-keyframes 1s ease-in-out infinite alternate}.button-set{margin-top:24px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:16px}.restart-btn{background-color:transparent;color:#fff;border:2px solid #fff;border-radius:8px;padding:4px;cursor:pointer;transition:all .3s ease-in-out;font-size:12px}.restart-btn:hover{background-color:#fff;color:#667eea}.hints-container{display:flex;flex-direction:row;justify-content:center;align-items:normal;gap:16px;padding:16px;border-radius:8px;margin-bottom:0}.hint-btn{box-shadow:0 2px 4px #0000001a;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;transition:.3s}.hint-btn:disabled{opacity:.5;cursor:not-allowed}.hint-btn:not(:disabled):hover{background-color:#764ba2;color:#fff}@media(max-width:768px){.hints-container{display:flex;flex-direction:column;justify-content:center;align-items:normal}}.divider{width:100%;height:2px;background-color:#ddd;margin-bottom:24px}.card{width:50%;max-width:600px;border-radius:8px;background-color:#764ba2;box-shadow:0 2px 4px #0000001a}.card-header{padding:16px;background-color:#667eea;border-top-left-radius:8px;border-top-right-radius:8px;color:#fff;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}@font-face{font-family:Digital7;src:url(/fonts/digital-7.ttf) format("truetype");font-weight:400;font-style:normal}.theory-btn-container{position:absolute;left:2%;top:50%;transform:translateY(-50%);margin-right:16px}.theory-btn{position:relative;width:32px;height:32px;cursor:pointer;filter:invert(1)}.score{font-family:Digital7,monospace;font-size:48px}.button-container{display:flex;flex-direction:column;justify-content:center;align-items:normal;margin-top:12px;gap:8px;position:absolute;right:2%;top:2%}.next-topic-btn,.library-btn{background-color:transparent;color:#fff;border:2px solid #fff;border-radius:8px;padding:4px;cursor:pointer;transition:all .3s ease-in-out;font-size:12px}.next-topic-btn:disabled,.library-btn:disabled{opacity:.5;cursor:not-allowed}.next-topic-btn:not(:disabled):hover,.library-btn:not(:disabled):hover{background-color:#fff;color:#667eea}.animated-button{animation:pulse-keyframes 1s ease-in-out 2 alternate}@keyframes pulse-keyframes{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.animated-button{border-color:#51cf66}.card-body{padding:16px;background-color:#f0f0f0;color:#333;font-size:16px;font-weight:700;display:flex;flex-direction:column;justify-content:center;align-items:center}.topic,.difficulty{color:#fff;letter-spacing:.1em;font-family:Poppins,sans-serif;-webkit-text-stroke:.5px black}.difficulty{margin-bottom:8px}.question-container{margin-bottom:24px;font-size:24px;font-weight:700;text-align:center;color:#333;background-color:#fff;border-radius:8px;padding:16px}.answer-container{width:100%}.answers{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;margin-bottom:16px}.answer-button{margin-right:16px}.card-footer{background-color:#667eea;border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#fff;display:flex;flex-direction:row;justify-content:center;align-items:center}.check-button-container{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:16px}.check-button{background-color:transparent;color:#666;border:2px solid #51cf66;border-radius:8px;padding:4px 16px;cursor:pointer;transition:all .3s ease-in-out;font-size:12px;position:relative}.check-button:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(90deg,transparent,#51cf66,transparent);background-size:200% 200%;opacity:0;transition:opacity .2s}.check-button:hover:before{opacity:1;animation:borderRun 1s linear infinite}@keyframes borderRun{0%{background-position:0% 50%}to{background-position:200% 50%}}.theory-btn-popover{position:absolute;top:35px;left:20px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 0;box-shadow:0 2px 4px #0000001a;min-width:150px;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.side-panel{width:300px;background-color:#f0f0f0;position:absolute;top:0;left:calc(50% + 330px);display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 4px #0000001a}.opened{display:flex;opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.closed{display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:translate(16px);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.close-btn{align-self:end;cursor:pointer}.side-panel-title{text-align:center;margin-top:4px;font-family:Roboto,sans-serif}.side-panel-text{color:#333;padding:16px}@media(max-width:1280px){.side-panel{left:auto;right:0}}.not-found{min-height:calc(100vh - 40px);padding:32px 16px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.not-found-code{margin:0;font-size:96px;font-weight:700;line-height:1;color:#667eea}.not-found-title{margin:0;color:#333}.not-found-text{max-width:440px;margin:0;color:#666}.not-found-actions{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:600px){.not-found{padding:24px 16px}}
