:root{--bg-base: #EAF0FA;--bg-soft: #F2F6FC;--bg-warm: #EEF0FA;--primary: #2d3f5d;--primary-hover: #4F6FA2;--primary-light: #7897C8;--primary-soft: #E4EBF7;--accent: #62A196;--accent-soft: #E7F4F1;--accent-purple: #8275B5;--accent-purple-soft: #EEEAF8;--accent-pink: #D09AAD;--accent-pink-soft: #F8ECF1;--success: #4F8A7F;--warning: #B9854D;--danger: #C9657A;--text-main: #090e17;--text-muted: #122138;--text-soft: #3c4d67;--text-inverse: rgba(255, 255, 255, .94);--border: rgba(95, 127, 179, .22);--border-light: rgba(95, 127, 179, .14);--glass-white: rgba(255, 255, 255, .68);--glass-strong: rgba(255, 255, 255, .82);--glass-blue: rgba(235, 242, 252, .72);--glass-green: rgba(231, 244, 241, .64);--glass-warm: rgba(248, 236, 241, .58);--glass-dark: rgba(95, 127, 179, .08);--glass-blur: blur(18px);--shadow-sm: 0 5px 14px rgba(50, 72, 110, .07);--shadow-md: 0 12px 30px rgba(50, 72, 110, .1);--shadow-lg: 0 22px 58px rgba(50, 72, 110, .13);--shadow-hover: 0 16px 34px rgba(50, 72, 110, .14);--classroom-bg: var(--bg-base);--classroom-bg-soft: var(--bg-soft);--classroom-surface: var(--glass-strong);--classroom-surface-soft: var(--glass-white);--classroom-surface-tint: var(--glass-blue);--classroom-title: var(--primary);--classroom-text: var(--text-main);--classroom-muted: var(--text-muted);--classroom-soft: var(--text-soft);--classroom-accent: var(--primary-hover);--classroom-accent-light: var(--primary-light);--classroom-accent-soft: var(--primary-soft);--classroom-border: var(--border);--classroom-border-light: var(--border-light);--classroom-danger: var(--danger);--classroom-success: var(--success);--classroom-shadow: var(--shadow-md);--classroom-shadow-hover: var(--shadow-hover);--chat-bg: var(--bg-base);--chat-surface: var(--glass-strong);--chat-surface-soft: var(--glass-white);--chat-surface-tint: var(--glass-blue);--chat-title: var(--primary);--chat-text: var(--text-main);--chat-muted: var(--text-soft);--chat-accent: var(--primary-hover);--chat-accent-soft: var(--primary-soft);--chat-border: var(--border);--chat-border-light: var(--border-light);--chat-shadow: var(--shadow-md);--chat-shadow-strong: var(--shadow-lg);--chat-focus-ring: rgba(79, 111, 162, .12);--resource-bg: var(--bg-base);--resource-bg-soft: var(--bg-soft);--resource-surface: var(--glass-strong);--resource-surface-soft: var(--glass-white);--resource-title: var(--primary);--resource-text: var(--text-main);--resource-muted: var(--text-soft);--resource-accent: var(--primary-hover);--resource-accent-soft: var(--primary-soft);--resource-border: var(--border);--resource-border-light: var(--border-light);--resource-shadow: var(--shadow-md);--resource-shadow-hover: var(--shadow-hover);--resource-focus-ring: rgba(79, 111, 162, .12);--resource-document: var(--primary-hover);--resource-mindmap: var(--accent);--resource-code: var(--accent-purple);--resource-video: var(--warning);--resource-quiz: var(--danger);--sidebar-start: #243a63;--sidebar-mid: #435b83;--sidebar-end: #465c81;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{height:100vh;overflow:hidden;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;background-color:var(--bg-base);background-image:radial-gradient(circle at 18% 12%,rgba(126,154,205,.28),transparent 30%),radial-gradient(circle at 80% 18%,rgba(157,139,205,.2),transparent 28%),radial-gradient(circle at 72% 78%,rgba(122,181,169,.16),transparent 26%),linear-gradient(135deg,#eaf0fa,#e2eaf6 48%,#eef0fa)}#app{display:flex;width:100vw;height:100vh;overflow:hidden;padding:0;gap:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#5f7fb32e;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#5f7fb347}.app-sidebar{position:relative;width:252px;flex-shrink:0;min-height:0;overflow:hidden;z-index:10;padding:22px 14px 16px;display:flex;flex-direction:column;border-right:1px solid rgba(210,222,245,.32);background:radial-gradient(circle at 20% 8%,rgba(210,222,245,.14),transparent 34%),radial-gradient(circle at 78% 82%,rgba(170,155,210,.13),transparent 36%),linear-gradient(180deg,var(--sidebar-start) 0%,var(--sidebar-mid) 48%,var(--sidebar-end) 100%);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:width .24s ease,padding .24s ease}.sidebar-toggle{position:absolute;top:31px;right:10px;z-index:20;width:30px;height:38px;border:1px solid rgba(235,242,255,.28);border-radius:12px;background:#ffffff1f;color:var(--text-inverse);box-shadow:inset 0 0 0 1px #ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit;font-size:21px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s,transform .2s}.sidebar-toggle:hover{border-color:#ebf2ff85;background:#ffffff38;transform:translate(-1px)}.sidebar-toggle:focus-visible{outline:2px solid rgba(255,255,255,.84);outline-offset:2px}.app-sidebar.collapsed{width:82px;padding-right:10px;padding-left:10px}.app-sidebar.collapsed .sidebar-scroll{padding-right:0;scrollbar-gutter:auto}.app-sidebar.collapsed .brand{justify-content:center;margin-bottom:50px;padding-right:0;padding-left:0}.app-sidebar.collapsed .sidebar-toggle{top:88px;right:25px;width:32px;height:30px;border-radius:10px}.app-sidebar.collapsed .brand img{width:50px;height:50px}.app-sidebar.collapsed .brand div,.app-sidebar.collapsed .nav-item>span:not(.nav-icon),.app-sidebar.collapsed .nav-item>i,.app-sidebar.collapsed .sidebar-motto,.app-sidebar.collapsed .sidebar-user-info,.app-sidebar.collapsed .settings-user-link{display:none}.app-sidebar.collapsed .nav-list{align-items:center}.app-sidebar.collapsed .nav-item{width:52px;min-height:48px;padding:8px;grid-template-columns:1fr;gap:0;justify-items:center}.app-sidebar.collapsed .nav-item:hover{transform:none}.app-sidebar.collapsed .nav-icon{width:32px;height:32px}.app-sidebar.collapsed .sidebar-user-panel{padding:7px;grid-template-columns:1fr;justify-items:center;background:transparent;border-color:transparent}.app-sidebar.collapsed .avatar-button{width:44px;height:44px}.app-sidebar>div,.sidebar-inner{display:flex;flex:1;min-height:0;flex-direction:column;height:100%}.sidebar-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#ffffff3d;border-radius:999px}.brand{color:var(--text-inverse);display:flex;align-items:center;gap:12px;margin-bottom:28px;padding:4px 42px 14px 4px;font-size:inherit;letter-spacing:0}.brand:before{display:none}.brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(45,70,120,.22))}.brand div{display:grid;gap:1px;min-width:0}.brand strong{color:#fffffff0;font-size:20px;line-height:1.25;letter-spacing:.02em}.brand small{color:#ffffffc7;font-size:12px;font-weight:700}.nav-list{list-style:none;display:flex;flex-direction:column;gap:10px}.nav-item{min-height:46px;padding:11px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#f2f7ffd1;cursor:pointer;display:grid;grid-template-columns:30px minmax(0,1fr) 14px;gap:8px;align-items:center;text-decoration:none;font-size:15px;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-item:hover{color:#fff;background:#ffffff24;border-color:#ebf2ff3d;transform:translate(2px)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#ffffff3d,#d2def524);border-color:#ebf2ff57;box-shadow:inset 0 0 0 1px #ffffff14}.nav-item:after,.nav-item.active:after{display:none}.nav-icon{width:30px;height:30px;border-radius:6px;background:#ebf2ff21;display:inline-flex;align-items:center;justify-content:center;color:#eef4ff;font-size:16px}.nav-item i{font-style:normal;opacity:.72;font-size:20px;line-height:1}.sidebar-section-title{margin:28px 0 12px 8px;color:#eef5ff9e;font-size:12px;font-weight:700;letter-spacing:.08em}.sidebar-sessions{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;overflow:visible;flex:none;max-height:none}.sidebar-session-item{padding:12px 14px;border-radius:7px;cursor:pointer;color:#f2f7ffc2;background:#ffffff1c;border:1px solid rgba(235,242,255,.16);transition:all .15s;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500}.sidebar-session-item:hover{color:#fff;background:#ffffff2e}.sidebar-session-item.active{color:#fff;background:#ffffff38;border-color:#ebf2ff42;font-weight:600}.session-item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-left:8px}.sidebar-session-count{font-size:10px;opacity:.5}.session-delete-btn{width:22px;height:22px;border:none;border-radius:999px;background:transparent;color:#f2f7ffb8;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:18px;line-height:1;opacity:0;transition:all .15s}.sidebar-session-item:hover .session-delete-btn,.session-delete-btn:focus-visible{opacity:1}.session-delete-btn:hover{background:#c9657a24;color:#fff}.sidebar-session-empty{padding:24px 0;text-align:center;color:#f2f7ff85;font-size:12px}.sidebar-motto,.sidebar-footer{flex-shrink:0;margin-top:26px;padding:18px 10px 0;border-top:1px solid rgba(235,242,255,.2);color:#eef5ffad;display:grid;gap:5px;font-size:12px;line-height:1.55}.sidebar-motto strong{margin-top:3px;color:#ffffffeb;font-size:13px}.sidebar-user-panel{flex-shrink:0;margin-top:16px;padding:12px;border:1px solid rgba(235,242,255,.22);border-radius:8px;background:#ffffff1c;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px}.avatar-button{width:44px;height:44px;border:0;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--primary-light),var(--accent-purple));color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #2d467838}.avatar-button img,.topbar-user img,.settings-avatar img,.cover-preview img{width:100%;height:100%;object-fit:cover}.sidebar-user-info{min-width:0;display:flex;flex-direction:column;line-height:1.35}.sidebar-user-info strong,.sidebar-user-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-info strong{color:#ffffffeb;font-size:14px}.sidebar-user-info small{color:#ebf3ffad;font-size:12px}.logout-btn{border:0;border-radius:7px;padding:7px 10px;background:#ffffff24;color:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.logout-btn:hover{background:#ffffff3d}.settings-user-link{text-decoration:none}.avatar-file-input{display:none}.app-main{flex:1;display:flex;flex-direction:column;background:transparent;position:relative;overflow:hidden;border:none;box-shadow:none}.header{min-height:74px;height:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border-light);background:#f5f8fdb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-title{font-size:15px;letter-spacing:.04em}.topbar-greeting,.topbar-status{display:flex;align-items:center;gap:12px;min-width:0}.topbar-greeting strong{color:var(--text-main);font-size:18px;font-weight:900}.topbar-greeting span,.status-chip{min-height:34px;padding:0 14px;border-radius:10px;display:inline-flex;align-items:center;border:1px solid var(--border);background:#ffffffad;color:var(--primary);font-size:13px;font-weight:850;box-shadow:var(--shadow-sm)}.status-chip:nth-child(1){color:var(--success);background:linear-gradient(135deg,#e7f4f1db,#ffffffa8)}.notify-btn,.topbar-user{border:1px solid var(--border);background:#ffffffb8;box-shadow:var(--shadow-sm);cursor:pointer}.notify-btn{position:relative;width:38px;height:38px;border-radius:8px;color:var(--text-main);font-size:18px}.notify-btn b{position:absolute;right:-5px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:5px;background:var(--danger);color:#fff;font-size:10px;line-height:17px}.topbar-user{width:38px;height:38px;padding:0;border-radius:8px;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--primary-light),var(--accent-purple));font-weight:900}.topbar-status>strong{color:var(--text-main);font-size:14px;white-space:nowrap}.topbar-status>i{color:var(--text-muted);font-style:normal}.header-student-badge{background:#ffffffd9;border:1px solid var(--border);padding:7px 18px;border-radius:20px;font-size:14px;font-weight:600;color:var(--primary);box-shadow:var(--shadow-sm)}.page-container{flex:1;overflow-y:auto;padding:34px 42px 40px;display:flex;flex-direction:column}.glass-card{background:var(--glass-white);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-md);margin-bottom:24px;transition:transform .2s,box-shadow .2s}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.glass-card.card-green{background:var(--glass-green);border-color:#62a19633}.btn-primary,.btn-secondary,.btn-outline,.new-session-btn,.app-dialog-btn{font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-primary,.new-session-btn{border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-weight:700}.btn-primary{padding:14px 32px;font-size:16px}.new-session-btn{width:100%;margin-top:auto;padding:12px 20px;font-size:15px;box-shadow:none}.btn-primary:hover,.new-session-btn:hover{background:linear-gradient(135deg,var(--primary-hover),var(--primary));box-shadow:0 4px 16px #32486e2e}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:#ffffffc7;color:var(--primary);border:1px solid var(--border);padding:13px 30px;border-radius:var(--radius-sm);font-size:16px;font-weight:700}.btn-secondary:hover{background:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.btn-outline{background:#ffffff6b;color:var(--primary);border:1px solid var(--border);padding:8px 18px;border-radius:6px;font-size:13px;font-weight:700}.btn-outline:hover{border-color:var(--primary);background:#e4ebf794}.btn-sm{padding:9px 20px!important;font-size:14px!important;border-radius:6px!important}.w-full{width:100%}.spinner{width:28px;height:28px;border:3px solid rgba(95,127,179,.14);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.alert-info{background:var(--glass-green);border-left:4px solid var(--accent);padding:18px 22px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:15px;color:var(--success);line-height:1.7;margin-bottom:20px}.welcome-box{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px}.welcome-card{max-width:560px;background:var(--glass-white);border:1px solid var(--border);padding:48px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.welcome-card h3,.section-title,.ppt-intro-card h3{color:var(--primary)}.welcome-card h3{font-size:22px;font-weight:700;margin-bottom:16px}.welcome-card p,.ppt-intro-card p{color:var(--text-muted);line-height:1.8}.task-label{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.08em;margin-bottom:16px;display:block}.code-block{background:#e4ebf785;border:1px solid var(--border);border-radius:8px;padding:20px;margin:16px 0;overflow-x:auto;font-family:Courier New,Consolas,monospace;font-size:15px}.code-header{font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.inline-code{background:#e4ebf7b8;color:#a64e6b;padding:3px 8px;border-radius:4px;font-family:Consolas,monospace;font-size:15px}.section-title{font-size:18px;font-weight:700;margin-bottom:20px}.ppt-intro-card{margin-bottom:20px;padding:28px 36px}.ppt-intro-card h3{font-size:22px;font-weight:700;margin-bottom:8px}.ppt-intro-card p{font-size:15px}.settings-entry{margin-top:12px;padding:12px 16px;border-radius:999px;background:#ffffff5c;border:1px solid rgba(255,255,255,.26);color:#f2f7ffd1;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s}.settings-entry:after{content:"";width:9px;height:9px;border-radius:999px;background:currentColor;opacity:.45}.settings-entry:hover,.settings-entry.active{background:#ffffff2e;color:#fff;border-color:#ebf2ff3d}.auth-page{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px}.auth-visual,.auth-panel{border:1px solid rgba(255,255,255,.55);border-radius:36px;box-shadow:var(--shadow-md)}.auth-visual{position:relative;overflow:hidden;padding:42px;display:flex;flex-direction:column;justify-content:space-between;min-width:0;background:radial-gradient(circle at 18% 16%,rgba(95,127,179,.15),transparent 28%),radial-gradient(circle at 74% 26%,rgba(130,117,181,.13),transparent 30%),linear-gradient(135deg,#ffffff61,#ebf2fc5c)}.auth-cover-image{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat;z-index:0}.auth-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f2f6fc29;pointer-events:none}.auth-brand,.auth-copy,.auth-metrics{position:relative;z-index:1}.auth-brand{display:inline-flex;align-items:center;gap:12px;color:var(--primary);font-size:24px;font-weight:800;letter-spacing:-.03em}.auth-mark{width:18px;height:18px;border-radius:6px;background:var(--primary);box-shadow:0 0 0 8px #5f7fb324}.auth-copy{max-width:720px}.auth-kicker{margin-bottom:12px;color:var(--text-muted);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-copy h1{max-width:760px;color:var(--primary);font-size:46px;line-height:1.16;letter-spacing:0;margin-bottom:18px}.auth-copy p:last-child{max-width:560px;color:var(--text-main);font-size:17px}.auth-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:620px}.auth-metrics div{padding:16px 18px;border-radius:24px;background:#ffffffb3;border:1px solid var(--border)}.auth-metrics strong{display:block;color:var(--primary);font-size:18px}.auth-metrics span{color:var(--text-muted);font-size:13px}.auth-panel{padding:32px;background:#ffffffc7;display:flex;flex-direction:column;justify-content:center}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:999px;background:#5f7fb314;margin-bottom:26px}.auth-tabs button{height:44px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label,.profile-fields label{display:flex;flex-direction:column;gap:8px;color:var(--primary);font-size:14px;font-weight:700}.auth-form input,.profile-fields input{width:100%;border:1px solid var(--border);border-radius:18px;background:#ffffffdb;padding:0 16px;color:var(--text-main);outline:none;font:inherit;font-size:15px}.auth-form input{height:52px}.profile-fields input{height:50px}.auth-form input:focus,.profile-fields input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #5f7fb31a}.auth-error{color:var(--danger);background:#c9657a1a;border-radius:16px;padding:10px 12px;font-size:13px}.auth-submit{width:100%;height:52px;margin-top:4px}.settings-page{gap:24px}.settings-hero,.settings-panel{background:#ffffffb8;border:1px solid var(--border);box-shadow:var(--shadow-md)}.settings-hero{padding:30px 34px;border-radius:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.settings-hero h2{color:var(--primary);font-size:28px;line-height:1.25;margin-bottom:8px}.settings-hero p,.settings-panel-header p{color:var(--text-muted);font-size:15px}.settings-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.settings-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.settings-panel{padding:28px;border-radius:30px}.settings-panel-header{margin-bottom:24px}.settings-panel-header h3{color:var(--primary);font-size:20px;margin-bottom:6px}.profile-editor{display:flex;align-items:center;gap:20px}.settings-avatar{width:112px;height:112px;border:0;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--accent-purple));color:#fff;font:inherit;font-size:42px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 18px 34px #32486e29}.profile-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}.cover-preview{width:100%;aspect-ratio:16 / 9;border:0;border-radius:24px;overflow:hidden;background:#5f7fb314;cursor:pointer;box-shadow:var(--shadow-sm)}.settings-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.knowledge-panel{grid-column:1 / -1}.knowledge-summary{width:100%;border:0;background:transparent;padding:0;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;text-align:left;font:inherit}.knowledge-summary h3{color:var(--primary);font-size:20px;margin:6px 0}.knowledge-summary p,.knowledge-toolbar span,.knowledge-empty,.knowledge-loading,.knowledge-file-actions small{color:var(--text-muted);font-size:14px}.knowledge-stats{display:flex;gap:10px;flex-wrap:wrap}.knowledge-stats span{min-width:88px;padding:10px 12px;border-radius:14px;background:#e4ebf79e;border:1px solid rgba(95,127,179,.12);color:var(--text-muted);font-size:12px;font-weight:700;display:grid;gap:2px}.knowledge-stats strong{color:var(--primary);font-size:22px;line-height:1}.knowledge-toggle{min-width:58px;height:36px;padding:0 14px;border-radius:999px;background:#5f7fb31a;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:13px}.knowledge-body{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}.knowledge-warning{margin-bottom:16px;padding:14px 16px;border-radius:16px;background:#c9657a1a;color:var(--danger)}.knowledge-warning p{margin-top:6px;color:var(--text-muted);font-size:13px}.knowledge-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-bottom:16px}.knowledge-file-list{list-style:none;display:grid;gap:10px}.knowledge-file-item{padding:13px 14px;border-radius:16px;border:1px solid rgba(95,127,179,.12);background:#ffffff94}.knowledge-file-main,.knowledge-file-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.knowledge-file-main{margin-bottom:8px}.knowledge-file-main strong{min-width:0;color:var(--text-main);font-size:14px;word-break:break-all}.knowledge-status{flex-shrink:0;padding:4px 8px;border-radius:999px;background:#5f7fb31a;color:var(--primary);font-size:11px;font-weight:800}.knowledge-status.status-vectored{background:#4f8a7f24;color:var(--success)}.knowledge-status.status-failed{background:#c9657a24;color:var(--danger)}.knowledge-delete{border:0;background:transparent;color:var(--primary);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.knowledge-tip{margin-top:14px;font-size:13px}.knowledge-tip.warning{color:var(--warning)}.knowledge-tip.success{color:var(--success)}.settings-message{align-self:flex-start;padding:10px 16px;border-radius:999px;background:#ffffffc2;color:var(--primary);border:1px solid var(--border);font-size:14px;font-weight:700}.app-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 46% 34%,rgba(255,255,255,.52),transparent 28%),#1f2d4638;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-dialog-panel{width:min(520px,100%);padding:28px;border-radius:30px;border:1px solid rgba(255,255,255,.58);background:linear-gradient(145deg,#ffffffeb,#f2f6fcd6),radial-gradient(circle at 18% 0%,rgba(98,161,150,.12),transparent 32%);box-shadow:0 28px 70px #1f2d462e}.app-dialog-mark{width:18px;height:18px;margin-bottom:18px;border-radius:7px;background:var(--primary);box-shadow:0 0 0 9px #5f7fb324}.app-dialog-copy h2{color:var(--primary);font-size:24px;line-height:1.35;margin-bottom:10px}.app-dialog-copy p{color:var(--text-main);font-size:16px;line-height:1.8;white-space:pre-wrap}.app-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.app-dialog-btn{min-width:96px;padding:12px 22px}.app-dialog-enter-active,.app-dialog-leave-active{transition:opacity .18s ease}.app-dialog-enter-active .app-dialog-panel,.app-dialog-leave-active .app-dialog-panel{transition:transform .18s ease,opacity .18s ease}.app-dialog-enter-from,.app-dialog-leave-to{opacity:0}.app-dialog-enter-from .app-dialog-panel,.app-dialog-leave-to .app-dialog-panel{opacity:0;transform:translateY(10px) scale(.98)}@media (max-width: 1200px){.app-sidebar{width:238px}.page-container{padding:28px 30px 34px}}@media (max-width: 900px){#app{flex-direction:column}.app-sidebar{width:100%;min-height:auto;max-height:190px;padding:12px 14px;border-right:0;border-bottom:1px solid rgba(210,222,245,.32)}.sidebar-toggle{display:none}.app-sidebar.collapsed{width:100%;padding:12px 14px}.app-sidebar.collapsed .brand{justify-content:flex-start;margin-bottom:10px}.app-sidebar.collapsed .brand img{width:42px;height:42px}.app-sidebar.collapsed .brand div,.app-sidebar.collapsed .nav-item>span:not(.nav-icon),.app-sidebar.collapsed .nav-item>i{display:initial}.app-sidebar.collapsed .nav-list{align-items:stretch}.app-sidebar.collapsed .nav-item{width:auto;min-height:46px;padding:11px 12px;grid-template-columns:28px max-content 12px;gap:8px;justify-items:stretch}.brand{margin-bottom:10px;padding-right:4px;padding-bottom:0}.brand img{width:42px;height:42px}.nav-list{flex-direction:row;overflow-x:auto;padding-bottom:4px}.nav-item{grid-template-columns:28px max-content 12px;min-width:max-content}.sidebar-motto,.sidebar-user-panel{display:none}.header{min-height:auto;padding:12px 16px;flex-wrap:wrap;gap:10px}.topbar-status{flex-wrap:wrap}.auth-page{grid-template-columns:1fr;overflow-y:auto}.auth-visual{min-height:360px}.auth-copy h1{font-size:34px}.settings-hero,.profile-editor{align-items:stretch;flex-direction:column}.settings-hero-actions{justify-content:stretch}.settings-hero-actions .btn-primary,.settings-hero-actions .btn-secondary{width:100%}.settings-grid{grid-template-columns:1fr}.knowledge-summary{grid-template-columns:1fr;align-items:stretch}.knowledge-toggle{justify-self:flex-start}.knowledge-file-main,.knowledge-file-actions{align-items:flex-start;flex-direction:column}}.desktop-pet[data-v-594695dd]{position:fixed;right:28px;bottom:28px;z-index:10000;-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:none;animation:pet-float-594695dd 3s ease-in-out infinite}@keyframes pet-float-594695dd{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.desktop-pet.is-pinching[data-v-594695dd],.desktop-pet.is-eating[data-v-594695dd]{animation:none}.desktop-pet.is-eating .desktop-pet-body[data-v-594695dd]{animation:pet-eat-594695dd .72s ease}.desktop-pet.is-pinching .desktop-pet-body[data-v-594695dd]{animation:none}@keyframes pet-eat-594695dd{0%,to{transform:scale(1)}35%{transform:scale(1.04) translateY(-2px)}55%{transform:scale(.98)}}.desktop-pet-body[data-v-594695dd]{position:relative;z-index:2;transform-origin:50% 72%;transition:transform .28s ease;animation:pet-body-breathe-594695dd 2.8s ease-in-out infinite}@keyframes pet-body-breathe-594695dd{0%,to{transform:translateY(0) rotate(0) scale(1)}35%{transform:translateY(-1px) rotate(-.35deg) scale(1.006)}70%{transform:translateY(.5px) rotate(.3deg) scale(.998)}}.desktop-pet-body.is-grabbable[data-v-594695dd]{cursor:grab}.desktop-pet-body.is-grabbing[data-v-594695dd]{cursor:grabbing}.desktop-pet-img[data-v-594695dd],.desktop-pet-canvas[data-v-594695dd]{display:block;width:100%;height:100%;pointer-events:auto;cursor:inherit;filter:drop-shadow(0 6px 18px rgba(212,86,122,.28))}.desktop-pet-img.is-hidden[data-v-594695dd]{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0}.desktop-pet-canvas[data-v-594695dd]{position:absolute;top:0;right:0;bottom:0;left:0}.desktop-pet-shadow[data-v-594695dd]{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:83px;height:9px;background:radial-gradient(ellipse,rgba(58,77,57,.18) 0%,transparent 70%);pointer-events:none}.desktop-pet-close[data-v-594695dd]{position:absolute;top:-8px;right:-8px;z-index:5;width:26px;height:26px;border:none;border-radius:50%;background:#fff;color:#888;font-size:16px;line-height:1;cursor:pointer;opacity:0;pointer-events:auto;box-shadow:0 2px 10px #0000001f;transition:opacity .2s}.desktop-pet:hover .desktop-pet-close[data-v-594695dd],.desktop-pet.is-hovered .desktop-pet-close[data-v-594695dd]{opacity:1}.desktop-pet-close[data-v-594695dd]:hover{color:#c62828}.desktop-pet-feed[data-v-594695dd]{position:absolute;top:-8px;left:-8px;z-index:5;width:26px;height:26px;border:none;border-radius:50%;background:#fff;font-size:13px;line-height:1;cursor:pointer;opacity:0;pointer-events:auto;box-shadow:0 2px 10px #0000001f;transition:opacity .2s,transform .2s}.desktop-pet:hover .desktop-pet-feed[data-v-594695dd],.desktop-pet.is-hovered .desktop-pet-feed[data-v-594695dd]{opacity:1}.desktop-pet-feed[data-v-594695dd]:hover:not(:disabled){transform:scale(1.08)}.desktop-pet-feed[data-v-594695dd]:disabled{cursor:not-allowed;opacity:.55}.desktop-pet-feed-menu[data-v-594695dd]{position:absolute;top:-44px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:6px 8px;background:#fff;border:1px solid rgba(255,160,180,.45);border-radius:16px;box-shadow:0 4px 16px #d4567a33;z-index:7;pointer-events:auto}.desktop-pet-feed-item[data-v-594695dd]{position:relative;width:30px;height:30px;border:none;border-radius:10px;background:#fff5f8;font-size:18px;line-height:1;cursor:pointer;transition:transform .15s,background .15s}.desktop-pet-feed-item[data-v-594695dd]:hover{transform:scale(1.12);background:#ffe8ef}.desktop-pet-feed-item.empty[data-v-594695dd]{opacity:.38;cursor:not-allowed}.desktop-pet-feed-item b[data-v-594695dd]{position:absolute;right:-4px;bottom:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#d4567a;color:#fff;font-size:9px;line-height:14px;font-weight:700}.desktop-pet-flying-food[data-v-594695dd]{position:absolute;left:50%;bottom:18%;z-index:8;font-size:22px;pointer-events:none;animation:food-fly-594695dd .72s ease-in forwards}@keyframes food-fly-594695dd{0%{opacity:0;transform:translate(-50%,36px) scale(.6)}20%{opacity:1;transform:translate(-50%,10px) scale(1)}to{opacity:0;transform:translate(-50%,-58px) scale(.35)}}.desktop-pet-fullness[data-v-594695dd]{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:72px;height:5px;border-radius:999px;background:#ffc8d659;overflow:hidden;pointer-events:none}.desktop-pet-fullness-bar[data-v-594695dd]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9eb8,#d4567a);transition:width .4s ease}.desktop-pet-hint[data-v-594695dd]{position:absolute;top:-36px;left:50%;transform:translate(-50%);padding:5px 12px;background:#fff;border:1px solid rgba(255,160,180,.4);border-radius:14px;font-size:12px;color:#d4567a;white-space:nowrap;box-shadow:0 4px 14px #d4567a2e;z-index:6;pointer-events:none}.desktop-pet-restore[data-v-594695dd]{position:fixed;right:28px;bottom:28px;z-index:10000;width:45px;height:45px;padding:4px;border:2px solid rgba(255,160,180,.5);border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 4px 18px #d4567a40;overflow:hidden;transition:transform .2s}.desktop-pet-restore[data-v-594695dd]:hover{transform:scale(1.1)}.desktop-pet-restore-img[data-v-594695dd]{width:100%;height:100%;object-fit:cover;border-radius:50%}
