:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--bg-elevated:#f7f7f9;--border:#e3e2e7;--border-soft:#ececef;--text:#1c1a22;--text-muted:#6b6575;--text-faint:#a19cab;--accent:#6d4bd6;--accent-strong:#7f5eea;--accent-contrast:#fff;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.55 Segoe UI,Noto Sans TC,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#131217;--bg-elevated:#1a1920;--border:#2b2933;--border-soft:#232129;--text:#ece9f2;--text-muted:#9d97a9;--text-faint:#6d677a;--accent:#a48cf0;--accent-strong:#b39cf5;--accent-contrast:#17141d}}*{box-sizing:border-box}html,body{height:100%}body{min-height:100svh;margin:0}button{font:inherit;color:inherit}#root{flex-direction:column;min-height:100svh;display:flex}.app-shell{flex-direction:column;flex:1;min-height:100svh;display:flex}.nav-bar{border-bottom:1px solid var(--border-soft);background:var(--bg-elevated);flex-direction:column;align-items:center;gap:16px;padding:20px 32px;display:flex}.nav-bar__title{margin:0;font-size:18px;font-weight:600}.nav-bar__tabs{background:var(--bg);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:4px;padding:4px;display:flex}.nav-bar__tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:8px 20px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s}.nav-bar__tab:hover{color:var(--text)}.nav-bar__tab--active{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-contrast)}.content{flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.matching-demo{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:640px;display:flex}.matching-demo__narrative{text-align:center;width:100%;max-width:560px;animation:.35s matching-demo-fade-in}.matching-demo__step-title{color:var(--accent-strong);letter-spacing:.02em;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.matching-demo__step-text{color:var(--text);margin:0;font-size:20px;font-weight:600;line-height:1.6}@keyframes matching-demo-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.matching-demo__nav{align-items:center;gap:16px;display:flex}.matching-demo__nav-btn{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:9px 20px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s,opacity .15s}.matching-demo__nav-btn:hover:not(:disabled){background:var(--bg-hover,var(--border))}.matching-demo__nav-btn:disabled{cursor:default;opacity:.4}.matching-demo__nav-btn--primary{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-contrast);border-color:#0000}.matching-demo__nav-btn--primary:hover:not(:disabled){filter:brightness(1.05);background:linear-gradient(180deg, var(--accent-strong), var(--accent))}.matching-demo__nav-count{text-align:center;min-width:44px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.matching-demo__chart{width:100%;min-width:360px;height:300px;position:relative;overflow:auto visible}.matching-demo__lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.matching-demo__line{stroke:var(--border);stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:x2 .4s}.matching-demo__examiner{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.matching-demo__question-stack{z-index:2;flex-direction:column;align-items:center;gap:6px;animation:.35s matching-demo-fade-in;display:flex;position:absolute;top:6px;left:68%}.matching-demo__stack-icon{color:#fff;background:linear-gradient(160deg,#f5b942,#e2932a);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 6px 14px -4px #e2932a73}.matching-demo__stack-icon svg{width:62%;height:62%}.matching-demo__stack-label{color:var(--accent-strong);background:var(--bg-elevated);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.matching-demo__teachers{position:absolute;inset:0}.matching-demo__teacher{flex-direction:column;align-items:center;gap:6px;transition:left .4s;display:flex;position:absolute;top:168px;transform:translate(-50%)}.matching-demo__avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.matching-demo__avatar svg{width:60%;height:60%}.matching-demo__avatar--examiner{background:linear-gradient(160deg, var(--accent-strong), var(--accent));color:#fff;width:64px;height:64px;box-shadow:0 6px 16px -4px #6d4bd673}.matching-demo__avatar--teacher{color:#fff;background:linear-gradient(160deg,#34c0b0,#1f9e8f);width:56px;height:56px;box-shadow:0 6px 14px -4px #1f9e8f66}.matching-demo__initial{background:var(--bg);border:1.5px solid var(--border);width:20px;height:20px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:-2px;right:-2px}.matching-demo__label{color:var(--text);font-size:13px;font-weight:700}.matching-demo__name{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.matching-demo__badge{color:var(--accent-strong);background:var(--bg-elevated);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.entry-demo{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:640px;display:flex}.entry-demo__examiner{flex-direction:column;align-items:center;gap:8px;display:flex}.entry-demo__grid{grid-template-columns:repeat(3,1fr);gap:28px 12px;width:100%;max-width:460px;animation:.35s matching-demo-fade-in;display:grid}.entry-demo__seat{flex-direction:column;align-items:center;gap:6px;display:flex}.entry-demo__monitor{background:var(--bg-elevated);border:1.5px solid var(--border);width:56px;height:56px;color:var(--text-faint);border-radius:14px;justify-content:center;align-items:center;transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s;display:flex;position:relative}.entry-demo__monitor svg{width:60%;height:60%}.entry-demo__seat--standby .entry-demo__monitor{color:#fff;background:linear-gradient(160deg,#34c0b0,#1f9e8f);border-color:#0000;box-shadow:0 6px 14px -4px #1f9e8f73}.entry-demo__seat--ready .entry-demo__monitor{background:linear-gradient(160deg, var(--accent-strong), var(--accent));color:#fff;border-color:#0000;box-shadow:0 6px 16px -4px #6d4bd680}.entry-demo__teacher-name{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.entry-demo__status-badge{white-space:nowrap;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-faint);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;transition:color .3s,border-color .3s,background-color .3s}.entry-demo__status-badge--standby{color:#1f9e8f;background:#34c0b01f;border-color:#1f9e8f59}.entry-demo__status-badge--ready{color:var(--accent-strong);background:#7f5eea1f;border-color:#7f5eea59}.entry-demo__status-badge--resting{color:#d9480f;background:#d9480f1f;border-color:#d9480f66}.rest-demo{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:640px;display:flex}.rest-demo__examiner-avatar{position:relative}.rest-demo__alert-badge{color:#fff;border:2px solid var(--bg);background:#d9480f;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;animation:.35s matching-demo-fade-in;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 4px 10px -3px #d9480f99}.rest-demo__alert-badge svg{width:62%;height:62%}.rest-demo__board{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px;width:100%;animation:.35s matching-demo-fade-in;display:flex}.rest-demo__card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;flex-direction:column;flex:220px;gap:10px;max-width:260px;padding:16px;display:flex}.rest-demo__card-head{align-items:center;gap:10px;display:flex}.rest-demo__card-headinfo{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.rest-demo__progress{color:var(--text-muted);margin:0;font-size:12px;font-weight:600}.rest-demo__scores{flex-wrap:wrap;gap:6px;display:flex}.rest-demo__score{border:1.5px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text);border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:border-color .2s,box-shadow .2s,opacity .2s;display:flex}.rest-demo__score--flag{color:#d9480f;border-color:#d9480f;box-shadow:0 0 0 2px #d9480f38}.rest-demo__score--voided{opacity:.45;text-decoration:line-through}.rest-demo__proxy{color:#1f9e8f;background:#34c0b01f;border:1px solid #1f9e8f59;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px 4px 4px;font-size:12px;font-weight:700;display:flex}.rest-demo__proxy-avatar{color:#fff;background:linear-gradient(160deg,#34c0b0,#1f9e8f);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.rest-demo__diff{flex-direction:column;align-items:center;gap:4px;padding-top:30px;transition:opacity .25s;display:flex}.rest-demo__diff--hidden{opacity:0;visibility:hidden}.rest-demo__diff-icon{color:#d9480f;background:#d9480f24;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.rest-demo__diff-icon svg{width:62%;height:62%}.rest-demo__diff-label{color:#d9480f;white-space:nowrap;font-size:12px;font-weight:700}.rest-demo__scenarios{border-top:1px dashed var(--border);flex-direction:column;align-items:center;gap:12px;width:100%;padding-top:8px;display:flex}.rest-demo__scenarios-title{color:var(--text);margin:0;font-size:14px;font-weight:700}.rest-demo__scenario-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.rest-demo__scenario-btn{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.rest-demo__scenario-btn:hover{border-color:var(--accent-strong)}.rest-demo__scenario-btn--active{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-contrast);border-color:#0000}.rest-demo__scenario-result{text-align:center;max-width:560px;color:var(--text);margin:0;font-size:15px;font-weight:600;line-height:1.6;animation:.3s matching-demo-fade-in}.data-storage{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:640px;display:flex}.data-storage__db{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:16px;flex-direction:column;gap:4px;width:100%;padding:14px 16px 18px;display:flex;box-shadow:0 8px 20px -14px #0006}.data-storage__db-header{background:var(--border-soft);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:700;display:flex}.data-storage__db-icon{color:var(--accent-strong);flex-shrink:0}.data-storage__records{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:100%;padding:12px 0;display:flex}.data-storage__record{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,border-color .2s,background-color .2s,box-shadow .2s,opacity .2s;display:flex}.data-storage__record--hit{background:linear-gradient(160deg, var(--accent-strong), var(--accent));border-style:solid;border-color:#0000;transform:scale(1.15);box-shadow:0 6px 14px -4px #6d4bd680}.data-storage__record--dim{opacity:.35}.data-storage__record--unpaired{border-style:dashed;border-color:var(--text-muted);background:0 0}.data-storage__record--unpaired.data-storage__record--hit{background:linear-gradient(160deg, var(--accent-strong), var(--accent));border-style:solid;border-color:#0000}.data-storage__value{color:var(--accent-contrast);font-size:14px;font-weight:700}.data-storage__filters{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.data-storage__filter-btn{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.data-storage__filter-btn:hover{border-color:var(--accent-strong)}.data-storage__filter-btn--active{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-contrast);border-color:#0000}.data-storage__summary{text-align:center;max-width:560px;min-height:1.6em;color:var(--text);margin:0;font-size:15px;font-weight:600;line-height:1.6;animation:.3s matching-demo-fade-in}.grading-workflow{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:860px;display:flex}.grading-workflow__layout{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;width:100%;display:flex}.grading-workflow__main{flex:480px;min-width:320px;max-width:640px}.grading-workflow__stats{flex-direction:column;flex:0 0 220px;align-self:stretch;gap:12px;width:220px;animation:.35s matching-demo-fade-in;display:flex}.grading-workflow__stats-title{color:var(--text-muted);margin:0;font-size:13px;font-weight:700}.grading-workflow__stats-total{border-bottom:1px dashed var(--border);flex-direction:column;align-items:flex-start;gap:2px;padding-bottom:8px;display:flex}.grading-workflow__stats-total-value{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.grading-workflow__stats-total-label{color:var(--text-muted);font-size:12px;font-weight:600}.grading-workflow__stats-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.grading-workflow__stats-row{color:var(--text);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.grading-workflow__stats-row span:last-child{font-variant-numeric:tabular-nums;color:var(--accent-strong);font-weight:700}.grading-workflow__avatar--resting{background:linear-gradient(160deg,#f0a15c,#d9480f)!important;box-shadow:0 6px 14px -4px #d9480f73!important}.grading-workflow__avatar--proxy{background:linear-gradient(160deg, var(--accent-strong), var(--accent))!important;box-shadow:0 6px 14px -4px #6d4bd673!important}.entry-demo__status-badge--proxy{color:var(--accent-strong);background:#7f5eea1f;border-color:#7f5eea59}.grading-workflow__chart--tall{height:360px}.grading-workflow__note{color:var(--text-faint);text-align:center;white-space:nowrap;font-size:11px;font-weight:600}.grading-workflow__note--alert{color:#d9480f}.grading-workflow__intake{flex-direction:column;align-items:center;gap:14px;animation:.35s matching-demo-fade-in;display:flex}.grading-workflow__intake-row{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.grading-workflow__intake-item{flex-direction:column;align-items:center;gap:6px;display:flex}.grading-workflow__intake-arrow{color:var(--text-muted);font-size:13px;font-weight:700}.grading-workflow__db-box{align-items:center;padding:18px 32px}.grading-workflow__db-count{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.grading-workflow__bars{flex-direction:column;gap:12px;width:100%;padding-top:12px;animation:.35s matching-demo-fade-in;display:flex}.grading-workflow__bar-row{align-items:center;gap:10px;display:flex}.grading-workflow__bar-name{color:var(--text);flex:0 0 64px;font-size:13px;font-weight:700}.grading-workflow__bar-track{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;flex:1;height:16px;overflow:hidden}.grading-workflow__bar-fill{background:linear-gradient(90deg, var(--accent-strong), var(--accent));border-radius:999px;height:100%;transition:width .4s}.grading-workflow__bar-value{text-align:right;color:var(--accent-strong);font-variant-numeric:tabular-nums;flex:0 0 32px;font-size:13px;font-weight:700}
