        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 100%);
            color: #e0e6ff;
            overflow: hidden;
        }

        body.theme-medium {
            background: linear-gradient(135deg, #273055 0%, #3d4b7a 100%);
            color: #f0f4ff;
        }

        body.theme-bright {
            background: linear-gradient(135deg, #dce4ff 0%, #f2f6ff 100%);
            color: #1c2552;
        }

        body.theme-very-dark {
            background: linear-gradient(135deg, #04050f 0%, #0b1022 100%);
            color: #d8deff;
        }

        body.theme-medium .app-container {
            filter: brightness(1.08) saturate(1.05);
        }

        body.theme-bright .app-container {
            filter: brightness(1.1) saturate(1.01);
        }

        body.theme-very-dark .app-container {
            filter: brightness(0.9) saturate(1.08);
        }

        /* Brighter mode readability improvements */
        body.theme-bright .sidebar,
        body.theme-bright .control-panel,
        body.theme-bright .post,
        body.theme-bright .post-composer,
        body.theme-bright .modal-content,
        body.theme-bright .timeline-window,
        body.theme-bright .feed-notice,
        body.theme-bright .chat-window,
        body.theme-bright .notification-panel,
        body.theme-bright .post-reactions,
        body.theme-bright .timeline-post-card {
            background: rgba(248, 251, 255, 0.96) !important;
            border-color: rgba(75, 95, 180, 0.45) !important;
            color: #1c2552 !important;
            box-shadow: 0 8px 24px rgba(70, 90, 170, 0.16);
        }

        body.theme-bright .group-item {
            background: linear-gradient(135deg, rgba(210, 222, 255, 0.92), rgba(234, 241, 255, 0.92));
            border-color: rgba(75, 95, 180, 0.35);
        }

        body.theme-bright .group-item h3,
        body.theme-bright .sidebar h2,
        body.theme-bright .profile-name,
        body.theme-bright .post-time,
        body.theme-bright .feed-label,
        body.theme-bright .friend-name {
            color: #243267 !important;
            text-shadow: none !important;
        }

        body.theme-bright .post-content,
        body.theme-bright .profile-bio,
        body.theme-bright .modal-content label,
        body.theme-bright .timeline-post-preview p,
        body.theme-bright .notification-item {
            color: #2a376d !important;
        }

        body.theme-bright textarea,
        body.theme-bright input,
        body.theme-bright select {
            background: rgba(255, 255, 255, 0.98) !important;
            color: #1f2b5d !important;
            border-color: rgba(75, 95, 180, 0.4) !important;
        }

        body.theme-bright .control-btn,
        body.theme-bright .create-group-btn,
        body.theme-bright .auth-btn,
        body.theme-bright .profile-edit-btn,
        body.theme-bright .reaction-btn {
            background: linear-gradient(135deg, rgba(185, 201, 255, 0.65), rgba(210, 222, 255, 0.65)) !important;
            color: #1e2b5a !important;
            border-color: rgba(75, 95, 180, 0.45) !important;
        }

        /* Very dark mode intensity upgrades */
        body.theme-very-dark .sidebar,
        body.theme-very-dark .control-panel,
        body.theme-very-dark .post,
        body.theme-very-dark .post-composer,
        body.theme-very-dark .modal-content,
        body.theme-very-dark .timeline-window,
        body.theme-very-dark .feed-notice,
        body.theme-very-dark .chat-window,
        body.theme-very-dark .notification-panel,
        body.theme-very-dark .post-reactions,
        body.theme-very-dark .timeline-post-card {
            background: rgba(4, 7, 18, 0.97) !important;
            border-color: rgba(88, 108, 220, 0.48) !important;
            box-shadow: 0 10px 28px rgba(30, 45, 110, 0.35);
        }

        body.theme-very-dark .group-item {
            background: linear-gradient(135deg, rgba(22, 30, 64, 0.78), rgba(16, 24, 55, 0.75));
            border-color: rgba(92, 114, 235, 0.42);
        }

        body.theme-very-dark .group-item:hover,
        body.theme-very-dark .control-btn:hover,
        body.theme-very-dark .create-group-btn:hover,
        body.theme-very-dark .auth-btn:hover {
            box-shadow: 0 8px 22px rgba(80, 104, 255, 0.45);
        }

        /* Main Layout */
        .app-container {
            display: flex;
            height: 100vh;
        }

        /* Left Sidebar - Groups */
        .sidebar {
            width: 280px;
            background: rgba(10, 14, 39, 0.8);
            border-right: 2px solid #4a5fff;
            padding: 20px;
            overflow-y: auto;
            backdrop-filter: blur(10px);
        }

        .sidebar h2 {
            color: #6b7fff;
            margin-bottom: 20px;
            font-size: 24px;
            text-shadow: 0 0 10px rgba(107, 127, 255, 0.5);
        }

        .group-list {
            list-style: none;
        }

        .group-item {
            background: linear-gradient(135deg, rgba(74, 95, 255, 0.2), rgba(107, 127, 255, 0.1));
            margin-bottom: 12px;
            padding: 15px;
            padding-right: 44px;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 1px solid rgba(107, 127, 255, 0.3);
            position: relative;
        }

        .group-item:hover {
            background: linear-gradient(135deg, rgba(74, 95, 255, 0.4), rgba(107, 127, 255, 0.2));
            transform: translateX(5px);
            box-shadow: 0 5px 20px rgba(74, 95, 255, 0.4);
        }

        .group-item h3 {
            color: #8b9fff;
            margin-bottom: 5px;
        }

        .group-item p {
            color: #b0b8ff;
            font-size: 12px;
        }

        .group-remove-btn {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 22px;
            height: 22px;
            border: 1px solid rgba(255, 170, 170, 0.35);
            border-radius: 50%;
            background: rgba(255, 90, 90, 0.16);
            color: #ffd0d0;
            font-size: 15px;
            line-height: 1;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }

        .group-remove-btn:hover {
            background: rgba(255, 90, 90, 0.32);
            border-color: rgba(255, 170, 170, 0.7);
            transform: scale(1.08);
        }

        .sidebar-section-label {
            margin: 12px 0 8px;
            padding-left: 6px;
            color: #6b7fff;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 1px;
            opacity: 0.8;
        }

        .sidebar-footer {
            margin-top: 20px;
            text-align: center;
        }

        .theme-mode-btn {
            margin-top: 10px;
        }

        .about-btn,
        .create-group-btn,
        .auth-btn {
            background: rgba(74, 95, 255, 0.2);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #8b9fff;
            padding: 8px 16px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 13px;
        }

        .about-btn:hover,
        .create-group-btn:hover,
        .auth-btn:hover {
            background: rgba(74, 95, 255, 0.4);
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.4);
        }

        .feed-label {
            text-align: center;
            margin: 10px 0 0;
            color: #6b7fff;
            font-size: 12px;
            letter-spacing: 0.5px;
        }

        .feed-notice {
            max-width: 800px;
            margin: 10px auto 0;
            padding: 10px 14px;
            background: rgba(10, 14, 39, 0.9);
            border: 1px solid rgba(107, 127, 255, 0.4);
            border-radius: 8px;
            color: #8b9fff;
            font-size: 12px;
            display: none;
        }

        .feed-notice.active {
            display: block;
        }

        .toast {
            position: fixed;
            left: 50%;
            bottom: 30px;
            transform: translateX(-50%);
            background: rgba(10, 14, 39, 0.95);
            border: 1px solid rgba(107, 127, 255, 0.6);
            color: #8b9fff;
            padding: 10px 16px;
            border-radius: 10px;
            font-size: 13px;
            box-shadow: 0 10px 25px rgba(74, 95, 255, 0.4);
            opacity: 0;
            transition: opacity 0.3s ease, transform 0.3s ease;
            z-index: 200;
            pointer-events: none;
        }

        .toast.active {
            opacity: 1;
            transform: translateX(-50%) translateY(-6px);
        }

        .auth-btn {
            background: rgba(74, 95, 255, 0.2);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #8b9fff;
            padding: 8px 14px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 13px;
            margin-left: 8px;
        }

        .auth-btn:hover {
            background: rgba(74, 95, 255, 0.4);
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.4);
        }

        .auth-panel {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-bottom: 12px;
        }

        .auth-status {
            padding: 10px 12px;
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 10px;
            background: rgba(12, 18, 45, 0.55);
            font-size: 12px;
            color: #b9c4ff;
            text-align: center;
        }

        .auth-actions {
            display: flex;
            gap: 8px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .auth-divider {
            margin: 14px 0 10px;
            text-align: center;
            color: #8b9fff;
            font-size: 12px;
            opacity: 0.85;
        }

        .google-auth-slot {
            display: flex;
            justify-content: center;
            min-height: 44px;
        }

        .auth-helper-text {
            margin-top: 10px;
            text-align: center;
            color: #8b9fff;
            font-size: 12px;
        }

        /* Main Content Area */
        .main-content {
            flex: 1;
            position: relative;
            overflow: hidden;
        }

        /* Profile/Timeline View */
        .timeline-view {
            padding: 40px;
            overflow-y: auto;
            height: 100%;
            display: none;
            position: relative;
        }

        .timeline-view.active {
            display: block;
        }

        .profile-header {
            text-align: center;
            margin-bottom: 40px;
            position: relative;
        }

        .profile-avatar {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            margin: 0 auto 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 48px;
            box-shadow: 0 0 30px rgba(74, 95, 255, 0.6);
            overflow: hidden;
            position: relative;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .profile-avatar:hover {
            box-shadow: 0 0 40px rgba(74, 95, 255, 0.9);
            transform: scale(1.05);
        }

        .profile-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .profile-avatar-upload {
            position: absolute;
            bottom: 0;
            right: 0;
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            width: 35px;
            height: 35px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            border: 2px solid #0a0e27;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .profile-avatar:hover .profile-avatar-upload {
            opacity: 1;
        }

        .profile-name {
            font-size: 32px;
            color: #8b9fff;
            text-shadow: 0 0 10px rgba(107, 127, 255, 0.5);
        }

        .profile-edit-btn {
            background: rgba(74, 95, 255, 0.2);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #8b9fff;
            padding: 8px 20px;
            border-radius: 8px;
            cursor: pointer;
            margin-top: 15px;
            transition: all 0.3s ease;
        }

        .profile-edit-btn:hover {
            background: rgba(74, 95, 255, 0.4);
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.4);
        }

        /* Friends List */
        .friends-sidebar {
            position: fixed;
            right: 20px;
            top: 120px;
            width: 250px;
            background: rgba(10, 14, 39, 0.9);
            border: 2px solid rgba(107, 127, 255, 0.4);
            border-radius: 16px;
            padding: 20px;
            max-height: 500px;
            overflow-y: auto;
            backdrop-filter: blur(10px);
        }

        .friends-sidebar h3 {
            color: #8b9fff;
            margin-bottom: 15px;
            font-size: 18px;
        }

        .friend-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px;
            margin-bottom: 10px;
            background: rgba(74, 95, 255, 0.1);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .friend-item:hover {
            background: rgba(74, 95, 255, 0.2);
            border-color: rgba(107, 127, 255, 0.6);
            transform: translateX(-5px);
        }

        .contact-actions {
            margin-left: auto;
            display: flex;
            gap: 6px;
        }

        .contact-action-btn {
            background: rgba(74, 95, 255, 0.2);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #8b9fff;
            border-radius: 6px;
            padding: 4px 8px;
            font-size: 11px;
            cursor: pointer;
        }

        .contact-action-btn.blocked {
            background: rgba(255, 120, 120, 0.2);
            border-color: rgba(255, 140, 140, 0.4);
            color: #ffb0b0;
        }

        .notification-btn {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 150;
            background: rgba(10, 14, 39, 0.95);
            border: 1px solid rgba(107, 127, 255, 0.5);
            color: #8b9fff;
            border-radius: 50%;
            width: 42px;
            height: 42px;
            cursor: pointer;
            font-size: 18px;
        }

        .notification-badge {
            position: absolute;
            top: -6px;
            right: -6px;
            background: #ff4d6d;
            color: white;
            border-radius: 50%;
            min-width: 18px;
            height: 18px;
            font-size: 11px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 4px;
        }

        .notification-panel {
            position: fixed;
            top: 70px;
            right: 20px;
            width: 320px;
            max-height: 420px;
            overflow-y: auto;
            background: rgba(10, 14, 39, 0.97);
            border: 1px solid rgba(107, 127, 255, 0.5);
            border-radius: 12px;
            z-index: 149;
            display: none;
            padding: 10px;
        }

        .notification-panel.active {
            display: block;
        }

        .notification-item {
            padding: 8px 10px;
            border-bottom: 1px solid rgba(107, 127, 255, 0.2);
            color: #c0c8ff;
            font-size: 12px;
        }

        .timeline-explorer-content.horizontal {
            display: flex;
            gap: 12px;
            overflow-x: auto;
            padding: 10px;
            white-space: nowrap;
        }

        .timeline-explorer-content.vertical {
            display: flex;
            flex-direction: column;
            gap: 10px;
            max-height: 60vh;
            overflow-y: auto;
            padding: 10px;
        }

        .timeline-post-card {
            background: rgba(74, 95, 255, 0.12);
            border: 1px solid rgba(107, 127, 255, 0.35);
            border-radius: 10px;
            color: #c0c8ff;
            padding: 18px;
            min-width: 360px;
            max-width: 520px;
            font-size: 16px;
            line-height: 1.6;
        }

        .friend-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            overflow: hidden;
        }

        .friend-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .friend-name {
            color: #c0c8ff;
            font-size: 14px;
        }

        .post-composer {
            background: rgba(74, 95, 255, 0.1);
            border: 2px solid rgba(107, 127, 255, 0.3);
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 30px;
        }

        .post-composer textarea {
            width: 100%;
            background: rgba(10, 14, 39, 0.6);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            padding: 15px;
            color: #e0e6ff;
            font-size: 16px;
            resize: vertical;
            min-height: 100px;
        }

        .post-composer button {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: white;
            border: none;
            padding: 12px 30px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            margin-top: 10px;
            transition: all 0.3s ease;
        }

        .post-composer button:hover {
            box-shadow: 0 5px 20px rgba(74, 95, 255, 0.6);
            transform: translateY(-2px);
        }

        .timeline {
            max-width: 800px;
            margin: 0 auto;
        }

        .post {
            background: rgba(74, 95, 255, 0.1);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 20px;
            transition: all 0.3s ease;
            position: relative;
        }

        .post:hover {
            border-color: rgba(107, 127, 255, 0.6);
            box-shadow: 0 5px 20px rgba(74, 95, 255, 0.3);
        }

        .post-header {
            display: flex;
            align-items: center;
            margin-bottom: 15px;
        }

        .post-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            margin-right: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            overflow: hidden;
        }
        .post-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

        .post-content {
            color: #c0c8ff;
            line-height: 1.6;
        }

        .post-time {
            color: #7080ff;
            font-size: 12px;
            margin-top: 10px;
        }

        .post-comments {
            margin-top: 12px;
            padding-top: 10px;
            border-top: 1px solid rgba(107, 127, 255, 0.25);
        }

        .post-comments h4 {
            color: #8b9fff;
            font-size: 12px;
            margin-bottom: 8px;
        }

        .post-comment-item {
            background: rgba(74, 95, 255, 0.08);
            border: 1px solid rgba(107, 127, 255, 0.25);
            border-radius: 8px;
            padding: 8px;
            margin-bottom: 6px;
            color: #c0c8ff;
            font-size: 12px;
        }

        .post-comment-input {
            width: 100%;
            background: rgba(10, 14, 39, 0.8);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            color: #c0c8ff;
            padding: 8px;
            min-height: 60px;
            resize: vertical;
        }

        .post-comment-actions {
            margin-top: 8px;
            display: flex;
            justify-content: flex-end;
        }

        .post-reactions {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 10px;
            background: rgba(10, 14, 39, 0.96);
            border: 1px solid rgba(107, 127, 255, 0.45);
            border-radius: 12px;
            padding: 8px;
            box-shadow: 0 8px 20px rgba(74, 95, 255, 0.35);
            z-index: 5;
        }

        .post-reaction-menu {
            position: absolute;
            top: 14px;
            right: 14px;
            display: none;
        }

        .post:hover .post-reaction-menu {
            display: block;
        }

        .reaction-btn {
            background: rgba(74, 95, 255, 0.14);
            border: 1px solid rgba(107, 127, 255, 0.35);
            border-radius: 999px;
            color: #d6ddff;
            font-size: 12px;
            padding: 4px 10px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .reaction-btn:hover {
            border-color: rgba(107, 127, 255, 0.7);
            transform: translateY(-1px);
        }

        .reaction-btn.active {
            background: rgba(107, 127, 255, 0.35);
            border-color: rgba(180, 194, 255, 0.8);
            color: #ffffff;
        }

        /* 3D Group Space */
        .group-space {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .group-space.active {
            display: block;
        }

        #group-canvas {
            width: 100%;
            height: 100%;
        }

        /* ===== Collaborative Wall (freeform whiteboard + publications) ===== */
        .collab-wall-space {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #101636;
            overflow: hidden;
        }

        .collab-wall-space.active {
            display: flex;
            flex-direction: column;
        }

        .cw-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 16px;
            background: rgba(10, 14, 39, 0.95);
            border-bottom: 1px solid rgba(107, 127, 255, 0.3);
            flex-shrink: 0;
            z-index: 10;
        }

        .cw-toolbar h2 {
            color: #8b9fff;
            font-size: 16px;
            margin: 0;
        }

        .cw-toolbar-info {
            color: #6070aa;
            font-size: 11px;
        }

        .cw-toolbar-right {
            display: flex;
            gap: 6px;
            align-items: center;
        }

        .cw-tool-btn {
            background: rgba(74, 95, 255, 0.15);
            border: 1px solid rgba(107, 127, 255, 0.35);
            color: #b0b8ff;
            padding: 5px 10px;
            border-radius: 6px;
            cursor: pointer;
            font-size: 12px;
            transition: all .2s;
        }

        .cw-tool-btn:hover {
            background: rgba(74, 95, 255, 0.3);
            color: #e0e6ff;
        }

        .cw-tool-btn.active {
            background: rgba(74, 95, 255, 0.45);
            color: #fff;
            border-color: #6b7fff;
        }

        /* Color picker row */
        .cw-colors {
            display: flex;
            gap: 4px;
            align-items: center;
            margin-left: 8px;
        }

        .cw-color-dot {
            width: 18px;
            height: 18px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            transition: border-color .15s;
        }

        .cw-color-dot.active,
        .cw-color-dot:hover {
            border-color: #fff;
        }

        /* Canvas + board area */
        .cw-board {
            position: relative;
            flex: 1;
            overflow: hidden;
            cursor: crosshair;
        }

        .cw-board.mode-select {
            cursor: default;
        }

        .cw-draw-canvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

        /* Floating publications */
        .cw-pub {
            position: absolute;
            z-index: 5;
            min-width: 160px;
            max-width: 300px;
            background: rgba(14, 19, 52, 0.92);
            border: 1px solid rgba(107, 127, 255, 0.45);
            border-radius: 10px;
            padding: 10px 12px;
            padding-top: 14px;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
            cursor: grab;
            user-select: none;
            transition: box-shadow .2s;
        }

        .cw-pub:hover {
            box-shadow: 0 8px 28px rgba(74, 95, 255, 0.35);
        }

        .cw-pub:hover .cw-pub-actions,
        .cw-pub:hover .cw-pub-reactions {
            opacity: 1;
            pointer-events: auto;
        }

        /* Close / action buttons (top-right) */
        .cw-pub-actions {
            position: absolute;
            top: 4px;
            right: 4px;
            display: flex;
            gap: 2px;
            opacity: 0;
            pointer-events: none;
            transition: opacity .2s;
        }

        .cw-pub-action-btn {
            width: 22px;
            height: 22px;
            border-radius: 4px;
            border: none;
            background: rgba(255, 255, 255, 0.08);
            color: #a0a8dd;
            font-size: 12px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .15s, color .15s;
        }

        .cw-pub-action-btn:hover {
            background: rgba(255, 255, 255, 0.18);
            color: #fff;
        }

        .cw-pub-action-btn.delete:hover {
            background: rgba(255, 80, 80, 0.3);
            color: #ff6b6b;
        }

        /* Hover reaction bar (bottom) */
        .cw-pub-reactions {
            display: flex;
            gap: 3px;
            margin-top: 6px;
            opacity: 0;
            pointer-events: none;
            transition: opacity .2s;
            flex-wrap: wrap;
        }

        .cw-pub-react-btn {
            padding: 2px 5px;
            border-radius: 10px;
            border: 1px solid transparent;
            background: rgba(74, 95, 255, 0.1);
            color: #c8d0ff;
            font-size: 13px;
            cursor: pointer;
            transition: all .15s;
            display: flex;
            align-items: center;
            gap: 2px;
        }

        .cw-pub-react-btn:hover {
            background: rgba(74, 95, 255, 0.25);
            border-color: rgba(107, 127, 255, 0.4);
        }

        .cw-pub-react-btn.active {
            background: rgba(74, 95, 255, 0.35);
            border-color: #6b7fff;
        }

        .cw-pub-react-count {
            font-size: 10px;
            color: #8b9fff;
        }

        .cw-pub-header {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 6px;
        }

        .cw-pub-avatar {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            flex-shrink: 0;
        }

        .cw-pub-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .cw-pub-author {
            color: #8b9fff;
            font-size: 11px;
            font-weight: 600;
        }

        .cw-pub-time {
            color: #5565a0;
            font-size: 10px;
            margin-left: auto;
        }

        .cw-pub-body {
            color: #d4daff;
            font-size: 13px;
            line-height: 1.45;
            word-break: break-word;
        }

        .cw-pub-body img {
            max-width: 100%;
            border-radius: 6px;
            margin-top: 4px;
        }

        .cw-pub-body video {
            max-width: 100%;
            border-radius: 6px;
            margin-top: 4px;
        }

        .cw-pub-body a {
            color: #9fb0ff;
        }

        .cw-pub-expiry {
            margin-top: 6px;
            height: 2px;
            border-radius: 1px;
            background: rgba(107, 127, 255, 0.15);
            overflow: hidden;
        }

        .cw-pub-expiry-bar {
            height: 100%;
            background: linear-gradient(90deg, #4a5fff, #8b9fff);
            border-radius: 1px;
            transition: width 5s linear;
        }

        /* Right-click context menu */
        .cw-ctx-menu {
            display: none;
            position: absolute;
            z-index: 100;
            background: rgba(14, 19, 52, 0.97);
            border: 1px solid rgba(107, 127, 255, 0.5);
            border-radius: 10px;
            padding: 6px 0;
            min-width: 180px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
        }

        .cw-ctx-menu.visible {
            display: block;
        }

        .cw-ctx-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 9px 16px;
            color: #c8d0ff;
            font-size: 13px;
            cursor: pointer;
            transition: background .15s;
        }

        .cw-ctx-item:hover {
            background: rgba(74, 95, 255, 0.2);
        }

        .cw-ctx-item .ctx-icon {
            font-size: 16px;
            width: 22px;
            text-align: center;
        }

        /* Inline create forms (appear at mouse position) */
        .cw-inline-form {
            position: absolute;
            z-index: 50;
            background: rgba(14, 19, 52, 0.96);
            border: 1px solid rgba(107, 127, 255, 0.5);
            border-radius: 10px;
            padding: 12px;
            min-width: 250px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
        }

        .cw-inline-form h4 {
            color: #8b9fff;
            margin: 0 0 8px;
            font-size: 13px;
        }

        .cw-inline-form textarea,
        .cw-inline-form input[type="text"],
        .cw-inline-form input[type="url"] {
            width: 100%;
            background: rgba(10, 14, 39, 0.7);
            border: 1px solid rgba(107, 127, 255, 0.35);
            border-radius: 6px;
            padding: 8px 10px;
            color: #e0e6ff;
            font-size: 13px;
            margin-bottom: 6px;
        }

        .cw-inline-form textarea {
            min-height: 50px;
            resize: vertical;
        }

        .cw-inline-form-actions {
            display: flex;
            gap: 6px;
            justify-content: flex-end;
        }

        .cw-inline-form .cw-form-btn {
            padding: 6px 14px;
            border-radius: 6px;
            border: none;
            cursor: pointer;
            font-size: 12px;
            transition: .2s;
        }

        .cw-form-submit {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: #fff;
        }

        .cw-form-submit:hover {
            box-shadow: 0 4px 12px rgba(74, 95, 255, 0.4);
        }

        .cw-form-cancel {
            background: rgba(255, 255, 255, 0.08);
            color: #a0a8dd;
        }

        .cw-form-cancel:hover {
            background: rgba(255, 255, 255, 0.15);
        }

        .cw-hint-overlay {
            position: absolute;
            bottom: 14px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 8;
            background: rgba(10, 14, 39, 0.85);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            padding: 6px 14px;
            color: #7080ff;
            font-size: 11px;
            pointer-events: none;
        }

        /* Group Controls */
        .group-controls {
            position: absolute;
            top: 20px;
            right: 20px;
            z-index: 100;
        }

        .control-panel {
            background: rgba(10, 14, 39, 0.9);
            border: 2px solid rgba(107, 127, 255, 0.5);
            border-radius: 16px;
            padding: 20px;
            backdrop-filter: blur(10px);
        }

        .control-panel h3 {
            color: #8b9fff;
            margin-bottom: 15px;
            font-size: 18px;
        }

        .control-btn {
            display: block;
            width: 100%;
            background: linear-gradient(135deg, rgba(74, 95, 255, 0.3), rgba(107, 127, 255, 0.2));
            border: 1px solid rgba(107, 127, 255, 0.5);
            color: #c0c8ff;
            padding: 10px;
            margin-bottom: 10px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .control-btn:hover {
            background: linear-gradient(135deg, rgba(74, 95, 255, 0.5), rgba(107, 127, 255, 0.3));
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.4);
        }

        .control-btn.active {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: white;
        }

        /* Center Timeline in 3D Space */
        .center-timeline-ui {
            position: absolute;
            left: 50%;
            bottom: 20px;
            transform: translateX(-50%);
            z-index: 10;
            pointer-events: none;
        }

        .timeline-post-form {
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.6);
            border-radius: 16px;
            padding: 20px;
            width: 500px;
            pointer-events: all;
            box-shadow: 0 10px 40px rgba(74, 95, 255, 0.5);
        }

        .timeline-post-form textarea {
            width: 100%;
            background: rgba(10, 14, 39, 0.8);
            border: 1px solid rgba(107, 127, 255, 0.4);
            border-radius: 8px;
            padding: 12px;
            color: #e0e6ff;
            resize: vertical;
            min-height: 80px;
        }

        .timeline-post-form button {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: white;
            border: none;
            padding: 10px 25px;
            border-radius: 8px;
            cursor: pointer;
            margin-top: 10px;
            transition: all 0.3s ease;
        }

        .timeline-post-form button:hover {
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.6);
        }

        /* Back Button */
        .back-btn {
            position: absolute;
            top: 20px;
            left: 20px;
            z-index: 100;
            background: rgba(10, 14, 39, 0.9);
            border: 2px solid rgba(107, 127, 255, 0.5);
            color: #8b9fff;
            padding: 12px 24px;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
            backdrop-filter: blur(10px);
        }

        .back-btn:hover {
            background: rgba(74, 95, 255, 0.3);
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.4);
        }

        /* Chat Window */
        .chat-window {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 350px;
            height: 500px;
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.6);
            border-radius: 16px;
            display: none;
            flex-direction: column;
            box-shadow: 0 10px 40px rgba(74, 95, 255, 0.5);
            backdrop-filter: blur(10px);
            z-index: 1000;
        }

        .chat-window.active {
            display: flex;
        }

        .chat-header {
            padding: 15px;
            border-bottom: 1px solid rgba(107, 127, 255, 0.3);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .chat-header h4 {
            color: #8b9fff;
        }

        .chat-close {
            background: none;
            border: none;
            color: #8b9fff;
            cursor: pointer;
            font-size: 20px;
        }

        .chat-messages {
            flex: 1;
            overflow-y: auto;
            padding: 15px;
        }

        .chat-message {
            background: rgba(74, 95, 255, 0.2);
            padding: 10px;
            border-radius: 8px;
            margin-bottom: 10px;
        }

        .chat-message.own {
            background: rgba(107, 127, 255, 0.3);
            text-align: right;
        }

        .chat-input-area {
            padding: 15px;
            border-top: 1px solid rgba(107, 127, 255, 0.3);
            display: flex;
        }

        .chat-input-area input {
            flex: 1;
            background: rgba(10, 14, 39, 0.8);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            padding: 10px;
            color: #e0e6ff;
            margin-right: 10px;
        }

        .chat-input-area button {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
        }

        /* Edit Profile Modal */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.8);
            z-index: 2000;
            align-items: center;
            justify-content: center;
        }

        .modal.active {
            display: flex;
        }

        .modal-content {
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.6);
            border-radius: 16px;
            padding: 30px;
            max-width: 500px;
            width: 90%;
        }

        #aboutModal .modal-content {
            max-width: 900px;
            width: 92%;
            max-height: 85vh;
            overflow-y: auto;
        }

        .about-text {
            color: #c0c8ff;
            line-height: 1.65;
            margin-bottom: 15px;
            font-size: 18px;
            text-align: left;
        }

        .modal-content h3 {
            color: #8b9fff;
            margin-bottom: 20px;
        }

        .modal-content label {
            display: block;
            color: #b0b8ff;
            margin-bottom: 5px;
            margin-top: 15px;
        }

        .modal-content input {
            width: 100%;
            background: rgba(10, 14, 39, 0.8);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            padding: 10px;
            color: #e0e6ff;
        }

        .modal-content textarea {
            width: 100%;
            background: rgba(10, 14, 39, 0.8);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            padding: 10px;
            color: #e0e6ff;
            resize: vertical;
            min-height: 60px;
        }

        .modal-content input[type="file"] {
            padding: 5px;
        }

        .modal-content select {
            width: 100%;
            background: rgba(10, 14, 39, 0.8);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #e0e6ff;
            padding: 10px;
            border-radius: 8px;
            margin-bottom: 15px;
        }

        .modal-buttons {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }

        .modal-buttons button {
            flex: 1;
            padding: 12px;
            border-radius: 8px;
            border: none;
            cursor: pointer;
            transition: all 0.3 ease;
        }

        .btn-save {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: white;
        }

        .btn-cancel {
            background: rgba(74, 95, 255, 0.2);
            color: #8b9fff;
            border: 1px solid rgba(107, 127, 255, 0.3);
        }

        .profile-bio {
            max-width: 600px;
            margin: 0 auto 30px;
            color: #b0b8ff;
            text-align: center;
            font-style: italic;
            font-size: 14px;
        }

        /* Scrollbar Styling */
        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: rgba(10, 14, 39, 0.5);
        }

        ::-webkit-scrollbar-thumb {
            background: rgba(107, 127, 255, 0.5);
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: rgba(107, 127, 255, 0.7);
        }

        /* Tooltip for hovering over posts */
        .post-tooltip {
            position: fixed;
            background: rgba(10, 14, 39, 0.98);
            border: 2px solid rgba(107, 127, 255, 0.8);
            border-radius: 12px;
            padding: 15px;
            max-width: 350px;
            z-index: 10000;
            pointer-events: none;
            box-shadow: 0 10px 40px rgba(74, 95, 255, 0.6);
            display: none;
        }

        .post-tooltip.active {
            display: block;
        }

        .post-tooltip .tooltip-date {
            color: #6b7fff;
            font-size: 11px;
            margin-bottom: 8px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .post-tooltip h4 {
            color: #8b9fff;
            margin-bottom: 8px;
            font-size: 14px;
        }

        .post-tooltip p {
            color: #c0c8ff;
            font-size: 13px;
            line-height: 1.5;
        }

        .post-tooltip .tooltip-time {
            color: #7080ff;
            font-size: 11px;
            margin-top: 8px;
            font-style: italic;
        }

        /* Member name labels in 3D */
        .member-label {
            position: absolute;
            color: #8b9fff;
            font-size: 11px;
            pointer-events: auto;
            text-shadow: 0 0 10px rgba(74, 95, 255, 0.8);
            background: rgba(10, 14, 39, 0.92);
            padding: 3px 8px;
            border-radius: 6px;
            border: 1px solid rgba(107, 127, 255, 0.5);
            white-space: nowrap;
            font-weight: 600;
            transform: translate(-50%, 0);
            z-index: 150;
        }

        #memberLabels {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 80;
        }

        /* Timeline post date labels in 3D */
        .post-date-label {
            position: absolute;
            color: #6b7fff;
            font-size: 9px;
            pointer-events: none;
            text-shadow: 0 0 8px rgba(74, 95, 255, 0.8);
            background: rgba(10, 14, 39, 0.75);
            padding: 2px 5px;
            border-radius: 4px;
            border: 1px solid rgba(107, 127, 255, 0.3);
            white-space: nowrap;
            font-weight: normal;
            transition: opacity 0.3s ease;
        }

        /* Post content labels for close-up view */
        .post-content-label {
            position: absolute;
            pointer-events: none;
            text-align: center;
            transition: opacity 0.3s ease;
        }

        .post-author-name {
            color: #8b9fff;
            font-size: 11px;
            font-weight: bold;
            text-shadow: 0 0 10px rgba(74, 95, 255, 1);
            background: rgba(10, 14, 39, 0.9);
            padding: 3px 8px;
            border-radius: 6px;
            border: 1px solid rgba(107, 127, 255, 0.5);
            margin-bottom: 4px;
            display: inline-block;
        }

        .post-text-preview {
            color: #c0c8ff;
            font-size: 10px;
            text-shadow: 0 0 8px rgba(74, 95, 255, 0.6);
            background: rgba(10, 14, 39, 0.85);
            padding: 4px 8px;
            border-radius: 5px;
            border: 1px solid rgba(107, 127, 255, 0.3);
            max-width: 150px;
            line-height: 1.3;
            margin-bottom: 3px;
        }

        .post-timestamp {
            color: #6b7fff;
            font-size: 8px;
            text-shadow: 0 0 6px rgba(74, 95, 255, 0.5);
            background: rgba(10, 14, 39, 0.7);
            padding: 2px 5px;
            border-radius: 3px;
            font-style: italic;
        }

        /* View toggle buttons */
        .view-toggle {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            justify-content: center;
        }

        .view-toggle button {
            background: rgba(74, 95, 255, 0.2);
            border: 1px solid rgba(107, 127, 255, 0.3);
            color: #8b9fff;
            padding: 8px 20px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .view-toggle button.active {
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            color: white;
        }

        .view-toggle button:hover {
            box-shadow: 0 5px 15px rgba(74, 95, 255, 0.4);
        }

        /* Calendar View */
        .calendar-view {
            display: none;
            max-width: 900px;
            margin: 0 auto;
        }

        .calendar-view.active {
            display: block;
        }

        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 10px;
            margin-top: 20px;
        }

        .calendar-day {
            background: rgba(74, 95, 255, 0.1);
            border: 1px solid rgba(107, 127, 255, 0.3);
            border-radius: 8px;
            padding: 10px;
            min-height: 100px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .calendar-day:hover {
            background: rgba(74, 95, 255, 0.2);
            border-color: rgba(107, 127, 255, 0.6);
        }

        .calendar-day-header {
            color: #7080ff;
            font-size: 12px;
            margin-bottom: 5px;
        }

        .calendar-post-dot {
            width: 8px;
            height: 8px;
            background: #6b7fff;
            border-radius: 50%;
            margin: 2px;
            display: inline-block;
        }

        /* Individual Timeline View */
        .individual-timeline {
            max-width: 800px;
            margin: 0 auto;
        }

        .timeline-horizontal {
            position: relative;
            padding: 40px 60px;
            margin: 40px 0;
        }

        .timeline-window {
            background: rgba(10, 14, 39, 0.9);
            border: 1px solid rgba(107, 127, 255, 0.45);
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(74, 95, 255, 0.25);
            cursor: pointer;
            transition: all 0.25s ease;
            overflow: hidden;
        }

        .timeline-window:hover {
            border-color: rgba(107, 127, 255, 0.75);
            box-shadow: 0 14px 36px rgba(74, 95, 255, 0.4);
        }

        .timeline-window-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 14px;
            border-bottom: 1px solid rgba(107, 127, 255, 0.3);
            color: #8b9fff;
            font-size: 12px;
            letter-spacing: 0.3px;
        }

        .timeline-window-body {
            padding: 8px 10px 4px;
        }

        .timeline-line {
            position: absolute;
            top: 50%;
            left: 60px;
            right: 60px;
            height: 3px;
            background: linear-gradient(90deg, rgba(74, 95, 255, 0.3), rgba(107, 127, 255, 0.6), rgba(107, 127, 255, 0.6));
        }

        .timeline-label {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            color: #6b7fff;
            font-size: 14px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            text-shadow: 0 0 10px rgba(107, 127, 255, 0.6);
        }

        /* INVERTED: Past is now on the right */
        .timeline-label.past {
            right: 0;
        }

        /* INVERTED: Now is on the left */
        .timeline-label.now {
            left: 0;
        }

        .timeline-posts {
            display: flex;
            justify-content: space-around;
            position: relative;
            padding: 0 60px;
        }

        .timeline-post-item {
            position: relative;
            cursor: pointer;
        }

        .timeline-dot {
            width: 20px;
            height: 20px;
            background: linear-gradient(135deg, #4a5fff, #6b7fff);
            border-radius: 50%;
            box-shadow: 0 0 20px rgba(74, 95, 255, 0.6);
            transition: all 0.3s ease;
        }

        .timeline-dot:hover {
            transform: scale(1.3);
            box-shadow: 0 0 30px rgba(74, 95, 255, 0.9);
        }

        .timeline-post-preview {
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.6);
            border-radius: 12px;
            padding: 12px;
            margin-bottom: 10px;
            width: 200px;
            display: none;
            box-shadow: 0 10px 30px rgba(74, 95, 255, 0.5);
        }

        .timeline-post-item:hover .timeline-post-preview {
            display: block;
        }

        .timeline-post-preview p {
            color: #c0c8ff;
            font-size: 12px;
            margin-bottom: 5px;
        }

        .timeline-post-preview .time {
            color: #7080ff;
            font-size: 10px;
        }

        .post-detail-content {
            background: rgba(74, 95, 255, 0.1);
            border: 1px solid rgba(107, 127, 255, 0.35);
            border-radius: 10px;
            padding: 12px;
            color: #d8ddff;
            margin-bottom: 12px;
        }

        /* Center Message Display */
        .center-message-display {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: 50;
            pointer-events: none;
            text-align: center;
            max-width: 400px;
            width: 100%;
        }

        .center-message-content {
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.8);
            border-radius: 16px;
            padding: 20px;
            box-shadow: 0 10px 40px rgba(74, 95, 255, 0.6);
            backdrop-filter: blur(10px);
            pointer-events: auto;
            opacity: 0;
            transition: opacity 0.5s ease;
        }

        .center-message-content.active {
            opacity: 1;
        }

        .center-message-author {
            color: #8b9fff;
            font-size: 14px;
            font-weight: bold;
            margin-bottom: 10px;
            text-shadow: 0 0 10px rgba(74, 95, 255, 0.8);
        }

        .center-message-text {
            color: #e0e6ff;
            font-size: 16px;
            line-height: 1.5;
            margin-bottom: 10px;
        }

        .center-message-time {
            color: #6b7fff;
            font-size: 11px;
            font-style: italic;
        }

        /* Center Totem Controls */
        .center-controls {
            position: absolute;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 100;
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .totem-toggle {
            background: rgba(74, 95, 255, 0.3);
            border: 1px solid rgba(107, 127, 255, 0.6);
            color: #8b9fff;
            padding: 8px 16px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 14px;
        }

        .totem-toggle:hover {
            background: rgba(74, 95, 255, 0.5);
            box-shadow: 0 0 15px rgba(74, 95, 255, 0.5);
        }

        .totem-toggle.active {
            background: rgba(255, 100, 100, 0.3);
            border-color: rgba(255, 150, 150, 0.6);
            color: #ffaaaa;
        }

        .center-content-selector {
            background: rgba(10, 14, 39, 0.9);
            border: 1px solid rgba(107, 127, 255, 0.6);
            color: #8b9fff;
            padding: 8px 12px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            display: none;
        }

        .center-content-selector.visible {
            display: block;
        }

        .center-content-selector option {
            background: #1a1f3a;
            color: #e0e6ff;
        }

        /* Center Stage Area (when totem is hidden) */
        .center-stage {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: 60;
            display: none;
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.6);
            border-radius: 16px;
            overflow: hidden;
            max-width: 90vw;
            max-height: 90vh;
        }

        .center-stage.active {
            display: block;
        }

        .center-stage.resizable {
            resize: both;
            overflow: auto;
        }

        .center-stage.dragging {
            cursor: grabbing;
        }

        .center-stage-header {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 34px;
            background: rgba(20, 25, 50, 0.95);
            border-bottom: 1px solid rgba(107, 127, 255, 0.4);
            cursor: grab;
            display: flex;
            align-items: center;
            padding: 0 10px;
            color: #8b9fff;
            font-size: 12px;
            z-index: 2;
        }

        #centerStageContent {
            padding-top: 34px;
        }

        .center-stage.expanded {
            width: 90vw;
            height: 90vh;
        }

        .center-stage-fire {
            width: 300px;
            height: 300px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 120px;
            animation: fireFlicker 0.5s infinite alternate;
        }

        @keyframes fireFlicker {
            0% {
                transform: scale(1) rotate(-2deg);
                opacity: 0.9;
            }

            100% {
                transform: scale(1.05) rotate(2deg);
                opacity: 1;
            }
        }

        .center-stage-image {
            width: min(75vw, 900px);
            height: min(65vh, 600px);
        }

        .center-stage-image img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .center-stage-whiteboard {
            width: min(75vw, 900px);
            height: min(65vh, 600px);
            background: white;
            cursor: crosshair;
            display: block;
        }

        .center-stage-video {
            width: min(75vw, 960px);
            height: min(65vh, 540px);
        }

        .center-stage-video video {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .center-stage-text {
            width: 400px;
            padding: 20px;
            max-height: 300px;
            overflow-y: auto;
        }

        .center-stage-text textarea {
            width: 100%;
            height: 200px;
            background: rgba(20, 25, 50, 0.9);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #e0e6ff;
            padding: 15px;
            border-radius: 8px;
            resize: none;
            font-size: 14px;
        }

        .center-stage-audio {
            width: min(70vw, 600px);
            padding: 20px;
            text-align: center;
        }

        .center-stage-audio audio {
            width: 100%;
        }

        .center-stage-close {
            position: absolute;
            top: 10px;
            right: 10px;
            background: rgba(255, 100, 100, 0.3);
            border: none;
            color: #ffaaaa;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 18px;
            line-height: 1;
            z-index: 3;
        }

        .center-stage-expand {
            position: absolute;
            top: 10px;
            right: 50px;
            background: rgba(74, 95, 255, 0.3);
            border: none;
            color: #8b9fff;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 16px;
            line-height: 1;
            z-index: 3;
        }

        .audio-mini {
            position: absolute;
            bottom: 20px;
            right: 20px;
            background: rgba(10, 14, 39, 0.95);
            border: 1px solid rgba(107, 127, 255, 0.5);
            border-radius: 10px;
            padding: 10px 12px;
            z-index: 120;
            display: none;
            align-items: center;
            gap: 10px;
            color: #8b9fff;
            font-size: 12px;
            cursor: grab;
        }

        .audio-mini.active {
            display: flex;
        }

        .recording-indicator {
            display: inline-block;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #ff3333;
            margin-left: 6px;
            opacity: 0;
        }

        .recording-indicator.active {
            animation: recordingPulse 0.8s infinite;
        }

        @keyframes recordingPulse {
            0% {
                opacity: 0.2;
            }

            50% {
                opacity: 1;
            }

            100% {
                opacity: 0.2;
            }
        }

        .center-upload-btn {
            background: rgba(74, 95, 255, 0.3);
            border: 1px solid rgba(107, 127, 255, 0.6);
            color: #8b9fff;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            margin-top: 10px;
        }

        /* Talking Stick Panel */
        .talking-stick-panel {
            position: absolute;
            top: 70px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 100;
            background: rgba(10, 14, 39, 0.9);
            border: 1px solid rgba(107, 127, 255, 0.5);
            border-radius: 10px;
            padding: 8px 14px;
            color: #8b9fff;
            font-size: 12px;
            display: none;
        }

        .talking-stick-panel.active {
            display: block;
        }

        /* Voting Panel */
        .vote-panel {
            position: absolute;
            right: 20px;
            top: 120px;
            width: 300px;
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.5);
            border-radius: 12px;
            padding: 15px;
            z-index: 120;
            display: none;
        }

        .vote-panel.active {
            display: block;
        }

        .vote-panel h4 {
            color: #8b9fff;
            margin-bottom: 10px;
        }

        .vote-panel input,
        .vote-panel textarea {
            width: 100%;
            background: rgba(20, 25, 50, 0.9);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #e0e6ff;
            padding: 8px;
            border-radius: 6px;
            margin-bottom: 10px;
        }

        .vote-panel textarea {
            height: 80px;
            resize: none;
        }

        .vote-panel button {
            background: rgba(74, 95, 255, 0.3);
            border: 1px solid rgba(107, 127, 255, 0.6);
            color: #8b9fff;
            padding: 6px 12px;
            border-radius: 6px;
            cursor: pointer;
        }

        .vote-options-list label {
            display: block;
            margin-bottom: 6px;
            color: #e0e6ff;
        }

        .vote-results {
            margin-top: 10px;
            font-size: 12px;
            color: #c0c8ff;
        }

        .vote-close {
            position: absolute;
            top: 8px;
            right: 8px;
            background: rgba(255, 100, 100, 0.3);
            border: none;
            color: #ffaaaa;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 16px;
            line-height: 1;
        }

        /* Speech Bubbles */
        .speech-bubble {
            position: absolute;
            background: rgba(10, 14, 39, 0.95);
            border: 2px solid rgba(107, 127, 255, 0.8);
            border-radius: 12px;
            padding: 10px 15px;
            max-width: 200px;
            color: #e0e6ff;
            font-size: 12px;
            pointer-events: none;
            z-index: 200;
            opacity: 0;
            transition: opacity 0.3s ease;
            box-shadow: 0 5px 20px rgba(74, 95, 255, 0.4);
        }

        .speech-bubble.visible {
            opacity: 1;
        }

        .speech-bubble::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 10px solid rgba(107, 127, 255, 0.8);
        }

        .speech-bubble .bubble-author {
            font-weight: bold;
            color: #8b9fff;
            margin-bottom: 5px;
            font-size: 11px;
        }

        .speech-bubble .bubble-text {
            line-height: 1.4;
        }

        /* Whiteboard Tools */
        .whiteboard-tools {
            display: flex;
            gap: 10px;
            padding: 10px;
            background: rgba(20, 25, 50, 0.9);
            border-bottom: 1px solid rgba(107, 127, 255, 0.4);
        }

        .whiteboard-tools button,
        .whiteboard-tools input {
            background: rgba(74, 95, 255, 0.2);
            border: 1px solid rgba(107, 127, 255, 0.4);
            color: #8b9fff;
            padding: 5px 10px;
            border-radius: 4px;
            cursor: pointer;
        }

        .whiteboard-tools input[type="color"] {
            width: 40px;
            height: 30px;
            padding: 0;
        }

        .whiteboard-tools input[type="range"] {
            width: 80px;
        }
