/* Interaction and project management refinement. */
[hidden]{display:none!important}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.login-card{background:rgba(255,255,255,.21);backdrop-filter:blur(13px) saturate(1.2);-webkit-backdrop-filter:blur(13px) saturate(1.2);border-color:#ffffffb8;box-shadow:0 20px 65px #17355725}
.login-card input{background:#ffffff99;border-color:#ffffffb0}
.login-links{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:15px}
.login-links button{color:#243f6c;padding:5px 0;border-bottom:1px solid #344f7638}
.login-scene-tools{display:flex;align-items:center;gap:20px;pointer-events:auto}
#pause-campus{font:14px SimHei,'黑体',sans-serif;color:#2d4667;background:#ffffff8a;border:1px solid #ffffffa0;border-radius:9px;padding:9px 13px;backdrop-filter:blur(8px)}
.project-search-tools{display:flex;gap:12px;align-items:center}.project-search-tools select{width:132px;min-height:44px}
.project-detail-header{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px 34px;margin-top:20px;position:relative;overflow:hidden}
.project-detail-header:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}
.project-detail-header h1{font-size:32px;line-height:1.4;margin:22px 0 14px;letter-spacing:-.7px}.project-detail-header>p{font-size:16px;color:var(--muted);line-height:1.9;margin:0 0 20px;max-width:900px;white-space:pre-wrap}
.project-detail-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--muted);font-size:14px}.project-detail-actions{margin-top:24px;gap:12px}
.project-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.project-overview button{text-align:left;display:flex;align-items:center;gap:19px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 25px;transition:border-color .2s}
.project-overview button:hover{border-color:var(--accent)}.project-overview b{font:600 30px Arial,sans-serif}.project-overview b small{font-size:14px;color:var(--muted);font-weight:400}.project-overview span{font-size:15px;color:var(--muted)}
.student-management-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:25px}.student-management-bar h2{margin:0}.student-management-bar .row{gap:10px}
.grading-toolbar{display:flex;align-items:center;gap:25px;flex-wrap:wrap;background:var(--surface-2);border-radius:12px;padding:18px;margin-bottom:20px}.stage-select{display:flex;align-items:center;gap:12px;flex:1;min-width:250px}.stage-select label{margin:0;white-space:nowrap;font-size:15px}.stage-select select{background:var(--surface);min-height:42px}.grade-batch{display:flex;align-items:center;gap:8px}.grade-batch>span{font-size:14px;margin-right:7px;color:var(--muted)}.grading-toolbar .search{max-width:210px;min-height:42px;background:var(--surface)}
.students-panel{padding:26px}.students-panel .table-wrap{margin:0 -7px}.students-panel table{min-width:860px}.grade-btn{min-width:34px;min-height:34px;cursor:pointer}.grade-btn:hover{border-color:var(--accent);color:var(--accent)}.grade-btn.active:hover{color:#fff}
.checkin-live{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:19px 22px;background:var(--accent-soft);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.checkin-live>div{display:flex;gap:22px;align-items:center}.checkin-live b{font-size:15px;font-weight:400}.checkin-live strong{font:600 25px Arial,sans-serif;letter-spacing:4px;color:var(--accent)}.checkin-live>span{font-size:14px;color:var(--muted)}
.stage-empty-inline{display:flex;align-items:center;gap:15px;margin-bottom:20px;color:var(--muted)}.stage-list{display:grid;gap:17px}.stage-card{display:flex;gap:22px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.stage-number{font:500 30px Arial,sans-serif;letter-spacing:-1px;color:var(--accent);padding-top:2px;width:45px;flex-shrink:0}.stage-content{flex:1;min-width:0}.stage-content h3{font-size:21px;line-height:1.5;margin:0}.stage-content p{font-size:16px;color:var(--muted);line-height:1.8;margin:14px 0;white-space:pre-wrap}.stage-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;color:var(--muted)}.stage-actions{gap:12px;margin-top:22px}
.item-visual{width:100%;border:0;padding:0;cursor:pointer}.try-tag{position:absolute;right:12px;bottom:12px;background:var(--surface);border:1px solid var(--line);padding:6px 10px;border-radius:7px;font-size:13px;color:var(--text);opacity:0;transform:translateY(3px);transition:.2s}.item-visual:hover .try-tag,.item-visual:focus-visible .try-tag{opacity:1;transform:none}.try-on-stage{height:320px}.try-on-meta{display:flex;align-items:center;justify-content:space-between;margin-top:23px;color:var(--muted);font-size:16px}.try-on-meta strong{color:var(--accent);font-weight:400}.preview-loading{opacity:.25}.preview-failed{font-size:12px}
.reset-panel{grid-column:1/-1}.reset-request{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.reset-request b{font-size:18px;margin-right:16px}.reset-request span,.reset-request small,.reset-request p{color:var(--muted);font-size:14px}.reset-request p{margin:9px 0;line-height:1.7}.reset-target{background:var(--surface-2);border-radius:12px;padding:20px;display:flex;gap:20px;margin-bottom:25px}.confirm-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.8}.confirm-check input{width:18px;min-height:18px;flex-shrink:0;margin-top:4px;accent-color:var(--accent)}.request-success{text-align:center;padding:12px 10px}.request-success>svg{width:50px;height:50px;padding:12px;box-sizing:border-box;background:var(--accent-soft);color:var(--accent);border-radius:50%;margin-bottom:18px}.request-success p{color:var(--muted);font-size:16px;line-height:1.9;margin:20px 0 25px}
@supports not (backdrop-filter:blur(1px)){.login-card{background:#ffffffbf}.modal-shade{background:#141d3d99}}
@media(max-width:1000px){.project-overview button{gap:12px;padding:20px}.grading-toolbar{gap:15px}.stage-select{min-width:220px}}
@media(max-width:800px){.login-card{background:#ffffff40;padding:26px}.login-card h2{margin-bottom:23px}.login-links{margin-top:20px}.login-scene-tools{gap:12px}#pause-campus{font-size:12px;padding:7px 9px}.login-foot{left:20px;right:20px}.project-detail-header{padding:24px}.project-detail-header h1{font-size:27px}.project-detail-meta{font-size:13px}.project-overview{gap:10px}.project-overview button{padding:17px 14px;display:block}.project-overview b{display:block;font-size:26px;margin-bottom:8px}.project-overview span{font-size:13px}.students-panel{padding:20px}.student-management-bar{gap:18px}.student-management-bar .row{width:100%}.student-management-bar .btn{padding:9px 12px;font-size:13px}.stage-select{width:100%;flex:none}.grading-toolbar .search{max-width:100%}.grade-batch{flex:1}.stage-card{gap:14px;padding:21px}.stage-number{font-size:25px;width:30px}.stage-content h3{font-size:19px}.stage-meta{font-size:13px;gap:10px}.stage-content p{font-size:15px}.try-tag{opacity:1;transform:none;font-size:11px;padding:4px 8px}.project-search-tools{width:100%}.project-search-tools .search{flex:1;min-width:0}.project-search-tools select{width:108px;flex-shrink:0}.reset-request{gap:12px}.reset-request b{font-size:16px}.reset-request .btn{font-size:13px;white-space:nowrap}.login{min-height:860px}}
