:root{font-family:system-ui,-apple-system,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #83a9ff;outline-offset:3px}.fan-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:radial-gradient(ellipse at 28% 12%,#fff5af,#ffed91 46%,#f3d86e);padding:calc(env(safe-area-inset-top) + 46px) 18px calc(env(safe-area-inset-bottom) + 42px);overflow:hidden;position:relative;isolation:isolate}.fan-page:before,.fan-page:after{content:"";position:absolute;border:5px solid #e6c65840;border-radius:50%;pointer-events:none;z-index:-1}.fan-page:before{width:280px;height:280px;top:19%;right:-228px}.fan-page:after{width:240px;height:240px;bottom:6%;left:-185px}.fan-id-card{width:min(100%,340px);text-align:center;display:flex;flex-direction:column;gap:9px;align-items:center;margin-top:2px}.fan-id-label{font-size:17px;font-weight:900;color:#71591d;letter-spacing:.02em}.fan-id-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff8dd;border:2px solid #e1c766;border-radius:16px;padding:12px 18px;color:#463814;font-size:clamp(24px,6vw,31px);font-weight:950;box-shadow:0 7px #d2ba63,0 16px 18px #8d6e2430}.fan-button-wrap{flex:1;display:flex;justify-content:center;align-items:center;width:100%;padding:24px 0 26px}.buzz3d{position:relative;width:min(76vw,288px);height:min(76vw,288px);display:grid;place-items:center;touch-action:manipulation;user-select:none;-webkit-user-select:none}.buzz3d-plinth{position:absolute;inset:10%;border-radius:50%;background:#d7d9de;border:2px solid #b3b6bd}.buzz3d-main{position:absolute;inset:18%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85);border-radius:50%;color:#fff;font-size:clamp(24px,6.5vw,34px);font-weight:950;letter-spacing:.03em;text-shadow:none;white-space:nowrap;transform:scale(1);transition:transform .14s ease,background .14s ease,box-shadow .14s ease;opacity:1!important;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 8px #0000000f}.buzz3d-main:before{content:"";position:absolute;inset:7%;border-radius:50%;border-top:3px solid rgba(255,255,255,.3);pointer-events:none}.buzz3d-main:after{display:none}.buzz3d-main-waiting{background:#9da3ad;color:#fff}.buzz3d-main-open{background:#f24a3d;animation:buzz-pop .34s ease-out both}.buzz3d-main-buzzed{background:#5b8fc9;transform:scale(.96)}.buzz3d-main-turn{background:#24a565;animation:buzz-pop .34s ease-out both,turn-ring 1s ease-in-out infinite alternate}.buzz3d-main-open:active{transform:scale(.96);animation:none}@keyframes buzz-pop{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes turn-ring{0%{box-shadow:0 0 0 8px #0000000f,0 0 #24a5652e}to{box-shadow:0 0 0 8px #0000000f,0 0 0 12px #24a5652e}}.join-form{margin:auto;width:min(100%,350px);display:flex;flex-direction:column;gap:18px;text-align:center}.join-form h1{font-size:30px;color:#473919;margin:0 0 16px}.join-form input,.login-card input{background:#fffcf2;color:#342c1d;border:2px solid #d8c16e;border-radius:14px;font-size:21px;padding:17px;text-align:center;width:100%}.join-form button{border:0;background:#e9483c;color:#fff;padding:17px;border-radius:14px;font-size:21px;font-weight:900;box-shadow:0 5px #b83025}.join-error{margin:0;color:#a92920;font-weight:700}.host-page{min-height:100dvh;background:#122238;color:#f6f9ff;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.host-shell{max-width:660px;margin:auto;padding:22px 17px 42px;display:flex;flex-direction:column;gap:16px}.host-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.host-heading h1{font-size:24px;margin:4px 0 0;font-weight:850;letter-spacing:-.03em}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#a6bcdb}.host-top-actions{display:flex;gap:7px}.small-button{color:#eff6ff;border:1px solid #5d7796;background:#263d58;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:750}.host-question,.host-lever-card,.host-queue{background:#243852;border:1px solid #38516b;border-radius:17px;padding:16px}.section-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#a4bad4;font-weight:700}.host-question p{font-size:clamp(19px,5vw,24px);line-height:1.55;font-weight:900;margin:13px 0 5px;white-space:pre-wrap;overflow-wrap:anywhere}.connection-label{display:flex;align-items:center;gap:6px}.online-dot,.offline-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4ade80}.offline-dot{background:#f5b942}.host-lever-card{padding-bottom:16px}.lever-panel{display:flex;align-items:center;margin-top:15px;min-height:124px;gap:16px}.lever-display{height:96px;width:120px;flex:none;background:#0b192b;border:2px solid #536d8c;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:none}.lever-display strong{font-size:clamp(34px,10vw,46px);font-weight:900;letter-spacing:.03em;line-height:1;color:#f0f5fc}.lever-panel-live .lever-display strong{color:#80ec9e}.power-switch{position:relative;width:66px;height:118px;flex:none;background:transparent;border:0;touch-action:none;opacity:1!important;cursor:grab;padding:0}.power-switch:active{cursor:grabbing}.switch-track{position:absolute;left:31px;top:10px;width:4px;height:98px;background:#b8c0cb;border-radius:999px}.switch-line{position:absolute;left:31px;top:18px;width:4px;height:44px;background:#2f3c4d;border-radius:999px;transform-origin:top center;transition:transform .22s ease,height .22s ease,top .22s ease}.switch-handle{position:absolute;left:20px;top:8px;width:26px;height:26px;background:#2f3c4d;border-radius:6px;transition:top .22s ease}.power-switch-on .switch-line{top:54px;height:42px}.power-switch-on .switch-handle{top:50px}.power-switch:disabled{cursor:default;opacity:.55}.current-person{margin-top:13px;background:#14263b;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:5px;min-height:125px}.current-position{font-size:12px;color:#a8bed8}.current-person strong{font-size:25px;font-weight:850;overflow-wrap:anywhere}.reserve-line{font-size:12px;color:#a8bed8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.action-button{border:0;border-radius:11px;min-height:51px;font-size:18px;font-weight:850;color:#fff;background:#386bc4}.action-button.correct{background:#17a46a}.action-button.wrong{background:#ac3947}.next-button{background:#304a69;border:1px solid #6585aa;border-radius:11px;color:#f5f8fc;font-size:17px;font-weight:800;padding:15px}.host-footer{display:flex;justify-content:space-between;align-items:center;color:#a8bbd2;font-size:12px;padding:3px 4px}.host-footer button{border:0;background:none;color:#a8bbd2;text-decoration:underline}.host-login{display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:min(100%,380px);display:flex;flex-direction:column;gap:19px;background:#243852;padding:25px;border-radius:20px}.login-card h1{margin:0}.login-card input{text-align:left;font-size:18px}.auth-error{color:#ffc0c0}.host-loading{margin:30vh auto;border:4px solid #708db0;border-top-color:transparent;border-radius:50%;width:38px;height:38px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editor{display:flex;flex-direction:column;gap:15px}.question-list{max-height:255px;overflow:auto;background:#1b2d45;padding:8px;border-radius:13px;display:flex;flex-direction:column;gap:6px}.question-list-item{border:1px solid #3c5873;text-align:left;border-radius:8px;padding:10px;background:#243852;color:#dae7f7;line-height:1.4}.question-list-item.selected{background:#3f6085;border-color:#a0c8ed}.editor textarea{width:100%;border-radius:12px;background:#f5f9ff;color:#24344e;border:0;padding:13px;resize:vertical;line-height:1.5}.editor-actions{display:flex;gap:7px;flex-wrap:wrap}.danger-outline{border-color:#b7656b;color:#ffc9cc}.save-button{background:#168e59}.modal-backdrop{position:fixed;inset:0;background:#081525d9;z-index:20;display:flex;justify-content:center;align-items:center;padding:18px}.share-modal{background:#f8fafc;color:#1d3047;width:min(100%,375px);border-radius:20px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:14px;position:relative}.share-modal h2{margin:0;font-size:22px}.modal-close{position:absolute;right:10px;top:9px;border:0;background:transparent;color:#253249}.qr-wrap{padding:12px;background:#fff;border-radius:12px}.share-url{font-size:11px;overflow-wrap:anywhere;text-align:center}.share-modal .action-button{width:100%}@media(max-width:350px){.host-shell{padding-left:11px;padding-right:11px}.host-question,.host-lever-card,.host-queue{padding:12px}.power-switch{transform:scale(.94);transform-origin:center}}@media(prefers-reduced-motion:reduce){.buzz3d-main-open,.buzz3d-main-turn,.buzz3d-main-buzzed{animation:none}.switch-line,.switch-handle{transition:none}}
