.auth-page{color:#27323a;background:#f4efe3;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-page:before{content:"";pointer-events:none;opacity:.55;background-image:radial-gradient(#5c4e3829 1px,#0000 1px);background-size:18px 18px;position:fixed;inset:0}.auth-shell{z-index:1;align-items:start;min-height:100vh;padding:24px clamp(20px,4vw,48px);display:grid;position:relative}.auth-card{background:#fffdf7f2;border:1px solid #c9bda8;flex-direction:column;width:min(1180px,100%);min-height:calc(100vh - 48px);margin:0 auto;display:flex;box-shadow:0 22px 60px #4d3d2529}.consent-card{width:min(1180px,100%)}.auth-head{border-bottom:1px solid #ded5c6;justify-content:space-between;align-items:center;gap:24px;padding:30px 34px;display:flex}.auth-brand{color:inherit;align-items:center;gap:14px;text-decoration:none;display:flex}.auth-brand img{object-fit:contain;border-radius:50%;width:46px;height:46px}.auth-brand b{letter-spacing:.02em;font:800 22px/1.1 Georgia,serif;display:block}.auth-brand small{color:#7a7165;letter-spacing:.2em;margin-top:3px;font-size:10px;font-weight:800;display:block}.auth-head a:not(.auth-brand){color:#8f3f34;font-weight:800;text-decoration:none}.auth-host{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.auth-body{flex:1;padding:clamp(26px,3vw,40px);display:block}.auth-copy small,.admin-kicker{color:#a3473b;letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:900}.auth-copy h1,.admin-head h1{color:#26313a;margin:10px 0 12px;font:700 44px/1.05 Georgia,Times New Roman,serif}.auth-copy p,.admin-head p{color:#6d6a61;margin:0;line-height:1.8}.login-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-page .auth-shell{align-items:center;padding-block:clamp(18px,4vh,42px)}.login-card{background:#fffdf7;border-radius:10px;width:min(1060px,100%);min-height:0;overflow:hidden;box-shadow:0 24px 70px #4d3d2533}.login-card .auth-head{background:#fffdf7f5;padding:20px 28px}.login-card .auth-brand img{width:42px;height:42px}.login-card .auth-brand b{font-size:21px}.login-body{padding:0}.login-copy{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:560px;display:grid}.login-visual{color:#fffdf7;background:#2d2924;min-width:0;display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";pointer-events:none;background:linear-gradient(#1c19161a 0%,#1c19167a 46%,#1c1916eb 100%);position:absolute;inset:0}.login-visual-image{background:url(../ui-art/hero-manuscript-lens.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.015)}.login-visual-copy{z-index:1;box-sizing:border-box;align-self:flex-end;width:100%;padding:42px;position:relative}.login-full-system-chip{box-sizing:border-box;color:#fffdf7e6;letter-spacing:.14em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#24201c4d;border:1px solid #fffdf794;border-radius:999px;justify-content:center;align-items:center;min-height:36px;margin-bottom:12px;padding:0 13px;font-size:10px;font-weight:850;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.login-full-system-chip:hover{color:#fff;background:#24201c94;border-color:#fffdf7e0}.login-full-system-chip:focus-visible{outline-offset:3px;outline:3px solid #fffdf78c}.login-visual-copy h1{color:#fffdf7;letter-spacing:.01em;text-shadow:0 2px 18px #00000047;max-width:520px;margin:0 0 14px;font:700 clamp(38px,4vw,52px)/1.06 Georgia,Times New Roman,serif}.login-visual-copy>p{color:#fffdf7d6;max-width:520px;margin:0;font-size:14px;line-height:1.75}.login-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px;display:grid}.login-steps>div{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1a17145c;border:1px solid #fffdf738;gap:10px;min-width:0;padding:12px;display:flex}.login-steps>div>b{color:#e4b49c;flex:none;font:800 12px/1.2 Georgia,serif}.login-steps span,.login-steps strong,.login-steps small{display:block}.login-steps strong{font-size:12px;line-height:1.3}.login-steps small{color:#fffdf7b3;margin-top:5px;font-size:10.5px;line-height:1.45}.login-panel{background:linear-gradient(145deg,#fffdf8,#f7efe1);flex-direction:column;justify-content:center;padding:clamp(34px,4vw,52px);display:flex}.login-panel-head>span{color:#9e463a;letter-spacing:.17em;font-size:10.5px;font-weight:900}.login-panel-head h2{color:#29343b;margin:10px 0 8px;font:800 32px/1.08 Georgia,Times New Roman,serif}.login-panel-head p{color:#736c61;margin:0;font-size:13px;line-height:1.65}.login-form label{color:#4c504f;letter-spacing:.06em;flex-direction:column;gap:8px;font-size:12px;font-weight:850;display:flex}.login-form label>span{display:block}.login-form input{box-sizing:border-box;color:#27323a;background:#fffefb;border:1px solid #b8ac9b;border-radius:3px;width:100%;height:48px;padding:0 13px;font:700 15px/1.2 inherit;transition:border-color .16s,box-shadow .16s,background .16s}.login-form input:hover{background:#fff;border-color:#927d6c}.login-form input:focus{background:#fff;border-color:#48686c;outline:0;box-shadow:0 0 0 3px #33565c24}.login-form input[aria-invalid=true]{border-color:#a02f2a;box-shadow:0 0 0 3px #a02f2a1a}.login-form button,.admin-actions button,.admin-actions a{color:#fff;letter-spacing:.08em;cursor:pointer;background:#a94b3f;border:1px solid #913e33;border-radius:3px;height:48px;padding:0 16px;font-weight:900;text-decoration:none;transition:background .16s,box-shadow .16s,transform .16s}.login-form button:hover:not(:disabled){background:#8f3f35;box-shadow:0 8px 18px #75342b2e}.login-form button:active:not(:disabled){transform:translateY(1px)}.login-form button:focus-visible{outline-offset:3px;outline:3px solid #33565c4d}.login-form button:disabled{color:#756b60;cursor:wait;background:#c6b9aa;border-color:#bbaea0}.login-form .secondary,.admin-actions .secondary{color:#7c3b34;background:#fffdf8}.login-error{color:#8d2925;background:#f9eae6;border-left:3px solid #a02f2a;margin:0;padding:9px 11px;font-size:12px;font-weight:800}.login-privacy{color:#5f6e6d;border-top:1px solid #ddd2c2;align-items:flex-start;gap:10px;margin-top:24px;padding-top:18px;display:flex}.login-privacy svg{flex:none;width:20px;height:20px;margin-top:1px}.login-privacy p,.login-privacy b,.login-privacy span{margin:0;display:block}.login-privacy b{color:#4a5657;font-size:11.5px}.login-privacy span{color:#787166;margin-top:3px;font-size:10.5px;line-height:1.55}.profile-shell{align-items:start}.profile-card{width:min(1180px,100%)}.profile-body{background:linear-gradient(#f7f1e67a,#fffdf72e 260px);padding:clamp(24px,3.5vw,40px)}.profile-copy{max-width:1080px;margin:0 auto}.profile-hero{background:linear-gradient(118deg,#fffaf0 0%,#f7efe1 68%,#eee3d1 100%);border:1px solid #cdbfaa;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:clamp(24px,4vw,54px);padding:clamp(24px,3vw,36px);display:grid;position:relative;overflow:hidden;box-shadow:5px 6px #4f422d14}.profile-hero:after{content:"";pointer-events:none;border:1px solid #994d3d29;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-74px;right:245px;box-shadow:0 0 0 28px #994d3d0a,0 0 0 58px #33565c09}.profile-hero-copy{z-index:1;align-self:center;position:relative}.profile-hero-copy h1{margin:8px 0 10px;font-size:clamp(34px,4.4vw,48px)}.profile-hero-copy>p{color:#5e594f;max-width:640px;line-height:1.7}.profile-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.profile-tags span{color:#655d52;letter-spacing:.05em;background:#fffdf8b8;border:1px solid #c8b9a4;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.profile-identity{z-index:1;background:#fffdf8;border:1px solid #a9826e;flex-direction:column;justify-content:center;padding:22px;display:flex;position:relative;box-shadow:4px 4px #7e52401a}.profile-identity>span{color:#7b6f61;letter-spacing:.14em;font-size:11px;font-weight:850}.profile-identity>b{color:#943f34;letter-spacing:.12em;margin:8px 0 12px;font:800 30px/1 Georgia,Times New Roman,serif;display:block}.profile-identity>p{border-top:1px solid #e1d7c9;padding-top:12px;font-size:12px;line-height:1.65;color:#6c6459!important;margin:0!important}.profile-status{background:#edf4eb;border:1px solid #b9cdb7;border-left:4px solid #66866c;padding:12px 14px;font-size:13px;font-weight:700;color:#3f6548!important;margin-top:18px!important}.profile-form{gap:18px;margin-top:20px;display:grid}.profile-group{background:#fffdf8e6;border:1px solid #d2c6b5;min-width:0;margin:0;padding:20px clamp(18px,2.5vw,26px) 24px;box-shadow:0 8px 22px #483c2a0e}.profile-group legend{color:#343d42;align-items:center;gap:11px;padding:0 10px 0 0;font:800 17px/1.2 Georgia,Times New Roman,serif;display:flex}.profile-group legend>b{color:#944337;background:#fffaf0;border:1px solid #a95547;border-radius:50%;place-items:center;width:30px;height:30px;font:850 11px/1 system-ui,sans-serif;display:grid}.profile-group legend>span{align-items:baseline;gap:10px;display:flex}.profile-group legend small{color:#81786b;letter-spacing:0;text-transform:none;font:600 11px/1.4 system-ui,sans-serif}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;margin-top:8px;display:grid}.profile-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-form label{color:#444c4f;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:800;display:flex}.profile-form label>span{align-items:center;min-height:20px;display:flex}.profile-form label>span:after{content:"必填";color:#9a4a3d;letter-spacing:.04em;margin-left:7px;font-size:9px;font-weight:850}.profile-form .profile-wide{grid-column:1/-1}.profile-form label small{color:#777269;letter-spacing:0;text-transform:none;font-size:12px;font-weight:500;line-height:1.5}.profile-form input,.profile-form select{box-sizing:border-box;color:#27323a;background:#fffefb;border:1px solid #bfb29f;width:100%;height:48px;padding:0 13px;font:700 14px/1.2 inherit;transition:border-color .16s,box-shadow .16s,background .16s}.profile-form input::placeholder{color:#aaa193;font-weight:500}.profile-form input:hover,.profile-form select:hover{background:#fff;border-color:#957e6c}.profile-form input:focus,.profile-form select:focus{background:#fff;border-color:#48686c;outline:0;box-shadow:0 0 0 3px #33565c24}.profile-submit-row{background:linear-gradient(100deg,#f5ecdf,#fffaf1);border:1px solid #c9bca9;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 24px;padding:20px 22px;display:grid}.profile-submit-row>div b,.profile-submit-row>div small{display:block}.profile-submit-row>div b{color:#3c4549;font-size:14px}.profile-submit-row>div small{color:#766e62;letter-spacing:0;text-transform:none;margin-top:5px;font-size:11.5px;line-height:1.5}.profile-submit-row .login-error{grid-column:1/-1;margin:0}.profile-form button{color:#fff;letter-spacing:.06em;cursor:pointer;background:#a94b3f;border:1px solid #843b31;min-width:210px;height:48px;font-weight:900;transition:background .16s,box-shadow .16s;box-shadow:4px 4px #55302524}.profile-form button:hover{background:#8e4036;box-shadow:2px 2px #5530252e}.profile-form button:focus-visible{outline-offset:3px;outline:3px solid #33565c52}.profile-form button:disabled{cursor:wait;background:#cfc6b9;border-color:#c7bdb0}.consent-shell{align-items:start}.consent-copy h1{max-width:900px}.consent-text{background:#fffaf0;border:1px solid #d8cdbc;gap:15px;margin:24px 0 10px;padding:22px;display:grid}.consent-text h2{color:#7f3d34;letter-spacing:.04em;margin:0;font:800 15px/1.25 Georgia,Times New Roman,serif}.consent-text p{color:#4f5556;margin:0;line-height:1.85}.consent-form{border-top:1px solid #ded5c6;margin-top:18px;padding-top:18px}.consent-check{align-items:flex-start;gap:10px;line-height:1.7;color:#3e474c!important;letter-spacing:0!important;flex-direction:row!important;font-size:14px!important;font-weight:800!important;display:flex!important}.consent-check input{accent-color:#a94b3f;width:18px;height:18px;margin-top:2px}.consent-form button:disabled{color:#8b8376;cursor:not-allowed;background:#d8d1c5;border-color:#cfc8bc}.study-steps{background:#f7f2e8b8;border-bottom:1px solid #ded5c6;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:16px 34px;display:grid}.study-steps a,.study-steps span{color:#71695d;border:1px solid #0000;align-items:center;gap:9px;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.study-steps a:hover{color:#8f3f34;background:#fffdf8;border-color:#c8bba7}.study-steps .current{color:#8f3f34;background:#fffaf0;border-color:#b2675b}.study-steps b{border:1px solid;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;display:inline-grid}.auth-chip{z-index:60;background:#fffdf7f0;border:1px solid #c6baa7;border-radius:999px;align-items:center;padding:4px;font:800 11px/1 system-ui,sans-serif;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 30px #362d1c29}.auth-chip-inline{z-index:auto;height:29px;box-shadow:none;background:#fffdf7ad;flex:none;position:static;bottom:auto;right:auto}.pop-open .auth-chip,.comparison-open .auth-chip{display:none}.pop-open .auth-chip-inline,.comparison-open .auth-chip-inline{display:flex}.auth-chip span{color:#334047;padding:0 6px}.auth-chip a,.auth-chip button{color:#7d3d34;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;padding:4px 7px;font:800 10px/1 system-ui,sans-serif;text-decoration:none}.auth-chip-inline a,.auth-chip-inline button{border-radius:999px;padding:4px 8px}.auth-host .auth-chip-inline{background:#fffdf8;height:36px}.auth-host .auth-chip-inline button{min-height:34px;padding:0 12px;font-size:11px}.admin-shell{z-index:1;width:min(1360px,100vw - 56px);margin:0 auto;padding:30px 0 56px;position:relative}.admin-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-long-text{min-width:260px;max-width:420px;line-height:1.55;white-space:normal!important}.admin-stats{grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:18px;display:grid}.admin-stat{background:#fffdf8;border:1px solid #cec2b0;padding:16px}.admin-stat b{font:800 32px/1 Georgia,serif;display:block}.admin-stat span{color:#70695e;letter-spacing:.08em;margin-top:6px;font-size:12px;font-weight:800;display:block}.admin-panel{background:#fffdf8;border:1px solid #cbbfac;box-shadow:0 18px 42px #4d3d251f}.admin-section+.admin-section{margin-top:18px}.admin-toolbar{border-bottom:1px solid #ddd4c7;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.admin-toolbar h2{color:#343d42;margin:0 0 5px;font:800 18px/1.2 Georgia,Times New Roman,serif}.admin-toolbar p{color:#746d63;margin:0;font-size:12px}.admin-toolbar select{background:#fff;border:1px solid #bfb5a3;height:34px;padding:0 10px;font-weight:700}.admin-dataset-grid{background:#f5f0e7;border-bottom:1px solid #ddd4c7;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.admin-dataset-card{background:#fffdf8;border:1px solid #cfc3b2;flex-direction:column;align-items:flex-start;min-height:178px;padding:18px;display:flex;box-shadow:3px 4px #493a280f}.admin-dataset-card>span{color:#9a463a;letter-spacing:.14em;font-size:10px;font-weight:900}.admin-dataset-card>b{color:#303a3e;margin-top:8px;font:800 17px/1.3 Georgia,Times New Roman,serif}.admin-dataset-card>p{color:#6e675e;margin:9px 0 16px;font-size:12px;line-height:1.55}.admin-dataset-card>p strong{color:#315d5c;font-size:18px}.admin-dataset-card .admin-actions{margin-top:auto}.admin-dataset-card .admin-actions button{height:38px;padding:0 12px;font-size:11px}.admin-raw-maintenance{color:#6f685f;border-top:1px solid #ddd4c7;padding:12px 16px;font-size:12px}.admin-raw-maintenance summary{cursor:pointer;font-weight:850}.admin-raw-maintenance p{margin:10px 14px 0 0;display:inline-block}.admin-raw-maintenance button{color:#6f3d36;cursor:pointer;background:#fffdf8;border:1px solid #b8ad9d;height:34px;padding:0 12px;font-weight:800}.log-table-wrap{max-height:62vh;overflow:auto}.log-table{border-collapse:collapse;width:100%;font-size:12px}.log-table th,.log-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ece5da;padding:10px 12px}.log-table th{color:#6a5d4c;letter-spacing:.08em;text-transform:uppercase;background:#f7f2e8;font-size:11px;position:sticky;top:0}.log-table code{white-space:pre-wrap;word-break:break-word;color:#4b5358}.log-table .empty{text-align:center;color:#8a8172;padding:36px}.admin-score-details{min-width:238px}.admin-score-details summary{cursor:pointer;white-space:nowrap;color:#6e675e;align-items:center;gap:8px;list-style:none;display:flex}.admin-score-details summary::-webkit-details-marker{display:none}.admin-score-details summary:after{content:"＋";color:#9a463a;margin-left:auto;font-weight:900}.admin-score-details[open] summary:after{content:"−"}.admin-score-details summary strong{color:#303a3e;font-size:14px}.admin-score-details summary span{font-size:11px}.admin-score-list{gap:6px;margin-top:9px;display:grid}.admin-score-item{white-space:normal;background:#fff;border:1px solid #ddd4c7;padding:8px}.admin-score-item>div{align-items:flex-start;gap:7px;display:flex}.admin-score-item b{color:#6d756f;min-width:48px}.admin-score-item span{color:#343d42;min-width:220px;line-height:1.4}.admin-score-item small{color:#756e64;margin-top:5px;line-height:1.45;display:block}.admin-score-item.correct{background:#f3f8f4;border-left:4px solid #527c70}.admin-score-item.correct b{color:#315d52}.admin-score-item.wrong{background:#fff5f1;border-left:4px solid #b74c3d}.admin-score-item.wrong b{color:#a13d32}.admin-time-comparison{background:#f8f3ea;border-top:1px solid #ddd4c7}.admin-time-head{justify-content:space-between;align-items:flex-end;gap:18px;padding:18px 16px 12px;display:flex}.admin-time-head h3{color:#343d42;margin:5px 0;font:800 18px/1.2 Georgia,Times New Roman,serif}.admin-time-head p{color:#746d63;margin:0;font-size:12px}.admin-time-head>span{color:#315d5c;font-weight:850}.admin-time-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px;display:grid}.admin-time-summary article{background:#fffdf8;border:1px solid #d6cbbb;padding:13px}.admin-time-summary span,.admin-time-summary small{color:#756e64;font-size:11px;display:block}.admin-time-summary b{color:#303a3e;margin:6px 0 4px;font:800 20px/1 Georgia,Times New Roman,serif;display:block}.admin-time-table-wrap{border-top:1px solid #ddd4c7;max-height:340px}.time-faster{color:#315d52;font-weight:800}.time-slower{color:#a13d32;font-weight:800}.profile-table-wrap{max-height:420px}.profile-table th,.profile-table td{white-space:nowrap}.profile-table .profile-missing td{color:#928a7d;background:#fbf8f1}@media (width<=900px){.login-copy{grid-template-columns:minmax(0,1fr) minmax(330px,.92fr)}.login-visual-copy{padding:32px}.login-steps{grid-template-columns:1fr}.profile-grid-three{grid-template-columns:1fr 1fr}.profile-grid-three label:last-child{grid-column:1/-1}}@media (width<=760px){.login-page .auth-shell{align-items:start}.login-card{border-radius:7px}.login-copy{grid-template-columns:1fr;min-height:0}.login-visual{min-height:330px}.login-visual-copy{padding:28px}.login-visual-copy h1{font-size:38px}.login-visual-copy>p{font-size:13px}.login-steps{display:none}.login-panel{padding:30px 28px 34px}.login-card .auth-head{padding:16px 18px}.login-full-system-chip{min-height:44px;padding-inline:16px}}@media (width<=700px){.auth-shell{padding:12px}.auth-card{min-height:calc(100vh - 24px)}.auth-head,.auth-body{padding:22px}.study-steps{gap:5px;padding:12px}.study-steps a,.study-steps span{text-align:center;justify-content:center;padding:6px 4px;font-size:11px}.study-steps b{display:none}.auth-host .auth-chip-inline,.auth-host .auth-chip-inline button{height:44px;min-height:44px}.auth-copy h1,.admin-head h1{font-size:34px}.login-form input{font-size:16px}.profile-body{padding:16px}.profile-hero{grid-template-columns:1fr;gap:18px;padding:22px}.profile-hero:after{bottom:-90px;right:-55px}.profile-identity{padding:17px}.profile-group{padding:18px 16px 20px}.profile-group legend>span{flex-direction:column;align-items:flex-start;gap:3px}.profile-grid,.profile-grid-three{grid-template-columns:1fr}.profile-grid-three label:last-child,.profile-form .profile-wide{grid-column:auto}.profile-form input,.profile-form select{font-size:16px}.profile-submit-row{grid-template-columns:1fr;padding:18px}.profile-submit-row .login-error{grid-column:auto}.profile-form button{width:100%;min-width:0;margin-top:6px}.admin-shell{width:calc(100vw - 28px);padding-top:18px}.admin-head,.admin-toolbar{flex-direction:column;align-items:stretch}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-dataset-grid{grid-template-columns:1fr}.admin-time-head{flex-direction:column;align-items:flex-start}.admin-time-summary{grid-template-columns:1fr 1fr}}
