.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;color:#fff}.admin-login img{width:120px;height:120px}.admin-login h1{margin:8px 0 18px;font-size:22px}.admin-login form{width:min(320px,100%);display:flex;flex-direction:column;gap:10px}.admin-login input{padding:12px 14px;border:0;border-radius:8px;font-size:16px;text-align:left;letter-spacing:0}.admin-login button{background:#fff;color:#c4122e}.admin-login p{margin:0;font-size:14px}.admin-root{min-height:100vh;display:flex;flex-direction:column;background:#f3f4f6;color:#1f2937;text-align:left}.admin-root header{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 20px;background:#8e0d22;color:#fff}.admin-tabs{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0}.admin-root header .admin-tabs button{width:auto;padding:8px 12px;background:transparent;color:#ffffffb8;border:0;border-radius:8px;box-shadow:none}.admin-root header .admin-tabs button.active{background:#ffffff29;color:#fff}.admin-root header button,.admin-root .ghost,.admin-root .admin-confirm button{width:auto;padding:8px 14px;background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none}.admin-stack{flex:1;display:flex;flex-direction:column;width:min(760px,calc(100% - 32px));margin:24px auto}.admin-root section{width:auto;margin:0}.admin-root h1{margin:0;color:#1f2937;font-size:24px}.admin-count{margin:4px 0 16px;color:#6b7280}.draw-box,.draw-done{margin:0 0 16px;padding:14px 16px;border-radius:12px;background:#fff;color:#4b5563}.draw-box p,.draw-done{margin:0 0 10px;font-size:14px;line-height:1.45}.draw-done{margin-bottom:16px;font-weight:700;color:#1f2937}.draw-go{width:auto;background:#c4122e;color:#fff;border:0}.notices h1{margin:0 0 12px}.notices article{margin-bottom:16px;padding:16px;border-radius:12px;background:#fff}.notices h2{margin:0 0 6px;font-size:18px}.notices p,.notice-format{margin:0 0 8px;color:#6b7280;font-size:13px;line-height:1.4}.notices label{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:13px;color:#374151}.notices select,.notices input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;background:#fff;letter-spacing:0;text-align:left;font-weight:500;font-size:14px}.rich-tools{display:flex;gap:6px;margin-bottom:6px}.admin-root .rich-tools button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1f2937;border:1px solid #e5e7eb;box-shadow:none}.rich-box{min-height:160px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#1f2937;font-size:14px;font-weight:500;line-height:1.45;white-space:pre-wrap}.rich-box:focus{outline:2px solid #c4122e}.notice-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.notice-actions select{width:min(280px,100%)}.notice-actions .ghost{width:auto}.admin-notice{margin:0 0 12px}.admin-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9ca3af;text-align:center}.admin-empty img{width:140px;height:140px;filter:grayscale(1) brightness(.72)}.admin-empty p{margin:0;font-size:16px;font-weight:600}.admin-root ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.admin-root li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;background:#fff}.admin-root li strong,.admin-root li span{display:block}.admin-root li span{margin-top:4px;color:#6b7280;font-size:13px}.admin-confirm{display:flex;gap:8px}.admin-root .danger{background:#c4122e;color:#fff;border:0}.reg{width:min(420px,100%);max-width:100%;min-width:0;display:flex;flex-direction:column;gap:14px;text-align:left}.bubble{position:relative;align-self:flex-start;max-width:100%;margin:8px 8px 0 18px;padding:14px 16px;border-radius:16px;background:#f8fafc;color:#4a5568;font-size:14px;font-weight:600;line-height:1.4;box-shadow:0 4px 20px #00000014;transform-origin:24px 0}.bubble.speak{animation:bubble-in .55s cubic-bezier(.16,.84,.28,1)}.bubble-text{display:inline}@keyframes bubble-in{0%{transform:scale(.12);opacity:0}40%{opacity:1}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.bubble.speak{animation:none}}.bubble:after{content:"";position:absolute;top:-8px;left:36px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #f8fafc}.reg-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border-radius:12px;background:#f8fafc;color:#2d3748}.rules p{margin:0 0 10px;font-size:14px;line-height:1.45}.rules ul{margin:0;padding:0 0 0 16px;list-style:none}.rules li{position:relative;margin:0 0 8px;font-size:14px;line-height:1.4}.rules li:before{content:"•";position:absolute;left:-14px;color:#ea0029;font-weight:700}.avatars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;justify-items:center}.avatar{width:76px;height:76px;padding:0;border:3px solid #e2e8f0;border-radius:50%;background:#fff;box-shadow:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:contain}.avatar.selected{border-color:#ea0029;box-shadow:0 0 0 3px #ea002933}.reg input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#2d3748;font-size:16px;letter-spacing:0;text-align:left}.reg input:focus{outline:none;border-color:#ea0029}.reg-hint{margin:0;color:#718096;font-size:13px;line-height:1.4;text-align:center}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#2d0000}.bottom-nav button{flex:1 1 0;width:auto;min-width:0;margin:0;padding:12px 6px;font-size:14px;line-height:1.15;box-shadow:none}.bottom-nav .back{background:#f3f4f6;color:#4b5563;border:2px solid #e5e7eb}.bottom-nav .forward{background:linear-gradient(135deg,#ea0029,#c4122e);color:#fff}.reg-progress{height:6px;border-radius:99px;background:#d1d5db;overflow:hidden}.reg-progress span{display:block;height:100%;background:#ea0029}.reg-step{margin:0;text-align:center;font-size:13px;font-weight:600;color:#4a5568}.room{min-height:100vh;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px calc(76px + env(safe-area-inset-bottom));color:#fff}.room-head{width:min(420px,100%);margin:0 auto 12px;display:flex;align-items:center;gap:12px;text-align:left}.room-head img{width:56px;height:56px}.room-head strong,.room-head span{display:block}.room-head span{margin-top:2px;font-size:13px;color:#f3d5dc}.room-body{width:min(420px,100%);margin:0 auto;flex:1}.room-card,.chat{background:#f7fafc;color:#2d3748;border-radius:16px;padding:16px;text-align:center}.room-avatar{width:96px;height:96px;border-radius:50%;background:#fff;object-fit:contain}.room-card h2,.room-wait h2{margin:8px 0 4px;font-size:20px}.room-city{margin:0 0 12px;color:#718096}.room-list{text-align:left;margin-top:12px}.room-list h3{margin:0 0 6px;font-size:13px;color:#718096}.room-list ul{margin:0;padding-left:18px}.room-list li+li{margin-top:4px}.room-card button,.room-confirm button,.chat form button{margin-top:14px}.room-quiet,.chat-sides button{background:#e2e8f0;color:#4a5568;box-shadow:none}.room-done{margin:14px 0 0;font-weight:700;color:#2f855a}.room-confirm p{margin:14px 0 0}.room-wait{text-align:center;padding:24px 8px}.room-wait img{width:96px;height:96px}.room-wait p{margin:8px 0 0;line-height:1.45}.room-tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;gap:8px;margin:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#2d0000}.room-tabs button{flex:1 1 0;width:auto;min-width:0;margin:0;padding:12px 6px;font-size:14px;background:#ffffff29;color:#fff}.room-tabs button.active,.chat-sides button.active{background:#fff;color:#c4122e}.chat-sides{display:flex;gap:8px}.chat-sides button{width:auto;flex:1;margin:0;padding:10px 8px}.chat-log{min-height:180px;max-height:42vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-top:12px;text-align:left}.chat-log p{margin:0;max-width:85%;padding:8px 12px;border-radius:12px;background:#edf2f7}.chat-log .mine{align-self:flex-end;background:#fed7d7}.chat form{display:flex;gap:8px;margin-top:12px}.chat input{flex:1;min-width:0;padding:12px;border:2px solid #e2e8f0;border-radius:10px;color:#2d3748;letter-spacing:0;text-align:left}.chat form button{width:auto;margin-top:0}.chat-notice{margin:8px 0 0;color:#c4122e;font-size:13px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Montserrat,Segoe UI,sans-serif;color:#fff;background:linear-gradient(185deg,#ea0029,#c4122e,#8b0000,#5a0000,#2d0000)}button,input{font-family:inherit}.screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:max(24px,env(safe-area-inset-top)) 16px max(32px,env(safe-area-inset-bottom));text-align:center}.screen-top{justify-content:flex-start;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.screen-top .logo{width:96px;height:96px;margin-top:4px}.logo{width:170px;height:170px;object-fit:contain}h1{margin:4px 0 18px;font-size:22px;font-weight:700}.code-form,.card,.loader{width:min(320px,100%)}.code-form{display:flex;flex-direction:column;gap:10px}.lead,.loader p,.hint{margin:0;font-size:14px;font-weight:600}.hint{font-size:12px;font-weight:400;color:#f3d5dc}.hint.wide{max-width:280px;line-height:1.45}input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;letter-spacing:2px;text-align:center;color:#2d3748}input:focus{outline:none;border-color:#fff}button{width:100%;padding:12px 20px;border:0;border-radius:8px;background:linear-gradient(135deg,#ea0029,#c4122e);color:#fff;font-size:16px;font-weight:600;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff40}button:active{transform:translateY(1px)}.code-form button{background:#fff;color:#c4122e;box-shadow:none}.card{background:#f7fafc;color:#2d3748;border:1px solid #e2e8f0;border-radius:12px;padding:16px;text-align:left}.card h2{margin:0 0 12px;font-size:16px;text-align:center}.card p{margin:0;font-size:14px;line-height:1.45}.policy{max-height:min(52vh,420px);overflow:auto;margin-bottom:14px;font-size:14px;line-height:1.45;white-space:pre-wrap}.card button+button{margin-top:10px}.accept{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:none}.decline{background:#e2e8f0;color:#4a5568;box-shadow:none}.loader{display:flex;flex-direction:column;align-items:center;gap:10px}.progress{width:220px;height:6px;border-radius:99px;background:#ffffff47;overflow:hidden}.progress span{display:block;height:100%;width:40%;border-radius:inherit;background:#fff;animation:slide 1.1s ease-in-out infinite}@keyframes slide{0%{transform:translate(-130%)}to{transform:translate(320%)}}.toast{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);max-width:min(320px,calc(100% - 32px));padding:12px 16px;border-radius:8px;color:#fff;font-size:14px;font-weight:600;z-index:2}.toast.success{background:#38a169}.toast.error{background:#c53030}.toast.info{background:#2b6cb0}@media(max-width:480px){.logo{width:140px;height:140px}h1{font-size:20px}}
