:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#18283b;background:#f3f6fa;font-synthesis:none;--green: #12625f;--dark: #172c45;--muted: #53647a;--line: #dce4ed;--light: #e8f4f2;--paper: #fff;--focus: #087f76;--shadow: 0 2px 3px #17365207, 0 9px 22px #16324e08}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px}.ui-icon{display:block;width:1.15em;height:1.15em;flex:none}.icon-button{gap:.42rem}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.6rem,3.1vw,2.55rem);line-height:1.2;letter-spacing:-.026em}h2{font-size:1.23rem;line-height:1.35}h3{font-size:1.02rem}p{line-height:1.65}a{color:var(--green);text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer;border:1px solid transparent;border-radius:.55rem;min-height:42px;padding:.52rem .9rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;text-decoration:none}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:not([type=checkbox]),select,textarea{padding:.6rem .7rem;border:1px solid #c8d5e3;background:#fff;color:inherit;border-radius:.55rem;min-height:42px;min-width:0}input[readonly]{background:#f3f6fa;color:var(--muted)}input[type=checkbox]{accent-color:var(--green);height:1rem;width:1rem;flex:0 0 auto;margin:0}input[type=file]{font-size:.9rem;max-width:100%}select[multiple]{min-height:92px}textarea{min-height:90px;resize:vertical}label{display:grid;gap:.42rem;font-size:.92rem;font-weight:600}label small{font-weight:400;color:var(--muted);line-height:1.5}small{font-size:.78em}summary{cursor:pointer;font-weight:650}details>summary+*{margin-top:.95rem}code{background:#f0f4f2;padding:.12rem .32rem;border-radius:.25rem;overflow-wrap:anywhere}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover:not(:disabled){background:#0e514e}.secondary{color:#24445f;border-color:#cbd7e4;background:#fff}.secondary:hover:not(:disabled){background:var(--light)}.plain{background:transparent;color:var(--green);padding-inline:.5rem}.plain:hover:not(:disabled){background:var(--light)}.danger{color:#9b3a2a}.full{width:100%}.muted{color:var(--muted);font-weight:400}.eyebrow{color:#536b83;font-size:.76rem;font-weight:750;letter-spacing:.1em}.stack{display:grid;gap:1rem}.between,.actions,.checks{display:flex;align-items:center;flex-wrap:wrap;gap:.58rem .85rem}.between{justify-content:space-between}.checks label{display:flex;align-items:center;gap:.45rem;min-height:36px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));gap:.85rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.8rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:1.35rem 0 .65rem}.section-title .eyebrow{margin-bottom:.25rem}.panel,.empty,.line-editor{border:1px solid var(--line);background:var(--paper);border-radius:.95rem;padding:clamp(.92rem,2.3vw,1.35rem);min-width:0}.panel{box-shadow:var(--shadow)}.line-editor{display:grid;gap:.75rem;background:#f8fafc;padding:.85rem}.phone-paper-preview{width:min(100%,390px);margin:.85rem auto 0}.analysis-options{margin:0;padding-inline-start:1rem;min-width:9rem;max-width:24rem;overflow-wrap:anywhere}.actions button.secondary[aria-pressed=true]{color:var(--green);background:var(--light);border-color:currentColor}.empty{color:var(--muted);padding-block:1.6rem}.notice,.error{padding:.7rem .9rem;border-radius:.55rem;border:1px solid;overflow-wrap:anywhere}.notice{color:#155741;background:#e8f3ed;border-color:#b9d7c8}.error{color:#8e2e26;background:#fff0ec;border-color:#edc5b9}.error[role=alert]{white-space:pre-line}ul.error{padding-left:1.8rem;margin:0}.tag,.pill{display:inline-flex;padding:.25rem .6rem;border-radius:.4rem;font-size:.78rem;line-height:1.35;color:#425b75;background:#eef3fa;vertical-align:middle;white-space:nowrap}.pill{border-radius:999px;background:#edf1f6;color:#4c6078;font-weight:650}.pill.green{color:#175641;background:#dff1e8}.list-item{border-top:1px solid var(--line);padding-top:.6rem}.shell{width:min(1220px,100% - 2.5rem);margin:0 auto;padding-bottom:2.4rem}.splash{display:grid;min-height:100dvh;place-items:center;color:var(--muted)}.brand{display:flex;align-items:center;gap:.62rem;font-weight:750;white-space:nowrap;min-width:0}.brand-name{overflow:hidden;text-overflow:ellipsis}.brand-mark{display:grid;place-items:center;border-radius:.62rem;min-width:2.25rem;height:2.25rem;font-size:1.12rem;background:#145e60;color:#fff}.top{background:#fff;border-bottom:1px solid var(--line)}.top-inner{display:flex;align-items:center;gap:.95rem;width:min(1220px,100% - 2.5rem);min-height:66px;margin:0 auto}.top-admin .top-inner,.administration{width:min(100% - clamp(1.5rem,4vw,5rem),1920px)}.top nav,.top-user{display:flex;align-items:center;gap:.3rem}.top-user{margin-left:auto;color:var(--muted)}.user-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#eef3fa;color:#416581}.workspace-label{color:var(--muted);font-size:.83rem;padding-left:.85rem;border-left:1px solid var(--line);white-space:nowrap}.top nav [aria-current=page]{background:var(--light)}.subnav{display:flex;gap:.38rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.subnav button{border:0;border-bottom:2px solid transparent;border-radius:.35rem .35rem 0 0;color:var(--muted);background:transparent;font-weight:600}.subnav button.active{color:var(--green);background:var(--light);border-bottom-color:var(--green)}.candidate-nav button{gap:.42rem}.sign-in{display:grid;grid-template-columns:1.05fr 1fr;min-height:100dvh}.sign-story{color:#fff;display:flex;flex-direction:column;min-height:100%;padding:clamp(2rem,5.6vw,6rem);background:radial-gradient(ellipse at 92% 95%,#175d68,transparent 63%),linear-gradient(155deg,#101e34,#183b55)}.sign-story .brand-mark{background:#ffffff20;color:#e4fbf8}.sign-story .eyebrow{color:#a9dad9}.sign-message{margin:auto 0;padding:2.5rem 0}.sign-message h1{font-size:clamp(2.25rem,5.1vw,4.75rem);letter-spacing:-.035em;margin:.65rem 0 1rem}.sign-message p:last-child{color:#d4e7ef;max-width:26rem}.sign-features{display:flex;flex-wrap:wrap;gap:.55rem;color:#e5f4f8;font-size:.86rem}.sign-features span{display:inline-flex;gap:.4rem;align-items:center;padding:.48rem .65rem;border:1px solid #d5e7f347;border-radius:.5rem;background:#ffffff0b}.sign-entry{display:grid;place-items:center;padding:2rem;background:#f3f6fa}.login-form{display:grid;gap:1rem;width:min(100%,460px);padding:clamp(1.5rem,3.5vw,2.65rem);border-radius:1.15rem;background:#fff;border:1px solid var(--line);box-shadow:0 14px 46px #16324e12}.login-form h2{font-size:clamp(1.4rem,3vw,2rem)}.login-emblem{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:.78rem;background:var(--light);color:var(--green);font-size:1.4rem}.login-submit{min-height:48px;gap:.65rem}.input-action{display:flex;align-items:center;border:1px solid #c8d5e3;border-radius:.55rem;background:#fff}.input-action input{border:0;flex:1}.input-action button{margin-right:.2rem}.help{font-size:.87rem;color:var(--muted)}.candidate{max-width:940px;padding-top:1rem}.candidate>.error,.candidate>.notice{margin-bottom:.85rem}.hero{border:1px solid #cfdfeb;border-radius:1rem;padding:clamp(1.15rem,3vw,2.3rem);background:linear-gradient(120deg,#e7f0fb,#eff9f7);display:grid;gap:.55rem}.hero p:last-child{color:#465f74}.candidate-welcome{grid-template-columns:minmax(0,1fr) auto;align-items:center}.candidate-welcome .stack{gap:.4rem}.welcome-count{min-width:5.25rem;display:grid;justify-items:center;gap:.1rem;border:1px solid #cfe0eb;background:#ffffffbd;border-radius:.85rem;padding:.65rem .9rem;color:var(--muted);font-size:.8rem}.welcome-count strong{color:var(--green);font-size:1.8rem;line-height:1.1;font-variant-numeric:tabular-nums}.exam-empty{display:grid;justify-items:center;gap:.7rem;padding:2.5rem 1rem}.exam-empty .ui-icon{width:2rem;height:2rem;color:#607d98}.exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.9rem}.exam-card{display:grid;gap:.62rem;align-content:start}.exam-card h3{font-size:1.18rem}.exam-card-ready{border-left:4px solid #198579}.exam-card-meta{display:flex;align-items:center;gap:.42rem;font-size:.88rem}.exam-dates{display:flex;flex-wrap:wrap;gap:.22rem .8rem;font-size:.88rem}.exam-dates time{color:#334d42;font-variant-numeric:tabular-nums}.segmented{display:flex;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:.65rem;background:#e9eff6}.segmented button{color:var(--muted);background:transparent;min-height:38px;padding-inline:.6rem;gap:.35rem}.segmented button[aria-pressed=true]{color:var(--green);background:#fff;box-shadow:0 1px 3px #143a321f}.segmented span{font-variant-numeric:tabular-nums}.exam-card .actions{margin-top:.25rem}.dialog-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#15273b9c}.dialog{max-width:450px;display:grid;gap:.8rem;box-shadow:0 15px 45px #172d263e}.dialog .actions{justify-content:flex-end}.paper-bar{position:sticky;top:.45rem;z-index:3;display:grid;gap:.55rem;margin-bottom:.8rem;padding:.8rem 1rem;box-shadow:0 2px 7px #20352a12}.paper-bar-main{display:flex;justify-content:space-between;align-items:center;gap:.65rem}.paper-bar progress{width:100%;height:.35rem;border:0;border-radius:999px;overflow:hidden;accent-color:var(--green);background:#e0ebe4}.paper-bar progress::-webkit-progress-bar{background:#e0ebe4}.paper-bar progress::-webkit-progress-value{background:var(--green)}.timer-block{display:grid;text-align:right;gap:.1rem;white-space:nowrap}.timer-block span{color:var(--muted);font-size:.75rem}.paper-bar .muted{font-size:.85rem;padding-top:.22rem}.clock{font-variant-numeric:tabular-nums;font-size:1.35rem;color:var(--green)}.urgent{color:#a53829}.paper-body{min-height:245px}.question{display:grid;gap:.95rem}.question-meta{display:flex;align-items:center;gap:.65rem;color:var(--muted);font-size:.88rem}.question-meta strong{color:var(--dark)}.question-prompt{font-size:1.15rem;font-weight:600;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.blank-input{display:inline-block;width:min(180px,100%);margin:.24rem;font-size:1rem;font-weight:500}.question-media{display:grid;gap:.55rem;max-width:650px}.question-media img,.question-media video{display:block;max-width:100%;max-height:340px;border:1px solid var(--line);border-radius:.5rem}.options{display:grid;gap:.55rem}.option{display:flex;gap:.75rem;justify-content:flex-start;text-align:left;padding:.65rem;border:1px solid var(--line);background:#f8fafd;color:#24384d;font-weight:500;min-height:50px}.option.selected{border-color:#247c71;background:var(--light)}.option:disabled{opacity:1}.option-mark{display:grid;place-items:center;flex:0 0 1.8rem;height:1.8rem;border-radius:.35rem;background:#e9f0f7;color:#355473;font-weight:700}.option.selected .option-mark{background:var(--green);color:#fff}.feedback{padding:.75rem;background:#edf6ef;border-radius:.45rem;display:grid;gap:.35rem;line-height:1.55}.feedback strong{margin-right:.35rem}.paper-controls{position:sticky;bottom:0;padding:.72rem 0 max(.7rem,env(safe-area-inset-bottom));background:#f3f6fa;z-index:2}.paper-controls-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.52rem}.answer-card{width:min(100%,450px)}.answer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.42rem;max-height:min(55dvh,460px);overflow:auto;padding:.2rem}.answer-grid button{background:#fff;border:1px solid var(--line);color:var(--green);min-width:44px;padding:.35rem}.answer-card button.answered{background:#e3f1e8}.answer-card button.unsynced{background:#fff2d5;color:#784c17}.answer-card button.current{border-color:var(--green)}.receipt{text-align:center;display:grid;justify-items:center;gap:.65rem;margin-top:1.5rem;padding:2.4rem 1rem}.receipt-icon{color:var(--green);background:#e4f4e9;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;font-size:1.6rem}.score{color:var(--green);font-size:2.2rem;font-weight:700;margin-block:.55rem}.score small{font-size:.92rem}.administration{display:grid;grid-template-columns:clamp(215px,16vw,260px) minmax(0,1fr);gap:clamp(1rem,2.4vw,2.5rem);padding-top:1.45rem;align-items:start}.admin-nav{border:1px solid #233f57;background:#172c45;color:#eff7ff;border-radius:1rem;padding:.85rem;position:sticky;top:.7rem;box-shadow:var(--shadow)}.admin-nav-head{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.1rem .3rem .55rem}.nav-emblem{display:grid;place-items:center;width:1.95rem;height:1.95rem;border-radius:.55rem;background:#2b4c65;color:#bce8e7}.admin-nav-links{display:grid;gap:.25rem}.admin-nav .eyebrow{padding:.55rem .55rem .15rem;color:#a8bed1}.admin-nav button{justify-content:flex-start;text-align:left;background:transparent;color:#dbe8f6;padding-inline:.7rem;gap:.65rem;font-size:.89rem}.admin-nav button.active,.admin-nav button:hover{background:#294962;color:#fff}.admin-nav button.active{box-shadow:inset 3px 0 #73d3c6}.admin-nav .nav-toggle{display:none}.dept-picker{margin:.7rem .25rem .35rem;color:#bed0e0;font-size:.79rem}.dept-picker select{color:#eff7ff;background:#243f58;border-color:#47637d;font-size:.9rem}.admin-content{min-width:0}.admin-page-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.2rem .15rem .75rem;border-bottom:1px solid var(--line)}.admin-page-heading .eyebrow{margin-bottom:.25rem}.admin-page-heading h1{font-size:clamp(1.65rem,2.7vw,2.45rem);margin-bottom:.35rem}.admin-page-heading>.tag{margin-top:.45rem}.admin-content .section-title{margin:.15rem 0 0}.admin-content .panel{padding:clamp(1rem,2vw,1.8rem)}.admin-content th,.admin-content td{padding:.72rem .85rem}.town-table tbody th{background:transparent;color:#233b32}.town-filters input{width:min(100%,340px)}.town-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:.45rem}table{border-collapse:collapse;width:100%;text-align:left;font-size:.88rem}th,td{padding:.55rem .7rem;border-bottom:1px solid var(--line);line-height:1.4;vertical-align:middle}th{background:#edf3fa;color:#324d68;font-weight:700;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:#f8fafd}tbody tr:hover{background:#edf6fa}.row-actions{white-space:nowrap}.row-actions button{min-height:32px}.truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-option-edit{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:.6rem}.question-option-edit [aria-pressed=true]{background:var(--light);color:var(--green)}.paper-picker .table-wrap{max-height:420px}.search{width:min(100%,230px)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.65rem}.metrics div{padding:.85rem;background:#f1f6fb;color:#405a75;border:1px solid #dce7f2;border-radius:.65rem;font-size:.86rem}.metrics strong{display:block;color:#1f4860;font-size:1.5rem;margin-bottom:.22rem;font-variant-numeric:tabular-nums}@media(max-width:900px){.administration{display:block}.admin-nav{position:static;margin-bottom:1rem}.admin-nav-head{padding-bottom:0}.admin-nav .nav-toggle{display:inline-flex;margin-left:auto}.admin-nav-links{display:none}.admin-nav-links.expanded{display:grid;margin-top:.5rem}}@media(max-width:680px){.sign-in{grid-template-columns:1fr;align-content:start}.sign-story{padding:1.1rem 1.15rem 1.3rem}.sign-message{padding:1.45rem 0 .15rem}.sign-message h1{margin:.2rem 0 .45rem;font-size:clamp(1.65rem,6vw,2.25rem)}.sign-message h1 br,.sign-features{display:none}.sign-entry{padding:1.5rem 1.15rem}.login-form{padding:1.35rem}.top-inner,.shell{width:calc(100% - 1.4rem)}.top-inner{min-height:52px;gap:.25rem}.top .brand{font-size:.86rem;gap:.35rem}.top .brand-mark{min-width:1.75rem;height:1.75rem}.top nav{margin-left:auto;flex:none}.top nav button,.top-user button{font-size:.79rem}.top-user{margin-left:auto;flex:none}.top-user span,.workspace-label{display:none}.admin-page-heading{flex-wrap:wrap;gap:.35rem}input:not([type=checkbox]),select,textarea{font-size:16px}.paper-body{min-height:200px}.candidate-with-nav{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.candidate-nav{position:fixed;z-index:5;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:.3rem;padding:.38rem .65rem max(.4rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);border-bottom:0;background:#fff;box-shadow:0 -3px 14px #183e3012}.candidate-nav button{border-radius:.55rem;border-bottom:0;min-height:51px;flex-direction:column;gap:.24rem;font-size:.78rem}.candidate-nav .ui-icon{width:1.18rem;height:1.18rem}.exam-card-actions>button{flex:1 0 auto;min-height:46px}.exam-dates{display:grid;gap:.15rem}.exam-paper{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}.paper-controls{position:fixed;inset:auto 0 0;background:#fff;z-index:4;padding:.55rem .7rem max(.55rem,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.paper-controls-inner{gap:.35rem}.paper-controls-inner button{padding-inline:.2rem;min-height:46px;font-size:.88rem}.paper-bar{top:.25rem;padding:.65rem .8rem}.clock{font-size:1.2rem}.dialog-shade{align-items:end;padding:.7rem .7rem max(.7rem,env(safe-area-inset-bottom))}.dialog{width:min(100%,450px);max-height:90dvh;overflow:auto}}
