@charset "UTF-8";
:root{--blue:#149cea;--ink:#29445e;--muted:#8aa2b6;--line:#e1edf7}*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:#f2f7fc}button,input,select{font:inherit}button,.button{display:inline-block;border:1px solid #d7e5f0;background:#fff;border-radius:8px;color:#55738c;padding:10px 15px;cursor:pointer;text-decoration:none;transition:background .15s}button:hover,.button:hover{background:#edf8ff;border-color:#89cdf5}button.primary{color:white;background:#149cea;border-color:#149cea}button.primary:hover{background:#078bd6}button.danger{color:#ce7484;background:#fff8fa;border-color:#f3dce2}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #8cd7ff;outline-offset:3px}input,select{width:100%;min-width:0;padding:10px 12px;border:1px solid #d6e6f1;border-radius:7px;background:#fbfdff;color:var(--ink);outline:none}input:focus,select:focus{border-color:#4eb8f4;box-shadow:0 0 0 3px #149cea12}[hidden]{display:none!important}.board{min-height:100vh;background:linear-gradient(130deg,#eff9ff 0%,#f7fbff 45%,#e6f4ff 100%)}.background{position:fixed;inset:0;pointer-events:none;overflow:hidden;background-image:linear-gradient(#9cc9e711 1px,transparent 1px),linear-gradient(90deg,#9cc9e711 1px,transparent 1px);background-size:55px 55px}.background:after{content:"";position:absolute;width:700px;height:700px;right:-320px;top:-300px;border:1px solid #9dcef13b;border-radius:50%;box-shadow:0 0 0 70px #ffffff30,0 0 0 71px #9dcef12e}.background-arona{position:absolute;width:350px;right:4vw;bottom:-40px;opacity:.16;filter:saturate(.85)}.halo{position:absolute;border:5px solid #5bbdf32c;border-radius:50%;transform:rotate(-18deg)}.halo-one{width:150px;height:32px;left:5vw;top:22vh}.halo-two{width:220px;height:45px;right:5vw;bottom:32vh;border-width:7px;opacity:.6}.spark{position:absolute;color:#8accf4;font-weight:200}.spark-one{font-size:46px;left:8vw;bottom:12vh;opacity:.5}.spark-two{font-size:30px;right:13vw;top:20vh;opacity:.5}.board-main{position:relative;width:min(920px,calc(100% - 64px));margin:0 auto;padding:72px 0 80px}.board-heading{display:flex;justify-content:space-between;align-items:center;margin:0 3px 30px}.board-heading>div{display:flex;align-items:baseline;gap:20px}h1{font-size:31px;margin:0;font-weight:750;letter-spacing:2px}.heading-spark{color:#65bff2;font-size:19px;display:inline-block;margin-left:12px;vertical-align:middle}.board-heading #queue-total{color:#8ba7bd;font-size:14px;letter-spacing:1px}.connection-dot{width:8px;height:8px;border-radius:50%;background:#e4b169;box-shadow:0 0 0 5px #e4b16912;margin-right:9px}.connection-dot.connected{background:#42c2aa;box-shadow:0 0 0 5px #42c2aa14}.queue-list{display:grid;gap:13px}.queue-row{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#ffffffed;border:1px solid #fff;border-radius:13px;padding:23px 29px;box-shadow:0 4px 20px #4581ad06;animation:arrive .25s ease-out;min-width:0}.person{display:flex;align-items:center;gap:21px;min-width:0}.number{width:41px;flex-shrink:0;font-size:25px;letter-spacing:1px;font-style:italic;font-weight:750;color:#a6bdd0}.queue-row:first-child .number{color:#43abe9}.avatar{width:54px;height:54px;display:grid;place-items:center;flex-shrink:0;position:relative;overflow:hidden;border-radius:50%;background:linear-gradient(140deg,#dff1ff,#eef7ff);color:#58a8d8;font-size:22px;font-weight:600;box-shadow:0 0 0 3px #f1f9ff}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.person-name{font-size:19px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.person-info{min-width:0}.joined{font-size:12px;color:#a7baca;white-space:nowrap;font-variant-numeric:tabular-nums}.serving-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 29px;border:1px solid #bce4fb;border-radius:13px;background:linear-gradient(105deg,#dff3ff,#edf9ff);margin-bottom:19px;box-shadow:0 5px 25px #149cea08;animation:arrive .25s ease-out}.serving-card .avatar{background:#fff;box-shadow:0 0 0 3px #ffffff70}.serving-card .person{gap:21px;flex:1}.serving-card .number{color:#299fe4}.serving-label{font-size:11px;letter-spacing:1px;color:#51aadd;margin-bottom:7px}.serving-card .person-name{font-size:21px}.serving-symbol{color:#5eb9ed;font-size:28px;font-weight:300;padding:0 8px}.empty{text-align:center;padding:105px 20px;color:#9eb7ca}.empty>span{font-size:47px;display:block;color:#a2d5f5;margin-bottom:25px;font-weight:200}.empty p{font-size:17px;letter-spacing:2px;font-weight:400}.notice{background:#fff8ed;border:1px solid #f1dfbd;color:#b18a52;padding:12px 18px;border-radius:8px;font-size:12px;margin-bottom:18px}.admin-main{width:min(1200px,calc(100% - 64px));margin:0 auto;padding:40px 0 60px}.admin-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.admin-heading h1{font-size:27px}.admin-heading p{color:#95a9ba;font-size:12px;margin:9px 0 0}.admin-heading a{font-size:12px}.panel{background:white;border:1px solid var(--line);border-radius:11px;padding:25px;margin-bottom:25px}h2{font-size:17px;margin:0 0 20px;font-weight:600}h2 small,h2 #queue-total{font-size:11px;color:#9cafbe;font-weight:400;margin-left:9px}#admin-login p{font-size:12px;color:#8da3b6}#login-form{display:flex;gap:12px;max-width:550px}.tools-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.tools-top p{font-size:12px;color:#839db1;margin:10px 0 7px}.tools-top small{font-size:11px;color:#a4b5c3}.status{font-size:13px;color:#85a0b6;display:inline-flex;gap:8px;align-items:center}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#e2b269}.status.connected{color:#48b7a3}.status.connected:before{background:#48b7a3}.control-buttons{display:flex;gap:8px;flex-wrap:wrap}.control-buttons button{font-size:12px}#settings-form{border-top:1px solid #edf3f8;padding-top:20px;display:grid;grid-template-columns:1.2fr 1fr .7fr auto;gap:15px;align-items:end}#settings-form label{display:grid;gap:9px;font-size:11px;color:#8ca3b6}#settings-form button{height:40px}.section-heading{margin:30px 2px 16px}.section-heading h2{margin:0}.admin .queue-row{padding:17px 23px;border-color:var(--line)}.admin .person{gap:15px}.admin .avatar{width:43px;height:43px;font-size:17px}.admin .number{font-size:20px}.admin .person-name{font-size:15px}.row-actions{display:flex;gap:8px;flex-shrink:0}.row-actions button{font-size:12px;padding:8px 13px}.admin .serving-card{padding:17px 23px;margin-top:0}.admin .serving-card .person-name{font-size:17px}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.record-grid .panel{margin:0}.record-list{max-height:360px;overflow:auto}.record-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-top:1px solid #edf2f7}.record-item>div{min-width:0}.record-item b{font-size:12px;font-weight:550;overflow-wrap:anywhere}.record-item p{color:#8ea4b5;font-size:11px;margin:7px 0;overflow-wrap:anywhere}.record-item small{color:#a9b9c6;font-size:10px}.record-item button{font-size:11px;padding:7px 10px;flex-shrink:0}.result{color:#43b69f;font-size:10px;max-width:130px}.record-empty{color:#a0b4c4;font-size:12px;padding:25px 0}.admin .empty{padding:55px 20px}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#2b4b65ee;color:white;padding:13px 23px;font-size:12px;max-width:90vw;border-radius:8px;z-index:50;box-shadow:0 5px 30px #26456022}dialog{position:relative;text-align:center;width:370px;max-width:95vw;padding:35px;border-radius:15px;border:1px solid #d9e9f5;color:var(--ink);box-shadow:0 20px 80px #28496330}dialog::backdrop{background:#29476166;backdrop-filter:blur(3px)}dialog h2{font-size:20px}dialog p{font-size:12px;color:#8da4b6;line-height:1.9}.dialog-close{position:absolute;right:9px;top:5px;font-size:26px;border:0;padding:0 6px}#qr-image{min-height:230px;display:grid;place-items:center}#qr-image svg{width:230px;height:230px}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:800px){.background-arona{right:-90px;width:300px;opacity:.12}.halo-one{left:-90px}.spark-two{right:5vw}.board-main{width:calc(100% - 40px);padding-top:43px}.board-heading{margin-bottom:24px}h1{font-size:27px}.queue-row,.serving-card{padding:21px}.person{gap:16px}.number{width:33px;font-size:22px}.person-name{font-size:17px}.avatar{width:48px;height:48px}.joined{font-size:11px}.admin-main{width:calc(100% - 36px);padding-top:30px}.tools-top{align-items:start;flex-direction:column}.record-grid{grid-template-columns:1fr}#settings-form{grid-template-columns:1fr 1fr}}@media(max-width:500px){.board-main{width:calc(100% - 30px);padding:32px 0 45px}.board-heading{margin:0 4px 23px}.board-heading>div{gap:12px}h1{font-size:25px;letter-spacing:1px}.heading-spark{font-size:16px;margin-left:8px}.board-heading #queue-total{font-size:11px}.connection-dot{width:6px;height:6px;margin-right:7px}.queue-list{gap:10px}.queue-row{padding:19px 17px;border-radius:11px;gap:9px}.person{gap:12px}.number{width:28px;font-size:21px}.avatar{width:43px;height:43px;font-size:18px}.person-name{font-size:16px;letter-spacing:0}.joined{font-size:10px}.serving-card{padding:20px 17px;border-radius:11px;gap:10px}.serving-card .person{gap:12px}.serving-card .person-name{font-size:18px}.serving-label{font-size:10px;margin-bottom:5px}.serving-symbol{font-size:20px;padding:0}.background-arona{width:250px;right:-60px;bottom:-20px}.halo-two{width:140px;height:30px;right:-15px;bottom:28vh}.empty{padding:85px 15px}.empty p{font-size:15px}.empty>span{font-size:40px}.admin-heading h1{font-size:23px}.admin-heading .button{font-size:10px;padding:9px 10px}.panel{padding:20px 17px}#settings-form{gap:12px}.admin .queue-row,.admin .serving-card{padding:16px 13px}.admin .person{gap:9px}.admin .number{width:21px;font-size:16px}.admin .avatar{width:34px;height:34px;font-size:15px}.admin .person-name{font-size:12px}.row-actions{gap:5px}.row-actions button{padding:7px 9px;font-size:11px}.admin .serving-card .person-name{font-size:13px}.admin .serving-card .serving-label{font-size:8px}.admin .joined{display:none}.tools-top p{font-size:11px;line-height:1.8}.control-buttons button{font-size:11px;padding:8px 10px}}

/* In-game final-chapter CG: Arona and Plana in the Shittim classroom. */
.board{background:#b7dbf3}.board .background{background:#b7dbf3 url('/static/assets/background-cg.png') center center/cover no-repeat}.board .background:after{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#eff8ff1c,#eff8ff05)}.board-heading{background:#ffffffbf;backdrop-filter:blur(12px);border:1px solid #ffffff99;border-radius:12px;padding:22px 27px;margin:0 0 20px;box-shadow:0 5px 25px #4674960a}.board .queue-row{background:#ffffffe0;backdrop-filter:blur(13px);box-shadow:0 5px 25px #24558010}.board .empty{background:#ffffffbd;backdrop-filter:blur(13px);border:1px solid #ffffffbb;border-radius:13px;color:#476f8c;padding:65px 20px;box-shadow:0 8px 35px #2c689c0c}.board .empty>span{color:#50aee7;font-size:32px;margin-bottom:22px}.board .empty p{font-size:20px;font-weight:500;letter-spacing:2px}.board-main{padding-top:65px}.board-heading #queue-total{color:#7396b1}@media(max-width:500px){.board .background{background-position:66% center}.board-heading{padding:19px 18px;margin-bottom:17px}.board-main{padding-top:27px}.board .empty{padding:55px 10px}.board .empty p{font-size:17px;letter-spacing:1px}}

.priority-badge{display:inline-block;margin-left:10px;vertical-align:middle;font-size:10px;font-weight:500;letter-spacing:0;color:#b4893d;background:#fff3d7;border:1px solid #f2dfae;border-radius:4px;padding:3px 6px}.reply-settings{margin-top:20px;border-top:1px solid #edf3f8;padding-top:18px;display:grid;gap:10px}.reply-settings label{display:flex;align-items:center;font-size:12px;gap:6px;color:#55758c}.reply-settings input{width:16px;height:16px;accent-color:#149cea}.reply-settings small{color:#8da6b9;font-size:11px;line-height:1.8}

.board-heading .heading-extra{display:flex;align-items:center;gap:15px}.qq-group{font-size:13px;color:#5c86a5;white-space:nowrap;letter-spacing:.3px}@media(max-width:500px){.board-heading{flex-wrap:wrap;gap:12px}.board-heading .heading-extra{gap:9px}.qq-group{font-size:11px;letter-spacing:0}.board-heading>div{gap:9px}}
