:root{--color-primary:#5227ff;--color-primary-rgb:82,39,255;--color-primary-light:#7c5aff;--color-primary-lighter:#a78bfa;--color-primary-dark:#3d1db3;--color-primary-darker:#2a1480;--color-secondary:#8b5cf6;--color-secondary-rgb:139,92,246;--color-accent:#a78bfa;--color-accent-rgb:167,139,250;--color-success:#10b981;--color-success-rgb:16,185,129;--color-success-light:#34d399;--color-success-dark:#059669;--color-warning:#fbbf24;--color-warning-rgb:251,191,36;--color-warning-light:#fcd34d;--color-warning-dark:#f59e0b;--color-danger:#ef4444;--color-danger-rgb:239,68,68;--color-danger-light:#f87171;--color-danger-dark:#dc2626;--color-info:#3b82f6;--color-info-rgb:59,130,246;--color-info-light:#60a5fa;--color-info-dark:#2563eb;--color-gold:#f59e0b;--color-gold-rgb:245,158,11;--color-gold-light:#fbbf24;--color-gold-dark:#d97706;--bg-base:#0a0a0f;--bg-elevated:#12121a;--bg-card:#1a1a24;--bg-overlay:#000000d9;--surface-1:#ffffff05;--surface-2:#ffffff0a;--surface-3:#ffffff0f;--surface-4:#ffffff14;--surface-5:#ffffff1a;--surface-glass:#14141eb3;--surface-glass-light:#ffffff0d;--border-subtle:#ffffff0d;--border-default:#ffffff14;--border-strong:#ffffff1f;--border-focus:#5227ff80;--border-glow:#5227ff66;--text-primary:#fff;--text-secondary:#a0a0a0;--text-tertiary:#888;--text-muted:#666;--text-disabled:#444;--text-inverse:#0a0a0f;--tg-theme-bg-color:var(--bg-base);--tg-theme-text-color:var(--text-primary);--tg-theme-hint-color:var(--text-tertiary);--tg-theme-link-color:var(--color-primary);--tg-theme-button-color:var(--color-primary);--tg-theme-button-text-color:var(--text-primary);--tg-theme-secondary-bg-color:var(--bg-elevated)}body.force-light-theme{--bg-base:#f5f5f7;--bg-elevated:#fff;--bg-card:#fff;--bg-overlay:#00000080;--surface-1:#00000005;--surface-2:#0000000a;--surface-3:#0000000f;--surface-4:#00000014;--surface-5:#0000001a;--surface-glass:#fffc;--border-subtle:#0000000d;--border-default:#00000014;--border-strong:#0000001f;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-muted:#d1d5db;--text-inverse:#fff}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-3);--space-lg:var(--space-4);--space-xl:var(--space-5);--space-2xl:var(--space-6);--space-3xl:var(--space-8);--gap-inline:var(--space-2);--gap-block:var(--space-3);--gap-card:var(--space-4);--gap-section:var(--space-6);--padding-card:var(--space-4);--padding-card-compact:var(--space-3);--padding-button:var(--space-3) var(--space-4);--padding-input:var(--space-3);--padding-modal:var(--space-5);--padding-page:var(--space-4);--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--bottom-nav-height:70px;--bottom-nav-safe:calc(var(--bottom-nav-height) + var(--safe-area-bottom));--header-height:54px}@media (max-width:400px){:root{--space-lg:14px;--space-xl:18px;--space-2xl:20px;--padding-page:12px;--gap-card:10px}}@media (max-height:600px){:root{--padding-page:12px;--gap-section:16px}}:root{--radius-none:0;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:32px;--radius-full:9999px;--radius-button:var(--radius-md);--radius-input:var(--radius-md);--radius-card:var(--radius-lg);--radius-card-lg:var(--radius-xl);--radius-modal:var(--radius-xl);--radius-badge:var(--radius-sm);--radius-pill:var(--radius-full);--radius-avatar:var(--radius-md);--radius-avatar-lg:var(--radius-lg);--radius-tooltip:var(--radius-sm);--radius-fab:var(--radius-lg);--radius-scrollbar:var(--radius-xs)}@media (max-width:400px){:root{--radius-lg:14px;--radius-xl:18px;--radius-card:14px}}:root{--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-xl:0 16px 48px #0009;--shadow-2xl:0 24px 64px #000000b3;--glow-primary:0 0 20px rgba(var(--color-primary-rgb),0.3);--glow-primary-strong:0 0 40px rgba(var(--color-primary-rgb),0.5);--glow-primary-intense:0 0 20px rgba(var(--color-primary-rgb),0.4),0 0 40px rgba(var(--color-primary-rgb),0.2),0 0 60px rgba(var(--color-primary-rgb),0.1);--glow-secondary:0 0 20px rgba(var(--color-secondary-rgb),0.3);--glow-success:0 0 20px rgba(var(--color-success-rgb),0.3);--glow-warning:0 0 20px rgba(var(--color-warning-rgb),0.3);--glow-danger:0 0 20px rgba(var(--color-danger-rgb),0.3);--glow-gold:0 0 20px rgba(var(--color-gold-rgb),0.4);--shadow-card:var(--shadow-md),0 0 0 1px var(--border-subtle);--shadow-card-hover:var(--shadow-lg),0 0 0 1px var(--border-default),var(--glow-primary);--shadow-button-primary:0 4px 15px rgba(var(--color-primary-rgb),0.3);--shadow-button-primary-hover:0 6px 25px rgba(var(--color-primary-rgb),0.4);--shadow-modal:0 20px 60px #00000080,0 0 0 1px #ffffff1a inset;--shadow-fab:0 4px 20px rgba(var(--color-primary-rgb),0.4),0 8px 40px rgba(var(--color-primary-rgb),0.2);--text-shadow-glow:0 0 20px rgba(var(--color-primary-rgb),0.5);--text-shadow-soft:0 2px 4px #0000004d;--shadow-inset-sm:inset 0 1px 2px #0003;--shadow-inset-md:inset 0 2px 4px #0000004d;--shadow-inset-top-light:inset 0 1px 0 #ffffff1a;--shadow-inset-top-strong:inset 0 1px 0 #fff3}body.force-light-theme{--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000026;--shadow-xl:0 16px 48px #0003}:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"SF Mono","Fira Code","Consolas","Monaco",monospace;--font-emoji:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-size-2xs:0.65rem;--font-size-xs:0.75rem;--font-size-sm:0.85rem;--font-size-base:0.95rem;--font-size-md:1rem;--font-size-lg:1.1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.8rem;--font-size-4xl:2.25rem;--font-size-hero:clamp(1.5rem,5vw,2rem);--font-size-title:clamp(1.1rem,4vw,1.5rem);--font-size-subtitle:clamp(0.9rem,3vw,1.1rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-none:1;--line-height-tight:1.2;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em;--text-heading-size:var(--font-size-lg);--text-heading-weight:var(--font-weight-bold);--text-heading-line-height:var(--line-height-tight);--text-subheading-size:var(--font-size-sm);--text-subheading-weight:var(--font-weight-medium);--text-body-size:var(--font-size-sm);--text-body-weight:var(--font-weight-normal);--text-body-line-height:var(--line-height-relaxed);--text-caption-size:var(--font-size-xs);--text-caption-weight:var(--font-weight-normal);--text-button-size:var(--font-size-sm);--text-button-weight:var(--font-weight-semibold);--text-badge-size:var(--font-size-2xs);--text-badge-weight:var(--font-weight-bold);--text-badge-letter-spacing:var(--letter-spacing-wide)}@media (max-width:400px){:root{--font-size-base:0.9rem;--font-size-lg:1rem;--font-size-xl:1.15rem;--font-size-2xl:1.35rem}}:root{--duration-instant:0ms;--duration-fast:100ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:400ms;--duration-slowest:500ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--ease-elastic:cubic-bezier(0.68,-0.55,0.27,1.55);--ease-smooth:cubic-bezier(0.25,0.46,0.45,0.94);--transition-fast:var(--duration-fast) var(--ease-out);--transition-normal:var(--duration-normal) var(--ease-out);--transition-smooth:var(--duration-slow) var(--ease-in-out);--transition-bounce:var(--duration-slower) var(--ease-bounce);--transition-spring:var(--duration-slowest) var(--ease-elastic);--transition-colors:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast);--transition-transform:transform var(--transition-normal);--transition-opacity:opacity var(--transition-normal);--transition-shadow:box-shadow var(--transition-normal);--transition-all:all var(--transition-smooth);--animation-fast:500ms;--animation-normal:1s;--animation-slow:2s;--animation-slower:3s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px rgba(var(--color-primary-rgb),.3)}50%{box-shadow:0 0 40px rgba(var(--color-primary-rgb),.5)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.touch-target{min-height:44px;min-width:44px;position:relative}.touch-target-extended:before{content:"";inset:-8px;position:absolute;z-index:-1}.safe-area-top{padding-top:env(safe-area-inset-top,0)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-area-left{padding-left:env(safe-area-inset-left,0)}.safe-area-right{padding-right:env(safe-area-inset-right,0)}.safe-area-all{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.scroll-smooth{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-styled{scrollbar-color:rgba(var(--color-primary-rgb),.3) #0000;scrollbar-width:thin}.scrollbar-styled::-webkit-scrollbar{height:6px;width:6px}.scrollbar-styled::-webkit-scrollbar-track{background:#0000}.scrollbar-styled::-webkit-scrollbar-thumb{background:rgba(var(--color-primary-rgb),.3);border-radius:3px}.scrollbar-styled::-webkit-scrollbar-thumb:hover{background:rgba(var(--color-primary-rgb),.5)}.no-tap-highlight{-webkit-touch-callout:none}.no-tap-highlight,[role=button],[tabindex]:not([tabindex="-1"]),a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}.no-zoom{touch-action:manipulation}.scroll-vertical{overscroll-behavior-y:contain;touch-action:pan-y}.scroll-horizontal{overscroll-behavior-x:contain;touch-action:pan-x}:focus:not(:focus-visible){outline:none}:focus-visible{border-radius:8px;border-radius:var(--radius-sm,8px);outline:2px solid #5227ff;outline:2px solid var(--color-primary,#5227ff);outline-offset:2px}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.no-select{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.gpu-accelerated{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}@media (hover:none) and (pointer:coarse){.touch-no-hover:hover{background:inherit;box-shadow:inherit;transform:none}.touch-no-hover:active{opacity:.9;transform:scale(.97)}}.fixed-container{height:100%;height:100dvh;left:0;position:fixed;right:0}.fixed-bottom{bottom:0;left:0;padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--space-lg, 16px) + env(safe-area-inset-bottom, 0px));position:fixed;right:0}@media (orientation:landscape) and (max-height:500px){.landscape-compact{padding-bottom:8px;padding-bottom:var(--space-sm,8px);padding-top:8px;padding-top:var(--space-sm,8px)}.landscape-hide{display:none!important}}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}@supports (padding:max(0px)){.notch-aware-padding{padding-left:max(16px,env(safe-area-inset-left));padding-left:max(var(--space-lg,16px),env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-right:max(var(--space-lg,16px),env(safe-area-inset-right))}}@media print{.no-print{display:none!important}}.loading-spinner,.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff1a;border-top-color:#5227ff;border:3px solid var(--border-default,#ffffff1a);border-radius:50%;border-radius:var(--radius-full,50%);border-top-color:var(--color-primary,#5227ff);height:40px;width:40px}.loading-spinner.spinner-sm,.spinner.spinner-sm{border-width:2px;height:20px;width:20px}.loading-spinner.spinner-lg,.spinner.spinner-lg{border-width:4px;height:60px;width:60px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:12px;gap:var(--space-md,12px);justify-content:center;padding:40px;padding:var(--space-3xl,40px)}.loading-container .loading-text,.loading-container p{color:#888;color:var(--text-tertiary,#888);font-size:.85rem;font-size:var(--font-size-sm,.85rem);margin:0}.empty-state{align-items:center;color:#888;color:var(--text-tertiary,#888);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;padding:var(--space-3xl,40px) var(--space-xl,20px);text-align:center}.empty-state .empty-icon,.empty-state-icon{font-size:3rem;margin-bottom:16px;margin-bottom:var(--space-lg,16px);opacity:.6}.empty-state .empty-title,.empty-state-title{color:#fff;color:var(--text-primary,#fff);font-size:1.1rem;font-size:var(--font-size-lg,1.1rem);font-weight:700;font-weight:var(--font-weight-bold,700);margin:0 0 8px;margin:0 0 var(--space-sm,8px) 0}.empty-state .empty-description,.empty-state-description{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);font-size:.85rem;font-size:var(--font-size-sm,.85rem);line-height:1.6;line-height:var(--line-height-relaxed,1.6);margin:0 0 16px;margin:0 0 var(--space-lg,16px) 0;max-width:300px}.empty-state .empty-hint,.empty-state-hint{font-size:.75rem;font-size:var(--font-size-xs,.75rem);margin:0;opacity:.7}.empty-state .empty-action,.empty-state-action{margin-top:16px;margin-top:var(--space-lg,16px)}.glass-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#14141eb3;background:var(--surface-glass,#14141eb3);border:1px solid #ffffff0f;border:1px solid var(--border-subtle,#ffffff0f);border-radius:16px;border-radius:var(--radius-lg,16px)}.glass-card-light{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff0d;background:var(--surface-glass-light,#ffffff0d);border:1px solid #ffffff14;border:1px solid var(--border-default,#ffffff14);border-radius:12px;border-radius:var(--radius-md,12px)}.badge{align-items:center;background:#ffffff0f;background:var(--surface-3,#ffffff0f);border:1px solid #ffffff14;border:1px solid var(--border-default,#ffffff14);border-radius:8px;border-radius:var(--radius-sm,8px);color:#a0a0a0;color:var(--text-secondary,#a0a0a0);display:inline-flex;font-size:.65rem;font-size:var(--font-size-2xs,.65rem);font-weight:700;font-weight:var(--font-weight-bold,700);gap:4px;gap:var(--space-xs,4px);letter-spacing:.05em;padding:4px 8px;padding:var(--space-xs,4px) var(--space-sm,8px);text-transform:uppercase}.badge-primary{background:#5227ff26;background:rgba(var(--color-primary-rgb,82,39,255),.15);border-color:#5227ff4d;border-color:rgba(var(--color-primary-rgb,82,39,255),.3);color:#a78bfa;color:var(--color-primary-light,#a78bfa)}.badge-success{background:#10b98126;background:rgba(var(--color-success-rgb,16,185,129),.15);border-color:#10b9814d;border-color:rgba(var(--color-success-rgb,16,185,129),.3);color:#34d399;color:var(--color-success-light,#34d399)}.badge-warning{background:#fbbf2426;background:rgba(var(--color-warning-rgb,251,191,36),.15);border-color:#fbbf244d;border-color:rgba(var(--color-warning-rgb,251,191,36),.3);color:#fbbf24;color:var(--color-warning,#fbbf24)}.badge-danger{background:#ef444426;background:rgba(var(--color-danger-rgb,239,68,68),.15);border-color:#ef44444d;border-color:rgba(var(--color-danger-rgb,239,68,68),.3);color:#f87171;color:var(--color-danger-light,#f87171)}.badge-gold{background:linear-gradient(135deg,#f59e0b33,#d9770633);border-color:#f59e0b66;border-color:rgba(var(--color-gold-rgb,245,158,11),.4);color:#fcd34d;color:var(--color-gold-light,#fcd34d)}.status-dot{background:#10b981;background:var(--color-success,#10b981);border-radius:50%;border-radius:var(--radius-full,50%);box-shadow:0 0 8px #10b981;box-shadow:0 0 8px var(--color-success,#10b981);height:8px;width:8px}.status-dot.offline{background:#666;background:var(--text-muted,#666);box-shadow:none}.status-dot.warning{background:#fbbf24;background:var(--color-warning,#fbbf24);box-shadow:0 0 8px #fbbf24;box-shadow:0 0 8px var(--color-warning,#fbbf24)}.status-dot.danger{background:#ef4444;background:var(--color-danger,#ef4444);box-shadow:0 0 8px #ef4444;box-shadow:0 0 8px var(--color-danger,#ef4444)}.btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:12px;border-radius:var(--radius-md,12px);cursor:pointer;display:inline-flex;font-size:.85rem;font-size:var(--font-size-sm,.85rem);font-weight:600;font-weight:var(--font-weight-semibold,600);gap:8px;gap:var(--space-sm,8px);justify-content:center;min-height:44px;padding:12px 16px;padding:var(--space-md,12px) var(--space-lg,16px);text-decoration:none;transition:all .3s ease;transition:var(--transition-smooth,all .3s ease)}.btn-primary{background:linear-gradient(135deg,#5227ff,#8b5cf6);background:linear-gradient(135deg,var(--color-primary,#5227ff),var(--color-secondary,#8b5cf6));box-shadow:0 4px 15px #5227ff4d;box-shadow:var(--shadow-button-primary,0 4px 15px #5227ff4d);color:#fff}.btn-primary:hover{box-shadow:0 6px 25px #5227ff66;box-shadow:var(--shadow-button-primary-hover,0 6px 25px #5227ff66);transform:translateY(-2px)}.btn-secondary{background:#ffffff0f;background:var(--surface-3,#ffffff0f);border:1px solid #ffffff1a;border:1px solid var(--border-default,#ffffff1a);color:#fff;color:var(--text-primary,#fff)}.btn-secondary:hover{background:#ffffff14;background:var(--surface-4,#ffffff14);border-color:#ffffff26;border-color:var(--border-strong,#ffffff26)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--color-success,#10b981),var(--color-success-dark,#059669));box-shadow:0 4px 12px #10b9814d;box-shadow:0 4px 12px rgba(var(--color-success-rgb,16,185,129),.3);color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--color-danger,#ef4444),var(--color-danger-dark,#dc2626));box-shadow:0 4px 12px #ef44444d;box-shadow:0 4px 12px rgba(var(--color-danger-rgb,239,68,68),.3);color:#fff}.btn-ghost{background:#0000;color:#a0a0a0;color:var(--text-secondary,#a0a0a0)}.btn-ghost:hover{background:#ffffff0a;background:var(--surface-2,#ffffff0a);color:#fff;color:var(--text-primary,#fff)}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-block{width:100%}.btn-sm{font-size:.75rem;font-size:var(--font-size-xs,.75rem);min-height:36px;padding:8px 12px;padding:var(--space-sm,8px) var(--space-md,12px)}.btn-lg{font-size:.95rem;font-size:var(--font-size-base,.95rem);min-height:52px;padding:16px 20px;padding:var(--space-lg,16px) var(--space-xl,20px)}.divider{height:1px;margin:16px 0;margin:var(--space-lg,16px) 0}.divider,.divider-vertical{background:#ffffff14;background:var(--border-default,#ffffff14)}.divider-vertical{height:100%;width:1px}.section-title{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:.95rem;font-size:var(--font-size-base,.95rem);font-weight:700;font-weight:var(--font-weight-bold,700);gap:8px;gap:var(--space-sm,8px);letter-spacing:.05em;margin:0 0 16px;margin:0 0 var(--space-lg,16px) 0;text-transform:uppercase}.section-title .section-icon{font-size:1.1em}.custom-scrollbar{scrollbar-color:#5227ff4d #0000;scrollbar-color:rgba(var(--color-primary-rgb,82,39,255),.3) #0000;scrollbar-width:thin}.custom-scrollbar::-webkit-scrollbar{height:6px;width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#0000}.custom-scrollbar::-webkit-scrollbar-thumb{background:#5227ff4d;background:rgba(var(--color-primary-rgb,82,39,255),.3);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#5227ff80;background:rgba(var(--color-primary-rgb,82,39,255),.5)}.scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000d9;background:var(--bg-overlay,#000000d9);inset:0;position:fixed;z-index:999}.overlay-light{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080}.notification-badge{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--color-danger,#ef4444),var(--color-danger-dark,#dc2626));border-radius:9999px;border-radius:var(--radius-full,9999px);box-shadow:0 2px 6px #ef444480;box-shadow:0 2px 6px rgba(var(--color-danger-rgb,239,68,68),.5);color:#fff;font-size:.6rem;height:16px;min-width:16px;padding:0 4px;position:absolute;right:-4px;top:-4px}.avatar,.notification-badge{align-items:center;display:flex;font-weight:700;font-weight:var(--font-weight-bold,700);justify-content:center}.avatar{background:#ffffff0f;background:var(--surface-3,#ffffff0f);border:2px solid #ffffff1a;border:2px solid var(--border-default,#ffffff1a);border-radius:50%;border-radius:var(--radius-full,50%);color:#a0a0a0;color:var(--text-secondary,#a0a0a0);height:40px;object-fit:cover;width:40px}.avatar-sm{border-width:1px;font-size:.75rem;font-size:var(--font-size-xs,.75rem);height:28px;width:28px}.avatar-lg{border-width:3px;font-size:1.1rem;font-size:var(--font-size-lg,1.1rem);height:56px;width:56px}.avatar-xl{border-width:3px;font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem);height:80px;width:80px}.avatar-square{border-radius:12px;border-radius:var(--radius-md,12px)}.pulse{animation:pulse 2s ease-in-out infinite}.pulse-subtle{animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}#root,body,html{background-color:#060010;background-color:var(--bg-base,#060010);height:100%;height:100dvh;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;color:#d1d5db;color:var(--text-secondary,#d1d5db);font-family:var(--font-sans);touch-action:manipulation}code{font-family:var(--font-mono)}.app-container{display:flex;flex-direction:column;height:100%;height:100dvh;position:relative;width:100%}[role=button],a,button,input[type=button],input[type=reset],input[type=submit]{-webkit-tap-highlight-color:transparent;min-height:36px;touch-action:manipulation}.scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.error-boundary-container{align-items:center;background:#0a0a0f;background:var(--tg-theme-bg-color,#0a0a0f);color:#fff;color:var(--tg-theme-text-color,#fff);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:2rem}@media (max-height:800px){.error-boundary-container{align-items:flex-start}}.error-boundary-content{background:#1a1a24;background:var(--tg-theme-secondary-bg-color,#1a1a24);border-radius:20px;box-shadow:0 8px 32px #0006;margin:auto;max-width:500px;padding:2rem;text-align:center;width:100%}.error-icon{animation:shake .5s ease-in-out;font-size:4rem;margin-bottom:1rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.error-boundary-content h2{color:#fff;color:var(--tg-theme-text-color,#fff);font-size:1.5rem;margin:0 0 1rem}.error-description{color:#888;color:var(--tg-theme-hint-color,#888);font-size:.95rem;margin:.5rem 0 1rem}.error-message{word-wrap:break-word;background:#f443361a;border-left:4px solid #f44336;border-radius:8px;font-family:monospace;font-size:.85rem;margin:0 0 1.5rem;overflow-wrap:break-word;padding:1rem;text-align:left}.instruction-box{background:linear-gradient(135deg,#5227ff26,#62a1ea26);border:2px solid #5227ff;border:2px solid var(--tg-theme-button-color,#5227ff);border-radius:16px;margin:1.5rem 0;padding:1.5rem;text-align:center}.instruction-icon{animation:pulse 2s ease-in-out infinite;font-size:3rem;margin-bottom:.75rem}.instruction-text{color:#fff;color:var(--tg-theme-text-color,#fff);font-size:.95rem;line-height:1.6;margin:0 0 1rem}.contact-link{background:linear-gradient(135deg,#5227ff,#62a1ea);background:linear-gradient(135deg,var(--tg-theme-button-color,#5227ff) 0,var(--tg-theme-link-color,#62a1ea) 100%);border-radius:12px;box-shadow:0 4px 12px #5227ff4d;color:#fff;display:inline-block;font-size:1.1rem;font-weight:700;padding:.75rem 1.5rem;text-decoration:none;transition:transform .2s ease}.contact-link:hover{transform:scale(1.05)}.contact-link:active{transform:scale(.98)}.user-info{background:#ffffff0d;border-radius:8px;margin:1rem 0;padding:.75rem;text-align:center}.user-info small{color:#888;color:var(--tg-theme-hint-color,#888);font-size:.8rem;line-height:1.6}.actions-row{display:flex;flex-direction:column;gap:12px;margin:1.5rem 0;width:100%}@media (min-width:480px){.actions-row{flex-direction:row}}.reload-button{background:linear-gradient(135deg,#5227ff,#62a1ea);background:linear-gradient(135deg,var(--tg-theme-button-color,#5227ff) 0,var(--tg-theme-link-color,#62a1ea) 100%);border:none;border-radius:12px;font-weight:700;transition:transform .2s ease}.copy-error-button,.reload-button{color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:1rem;width:100%}.copy-error-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:var(--tg-theme-text-color,#fff);display:flex;font-weight:600;gap:8px;justify-content:center;transition:all .2s ease}.copy-error-button:hover,.reload-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.copy-error-button:active,.reload-button:active{transform:scale(.98)}.copy-error-button:hover{background:#ffffff26}.error-details{margin-top:2rem;text-align:left}.error-details summary{background:#ffffff0d;border-radius:8px;cursor:pointer;font-weight:600;margin-bottom:.5rem;padding:.75rem;-webkit-user-select:none;user-select:none}.error-details summary:hover{background:#ffffff14}.error-details pre{word-wrap:break-word;background:#0000004d;border-radius:8px;color:#ff8a80;font-size:.75rem;margin:.5rem 0 0;max-height:250px;overflow-x:auto;overflow-y:auto;padding:1rem;white-space:pre-wrap}.telegram-app-container{background-color:#060010;background-color:var(--tg-theme-bg-color,#060010);color:#fff;color:var(--tg-theme-text-color,#fff);display:flex;flex-direction:column;min-height:100vh;overflow-y:auto;padding:1rem 1rem 100px}.loader,.telegram-app-container.error{font-weight:500;padding-top:2rem;text-align:center}.profile-header{flex-shrink:0;margin-bottom:1.5rem}.profile-header h2{font-size:1.8rem;margin:0 0 .5rem}.profile-stats{align-items:center;display:flex;gap:.75rem}.xp-chip{background:#8a2be2;background:var(--tg-theme-button-color,#8a2be2);color:#fff;color:var(--tg-theme-button-text-color,#fff)}.currency-chip,.xp-chip{border-radius:16px;font-size:.9rem;font-weight:600;padding:5px 10px}.currency-chip{align-items:center;background:#ffc107;color:#1c162c;display:flex;gap:.25rem}.currency-chip img{height:16px;width:16px}.quest-card-container{background-color:#1c162c;background-color:var(--tg-theme-secondary-bg-color,#1c162c);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between}.quest-card-content{padding:1.2rem 1.2rem 0;text-align:center}.quest-card-action{padding:1rem 1.2rem 1.2rem}.quest-card-container h3{font-size:1.4rem;margin:0 0 .5rem}.quest-card-container p{font-size:.95rem;line-height:1.4;margin:0 0 1rem}.quest-card-container p,.quest-card-rewards{color:#a3a3a3;color:var(--tg-theme-hint-color,#a3a3a3)}.quest-card-rewards{align-items:center;display:flex;font-weight:600;gap:.75rem;justify-content:center;margin:1.2rem 0}.quest-card-rewards span{align-items:center;display:flex;gap:.25rem}.quest-card-rewards .separator{color:#4b5563}.quest-card-rewards img{height:18px;width:18px}.quest-start-btn{align-items:center;background:#5227ff;background:var(--tg-theme-button-color,#5227ff);border:none;border-radius:8px;color:#fff;color:var(--tg-theme-button-text-color,#fff);cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;justify-content:center;padding:14px;width:100%}.footer-actions{bottom:20px;left:50%;position:fixed;transform:translateX(-50%);z-index:20}.telegram-bottom-bar{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#282828b3;border:1px solid #ffffff1a;border-radius:30px;display:flex;gap:15px;padding:10px 20px}.glass-icon{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;box-shadow:0 4px 30px #0000001a;color:#fff;cursor:pointer;display:flex;height:50px;justify-content:center;transition:all .3s ease-in-out;width:50px}.glass-icon svg{height:55%;width:55%}.glass-icon:hover{background:#fff3;border-color:#ffffff40;transform:scale(1.1)}.quests-list{display:flex;flex-direction:column;flex-grow:1;gap:1.5rem}.status-badge{align-items:center;background-color:initial;border:2px solid;border-radius:12px;box-sizing:border-box;cursor:default;display:flex;font-size:1rem;font-weight:700;justify-content:center;padding:14px;text-align:center;text-transform:uppercase;width:100%}.status-badge.status-pending{border-color:#facc15;color:#facc15}.status-badge.status-approved{border-color:#4ade80;color:#4ade80}.status-badge.status-rejected{border-color:#f87171;color:#f87171}.status-badge.status-awaiting{background-color:#2a2a2a;background-color:var(--tg-theme-secondary-bg-color,#2a2a2a);border:2px solid #2a2a2a;border:2px solid var(--tg-theme-secondary-bg-color,#2a2a2a);color:#a3a3a3;color:var(--tg-theme-hint-color,#a3a3a3);cursor:not-allowed;text-transform:none}.countdown-timer{font-family:IBM Plex Mono,monospace;font-size:1rem}.main-ui-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;justify-content:center;padding:2rem;position:relative;width:100%;z-index:10}.bottom-icons-bar{align-items:center;bottom:calc(1.25rem + env(safe-area-inset-bottom, 0px));display:flex;gap:15px;left:50%;position:fixed;transform:translateX(-50%);z-index:20}.icon-separator{background-color:#fff3;height:30px;margin:0 5px;width:1px}.header-text-wrapper{left:50%;pointer-events:none;position:absolute;text-align:center;top:18%;transform:translateX(-50%);width:100%;z-index:5}body.has-multiple-active-quests .header-text-wrapper{top:14%}.simple-header-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8a2be2,#4f94cd);background-clip:text;-webkit-background-clip:text;color:#fff;font-size:3rem;font-weight:700;margin:0}.connect-wallet-btn{background-color:#1e293b;border:1px solid #334155;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.connect-wallet-btn:hover{background-color:#334155;border-color:#475569}.connect-wallet-btn:disabled{cursor:not-allowed;opacity:.7}.login-options{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.login-divider{color:#64748b;font-weight:600}.maintenance-overlay{align-items:center;background-color:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.maintenance-content{background:#1e293b;border-radius:12px;margin:1rem;max-width:500px;padding:2rem;text-align:center}.maintenance-content h2{color:#fff;margin-bottom:1rem}.maintenance-content p{color:#cbd5e1;margin-bottom:.5rem}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1e293b;border:1px solid #334155;border-radius:12px;color:#fff;max-height:90vh;max-width:90vw;overflow-y:auto;padding:2rem;position:relative}.modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background-color .2s;width:30px}.modal-close-btn:hover{background-color:#334155;color:#fff}.notification{border-radius:8px;font-weight:600;max-width:300px;padding:1rem 1.5rem;position:fixed;right:1rem;top:1rem;transform:translateX(120%);transition:transform .3s ease-out;z-index:1001}.notification.show{transform:translateX(0)}.notification.success{background-color:#10b981;color:#fff}.notification.error{background-color:#ef4444;color:#fff}.stepper-container{gap:1.5rem}.step-content,.stepper-container{display:flex;flex-direction:column}.step-content{gap:1rem;min-height:200px}.step-input-container{display:flex;flex-direction:column;gap:.5rem}.step-input-container input,.step-input-container textarea{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#fff;padding:.75rem}.step-input-container input:focus,.step-input-container textarea:focus{border-color:#8a2be2;outline:none}.stepper-navigation{display:flex;justify-content:space-between;margin-top:1rem}.stepper-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.stepper-btn:disabled{cursor:not-allowed;opacity:.7}.stepper-btn.prev{background-color:#334155;color:#fff}.stepper-btn.prev:hover:not(:disabled){background-color:#475569}.stepper-btn.next{background-color:#8a2be2;color:#fff}.stepper-btn.next:hover:not(:disabled){background-color:#7c1fd1}.stepper-btn.finish{background-color:#10b981;color:#fff}.stepper-btn.finish:hover:not(:disabled){background-color:#059669}.leaderboard-container{margin:0 auto;max-width:600px;width:100%}.leaderboard-header{margin-bottom:2rem;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem}.leaderboard-item{align-items:center;background:#0f172a;border:1px solid #334155;border-radius:8px;display:flex;padding:1rem}.leaderboard-rank{color:#94a3b8;font-weight:700;width:40px}.leaderboard-user{align-items:center;display:flex;flex:1 1;gap:.75rem}.leaderboard-xp{color:#8a2be2;font-weight:700}.quest-card-container.electric-border{border-radius:12px;overflow:hidden;position:relative}.quest-card-container.electric-border:before{animation:glowing-border 20s linear infinite;background:linear-gradient(45deg,red,#ff7300,#fffb00,#48ff00,#00ffd5,#002bff,#7a00ff,#ff00c8,red);background-size:400%;border-radius:14px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.quest-card-container.electric-border:hover:before{opacity:1}@keyframes glowing-border{0%{background-position:0 0}50%{background-position:400% 0}to{background-position:0 0}}.glass-icons-container{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#282828b3;border:1px solid #ffffff1a;border-radius:30px;display:flex;gap:10px;padding:10px 20px}.coming-soon-icon{display:inline-block;position:relative}.coming-soon-badge{background:#f59e0b;color:#1e293b;right:-8px;top:-8px}.coming-soon-badge,.new-badge{border-radius:10px;font-size:.6rem;font-weight:700;padding:2px 6px;position:absolute;white-space:nowrap}.new-badge{animation:pulse 2s infinite;background:#ef4444;color:#fff;right:-5px;top:-5px}@keyframes pulse{0%{box-shadow:0 0 0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.file-upload-container{align-items:center;border:2px dashed #334155;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center;transition:border-color .2s}.file-upload-container:hover{border-color:#8a2be2}.file-upload-icon{color:#94a3b8;font-size:2rem}.file-upload-text{color:#94a3b8;margin:0}.file-upload-input{display:none}.file-preview{border-radius:8px;max-height:200px;max-width:100%}.bottom-sheet-overlay{align-items:flex-end;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.bottom-sheet-content{background:#1e293b;border-radius:16px 16px 0 0;max-height:80vh;max-width:500px;overflow-y:auto;padding:1.5rem;transform:translateY(100%);transition:transform .3s ease-out;width:100%}.bottom-sheet-content.open{transform:translateY(0)}.bottom-sheet-handle{background-color:#334155;border-radius:2px;height:4px;margin:0 auto 1rem;width:40px}.mobile-event-card{background:#0f172a;border:1px solid #334155;border-radius:12px;padding:1.5rem}.mobile-event-card h3{color:#fff;margin:0 0 .5rem}.mobile-event-card p{color:#94a3b8;margin:0 0 1rem}.mobile-event-card .event-meta{color:#94a3b8;display:flex;font-size:.9rem;justify-content:space-between}.elite-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.elite-overlay.active{pointer-events:auto}.elite-overlay-content{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10000}.electric-border{border-radius:12px;overflow:hidden;position:relative}.electric-border:before{animation:glowing-border 20s linear infinite;background:linear-gradient(45deg,red,#ff7300,#fffb00,#48ff00,#00ffd5,#002bff,#7a00ff,#ff00c8,red);background-size:400%;border-radius:14px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.electric-border:hover:before{opacity:1}.galaxy-background{height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:-1}.galaxy-star{background-color:#fff;border-radius:50%;position:absolute}.hyperspeed-container{height:100vh;overflow:hidden;position:relative;width:100%}.hyperspeed-line{background:linear-gradient(90deg,#0000,#8a2be2,#0000);height:2px;position:absolute;transform-origin:left center}.language-switcher{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#282828b3;border:1px solid #ffffff1a;border-radius:20px;color:#fff;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem}.language-switcher select{background:#0000;border:none;color:#fff;cursor:pointer;outline:none}.language-switcher option{background:#1e293b;color:#fff}.profile-status{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#282828b3;border:1px solid #ffffff1a;border-radius:20px;color:#fff;display:flex;gap:.75rem;padding:.5rem 1rem}.profile-status .user-info{align-items:flex-start;display:flex;flex-direction:column}.profile-status .user-name{font-size:.9rem;font-weight:600}.profile-status .user-xp{color:#94a3b8;font-size:.8rem}.quest-card{background:#0f172a;border:1px solid #334155;border-radius:12px;cursor:pointer;padding:1.5rem;transition:transform .2s,border-color .2s}.quest-card:hover{border-color:#8a2be2;transform:translateY(-2px)}.quest-card h3{color:#fff;margin:0 0 .5rem}.quest-card p{color:#94a3b8;margin:0 0 1rem}.quest-card .quest-rewards{align-items:center;display:flex;justify-content:space-between}.quest-card .quest-status{border-radius:20px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.quest-card .quest-status.pending{background-color:#f59e0b;color:#1e293b}.quest-card .quest-status.completed{background-color:#10b981;color:#fff}.quest-card .quest-status.results{background:linear-gradient(135deg,#eab308,#f59e0b);color:#1e293b;font-weight:700}.quest-card .quest-status.calculating{animation:pulse-calc 2s ease-in-out infinite;background-color:#8b5cf633;color:#a78bfa}@keyframes pulse-calc{0%,to{opacity:1}50%{opacity:.7}}.static-background{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}.stepper{display:flex;flex-direction:column;gap:1rem}.stepper-step{align-items:center;display:flex;gap:1rem}.stepper-step-number{align-items:center;background-color:#334155;border-radius:50%;color:#94a3b8;display:flex;font-weight:700;height:30px;justify-content:center;width:30px}.stepper-step.active .stepper-step-number{background-color:#8a2be2;color:#fff}.stepper-step.completed .stepper-step-number{background-color:#10b981;color:#fff}.stepper-step-content{flex:1 1}.stepper-step-title{color:#fff;font-weight:700;margin-bottom:.5rem}.stepper-step-description{color:#94a3b8;font-size:.9rem}@media (max-width:768px){.main-ui-container{padding:1rem}.header-text-wrapper{top:12%}body.has-multiple-active-quests .header-text-wrapper{top:9%}.simple-header-text{font-size:2rem}.bottom-icons-bar{bottom:calc(.75rem + env(safe-area-inset-bottom, 0px))}.modal-content{max-width:95vw;padding:1.5rem}.quest-card-container{max-width:100%}}@media (max-width:480px){.glass-icons-container{gap:5px;padding:8px 15px}.glass-icon{height:40px;width:40px}.simple-header-text{font-size:1.5rem}body.has-multiple-active-quests .header-text-wrapper{top:8%}}.telegram-login-fallback-button{align-items:center;background-color:#08c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;transition:all .2s ease}.telegram-login-fallback-button:hover{background-color:#0077b3;box-shadow:0 4px 10px #08c6;transform:translateY(-2px)}.telegram-login-fallback-button:active{transform:translateY(0)}.matrix-loader-container{align-items:center;background-color:#000;display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:9999}.matrix-canvas{opacity:.8}.matrix-canvas,.voxel-container{height:100%;left:0;position:absolute;top:0;width:100%}.voxel-container{pointer-events:none;z-index:5}.snowfall-canvas{height:100%;left:0;mix-blend-mode:screen;opacity:1;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}@keyframes snowfallFadeIn{0%{opacity:0}to{opacity:1}}.snowfall-canvas{animation:snowfallFadeIn 2s ease-in-out}
/*# sourceMappingURL=main.5e27917a.css.map*/