:root{--ink:#43213c;--muted:#886a83;--pink:#b32976;--purple:#7147b7;--line:#ead9e7;--paper:#fffafd;--gradient:linear-gradient(115deg,#c83080,#8051b7);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f8edf6}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:#fff;color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #986ac1;outline-offset:3px}input,select{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}label{display:block;font-size:14px;font-weight:600;margin:16px 0}label input,label select{margin-top:8px}h1,h2,h3,p{margin-top:0}h2{font-size:24px;line-height:1.4}h3{font-size:16px;margin-top:28px}p{line-height:1.8}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px}.mobile{background:radial-gradient(ellipse at 90% 0%,#e7d9ff,transparent 48%),#f8edf6}.phone-shell{max-width:520px;margin:auto;padding:0 22px 30px}.masthead{padding:34px 5px 22px;position:relative;overflow:hidden}.masthead h1{font-family:"Songti SC","STSong",serif;font-size:38px;line-height:1.3;letter-spacing:2px;margin:20px 0 10px}.masthead p{font-size:13px;letter-spacing:2px}.petal{position:absolute;right:-9px;top:30px;font-size:150px;color:#b8579b;opacity:.13;transform:rotate(18deg);pointer-events:none}.session-label{font-size:11px;color:var(--muted)}.session-label select{font-size:14px;background:#ffffff87}.connection{font-size:11px;color:var(--muted)}.connection.offline{color:#a43a29}.tabs{display:flex;border-bottom:1px solid #d9bdd4;margin-bottom:20px;gap:8px}.tabs button{flex:1;border:0;border-radius:0;background:none;padding:15px 0;color:var(--muted);font-size:14px}.tabs button.active{border-bottom:3px solid var(--pink);color:var(--pink);font-weight:700}.card{background:var(--paper);border:1px solid #fff;border-radius:22px;padding:25px 22px;box-shadow:0 12px 35px #6b326b07;margin-bottom:18px}.card>.eyebrow{color:var(--pink);display:block;margin-bottom:12px}.muted,.fine{color:var(--muted)}.fine{font-size:11px;margin:13px 0 0}.primary{background:var(--gradient);color:#fff;border:0;font-weight:650;min-height:50px}.mobile .primary{width:100%}.notice{border:1px solid #dfc7bd;background:#fff3e7;padding:14px;border-radius:12px;margin:12px 0;font-size:13px;line-height:1.6}.status-line{font-size:12px;margin:0 4px 13px;color:var(--pink)}.program-heading{display:flex;align-items:center;justify-content:space-between;color:var(--pink)}.timer{font-variant-numeric:tabular-nums;font-size:23px;font-weight:700}.program-name{font-size:26px;font-family:"Songti SC","STSong",serif;margin:20px 0 8px;line-height:1.4}.program-meta{font-size:13px;color:var(--muted)}.program-img{width:100%;max-height:210px;object-fit:cover;border-radius:12px;margin-top:14px}.dimension{padding:19px 0 9px;border-bottom:1px solid var(--line)}.dimension-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dimension-name{font-size:14px;font-weight:650}.dimension-name small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.dimension input[type=number]{width:78px;min-height:40px;padding:8px;text-align:center;font-weight:700;color:var(--pink)}.dimension input[type=range]{padding:0;min-height:26px;height:26px;margin:12px 0 0;accent-color:var(--pink);border:0;background:transparent}.score-total{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.score-total span{font-size:14px}.score-total small{color:var(--muted)}.score-total strong{font-size:38px;letter-spacing:-1px;color:var(--pink);font-variant-numeric:tabular-nums}.text-button{display:block;background:none;border:0;color:var(--pink);margin:10px auto 0}.empty{text-align:center;padding:45px 25px}.flower{display:block;color:#b66baf;font-size:65px;margin-bottom:15px}.empty p{font-size:13px;color:var(--muted)}footer{text-align:center;color:var(--muted);font-size:10px;padding-top:20px;letter-spacing:1px}.rules p{font-size:13px;color:#725b6d}.history-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:16px 0}.history-row:first-of-type{border-top:0}.history-row .record-content{flex:1;min-width:0}.history-row strong{display:block;font-size:14px;line-height:1.5}.history-row small{color:var(--muted);font-size:11px}.history-score{color:var(--pink);font-size:20px;font-weight:700}.history-row button{font-size:11px;padding:7px 10px}.award{background:#f8e6f1;border-radius:12px;padding:16px;margin-top:12px;font-size:14px}.position{color:var(--purple);font-family:Georgia,serif;font-size:25px;min-width:25px}.display{height:100vh;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#e8dbfc,transparent 55%),linear-gradient(165deg,#fff2f6,#f2e7f6);display:flex;flex-direction:column}.screen-head{padding:38px 25px 24px;border-bottom:1px solid #dcc6dc;position:relative}.screen-head:after{content:'✳';position:absolute;right:10px;top:1px;font-size:125px;color:#bd6fa6;opacity:.09;pointer-events:none}.screen-head .eyebrow{font-size:9px;letter-spacing:2px;color:var(--pink)}.screen-head h1{font-family:"Songti SC","STSong",serif;font-size:27px;line-height:1.5;margin:16px 0 8px}.screen-head p{color:var(--muted);font-size:13px;margin:0}.screen-content{padding:26px 22px;flex:1;min-height:0;display:flex;flex-direction:column}.board-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.board-title h2{font-size:24px;margin:0}.board-title>span{font-size:10px;color:var(--pink);border:1px solid #ceacc7;border-radius:30px;padding:5px 10px}.rank-head,.rank-row{display:grid;grid-template-columns:minmax(0,1fr) 49px 49px 59px;gap:6px;align-items:center}.rank-head{font-size:11px;color:var(--muted);padding:10px 0;border-bottom:1px solid #d7bdd2;text-align:center}.rank-head span:first-child{text-align:left}.rank-head small{font-size:9px}.ranking-viewport{flex:1;overflow:hidden;min-height:0;scroll-behavior:smooth}.rank-row{padding:18px 0;border-bottom:1px solid #e6d4e3;font-variant-numeric:tabular-nums;font-size:15px;text-align:center}.rank-identity{display:flex;gap:9px;align-items:center;text-align:left;min-width:0}.rank-number{font-size:23px;font-family:Georgia,serif;color:var(--pink);min-width:25px}.rank-identity strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.rank-identity small{font-size:10px;color:var(--muted);display:block;margin-top:5px;line-height:1.4}.rank-total{font-size:19px;font-weight:750;color:var(--pink)}.rank-row:nth-child(-n+3) .rank-number{font-weight:700}.sample{display:block;font-size:8px;color:var(--muted)}.screen-note{font-size:10px;line-height:1.8;color:var(--muted);text-align:center;margin:16px 0 0}.screen-footer{padding:15px 22px 22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:0;border-top:1px solid #e4d1e0}.right-content{text-align:center;padding-top:22px;gap:0;overflow:auto}.onstage-label{color:var(--pink);font-size:12px;letter-spacing:2px}.screen-program .program-name{font-size:29px;margin:17px 0 7px}.screen-program .program-img{max-height:130px;max-width:230px;margin-top:10px}.screen-program .program-meta{font-size:12px;margin-bottom:0}.big-countdown{font-size:66px;letter-spacing:2px;color:var(--pink);font-weight:300;font-variant-numeric:tabular-nums;line-height:1.2;margin:15px 0}.qr-card{background:#fffafd;border-radius:20px;padding:20px 12px;border:1px solid #fff}.qr-card canvas{display:block;width:190px!important;height:190px!important;margin:auto}.qr-card h2{font-size:19px;margin:15px 0 5px}.qr-card p{font-size:11px;color:var(--muted);margin:0}.qr-card small{font-size:9px;color:var(--muted)}#screenControls{margin-top:16px}#screenControls select{font-size:12px;min-height:38px;padding:8px}.control-buttons{display:flex;gap:8px;margin-top:8px}.control-buttons button{flex:1;font-size:12px;min-height:40px;padding:8px}.lottery-overlay{position:fixed;inset:0;background:radial-gradient(circle at 50% 25%,#9e4da2,#542455 80%);color:#fff;text-align:center;padding:80px 25px;z-index:10;overflow:auto}.lottery-overlay h2{font-family:"Songti SC",serif;font-size:42px;margin:30px 0 12px}.lottery-overlay>.flower{color:#eeabd3;font-size:85px}.lottery-overlay p{color:#edc3e2;font-size:14px}.winner{margin:18px auto;padding:20px 12px;background:#ffffff12;border:1px solid #ffffff35;border-radius:16px;max-width:350px}.winner strong{display:block;font-size:31px;margin-bottom:7px}.winner span{color:#e3bfdc;font-size:17px;letter-spacing:2px}.rolling{animation:pulse .3s alternate infinite}@keyframes pulse{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:translateY(-3px)}}[hidden]{display:none!important}@media(max-width:360px){.phone-shell{padding:0 14px}.card{padding:22px 17px}.masthead h1{font-size:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media(min-width:800px){.display .screen-head{padding-top:28px}.display .screen-content{padding-left:5%;padding-right:5%}.display .rank-head,.display .rank-row{grid-template-columns:minmax(0,1fr) 100px 100px 110px}.display .rank-identity strong{font-size:20px}.display .rank-identity small{font-size:13px}.display .rank-row{font-size:22px}.display .rank-total{font-size:27px}}

body.display.has-custom-bg{background-color:transparent;background-size:100% 100%;background-position:center;background-repeat:no-repeat}body.display.has-custom-bg .screen-content,body.display.has-custom-bg .screen-footer,body.display.has-custom-bg .qr-card,body.display.has-custom-bg .board-title,body.display.has-custom-bg .rank-head,body.display.has-custom-bg .rank-row,body.display.has-custom-bg .ranking-viewport,body.display.has-custom-bg .onstage-label,body.display.has-custom-bg .screen-program,body.display.has-custom-bg .big-countdown,body.display.has-custom-bg .screen-note,body.display.has-custom-bg .empty{background:transparent!important;backdrop-filter:none;box-shadow:none}body.display.has-custom-bg .screen-content,body.display.has-custom-bg .screen-footer,body.display.has-custom-bg .qr-card,body.display.has-custom-bg .board-title,body.display.has-custom-bg .rank-head,body.display.has-custom-bg .rank-row,body.display.has-custom-bg .program-name,body.display.has-custom-bg .program-meta,body.display.has-custom-bg .onstage-label,body.display.has-custom-bg .big-countdown,body.display.has-custom-bg .screen-note{text-shadow:0 1px 2px rgba(255,255,255,.85),0 0 8px rgba(255,255,255,.55)}

body.mobile.has-custom-bg{background-color:transparent!important;background-image:none!important;min-height:100vh;min-height:100dvh;position:relative}body.mobile.has-custom-bg:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--page-bg);background-size:cover;background-position:center top;background-repeat:no-repeat}html.has-custom-bg:has(body.mobile),html:has(body.mobile.has-custom-bg){background-color:#f4eaf4!important;background-image:none!important;min-height:100%;height:auto}body.mobile.has-custom-bg .phone-shell{min-height:100vh;min-height:100dvh;padding-top:clamp(150px,40vw,198px);background:transparent!important;backdrop-filter:none;box-shadow:none}body.mobile.has-custom-bg .masthead{background:transparent!important;backdrop-filter:none;box-shadow:none;padding-top:4px}body.mobile.has-custom-bg .tabs{background:rgba(255,250,253,.42);backdrop-filter:blur(4px);border-bottom-color:rgba(217,189,212,.55)}body.mobile.has-custom-bg .card,body.mobile.has-custom-bg .rules{background:rgba(255,250,253,.62)!important;backdrop-filter:blur(8px);border-color:rgba(255,255,255,.55);box-shadow:0 10px 28px rgba(107,50,107,.06)}body.mobile.has-custom-bg .session-label select{background:rgba(255,255,255,.55)}body.mobile .masthead{padding:18px 5px 12px}.rank-number{display:inline-flex;align-items:center;justify-content:center;min-width:48px}.rank-medal{width:44px;height:44px;object-fit:contain;display:block}

html:has(body.display.has-custom-bg){background-color:transparent;background-size:100% 100%;background-position:center;background-repeat:no-repeat;height:100%}body.display.has-custom-bg{min-height:100%;background-attachment:scroll;background-size:100% 100%!important}body.display.has-custom-bg .qr-card canvas{background:#fff;border-radius:8px}

html:has(body.display[data-view=left]),html:has(body.display[data-view=right]),body.display[data-view=left],body.display[data-view=right]{width:540px;height:1080px;overflow:hidden;margin:0}body.display[data-view=left],body.display[data-view=right]{display:flex;flex-direction:column}body.display[data-view=left] .screen-content,body.display[data-view=right] .screen-content{flex:1;min-height:0}

/* 侧屏 540×1080：避开背景大标题，榜单整体下移并统一放大字号 */
body.display[data-view=left] .screen-content{padding:190px 18px 10px;gap:0}
body.display[data-view=left].has-custom-bg .screen-content{margin:205px 12px 10px;padding:16px 16px 14px;background:rgba(255,252,255,.46)!important;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-radius:24px;border:1px solid rgba(255,255,255,.62);box-shadow:0 12px 30px rgba(90,40,100,.1)}
body.display[data-view=left].has-custom-bg .board-title,body.display[data-view=left].has-custom-bg .rank-head,body.display[data-view=left].has-custom-bg .rank-row,body.display[data-view=left].has-custom-bg .ranking-viewport,body.display[data-view=left].has-custom-bg .screen-note,body.display[data-view=left].has-custom-bg .empty{background:transparent!important;backdrop-filter:none;box-shadow:none;text-shadow:none}
body.display[data-view=left] .board-title{margin-bottom:12px}
body.display[data-view=left] .board-title h2{font-size:30px}
body.display[data-view=left] .board-title>span{font-size:13px;padding:6px 12px}
body.display[data-view=left] .rank-head{font-size:14px;padding:8px 0}
body.display[data-view=left] .rank-head small{font-size:11px}
body.display[data-view=left] .rank-head,body.display[data-view=left] .rank-row{grid-template-columns:minmax(0,1fr) 58px 58px 68px;gap:4px}
body.display[data-view=left] .rank-row{padding:11px 0;font-size:20px}
body.display[data-view=left] .rank-number{font-size:28px;min-width:32px}
body.display[data-view=left] .rank-identity{gap:8px}
body.display[data-view=left] .rank-identity strong{font-size:18px;line-height:1.35}
body.display[data-view=left] .rank-identity small{font-size:15px;font-weight:700;margin-top:4px;color:var(--ink);opacity:.78}
body.display[data-view=left] .rank-total{font-size:24px}
body.display[data-view=left] .sample{font-size:10px}
body.display[data-view=left] .screen-note{font-size:12px;margin:10px 0 0;line-height:1.55}
body.display[data-view=left] .screen-footer{padding:10px 18px 14px;font-size:11px}
body.display[data-view=left] .rank-medal{width:40px;height:40px}

body.display[data-view=right] .right-content{padding:200px 16px 10px}
body.display[data-view=right].has-custom-bg .right-content{padding-top:230px}
body.display[data-view=right] .onstage-label{font-size:17px;letter-spacing:2px;font-weight:700}
body.display[data-view=right] .screen-program .program-name{font-family:"PingFang SC","Microsoft YaHei","Heiti SC",sans-serif;font-size:42px;margin:14px 0 8px;font-weight:900;letter-spacing:1px;-webkit-text-stroke:.35px currentColor}
body.display[data-view=right] .screen-program .program-meta{font-size:26px;font-weight:800;line-height:1.35;letter-spacing:.3px;color:var(--ink)}
body.display[data-view=right] .screen-program .program-img{max-height:120px;max-width:230px}
body.display[data-view=right] .big-countdown{font-size:76px;margin:10px 0 14px;font-weight:900}
body.display[data-view=right] .qr-card{padding:22px 14px}
body.display[data-view=right].has-custom-bg .qr-card{background:rgba(255,252,255,.5)!important;backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid rgba(255,255,255,.65);border-radius:22px;box-shadow:0 10px 26px rgba(90,40,100,.1);text-shadow:none}
body.display[data-view=right] .qr-card canvas{width:230px!important;height:230px!important}
body.display[data-view=right] .qr-card h2{font-size:28px;margin:16px 0 8px;font-weight:800}
body.display[data-view=right] .qr-card p{font-size:16px}
body.display[data-view=right] .qr-card small{font-size:13px}
body.display[data-view=right] .screen-note{font-size:13px;margin:10px 0 0}
body.display[data-view=right] .screen-footer{padding:10px 18px 14px;font-size:11px}
.match-row{padding:16px 0;border-bottom:1px solid var(--line)}.match-row>strong{font-size:15px;color:var(--purple)}.match-row p{font-size:14px;margin:8px 0;overflow-wrap:anywhere}.match-status{display:inline-block;padding:6px 10px;border-radius:8px;background:rgba(173,38,113,.08);color:var(--pink);font-size:12px}.award p{margin:8px 0 0;font-size:13px}
body.mobile footer.site-foot{display:grid;gap:8px;justify-items:center;text-align:center;padding:28px 8px 18px;border:0;letter-spacing:.4px;font-size:11px;color:var(--muted)}
body.mobile footer.site-foot .tech-support{color:#9a7ea0;font-size:10px;letter-spacing:.3px;text-decoration:none}
body.mobile footer.site-foot .tech-support:hover{color:var(--purple);text-decoration:underline}
