:root{--c-primary:#667eea;--c-secondary:#764ba2;--c-accent:#f093fb;--c-gradient:linear-gradient(135deg, var(--c-primary), var(--c-secondary));--c-success:#43a047;--c-success-bg:#e8f5e9;--c-error:#e53935;--c-error-bg:#ffebee;--c-warning-bg:#fff8e1;--c-warning-border:#ffe082;--c-text:#444;--c-text-light:#888;--c-text-muted:#aaa;--c-border:#e0e4f0;--c-bg-soft:#f8f8ff;--c-white:#fff;--fs-xs:12px;--fs-sm:13px;--fs-base:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:28px;--fs-3xl:40px;--fs-4xl:52px;--fs-5xl:56px;--fs-6xl:72px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:28px;--radius-sm:12px;--radius-md:14px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-3xl:40px;--radius-full:999px;--shadow-sm:0 2px 8px #667eea1f;--shadow-md:0 4px 14px #667eea4d;--shadow-lg:0 6px 20px #667eea66;--shadow-card:0 20px 60px #0000001f;--transition:all .2s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%}body{background:#b4d5ee fixed;font-family:Nunito,Segoe UI,sans-serif;overflow:hidden}#app{display:flex}.sidebar{-webkit-backdrop-filter:blur(20px);z-index:10;background:#ffffffad;border-right:1px solid #ffffff80;flex-direction:column;width:220px;min-width:220px;height:100vh;transition:width .25s,min-width .25s;display:flex;position:relative}.sidebar-scroll{flex:1;padding:24px 16px 0;overflow-y:auto}.sidebar.collapsed{width:60px;min-width:60px}.sidebar.collapsed .sidebar-scroll{padding:16px 8px 0}.sidebar.collapsed .sidebar-header h1,.sidebar.collapsed .sidebar-header .tagline,.sidebar.collapsed .sidebar-header .version-info{display:none}.sidebar.collapsed .sidebar-header{margin-bottom:12px;padding-bottom:12px}.sidebar.collapsed .sidebar-header .logo-row{margin:0}.sidebar.collapsed .logo-icon{font-size:24px}.sidebar-header{text-align:left;border-bottom:1px solid var(--c-border);margin-bottom:20px;padding-bottom:16px}.sidebar .logo-row{justify-content:flex-start;align-items:center;gap:8px;margin-bottom:4px;display:flex}.sidebar .logo-icon{font-size:22px;animation:2.5s ease-in-out infinite logo-bounce}@keyframes logo-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-4px)rotate(-5deg)}60%{transform:translateY(-1px)rotate(3deg)}}.sidebar h1{background:var(--c-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:900}.sidebar .tagline{color:var(--c-text-muted);margin-top:2px;font-size:12px;font-weight:600}.main-content{-webkit-backdrop-filter:blur(16px);background:#ffffffad;flex-direction:column;flex:1;height:100vh;padding:24px 32px;display:flex;overflow-y:auto}.content-body{flex-direction:column;flex:1;display:flex}.tb-action-btn{border:1px solid var(--c-border);background:var(--c-bg-card,#fff);color:var(--c-primary);cursor:pointer;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;transition:all .15s}.tb-action-btn:hover{background:var(--c-primary);color:#fff}@media (width>=769px){.tb-action-btn{display:none}}.breadcrumb{color:var(--c-text-muted);flex-shrink:0;align-items:center;gap:6px;min-width:0;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}.top-bar .breadcrumb{margin-bottom:0}@media (width<=700px){.top-bar .breadcrumb{text-overflow:ellipsis;white-space:nowrap;gap:4px;font-size:12px;overflow:hidden}}.breadcrumb-cat{color:var(--c-text-light)}.breadcrumb-sep{color:var(--c-text-muted);font-size:14px}.breadcrumb-page{color:var(--c-primary);font-weight:800}.sidebar-toggle{cursor:pointer;width:28px;height:28px;color:var(--c-text-light);border:1px solid var(--c-border);box-shadow:var(--shadow-sm);z-index:5;-webkit-user-select:none;user-select:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex;position:absolute;bottom:24px;right:16px}.sidebar-toggle:hover{color:var(--c-primary);border-color:var(--c-primary);box-shadow:0 2px 8px #667eea26}.sidebar.collapsed .sidebar-toggle{bottom:24px}.hamburger-btn{z-index:110;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid var(--c-border);width:44px;height:44px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--c-primary);background:#fffffff2;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:none;position:fixed;top:12px;left:12px}.hamburger-btn:active{transform:scale(.92)}.sidebar-overlay{z-index:99;opacity:0;pointer-events:none;background:#00000059;transition:opacity .25s;display:none;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;pointer-events:auto}@media (width<=1024px){.hamburger-btn{display:flex}.sidebar{z-index:112;height:100vh;box-shadow:var(--shadow-lg);transition:transform .3s cubic-bezier(.4,0,.2,1),width .25s,min-width .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{display:block}.main-content{padding:60px 20px 16px}.sidebar-toggle{display:none}}@media (width<=768px){.main-content{padding:0}.hamburger-btn{display:none}.sidebar-overlay{z-index:111}}@media (width<=420px){.main-content{padding:0}.hamburger-btn{width:36px;height:36px;font-size:16px;top:6px;left:6px}}@media (width>=1025px){.sidebar{transform:translate(0)}.sidebar-overlay{display:none!important}}.select-wrap{position:relative}.select-wrap:after{content:"";background:currentColor;background-color:var(--c-text-light);pointer-events:none;width:14px;height:14px;position:absolute;top:50%;right:8px;transform:translateY(-50%);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.set-select{appearance:none;border-radius:var(--radius-lg);font-size:var(--fs-sm);color:var(--c-primary);background:var(--c-bg-soft);border:1.5px solid var(--c-border);cursor:pointer;outline:none;padding:6px 24px 6px 12px;font-family:Nunito,sans-serif;font-weight:700}.set-select:hover,.set-select:focus{border-color:var(--c-primary)}.btn{border-radius:var(--radius-3xl);background:var(--c-gradient);color:var(--c-white);font-size:var(--fs-base);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md);border:none;padding:8px 28px;font-family:Nunito,sans-serif;font-weight:800}.btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn:active{transform:scale(.96)}.chip-btn{border-radius:var(--radius-full);border:1.5px solid var(--c-border);background:var(--c-bg-soft);color:var(--c-text-light);font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);padding:4px 14px;font-family:Nunito,sans-serif;font-weight:700}.chip-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.chip-btn.active{border-color:var(--c-primary);background:var(--c-gradient);color:var(--c-white)}.config-bar{margin-bottom:var(--space-sm);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.config-group{align-items:center;gap:6px;display:flex}.config-label{font-size:var(--fs-xs);color:var(--c-text-muted);font-weight:700}.config-btn-group{gap:var(--space-xs);display:flex}.center-content{flex-direction:column;align-items:center;gap:12px;padding:40px 0;display:flex}.big-icon{font-size:60px}.hint-text{color:var(--c-text-muted);font-size:var(--fs-base);font-weight:600}.result-title{font-size:var(--fs-xl);color:#555;font-weight:800}.progress-text{font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:var(--space-sm);font-weight:700}.options-grid{grid-template-columns:1fr 1fr;gap:10px;max-width:400px;margin:0 auto 12px;display:grid}.option-btn{border-radius:var(--radius-md);border:2px solid var(--c-border);background:var(--c-white);color:var(--c-text);cursor:pointer;transition:var(--transition);padding:14px 10px;font-family:Nunito,sans-serif;font-size:18px;font-weight:700}.option-btn:hover:not(.disabled){border-color:var(--c-primary);background:var(--c-bg-soft);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.option-btn:active:not(.disabled){transform:scale(.96)}.option-btn.correct{border-color:var(--c-success);background:var(--c-success-bg);color:var(--c-success)}.option-btn.wrong{border-color:var(--c-error);background:var(--c-error-bg);color:var(--c-error)}.option-btn.selected{border-color:var(--c-primary);color:var(--c-primary);background:#667eea1f}.option-btn.disabled{cursor:default;opacity:.7}.option-btn.correct.disabled{opacity:1}.game-stats{justify-content:center;gap:20px;margin-top:10px;display:flex}.stat{font-size:var(--fs-base);font-weight:800}.stat-correct{color:var(--c-success)}.stat-wrong{color:var(--c-error)}.score-display{font-size:var(--fs-2xl);align-items:center;gap:8px;font-weight:800;display:flex}.score-correct{color:var(--c-success)}.score-total{color:var(--c-primary)}.score-divider{color:#ccc}.game-body{padding:10px 0}.fade-enter-active,.fade-leave-active{transition:opacity .25s,transform .25s}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-leave-to{opacity:0;transform:translateY(-10px)}@media (width<=1024px){.center-content{padding:32px 0}.big-icon{font-size:52px}.config-bar{gap:8px}}@media (width<=700px){.center-content{padding:28px 0}.big-icon{font-size:48px}.options-grid{gap:8px}.btn{padding:10px 24px;font-size:15px}.game-stats{gap:14px}.game-stats .stat{font-size:14px}}@media (width<=420px){.big-icon{font-size:40px}.hint-text{font-size:14px}.result-title{font-size:var(--fs-lg)}.btn{padding:8px 20px;font-size:14px}.score-display{font-size:var(--fs-xl)}.options-grid{gap:6px;max-width:320px}.option-btn{padding:12px 8px;font-size:15px}.game-stats{gap:10px}.chip-btn{padding:4px 10px;font-size:11px}.config-bar{gap:6px}}@media (height>=800px){.center-content{padding:52px 0}}@media print{html,body,#app{background:#fff!important;height:auto!important;display:block!important;overflow:visible!important}.sidebar,.sidebar-overlay,.sidebar-toggle,.hamburger-btn,.top-bar,.breadcrumb,.ai-assistant,.no-print{display:none!important}.app-layout{height:auto!important;display:block!important}.main-content{-webkit-backdrop-filter:none!important;background:#fff!important;height:auto!important;max-height:none!important;padding:0!important;overflow:visible!important}.content-body{display:block!important}.fade-enter-active,.fade-leave-active{transition:none!important}.fade-enter-from,.fade-leave-to{opacity:1!important;transform:none!important}@page{margin:12mm;size:A4}}.sidebar-nav[data-v-941c119f]{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.category-btn[data-v-941c119f]{border-radius:var(--radius-md);cursor:pointer;color:var(--c-text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.category-btn[data-v-941c119f]:hover{color:var(--c-primary);background:#667eea14}.cat-icon[data-v-941c119f]{text-align:center;width:24px;font-size:16px}.cat-label[data-v-941c119f]{flex:1}.cat-arrow[data-v-941c119f]{color:var(--c-text-muted);transition:transform .2s}.category-btn.expanded .cat-arrow[data-v-941c119f]{color:var(--c-primary);transform:rotate(90deg)}.sidebar-nav.collapsed .category-btn[data-v-941c119f]{justify-content:center;padding:10px 4px}.sidebar-nav.collapsed .cat-icon[data-v-941c119f]{width:auto;font-size:18px}.sub-group-label[data-v-941c119f]{color:var(--c-text-light);text-transform:uppercase;letter-spacing:.5px;opacity:.6;padding:10px 14px 4px;font-size:10px;font-weight:700}.sub-items[data-v-941c119f]{border-left:2px solid var(--c-border);flex-direction:column;gap:1px;margin-left:8px;padding-left:12px;display:flex}.sub-item[data-v-941c119f]{border-radius:var(--radius-sm);color:var(--c-text-light);align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sub-item[data-v-941c119f]:hover{color:var(--c-primary);background:#667eea0f}.sub-item.active[data-v-941c119f]{color:var(--c-primary);background:#667eea1a;font-weight:800}.sub-icon[data-v-941c119f]{text-align:center;width:20px;font-size:14px}@media (width<=1024px){.category-btn[data-v-941c119f]{padding:12px 16px;font-size:15px}.cat-icon[data-v-941c119f]{font-size:18px}.sub-item[data-v-941c119f]{padding:10px 16px;font-size:14px}.sub-icon[data-v-941c119f]{font-size:16px}}@media (width<=768px){.category-btn[data-v-941c119f]{padding:14px 18px}.sub-item[data-v-941c119f]{padding:12px 18px}}.user-menu[data-v-30fbf8c2]{flex-shrink:0;align-items:center;gap:12px;display:flex}.user-greeting[data-v-30fbf8c2]{color:var(--c-text);white-space:nowrap;font-size:13px;font-weight:600}.logout-btn[data-v-30fbf8c2]{border:1px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text-muted);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 12px;font-size:12px;font-weight:600;transition:all .15s}.logout-btn[data-v-30fbf8c2]:hover{color:#e53935;background:#e539350d;border-color:#e53935}.ai-fab[data-v-177ee561]{border-radius:var(--radius-full);background:var(--c-gradient);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:var(--shadow-lg);z-index:1000;transition:var(--transition);border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:16px;right:24px}.ai-fab[data-v-177ee561]:hover{transform:scale(1.08);box-shadow:0 8px 28px #667eea80}.ai-fab[data-v-177ee561]:active{transform:scale(.95)}.ai-popup[data-v-177ee561]{background:var(--c-white);border-radius:var(--radius-lg);width:380px;height:520px;box-shadow:var(--shadow-card);z-index:1000;flex-direction:column;display:flex;position:fixed;bottom:16px;right:24px;overflow:hidden}.ai-popup.maximized[data-v-177ee561]{width:calc(100vw - 32px);max-width:720px;height:calc(100vh - 32px);bottom:16px;right:16px}.popup-enter-active[data-v-177ee561]{transition:all .25s}.popup-leave-active[data-v-177ee561]{transition:all .2s}.popup-enter-from[data-v-177ee561]{opacity:0;transform:translateY(12px)scale(.95)}.popup-leave-to[data-v-177ee561]{opacity:0;transform:translateY(8px)scale(.97)}.ai-popup-header[data-v-177ee561]{background:var(--c-gradient);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ai-popup-header[data-v-177ee561]:active,.ai-popup.dragging .ai-popup-header[data-v-177ee561]{cursor:grabbing}.ai-popup.dragging[data-v-177ee561]{transition:none;box-shadow:0 12px 40px #0003}.ai-popup-title[data-v-177ee561]{font-size:var(--fs-base);align-items:center;gap:8px;font-weight:700;display:flex}.title-icon[data-v-177ee561]{opacity:.9}.ai-popup-actions[data-v-177ee561]{align-items:center;gap:4px;display:flex}.ai-header-btn[data-v-177ee561]{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ffffff26;border:none;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.ai-header-btn[data-v-177ee561]:hover{background:#ffffff4d}.ai-messages[data-v-177ee561]{background:var(--c-bg-soft);flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ai-welcome[data-v-177ee561]{text-align:center;padding:24px 8px}.ai-welcome-icon[data-v-177ee561]{margin-bottom:12px;font-size:48px}.ai-welcome-text[data-v-177ee561]{font-size:var(--fs-sm);color:var(--c-text-light);margin-bottom:16px;line-height:1.7}.ai-suggestions[data-v-177ee561]{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ai-suggestion-btn[data-v-177ee561]{border-radius:var(--radius-full);border:1px solid var(--c-border);background:var(--c-white);color:var(--c-primary);font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);padding:6px 14px}.ai-suggestion-btn[data-v-177ee561]:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.ai-message[data-v-177ee561]{gap:8px;max-width:100%;display:flex}.ai-message.user[data-v-177ee561]{flex-direction:row-reverse}.ai-avatar[data-v-177ee561]{border-radius:var(--radius-full);background:var(--c-gradient);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;display:flex}.ai-message.user .ai-avatar[data-v-177ee561]{background:var(--c-text-light)}.ai-bubble[data-v-177ee561]{border-radius:var(--radius-md);max-width:78%;font-size:var(--fs-sm);word-break:break-word;white-space:pre-wrap;padding:10px 14px;line-height:1.6}.ai-message.assistant .ai-bubble[data-v-177ee561]{background:var(--c-white);color:var(--c-text);border:1px solid var(--c-border);border-top-left-radius:var(--radius-xs)}.ai-message.user .ai-bubble[data-v-177ee561]{background:var(--c-gradient);color:#fff;border-top-right-radius:var(--radius-xs)}.ai-bubble-text[data-v-177ee561]{display:inline}.ai-cursor[data-v-177ee561]{color:var(--c-primary);font-weight:700;animation:.8s infinite blink-177ee561;display:inline}@keyframes blink-177ee561{0%,to{opacity:1}50%{opacity:0}}.ai-dot[data-v-177ee561]{color:var(--c-text-muted);font-size:20px;font-weight:700;animation:1.2s infinite dotBounce-177ee561;display:inline-block}.ai-dot-2[data-v-177ee561]{animation-delay:.2s}.ai-dot-3[data-v-177ee561]{animation-delay:.4s}@keyframes dotBounce-177ee561{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.ai-input-area[data-v-177ee561]{border-top:1px solid var(--c-border);background:var(--c-white);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.ai-input[data-v-177ee561]{border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--fs-sm);resize:none;outline:none;flex:1;max-height:100px;padding:10px 14px;font-family:inherit;line-height:1.5;transition:border-color .15s}.ai-input[data-v-177ee561]:focus{border-color:var(--c-primary)}.ai-input[data-v-177ee561]::placeholder{color:var(--c-text-muted)}.ai-send-btn[data-v-177ee561]{border-radius:var(--radius-full);background:var(--c-gradient);color:#fff;cursor:pointer;width:38px;min-width:38px;height:38px;transition:var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-send-btn[data-v-177ee561]:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:scale(1.06)}.ai-send-btn[data-v-177ee561]:disabled{opacity:.5;cursor:not-allowed}.spinning[data-v-177ee561]{animation:1s linear infinite spin-177ee561}@keyframes spin-177ee561{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=480px){.ai-popup[data-v-177ee561]{width:calc(100vw - 16px);height:460px;bottom:8px;right:8px}.ai-fab[data-v-177ee561]{width:46px;height:46px;bottom:8px;right:16px}.ai-suggestion-btn[data-v-177ee561]{padding:5px 10px;font-size:11px}}.app-guest[data-v-2b73e4c3]{width:100%;height:100%}.app-layout[data-v-2b73e4c3]{width:100%;height:100%;display:flex}.top-bar[data-v-2b73e4c3]{justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:8px 24px 0;display:flex}.top-bar-hamburger[data-v-2b73e4c3]{display:none}.top-bar-right[data-v-2b73e4c3]{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=1024px){.top-bar[data-v-2b73e4c3]{padding:8px 16px 0}}@media (width<=768px){.top-bar[data-v-2b73e4c3]{z-index:111;background:var(--c-bg-card,#fff);border-bottom:1px solid var(--c-border);justify-content:flex-start;min-height:40px;padding:6px 8px;position:sticky;top:0}.top-bar-right[data-v-2b73e4c3]{margin-left:auto}.top-bar-hamburger[data-v-2b73e4c3]{width:32px;height:32px;color:var(--c-primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}#topbar-actions[data-v-2b73e4c3]{align-items:center;gap:6px;display:flex}}.version-info[data-v-2b73e4c3]{color:var(--c-text-muted);opacity:.6;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;overflow:hidden}
