:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", system-ui, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, "Cascadia Code", Menlo, monospace;--radius-xl:22px;--radius-lg:18px;--radius:12px;--radius-sm:8px;--radius-pill:999px;--duration-fast:.12s;--duration:.2s;--ease:cubic-bezier(.4, 0, .2, 1);--glass-blur:12px;--app-nav-width:248px;--app-nav-width-collapsed:68px;--app-chat-list-width:268px;--ring:color-mix(in srgb, var(--primary) 42%, transparent);--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 26%, transparent);--grad-primary:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 70%, var(--accent)));--grad-primary-soft:linear-gradient(135deg, color-mix(in srgb, var(--primary) 14%, var(--panel)), color-mix(in srgb, var(--accent) 12%, var(--panel)))}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.app-bg{background:radial-gradient(1100px 560px at 100% -8%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 62%), radial-gradient(860px 480px at -8% 108%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 62%), var(--bg)}.glass{background:var(--surface-glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 32%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 28%, transparent);border-radius:var(--radius-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--muted) 48%, transparent);background-clip:padding-box}.surface-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.ui-page{width:100%;max-width:var(--ui-page-width,920px);flex-direction:column;gap:16px;min-width:0;margin:0 auto;padding:clamp(16px,3vw,28px);display:flex}.ui-page-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ui-page-header-icon{border-radius:var(--radius);color:#fff;background:var(--grad-primary);width:38px;height:38px;box-shadow:var(--shadow-1);flex-shrink:0;place-items:center;display:grid}.ui-page-header-titles{flex:1;min-width:0}.ui-page-header-title{align-items:center;gap:8px;margin:0;font-size:19px;font-weight:700;line-height:1.25;display:flex}.ui-page-header-subtitle{color:var(--muted);margin-top:2px;font-size:13px}.ui-page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ui-section-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.ui-section-header-title{font-size:14px;font-weight:650}.ui-section-header-sub{color:var(--muted);font-size:12px}.ui-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:16px}.ui-card--flat{box-shadow:none}.ui-card--raised{box-shadow:var(--shadow-2)}.ui-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--panel-2);cursor:pointer;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease), filter var(--duration-fast) var(--ease);justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:550;display:inline-flex}.ui-btn:hover{background:color-mix(in srgb, var(--primary) 8%, var(--panel-2))}.ui-btn:active{transform:translateY(1px)}.ui-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ui-btn--sm{padding:6px 11px;font-size:13px}.ui-btn--primary{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-1);border-color:#0000}.ui-btn--primary:hover{box-shadow:var(--shadow-2);filter:brightness(1.05)}.ui-btn--danger{background:var(--danger);color:#fff;border-color:#0000}.ui-btn--danger:hover{filter:brightness(1.06)}.ui-btn--ghost{color:var(--text-soft);background:0 0;border-color:#0000}.ui-btn--ghost:hover{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--text)}.ui-btn--soft{background:color-mix(in srgb, var(--primary) 12%, var(--panel));border-color:color-mix(in srgb, var(--primary) 22%, var(--border));color:var(--text)}.ui-btn--soft:hover{background:color-mix(in srgb, var(--primary) 18%, var(--panel))}.ui-input{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);outline:none;padding:9px 11px;font-family:inherit;font-size:14px}.ui-input::placeholder{color:var(--muted)}.ui-input:focus{border-color:color-mix(in srgb, var(--primary) 55%, var(--border));background:var(--panel);box-shadow:var(--focus-ring)}textarea.ui-input{resize:vertical;min-height:76px;line-height:1.55}select.ui-input{cursor:pointer}.ui-field{margin-bottom:12px;display:block}.ui-field-label{color:var(--text-soft);margin-bottom:4px;font-size:13px}.ui-field-hint{color:var(--muted);margin-top:4px;font-size:12px}.ui-row{align-items:center;gap:8px;display:flex}.ui-tag{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--text);border:1px solid color-mix(in srgb, var(--muted) 22%, transparent);white-space:nowrap;align-items:center;gap:4px;padding:2px 9px;font-size:12px;display:inline-flex}.ui-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.ui-empty-glyph{border-radius:var(--radius);background:var(--grad-primary-soft);border:1px solid var(--border);width:46px;height:46px;color:var(--text-soft);place-items:center;display:grid}.ui-empty-title{color:var(--text-soft);font-size:15px}.ui-empty-hint{font-size:13px}.ui-metric{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ui-metric-label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.ui-metric-value{font-size:22px;font-weight:700;line-height:1.1}.ui-metric-hint{color:var(--muted);font-size:11px}.ui-stack{gap:var(--ui-stack-gap,12px);flex-direction:column;display:flex}.app-shell{width:100%;min-width:0;height:100vh;display:flex;overflow:hidden}.app-nav{z-index:20;width:var(--app-nav-width);flex:0 0 var(--app-nav-width);background:color-mix(in srgb, var(--panel) 94%, transparent);border-right:1px solid var(--border);box-shadow:10px 0 30px color-mix(in srgb, var(--text) 3%, transparent);transition:width var(--duration) var(--ease), flex-basis var(--duration) var(--ease);flex-direction:column;gap:10px;padding:14px 12px 12px;display:flex;position:relative;overflow:visible}.app-nav.collapsed{width:var(--app-nav-width-collapsed);flex-basis:var(--app-nav-width-collapsed);padding-inline:9px}.app-nav-brand{align-items:center;gap:10px;min-width:0;height:42px;padding:2px 4px;display:flex}.app-nav-brand-mark{color:#fff;background:var(--grad-primary);width:34px;height:34px;box-shadow:var(--shadow-1);border-radius:11px;flex:0 0 34px;place-items:center;font-size:15px;font-weight:750;display:grid}.app-nav-brand-text{letter-spacing:.04em;white-space:nowrap;min-width:0;font-size:16px;font-weight:730}.app-nav-toggle{width:30px;height:30px;color:var(--muted);cursor:pointer;transition:color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);background:0 0;border:0;border-radius:9px;flex:0 0 30px;place-items:center;margin-left:auto;padding:0;display:grid}.app-nav-toggle:hover{color:var(--text);background:var(--panel-2)}.app-nav.collapsed .app-nav-brand{justify-content:center;padding:2px 0}.app-nav.collapsed .app-nav-brand-mark{display:none}.app-nav.collapsed .app-nav-toggle{margin:0}.app-nav.collapsed .app-nav-brand-text,.app-nav.collapsed .app-member-meta,.app-nav.collapsed .app-member-chev,.app-nav.collapsed .app-nav-group-label,.app-nav.collapsed .app-nav-item-label,.app-nav.collapsed .app-nav-foot-text,.app-nav.collapsed .app-nav-foot-ver{display:none}.app-member{position:relative}.app-member-trigger{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:54px;color:var(--text);background:var(--surface-raised);box-shadow:var(--shadow-1);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);align-items:center;gap:10px;padding:8px 9px;display:flex;position:relative}.app-member-trigger:hover,.app-member-trigger.open{border-color:color-mix(in srgb, var(--primary) 38%, var(--border));background:color-mix(in srgb, var(--primary) 5%, var(--surface-raised))}.app-member-trigger:active{transform:translateY(1px)}.app-member-avatar{flex:0 0 32px;position:relative}.app-online-dot{border:2px solid var(--panel);background:var(--ok);border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:-1px}.app-member-meta,.app-member-option-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.app-member-name{font-size:13px;font-weight:650}.app-member-sub,.app-member-option-sub{color:var(--muted);font-size:11px}.app-member-chev{color:var(--muted);transition:transform var(--duration-fast) var(--ease);flex:none}.app-member-trigger.open .app-member-chev{transform:rotate(180deg)}.app-nav.collapsed .app-member-trigger{justify-content:center;min-height:48px;padding:7px}.app-member-backdrop{z-index:80;position:fixed;inset:0}.app-member-menu{z-index:81;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);width:224px;box-shadow:var(--shadow-3);animation:app-menu-in var(--duration-fast) var(--ease);padding:7px;position:absolute;top:calc(100% + 8px);left:0}.app-nav.collapsed .app-member-menu{top:0;left:calc(100% + 10px)}@keyframes app-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.app-member-menu-label{color:var(--muted);letter-spacing:.08em;padding:6px 9px 5px;font-size:11px;font-weight:650}.app-member-option{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:8px 9px;font-family:inherit;font-size:13px;text-decoration:none;display:flex}.app-member-option:hover,.app-member-option.active{background:color-mix(in srgb, var(--primary) 10%, transparent)}.app-member-option-check{color:var(--primary)}.app-member-option--manage{border-top:1px solid var(--border);color:var(--text-soft);border-radius:0 0 10px 10px;margin-top:5px;padding-top:10px}.app-nav-scroll{flex:1;min-height:0;margin-inline:-3px;padding:1px 3px;overflow:hidden auto}.app-nav-group+.app-nav-group{margin-top:13px}.app-nav-group-label{color:var(--muted);letter-spacing:.12em;margin:0 10px 5px;font-size:10px;font-weight:650}.app-nav-item{min-height:40px;color:var(--text-soft);transition:color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);border-radius:11px;align-items:center;gap:11px;padding:8px 11px;font-size:13px;font-weight:550;text-decoration:none;display:flex;position:relative}.app-nav-item+.app-nav-item{margin-top:2px}.app-nav-item:hover{color:var(--text);background:color-mix(in srgb, var(--primary) 8%, transparent)}.app-nav-item.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 13%, var(--panel));font-weight:650}.app-nav-item.active:before{content:"";border-radius:var(--radius-pill);background:var(--primary);width:3px;position:absolute;top:10px;bottom:10px;left:0}.app-nav-item svg{flex:0 0 18px;width:18px;height:18px}.app-nav.collapsed .app-nav-group+.app-nav-group{border-top:1px solid var(--border);margin-top:7px;padding-top:7px}.app-nav.collapsed .app-nav-item{justify-content:center;padding-inline:0}.app-nav.collapsed .app-nav-item.active:before{top:11px;bottom:11px}.app-nav-foot{min-height:28px;color:var(--muted);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 7px 0;font-size:10px;display:flex}.app-nav-download{width:100%;color:var(--muted);align-items:center;gap:7px;padding:7px 5px;font-size:11px;text-decoration:none;display:flex}.app-nav-download:hover{color:var(--text)}.app-nav.collapsed .app-nav-download{justify-content:center}.app-nav.collapsed .app-nav-download span{display:none}.app-nav-foot-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 13%, transparent);border-radius:50%;flex:0 0 7px}.app-nav-foot-ver{margin-left:auto}.app-nav.collapsed .app-nav-foot{justify-content:center}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-topbar{z-index:10;border-bottom:1px solid var(--border);min-height:64px;box-shadow:0 6px 18px color-mix(in srgb, var(--text) 2.5%, transparent);align-items:center;gap:14px;padding:9px 20px;display:flex;position:relative}.app-topbar-route,.app-topbar-agent{align-items:center;gap:10px;min-width:0;display:flex}.app-topbar-route-icon{width:34px;height:34px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.app-topbar-route-text,.app-topbar-agent-info{min-width:0}.app-topbar-route-title,.app-topbar-agent-name{color:var(--text);font-size:13px;font-weight:680;line-height:1.3}.app-topbar-route-desc,.app-topbar-agent-sub{max-width:330px;color:var(--muted);margin-top:2px;font-size:11px;line-height:1.2}.app-topbar-agent-name{align-items:center;gap:7px;display:flex}.app-mood,.app-status-pill{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:4px 9px;font-size:10px;font-weight:550;display:inline-flex}.app-mood{border-color:color-mix(in srgb, var(--accent) 25%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--panel));color:var(--text-soft);padding:2px 7px}.app-mood>i{background:var(--accent);border-radius:50%;width:6px;height:6px}.app-status-pill.ok{color:var(--text-soft)}.app-status-pill.ok:before{content:"";background:var(--ok);border-radius:50%;width:6px;height:6px}.app-spacer{flex:1}.app-main-scroll{scroll-behavior:smooth;flex:1;min-height:0;overflow:auto}.app-main-scroll>:not(.chat-page):not(.ui-page){width:calc(100% - 32px)}@media (width<=900px){.app-topbar-route-desc,.app-status-pill{display:none}}@media (width<=720px){.app-nav,.app-nav.collapsed{flex-basis:58px;width:58px;padding-inline:6px}.app-nav-brand-mark,.app-nav-brand-text,.app-member-meta,.app-member-chev,.app-nav-group-label,.app-nav-item-label,.app-nav-foot-text,.app-nav-foot-ver,.app-nav-download span{display:none}.app-nav-brand,.app-nav-item,.app-member-trigger,.app-nav-foot{justify-content:center}.app-nav-toggle{margin:0}.app-nav-group+.app-nav-group{border-top:1px solid var(--border);margin-top:7px;padding-top:7px}.app-member-menu{top:0;left:calc(100% + 8px)}.app-topbar{min-height:58px;padding-inline:12px}.app-topbar-agent-info{display:none}}@media (width<=520px){.app-topbar-route-icon,.app-topbar-agent{display:none}.app-main-scroll>:not(.chat-page):not(.ui-page){width:calc(100% - 20px)}}.learning-page{gap:18px}.learning-hero{background:radial-gradient(420px 220px at 18% 5%, color-mix(in srgb, var(--primary) 17%, transparent), transparent 72%), radial-gradient(360px 210px at 98% 100%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 70%), var(--panel);align-items:center;gap:28px;min-height:228px;padding:clamp(22px,3vw,34px);display:flex;position:relative;overflow:hidden}.learning-hero:after{content:"";border:1px solid color-mix(in srgb, var(--primary) 13%, transparent);width:230px;height:230px;box-shadow:0 0 0 30px color-mix(in srgb, var(--primary) 3%, transparent), 0 0 0 65px color-mix(in srgb, var(--accent) 2%, transparent);pointer-events:none;border-radius:50%;position:absolute;top:-85px;right:-65px}.learning-companion{flex:1;align-items:center;gap:22px;min-width:0;display:flex}.companion-renderer{--companion-size:112px;width:var(--companion-size);min-width:var(--companion-size);height:var(--companion-size);isolation:isolate;place-items:center;display:grid;position:relative}.companion-creature{width:100%;height:100%;filter:drop-shadow(0 12px 18px color-mix(in srgb, var(--primary) 24%, transparent));animation:3.2s ease-in-out infinite companion-float;overflow:visible}.companion-orbit{border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:50%;animation:9s linear infinite companion-orbit;position:absolute;inset:4%}.companion-orbit i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;position:absolute}.companion-orbit i:first-child{top:2%;left:48%}.companion-orbit i:nth-child(2){bottom:22%;right:5%}.companion-orbit i:nth-child(3){width:4px;height:4px;bottom:28%;left:6%}.companion-spark{transform-origin:99px 38px;opacity:.72;animation:2.1s ease-in-out infinite companion-spark}.companion-renderer--thinking .companion-creature{animation-duration:1.4s}.companion-renderer--focus .companion-orbit{animation-duration:4s}.companion-renderer--celebrating .companion-creature{animation:.8s ease-in-out infinite companion-celebrate}.companion-renderer--celebrating .companion-spark{opacity:1;animation-duration:.7s}.companion-renderer--tired .companion-creature{filter:saturate(.72) drop-shadow(0 8px 15px color-mix(in srgb, var(--primary) 18%, transparent));animation-duration:5s}.companion-renderer--tired .companion-eye{transform:translateY(2px)}.companion-renderer--failed .companion-spark{opacity:.35}.companion-renderer--reminding .companion-orbit{border-style:dashed;animation-duration:3s}.companion-speech{z-index:4;border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 94%, transparent);width:min(280px,32vw);box-shadow:var(--shadow-1);border-radius:14px 14px 14px 4px;padding:10px 12px;position:absolute;top:8px;left:calc(100% + 12px)}.companion-speech strong,.companion-speech span{display:block}.companion-speech strong{color:var(--primary);margin-bottom:3px;font-size:12px}.companion-speech span{color:var(--text-soft);font-size:12px;line-height:1.55}@keyframes companion-float{0%,to{transform:translateY(2px)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1deg)}}@keyframes companion-orbit{to{transform:rotate(360deg)}}@keyframes companion-spark{0%,to{transform:scale(.75)rotate(0)}50%{transform:scale(1.15)rotate(18deg)}}@keyframes companion-celebrate{0%,to{transform:translateY(1px)rotate(-3deg)}50%{transform:translateY(-9px)rotate(3deg)}}.learning-avatar-wrap{z-index:1;flex:none;padding:6px;position:relative}.learning-avatar-wrap>svg,.learning-avatar-wrap>div{z-index:2;box-shadow:var(--shadow-2);position:relative}.learning-avatar-glow{z-index:0;background:color-mix(in srgb, var(--primary) 14%, transparent);box-shadow:0 0 0 10px color-mix(in srgb, var(--primary) 5%, transparent);border-radius:50%;position:absolute;inset:-9px}.learning-companion-dot{z-index:3;border:3px solid var(--panel);background:var(--ok);border-radius:50%;width:14px;height:14px;position:absolute;bottom:6px;right:3px}.learning-hero-copy{min-width:0}.learning-companion-heading{flex-wrap:wrap}.learning-companion-heading h2{margin:0;font-size:clamp(20px,2.2vw,28px);line-height:1.2}.learning-state-tag{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 22%, var(--border));background:color-mix(in srgb, var(--primary) 9%, var(--panel))}.learning-hero-copy>p{max-width:570px;color:var(--text-soft);margin:9px 0 13px;font-size:14px;line-height:1.7}.learning-focus-line{min-width:0;color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.learning-focus-line svg{color:var(--primary)}.learning-focus-line strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.learning-hero-actions{flex-wrap:wrap;margin-top:18px}.learning-progress-block{z-index:1;flex-direction:column;flex:0 0 150px;align-items:center;gap:10px;display:flex;position:relative}.learning-reminder-card{gap:14px;display:grid}.learning-reminder-form{grid-template-columns:minmax(190px,1fr) 105px minmax(125px,auto) 105px auto;align-items:center;gap:9px;display:grid}.learning-reminder-form input,.learning-reminder-form select{min-width:0;height:36px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);padding:0 10px}.learning-reminder-notice{color:var(--text-soft);font-size:12px}.learning-reminder-list{gap:7px;display:grid}.learning-reminder-empty{color:var(--muted);font-size:13px}.learning-reminder-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.learning-reminder-item span,.learning-reminder-item small{display:block}.learning-reminder-item strong{font-size:13px}.learning-reminder-item small{color:var(--muted);margin-top:3px;font-size:11px}.learning-reminder-item button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.learning-reminder-item button:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent)}.learning-progress-ring{background:conic-gradient(var(--primary) var(--learning-progress,0deg), color-mix(in srgb, var(--border) 74%, transparent) 0);width:126px;height:126px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 10%, transparent), var(--shadow-1);border-radius:50%;place-items:center;display:grid}.learning-progress-inner{background:var(--panel);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:98px;height:98px;display:flex}.learning-progress-inner strong{font-size:25px;line-height:1.1}.learning-progress-inner span,.learning-progress-note{color:var(--muted);margin-top:3px;font-size:11px}.learning-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.learning-metrics .ui-metric{min-width:0;box-shadow:none}.learning-metrics .ui-metric-label svg{color:var(--primary)}.learning-content-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);align-items:start;gap:16px;display:grid}.learning-review-card{min-width:0}.learning-review-list{flex-direction:column;gap:7px;display:flex}.learning-review-item{border-radius:var(--radius);width:100%;min-width:0;color:var(--text);background:var(--surface-sunken);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;font-family:inherit;display:grid}.learning-review-item:hover{border-color:color-mix(in srgb, var(--primary) 22%, var(--border));background:color-mix(in srgb, var(--primary) 6%, var(--panel));transform:translateY(-1px)}.learning-review-icon{width:34px;height:34px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:10px;place-items:center;display:grid}.learning-review-main{flex-direction:column;gap:3px;min-width:0;display:flex}.learning-review-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;overflow:hidden}.learning-review-main span,.learning-review-badge{color:var(--muted);font-size:11px}.learning-review-badge{border-radius:var(--radius-pill);background:var(--panel-2);white-space:nowrap;padding:3px 7px}.learning-review-badge.overdue{color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, var(--panel))}.learning-review-arrow{color:var(--muted)}.learning-side-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.learning-today-list{flex-direction:column;gap:8px;display:flex}.learning-today-item{color:var(--text-soft);align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.learning-today-check{border:2px solid var(--primary);border-radius:50%;flex:0 0 9px;width:9px;height:9px;margin-top:5px}.learning-knowledge-row{grid-template-columns:minmax(80px,1fr) 86px 22px;align-items:center;gap:8px;font-size:12px;display:grid}.learning-mastery-track{border-radius:var(--radius-pill);background:var(--panel-2);height:5px;overflow:hidden}.learning-mastery-track i{border-radius:inherit;background:var(--grad-primary);height:100%;display:block}.learning-knowledge-row small{color:var(--muted);font-size:10px}.learning-card-action{width:100%;margin-top:13px}.learning-report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.learning-report-summary>div{background:var(--surface-sunken);text-align:center;border-radius:10px;flex-direction:column;gap:2px;padding:9px 7px;display:flex}.learning-report-summary strong{font-size:17px}.learning-report-summary span{color:var(--muted);font-size:10px}.learning-report-line{color:var(--text-soft);align-items:flex-start;gap:7px;margin-top:7px;font-size:12px;line-height:1.5;display:flex}.learning-report-line svg{color:var(--accent);flex:none;margin-top:2px}.learning-report-line.positive,.learning-report-line.positive svg{color:var(--ok)}@media (width<=980px){.learning-reminder-form{grid-template-columns:minmax(180px,1fr) 100px 125px auto}.learning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-content-grid{grid-template-columns:1fr}.learning-side-stack{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=700px){.learning-reminder-form{grid-template-columns:1fr 1fr}.learning-hero,.learning-companion{align-items:flex-start}.learning-avatar-wrap,.learning-companion>.companion-renderer{display:none}.learning-progress-block{flex-basis:104px}.learning-progress-ring{width:96px;height:96px}.learning-progress-inner{width:74px;height:74px}.learning-progress-inner strong{font-size:19px}.learning-side-stack{grid-template-columns:1fr}}@media (width<=540px){.learning-reminder-form{grid-template-columns:1fr}.learning-hero{flex-direction:column}.learning-progress-block{flex-direction:row;flex:none;justify-content:flex-start;width:100%}.learning-metrics{grid-template-columns:1fr}.learning-review-item{grid-template-columns:auto minmax(0,1fr) auto}.learning-review-badge{display:none}}.chat-page{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.chat-list{width:var(--app-chat-list-width);border-right:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, transparent);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.chat-list-head{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.chat-list-new{border-radius:var(--radius);cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 75%, var(--accent)));width:100%;box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 30%, transparent);transition:transform var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.chat-list-new:hover{box-shadow:0 8px 20px color-mix(in srgb, var(--primary) 38%, transparent);transform:translateY(-1px)}.chat-list-new:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.chat-search{align-items:center;display:flex;position:relative}.chat-search>svg{width:15px;height:15px;color:var(--muted);pointer-events:none;position:absolute;left:10px}.chat-search input{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);padding:8px 10px 8px 30px;font-family:inherit;font-size:13px}.chat-search input:focus{border-color:color-mix(in srgb, var(--primary) 55%, var(--border));outline:none}.chat-list-items{flex:1;padding:6px;overflow-y:auto}.chat-list-empty{color:var(--muted);text-align:center;padding:18px 12px;font-size:13px}.chat-list-item{border-radius:var(--radius);cursor:pointer;transition:background var(--duration-fast) var(--ease);margin-bottom:2px;padding:9px 10px;position:relative}.chat-list-item:hover{background:color-mix(in srgb, var(--primary) 7%, transparent)}.chat-list-item.active{background:color-mix(in srgb, var(--primary) 14%, var(--panel));box-shadow:inset 3px 0 0 var(--primary)}.chat-list-item-row{align-items:center;gap:6px;display:flex}.chat-list-item-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;font-size:13.5px;font-weight:550;overflow:hidden}.chat-list-item-meta{color:var(--muted);align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.chat-list-item-pin{color:var(--primary);display:inline-flex}.chat-list-item-actions{background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:var(--radius-sm);box-shadow:0 2px 8px var(--shadow);gap:2px;padding:2px;display:none;position:absolute;top:6px;right:6px}.chat-list-item:hover .chat-list-item-actions,.chat-list-item.active .chat-list-item-actions{display:flex}.chat-icon-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.chat-icon-btn:hover{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--text)}.chat-icon-btn.danger:hover{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.chat-icon-btn svg{width:15px;height:15px}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-thread{scroll-behavior:smooth;flex:1;padding:18px clamp(12px,4vw,48px) 8px;position:relative;overflow:hidden auto}.msg-ctx{display:contents}.chat-thread-inner{flex-direction:column;gap:4px;max-width:820px;margin:0 auto;display:flex}.chat-empty{text-align:center;border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 80%, transparent);border:1px solid var(--border);max-width:560px;box-shadow:0 10px 40px color-mix(in srgb, var(--shadow) 70%, transparent);margin:8vh auto 0;padding:28px}.chat-empty-avatar{justify-content:center;margin-bottom:14px;display:flex}.chat-empty-title{margin-bottom:6px;font-size:19px;font-weight:700}.chat-empty-goal{color:var(--muted);margin-bottom:18px;font-size:13.5px}.chat-empty-suggestions{flex-direction:column;gap:8px;display:flex}.chat-suggestion{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;transition:border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);padding:11px 14px;font-family:inherit;font-size:13.5px}.chat-suggestion:hover{border-color:color-mix(in srgb, var(--primary) 50%, var(--border));background:color-mix(in srgb, var(--primary) 8%, var(--panel))}.msg-row{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.msg-row.user{flex-direction:row-reverse}.msg-avatar{margin-top:2px}.user-avatar-circle{background:linear-gradient(135deg, var(--muted), color-mix(in srgb, var(--muted) 65%, var(--primary)));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:grid}.chat-banner{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 12%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));align-items:center;gap:10px;margin-bottom:8px;padding:9px 13px;font-size:13px;display:flex}.chat-banner button{border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;border:none;flex-shrink:0;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:12px}.chat-banner pre{max-height:60px;font-family:var(--font-mono);white-space:pre-wrap;flex:1;margin:0;font-size:12px;overflow:auto}.msg-col{flex-direction:column;min-width:0;max-width:78%;display:flex}.msg-row.user .msg-col{align-items:flex-end}.msg-bubble{border-radius:var(--radius-lg);word-break:break-word;border:1px solid var(--border);background:var(--panel);box-shadow:0 1px 2px color-mix(in srgb, var(--shadow) 50%, transparent);padding:11px 15px;font-size:14.5px;line-height:1.65}.msg-row.user .msg-bubble{background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 82%, var(--accent)));color:#fff;border-color:#0000}.msg-bubble.streaming:after{content:"";vertical-align:text-bottom;opacity:.55;background:currentColor;width:7px;height:15px;margin-left:3px;animation:1s steps(2,start) infinite msg-blink;display:inline-block}@keyframes msg-blink{to{opacity:0}}.msg-stopped-tag{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--muted) 18%, transparent);align-items:center;gap:4px;margin-left:8px;padding:1px 8px;font-size:11px;display:inline-flex}.msg-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px;font-size:11px;display:flex}.msg-row.user .msg-meta{justify-content:flex-end}.msg-actions{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.msg-action-btn{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none;align-items:center;gap:4px;padding:4px 9px;font-family:inherit;font-size:12px;display:inline-flex}.msg-action-btn:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--text)}.msg-action-btn svg{width:13px;height:13px}.msg-action-btn:disabled{opacity:.45;cursor:not-allowed}.msg-action-btn[data-copied=true]{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.msg-error{color:var(--danger);margin-top:4px;font-size:12px}.msg-attachments{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.msg-attachments.right{justify-content:flex-end}.msg-att-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:zoom-in;background:var(--panel-2);width:64px;height:64px}.att-preview-overlay{z-index:1000;background:#000000d1;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.att-preview-overlay img{border-radius:var(--radius);max-width:92vw;max-height:92vh;box-shadow:0 20px 60px #0009}.att-preview-close{color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:18px;right:22px}.md{font-size:14.5px;line-height:1.7}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 10px}.md h1,.md h2,.md h3,.md h4{margin:16px 0 8px;font-weight:650;line-height:1.35}.md h1{font-size:1.35em}.md h2{font-size:1.2em}.md h3{font-size:1.08em}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}.md blockquote{border-left:3px solid color-mix(in srgb, var(--primary) 55%, var(--border));color:var(--muted);background:color-mix(in srgb, var(--panel-2) 70%, transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0 0 10px;padding:4px 14px}.md a{color:color-mix(in srgb, var(--accent) 75%, var(--primary));text-underline-offset:2px;text-decoration:underline}.md-row.user .md a{color:#fff;text-decoration:underline}.md table{border-collapse:collapse;margin:0 0 10px;font-size:13px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);padding:6px 10px}.md th{background:var(--panel-2)}.md-row.user .md th{background:#ffffff29;border-color:#ffffff40}.md-row.user .md td{border-color:#ffffff40}.md img{border-radius:var(--radius-sm);max-width:100%}.md-inline-code{font-family:var(--font-mono);background:color-mix(in srgb, var(--muted) 20%, transparent);border-radius:6px;padding:1.5px 6px;font-size:.88em}.md-row.user .md-inline-code{background:#fff3}.code-block{border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, #000 6%);margin:0 0 10px;position:relative;overflow:hidden}.code-block-head{color:var(--muted);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel-2) 80%, transparent);text-transform:lowercase;justify-content:space-between;align-items:center;padding:5px 6px 5px 12px;font-size:11px;display:flex}.code-block-copy{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:11px;display:inline-flex}.code-block-copy:hover{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--text)}.code-block-copy svg{width:12px;height:12px}.code-block pre{font-family:var(--font-mono);margin:0;padding:12px 14px;font-size:12.8px;line-height:1.6;overflow-x:auto}.chat-scroll-bottom{border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;box-shadow:0 6px 18px var(--shadow);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:18px;right:24px;transform:translateY(8px)}.chat-scroll-bottom.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-composer-wrap{border-top:1px solid var(--border);background:color-mix(in srgb, var(--panel) 94%, transparent);padding:10px clamp(12px,4vw,48px) 14px}.chat-composer{max-width:820px;margin:0 auto}.chat-config-hint{border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--panel));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));align-items:center;gap:10px;margin-bottom:8px;padding:9px 13px;font-size:13px;display:flex}.chat-config-hint button{border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;border:none;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:12px}.composer-attachments{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.composer-att{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);width:64px;height:64px;position:relative;overflow:hidden}.composer-att img{object-fit:cover;width:100%;height:100%}.composer-att-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:2px;right:2px}.composer-att-remove svg{width:11px;height:11px}.composer-att-error{color:var(--danger);margin-bottom:6px;font-size:12px}.composer-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 2px 10px color-mix(in srgb, var(--shadow) 45%, transparent);transition:border-color var(--duration-fast) var(--ease);align-items:flex-end;gap:8px;padding:8px 8px 8px 12px;display:flex}.composer-row:focus-within{border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}.composer-row textarea{resize:none;color:var(--text);background:0 0;border:none;outline:none;flex:1;max-height:200px;padding:7px 0;font-family:inherit;font-size:14.5px;line-height:1.55}.composer-row textarea::placeholder{color:var(--muted)}.composer-attach-btn,.composer-send-btn,.composer-stop-btn{cursor:pointer;width:38px;height:38px;transition:background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.composer-attach-btn{background:var(--panel-2);color:var(--muted)}.composer-attach-btn:hover{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--text)}.composer-send-btn{background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 75%, var(--accent)));color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 35%, transparent)}.composer-send-btn:hover:not(:disabled){transform:translateY(-1px)}.composer-send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.composer-stop-btn{background:color-mix(in srgb, var(--danger) 88%, var(--bg));color:#fff}.composer-hint{color:var(--muted);text-align:right;margin-top:6px;font-size:11px}.chat-list-toggle,.chat-list-scrim{display:none}@media (width<=980px){.chat-list-toggle{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;z-index:15;align-self:flex-start;align-items:center;gap:6px;margin:8px 0 0 clamp(12px,4vw,24px);padding:6px 12px;font-family:inherit;font-size:13px;display:inline-flex}.chat-list-toggle:hover{background:color-mix(in srgb, var(--primary) 10%, var(--panel))}.chat-list{z-index:20;width:min(280px,82vw);max-width:82vw;transition:transform var(--duration) var(--ease);box-shadow:0 10px 30px var(--shadow);position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.chat-list.open{transform:translate(0)}.chat-list-scrim{z-index:14;background:#00000059;display:block;position:absolute;inset:0}}.insights-page{gap:18px}.insights-notice{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--primary) 8%,var(--panel));color:var(--text-soft);padding:10px 14px;font-size:13px}.insights-jobs{gap:10px;display:grid}.insights-jobs>div{flex-wrap:wrap;gap:8px;display:flex}.insight-job{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);padding:7px 10px;font-size:11px}.insight-job--failed{color:var(--danger)}.insight-job--succeeded{color:var(--ok)}.insights-layout{grid-template-columns:minmax(250px,.72fr) minmax(0,1.7fr);align-items:start;gap:16px;display:grid}.insights-history,.insights-report{min-width:0}.insights-report-list{gap:7px;display:grid}.insights-report-list button{text-align:left;width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;gap:5px;padding:12px;display:grid}.insights-report-list button.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:inset 3px 0 var(--primary)}.insights-report-list small{color:var(--muted)}.insight-conclusions{gap:12px;display:grid}.insight-conclusions article{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);gap:10px;padding:16px;display:grid}.insight-conclusions article.hidden{opacity:.62}.insight-conclusions h3,.insight-conclusions p{margin:0}.insight-conclusions p{color:var(--text-soft);line-height:1.7}.insight-conclusions small{color:var(--muted);line-height:1.55}.insight-evidence-list{gap:6px;display:grid}.insight-evidence-list button{text-align:left;color:var(--muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;display:flex}.insight-evidence-list button:hover{color:var(--primary);border-color:var(--primary)}.insight-evidence-list em{color:var(--muted);font-size:12px}@media (width<=900px){.insights-layout{grid-template-columns:1fr}}.agent-workspace{padding-bottom:32px}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.workspace-notice{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));margin-bottom:16px}.workspace-approval{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft);padding:12px}.workspace-approval pre,.workspace-result{border-radius:var(--radius-sm);background:var(--code-bg);white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;padding:12px;overflow:auto}.workspace-runs{gap:10px;display:grid}.workspace-runs>article{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.workspace-runs>article>div{align-items:flex-start;gap:10px;margin-top:8px;display:flex}.workspace-runs code{overflow-wrap:anywhere;color:var(--muted)}.local-mcp-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.workspace-config{grid-template-columns:90px 1fr;gap:8px;margin:0 0 14px;display:grid}.workspace-config dt{color:var(--muted)}.workspace-config dd{overflow-wrap:anywhere;min-width:0;margin:0}.local-tool-list{gap:8px;margin-top:12px;display:grid}.local-tool-list>button{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft);width:100%;color:var(--text);text-align:left;align-items:center;gap:10px;padding:10px;display:flex}.local-tool-list>button>span:first-child{flex:1;gap:3px;display:grid}.local-tool-list small{color:var(--muted)}@media (width<=860px){.workspace-grid,.local-mcp-form{grid-template-columns:1fr}}.download-page{color:#17222d;background:#f4f7f8;flex-direction:column;min-height:100vh;display:flex}.download-header{background:#fff;border-bottom:1px solid #dce3e7;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50vw - 560px);display:flex}.download-brand,.download-back{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.download-brand span{color:#fff;background:#167d73;border-radius:7px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.download-back{color:#45616a;font-size:14px}.download-main{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:center;gap:64px;width:min(1120px,100% - 48px);margin:auto;padding:56px 0;display:grid}.download-copy{min-width:0}.download-kicker{color:#167d73;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.download-copy h1{letter-spacing:0;margin:18px 0 22px;font-size:clamp(42px,7vw,74px);line-height:1}.download-copy>p{color:#50636a;max-width:680px;font-size:18px;line-height:1.75}.download-primary{color:#fff;background:#167d73;border-radius:7px;align-items:center;gap:10px;margin-top:24px;padding:14px 20px;font-weight:700;text-decoration:none;display:inline-flex}.download-primary:hover{background:#116a62}.download-meta{color:#66777d;gap:18px;margin-top:14px;font-size:13px;display:flex}.download-status{color:#35565b;background:#e9f2f1;border-left:3px solid #167d73;margin-top:24px;padding:14px}.download-status.error{color:#8d3131;background:#f9eaea;border-color:#b94646}.download-detail{background:#fff;border:1px solid #d7e0e3;border-radius:8px;min-width:0;padding:26px;box-shadow:0 18px 50px #1c363e14}.download-shield{color:#167d73;border-bottom:1px solid #e3e9eb;align-items:center;gap:12px;padding-bottom:20px;display:flex}.download-shield div{gap:3px;display:grid}.download-shield span{color:#74858a;font-size:12px}.download-detail dl{grid-template-columns:76px 1fr;gap:14px 12px;margin:22px 0 0;display:grid}.download-detail dt{color:#75858a}.download-detail dd{min-width:0;margin:0}.download-detail code{overflow-wrap:anywhere;color:#28484e;font-size:11px;line-height:1.55;display:block}.download-notes{border-top:1px solid #e3e9eb;margin-top:22px;padding-top:18px}.download-notes p{white-space:pre-wrap;color:#53676d;line-height:1.6}.download-footer{text-align:center;color:#73848a;border-top:1px solid #dce3e7;padding:20px 24px;font-size:12px}@media (width<=760px){.download-header{padding:0 18px}.download-main{grid-template-columns:1fr;gap:28px;width:min(100% - 32px,620px);padding:38px 0}.download-copy h1{font-size:44px}.download-copy>p{font-size:16px}.download-meta{flex-wrap:wrap}.download-detail{padding:20px}}
