:root{color-scheme:light;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f4ede3;--surface: #fffdf9;--ink: #1d1a17;--muted-ink: #756e66;--vermilion: #9d1c24;--jade: #17665f;--gold: #b68a45;--line: #d9cec0;--success: #2e7d5b;--warning: #c28a24;--error: #c54040;--teacher-pose: #2e8b57;--student-pose: #3b82f6;--font-display: "Noto Serif SC", "STSong", serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}button,input,select,textarea{font:inherit}:root{--shadow-soft: 0 8px 24px rgba(37, 27, 19, .06)}body{background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{border:0}button{cursor:pointer}.app-shell{height:100vh;display:flex;overflow:hidden;background:var(--paper)}.app-sidebar{position:sticky;top:0;width:224px;flex:0 0 224px;height:100vh;overflow-y:auto;display:flex;flex-direction:column;padding:26px 14px 16px;border-right:1px solid var(--line);background:#fffdf9eb}.brand-lockup,.login-brand{display:flex;align-items:center;gap:10px}.brand-mark{width:33px;height:33px;display:grid;place-items:center;border:1px solid var(--vermilion);color:var(--vermilion);font-family:var(--font-display);font-size:18px}.brand-lockup strong,.login-brand strong{display:block;font-family:var(--font-display);font-size:15px;letter-spacing:.05em}.brand-lockup small,.login-brand small{display:block;margin-top:3px;color:var(--muted-ink);font:9px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}.sidebar-section-label{margin:36px 10px 8px;color:#1d1a1766;font-size:10px;letter-spacing:.22em}.sidebar-section-label--edit{margin-top:26px}.sidebar-nav{display:grid;gap:3px}.sidebar-link{position:relative;display:flex;align-items:center;gap:10px;min-height:37px;padding:0 10px;border-radius:3px;color:#1d1a17a1;font-size:13px}.sidebar-link:hover,.sidebar-link.router-link-active{color:var(--ink);background:#d9cec06b}.sidebar-link.router-link-active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;background:var(--vermilion)}.sidebar-link--muted{margin-top:9px}.step-number{width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(29,26,23,.25);border-radius:50%;color:#1d1a17a6;font:11px ui-monospace,monospace}.sidebar-foot{margin-top:auto}.engine-status,.topbar-engine{display:flex;align-items:center;gap:7px;color:var(--muted-ink);font-size:11px}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--muted-ink)}.status-dot--ok{background:var(--success);box-shadow:0 0 0 3px #2e7d5b1f}.status-dot--warn{background:var(--warning)}.account-chip{display:flex;align-items:center;gap:8px;width:100%;margin-top:16px;padding:8px 6px;background:transparent;color:var(--ink);text-align:left}.avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--vermilion);color:var(--paper);font-family:var(--font-display)}.account-text{flex:1;display:grid;gap:2px}.account-text b{font-size:12px}.account-text small{color:var(--muted-ink);font-size:10px}.app-main{min-width:0;height:100vh;flex:1;overflow-x:hidden;overflow-y:auto}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:21px 34px 18px;border-bottom:1px solid var(--line);background:#f4ede39e}.topbar h1,.page-intro h2,.practice-toolbar h2,.annotate-head h2{margin:3px 0 0;font:24px var(--font-display);letter-spacing:.04em}.breadcrumb{margin:0;color:var(--muted-ink);font-size:11px}.breadcrumb span{margin:0 5px;color:var(--gold)}.topbar-actions{display:flex;align-items:center;gap:18px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;background:#fffdf9a6;color:var(--ink)}.icon-button:hover{border-color:var(--jade);color:var(--jade)}.icon-button--small{width:28px;height:28px}.icon-button--dark{border-color:#f4ede32e;background:#00000038;color:var(--paper)}.page-content{padding:26px 34px 38px}.dashboard-page,.library-page,.form-page,.detail-page,.records-page,.report-page,.files-page{max-width:1400px;margin:0 auto}.eyebrow{margin:0;color:var(--vermilion);font-size:10px;letter-spacing:.17em;text-transform:uppercase}.muted-copy{color:var(--muted-ink);font-size:12px;line-height:1.7}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:3px;font-size:12px;white-space:nowrap}.button--primary{background:var(--vermilion);color:var(--paper)}.button--primary:hover{background:#86161d}.button--outline{border:1px solid var(--jade);color:var(--jade);background:transparent}.button--outline:hover{background:#17665f12}.button--quiet{border:1px solid var(--line);background:#fffdf980;color:#1d1a17b3}.button--quiet:hover{color:var(--ink);border-color:#1d1a1759}.button--jade{background:var(--jade);color:var(--paper)}.button--danger{background:var(--error);color:#fff}.button--large{min-height:42px}.button--full{width:100%}.text-link{display:inline-flex;align-items:center;gap:4px;color:var(--jade);font-size:12px}.text-link--button{padding:0;background:transparent}.surface-panel{border:1px solid rgba(29,26,23,.1);background:#fffdf9ba;border-radius:3px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-heading h3,.panel-heading h2{margin:4px 0 0;font:17px var(--font-display);letter-spacing:.03em}.panel-heading h4{margin:4px 0 0;font:16px var(--font-display)}.icon-warn{color:var(--warning)}.hero-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:158px;padding:30px 32px;border:1px solid rgba(182,138,69,.35);background:linear-gradient(110deg,#fffdf9a6,#fffdf93d)}.hero-strip h2{margin:8px 0 6px;font:28px var(--font-display);letter-spacing:.05em}.hero-actions,.detail-actions,.practice-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.metric-badge{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 17px;border:1px solid rgba(29,26,23,.1);background:#fffdf9a3}.metric-badge span{color:var(--muted-ink);font-size:12px}.metric-badge strong{font:21px ui-monospace,monospace}.metric-badge--warning strong{color:var(--warning)}.metric-badge--error strong{color:var(--error)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.panel-span-2{grid-column:span 2}.dashboard-grid>.surface-panel{padding:20px}.data-table{margin-top:15px}.table-row{display:grid;grid-template-columns:minmax(210px,1.6fr) .65fr .8fr 1fr 24px;align-items:center;gap:12px;min-height:57px;border-bottom:1px solid rgba(29,26,23,.07);color:var(--ink);font-size:12px}.table-row:last-child{border-bottom:0}.table-row:not(.table-head):hover{color:var(--jade)}.table-head{min-height:32px;color:#1d1a1773;font-size:11px}.action-cell{display:flex;align-items:center;gap:10px}.action-cell small,.session-main small,.action-card-body p,.action-card-meta,.phase-row small,.detail-phase-row small,.metric-summary-row small,.clip-row small{display:block;margin-top:3px;color:var(--muted-ink);font-size:11px}.action-thumb,.pending-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(157,28,36,.35);color:var(--vermilion);background:#9d1c240f;font:18px var(--font-display)}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:2px;font-size:10px}.status-pill--published{color:var(--success);background:#2e7d5b1a}.status-pill--draft,.status-pill--pending{color:var(--warning);background:#c28a241f}.status-pill--muted{color:var(--muted-ink);background:#756e661a}.pending-item{display:flex;gap:12px;margin-top:23px;padding:13px 0 3px}.pending-item p{margin:6px 0 8px;color:var(--muted-ink);font-size:11px;line-height:1.6}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:17px -20px -20px;border-top:1px solid rgba(29,26,23,.08)}.quick-action{display:grid;gap:5px;min-height:92px;padding:15px 19px;color:var(--jade);border-right:1px solid rgba(29,26,23,.08);border-bottom:1px solid rgba(29,26,23,.08)}.quick-action:hover{background:#17665f0a}.quick-action span{color:var(--ink);font-size:12px}.quick-action small{color:var(--muted-ink);font-size:10px}.session-list{margin-top:12px}.session-item{display:flex;align-items:center;gap:17px;min-height:59px;border-bottom:1px solid rgba(29,26,23,.07)}.session-item:last-child{border-bottom:0}.session-date{width:42px;color:var(--vermilion);font:12px ui-monospace,monospace}.session-date small{display:block;color:var(--muted-ink);font-size:9px}.session-main{flex:1}.session-main b{font-size:12px}.score-pair{display:grid;min-width:56px;text-align:right}.score-pair strong{font:15px ui-monospace,monospace}.score-pair small{color:var(--muted-ink);font-size:9px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.page-intro h2{font-size:28px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:17px}.search-box,.select-box{min-height:37px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:3px;background:#fffdf9a6;color:var(--muted-ink)}.search-box{width:min(360px,100%)}.search-box input,.select-box select{min-width:0;outline:none;background:transparent;color:var(--ink);font-size:12px}.select-box select{cursor:pointer}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.action-card{overflow:hidden;border:1px solid rgba(29,26,23,.1);border-radius:3px;background:#fffdf9b8}.action-card:hover{border-color:var(--jade);transform:translateY(-1px)}.action-card-cover{position:relative;height:165px;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(182,138,69,.23),transparent 60%),#24201d}.cover-seal{width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(244,237,227,.62);color:var(--paper);font:43px var(--font-display)}.action-card-cover .status-pill{position:absolute;top:12px;left:12px}.cover-duration{position:absolute;right:12px;bottom:11px;color:#f4ede3a6;font:11px ui-monospace,monospace}.action-card-body{padding:15px 16px 16px}.action-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.action-card-title h3{margin:0;font:17px var(--font-display)}.action-card-body p{margin:6px 0 14px}.action-card-meta{display:flex;justify-content:space-between;padding-top:11px;border-top:1px solid rgba(29,26,23,.08)}.action-card--new{min-height:259px;display:grid;place-content:center;justify-items:center;gap:9px;border-style:dashed;color:var(--jade)}.action-card--new b{color:var(--ink);font:16px var(--font-display)}.action-card--new span{color:var(--muted-ink);font-size:11px}.stepper{display:flex;align-items:center;justify-content:center;margin:2px auto 27px}.stepper-item{display:flex;align-items:center;gap:7px;color:var(--muted-ink);font-size:11px}.stepper-item b{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:11px ui-monospace,monospace}.stepper-item.is-active{color:var(--vermilion)}.stepper-item.is-active b{border-color:var(--vermilion);color:var(--paper);background:var(--vermilion)}.stepper-line{width:74px;height:1px;margin:0 14px;background:var(--line)}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:17px;align-items:start}.form-main{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px;margin-top:25px}.field-label{position:relative;display:grid;gap:7px;color:#1d1a17b3;font-size:12px}.field-label input,.field-label select,.field-label textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:3px;outline:none;background:#ffffffa6;color:var(--ink);font-size:13px;resize:vertical}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--jade);box-shadow:0 0 0 2px #17665f14}.field-label small{position:absolute;right:11px;bottom:11px;color:var(--muted-ink)}.field-span-2{grid-column:span 2}.preset-panel{padding:20px}.preset-panel>.muted-copy{margin:12px 0 14px}.metric-option{display:flex;align-items:center;gap:9px;min-height:51px;margin-top:7px;padding:0 10px;border:1px solid rgba(29,26,23,.11);border-radius:3px;background:#ffffff6b}.metric-option--checked{border-color:#9d1c244d;background:#9d1c2409}.metric-option input{accent-color:var(--vermilion)}.metric-option span{flex:1}.metric-option b,.metric-option small{display:block}.metric-option b{font-size:12px}.metric-option small{margin-top:3px;color:var(--muted-ink);font-size:10px;line-height:1.4}.metric-option>svg{color:var(--vermilion)}.callout{display:grid;gap:4px;margin-top:15px;padding:12px;border-left:2px solid var(--gold);background:#b68a4514;font-size:11px}.callout span{color:var(--muted-ink);line-height:1.6}.form-actions,.detail-footer,.record-footer,.practice-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.form-actions>:last-child{margin-left:auto}.practice-page,.follow-page,.annotate-page{max-width:1500px;margin:0 auto}.practice-toolbar{display:flex;align-items:center;gap:20px;margin-bottom:19px}.practice-toolbar>:first-child{margin-right:auto}.practice-toolbar h2{font-size:25px}.toolbar-status{display:flex;align-items:center;gap:8px;color:var(--muted-ink);font-size:11px}.body-chip{padding:4px 7px;color:var(--success);background:#2e7d5b1a;border-radius:2px}.segmented-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:3px;background:#fffdf98c;color:var(--ink);font-size:12px}.practice-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:17px}.practice-visuals{min-width:0}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.video-panel{position:relative;overflow:hidden;border:1px solid rgba(29,26,23,.13);border-radius:3px;background:#1f1b18;color:var(--paper)}.video-panel--camera,.video-panel--skeleton{min-height:510px}.video-panel--skeleton{background:#161412}.video-panel-header{position:absolute;z-index:2;top:0;left:0;right:0;height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:linear-gradient(rgba(17,13,10,.7),transparent);color:var(--paper);font-size:12px}.video-panel-header span:first-child{display:inline-flex;align-items:center;gap:6px}.video-caption{color:#f4ede39e;font-size:10px}.camera-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;align-content:center;gap:11px;color:#f4ede3b3;background:radial-gradient(ellipse at center,rgba(182,138,69,.2),transparent 62%),linear-gradient(135deg,rgba(255,255,255,.02) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.02) 75%);background-size:auto,26px 26px}.camera-placeholder--mirror,.camera-placeholder--mirror p,.camera-placeholder--mirror small{transform:scaleX(-1)}.camera-placeholder p{margin:0;font:15px var(--font-display);color:var(--paper)}.camera-placeholder small{color:#f4ede38a;font-size:10px}.camera-ring{width:70px;height:70px;display:grid;place-items:center;border:1px solid rgba(182,138,69,.7);border-radius:50%;color:var(--gold)}.camera-person{width:23px;height:31px;display:block;border:1px solid currentColor;border-radius:50% 50% 42% 42%}.camera-placeholder--small{top:45px;right:0;bottom:24px;left:0}.skeleton-stage{position:absolute;top:45px;right:0;bottom:25px;left:0;display:grid;place-items:center;background-image:linear-gradient(rgba(244,237,227,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,237,227,.05) 1px,transparent 1px);background-size:32px 32px}.pose-skeleton{width:min(70%,310px);height:88%}.pose-label{font:9px ui-monospace,monospace}.video-panel>.video-caption{position:absolute;bottom:9px;left:13px}.angles-panel{margin-top:13px;padding:17px}.angles-filter{display:flex;gap:3px}.filter-chip{padding:5px 8px;background:transparent;color:var(--muted-ink);font-size:10px}.filter-chip.is-active{color:var(--vermilion);background:#9d1c2412}.angle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:15px -17px -17px;border-top:1px solid rgba(29,26,23,.08)}.angle-grid .metric-badge{min-height:62px;padding:0 13px;border:0;border-right:1px solid rgba(29,26,23,.07);border-bottom:1px solid rgba(29,26,23,.07)}.angle-grid .metric-badge strong{font-size:16px}.practice-aside{display:grid;align-content:start;gap:13px}.quality-panel,.landmark-panel,.session-panel{padding:18px}.quality-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 15px;text-align:center}.quality-stats>div+div{border-left:1px solid var(--line)}.quality-stats strong{display:block;font:23px ui-monospace,monospace}.quality-stats strong span{font-size:12px}.quality-stats small{display:block;margin-top:4px;color:var(--muted-ink);font-size:10px}.smooth-bars{display:flex;align-items:end;gap:3px;height:38px}.smooth-bars i{flex:1;display:block;background:var(--jade);opacity:.72}.chart-caption{margin:8px 0 0;color:var(--muted-ink);font-size:10px}.landmark-table{margin:12px -18px 8px;border-top:1px solid rgba(29,26,23,.07)}.landmark-row{display:grid;grid-template-columns:25px 1fr 48px 40px;align-items:center;gap:5px;min-height:35px;padding:0 18px;border-bottom:1px solid rgba(29,26,23,.05);font-size:10px}.landmark-row b{font-weight:500}.confidence-bar{height:4px;overflow:hidden;border-radius:4px;background:var(--line)}.confidence-bar i{display:block;height:100%;background:var(--jade)}.clip-row{display:flex;align-items:center;gap:9px;margin-top:15px;padding:11px 0;border-top:1px solid rgba(29,26,23,.07)}.clip-icon{width:27px;height:27px;display:grid;place-items:center;color:var(--jade);background:#17665f1a}.clip-row span:nth-child(2){flex:1}.clip-row b,.clip-row small{display:block;font-size:11px}.session-controls{display:flex;gap:6px}.session-controls .button{flex:1;padding:0 6px;font-size:10px}.practice-footer{color:var(--muted-ink);font-size:10px}.practice-footer>span:first-child{display:inline-flex;align-items:center;gap:5px}.practice-footer>span:nth-child(2){margin-left:auto}.record-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-stage .video-panel{min-height:560px}.record-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:13px;padding:14px 17px;border:1px solid rgba(29,26,23,.1);background:#fffdf9b8}.timeline-readout{display:flex;align-items:baseline;gap:5px;font-size:12px;color:var(--muted-ink)}.timeline-readout strong{color:var(--vermilion);font:22px ui-monospace,monospace}.record-dot{width:7px;height:7px;display:inline-block;margin-right:2px;border-radius:50%;background:var(--line)}.record-dot--active{background:var(--error);box-shadow:0 0 0 3px #c5404021}.record-actions{display:flex;gap:7px}.record-tip{display:inline-flex;align-items:center;gap:5px;color:var(--muted-ink);font-size:10px}.review-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:13px;padding:15px 17px;border-left:2px solid var(--jade);background:#17665f12}.review-strip p{margin:5px 0 0;color:var(--muted-ink);font-size:11px}.record-footer span{color:var(--muted-ink);font-size:10px}.annotate-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.annotate-progress{display:flex;align-items:center;gap:14px;color:var(--muted-ink);font-size:11px}.annotate-progress b{color:var(--ink);font:15px ui-monospace,monospace}.annotate-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:16px}.annotate-main{min-width:0}.preview-panel{overflow:hidden;background:#1f1b18}.annotate-canvas{position:relative;min-height:390px;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(182,138,69,.2),transparent 65%),#1f1b18}.annotate-canvas .pose-skeleton{height:320px}.phase-tag{position:absolute;top:14px;left:14px;padding:7px 13px;color:var(--paper);background:var(--gold);font-size:11px}.angle-readout{position:absolute;right:16px;bottom:15px;color:var(--paper);font-size:11px}.angle-readout strong{margin-left:6px;color:var(--gold);font:17px ui-monospace,monospace}.angle-readout small{display:block;margin-top:3px;color:#f4ede38c;text-align:right}.timeline{padding:14px 17px 13px;background:#171412}.timeline-track{position:relative;display:flex;height:26px;overflow:hidden;border:1px solid rgba(244,237,227,.17)}.timeline-segment{position:relative;display:block;height:100%;border-right:1px solid rgba(244,237,227,.22);background:#f4ede30f;cursor:pointer}.timeline-segment--active{background:#b68a454d}.timeline-segment i{position:absolute;top:7px;left:8px;color:#f4ede3b3;font-size:9px;font-style:normal}.playhead{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--vermilion)}.timeline-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:#f4ede3a6;font-size:10px}.timeline-button{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid rgba(244,237,227,.17);background:transparent;color:#f4ede3b8;border-radius:2px;font-size:10px}.phase-panel{margin-top:13px;padding:18px}.phase-list{margin:13px -18px -18px}.phase-row{display:grid;grid-template-columns:34px 1fr auto 15px;align-items:center;gap:10px;width:100%;min-height:58px;padding:0 18px;border-top:1px solid rgba(29,26,23,.07);background:transparent;text-align:left}.phase-row:hover,.phase-row--active{background:#b68a4514}.phase-index{color:var(--gold);font:12px ui-monospace,monospace}.phase-row b{font-size:12px}.phase-count{color:var(--jade);font-size:10px}.annotate-aside{min-width:0}.rule-panel{padding:18px}.rule-intro{margin:10px 0 13px}.rule-item{display:flex;align-items:center;gap:8px;width:100%;min-height:57px;padding:0 8px;border-top:1px solid rgba(29,26,23,.07);background:transparent;text-align:left}.rule-item--active{background:#17665f0f}.rule-check{width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--line);color:var(--paper)}.rule-check--on{border-color:var(--jade);background:var(--jade)}.rule-copy{flex:1;min-width:0}.rule-copy b,.rule-copy small{display:block}.rule-copy b{font-size:12px}.rule-copy small{margin-top:3px;overflow:hidden;color:var(--muted-ink);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.rule-value{color:var(--muted-ink);font-size:10px}.rule-editor{margin-top:14px;padding-top:14px;border-top:1px solid rgba(29,26,23,.1)}.rule-editor-heading{display:flex;justify-content:space-between;gap:10px}.rule-editor-heading h4{margin:4px 0 0}.rule-editor-heading p{margin:4px 0 0;color:var(--muted-ink);font-size:10px;line-height:1.5}.rule-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.rule-fields .field-label{font-size:10px}.rule-fields .field-label input,.rule-fields .field-label select,.rule-editor .field-label textarea{padding:8px 9px;font-size:11px}.rule-editor>.field-label{margin-top:10px;font-size:10px}.rule-note{margin:12px 0;color:var(--muted-ink);font-size:10px;line-height:1.6}.follow-select{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);color:var(--muted-ink);font-size:11px}.follow-select b{color:var(--ink);font-weight:500}.follow-stage{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:585px}.follow-tile{position:relative;overflow:hidden;min-height:280px;border:1px solid rgba(29,26,23,.13);background:#1f1b18}.follow-tile--teacher-pose,.follow-tile--student-pose{background:#161412}.tile-label{position:absolute;z-index:1;top:12px;left:13px;padding:5px 8px;background:#00000061;color:var(--paper);font-size:11px}.follow-tile .pose-skeleton{width:75%;height:90%;display:block;margin:25px auto 0}.tile-footer{position:absolute;left:13px;right:13px;bottom:10px;color:#f4ede38c;font-size:10px}.teacher-silhouette{height:100%;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(182,138,69,.22),transparent 62%)}.opera-fan{display:grid;place-items:center;width:115px;height:115px;border:1px solid rgba(182,138,69,.8);border-radius:55% 55% 45% 45%;color:var(--gold);font:45px var(--font-display)}.deviation-callout{position:absolute;right:13px;bottom:36px;display:grid;gap:4px;max-width:170px;padding:9px 10px;border-left:2px solid var(--error);background:#c5404026;color:var(--paper);font-size:11px}.deviation-callout small{color:#f4ede3b3;font-size:9px;line-height:1.5}.follow-controls{display:grid;grid-template-columns:1fr 310px;gap:15px;margin-top:13px;padding:15px 17px;border:1px solid rgba(29,26,23,.1);background:#fffdf9b8}.phase-progress-label{display:flex;justify-content:space-between;gap:10px;font-size:11px}.phase-progress-label small{color:var(--muted-ink)}.phase-progress-bar{position:relative;height:5px;margin-top:16px;background:var(--line)}.phase-progress-bar i{display:block;height:100%;background:var(--jade)}.phase-progress-bar span{position:absolute;top:-3px;width:11px;height:11px;border:2px solid var(--paper);border-radius:50%;background:var(--vermilion)}.phase-dots{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted-ink);font-size:9px}.phase-dots .is-done{color:var(--jade)}.phase-dots .is-active{color:var(--vermilion)}.follow-feedback{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-left:1px solid var(--line);padding-left:17px}.follow-feedback>div{display:grid;gap:7px;align-content:center}.feedback-label{color:var(--muted-ink);font-size:9px}.follow-feedback strong{font:22px ui-monospace,monospace}.follow-feedback strong small{color:var(--muted-ink);font-size:10px}.feedback-error{color:var(--error);font-size:11px;line-height:1.45}.follow-bottom{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:13px}.layout-switcher{display:flex;margin-right:auto;border:1px solid var(--line)}.layout-option{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border-right:1px solid var(--line);background:transparent;color:var(--muted-ink);font-size:10px}.layout-option:last-child{border-right:0}.layout-option.is-active{color:var(--vermilion);background:#9d1c2412}.overlay-icon{width:13px;height:10px;border:1px solid currentColor;box-shadow:4px 2px 0 -1px var(--paper),4px 2px 0 0 currentColor}.version-tag{display:inline-flex;align-items:center;min-height:23px;padding:0 7px;margin-left:6px;vertical-align:middle;color:var(--gold);border:1px solid rgba(182,138,69,.5);font:11px ui-monospace,monospace}.detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:15px}.detail-video,.checklist-panel,.detail-phases,.detail-metrics{padding:18px}.video-poster{position:relative;min-height:300px;display:grid;place-items:center;margin-top:15px;background:radial-gradient(ellipse at center,rgba(182,138,69,.2),transparent 62%),#211d1a}.play-circle{width:53px;height:53px;display:grid;place-items:center;border:1px solid rgba(244,237,227,.62);border-radius:50%;color:var(--paper)}.video-poster .video-caption{position:absolute;bottom:11px;left:13px}.detail-video-meta{display:flex;gap:22px;padding-top:13px;color:var(--muted-ink);font-size:10px}.detail-video-meta b{margin-left:4px;color:var(--ink);font:11px ui-monospace,monospace}.checklist{margin:14px -18px 17px;border-top:1px solid rgba(29,26,23,.07)}.check-row{display:flex;justify-content:space-between;min-height:43px;align-items:center;padding:0 18px;border-bottom:1px solid rgba(29,26,23,.07);font-size:11px}.check-row span{display:flex;align-items:center;gap:7px}.check-row svg{color:var(--success)}.check-row b{color:var(--success);font-size:10px}.check-row small{margin-left:4px;color:var(--muted-ink)}.detail-phases,.detail-metrics{min-height:280px}.detail-phase-list,.metric-summary-list{margin:13px -18px -18px}.detail-phase-row,.metric-summary-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:0 18px;border-top:1px solid rgba(29,26,23,.07)}.detail-phase-row b,.metric-summary-row b{font-size:11px}.phase-time{color:var(--gold);font-size:10px}.metric-summary-row{grid-template-columns:8px 1fr auto}.summary-dot{width:6px;height:6px;border-radius:50%;background:var(--jade)}.metric-summary-row strong{color:var(--ink);font-size:10px}.detail-footer{justify-content:flex-start}.detail-footer>span{margin:0 auto}.records-panel{overflow:hidden}.records-panel .data-table{margin:0}.records-panel .table-row{grid-template-columns:1fr 1.3fr .7fr .8fr .8fr 1fr 20px;padding:0 18px}.session-date-cell b,.session-date-cell small{display:block}.session-date-cell small{margin-top:3px;color:var(--muted-ink);font-size:10px}.score-inline strong{font:15px ui-monospace,monospace}.score-inline small{color:var(--muted-ink);font-size:10px}.report-score-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:13px;margin-bottom:15px}.score-card{min-height:129px;display:grid;align-content:center;gap:6px;padding:0 22px;border:1px solid rgba(29,26,23,.1);background:#fffdf9b3}.score-card--main{border-top:2px solid var(--vermilion)}.score-card span,.score-card small{color:var(--muted-ink);font-size:11px}.score-card strong{font:36px ui-monospace,monospace}.score-card--main strong{color:var(--vermilion)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.error-timeline,.ai-panel{padding:19px}.error-track{position:relative;height:6px;margin:29px 3px 23px;background:var(--line)}.error-point{position:absolute;top:-3px;width:12px;height:12px;border:2px solid var(--paper);border-radius:50%;background:var(--warning)}.error-point--high{background:var(--error)}.error-list{display:grid;gap:10px}.error-list>div{display:grid;grid-template-columns:52px 1fr;gap:4px 10px;padding:10px 0;border-top:1px solid rgba(29,26,23,.07)}.error-time{grid-row:span 2;color:var(--vermilion);font:10px ui-monospace,monospace}.error-list b{font-size:11px}.error-list small{color:var(--muted-ink);font-size:10px}.ai-panel .panel-heading h3{display:flex;align-items:center;gap:7px}.ai-summary{margin-top:17px;padding:13px;border-left:2px solid var(--jade);background:#17665f0f}.ai-summary p{margin:0;font-size:12px;line-height:1.8}.ai-score-row{display:flex;gap:15px;margin-top:12px;color:var(--muted-ink);font-size:10px}.ai-score-row b{margin-left:4px;color:var(--ink);font:12px ui-monospace,monospace}.advice-list{margin-top:13px}.advice-list>div{display:grid;grid-template-columns:23px 42px 1fr;gap:7px;padding:10px 0;border-top:1px solid rgba(29,26,23,.07)}.advice-list>div>span{color:var(--gold);font:10px ui-monospace,monospace}.advice-list b{font-size:11px}.advice-list p{margin:0;color:var(--muted-ink);font-size:10px;line-height:1.6}.ai-limit{display:flex;align-items:center;gap:5px;margin:12px 0 0;color:var(--muted-ink);font-size:10px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--paper)}.login-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:100vh;padding:70px;color:var(--paper);background:radial-gradient(ellipse at 50% 43%,rgba(182,138,69,.26),transparent 42%),#201b18}.login-visual:before,.login-visual:after{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:1px solid rgba(182,138,69,.28);transform:skewY(-7deg)}.login-visual:after{top:16%;right:14%;bottom:16%;left:14%;border-color:#f4ede321;transform:skewY(7deg)}.login-visual-copy{position:relative;z-index:1;max-width:480px}.login-visual-copy h1{margin:16px 0 18px;font:46px/1.25 var(--font-display);letter-spacing:.08em}.login-visual-copy h1 em{color:#d6b47a;font-style:normal}.login-visual-copy>p:last-child{max-width:360px;color:#f4ede3a1;font-size:14px;line-height:1.9}.login-seal{position:absolute;z-index:1;top:60px;right:70px;width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(244,237,227,.6);color:#f4ede3db;font:28px var(--font-display)}.login-ripple{position:absolute;border:1px solid rgba(182,138,69,.26);border-radius:50%}.login-ripple--one{width:410px;height:410px;top:18%;right:14%}.login-ripple--two{width:580px;height:580px;top:6%;right:-2%;border-color:#f4ede314}.login-panel{display:grid;place-items:center;padding:36px;background:#fffdf9b3}.login-panel-inner{width:min(100%,390px)}.login-heading{margin:76px 0 29px}.login-heading h2{margin:10px 0 7px;font:28px var(--font-display)}.login-heading p:last-child{margin:0;color:var(--muted-ink);font-size:12px}.form-stack{display:grid;gap:17px}.check-line{display:flex;align-items:center;gap:7px;color:var(--muted-ink);font-size:11px}.check-line input{accent-color:var(--vermilion)}.button--large.button--primary{width:100%;min-height:44px}.login-hints{display:grid;gap:9px;margin-top:25px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted-ink);font-size:10px}.login-hints span{display:flex;align-items:center;gap:6px}@media(max-width:1100px){.app-sidebar{width:190px;flex-basis:190px}.page-content{padding:22px}.topbar{padding:18px 22px}.dashboard-grid{grid-template-columns:1fr 1fr}.panel-span-2{grid-column:span 2}.practice-grid,.annotate-layout{grid-template-columns:1fr}.practice-aside{grid-template-columns:repeat(3,1fr)}.detail-grid,.report-grid{grid-template-columns:1fr}.detail-video,.checklist-panel{min-height:auto}}@media(max-width:760px){.app-sidebar{width:58px;flex-basis:58px;padding:16px 6px}.brand-lockup{justify-content:center;padding:0;border:0}.brand-lockup>span:last-child,.sidebar-section-label,.sidebar-link>span:not(.step-number),.engine-status,.account-chip,.sidebar-logout span{display:none}.sidebar-nav{gap:5px}.sidebar-link{justify-content:center;padding:0}.sidebar-link .step-number{margin:0}.sidebar-foot{align-items:center}.sidebar-foot .sidebar-link{justify-content:center}.sidebar-logout{justify-content:center;padding:0}.page-content{padding:17px 13px 28px}.hero-strip,.page-intro,.practice-toolbar,.annotate-head{align-items:flex-start;flex-direction:column}.hero-strip{padding:22px}.hero-strip h2{font-size:23px}.stat-grid,.dashboard-grid,.action-grid,.form-layout,.report-score-grid{grid-template-columns:1fr}.panel-span-2{grid-column:auto}.table-row{grid-template-columns:1fr auto;gap:6px;padding:11px 0}.table-head{display:none}.table-row>:nth-child(2),.table-row>:nth-child(3),.table-row>:nth-child(4){display:none}.visual-grid,.record-stage,.follow-stage{grid-template-columns:1fr}.video-panel--camera,.video-panel--skeleton,.record-stage .video-panel{min-height:420px}.angle-grid{grid-template-columns:repeat(2,1fr)}.practice-aside{grid-template-columns:1fr}.practice-toolbar-actions{width:100%}.practice-toolbar-actions>*{flex:1}.toolbar-status{flex-wrap:wrap}.follow-stage{min-height:800px}.follow-controls{grid-template-columns:1fr}.follow-feedback{border-left:0;border-top:1px solid var(--line);padding:13px 0 0}.follow-bottom{flex-wrap:wrap;justify-content:stretch}.layout-switcher{width:100%;margin-right:0}.layout-option{flex:1;justify-content:center}.follow-bottom>.button{flex:1}.stepper{justify-content:flex-start;overflow-x:auto}.stepper-line{width:18px;margin:0 8px}.stepper-item{flex:0 0 auto}.form-grid{grid-template-columns:1fr}.field-span-2{grid-column:auto}.form-actions,.detail-footer,.record-footer,.practice-footer{align-items:stretch;flex-wrap:wrap}.detail-footer>span,.practice-footer>span:nth-child(2){width:100%;margin:0}.records-panel{overflow-x:auto}.records-panel .data-table{min-width:760px}.login-page{grid-template-columns:1fr}.login-visual{min-height:43vh;padding:35px 25px}.login-visual-copy h1{font-size:32px}.login-seal{top:26px;right:27px}.login-panel{padding:38px 24px}.login-heading{margin-top:55px}}.button:disabled{cursor:wait;opacity:.62}.form-error{margin:0;padding:9px 11px;border-left:2px solid var(--error);background:#9d1c2412;color:var(--error);font-size:12px;line-height:1.5}.login-mode-toggle{align-self:flex-start;margin-top:14px}.panel-header-actions{display:flex;align-items:center;gap:8px}.pose-camera{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#161412}.pose-camera-video{width:100%;height:100%;display:block;object-fit:contain;background:#161412}.pose-camera--mirror .pose-camera-video,.pose-camera--mirror .pose-camera-overlay{transform:scaleX(-1)}.pose-camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.pose-camera-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:24px;background:#161412a1;color:var(--paper);text-align:center}.pose-camera-state b{font:15px var(--font-display)}.pose-camera-state small{max-width:240px;color:#f4ede3b3;font-size:10px;line-height:1.6}.camera-state-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #b68a452e}.camera-state-dot--ready{background:var(--success)}.camera-state-dot--permission,.camera-state-dot--model-error{background:var(--error)}.camera-state-dot--no-body{background:var(--warning)}.teacher-demo-video{width:100%;height:100%;display:block;object-fit:contain;background:#1f1b18}.teacher-demo-video--mirror{transform:scaleX(-1)}.tile-mirror-button{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(244,237,227,.3);background:#0000006b;color:var(--paper);cursor:pointer}.video-poster--asset{display:block;padding:45px 0 0;background:#1f1b18}.video-poster--asset video{display:block;width:100%;min-height:280px;object-fit:contain;background:#1f1b18}.status-pill--error{color:var(--error);background:#c540401a}.timeline-button--active{color:var(--gold);border-color:var(--gold);background:#b68a451f}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:980px}.sidebar-logout{width:100%;display:flex;align-items:center;gap:8px;min-height:34px;margin-top:8px;padding:0 10px;border:1px solid rgba(157,28,36,.24);border-radius:3px;background:#9d1c240f;color:var(--vermilion);font-size:11px;cursor:pointer}.sidebar-logout:hover{background:#9d1c241f}.files-panel{overflow:hidden}.files-panel .table-row{grid-template-columns:minmax(260px,1.5fr) 1fr .7fr 1.1fr 38px;padding:0 18px}.file-name{display:flex;align-items:center;gap:8px;min-width:0}.file-name svg{flex:0 0 auto;color:var(--jade)}.file-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-empty{padding:20px}.file-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.practice-toolbar .follow-select{display:none}.follow-action-picker{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid var(--line);background:#fffdf9e0;color:var(--muted-ink);font-size:11px}.follow-action-picker select{min-width:180px;background:transparent;color:var(--ink);outline:none;font-size:11px}@media(max-width:760px){.follow-action-picker{position:static;margin-bottom:10px;width:100%;justify-content:space-between}.follow-action-picker select{flex:1;min-width:0}.files-panel{overflow-x:auto}.files-panel .data-table{min-width:720px}}.settings-panel{display:grid;gap:17px;padding:20px}.settings-switch,.settings-status-row{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid rgba(29,26,23,.08)}.settings-switch input{width:16px;height:16px;accent-color:var(--jade)}.settings-switch span,.settings-status-row span:first-child{display:grid;gap:4px}.settings-switch small,.settings-status-row small{color:var(--muted-ink);font-size:10px;line-height:1.5}.settings-status-row{justify-content:space-between}.settings-status-row>svg{color:var(--jade)}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}.action-card-cover{overflow:hidden}.action-card-cover>img{width:100%;height:100%;object-fit:cover}.action-thumb--cover{overflow:hidden}.action-thumb--cover img{width:100%;height:100%;object-fit:cover}.cover-upload{min-height:160px;display:grid;place-items:center;overflow:hidden;border:1px dashed var(--line);border-radius:3px;background:#fffdf980;cursor:pointer}.cover-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cover-upload>span{display:grid;justify-items:center;gap:7px;color:var(--jade);text-align:center}.cover-upload b{color:var(--ink);font-size:13px}.cover-upload small{color:var(--muted-ink);font-size:10px}.cover-upload img{width:100%;height:220px;object-fit:cover}.record-controls{position:relative}.record-countdown{position:absolute;right:24px;bottom:18px;display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--vermilion);border-radius:50%;color:var(--vermilion);background:var(--paper);font:24px ui-monospace,monospace}.practice-page .practice-grid{grid-template-columns:1fr}.practice-page .practice-visuals{width:100%}.teacher-video-frame{position:absolute;top:0;right:0;bottom:38px;left:0;display:grid;place-items:center;overflow:hidden;background:#1f1b18}.teacher-demo-video{width:100%;height:100%;object-fit:contain}.teacher-video-frame--mirror .teacher-demo-video{transform:scaleX(-1)}.teacher-video-controls{position:absolute;z-index:3;right:10px;bottom:28px;left:10px;display:flex;align-items:center;gap:8px;min-height:29px;padding:4px 7px;background:#0000009e;color:var(--paper)}.teacher-video-controls .timeline-button{padding:3px 5px}.teacher-video-controls input[type=range]{min-width:0;flex:1;accent-color:var(--gold)}.teacher-video-controls .mono{color:#f4ede3d1;font-size:10px}.follow-page{height:calc(100vh - 157px);min-height:0;display:flex;flex-direction:column;overflow:hidden}.follow-page .follow-stage{flex:1 1 auto;min-height:0;height:auto}.follow-page .follow-tile{min-height:0}.follow-page .follow-controls,.follow-page .follow-bottom{flex:0 0 auto}.follow-stage--compare{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr}.follow-stage--compare .follow-tile{min-height:0}.follow-stage--overlay{position:relative;display:block}.follow-stage--overlay .follow-tile--teacher-video,.follow-stage--overlay .follow-tile--student-video{display:none}.follow-stage--overlay .follow-tile--teacher-pose,.follow-stage--overlay .follow-tile--student-pose{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0}.follow-stage--overlay .follow-tile--student-pose{z-index:2;background:transparent;pointer-events:none}.follow-stage--overlay .follow-tile--student-pose .tile-label,.follow-stage--overlay .follow-tile--student-pose .tile-footer{pointer-events:auto}.practice-page:fullscreen,.follow-page:fullscreen{width:100vw;height:100vh;max-width:none;min-height:0;margin:0;padding:18px 20px;overflow:hidden;background:#171412;color:var(--paper)}.practice-page:fullscreen{display:flex;flex-direction:column}.practice-page:fullscreen .practice-toolbar{flex:0 0 auto;margin-bottom:12px}.practice-page:fullscreen .practice-grid{flex:1;min-height:0}.practice-page:fullscreen .practice-visuals,.practice-page:fullscreen .visual-grid{height:100%;min-height:0}.practice-page:fullscreen .video-panel--camera,.practice-page:fullscreen .video-panel--skeleton{min-height:0;height:100%}.practice-page:fullscreen .angles-panel{position:absolute;z-index:5;right:20px;bottom:58px;left:20px;width:auto;margin:0;padding:10px 14px;background:#181411db;color:var(--paper)}.practice-page:fullscreen .angles-panel .panel-heading{align-items:center}.practice-page:fullscreen .angles-panel .panel-heading h3,.practice-page:fullscreen .angles-panel .muted-copy{color:var(--paper)}.practice-page:fullscreen .angle-grid{margin:8px -14px -10px}.practice-page:fullscreen .angle-grid .metric-badge{min-height:46px;color:var(--paper);background:transparent}.practice-page:fullscreen .angle-grid .metric-badge span{color:#f4ede3ad}.practice-page:fullscreen .practice-footer{flex:0 0 auto;margin-top:10px;color:#f4ede3b3}.follow-page:fullscreen{display:flex;flex-direction:column}.follow-page:fullscreen .practice-toolbar{flex:0 0 auto;margin-bottom:10px}.follow-page:fullscreen .follow-stage{flex:1;min-height:0}.follow-page:fullscreen .follow-controls{margin-top:9px;padding:10px 14px}.follow-page:fullscreen .follow-bottom{margin-top:9px}@media(min-width:761px){.follow-page:not(:fullscreen) .follow-stage{min-height:0}.follow-page:not(:fullscreen) .follow-tile{min-height:0}}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;background:#fffdf9f5;box-shadow:5px 0 20px #251b130a}.app-main{margin-left:224px}.brand-mark{position:relative;width:35px;height:35px}.brand-mark:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(182,138,69,.55);pointer-events:none}.sidebar-section-label{display:flex;align-items:center;gap:6px}.eyebrow{display:inline-flex;align-items:center;gap:6px}.page-intro h2,.practice-toolbar h2,.annotate-head h2{display:flex;align-items:center;gap:9px}.page-intro h2>svg,.practice-toolbar h2>svg,.annotate-head h2>svg{color:var(--vermilion)}.practice-toolbar h2:before,.annotate-head h2:before{content:"戏";width:25px;height:25px;display:inline-grid;place-items:center;border:1px solid rgba(157,28,36,.4);color:var(--vermilion);font:15px var(--font-display)}.hero-strip h2:before{content:"戏";width:31px;height:31px;display:inline-grid;place-items:center;border:1px solid rgba(157,28,36,.4);color:var(--vermilion);font:18px var(--font-display)}.metric-label{display:inline-flex;align-items:center;gap:7px}.metric-label svg{color:var(--vermilion)}.hero-strip{position:relative;overflow:hidden}.hero-strip>*{position:relative;z-index:1}.action-card-cover:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(244,237,227,.12);pointer-events:none}.panel-heading .eyebrow svg{color:var(--gold)}.files-panel .table-row{grid-template-columns:minmax(260px,1.5fr) 1fr .7fr 1.1fr 70px}@media(max-width:1100px){.app-main{margin-left:190px}}@media(max-width:760px){.app-sidebar{position:fixed}.app-main{margin-left:58px}}.ai-summary .ai-score-highlight{margin-bottom:7px;color:var(--vermilion);font-family:var(--font-display)}.ai-summary .ai-score-highlight strong{font:22px ui-monospace,monospace}.brand-lockup small,.login-brand small{color:var(--muted-ink);font:10px/1.35 Noto Sans SC,Microsoft YaHei,sans-serif;letter-spacing:0}.app-main{display:flex;flex-direction:column}.page-content{box-sizing:border-box;width:100%;flex:1 0 auto}.app-footer{box-sizing:border-box;width:calc(100% - 68px);max-width:1400px;flex:0 0 auto;margin:0 auto;padding:11px 0 15px;border-top:1px solid rgba(29,26,23,.08);color:var(--muted-ink);font-size:10px;text-align:right}.login-page{position:relative;min-height:100dvh;overflow:hidden}.login-visual-brand{position:absolute;z-index:1;top:55px;left:70px;display:grid;gap:4px;color:var(--paper)}.login-visual-brand span{font:21px var(--font-display);letter-spacing:.08em}.login-visual-brand small{color:#f4ede39e;font-size:10px;letter-spacing:.12em}.login-visual-copy>p{max-width:390px;margin:0;color:#f4ede3ad;font-size:13px;line-height:1.9}.login-visual-note{position:absolute;z-index:1;right:70px;bottom:42px;color:#f4ede380;font-size:10px;letter-spacing:.12em}.login-copyright{position:absolute;z-index:2;right:36px;bottom:12px;left:calc(57.5% + 36px);color:var(--muted-ink);font-size:10px;text-align:center}.login-security{margin:21px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted-ink);font-size:10px;line-height:1.7}@media(max-width:1100px){.app-footer{width:calc(100% - 44px)}}@media(max-width:760px){.app-footer{width:calc(100% - 26px);text-align:center}.login-page{min-height:100dvh;overflow:visible;padding-bottom:42px}.login-visual-brand{top:28px;left:25px}.login-visual-note{right:25px;bottom:24px;font-size:9px}.login-visual-copy>p{font-size:12px}.login-copyright{right:0;bottom:12px;left:0}}.angle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.form-page-head h2{margin:5px 0 6px;font:28px var(--font-display);letter-spacing:.04em}.form-page-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.form-aside{position:relative;overflow:hidden;min-height:100%;padding:20px;background:linear-gradient(155deg,#fffdf9e6,#eee0d38a)}.form-aside h3{margin:7px 0 17px;font:20px/1.35 var(--font-display)}.form-flow{display:grid;gap:12px}.form-flow>span{display:grid;grid-template-columns:31px 1fr;gap:2px 9px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(29,26,23,.09)}.form-flow b{grid-row:span 2;color:var(--gold);font:12px ui-monospace,monospace}.form-flow em{color:var(--ink);font-size:12px;font-style:normal}.form-flow small{color:var(--muted-ink);font-size:10px}.login-visual{background-image:radial-gradient(ellipse at 50% 43%,rgba(182,138,69,.26),transparent 42%)}@media(max-width:760px){.form-page-head{align-items:flex-start;flex-direction:column}.form-page-head-actions{width:100%}.form-page-head-actions>*{flex:1}.angle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
