:root{color:#27231f;font-synthesis:none;--ink:#27231f;--muted:#736b61;--paper:#fbf8f1;--paper-deep:#f1ecdf;--line:#d9d0bf;--red:#9f3e32;--red-dark:#722b25;--jade:#315e57;--gold:#a4762b;--shadow:0 14px 38px #3f332514;background:#eee9df;font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 8%,#b491551a,#0000 28rem),linear-gradient(#f4f0e8 0,#e9e3d8 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.app-frame{min-height:100vh}.demo-banner{color:#eee8dc;letter-spacing:.02em;background:#2d2b27;align-items:center;gap:12px;min-height:38px;padding:8px max(20px,50vw - 690px);font-size:12px;display:flex}.demo-chip{color:#241c13;white-space:nowrap;background:#d6b474;border-radius:999px;padding:3px 8px;font-weight:700}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#faf7f0e0;border-bottom:1px solid #6f5f482e;align-items:center;gap:40px;height:78px;padding:0 max(20px,50vw - 690px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{color:#f9f4e9;background:var(--red);place-items:center;width:42px;height:42px;font-family:Noto Serif SC,STSong,serif;font-size:24px;display:grid;box-shadow:inset 0 0 0 2px #fff3}.brand>span:last-child{flex-direction:column;line-height:1.1;display:flex}.brand strong{font-family:Noto Serif SC,STSong,serif;font-size:18px}.brand small{color:var(--muted);margin-top:4px;font-size:11px}.site-header nav{gap:8px;display:flex}.site-header nav a{color:var(--muted);border-radius:8px;padding:10px 14px;font-size:14px;text-decoration:none}.site-header nav a:hover,.site-header nav a.active{color:var(--red-dark);background:#efe4d4}.version{color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:6px 9px;font-size:12px}.page-shell{width:min(1380px,100% - 40px);margin:0 auto;padding:52px 0 80px}.page-heading{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-.03em;margin:8px 0 10px;font:700 clamp(30px,4vw,50px)/1.15 Noto Serif SC,STSong,serif}.page-heading p{max-width:780px;color:var(--muted);margin:0;line-height:1.8}.eyebrow{color:var(--red);letter-spacing:.16em;font-size:11px;font-weight:700}.step-count{color:var(--red-dark);white-space:nowrap;background:#fffbf4b3;border:1px solid #c9a89a;border-radius:6px;padding:12px 16px}.step-tabs{gap:2px;margin-bottom:22px;padding-bottom:3px;display:flex;overflow-x:auto}.step-tab{min-width:180px;color:var(--muted);cursor:pointer;text-align:left;background:#ffffff4d;border:0;border-bottom:3px solid #0000;flex:1;align-items:center;gap:10px;padding:14px 16px;display:flex}.step-tab span{color:#b0a493;font:700 18px Noto Serif SC,STSong,serif}.step-tab.active{color:var(--ink);border-bottom-color:var(--red);background:var(--paper)}.step-tab.active span{color:var(--red)}.workbench-grid{grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);align-items:start;gap:22px;display:grid}.stack{gap:22px;display:grid}.panel{background:var(--paper);box-shadow:var(--shadow);border:1px solid #826e5338;border-radius:4px;padding:28px}.panel.compact{padding:24px 28px}.panel h2{margin:7px 0 14px;font:700 23px/1.35 Noto Serif SC,STSong,serif}.panel p{line-height:1.75}.panel-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel-title-row h2{margin-top:4px}.muted{color:var(--muted)}.video-stage{color:#eee8db;min-height:430px;box-shadow:var(--shadow);background:#242724;border:1px solid #3a3c36;flex-direction:column;justify-content:center;padding:42px;display:flex;position:relative;overflow:hidden}.stage-grid{opacity:.18;background-image:linear-gradient(#8aa096 1px,#0000 1px),linear-gradient(90deg,#8aa096 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 80%);mask-image:linear-gradient(to bottom right,#000,#0000 80%)}.stage-grid:after{content:"";border:1px solid #b29058;border-radius:50%;width:240px;height:240px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 60px #b290580d}.stage-content{max-width:470px;position:relative}.stage-content .eyebrow{color:#c9aa72}.stage-content h3{margin:11px 0 14px;font:700 30px Noto Serif SC,STSong,serif}.stage-content p{color:#bcb8ad;line-height:1.8}.stage-footer{color:#989a92;font-size:12px;position:absolute;bottom:28px;left:42px}.note{color:var(--muted);border-top:1px solid var(--line);grid-template-columns:130px 1fr;gap:12px;padding:13px 0;font-size:14px;line-height:1.6;display:grid}.note strong{color:var(--jade)}.note.warning strong{color:var(--red)}.capture-panel{gap:18px;display:grid;position:sticky;top:100px}.mode-label{color:var(--jade);background:#e4efeb;border:1px solid #9fbbb6;border-radius:4px;padding:5px 8px;font-size:12px}.field,.annotation-form label,.decision-form label,.candidate-card label{color:#5f574e;gap:7px;font-size:13px;font-weight:600;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fffdf8;border:1px solid #cfc4b4;border-radius:4px;outline:none;padding:10px 11px}input:focus,textarea:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px #9f3e321a}textarea{resize:vertical;min-height:92px}.upload-zone{cursor:pointer;text-align:center;background:#f2ede3;border:1px dashed #a89984;place-items:center;min-height:218px;display:grid;position:relative;overflow:hidden}.upload-zone>div{color:var(--ink);gap:8px;display:grid}.upload-zone>div:before{content:"+";border:1px solid var(--red);width:45px;height:45px;color:var(--red);border-radius:50%;place-items:center;margin:auto;font-size:25px;display:grid}.upload-zone span{color:var(--muted);font-size:12px}.upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-zone video{background:#151615;width:100%;max-height:330px}.upload-zone.has-preview{background:#181a18;border-style:solid}.quality-controls{border:1px solid var(--line);gap:12px;margin:0;padding:15px;display:grid}.quality-controls legend{color:var(--muted);padding:0 8px;font-size:12px}.quality-controls label{color:var(--muted);grid-template-columns:1fr auto;gap:4px 10px;font-size:12px;display:grid}.quality-controls input{accent-color:var(--red);grid-column:1/-1;padding:0}.quality-controls output{color:var(--ink);font-variant-numeric:tabular-nums}.check-row{color:var(--muted);align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;display:flex}.check-row input{width:auto;accent-color:var(--red);margin-top:2px}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:3px;padding:13px 18px;font-weight:700}.primary-button{color:#fff;background:var(--red);box-shadow:0 7px 16px #8731292e}.primary-button:hover{background:var(--red-dark)}.secondary-button{color:var(--red-dark);background:#f7ebe7;border:1px solid #caa79d}button:disabled{opacity:.5;cursor:not-allowed}.form-error{color:#812c28;border-left:3px solid var(--red);background:#f8e2dc;padding:11px 13px;font-size:13px}.result-card{background:#edf3ee;border:1px solid #b9c9bf;padding:16px}.result-card>div{align-items:center;gap:10px;display:flex}.result-card p{margin:12px 0 5px;font-size:13px}.result-card small{color:var(--muted)}.status{color:#4f463d;white-space:nowrap;background:#e9e3d8;border-radius:99px;width:fit-content;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-pending_review{color:#775313;background:#f1e5bf}.status-passed{color:#28584a;background:#dcebe5}.status-retake_required,.status-repractice_required,.status-offline_guidance_required{color:#852f2a;background:#f3ddd7}.history-panel{margin-top:22px}.history-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.history-list article{border:1px solid var(--line);background:#fffdf8;padding:15px}.history-list article>div{justify-content:space-between;gap:8px;display:flex}.history-list time{color:var(--muted);margin-top:8px;font-size:11px;display:block}.history-list p{margin-bottom:0;font-size:13px}.teacher-grid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:22px;display:grid}.queue-panel{padding:18px;position:sticky;top:100px}.queue-item{border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:14px 10px;display:flex}.queue-item>span:first-child{gap:5px;min-width:0;display:grid}.queue-item small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.queue-item.active{box-shadow:inset 3px 0 var(--red);background:#efe5d7}.review-header{grid-template-columns:1fr auto;display:grid}.review-header dl{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:14px 0 0;display:grid}.review-header dl div{padding:14px 14px 0 0}dt{color:var(--muted);font-size:11px}dd{margin:4px 0 0;font-weight:600}.submitted-video video{background:#191a18;width:100%;max-height:520px}.submitted-video>p{margin-bottom:0;font-size:12px}.video-missing{min-height:180px;color:var(--muted);background:#efeadf;border:1px dashed #b8ab98;place-items:center;display:grid}.candidate-card{border-left:3px solid var(--gold);background:#f5efe3;margin-top:13px;padding:15px 17px}.candidate-card>div{justify-content:space-between;gap:15px;display:flex}.candidate-card>div span{color:var(--muted);font-size:12px}.candidate-card p{margin:9px 0;font-size:14px}.candidate-card code{color:var(--muted);margin-bottom:12px;font-size:11px;display:block;overflow:auto}.inline-fields{grid-template-columns:130px 1fr;gap:15px;display:grid}.wide textarea{min-height:74px}.saved-note{border-top:1px solid var(--line);grid-template-columns:55px 1fr;gap:8px;margin:10px 0 0;padding-top:10px;font-size:13px;display:grid}.decision-form{border-top:4px solid var(--red);gap:15px;display:grid}.capability-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.capability{padding:22px}.capability h2{margin-top:18px;font-size:18px}.capability p{color:var(--muted);margin-bottom:0;font-size:13px}.cap-dot{border-radius:99px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.cap-dot.ready{color:#28584a;background:#dcebe5}.cap-dot.pending{color:#765318;background:#eee2bf}.boundary-panel{grid-template-columns:1fr 2fr;margin-top:18px;display:grid}.boundary-panel dl{grid-template-columns:repeat(4,1fr);gap:10px;margin:0;display:grid}.boundary-panel dl div{background:var(--paper-deep);padding:13px}.audit-panel{margin-top:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px}th{color:var(--muted);font-weight:600}td code{overflow-wrap:anywhere;color:#695e51;max-width:360px;display:block}@media (width<=980px){.workbench-grid,.teacher-grid{grid-template-columns:1fr}.capture-panel,.queue-panel{position:static}.capability-grid{grid-template-columns:repeat(2,1fr)}.boundary-panel{grid-template-columns:1fr;gap:15px}.site-header{gap:15px}.version{display:none}}@media (width<=680px){.demo-banner{align-items:flex-start}.site-header{flex-wrap:wrap;height:auto;min-height:70px;padding-top:10px;padding-bottom:10px}.site-header nav{border-top:1px solid var(--line);order:2;width:100%;padding-top:8px;overflow-x:auto}.site-header nav a{text-align:center;white-space:nowrap;flex:1;padding:8px}.page-shell{width:min(100% - 24px,1380px);padding-top:34px}.page-heading{display:block}.step-count{width:fit-content;margin-top:16px}.panel{padding:20px}.video-stage{min-height:330px;padding:25px}.stage-footer{bottom:20px;left:25px;right:25px}.note{grid-template-columns:1fr;gap:4px}.inline-fields,.review-header dl{grid-template-columns:1fr}.capability-grid,.boundary-panel dl{grid-template-columns:1fr 1fr}.brand small{display:none}}
