.cpf{display:flex;flex-direction:column;gap:12px;margin-top:4px}.cpf__field{display:flex;flex-direction:column;gap:5px}.cpf__label{font-size:.78rem;font-weight:600;color:var(--gray-700, #334155)}.cpf__input{width:100%;padding:10px 13px;border-radius:10px;border:1px solid var(--gray-300, #cbd5e1);background:var(--surface, #fff);color:var(--gray-900, #0f172a);font-size:.86rem;transition:border-color .18s,box-shadow .18s}.cpf__input::placeholder{color:var(--gray-400, #94a3b8)}.cpf__input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #3b82f6) 18%,transparent)}.cpf__msg{margin:2px 0 0;font-size:.78rem;line-height:1.5;padding:8px 12px;border-radius:9px}.cpf__msg--error{color:#b91c1c;background:color-mix(in srgb,#ef4444 10%,transparent)}.cpf__msg--success{color:#047857;background:color-mix(in srgb,#10b981 12%,transparent)}.cpf__submit{margin-top:4px;align-self:flex-start;padding:10px 22px;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--primary, #3b82f6),var(--primary-d, #2563eb));box-shadow:0 8px 18px -8px color-mix(in srgb,var(--primary, #3b82f6) 70%,transparent);transition:transform .15s,opacity .2s}.cpf__submit:hover:not(:disabled){transform:translateY(-1px)}.cpf__submit:disabled{opacity:.6;cursor:not-allowed}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:linear-gradient(180deg,transparent 60%,var(--sidebar-tint) 100%),linear-gradient(180deg,var(--sidebar-surface-start) 0%,var(--sidebar-surface-end) 100%);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);display:flex;flex-direction:column;padding:24px;z-index:100;transition:width var(--transition-normal),padding var(--transition-normal),background-color .4s var(--ease-standard),box-shadow .4s var(--ease-standard);box-shadow:inset -1px 0 0 var(--sidebar-border),inset 1px 0 #ffffffb3,8px 0 32px #0f172a0f}.sidebar--collapsed{width:80px;padding:16px}.sidebar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--sidebar-divider);flex-shrink:0}.sidebar__logo{display:flex;align-items:center;gap:12px}.sidebar__logo-mark{height:44px;width:auto;display:block;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(var(--sb-accent-light),.35))}.sidebar__logo-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar__logo-title{font-size:20px;font-weight:700;color:var(--sidebar-title);letter-spacing:-.02em;line-height:1.1;white-space:nowrap}.sidebar__logo-subtitle{font-size:10px;font-weight:500;color:var(--sidebar-desc);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.sidebar__toggle{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#0f172a08;border:1px solid var(--sidebar-border);border-radius:8px;cursor:pointer;color:var(--gray-400);transition:all var(--transition-fast)}.sidebar__toggle:hover{background:rgba(var(--sb-accent),.1);border-color:rgba(var(--sb-accent),.25);color:rgb(var(--sb-accent));box-shadow:0 0 12px rgba(var(--sb-accent),.15)}.sidebar__toggle svg{width:14px;height:14px}.sidebar__nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:10px;margin-right:-6px;padding-right:6px}.sidebar__nav-item{position:relative;display:flex;align-items:center;gap:13px;padding:14px 16px;flex-shrink:0;background:transparent;border:none;border-radius:12px;cursor:pointer;text-align:left;transition:all var(--transition-fast);overflow:hidden;isolation:isolate}.sidebar__nav-item--disabled{opacity:.5;cursor:not-allowed}.sidebar__nav-group-title{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--gray-400);text-transform:uppercase;padding:0 16px;margin:10px 0 8px;flex-shrink:0}.sidebar__nav-group-title:first-child{margin-top:2px}.sidebar__nav-group-title--steward{color:var(--primary);display:flex;align-items:center;gap:6px}.sidebar__nav-group-title--steward:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px rgba(var(--primary-rgb),.6);flex-shrink:0}.sidebar__nav-divider{height:1px;background:var(--sidebar-divider);margin:14px 8px 6px;flex-shrink:0}.sidebar__nav-seq{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:50%;font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--primary-600);background:color-mix(in srgb,var(--primary) 16%,transparent);border:1px solid rgba(var(--primary-rgb),.3)}.sidebar__nav-item--active .sidebar__nav-seq{color:#fff;background:var(--primary);border-color:transparent}.sidebar__nav-item--locked .sidebar__nav-icon,.sidebar__nav-item--locked .sidebar__nav-content{opacity:.55}.sidebar__nav-item--locked .sidebar__nav-seq{color:var(--gray-400);background:color-mix(in srgb,var(--ink-soft) 12%,transparent);border-color:var(--line)}.sidebar__nav-lock{width:12px;height:12px;color:var(--gray-400);flex-shrink:0}.sidebar__reset{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;flex-shrink:0;padding:8px;border:none;background:transparent;color:var(--gray-400);font-size:11px;font-family:inherit;cursor:pointer;border-radius:8px;transition:all var(--transition-fast)}.sidebar__reset svg{width:13px;height:13px}.sidebar__reset:hover{color:var(--ink-soft);background:var(--sidebar-hover)}.sidebar__nav-item:hover{background:var(--sidebar-hover)}.sidebar__nav-item:hover .sidebar__nav-icon{transform:scale(1.08)}.sidebar__nav-item:hover .sidebar__nav-label{color:var(--sidebar-label-strong)}.sidebar__nav-item--active{background:linear-gradient(135deg,rgba(var(--sb-accent),.16),rgba(var(--sb-accent),.1),rgba(var(--sb-accent),.06));box-shadow:inset 0 0 24px rgba(var(--sb-accent),.08),inset 0 1px #ffffffb3,0 4px 14px rgba(var(--sb-accent),.12);border:1px solid rgba(var(--sb-accent),.2)}.sidebar__nav-item--active .sidebar__nav-icon{filter:drop-shadow(0 0 8px rgba(var(--sb-accent-light),.6));animation:icon-pulse 2.5s ease-in-out infinite}@keyframes icon-pulse{0%,to{filter:drop-shadow(0 0 8px rgba(var(--sb-accent-light),.6))}50%{filter:drop-shadow(0 0 14px rgba(var(--sb-accent-light),.8))}}.sidebar__nav-item--active .sidebar__nav-label{color:var(--sidebar-label-strong);font-weight:700}.sidebar__nav-item--active .sidebar__nav-desc{color:var(--gray-500)}.sidebar__nav-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:55%;background:linear-gradient(180deg,var(--primary-300) 0%,var(--sb-grad-a) 40%,var(--sb-grad-b) 100%);border-radius:0 4px 4px 0;box-shadow:0 0 10px rgba(var(--sb-accent),.7),0 0 20px rgba(var(--sb-accent),.3)}.sidebar__nav-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at left center,rgba(var(--sb-accent),.12) 0%,transparent 65%);border-radius:12px;z-index:-1;animation:glow-breathe 3s ease-in-out infinite}@keyframes glow-breathe{0%,to{opacity:.5}50%{opacity:1}}.sidebar__nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.sidebar__nav-icon svg{width:100%;height:100%}.sidebar__nav-content{display:flex;flex-direction:column;gap:4px;min-width:0}.sidebar__nav-label{font-size:15px;font-weight:600;color:var(--sidebar-label);transition:color var(--transition-fast);display:flex;align-items:center;gap:8px}.sidebar__nav-desc{font-size:12px;color:var(--sidebar-desc);line-height:1.3;margin-top:2px}.sidebar__beta-tag{display:inline-flex;align-items:center;padding:1px 7px;background:linear-gradient(135deg,rgba(var(--sb-accent),.18),rgba(var(--sb-accent),.1));color:var(--primary-600);font-size:9px;font-weight:700;letter-spacing:.06em;border-radius:4px;border:1px solid rgba(var(--sb-accent),.25);text-transform:uppercase;box-shadow:inset 0 1px #ffffff80}.sidebar__user{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff9;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-radius:14px;border:1px solid rgba(255,255,255,.7);margin-top:16px;flex-shrink:0;cursor:pointer;transition:all var(--transition-fast);position:relative;box-shadow:0 4px 16px #0f172a0f,inset 0 1px #ffffffb3}.sidebar__user:hover{background:#fffc;border-color:rgba(var(--sb-accent),.25);box-shadow:0 8px 28px #0f172a1a,0 0 20px rgba(var(--sb-accent),.1),inset 0 1px #fffc}.sidebar__user-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--sb-grad-a),var(--sb-grad-b));border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;position:relative;overflow:hidden;box-shadow:0 0 12px rgba(var(--sb-accent),.3),inset 0 1px #fff3}.sidebar__user-avatar-glow{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;background:radial-gradient(circle,rgba(var(--sb-accent),.25),transparent 70%);animation:avatar-glow 3s ease-in-out infinite}@keyframes avatar-glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.sidebar__user-info{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar__user-name{font-size:13px;font-weight:600;color:var(--gray-800)}.sidebar__user-level{font-size:11px;color:var(--gray-500)}.sidebar__user-arrow{color:var(--gray-400);transition:all var(--transition-fast);flex-shrink:0}.sidebar__user:hover .sidebar__user-arrow{color:rgb(var(--sb-accent));transform:translate(2px)}.sidebar--collapsed .sidebar__nav-item{justify-content:center;padding:14px}.sidebar--collapsed .sidebar__nav-icon{width:24px;height:24px}.sidebar--collapsed .sidebar__nav-indicator{width:3px;height:40%;border-radius:4px;left:50%;transform:translate(-50%,-50%)}.sidebar--collapsed .sidebar__logo-mark{height:36px}.sidebar--collapsed .sidebar__logo-text{display:none}.sidebar--collapsed .sidebar__toggle{margin-top:16px}@media (max-width: 1024px){.sidebar{width:240px;padding:20px}}@media (max-width: 768px){.sidebar{width:100%;height:auto;bottom:auto;flex-direction:row;padding:10px 14px;overflow-x:auto;background:linear-gradient(90deg,transparent,var(--sidebar-tint),transparent),linear-gradient(180deg,var(--sidebar-surface-start),var(--sidebar-surface-end));box-shadow:inset 0 -1px 0 var(--sidebar-border),0 4px 20px #0f172a14}.sidebar--collapsed{width:100%}.sidebar__nav{flex-direction:row;gap:6px;flex:1}.sidebar__nav-item{padding:10px 14px;border-radius:10px}.sidebar__nav-indicator{top:0;left:50%;transform:translate(-50%);width:40%;height:3px;border-radius:4px 4px 0 0}.sidebar__header{margin-bottom:0;padding-bottom:0;border-bottom:none;padding-right:14px}.sidebar__logo-mark{height:36px}.sidebar__logo-text{display:none}.sidebar__user{margin-top:0;margin-left:auto;padding:8px 12px}.sidebar__user-info,.sidebar__user-arrow{display:none}}@media (max-width: 480px){.sidebar,.sidebar__nav-item{padding:8px 10px}.sidebar__nav-label,.sidebar__nav-desc,.sidebar__toggle{display:none}.sidebar__user{padding:6px 10px}}.sidebar__user-wrap{position:relative;flex-shrink:0}.sidebar__user{width:100%;font-family:inherit;text-align:left}.sidebar__user--open{border-color:rgba(var(--sb-accent),.3);background:#ffffffd9}.sidebar__user--open .sidebar__user-arrow{color:rgb(var(--sb-accent))}.sidebar__user-menu{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:40;padding:6px;display:flex;flex-direction:column;gap:2px;background:#fffffff2;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.7);border-radius:12px;box-shadow:0 12px 32px #0f172a29}.sidebar__user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all var(--transition-fast)}.sidebar__user-menu-item svg{width:16px;height:16px;flex-shrink:0}.sidebar__user-menu-item:hover{background:var(--sidebar-hover);color:var(--gray-900)}.sidebar__user-menu-item--danger{color:#dc2626}.sidebar__user-menu-item--danger:hover{background:#dc262614;color:#b91c1c}.sidebar__user-menu-divider{height:1px;margin:2px 6px;background:var(--gray-200)}.settings-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.settings-panel{position:relative;width:min(440px,100%);padding:28px;border-radius:20px;background:#fffffff5;backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid rgba(255,255,255,.6);box-shadow:0 24px 64px #0f172a47}.settings-panel__close{position:absolute;top:14px;right:16px;width:30px;height:30px;border:none;border-radius:50%;background:var(--gray-100);color:var(--gray-500);font-size:1.2rem;line-height:1;cursor:pointer;transition:all var(--transition-fast)}.settings-panel__close:hover{background:var(--gray-200);color:var(--gray-700)}.settings-panel__title{font-size:1.15rem;font-weight:700;color:var(--gray-900)}.settings-panel__sub{font-size:.8rem;color:var(--gray-500);margin-top:4px}.settings-panel__section{margin-top:20px;display:flex;flex-direction:column;gap:10px}.settings-panel__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--gray-200);background:#fff9}.settings-panel__row-text{display:flex;flex-direction:column;gap:2px}.settings-panel__row-label{font-size:.88rem;font-weight:600;color:var(--gray-800)}.settings-panel__row-value{font-size:.74rem;color:var(--gray-500)}.settings-panel__row-btn{padding:7px 14px;border-radius:8px;border:1px dashed var(--gray-300);background:var(--gray-50, #f8fafc);color:var(--gray-400);font-size:.78rem;font-weight:600;cursor:not-allowed}.settings-panel__row-btn--active{border:1px solid var(--primary, #3b82f6);background:color-mix(in srgb,var(--primary, #3b82f6) 12%,transparent);color:var(--primary-d, #2563eb);cursor:pointer;transition:background .18s}.settings-panel__row-btn--active:hover{background:color-mix(in srgb,var(--primary, #3b82f6) 18%,transparent)}.settings-panel__pw{overflow:hidden}.settings-panel__model-select{max-width:48%;padding:8px 10px;border-radius:8px;border:1px solid var(--gray-300);background:#fffc;color:var(--gray-800);font-size:.78rem;font-weight:600;cursor:pointer}.settings-panel__model-select:disabled{opacity:.6;cursor:wait}.settings-panel__model-hint{margin:-2px 4px 0;font-size:.7rem;line-height:1.6;color:var(--gray-500)}.settings-panel__note{margin-top:18px;font-size:.72rem;line-height:1.7;color:var(--gray-500)}.app{display:flex;height:100vh;position:relative;overflow:hidden}.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:60vh;padding:48px 24px}.page-error__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;border-radius:16px;background:#f59e0b1f;color:#d97706}.page-error__title{font-size:1.15rem;font-weight:700;color:var(--gray-900, #0f172a)}.page-error__desc{font-size:.85rem;color:var(--gray-500, #64748b);max-width:420px;line-height:1.6}.page-error__actions{display:flex;gap:12px;margin-top:8px}.page-error__btn{padding:9px 18px;border-radius:10px;font-size:.85rem;font-weight:600;border:1px solid var(--gray-200, #e2e8f0);background:#fff;color:var(--gray-700, #334155);cursor:pointer;transition:all .2s ease}.page-error__btn:hover{background:var(--gray-100, #f1f5f9)}.page-error__btn--primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--primary, #2563eb),var(--primary-d, #7c3aed))}.page-error__btn--primary:hover{filter:brightness(1.05);background:linear-gradient(135deg,var(--primary, #2563eb),var(--primary-d, #7c3aed))}.app__background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(145deg,var(--bg-page-start) 0%,var(--bg-page-mid) 40%,var(--bg-page-end) 100%);overflow:hidden}.app__gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);animation:orb-float 25s ease-in-out infinite}.app__gradient-orb--1{width:600px;height:600px;background:radial-gradient(circle,rgba(var(--primary-rgb),.12),transparent 70%);top:-200px;left:5%}.app__gradient-orb--2{width:500px;height:500px;background:radial-gradient(circle,rgba(var(--primary-rgb),.08),transparent 70%);bottom:5%;right:-150px;animation-delay:-8s}.app__gradient-orb--3{width:350px;height:350px;background:radial-gradient(circle,rgba(var(--accent-rgb),.07),transparent 70%);top:45%;left:25%;animation-delay:-16s}@keyframes orb-float{0%,to{transform:translate(0) scale(1);opacity:.7}25%{transform:translate(30px,-35px) scale(1.08);opacity:.9}50%{transform:translate(15px,25px) scale(.96);opacity:.65}75%{transform:translate(-25px,-15px) scale(1.04);opacity:.85}}.app__main{flex:1;margin-left:260px;padding:var(--space-xl) var(--space-2xl);transition:margin-left var(--transition-normal);overflow-y:auto;position:relative}.app__main--expanded{margin-left:80px}.app__content{max-width:1200px;margin:0 auto}@media (max-width: 1024px){.app__main{padding:var(--space-lg) var(--space-xl)}}@media (max-width: 768px){.app__main{margin-left:0;padding:72px var(--space-md) var(--space-md)}.app__gradient-orb--1{width:350px;height:350px}.app__gradient-orb--2{width:280px;height:280px}.app__gradient-orb--3{width:220px;height:220px}}.app__page-loading{display:grid;min-height:12rem;place-items:center;color:var(--text-secondary, #64748b);font-size:.95rem}.theme-toggle{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;align-items:center;gap:9px;padding:8px 12px 8px 14px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#ffffffc7;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 8px 28px #0f172a24;cursor:pointer;font-family:inherit;transition:transform .25s var(--ease-emphasized, ease),box-shadow .25s ease}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 34px #0f172a2e}.theme-toggle__dot{width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 0 8px rgba(var(--primary-rgb),.5);flex-shrink:0}.theme-toggle__label{font-size:.78rem;font-weight:600;color:var(--gray-700);letter-spacing:.02em;white-space:nowrap}.theme-toggle__switch{width:34px;height:18px;border-radius:999px;background:var(--gray-300);position:relative;transition:background .25s ease;flex-shrink:0}.theme-toggle--ink .theme-toggle__switch{background:linear-gradient(135deg,var(--primary),var(--accent))}.theme-toggle__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .25s var(--ease-emphasized, ease)}.theme-toggle--ink .theme-toggle__knob{transform:translate(16px)}@media (max-width: 640px){.theme-toggle__label{display:none}.theme-toggle{padding:8px}}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/sora-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/sora-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-greek-400-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-vietnamese-400-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-greek-500-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-vietnamese-500-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #F2F1EA;--surface: #FAF9F4;--surface-2: #EBEAE0;--ink: #262A23;--ink-soft: #4C5247;--line: #DEDCD0;--primary: #5B7F6E;--primary-d: #46624F;--accent: #C58940;--primary-rgb: 91, 127, 110;--accent-rgb: 197, 137, 64;--ink-rgb: 38, 42, 35;--hero-bg: #1A1E24;--hero-bg-2: #12161B;--hero-bg-rgb: 26, 30, 36;--hero-ink: #E7ECEA;--hero-ink-soft: #9AA7A2;--hero-primary: #6FB3A6;--hero-accent: #E0A458;--hero-light: #CBE3DC;--hero-primary-rgb: 111, 179, 166;--hero-accent-rgb: 224, 164, 88;--primary-50: color-mix(in srgb, var(--primary) 8%, var(--surface));--primary-100: color-mix(in srgb, var(--primary) 16%, var(--surface));--primary-200: color-mix(in srgb, var(--primary) 32%, var(--surface));--primary-300: color-mix(in srgb, var(--primary) 50%, white);--primary-400: color-mix(in srgb, var(--primary) 75%, white);--primary-500: var(--primary);--primary-600: var(--primary-d);--primary-700: var(--primary-d);--purple-50: color-mix(in srgb, var(--primary-d) 8%, var(--surface));--purple-100: color-mix(in srgb, var(--primary-d) 16%, var(--surface));--purple-200: color-mix(in srgb, var(--primary-d) 32%, var(--surface));--purple-300: color-mix(in srgb, var(--primary-d) 50%, white);--purple-400: color-mix(in srgb, var(--primary-d) 72%, white);--purple-500: var(--primary-d);--purple-600: var(--primary-d);--accent-50: color-mix(in srgb, var(--accent) 10%, var(--surface));--accent-100: color-mix(in srgb, var(--accent) 22%, var(--surface));--accent-soft: color-mix(in srgb, var(--accent) 40%, var(--surface));--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-300: #6ee7b7;--success-400: #34d399;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--gray-50: var(--surface);--gray-100: var(--surface-2);--gray-200: var(--line);--gray-300: var(--line);--gray-400: color-mix(in srgb, var(--ink-soft) 60%, var(--surface));--gray-500: var(--ink-soft);--gray-600: var(--ink-soft);--gray-700: var(--ink);--gray-800: var(--ink);--gray-900: var(--ink);--sidebar-surface-start: color-mix(in srgb, var(--surface) 94%, transparent);--sidebar-surface-end: color-mix(in srgb, var(--surface-2) 82%, transparent);--sidebar-tint: rgba(var(--primary-rgb), .05);--sidebar-border: rgba(var(--ink-rgb), .1);--sidebar-divider: rgba(var(--ink-rgb), .1);--sidebar-hover: rgba(var(--ink-rgb), .05);--sidebar-title: var(--ink);--sidebar-label: var(--ink);--sidebar-label-strong: var(--ink);--sidebar-desc: var(--ink-soft);--sidebar-icon-muted: var(--gray-400);--sidebar-item-active: rgba(var(--primary-rgb), .14);--sidebar-glow: rgba(var(--primary-rgb), .4);--sb-accent: var(--primary-rgb);--sb-accent-light: var(--primary-rgb);--sb-grad-a: var(--primary);--sb-grad-b: var(--primary-d);--bg-page-start: var(--bg);--bg-page-mid: var(--surface-2);--bg-page-end: var(--bg);--bg-card: color-mix(in srgb, var(--surface) 90%, transparent);--bg-card-hover: color-mix(in srgb, var(--surface) 97%, transparent);--bg-glass: color-mix(in srgb, var(--surface) 88%, transparent);--shadow-raised: 0 8px 24px rgba(15, 23, 42, .06), inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-raised-hover: 0 16px 40px rgba(15, 23, 42, .1), inset 0 1px 0 rgba(255, 255, 255, .7);--shadow-pressed: inset 0 2px 6px rgba(15, 23, 42, .08);--shadow-soft: 0 2px 12px rgba(15, 23, 42, .05), inset 0 1px 0 rgba(255, 255, 255, .5);--shadow-float: 0 16px 40px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-glass: 0 8px 32px rgba(15, 23, 42, .06), inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-glass-hover: 0 16px 40px rgba(15, 23, 42, .1), 0 0 24px rgba(var(--primary-rgb), .12), inset 0 1px 0 rgba(255, 255, 255, .7);--shadow-glow-blue: 0 0 20px rgba(var(--primary-rgb), .15), 0 0 60px rgba(var(--primary-rgb), .08);--shadow-glow-purple: 0 0 20px rgba(var(--accent-rgb), .15), 0 0 60px rgba(var(--accent-rgb), .08);--shadow-glow-emerald: 0 0 20px rgba(16, 185, 129, .15), 0 0 60px rgba(16, 185, 129, .08);--shadow-inner-glow: inset 0 0 20px rgba(var(--primary-rgb), .08);--shadow-inner-highlight: inset 0 1px 2px rgba(255, 255, 255, .6);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--font-cjk: "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-sans: "Sora Variable", var(--font-cjk);--font-display: "Sora Variable", var(--font-cjk);--font-mono: "JetBrains Mono", "Sora Variable", var(--font-cjk);--font-paper: "Times New Roman", "Source Han Serif SC", "Source Han Serif CN", "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;--paper-ink: #1f2a33;--paper-line: #5c6b78;--paper-node-fill: #f5f7f9;--paper-node-fill-2: #eef1f4;--paper-node-border: #35434f;--paper-caption: #445059;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.25, .8, .25, 1);--duration-fast: .2s;--duration-normal: .35s;--duration-slow: .5s;--transition-fast: var(--duration-fast) var(--ease-standard);--transition-normal: var(--duration-normal) var(--ease-standard);--transition-slow: var(--duration-slow) var(--ease-emphasized)}[data-theme=ink]{--bg: #EFE9DD;--surface: #FBF6EC;--surface-2: #E6DDC9;--ink: #232220;--ink-soft: #565143;--line: #DDD2BC;--primary: #2F4858;--primary-d: #213643;--accent: #B5572E;--primary-rgb: 47, 72, 88;--accent-rgb: 181, 87, 46;--ink-rgb: 35, 34, 32;--hero-bg: #14181E;--hero-bg-2: #0F1318;--hero-bg-rgb: 20, 24, 30;--hero-primary: #5E97B4;--hero-accent: #E0A458;--hero-light: #C4DAE4;--hero-primary-rgb: 94, 151, 180;--hero-accent-rgb: 224, 164, 88}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg);background:linear-gradient(135deg,var(--bg-page-start) 0%,var(--bg-page-mid) 50%,var(--bg-page-end) 100%);background-attachment:fixed;color:var(--gray-700);line-height:1.6;min-height:100vh;overflow-x:hidden;transition:background-color .4s var(--ease-standard),color .4s var(--ease-standard)}.glass-card,.login__panel,.login__brand,.login__input,input,textarea,select{transition:background-color .4s var(--ease-standard),color .4s var(--ease-standard),border-color .4s var(--ease-standard)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--gray-900)}h1{font-size:var(--text-3xl);letter-spacing:-.02em}h2{font-size:var(--text-2xl);letter-spacing:-.01em}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--gray-600)}.card{background:var(--bg-card);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:all var(--transition-normal)}.card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-glass-hover);transform:translateY(-3px)}.card--lg{border-radius:var(--radius-xl);padding:var(--space-lg)}.card--sm{border-radius:var(--radius-md);padding:var(--space-md)}.card--glow{box-shadow:var(--shadow-glass),var(--shadow-glow-blue)}.card--glow:hover{box-shadow:var(--shadow-glass-hover),var(--shadow-glow-blue)}.glass-card{background:var(--bg-card);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass)}.agent-status{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.agent-status--idle{background:var(--gray-100);color:var(--gray-600);box-shadow:var(--shadow-soft)}.agent-status--running{background:var(--primary-100);color:var(--primary-600);box-shadow:var(--shadow-soft),var(--shadow-glow-blue);animation:pulse-glow 2s ease-in-out infinite}.agent-status--success{background:var(--success-100);color:var(--success-600);box-shadow:var(--shadow-soft)}.agent-status--error{background:#fecaca80;color:#b91c1c;box-shadow:var(--shadow-soft)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot--idle{background:var(--gray-400)}.status-dot--running{background:var(--primary-500);box-shadow:0 0 8px var(--primary-400);animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite}.status-dot--success{background:var(--success-500);box-shadow:0 0 8px var(--success-400)}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-soft),0 0 #2563eb00}50%{box-shadow:var(--shadow-soft),0 0 20px #2563eb40}}.difficulty-badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;box-shadow:var(--shadow-soft)}.difficulty-badge--beginner{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1}.difficulty-badge--elementary{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.difficulty-badge--intermediate{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:var(--purple-500)}.difficulty-badge--advanced{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#be185d}.difficulty-badge--expert{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.progress-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-pressed)}.progress-bar__fill{height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,white),var(--accent));border-radius:var(--radius-full);transition:width var(--transition-normal),background-color .4s var(--ease-standard);box-shadow:0 0 8px rgba(var(--accent-rgb),.35)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none;letter-spacing:.01em}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(var(--primary-rgb),.28),inset 0 1px #ffffff2e;transition:background-color .4s var(--ease-standard),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn--primary:hover{background:var(--primary-d);transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--primary-rgb),.34),inset 0 1px #ffffff38}.btn--primary:active{transform:translateY(0);box-shadow:inset 0 3px 8px rgba(var(--ink-rgb),.22)}.btn--ghost{background:#fff6;color:var(--primary-500);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.3)}.btn--ghost:hover{background:#fff9;box-shadow:var(--shadow-raised);transform:translateY(-1px)}.btn--ghost:active{box-shadow:var(--shadow-pressed);transform:translateY(0)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full);box-shadow:var(--shadow-soft)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}:focus-visible{outline:2px solid var(--primary-400);outline-offset:2px}::selection{background:var(--primary-200);color:var(--gray-900)}.gradient-text{background:linear-gradient(135deg,var(--primary-500),var(--purple-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.floating{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-200) 50%,var(--gray-100) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-lg)}.flow-next{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-2xl);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--primary-rgb),.04));border:1px solid rgba(var(--primary-rgb),.18)}.flow-next__text{display:flex;flex-direction:column;gap:4px;min-width:0}.flow-next__step{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--primary-600)}.flow-next__desc{font-size:14px;color:var(--ink-soft)}.flow-next__btn{flex-shrink:0;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 6px 16px rgba(var(--primary-rgb),.28);transition:background .4s var(--ease-standard),transform var(--transition-fast),box-shadow var(--transition-fast)}.flow-next__btn:hover{background:var(--primary-d);transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--primary-rgb),.34)}.flow-next__btn:active{transform:translateY(0)}@media (max-width: 560px){.flow-next{flex-direction:column;align-items:stretch;text-align:left}.flow-next__btn{width:100%}}
