:root{color-scheme:light;--brand:#991401;--brand-dark:#701303;--coral:#f76a5c;--yellow:#ffd766;--cream:#fcecd2;--paper:#fffaf3;--ink:#341b16;--muted:#806b61;--line:#e6d7c4;--green:#356644;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-synthesis:none;font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);overflow-wrap:anywhere}body::before{content:"";position:fixed;inset:0;z-index:-1;background-image:radial-gradient(#c99b6d18 .7px,transparent .7px);background-size:7px 7px;pointer-events:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button,input,select,textarea{border-radius:12px}button{color:inherit}input,textarea,select{width:100%;min-width:0;border:1px solid var(--line);background:#fffdf8;color:var(--ink);padding:12px 14px;font-size:16px;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9c897c}label{display:block;font-size:13px;font-weight:650;margin:12px 0 6px}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b74928;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #bd5c32;outline-offset:1px}svg{display:block}button{border:0;background:none}button:disabled{opacity:.55}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;padding:12px;background:var(--yellow);color:var(--brand)}.skip-link:focus{top:12px}.site-shell{width:min(100%,640px);margin:0 auto;padding:0 22px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px 0 17px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand img{border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.brand strong{display:block;font-size:20px;letter-spacing:.1em;line-height:1.25;color:var(--brand)}.brand small{font-size:8px;font-weight:700;letter-spacing:.17em;display:block;margin-top:4px}.connection{display:flex;align-items:center;gap:5px;padding:8px 0 8px 8px;font-size:11px;color:var(--muted);white-space:nowrap;min-height:44px}.status-dot{width:6px;height:6px;background:#ad9476;border-radius:50%;display:inline-block;flex-shrink:0}.connection.live{color:var(--green)}.connection.live .status-dot{background:var(--green);box-shadow:0 0 0 3px #35664412}.connection.offline{color:var(--brand)}.connection.offline .status-dot{background:var(--brand)}.offline-banner{font-size:12px;background:#ffedcd;border:1px solid #eacb92;padding:10px 13px;margin:14px 0 0;border-radius:10px}.public-main{padding-bottom:110px}.page-heading{padding:24px 0 21px;display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:.18em;color:var(--muted);line-height:1.5}.page-heading h1{font-size:clamp(21px,5.4vw,30px);letter-spacing:-.03em;line-height:1.45;font-weight:800;margin-top:5px}.page-heading h1 span{color:var(--brand)}.edition-stamp{display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0;width:58px;height:58px;border:1px solid #b15b43;border-radius:50%;transform:rotate(12deg);font-size:9px;line-height:1.5;letter-spacing:.12em;font-weight:800;color:var(--brand);text-align:center;box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px #b15b4330}.edition-stamp.small{width:50px;height:50px;font-size:8px}.ticket{background:#fffef9;border:1.5px solid var(--brand);border-radius:var(--radius);box-shadow:0 5px 0 #e8c9a5;overflow:hidden;position:relative}.ticket-top{display:flex;justify-content:space-between;align-items:center;padding:14px 19px;border-bottom:1px solid #dca493;background:#f9e9d6}.section-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;display:flex;align-items:center;gap:7px}.live-dot{width:6px;height:6px;background:var(--brand);border-radius:50%}.ticket-serial{font:600 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:var(--brand)}.performer-body{padding:23px 21px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:157px}.performer-info{min-width:0;flex:1}.badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:5px;background:#f0e9e0;color:var(--muted);font-size:10px;font-weight:650;white-space:nowrap;letter-spacing:.03em}.badge.open{background:var(--yellow);color:#6b3d08}.badge.locked{background:#eae7e1;color:#70655d}.badge.pending{background:#f4e4d4;color:#916341}.badge.mine{background:#fbe4df;color:var(--brand)}.badge.current{background:var(--brand);color:#fff}.performer-info h2{font-size:clamp(28px,7.6vw,40px);font-weight:850;letter-spacing:-.035em;line-height:1.24;margin:11px 0 8px;word-break:break-word}.performer-group{font-size:12px;color:var(--muted);line-height:1.65;max-width:250px}.mascot{object-fit:contain;mix-blend-mode:multiply;flex:0 0 auto;max-width:27%;height:auto;transform:rotate(7deg)}.ticket-perforation{position:relative;border-top:1px dashed #d4bda6;margin:0 12px}.ticket-perforation::before,.ticket-perforation::after{content:"";width:18px;height:18px;position:absolute;top:-10px;background:var(--paper);border:1px solid var(--brand);border-radius:50%}.ticket-perforation::before{left:-23px}.ticket-perforation::after{right:-23px}.vote-area{padding:20px 19px 15px}.vote-button{background:var(--brand);color:#fffaf3;width:100%;min-height:62px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 17px;border-radius:12px;font-size:18px;font-weight:750;letter-spacing:.05em;transition:background .15s,transform .15s;box-shadow:0 3px 0 #741506}.vote-button:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #741506}.vote-button:disabled{background:#b8a392;box-shadow:0 3px 0 #a89382;opacity:.7}.vote-button.voted{background:#fff1d2;border:1px solid var(--brand);color:var(--brand);box-shadow:0 3px 0 #d0ac7f}.vote-icon{font-size:26px;font-weight:400;line-height:1}.vote-arrow{margin-left:auto;font-size:22px;font-weight:400}#vote-label{flex:1;text-align:left}.vote-note{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.7;min-height:18px;margin-top:10px}.vote-note.success{color:var(--brand)}.released-votes{font-size:12px;text-align:center;background:#fff0cb;color:var(--brand);padding:12px}.released-votes strong{font-size:23px;font-weight:800;margin:0 5px}.adjustment-list{list-style:none;padding:9px 19px 15px;margin:0;font-size:11px;color:var(--muted)}.adjustment-list li+li{margin-top:6px}.chat-section{padding-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.section-heading h2{font-size:19px;letter-spacing:-.025em;line-height:1.5;margin-top:3px}.small-spark{display:inline-block;color:var(--brand);margin-left:8px;font-weight:400;font-size:24px;vertical-align:-2px}.text-button{padding:8px 0;min-height:40px;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;flex-shrink:0}.danmaku-stage{position:relative;height:146px;background:var(--brand);border-radius:15px;overflow:hidden;color:var(--paper)}.danmaku-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,#f76a5c33 0,transparent 65%)}.stage-caption{font-size:8px;letter-spacing:.17em;position:absolute;bottom:12px;left:14px;opacity:.45;font-weight:700}.stage-star{position:absolute;right:10px;bottom:-28px;font-size:117px;line-height:1;color:#ffd7661a;transform:rotate(12deg)}.chat-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.03em;padding:20px;text-align:center;color:#ffe6bf}.admin-announcement{position:absolute;top:10px;left:10px;right:10px;z-index:3;font-size:12px;font-weight:650;border:1px solid #ffe5a5;border-radius:8px;padding:7px 10px;background:var(--yellow);color:var(--brand-dark);max-height:58px;overflow:auto;box-shadow:0 2px 4px #530b0330}.admin-announcement::before{content:"主持人 · ";font-size:10px}.danmaku-tracks{position:absolute;inset:0;overflow:hidden}.danmaku-pill{position:absolute;left:100%;white-space:nowrap;max-width:95%;overflow:hidden;text-overflow:ellipsis;border:1px solid #fff3;border-radius:30px;background:#fff1;color:#fffaf3;padding:5px 12px;font-size:12px;line-height:20px;animation:fly-across 13s linear forwards;will-change:transform}.danmaku-pill.highlight{border-color:var(--yellow);background:var(--yellow);color:var(--brand-dark);font-weight:700}.danmaku-stage.paused .danmaku-pill{animation-play-state:paused}.danmaku-stage.paused .danmaku-tracks{opacity:.6}@keyframes fly-across{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 100%))}}.message-form{display:flex;margin-top:12px;border:1px solid #dcc8ae;background:#fffef9;border-radius:12px;padding:4px;gap:4px}.message-form:focus-within{outline:2px solid #bd5c32;outline-offset:1px}.message-form input{border:0;background:none;padding:10px;font-size:16px;outline:none;min-width:0;flex:1}.message-form button{padding:9px 14px;min-height:43px;background:var(--yellow);font-size:12px;font-weight:700;white-space:nowrap;color:#684009;border-radius:8px}.message-form button span{margin-left:3px;font-size:17px}.message-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;margin:7px 1px 0;color:var(--muted)}.message-list{list-style:none;padding:0;margin:14px 0 0;font-size:12px}.message-list li{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid #e9ddcf80}.message-list .message-by{color:#ad7c62;font-size:10px;padding-top:1px;white-space:nowrap}.message-list .highlight .message-by{color:var(--brand);font-weight:700}.message-list .message-text{flex:1;min-width:0}.message-list time{font-size:9px;color:#a28c7e;white-space:nowrap;padding-top:2px}.quiet-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;font-size:10px;color:var(--muted)}.desktop-footer{display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:9px;justify-content:center;background:#fffaf3f5;border-top:1px solid #e2cdb7;padding:7px 22px calc(8px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bottom-nav a{display:flex;align-items:center;justify-content:center;gap:9px;width:min(50%,276px);font-size:12px;font-weight:650;min-height:45px;border-radius:12px;color:#8d7767}.bottom-nav svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bottom-nav a.active{background:#f2e1ce;color:var(--brand)}.toast{position:fixed;z-index:100;left:50%;bottom:calc(87px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:#3b211af2;color:#fffaf3;padding:13px 19px;border-radius:12px;font-size:13px;max-width:calc(100% - 32px);width:max-content;box-shadow:0 5px 22px #0002;text-align:center}.lineup-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e4cfb6;border-radius:16px;background:#f9eddc;padding:18px 0;margin-bottom:24px}.lineup-summary div{display:flex;flex-direction:column;align-items:center;gap:3px}.lineup-summary div+div{border-left:1px solid #dfc5a9}.lineup-summary strong{font-size:27px;line-height:1.15;font-weight:800;color:var(--brand)}.lineup-summary span{font-size:10px;color:var(--muted)}.filter-tabs{display:flex;gap:6px;padding:4px;border-radius:12px;background:#f0e6d7}.filter-tabs button{flex:1;padding:10px 8px;font-size:12px;font-weight:600;color:#866d5e;border-radius:9px;white-space:nowrap;min-height:40px}.filter-tabs button.active{background:#fffdf7;color:var(--brand);box-shadow:0 2px 4px #8d5c2b12}.search-input{margin-top:12px;background:#fffdf8;font-size:16px;padding:11px 14px}.list-explainer{font-size:10px;color:var(--muted);margin:14px 0}.players-list{display:grid;gap:12px}.player-card{position:relative;border:1px solid #e5d0b8;background:#fffdf8;border-radius:15px;padding:16px}.player-card.current{border-color:var(--brand);box-shadow:inset 3px 0 var(--brand)}.player-top{display:flex;align-items:center;gap:12px}.player-order{font-size:20px;font-weight:750;letter-spacing:-.05em;color:#c7a685;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:28px}.player-text{min-width:0;flex:1}.player-text h2{font-size:17px;line-height:1.5;font-weight:750}.player-text p{font-size:11px;color:var(--muted);margin-top:2px}.player-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:8px}.player-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;margin-top:12px;border-top:1px dashed var(--line)}.player-my-state{font-size:11px;color:var(--muted)}.player-my-state.voted{color:var(--brand);font-weight:650}.small-vote{background:var(--brand);color:#fffdf8;padding:8px 14px;font-size:12px;font-weight:650;min-height:40px;flex-shrink:0;border-radius:9px}.small-vote.voted{background:#fce9ce;color:var(--brand);border:1px solid #cd9a76}.small-vote:disabled{background:#e9dfd3;color:#8b7867}.player-result{font-size:12px;color:var(--brand);font-weight:650}.player-card .adjustment-list{padding:10px 0 0;font-size:10px}.empty-card{text-align:center;padding:40px 20px;border:1px dashed #d8bc9b;border-radius:18px;color:var(--muted);font-size:13px;line-height:1.8}.empty-card img{display:block;width:90px;height:90px;object-fit:cover;mix-blend-mode:multiply;margin:0 auto 15px}.empty-card strong{font-size:18px;color:var(--ink);display:block;margin-bottom:6px}.modal-backdrop{position:fixed;z-index:60;inset:0;background:#2a150fa8;padding:24px 18px;display:flex;align-items:center;justify-content:center;overflow:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{width:min(100%,460px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;border-radius:22px;background:var(--paper);border:1px solid #f5d8a5;padding:28px 23px;position:relative;box-shadow:0 15px 60px #17070040}.modal h2{font-size:23px;margin:8px 0 16px}.modal p{font-size:13px;line-height:1.85;margin-bottom:14px}.modal .fine-print{font-size:10px;margin:8px 0 18px}.modal-close{position:absolute;right:12px;top:10px;width:38px;height:38px;font-size:25px;color:var(--muted)}.modal details{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.modal summary{cursor:pointer;padding:5px 0}.modal form button{margin-top:12px}.muted{color:var(--muted)}.fine-print{font-size:11px;color:var(--muted);line-height:1.7}.button{min-height:44px;border:1px solid #d5bda0;background:#fff8ed;padding:11px 16px;font-size:13px;font-weight:650;line-height:1.45;border-radius:11px;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:6px}.button.primary{background:var(--brand);border-color:var(--brand);color:#fffaf3}.button.yellow{background:var(--yellow);border-color:#e9bc4d;color:#674109}.button.danger{border-color:var(--brand);color:var(--brand);background:#fff1ec}.button.full{width:100%}.button.compact{padding:8px 11px;min-height:37px;font-size:11px;border-radius:8px}.button:disabled{opacity:.5}.noscript{position:fixed;inset:0;z-index:120;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:30px;font-size:18px}
/* Management uses the same brand, with denser operational controls. */
.admin-shell{max-width:1120px;margin:auto;padding:0 24px 70px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.admin-brand-right{display:flex;align-items:center;gap:12px}.admin-label{font-size:10px;color:var(--brand);background:#efd6c5;padding:5px 8px;border-radius:5px}.login-wrap{max-width:440px;margin:65px auto}.login-card{border:1px solid #dcbba0;border-radius:22px;padding:30px;background:#fffdf7}.login-card h1{font-size:26px;margin:8px 0 12px}.login-card p{font-size:12px;color:var(--muted);line-height:1.8}.login-card .button{margin-top:18px}.admin-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:25px 0 18px}.admin-title-row h1{font-size:27px;line-height:1.4;margin-top:4px}.admin-title-row p{font-size:11px;color:var(--muted)}.admin-current{background:var(--brand);border-radius:20px;padding:22px 24px;color:#fffaf3;display:grid;grid-template-columns:1fr auto;gap:20px}.admin-current .eyebrow{color:#f8d1ae}.admin-current h2{font-size:30px;line-height:1.4;margin:6px 0;word-break:break-word}.admin-current .performer-group{color:#f8d1ae}.admin-current .badge{margin-left:8px;vertical-align:middle}.live-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.live-controls .button{min-height:48px}.live-controls .lock-button{background:#fff9ec;color:var(--brand);border:2px solid #ffd766;font-weight:800;padding:13px 24px}.admin-switch{display:flex;gap:10px;align-items:flex-end;margin-top:15px;background:#f5eadb;border:1px solid #e4d1b8;border-radius:14px;padding:12px 15px}.admin-switch .field{flex:1;min-width:0}.admin-switch label{margin-top:0}.check-label{display:flex;align-items:center;gap:7px;font-size:12px;margin:0;font-weight:500;min-height:40px}.check-label input{width:17px;height:17px;padding:0;flex-shrink:0;accent-color:var(--brand)}.admin-tabs{margin:26px 0 20px;display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.admin-tabs button{flex:1;white-space:nowrap;border-radius:0;border-bottom:3px solid transparent;padding:14px 15px;font-size:13px;color:var(--muted);font-weight:650;min-height:49px}.admin-tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.panel{border:1px solid var(--line);background:#fffdf8;border-radius:16px;padding:20px}.panel h2{font-size:18px;margin-bottom:6px}.panel-description{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:14px}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}.selection-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 0 16px;border-bottom:1px solid var(--line);margin-bottom:6px}.admin-contestant{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #eee2d4}.admin-contestant:last-child{border-bottom:0}.admin-contestant>input{width:18px;height:18px;accent-color:var(--brand)}.admin-contestant h3{font-size:15px;line-height:1.5}.admin-contestant h3 .badge{margin-left:5px;vertical-align:middle}.admin-contestant p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:4px}.admin-vote-total{font-size:24px;line-height:1.2;font-weight:800;color:var(--brand);text-align:right;font-variant-numeric:tabular-nums}.admin-row-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.admin-side-actions{min-width:62px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .span-2{grid-column:1/-1}.radio-row{display:flex;gap:12px;flex-wrap:wrap}.radio-row label{display:flex;gap:7px;align-items:center;font-size:12px}.radio-row input{width:17px;height:17px;accent-color:var(--brand)}.hint-box{background:#fff0cf;border:1px solid #eed4a0;border-radius:11px;padding:12px 14px;font-size:11px;color:#805520;line-height:1.8;margin:16px 0}.form-actions{margin-top:18px;display:flex;gap:8px;justify-content:flex-end}.admin-message-list{display:grid;gap:10px;max-height:650px;overflow:auto}.admin-message{border:1px solid #e7d8c5;background:#fff9ee;border-radius:12px;padding:13px}.admin-message.highlight{border-color:#e1b34b;background:#fff4d5}.admin-message p{font-size:13px;line-height:1.75;margin:6px 0 10px}.admin-message-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.admin-message-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-message-actions button{font-size:10px;padding:7px 10px;min-height:34px;border:1px solid #d9bfa4;border-radius:7px;color:#85613f}.audit-list{list-style:none;margin:0;padding:0}.audit-list li{padding:14px 0;border-bottom:1px solid var(--line)}.audit-list strong{font-size:13px}.audit-list time{font-size:10px;color:var(--muted);margin-left:10px}.audit-list p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:5px;white-space:pre-wrap}.stats-strip{display:flex;gap:18px;font-size:11px;color:var(--muted);flex-wrap:wrap;margin:15px 0}.stats-strip strong{font-size:15px;color:var(--brand);margin:0 4px}.inline-error{font-size:12px;color:var(--brand);background:#ffe6df;border-radius:9px;padding:10px 12px;line-height:1.7;margin-top:12px}.admin-announcement-form textarea{min-height:112px}.admin-footer{font-size:10px;color:var(--muted);text-align:center;margin-top:25px}.admin-main .button:active{transform:translateY(1px)}.title-form{display:flex;gap:10px;align-items:flex-end;margin-bottom:24px}.title-form .field{flex:1;min-width:0}.modal .checkbox-explain{font-size:11px;line-height:1.7}.modal .form-actions{margin-bottom:0}.admin-modal{width:min(100%,510px)}.raw-votes-note{font-size:10px;line-height:1.6;color:var(--muted);text-align:right;margin-top:4px}.admin-toolbar-note{font-size:11px;color:var(--muted);line-height:1.7}
@media(min-width:700px){body{background-color:#f9f0e3}.site-shell{margin-top:25px;border:1px solid #e3d2bb;border-bottom:0;background:var(--paper);padding:0 36px;box-shadow:0 15px 80px #82541e0a;border-radius:28px 28px 0 0;min-height:calc(100vh - 25px)}.site-header{padding-top:26px}.page-heading{padding:28px 0 25px}.performer-body{min-height:175px;padding:26px}.performer-info h2{font-size:42px}.mascot{width:120px}.ticket-top{padding:15px 24px}.vote-area{padding:22px 24px 18px}.vote-button{min-height:65px;font-size:21px}.vote-note{font-size:12px}.chat-section{padding-top:34px}.danmaku-stage{height:165px}.public-main{padding-bottom:95px}.desktop-footer{display:block;text-align:center;font-size:9px;letter-spacing:.15em;color:#b29178;padding-bottom:92px}.public-main+.desktop-footer{margin-top:-70px}.message-meta{font-size:10px}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(640px,100%);border-left:1px solid #e3d2bb;border-right:1px solid #e3d2bb}.bottom-nav a{max-width:none}.edition-stamp{width:65px;height:65px}.danmaku-pill{animation-name:fly-wide}@keyframes fly-wide{from{transform:translateX(0)}to{transform:translateX(calc(-640px - 100%))}}}
@media(max-width:760px){.admin-shell{padding:0 17px 40px}.admin-header{padding:17px 0}.admin-header .brand strong{font-size:18px}.admin-header .brand img{width:40px;height:40px}.admin-brand-right{gap:5px}.admin-label{display:none}.admin-title-row{align-items:flex-start}.admin-title-row h1{font-size:23px}.admin-title-row p{max-width:230px}.admin-current{grid-template-columns:1fr;padding:19px;gap:18px}.admin-current h2{font-size:28px}.live-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.live-controls .button{width:100%;padding:12px 10px}.admin-switch{flex-wrap:wrap;padding:12px}.admin-switch .field{flex:1 1 100%}.admin-switch .button{margin-left:auto}.admin-tabs{margin-top:22px}.admin-tabs button{font-size:12px;padding:12px 10px}.admin-grid{grid-template-columns:1fr;gap:15px}.panel{padding:16px}.admin-contestant{gap:9px;grid-template-columns:20px 1fr auto}.admin-vote-total{font-size:22px}.panel-toolbar{align-items:flex-start}.toolbar-actions{gap:5px}.panel-toolbar .button{font-size:11px;padding:9px 11px}.selection-bar{gap:7px}.selection-bar .button{font-size:10px;padding:8px 9px}.admin-contestant .button.compact{font-size:10px;padding:7px 8px}.form-grid{gap:8px}.admin-row-actions{margin-right:-50px;padding-top:2px}.admin-side-actions{align-self:start;padding-top:2px}.admin-message-list{max-height:none}.stats-strip{gap:9px}.title-form{flex-wrap:wrap}.title-form .field{flex-basis:100%}.login-wrap{margin-top:40px}.login-card{padding:24px}.admin-main .toast{bottom:25px}}
@media(max-width:360px){.site-shell{padding:0 16px}.site-header{padding-top:17px}.brand strong{font-size:18px}.brand small{font-size:7px}.brand img{width:41px;height:41px}.connection{font-size:10px}.page-heading{padding:22px 0 18px}.page-heading h1{font-size:22px}.edition-stamp{width:49px;height:49px;font-size:8px}.performer-body{padding:20px 17px;min-height:150px}.performer-info h2{font-size:29px}.mascot{max-width:24%}.vote-area{padding:18px 15px 14px}.vote-button{font-size:17px;padding:13px 14px;gap:9px}.section-heading h2{font-size:18px}.section-heading .text-button{font-size:10px}.message-form input{font-size:16px;padding:10px 7px}.message-form button{padding:8px 11px}.filter-tabs button{font-size:11px}.player-card{padding:13px}.player-order{font-size:18px}.quiet-footer{font-size:9px}.quiet-footer .text-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.danmaku-pill{animation:none;left:14px;max-width:calc(100% - 28px)}.danmaku-tracks .danmaku-pill:nth-child(n+4){display:none}}

/* 观众昵称入口与长昵称在手机上的换行。 */
.chat-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:11px;color:var(--muted)}.chat-identity>span{flex:1;min-width:0}.chat-identity .text-button{max-width:65%;text-align:right;overflow-wrap:anywhere;min-height:40px}.message-list .message-by{max-width:7em;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}.admin-message-meta>span{overflow-wrap:anywhere;min-width:0}

.show-controls{margin:20px 0}.show-switch-row,.show-create-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.show-switch-row .field,.show-create-form .field{flex:1;min-width:180px}.show-controls details{margin-top:18px}.show-controls summary{cursor:pointer}.show-create-form{margin-top:12px}.show-controls a{overflow-wrap:anywhere}.show-label{font-size:12px;color:var(--brand);margin:8px 0}.show-controls .hint-box{margin:12px 0}
