header[data-v-0d0c60b6]{z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fcfefde6;border-bottom:1px solid #c6d8cecc;justify-content:space-between;align-items:center;gap:22px;height:76px;padding:0 clamp(22px,4vw,64px);display:flex;position:sticky;top:0;box-shadow:0 8px 30px #173d3012}.brand[data-v-0d0c60b6]{align-items:center;gap:11px;min-width:max-content;display:flex}.brand-mark[data-v-0d0c60b6]{color:#fff;background:linear-gradient(145deg,#12593f,#21855d);border-radius:13px;place-items:center;width:40px;height:40px;font:800 23px/1 Georgia,serif;display:grid;box-shadow:0 8px 20px #176e4938}.brand-copy[data-v-0d0c60b6]{flex-direction:column;line-height:1.15;display:flex}.brand-copy strong[data-v-0d0c60b6]{color:#163126;letter-spacing:.01em;font-size:16px}.brand-copy small[data-v-0d0c60b6]{color:#87948d;letter-spacing:.12em;margin-top:5px;font-size:10px}nav[data-v-0d0c60b6]{background:#f4f8f6d1;border:1px solid #d3e0d9d9;border-radius:16px;align-items:center;gap:4px;margin-left:auto;padding:5px;display:flex}.logout[data-v-0d0c60b6]{color:#65736b;cursor:pointer;min-width:62px;height:39px;box-shadow:none;background:#ffffffe0;border:1px solid #d8e2dc;border-radius:13px;justify-content:center;align-items:center;padding:0 15px;font-size:13px;display:flex}.logout[data-v-0d0c60b6]:hover{color:#a84238;background:#fff3f1;border-color:#e4b8b2;transform:translateY(-1px)}a[data-v-0d0c60b6]{color:#333;border-radius:11px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .22s}a[data-v-0d0c60b6]:hover{color:#42b883;background:#e8f4ee}.router-link-active[data-v-0d0c60b6]{color:#42b883;background:#fff;font-weight:700;position:relative;box-shadow:0 4px 12px #1f5b4017}.router-link-active[data-v-0d0c60b6]:after{display:none}main[data-v-0d0c60b6]{isolation:isolate;background-color:#f3f7f5;background-image:radial-gradient(circle at 6% 0,#2a916024,#0000 31%),radial-gradient(circle at 96% 8%,#376e9c17,#0000 28%),radial-gradient(circle at 92% 94%,#e4b44317,#0000 28%),linear-gradient(155deg,#f8fbf9 0%,#f1f6f3 55%,#edf4f0 100%);background-size:auto;min-height:calc(100vh - 80px);padding:clamp(28px,3.2vw,48px);position:relative;overflow:hidden}main[data-v-0d0c60b6]:before{content:"C";z-index:-2;color:#17674507;pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid #23775112;border-radius:50%;place-items:center;width:430px;height:430px;font:800 255px/1 Georgia,Times New Roman,serif;display:grid;position:fixed;top:20vh;right:-135px;box-shadow:0 0 0 72px #23775106,0 0 0 144px #23775105}main[data-v-0d0c60b6]:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#1e6f4b21 0 1.2px,#0000 1.5px);background-position:0 0;background-size:28px 28px;position:fixed;inset:80px 0 0;-webkit-mask-image:linear-gradient(115deg,#00000047,#0000 38% 68%,#00000029);mask-image:linear-gradient(115deg,#00000047,#0000 38% 68%,#00000029)}.page-stage[data-v-0d0c60b6]{z-index:1;min-height:inherit;position:relative}.login-main[data-v-0d0c60b6]{background:#f3f7f5;min-height:100vh;padding:0}.login-main[data-v-0d0c60b6]:before,.login-main[data-v-0d0c60b6]:after{display:none}@media (width<=1050px){header[data-v-0d0c60b6]{gap:12px;padding:0 20px}.brand-copy small[data-v-0d0c60b6]{display:none}nav[data-v-0d0c60b6]{max-width:calc(100vw - 230px);overflow-x:auto}nav[data-v-0d0c60b6]::-webkit-scrollbar{display:none}a[data-v-0d0c60b6]{white-space:nowrap}}@media (width<=760px){header[data-v-0d0c60b6]{height:68px;padding:0 14px}.brand-mark[data-v-0d0c60b6]{border-radius:11px;width:36px;height:36px;font-size:20px}.brand-copy strong[data-v-0d0c60b6]{font-size:13px}.brand-copy small[data-v-0d0c60b6]{display:none}nav[data-v-0d0c60b6]{border-radius:13px;max-width:calc(100vw - 150px);padding:4px}a[data-v-0d0c60b6]{padding:7px 10px;font-size:12px}.logout[data-v-0d0c60b6]{min-width:44px;padding:0 10px}.logout span[data-v-0d0c60b6]{font-size:0}.logout span[data-v-0d0c60b6]:after{content:"退出";font-size:11px}main[data-v-0d0c60b6]{padding:24px 16px}main[data-v-0d0c60b6]:before{width:260px;height:260px;font-size:150px;right:-115px;box-shadow:0 0 0 45px #23775105}.login-main[data-v-0d0c60b6]{padding:0}}:root{--c-primary:#176e49;--c-primary-strong:#11593b;--c-primary-soft:#eaf5ef;--c-gold:#e5b747;--c-text:#182a22;--c-muted:#6f7d75;--c-border:#d9e5de;--c-surface:#fffffff0;--c-shadow-sm:0 8px 24px #193e2d0e;--c-shadow-md:0 16px 42px #193e2d16;--c-radius-sm:12px;--c-radius-md:18px;--c-radius-lg:24px}html{background:#eff5f1;min-width:320px;min-height:100%}body{min-height:100vh;color:var(--c-text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eff5f1;margin:0;font-family:Inter,Microsoft YaHei,PingFang SC,Segoe UI,sans-serif}#app{min-height:100vh}*,:before,:after{box-sizing:border-box}button,input,select,textarea{font:inherit}button{transition:transform .18s,box-shadow .18s,background-color .18s,border-color .18s,color .18s}button:not(:disabled):active{transform:translateY(1px)scale(.99)}input,select,textarea{transition:border-color .18s,box-shadow .18s,background-color .18s}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 4px #3897691a;border-color:#62a987!important}::selection{color:#123326;background:#cbe8da}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#eef4f1}::-webkit-scrollbar-thumb{background:#b6c9bf;border:2px solid #eef4f1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8eaa9c}.page-stage>*{animation:.32s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.page-stage :where(h1){color:#152a21;letter-spacing:-.025em}.page-stage :where(h2,h3,strong){color:inherit}.page-stage :where(.eyebrow,.tag){letter-spacing:.08em}.page-stage :where(.panel,.card,.composer,.list,.library,.request-card,.users-table,.profile-card,.password-card,.classes-card,.create-card,.manage,.practice-layout,.knowledge-page .workspace,.metrics,.records-panel){box-shadow:var(--c-shadow-sm);border-color:#d2e1d9f2!important}.page-stage :where(.panel,.card,.composer,.list,.library,.request-card,.users-table,.profile-card,.password-card,.classes-card,.create-card,.manage){background-color:var(--c-surface)}.page-stage :where(.panel,.card,.request-card,.profile-card,.password-card,.classes-card,.assignment,.item){transition:transform .2s,box-shadow .2s,border-color .2s}.page-stage :where(.cards .item,.class-cards article,.request-list article,.assignment):hover{box-shadow:var(--c-shadow-md);transform:translateY(-2px);border-color:#bdd7c9!important}.page-stage :where(.primary,.primary-button,.submit,.publish button:not(.light),button.primary){background-image:linear-gradient(135deg,#176e49,#23875e);box-shadow:0 8px 18px #176e4929}.page-stage :where(.primary,.primary-button,.submit,.publish button:not(.light),button.primary):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 24px #176e493b}.page-stage :where(.state,.empty){color:#829087}.page-stage :where(.state,.empty):before{opacity:.7}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.login-page[data-v-1f45bb10]{isolation:isolate;color:#18231e;background-color:#f3f7f5;background-image:radial-gradient(circle at 76% 18%,#3397671f,#0000 23%),radial-gradient(circle at 96% 88%,#e6b7471f,#0000 26%),linear-gradient(#1e704c0a 1px,#0000 1px),linear-gradient(90deg,#1e704c0a 1px,#0000 1px);background-size:auto,auto,32px 32px,32px 32px;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-page[data-v-1f45bb10]:before{content:"#include <stdio.h>\a \a int main(void) {\a   printf(\"Hello, C!\");\a   return 0;\a }\a \a char *pointer;\a for (int i = 0; i < n; i++)";z-index:-1;white-space:pre;color:#1867450e;pointer-events:none;font:700 clamp(16px,2vw,27px)/1.8 Consolas,monospace;position:absolute;bottom:3%;right:3%;transform:rotate(-6deg)}.intro[data-v-1f45bb10],.auth-card[data-v-1f45bb10]{z-index:1;position:relative}.intro[data-v-1f45bb10]{color:#fff;background:linear-gradient(145deg,#173d30fa,#205b45f5);flex-direction:column;justify-content:center;padding:8vw;display:flex}.intro[data-v-1f45bb10]:after{content:"{  }   #include   int main()   *ptr   ->   [i]   &&   ||";word-spacing:1.4em;color:#ffffff0e;pointer-events:none;font:700 20px/2.4 Consolas,monospace;position:absolute;inset:auto 6% 6%}.intro>p[data-v-1f45bb10]{color:#e6b747;letter-spacing:2px;font-size:12px;font-weight:700}.intro h1[data-v-1f45bb10]{margin:10px 0 14px;font-size:44px}.intro>span[data-v-1f45bb10]{color:#c8dcd3;max-width:540px;line-height:1.8}.intro ul[data-v-1f45bb10]{color:#e5eee9;margin-top:35px;padding-left:20px;line-height:2.2}.auth-card[data-v-1f45bb10]{box-sizing:border-box;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #dce5e0e6;border-radius:22px;align-self:center;width:min(440px,86%);margin:35px auto;padding:35px;box-shadow:0 22px 60px #19372a1f}.tabs[data-v-1f45bb10]{background:#eef3f0;border-radius:13px;padding:5px;display:flex}.tabs button[data-v-1f45bb10]{background:0 0;border:0;border-radius:10px;flex:1;padding:10px}.tabs button.active[data-v-1f45bb10]{color:#176e49;background:#fff;box-shadow:0 4px 12px #00000012}h2[data-v-1f45bb10]{margin:28px 0 4px;font-size:26px}.auth-card>p[data-v-1f45bb10]{color:#7a8580;margin:0 0 20px}.roles[data-v-1f45bb10]{grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0;display:grid}.roles button[data-v-1f45bb10]{color:#6d7973;background:#f8faf9;border:1px solid #d8e1dc;border-radius:10px;padding:9px}.roles button.active[data-v-1f45bb10]{color:#176e49;background:#eaf7f0;border-color:#8fc9ac;font-weight:700}label[data-v-1f45bb10]{color:#59665f;margin:14px 0;font-size:13px;display:block}input[data-v-1f45bb10]{box-sizing:border-box;border:1px solid #cad5cf;border-radius:11px;outline:none;width:100%;margin-top:7px;padding:12px 13px;transition:all .2s}input[data-v-1f45bb10]:focus{border-color:#4ba27a;box-shadow:0 0 0 3px #4ba27a1f}.hint[data-v-1f45bb10]{background:#f3f8f5;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.6;color:#6b7972!important;margin:-2px 0 4px!important}.error[data-v-1f45bb10]{font-size:12px;color:#b42318!important;min-height:22px!important;margin:8px 0!important}.submit[data-v-1f45bb10]{color:#fff;background:linear-gradient(135deg,#176e49,#21845b);border:0;border-radius:12px;width:100%;padding:13px;font-weight:700;box-shadow:0 8px 18px #176e4933}.submit[data-v-1f45bb10]:disabled{opacity:.55}.forgot-link[data-v-1f45bb10]{color:#39765b;background:0 0;border:0;width:100%;margin-top:13px;font-size:12px}.modal[data-v-1f45bb10]{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e1f1773;place-items:center;display:grid;position:fixed;inset:0}.reset-card[data-v-1f45bb10]{box-sizing:border-box;background:#fff;border-radius:22px;width:min(430px,90vw);padding:30px;position:relative;box-shadow:0 24px 70px #0003}.reset-card h2[data-v-1f45bb10]{margin-top:0}.reset-card>p[data-v-1f45bb10]{color:#76827c;font-size:13px;line-height:1.7}.x[data-v-1f45bb10]{background:0 0;border:0;font-size:25px;position:absolute;top:13px;right:16px}.reset-message[data-v-1f45bb10]{color:#287454!important;min-height:42px!important;font-size:12px!important}@media (width<=800px){.login-page[data-v-1f45bb10]{grid-template-columns:1fr}.intro[data-v-1f45bb10]{display:none}.auth-card[data-v-1f45bb10]{margin:30px auto}}.login-page[data-v-1f45bb10]{color:#18231e;background-image:radial-gradient(circle at 78% 12%,#3497672b,#0000 25%),radial-gradient(circle at 96% 88%,#e2b24121,#0000 28%),linear-gradient(150deg,#f8fbf9 0%,#edf5f1 60%,#f8f4e9 100%);background-size:auto}.login-page[data-v-1f45bb10]:before{content:"C";white-space:normal;color:#16664408;border:1px solid #196f4914;border-radius:50%;place-items:center;width:470px;height:470px;font:800 285px/1 Georgia,Times New Roman,serif;display:grid;bottom:-95px;right:-110px;transform:none;box-shadow:0 0 0 78px #196f4906,0 0 0 156px #196f4904}.intro[data-v-1f45bb10]{background-color:#154c3a;background-image:radial-gradient(circle,#ffffff13 0 1px,#0000 1.4px),linear-gradient(150deg,#103d30 0%,#175842 52%,#1b6c4d 100%);background-size:30px 30px,auto;overflow:hidden}.intro[data-v-1f45bb10]:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:560px;height:560px;inset:auto -190px -250px auto;box-shadow:0 0 0 82px #ffffff09,0 0 0 164px #ffffff05}.auth-card[data-v-1f45bb10]{background:#ffffffed;border:1px solid #ffffffd9;box-shadow:0 28px 80px #193c2c24,0 2px 8px #193c2c0d}.intro h1[data-v-1f45bb10]{color:#fff}.intro>span[data-v-1f45bb10],.intro li[data-v-1f45bb10]{color:#e3eee9}.auth-card[data-v-1f45bb10]{min-width:0}@media (width<=800px){.login-page[data-v-1f45bb10]{min-width:0}.auth-card[data-v-1f45bb10]{justify-self:center;max-width:440px;margin:28px 0;padding:28px 24px;width:calc(100vw - 32px)!important}.auth-card>p[data-v-1f45bb10]{overflow-wrap:anywhere}}.filing-footer[data-v-1f45bb10]{z-index:3;pointer-events:auto;justify-content:center;display:flex;position:absolute;bottom:18px;left:0;right:0}.filing-footer a[data-v-1f45bb10]{color:#74847c;letter-spacing:.04em;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:400}.filing-footer a[data-v-1f45bb10]:hover{color:#176e49;background:#ffffffb8}
