@charset "UTF-8";
:root{font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;color:#213b37;background:#f4f5ef;font-synthesis:none;--green:#245c4d;--muted:#62716a;--line:#dce2d9}
*{box-sizing:border-box}body{margin:0}main{width:min(100%,620px);margin:auto;padding:24px 20px 40px}header{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:750;font-size:19px}.mark{display:grid;place-items:center;background:var(--green);color:#fff;width:35px;height:35px;border-radius:10px;font-size:23px}.stage,.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 10px}.intro{padding:36px 0 18px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green);font-weight:700;margin:0 0 12px}h1{font-size:clamp(26px,6vw,36px);letter-spacing:-1px;margin:0 0 14px}h2{font-size:18px;margin:0 0 12px}p{line-height:1.65;margin:8px 0;color:var(--muted);font-size:15px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin:14px 0;box-shadow:0 5px 18px #223a2b05}.status-card{display:flex;align-items:flex-start;gap:13px;background:#eaf0e5;box-shadow:none}.status-card h2{font-size:17px;margin:0 0 4px}.status-card p{margin:0;font-size:14px}.dot{width:10px;height:10px;background:#8c9e89;border-radius:50%;flex-shrink:0;margin-top:6px}.dot.busy{background:#ba822b;animation:pulse 1.5s ease-in-out infinite}.dot.ok{background:#2a7650}.dot.error{background:#b95142}@keyframes pulse{50%{opacity:.4}}button,input,textarea{font:inherit}button{min-height:48px;padding:12px 17px;border:1px solid var(--line);border-radius:11px;background:#f7f8f3;color:var(--green);font-weight:650;cursor:pointer;touch-action:manipulation}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--green);color:white;border-color:var(--green)}#create,#joinInvite,#test{width:100%}button.quiet{background:transparent;border-color:transparent;color:var(--muted)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a8bb69;outline-offset:3px}label{font-size:13px;color:var(--muted);display:block;margin:12px 0 7px}input,textarea{border:1px solid #becac0;border-radius:10px;padding:12px;color:#213b37;background:#fff;width:100%;font-size:16px}input:focus,textarea:focus{outline:2px solid #789f85;outline-offset:1px}#code{text-transform:uppercase;letter-spacing:2px;min-width:0}.join-row{display:flex;gap:10px}.join-row button{flex-shrink:0}.divider{display:flex;align-items:center;gap:14px;margin:26px 0 20px;font-size:12px;color:#849087}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.room-number{font-size:32px;letter-spacing:4px;font-weight:750;color:var(--green);font-variant-numeric:tabular-nums;margin:16px 0 8px;overflow-wrap:anywhere}.small{font-size:13px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{margin:0}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.actions .quiet{grid-column:1/-1}.feedback{min-height:24px;font-size:14px;color:var(--green);margin-top:10px}.error,.notice{color:#9d4534;font-size:14px;overflow-wrap:anywhere}.error:empty{display:none}.notice{border:1px solid #ecd5cd;background:#fff7f0;border-radius:12px;padding:15px}.room-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.success-strip{display:flex;gap:12px;background:#edf4e9;padding:16px;border-radius:12px;margin:20px 0}.success-strip>span{font-size:22px}.success-strip strong{font-size:15px}.success-strip p{margin:3px 0 0;font-size:13px}textarea{resize:vertical;overflow-wrap:anywhere;word-break:break-all}.diagnostics{margin:24px 0;font-size:14px}.diagnostics summary{cursor:pointer;padding:12px 0;color:var(--muted)}pre{background:#e9ede5;padding:14px;border-radius:10px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding-top:20px}footer p,footer span{font-size:12px;color:#7a877e}footer span{display:block;margin-top:18px}[hidden]{display:none!important}@media(max-width:380px){main{padding:20px 14px 30px}.card{padding:19px}.room-number{font-size:28px;letter-spacing:3px}.actions{grid-template-columns:1fr}.actions .quiet{grid-column:auto}h1{font-size:27px}}@media(prefers-reduced-motion:reduce){.dot.busy{animation:none}}
