:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#f5f7ff;background:#14244b;font-synthesis:none;--yellow:#ffe082;--muted:#b5c4e2;--line:#ffffff26}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:12px 18px;background:#ffffff0c;color:inherit}button:hover{background:#ffffff1c}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}a{color:inherit;text-underline-offset:4px}.primary{background:var(--yellow);color:#14244b;border-color:var(--yellow);font-weight:650}.primary:hover{background:#ffecae}.quiet{background:transparent}.brand{text-decoration:none;font-size:24px;display:flex;gap:12px;align-items:center;font-weight:600}.brand:first-letter{color:var(--yellow)}header{height:88px;margin:0 4%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:30px}.course{font-size:13px;color:var(--muted);flex:1}.course b{font-weight:400;padding-left:18px}#connection{font-size:12px;color:var(--muted)}#notice{margin:0 4%;font-size:14px;color:var(--yellow)}#notice:not(:empty){padding:12px 0}#notice.error{color:#ffb3b3}.projection{padding:36px 4% 0}.small-title{color:var(--muted);font-size:14px;margin-bottom:14px}h1{font-size:clamp(28px,3.6vw,54px);font-weight:650;line-height:1.35;letter-spacing:-1.4px;margin:0;overflow-wrap:anywhere}.wall-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.wall-heading .quiet{flex-shrink:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}nav{display:flex;gap:8px}nav button{border-color:transparent;color:var(--muted);padding:11px 18px}nav .selected{background:#f5f7ff;color:#14244b;font-weight:600}#count{color:var(--yellow);white-space:nowrap}#stage{position:relative;min-height:510px}#sky{height:max(380px,calc(100vh - 440px));position:relative;overflow:hidden;margin:0 -4.35%;background-image:radial-gradient(circle,#ffffff17 1px,transparent 1px);background-size:26px 26px}.empty{text-align:center;position:absolute;inset:12% 20px auto;color:var(--muted)}.empty h2{font-size:24px;color:#fff;font-weight:500}.empty p{font-size:15px}.orbit{font-size:64px;color:var(--yellow)}.bubble{position:absolute;left:100%;padding:13px 24px;border-radius:32px;font-size:clamp(19px,1.8vw,28px);white-space:nowrap;max-width:none;color:#192b50;background:#f2f6ff;animation:fly linear forwards;box-shadow:0 5px 16px #06112a26}.tint-1{background:#c5e9f0}.tint-2{background:#ffe4a3}.tint-3{background:#d8d4fa}@keyframes fly{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 100%))}}.join-card{display:flex;align-items:center;gap:18px;justify-content:flex-end;padding:20px 0}.join-card img{background:white;border:6px solid white;border-radius:5px}.join-card b,.join-card span,.join-card a{display:block}.join-card b{font-size:17px;margin-bottom:8px}.join-card span{color:var(--muted);font-size:13px;margin-bottom:10px}.join-card a{font-size:12px;color:var(--muted);overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);gap:20px}.dot{display:inline-block;background:var(--yellow);width:6px;height:6px;border-radius:50%;margin-right:6px}.analysis-heading{padding:26px 0 15px}.analysis-heading h2{font-size:26px;font-weight:500;margin:0 0 10px}.analysis-heading p,.method{font-size:13px;color:var(--muted);line-height:1.8}.rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.rank{border-bottom:1px solid var(--line);min-width:0}.rank summary,.rank.tail{display:flex;align-items:center;gap:18px;padding:20px 0;list-style:none;cursor:pointer}.rank summary::-webkit-details-marker{display:none}.rank-no{font-size:22px;color:var(--muted);font-variant-numeric:tabular-nums}.rank-text{flex:1;line-height:1.6;overflow-wrap:anywhere}.rank strong{color:var(--yellow);font-size:22px;white-space:nowrap}.rank small{font-size:12px;font-weight:400}.members{padding:0 20px 12px 45px;font-size:14px;color:var(--muted);line-height:1.7}.method{margin-top:25px}.analysis-empty{padding:70px 0;color:var(--muted)}.student{max-width:590px;margin:65px auto;padding:0 24px}.student h1{font-size:42px}.intro{font-size:17px;line-height:1.9;color:var(--muted);margin:24px 0 35px}label{display:block;font-size:15px;margin-bottom:12px}textarea,input[type=password],input:not([type]){width:100%;border:1px solid #7183a8;background:#20335b;color:white;border-radius:8px;padding:16px}textarea{height:155px;resize:vertical;line-height:1.7}textarea::placeholder,input::placeholder{color:#a9b9d5}.form-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:10px 0 24px;gap:10px}.student .primary{width:100%;padding:16px}.hint{font-size:13px;line-height:1.9;color:var(--muted)}.student .hint{margin:28px 0}.text-link{font-size:14px}#receipt:not(:empty){border-left:3px solid var(--yellow);padding:14px 18px;background:#ffffff09;margin-top:22px;color:var(--yellow);line-height:1.6}.teacher{max-width:1150px;margin:45px auto;padding:0 30px}.teacher h1{font-size:36px;margin-bottom:32px}.inline{display:flex;gap:12px}.inline button{flex-shrink:0}#login{max-width:650px}h2{font-size:22px}.control-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.actions a{font-size:14px}.checkbox{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.checkbox input{width:18px;height:18px;accent-color:var(--yellow)}.new-round{padding:24px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer}.new-round form{padding-top:20px}.list-heading{display:flex;align-items:center;justify-content:space-between}.list-heading span{font-size:13px;color:var(--muted)}.response-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:8px 0}.response-row p{flex:1;line-height:1.7;overflow-wrap:anywhere}.response-row button{flex-shrink:0}.badge{font-size:12px;color:var(--muted);white-space:nowrap}.badge.pending{color:var(--yellow)}[hidden]{display:none!important}@media(min-width:1600px){#sky{min-height:480px}.projection{padding-top:45px}.bubble{font-size:30px}}@media(max-width:700px){header{height:72px;gap:12px}.brand{font-size:19px}.course{display:none}#connection{margin-left:auto;font-size:11px}.projection{padding-top:25px}.wall-heading{align-items:flex-start}.wall-heading .quiet{font-size:0;padding:12px}.wall-heading .quiet:after{content:'⛶';font-size:20px}.small-title{font-size:12px}h1{letter-spacing:-.5px}.toolbar{align-items:flex-start;flex-direction:column;margin-top:20px;gap:12px}nav{gap:3px;width:100%}nav button{font-size:12px;padding:10px 9px;flex:1}.rank-grid{grid-template-columns:1fr}.join-card{justify-content:center;padding:24px 0}#sky{height:360px}.empty{inset:18% 20px auto}.empty h2{font-size:21px}.empty p{font-size:13px}.student{margin:40px auto}.student h1{font-size:35px}.teacher{padding:0 20px;margin-top:30px}.teacher h1{font-size:28px}.inline{flex-direction:column}.response-row{gap:12px;font-size:14px}.response-row button{font-size:12px;padding:10px}.list-heading{gap:12px}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){.bubble{animation:none;left:4%;max-width:92%;white-space:normal;font-size:18px;padding:8px 16px;max-height:17%;overflow:auto}}
/* Keep the participation code in view on classroom projectors. */
@media(min-width:701px){#stage{min-height:0}#sky{height:max(180px,calc(100dvh - 530px));min-height:0}.empty{inset:8% 20px auto}.empty .orbit{font-size:42px}.empty h2{margin:10px 0}.empty p{margin:10px 0}}

.response-entry{border-bottom:1px solid var(--line);padding-bottom:14px}.response-entry .response-row{border:0}.response-history{font-size:13px;color:var(--muted)}.response-history summary{padding:8px 0}.history-item{border-left:2px solid var(--line);padding:8px 18px;margin:10px 0}.history-item p{white-space:pre-wrap;overflow-wrap:anywhere;color:white}.badge.withdrawn{color:#cfabc6}#withdraw{margin-top:16px}
