*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;width:100%;overflow-x:hidden;position:relative}html{height:100%;width:100%}body{min-height:100%}button{border-radius:6px;border:1px solid transparent;font-family:inherit;cursor:pointer;transition:all .2s ease}button:focus,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.simplebar-wrapper{margin:0!important;padding:0!important;box-sizing:border-box!important}.simplebar-height-auto-observer-wrapper,.simplebar-height-auto-observer{box-sizing:border-box!important}.simplebar-content-wrapper{background:transparent!important;margin:0!important;padding:0!important;box-sizing:border-box!important}.simplebar-content{padding:0!important;margin:0!important;box-sizing:border-box!important}.simplebar-track{background:transparent!important;background-image:none!important;border-radius:0!important;right:0!important;left:auto!important;top:0!important;bottom:0!important;width:20px!important}.simplebar-track.simplebar-vertical{width:20px!important;right:0!important;left:auto!important;top:0!important;bottom:0!important}.simplebar-track.simplebar-horizontal{height:20px!important;bottom:0!important;top:auto!important}.simplebar-scrollbar{right:0!important;left:auto!important;width:20px!important;background:transparent!important}.simplebar-scrollbar:before{background-color:#706c61!important;opacity:1!important;border-radius:0!important;transition:none!important;left:0!important;right:0!important;width:100%!important}.simplebar-wrapper,.simplebar-mask{margin:0!important;padding:0!important}[data-simplebar]{position:relative!important}[data-simplebar] .simplebar-track.simplebar-vertical{position:absolute!important;right:0!important;top:0!important;width:20px!important;height:100%!important}body.hide-scrollbar,html.hide-scrollbar{scrollbar-width:none!important;-ms-overflow-style:none!important}body.hide-scrollbar::-webkit-scrollbar,html.hide-scrollbar::-webkit-scrollbar{display:none!important;width:0px!important;height:0px!important;background:transparent!important}body.hide-scrollbar::-webkit-scrollbar-track,html.hide-scrollbar::-webkit-scrollbar-track{display:none!important;background:transparent!important}body.hide-scrollbar::-webkit-scrollbar-thumb,html.hide-scrollbar::-webkit-scrollbar-thumb{display:none!important;background:transparent!important}#root.hide-scrollbar{scrollbar-width:none!important;-ms-overflow-style:none!important}#root.hide-scrollbar::-webkit-scrollbar{display:none!important;width:0px!important;height:0px!important}.reading-test-interface *::-webkit-scrollbar{display:none!important;width:0px!important;height:0px!important}@-moz-document url-prefix(){.simplebar-scrollbar{max-height:none!important;min-height:20px!important}.simplebar-scrollbar:before{max-height:none!important;min-height:20px!important}.simplebar-track.simplebar-vertical{height:100%!important}}.simplebar-scrollbar:before{max-height:none!important;min-height:20px!important}.simplebar-wrapper,.simplebar-mask,.simplebar-content-wrapper,.simplebar-content,[data-simplebar]{border:none!important;box-shadow:none!important;outline:none!important}body.hide-scrollbar,html.hide-scrollbar{overscroll-behavior:none!important;overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;-webkit-overflow-scrolling:touch!important}.simplebar-content-wrapper,.simplebar-wrapper{overscroll-behavior:none!important;overscroll-behavior-y:none!important}/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-\[160px\]{min-height:160px}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-\[100px\]{min-width:100px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[var\(--accent-color\)\]{border-color:var(--accent-color)}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-t-\[var\(--accent-color\)\]{border-top-color:var(--accent-color)}.bg-\[var\(--accent-color\)\]{background-color:var(--accent-color)}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--accent-color\)\]{--tw-gradient-from:var(--accent-color);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--success-color\)\]{--tw-gradient-to:var(--success-color);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-center{text-align:center}.text-end{text-align:end}.align-middle{vertical-align:middle}.text-\[11px\]{font-size:11px}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--accent-color\)\]{color:var(--accent-color)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.placeholder-\[var\(--text-secondary\)\]::-moz-placeholder{color:var(--text-secondary)}.placeholder-\[var\(--text-secondary\)\]::placeholder{color:var(--text-secondary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@media (hover:hover){.hover\:bg-\[var\(--bg-secondary\)\]:hover{background-color:var(--bg-secondary)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--accent-color\)\]:focus{--tw-ring-color:var(--accent-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.markdown-content{color:var(--text-primary);line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--text-primary);margin:16px 0 8px;font-weight:600}.markdown-content h1{font-size:18px}.markdown-content h2{font-size:16px}.markdown-content h3{font-size:15px}.markdown-content h4{font-size:14px}.markdown-content h5{font-size:13px}.markdown-content h6{font-size:12px}.markdown-content p{margin:8px 0;color:var(--text-primary)}.markdown-content ul,.markdown-content ol{margin:8px 0;padding-left:20px;color:var(--text-primary)}.markdown-content li{margin:4px 0}.markdown-content blockquote{margin:8px 0;padding:8px 12px;background:var(--bg-secondary);border-left:3px solid var(--accent-color);border-radius:4px;color:var(--text-secondary)}.markdown-content code{background:var(--bg-secondary);padding:2px 6px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:var(--accent-color)}.markdown-content pre{background:var(--bg-secondary);padding:12px;border-radius:6px;overflow-x:auto;margin:8px 0;border:1px solid var(--border-color)}.markdown-content pre code{background:none;padding:0;color:var(--text-primary)}.markdown-content a{color:var(--accent-color);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content strong,.markdown-content b{font-weight:600;color:var(--text-primary)}.markdown-content em,.markdown-content i{font-style:italic;color:var(--text-primary)}.markdown-content hr{border:none;border-top:1px solid var(--border-color);margin:16px 0}.markdown-content table{width:100%;border-collapse:collapse;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.markdown-content th,.markdown-content td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.markdown-content th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary)}.markdown-content td{color:var(--text-primary)}.markdown-content img{max-width:100%;height:auto;border-radius:4px;margin:8px 0}.markdown-content p:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.skill-layout{display:flex;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.skill-sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:24px;padding:20px 16px;position:relative;transition:width .3s ease,transform .3s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:100vh;position:sticky;top:0;overflow-y:auto}.skill-sidebar.collapsed{width:56px;padding:16px 10px;align-items:center}.skill-sidebar::-webkit-scrollbar{width:6px}.skill-sidebar::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:999px}.skill-sidebar::-webkit-scrollbar-track{background:transparent}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.skill-sidebar.collapsed .sidebar-header{justify-content:center;gap:0;width:100%}.sidebar-title{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease}.sidebar-toggle{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.skill-sidebar.collapsed .sidebar-toggle{margin-left:auto;margin-right:auto}.sidebar-toggle:hover{background:#94a3b82e;border-color:#94a3b866;color:var(--text-primary)}.sidebar-toggle:active{transform:scale(.96)}.sidebar-toggle:focus{outline:none}.sidebar-toggle:focus-visible{outline:2px solid rgba(148,163,184,.6);outline-offset:2px}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1;width:100%}.sidebar-nav-item{display:flex;align-items:center;gap:12px;border:none;background:transparent;color:var(--text-secondary);padding:8px 12px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;text-align:left;width:100%}.sidebar-nav-item:focus{outline:none;box-shadow:none}.sidebar-nav-item:focus-visible{outline:2px solid rgba(148,163,184,.6);outline-offset:2px}.sidebar-nav-item:hover{background:#94a3b82e;color:var(--text-primary)}.sidebar-nav-item.active{background:#94a3b82e;color:var(--text-primary);box-shadow:inset 0 0 0 1px #94a3b840}.sidebar-nav-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.sidebar-nav-icon svg{width:18px;height:18px}.sidebar-email-icon{width:36px;height:36px}.skill-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:10px}.skill-sidebar.collapsed .sidebar-nav-label{display:none}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color);position:relative}.skill-sidebar.collapsed .sidebar-footer{padding-top:12px;border-top:none;width:100%}.sidebar-email{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);word-break:normal;width:100%;border:none;background:transparent;padding:8px 0;border-radius:10px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;text-align:left}.sidebar-email-icon{display:inline-flex;align-items:center;justify-content:center}.sidebar-email-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.01em}.sidebar-email:hover:not(:disabled){background:#94a3b82e;color:var(--text-primary)}.sidebar-email:focus{outline:none}.sidebar-email:focus-visible{outline:2px solid rgba(148,163,184,.6);outline-offset:2px}.sidebar-email:disabled{cursor:default;opacity:.7}.skill-sidebar.collapsed .sidebar-email{justify-content:center;padding:10px}.sidebar-email-menu{position:absolute;bottom:calc(100% + 14px);left:0;width:100%;background:var(--bg-secondary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px 0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;gap:0;z-index:25}.sidebar-email-menu:after{content:none}.skill-sidebar.collapsed .sidebar-email-menu{left:50%;transform:translate(-50%);width:auto;min-width:200px}.skill-sidebar.collapsed .sidebar-email-menu:after{content:none}[data-theme=light] .sidebar-email-menu{background:var(--bg-secondary);border-color:#0f172a1a;box-shadow:none}[data-theme=dark] .sidebar-email-menu{background:var(--bg-secondary);border-color:#94a3b829;box-shadow:none}.sidebar-email-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 18px;background:transparent;border:none;color:var(--text-primary);font-size:.92rem;font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;text-align:left;position:relative}.sidebar-email-menu-item+.sidebar-email-menu-item:before{content:"";position:absolute;top:0;left:16px;right:16px;border-top:1px solid rgba(148,163,184,.18)}[data-theme=dark] .sidebar-email-menu-item+.sidebar-email-menu-item:before{border-top-color:#94a3b83d}.sidebar-email-menu-item:hover,.sidebar-email-menu-item:focus{background:#94a3b82e;color:var(--text-primary)}.sidebar-email-menu-item:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #94a3b899}.sidebar-email-menu-item:active{transform:translateY(1px)}.sidebar-menu-icon{flex-shrink:0;width:24px;height:24px}.sidebar-email-menu-text{flex:1;display:inline-flex;align-items:center;letter-spacing:.01em;margin-left:0}.user-privileges-list{display:flex;flex-direction:column;gap:12px}.user-privilege-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.user-privilege-item:hover{border-color:var(--accent-color);box-shadow:0 2px 8px #0f172a14}.user-privilege-item.expired{background:#ef44440d;border-color:#ef444433}.user-privilege-item.active{background:#22c55e0d;border-color:#22c55e33}.user-privilege-compact{display:flex;justify-content:space-between;align-items:center;gap:16px}.logout-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logout-modal{background:var(--bg-secondary);border-radius:16px;border:2px solid var(--border-color);box-shadow:var(--shadow-lg, 0 24px 60px rgba(0, 0, 0, .85));padding:0;max-width:420px;width:90%;animation:sidebarLogoutModalSlideIn .3s ease-out}@keyframes sidebarLogoutModalSlideIn{0%{opacity:0;transform:scale(.92) translateY(-16px)}to{opacity:1;transform:scale(1) translateY(0)}}.logout-modal-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:2px solid var(--border-color)}.logout-modal-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;color:#fff}.logout-modal-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.logout-modal-content{padding:20px 24px}.logout-modal-message{font-size:16px;color:var(--text-secondary);line-height:1.5;margin:0}.logout-modal-actions{display:flex;gap:12px;padding:16px 24px 24px;justify-content:flex-end}.logout-modal-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:88px}.logout-modal-button.cancel{background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color)}.logout-modal-button.cancel:hover{background:var(--border-color);color:var(--text-primary)}.logout-modal-button.confirm{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.logout-modal-button.confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d;filter:brightness(1.08)}@media (max-width: 768px){.logout-modal{margin:20px;max-width:none}.logout-modal-header{padding:20px 20px 12px}.logout-modal-content{padding:16px 20px}.logout-modal-actions{padding:12px 20px 20px;flex-direction:column-reverse}.logout-modal-button{width:100%}}.user-privilege-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-privilege-name{font-weight:600;font-size:14px;color:var(--text-primary);flex-shrink:0}.user-privilege-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px}.user-privilege-status.active{color:var(--success-color);background:#22c55e1a}.user-privilege-status.expired{color:var(--error-color);background:#ef44441a}.user-privilege-expiry{display:flex;align-items:center;flex-shrink:0}.user-privilege-time-info{font-size:11px;color:var(--text-secondary);white-space:nowrap;text-align:right}.user-privilege-timestamp{opacity:.7;font-size:10px}.user-privilege-description{font-size:12px;color:var(--text-secondary);margin-top:8px;line-height:1.4}.skill-sidebar.collapsed .sidebar-email{justify-content:center;padding:8px}.settings-upgrade-button{padding:12px 20px;background:linear-gradient(135deg,#111,#1e1e1e);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 24px #11111147}.settings-upgrade-button:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 14px 32px #11111152}.settings-upgrade-button:active{transform:translateY(0);box-shadow:0 8px 20px #11111147}[data-theme=dark] .settings-upgrade-button{background:linear-gradient(135deg,#f9fafb,#e2e8f0);color:#0f172a;box-shadow:0 12px 28px #0f172a4d}[data-theme=dark] .settings-upgrade-button:hover{box-shadow:0 16px 32px #0f172a66}.upgrade-icon{display:inline-flex;align-items:center;justify-content:center}.upgrade-icon svg{width:16px;height:16px}.settings-close-button{padding:12px 20px;background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.settings-close-button:hover{background:var(--border-color);color:var(--text-primary)}.sidebar-email-text{overflow:hidden;text-overflow:clip;white-space:nowrap;width:100%}.skill-sidebar.collapsed .sidebar-email{justify-content:center}.skill-sidebar.collapsed .sidebar-email-text{display:none}.skill-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-primary)}.skill-layout.sidebar-collapsed .skill-main{width:calc(100% - 56px)}.skill-layout.sidebar-hidden .skill-main{width:100%}.skill-layout.sidebar-hidden .skill-sidebar{display:none}@media (max-width: 960px){.skill-layout{flex-direction:column}.skill-sidebar,.skill-layout.sidebar-collapsed .skill-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;align-items:center;gap:12px;padding:12px 16px;overflow-x:auto}.skill-sidebar.collapsed{width:100%;padding:12px 16px;align-items:center}.sidebar-header{width:auto}.sidebar-nav{flex-direction:row;flex-wrap:nowrap;gap:8px}.sidebar-nav-item{flex-direction:row;justify-content:center;padding:8px 12px}.sidebar-footer{border-top:none;margin-top:0;padding-top:0}.user-privilege-compact{flex-direction:column;align-items:flex-start;gap:8px}.user-privilege-main{width:100%;justify-content:space-between}.user-privilege-expiry{width:100%}.user-privilege-time-info{text-align:left}}[data-theme=dark] .skill-sidebar{background:var(--bg-primary)}:root{--bg-primary: #ffffff;--bg-secondary: #f7f9fc;--bg-card: #ffffff;--text-primary: #1a202c;--text-secondary: #334155;--text-muted: #718096;--border-color: #e5e7eb;--accent-color: #2563eb;--accent-hover: #60a5fa;--accent-part1: #10b981;--accent-part2: #f59e0b;--accent-part3: #ef4444;--accent-part4: #6366f1;--warning-color: #f59e0b;--success-color: #38a169;--error-color: #e53e3e;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--surface-primary: var(--bg-card);--surface-secondary: #f3f4f6;--surface: var(--bg-card);--surface-color: var(--bg-card);--surface-hover: rgba(59, 130, 246, .08);--surface-muted: rgba(148, 163, 184, .08);--surface-info: rgba(37, 99, 235, .08);--surface-info-border: rgba(37, 99, 235, .32);--surface-success: rgba(56, 161, 105, .12);--surface-success-border: rgba(56, 161, 105, .28);--surface-warning: rgba(245, 158, 11, .14);--surface-warning-border: rgba(245, 158, 11, .32);--surface-error: rgba(229, 62, 62, .12);--surface-error-border: rgba(229, 62, 62, .36);--primary-color: var(--accent-color);--primary-color-strong: #1d4ed8;--primary-color-hover: #3b82f6;--accent-color-hover: var(--accent-hover)}[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #000000;--bg-card: #000000;--text-primary: #ededed;--text-secondary: #cfcfcf;--text-muted: #9a9a9a;--border-color: rgba(255, 255, 255, .12);--accent-color: #2563eb;--accent-hover: #60a5fa;--warning-color: #fbbf24;--success-color: #34d399;--error-color: #f87171;--accent-part1: #10b981;--accent-part2: #f59e0b;--accent-part3: #ef4444;--accent-part4: #6366f1;--shadow-sm: 0 1px 2px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.05);--shadow-md: 0 10px 30px rgba(0,0,0,.7), 0 2px 10px rgba(255,255,255,.05);--shadow-lg: 0 24px 60px rgba(0,0,0,.85), 0 12px 36px rgba(255,255,255,.06);--surface-primary: var(--bg-card);--surface-secondary: var(--bg-card);--surface: var(--bg-card);--surface-color: var(--bg-card);--surface-hover: rgba(255, 255, 255, .07);--surface-muted: var(--bg-card);--surface-info: rgba(96, 165, 250, .18);--surface-info-border: rgba(96, 165, 250, .42);--surface-success: rgba(52, 211, 153, .2);--surface-success-border: rgba(16, 185, 129, .38);--surface-warning: rgba(251, 191, 36, .2);--surface-warning-border: rgba(234, 179, 8, .42);--surface-error: rgba(248, 113, 113, .2);--surface-error-border: rgba(239, 68, 68, .42);--primary-color: var(--accent-color);--primary-color-strong: #1d4ed8;--primary-color-hover: #60a5fa;--accent-color-hover: #3b82f6}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s ease,color .3s ease}[data-theme=dark] html,[data-theme=dark] body,[data-theme=dark] #root{background:var(--bg-primary)}[data-theme=light] html,[data-theme=light] body,[data-theme=light] #root{background:linear-gradient(180deg,var(--bg-secondary),var(--bg-primary))}.disable-transitions *,.disable-transitions *:before,.disable-transitions *:after{transition:none!important;animation:none!important}:root{--bg-primary: #ffffff;--bg-secondary: #f7f9fc;--bg-card: #ffffff;--text-primary: #1a202c;--text-secondary: #334155;--text-muted: #718096;--border-color: #e5e7eb;--accent-color: #2563eb;--accent-hover: #60a5fa;--success-color: #38a169;--error-color: #e53e3e;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--surface-primary: var(--bg-card);--surface-secondary: #f3f4f6;--surface: var(--bg-card);--surface-color: var(--bg-card);--surface-hover: rgba(59, 130, 246, .08);--surface-muted: rgba(148, 163, 184, .08);--primary-color: var(--accent-color);--primary-color-strong: #1d4ed8;--primary-color-hover: #3b82f6;--accent-color-hover: var(--accent-hover)}[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #000000;--bg-card: #000000;--bg-primary-dark: #000000;--bg-secondary-dark: #000000;--bg-card-dark: #000000;--text-primary: #ededed;--text-secondary: #cfcfcf;--text-muted: #9a9a9a;--border-color: rgba(255, 255, 255, .12);--border-color-dark: rgba(255, 255, 255, .12);--accent-color: #2563eb;--accent-hover: #60a5fa;--success-color: #34d399;--error-color: #f87171;--shadow-sm: 0 1px 2px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.05);--shadow-md: 0 10px 30px rgba(0,0,0,.7), 0 2px 10px rgba(255,255,255,.05);--shadow-lg: 0 24px 60px rgba(0,0,0,.85), 0 12px 36px rgba(255,255,255,.06);--surface-primary: var(--bg-card);--surface-secondary: var(--bg-card);--surface: var(--bg-card);--surface-color: var(--bg-card);--surface-hover: rgba(255, 255, 255, .07);--surface-muted: var(--bg-card);--primary-color: var(--accent-color);--primary-color-strong: #1d4ed8;--primary-color-hover: #60a5fa;--accent-color-hover: #3b82f6}*{box-sizing:border-box}.test-list-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:20px;transition:all .3s ease}[data-theme=dark] .test-list-page{background:var(--bg-primary)}[data-theme=dark] .test-card,[data-theme=dark] .pagination-button,[data-theme=dark] .page-info,[data-theme=dark] .back-button,[data-theme=dark] .theme-toggle{backdrop-filter:saturate(110%) blur(12px);-webkit-backdrop-filter:saturate(110%) blur(12px);background:var(--bg-card);border-color:var(--border-color)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:0 8px}.header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-button{display:flex;align-items:center;gap:8px;background:var(--bg-card);color:var(--text-secondary);border:2px solid var(--border-color);padding:12px 20px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.back-button:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}[data-theme=dark] .back-button:hover,[data-theme=dark] .pagination-button:hover:not(:disabled){box-shadow:0 10px 30px #ffffff14,0 0 0 1px #ffffff1a}.theme-toggle{background:var(--bg-card);border:2px solid var(--border-color);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.theme-toggle:hover{transform:rotate(180deg) scale(1.1);box-shadow:var(--shadow-md)}.test-list{display:flex;flex-direction:column;gap:20px;margin-bottom:40px;max-width:1200px;margin-left:auto;margin-right:auto}.test-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;padding:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);transition:all .3s ease;animation:slideInUp .5s ease forwards;opacity:0;transform:translateY(20px)}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.test-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.test-content{flex:1}.test-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.test-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.test-badge{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500}.test-meta,.question-types{display:flex;flex-direction:column;gap:8px}.type-tag{background:var(--bg-secondary);color:var(--text-secondary);padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;border:1px solid var(--border-color)}.start-test-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:var(--shadow-sm);width:120px;justify-content:center}.start-test-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);filter:brightness(1.1)}.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:40px}.pagination-button{background:var(--bg-card);color:var(--text-secondary);border:2px solid var(--border-color);padding:12px 24px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:var(--shadow-sm)}.pagination-button:hover:not(:disabled){background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.page-info{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.page-number{background:var(--accent-color);color:#fff;padding:4px 12px;border-radius:8px;font-weight:600}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{font-size:18px;color:var(--text-secondary);font-weight:500}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.error-icon{font-size:48px}.error-container p{font-size:18px;color:var(--error-color);font-weight:500;text-align:center}.retry-button{background:var(--error-color);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);filter:brightness(1.1)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}::highlight(highlight-yellow){background-color:#fbbf244d;color:inherit}::highlight(highlight-note){background-color:#22c55e40;color:inherit;border-bottom:2px solid rgba(34,197,94,.4)}[data-theme=dark] ::highlight(highlight-yellow){background-color:#fbbf2433}[data-theme=dark] ::highlight(highlight-note){background-color:#22c55e33;border-bottom-color:#22c55e4d}@media (max-width: 768px){.test-list-page{padding:16px}.header{flex-direction:column;gap:16px;text-align:center}.header h1{font-size:2rem}.test-card{flex-direction:column;gap:20px;text-align:center}.test-header{flex-direction:column;gap:12px}.pagination{flex-direction:column;gap:16px}[data-highlight-tooltip=true]{font-size:14px!important;padding:3px!important;gap:3px!important}[data-highlight-tooltip=true] button{min-width:45px!important;padding:8px 12px!important;font-size:13px!important}}.app{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}#root{margin:0;padding:0;width:100%;height:100%;min-height:100vh;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box;overflow-x:hidden}button:focus,input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-color);outline-offset:2px}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}
