.portal-inline-keyboard{box-sizing:border-box;flex-direction:column;gap:5px;width:100%;max-width:100%;margin-top:5px;display:flex}.portal-inline-keyboard-row{box-sizing:border-box;flex-direction:row;align-items:stretch;gap:5px;width:100%;max-width:100%;display:flex}.portal-inline-btn{letter-spacing:-.01em;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#ffffff17;border:1px solid #ffffff1f;border-radius:12px;outline:none;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:38px;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;transition:all .14s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 3px #0003;color:#fff!important}.portal-inline-btn:hover{background:#ffffff26;border-color:#ffffff38;transform:translateY(-.5px);color:#fff!important}.portal-inline-btn:active{background:#ffffff30;transform:scale(.98)}.portal-inline-btn.is-loading{opacity:.75;cursor:wait;pointer-events:none}.portal-inline-btn.is-url{color:var(--accent-blue,#3b98ff)!important}.portal-inline-btn.is-url:hover{background:#3b98ff1f;border-color:#3b98ff47;color:var(--accent-hover,#5f7dff)!important}.portal-inline-btn-text{text-overflow:ellipsis;white-space:nowrap;color:inherit;overflow:hidden}.portal-inline-btn-icon{opacity:.85;flex-shrink:0}@keyframes portalInlineSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-inline-spinner{flex-shrink:0;animation:.75s linear infinite portalInlineSpin}[data-theme=dark] .portal-inline-btn{background:#ffffff17;border-color:#ffffff1f;color:#fff!important}[data-theme=dark] .portal-inline-btn:hover{background:#ffffff26;border-color:#ffffff38;color:#fff!important}[data-theme=dark] .portal-inline-btn:active{background:#ffffff30}[data-theme=dark] .portal-inline-btn.is-url{color:var(--accent-blue,#3b98ff)!important}[data-theme=light] .portal-inline-btn{background:#0000000f;border-color:#00000014;box-shadow:0 1px 2px #0000000d;color:#000!important}[data-theme=light] .portal-inline-btn:hover{background:#0000001a;border-color:#00000024;color:#000!important}[data-theme=light] .portal-inline-btn:active{background:#00000026}[data-theme=light] .portal-inline-btn.is-url{color:#007aff!important}[data-theme=light] .portal-inline-btn.is-url:hover{background:#007aff1a;border-color:#007aff38}.portal-photo-viewer-backdrop{z-index:99999;-webkit-backdrop-filter:blur(24px);-webkit-user-select:none;user-select:none;background:#0f1115f0;flex-direction:column;justify-content:space-between;align-items:center;animation:.22s cubic-bezier(.16,1,.3,1) both portalPhotoViewerFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes portalPhotoViewerFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}}.portal-photo-viewer-header{z-index:10;box-sizing:border-box;background:linear-gradient(#0f1115cc 0%,#0f111500 100%);justify-content:space-between;align-items:center;width:100%;height:60px;padding:0 16px;display:flex}.portal-photo-viewer-sender{align-items:center;gap:10px;display:flex}.portal-photo-viewer-meta{flex-direction:column;display:flex}.portal-photo-viewer-name{color:var(--text-primary,#e5e7eb);letter-spacing:-.01em;font-size:14px;font-weight:600}.portal-photo-viewer-time{color:var(--text-secondary,#9ca3af);font-size:11px}.portal-photo-viewer-actions{align-items:center;gap:8px;display:flex}.portal-photo-viewer-btn{border:1px solid var(--border-color,#2e3238);background:var(--bg-surface-2,#23262b);width:38px;height:38px;color:var(--text-primary,#e5e7eb);cursor:pointer;border-radius:50%;outline:none;justify-content:center;align-items:center;transition:all .16s;display:flex}.portal-photo-viewer-btn:hover:not(:disabled){background:var(--bg-surface-hover,#2a2f36);border-color:var(--border-strong,#383d45);transform:scale(1.05)}.portal-photo-viewer-btn:active:not(:disabled){transform:scale(.95)}.portal-photo-viewer-btn:disabled{opacity:.3;cursor:not-allowed}.portal-photo-viewer-btn.close-btn:hover{border-color:var(--destructive,#ef4444);background:#ef444440}.portal-photo-viewer-stage{touch-action:none;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.portal-photo-viewer-img{object-fit:contain;will-change:transform;border-radius:8px;max-width:90vw;max-height:82vh;transition:transform .12s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 40px #0009}.portal-photo-viewer-stage.is-dragging .portal-photo-viewer-img{transition:none}.portal-photo-viewer-footer{z-index:10;box-sizing:border-box;background:linear-gradient(#0f111500 0%,#0f1115d9 100%);justify-content:center;align-items:center;width:100%;padding:14px 20px 24px;display:flex}.portal-photo-viewer-caption{background:var(--bg-surface,#1a1d21);border:1px solid var(--border-color,#2e3238);max-width:600px;color:var(--text-primary,#e5e7eb);text-align:center;word-break:break-word;border-radius:14px;padding:10px 16px;font-size:14px;line-height:1.4;box-shadow:0 4px 18px #0006}.portal-photo-viewer-viewonce-badge{color:#ff9500;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;background:#ff950026;border:1px solid #ff950059;border-radius:9999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}:root,[data-theme=dark]{--app-bg:#0f1115;--bg-canvas:#0f1115;--bg-sidebar:#1a1d21;--bg-header:#1a1d21;--bg-surface:#1a1d21;--bg-surface-1:#1a1d21;--bg-surface-2:#23262b;--bg-surface-3:#2a2f36;--bg-surface-elevated:#1a1d21;--bg-surface-hover:#1f2328;--bg-surface-active:#23262b;--bg-card:#23262b;--bg-input:#23262b;--border-color:#2e3238;--border-hairline:#2e3238;--border-subtle:#2e3238;--border-strong:#383d45;--border-focus:#3b98ff;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-tertiary:#6b7280;--text-placeholder:#6b7280;--text-muted:#6b7280;--text-inverse:#0f1115;--accent-blue:#3b98ff;--accent-primary:#3b98ff;--accent-hover:#5f7dff;--accent-active:#2f84e6;--accent-blue-subtle:#3b98ff26;--accent-white:#e5e7eb;--accent-white-hover:#fff;--accent-white-active:#d1d5db;--bubble-incoming-bg:#1f2328;--bubble-incoming-border:#2e3238;--bubble-incoming-text:#e5e7eb;--bubble-outgoing-bg:#2a2f36;--bubble-outgoing-border:#2e3238;--bubble-outgoing-text:#e5e7eb;--status-online:#22c55e;--status-offline:#6b7280;--destructive:#ef4444;--destructive-bg:#ef444424;--glass-bar-bg:#1a1d21;--glass-shell-gradient:none;--glass-outer-shadow:0 8px 24px #00000059;--glass-rim-highlight:#ffffff0a;--glass-surface-sheen:transparent;--dialog-header-bg:#1a1d21;--dialog-header-gradient:none;--dialog-header-rim:#2e3238;--dialog-header-shadow:none;--pill-bg:#23262b;--pill-shadow:0 2px 8px #0003;--pill-rim:#2e3238;--tab-inactive:#9ca3af;--tab-active:#3b98ff;--home-indicator:#ffffff73;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", system-ui, sans-serif;--font-family-mono:"SF Mono", Menlo, Consolas, Monaco, monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:9999px;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.22s cubic-bezier(.16, 1, .3, 1);--z-base:1;--z-dropdown:50;--z-header:100;--z-modal:200;--z-toast:300}[data-theme=light]{--app-bg:#f2f2f7;--bg-canvas:#efeff4;--bg-sidebar:#fff;--bg-header:#fffffff0;--bg-input:#e9e9ee;--bg-surface-1:#fff;--bg-surface-2:#f2f2f7;--bg-surface-3:#e5e5ea;--bg-surface-elevated:#fff;--bg-surface:#fff;--bg-surface-hover:#f2f2f7;--bg-surface-active:#e8eef7;--bg-card:#fff;--border-hairline:#3c3c4326;--border-subtle:#3c3c4338;--border-strong:#3c3c435c;--border-focus:#007aff;--border-color:#3c3c4326;--text-primary:#000;--text-secondary:#8e8e93;--text-tertiary:#aeaeb2;--text-placeholder:#8e8e93;--text-inverse:#fff;--accent-blue:#007aff;--accent-white:#007aff;--accent-white-hover:#0062cc;--accent-white-active:#004fb3;--bubble-incoming-bg:#fff;--bubble-incoming-border:#0000000f;--bubble-incoming-text:#000;--bubble-outgoing-bg:#007aff;--bubble-outgoing-border:transparent;--bubble-outgoing-text:#fff;--status-online:#34c759;--status-offline:#8e8e93;--destructive:#ff3b30;--destructive-bg:#ff3b301f;--glass-bar-bg:#ffffffb8;--glass-shell-gradient:linear-gradient(180deg, #ffffffeb 0%, #ffffffbf 48%, #f2f2f7d9 100%);--glass-outer-shadow:0 10px 24px -4px #00000014, 0 2px 6px 0 #00000008, inset 0 .75px 0 0 #fffffff2, inset 0 -.5px 0 0 #0000000d;--glass-rim-highlight:#fffffff2;--glass-surface-sheen:#ffffff40;--dialog-header-bg:#ffffffad;--dialog-header-gradient:linear-gradient(180deg, #ffffffd9 0%, #ffffff8c 45%, #f2f2f780 100%);--dialog-header-rim:#ffffffd9;--dialog-header-shadow:none;--pill-bg:linear-gradient(180deg, #fffffff2 0%, #ffffffbf 100%);--pill-shadow:0 2px 8px #0000000f, inset 0 1px .5px #fffffff2;--pill-rim:#ffffffe6;--tab-inactive:#8e8e93;--tab-active:#007aff;--home-indicator:#00000040}*,:before,:after{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html{overscroll-behavior:none;-webkit-text-size-adjust:100%;background-color:var(--bg-canvas);width:100%;height:100%;min-height:100%;overflow:hidden}body{background-color:var(--bg-canvas);width:100%;height:100%;min-height:100%;color:var(--text-primary);font-family:var(--font-family);font-size:var(--text-base);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;margin:0;padding:0;line-height:1.45;position:fixed;inset:0;overflow:hidden}#root{background-color:var(--bg-canvas);flex-direction:column;width:100%;height:100%;min-height:100%;display:flex;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#ffffff29}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}button:disabled{opacity:.35;cursor:not-allowed}input,textarea{font-family:inherit;font-size:inherit;color:var(--text-primary);background-color:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast), background-color var(--transition-fast);-webkit-user-select:text;user-select:text;outline:none;padding:12px 14px}input:hover,textarea:hover{border-color:var(--border-strong)}input:focus,textarea:focus{border-color:var(--border-focus);background-color:var(--bg-surface-3)}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}.btn-primary-white{background-color:var(--accent-white);color:var(--text-inverse);border-radius:var(--radius-pill);font-weight:600;font-size:var(--text-base);letter-spacing:-.01em;transition:transform var(--transition-fast), background-color var(--transition-fast), opacity var(--transition-fast);padding:14px 28px;box-shadow:0 4px 14px #00000040}.btn-primary-white:hover:not(:disabled){background-color:var(--accent-white-hover);transform:translateY(-1px)}.btn-primary-white:active:not(:disabled){background-color:var(--accent-white-active);transform:translateY(0)}.btn-secondary{background-color:var(--bg-surface-2);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-weight:500;font-size:var(--text-base);padding:12px 24px}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-3);border-color:var(--border-strong)}.btn-secondary:active:not(:disabled){background-color:var(--bg-surface-1)}.btn-icon{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text-secondary);border:1px solid #0000;justify-content:center;align-items:center;display:flex}.btn-icon:hover{color:var(--text-primary);background-color:var(--bg-surface-2)}.btn-icon:active{background-color:var(--bg-surface-3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out forwards}.animate-scale-up{animation:scaleUp var(--transition-normal) ease-out forwards}.unread-badge{background-color:var(--accent-blue);color:#fff;border-radius:var(--radius-pill);letter-spacing:-.01em;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 4px #007aff40}.portal-dialog-header{height:calc(66px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);z-index:50;background-color:var(--dialog-header-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border-hairline);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;padding-left:20px;padding-right:20px;display:flex;position:relative}.portal-dialog-header-user{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;align-items:center;gap:14px;padding:6px 10px;transition:background-color .15s,transform .15s;display:flex}.portal-dialog-header-user:hover{background-color:var(--bg-surface-hover)}.portal-dialog-header-user:active{transform:scale(.985)}.portal-chat-search-bar{z-index:49;background-color:var(--dialog-header-bg);background-image:var(--dialog-header-gradient);-webkit-backdrop-filter:blur(24px)saturate(210%)brightness(1.02);border-bottom:1px solid var(--border-hairline);box-shadow:var(--dialog-header-shadow);flex-shrink:0;align-items:center;gap:12px;padding:10px 20px;transition:background-color .25s,border-color .25s,box-shadow .25s;display:flex;position:relative}.portal-search-input{background-color:var(--bg-input,#23262b);width:100%;height:42px;color:var(--text-primary,#e5e7eb);transition:background-color var(--transition-fast), border-color var(--transition-fast);box-sizing:border-box;padding:10px 34px 10px 42px;font-size:15px;border:1px solid var(--border-hairline,#2e3238)!important;box-shadow:none!important;border-radius:var(--radius-pill,9999px)!important;outline:none!important}.portal-search-input:focus{background-color:var(--bg-surface-2,#23262b);border-color:var(--accent-blue,#3b98ff)!important;outline:none!important}.portal-search-input::placeholder{color:var(--text-placeholder,#6b7280)}.portal-glass-input-bar{padding:12px 20px max(16px, env(safe-area-inset-bottom,16px)) 20px;z-index:40;box-sizing:border-box;flex-shrink:0;align-items:center;gap:12px;width:100%;display:flex;position:relative;box-shadow:none!important;background:0 0!important;border:none!important}.portal-glass-circle-btn{cursor:pointer;background-color:var(--bg-surface-2,#23262b);border:1px solid var(--border-hairline,#2e3238);width:48px;min-width:48px;height:48px;color:var(--text-secondary,#9ca3af);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s cubic-bezier(.2,0,0,1),background-color .15s,color .15s,border-color .15s;display:flex;box-shadow:0 2px 8px #0003}.portal-glass-circle-btn:hover{background-color:var(--bg-surface-3,#2a2f36);color:var(--text-primary,#e5e7eb);border-color:var(--border-strong,#383d45);transform:scale(1.04)}.portal-glass-circle-btn:active{transform:scale(.94)}.portal-glass-input-pill{background-color:var(--bg-surface,#1a1d21);border:1px solid var(--border-hairline,#2e3238);box-sizing:border-box;border-radius:9999px;flex:1;align-items:center;min-width:0;height:48px;padding:4px 6px 4px 20px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;box-shadow:0 2px 8px #0003}.portal-glass-input-pill:focus-within{border-color:var(--accent-blue,#3b98ff);background-color:var(--bg-surface-2,#23262b)}.portal-glass-text-input{min-width:0;height:100%;color:var(--text-primary,#e5e7eb);flex:1;margin:0;padding:0 10px 0 0;font-size:15.5px;background:0 0!important;border:none!important;outline:none!important}.portal-glass-text-input::placeholder{color:var(--text-placeholder,#6b7280)}.portal-glass-send-btn{cursor:pointer;background-color:var(--accent-blue,#3b98ff);color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;transition:transform .15s cubic-bezier(.2,0,0,1),opacity .15s,background-color .15s;display:flex;box-shadow:0 2px 8px #3b98ff59}.portal-glass-send-btn:disabled{opacity:.35;cursor:default;background-color:var(--bg-surface-2,#23262b);color:var(--text-tertiary,#6b7280);box-shadow:none}.portal-glass-send-btn:not(:disabled):hover{background-color:var(--accent-hover,#5f7dff);transform:scale(1.06)}.portal-glass-send-btn:not(:disabled):active{transform:scale(.93)}.portal-glass-emoji-popover{background-color:var(--glass-bar-bg);background-image:var(--glass-shell-gradient);-webkit-backdrop-filter:blur(28px)saturate(210%)brightness(1.02);border:1px solid var(--border-hairline);z-index:100;border-radius:18px;grid-template-columns:repeat(6,1fr);gap:4px;padding:8px;animation:.15s ease-out forwards scaleUp;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 12px 36px #0003,inset 0 1px #ffffff4d}.portal-emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:transform .12s,background-color .12s;display:flex}.portal-emoji-btn:hover{background-color:var(--bg-surface-hover);transform:scale(1.18)}.portal-glass-attach-popover{background-color:var(--glass-bar-bg);background-image:var(--glass-shell-gradient);-webkit-backdrop-filter:blur(28px)saturate(210%)brightness(1.02);border:1px solid var(--border-hairline);z-index:100;border-radius:16px;flex-direction:column;gap:2px;width:200px;padding:6px;animation:.15s ease-out forwards scaleUp;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 12px 36px #0003,inset 0 1px #ffffff4d}.portal-glass-popover-item{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:background-color .12s;display:flex}.portal-glass-popover-item:hover{background-color:var(--bg-surface-hover)}.portal-date-badge-wrapper{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;margin:14px 0 8px;display:flex}.portal-date-badge{background-color:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);color:var(--text-secondary,#9ca3af);letter-spacing:-.01em;border-radius:9999px;justify-content:center;align-items:center;padding:6px 16px;font-size:13px;font-weight:500;display:inline-flex;box-shadow:0 1px 4px #00000026}.portal-msg-bubble{word-break:normal;overflow-wrap:break-word;max-width:75%;transition:background-color var(--transition-fast);box-sizing:border-box;min-width:96px;padding:10px 16px;font-size:15.5px;line-height:1.48;display:inline-block;position:relative;box-shadow:0 1px 2px #0000001f}.portal-msg-unit.has-keyboard{box-sizing:border-box;flex-direction:column;align-items:stretch;width:fit-content;min-width:240px;max-width:min(88%,390px);display:inline-flex}.portal-msg-bubble.has-keyboard{box-sizing:border-box!important;width:100%!important;max-width:100%!important;display:block!important}.portal-inline-keyboard-wrapper{margin-top:4px;overflow:hidden;box-sizing:border-box!important;width:100%!important;max-width:100%!important}.portal-msg-bubble:after{content:"";clear:both;display:block}.portal-msg-bubble.incoming{background-color:var(--bubble-incoming-bg,#1f2328);color:var(--bubble-incoming-text,#e5e7eb);border:1px solid var(--bubble-incoming-border,#2e3238);border-radius:18px 18px 18px 6px}.portal-msg-bubble.outgoing{background-color:var(--bubble-outgoing-bg,#2a2f36);color:var(--bubble-outgoing-text,#e5e7eb);border:1px solid var(--bubble-outgoing-border,#2e3238);border-radius:18px 18px 6px;min-width:96px;box-shadow:0 1px 3px #0003}.portal-msg-text{white-space:pre-wrap;word-break:normal;overflow-wrap:break-word;display:inline}.portal-msg-meta{float:right;-webkit-user-select:none;user-select:none;white-space:nowrap;vertical-align:bottom;align-items:center;gap:4px;margin-top:4px;margin-left:12px;font-size:12px;line-height:1;display:inline-flex;position:relative;top:2px}.portal-msg-bubble.incoming .portal-msg-meta,.portal-msg-bubble.outgoing .portal-msg-meta{color:var(--text-secondary,#9ca3af)}.portal-msg-bubble.outgoing .portal-msg-status.read{color:var(--accent-blue,#3b98ff)}.portal-msg-bubble.outgoing .portal-msg-status.sent{color:var(--text-secondary,#9ca3af)}.portal-msg-row{flex-direction:column;width:100%;display:flex}.portal-msg-row.enter-animated{animation:.28s cubic-bezier(.16,1,.3,1) both portalMsgRowSlideUp}@keyframes portalMsgRowSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}.portal-msg-bubble.enter-animated.outgoing{transform-origin:100% 100%;will-change:transform, opacity;animation:.32s cubic-bezier(.175,.885,.32,1.15) both portalMsgBubbleSpringOut}.portal-msg-bubble.enter-animated.incoming{transform-origin:0 100%;will-change:transform, opacity;animation:.32s cubic-bezier(.175,.885,.32,1.15) both portalMsgBubbleSpringIn}@keyframes portalMsgBubbleSpringOut{0%{opacity:0;transform:translate(8px,14px)scale(.85)}65%{opacity:1;transform:translateY(-2px)scale(1.02)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes portalMsgBubbleSpringIn{0%{opacity:0;transform:translate(-8px,14px)scale(.85)}65%{opacity:1;transform:translateY(-2px)scale(1.02)}to{opacity:1;transform:translate(0,0)scale(1)}}.portal-date-badge-wrapper.enter-animated{animation:.3s cubic-bezier(.16,1,.3,1) both portalDateBadgeEnter}@keyframes portalDateBadgeEnter{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:translate(0,0)scale(1)}}.portal-chat-gift-bubble.enter-animated{transform-origin:bottom;will-change:transform, opacity;animation:.36s cubic-bezier(.175,.885,.32,1.15) both portalGiftBubbleSpring}@keyframes portalGiftBubbleSpring{0%{opacity:0;transform:translateY(18px)scale(.84)}65%{opacity:1;transform:translateY(-2px)scale(1.025)}to{opacity:1;transform:translate(0,0)scale(1)}}.x-post-article.enter-animated,.x-channel-post.enter-animated{animation:.32s cubic-bezier(.16,1,.3,1) both portalPostSlideIn}@keyframes portalPostSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translate(0,0)}}.portal-msg-status{justify-content:center;align-items:center;transition:color .2s,transform .2s cubic-bezier(.175,.885,.32,1.2);display:inline-flex}.portal-msg-bubble.enter-animated .portal-msg-status{animation:.26s cubic-bezier(.175,.885,.32,1.2) 80ms both portalStatusPopIn}@keyframes portalStatusPopIn{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.dialog-action-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.dialog-action-btn:hover{color:var(--text-primary);background-color:var(--bg-surface-2);border-color:var(--border-subtle)}.dialog-action-btn:active{background-color:var(--bg-surface-3);transform:scale(.96)}.dialog-action-btn.active{color:var(--text-primary);background-color:var(--bg-surface-3);border-color:var(--border-strong)}.dialog-dropdown-menu{background-color:var(--bg-surface-elevated);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);width:230px;box-shadow:0 12px 36px #0000002e, 0 0 0 1px var(--border-hairline);z-index:var(--z-dropdown);animation:scaleUp var(--transition-fast) ease-out forwards;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dialog-dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-weight:500;display:flex}.dialog-dropdown-item:hover{background-color:var(--bg-surface-hover)}.dialog-dropdown-item:active{background-color:var(--bg-surface-3)}.dialog-dropdown-item.destructive{color:var(--destructive)}.dialog-dropdown-item.destructive:hover{background-color:var(--destructive-bg)}.dialog-dropdown-divider{background-color:var(--border-hairline);height:1px;margin:4px 6px}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal);animation:fadeIn var(--transition-fast) ease-out forwards;background-color:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-hairline);width:100%;max-width:380px;color:var(--text-primary);animation:scaleUp var(--transition-fast) ease-out forwards;border-radius:22px;flex-direction:column;padding:28px 24px 24px;display:flex;box-shadow:0 24px 64px #00000040}.online-pulse-dot{background-color:#30d158;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 6px #30d15899}@media (width<=768px){.portal-sidebar{border-right:none!important;width:100%!important;min-width:100%!important;height:100dvh!important}.portal-chat-pane{z-index:150!important;flex-direction:column!important;height:100dvh!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.hidden-on-mobile{display:none!important}}@media (width>=769px){.dialog-action-btn.mobile-back-btn{display:none!important}}.portal-bot-badge{letter-spacing:.04em;background-color:var(--bg-surface-3);color:var(--text-secondary);text-transform:uppercase;border-radius:5px;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.portal-bot-start-btn{background-color:var(--accent-blue);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;font-weight:600;transition:transform .15s,background-color .15s,box-shadow .15s}.portal-bot-start-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 14px #007aff40}.portal-bot-start-btn:active{transform:scale(.98)}.portal-cmd-bold{color:var(--accent-blue,#007aff);cursor:pointer;-webkit-user-select:text;user-select:text;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline}.portal-cmd-bold:hover{opacity:.8;text-decoration:underline}.portal-cmd-bold:active{opacity:.55}.portal-msg-bubble.outgoing .portal-cmd-bold{color:#fff;text-decoration:underline}.portal-cmd-pill{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;background-color:var(--bg-surface-3);color:var(--accent-blue);cursor:pointer;-webkit-user-select:text;user-select:text;vertical-align:baseline;border-radius:6px;margin:1px 2px;padding:1px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:600;transition:background-color .15s,color .15s;display:inline-block}.portal-cmd-pill:hover{background-color:#007aff26;text-decoration:underline}.portal-token-box{background-color:var(--bg-surface-2);border:1px solid var(--border-hairline);color:var(--text-primary);word-break:break-all;-webkit-user-select:text;user-select:text;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:6px 0;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;display:flex}.portal-token-copy-btn{background:var(--bg-surface-3);color:var(--text-primary);border:1px solid var(--border-hairline);cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:background-color .15s;display:inline-flex}.portal-token-copy-btn:hover{background:var(--bg-surface-hover)}.portal-channel-badge{background-color:var(--bg-surface-3);color:var(--text-secondary);border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.portal-fullscreen-modal{z-index:500;background-color:var(--bg-canvas);color:var(--text-primary);-webkit-overflow-scrolling:touch;flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.portal-fullscreen-header{height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--border-hairline);background-color:var(--bg-header);-webkit-backdrop-filter:blur(20px);z-index:30;box-sizing:border-box;justify-content:space-between;align-items:center;padding-bottom:0;padding-left:16px;padding-right:16px;display:flex;position:sticky;top:0}.portal-fullscreen-title{left:50%;top:calc(50% + env(safe-area-inset-top,0px) / 2);color:var(--text-primary);letter-spacing:-.015em;white-space:nowrap;pointer-events:none;text-align:center;text-overflow:ellipsis;max-width:60%;font-size:17px;font-weight:600;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.portal-fullscreen-nav-btn{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:8px 4px;font-family:inherit;font-size:16px;line-height:1;transition:opacity .15s,color .15s;display:inline-flex}.portal-fullscreen-nav-btn.cancel{color:var(--text-secondary);font-weight:400}.portal-fullscreen-nav-btn.cancel:hover{color:var(--text-primary)}.portal-fullscreen-nav-btn.action{color:var(--accent-blue);font-weight:600}.portal-fullscreen-nav-btn.action:disabled{opacity:.35;cursor:not-allowed}.portal-channel-form-card{background-color:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:18px;margin-bottom:20px;overflow:hidden}.portal-channel-input-row{border-bottom:1px solid var(--border-hairline);align-items:center;gap:12px;padding:14px 18px;display:flex}.portal-channel-input-row:last-child{border-bottom:none}.portal-subscribe-btn{transition:transform .12s,opacity .12s,background-color .15s}.portal-subscribe-btn:active{opacity:.9;transform:scale(.98)}.portal-unsubscribe-btn{transition:transform .12s,opacity .12s,background-color .15s}.portal-unsubscribe-btn:hover{background-color:#ff453a1f!important}.portal-profile-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:10000;background-color:#000000c7;justify-content:center;align-items:center;padding:20px;animation:.18s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex;position:fixed;inset:0}.portal-profile-modal-card{background-color:var(--bg-surface-elevated,#1c1c1e);border:1px solid var(--border-hairline,#ffffff1f);width:100%;max-width:440px;color:var(--text-primary,#fff);border-radius:24px;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) forwards scaleUp;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000008c}.portal-profile-modal-header{border-bottom:1px solid var(--border-hairline,#ffffff1a);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.portal-unsubscribe-btn:active{transform:scale(.98)}.tg-bottom-area{display:none!important}@media (width<=768px){.tg-bottom-area{z-index:120;pointer-events:none;background:0 0;flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;right:0;display:flex!important}.portal-sidebar-scroll{padding-bottom:96px!important}}.tg-liquid-tabbar{--tab-count:5;pointer-events:auto;grid-template-columns:repeat(var(--tab-count,5), minmax(0, 1fr));background-color:var(--glass-bar-bg);background-image:var(--glass-shell-gradient);-webkit-backdrop-filter:blur(24px)saturate(210%)brightness(1.03);width:calc(100% - 24px);max-width:420px;height:62px;box-shadow:var(--glass-outer-shadow);touch-action:pan-y;border-radius:31px;align-items:stretch;margin:0 12px 22px;padding:4px;transition:background-color .25s,box-shadow .25s;display:grid;position:relative}.tg-liquid-tabbar__refract-rim{border-radius:inherit;-webkit-backdrop-filter:blur(6px)brightness(1.08)saturate(220%);-webkit-mask-composite:xor;pointer-events:none;z-index:1;padding:3px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tg-liquid-tabbar:before{content:"";border-radius:inherit;background:radial-gradient(135px 72px at var(--light-x,50%) 0%, var(--glass-rim-highlight) 0%, transparent 100%), linear-gradient(168deg, var(--glass-rim-highlight) 0%, #ffffff1f 42%, #ffffff0d 68%, var(--glass-rim-highlight) 100%);-webkit-mask-composite:xor;pointer-events:none;z-index:4;padding:.85px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tg-active-lens,.tg-liquid-pill{width:calc((100% - 8px) / var(--tab-count,5));background-image:var(--pill-bg);-webkit-backdrop-filter:blur(12px)saturate(185%);box-shadow:var(--pill-shadow);z-index:2;pointer-events:none;transform:translateX(calc(100% * var(--tab-index,0)));will-change:transform;border-radius:27px;transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;top:4px;bottom:4px;left:4px}.tg-active-lens:before{content:"";border-radius:inherit;background:linear-gradient(180deg, var(--pill-rim) 0%, #ffffff0f 65%, #ffffff38 100%);-webkit-mask-composite:xor;pointer-events:none;padding:.65px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tg-tab-item{z-index:5;appearance:none;cursor:pointer;color:var(--tab-inactive);background:0 0;border:none;outline:none;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:5px 0 4px;transition:color .18s;display:flex;position:relative}.tg-tab-item.is-active{color:var(--tab-active)}.tg-icon-stage{justify-content:center;align-items:center;width:28px;height:26px;margin-bottom:2px;transition:transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.tg-tab-item:active .tg-icon-stage{transform:scale(.92)}.tg-tab-svg{width:25px;height:25px;display:block;overflow:visible}.tg-tab-svg .icon-filled{opacity:0;transition:opacity .2s cubic-bezier(.22,1,.36,1)}.tg-tab-svg .icon-outline{opacity:1;transition:opacity .2s cubic-bezier(.22,1,.36,1)}.tg-tab-item.is-active .tg-tab-svg .icon-filled{opacity:1}.tg-tab-item.is-active .tg-tab-svg .icon-outline{opacity:0}.tg-tab-label{letter-spacing:-.24px;white-space:nowrap;font-size:10px;font-weight:500;line-height:12px;transition:font-weight .15s,color .18s}.tg-tab-item.is-active .tg-tab-label{font-weight:600}.tg-tab-badge{background:var(--accent-blue);color:#fff;letter-spacing:-.2px;pointer-events:none;z-index:6;border:1.5px solid #ffffffd9;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;display:inline-flex;position:absolute;top:-3px;right:-10px;box-shadow:0 1px 4px #007aff52}[data-theme=dark] .tg-tab-badge{border-color:#1c1c1ee6;box-shadow:0 1px 4px #00000073}.tg-tab-item.is-active .tg-icon-stage{animation:.32s cubic-bezier(.34,1.56,.64,1) tgIconPop}@keyframes tgIconPop{0%{transform:scale(1)}35%{transform:scale(.85)}72%{transform:scale(1.14)}to{transform:scale(1)}}.ios-home-indicator{background:var(--home-indicator);opacity:.85;z-index:90;pointer-events:none;border-radius:100px;width:134px;height:5px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}@keyframes portalTabSlideForward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0,0)}}@keyframes portalTabSlideBackward{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0,0)}}@keyframes portalHeaderTitleFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.portal-header-title-anim{will-change:transform, opacity;animation:.2s cubic-bezier(.16,1,.3,1) forwards portalHeaderTitleFade}.portal-tab-pane{will-change:transform, opacity;backface-visibility:hidden;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;transform:translateZ(0)}.portal-tab-pane-forward{animation:.22s cubic-bezier(.16,1,.3,1) forwards portalTabSlideForward}.portal-tab-pane-backward{animation:.22s cubic-bezier(.16,1,.3,1) forwards portalTabSlideBackward}.portal-settings-group{background-color:var(--bg-surface-2);border:1px solid var(--border-color);border-radius:14px;margin-bottom:20px;overflow:hidden}.portal-settings-item{border-bottom:1px solid var(--border-hairline);color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;font-size:15px;transition:background-color .15s;display:flex}.portal-settings-item:last-child{border-bottom:none}.portal-settings-item:active{background-color:var(--bg-surface-hover)}.portal-segmented-control{background-color:var(--bg-surface-3);border:1px solid var(--border-hairline);border-radius:10px;gap:2px;padding:3px;display:flex}.portal-segmented-btn{color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.portal-segmented-btn.active{background-color:var(--bg-surface-elevated);color:var(--text-primary);font-weight:600;box-shadow:0 2px 8px #0000001f}.portal-channel-feed{box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:16px;width:100%;max-width:640px;margin:0 auto 0 0;padding:16px 24px 28px;display:flex}@media (width<=640px){.portal-channel-feed{gap:14px;max-width:100%;padding:12px 10px 24px}}.portal-channel-card{background:var(--bg-surface-2,#1c1e22);border:1px solid var(--border-hairline,#ffffff14);box-sizing:border-box;border-radius:18px;flex-direction:column;align-self:flex-start;width:100%;max-width:640px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden;box-shadow:0 4px 18px #0000002e}.portal-channel-card:hover{border-color:#ffffff24}[data-theme=light] .portal-channel-card{background:#fff;border-color:#00000014;box-shadow:0 3px 14px #0000000d}.portal-channel-card-header{justify-content:space-between;align-items:center;padding:12px 16px 10px 14px;display:flex}.portal-channel-header-info{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.portal-channel-header-names{flex-direction:column;min-width:0;display:flex}.portal-channel-name-row{align-items:center;gap:5px;display:flex}.portal-channel-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.portal-channel-handle{color:var(--text-secondary);font-size:12px}.portal-channel-more-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.portal-channel-more-btn:hover{background:var(--bg-surface-3);color:var(--text-primary)}.portal-channel-photo-wrap{cursor:pointer;background:#000;width:100%;max-height:440px;position:relative;overflow:hidden}.portal-channel-photo-img{object-fit:cover;width:100%;height:auto;max-height:440px;transition:transform .25s;display:block}.portal-channel-photo-wrap:hover .portal-channel-photo-img{transform:scale(1.015)}.portal-channel-text{color:var(--text-primary);word-break:break-word;white-space:pre-wrap;padding:12px 16px 8px;font-size:15px;line-height:1.55}.portal-channel-inline-kb{box-sizing:border-box;width:100%;max-width:440px;padding:0 16px 8px}.portal-channel-meta-bar{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 14px 10px;display:flex}.portal-channel-meta-left{align-items:center;gap:8px;display:flex}.portal-channel-like-pill{background:var(--bg-surface-3);border:1px solid var(--border-hairline);color:var(--text-secondary);cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.portal-channel-like-pill:hover{color:#ff3b30;background:#ff3b301f;border-color:#ff3b3040}.portal-channel-like-pill.active{color:#ff3b30;background:#ff3b3026;border-color:#ff3b3059}.portal-channel-meta-right{color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.portal-channel-views{align-items:center;gap:4px;display:inline-flex}.portal-channel-time{opacity:.9;font-size:12px}.portal-channel-share-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:5px;transition:all .15s;display:flex}.portal-channel-share-btn:hover{background:var(--bg-surface-3);color:var(--accent-blue,#007aff)}.portal-channel-comments-bar{border-top:1px solid var(--border-hairline);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:11px 16px;transition:background-color .15s;display:flex}[data-theme=light] .portal-channel-comments-bar{background:#00000005}.portal-channel-comments-bar:hover{background:#ffffff0d}[data-theme=light] .portal-channel-comments-bar:hover{background:#0000000d}.portal-channel-comments-label{color:var(--accent-blue,#007aff);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.portal-channel-comments-chevron{color:var(--text-secondary);transition:transform .15s,color .15s}.portal-channel-comments-bar:hover .portal-channel-comments-chevron{color:var(--accent-blue,#007aff);transform:translate(3px)}.portal-channel-owner-bar{background:var(--bg-header);border-top:1px solid var(--border-hairline);box-sizing:border-box;align-items:center;gap:10px;width:100%;padding:10px 16px;display:flex}.portal-channel-attach-btn{background:var(--bg-surface-2);border:1px solid var(--border-hairline);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.portal-channel-attach-btn:hover{background:var(--bg-surface-3);color:var(--accent-blue,#007aff);border-color:var(--accent-blue,#007aff)}.portal-channel-compose-input{background:var(--bg-input);border:1px solid var(--border-hairline);min-width:0;color:var(--text-primary);box-sizing:border-box;border-radius:22px;flex:1;padding:10px 16px;font-size:14.5px;transition:none;box-shadow:none!important;outline:none!important}.portal-channel-compose-input:focus,.portal-channel-compose-input:active{box-shadow:none!important;border-color:var(--border-hairline)!important;outline:none!important}.portal-channel-publish-btn{background:var(--accent-blue,#007aff);color:#fff;cursor:pointer;border:none;border-radius:22px;flex-shrink:0;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 10px #007aff40}.portal-channel-publish-btn:hover:not(:disabled){background:#0066d6;transform:translateY(-1px)}.portal-channel-publish-btn:disabled{background:var(--bg-surface-3);color:var(--text-secondary);cursor:default;opacity:.55;box-shadow:none}.portal-comments-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#000000a6;justify-content:center;align-items:flex-end;animation:.2s portalFadeIn;display:flex;position:fixed;inset:0}@media (width>=768px){.portal-comments-overlay{align-items:center;padding:24px}}.portal-comments-modal{border:1px solid var(--border-hairline);border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:580px;max-height:86vh;animation:.25s cubic-bezier(.16,1,.3,1) portalSlideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000073;background-color:var(--bg-surface-elevated,#fff)!important}@media (width>=768px){.portal-comments-modal{border-radius:20px;max-height:82vh}}.portal-comments-grabber{background:var(--text-secondary);opacity:.3;border-radius:2px;width:36px;height:4px;margin:10px auto 2px;display:block}@media (width>=768px){.portal-comments-grabber{display:none}}.portal-comments-header{border-bottom:1px solid var(--border-hairline);background-color:var(--bg-surface-elevated,#fff);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.portal-comments-badge{background:var(--bg-surface-3);color:var(--text-secondary);border-radius:10px;padding:2px 7px;font-size:12px;font-weight:600}.portal-comments-parent-post{background-color:var(--bg-surface-2);border-bottom:1px solid var(--border-hairline);flex-shrink:0;gap:12px;padding:12px 18px;display:flex}.portal-comments-list{background-color:var(--bg-surface-elevated,#fff);flex-direction:column;flex:1;gap:12px;min-height:150px;padding:14px 18px;display:flex;overflow-y:auto}.portal-comment-item{border-bottom:1px solid var(--border-hairline);align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.portal-comment-item:last-child{border-bottom:none;padding-bottom:0}.portal-comments-empty{background-color:var(--bg-surface-elevated,#fff);flex-direction:column;justify-content:center;align-items:center;margin:auto 0;padding:44px 16px;display:flex}.portal-comments-empty-icon{background:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:10px;display:flex}.portal-comments-composer{border-top:1px solid var(--border-hairline);background-color:var(--bg-surface-elevated,#fff);box-sizing:border-box;flex-shrink:0;align-items:center;gap:10px;padding:12px 18px;display:flex}.portal-comments-input{background:var(--bg-input);border:1px solid var(--border-hairline);min-width:0;color:var(--text-primary);box-sizing:border-box;border-radius:22px;flex:1;padding:10px 16px;font-size:14px;box-shadow:none!important;outline:none!important}.portal-comments-input:focus,.portal-comments-input:active{box-shadow:none!important;border-color:var(--border-hairline)!important;outline:none!important}.portal-comment-photo-wrap{border:1px solid var(--border-hairline);cursor:pointer;background:#000;border-radius:12px;max-width:260px;margin-top:6px;overflow:hidden}.portal-comment-img{object-fit:cover;width:100%;max-height:220px;transition:transform .2s;display:block}.portal-comment-photo-wrap:hover .portal-comment-img{transform:scale(1.02)}.portal-comment-photo-attach-pill{background:var(--bg-surface-3);border:1px solid var(--border-hairline);border-radius:14px;align-items:center;gap:8px;width:fit-content;margin:8px 18px 0;padding:4px 10px 4px 6px;display:inline-flex}.portal-comment-photo-thumb{object-fit:cover;border-radius:6px;width:28px;height:28px}.portal-comment-photo-name{color:var(--text-primary);font-size:12px;font-weight:500}.portal-comment-photo-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.portal-comment-photo-remove:hover{color:#ff3b30}.portal-comments-attach-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.portal-comments-attach-btn:hover{color:var(--accent-blue,#007aff);background:var(--bg-surface-2)}.portal-comments-send-btn{background:var(--accent-blue,#007aff);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.portal-comments-send-btn:hover:not(:disabled){background:#0066d6;transform:scale(1.05)}.portal-comments-send-btn:active:not(:disabled){transform:scale(.95)}.portal-comments-send-btn:disabled{background:var(--bg-surface-3);color:var(--text-secondary);cursor:default;opacity:.5}@keyframes portalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes portalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.portal-sparks-card{transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.portal-sparks-icon-badge{color:#fff;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #f59e0b47}.portal-sparks-topup-btn{background-color:var(--accent-blue);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:9999px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}.portal-sparks-topup-btn:hover{background-color:#0062cc;transform:translateY(-1px)}.portal-sparks-topup-btn:active{transform:scale(.96)}.portal-sparks-pack-item{background:var(--bg-surface-2);border:1px solid var(--border-hairline);cursor:pointer;transition:all var(--transition-fast);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.portal-sparks-pack-item:hover{background:var(--bg-surface-3);border-color:#f59e0b66;transform:translateY(-1px)}.portal-sparks-pack-item:active{transform:scale(.98)}.portal-gifts-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;width:100%;display:grid}.portal-gift-card{aspect-ratio:1;background-color:var(--bg-surface-2);border:1px solid var(--border-hairline);cursor:pointer;-webkit-user-select:none;user-select:none;contain:content;border-radius:20px;justify-content:center;align-items:center;padding:10px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 2px 8px #0000000a}.portal-gift-card:hover{border-color:#007aff4d;transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.portal-gift-card:active{transform:scale(.95)}.portal-gift-sender-badge{border:2px solid var(--bg-card);z-index:3;background:var(--bg-surface-3);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:8px;left:8px;overflow:hidden;box-shadow:0 1px 4px #00000026}.portal-gift-sender-badge img{object-fit:cover;width:100%;height:100%;display:block}.portal-gift-sender-badge-fallback{color:#fff;background:linear-gradient(135deg,#007aff,#5856d6);justify-content:center;align-items:center;width:100%;height:100%;font-size:11px;font-weight:700;display:flex}.portal-catalog-grid{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;display:grid}@media (width<=480px){.portal-catalog-grid{grid-template-columns:1fr;gap:10px}}.portal-catalog-plate{background:var(--bg-surface-2);border:1px solid var(--border-hairline);text-align:center;cursor:pointer;border-radius:18px;flex-direction:column;align-items:center;padding:16px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.portal-catalog-plate:hover{border-color:var(--accent-blue);background:var(--bg-surface-3);transform:translateY(-3px);box-shadow:0 8px 20px #007aff26}.portal-catalog-plate:active{transform:scale(.97)}.portal-gift-price-badge{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b33;border-radius:9999px;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.portal-gift-table{background:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:16px;width:100%;margin:16px 0 20px;overflow:hidden}.portal-gift-table-row{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}.portal-gift-table-row:last-child{border-bottom:none}.portal-gift-table-label{color:var(--text-secondary);min-width:70px;font-weight:500}.portal-gift-table-value{color:var(--text-primary);text-align:right;align-items:center;gap:8px;font-weight:600;display:flex}.portal-chat-gift-bubble{background:var(--bg-card);border:1px solid var(--border-hairline);text-align:center;border-radius:28px;flex-direction:column;align-items:center;width:100%;max-width:310px;margin:12px auto;padding:20px 18px 16px;transition:transform .16s;display:flex;box-shadow:0 4px 18px #00000014}.portal-chat-gift-bubble:hover{transform:translateY(-1px);box-shadow:0 6px 22px #0000001f}.portal-chat-gift-action-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.portal-chat-gift-action-btn:hover{background:#0062cc;transform:translateY(-1px)}.portal-chat-gift-action-btn:active{transform:scale(.97)}@keyframes portalProfileSheetOpen{0%{opacity:0;transform:translateY(32px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes portalProfileSlideUpMobile{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes portalHeroCascade{0%{opacity:0;transform:translateY(14px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes portalAvatarPop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes portalFadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes portalCardCascade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes portalModalSpringUp{0%{opacity:0;transform:scale(.91)translateY(22px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-fullscreen-profile{z-index:550;background-color:var(--app-bg);color:var(--text-primary);will-change:transform, opacity;flex-direction:column;animation:.34s cubic-bezier(.16,1,.3,1) forwards portalProfileSheetOpen;display:flex;position:fixed;inset:0;overflow:hidden}@media (width<=768px){.portal-fullscreen-profile{animation:.36s cubic-bezier(.2,.9,.25,1) forwards portalProfileSlideUpMobile}}.portal-profile-top-bar{height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);box-sizing:border-box;-webkit-backdrop-filter:none;z-index:20;background:0 0;border-bottom:none;flex-shrink:0;justify-content:flex-start;align-items:center;padding-bottom:0;padding-left:16px;padding-right:16px;display:flex}.portal-profile-back-btn{width:40px;height:40px;color:var(--accent-blue);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background-color .15s,transform .18s cubic-bezier(.16,1,.3,1);display:flex}.portal-profile-back-btn:hover{background-color:var(--bg-surface-hover)}.portal-profile-back-btn:active{transform:scale(.9)translate(-2px)}.portal-profile-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;align-items:center;width:100%;max-width:760px;margin:0 auto;padding:24px 20px 48px;display:flex;overflow-y:auto}.portal-profile-hero{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;align-items:center;gap:20px;margin-bottom:12px;padding:12px 4px 20px;display:flex}.portal-fullscreen-profile .portal-profile-hero{will-change:transform, opacity;animation:.38s cubic-bezier(.16,1,.3,1) both portalHeroCascade}.portal-profile-hero-avatar{flex-shrink:0;position:relative}.portal-fullscreen-profile .portal-profile-hero-avatar{will-change:transform, opacity;animation:.46s cubic-bezier(.34,1.56,.64,1) both portalAvatarPop}.portal-profile-hero-meta{flex-direction:column;flex:1;min-width:0;display:flex}.portal-fullscreen-profile .portal-profile-hero-meta{will-change:transform, opacity;animation:.38s cubic-bezier(.16,1,.3,1) 40ms both portalFadeSlideUp}.portal-profile-hero-name{color:var(--text-primary);letter-spacing:-.02em;word-break:break-word;margin:0 0 6px;font-size:24px;font-weight:700;line-height:1.2}.portal-profile-hero-username{color:var(--accent-blue);cursor:pointer;align-items:center;gap:6px;width:fit-content;margin:0 0 8px;font-size:15px;font-weight:600;display:inline-flex}.portal-profile-hero-username:hover{opacity:.85}.portal-profile-hero-status{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.portal-profile-info-group{background:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:20px;width:100%;margin-bottom:20px;overflow:hidden}.portal-fullscreen-profile .portal-profile-info-group{will-change:transform, opacity;animation:.42s cubic-bezier(.16,1,.3,1) 80ms both portalCardCascade}.portal-profile-info-row{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.portal-profile-info-row:last-child{border-bottom:none}.portal-profile-gifts-section{width:100%;margin-top:4px}.portal-fullscreen-profile .portal-profile-gifts-section{will-change:transform, opacity;animation:.46s cubic-bezier(.16,1,.3,1) .14s both portalCardCascade}.portal-profile-gifts-header{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px;display:flex}.portal-profile-gifts-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:13px;font-weight:600}.portal-edit-profile-overlay{z-index:600;padding:16px}.portal-edit-profile-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-hairline);width:100%;max-width:460px;max-height:90vh;color:var(--text-primary);border-radius:20px;flex-direction:column;animation:.32s cubic-bezier(.16,1,.3,1) forwards portalModalSpringUp;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}@media (width<=540px){.portal-edit-profile-overlay{padding:0}.portal-edit-profile-card{border:none;border-radius:0;max-width:100%;height:100%;max-height:100%}}.portal-edit-profile-header{border-bottom:1px solid var(--border-hairline);background-color:var(--bg-surface-2);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex}.portal-edit-profile-title{color:var(--text-primary);text-align:center;margin:0;font-size:16px;font-weight:600}.portal-edit-nav-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px 4px;font-size:15px;transition:opacity .15s;display:flex}.portal-edit-nav-btn:disabled{opacity:.4;cursor:not-allowed}.portal-edit-nav-btn.cancel{color:var(--text-secondary);font-weight:400}.portal-edit-nav-btn.save{color:var(--accent-blue);font-weight:600}.portal-edit-profile-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:20px;padding:24px 20px 32px;display:flex;overflow-y:auto}.portal-edit-avatar-section{flex-direction:column;align-items:center;gap:10px;display:flex}.portal-edit-avatar-wrapper{cursor:pointer;border-radius:50%;transition:transform .15s;position:relative;overflow:hidden}.portal-edit-avatar-wrapper:hover{transform:scale(1.02)}.portal-edit-avatar-overlay{opacity:0;background-color:#0000006b;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.portal-edit-avatar-wrapper:hover .portal-edit-avatar-overlay{opacity:1}.portal-edit-avatar-actions{align-items:center;gap:8px;margin-top:2px;display:flex}.portal-edit-link-btn{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:14px;font-weight:500;transition:opacity .15s}.portal-edit-link-btn:hover{opacity:.8}.portal-edit-link-btn.danger{color:var(--status-danger)}.portal-edit-dot-sep{color:var(--text-secondary);font-size:12px}.portal-edit-link-subtle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px;transition:color .15s}.portal-edit-link-subtle:hover{color:var(--text-primary)}.portal-edit-url-box{background-color:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:10px;align-items:center;gap:6px;width:100%;max-width:340px;margin-top:6px;padding:4px 8px;display:flex}.portal-edit-url-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.portal-edit-url-apply-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.portal-edit-url-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.portal-edit-group-wrapper{flex-direction:column;gap:6px;display:flex}.portal-edit-group{background-color:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:12px;overflow:hidden}.portal-edit-row{align-items:center;gap:12px;min-height:44px;padding:10px 14px;display:flex}.portal-edit-divider{background-color:var(--border-hairline);height:1px;margin-left:14px}.portal-edit-label{width:90px;color:var(--text-secondary);flex-shrink:0;font-size:14px;font-weight:400}.portal-edit-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:15px}.portal-edit-input::placeholder{color:var(--text-tertiary,#666)}.portal-edit-username-input-wrap{flex:1;align-items:center;gap:2px;min-width:0;display:flex;position:relative}.portal-edit-username-at{color:var(--text-secondary);font-size:15px;font-weight:500}.portal-edit-username-status{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:6px;display:flex}.portal-edit-caption{color:var(--text-secondary);padding:2px 14px 0;font-size:12px;line-height:1.4}.portal-edit-error-banner{color:#ff453a;background-color:#ff453a1f;border:1px solid #ff453a40;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.portal-edit-submit-btn{background-color:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:15px;font-weight:600;transition:opacity .15s;display:flex}.portal-edit-submit-btn:hover{opacity:.9}.portal-edit-submit-btn:disabled{opacity:.45;cursor:not-allowed}.portal-voice-mic-btn{touch-action:none;-webkit-touch-callout:none;position:relative}.portal-voice-mic-btn.recording{color:#fff!important;background-color:#ff3b30!important;border-color:#fff6!important;animation:1.2s ease-in-out infinite alternate portalMicPulse!important;transform:scale(1.14)!important;box-shadow:0 0 0 5px #ff3b3042,0 6px 20px #ff3b3073!important}@keyframes portalMicPulse{0%{box-shadow:0 0 0 4px #ff3b303d,0 4px 14px #ff3b3061}to{box-shadow:0 0 0 8px #ff3b301f,0 6px 24px #ff3b308c}}.portal-voice-hint-tooltip{background-color:#1c1c1ef2;background-image:var(--glass-shell-gradient);-webkit-backdrop-filter:blur(24px)saturate(210%);border:1px solid var(--border-hairline);color:#fff;white-space:nowrap;pointer-events:none;z-index:100;border-radius:14px;padding:7px 14px;font-size:13px;font-weight:500;animation:.15s cubic-bezier(.2,0,0,1) forwards scaleUp;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 8px 24px #00000047}.portal-recording-pill{-webkit-user-select:none!important;user-select:none!important;border-color:#ff3b3059!important;justify-content:space-between!important;align-items:center!important;padding:0 16px!important;transition:background-color .15s,border-color .15s!important;display:flex!important;position:relative!important;overflow:hidden!important}.portal-recording-pill.is-cancelling{background-color:#ff3b3029!important;border-color:#ff3b3099!important}.portal-recording-left{z-index:2;flex-shrink:0;align-items:center;gap:8px;display:flex}.portal-recording-dot{background-color:#ff3b30;border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite alternate portalRecordDotBlink;box-shadow:0 0 8px #ff3b30d9}@keyframes portalRecordDotBlink{0%{opacity:1;transform:scale(1)}to{opacity:.35;transform:scale(.85)}}.portal-recording-timer{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:14px;font-weight:600}.portal-recording-live-bars{z-index:2;flex-shrink:0;align-items:center;gap:3px;height:22px;padding:0 12px;display:flex}.portal-live-bar{background-color:var(--accent-blue);transform-origin:50%;border-radius:3px;width:2.5px;height:18px;transition:transform 80ms cubic-bezier(.2,0,0,1)}.portal-recording-pill.is-cancelling .portal-live-bar{background-color:#ff3b30}.portal-recording-slide-cancel{color:var(--text-secondary);pointer-events:none;white-space:nowrap;z-index:2;flex:1;justify-content:flex-end;align-items:center;gap:5px;padding-right:4px;font-size:13px;transition:transform 50ms linear;display:flex}.portal-recording-chevron{animation:1.3s cubic-bezier(.4,0,.2,1) infinite portalSlideChevron}@keyframes portalSlideChevron{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(-5px)}}.portal-recording-cancel-badge{color:#ff3b30;z-index:3;align-items:center;gap:6px;font-size:13px;font-weight:600;animation:.15s ease-out portalCancelPop;display:flex;position:absolute;right:16px}@keyframes portalCancelPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.portal-photo-bubble{background-color:var(--bubble-incoming-bg);border:1px solid var(--bubble-incoming-border);box-sizing:border-box;border-radius:18px 18px 18px 6px;flex-direction:column;overflow:hidden;max-width:min(88%,340px)!important;padding:3px!important;display:flex!important}.portal-photo-bubble.outgoing{background-color:var(--bubble-outgoing-bg);border:1px solid var(--bubble-outgoing-border);border-radius:18px 18px 6px}.portal-photo-img-wrapper{cursor:zoom-in;background-color:#0000000f;border-radius:15px;width:100%;position:relative;overflow:hidden}.portal-photo-img{object-fit:cover;border-radius:15px;width:100%;max-height:380px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:block}.portal-photo-img-wrapper:hover .portal-photo-img{transform:scale(1.02)}.portal-photo-overlay-meta{-webkit-backdrop-filter:blur(10px);color:#fff;pointer-events:none;background:#0000008c;border-radius:10px;align-items:center;gap:3px;padding:3px 7px;font-size:11px;line-height:1;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 1px 4px #0003}.portal-photo-caption-box{word-break:break-word;padding:8px 10px 4px;font-size:14.5px;line-height:1.4}.portal-photo-send-modal-backdrop{z-index:99990;-webkit-backdrop-filter:blur(28px);-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#000000eb;flex-direction:column;justify-content:space-between;align-items:center;padding:16px 20px 24px;animation:.22s cubic-bezier(.16,1,.3,1) both portalPhotoSendFadeIn;display:flex;position:fixed;inset:0}@keyframes portalPhotoSendFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.portal-photo-send-nav{box-sizing:border-box;flex-shrink:0;justify-content:flex-end;align-items:center;width:100%;max-width:900px;height:50px;padding:0 8px;display:flex;position:relative}.portal-photo-send-nav-title{color:#fff;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;font-size:16px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portal-photo-send-nav-btn.icon{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:inline-flex}.portal-photo-send-nav-btn.icon:hover{background:#ffffff38;transform:scale(1.05)}.portal-photo-send-nav-btn.icon:active{transform:scale(.95)}.portal-photo-send-body{flex:1;justify-content:center;align-items:center;width:100%;max-width:900px;min-height:0;padding:12px 0 20px;display:flex}.portal-photo-send-image-wrap{justify-content:center;align-items:center;width:100%;height:100%;max-height:calc(100vh - 190px);display:flex}.portal-photo-send-preview-img{object-fit:contain;border:1px solid #ffffff14;border-radius:16px;max-width:100%;max-height:100%;box-shadow:0 16px 48px #000000b3}.portal-photo-send-bottom-bar{flex-shrink:0;justify-content:center;width:100%;max-width:580px;display:flex}.portal-photo-send-input-pill{-webkit-backdrop-filter:blur(28px);box-sizing:border-box;background:#1a1a1ce0;border:1px solid #ffffff2e;border-radius:28px;align-items:center;gap:12px;width:100%;min-height:48px;padding:4px 6px 4px 18px;display:flex;box-shadow:0 8px 32px #00000073}.portal-photo-send-text-input,.portal-photo-send-text-input:focus,.portal-photo-send-text-input:hover,.portal-photo-send-text-input:active{box-shadow:none!important;color:#fff!important;appearance:none!important;background:0 0!important;border:none!important;border-radius:0!important;outline:none!important;flex:1!important;min-width:0!important;margin:0!important;padding:0!important;font-family:inherit!important;font-size:16px!important;line-height:1.4!important}.portal-photo-send-text-input::placeholder{color:#ffffff73!important}.portal-photo-send-action-btn{background:var(--accent-blue,#007aff);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s,opacity .15s,background .15s;display:flex;box-shadow:0 2px 10px #007aff66}.portal-photo-send-action-btn:hover:not(:disabled){background:#006ee6;transform:scale(1.06)}.portal-photo-send-action-btn:active:not(:disabled){transform:scale(.93)}.portal-photo-send-action-btn:disabled{opacity:.6;cursor:not-allowed}.portal-ios-switch{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#78788052;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background-color .25s cubic-bezier(.16,1,.3,1);position:relative}.portal-ios-switch.active{background-color:var(--accent-blue,#007aff)}.portal-ios-switch.disabled{opacity:.5;cursor:wait}.portal-ios-switch-knob{background-color:#fff;border-radius:50%;width:24px;height:24px;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #00000047}.portal-ios-switch.active .portal-ios-switch-knob{transform:translate(20px)}.portal-pwa-step-card{background:var(--bg-surface-2,#ffffff0d);border:1px solid var(--border-hairline,#ffffff14);text-align:left;border-radius:14px;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.portal-pwa-step-num{background:var(--accent-blue,#007aff);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex}.portal-msg-bubble.voice-bubble{min-width:225px;max-width:290px;padding:8px 12px 6px 10px}.portal-voice-player{-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:100%;display:flex}.portal-voice-play-btn{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;transition:transform .15s cubic-bezier(.2,0,0,1),filter .15s;display:flex;box-shadow:0 2px 8px #0000001f}.portal-voice-player.incoming .portal-voice-play-btn{background-color:var(--accent-blue);color:#fff}.portal-voice-player.outgoing .portal-voice-play-btn{color:var(--accent-blue);background-color:#fff}.portal-voice-play-btn:hover{filter:brightness(1.05);transform:scale(1.06)}.portal-voice-play-btn:active{transform:scale(.93)}.portal-voice-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.portal-voice-waveform{cursor:pointer;align-items:center;gap:2.5px;width:100%;height:26px;padding:2px 0;display:flex}.portal-voice-bar{border-radius:3px;flex:1;min-width:2px;max-width:3.5px;min-height:4px;transition:background-color .1s,opacity .1s}.portal-voice-player.incoming .portal-voice-bar{background-color:var(--text-secondary);opacity:.35}.portal-voice-player.incoming .portal-voice-bar.active{background-color:var(--accent-blue);opacity:1}.portal-voice-player.outgoing .portal-voice-bar{background-color:#ffffff61}.portal-voice-player.outgoing .portal-voice-bar.active{opacity:1;background-color:#fff}.portal-voice-footer{justify-content:space-between;align-items:center;line-height:1;display:flex}.portal-voice-time{font-variant-numeric:tabular-nums;opacity:.85;font-size:11px;font-weight:500}.portal-voice-player.outgoing .portal-voice-time{color:#ffffffe6}.portal-voice-player.incoming .portal-voice-time{color:var(--text-secondary)}.portal-voice-speed-badge{cursor:pointer;letter-spacing:-.2px;border:none;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;transition:opacity .15s}.portal-voice-player.incoming .portal-voice-speed-badge{background-color:var(--bg-surface-3);color:var(--text-secondary)}.portal-voice-player.outgoing .portal-voice-speed-badge{color:#fff;background-color:#ffffff38}.portal-voice-speed-badge:hover{opacity:.85}.portal-msg-meta.voice-meta{float:right;margin-top:2px}.portal-nft-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background-color:#000000b8;justify-content:center;align-items:center;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) portalFadeIn;display:flex;position:fixed;inset:0}.portal-nft-modal-card{background-color:var(--bg-surface-1,#18181a);scrollbar-width:none;border-radius:28px;flex-direction:column;width:100%;max-width:390px;max-height:94vh;animation:.28s cubic-bezier(.16,1,.3,1) portalScaleUp;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0000008c,0 0 0 1px #ffffff14}.portal-nft-modal-card::-webkit-scrollbar{display:none}.portal-nft-showcase{text-align:center;flex-direction:column;align-items:center;width:100%;min-height:240px;padding:24px 20px;transition:background .5s ease-out;display:flex;position:relative;overflow:hidden}.portal-nft-bg-flowing{z-index:0;background:linear-gradient(90deg,#111215 0%,#181a22 18%,#151d26 36%,#1d1828 54%,#152125 72%,#181921 90%,#111215 100%) 0 0/250% 100%;transition:opacity .5s;animation:1.8s linear infinite portalBgFlowLeftToRight;position:absolute;inset:0}@keyframes portalBgFlowLeftToRight{0%{background-position:100% 0}to{background-position:0 0}}.portal-nft-pattern-layer{pointer-events:none;opacity:.28;z-index:1;background-repeat:repeat;background-size:56px 56px;transition:opacity .35s,background-image .25s;position:absolute;inset:0}.portal-nft-pattern-layer.is-sliding{animation:1.1s linear infinite portalPatternSlideLeftToRight}@keyframes portalPatternSlideLeftToRight{0%{background-position-x:0}to{background-position-x:120px}}.portal-nft-topbar{z-index:10;align-items:center;gap:8px;display:flex;position:absolute;top:14px;right:14px}.portal-nft-icon-btn{-webkit-backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#00000059;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.portal-nft-icon-btn:hover{background:#0000008c;transform:scale(1.06)}.portal-nft-stage{z-index:2;justify-content:center;align-items:center;width:172px;height:172px;margin:8px auto 12px;display:flex;position:relative}.portal-nft-lottie-wrap{width:100%;height:100%;transition:transform .3s}.portal-nft-reel-viewport{z-index:2;align-items:center;width:100%;height:168px;margin:6px 0 10px;display:flex;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 15% 85%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 15% 85%,#0000 100%)}.portal-nft-reel-track{will-change:transform;align-items:center;display:flex}.portal-nft-reel-item{width:136px;height:136px;box-shadow:none;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin:0 10px;transition:transform .35s cubic-bezier(.16,1,.3,1),filter .35s;display:flex;position:relative}.portal-nft-reel-item.is-winner{filter:drop-shadow(0 0 24px #ffffff8c);transform:scale(1.15)}.portal-nft-glow{pointer-events:none;z-index:1;background:radial-gradient(circle,#ffffff52 0%,#fff0 70%);border-radius:50%;width:140px;height:140px;animation:2.5s ease-in-out infinite alternate portalPulseGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes portalPulseGlow{0%{opacity:.3;transform:translate(-50%,-50%)scale(.85)}to{opacity:.7;transform:translate(-50%,-50%)scale(1.2)}}.portal-nft-title-row{z-index:2;justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex;position:relative}.portal-nft-title{color:#fff;text-shadow:0 2px 10px #0006;letter-spacing:-.02em;font-size:21px;font-weight:700}.portal-nft-num{color:#ffffffbf;font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.portal-nft-num.revealed{color:#38bdf8;animation:.5s cubic-bezier(.16,1,.3,1) portalNumPop}@keyframes portalNumPop{0%{opacity:0;transform:scale(.5)}60%{color:#f59e0b;transform:scale(1.25)}to{opacity:1;color:#38bdf8;transform:scale(1)}}.portal-nft-subtitle{z-index:2;color:#ffffffb8;margin-top:4px;font-size:14px;font-weight:500;position:relative}.portal-nft-content-card{background-color:var(--bg-surface-1,#18181a);z-index:5;border-top-left-radius:24px;border-top-right-radius:24px;margin-top:-14px;padding:20px 20px 22px;position:relative;box-shadow:0 -4px 18px #00000026}.portal-nft-table{background-color:var(--bg-surface-2,#242428);border:1px solid var(--border-hairline,#ffffff14);border-radius:16px;margin-bottom:20px;overflow:hidden}.portal-nft-row{border-bottom:1px solid var(--border-hairline,#ffffff12);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;transition:background-color .25s;display:flex}.portal-nft-row:last-child{border-bottom:none}.portal-nft-row.locked-flash{animation:.6s ease-out portalRowLockFlash}@keyframes portalRowLockFlash{0%{background-color:#38bdf840}to{background-color:#0000}}.portal-nft-label{color:var(--text-secondary,#9ca3af);font-weight:400}.portal-nft-val{color:var(--text-primary,#fff);align-items:center;gap:8px;font-weight:500;display:flex}.portal-nft-val-link{color:var(--accent-blue,#007aff);font-weight:500;text-decoration:none}.portal-nft-rarity-pill{color:#38bdf8;letter-spacing:-.2px;background-color:#007aff24;border-radius:9999px;align-items:center;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.portal-nft-action-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:16px;font-weight:600;transition:all .18s;display:flex}.portal-nft-action-btn.primary{background-color:var(--accent-blue,#007aff);color:#fff;box-shadow:0 4px 14px #007aff59}.portal-nft-action-btn.primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.portal-nft-action-btn.upgrade{color:#fff;background:linear-gradient(135deg,#007aff 0%,#0056b3 100%);box-shadow:0 6px 20px #007aff66}.portal-nft-action-btn:disabled{opacity:.65;cursor:not-allowed}.portal-gift-card.is-upgraded{border:1px solid #ffffff29;position:relative;overflow:hidden;box-shadow:0 6px 18px #0000004d}.portal-gift-card-pattern{opacity:.22;pointer-events:none;background-repeat:repeat;background-size:36px 36px;position:absolute;inset:0}.portal-gift-card-nft-badge{-webkit-backdrop-filter:blur(6px);color:#fff;letter-spacing:-.2px;z-index:3;background:#0000008c;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:6px;right:6px}.portal-chat-gift-bubble.is-upgraded{border:1px solid #ffffff24;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000040}.portal-chat-gift-bubble.is-upgraded .portal-chat-gift-pattern{opacity:.2;pointer-events:none;z-index:0;background-repeat:repeat;background-size:40px 40px;position:absolute;inset:0}.portal-verif-badge{vertical-align:middle;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s cubic-bezier(.16,1,.3,1);display:inline-flex}.portal-verif-badge:hover{transform:scale(1.1)}.portal-verif-badge img{object-fit:contain;width:100%;height:100%;display:block}.portal-verif-pill{letter-spacing:-.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9999px;align-items:center;gap:6px;width:fit-content;margin-top:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.portal-verif-pill-dev{color:#2997ff;background:#2997ff1f;border:1px solid #2997ff40}.portal-verif-pill-user{color:#60a5fa;background:#60a5fa1f;border:1px solid #60a5fa40}.portal-frozen-overlay{z-index:999999;-webkit-backdrop-filter:blur(12px);pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#000000a6;justify-content:center;align-items:flex-end;width:100vw;height:100vh;animation:.28s cubic-bezier(.16,1,.3,1) forwards frozenBackdropFade;display:flex;position:fixed;inset:0}@keyframes frozenBackdropFade{0%{opacity:0}to{opacity:1}}.portal-frozen-modal{background-color:var(--bg-surface-1,#161618);width:100%;max-width:440px;color:var(--text-primary,#fff);box-shadow:0 -12px 40px #0009, 0 0 0 1px var(--border-hairline,#ffffff1a);padding:16px 24px calc(24px + env(safe-area-inset-bottom,12px));box-sizing:border-box;-webkit-overflow-scrolling:touch;border-radius:36px 36px 0 0;max-height:92vh;animation:.36s cubic-bezier(.16,1,.3,1) forwards frozenSlideUp;position:relative;overflow-y:auto}@media (width>=600px){.portal-frozen-overlay{align-items:center;padding:20px}.portal-frozen-modal{border-radius:36px;padding:26px 28px 28px;animation:.34s cubic-bezier(.16,1,.3,1) forwards frozenPopIn}}@keyframes frozenSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes frozenPopIn{0%{opacity:0;transform:scale(.92)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-frozen-handle{background-color:var(--text-secondary,#8e8e93);opacity:.35;border-radius:99px;width:40px;height:4.5px;margin:0 auto 16px}.portal-frozen-sticker-wrapper{justify-content:center;align-items:center;margin-bottom:12px;display:flex}.portal-frozen-sticker{object-fit:contain;filter:drop-shadow(0 8px 24px #dc262647);width:120px;height:120px;animation:.55s cubic-bezier(.34,1.56,.64,1) .1s backwards frozenStickerBounce}@keyframes frozenStickerBounce{0%{opacity:0;transform:scale(.4)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.portal-frozen-title{letter-spacing:-.02em;color:var(--text-primary);text-align:center;margin:0 0 16px;font-size:21px;font-weight:700;line-height:1.25}.portal-frozen-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.portal-frozen-item{align-items:flex-start;gap:13px;padding:8px 0;display:flex}.portal-frozen-icon{background-color:var(--bg-surface-2,#ffffff0f);width:32px;height:32px;color:var(--accent-blue,#007aff);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-frozen-item-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.portal-frozen-item-desc{color:var(--text-secondary);font-size:13px;line-height:1.4}.portal-frozen-btn-primary{background-color:var(--accent-blue,#007aff);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;width:100%;height:48px;font-family:inherit;font-size:16px;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.portal-frozen-btn-primary:active{opacity:.9;transform:scale(.98)}.portal-frozen-btn-secondary{width:100%;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;margin-top:6px;font-family:inherit;font-size:15px;font-weight:500;transition:color .15s;display:flex}.portal-frozen-btn-secondary:hover{color:var(--text-primary)}.portal-premium-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background-color:#000000a6;justify-content:center;align-items:flex-end;animation:.25s forwards portalOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes portalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.portal-premium-sheet{background-color:var(--bg-surface,#121214);width:100%;max-width:520px;max-height:88vh;padding-bottom:env(safe-area-inset-bottom,12px);border-radius:32px 32px 0 0;flex-direction:column;animation:.34s cubic-bezier(.2,.9,.25,1) forwards portalPremiumSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 -12px 40px #00000073}@keyframes portalPremiumSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.portal-premium-grabber-wrap{flex-shrink:0;justify-content:center;width:100%;padding-top:10px;padding-bottom:4px;display:flex}.portal-premium-grabber{background-color:var(--border-color,#fff3);border-radius:9999px;width:36px;height:5px}.portal-premium-close-btn{background:var(--bg-surface-hover,#ffffff14);width:32px;height:32px;color:var(--text-secondary,#8e8e93);cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;top:14px;right:16px}.portal-premium-close-btn:hover{color:var(--text-primary);background:#ffffff24}.portal-premium-content{-webkit-overflow-scrolling:touch;flex:1;padding:8px 20px 0;overflow-y:auto}.portal-premium-hero{text-align:center;flex-direction:column;align-items:center;padding:12px 0 20px;display:flex}.portal-premium-hero-badge-wrap{justify-content:center;align-items:center;width:76px;height:76px;margin-bottom:12px;display:flex;position:relative}.portal-premium-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 6px;font-size:24px;font-weight:700}.portal-premium-subtitle{color:var(--text-secondary);max-width:380px;margin:0;font-size:14px;line-height:1.45}.portal-premium-active-pill{color:#10b981;background:#10b9811f;border:1px solid #10b9814d;border-radius:9999px;align-items:center;gap:6px;margin-top:10px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.portal-premium-error-banner{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d;border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.portal-premium-features-list{flex-direction:column;gap:12px;display:flex}.portal-premium-feature-row{background:var(--bg-surface-hover,#ffffff0a);border:1px solid var(--border-color,#ffffff0f);border-radius:18px;align-items:flex-start;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s;display:flex}.portal-premium-feature-row:hover{background:#ffffff12;border-color:#0a84ff59}.portal-premium-feature-icon-box{width:38px;min-width:38px;height:38px;color:var(--accent-blue,#0a84ff);background:#0a84ff1f;border:1px solid #0a84ff40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-premium-feature-text{flex-direction:column;flex:1;min-width:0;display:flex}.portal-premium-feature-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:3px;font-size:15px;font-weight:600;line-height:1.3;display:flex}.portal-premium-feature-num{color:var(--accent-blue,#0a84ff);font-weight:700}.portal-premium-feature-desc{color:var(--text-secondary);font-size:13px;line-height:1.4}.portal-premium-footer{border-top:1px solid var(--border-color,#ffffff0f);background:var(--bg-surface,#121214);flex-direction:column;flex-shrink:0;gap:10px;padding:14px 20px 10px;display:flex}.portal-premium-balance-bar{justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;display:flex}.portal-premium-balance-label{color:var(--text-secondary)}.portal-premium-balance-value{color:var(--accent-blue,#0a84ff);align-items:center;gap:6px;font-weight:600;display:flex}.portal-premium-topup-link{color:var(--accent-blue,#007aff);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.portal-premium-topup-link:hover{opacity:.8}.portal-premium-action-btn{color:#fff;letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#0a84ff 0%,#0071e3 100%);border:none;border-radius:9999px;justify-content:center;align-items:center;width:100%;height:52px;font-family:inherit;font-size:16px;font-weight:700;transition:transform .12s,opacity .15s,box-shadow .15s;display:flex;box-shadow:0 4px 18px #0a84ff59}.portal-premium-action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #0a84ff7a}.portal-premium-action-btn:active:not(:disabled){opacity:.92;transform:scale(.98)}.portal-premium-action-btn.is-insufficient{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)}.portal-premium-action-btn:disabled{opacity:.7;cursor:not-allowed}.portal-premium-btn-inner{justify-content:center;align-items:center;gap:8px;display:flex}.portal-premium-btn-star{width:18px;height:18px;display:block}.portal-premium-success-overlay{align-items:center}.portal-premium-success-card{background-color:var(--bg-surface,#121214);border:1px solid var(--border-color,#ffffff14);text-align:center;border-radius:28px;flex-direction:column;align-items:center;width:90%;max-width:420px;padding:32px 24px 24px;animation:.32s cubic-bezier(.16,1,.3,1) forwards portalModalSpringUp;display:flex;box-shadow:0 20px 60px #0009}.portal-premium-success-icon-wrap{justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:16px;display:flex;position:relative}.portal-premium-success-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 10px;font-size:22px;font-weight:700}.portal-premium-success-desc{color:var(--text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.portal-premium-success-badge-preview{background:var(--bg-surface-hover,#ffffff0a);border:1px solid var(--border-color,#ffffff0f);color:var(--text-secondary);border-radius:9999px;align-items:center;gap:10px;margin-bottom:24px;padding:10px 16px;font-size:13px;display:flex}.portal-premium-success-badge-item{color:var(--text-primary);align-items:center;gap:6px;display:flex}.portal-premium-success-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0a84ff 0%,#0071e3 100%);border:none;border-radius:9999px;justify-content:center;align-items:center;width:100%;height:48px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .12s,opacity .15s;display:flex;box-shadow:0 4px 16px #0a84ff59}.portal-premium-success-btn:active{opacity:.92;transform:scale(.98)}.portal-premium-icon-wrap{background:#0a84ff24;border:1px solid #0a84ff47;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.portal-premium-settings-item{transition:background-color .15s}.portal-premium-settings-item:hover{background-color:var(--bg-surface-hover)}.portal-pc-tabbar-rail{display:none!important}@media (width>=769px){.portal-pc-tabbar-rail{box-sizing:border-box;z-index:50;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:86px;height:100%;padding:14px 0 14px 10px;display:flex!important}.portal-pc-tabbar-panel{background:var(--bg-surface,#1a1d21);border:1px solid var(--border-subtle,#2e3238);box-sizing:border-box;border-radius:26px;flex-direction:column;align-items:center;width:72px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 8px 32px #0000005c}[data-theme=light] .portal-pc-tabbar-panel{background:#f6f6f8e0;border-color:#00000014;box-shadow:0 8px 28px #00000014}.portal-pc-tabbar-panel--top{gap:8px;padding:12px 6px 14px}.portal-pc-tabbar-panel--bottom{gap:12px;padding:12px 6px}.portal-pc-logo-btn{cursor:pointer;outline:none;justify-content:center;align-items:center;width:60px;height:48px;margin:0;padding:0;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .15s;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.portal-pc-logo-btn:hover{transform:scale(1.08)}.portal-pc-logo-btn:active{transform:scale(.92)}.portal-pc-logo-img{object-fit:contain;filter:drop-shadow(0 2px 8px #ffffff29);width:auto;max-width:100%;height:40px;max-height:100%;transition:transform .2s cubic-bezier(.16,1,.3,1),filter .2s;display:block;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.portal-pc-logo-btn:hover .portal-pc-logo-img{filter:drop-shadow(0 3px 14px #ffffff59)}[data-theme=light] .portal-pc-logo-img{filter:brightness(.12)drop-shadow(0 1px 3px #00000026)}[data-theme=light] .portal-pc-logo-btn:hover .portal-pc-logo-img{filter:brightness(0)drop-shadow(0 2px 6px #00000040)}.portal-pc-logo-divider{background:var(--border-hairline,#2e3238);width:36px;height:1px;margin:2px 0 4px}.portal-pc-tab-item{cursor:pointer;width:60px;min-height:56px;color:var(--text-secondary,#9ca3af);background:0 0;border:none;border-radius:16px;outline:none;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:7px 2px 6px;transition:background-color .18s,color .18s,transform .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.portal-pc-tab-item:hover{background:var(--bg-surface-2,#23262b);color:var(--text-primary,#e5e7eb);transform:translateY(-1px)}[data-theme=light] .portal-pc-tab-item:hover{color:#000;background:#0000000d}.portal-pc-tab-item:active{transform:scale(.95)}.portal-pc-tab-item.is-active{background:var(--bg-surface-2,#23262b);color:var(--text-primary,#e5e7eb)}[data-theme=light] .portal-pc-tab-item.is-active{color:var(--accent-blue,#007aff);background:#00000014}.portal-pc-tab-item.is-active:before{content:"";background:var(--accent-blue,#3b98ff);border-radius:2px;width:3px;height:20px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.portal-pc-tab-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.portal-pc-tab-svg{width:26px;height:26px}.portal-pc-tab-svg .icon-filled{display:none}.portal-pc-tab-svg .icon-outline,.portal-pc-tab-item.is-active .portal-pc-tab-svg .icon-filled{display:block}.portal-pc-tab-item.is-active .portal-pc-tab-svg .icon-outline{display:none}.portal-pc-badge{color:#fff;z-index:2;background:#ff3b30;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:flex;position:absolute;top:-4px;right:-8px;box-shadow:0 2px 6px #ff3b3080}.portal-pc-tab-label{letter-spacing:-.01em;text-align:center;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:500;line-height:1}.portal-pc-tab-item.is-active .portal-pc-tab-label{font-weight:600}.portal-pc-search-btn{width:46px;height:46px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;transition:background-color .18s,color .18s,transform .18s cubic-bezier(.16,1,.3,1);display:flex}.portal-pc-search-btn:hover{color:var(--text-primary,#fff);background:#ffffff14;transform:scale(1.06)}[data-theme=light] .portal-pc-search-btn:hover{color:#000;background:#0000000f}.portal-pc-search-btn:active{transform:scale(.94)}.portal-pc-avatar-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s;display:flex}.portal-pc-avatar-btn:hover{transform:scale(1.08)}.portal-pc-avatar-btn:active{transform:scale(.96)}.portal-pc-avatar-btn.is-active{border-color:var(--accent-blue,#3b98ff);transform:scale(1.04);box-shadow:0 0 14px #3b98ff80}.portal-sidebar{border:1px solid var(--border-color,#2e3238)!important;background-color:var(--bg-sidebar,#1a1d21)!important;border-radius:22px!important;height:calc(100% - 20px)!important;margin:10px 5px 10px 8px!important;overflow:hidden!important;box-shadow:0 8px 30px #00000047!important}.portal-chat-pane{border:1px solid var(--border-color,#2e3238)!important;background-color:var(--bg-canvas,#0f1115)!important;border-radius:22px!important;height:calc(100% - 20px)!important;margin:10px 10px 10px 5px!important;overflow:hidden!important;box-shadow:0 8px 30px #00000047!important}[data-theme=dark] .portal-chat-pane{background-color:#0f1115!important;background-image:radial-gradient(90% 80% at 95% 65%,#1a202a59 0%,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M800 1000C1100 850 1200 500 1600 350V1000H800Z' fill='%2313171D' fill-opacity='0.6'/%3E%3Cpath d='M1050 1000C1280 820 1350 580 1600 480V1000H1050Z' fill='%23181C23' fill-opacity='0.5'/%3E%3Cpath d='M1250 1000C1400 880 1480 720 1600 640V1000H1250Z' fill='%231D222B' fill-opacity='0.35'/%3E%3C/svg%3E")!important;background-position:100%!important;background-repeat:no-repeat!important;background-size:cover!important}.portal-chat-item{transition:background-color .15s,border-color .15s}[data-theme=light] .portal-chat-item.is-active{background-color:#e8eef7!important;border:1px solid #007aff38!important}[data-theme=light] .portal-chat-item.is-active:hover{background-color:#e2ebf5!important}[data-theme=dark] .portal-chat-item.is-active{background-color:#23262b!important;border:1px solid #2e3238!important}[data-theme=dark] .portal-chat-item.is-active:hover{background-color:#262a30!important}.portal-desktop-profile-pane{background:var(--bg-canvas,#0f1115);flex-direction:column;height:100%;animation:.28s cubic-bezier(.16,1,.3,1) forwards portalProfileSheetOpen;display:flex;overflow-y:auto}.portal-desktop-profile-header{border-bottom:1px solid var(--border-hairline,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.portal-desktop-profile-body{box-sizing:border-box;flex:1;width:100%;max-width:860px;margin:0 auto;padding:24px 32px 48px}.portal-desktop-profile-hero{background:var(--bg-surface-2,#1c1c1e);border:1px solid var(--border-hairline,#ffffff14);border-radius:20px;align-items:center;gap:24px;margin-bottom:20px;padding:24px;display:flex}.portal-desktop-profile-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=1024px){.portal-desktop-profile-grid{grid-template-columns:1fr}}.portal-desktop-profile-card{background:var(--bg-surface-2,#1c1c1e);border:1px solid var(--border-hairline,#ffffff14);border-radius:20px;flex-direction:column;padding:20px;display:flex}}.portal-desktop-settings-backdrop{z-index:9999;-webkit-backdrop-filter:blur(18px)saturate(160%);box-sizing:border-box;-webkit-user-select:none;user-select:none;background-color:#000000ad;justify-content:center;align-items:center;padding:24px;animation:.22s cubic-bezier(.16,1,.3,1) forwards portalSettingsModalFadeIn;display:flex;position:fixed;inset:0}@keyframes portalSettingsModalFadeIn{0%{opacity:0}to{opacity:1}}.portal-desktop-settings-card{background-color:var(--bg-surface,#1a1d21);border:1px solid var(--border-color,#2e3238);border-radius:34px;width:1140px;max-width:95vw;height:760px;max-height:92vh;animation:.28s cubic-bezier(.16,1,.3,1) forwards portalSettingsModalPop;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #0009,0 6px 20px #00000059}[data-theme=light] .portal-desktop-settings-card{background-color:#fff;border-color:#3c3c4326;box-shadow:0 24px 70px #00000029,0 6px 18px #0000000d}@keyframes portalSettingsModalPop{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-settings-nav-pane{background-color:var(--bg-surface-1,#1a1d21);border-right:1px solid var(--border-color,#2e3238);box-sizing:border-box;flex-direction:column;width:370px;min-width:370px;height:100%;padding:20px 16px 20px 20px;display:flex}[data-theme=light] .portal-settings-nav-pane{background-color:#f8f9fa;border-right-color:#3c3c431f}.portal-settings-user-card{background:linear-gradient(135deg, var(--accent-blue,#3b98ff) 0%, var(--accent-hover,#5f7dff) 100%);cursor:pointer;border-radius:22px;flex-shrink:0;align-items:center;gap:14px;padding:14px 16px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;display:flex;box-shadow:0 6px 20px #3b98ff52}.portal-settings-user-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #3b98ff6b}.portal-settings-user-card:active{transform:scale(.98)}.portal-settings-user-info{flex-direction:column;min-width:0;display:flex;overflow:hidden}.portal-settings-user-name{color:#fff;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.portal-settings-user-sub{color:#ffffffe0;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.portal-settings-search-wrap{flex-shrink:0;margin:16px 0 12px;position:relative}.portal-settings-search-icon{color:var(--text-tertiary,#6b7280);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.portal-settings-search-input{background-color:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);width:100%;color:var(--text-primary,#e5e7eb);box-sizing:border-box;border-radius:14px;outline:none;padding:10px 36px 10px 42px;font-size:14.5px;transition:border-color .15s,background-color .15s}[data-theme=light] .portal-settings-search-input{color:#000;background-color:#efeff4;border-color:#0000}.portal-settings-search-input:focus{border-color:var(--accent-blue,#3b98ff)}.portal-settings-search-input::placeholder{color:var(--text-placeholder,#6b7280)}.portal-settings-search-clear{color:var(--text-tertiary,#6b7280);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.portal-settings-nav-list{flex-direction:column;flex:1;gap:3px;margin-right:-4px;padding-right:4px;display:flex;overflow-y:auto}.portal-settings-nav-btn{cursor:pointer;text-align:left;box-sizing:border-box;width:100%;animation:.36s cubic-bezier(.16,1,.3,1) both portalNavItemEntrance;animation-delay:calc(var(--nav-idx,0) * 40ms);background:0 0;border:1px solid #0000;border-radius:16px;outline:none;align-items:center;gap:14px;padding:10px 14px;transition:background-color .15s,border-color .15s,transform .12s;display:flex}@keyframes portalNavItemEntrance{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.portal-settings-nav-btn:hover{background-color:var(--bg-surface-hover,#1f2328)}[data-theme=light] .portal-settings-nav-btn:hover{background-color:#efeff4}.portal-settings-nav-btn.is-active{background-color:var(--bg-surface-2,#23262b);border-color:var(--border-subtle,#2e3238)}[data-theme=light] .portal-settings-nav-btn.is-active{background-color:#e8eef7;border-color:#007aff33}.portal-settings-nav-icon-badge{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .15s;display:flex;box-shadow:0 2px 5px #00000040}.portal-settings-nav-icon-badge svg{color:#fff!important;stroke:#fff!important}.portal-settings-nav-label-box{flex-direction:column;flex:1;min-width:0;display:flex}.portal-settings-nav-title{color:var(--text-primary,#e5e7eb);white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:600;overflow:hidden}[data-theme=light] .portal-settings-nav-title{color:#000}.portal-settings-nav-sub{color:var(--text-secondary,#9ca3af);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.portal-settings-nav-chevron{color:var(--text-tertiary,#6b7280);opacity:.6;flex-shrink:0}.portal-settings-nav-btn.is-active .portal-settings-nav-chevron{color:var(--accent-blue,#3b98ff);opacity:1}.portal-settings-logout-btn{width:100%;color:var(--destructive,#ef4444);cursor:pointer;background:#ef444414;border:1px solid #ef44442e;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;gap:10px;margin-top:14px;padding:13px 16px;font-size:14.5px;font-weight:600;transition:all .16s;display:flex}.portal-settings-logout-btn:hover{background:#ef44442e;border-color:#ef444452}.portal-settings-logout-btn:active{transform:scale(.98)}.portal-settings-content-pane{background-color:var(--bg-surface,#1a1d21);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}[data-theme=light] .portal-settings-content-pane{background-color:#fff}.portal-settings-header-bar{border-bottom:1px solid var(--border-color,#2e3238);flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex}[data-theme=light] .portal-settings-header-bar{border-bottom-color:#3c3c431f}.portal-settings-section-title{color:var(--text-primary,#e5e7eb);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:800}[data-theme=light] .portal-settings-section-title{color:#000}.portal-settings-close-circle{background:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);width:40px;height:40px;color:var(--text-secondary,#9ca3af);cursor:pointer;border-radius:50%;outline:none;justify-content:center;align-items:center;transition:all .15s;display:flex}[data-theme=light] .portal-settings-close-circle{color:#8e8e93;background:#efeff4;border-color:#0000}.portal-settings-close-circle:hover{background:var(--bg-surface-3,#2a2f36);color:var(--text-primary,#e5e7eb);transform:scale(1.05)}[data-theme=light] .portal-settings-close-circle:hover{color:#000;background:#e5e5ea}.portal-settings-close-circle:active{transform:scale(.95)}.portal-settings-body-scroll{box-sizing:border-box;flex:1;padding:24px 28px 36px;overflow-y:auto}.portal-settings-form-anim{animation:.22s cubic-bezier(.16,1,.3,1) forwards portalSettingsContentFade}@keyframes portalSettingsContentFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portal-profile-hero-card{background:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);border-radius:20px;margin-bottom:20px;overflow:hidden}[data-theme=light] .portal-profile-hero-card{background:#f8f9fa;border-color:#3c3c431f}.portal-profile-hero-banner{box-sizing:border-box;background:linear-gradient(135deg,#3b98ff40 0%,#5f7dff26 100%);justify-content:flex-end;height:96px;padding:12px;display:flex;position:relative}.portal-profile-banner-change-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#00000073;border:1px solid #ffffff2e;border-radius:18px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.portal-profile-banner-change-btn:hover{background:#000000a6}.portal-profile-avatar-center{justify-content:center;margin-top:-46px;display:flex;position:relative}.portal-profile-avatar-anchor{border:4px solid var(--bg-surface,#1a1d21);border-radius:50%;position:relative;box-shadow:0 4px 18px #00000059}[data-theme=light] .portal-profile-avatar-anchor{border-color:#fff;box-shadow:0 4px 14px #0000001a}.portal-profile-avatar-camera-btn{background-color:var(--accent-blue,#3b98ff);border:2px solid var(--bg-surface,#1a1d21);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex;position:absolute;bottom:0;right:0}[data-theme=light] .portal-profile-avatar-camera-btn{border-color:#fff}.portal-profile-avatar-camera-btn:hover{background-color:var(--accent-hover,#5f7dff);transform:scale(1.1)}.portal-profile-names-preview{text-align:center;padding:10px 16px 18px}.portal-profile-full-name{color:var(--text-primary,#e5e7eb);margin:0 0 3px;font-size:17px;font-weight:700}[data-theme=light] .portal-profile-full-name{color:#000}.portal-profile-username-tag{color:var(--accent-blue,#3b98ff);font-size:13px;font-weight:500}.portal-settings-group-card{background:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);box-sizing:border-box;border-radius:18px;margin-bottom:16px;padding:16px 18px}[data-theme=light] .portal-settings-group-card{background:#f8f9fa;border-color:#3c3c431f}.portal-settings-group-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#9ca3af);margin-bottom:14px;font-size:12.5px;font-weight:700;display:block}.portal-settings-field-row{flex-direction:column;gap:8px;display:flex}.portal-settings-field-label{color:var(--text-secondary,#9ca3af);font-size:14px;font-weight:500}.portal-settings-field-divider{background-color:var(--border-hairline,#2e3238);width:100%;height:1px;margin:14px 0}[data-theme=light] .portal-settings-field-divider{background-color:#3c3c4317}.portal-settings-text-field{background-color:var(--bg-surface,#1a1d21);border:1px solid var(--border-subtle,#2e3238);width:100%;color:var(--text-primary,#e5e7eb);box-sizing:border-box;border-radius:13px;outline:none;padding:11px 14px;font-size:15.5px;transition:border-color .15s}[data-theme=light] .portal-settings-text-field{color:#000;background-color:#fff;border-color:#3c3c4326}.portal-settings-text-field:focus{border-color:var(--accent-blue,#3b98ff)}.portal-settings-textarea-field{background-color:var(--bg-surface,#1a1d21);border:1px solid var(--border-subtle,#2e3238);width:100%;color:var(--text-primary,#e5e7eb);box-sizing:border-box;resize:vertical;border-radius:13px;outline:none;min-height:64px;padding:11px 14px;font-family:inherit;font-size:15.5px;transition:border-color .15s}[data-theme=light] .portal-settings-textarea-field{color:#000;background-color:#fff;border-color:#3c3c4326}.portal-settings-textarea-field:focus{border-color:var(--accent-blue,#3b98ff)}.portal-username-input-wrap{align-items:center;display:flex;position:relative}.portal-username-prefix{color:var(--text-tertiary,#6b7280);pointer-events:none;font-size:14px;font-weight:500;position:absolute;left:12px}.portal-settings-text-field.has-prefix{padding-left:28px}.portal-username-hint{font-size:11px;font-weight:500}.portal-username-hint.is-available{color:var(--status-online,#22c55e)}.portal-username-hint.is-taken{color:var(--destructive,#ef4444)}.portal-settings-submit-btn{background:var(--accent-blue,#3b98ff);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .16s;display:inline-flex;box-shadow:0 4px 14px #3b98ff59}.portal-settings-submit-btn:hover:not(:disabled){background:var(--accent-hover,#5f7dff);transform:translateY(-1px);box-shadow:0 6px 18px #3b98ff73}.portal-settings-submit-btn:active:not(:disabled){transform:scale(.97)}.portal-settings-submit-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.portal-settings-alert{border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.portal-settings-alert.is-success{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e47}.portal-settings-alert.is-error{color:#ef4444;background:#ef44441f;border:1px solid #ef444447}.portal-settings-card-highlight{background:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);border-radius:18px;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}[data-theme=light] .portal-settings-card-highlight{background:#f8f9fa;border-color:#3c3c431f}.portal-settings-card-icon-pill{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.portal-settings-card-text{flex:1}.portal-security-badge{border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.portal-security-badge.is-enabled{color:#22c55e;background:#22c55e29}.portal-security-badge.is-disabled{color:#ef4444;background:#ef444424}.portal-settings-action-pill-btn{background:var(--accent-blue,#3b98ff);color:#fff;cursor:pointer;border:none;border-radius:11px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.portal-settings-action-pill-btn:hover{background:var(--accent-hover,#5f7dff);transform:translateY(-1px)}.portal-session-row{align-items:center;gap:14px;display:flex}.portal-session-icon{background:#3b98ff1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.portal-session-device{color:var(--text-primary,#e5e7eb);font-size:14px;font-weight:600}.portal-session-tag{color:#22c55e;background:#22c55e29;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600}.portal-session-meta{color:var(--text-secondary,#9ca3af);margin-top:2px;font-size:12px;display:block}.portal-create-avatar-picker{background:var(--bg-surface,#1a1d21);border:1px dashed var(--border-strong,#383d45);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;transition:border-color .15s;display:flex;overflow:hidden}[data-theme=light] .portal-create-avatar-picker{background:#fff;border-color:#3c3c4340}.portal-create-avatar-picker:hover{border-color:var(--accent-blue,#3b98ff)}.portal-create-avatar-img{object-fit:cover;width:100%;height:100%}.portal-theme-cards-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portal-theme-preview-card{background:var(--bg-surface,#1a1d21);border:2px solid var(--border-subtle,#2e3238);cursor:pointer;border-radius:16px;transition:all .16s;overflow:hidden}[data-theme=light] .portal-theme-preview-card{background:#fff;border-color:#3c3c4326}.portal-theme-preview-card:hover{border-color:var(--accent-blue,#3b98ff);transform:translateY(-2px)}.portal-theme-preview-card.is-selected{border-color:var(--accent-blue,#3b98ff);box-shadow:0 0 0 1px var(--accent-blue,#3b98ff)}.portal-theme-preview-box{box-sizing:border-box;gap:6px;height:100px;padding:8px;display:flex}.portal-theme-preview-box.is-dark{background:#0f1115}.portal-theme-preview-box.is-light{background:#efeff4}.portal-theme-mini-dock{background:#ffffff14;border-radius:6px;width:14px}.portal-theme-preview-box.is-light .portal-theme-mini-dock{background:#fff}.portal-theme-mini-sidebar{background:#ffffff0d;border-radius:6px;flex-direction:column;gap:4px;width:55px;padding:6px;display:flex}.portal-theme-preview-box.is-light .portal-theme-mini-sidebar{background:#fff}.portal-theme-mini-line{background:#ffffff1f;border-radius:3px;height:6px}.portal-theme-preview-box.is-light .portal-theme-mini-line{background:#00000014}.portal-theme-mini-line.is-active{background:var(--accent-blue,#3b98ff)}.portal-theme-mini-chat{background:#0003;border-radius:6px;flex-direction:column;flex:1;justify-content:flex-end;gap:6px;padding:8px;display:flex}.portal-theme-preview-box.is-light .portal-theme-mini-chat{background:#f8f9fa}.portal-theme-mini-bubble{border-radius:5px;max-width:70%;height:10px}.portal-theme-mini-bubble.incoming{background:#1f2328;align-self:flex-start;width:60%}.portal-theme-preview-box.is-light .portal-theme-mini-bubble.incoming{background:#fff}.portal-theme-mini-bubble.outgoing{background:#2a2f36;align-self:flex-end;width:50%}.portal-theme-preview-box.is-light .portal-theme-mini-bubble.outgoing{background:#007aff}.portal-theme-card-footer{border-top:1px solid var(--border-hairline,#2e3238);color:var(--text-primary,#e5e7eb);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}[data-theme=light] .portal-theme-card-footer{color:#000;border-top-color:#3c3c431a}.portal-theme-check{color:var(--accent-blue,#3b98ff);margin-left:auto}.portal-ios-avatar-stage{flex-direction:column;align-items:center;padding:10px 0 24px;display:flex}.portal-ios-avatar-wrapper{cursor:pointer;border-radius:50%;transition:transform .18s cubic-bezier(.16,1,.3,1);position:relative}.portal-ios-avatar-wrapper:hover{transform:scale(1.03)}.portal-ios-avatar-camera-overlay{background-color:var(--accent-blue,#007aff);border:3.5px solid var(--bg-surface,#1a1d21);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s,background-color .15s;display:flex;position:absolute;bottom:0;right:0;box-shadow:0 3px 10px #00000059}[data-theme=light] .portal-ios-avatar-camera-overlay{border-color:#fff}.portal-ios-avatar-wrapper:hover .portal-ios-avatar-camera-overlay{background-color:var(--accent-hover,#5f7dff);transform:scale(1.08)}.portal-ios-avatar-btn{color:var(--accent-blue,#007aff);cursor:pointer;background:0 0;border:none;outline:none;margin-top:14px;font-size:15.5px;font-weight:600;transition:opacity .15s}.portal-ios-avatar-btn:hover{opacity:.8}.portal-ios-avatar-remove-btn{color:var(--destructive,#ef4444);cursor:pointer;background:0 0;border:none;outline:none;margin-top:6px;font-size:13.5px;transition:opacity .15s}.portal-ios-avatar-remove-btn:hover{opacity:.8}.portal-ios-inset-section{margin-bottom:26px}.portal-ios-section-header{letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary,#6b7280);margin-bottom:9px;margin-left:16px;font-size:13px;font-weight:700;display:block}.portal-ios-inset-card{background-color:var(--bg-surface-2,#23262b);border:1px solid var(--border-subtle,#2e3238);border-radius:16px;overflow:hidden;box-shadow:0 1px 4px #00000029}[data-theme=light] .portal-ios-inset-card{background-color:#fff;border-color:#3c3c431f;box-shadow:0 1px 4px #0000000a}.portal-ios-cell-row{box-sizing:border-box;align-items:center;min-height:52px;padding:13px 18px;display:flex}.portal-ios-cell-row.is-textarea{align-items:flex-start;padding:14px 18px}.portal-ios-cell-label{width:105px;color:var(--text-secondary,#9ca3af);flex-shrink:0;font-size:15.5px;font-weight:500}[data-theme=light] .portal-ios-cell-label{color:#6c6c70}.portal-ios-cell-input{color:var(--text-primary,#e5e7eb);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:16.5px}[data-theme=light] .portal-ios-cell-input{color:#000}.portal-ios-cell-input::placeholder{color:var(--text-placeholder,#6b7280)}.portal-ios-cell-textarea{color:var(--text-primary,#e5e7eb);box-sizing:border-box;resize:vertical;background:0 0;border:none;outline:none;flex:1;min-height:68px;padding:0;font-family:inherit;font-size:16px;line-height:1.45}[data-theme=light] .portal-ios-cell-textarea{color:#000}.portal-ios-cell-textarea::placeholder{color:var(--text-placeholder,#6b7280)}.portal-ios-cell-divider{background-color:var(--border-subtle,#2e3238);height:1px;margin-left:18px}[data-theme=light] .portal-ios-cell-divider{background-color:#3c3c4314}.portal-ios-section-footer{color:var(--text-tertiary,#6b7280);margin-top:8px;margin-left:16px;font-size:13px;line-height:1.45;display:block}.portal-ios-save-btn{background:var(--accent-blue,#007aff);color:#fff;cursor:pointer;border:none;border-radius:24px;outline:none;align-items:center;gap:10px;padding:12px 28px;font-size:16px;font-weight:700;transition:all .16s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 16px #007aff59}.portal-ios-save-btn:hover{background:var(--accent-hover,#0066d6);transform:translateY(-1px);box-shadow:0 6px 20px #007aff73}.portal-ios-save-btn:active{transform:scale(.98)}.portal-ios-save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.portal-premium-tab-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.portal-premium-header-badge{background:linear-gradient(135deg,#ff9500 0%,#fc0 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 16px #ff950061}.portal-premium-main-title{letter-spacing:-.02em;color:var(--text-primary,#e5e7eb);margin:0;font-size:22px;font-weight:800}[data-theme=light] .portal-premium-main-title{color:#000}.portal-premium-main-desc{color:var(--text-secondary,#9ca3af);margin:4px 0 0;font-size:14.5px;line-height:1.45}.portal-premium-layout{align-items:flex-start;gap:36px;display:flex}.portal-premium-card-col{flex-shrink:0;width:380px}.portal-bank-card{box-sizing:border-box;color:#fff;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#0e4752 0%,#092e36 50%,#041b20 100%);border-radius:22px;flex-direction:column;justify-content:space-between;width:380px;height:238px;padding:22px 24px;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 46px #0000008c,inset 0 1px 1.5px #ffffff4d}.portal-bank-card:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 24px 54px #000000a6,inset 0 1px 1.5px #fff6}.portal-bank-card-guilloche{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.portal-bank-card-top{z-index:2;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.portal-bank-card-tier{letter-spacing:-.02em;color:#fff;font-size:24px;font-weight:800;line-height:1.1;display:block}.portal-bank-card-brand{letter-spacing:.16em;color:#ffffffa6;margin-top:3px;font-size:11px;font-weight:700;display:block}.portal-bank-card-star-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 2px 8px #0003}.portal-bank-card-chip{z-index:2;background:linear-gradient(135deg,#ffe29f 0%,#d8a54a 50%,#b88628 100%);border:1px solid #855e1799;border-radius:8px;width:52px;height:39px;margin:6px 0;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #fff9,0 2px 6px #00000059}.portal-chip-line-h{background:#5e420c80;height:1px;position:absolute;top:50%;left:0;right:0}.portal-chip-line-v{background:#5e420c80;width:1px;position:absolute;top:0;bottom:0;left:45%}.portal-chip-core{border:1px solid #5e420c66;border-radius:3px;width:50%;height:50%;position:absolute;top:25%;left:25%}.portal-bank-card-bottom{z-index:2;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.portal-bank-card-holder{letter-spacing:.08em;color:#fffffff2;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;max-width:210px;font-size:14.5px;font-weight:700;overflow:hidden}.portal-bank-card-price-box{text-align:right}.portal-bank-card-price{letter-spacing:-.02em;color:#fff;font-size:28px;font-weight:800;line-height:1}.portal-bank-card-period{color:#ffffffb3;margin-left:2px;font-size:13px;font-weight:500}.portal-premium-sec-note{color:var(--text-tertiary,#6b7280);justify-content:center;align-items:center;gap:8px;margin:16px 0 14px;font-size:13.5px;display:flex}.portal-premium-checkout-btn{color:#06202a;cursor:pointer;background:#22d3ee;border:none;border-radius:25px;outline:none;justify-content:center;align-items:center;width:100%;height:50px;font-size:16.5px;font-weight:700;transition:all .16s;display:flex;box-shadow:0 4px 16px #22d3ee61}.portal-premium-checkout-btn:hover{background:#38bdf8;transform:translateY(-1px);box-shadow:0 6px 22px #22d3ee7a}.portal-premium-checkout-btn:active{transform:scale(.98)}.portal-premium-perks-col{flex:1;min-width:0}.portal-premium-perks-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary,#6b7280);margin:0 0 14px;font-size:13px;font-weight:700}.portal-premium-perks-list{flex-direction:column;gap:12px;display:flex}.portal-premium-perk-item{color:var(--text-primary,#e5e7eb);align-items:center;gap:14px;font-size:15px;font-weight:500;display:flex}[data-theme=light] .portal-premium-perk-item{color:#000}.portal-perk-icon{color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 1px 3px #0003}.portal-perk-icon svg{color:#fff!important;stroke:#fff!important}.portal-premium-footer-hint{color:var(--text-tertiary,#6b7280);margin-top:16px;font-size:13px;line-height:1.45}.portal-ios-toggle{background-color:var(--bg-surface-3,#2a2f36);box-sizing:border-box;cursor:pointer;border-radius:13px;align-items:center;width:44px;height:26px;padding:2px;transition:background-color .2s;display:flex}[data-theme=light] .portal-ios-toggle{background-color:#e5e5ea}.portal-ios-toggle.is-on{background-color:var(--status-online,#22c55e)}.portal-ios-toggle-knob{background-color:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 4px #0003}.portal-ios-toggle.is-on .portal-ios-toggle-knob{transform:translate(18px)}.portal-sessions-refresh-btn{color:var(--accent-blue,#007aff);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.portal-sessions-refresh-btn:hover{background-color:#007aff1a}.portal-sessions-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.portal-session-card{background-color:var(--bg-surface-2,#1c1f24);border:1px solid var(--border-subtle,#2c3038);box-sizing:border-box;border-radius:16px;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}[data-theme=light] .portal-session-card{background-color:#f8f9fa;border-color:#3c3c431f}.portal-session-icon{width:44px;height:44px;color:var(--accent-blue,#007aff);background:#007aff1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-session-icon.current-device{color:#22c55e;background:#22c55e24}.portal-session-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.portal-session-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-session-device{color:var(--text-primary,#e5e7eb);letter-spacing:-.01em;font-size:15.5px;font-weight:700}[data-theme=light] .portal-session-device{color:#000}.portal-session-tag.is-online{color:#22c55e;background:#22c55e1f;border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.portal-session-tag-dot{background-color:#22c55e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #22c55e99}.portal-session-meta{color:var(--text-secondary,#9ca3af);font-size:13.5px;font-weight:500}.portal-session-location-row{color:var(--text-tertiary,#6b7280);align-items:center;gap:6px;margin-top:2px;font-size:12.5px;display:flex}.portal-session-loc-icon{color:var(--text-tertiary,#6b7280);flex-shrink:0}.portal-session-loc-divider{opacity:.5}.portal-session-time{color:var(--text-tertiary,#6b7280);margin-top:3px;font-size:12px}.portal-terminate-all-wrap{margin-top:14px}.portal-terminate-all-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444438;border-radius:14px;outline:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 18px;font-size:14px;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex}.portal-terminate-all-btn:hover{background:#ef44442e;border-color:#ef444459;transform:translateY(-1px)}.portal-terminate-all-btn:active{transform:scale(.99)}.portal-terminate-all-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.portal-terminate-all-hint{color:var(--text-tertiary,#6b7280);text-align:center;margin:8px 0 0;font-size:12px;line-height:1.4}.portal-sessions-list{flex-direction:column;gap:10px;display:flex}.portal-session-item{background-color:var(--bg-surface-2,#1c1f24);border:1px solid var(--border-subtle,#2c3038);box-sizing:border-box;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:background-color .15s,border-color .15s;display:flex}[data-theme=light] .portal-session-item{background-color:#f8f9fa;border-color:#3c3c431f}.portal-session-disconnect-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;outline:none;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.portal-session-disconnect-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.portal-session-disconnect-btn:active{transform:scale(.96)}.portal-session-disconnect-btn:disabled{opacity:.5;cursor:not-allowed}.portal-sessions-empty-state{text-align:center;flex-direction:column;align-items:center;padding:28px 16px;display:flex}.portal-sessions-empty-icon{background-color:var(--bg-surface-3,#242930);width:52px;height:52px;color:var(--text-tertiary,#6b7280);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;display:flex}[data-theme=light] .portal-sessions-empty-icon{background-color:#e5e5ea}.portal-sessions-empty-title{color:var(--text-primary,#e5e7eb);margin-bottom:6px;font-size:15px;font-weight:600}[data-theme=light] .portal-sessions-empty-title{color:#000}.portal-sessions-empty-desc{color:var(--text-secondary,#9ca3af);max-width:380px;font-size:13px;line-height:1.45}.portal-sessions-loading-state{color:var(--text-secondary,#9ca3af);justify-content:center;align-items:center;gap:10px;padding:28px 16px;font-size:14px;display:flex}.portal-emoji-panel{background-color:var(--bg-surface,#141517);border-left:1px solid var(--border-hairline,#ffffff14);box-sizing:border-box;z-index:40;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;width:360px;min-width:360px;max-width:360px;height:100%;animation:.22s cubic-bezier(.16,1,.3,1) portalEmojiPanelSlideIn;display:flex;position:relative}@keyframes portalEmojiPanelSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.portal-emoji-panel{z-index:9999;border-left:none;width:100vw;min-width:100vw;max-width:100vw;height:100dvh;animation:.25s cubic-bezier(.16,1,.3,1) portalEmojiPanelSlideUp;position:fixed;inset:0}@keyframes portalEmojiPanelSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.portal-comments-emoji-dock{border:1px solid var(--border-hairline,#ffffff1a);border-radius:20px;flex-direction:column;width:360px;height:82vh;max-height:82vh;animation:.2s portalFadeIn;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}@media (width<=768px){.portal-comments-emoji-dock{z-index:10000;border-radius:0;width:100vw;height:100dvh;max-height:100dvh;position:fixed;inset:0}}.portal-comments-emoji-dock .portal-emoji-panel{border-left:none;width:100%;min-width:100%;max-width:100%}.portal-emoji-panel-header{border-bottom:1px solid var(--border-hairline,#ffffff14);background-color:var(--bg-surface,#141517);box-sizing:border-box;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 12px 0 16px;display:flex}.portal-emoji-tabs{align-items:center;gap:18px;display:flex}.portal-emoji-tab{color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;padding:12px 0;font-size:14px;font-weight:600;transition:color .15s;position:relative}.portal-emoji-tab:hover{color:var(--text-primary,#fff)}.portal-emoji-tab.is-active{color:var(--accent-blue,#0a84ff)}.portal-emoji-tab.is-active:after{content:"";background-color:var(--accent-blue,#0a84ff);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.portal-emoji-panel-close-btn{width:30px;height:30px;color:var(--text-secondary,#8e8e93);cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.portal-emoji-panel-close-btn:hover{background-color:var(--bg-surface-2,#ffffff14);color:var(--text-primary,#fff)}.portal-emoji-search-box{border-bottom:1px solid var(--border-hairline,#ffffff0f);background-color:var(--bg-surface,#141517);flex-direction:column;gap:8px;padding:10px 14px 8px;display:flex}.portal-emoji-search-wrap{align-items:center;width:100%;display:flex;position:relative}.portal-emoji-search-icon{color:var(--text-secondary,#8e8e93);pointer-events:none;position:absolute;left:10px}.portal-emoji-search-input{background-color:var(--bg-surface-2,#ffffff0f);width:100%;height:34px;color:var(--text-primary,#fff);box-sizing:border-box;border:1px solid #0000;border-radius:10px;outline:none;padding:0 30px 0 32px;font-size:13.5px;transition:background-color .15s,border-color .15s}.portal-emoji-search-input:focus{background-color:var(--bg-surface-3,#ffffff1a);border-color:#0a84ff66}.portal-emoji-search-input::placeholder{color:var(--text-secondary,#8e8e93);opacity:.7}.portal-emoji-search-clear{width:18px;height:18px;color:var(--text-primary,#fff);cursor:pointer;background-color:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:8px}.portal-emoji-quick-reactions{scrollbar-width:none;align-items:center;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.portal-emoji-quick-reactions::-webkit-scrollbar{display:none}.portal-emoji-quick-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:17px;transition:transform .12s,background-color .12s;display:flex}.portal-emoji-quick-btn:hover{background-color:var(--bg-surface-2,#ffffff14);transform:scale(1.18)}.portal-emoji-scroll-area{box-sizing:border-box;flex:1;min-height:0;padding:8px 12px 16px;overflow-y:auto}.portal-emoji-section{margin-bottom:16px}.portal-emoji-section-title{z-index:10;letter-spacing:-.01em;color:var(--text-secondary,#8e8e93);background-color:var(--bg-surface,#141517);justify-content:space-between;align-items:center;padding:6px 4px;font-size:12px;font-weight:700;display:flex;position:sticky;top:-8px}.portal-emoji-section-count{opacity:.6;font-size:11px;font-weight:500}.portal-emoji-grid-animated{grid-template-columns:repeat(6,1fr);gap:6px;padding:4px 0;display:grid}.portal-animated-emoji-item{aspect-ratio:1;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:4px;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .12s;display:flex}.portal-animated-emoji-item:hover{background-color:var(--bg-surface-2,#ffffff14);transform:scale(1.15)}.portal-animated-emoji-item:active{transform:scale(.96)}.portal-animated-emoji-img{object-fit:contain;pointer-events:none;width:100%;height:100%}.portal-emoji-grid-unicode{grid-template-columns:repeat(7,1fr);gap:4px;padding:4px 0;display:grid}.portal-unicode-emoji-item{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:24px;transition:transform .12s,background-color .12s;display:flex}.portal-unicode-emoji-item:hover{background-color:var(--bg-surface-2,#ffffff14);transform:scale(1.2)}.portal-unicode-emoji-item:active{transform:scale(.95)}.portal-emoji-dock-bar{border-top:1px solid var(--border-hairline,#ffffff14);background-color:var(--bg-surface,#141517);box-sizing:border-box;justify-content:space-around;align-items:center;height:44px;min-height:44px;padding:0 10px;display:flex}.portal-emoji-dock-btn{width:34px;height:34px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:background-color .12s,color .12s,transform .12s;display:flex}.portal-emoji-dock-btn:hover{background-color:var(--bg-surface-2,#ffffff14);color:var(--text-primary,#fff);transform:scale(1.1)}.portal-emoji-empty-tab{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex}.portal-emoji-empty-badge{margin-bottom:12px;font-size:40px}.portal-emoji-empty-title{color:var(--text-primary,#fff);margin-bottom:6px;font-size:15px;font-weight:600}.portal-emoji-empty-desc{color:var(--text-secondary,#8e8e93);max-width:260px;font-size:13px;line-height:1.45}.portal-glass-emoji-btn{width:32px;min-width:32px;height:32px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-right:2px;padding:0;transition:color .15s,transform .15s,background-color .15s;display:flex}.portal-glass-emoji-btn:hover{color:var(--text-primary,#fff);background-color:var(--bg-surface-2,#ffffff14);transform:scale(1.08)}.portal-glass-emoji-btn.is-active{color:var(--accent-blue,#0a84ff);background-color:#0a84ff1f}.portal-channel-emoji-btn{width:36px;min-width:36px;height:36px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s,transform .15s,background-color .15s;display:flex}.portal-channel-emoji-btn:hover{color:var(--text-primary,#fff);background-color:var(--bg-surface-2,#ffffff14);transform:scale(1.08)}.portal-channel-emoji-btn.is-active{color:var(--accent-blue,#0a84ff);background-color:#0a84ff1f}.portal-comments-emoji-btn{width:34px;min-width:34px;height:34px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s,transform .15s,background-color .15s;display:flex}.portal-comments-emoji-btn:hover{color:var(--text-primary,#fff);background-color:var(--bg-surface-2,#ffffff14);transform:scale(1.08)}.portal-comments-emoji-btn.is-active{color:var(--accent-blue,#0a84ff);background-color:#0a84ff1f}.portal-msg-bubble.is-emoji-only{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important;padding:4px 6px!important}.portal-emoji-cluster{flex-wrap:wrap;align-items:flex-end;gap:6px;display:inline-flex;position:relative}.portal-rendered-emoji{object-fit:contain;vertical-align:middle;pointer-events:none;display:inline-block}.portal-rendered-emoji.large{width:76px;min-width:76px;height:76px;min-height:76px}.portal-rendered-emoji.medium{width:48px;min-width:48px;height:48px;min-height:48px}.portal-rendered-emoji.small{width:34px;min-width:34px;height:34px;min-height:34px}.portal-rendered-char{text-align:center;line-height:1.1;display:inline-block}.portal-rendered-char.large{font-size:72px}.portal-rendered-char.medium{font-size:44px}.portal-rendered-char.small{font-size:30px}.portal-emoji-meta-pill{-webkit-backdrop-filter:blur(8px);color:#ffffffe0;pointer-events:none;background-color:#00000073;border-radius:12px;flex-shrink:0;align-self:flex-end;align-items:center;gap:4px;margin-bottom:2px;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}[data-theme=light] .portal-emoji-meta-pill{color:#fff;background-color:#00000059}[data-theme=light] .portal-emoji-panel{background-color:#fff;border-left-color:#00000014}[data-theme=light] .portal-emoji-panel-header,[data-theme=light] .portal-emoji-search-box,[data-theme=light] .portal-emoji-dock-bar,[data-theme=light] .portal-emoji-section-title{background-color:#fff}[data-theme=light] .portal-emoji-search-input{color:#000;background-color:#f2f2f7}.portal-translation-banner{z-index:46;background-color:var(--bg-surface,#141517);border-bottom:1px solid var(--border-hairline,#ffffff14);box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:6px 16px;animation:.22s cubic-bezier(.16,1,.3,1) portalSlideDown;display:flex;position:relative}@keyframes portalSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.portal-translation-banner.is-translated{background-color:#0a84ff0a;border-bottom-color:#0a84ff26}.portal-translation-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.portal-translation-icon-badge{width:30px;min-width:30px;height:30px;color:var(--accent-blue,#0a84ff);background-color:#0a84ff24;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-translation-info{flex-direction:column;min-width:0;display:flex}.portal-translation-title-row{align-items:center;gap:6px;display:flex}.portal-translation-title{letter-spacing:-.01em;color:var(--text-primary,#fff);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.portal-translation-premium-tag{text-transform:uppercase;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#ff9500 0%,#ff2d55 100%);border-radius:6px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:700}.portal-translation-subtitle{color:var(--text-secondary,#8e8e93);opacity:.88;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.portal-translation-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.portal-translation-loading{color:var(--accent-blue,#0a84ff);align-items:center;gap:6px;padding:0 4px;font-size:12px;font-weight:500;display:flex}.portal-translation-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:14px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:12.5px;font-weight:600;transition:transform .12s,opacity .15s,background-color .15s;display:flex}.portal-translation-action-btn.translate{background-color:var(--accent-blue,#0a84ff);color:#fff}.portal-translation-action-btn.translate:hover{opacity:.92;transform:scale(1.02)}.portal-translation-action-btn.translate:active{transform:scale(.97)}.portal-translation-action-btn.revert{background-color:var(--bg-surface-2,#ffffff14);color:var(--accent-blue,#0a84ff);border:1px solid var(--border-hairline,#ffffff1f)}.portal-translation-action-btn.revert:hover{background-color:var(--bg-surface-3,#ffffff1f);transform:scale(1.02)}.portal-translation-action-btn.revert:active{transform:scale(.97)}.portal-translation-close-btn{width:26px;height:26px;color:var(--text-secondary,#8e8e93);cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.portal-translation-close-btn:hover{background-color:var(--bg-surface-2,#ffffff14);color:var(--text-primary,#fff)}.portal-msg-translated-badge{color:var(--accent-blue,#0a84ff);opacity:.85;vertical-align:baseline;-webkit-user-select:none;user-select:none;margin-left:6px;font-size:10px;font-weight:600;display:inline-block}.portal-channel-translated-tag{color:var(--accent-blue,#0a84ff);-webkit-user-select:none;user-select:none;background-color:#0a84ff14;border:1px solid #0a84ff29;border-radius:6px;align-items:center;gap:4px;width:fit-content;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}[data-theme=light] .portal-translation-banner{background-color:#fff;border-bottom-color:#00000014}[data-theme=light] .portal-translation-banner.is-translated{background-color:#0a84ff0d}[data-theme=light] .portal-translation-action-btn.revert{background-color:#f2f2f7;border-color:#00000014}@keyframes portalContextFadeIn{0%{opacity:0}to{opacity:1}}@keyframes portalContextPopIn{0%{opacity:0;transform:scale(.88)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-msg-context-overlay{z-index:99998;-webkit-backdrop-filter:blur(14px);background:#00000052;animation:.16s cubic-bezier(.16,1,.3,1) portalContextFadeIn;position:fixed;inset:0}.portal-msg-context-menu{z-index:99999;-webkit-backdrop-filter:blur(28px)saturate(190%);transform-origin:0 0;-webkit-user-select:none;user-select:none;background:#161618e0;border:1px solid #ffffff1f;border-radius:20px;width:236px;max-width:calc(100vw - 32px);padding:6px;animation:.18s cubic-bezier(.16,1,.3,1) portalContextPopIn;position:fixed;box-shadow:0 16px 48px #0009,0 2px 10px #00000059}.portal-context-item{width:100%;color:var(--text-primary,#fff);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:9px 12px;font-size:14.5px;font-weight:500;transition:background-color .12s,transform 80ms;display:flex}.portal-context-item:hover{background-color:#ffffff1a}.portal-context-item:active{transform:scale(.98)}.portal-context-icon{color:var(--text-primary,#fff);flex-shrink:0}.portal-context-item.destructive,.portal-context-item.destructive .portal-context-icon{color:#ff453a}.portal-context-item.destructive:hover{background-color:#ff453a24}.portal-context-divider{background-color:#ffffff14;height:1px;margin:4px 6px}.portal-context-footer-meta{color:var(--text-secondary,#8e8e93);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 12px 6px;font-size:12.5px;display:flex}.portal-context-meta-check{color:var(--accent-blue,#0a84ff);flex-shrink:0}.portal-pinned-banner{background-color:var(--bg-surface,#141517);border-bottom:1px solid var(--border-hairline,#ffffff14);cursor:pointer;z-index:10;align-items:center;gap:12px;padding:8px 16px;transition:background-color .15s;animation:.16s portalSlideDown;display:flex;position:relative}.portal-pinned-banner:hover{background-color:#ffffff0a}.portal-pinned-bar-accent{background-color:var(--accent-blue,#0a84ff);border-radius:2px;flex-shrink:0;width:3px;height:28px}.portal-pinned-icon{color:var(--accent-blue,#0a84ff);flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-pinned-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.portal-pinned-title{color:var(--accent-blue,#0a84ff);font-size:13px;font-weight:600;line-height:1.25}.portal-pinned-preview{color:var(--text-secondary,#8e8e93);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.35;overflow:hidden}.portal-pinned-unpin-btn{width:28px;height:28px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.portal-pinned-unpin-btn:hover{color:var(--text-primary,#fff);background-color:#ffffff1a}.portal-input-accessory-bar{background-color:var(--bg-surface,#141517);border-top:1px solid var(--border-hairline,#ffffff14);z-index:5;align-items:center;gap:12px;padding:8px 16px;animation:.15s portalSlideDown;display:flex;position:relative}.portal-accessory-accent-line{background-color:var(--accent-blue,#0a84ff);border-radius:2px;flex-shrink:0;width:3px;height:28px}.portal-accessory-icon{color:var(--accent-blue,#0a84ff);flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-accessory-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.portal-accessory-title{color:var(--accent-blue,#0a84ff);font-size:13px;font-weight:600;line-height:1.25}.portal-accessory-snippet{color:var(--text-secondary,#8e8e93);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.35;overflow:hidden}.portal-accessory-close-btn{width:28px;height:28px;color:var(--text-secondary,#8e8e93);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.portal-accessory-close-btn:hover{color:var(--text-primary,#fff);background-color:#ffffff1a}.portal-msg-reply-quote{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0003;border-radius:8px;align-items:stretch;gap:8px;margin-bottom:6px;padding:4px 8px;transition:opacity .15s;display:flex;overflow:hidden}.portal-msg-reply-quote:hover{opacity:.85}.portal-reply-quote-bar{background-color:var(--accent-blue,#0a84ff);border-radius:2px;flex-shrink:0;width:3px}.portal-reply-quote-content{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.portal-reply-quote-author{color:var(--accent-blue,#0a84ff);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.25;overflow:hidden}.portal-reply-quote-text{color:var(--text-secondary,#ffffffbf);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.35;overflow:hidden}.outgoing .portal-msg-reply-quote{background:#ffffff26}.outgoing .portal-reply-quote-bar{background-color:#fff}.outgoing .portal-reply-quote-author{color:#fff}.outgoing .portal-reply-quote-text{color:#ffffffd9}.portal-msg-edited-badge{color:inherit;opacity:.7;-webkit-user-select:none;user-select:none;margin-right:4px;font-size:11px;font-weight:400}@keyframes portalMsgHighlightPulse{0%{box-shadow:0 0 #0a84ffb3}40%{box-shadow:0 0 0 8px #0a84ff59}to{box-shadow:0 0 #0a84ff00}}.portal-msg-highlight-pulse{animation:1.6s ease-out portalMsgHighlightPulse}[data-theme=light] .portal-msg-context-menu{background:#ffffffe6;border-color:#0000001a;box-shadow:0 16px 48px #0000002e,0 2px 10px #00000014}[data-theme=light] .portal-context-item{color:#000}[data-theme=light] .portal-context-item:hover{background-color:#0000000f}[data-theme=light] .portal-context-icon{color:#000}[data-theme=light] .portal-context-divider{background-color:#00000014}[data-theme=light] .portal-pinned-banner{background-color:#fff;border-bottom-color:#00000014}[data-theme=light] .portal-pinned-banner:hover{background-color:#00000005}[data-theme=light] .portal-input-accessory-bar{background-color:#fff;border-top-color:#00000014}[data-theme=light] .portal-msg-reply-quote{background:#0000000d}[data-theme=light] .portal-reply-quote-text{color:#000000a6}.portal-channel-sparks-pill{color:#fbbf24;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f59e0b24,#d9770638);border:1px solid #f59e0b73;border-radius:9999px;align-items:center;gap:5px;height:27px;padding:0 11px;font-size:12.5px;font-weight:700;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;box-shadow:0 2px 6px #0000002e,inset 0 1px #ffffff1a}.portal-channel-sparks-pill:hover{background:linear-gradient(135deg,#f59e0b40,#d9770659);border-color:#f59e0bb3;transform:translateY(-1px)scale(1.02);box-shadow:0 4px 12px #f59e0b40}.portal-channel-sparks-pill:active{transform:scale(.96)}.portal-channel-sparks-pill.active{color:#fef08a;background:linear-gradient(135deg,#f59e0b4d,#d9770673);border-color:#f59e0b;box-shadow:0 0 10px #f59e0b66}.portal-channel-sparks-icon{filter:drop-shadow(0 1px 2px #0000004d);flex-shrink:0;width:14px;height:14px}.portal-channel-sparks-count{font-variant-numeric:tabular-nums;letter-spacing:-.2px}.portal-sparks-burst-particles{pointer-events:none;z-index:10;position:absolute;top:50%;left:50%}.portal-sparks-burst-particles .p-star,.portal-sparks-burst-particles .p-badge{font-weight:800;animation:1s cubic-bezier(.2,.8,.2,1) forwards burstFloat;position:absolute}.portal-sparks-burst-particles .s1{color:#fbbf24;--dx:-16px;--dy:-32px;font-size:15px}.portal-sparks-burst-particles .s2{color:#f59e0b;--dx:14px;--dy:-38px;font-size:18px;animation-delay:50ms}.portal-sparks-burst-particles .s3{color:#fef08a;--dx:-24px;--dy:-18px;font-size:13px;animation-delay:.1s}.portal-sparks-burst-particles .s4{color:#f59e0b;--dx:22px;--dy:-22px;font-size:14px;animation-delay:80ms}.portal-sparks-burst-particles .p-badge{color:#fbbf24;--dx:0px;--dy:-42px;text-shadow:0 0 6px #f59e0bcc;font-size:13px}@keyframes burstFloat{0%{opacity:1;transform:translate(-50%,-50%)scale(.6)}50%{opacity:1;transform:translate(calc(-50% + var(--dx,0px)), calc(-50% + var(--dy,-25px))) scale(1.15)}to{opacity:0;transform:translate(calc(-50% + var(--dx,0px) * 1.3), calc(-50% + var(--dy,-25px) * 1.3)) scale(.8)}}.portal-sparks-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(14px);background-color:#000000b8;justify-content:center;align-items:center;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) fadeInModal;display:flex;position:fixed;inset:0}.portal-sparks-modal-card{background:var(--bg-surface-1,#1a1d21);border:1px solid var(--border-hairline,#ffffff1a);width:100%;max-width:360px;color:var(--text-primary,#fff);border-radius:20px;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) scaleUpModal;display:flex;overflow:hidden;box-shadow:0 24px 64px #000000b3,0 0 0 1px #ffffff0a}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes scaleUpModal{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.portal-sparks-modal-header{justify-content:space-between;align-items:center;padding:18px 20px 10px;display:flex}.portal-sparks-modal-balance-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;transition:opacity .15s;display:flex}.portal-sparks-modal-balance-wrap:hover{opacity:.85}.portal-sparks-modal-balance-label{color:var(--text-secondary,#9ca3af);font-size:13px;font-weight:500;line-height:1.2}.portal-sparks-modal-balance-val{color:var(--text-primary,#fff);align-items:center;gap:6px;margin-top:3px;font-size:17px;font-weight:700;display:flex}.portal-sparks-modal-balance-val .portal-sparks-icon-svg{filter:drop-shadow(0 1px 4px #f59e0b80)}.portal-sparks-modal-close{color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.portal-sparks-modal-close:hover{color:var(--text-primary,#fff);background:#ffffff14}.portal-sparks-slider-section{margin-top:4px;padding:42px 24px 10px;position:relative}.portal-sparks-track-container{width:100%;position:relative}.portal-sparks-bubble-tooltip{pointer-events:none;z-index:6;flex-direction:column;align-items:center;transition:none;display:flex;position:absolute;bottom:calc(100% + 7px);transform:translate(-50%)}.portal-sparks-bubble-content{color:#fff;letter-spacing:-.2px;white-space:nowrap;background:#f59e0b;border-radius:12px;align-items:center;gap:5px;padding:4px 12px;font-size:14px;font-weight:800;display:flex;box-shadow:0 4px 14px #f59e0b80}.portal-sparks-bubble-icon{flex-shrink:0;width:14px;height:14px}.portal-sparks-bubble-arrow{border-top:6px solid #f59e0b;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;margin-top:-1px}.portal-sparks-track-wrapper{background:var(--bg-surface-2,#23262b);border:1.5px solid #f59e0b;border-radius:9999px;align-items:center;width:100%;height:18px;display:flex;position:relative;box-shadow:inset 0 1px 3px #0006,0 0 8px #f59e0b26}.portal-sparks-track-sparkles{opacity:.65;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 10% 30%,#fbbf24 100%,#0000),radial-gradient(1px 1px at 20% 70%,#fde047 100%,#0000),radial-gradient(2px 2px at 35% 40%,#fbbf24 100%,#0000),radial-gradient(1px 1px at 45% 65%,#fff 100%,#0000),radial-gradient(1.5px 1.5px at 60% 35%,#fbbf24 100%,#0000),radial-gradient(2px 2px at 75% 60%,#fde047 100%,#0000),radial-gradient(1.5px 1.5px at 85% 25%,#fff 100%,#0000),radial-gradient(1px 1px at 92% 70%,#fbbf24 100%,#0000);border-radius:9999px;position:absolute;inset:0;overflow:hidden}.portal-sparks-track-fill{pointer-events:none;background:linear-gradient(90deg,#f59e0b4d,#f59e0bbf);border-radius:9999px 0 0 9999px;position:absolute;top:0;bottom:0;left:0}.portal-sparks-slider-thumb{pointer-events:none;z-index:4;background:#fff;border:1.5px solid #f59e0b80;border-radius:50%;width:22px;height:22px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000073}.portal-sparks-range-input{opacity:0;cursor:pointer;z-index:10;width:100%;height:calc(100% + 20px);margin:0;position:absolute;inset:-10px 0}.portal-sparks-modal-info{text-align:center;padding:16px 20px 8px}.portal-sparks-modal-title{color:var(--text-primary,#fff);letter-spacing:-.3px;margin:0;font-size:19px;font-weight:700}.portal-sparks-modal-desc{color:var(--text-secondary,#9ca3af);max-width:290px;margin:6px auto 0;font-size:13px;line-height:1.45}.portal-sparks-leaders-section{flex-direction:column;align-items:center;padding:12px 20px 6px;display:flex}.portal-sparks-leaders-badge{color:#000;letter-spacing:-.1px;background:#f59e0b;border-radius:9999px;margin-bottom:16px;padding:4px 20px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #f59e0b4d}.portal-sparks-leaders-list{justify-content:center;align-items:flex-start;gap:24px;width:100%;min-height:86px;display:flex}.portal-sparks-leaders-empty{color:var(--text-secondary,#9ca3af);text-align:center;padding:14px 10px;font-size:12.5px;font-style:italic}.portal-sparks-leader-card{flex-direction:column;align-items:center;max-width:80px;display:flex}.portal-sparks-leader-avatar-wrap{width:50px;height:50px;margin-bottom:8px;position:relative}.portal-sparks-leader-anon-avatar{background:linear-gradient(135deg,#a855f7,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 4px 12px #7c3aed66}.portal-sparks-leader-star-badge{color:#000;border:1.5px solid var(--bg-surface-1,#1a1d21);white-space:nowrap;background:#f59e0b;border-radius:9999px;align-items:center;gap:3px;padding:1px 7px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;bottom:-4px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000004d}.portal-sparks-leader-name{color:var(--text-primary,#fff);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:76px;font-size:12.5px;font-weight:500;overflow:hidden}.portal-sparks-checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;margin:10px 20px 18px;display:flex}.portal-sparks-checkbox-native{opacity:0;pointer-events:none;position:absolute}.portal-sparks-checkbox-custom{border:1.5px solid var(--border-strong,#383d45);background:var(--bg-surface-2,#23262b);color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.portal-sparks-checkbox-custom.checked{background:var(--accent-blue,#3b98ff);border-color:var(--accent-blue,#3b98ff)}.portal-sparks-checkbox-label{color:var(--text-primary,#fff);font-size:13.5px;font-weight:400}.portal-sparks-modal-footer{background:var(--bg-surface-2,#23262b);border-top:1px solid var(--border-hairline,#ffffff0f);flex-direction:column;gap:14px;padding:14px 20px 20px;display:flex}.portal-sparks-disclaimer{color:var(--text-secondary,#9ca3af);text-align:center;font-size:12px;line-height:1.4}.portal-sparks-link{color:var(--accent-blue,#3b98ff);cursor:pointer;text-decoration:underline}.portal-sparks-link:hover{opacity:.85}.portal-sparks-submit-btn{background:var(--accent-blue,#3b98ff);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;font-size:15px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 4px 14px #3b98ff59;border-radius:9999px!important}.portal-sparks-submit-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 18px #3b98ff73}.portal-sparks-submit-btn:active{transform:scale(.98)}.portal-sparks-submit-btn.topup-mode{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 14px #f59e0b59}.portal-sparks-submit-btn.topup-mode:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b)}[data-theme=light] .portal-channel-sparks-pill{color:#b45309;background:linear-gradient(135deg,#f59e0b1f,#d977062e);border-color:#d9770666}[data-theme=light] .portal-channel-sparks-icon{fill:#d97706!important}[data-theme=light] .portal-sparks-modal-card{background:var(--bg-surface-1,#fff);border-color:var(--border-hairline,#3c3c4326);color:var(--text-primary,#000)}[data-theme=light] .portal-sparks-modal-balance-label{color:var(--text-secondary,#8e8e93)}[data-theme=light] .portal-sparks-modal-balance-val{color:var(--text-primary,#000)}[data-theme=light] .portal-sparks-modal-close{color:var(--text-secondary,#8e8e93)}[data-theme=light] .portal-sparks-modal-close:hover{color:#000;background:#0000000d}[data-theme=light] .portal-sparks-track-wrapper{background:var(--bg-surface-2,#f2f2f7)}[data-theme=light] .portal-sparks-modal-title{color:var(--text-primary,#000)}[data-theme=light] .portal-sparks-modal-desc{color:var(--text-secondary,#8e8e93)}[data-theme=light] .portal-sparks-leader-name{color:var(--text-primary,#000)}[data-theme=light] .portal-sparks-leader-star-badge{border-color:var(--bg-surface-1,#fff)}[data-theme=light] .portal-sparks-checkbox-custom{background:var(--bg-surface-2,#f2f2f7);border-color:var(--border-strong,#3c3c435c)}[data-theme=light] .portal-sparks-checkbox-label{color:var(--text-primary,#000)}[data-theme=light] .portal-sparks-modal-footer{background:var(--bg-surface-2,#f2f2f7);border-top-color:var(--border-hairline,#3c3c4326)}[data-theme=light] .portal-sparks-disclaimer{color:var(--text-secondary,#8e8e93)}.portal-channel-edit-trigger-btn{background:var(--bg-surface-2,#ffffff14);width:32px;height:32px;color:var(--text-primary);border:1px solid var(--border-hairline,#ffffff1a);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex}.portal-channel-edit-trigger-btn:hover{background:var(--bg-surface-3,#ffffff29);color:var(--accent-blue,#0a84ff);transform:scale(1.05)}.portal-channel-edit-trigger-btn:active{transform:scale(.95)}.portal-channel-edit-card{background-color:var(--bg-surface-elevated,#1c1c1e);border:1px solid var(--border-hairline,#ffffff1f);width:100%;animation:scaleUp var(--transition-fast) ease-out forwards;flex-direction:column;display:flex;border-radius:28px!important;max-width:440px!important;padding:18px 20px 22px!important;box-shadow:0 32px 72px #0009!important}.portal-channel-edit-header{border-bottom:1px solid var(--border-hairline,#ffffff14);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.portal-channel-edit-title{letter-spacing:-.01em;color:var(--text-primary);text-align:center;margin:0;font-size:17px;font-weight:600}.portal-channel-edit-nav-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px 6px;font-family:inherit;font-size:15.5px;transition:opacity .15s;display:flex}.portal-channel-edit-nav-btn.cancel{color:var(--accent-blue,#0a84ff);font-weight:400}.portal-channel-edit-nav-btn.save{color:var(--accent-blue,#0a84ff);font-weight:600}.portal-channel-edit-nav-btn:hover:not(:disabled){opacity:.8}.portal-channel-edit-nav-btn:disabled{opacity:.35;cursor:not-allowed}.portal-channel-edit-avatar-section{flex-direction:column;align-items:center;margin-bottom:18px;display:flex}.portal-channel-edit-avatar-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;width:92px;height:92px;transition:transform .16s;position:relative}.portal-channel-edit-avatar-wrap:hover{transform:scale(1.02)}.portal-channel-edit-avatar-wrap:active{transform:scale(.98)}.portal-channel-edit-avatar-img{object-fit:cover;border:1.5px solid var(--border-hairline,#ffffff1f);border-radius:50%;width:100%;height:100%}.portal-channel-edit-avatar-placeholder{background:var(--bg-surface-2,#2c2c2e);border:1.5px dashed var(--border-subtle,#fff3);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.portal-channel-edit-camera-badge{background:var(--accent-blue,#0a84ff);border:2.5px solid var(--bg-surface-elevated,#1c1c1e);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .15s;display:flex;position:absolute;bottom:0;right:0;box-shadow:0 2px 8px #00000059}.portal-channel-edit-avatar-wrap:hover .portal-channel-edit-camera-badge{transform:scale(1.1)}.portal-channel-edit-avatar-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.portal-channel-edit-avatar-btn{cursor:pointer;color:var(--accent-blue,#0a84ff);background:0 0;border:none;font-size:13.5px;font-weight:500;transition:opacity .15s}.portal-channel-edit-avatar-btn.destructive{color:var(--destructive,#ff453a)}.portal-channel-edit-avatar-btn:hover{opacity:.8}.portal-ios-group{background:var(--bg-surface-2,#2c2c2e);border:1px solid var(--border-hairline,#ffffff14);border-radius:20px;margin-bottom:8px;overflow:hidden}.portal-ios-group-row{border-bottom:1px solid var(--border-hairline,#ffffff14);align-items:center;gap:12px;min-height:52px;padding:10px 14px;display:flex}.portal-ios-group-row:last-child{border-bottom:none}.portal-ios-group-row.textarea-row{align-items:flex-start;padding-top:12px;padding-bottom:12px}.portal-ios-group-icon{width:22px;height:22px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-ios-group-content{flex-direction:column;flex:1;min-width:0;display:flex}.portal-ios-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);-webkit-user-select:none;user-select:none;margin-bottom:2px;font-size:11px;font-weight:500}.portal-ios-group-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding:0;font-family:inherit;font-size:15px}.portal-ios-group-input::placeholder{color:var(--text-secondary);opacity:.6}.portal-ios-group-textarea{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;width:100%;padding:0;font-family:inherit;font-size:14.5px;line-height:1.45}.portal-ios-group-textarea::placeholder{color:var(--text-secondary);opacity:.6}.portal-ios-username-input-wrap{align-items:center;gap:2px;display:flex}.portal-ios-username-prefix{color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:15px;font-weight:500}.portal-ios-username-status{font-size:11.5px;font-weight:500}.portal-ios-username-status.checking{color:var(--text-secondary);align-items:center;gap:4px;display:flex}.portal-ios-username-status.success{color:#30d158}.portal-ios-username-status.error{color:var(--destructive,#ff453a)}.portal-ios-group-footer{color:var(--text-secondary);padding:4px 12px 10px;font-size:12px;line-height:1.4}.portal-ios-error-banner{color:var(--destructive,#ff453a);background:#ff453a1f;border:1px solid #ff453a47;border-radius:14px;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:13px;display:flex}[data-theme=light] .portal-channel-edit-card{background-color:#fff!important;border-color:#3c3c431f!important;box-shadow:0 24px 64px #00000029!important}[data-theme=light] .portal-channel-edit-trigger-btn{background:#0000000d;border-color:#00000014}[data-theme=light] .portal-channel-edit-trigger-btn:hover{background:#0000001a}[data-theme=light] .portal-ios-group{background:#f2f2f7;border-color:#3c3c431f}[data-theme=light] .portal-ios-group-row{border-bottom-color:#3c3c431f}[data-theme=light] .portal-channel-edit-avatar-placeholder{background:#f2f2f7;border-color:#3c3c4333}[data-theme=light] .portal-channel-edit-camera-badge{border-color:#fff}.portal-photo-timer-btn{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-right:2px;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.portal-photo-timer-btn:hover:not(:disabled){color:#fff;background:#ffffff1f;transform:scale(1.06)}.portal-photo-timer-btn:active:not(:disabled){transform:scale(.94)}.portal-photo-timer-btn.active{color:var(--accent-blue,#0a84ff);background:#0a84ff38;box-shadow:0 0 12px #0a84ff66}.portal-photo-timer-active-badge{background:var(--accent-blue,#0a84ff);color:#fff;border:1.5px solid #1a1a1ce6;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 1px 4px #00000080}.portal-view-once-bubble-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#121418;border-radius:18px;justify-content:center;align-items:center;width:270px;max-width:100%;height:270px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #0000004d}.portal-view-once-bubble-wrap:hover{transform:scale(1.01);box-shadow:0 6px 24px #00000073}.portal-view-once-bubble-wrap:active{transform:scale(.99)}.portal-view-once-blur-img{object-fit:cover;filter:blur(28px)brightness(.6)saturate(1.1);pointer-events:none;width:calc(100% + 48px);height:calc(100% + 48px);animation:5s ease-in-out infinite alternate portalViewOnceBlurPulse;position:absolute;inset:-24px;transform:scale(1.06)}@keyframes portalViewOnceBlurPulse{0%{filter:blur(26px)brightness(.58)saturate(1.1);transform:scale(1.05)}50%{filter:blur(32px)brightness(.68)saturate(1.22);transform:scale(1.09)}to{filter:blur(28px)brightness(.6)saturate(1.15);transform:scale(1.07)}}.portal-view-once-speckles-overlay{pointer-events:none;opacity:.95;mix-blend-mode:screen;background-image:radial-gradient(1.2px 1.2px at 15px 25px,#ffffffb3,#0000),radial-gradient(1px 1px at 45px 65px,#ffffffd9,#0000),radial-gradient(1.4px 1.4px at 85px 15px,#ffffffa6,#0000),radial-gradient(1px 1px at 120px 85px,#ffffffbf,#0000),radial-gradient(1.2px 1.2px at 165px 35px,#fffc,#0000),radial-gradient(1.5px 1.5px at 210px 110px,#ffffffb3,#0000),radial-gradient(1px 1px at 250px 50px,#ffffffa6,#0000),radial-gradient(1.3px 1.3px at 30px 145px,#fffc,#0000),radial-gradient(1px 1px at 70px 185px,#ffffffa6,#0000),radial-gradient(1.5px 1.5px at 115px 160px,#ffffffbf,#0000),radial-gradient(1.2px 1.2px at 175px 190px,#ffffffb3,#0000),radial-gradient(1px 1px at 230px 165px,#fff9,#0000),radial-gradient(1.4px 1.4px at 50px 240px,#ffffffbf,#0000),radial-gradient(1px 1px at 140px 230px,#ffffffa6,#0000),radial-gradient(1.2px 1.2px at 200px 250px,#ffffffb3,#0000),radial-gradient(1px 1px at 260px 220px,#fff9,#0000),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.38'/%3E%3C/svg%3E");background-size:140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,140px 140px,120px 120px;animation:4s ease-in-out infinite alternate portalSpeckleTwinkle;position:absolute;inset:0}@keyframes portalSpeckleTwinkle{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.015)}to{opacity:.85;transform:scale(1.008)}}.portal-view-once-center-badge{-webkit-backdrop-filter:blur(14px);z-index:2;background:#00000094;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 18px #00000073}.portal-view-once-bubble-wrap:hover .portal-view-once-center-badge{transform:scale(1.08);box-shadow:0 6px 22px #0009}.portal-view-once-bubble-wrap:active .portal-view-once-center-badge{transform:scale(.96)}.portal-view-once-badge-counter{color:#fff;background:#121418e0;border:1.5px dashed #ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;bottom:8px;right:6px}.portal-view-once-expired-pill{-webkit-user-select:none;user-select:none;box-sizing:border-box;-webkit-backdrop-filter:blur(24px)saturate(180%);align-items:center;gap:8px;max-width:fit-content;padding:8px 15px 8px 11px;transition:all .2s cubic-bezier(.16,1,.3,1);animation:.22s cubic-bezier(.16,1,.3,1) both portalPillAppear;display:inline-flex;border-radius:9999px!important}@keyframes portalPillAppear{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.portal-view-once-expired-pill.outgoing{color:#fff;box-shadow:0 4px 20px #00000040;background:#ffffff1f!important;border:1px solid #fff3!important}.portal-view-once-expired-pill.incoming{color:#fffffff2;box-shadow:0 4px 20px #00000040;background:#1a1a1e73!important;border:1px solid #ffffff1f!important}.portal-view-once-expired-icon-wrap{color:#ff9500;background:#ff95002e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.portal-view-once-expired-pill.outgoing .portal-view-once-expired-icon-wrap{color:#fff;background:#fff3}.portal-view-once-expired-text{letter-spacing:-.01em;white-space:nowrap;color:inherit;font-size:13.5px;font-weight:500}.portal-view-once-expired-meta{opacity:.68;flex-shrink:0;align-items:center;gap:3px;margin-left:4px;font-size:11px;display:inline-flex}[data-theme=light] .portal-view-once-expired-pill.incoming{color:#000;box-shadow:0 2px 12px #0000000f;background:#f2f2f7a6!important;border:1px solid #3c3c4329!important}[data-theme=light] .portal-view-once-expired-pill.incoming .portal-view-once-expired-icon-wrap{color:#ff9500;background:#ff950026}[data-theme=light] .portal-view-once-expired-pill.outgoing{color:#007aff;box-shadow:0 2px 12px #007aff26;background:#007aff2e!important;border:1px solid #007aff4d!important}[data-theme=light] .portal-view-once-expired-pill.outgoing .portal-view-once-expired-icon-wrap{color:#007aff;background:#007aff2e}.portal-user-profile-modal-overlay{-webkit-backdrop-filter:blur(16px);z-index:9999;background-color:#000000c2;justify-content:center;align-items:center;padding:24px;animation:.22s cubic-bezier(.16,1,.3,1) forwards portalProfileFadeIn;display:flex;position:fixed;inset:0}@keyframes portalProfileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes portalProfileModalPop{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-user-profile-modal-card{background-color:#0c0d10;border:1px solid #ffffff17;border-radius:36px;flex-direction:column;width:100%;max-width:440px;max-height:90vh;animation:.28s cubic-bezier(.16,1,.3,1) forwards portalProfileModalPop;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px -10px #000000d9,0 0 0 1px #ffffff0a}.portal-user-profile-modal-scroll{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:24px;overflow-y:auto}.portal-user-profile-modal-scroll::-webkit-scrollbar{width:6px}.portal-user-profile-modal-scroll::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:10px}.portal-user-profile-hero{box-sizing:border-box;flex-direction:column;justify-content:flex-end;width:100%;min-height:220px;padding:24px 20px 18px;display:flex;position:relative;overflow:hidden}.portal-user-profile-hero-banner{z-index:1;background-color:#14151b;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;overflow:hidden}.portal-hero-banner-media{object-fit:cover;object-position:center;pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.portal-user-profile-hero-darken{z-index:2;background:#00000059;position:absolute;inset:0}.portal-user-profile-hero-fade{z-index:3;pointer-events:none;background:linear-gradient(#0c0d1000 0%,#0c0d10bf 55%,#0c0d10 100%);height:110px;position:absolute;bottom:0;left:0;right:0}.portal-user-profile-modal-close-btn{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;z-index:10;background:#0000008c;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .18s;display:flex;position:absolute;top:14px;right:14px}.portal-user-profile-modal-close-btn:hover{background:#000000d9;transform:scale(1.08)}.portal-user-profile-hero-identity{z-index:5;align-items:center;gap:16px;width:100%;display:flex;position:relative}.portal-user-profile-avatar-wrap{background-color:#0c0d10;border:3.5px solid #0c0d10;border-radius:50%;flex-shrink:0;display:flex;box-shadow:0 6px 20px #000000a6}.portal-user-profile-identity-col{flex-direction:column;flex:1;min-width:0;display:flex}.portal-user-profile-name-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.portal-user-profile-name{color:#fff;letter-spacing:-.015em;word-break:break-word;text-shadow:0 2px 10px #000c;margin:0;font-size:21px;font-weight:700;line-height:1.25}.portal-user-profile-status-row{color:#ffffffd9;text-shadow:0 1px 6px #000c;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:400;display:flex}.portal-user-profile-actions-row{padding:16px 20px 0}.portal-user-profile-write-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff17;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;font-size:15px;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex}.portal-user-profile-write-btn:hover{background:#ffffff21;border-color:#ffffff29;transform:translateY(-1px)}.portal-user-profile-write-btn:active{transform:scale(.98)}.portal-user-profile-ios-group{background:#ffffff0a;border:1px solid #ffffff12;border-radius:20px;margin:14px 20px 0;overflow:hidden}.portal-user-profile-ios-row{text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:14px;padding:14px 16px;font-family:inherit;display:flex}.portal-user-profile-ios-row.is-interactive{cursor:pointer;transition:background-color .15s}.portal-user-profile-ios-row.is-interactive:hover{background-color:#ffffff0a}.portal-user-profile-ios-row.is-interactive:active{background-color:#ffffff14}.portal-user-profile-icon-box{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.portal-user-profile-icon-box.ios-blue{color:#0a84ff;background:#0a84ff29}.portal-user-profile-icon-box.ios-cyan{color:#32d74b;background:#32d74b29}.portal-user-profile-icon-box.ios-amber{color:#ff9f0a;background:#ff9f0a29}.portal-user-profile-icon-box.ios-red{color:#ff453a;background:#ff453a29}.portal-user-profile-row-content{flex:1;min-width:0}.portal-user-profile-row-val{color:var(--text-primary,#fff);word-break:break-word;font-size:15px;line-height:1.4}.portal-user-profile-row-lbl{color:var(--text-secondary,#8e8e93);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px}.portal-user-profile-ios-divider{background:#ffffff0d;height:1px;margin-left:62px}.portal-user-profile-copy-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff12;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:inline-flex}.portal-user-profile-copy-btn:hover{color:#fff;background:#ffffff24}.portal-user-profile-secondary-users{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.portal-secondary-user-chip{color:var(--accent-blue,#0a84ff);cursor:pointer;font-weight:500}.portal-settings-hero-stage{background-color:#14151b;border:1px solid #ffffff14;border-radius:24px;width:100%;margin-bottom:24px;position:relative;overflow:hidden}.portal-settings-hero-banner{cursor:pointer;background-color:#1a1b24;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:190px;position:relative}.portal-settings-hero-banner-darken{background:#00000052;transition:background .2s;position:absolute;inset:0}.portal-settings-hero-banner:hover .portal-settings-hero-banner-darken{background:#00000073}.portal-settings-hero-banner-fade{pointer-events:none;background:linear-gradient(#14151b00 0%,#14151bd9 65%,#14151b 100%);height:80px;position:absolute;bottom:0;left:0;right:0}.portal-settings-hero-banner-controls{z-index:5;position:absolute;top:14px;right:14px}.portal-settings-banner-pill-btn{-webkit-backdrop-filter:blur(14px);color:#fff;cursor:pointer;background:#000000a6;border:1px solid #ffffff2e;border-radius:9999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.portal-settings-banner-pill-btn:hover{background:#000000d9;border-color:#ffffff47;transform:translateY(-1px)}.portal-settings-banner-pill-btn.is-premium{color:#ff9f0a;background:#ff9f0a38;border-color:#ff9f0a73}.portal-settings-banner-pill-delete{color:#ff453a;cursor:pointer;background:#ff453a38;border:1px solid #ff453a61;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:inline-flex}.portal-settings-banner-pill-delete:hover{background:#ff453a61;transform:scale(1.06)}.portal-settings-hero-avatar-container{z-index:6;flex-direction:column;align-items:center;margin-top:-60px;padding-bottom:22px;display:flex;position:relative}.portal-settings-hero-avatar-container .portal-ios-avatar-wrapper{border:4px solid #14151b;border-radius:50%;box-shadow:0 8px 24px #000000b3}.portal-banner-crop-overlay{-webkit-backdrop-filter:blur(18px);z-index:11000;background-color:#000000d1;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out forwards portalProfileFadeIn;display:flex;position:fixed;inset:0}.portal-banner-crop-card{background-color:#121317;border:1px solid #ffffff1a;border-radius:28px;flex-direction:column;width:100%;max-width:580px;animation:.25s cubic-bezier(.16,1,.3,1) forwards portalProfileModalPop;display:flex;overflow:hidden;box-shadow:0 32px 80px #000000e6}.portal-banner-crop-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.portal-banner-crop-title{color:#fff;margin:0;font-size:17px;font-weight:600}.portal-banner-crop-badge-animated{color:#ff2d55;letter-spacing:.02em;background:#ff2d552e;border:1px solid #ff2d5559;border-radius:9999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.portal-banner-crop-icon{color:var(--accent-blue,#0a84ff)}.portal-banner-crop-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.portal-banner-crop-close:hover{color:#fff;background:#ffffff14}.portal-banner-crop-body{flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.portal-banner-crop-viewport{cursor:grab;-webkit-user-select:none;user-select:none;background-color:#000;border:2px solid #ffffff2e;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 12px 36px #0009}.portal-banner-crop-viewport:active{cursor:grabbing}.portal-banner-crop-img{-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.portal-banner-crop-frame-guide{pointer-events:none;border-radius:18px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1f}.portal-banner-crop-hint{color:var(--text-secondary,#8e8e93);align-items:center;gap:6px;font-size:13px;display:flex}.portal-banner-crop-zoom-bar{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:9999px;align-items:center;gap:12px;width:100%;max-width:380px;padding:6px 12px;display:flex}.portal-banner-zoom-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.portal-banner-zoom-btn:hover{color:#fff}.portal-banner-zoom-slider{accent-color:var(--accent-blue,#0a84ff);cursor:pointer;flex:1}.portal-banner-crop-footer{background:#00000026;border-top:1px solid #ffffff14;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.portal-banner-crop-btn-cancel{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .15s}.portal-banner-crop-btn-cancel:hover{background:#ffffff1a}.portal-banner-crop-btn-apply{background:var(--accent-blue,#0a84ff);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:6px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.portal-banner-crop-btn-apply:hover{filter:brightness(1.1);transform:translateY(-1px)}.portal-banner-crop-btn-apply:active{transform:scale(.98)}.portal-maintenance-overlay{-webkit-backdrop-filter:blur(16px);z-index:12000;background-color:#000000c7;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out forwards portalProfileFadeIn;display:flex;position:fixed;inset:0}.portal-maintenance-card{text-align:center;background-color:#121318;border:1px solid #ffffff1a;border-radius:28px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:32px 24px 24px;animation:.25s cubic-bezier(.16,1,.3,1) forwards portalProfileModalPop;display:flex;position:relative;box-shadow:0 32px 80px #000000e6}.portal-maintenance-close-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.portal-maintenance-close-btn:hover{color:#fff;background:#ffffff29}.portal-maintenance-icon-wrap{color:#ff9f0a;background:#ff9f0a24;border:1px solid #ff9f0a4d;border-radius:22px;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:20px;display:flex}.portal-maintenance-title{color:#fff;letter-spacing:-.015em;margin:0 0 10px;font-size:20px;font-weight:700}.portal-maintenance-desc{color:var(--text-secondary,#8e8e93);margin:0 0 20px;font-size:14px;line-height:1.5}.portal-maintenance-callout{color:#d1d1d6;background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 14px;font-size:12px;display:flex}.portal-maintenance-pulse-dot{background-color:#ff9f0a;border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse;box-shadow:0 0 8px #ff9f0acc}.portal-maintenance-primary-btn{background:var(--accent-blue,#0a84ff);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-bottom:20px;padding:13px;font-size:15px;font-weight:600;transition:all .18s}.portal-maintenance-primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.portal-maintenance-legal-bar{color:var(--text-tertiary,#636366);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.portal-maintenance-legal-link{color:var(--accent-blue,#0a84ff);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:500;transition:opacity .15s;display:inline-flex}.portal-maintenance-legal-link:hover{opacity:.8;text-decoration:underline}.portal-legal-overlay{-webkit-backdrop-filter:blur(18px);z-index:12500;background-color:#000c;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out forwards portalProfileFadeIn;display:flex;position:fixed;inset:0}.portal-legal-card{background-color:#121318;border:1px solid #ffffff1a;border-radius:28px;flex-direction:column;width:100%;max-width:680px;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) forwards portalProfileModalPop;display:flex;overflow:hidden;box-shadow:0 32px 80px #000000f2}.portal-legal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.portal-legal-header-left{align-items:center;gap:10px;display:flex}.portal-legal-header-icon{color:var(--accent-blue,#0a84ff)}.portal-legal-header-title{color:#fff;margin:0;font-size:18px;font-weight:700}.portal-legal-close-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.portal-legal-close-btn:hover{color:#fff;background:#ffffff29}.portal-legal-tabs-wrap{background:#00000026;border-bottom:1px solid #ffffff0f;padding:12px 24px}.portal-legal-tabs{background:#ffffff0d;border-radius:12px;gap:2px;padding:3px;display:flex}.portal-legal-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.portal-legal-tab-btn.is-active{color:#fff;background:#ffffff1f;font-weight:600;box-shadow:0 2px 6px #0000004d}.portal-legal-body{-webkit-overflow-scrolling:touch;flex:1;padding:24px;overflow-y:auto}.portal-legal-text-content h4{color:#fff;margin:20px 0 8px;font-size:16px;font-weight:600}.portal-legal-text-content h4:first-of-type{margin-top:14px}.portal-legal-text-content p{color:#a1a1a6;margin:0 0 10px;font-size:14px;line-height:1.6}.portal-legal-meta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.portal-legal-badge{color:#fff;background:#0a84ff26;border:1px solid #0a84ff4d;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:600}.portal-legal-date{color:var(--text-tertiary);font-size:12px}.portal-legal-ext-link{color:var(--accent-blue,#0a84ff);align-items:center;gap:4px;margin-left:auto;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.portal-legal-ext-link:hover{text-decoration:underline}.portal-legal-inline-link{color:var(--accent-blue,#0a84ff);font-weight:500;text-decoration:none}.portal-legal-tariffs-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px;display:grid}.portal-legal-tariff-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;padding:18px 14px;display:flex;position:relative}.portal-legal-tariff-card.is-popular{background:#32d74b0a;border-color:#32d74b66}.portal-legal-tariff-popular-tag{text-transform:uppercase;color:#32d74b;background:#32d74b26;border-radius:6px;align-self:flex-start;margin-bottom:8px;padding:2px 6px;font-size:10px;font-weight:700}.portal-legal-tariff-header{flex-direction:column;margin-bottom:12px;display:flex}.portal-legal-tariff-period{color:#fff;font-size:14px;font-weight:600}.portal-legal-tariff-price{color:var(--accent-blue,#0a84ff);margin-top:2px;font-size:20px;font-weight:700}.portal-legal-tariff-perks{color:#d1d1d6;flex-direction:column;gap:8px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.portal-legal-tariff-perks li{align-items:flex-start;gap:6px;display:flex}.portal-legal-support-box{flex-direction:column;gap:12px;margin:16px 0;display:flex}.portal-legal-support-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}.portal-legal-support-icon{color:var(--accent-blue,#0a84ff);margin-top:2px}.portal-legal-support-title{color:#fff;font-size:14px;font-weight:600}.portal-legal-support-val{color:var(--accent-blue,#0a84ff);margin:2px 0 4px;font-size:16px;font-weight:700;text-decoration:none;display:block}.portal-legal-support-desc{color:var(--text-secondary);font-size:12px}.portal-legal-sla-card{color:#d1d1d6;background:#0a84ff14;border:1px solid #0a84ff33;border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.5}.portal-legal-footer{background:#0003;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.portal-legal-footer-close-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .15s}.portal-legal-footer-close-btn:hover{background:#ffffff24}.portal-premium-plan-selector{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:16px;display:grid}.portal-plan-chip{cursor:pointer;text-align:center;background:#ffffff0a;border:1.5px solid #ffffff14;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:10px 8px;transition:all .15s;display:flex;position:relative}.portal-plan-chip:hover{background:#ffffff12;border-color:#ffffff2e}.portal-plan-chip.is-active{background:#0a84ff1f;border-color:#0a84ff;box-shadow:inset 0 0 0 1px #0a84ff}.portal-plan-chip-period{color:#fff;font-size:13px;font-weight:600}.portal-plan-chip-price{color:#0a84ff;margin-top:2px;font-size:14px;font-weight:700}.portal-plan-chip-discount{color:#000;letter-spacing:-.01em;background:#34c759;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:800;line-height:1.3;position:absolute;top:-8px;right:6px}.portal-plan-chip-monthly{color:var(--text-tertiary);margin-top:1px;font-size:11px}.portal-premium-compliance-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:14px;padding-top:10px;display:flex}.portal-premium-compliance-btn{color:var(--text-secondary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 6px;font-size:12px;text-decoration:underline;transition:color .15s}.portal-premium-compliance-btn:hover{color:#fff}.portal-premium-compliance-btn.is-support{color:#0a84ff;align-items:center;gap:4px;font-weight:500;text-decoration:none;display:flex}.portal-premium-compliance-btn.is-support:hover{text-decoration:underline}.portal-settings-compliance-box{background:#ffffff08;border:1px solid #ffffff12;border-radius:16px;flex-direction:column;gap:10px;margin-top:16px;padding:14px 16px;display:flex}.portal-settings-compliance-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:11.5px;font-weight:700}.portal-settings-compliance-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.portal-settings-compliance-link{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;text-decoration:none;transition:all .15s;display:inline-flex}.portal-settings-compliance-link:hover{background:#ffffff1a;border-color:#ffffff29}.portal-settings-compliance-support-text{color:var(--text-tertiary);margin-top:2px;font-size:11.5px;line-height:1.4}
