@charset "UTF-8";:root{--green:#176b57;--green-dark:#124e40;--ink:#233d35;--muted:#7c8881;--line:#e5e9e3;--paper:#f6f7f3;--mint:#eaf2ec;--orange:#bf7848;--red:#b14b43;--sans:"Segoe UI","Microsoft YaHei",system-ui,sans-serif;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}[hidden]{display:none!important}:focus-visible{outline:3px solid #72b49d;outline-offset:3px}h1,h2,h3,p{margin-top:0}h2{font-size:25px;letter-spacing:.3px;font-weight:600;line-height:1.5;margin-bottom:10px}h3{font-size:18px;font-weight:600;margin-bottom:12px}p{margin-bottom:16px}.muted{color:var(--muted)}.caption{font-size:14px;line-height:1.8;color:var(--muted);margin:14px 0 0}.topbar{height:88px;padding:0 max(4.5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fcfcf9}.brand{display:flex;align-items:center;gap:12px}.brand img{height:42px;width:42px}.brand>span{font-size:24px;letter-spacing:3px;line-height:1.2;font-weight:650}.brand small{display:block;font-size:11px;letter-spacing:2px;font-weight:400;color:var(--muted);margin-top:6px}.topbar nav{display:flex;align-items:center;gap:36px;font-size:15px;color:#7c8881;height:100%}.topbar nav>a,.topbar .nav-current{height:100%;display:flex;align-items:center;gap:6px}.topbar .nav-current{color:var(--green);position:relative;font-weight:600}.nav-current:after{content:"";height:3px;width:28px;position:absolute;bottom:0;left:calc(50% - 14px);background:var(--green)}.participant-shell{max-width:1250px;padding:0 42px;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:327px;gap:60px;padding:38px 14px 26px}.eyebrow,.section-kicker{font-size:12px;letter-spacing:2.2px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;display:inline-block;flex-shrink:0;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #176b570b}.dot.warn{background:#bf7848}.hero h1{font-family:var(--serif);font-size:46px;line-height:1.45;letter-spacing:4px;font-weight:600;margin:16px 0 12px}.hero p{font-size:15px;color:var(--muted);line-height:1.9;margin-bottom:0}.sound-art{position:relative;min-height:235px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,rgba(226,237,226,.5019607843),transparent 67%);overflow:hidden}.orbit{position:absolute;border:1px solid rgba(168,191,162,.2);border-radius:50%;width:245px;height:245px}.orbit-one{transform:rotate(-25deg) scaleY(.66)}.orbit-two{width:315px;height:315px;transform:rotate(25deg) scaleY(.53)}.art-label{position:absolute;right:20px;top:2px;writing-mode:vertical-rl;font-family:var(--serif);font-size:13px;letter-spacing:5px;color:#9da993}.art-caption{position:absolute;bottom:10px;font-size:10px;letter-spacing:4px;color:#829786}.sound-bars{display:flex;gap:9px;align-items:center;z-index:1;transform:rotate(-6deg)}.sound-bars i{width:10px;border-radius:8px;height:32px;background:linear-gradient(#5c927a,#a9bda1);box-shadow:1px 5px 9px #176b570a}.sound-bars i:nth-child(2),.sound-bars i:nth-child(10){height:58px}.sound-bars i:nth-child(3),.sound-bars i:nth-child(9){height:88px}.sound-bars i:nth-child(4),.sound-bars i:nth-child(8){height:62px}.sound-bars i:nth-child(5),.sound-bars i:nth-child(7){height:112px}.sound-bars i:nth-child(6){height:147px;background:linear-gradient(#316d54,#88a884)}.event-line{display:flex;gap:24px;align-items:center;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#8b968e}.event-line>span:first-child{display:flex;align-items:center;gap:10px;color:#53675b}.event-line>span:last-child{margin-left:auto;color:var(--green)}.event-line b{font-weight:500}.steps{display:flex;list-style:none;padding:28px 0;margin:0;justify-content:space-between;gap:25px}.steps li{display:flex;gap:12px;align-items:center;color:#a3ada4;flex:1;position:relative}.steps li:not(:last-child):after{content:"";height:1px;background:var(--line);position:absolute;left:135px;right:0;top:19px}.steps li>span{background:#eef0ea;color:#9ba99a;border:1px solid #e5e9df;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:13px;flex-shrink:0}.steps li>div{font-size:15px;font-weight:600;line-height:1.5}.steps small{display:block;font-weight:400;font-size:12px;margin-top:3px;color:#9da79f}.steps li.active{color:var(--green)}.steps li.active>span{background:var(--green);border-color:var(--green);color:#fff}.steps li.done>span{background:#e3eee4;color:var(--green)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.main-card{padding:32px 34px}.main-card>.section-kicker{margin-bottom:10px}.main-card>.muted{font-size:14px;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}label{display:block;font-size:14px;font-weight:500;color:#52645a}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #e0e6de;border-radius:6px;background:#fcfdfb;padding:11px 13px;margin-top:8px;color:var(--ink);transition:border .15s}input::placeholder,textarea::placeholder{color:#a8b0a9;font-size:14px}input:focus,textarea:focus,select:focus{outline:none;border-color:#599b7e;box-shadow:0 0 0 2px #176b570b}input:disabled{background:#f0f1ed;color:#94a093}textarea{resize:vertical;line-height:1.9}em{font-style:normal;color:var(--orange);font-size:14px;margin-left:2px}.checkbox{display:flex;gap:10px;align-items:flex-start;line-height:1.9;font-size:13px;color:#879087;font-weight:400}.checkbox input{margin:4px 0 0;accent-color:var(--green);width:14px;height:14px;flex-shrink:0}.consent{margin:24px 0}.form-action{display:flex;gap:18px;align-items:center}.form-action small{font-size:12px;color:#9ba59c}.button{border:1px solid transparent;border-radius:6px;padding:12px 20px;display:inline-flex;justify-content:center;align-items:center;gap:18px;font-size:14px;line-height:1.5;font-weight:500;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{background:#fff;color:#5e7265;border-color:#dce4dc}.secondary:hover:not(:disabled){background:#f1f6ef}.stop{background:#a8433d;color:#fff}.small{padding:8px 14px;font-size:13px;gap:8px}.side-stack{display:flex;flex-direction:column;gap:18px}.guide-card{padding:24px}.tiny-icon{display:grid;place-items:center;width:30px;height:30px;background:#eff4ed;border-radius:7px;color:var(--green);margin-bottom:14px}.guide-card h3{font-family:var(--serif);font-size:19px;margin-bottom:25px}.guide-item{display:flex;gap:13px;margin-bottom:20px}.guide-item:last-child{margin-bottom:0}.guide-item>span{color:#9cae97;font-size:12px;line-height:2}.guide-item b{font-weight:500;font-size:14px}.guide-item p{color:#929b92;font-size:13px;line-height:1.9;margin:6px 0 0}.soft-card{padding:23px 24px;border-radius:10px;background:#eaf0e5;border:1px solid #e3e9dc;position:relative;overflow:hidden}.soft-card:after{content:"语";position:absolute;font-size:112px;color:#bdcdbb30;font-family:var(--serif);right:-3px;bottom:-36px}.soft-card .eyebrow{font-size:10px;color:#8da086;letter-spacing:1.8px}.soft-card h3{font-family:var(--serif);margin:9px 0 12px;font-size:20px}.soft-card p{font-size:14px;color:#5f7b62;margin-bottom:15px}.soft-card>span{font-size:12px;color:#8b9a83;line-height:2}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;margin-top:36px;font-size:12px;color:#a2aca1;letter-spacing:.5px}.inline-error{font-size:14px;color:var(--red);margin:12px 0 0}.inline-error:empty{display:none}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#254c3f;color:#fff;padding:13px 22px;border-radius:8px;box-shadow:0 6px 25px #233d3525;z-index:1000;font-size:15px;max-width:min(90vw,650px);transition:.2s}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{background:#914b3d}.reading-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.reading-top h2{margin:8px 0}.pill{font-size:12px;background:#eef4ec;color:#6f8c6c;padding:5px 10px;border-radius:5px;white-space:nowrap}.pill.neutral{background:#f0f1ee;color:#98a091}.reader-meta{display:flex;gap:18px;color:#89998e;font-size:13px;margin:5px 0 20px}.passage-text{font-family:var(--serif);font-size:24px;line-height:2.1;letter-spacing:1.5px;white-space:pre-wrap;max-height:380px;overflow:auto;background:#fafbf7;padding:23px;border-radius:6px;border:1px solid #eef1e7;color:#3d5143}.recording-status{display:flex;align-items:center;gap:10px;padding:20px 0 12px;font-size:14px}.recording-status b{margin-left:auto;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.is-recording .dot{background:#b14b43;animation:pulse 1.5s infinite}.mic-level{display:flex;align-items:center;gap:12px;font-size:12px;color:#97a295;margin-bottom:20px}.mic-level meter{flex:1;height:7px;accent-color:var(--green)}.record-actions{display:flex;gap:12px;flex-wrap:wrap}.callout{padding:14px 17px;background:#f4f6ed;color:#78836a;border-radius:6px;font-size:13px;line-height:1.9;margin:18px 0}.result-main{display:flex;justify-content:space-between;align-items:center;margin:26px 0;background:linear-gradient(115deg,#f0f6ed,#fafbf7);padding:26px;border-radius:10px}.score-label{font-size:14px;color:#789276}.big-score{color:var(--green);font-size:67px;font-weight:550;letter-spacing:-3px;line-height:1.4;font-variant-numeric:tabular-nums}.big-score small{font-size:16px;color:#8ba181;letter-spacing:0;margin-left:12px}.result-caption{font-family:var(--serif);color:#8aa284;font-size:15px;line-height:2.2}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}.score-grid>div{padding:14px 0;border:1px solid var(--line);border-radius:7px}.score-grid span{display:block;font-size:13px;color:#9aa493}.score-grid b{display:block;font-size:23px;font-weight:500;margin-top:5px;color:#5c7858}.result-card>.button{margin-top:24px}.text-button{background:none;border:none;color:var(--green);padding:4px;font-size:13px}.text-button:hover{text-decoration:underline}.danger-text{color:#ad7465}.divider{height:1px;background:var(--line);margin:26px 0}.button-row{display:flex;gap:10px;flex-wrap:wrap}.login-wrap{max-width:560px;margin:9vh auto;padding:20px}.login-card{padding:42px}.login-card h1{font-family:var(--serif);font-size:30px;margin:14px 0}.login-card .muted{font-size:14px}.login-card form{margin-top:30px}.login-card form .button{width:100%;margin-top:22px}.admin-layout{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:calc(100vh - 88px)}.admin-sidebar{border-right:1px solid var(--line);background:#fcfcf9;padding:30px 20px;position:sticky;top:0;align-self:start;height:calc(100vh - 88px);display:flex;flex-direction:column}.sidebar-caption{font-size:12px;letter-spacing:2px;color:#a0aa9d;padding:0 13px 22px}.sidebar-link{display:flex;align-items:center;gap:13px;color:#85917f;font-size:14px;border:none;background:none;padding:12px 14px;text-align:left;border-radius:6px;margin-bottom:9px}.sidebar-link>span{font-size:20px;line-height:1}.sidebar-link.active{color:var(--green);background:#eaf1e5;font-weight:600}.sidebar-link:hover{background:#f0f3ec}.sidebar-footer{margin-top:auto;font-size:12px;line-height:2;color:#8e9c87;padding:12px}.sidebar-footer>.dot{height:5px;width:5px;margin-right:7px}.sidebar-footer small{display:block;font-size:11px;color:#aab4a3;margin-top:4px}.admin-main{padding:34px 36px 0;max-width:1700px;width:100%;margin:auto}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:27px}.admin-heading h1{font-family:var(--serif);font-weight:500;font-size:29px;letter-spacing:1px;margin:7px 0}.admin-heading .muted{font-size:13px;margin:0}.admin-heading .eyebrow{font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.stat-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:22px 23px;display:flex;flex-direction:column}.stat-card>span{font-size:13px;color:#8a9783}.stat-card>b{font-size:37px;font-weight:500;line-height:1.5;margin:8px 0 5px;letter-spacing:-1px}.stat-card>small{font-size:12px;color:#a3af9c}.stat-card.accent{background:var(--green);color:#fff;border-color:var(--green)}.stat-card.accent>span,.stat-card.accent>small{color:#c1d4c3}.overview-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:23px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.card-heading h2{font-size:22px;margin:0}.card-heading .section-kicker{margin-bottom:8px;font-size:10px}.activity-item{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #f0f3eb}.activity-item:last-child{border:none}.avatar{height:35px;width:35px;background:#eef3e9;display:grid;place-items:center;border-radius:50%;font-family:var(--serif);font-size:16px;color:#6f8a67;flex-shrink:0}.activity-item>div{flex:1;min-width:0}.activity-item b{font-size:14px;font-weight:500}.activity-item p{margin:3px 0 0;font-size:12px;color:#87947f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item p>span{color:#b0b9a8;margin-left:6px}.activity-score{color:var(--green);margin-left:5px}.status-badge{display:inline-block;font-size:12px;border-radius:4px;background:#f1f2ee;color:#929b89;padding:3px 7px;white-space:nowrap}.status-badge.completed{background:#edf4e7;color:#719164}.status-badge.recording,.status-badge.connecting,.status-badge.evaluating{background:#e7f1ec;color:#37795e}.status-badge.failed,.status-badge.interrupted,.status-badge.rejected{background:#fbefe6;color:#b1845f}.event-card{background:linear-gradient(145deg,#f8fbf5,#fff)}.event-card h2{font-family:var(--serif);margin-top:10px;font-size:24px}.event-details{margin:20px 0}.event-details>span{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#96a28e;margin:16px 0}.event-details b{font-weight:500;color:#586e4d}.event-card .button{width:100%;font-size:13px}.getting-started{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:25px;margin-top:24px;align-items:center}.getting-started h2{font-size:19px;margin-top:8px}.getting-started b{font-size:14px;font-weight:500}.getting-started p{font-size:13px;color:#9aa58f;margin:6px 0 0}.getting-started .section-kicker{font-size:10px}.table-toolbar{display:flex;gap:14px;align-items:center;margin-bottom:18px}.search-field{position:relative;flex:1;max-width:340px}.search-field>span{position:absolute;left:12px;top:6px;font-size:22px;color:#9aa68f}.search-field input{margin:0;padding:9px 12px 9px 35px}.table-toolbar>select{margin:0;width:auto;min-width:130px;font-size:13px;padding:10px}.table-toolbar>.caption{margin:0 0 0 auto;white-space:nowrap}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th{font-weight:500;text-align:left;color:#98a48e;background:#f7f9f3;font-size:12px;padding:13px 12px}td{padding:18px 12px;border-bottom:1px solid #eef1e8;color:#6d7e60}td b{font-weight:500;color:#415738}td small{display:block;color:#a4ae9b;font-size:11px;line-height:1.8;margin-top:4px}.passage-cell{max-width:140px;overflow:hidden;text-overflow:ellipsis}.table-score{font-size:19px;color:var(--green)}.rank{height:25px;min-width:25px;display:inline-grid;place-items:center;color:#a2ad98;font-size:13px}.top-rank{background:#f3eee0;color:#a78a43;border-radius:5px}.empty-state{padding:44px 15px;text-align:center}.empty-state>span{display:block;font-size:37px;color:#bdcdb0;margin-bottom:16px}.empty-state h3{color:#92a086;font-weight:500;font-size:17px}.empty-state p{color:#b0b9a6;font-size:13px;line-height:1.9;margin:8px 0 0}.empty-state.compact{padding:30px 15px}.passages-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:23px;align-items:start}.passages-grid>.card>h2{font-family:var(--serif);font-size:23px;margin-top:10px}.passages-grid .muted{font-size:13px;line-height:1.9}.import-box{border:1px dashed #bacdb0;background:#fafcf6;border-radius:8px;padding:24px;text-align:center}.file-label{cursor:pointer;color:var(--green)}.file-label b{display:block;font-size:16px;font-weight:500}.file-label>span{display:block;color:#9aa98e;font-size:12px;margin-top:8px}.import-box>.text-button{margin-top:12px}.passages-grid form>label{margin-bottom:18px}.passage-list{max-height:760px;overflow-y:auto;padding-right:3px}.passage-item{border-bottom:1px solid var(--line);padding:20px 0}.passage-item:first-child{padding-top:0}.passage-item:last-child{border:none}.passage-item-heading{display:flex;align-items:center;gap:10px}.index-number{color:#b1bda7;font-size:13px}.passage-item-heading h3{font-size:15px;margin:0;flex:1;overflow-wrap:anywhere}.passage-item>p{font-family:var(--serif);font-size:15px;line-height:2;color:#88977c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:12px 0}.passage-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#adbaa0}.passage-bottom .text-button{margin-left:13px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:23px;align-items:start}.settings-grid h2{font-family:var(--serif);font-size:24px;margin:10px 0 25px}.settings-grid label{margin-bottom:18px}.settings-grid .form-grid>label{margin-bottom:0}.settings-grid .form-grid{margin-bottom:23px}.provider-card{display:flex;align-items:center;gap:12px;background:#f4f7f0;border:1px solid #e5eddd;border-radius:8px;padding:15px;margin-bottom:24px}.provider-card>img{width:34px;height:34px}.provider-card>div{flex:1}.provider-card b{font-size:13px;font-weight:500}.provider-card div>span{display:block;font-size:11px;color:#95a38a;margin-top:3px}.provider-card>.pill{font-size:11px;padding:3px 6px}.docs-link{display:inline-block;font-size:13px;color:var(--green);margin-top:18px}.settings-submit{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:25px}.settings-submit .inline-error{margin:0}.password-card{max-width:730px;margin-top:25px}.password-card .button{margin-top:20px}.password-card h3{font-size:19px;margin-bottom:20px}dialog{border:1px solid var(--line);border-radius:12px;max-width:700px;width:calc(100vw - 30px);max-height:90vh;padding:28px;box-shadow:0 20px 80px #163d3225;color:var(--ink)}dialog::backdrop{background:#142e2370;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-heading h2{font-size:22px;margin:0}.detail-person{display:flex;align-items:center;gap:13px}.detail-person>div{flex:1}.detail-person h3{margin:0}.detail-person p{font-size:13px;color:#9aa88c;margin:4px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;margin:25px 0}.detail-grid dt{font-size:12px;color:#a5b09a}.detail-grid dd{font-size:14px;margin:5px 0 0;overflow-wrap:anywhere}.detail-actions{margin-top:20px}.admin-main footer{margin-top:36px}@keyframes pulse{50%{box-shadow:0 0 0 6px #b14b4312}}@media(min-width:1500px){.participant-shell{max-width:1300px}.hero{padding-top:48px;padding-bottom:40px}.hero h1{font-size:50px}.topbar{padding:0 calc((100vw - 1200px)/2)}}@media(max-width:1150px){.admin-sidebar{padding:30px 12px}.admin-layout{grid-template-columns:175px minmax(0,1fr)}.admin-main{padding:27px 23px 0}.overview-grid{grid-template-columns:1.4fr 1fr}.getting-started{grid-template-columns:1fr 1fr}.activity-item p>span{display:none}.stat-card{padding:18px 15px}.stats-grid{gap:12px}.settings-grid,.passages-grid{grid-template-columns:1fr}.steps li:not(:last-child):after{left:130px}.workspace-grid{grid-template-columns:minmax(0,1fr) 260px}.main-card{padding:28px}.participant-shell{padding:0 28px}.form-action{align-items:start;flex-direction:column;gap:10px}}@media(max-width:820px){.topbar{height:76px;padding:0 22px}.topbar nav{gap:20px;font-size:13px}.brand>span{font-size:21px}.brand small{font-size:10px;letter-spacing:1px}.brand img{width:35px;height:35px}.participant-shell{padding:0 22px}.hero{gap:10px;min-height:300px;padding:30px 3px}.hero h1{font-size:37px;letter-spacing:2px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero p{font-size:13px}.art-label{display:none}.sound-bars{gap:7px;transform:scale(.8) rotate(-6deg)}.orbit{transform:scale(.8)}.art-caption{font-size:8px;letter-spacing:2px}.event-line{gap:15px;font-size:12px}.steps small{display:none}.steps li:not(:last-child):after{display:none}.steps li{gap:8px}.steps li>div{font-size:13px}.steps li>span{width:30px;height:30px;font-size:11px}.steps{gap:8px;padding:23px 0}.workspace-grid{grid-template-columns:1fr}.side-stack{display:grid;grid-template-columns:1.3fr 1fr}.guide-card{padding:22px}.guide-card h3{margin-bottom:20px}.soft-card{padding:22px}.admin-layout{display:block}.admin-sidebar{height:auto;position:static;flex-direction:row;gap:6px;justify-content:center;padding:12px 18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-caption,.sidebar-footer{display:none}.sidebar-link{margin:0;padding:8px 14px;gap:6px;font-size:13px}.sidebar-link>span{font-size:18px}.admin-main{padding:24px 22px 0}.admin-heading h1{font-size:24px}.overview-grid{grid-template-columns:1.5fr 1fr;gap:16px}.overview-grid>.card{padding:22px}.stat-card>b{font-size:30px}.stat-card>span{font-size:12px}.stat-card>small{font-size:10px}.card-heading h2{font-size:20px}.card-heading>.pill{display:none}.table-toolbar{flex-wrap:wrap}.table-toolbar>.caption{margin-left:0}.table-toolbar .search-field{max-width:none;min-width:170px}.result-caption{font-size:14px}.getting-started{gap:20px}}@media(max-width:560px){.topbar nav{gap:14px;font-size:12px}.brand small{display:none}.brand>span{font-size:19px;letter-spacing:2px}.brand{gap:8px}.topbar{padding:0 17px;height:68px}.participant-shell{padding:0 17px}.hero{grid-template-columns:1fr;min-height:auto;padding:30px 5px 24px;position:relative}.hero h1{font-size:38px;position:relative;z-index:1}.hero p{position:relative;z-index:1;font-size:13px}.sound-art{position:absolute;right:-5px;top:45px;width:180px;min-height:180px;opacity:.35}.sound-bars{transform:scale(.65) rotate(-6deg)}.orbit{width:200px;height:200px}.orbit-two{width:220px;height:220px}.art-caption{display:none}.hero .eyebrow{font-size:9px;letter-spacing:1.4px}.event-line{font-size:11px}.steps{padding:20px 0}.steps li{gap:5px}.steps li>div{font-size:12px}.steps li>span{height:24px;width:24px;font-size:10px}.main-card{padding:25px 21px}.main-card h2{font-size:22px}.main-card>.muted{font-size:13px;line-height:1.9;margin-bottom:24px}.section-kicker{font-size:10px}.form-grid{gap:16px;grid-template-columns:1fr}.form-action .button{width:100%}.form-action small{align-self:center}.side-stack{grid-template-columns:1fr}.guide-card{padding:23px}.guide-card h3{font-size:20px}.guide-item{margin-bottom:16px}.soft-card{display:none}footer{gap:15px;line-height:1.9;font-size:10px;margin-top:27px;padding:18px 0}.passage-text{padding:17px;font-size:22px;letter-spacing:.6px;max-height:400px}.reading-top h2{font-size:23px}.reader-meta{flex-wrap:wrap;gap:6px 14px}.record-actions .button{flex:1}.result-main{padding:20px}.big-score{font-size:52px}.result-caption{display:none}.score-grid{grid-template-columns:1fr 1fr}.result-card .button{width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:19px}.stat-card>b{font-size:33px}.stat-card>small{font-size:11px}.overview-grid{grid-template-columns:1fr}.admin-main{padding:24px 17px 0}.admin-heading{align-items:start}.admin-heading h1{font-size:23px;letter-spacing:0;max-width:250px}.admin-heading .button{font-size:0;padding:8px 10px;white-space:nowrap}.admin-heading .button:after{content:"↻";font-size:20px}.admin-heading .eyebrow{font-size:9px}.admin-sidebar{padding:10px 8px;gap:0;justify-content:space-around}.sidebar-link{font-size:12px;padding:8px;gap:5px}.sidebar-link>span{font-size:16px}.getting-started{grid-template-columns:1fr;padding:23px}.card{padding:23px}.getting-started>div:not(:first-child){border-top:1px solid var(--line);padding-top:16px}.card-heading{align-items:start;flex-wrap:wrap;margin-bottom:20px}.table-toolbar .search-field{width:100%;flex:auto}.table-toolbar select{width:160px}.settings-grid .form-grid{grid-template-columns:1fr 1fr;gap:18px 14px}.settings-grid .card{padding:23px}.provider-card{padding:12px;gap:8px}.provider-card b{font-size:12px}.provider-card img{height:28px;width:28px}.settings-submit{flex-direction:column;align-items:stretch;gap:12px}.login-wrap{margin:5vh auto;padding:18px}.login-card{padding:30px 24px}.login-card h1{font-size:27px}.detail-grid{grid-template-columns:1fr}.detail-actions>.button{width:100%}.button-row .button{white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.result-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px 36px;margin:24px 0 28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.identity-label{display:block;font-size:14px;color:#6b7f72;margin-bottom:8px}.result-identity strong{display:block;font-size:34px;font-weight:700;line-height:1.45;color:#174f3f;overflow-wrap:anywhere}#result-passage{font-size:30px;color:#263f35}@media(max-width:560px){.result-identity{grid-template-columns:1fr;gap:18px;margin:20px 0;padding:18px 0}.result-identity strong{font-size:30px}#result-passage{font-size:26px}}.participant-shell{max-width:1240px;padding:24px 32px 0}.participant-shell .event-line{padding:0 0 18px;border-top:0;font-size:14px}.participant-shell .event-line b{font-size:19px;font-weight:600;color:var(--ink)}.participant-shell .steps{padding:22px 0 24px}.participant-shell .workspace-grid{grid-template-columns:minmax(0,1fr);gap:0}.participant-shell .main-card{width:100%;padding:30px 36px;border-color:#dce5de;box-shadow:0 3px 18px #233d3504}.participant-shell .section-kicker{display:none}.participant-shell #join-panel,.participant-shell #result-panel{max-width:960px;margin:0 auto}.participant-shell .main-card h2{font-size:28px;color:#203e32}.participant-shell .main-card>.muted{font-size:16px;margin-bottom:26px}.participant-shell .form-grid label{font-size:16px}.participant-shell input:not([type=checkbox]){font-size:17px;padding:12px 14px}.participant-shell .reading-top h2{font-size:32px;margin:0 0 8px}.participant-shell .reader-meta{font-size:15px;margin:0 0 20px;color:#657a6e}.participant-shell .passage-text{font-family:var(--sans);font-size:28px;line-height:1.95;letter-spacing:.5px;color:#263f35;background:#fcfdfb;padding:24px 30px;max-height:clamp(280px,100dvh - 440px,620px);border-color:#e5ebe4}.participant-shell .recording-status{font-size:16px;padding-top:20px}.participant-shell #timer{font-size:28px;font-weight:600}.participant-shell .button{font-size:16px;padding:13px 23px}.participant-shell footer{margin-top:24px;padding:16px 0}@media(max-width:820px){.participant-shell{padding:20px 22px 0}.participant-shell .event-line{flex-wrap:wrap;gap:10px}.participant-shell .event-line b{font-size:17px}.participant-shell .main-card{padding:26px}.participant-shell .passage-text{font-size:25px;padding:20px;max-height:55dvh}}@media(max-width:560px){.participant-shell{padding:16px 14px 0}.participant-shell .event-line{font-size:12px;padding-bottom:14px}.participant-shell .event-line>span:last-child{margin-left:0}.participant-shell .steps{padding:18px 0}.participant-shell .main-card{padding:22px 18px}.participant-shell .main-card h2{font-size:25px}.participant-shell .reading-top h2{font-size:27px}.participant-shell .reader-meta{font-size:14px}.participant-shell .passage-text{font-size:23px;padding:16px;line-height:1.9;max-height:52dvh}.participant-shell .recording-status{font-size:14px}.participant-shell #timer{font-size:25px}.participant-shell .form-action{align-items:stretch}}.reading-controls{flex-shrink:0}@media(min-width:821px)and (min-height:600px){.participant-page:has(#reading-panel:not([hidden])){height:100dvh;overflow:hidden;display:flex;flex-direction:column}.participant-page:has(#reading-panel:not([hidden])) .topbar{height:54px;flex-shrink:0}.participant-page:has(#reading-panel:not([hidden])) .participant-shell{display:flex;flex-direction:column;flex:1;min-height:0;max-width:1800px;width:calc(100% - 48px);padding:8px 0 12px}.participant-page:has(#reading-panel:not([hidden])) .event-line{flex-shrink:0;padding:0 0 6px;min-height:28px}.participant-page:has(#reading-panel:not([hidden])) .steps{flex-shrink:0;padding:8px 0 10px}.participant-page:has(#reading-panel:not([hidden])) .steps small{display:none}.participant-page:has(#reading-panel:not([hidden])) .steps li:not(:last-child):after{top:18px}.participant-page:has(#reading-panel:not([hidden])) .workspace-grid{display:flex;flex-direction:column;flex:1;min-height:0}.participant-page:has(#reading-panel:not([hidden])) #reading-panel{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 20px}.participant-page:has(#reading-panel:not([hidden])) .reading-top{flex-shrink:0}.participant-page:has(#reading-panel:not([hidden])) .reading-top h2{line-height:1.25;margin:0 0 4px}.participant-page:has(#reading-panel:not([hidden])) .reader-meta{flex-shrink:0;margin:0 0 10px}.participant-page:has(#reading-panel:not([hidden])) #reading-panel .passage-text{flex:1;min-height:0;max-height:none;margin:0;overflow:auto;overscroll-behavior:contain;padding:16px 22px}.participant-page:has(#reading-panel:not([hidden])) .reading-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,.55fr) auto;align-items:center;gap:16px;margin-top:10px}.participant-page:has(#reading-panel:not([hidden])) .recording-status{padding:0;gap:8px;font-size:14px}.participant-page:has(#reading-panel:not([hidden])) .mic-level{margin:0;gap:8px}.participant-page:has(#reading-panel:not([hidden])) .mic-level meter{min-width:40px}.participant-page:has(#reading-panel:not([hidden])) .mic-level>span:first-child{display:none}.participant-page:has(#reading-panel:not([hidden])) .record-actions{justify-content:flex-end;gap:8px}.participant-page:has(#reading-panel:not([hidden])) .record-actions .button{padding:10px 16px}.participant-page:has(#reading-panel:not([hidden])) #reading-panel>.caption{flex-shrink:0;margin-top:6px;font-size:12px}.participant-page:has(#reading-panel:not([hidden])) #recording-error,.participant-page:has(#reading-panel:not([hidden])) #secure-notice{flex-shrink:0;margin-top:8px;margin-bottom:0}.participant-page:has(#reading-panel:not([hidden])) .participant-shell>footer{display:none}}@media(min-width:821px){.participant-page:has(#reading-panel:not([hidden])) .participant-shell{max-width:1800px;width:calc(100% - 64px);padding-left:0;padding-right:0}.participant-page #reading-panel,.participant-page #reading-panel .passage-text{padding-left:24px;padding-right:24px}}.competition-toolbar{display:flex;align-items:center;gap:22px;margin-bottom:22px;padding:16px 20px;background:#edf3ed;border-radius:8px}.competition-toolbar>label{min-width:230px;font-size:14px}.competition-toolbar .caption{margin:18px 0 0}.competition-summary{margin-bottom:24px}.competition-summary .card-heading{margin-bottom:12px}.competition-summary .text-button{font-size:14px;text-align:left}.competition-help{margin:-8px 0 20px}.trash-toggle{white-space:nowrap;align-items:center}.bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}.bulk-toolbar .checkbox{font-size:13px;align-items:center}#score-body input[type=checkbox],#select-all-scores,.passage-item-heading input[type=checkbox],#select-all-passages{width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0}#score-body input:disabled,#select-all-scores:disabled{cursor:not-allowed}.admin-main [data-section=scores] th:last-child,#score-body td:last-child{position:sticky;right:0;background:#fff;box-shadow:-4px 0 8px #233d3508;min-width:100px}.admin-main [data-section=scores] th:last-child{background:#f7f9f3}.table-toolbar{flex-wrap:wrap}@media(max-width:560px){.competition-toolbar{display:block;padding:16px}.competition-toolbar>label{min-width:0}.competition-toolbar .caption{margin-top:10px}}.participant-page .topbar{height:64px}.participant-page .brand img{width:36px;height:36px}.participant-page .participant-shell{padding-top:14px}.participant-page .event-line{padding-bottom:10px}.participant-page .steps{padding:14px 0 16px}.participant-page .main-card{padding:22px 30px}.participant-page .result-identity{margin:12px 0 16px;padding:10px 0;gap:12px 30px}.participant-page .identity-label{margin-bottom:3px}.participant-page .result-main{margin:14px 0;padding:16px 24px}.participant-page .big-score{font-size:66px;line-height:1.2}.participant-page .score-grid>div{padding:9px 0}.participant-page .score-grid b{margin-top:2px}.participant-page .result-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.participant-page .result-footer .caption{margin:0}.participant-page .result-footer .button{margin:0;flex-shrink:0}.participant-page footer{margin-top:12px;padding:10px 0}.participant-page .main-card>.muted{margin-bottom:18px}.participant-page .consent{margin:18px 0}.participant-page .reader-meta{margin-bottom:12px}.participant-page .passage-text{max-height:clamp(160px,100dvh - 430px,540px)}.participant-page .recording-status{padding:10px 0 6px}.participant-page .mic-level{margin-bottom:10px}.participant-page #reading-panel>.caption{margin-top:10px}@media(min-width:821px)and (max-height:760px){.participant-page .steps small{display:none}.participant-page .steps{padding:10px 0 12px}.participant-page .main-card{padding:18px 28px}.participant-page .result-main{padding:12px 22px;margin:12px 0}.participant-page .result-identity{margin:10px 0 12px;padding:8px 0}}@media(max-width:560px){.participant-page .topbar{height:58px}.participant-page .main-card{padding:18px}.participant-page .result-identity{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px}.participant-page .result-identity strong{font-size:28px}.participant-page #result-passage{font-size:25px}.participant-page .result-main{padding:16px 18px}.participant-page .big-score{font-size:58px}.participant-page .score-grid{gap:8px}.participant-page .result-footer{flex-direction:column;align-items:stretch;gap:12px;margin-top:14px}.participant-page .result-footer .caption{text-align:center}.participant-page .passage-text{max-height:clamp(160px,100dvh - 410px,460px)}}body,body :not(.big-score,.big-score *,.score-grid b,.table-score,.activity-score,#stat-average){color:#000!important}input::placeholder,textarea::placeholder{color:#000!important;opacity:1}.button.primary{background:#dcece3;border-color:#b8d0c1}.button.primary:hover:not(:disabled){background:#cce2d5}.button.stop{background:#f5dcd8;border-color:#d7aaa4}button:disabled{opacity:1}.steps li.active>span{background:#dcece3;border-color:var(--green)}.stat-card.accent{background:#eaf2ec;border-color:#c9ddce}#stat-average{color:var(--green)!important}.toast{background:#e5f0e9;border:1px solid #b8d0c1}.toast.error{background:#f5dfda;border-color:#d7aaa4}#score-body td:nth-child(8),#score-body td:nth-child(9),#competition-summary-body td:nth-child(5),#competition-summary-body td:nth-child(6){color:var(--green)!important}#app{display:contents}.admin-main.settings-page{padding-top:12px}.settings-page .admin-heading{margin-bottom:14px}.settings-page .admin-heading>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 16px}.settings-page .admin-heading .eyebrow{grid-column:1/-1}.settings-page .admin-heading .muted{margin:0}.settings-page .admin-heading h1{font-size:24px;margin:4px 0}.settings-page [data-section=settings]{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:18px;align-items:start}.settings-page .settings-grid{min-width:0;gap:12px}.settings-page .settings-grid>.card,.settings-page .password-card{padding:18px}.settings-page .section-kicker{font-size:10px;letter-spacing:1.8px}.settings-page .settings-grid h2{font-size:21px;margin:4px 0 10px}.settings-page .settings-grid label,.settings-page .password-card label{font-size:13px;line-height:1.4;margin-bottom:0}.settings-page input:not([type=checkbox]),.settings-page select{height:36px;padding:6px 10px;margin-top:4px;font-size:13px}.settings-page input[name=competitionName]{max-width:440px}.settings-page .caption{font-size:12px;line-height:1.6;margin-top:10px}.settings-page .competition-help{margin:6px 0 12px}.settings-page .settings-grid .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin-bottom:12px}.settings-page .settings-grid .checkbox{align-items:center;font-size:12px;line-height:1.6}.settings-page .checkbox input{margin:0}.settings-page .settings-submit{gap:12px}.settings-page .button{padding:8px 14px;font-size:13px}.settings-page .password-card{max-width:none;margin:0;min-width:0}.settings-page .password-card h3{font-size:17px;margin-bottom:16px}.settings-page .password-card .form-grid{grid-template-columns:minmax(0,1fr);gap:14px}.settings-page .password-card .button{margin-top:16px}.settings-page footer{margin-top:18px;padding:12px 0}@media(max-width:1150px){.settings-page [data-section=settings]{grid-template-columns:minmax(0,1fr) 270px;gap:14px}.settings-page .settings-grid .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.settings-page [data-section=settings]{grid-template-columns:minmax(0,1fr)}.settings-page input[name=competitionName]{max-width:none}.settings-page .password-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.settings-page .admin-heading h1{font-size:21px}.settings-page .admin-heading>div{display:block}.settings-page .settings-grid>.card,.settings-page .password-card{padding:16px}.settings-page .settings-grid .form-grid{gap:12px}.settings-page .password-card .form-grid{grid-template-columns:minmax(0,1fr)}}@media(min-width:821px)and (max-height:720px){.admin-main.settings-page{padding-top:10px}.settings-page .admin-heading{margin-bottom:10px}.settings-page .admin-heading .eyebrow{display:none}.settings-page .settings-grid>.card,.settings-page .password-card{padding:16px}.settings-page .settings-grid h2{font-size:20px;margin:2px 0 8px}.settings-page .caption{line-height:1.45}.settings-page footer{margin-top:12px;padding:8px 0}}.settings-page .admin-heading h1{font-size:28px}.settings-page .admin-heading .muted{font-size:15px}.settings-page .section-kicker{font-size:12px}.settings-page .settings-grid h2{font-size:24px}.settings-page .settings-grid label,.settings-page .password-card label{font-size:16px;line-height:1.35}.settings-page input:not([type=checkbox]),.settings-page select{height:40px;font-size:16px}.settings-page .caption{font-size:14px;line-height:1.5}.settings-page .settings-grid .checkbox{font-size:15px;line-height:1.45}.settings-page .checkbox input{width:16px;height:16px}.settings-page .button{font-size:15px}.settings-page .password-card h3{font-size:21px}.settings-page footer{font-size:13px}.admin-body:has(.settings-page) .topbar{height:72px}#join-panel h2{font-size:30px;line-height:1.35}#join-panel>.muted{font-size:16px;line-height:1.6}#join-panel label{font-size:17px;line-height:1.45}#join-panel input:not([type=checkbox]){font-size:17px;min-height:46px;padding:9px 12px}#join-panel input::placeholder{font-size:17px}#join-panel .consent{font-size:15px;line-height:1.6}#join-panel .consent input{width:16px;height:16px}#join-panel .button{font-size:17px}#join-panel .form-action small{font-size:14px;line-height:1.5}.participant-page:has(#join-panel:not([hidden])) .event-line{font-size:16px}.participant-page:has(#join-panel:not([hidden])) .steps li>div{font-size:17px}.participant-page:has(#join-panel:not([hidden])) .steps small{font-size:14px}.participant-page:has(#join-panel:not([hidden])) .steps li>span{font-size:14px}.participant-page:has(#join-panel:not([hidden])) .topbar nav{font-size:16px}.participant-page:has(#join-panel:not([hidden])) footer{font-size:13px}@media(min-width:821px)and (max-height:720px){.settings-page .admin-heading h1{font-size:26px}.settings-page .settings-grid h2{font-size:23px}.settings-page .settings-grid>.card,.settings-page .password-card{padding:14px}.settings-page .settings-grid .form-grid{gap:8px 14px;margin-bottom:10px}.settings-page .competition-help{margin-bottom:10px}.settings-page footer{padding:6px 0;margin-top:10px}.participant-page #join-panel{padding:18px 26px}.participant-page #join-panel h2{margin-bottom:8px}.participant-page #join-panel>.muted{margin-bottom:14px}.participant-page #join-panel .form-grid{gap:14px 22px}.participant-page #join-panel .consent{margin:14px 0}}@media(max-width:560px){.settings-page .admin-heading h1{font-size:24px}.settings-page .settings-grid h2{font-size:23px}#join-panel h2{font-size:27px}.participant-page:has(#join-panel:not([hidden])) .event-line{gap:12px;font-size:14px}.participant-page:has(#join-panel:not([hidden])) .steps{gap:8px}.participant-page:has(#join-panel:not([hidden])) .steps li>div{font-size:15px}.participant-page:has(#join-panel:not([hidden])) .steps li>span{font-size:12px}.participant-page:has(#join-panel:not([hidden])) .topbar nav{font-size:14px;gap:12px}}@media(min-width:821px)and (max-height:720px){.settings-page footer{padding:4px 0;margin-top:6px}}
