:root{color:oklch(23% .025 255);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--canvas:oklch(96% .006 255);--surface:oklch(99.8% .002 255);--surface-muted:oklch(97% .006 255);--ink:oklch(23% .025 255);--muted:oklch(51% .018 255);--line:oklch(90% .01 255);--accent:oklch(52% .18 255);--accent-hover:oklch(45% .18 255);--accent-soft:oklch(94% .032 255);--success:oklch(49% .16 145);--success-soft:oklch(96% .042 145);--danger:oklch(49% .17 27);--danger-soft:oklch(96% .027 27);--focus:oklch(69% .14 255);background:oklch(96% .006 255);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:oklch(86% .075 255)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--canvas);min-height:100vh}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1240px;height:64px;margin:auto;padding:0 32px;display:flex}.site-brand{white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:680;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);border-radius:5px;place-items:center;width:28px;height:28px;display:grid}.brand-mark span{border:2px solid var(--surface);border-top-color:#0000;border-right-color:#0000;width:11px;height:11px;transform:translate(1px,-1px)rotate(-45deg)}.header-link{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:570;text-decoration:none;display:inline-flex}.header-link:hover{color:var(--accent)}.candidate-main{max-width:1190px;margin:0 auto;padding:52px 32px 100px}.eyebrow,.section-kicker{color:var(--accent);margin:0 0 9px;font-size:12px;font-weight:720}.page-intro h1,.admin-topline h1{margin:0;font-size:32px;font-weight:700;line-height:1.25}.page-intro{margin-bottom:38px}.role-bar{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;display:grid;overflow:hidden}.role-tab{min-height:58px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:12px;padding:12px 20px 14px;font-size:15px;font-weight:620;transition:color .16s,background .16s;display:flex}.role-tab:hover{color:var(--ink);background:var(--surface-muted)}.role-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.role-tab:disabled{opacity:.6}.role-tab small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.candidate-grid{grid-template-columns:minmax(0,1fr) 224px;align-items:start;gap:56px;display:grid}.answer-form{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;padding:30px 32px}.role-heading{justify-content:space-between;align-items:start;gap:24px;padding-bottom:32px;display:flex}.role-heading h2,.identity-section h2{margin:0 0 8px;font-size:24px;line-height:1.35}.role-description{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.question-count{text-align:right;flex:none;padding-top:13px}.question-count strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:21px;line-height:1;display:block}.question-count strong span{color:var(--muted);font-size:14px;font-weight:500}.question-count small{color:var(--muted);font-size:12px}.question-block{border-top:1px solid var(--line);padding:30px 0 35px;scroll-margin-top:20px}.question-title{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;display:grid}.question-number{color:var(--accent);font-variant-numeric:tabular-nums;padding-top:3px;font-size:13px;font-weight:700}.question-title label,.question-title h4{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:640;line-height:1.8}.answer-area{margin:19px 0 0 50px}textarea,.form-field input,.search-control input,.filter-control input,.filter-control select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px}textarea{resize:vertical;width:100%;min-height:156px;padding:14px 16px;font-size:14px;line-height:1.7;display:block}textarea::placeholder,input::placeholder{color:oklch(64% .014 255)}textarea:hover,.form-field input:hover,.search-control:hover,.filter-control input:hover,.filter-control select:hover{border-color:oklch(72% .025 255)}textarea:focus,.form-field input:focus,.search-control:focus-within,.filter-control input:focus,.filter-control select:focus{border-color:var(--accent);outline:3px solid var(--accent-soft)}textarea[aria-invalid=true],input[aria-invalid=true]{border-color:var(--danger)}.answer-meta{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;min-height:18px;margin-top:7px;font-size:11px;display:flex}.field-error{color:var(--danger);font-size:12px;line-height:1.5}.identity-section{border-top:1px solid var(--line);margin-top:8px;padding-top:38px}.identity-section h2{margin-bottom:26px}.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-field{flex-direction:column;gap:8px;min-width:0;display:flex}.form-field label{color:var(--ink);font-size:13px;font-weight:650}.form-field label span{color:var(--danger)}.form-field input{width:100%;height:42px;padding:0 12px;font-size:14px}.privacy-notice{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;margin-top:30px;padding:18px 20px}.privacy-notice strong{font-size:13px}.privacy-notice p{max-width:72ch;color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.8}.consent-check{cursor:pointer;align-items:flex-start;gap:9px;margin:18px 0 5px;font-size:13px;line-height:1.5;display:flex}.consent-check input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:2px 0 0}.submit-row{align-items:center;gap:20px;margin-top:30px;display:flex}.submit-row>span{color:var(--muted);font-size:12px}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 15px;font-size:13px;font-weight:650;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button-primary{background:var(--accent);color:var(--surface)}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-primary:disabled{opacity:.55}.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.button-secondary:hover:not(:disabled),.button-subtle:hover:not(:disabled){background:var(--surface-muted);border-color:oklch(78% .025 255)}.button-subtle{color:var(--muted);border-color:var(--line);background:0 0}.button-subtle:disabled{opacity:.45}.button-danger-subtle{background:var(--surface);color:var(--danger);border-color:oklch(88% .04 27)}.button-danger-subtle:hover{background:var(--danger-soft)}.button-danger{background:var(--danger);color:var(--surface)}.button-danger:hover:not(:disabled){background:oklch(40% .14 27)}.text-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-size:12px;display:inline-flex}.text-button:hover:not(:disabled){color:var(--accent)}.text-button:disabled{opacity:.5}.icon-button{color:inherit;background:0 0;border:0;place-items:center;padding:3px;display:inline-grid}.notice{border:1px solid;border-radius:6px;align-items:center;gap:10px;margin:15px 0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.notice-error{color:var(--danger);background:var(--danger-soft);border-color:oklch(87% .05 27)}.notice-success{color:var(--success);background:var(--success-soft);border-color:oklch(83% .07 145)}.notice .icon-button{margin-left:auto}.progress-aside{position:sticky;top:26px}.progress-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:20px}.progress-head{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.progress-head span{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.progress-track{background:var(--surface-muted);border-radius:5px;height:5px;margin:14px 0 19px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .18s;display:block}.progress-panel nav{gap:4px;display:grid}.progress-panel nav a{min-height:32px;color:var(--muted);align-items:center;gap:11px;font-size:12px;text-decoration:none;display:flex}.progress-panel nav a:hover{color:var(--accent)}.progress-panel nav .complete-icon{color:var(--success)}.draft-actions{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.clear-confirm{flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;display:flex}.clear-confirm span{flex-basis:100%}.clear-confirm button{color:var(--danger);background:0 0;border:0;padding:3px 0;font-size:11px}.clear-confirm button:last-child{color:var(--muted)}.draft-hint{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:7px;margin-top:11px;padding-top:13px;font-size:11px;line-height:1.5;display:flex}.draft-hint svg{flex:none;margin-top:1px}.candidate-skeleton,.detail-skeleton{max-width:760px}.skeleton{background:linear-gradient(90deg, var(--surface-muted) 20%, oklch(92% .008 255) 50%, var(--surface-muted) 80%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton;display:block}.skeleton-kicker{width:90px;height:14px;margin-bottom:14px}.skeleton-title{width:min(280px,60%);height:34px;margin-bottom:35px}.skeleton-tabs{width:100%;height:56px;margin-bottom:36px}.skeleton-block{width:100%;height:190px;margin-bottom:30px}@keyframes skeleton{to{background-position-x:-200%}}.state-panel{text-align:center;max-width:520px;color:var(--muted);margin:80px auto}.state-panel svg{color:var(--danger)}.state-panel h1,.state-panel h2{color:var(--ink);margin:16px 0 8px;font-size:22px}.state-panel p{font-size:14px;line-height:1.7}.state-panel .button{margin-top:16px}.receipt-panel{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:8px;max-width:630px;margin:85px auto 0;padding:48px 30px}.receipt-icon{width:62px;height:62px;color:var(--success);background:var(--success-soft);border-radius:50%;place-items:center;margin-bottom:23px;display:inline-grid}.receipt-panel h1{margin:0 0 14px;font-size:28px}.receipt-panel p:not(.eyebrow){color:var(--muted);font-size:14px}.receipt-panel .receipt-number{overflow-wrap:anywhere;font-size:12px!important}.receipt-actions{margin-top:30px}.admin-shell{background:var(--canvas)}.admin-main{max-width:1280px;margin:auto;padding:43px 32px 90px}.admin-topline{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.admin-topline h1{font-size:28px}.admin-loading{max-width:880px;padding-top:15px}.login-main{align-items:center;min-height:calc(100vh - 65px);padding:42px 28px 90px;display:grid}.login-layout{grid-template-columns:minmax(0,1fr) 410px;align-items:center;gap:90px;width:min(970px,100%);margin:0 auto;display:grid}.login-symbol{width:48px;height:48px;color:var(--accent);border:1px solid oklch(80% .05 255);border-radius:7px;place-items:center;margin-bottom:50px;display:grid}.login-aside h1{margin:0;font-size:34px}.login-aside>p:last-child{color:var(--muted);margin:18px 0 0;font-size:14px}.login-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:22px;padding:34px;display:grid}.login-form h2{margin:0 0 4px;font-size:18px}.login-form .notice{margin:0}.login-button{width:100%;margin-top:2px}.list-section{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0 22px;overflow:hidden}.list-toolbar{justify-content:space-between;align-items:center;gap:18px;min-height:82px;display:flex}.list-count{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.list-count strong{font-variant-numeric:tabular-nums;font-size:23px}.list-count span{color:var(--muted);font-size:13px}.toolbar-actions{gap:9px;display:flex}.filter-bar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:12px;padding:18px 0 20px;display:flex}.search-control{border:1px solid var(--line);background:var(--surface);width:275px;height:39px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 11px;display:flex}.search-control input{width:100%;height:100%;color:var(--ink);background:0 0;border:0;border-radius:0;outline:0;padding:0;font-size:13px}.filter-control{color:var(--muted);gap:5px;font-size:11px;display:grid}.filter-control select,.filter-control input{min-width:143px;height:39px;color:var(--ink);padding:0 10px;font-size:13px}.date-control input{min-width:139px}.clear-filters{min-height:39px;padding:0 2px}.table-wrap{border-top:1px solid var(--line)}.submission-table{border-collapse:collapse;text-align:left;width:100%}.submission-table thead{background:var(--surface-muted)}.submission-table th{height:43px;color:var(--muted);white-space:nowrap;padding:0 18px;font-size:11px;font-weight:650}.submission-table td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:16px 18px;font-size:13px;line-height:1.5}.submission-table tbody tr:hover{background:var(--surface-muted)}.submission-table .row-name{color:var(--ink);font-weight:670;text-decoration:none}.submission-table .row-name:hover{color:var(--accent);text-decoration:underline}.contact-cell{color:var(--muted)}.row-action{text-align:right;width:46px}.row-action a{width:24px;height:24px;color:var(--muted);place-items:center;display:inline-grid}.row-action a:hover{color:var(--accent)}.table-skeleton td{padding:19px 18px}.table-skeleton .skeleton{width:85%;height:15px}.empty-state{text-align:center;color:var(--muted);padding:83px 18px 95px}.empty-state svg{color:oklch(68% .07 255)}.empty-state h2{color:var(--ink);margin:15px 0 6px;font-size:16px}.empty-state p{margin:0;font-size:12px}.pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding:22px 0;font-size:12px;display:flex}.pagination>div{gap:8px;display:flex}.detail-section{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-width:970px;padding:26px 30px 8px}.back-link{color:var(--muted);align-items:center;gap:7px;margin:0 0 27px;font-size:13px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.detail-header{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 0;display:flex}.detail-header h2{margin:0 0 15px;font-size:25px}.role-tag{background:var(--accent-soft);color:var(--accent-hover);border-radius:4px;padding:5px 9px;font-size:12px;font-weight:650;display:inline-block}.detail-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px 40px;margin:0 0 32px;padding:21px 0 28px;display:grid}.detail-meta div{min-width:0}.detail-meta dt{color:var(--muted);margin-bottom:6px;font-size:11px}.detail-meta dd{overflow-wrap:anywhere;margin:0;font-size:13px}.detail-meta .mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.delete-confirm{background:var(--danger-soft);border:1px solid oklch(86% .05 27);border-radius:6px;justify-content:space-between;align-items:center;gap:20px;margin:0 0 25px;padding:17px 19px;display:flex}.delete-confirm strong{font-size:13px}.delete-confirm p{color:var(--muted);margin:4px 0 0;font-size:12px}.delete-confirm>div:last-child{gap:8px;display:flex}.detail-answers-head{justify-content:space-between;align-items:baseline;gap:20px;padding:10px 0 15px;display:flex}.detail-answers-head h3{margin:0;font-size:19px}.detail-answers-head span{color:var(--muted);font-size:12px}.detail-answer{border-top:1px solid var(--line);padding:24px 0 30px}.detail-answer .question-title h4{font-size:15px;line-height:1.75}.answer-text{white-space:pre-wrap;overflow-wrap:anywhere;color:oklch(34% .016 255);margin:18px 0 0 50px;font-size:14px;line-height:1.85}.compact-state{margin-top:30px}@media (width<=900px){.candidate-grid{grid-template-columns:minmax(0,1fr);gap:28px}.progress-aside{position:static}.progress-panel{grid-template-columns:1fr auto;gap:0 24px;display:grid}.progress-head,.progress-track{grid-column:1/3}.progress-panel nav{grid-column:1/3;grid-template-columns:repeat(5,1fr)}.draft-actions,.draft-hint{grid-column:1/3}.login-layout{grid-template-columns:minmax(0,1fr) 390px;gap:45px}}@media (width<=640px){.site-header-inner{height:58px;padding:0 18px}.candidate-main{padding:32px 18px 70px}.answer-form{padding:22px 18px}.page-intro{margin-bottom:25px}.page-intro h1{font-size:26px}.role-bar{margin-bottom:31px}.role-tab{text-align:center;flex-direction:column;gap:2px;min-height:66px;padding:8px 3px 10px;font-size:13px}.role-tab small{font-size:10px}.role-heading{padding-bottom:23px}.role-heading h2{font-size:21px}.question-count{padding-top:18px}.question-block{padding:23px 0 26px}.question-title{grid-template-columns:27px minmax(0,1fr);gap:9px}.question-title label{font-size:14px;line-height:1.75}.answer-area,.answer-text{margin-left:36px}textarea{min-height:150px;font-size:14px}.identity-grid{grid-template-columns:1fr;gap:18px}.submit-row{flex-direction:column;align-items:stretch;gap:9px}.submit-row>span{text-align:center}.progress-panel nav{gap:4px}.progress-panel nav a{flex-direction:column;gap:2px;font-size:10px}.receipt-panel{margin-top:56px}.receipt-panel h1{font-size:23px}.admin-main{padding:30px 18px 75px}.list-section{padding:0 14px}.detail-section{padding:20px 18px 6px}.admin-topline{align-items:flex-start}.admin-topline h1{font-size:24px}.admin-topline .button{padding:0 10px}.login-main{align-items:start;padding:38px 18px 70px}.login-layout{display:block}.login-symbol{display:none}.login-aside h1{font-size:25px}.login-aside>p:last-child{margin:9px 0 25px}.login-form{gap:19px;padding:24px 20px}.list-toolbar{min-height:76px}.toolbar-actions{gap:5px}.toolbar-actions .button{padding:0 9px}.toolbar-actions .button span{display:none}.filter-bar{gap:10px}.search-control{width:100%}.filter-control{flex:130px;min-width:0}.filter-control select,.filter-control input{width:100%;min-width:0}.clear-filters{flex-basis:100%;min-height:23px}.submission-table thead{display:none}.submission-table,.submission-table tbody,.submission-table tr,.submission-table td{width:100%;display:block}.submission-table tr{border-bottom:1px solid var(--line);padding:14px 28px 14px 0;position:relative}.submission-table td{border:0;padding:3px 0;font-size:12px}.submission-table td:first-child{margin-bottom:4px;font-size:15px}.submission-table td:not(:first-child,.row-action):before{content:attr(data-label) "：";color:var(--muted)}.submission-table .row-action{width:auto;position:absolute;top:19px;right:0}.table-skeleton tr{padding:14px 0}.table-skeleton td{padding:0}.table-skeleton .skeleton{height:65px}.pagination{align-items:start}.pagination>div{flex-wrap:wrap;justify-content:flex-end}.pagination .button{padding:0 8px}.detail-header{flex-direction:column}.detail-header .button{align-self:flex-start}.detail-meta{grid-template-columns:1fr;gap:17px}.delete-confirm{flex-direction:column;align-items:stretch}.delete-confirm>div:last-child{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
