:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans SC",sans-serif;color:#172333;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}header{background:#fff;border-bottom:1px solid #e5eaf1;padding:20px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;color:#174bb5;font-size:18px}.tag{font-size:12px;color:#64748b;background:#eef3ff;padding:6px 10px;border-radius:99px}main{max-width:1180px;margin:36px auto;padding:0 24px}.panel{background:#fff;border:1px solid #e4e9f1;border-radius:18px;box-shadow:0 10px 30px #1a34720a;padding:28px;margin-bottom:20px}h1{font-size:30px;line-height:1.3;margin:0 0 12px}h2{font-size:20px;margin:0 0 16px}h3{font-size:15px;margin:0 0 8px}p{color:#5e6b7d;line-height:1.7}small,.muted{color:#718096}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.btn{border:0;border-radius:10px;background:#2054c9;color:white;padding:11px 18px;font-weight:700}.btn:hover{background:#173fa1}.btn.secondary{background:#eaf0ff;color:#2349a2}.btn.ghost{background:#f3f5f9;color:#34445b}.btn:disabled{opacity:.45;cursor:not-allowed}.notice{padding:12px 14px;border-radius:10px;background:#eef5ff;color:#1b4a97;margin:16px 0}.error{background:#fff0f0;color:#ad3434}.success{background:#eaf8ef;color:#207648}.progress{height:8px;background:#e9edf5;border-radius:20px;overflow:hidden}.progress>div{height:100%;background:#3169e4;transition:width .2s}.sort-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}.bank{position:sticky;top:12px;align-self:start;max-height:85vh;overflow:auto}.cards{display:grid;gap:8px}.card{border:1px solid #dbe3ee;background:#fff;border-radius:10px;padding:10px 11px;line-height:1.5;cursor:grab;font-size:14px}.card:hover{border-color:#7197e4}.card.selected{border-color:#245ad0;box-shadow:0 0 0 2px #bcd0ff}.card .num{display:inline-block;color:#2556be;font-weight:800;margin-right:7px}.slots{display:grid;grid-template-columns:repeat(9,minmax(120px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}.column{background:#f3f6fb;border:1px solid #e0e8f2;border-radius:12px;padding:9px;min-height:200px}.column.over{background:#e6efff;border-color:#6c97e9}.column h3{text-align:center;color:#36506d;margin:2px 0 8px}.column .hint{text-align:center;font-size:11px;color:#8997a9;margin-bottom:9px}.column .cards{min-height:72px}.column .card{font-size:12px;padding:8px}.column .card button{float:right;background:transparent;border:0;color:#9aa9bd;font-weight:bold}.field{margin:14px 0}.field label{display:block;font-weight:650;margin-bottom:8px}.field input,.field textarea{width:100%;border:1px solid #d8e1ed;border-radius:9px;padding:10px 12px;background:white}.field textarea{min-height:100px;resize:vertical}.check{display:flex;align-items:flex-start;gap:9px;line-height:1.6;color:#39495f}.check input{margin-top:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stat{background:#f5f8ff;border-radius:12px;padding:18px}.stat strong{font-size:28px;color:#1e50bd;display:block}.stat span{font-size:13px;color:#697b91}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #e9edf3;padding:11px 8px}th{color:#687990;font-size:12px}.hide{display:none!important}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:16px 0}@media(max-width:850px){.sort-layout,.grid2{grid-template-columns:1fr}.bank{position:static;max-height:300px}.slots{grid-template-columns:repeat(9,150px)}main{padding:0 14px;margin:18px auto}.panel{padding:18px}h1{font-size:24px}}
/* Participant sorting workspace */
:root{--ink:#16243b;--blue:#255bd3;--line:#dfe7f1;--soft:#f6f8fc}
body{background:#f4f7fb;color:var(--ink)}
main{max-width:1580px;margin:28px auto;padding:0 28px}
header{padding:18px max(28px,calc((100vw - 1524px)/2));box-shadow:0 1px 8px #18345b08}
.panel{box-shadow:0 6px 24px #1d345b08;border-color:#e5eaf2}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:11px;color:#396ace}
.welcome{max-width:800px;margin:70px auto;padding:48px}
.welcome h1{font-size:38px;margin:15px 0}
.lead{font-size:17px;color:#4b5d76}
.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.welcome-steps div{background:#f3f7ff;border:1px solid #e3ebfa;border-radius:12px;padding:16px;display:grid;gap:8px}
.welcome-steps b{color:#2b63d8;font-size:13px}.welcome-steps span{font-size:13px;color:#41546d}
.consent{background:#fafbfe;border:1px solid var(--line);padding:16px;border-radius:10px}
.sort-top h1{margin:8px 0 4px;font-size:27px}.sort-top p{margin:0}.sort-top{padding:24px 28px}
.save-pill{color:#286547;background:#e9f7ee;border-radius:99px;padding:8px 13px;font-size:12px;font-weight:700;white-space:nowrap}
.progress-row{display:flex;justify-content:space-between;align-items:center;color:#5a6e88;font-size:13px;margin:23px 0 9px}
.progress-row strong{color:#255bd3;font-size:24px}.progress-row strong span{font-size:13px;font-weight:500;color:#6c7c90}
.participant-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}
.statement-panel{position:sticky;top:16px;padding:22px;max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.statement-panel h2,.board-panel h2,.response-panel h2{margin:0;font-size:19px}
.count-badge{display:inline-grid;place-items:center;min-width:26px;height:26px;background:#e9f0ff;color:#2d5bc1;border-radius:99px;font-size:13px;margin-left:5px}
.search-field{margin:16px 0 12px}.search-field input{background:#f9fbfe}
.statement-list{display:grid;gap:9px;overflow:auto;min-height:100px;padding:2px 3px 8px 1px}
.q-card{display:flex;align-items:flex-start;gap:9px;border:1px solid #dbe4f1;background:#fff;border-radius:11px;padding:12px;line-height:1.55;font-size:13px;cursor:grab;user-select:none;box-shadow:0 2px 6px #213a6d08;transition:border-color .15s,box-shadow .15s,transform .15s}
.q-card:hover{border-color:#91afea;box-shadow:0 5px 14px #2859ae16;transform:translateY(-1px)}
.q-card:focus-visible{outline:3px solid #a9c3ff;outline-offset:2px}
.q-card.selected{border-color:#2c62d7;box-shadow:0 0 0 2px #abc5ff;background:#f8fbff}
.q-card.dragging{opacity:.5}.q-number{flex:none;display:inline-grid;place-items:center;min-width:29px;height:25px;background:#eaf1ff;color:#2458c1;border-radius:6px;font-size:11px;font-weight:800}
.q-text{flex:1;min-width:0}.drag-mark{color:#a4b2c6;font-size:17px;line-height:1}.remove-card{border:0;background:#edf1f7;color:#6b7b91;width:23px;height:23px;border-radius:6px;line-height:1;font-size:17px;flex:none;padding:0}.remove-card:hover{background:#ffe9e8;color:#a33}
.bank-empty{padding:35px 12px;text-align:center;color:#8390a3;font-size:13px}
.board-panel{padding:22px}.board-panel p,.response-panel p{margin:5px 0 0;font-size:13px}.board-tip{font-size:11px;color:#71829b;background:#f3f6fb;border-radius:99px;padding:7px 10px}
.score-scale{display:flex;justify-content:space-between;margin:22px 0 8px;font-size:11px;font-weight:700;color:#587298}.score-scale span:first-child{color:#ba6464}.score-scale span:last-child{color:#2f76b5}
.board-scroll{overflow-x:auto;padding-bottom:12px;scrollbar-color:#b8c9e2 #eef2f8;scrollbar-width:thin}
.score-board{display:grid;grid-template-columns:repeat(var(--columns),minmax(126px,1fr));gap:8px;min-width:max-content}
.score-column{border:1px solid #dce5f0;background:#f7f9fc;border-radius:12px;min-width:126px;min-height:390px;overflow:hidden;transition:background .15s,border-color .15s;cursor:pointer}
.score-column[data-score^="-"]{background:#fbf8f8}.score-column[data-score="0"]{background:#f9fafc}.score-column:not([data-score^="-"]):not([data-score="0"]){background:#f6fafc}
.score-column.drop-over{background:#e9f2ff!important;border-color:#5384e8;box-shadow:inset 0 0 0 2px #9abaff}
.score-column.full .score-head{opacity:.8}
.score-head{position:sticky;top:0;z-index:1;display:grid;justify-items:center;gap:1px;padding:12px 6px 10px;border-bottom:1px solid #e0e7f1;background:#ffffffd9;backdrop-filter:blur(8px)}
.score-number{font-size:22px;font-weight:800;color:#315a9c;line-height:1}.score-column[data-score^="-"] .score-number{color:#a45a5a}.score-column:not([data-score^="-"]):not([data-score="0"]) .score-number{color:#246eaa}
.score-name{font-size:10px;color:#7a8aa1}.score-count{font-size:10px;font-weight:800;color:#6b7f9e}
.score-body{display:grid;gap:7px;padding:8px;align-content:start}.score-body .q-card{font-size:11px;padding:8px;gap:5px;word-break:break-word;cursor:grab}.score-body .q-number{height:20px;min-width:22px;font-size:9px}.score-body .remove-card{height:18px;width:18px;font-size:14px}
.empty-slot{border:1px dashed #cbd7e7;background:#ffffff8a;border-radius:8px;min-height:47px;display:grid;place-items:center;color:#b0bfd1;font-size:10px;text-align:center;padding:5px}
.board-help{margin-top:10px;color:#6c7e96;font-size:12px}.response-panel{padding:24px}.response-panel .field{max-width:820px}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.done{text-align:center;padding:75px 28px;max-width:650px;margin:70px auto}.done-icon{display:grid;place-items:center;background:#e6f5ec;color:#26925a;border-radius:50%;height:70px;width:70px;font-size:38px;margin:0 auto 20px}
@media(max-width:1000px){.participant-layout{grid-template-columns:1fr}.statement-panel{position:static;max-height:340px}.score-board{grid-template-columns:repeat(var(--columns),126px)}}
@media(max-width:640px){main{padding:0 12px;margin:14px auto}.welcome{margin:16px auto;padding:24px}.welcome h1{font-size:28px}.welcome-steps{grid-template-columns:1fr}.welcome-steps div{grid-template-columns:36px 1fr;align-items:center}.sort-top,.board-panel,.response-panel,.statement-panel{padding:17px}.sort-top h1{font-size:22px}.score-column{min-height:310px}.submit-row{align-items:stretch;flex-direction:column}.board-tip{display:none}}
.preview-banner{background:#fff4db;border-bottom:1px solid #f0d495;color:#755113;text-align:center;padding:10px 18px;font-size:13px;font-weight:650}
.preview-banner[hidden]{display:none}
.profile-section{margin:28px 0;padding:22px;background:#f7f9fd;border:1px solid #e2e9f4;border-radius:13px}
.profile-section h2{margin-bottom:4px}.profile-section p{margin:0 0 16px;font-size:13px}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.field select{width:100%;border:1px solid #d8e1ed;border-radius:9px;padding:10px 12px;background:white;color:#172333}
.download-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}
@media(max-width:640px){.profile-grid{grid-template-columns:1fr}.profile-section{padding:16px}}
.site-footer{text-align:center;padding:22px 16px 30px;color:#718096;font-size:13px}.site-footer a{color:#607087;text-decoration:none}.site-footer a:hover{text-decoration:underline;color:#255bd3}
