.app[data-v-e5c3ba19]{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#7ec850;overflow:hidden;--desk-button-size: clamp(12px, 2.15vw, 22px);--desk-button-font: clamp(7px, 1vw, 10px);--add-button-size: clamp(54px, 7.8vw, 80px);--add-icon-size: clamp(22px, 3.2vw, 32px);--add-label-size: clamp(9px, 1.2vw, 12px);--person-photo-size: clamp(42px, 6.2vw, 64px);--desk-photo-size: calc(var(--person-photo-size) * .58);--name-font-size: clamp(8px, 1.1vw, 11px);--seat-name-font-size: clamp(7px, 1vw, 10px)}.stage[data-v-e5c3ba19]{position:relative;aspect-ratio:1024 / 524;flex-shrink:0}@media(min-aspect-ratio:1 / 1){.stage[data-v-e5c3ba19]{height:100vh;width:calc(100vh * 1024 / 524)}}@media(max-aspect-ratio:1 / 1){.stage[data-v-e5c3ba19]{width:100vw;height:calc(100vw * 524 / 1024)}}.bg-image[data-v-e5c3ba19]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.top-bg-image[data-v-e5c3ba19]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:100}.loading-tip[data-v-e5c3ba19]{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#ffffffe6;padding:8px 16px;border-radius:20px;font-size:14px;color:#666;z-index:100}.desk-marker[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-50%);width:var(--desk-button-size);height:var(--desk-button-size);border-radius:50%;border:1px solid transparent;background:transparent;color:transparent;font-size:var(--desk-button-font);font-weight:700;line-height:1;cursor:default;z-index:5;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:none;pointer-events:none}.desk-marker.occupied[data-v-e5c3ba19]{background:transparent;box-shadow:none}.teacher-marker[data-v-e5c3ba19]{width:calc(var(--desk-button-size) * 1.35);border-radius:999px;background:transparent;border-color:transparent;color:transparent}.teacher-marker.occupied[data-v-e5c3ba19]{background:transparent;box-shadow:none}.route-marker[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-50%);width:clamp(14px,1.8vw,24px);height:clamp(14px,1.8vw,24px);border-radius:50%;border:2px solid transparent;background:transparent;color:transparent;font-size:clamp(7px,.9vw,11px);font-weight:700;line-height:1;z-index:130;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:none;pointer-events:none}.activity-overlay[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-115%);z-index:150;display:flex;align-items:center;justify-content:center;pointer-events:none}.activity-gif[data-v-e5c3ba19],.activity-fallback[data-v-e5c3ba19]{width:clamp(96px,16vw,210px);height:clamp(72px,12vw,150px);border-radius:18px;border:4px solid rgba(255,255,255,.95);background:#ffffffe0;box-shadow:0 12px 36px #00000047;object-fit:contain}.activity-fallback[data-v-e5c3ba19]{display:flex;align-items:center;justify-content:center;color:#e67e22;font-size:clamp(24px,4vw,44px);font-weight:800}.queue-area[data-v-e5c3ba19]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.add-btn[data-v-e5c3ba19]{position:absolute;left:2%;bottom:2%;width:var(--add-button-size);height:var(--add-button-size);border-radius:50%;background:#fffffff2;box-shadow:0 4px 20px #00000040;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;pointer-events:auto}.add-btn[data-v-e5c3ba19]:hover{transform:scale(1.08);box-shadow:0 6px 28px #0000004d}.reset-seats-btn[data-v-e5c3ba19]{position:absolute;left:2%;bottom:calc(2% + var(--add-button-size) + 8px);padding:clamp(6px,.9vw,10px) clamp(10px,1.4vw,16px);border:2px solid rgba(255,255,255,.9);border-radius:999px;background:#e67e22eb;color:#fff;font-size:clamp(10px,1.25vw,14px);font-weight:700;cursor:pointer;z-index:12;box-shadow:0 4px 16px #0000003d;pointer-events:auto;transition:transform .2s,opacity .2s}.reset-seats-btn[data-v-e5c3ba19]:hover:not(:disabled){transform:translateY(-2px)}.reset-seats-btn[data-v-e5c3ba19]:disabled{cursor:not-allowed;opacity:.55}.btn-icon[data-v-e5c3ba19]{font-size:var(--add-icon-size);line-height:1;color:#e67e22;font-weight:300}.btn-label[data-v-e5c3ba19]{font-size:var(--add-label-size);color:#666;margin-top:2px}.queue-person[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:transform .2s;pointer-events:auto}.queue-person[data-v-e5c3ba19]:hover{transform:translate(-50%,-50%) translateY(-4px)}.queue-person.is-first[data-v-e5c3ba19]{animation:queue-pulse-e5c3ba19 2s ease-in-out infinite}@keyframes queue-pulse-e5c3ba19{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}.queue-person.is-first[data-v-e5c3ba19]:hover{animation:none;transform:translate(-50%,-50%) translateY(-4px)}.queue-photo[data-v-e5c3ba19]{width:var(--person-photo-size);height:var(--person-photo-size);border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 16px #00000040}.queue-name[data-v-e5c3ba19]{background:#ffffffeb;padding:2px 8px;border-radius:8px;font-size:var(--name-font-size);color:#333;font-weight:600;white-space:nowrap;max-width:var(--person-photo-size);overflow:hidden;text-overflow:ellipsis}.queue-tip[data-v-e5c3ba19]{background:#ffffffeb;padding:3px 8px;border-radius:8px;font-size:var(--seat-name-font-size);color:#e67e22;font-weight:600;white-space:nowrap}.flying-photo[data-v-e5c3ba19]{position:absolute;z-index:50;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.flying-img[data-v-e5c3ba19]{width:var(--person-photo-size);height:var(--person-photo-size);border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 16px #0000004d}.flying-name[data-v-e5c3ba19]{background:#ffffffeb;padding:2px 8px;border-radius:8px;font-size:var(--name-font-size);color:#333;font-weight:600;white-space:nowrap}.desk-student[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;z-index:20;cursor:pointer;animation:popIn-e5c3ba19 .4s ease-out}@keyframes popIn-e5c3ba19{0%{transform:translate(-50%,-50%) scale(.86);opacity:.85}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.desk-student[data-v-e5c3ba19]:hover{transform:translate(-50%,-50%) scale(1.1);transition:transform .2s}.desk-student.teacher .desk-photo[data-v-e5c3ba19]{border-color:#8e44ad;box-shadow:0 0 10px #8e44ada6}.seat-video-popover[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-112%);width:clamp(160px,24vw,280px);padding:8px;border-radius:14px;background:#fffffff5;box-shadow:0 12px 34px #0000004d;z-index:160}.seat-video-title[data-v-e5c3ba19]{padding:0 28px 6px 4px;color:#333;font-size:clamp(11px,1.3vw,14px);font-weight:700}.seat-video-close[data-v-e5c3ba19]{position:absolute;top:6px;right:6px;width:22px;height:22px;border:none;border-radius:50%;background:#eee;color:#666;cursor:pointer}.seat-video-player[data-v-e5c3ba19]{width:100%;height:clamp(90px,15vw,160px);border-radius:10px;background:#000;object-fit:contain}.seat-voice-popover[data-v-e5c3ba19]{position:absolute;transform:translate(-50%,-125%);z-index:155;pointer-events:none}.seat-voice-gif[data-v-e5c3ba19]{width:clamp(46px,7vw,80px);height:clamp(46px,7vw,80px);object-fit:contain;border-radius:16px;box-shadow:0 8px 22px #00000038}.desk-photo[data-v-e5c3ba19]{width:var(--desk-photo-size);height:var(--desk-photo-size);border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 10px #0000004d;animation:seated-sway-e5c3ba19 2.8s ease-in-out infinite;transform-origin:50% 85%}@keyframes seated-sway-e5c3ba19{0%,to{transform:rotate(-4deg) translate(-1px)}50%{transform:rotate(4deg) translate(1px)}}.desk-name[data-v-e5c3ba19]{background:#ffffffe0;padding:1px 6px;border-radius:6px;font-size:var(--seat-name-font-size);color:#333;font-weight:500;max-width:calc(4.5em + 12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay[data-v-e5c3ba19]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-e5c3ba19]{background:#fff;border-radius:20px;padding:32px;width:90%;max-width:420px;position:relative;box-shadow:0 20px 60px #0000004d}.modal-close[data-v-e5c3ba19]{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f0f0f0;border-radius:50%;font-size:20px;cursor:pointer;line-height:1;color:#666}.modal-close[data-v-e5c3ba19]:hover{background:#e0e0e0}.modal-title[data-v-e5c3ba19]{text-align:center;font-size:22px;color:#333;margin-bottom:24px}.photo-section[data-v-e5c3ba19]{margin-bottom:20px;display:flex;flex-direction:column;align-items:center}.photo-placeholder[data-v-e5c3ba19]{width:132px;height:132px;border:2px dashed #ccc;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:#888;transition:border-color .2s,background .2s}.photo-placeholder[data-v-e5c3ba19]:hover{border-color:#e67e22;background:#fff8f0;color:#e67e22}.camera-icon[data-v-e5c3ba19]{width:34px;height:34px}.camera-wrap[data-v-e5c3ba19]{position:relative;width:100%;border-radius:12px;overflow:hidden}.camera-wrap video[data-v-e5c3ba19]{width:100%;height:180px;object-fit:cover;background:#000;display:block}.capture-btn[data-v-e5c3ba19]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:8px 20px;background:#ffffffe6;border:none;border-radius:20px;font-size:14px;cursor:pointer;box-shadow:0 2px 8px #0003}.preview-wrap[data-v-e5c3ba19]{position:relative;width:132px;height:132px}.photo-preview[data-v-e5c3ba19]{width:132px;height:132px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 6px 20px #0000002e}.retake-btn[data-v-e5c3ba19]{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);padding:6px 14px;background:#0009;color:#fff;border:none;border-radius:16px;font-size:12px;cursor:pointer}.error-msg[data-v-e5c3ba19]{color:#e74c3c;font-size:13px;margin-top:8px;text-align:center}.input-group[data-v-e5c3ba19]{margin-bottom:20px;position:relative}.input-group label[data-v-e5c3ba19]{display:block;font-size:14px;color:#555;margin-bottom:8px}.input-group input[data-v-e5c3ba19]{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:10px;font-size:16px;outline:none;transition:border-color .2s}.input-group input[data-v-e5c3ba19]:focus{border-color:#e67e22}.name-suggestions[data-v-e5c3ba19]{position:absolute;left:0;right:0;top:calc(100% + 4px);max-height:160px;overflow-y:auto;background:#fff;border:1px solid #f0c58c;border-radius:10px;box-shadow:0 8px 24px #00000029;z-index:5}.name-suggestion[data-v-e5c3ba19]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:none;background:transparent;color:#333;font-size:14px;cursor:pointer}.name-suggestion[data-v-e5c3ba19]:hover{background:#fff8f0}.name-suggestion small[data-v-e5c3ba19]{color:#e67e22;font-size:12px}.record-section[data-v-e5c3ba19]{margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.record-type-tabs[data-v-e5c3ba19]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.record-type-btn[data-v-e5c3ba19]{padding:10px 12px;border:1px solid #e7d6c1;border-radius:10px;background:#fff;color:#80552b;font-size:14px;cursor:pointer}.record-type-btn.active[data-v-e5c3ba19]{border-color:#e67e22;background:#fff3e3;color:#d35400;font-weight:600}.record-type-btn[data-v-e5c3ba19]:disabled{cursor:not-allowed;opacity:.65}.record-btn[data-v-e5c3ba19]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#f0f0f0;border:none;border-radius:10px;font-size:15px;cursor:pointer;transition:background .2s}.record-btn[data-v-e5c3ba19]:hover{background:#e8e8e8}.record-btn.recording[data-v-e5c3ba19]{background:#ffe0e0;color:#c0392b}.record-dot[data-v-e5c3ba19]{width:10px;height:10px;border-radius:50%;background:#ccc}.record-btn.recording .record-dot[data-v-e5c3ba19]{background:#e74c3c;animation:pulse-e5c3ba19 1s infinite}@keyframes pulse-e5c3ba19{0%,to{opacity:1}50%{opacity:.4}}.audio-player[data-v-e5c3ba19]{width:100%;height:36px}.record-video-preview[data-v-e5c3ba19],.record-video-player[data-v-e5c3ba19]{width:100%;height:180px;object-fit:cover;border-radius:12px;background:#000}.save-btn[data-v-e5c3ba19]{width:100%;padding:14px;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.save-btn[data-v-e5c3ba19]:hover{opacity:.9;transform:translateY(-1px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100vh;overflow:hidden}
