:root{--glass-bg: rgba(255, 255, 255, .08);--glass-bg-hover: rgba(255, 255, 255, .12);--glass-bg-active: rgba(255, 255, 255, .16);--glass-bg-strong: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .15);--glass-border-light: rgba(255, 255, 255, .08);--glass-shadow: 0 4px 16px rgba(0, 0, 0, .2);--glass-shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--glass-shadow-lg: 0 6px 24px rgba(0, 0, 0, .25);--glass-blur: blur(8px);--glass-blur-sm: blur(4px);--glass-blur-lg: blur(12px);--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-primary-dark: #7c3aed;--color-primary-hover: #7c3aed;--color-primary-rgb: 139, 92, 246;--color-accent-glow: rgba(139, 92, 246, .15);--color-accent: #06b6d4;--color-accent-light: #22d3ee;--color-accent-dark: #0891b2;--color-secondary: #64748b;--color-secondary-light: #94a3b8;--color-secondary-dark: #475569;--color-success: #10b981;--color-success-light: #34d399;--color-success-glow: rgba(16, 185, 129, .3);--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-error: #ef4444;--color-error-light: #f87171;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-stock-up: #10b981;--color-stock-up-glow: rgba(16, 185, 129, .3);--color-stock-down: #f43f5e;--color-stock-down-glow: rgba(244, 63, 94, .3);--color-stock-unchanged: #64748b;--color-bg-primary: rgba(255, 255, 255, .08);--color-bg-secondary: rgba(255, 255, 255, .04);--color-bg-tertiary: rgba(255, 255, 255, .06);--color-bg-accent: rgba(139, 92, 246, .15);--color-bg-hover: rgba(255, 255, 255, .1);--color-bg-solid: #0f172a;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-disabled: #64748b;--color-text-inverse: #ffffff;--color-text-link: #a78bfa;--color-border: rgba(255, 255, 255, .12);--color-border-light: rgba(255, 255, 255, .06);--color-border-dark: rgba(255, 255, 255, .2);--color-border-focus: var(--color-primary);--sidebar-bg: rgba(15, 23, 42, .8);--sidebar-text: #94a3b8;--sidebar-text-active: #f1f5f9;--sidebar-hover: rgba(255, 255, 255, .08);--sidebar-active: rgba(139, 92, 246, .25);--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--header-bg: rgba(15, 23, 42, .6);--header-height: 60px;--header-border: rgba(255, 255, 255, .1);--mobile-nav-height: 64px;--mobile-nav-bg: rgba(15, 23, 42, .8);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: var(--glass-shadow-sm);--shadow-md: var(--glass-shadow);--shadow-lg: var(--glass-shadow-lg);--shadow-xl: 0 10px 30px rgba(0, 0, 0, .3);--font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Consolas", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--tab-bg: rgba(255, 255, 255, .06);--tab-bg-active: var(--color-primary);--tab-text: var(--color-text-secondary);--tab-text-active: var(--color-text-inverse);--tab-border: var(--color-border);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-tooltip: 600;--z-toast: 700}[data-theme=light]{--glass-bg: rgba(255, 255, 255, .6);--glass-bg-hover: rgba(255, 255, 255, .7);--glass-bg-active: rgba(255, 255, 255, .8);--glass-bg-strong: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .5);--glass-border-light: rgba(255, 255, 255, .3);--glass-shadow: 0 4px 16px rgba(0, 0, 0, .08);--glass-shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--glass-shadow-lg: 0 6px 24px rgba(0, 0, 0, .1);--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-primary-dark: #7c3aed;--color-primary-hover: #7c3aed;--color-bg-primary: rgba(255, 255, 255, .6);--color-bg-secondary: rgba(255, 255, 255, .4);--color-bg-tertiary: rgba(255, 255, 255, .5);--color-bg-hover: rgba(255, 255, 255, .7);--color-bg-solid: #f0f0ff;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-disabled: #94a3b8;--color-text-inverse: #ffffff;--color-text-link: #7c3aed;--color-border: rgba(0, 0, 0, .08);--color-border-light: rgba(0, 0, 0, .04);--color-border-dark: rgba(0, 0, 0, .12);--sidebar-bg: rgba(255, 255, 255, .7);--sidebar-text: #475569;--sidebar-text-active: #1e293b;--sidebar-hover: rgba(139, 92, 246, .08);--sidebar-active: rgba(139, 92, 246, .15);--header-bg: rgba(255, 255, 255, .5);--header-border: rgba(0, 0, 0, .06);--mobile-nav-bg: rgba(255, 255, 255, .7);--tab-bg: rgba(255, 255, 255, .5);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .08);--shadow-md: 0 8px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .15);--shadow-xl: 0 10px 30px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-primary);min-height:100vh;background:linear-gradient(135deg,#1a0533,#0f172a,#0d3b4a 60%,#2d1b69);background-attachment:fixed}[data-theme=light] body{background:linear-gradient(135deg,#e8dff5,#dbeafe,#d1fae5 60%,#ede9fe);background-attachment:fixed}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}img{max-width:100%;height:auto}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-disabled{color:var(--color-text-disabled)}.text-inverse{color:var(--color-text-inverse)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-stock-up{color:var(--color-stock-up)}.text-stock-down{color:var(--color-stock-down)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.w-full{width:100%}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-dropdown{z-index:var(--z-dropdown)}.z-modal{z-index:var(--z-modal)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-none{border:none}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-accent{background-color:var(--color-bg-accent)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}.transition-opacity{transition:opacity var(--transition-normal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #8b5cf61a}50%{box-shadow:0 0 10px #8b5cf626}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-scale-in{animation:scaleIn var(--transition-fast) ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out 1}.animate-glow{animation:glowPulse 2s ease-in-out 1}.animate-slide-right{animation:slideInRight .3s ease-out}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}@keyframes tickerScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.market-ticker{overflow:hidden;background:#ffffff0a;border-bottom:1px solid var(--glass-border-light)}.market-ticker-track{display:flex;gap:var(--spacing-lg);animation:tickerScroll 30s linear infinite;white-space:nowrap;padding:var(--spacing-xs) 0}.market-ticker-item{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-primary);text-decoration:none;transition:background .2s ease;border-radius:var(--radius-sm);flex-shrink:0}.market-ticker-item:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.market-ticker-name{font-weight:600;color:var(--color-text-secondary)}.market-ticker-price{font-family:var(--font-mono);font-weight:600}.market-ticker-change{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-mono);font-weight:600}.market-ticker-change.up{color:var(--color-stock-up)}.market-ticker-change.down{color:var(--color-stock-down)}.view-mode-toggle{display:flex;gap:2px;padding:2px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.view-mode-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.view-mode-btn:hover{color:var(--color-text-primary)}.view-mode-btn.active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.grid{display:grid}@media(max-width:1024px){.grid-cols-3,.grid-cols-4,.grid-cols-5{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5{grid-template-columns:1fr}}@media(max-width:1200px){.layout-main-aside{grid-template-columns:1fr}}.stock-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-md)}.stock-grid-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-md);cursor:pointer;transition:all .3s ease}.stock-grid-card:hover{background:var(--glass-bg-hover);border-color:#8b5cf64d;box-shadow:var(--glass-shadow-sm);transform:translateY(-1px)}.stock-grid-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.stock-grid-card-name{font-weight:600;color:var(--color-text-primary)}.stock-grid-card-code{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stock-grid-card-price{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono);margin-bottom:var(--spacing-xs)}.stock-grid-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-sm)}.stack-sm{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stack-xs{display:flex;flex-direction:column;gap:var(--spacing-xs)}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--spacing-sm);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--glass-bg-hover);border-color:#8b5cf64d;color:var(--color-text-primary)}.pagination-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:var(--spacing-md)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl)}.glass-subtle{background:#ffffff0a;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border:1px solid var(--glass-border-light);border-radius:var(--radius-lg)}[data-theme=light] .glass-subtle{background:#ffffff59}.glow-violet{box-shadow:0 0 8px #8b5cf626}.glow-emerald{box-shadow:0 0 8px #10b98126}.glow-rose{box-shadow:0 0 8px #f43f5e26}.gradient-text{background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000040}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{width:100%;margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:641px){.container{max-width:640px}}@media(min-width:1025px){.container{max-width:1200px}}.container-fluid{width:100%;padding:0 var(--spacing-md)}.hide-mobile,.hide-tablet{display:block}.hide-desktop,.show-mobile-only,.show-tablet-only{display:none}.show-desktop-only{display:block}@media(max-width:640px){.hide-mobile{display:none!important}.show-mobile-only{display:block!important}.show-desktop-only{display:none!important}}@media(min-width:641px)and (max-width:1024px){.hide-tablet{display:none!important}.show-tablet-only{display:block!important}}@media(min-width:1025px){.hide-desktop{display:none!important}.show-desktop-only{display:block!important}}.grid{display:grid;gap:var(--spacing-md)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}@media(max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:1fr}.grid-cols-2-mobile{grid-template-columns:repeat(2,1fr)}}@media(min-width:641px)and (max-width:1024px){.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(3,1fr)}}.flex-col-mobile{display:flex;flex-direction:row}@media(max-width:640px){.flex-col-mobile{flex-direction:column}}.flex-col-tablet{display:flex;flex-direction:row}@media(max-width:1024px){.flex-col-tablet{flex-direction:column}}.text-responsive-xs{font-size:var(--font-size-xs)}.text-responsive-sm{font-size:var(--font-size-sm)}.text-responsive{font-size:var(--font-size-md)}.text-responsive-lg{font-size:var(--font-size-lg)}@media(max-width:640px){.text-responsive-xs{font-size:calc(var(--font-size-xs) - 1px)}.text-responsive-sm{font-size:var(--font-size-xs)}.text-responsive{font-size:var(--font-size-sm)}.text-responsive-lg{font-size:var(--font-size-md)}}.p-responsive{padding:var(--spacing-lg)}.m-responsive{margin:var(--spacing-lg)}@media(max-width:640px){.p-responsive{padding:var(--spacing-sm)}.m-responsive{margin:var(--spacing-sm)}}@media(min-width:641px)and (max-width:1024px){.p-responsive{padding:var(--spacing-md)}.m-responsive{margin:var(--spacing-md)}}.page-content{padding:var(--spacing-lg)}@media(max-width:640px){.page-content{padding:var(--spacing-md)}}.card-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:640px){.card-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.table-responsive table{min-width:600px}}.stack{display:flex;flex-direction:column;gap:var(--spacing-md)}.stack-sm{gap:var(--spacing-sm)}.stack-lg{gap:var(--spacing-lg)}.layout-with-sidebar{display:flex;min-height:100vh}.layout-sidebar{width:var(--sidebar-width);flex-shrink:0}.layout-content{flex:1;min-width:0;overflow-x:hidden}@media(max-width:1024px){.layout-sidebar{position:fixed;left:0;top:0;height:100vh;z-index:var(--z-fixed);transform:translate(-100%);transition:transform var(--transition-normal)}.layout-sidebar.open{transform:translate(0)}.layout-content{margin-left:0}}.mobile-layout{display:flex;flex-direction:column;min-height:100vh;padding-bottom:var(--mobile-nav-height)}.mobile-header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--header-border);position:sticky;top:0;z-index:var(--z-sticky)}.mobile-content{flex:1;overflow-y:auto}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media(max-width:768px){.two-column{grid-template-columns:1fr}}.three-column{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}@media(max-width:1024px){.three-column{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.three-column{grid-template-columns:1fr}}.layout-main-aside{display:grid;grid-template-columns:1fr 320px;gap:var(--spacing-lg)}@media(max-width:1200px){.layout-main-aside{grid-template-columns:1fr}.layout-main-aside>aside{order:-1}}.fixed-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:var(--mobile-nav-bg);border-top:1px solid var(--color-border);z-index:var(--z-fixed);display:flex;align-items:center;justify-content:space-around;padding:0 var(--spacing-sm)}@media(min-width:1025px){.fixed-bottom-nav{display:none}}.max-w-sm{max-width:384px}.max-w-md{max-width:448px}.max-w-lg{max-width:512px}.max-w-xl{max-width:576px}.max-w-2xl{max-width:672px}.max-w-3xl{max-width:768px}.max-w-4xl{max-width:896px}.max-w-5xl{max-width:1024px}.max-w-6xl{max-width:1152px}.max-w-full{max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;line-height:1;text-decoration:none;border-radius:var(--radius-md);border:1px solid var(--glass-border);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;background:var(--glass-bg);color:var(--color-text-primary);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm)}.btn:focus{outline:none;box-shadow:0 0 0 3px #8b5cf626}.btn:disabled,.btn.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:var(--color-text-inverse);border-color:#8b5cf680;box-shadow:0 0 6px #8b5cf626}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.btn-secondary{background:var(--glass-bg);color:var(--color-text-primary);border-color:var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border)}.btn-accent{background:linear-gradient(135deg,#06b6d4,#0891b2);color:var(--color-text-inverse);border-color:#06b6d480;box-shadow:0 0 6px #06b6d426}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg,#0891b2,#0e7490)}.btn-danger{background:#f43f5e33;color:#f43f5e;border-color:#f43f5e4d;box-shadow:0 0 4px #f43f5e14}.btn-danger:hover:not(:disabled){background:#f43f5e4d}.btn-success{background:#10b98133;color:#10b981;border-color:#10b9814d;box-shadow:0 0 4px #10b98114}.btn-success:hover:not(:disabled){background:#10b9814d}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.btn-ghost:hover:not(:disabled){background:var(--glass-bg);color:var(--color-text-primary)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary);backdrop-filter:none;-webkit-backdrop-filter:none}.btn-outline:hover:not(:disabled){background:#8b5cf626}.btn-link{background:transparent;color:var(--color-text-link);border-color:transparent;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none}.btn-link:hover:not(:disabled){color:var(--color-primary-light);text-decoration:underline}.btn-xs{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-sm{padding:6px var(--spacing-sm);font-size:var(--font-size-xs)}.btn-md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.btn-xl{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-full{width:100%}.btn-icon-only{padding:var(--spacing-sm);aspect-ratio:1}.btn-icon-only.btn-sm{padding:6px}.btn-icon-only.btn-lg{padding:var(--spacing-md)}.btn-rounded{border-radius:var(--radius-full)}.btn-icon{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.btn-icon svg{flex-shrink:0}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-primary.btn-loading:after{border-color:var(--color-text-inverse);border-right-color:transparent}.btn-secondary.btn-loading:after{border-color:var(--color-text-secondary);border-right-color:transparent}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.btn-group .btn:not(:last-child){border-right:none}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.btn-buy{background:#10b98133;color:#10b981;border-color:#10b9814d;box-shadow:0 0 4px #10b98114}.btn-buy:hover:not(:disabled){background:#10b9814d}.btn-sell{background:#f43f5e33;color:#f43f5e;border-color:#f43f5e4d;box-shadow:0 0 4px #f43f5e14}.btn-sell:hover:not(:disabled){background:#f43f5e4d}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.input-label.required:after{content:" *";color:var(--color-error)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-primary);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:all .3s ease;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm)}[data-theme=light] .input{background:#ffffff80;border-color:#00000014}.input::placeholder{color:var(--color-text-disabled)}.input:hover:not(:disabled):not(:focus){border-color:#fff3}[data-theme=light] .input:hover:not(:disabled):not(:focus){border-color:#00000026}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf626}.input:disabled{background:#ffffff08;color:var(--color-text-disabled);cursor:not-allowed}.input-sm{padding:6px var(--spacing-sm);font-size:var(--font-size-xs)}.input-lg{padding:var(--spacing-md) var(--spacing-md);font-size:var(--font-size-md)}.input-error{border-color:#f43f5e80}.input-error:focus{border-color:var(--color-stock-down);box-shadow:0 0 0 3px #f43f5e26}.input-success{border-color:#10b98180}.input-success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #10b98126}.input-helper{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.input-error-text{font-size:var(--font-size-xs);color:var(--color-stock-down)}.input-icon-wrapper{position:relative;display:flex;align-items:center}.input-icon-wrapper .input{padding-left:40px}.input-icon-wrapper .input-icon{position:absolute;left:var(--spacing-md);color:var(--color-text-secondary);pointer-events:none}.input-icon-wrapper.icon-right .input{padding-left:var(--spacing-md);padding-right:40px}.input-icon-wrapper.icon-right .input-icon{left:auto;right:var(--spacing-md)}.input-addon-wrapper{display:flex}.input-addon{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);white-space:nowrap}.input-addon:first-child{border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-addon:last-child{border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0}.input-addon-wrapper .input{flex:1}.input-addon-wrapper .input:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-addon-wrapper .input:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-addon-wrapper .input:not(:first-child):not(:last-child){border-radius:0}.textarea{width:100%;min-height:100px;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-primary);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);resize:vertical;transition:all .3s ease}.textarea::placeholder{color:var(--color-text-disabled)}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf626}.textarea:disabled{background:#ffffff08;color:var(--color-text-disabled);cursor:not-allowed}.input-number{text-align:right;font-family:var(--font-mono)}.input-number::-webkit-outer-spin-button,.input-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-number[type=number]{-moz-appearance:textfield}.input-price{font-family:var(--font-mono);font-weight:600;text-align:right}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn var(--transition-fast) ease-out}.modal{position:relative;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg),0 0 8px #8b5cf60d;max-height:calc(100vh - var(--spacing-xl) * 2);display:flex;flex-direction:column;animation:scaleIn var(--transition-fast) ease-out;z-index:var(--z-modal)}.modal-sm{width:100%;max-width:384px}.modal-md{width:100%;max-width:512px}.modal-lg{width:100%;max-width:768px}.modal-xl{width:100%;max-width:1024px}.modal-full{width:calc(100vw - var(--spacing-xl) * 2);max-width:none}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border-light);flex-shrink:0}.modal-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.modal-close:hover{background:#ffffff1a;color:var(--color-text-primary);border-color:#fff3}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border-light);flex-shrink:0}.modal-footer-left{justify-content:flex-start}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal-error .modal-header{background:#f43f5e1a;border-bottom-color:#f43f5e33}.modal-error .modal-title{color:var(--color-stock-down)}.modal-error-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto var(--spacing-md);background:#f43f5e26;border-radius:var(--radius-full);color:var(--color-stock-down);box-shadow:0 0 6px #f43f5e14}.modal-error-code{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:#ffffff0f;border-radius:var(--radius-sm)}.modal-confirm .modal-body{text-align:center}.modal-confirm-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--spacing-md);border-radius:var(--radius-full)}.modal-confirm-icon.warning{background:#f59e0b26;color:var(--color-warning);box-shadow:0 0 6px #f59e0b14}.modal-confirm-icon.danger{background:#f43f5e26;color:var(--color-stock-down);box-shadow:0 0 6px #f43f5e14}.modal-confirm-icon.info{background:#3b82f626;color:var(--color-info);box-shadow:0 0 6px #3b82f614}@media(max-width:640px){.modal-backdrop{padding:0;align-items:flex-end}.modal{width:100%;max-width:none;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:slideUp var(--transition-normal) ease-out}.modal-full{max-height:100vh;border-radius:0}}.modal-login{text-align:center}.modal-login .modal-body{padding:var(--spacing-xl)}.modal-login-logo{width:64px;height:64px;margin:0 auto var(--spacing-lg)}.modal-login-title{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-xs)}.modal-login-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.modal-login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-login-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.modal-login-divider:before,.modal-login-divider:after{content:"";flex:1;height:1px;background:var(--glass-border-light)}.card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.card-hover:hover{background:var(--glass-bg-hover);border-color:#8b5cf64d}.card-clickable{cursor:pointer}.card-clickable:hover{background:var(--glass-bg-hover);border-color:#8b5cf64d}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border-light)}.card-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin:0}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.card-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.card-body{padding:var(--spacing-lg)}.card-body-sm{padding:var(--spacing-md)}.card-body-lg{padding:var(--spacing-xl)}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border-light);background:#ffffff08}.card-flat{border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.card-elevated{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg)}.card-outlined{border:2px solid var(--glass-border)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);transition:background-color .3s ease,border-color .3s ease}.glass-card:hover{background:var(--glass-bg-hover);border-color:#8b5cf64d}.card-stock{cursor:pointer}.card-stock:hover{border-color:#8b5cf666}.card-stock-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md)}.card-stock-name{font-weight:600;color:var(--color-text-primary)}.card-stock-code{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.card-stock-body{padding:0 var(--spacing-md) var(--spacing-md)}.card-stock-price{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono)}.card-stock-price.up{color:var(--color-stock-up);text-shadow:0 0 4px var(--color-stock-up-glow)}.card-stock-price.down{color:var(--color-stock-down);text-shadow:0 0 4px var(--color-stock-down-glow)}.card-stock-change{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-family:var(--font-mono)}.card-stock-change.up{color:var(--color-stock-up)}.card-stock-change.down{color:var(--color-stock-down)}.card-stock-footer{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff08;border-top:1px solid var(--glass-border-light);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.card-stat{text-align:center;padding:var(--spacing-sm) var(--spacing-md)}.card-stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto var(--spacing-xs);background:#8b5cf626;border-radius:var(--radius-lg);color:var(--color-primary);box-shadow:0 0 6px #8b5cf60d}.card-stat-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.card-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.card-stat-change{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-xs);font-size:var(--font-size-xs);border-radius:var(--radius-full)}.card-stat-change.up{background:#10b98126;color:var(--color-success);box-shadow:0 0 4px #10b9810d}.card-stat-change.down{background:#f43f5e26;color:var(--color-stock-down);box-shadow:0 0 4px #f43f5e0d}.card-news{cursor:pointer}.card-news:hover{border-color:#8b5cf64d}.card-news-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.card-news-badge.society{background:#f43f5e26;color:var(--color-stock-down)}.card-news-badge.industry{background:#3b82f626;color:var(--color-info)}.card-news-badge.company{background:#10b98126;color:var(--color-success)}.card-news-headline{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);line-height:var(--line-height-tight)}.card-news-excerpt{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.card-news-meta{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-disabled)}.card-ranking{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.card-ranking-rank{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-weight:700;border-radius:var(--radius-full);flex-shrink:0}.card-ranking-rank.gold{background:linear-gradient(135deg,gold,orange);color:#000;box-shadow:0 0 4px #ffd70026}.card-ranking-rank.silver{background:linear-gradient(135deg,silver,gray);color:#000;box-shadow:0 0 4px #c0c0c026}.card-ranking-rank.bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#fff;box-shadow:0 0 4px #cd7f3226}.card-ranking-rank.default{background:#ffffff14;color:var(--color-text-secondary)}.card-ranking-info{flex:1;min-width:0}.card-ranking-name{font-weight:600;color:var(--color-text-primary)}.card-ranking-stats{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.card-ranking-value{text-align:right;font-family:var(--font-mono)}.card-ranking-return{font-size:var(--font-size-lg);font-weight:700}.card-ranking-return.positive{color:var(--color-stock-up);text-shadow:0 0 4px var(--color-stock-up-glow)}.card-ranking-return.negative{color:var(--color-stock-down);text-shadow:0 0 4px var(--color-stock-down-glow)}.table-wrapper{overflow-x:auto;border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-secondary);background:#ffffff0f;border-bottom:1px solid var(--glass-border-light);white-space:nowrap}.table th:first-child{border-top-left-radius:var(--radius-xl)}.table th:last-child{border-top-right-radius:var(--radius-xl)}.table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);border-bottom:1px solid var(--glass-border-light);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .2s ease}.table tbody tr:hover{background:var(--glass-bg-hover)}.table tbody tr.selected{background:#8b5cf61a}.table tbody tr.clickable{cursor:pointer}.table .text-right{text-align:right}.table .text-center{text-align:center}.table-sm th,.table-sm td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.table-lg th,.table-lg td{padding:var(--spacing-md) var(--spacing-lg)}.table-striped tbody tr:nth-child(2n){background:#ffffff08}.table-bordered th,.table-bordered td{border:1px solid var(--glass-border-light)}.table-borderless td{border-bottom:none}.table-stock th,.table-stock td{padding:var(--spacing-sm) var(--spacing-md)}.table-stock .stock-name{display:flex;align-items:center;gap:var(--spacing-sm)}.table-stock .stock-icon{width:32px;height:32px;border-radius:var(--radius-md);background:#8b5cf626;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-xs);color:var(--color-primary)}.table-stock .stock-info{display:flex;flex-direction:column}.table-stock .stock-title{font-weight:500;color:var(--color-text-primary)}.table-stock .stock-code{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.table-stock .stock-price{font-family:var(--font-mono);font-weight:600;text-align:right}.table-stock .stock-change{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);font-family:var(--font-mono)}.table-stock .stock-change.up{color:var(--color-stock-up)}.table-stock .stock-change.down{color:var(--color-stock-down)}.table-stock .stock-volume{font-family:var(--font-mono);text-align:right;color:var(--color-text-secondary)}.table-orderbook{font-family:var(--font-mono);font-size:var(--font-size-xs)}.table-orderbook th{padding:var(--spacing-xs) var(--spacing-sm);font-weight:500;font-size:var(--font-size-xs)}.table-orderbook td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:none}.table-orderbook .ask-row{background:#f43f5e0d}.table-orderbook .bid-row{background:#10b9810d}.table-orderbook .price-col{font-weight:600;text-align:center}.table-orderbook .price-col.ask{color:var(--color-stock-down)}.table-orderbook .price-col.bid{color:var(--color-stock-up)}.table-orderbook .quantity-col{text-align:right}.table-orderbook .bar-col{width:80px;padding:var(--spacing-xs) 0}.table-orderbook .bar{height:16px;border-radius:var(--radius-sm)}.table-orderbook .bar.ask{background:#f43f5e40;margin-left:auto}.table-orderbook .bar.bid{background:#10b98140}.table-portfolio .holding-name{display:flex;align-items:center;gap:var(--spacing-sm)}.table-portfolio .profit-loss{font-family:var(--font-mono);font-weight:600}.table-portfolio .profit-loss.positive{color:var(--color-stock-up);text-shadow:0 0 2px var(--color-stock-up-glow)}.table-portfolio .profit-loss.negative{color:var(--color-stock-down);text-shadow:0 0 2px var(--color-stock-down-glow)}.table-ranking .rank-col{width:60px;text-align:center}.table-ranking .rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);font-weight:700;font-size:var(--font-size-xs)}.table-ranking .rank-badge.gold{background:linear-gradient(135deg,gold,orange);color:#000;box-shadow:0 0 4px #ffd70026}.table-ranking .rank-badge.silver{background:linear-gradient(135deg,silver,gray);color:#000}.table-ranking .rank-badge.bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#fff}.table-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.table-empty-icon{margin-bottom:var(--spacing-md);color:var(--color-text-disabled)}.table-empty-text{font-size:var(--font-size-md)}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out 3;border-radius:var(--radius-sm)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;width:100%}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:90%}.skeleton-title{height:1.5em;width:60%}.skeleton-avatar{border-radius:var(--radius-full)}.skeleton-avatar.sm{width:32px;height:32px}.skeleton-avatar.md{width:48px;height:48px}.skeleton-avatar.lg{width:64px;height:64px}.skeleton-avatar.xl{width:96px;height:96px}.skeleton-button{height:40px;width:120px;border-radius:var(--radius-md)}.skeleton-button.full{width:100%}.skeleton-image{aspect-ratio:16 / 9;width:100%;border-radius:var(--radius-md)}.skeleton-image.square{aspect-ratio:1 / 1}.skeleton-card{padding:var(--spacing-md);background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.skeleton-card-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.skeleton-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-stock-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.skeleton-stock-row:last-child{border-bottom:none}.skeleton-stock-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.skeleton-stock-price{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.skeleton-chart{height:200px;width:100%;border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton-chart:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(180deg,transparent 0%,var(--color-bg-tertiary) 100%);opacity:.5}.skeleton-orderbook{display:flex;flex-direction:column;gap:var(--spacing-xs)}.skeleton-orderbook-row{display:flex;align-items:center;gap:var(--spacing-sm);height:28px}.skeleton-orderbook-bar{height:100%;border-radius:var(--radius-sm)}.skeleton-orderbook-bar.ask{background:#ef444433}.skeleton-orderbook-bar.bid{background:#3b82f633}.skeleton-table{width:100%}.skeleton-table-header{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md) var(--radius-md) 0 0}.skeleton-table-row{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.skeleton-table-cell{flex:1}.skeleton-pulse{animation:skeletonPulse 1.5s ease-in-out 3}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--color-bg-tertiary)}.skeleton-pulse{animation:none}}.checkbox-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:#ffffff0d;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none}.checkbox:hover{border-color:var(--color-primary);box-shadow:0 0 4px #8b5cf61a}.checkbox:checked{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 4px #8b5cf626}.checkbox:checked:after{content:"";width:5px;height:9px;border:solid var(--color-text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.checkbox:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{font-size:var(--font-size-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.radio-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.radio{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff0d;cursor:pointer;transition:all .3s ease;appearance:none;-webkit-appearance:none;position:relative}.radio:hover{border-color:var(--color-primary);box-shadow:0 0 4px #8b5cf61a}.radio:checked{border-color:var(--color-primary);box-shadow:0 0 4px #8b5cf626}.radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--color-primary);border-radius:50%}.radio:disabled{opacity:.5;cursor:not-allowed}.radio-label{font-size:var(--font-size-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-group-horizontal{flex-direction:row;gap:var(--spacing-lg)}.switch-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.switch{position:relative;width:44px;height:24px;background:#ffffff1a;border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease}.switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--color-text-secondary);border-radius:50%;box-shadow:var(--glass-shadow-sm);transition:all .3s ease}.switch:hover{background:#ffffff26}.switch.active{background:#8b5cf666;box-shadow:0 0 4px #8b5cf61a}.switch.active:after{transform:translate(20px);background:var(--color-primary)}.switch:disabled{opacity:.5;cursor:not-allowed}.select-wrapper{position:relative}.select{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:36px;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-primary);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);cursor:pointer;appearance:none;-webkit-appearance:none;transition:all .3s ease}.select:hover:not(:disabled){border-color:#fff3}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf626}.select:disabled{background:#ffffff08;color:var(--color-text-disabled);cursor:not-allowed}.select-wrapper:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--color-text-secondary);pointer-events:none}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-group:last-child{margin-bottom:0}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}@media(max-width:640px){.form-row{flex-direction:column}}.badge-sector-it{background:#3b82f626;color:#3b82f6}.badge-sector-agriculture{background:#10b98126;color:#10b981}.badge-sector-manufacturing{background:#6b728026;color:#9ca3af}.badge-sector-service{background:#8b5cf626;color:#8b5cf6}.badge-sector-real_estate{background:#ec489926;color:#ec4899}.badge-sector-luxury{background:#f59e0b26;color:#f59e0b}.badge-sector-food{background:#f9731626;color:#f97316}.stock-chart{width:100%;height:100%;min-height:200px}.stock-chart-wrapper{position:relative;width:100%;height:250px;background:#ffffff0a;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);overflow:hidden}.stock-chart-wrapper.compact{height:120px}.chart-svg{width:100%;height:100%}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-line.up{stroke:var(--color-stock-up);filter:drop-shadow(0 0 4px rgba(16,185,129,.3))}.chart-line.down{stroke:var(--color-stock-down);filter:drop-shadow(0 0 4px rgba(244,63,94,.3))}.chart-line.neutral{stroke:var(--color-secondary)}.chart-area{opacity:.15}.chart-area.up{fill:var(--color-stock-up)}.chart-area.down{fill:var(--color-stock-down)}.chart-area.neutral{fill:var(--color-secondary)}.chart-grid-line{stroke:#ffffff0f;stroke-width:1;stroke-dasharray:4 4}.chart-axis-label{font-size:var(--font-size-xs);fill:var(--color-text-disabled);font-family:var(--font-mono)}.chart-tooltip{position:absolute;padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #0000004d;font-size:var(--font-size-xs);pointer-events:none;z-index:var(--z-tooltip);white-space:nowrap}.chart-tooltip-price{font-weight:600;font-family:var(--font-mono)}.chart-tooltip-time{color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.chart-timeframe{display:flex;gap:var(--spacing-xs)}.chart-timeframe-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .3s ease}.chart-timeframe-btn:hover{color:var(--color-text-primary);background:#ffffff14}.chart-timeframe-btn.active{color:var(--color-primary);background:#8b5cf626;border-color:#8b5cf64d;box-shadow:0 0 4px #8b5cf614}.mini-chart{width:80px;height:32px}.mini-chart .chart-line{stroke-width:1.5}.stock-ticker{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border-radius:var(--radius-md);border:1px solid var(--glass-border-light);transition:all .3s ease}.stock-ticker:hover{background:var(--glass-bg-hover);border-color:#8b5cf633}.stock-ticker-info{flex:1;min-width:0}.stock-ticker-name{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-ticker-code{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stock-ticker-price{text-align:right}.stock-ticker-current{font-weight:700;font-family:var(--font-mono);font-size:var(--font-size-md)}.stock-ticker-current.up{color:var(--color-stock-up);text-shadow:0 0 2px rgba(16,185,129,.15)}.stock-ticker-current.down{color:var(--color-stock-down);text-shadow:0 0 2px rgba(244,63,94,.15)}.stock-ticker-change{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-family:var(--font-mono)}.stock-ticker-change.up{color:var(--color-stock-up)}.stock-ticker-change.down{color:var(--color-stock-down)}.orderbook-chart-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:1024px){.orderbook-chart-layout{grid-template-columns:1fr}}[data-theme=light] .stock-chart-wrapper{background:#00000005;border-color:#00000014}[data-theme=light] .chart-grid-line{stroke:#0000000f}[data-theme=light] .chart-tooltip{background:#ffffffe6;border-color:#0000001a;box-shadow:0 8px 32px #0000001a}[data-theme=light] .stock-ticker{background:#fff9;border-color:#00000014}.toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none;max-width:400px;width:calc(100% - var(--spacing-lg) * 2)}.toast-container.top-right{top:var(--spacing-lg);right:var(--spacing-lg)}.toast-container.top-left{top:var(--spacing-lg);left:var(--spacing-lg)}.toast-container.top-center{top:var(--spacing-lg);left:50%;transform:translate(-50%)}.toast-container.bottom-right{bottom:var(--spacing-lg);right:var(--spacing-lg)}.toast-container.bottom-left{bottom:var(--spacing-lg);left:var(--spacing-lg)}.toast-container.bottom-center{bottom:var(--spacing-lg);left:50%;transform:translate(-50%)}.toast{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-xl);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow-lg);border:1px solid var(--glass-border);pointer-events:auto;animation:toastSlideIn .3s ease-out;min-width:280px}.toast.exiting{animation:toastSlideOut .2s ease-in forwards}.toast.success{border-left:4px solid var(--color-success);box-shadow:var(--glass-shadow-lg),-4px 0 4px #10b98114}.toast.success .toast-icon{color:var(--color-success)}.toast.error{border-left:4px solid var(--color-stock-down);box-shadow:var(--glass-shadow-lg),-4px 0 4px #f43f5e14}.toast.error .toast-icon{color:var(--color-stock-down)}.toast.warning{border-left:4px solid var(--color-warning);box-shadow:var(--glass-shadow-lg),-4px 0 4px #f59e0b14}.toast.warning .toast-icon{color:var(--color-warning)}.toast.info{border-left:4px solid var(--color-info);box-shadow:var(--glass-shadow-lg),-4px 0 4px #3b82f614}.toast.info .toast-icon{color:var(--color-info)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.toast-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-disabled);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toast-close:hover{background:#ffffff1a;color:var(--color-text-primary)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;border-radius:0 0 0 var(--radius-xl)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-container.top-left .toast,.toast-container.bottom-left .toast{animation-name:toastSlideInLeft}.toast-container.top-left .toast.exiting,.toast-container.bottom-left .toast.exiting{animation-name:toastSlideOutLeft}@keyframes toastSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.toast-container.top-center .toast,.toast-container.bottom-center .toast{animation-name:toastSlideInCenter}.toast-container.top-center .toast.exiting,.toast-container.bottom-center .toast.exiting{animation-name:toastSlideOutCenter}@keyframes toastSlideInCenter{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOutCenter{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@media(max-width:480px){.toast-container{left:var(--spacing-md)!important;right:var(--spacing-md)!important;width:auto;max-width:none;transform:none!important}.toast{min-width:auto}}.orderbook{display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--glass-border);overflow:hidden;box-shadow:var(--glass-shadow)}.orderbook-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff0f;border-bottom:1px solid var(--glass-border-light)}.orderbook-title{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary)}.orderbook-spread{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.orderbook-spread-value{font-weight:600;color:var(--color-text-primary);margin-left:var(--spacing-xs)}.orderbook-columns{display:grid;grid-template-columns:1fr 80px 80px;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:#ffffff0a;border-bottom:1px solid var(--glass-border-light);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.orderbook-col{text-align:right}.orderbook-col:first-child{text-align:left}.orderbook-body{display:flex;flex-direction:column;max-height:400px;overflow-y:auto}.orderbook-asks{display:flex;flex-direction:column-reverse}.orderbook-bids{display:flex;flex-direction:column}.orderbook-center{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff0f;border-top:1px solid var(--glass-border-light);border-bottom:1px solid var(--glass-border-light)}.orderbook-center-price{font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono)}.orderbook-center-price.up{color:var(--color-stock-up);text-shadow:0 0 2px rgba(16,185,129,.1)}.orderbook-center-price.down{color:var(--color-stock-down);text-shadow:0 0 2px rgba(244,63,94,.1)}.orderbook-center-price.unchanged{color:var(--color-text-primary)}.orderbook-center-change{font-size:var(--font-size-sm);margin-left:var(--spacing-sm)}.orderbook-row{display:grid;grid-template-columns:1fr 80px 80px;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);position:relative;cursor:pointer;transition:background .2s ease}.orderbook-row:hover{background:#ffffff0f}.orderbook-row:before{content:"";position:absolute;top:0;bottom:0;right:0;z-index:0;transition:width .3s ease}.orderbook-row.ask:before{background:#f43f5e14}.orderbook-row.bid:before{background:#10b98114}.orderbook-cell{position:relative;z-index:1;font-size:var(--font-size-sm);font-family:var(--font-mono);text-align:right}.orderbook-cell:first-child{text-align:left}.orderbook-price{font-weight:600}.orderbook-price.ask{color:var(--color-stock-down)}.orderbook-price.bid{color:var(--color-stock-up)}.orderbook-quantity{color:var(--color-text-primary)}.orderbook-total{color:var(--color-text-secondary)}.orderbook.compact .orderbook-body{max-height:300px}.orderbook.compact .orderbook-row{padding:2px var(--spacing-sm)}.orderbook.compact .orderbook-cell{font-size:var(--font-size-xs)}.orderbook.horizontal .orderbook-body{flex-direction:row}.orderbook.horizontal .orderbook-asks,.orderbook.horizontal .orderbook-bids{flex:1}.orderbook.horizontal .orderbook-center{display:none}@keyframes orderFlash{0%{background:#8b5cf633}to{background:transparent}}.orderbook-row.new{animation:orderFlash .5s ease-out}.orderbook-body::-webkit-scrollbar{width:4px}.orderbook-body::-webkit-scrollbar-track{background:transparent}.orderbook-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}.orderbook-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .orderbook{background:#fff9;border-color:#0000001a}[data-theme=light] .orderbook-header{background:#00000008}[data-theme=light] .orderbook-columns{background:#00000005}[data-theme=light] .orderbook-row:hover{background:#0000000a}[data-theme=light] .orderbook-row.ask:before{background:#f43f5e0f}[data-theme=light] .orderbook-row.bid:before{background:#10b9810f}[data-theme=light] .orderbook-body::-webkit-scrollbar-thumb{background:#00000026}.trade-panel{background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.trade-panel-header{display:flex;border-bottom:1px solid var(--color-border)}.trade-panel-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);border:none;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.trade-panel-tab:hover{background:var(--color-bg-tertiary)}.trade-panel-tab.active{color:var(--color-text-inverse)}.trade-panel-tab.buy.active{background:var(--color-stock-down)}.trade-panel-tab.sell.active{background:var(--color-stock-up)}.trade-panel-body{padding:var(--spacing-md)}.trade-stock-info{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.trade-stock-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-text-primary)}.trade-stock-price{text-align:right}.trade-stock-current{font-weight:700;font-size:var(--font-size-lg);font-family:var(--font-mono)}.trade-stock-current.up{color:var(--color-stock-up)}.trade-stock-current.down{color:var(--color-stock-down)}.trade-stock-change{font-size:var(--font-size-xs);margin-top:2px}.trade-form-group{margin-bottom:var(--spacing-md)}.trade-form-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.trade-form-hint{font-size:var(--font-size-xs);color:var(--color-text-disabled)}.trade-price-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.trade-price-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:var(--font-mono);text-align:right}.trade-price-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.trade-price-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.trade-price-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.trade-quantity-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm)}.trade-quantity-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:var(--font-mono);text-align:right}.trade-quantity-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.trade-quantity-presets{display:flex;gap:var(--spacing-xs)}.trade-preset-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.trade-preset-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.trade-preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.trade-summary{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.trade-summary-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) 0}.trade-summary-row:not(:last-child){border-bottom:1px solid var(--color-border)}.trade-summary-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.trade-summary-value{font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.trade-summary-total{font-size:var(--font-size-md);font-weight:700}.trade-submit-btn{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:700;color:var(--color-text-inverse);cursor:pointer;transition:all var(--transition-fast)}.trade-submit-btn.buy{background:var(--color-stock-down)}.trade-submit-btn.buy:hover{background:#2563eb}.trade-submit-btn.sell{background:var(--color-stock-up)}.trade-submit-btn.sell:hover{background:#dc2626}.trade-submit-btn:disabled{background:var(--color-text-disabled);cursor:not-allowed}.trade-balance{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.trade-balance-label{color:var(--color-text-secondary)}.trade-balance-value{font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.trade-order-type{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.trade-order-type-btn{flex:1;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.trade-order-type-btn:hover{background:var(--color-bg-tertiary)}.trade-order-type-btn.active{background:var(--color-bg-primary);border-color:var(--color-primary);color:var(--color-primary)}.trade-panel.compact .trade-panel-body{padding:var(--spacing-sm)}.trade-panel.compact .trade-form-group{margin-bottom:var(--spacing-sm)}.trade-error{padding:var(--spacing-sm);margin-bottom:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.tabs{display:flex;flex-direction:column}.tabs-list{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--glass-border-light);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-list::-webkit-scrollbar{display:none}.tabs.variant-line .tabs-list{gap:0}.tabs.variant-pills .tabs-list{border-bottom:none;background:#ffffff0d;padding:var(--spacing-xs);border-radius:var(--radius-lg);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm)}.tabs.variant-segment .tabs-list{border-bottom:none;background:#ffffff0d;padding:2px;border-radius:var(--radius-md)}.tabs-tab{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:all .3s ease;position:relative}.tabs-tab:hover{color:var(--color-text-primary)}.tabs-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.tabs-tab.active{color:var(--color-primary)}.tabs.variant-line .tabs-tab{padding:var(--spacing-sm) var(--spacing-lg);margin-bottom:-1px}.tabs.variant-line .tabs-tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;transition:background .3s ease}.tabs.variant-line .tabs-tab.active:after{background:var(--color-primary);box-shadow:0 0 4px #8b5cf626}.tabs.variant-line .tabs-tab:hover:after{background:#ffffff26}.tabs.variant-line .tabs-tab.active:hover:after{background:var(--color-primary)}.tabs.variant-pills .tabs-tab{border-radius:var(--radius-md)}.tabs.variant-pills .tabs-tab:hover{background:#ffffff14}.tabs.variant-pills .tabs-tab.active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.tabs.variant-segment .tabs-tab{flex:1;border-radius:var(--radius-sm)}.tabs.variant-segment .tabs-tab.active{background:var(--glass-bg-strong);color:var(--color-text-primary);box-shadow:var(--glass-shadow-sm)}.tabs-tab-icon{display:flex;align-items:center;justify-content:center}.tabs-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--spacing-xs);background:#ffffff1a;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.tabs-tab.active .tabs-tab-badge{background:#fff3}.tabs-panel{padding:var(--spacing-md) 0}.tabs-panel[hidden]{display:none}.tabs.size-sm .tabs-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.tabs.size-lg .tabs-tab{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.tabs.full-width .tabs-list{width:100%}.tabs.full-width .tabs-tab{flex:1}.tabs.vertical{flex-direction:row}.tabs.vertical .tabs-list{flex-direction:column;border-bottom:none;border-right:1px solid var(--glass-border-light);padding-right:var(--spacing-md);min-width:150px}.tabs.vertical .tabs-tab{justify-content:flex-start}.tabs.vertical.variant-line .tabs-tab{margin-bottom:0;margin-right:-1px}.tabs.vertical.variant-line .tabs-tab:after{inset:0 0 auto auto;width:2px;height:100%}.tabs.vertical .tabs-panel{flex:1;padding:0 var(--spacing-md)}.tabs-tab:disabled{opacity:.5;cursor:not-allowed}.tabs-tab:disabled:hover{color:var(--color-text-secondary);background:transparent}@media(max-width:640px){.tabs.variant-line .tabs-tab{padding:var(--spacing-sm) var(--spacing-md)}.tabs.vertical{flex-direction:column}.tabs.vertical .tabs-list{flex-direction:row;border-right:none;border-bottom:1px solid var(--glass-border-light);padding-right:0;min-width:auto}.tabs.vertical .tabs-panel{padding:var(--spacing-md) 0}}.search-wrapper{position:relative;width:100%}.search-input-container{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:40px;padding-right:36px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.search-input::placeholder{color:var(--color-text-disabled)}.search-icon{position:absolute;left:var(--spacing-sm);top:50%;transform:translateY(-50%);color:var(--color-text-disabled);pointer-events:none}.search-clear{position:absolute;right:var(--spacing-xs);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-disabled);cursor:pointer;transition:all var(--transition-fast)}.search-clear:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.search-loading{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);color:var(--color-text-disabled)}.search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:400px;overflow-y:auto}.search-dropdown-header{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.search-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background var(--transition-fast)}.search-item:hover,.search-item.highlighted{background:var(--color-bg-hover)}.search-item.selected{background:var(--color-bg-accent)}.search-item-main{flex:1;min-width:0}.search-item-title{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.search-item-meta{text-align:right}.search-item-price{font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.search-item-change{font-size:var(--font-size-xs);font-family:var(--font-mono)}.search-item-change.up{color:var(--color-stock-up)}.search-item-change.down{color:var(--color-stock-down)}.search-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.search-recent{padding:var(--spacing-xs) 0}.search-recent-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md)}.search-recent-clear{font-size:var(--font-size-xs);color:var(--color-text-link);background:none;border:none;cursor:pointer}.search-recent-clear:hover{text-decoration:underline}.search-wrapper.compact .search-input{padding:var(--spacing-xs) var(--spacing-sm);padding-left:32px;padding-right:28px;font-size:var(--font-size-xs)}.search-wrapper.compact .search-icon{left:var(--spacing-xs)}.search-wrapper.compact .search-icon,.search-wrapper.compact .search-icon svg{width:14px;height:14px}.search-wrapper.full-width{max-width:none}.search-keyboard-hint{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-disabled);pointer-events:none}.search-keyboard-hint kbd{padding:2px 6px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:10px}.tooltip-wrapper{position:relative;display:inline-flex}.tooltip{position:absolute;z-index:var(--z-tooltip);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-xs);color:var(--color-text-primary);white-space:nowrap;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity var(--transition-fast),transform var(--transition-fast)}.tooltip.visible{opacity:1;transform:scale(1)}.tooltip.top{bottom:100%;left:50%;transform:translate(-50%) translateY(-8px)}.tooltip.top.visible{transform:translate(-50%) translateY(-8px) scale(1)}.tooltip.bottom{top:100%;left:50%;transform:translate(-50%) translateY(8px)}.tooltip.bottom.visible{transform:translate(-50%) translateY(8px) scale(1)}.tooltip.left{right:100%;top:50%;transform:translateY(-50%) translate(-8px)}.tooltip.left.visible{transform:translateY(-50%) translate(-8px) scale(1)}.tooltip.right{left:100%;top:50%;transform:translateY(-50%) translate(8px)}.tooltip.right.visible{transform:translateY(-50%) translate(8px) scale(1)}.tooltip:before{content:"";position:absolute;width:8px;height:8px;background:var(--color-bg-primary);border:1px solid var(--color-border);transform:rotate(45deg)}.tooltip.top:before{bottom:-5px;left:50%;margin-left:-4px;border-top:none;border-left:none}.tooltip.bottom:before{top:-5px;left:50%;margin-left:-4px;border-bottom:none;border-right:none}.tooltip.left:before{right:-5px;top:50%;margin-top:-4px;border-bottom:none;border-left:none}.tooltip.right:before{left:-5px;top:50%;margin-top:-4px;border-top:none;border-right:none}.tooltip.dark{background:var(--sidebar-bg);border-color:transparent;color:var(--color-text-inverse)}.tooltip.dark:before{background:var(--sidebar-bg);border-color:transparent}.dropdown{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;z-index:var(--z-dropdown);min-width:180px;padding:var(--spacing-xs) 0;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000004d;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease}.dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu.bottom-start{top:100%;left:0;margin-top:var(--spacing-xs)}.dropdown-menu.bottom-end{top:100%;right:0;margin-top:var(--spacing-xs)}.dropdown-menu.top-start{bottom:100%;left:0;margin-bottom:var(--spacing-xs)}.dropdown-menu.top-end{bottom:100%;right:0;margin-bottom:var(--spacing-xs)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.dropdown-item:hover{background:#ffffff14}.dropdown-item:focus{outline:none;background:#ffffff14}.dropdown-item:disabled{color:var(--color-text-disabled);cursor:not-allowed}.dropdown-item:disabled:hover{background:none}.dropdown-item-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--color-text-secondary)}.dropdown-item.danger,.dropdown-item.danger .dropdown-item-icon{color:var(--color-error)}.dropdown-item.danger:hover{background:#f43f5e1a}.dropdown-divider{height:1px;margin:var(--spacing-xs) 0;background:var(--glass-border-light)}.dropdown-label{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.dropdown-item-check{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.dropdown-item-check svg{opacity:0}.dropdown-item.selected .dropdown-item-check svg{opacity:1;color:var(--color-primary)}.dropdown-item.selected{background:#8b5cf61a}.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{left:100%;top:0;margin-top:0;margin-left:var(--spacing-xs)}.dropdown-submenu-arrow{margin-left:auto;color:var(--color-text-disabled)}[data-theme=light] .dropdown-menu{background:#ffffffd9;border-color:#0000001a;box-shadow:0 8px 32px #0000001a}[data-theme=light] .dropdown-item:hover{background:#0000000d}[data-theme=light] .dropdown-divider{background:#00000014}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;line-height:1.4;border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:#8b5cf633;color:var(--color-primary-light);box-shadow:0 0 4px #8b5cf614}.badge-secondary{background:#ffffff14;color:var(--color-text-secondary)}.badge-success{background:#10b98126;color:var(--color-success);box-shadow:0 0 4px #10b9810d}.badge-error{background:#f43f5e26;color:var(--color-stock-down);box-shadow:0 0 4px #f43f5e0d}.badge-warning{background:#f59e0b26;color:var(--color-warning);box-shadow:0 0 4px #f59e0b0d}.badge-info{background:#3b82f626;color:var(--color-info);box-shadow:0 0 4px #3b82f60d}.badge-outline{background:transparent;border:1px solid currentColor}.badge-outline.badge-primary{color:var(--color-primary)}.badge-outline.badge-success{color:var(--color-success)}.badge-outline.badge-error{color:var(--color-stock-down)}.badge-outline.badge-warning{color:var(--color-warning)}.badge-outline.badge-info{color:var(--color-info)}.badge-sm{padding:1px var(--spacing-xs);font-size:10px}.badge-lg{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.badge-dot{width:8px;height:8px;padding:0;border-radius:var(--radius-full)}.badge-dot.badge-sm{width:6px;height:6px}.badge-dot.badge-lg{width:10px;height:10px}.badge-pill{border-radius:var(--radius-md)}.badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:var(--spacing-xs);margin-right:calc(-1 * var(--spacing-xs));padding:0;border:none;background:transparent;color:currentColor;opacity:.6;cursor:pointer;border-radius:var(--radius-full);transition:opacity var(--transition-fast),background var(--transition-fast)}.badge-remove:hover{opacity:1;background:#ffffff1a}.badge-pulse{position:relative}.badge-pulse:before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;animation:badgePulse 2s ease-in-out 2}@keyframes badgePulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.5)}}.badge-count{min-width:20px;height:20px;padding:0 6px;font-family:var(--font-mono)}.badge-count.badge-sm{min-width:16px;height:16px;padding:0 4px}.badge-stock-up{background:#10b98126;color:var(--color-stock-up);box-shadow:0 0 4px #10b9810d}.badge-stock-down{background:#f43f5e26;color:var(--color-stock-down);box-shadow:0 0 4px #f43f5e0d}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-full);background:#ffffff1a;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border:1px solid rgba(255,255,255,.15);color:var(--color-text-secondary);font-weight:600;overflow:hidden;transition:all .3s ease}.avatar-xs{width:24px;height:24px;font-size:10px}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-md)}.avatar-xl{width:64px;height:64px;font-size:var(--font-size-lg)}.avatar-2xl{width:96px;height:96px;font-size:var(--font-size-2xl)}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-initials{text-transform:uppercase;-webkit-user-select:none;user-select:none}.avatar-icon{display:flex;align-items:center;justify-content:center}.avatar-square{border-radius:var(--radius-md)}.avatar-bordered{border:2px solid rgba(255,255,255,.2);box-shadow:0 0 4px #8b5cf614}.avatar-status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:var(--radius-full);border:2px solid rgba(15,23,42,.8)}.avatar-status.online{background:var(--color-success);box-shadow:0 0 3px #10b98140}.avatar-status.offline{background:var(--color-text-disabled)}.avatar-status.busy{background:var(--color-error);box-shadow:0 0 3px #f43f5e40}.avatar-status.away{background:var(--color-warning);box-shadow:0 0 3px #f59e0b40}.avatar-group{display:flex;align-items:center}.avatar-group .avatar{margin-left:-8px;border:2px solid rgba(15,23,42,.8)}.avatar-group .avatar:first-child{margin-left:0}.avatar-group .avatar:hover{z-index:1;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.avatar-group-count{display:flex;align-items:center;justify-content:center;margin-left:-8px;background:#ffffff1a;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border:2px solid rgba(15,23,42,.8);font-size:var(--font-size-xs);font-weight:600}.avatar-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.avatar-accent{background:linear-gradient(135deg,#06b6d4,#0891b2);color:var(--color-text-inverse);box-shadow:0 0 4px #06b6d426}.avatar-success{background:linear-gradient(135deg,#10b981,#059669);color:var(--color-text-inverse);box-shadow:0 0 4px #10b98126}.avatar-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:var(--color-text-inverse);box-shadow:0 0 4px #f59e0b26}.avatar-error{background:linear-gradient(135deg,#f43f5e,#e11d48);color:var(--color-text-inverse);box-shadow:0 0 4px #f43f5e26}.avatar-loading{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:avatarShimmer 1.5s ease-in-out 2}@keyframes avatarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=light] .avatar{background:#0000000f;border-color:#0000001a}[data-theme=light] .avatar-status,[data-theme=light] .avatar-group .avatar{border-color:#ffffffe6}[data-theme=light] .avatar-group-count{background:#0000000f;border-color:#ffffffe6}.progress{position:relative;width:100%;height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-xs{height:4px}.progress-sm{height:6px}.progress-md{height:8px}.progress-lg{height:12px}.progress-xl{height:16px}.progress-bar{height:100%;border-radius:inherit;transition:width .3s ease}.progress-primary .progress-bar{background:var(--color-primary)}.progress-success .progress-bar{background:var(--color-success)}.progress-warning .progress-bar{background:var(--color-warning)}.progress-error .progress-bar{background:var(--color-error)}.progress-info .progress-bar{background:var(--color-info)}.progress-stock-up .progress-bar{background:var(--color-stock-up)}.progress-stock-down .progress-bar{background:var(--color-stock-down)}.progress-gradient .progress-bar{background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-animated .progress-bar{animation:progressStripes 1s linear 5}@keyframes progressStripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress-indeterminate .progress-bar{width:30%!important;animation:progressIndeterminate 1.5s ease-in-out 5}@keyframes progressIndeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-labeled{display:flex;flex-direction:column;gap:var(--spacing-xs)}.progress-label{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.progress-label-text{color:var(--color-text-secondary)}.progress-label-value{font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.progress-inline-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary);white-space:nowrap}.progress-lg .progress-inline-label,.progress-xl .progress-inline-label{font-size:var(--font-size-sm)}.progress-segmented{display:flex;gap:2px}.progress-segment{flex:1;height:100%;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.progress-segment.filled{background:var(--color-primary)}.progress-circular{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-circular-svg{transform:rotate(-90deg)}.progress-circular-track{fill:none;stroke:var(--color-bg-tertiary)}.progress-circular-bar{fill:none;stroke:var(--color-primary);stroke-linecap:round;transition:stroke-dashoffset .3s ease}.progress-circular-label{position:absolute;font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.pagination{display:flex;align-items:center;gap:var(--spacing-xs)}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--spacing-sm);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);background:#ffffff0f;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.pagination-btn:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;color:var(--color-text-primary)}.pagination-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.pagination-btn.active:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 0 6px #8b5cf633}.pagination-nav{display:flex;align-items:center;justify-content:center}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--color-text-disabled);font-size:var(--font-size-sm)}.pagination-sm .pagination-btn{min-width:28px;height:28px;font-size:var(--font-size-xs);padding:0 var(--spacing-xs)}.pagination-lg .pagination-btn{min-width:44px;height:44px;font-size:var(--font-size-md);padding:0 var(--spacing-md)}.pagination-compact .pagination-btn{border:none;background:transparent;border-radius:var(--radius-full)}.pagination-compact .pagination-btn:hover:not(:disabled){background:#ffffff14}.pagination-compact .pagination-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 0 4px #8b5cf626}.pagination-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-info strong{color:var(--color-text-primary)}.pagination-full{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.pagination-full .pagination{flex:0 0 auto}.pagination-per-page{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-per-page select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);background:#ffffff0f;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .3s ease}.pagination-per-page select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf61a}.pagination-simple{gap:var(--spacing-md)}.pagination-simple .pagination-current{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media(max-width:640px){.pagination-full{flex-direction:column;gap:var(--spacing-md)}.pagination-info{order:1}.pagination{order:0}}[data-theme=light] .pagination-btn{background:#fff9;border-color:#0000001a}[data-theme=light] .pagination-btn:hover:not(:disabled){background:#fffc;border-color:#00000026}[data-theme=light] .pagination-per-page select{background:#fff9;border-color:#0000001a}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border-right:1px solid var(--glass-border-light);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:var(--z-fixed);transition:width var(--transition-normal)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-bottom:1px solid var(--glass-border-light);cursor:pointer}.sidebar-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 4px #8b5cf626}.sidebar-logo-text{font-size:var(--font-size-lg);font-weight:700;background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-logo-text{display:none}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--spacing-md) 0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}.sidebar-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);margin:var(--spacing-xs) var(--spacing-sm);color:var(--sidebar-text);text-decoration:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;position:relative}.sidebar-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.sidebar-item.active{background:var(--sidebar-active);color:var(--sidebar-text-active);box-shadow:0 0 4px #8b5cf614}.sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:0 0 4px #8b5cf640}.sidebar-item-icon{width:20px;height:20px;flex-shrink:0}.sidebar-item-text{font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-item{justify-content:center;padding:var(--spacing-sm);margin:var(--spacing-xs) var(--spacing-sm)}.sidebar.collapsed .sidebar-item-text{display:none}.sidebar.collapsed .sidebar-item.active:before{display:none}.sidebar-section{margin-top:var(--spacing-lg)}.sidebar-section-title{padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sidebar-text);opacity:.5}.sidebar.collapsed .sidebar-section-title{display:none}.sidebar-mini-portfolio{margin:0 var(--spacing-sm);padding:var(--spacing-sm);background:#8b5cf614;border:1px solid rgba(139,92,246,.15);border-radius:var(--radius-md)}.sidebar-mini-portfolio-header{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary-light);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(139,92,246,.1)}.sidebar-mini-portfolio-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-mini-stat{display:flex;align-items:center;justify-content:space-between}.sidebar-mini-stat-label{font-size:var(--font-size-xs);color:var(--sidebar-text)}.sidebar-mini-stat-value{font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.sidebar.collapsed .sidebar-mini-portfolio{display:none}.sidebar-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border-light)}.sidebar-user{display:flex;align-items:center;gap:var(--spacing-sm)}.sidebar-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-text-inverse);flex-shrink:0;box-shadow:0 0 4px #8b5cf626}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--font-size-sm);font-weight:500;color:var(--sidebar-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-capital{font-size:var(--font-size-xs);color:var(--sidebar-text);font-family:var(--font-mono)}.sidebar.collapsed .sidebar-user-info{display:none}.sidebar-toggle{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:var(--sidebar-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sidebar-text);transition:all .3s ease;z-index:10}.sidebar-toggle:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active);border-color:#8b5cf64d}.sidebar-game-time{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);margin:var(--spacing-md);background:#ffffff0d;border:1px solid var(--glass-border-light);border-radius:var(--radius-md)}.sidebar-game-time-label{font-size:var(--font-size-xs);color:var(--sidebar-text);margin-bottom:var(--spacing-xs)}.sidebar-game-time-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-primary);font-family:var(--font-mono);text-shadow:0 0 2px rgba(139,92,246,.1)}.sidebar.collapsed .sidebar-game-time{padding:var(--spacing-sm)}.sidebar.collapsed .sidebar-game-time-label{display:none}.sidebar-market-status{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-xs);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500}.sidebar-market-status.open{background:#10b98126;color:var(--color-success)}.sidebar-market-status.closed{background:#ffffff0d;color:var(--color-text-secondary)}.sidebar-market-status-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.sidebar-market-status.open .sidebar-market-status-dot{animation:pulse 2s ease-in-out 3;box-shadow:0 0 6px #10b98166}.header{height:var(--header-height);background:var(--header-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--header-border);box-shadow:0 1px 6px #00000014;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);position:sticky;top:0;z-index:var(--z-sticky)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.header-menu-btn{display:none;padding:var(--spacing-sm);background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.header-menu-btn:hover{background:#ffffff14;color:var(--color-text-primary)}@media(max-width:1024px){.header-menu-btn{display:flex}}.header-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.header-breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.header-breadcrumb-separator{color:var(--color-text-disabled)}.header-breadcrumb a{color:var(--color-text-secondary)}.header-breadcrumb a:hover{color:var(--color-primary)}.header-breadcrumb-current{color:var(--color-text-primary);font-weight:500}.header-center{flex:1;display:flex;justify-content:center}.header-search{position:relative;width:100%;max-width:400px}.header-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:40px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all .3s ease;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm)}.header-search-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff1a;box-shadow:0 0 0 3px #8b5cf626}.header-search-input::placeholder{color:var(--color-text-disabled)}.header-search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.header-game-time{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:#ffffff0f;border:1px solid var(--glass-border-light);border-radius:var(--radius-md)}.header-game-time-icon{color:var(--color-primary)}.header-game-time-value{font-family:var(--font-mono);font-weight:600;color:var(--color-text-primary)}.header-market-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm)}.header-market-badge.open{background:#10b98126;color:var(--color-success)}.header-market-badge.closed{background:#ffffff0d;color:var(--color-text-secondary)}.header-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.header-icon-btn:hover{background:#ffffff14;border-color:var(--glass-border-light);color:var(--color-text-primary)}.header-icon-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;color:var(--color-text-inverse);background:var(--color-stock-down);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:0 0 4px #f43f5e26}.header-user{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease}.header-user:hover{background:#ffffff14}.header-user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf61f}.header-user-info{display:flex;flex-direction:column}.header-user-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.header-user-capital{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-mono)}@media(max-width:768px){.header-user-info,.header-game-time{display:none}}.header-theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.header-theme-toggle:hover{background:#ffffff14;border-color:var(--glass-border-light);color:var(--color-text-primary)}.header-user-group{display:flex;align-items:center;gap:var(--spacing-sm)}.header-user-role{font-size:11px;color:var(--color-text-disabled);text-transform:uppercase}.header-logout-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:transparent;border:1px solid var(--glass-border-light);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.header-logout-btn:hover{background:#f43f5e26;border-color:#f43f5e4d;color:#f43f5e;box-shadow:0 0 4px #f43f5e14}.header-login-btn{padding:var(--spacing-sm) var(--spacing-md)}.header-wrapper{position:sticky;top:0;z-index:var(--z-sticky)}.header-wrapper .header{position:relative;top:auto;z-index:auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:var(--mobile-nav-bg);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border-top:1px solid var(--glass-border-light);box-shadow:0 -2px 6px #0000001a;display:flex;align-items:center;justify-content:space-around;padding:0 var(--spacing-xs);z-index:var(--z-fixed)}@media(min-width:1025px){.mobile-nav{display:none}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;height:100%;padding:var(--spacing-xs);color:var(--color-text-secondary);text-decoration:none;transition:all .3s ease;border-radius:var(--radius-md);position:relative}.mobile-nav-item:hover{color:var(--color-text-primary)}.mobile-nav-item.active{color:var(--color-primary)}.mobile-nav-item.active .mobile-nav-icon{filter:drop-shadow(0 0 3px rgba(139,92,246,.25))}.mobile-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--color-primary);border-radius:0 0 var(--radius-full) var(--radius-full);box-shadow:0 0 4px #8b5cf633}.mobile-nav-icon{width:24px;height:24px}.mobile-nav-label{font-size:10px;font-weight:500}.mobile-header{height:var(--header-height);background:var(--header-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--header-border);box-shadow:0 1px 6px #00000014;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);position:sticky;top:0;z-index:var(--z-sticky)}.mobile-header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.mobile-header-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:calc(-1 * var(--spacing-sm));background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.mobile-header-back:hover{background:#ffffff14;color:var(--color-text-primary)}.mobile-header-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.mobile-header-center{flex:1;display:flex;justify-content:center}.mobile-header-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.mobile-header-logo-icon{width:28px;height:28px;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;box-shadow:0 0 4px #8b5cf626}.mobile-header-logo-text{font-size:var(--font-size-md);font-weight:700;background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mobile-header-right{display:flex;align-items:center;gap:var(--spacing-xs)}.mobile-header-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease}.mobile-header-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.mobile-game-time-bar{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);background:#ffffff0a;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border-bottom:1px solid var(--glass-border-light);font-size:var(--font-size-xs)}.mobile-game-time{display:flex;align-items:center;gap:var(--spacing-xs)}.mobile-game-time-icon{color:var(--color-primary)}.mobile-game-time-value{font-family:var(--font-mono);font-weight:600;color:var(--color-text-primary)}.mobile-market-status{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.mobile-market-status.open{background:#10b98126;color:var(--color-success)}.mobile-market-status.closed{background:#ffffff0d;color:var(--color-text-secondary)}.mobile-market-status-dot{width:4px;height:4px;border-radius:50%;background-color:currentColor}.mobile-market-status.open .mobile-market-status-dot{box-shadow:0 0 4px currentColor}.mobile-content{padding-bottom:calc(var(--mobile-nav-height) + var(--spacing-md));min-height:calc(100vh - var(--header-height))}.mobile-search{padding:var(--spacing-sm) var(--spacing-md);background:#ffffff0a;border-bottom:1px solid var(--glass-border-light)}.mobile-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:40px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all .3s ease}.mobile-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf626}.mobile-user-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);margin:var(--spacing-md);box-shadow:var(--glass-shadow)}.mobile-user-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-lg);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.mobile-user-info{flex:1}.mobile-user-name{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.mobile-user-capital{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary);text-shadow:0 0 2px rgba(139,92,246,.1)}.mobile-user-return{font-size:var(--font-size-sm);font-family:var(--font-mono)}.mobile-user-return.positive{color:var(--color-stock-up);text-shadow:none}.mobile-user-return.negative{color:var(--color-stock-down);text-shadow:none}.bottom-sheet-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast)}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;display:flex;flex-direction:column;z-index:var(--z-modal);animation:slideUp var(--transition-normal);box-shadow:0 -8px 32px #0000004d}.bottom-sheet-handle{display:flex;justify-content:center;padding:var(--spacing-sm)}.bottom-sheet-handle:after{content:"";width:40px;height:4px;background:#fff3;border-radius:var(--radius-full)}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--glass-border-light)}.bottom-sheet-title{font-size:var(--font-size-lg);font-weight:600}.bottom-sheet-close{display:flex;padding:var(--spacing-sm);margin:calc(-1 * var(--spacing-sm));background:none;border:none;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease}.bottom-sheet-close:hover{color:var(--color-text-primary)}.bottom-sheet-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.bottom-sheet-footer{padding:var(--spacing-md) var(--spacing-lg);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0));border-top:1px solid var(--glass-border-light)}.dashboard{animation:fadeIn .4s ease-out}.dashboard-hero{padding:var(--spacing-xl);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-lg);position:relative;overflow:hidden}.dashboard-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8b5cf6,#06b6d4,#10b981)}.dashboard-hero-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl)}.dashboard-hero-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.dashboard-hero-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard-hero-right{flex-shrink:0;min-width:240px}.market-ratio-bar{display:flex;height:8px;border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.market-ratio-up{background:var(--color-stock-up);transition:width .5s ease}.market-ratio-flat{background:var(--color-text-disabled);transition:width .5s ease}.market-ratio-down{background:var(--color-stock-down);transition:width .5s ease}.market-ratio-legend{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs)}.market-ratio-item{display:inline-flex;align-items:center;gap:2px;font-weight:500}@media(max-width:768px){.dashboard-hero-content{flex-direction:column;align-items:flex-start}.dashboard-hero-right{width:100%;min-width:auto}}.dashboard-stats{animation:fadeIn .3s ease-out}.dashboard-stats .card{position:relative;overflow:visible}.card-stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.stat-icon-emerald{background:#10b98126!important;color:var(--color-success)!important;box-shadow:0 0 4px #10b98114}.stat-icon-violet{background:#8b5cf626!important;color:var(--color-primary)!important;box-shadow:0 0 4px #8b5cf614}.stat-icon-amber{background:#f59e0b26!important;color:var(--color-warning)!important;box-shadow:0 0 4px #f59e0b14}.stat-icon-cyan{background:#06b6d426!important;color:var(--color-accent)!important;box-shadow:0 0 4px #06b6d414}.dashboard-market-cards .card{animation:fadeIn .3s ease-out}.stock-row{position:relative;border-radius:var(--radius-md);transition:all .2s ease}.stock-row:hover{background:var(--glass-bg-hover)}.stock-row:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;border-radius:var(--radius-full);background:var(--color-primary);transition:height .2s ease}.stock-row:hover:after{height:60%}.stock-row-rank{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;background:var(--glass-bg);color:var(--color-text-secondary);flex-shrink:0}.stock-row-rank.rank-up{background:#10b98126;color:var(--color-stock-up)}.stock-row-rank.rank-down{background:#f43f5e26;color:var(--color-stock-down)}.dashboard-bottom .card{animation:fadeIn .3s ease-out}.news-item{transition:all .2s ease;border-radius:var(--radius-md);padding:var(--spacing-sm);border-bottom:1px solid var(--glass-border-light)!important;border:none}.news-item:last-child{border-bottom:none!important}.news-item:hover{background:var(--glass-bg-hover)}.news-sentiment-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.news-sentiment-dot.positive{background:var(--color-stock-up);box-shadow:0 0 6px var(--color-stock-up-glow)}.news-sentiment-dot.negative{background:var(--color-stock-down);box-shadow:0 0 6px var(--color-stock-down-glow)}.news-sentiment-dot.neutral{background:var(--color-text-secondary)}.dashboard-section-title{display:flex;align-items:center;gap:var(--spacing-sm)}.dashboard-section-title .card-title{font-weight:600}@media(max-width:640px){.dashboard-hero-title{font-size:var(--font-size-xl)}}.stocks-page{animation:fadeIn .4s ease-out}.stocks-page-header{animation:fadeIn .3s ease-out}.stocks-filter-bar{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-md);animation:fadeIn .3s ease-out}.stocks-page .table-wrapper{animation:fadeIn .3s ease-out}.stocks-page .table-stock tbody tr.clickable:hover{background:var(--glass-bg-hover)}.stocks-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.stocks-loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.stocks-page .table-empty{animation:fadeIn .3s ease-out}.stocks-page .table-empty-icon{color:var(--color-text-disabled);opacity:.5}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.auth-card{width:100%;max-width:420px;background:var(--glass-bg);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg);padding:var(--spacing-xl);animation:scaleIn .4s ease-out}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.auth-form .form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.auth-form .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-primary);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:all .3s ease;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm)}[data-theme=light] .auth-form .form-group input{background:#ffffff80;border-color:#00000014}.auth-form .form-group input::placeholder{color:var(--color-text-disabled)}.auth-form .form-group input:hover:not(:disabled):not(:focus){border-color:#fff3}[data-theme=light] .auth-form .form-group input:hover:not(:disabled):not(:focus){border-color:#00000026}.auth-form .form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf626}.auth-form .form-group input:disabled{background:#ffffff08;color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.auth-form .form-group .hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.auth-form .submit-button{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:600;line-height:1.5;color:var(--color-text-inverse);background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:1px solid rgba(139,92,246,.5);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:0 0 4px #8b5cf626}.auth-form .submit-button:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 0 4px #8b5cf633;transform:translateY(-1px)}.auth-form .submit-button:active:not(:disabled){transform:translateY(0)}.auth-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-form .submit-button .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-footer{margin-top:var(--spacing-lg);text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--glass-border-light)}.auth-footer p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.auth-footer a{color:var(--color-primary-light);text-decoration:none;font-weight:600;transition:all .3s ease}.auth-footer a:hover{color:var(--color-primary);text-shadow:none}.news-page .news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(max-width:768px){.news-page .news-grid{grid-template-columns:1fr}}.news-card{cursor:pointer;position:relative;overflow:hidden}.news-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px}.news-card.sentiment-positive:before{background:linear-gradient(180deg,#10b981,#34d399);box-shadow:0 0 4px #10b98126}.news-card.sentiment-negative:before{background:linear-gradient(180deg,#f43f5e,#fb7185);box-shadow:0 0 4px #f43f5e26}.news-card.sentiment-neutral:before{background:linear-gradient(180deg,#3b82f6,#60a5fa);box-shadow:0 0 4px #3b82f626}.news-card:hover{border-color:#8b5cf64d;box-shadow:var(--glass-shadow)}.news-card .card-body{padding-left:calc(var(--spacing-lg) + 4px)}.ranking-page .table-ranking tbody tr{transition:all .2s ease}.ranking-page .table-ranking tbody tr:hover{background:var(--glass-bg-hover);box-shadow:inset 0 0 4px #8b5cf608}.mypage .stat-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media(max-width:1024px){.mypage .stat-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.mypage .stat-cards-grid{grid-template-columns:1fr}}.mypage .transaction-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--glass-border-light);transition:background .2s ease}.mypage .transaction-item:last-child{border-bottom:none}.mypage .transaction-item:hover{background:var(--glass-bg-hover)}@media(max-width:640px){.auth-container{padding:var(--spacing-md)}.auth-card{padding:var(--spacing-lg)}.auth-header h1{font-size:var(--font-size-xl)}}.stock-detail{display:flex;flex-direction:column;gap:var(--spacing-lg);animation:fadeIn .4s ease-out}.stock-detail-header{display:flex;align-items:center;gap:var(--spacing-md)}.stock-detail-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary)}.stock-detail-meta{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.stock-detail-price-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);padding:var(--spacing-lg);animation:fadeIn .3s ease-out}.stock-detail-price-main{display:flex;align-items:flex-end;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stock-detail-current-price{font-size:36px;font-weight:800;font-family:var(--font-mono);letter-spacing:-.5px}.stock-detail-current-price.up{color:var(--color-stock-up);text-shadow:0 0 2px rgba(16,185,129,.1)}.stock-detail-current-price.down{color:var(--color-stock-down);text-shadow:0 0 2px rgba(244,63,94,.1)}.stock-detail-change{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xl);font-weight:600;font-family:var(--font-mono);padding-bottom:4px}.stock-detail-change.up{color:var(--color-stock-up)}.stock-detail-change.down{color:var(--color-stock-down)}.stock-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.stock-detail-stat{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stock-detail-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.stock-detail-stat-value{font-size:var(--font-size-md);font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}@media(max-width:640px){.stock-detail-stats{grid-template-columns:repeat(2,1fr)}.stock-detail-current-price{font-size:var(--font-size-2xl)}.stock-detail-change{font-size:var(--font-size-md)}}.stock-detail-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media(max-width:1024px){.stock-detail-content-grid{grid-template-columns:1fr}}.stock-detail-section{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);overflow:hidden}.stock-detail-section.animate-entry-1,.stock-detail-section.animate-entry-2,.stock-detail-section.animate-entry-3,.stock-detail-section.animate-entry-4{animation:fadeIn .3s ease-out}.stock-detail-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border-light)}.stock-detail-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.stock-detail-section-body{padding:var(--spacing-md)}.stock-detail-orderbook{font-family:var(--font-mono);font-size:var(--font-size-xs)}.stock-detail-orderbook-header{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff0a;border-bottom:1px solid var(--glass-border-light);font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.stock-detail-orderbook-header span:nth-child(1){text-align:right}.stock-detail-orderbook-header span:nth-child(2){text-align:center}.stock-detail-orderbook-header span:nth-child(3){text-align:left}.stock-detail-orderbook-body{max-height:400px;overflow-y:auto}.stock-detail-ob-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);transition:all .15s ease;position:relative}.stock-detail-ob-row:hover{background:var(--glass-bg-hover)}.stock-detail-ob-row.ask-row{background:#f43f5e0a;border-bottom:1px solid rgba(244,63,94,.06)}.stock-detail-ob-row.ask-row:hover{background:#f43f5e1a}.stock-detail-ob-row.bid-row{background:#10b9810a;border-bottom:1px solid rgba(16,185,129,.06)}.stock-detail-ob-row.bid-row:hover{background:#10b9811a}.stock-detail-ob-cell{font-family:var(--font-mono);font-size:var(--font-size-xs)}.stock-detail-ob-cell.quantity{color:var(--color-text-secondary)}.stock-detail-ob-cell.quantity.left{text-align:right}.stock-detail-ob-cell.quantity.right{text-align:left}.stock-detail-ob-cell.price{text-align:center;font-weight:600}.stock-detail-ob-cell.price.ask{color:var(--color-stock-down);text-shadow:none}.stock-detail-ob-cell.price.bid{color:var(--color-stock-up);text-shadow:none}.stock-detail-ob-center{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:#8b5cf614;border-top:1px solid rgba(139,92,246,.15);border-bottom:1px solid rgba(139,92,246,.15);font-weight:700;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary-light);text-shadow:0 0 2px rgba(139,92,246,.1)}.stock-detail-trade-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);overflow:hidden}.stock-detail-trade-tabs{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm);background:#ffffff0a;border-bottom:1px solid var(--glass-border-light)}.stock-detail-trade-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s ease}.stock-detail-trade-tab:hover{background:#ffffff14;color:var(--color-text-primary)}.stock-detail-trade-tab.active-buy{background:#10b98133;color:var(--color-stock-up);box-shadow:0 0 4px #10b9811a}.stock-detail-trade-tab.active-sell{background:#f43f5e33;color:var(--color-stock-down);box-shadow:0 0 4px #f43f5e1a}.stock-detail-trade-body{padding:var(--spacing-lg)}.stock-detail-estimated-amount{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono);color:var(--color-text-primary);text-shadow:none}.stock-detail-btn-buy{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#10b9814d,#10b98180);color:var(--color-stock-up);border:1px solid rgba(16,185,129,.4);box-shadow:0 0 4px #10b9811a,0 2px 8px #00000026}.stock-detail-btn-buy:hover{background:linear-gradient(135deg,#10b98166,#10b98199);box-shadow:0 0 4px #10b9812e,0 2px 10px #0003;transform:translateY(-1px)}.stock-detail-btn-buy:active{transform:translateY(0)}.stock-detail-btn-sell{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#f43f5e4d,#f43f5e80);color:var(--color-stock-down);border:1px solid rgba(244,63,94,.4);box-shadow:0 0 4px #f43f5e1a,0 2px 8px #00000026}.stock-detail-btn-sell:hover{background:linear-gradient(135deg,#f43f5e66,#f43f5e99);box-shadow:0 0 4px #f43f5e2e,0 2px 10px #0003;transform:translateY(-1px)}.stock-detail-btn-sell:active{transform:translateY(0)}.stock-detail-info-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--glass-border-light);transition:background .15s ease}.stock-detail-info-row:last-child{border-bottom:none}.stock-detail-info-row:hover{background:#ffffff0a}.stock-detail-info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stock-detail-info-value{font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary)}.stock-detail-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.stock-detail-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-lg);text-align:center}.stock-detail-not-found h2{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.stock-detail-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.stock-detail-range{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--glass-border-light)}.stock-detail-range-labels{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.stock-detail-range-bar{position:relative;height:6px;background:var(--glass-border);border-radius:var(--radius-full);overflow:visible}.stock-detail-range-fill{height:100%;background:linear-gradient(90deg,var(--color-stock-down),var(--color-primary),var(--color-stock-up));border-radius:var(--radius-full)}.stock-detail-range-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg-solid);box-shadow:0 0 4px #8b5cf633}.stock-detail-interval-tabs{display:flex;gap:2px;padding:2px;background:var(--glass-bg);border:1px solid var(--glass-border-light);border-radius:var(--radius-md)}.stock-detail-interval-tab{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .2s ease}.stock-detail-interval-tab:hover{color:var(--color-text-primary)}.stock-detail-interval-tab.active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.stock-detail-ob-cell.quantity{position:relative}.stock-detail-ob-bar{position:absolute;top:0;height:100%;border-radius:var(--radius-sm);opacity:.3;transition:width .3s ease}.stock-detail-ob-bar.ask{right:0;background:var(--color-stock-down)}.stock-detail-ob-bar.bid{left:0;background:var(--color-stock-up)}.stock-detail-ob-totals{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--glass-border-light);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-mono)}.stock-detail-order-type-toggle{display:flex;gap:2px;padding:2px;background:#ffffff0a;border:1px solid var(--glass-border-light);border-radius:var(--radius-md)}.stock-detail-order-type-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.stock-detail-order-type-btn.active{background:#8b5cf633;color:var(--color-primary-light)}.stock-detail-quick-qty{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.stock-detail-quick-qty-btn{flex:1;padding:var(--spacing-xs);border:1px solid var(--glass-border-light);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s ease}.stock-detail-quick-qty-btn:hover{border-color:var(--color-primary);color:var(--color-primary-light);background:#8b5cf614}.stock-detail-investor-trend{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg)}.investor-trend-row{display:flex;flex-direction:column;gap:var(--spacing-sm)}.investor-trend-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.investor-trend-bar-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.investor-trend-bar{height:8px;background:var(--color-stock-down);border-radius:var(--radius-full);overflow:hidden}.investor-trend-buy{height:100%;background:var(--color-stock-up);border-radius:var(--radius-full);transition:width .5s ease}.investor-trend-values{display:flex;justify-content:space-between}.stock-detail-related-news{padding:var(--spacing-sm)}.stock-detail-news-item{padding:var(--spacing-sm);border-bottom:1px solid var(--glass-border-light);transition:background .2s ease;border-radius:var(--radius-md)}.stock-detail-news-item:last-child{border-bottom:none}.stock-detail-news-item:hover{background:var(--glass-bg-hover)}.stock-detail-chart-container{padding:var(--spacing-md)}.stock-detail aside{display:flex;flex-direction:column;gap:var(--spacing-lg)}[data-theme=light] .stock-detail-ob-row.ask-row{background:#f43f5e0f;border-bottom-color:#f43f5e14}[data-theme=light] .stock-detail-ob-row.ask-row:hover{background:#f43f5e1f}[data-theme=light] .stock-detail-ob-row.bid-row{background:#10b9810f;border-bottom-color:#10b98114}[data-theme=light] .stock-detail-ob-row.bid-row:hover{background:#10b9811f}[data-theme=light] .stock-detail-ob-center{background:#8b5cf61a}[data-theme=light] .stock-detail-trade-tabs{background:#ffffff4d}[data-theme=light] .stock-detail-info-row:hover{background:#00000008}.news-page{animation:fadeIn .4s ease-out}.news-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.news-filter-bar{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center;padding:var(--spacing-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);animation:slideUp .3s ease-out .1s both}.news-filter-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.news-filter-divider{width:1px;height:24px;background:var(--glass-border)}.news-featured{position:relative;padding:var(--spacing-xl);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg);margin-bottom:var(--spacing-lg);cursor:pointer;transition:all .3s ease;overflow:hidden;animation:slideUp .4s ease-out .15s both}.news-featured:hover{border-color:#8b5cf666;box-shadow:var(--glass-shadow-lg);transform:translateY(-2px)}.news-featured:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8b5cf6,#06b6d4)}.news-featured-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#8b5cf633;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary-light);margin-bottom:var(--spacing-md)}.news-featured-headline{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}.news-featured-meta{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.news-timeline{position:relative;padding-left:32px}.news-timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--color-primary),var(--glass-border-light));border-radius:var(--radius-full)}.news-timeline-item{position:relative;margin-bottom:var(--spacing-md);animation:slideUp .3s ease-out both}.news-timeline-dot{position:absolute;left:-27px;top:20px;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-bg-solid)}.news-timeline-dot.positive{background:var(--color-stock-up);box-shadow:0 0 8px var(--color-stock-up-glow)}.news-timeline-dot.negative{background:var(--color-stock-down);box-shadow:0 0 8px var(--color-stock-down-glow)}.news-timeline-dot.neutral{background:var(--color-text-secondary)}.news-card-timeline{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:all .3s ease}.news-card-timeline:hover{background:var(--glass-bg-hover);border-color:#8b5cf64d;box-shadow:var(--glass-shadow-sm);transform:translate(4px)}.news-card-timeline.sentiment-positive{border-left:3px solid var(--color-stock-up)}.news-card-timeline.sentiment-negative{border-left:3px solid var(--color-stock-down)}.news-card-timeline.sentiment-neutral{border-left:3px solid var(--color-text-secondary)}.news-card-badges{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.news-card-headline{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm)}.news-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.news-card-time{font-size:var(--font-size-xs);color:var(--color-text-disabled)}.news-impact-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.news-impact-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.news-impact-track{width:60px;height:4px;background:var(--glass-border);border-radius:var(--radius-full);overflow:hidden}.news-impact-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.news-impact-fill.high{background:var(--color-error);box-shadow:0 0 6px #ef44444d}.news-impact-fill.medium{background:var(--color-warning)}.news-impact-fill.low{background:var(--color-info)}.news-modal-content{max-width:600px}.news-modal-headline{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.news-modal-body{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.news-modal-tags{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.news-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);animation:fadeIn .3s ease-out}.ranking-page{animation:fadeIn .4s ease-out}.ranking-type-tabs{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);animation:fadeIn .3s ease-out}.ranking-type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s ease}.ranking-type-tab:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.ranking-type-tab.active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 4px #8b5cf626}.my-rank-card{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid rgba(139,92,246,.3);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-lg);animation:fadeIn .3s ease-out}.my-rank-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary-light);text-transform:uppercase;letter-spacing:.5px}.my-rank-number{font-size:var(--font-size-3xl);font-weight:800;font-family:var(--font-mono);color:var(--color-primary);text-shadow:0 0 2px rgba(139,92,246,.1)}.my-rank-info{flex:1}.my-rank-value{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono)}.my-rank-change{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;margin-left:var(--spacing-sm)}.my-rank-change.up{background:#10b98126;color:var(--color-success)}.my-rank-change.down{background:#f43f5e26;color:var(--color-stock-down)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) 0}.podium-entry{display:flex;flex-direction:column;align-items:center;position:relative}.podium-first{order:2}.podium-second{order:1}.podium-third{order:3}.podium-crown{color:gold;margin-bottom:var(--spacing-xs);filter:drop-shadow(0 0 3px rgba(255,215,0,.2))}.podium-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-lg);color:#fff;margin-bottom:var(--spacing-xs)}.podium-avatar-first{width:56px;height:56px;font-size:var(--font-size-xl)}.podium-medal{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:800;margin-bottom:var(--spacing-sm)}.podium-medal.gold{background:linear-gradient(135deg,gold,orange);color:#000;box-shadow:0 0 4px #ffd70033}.podium-medal.silver{background:linear-gradient(135deg,silver,gray);color:#000}.podium-medal.bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#fff}.podium-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-xs)}.podium-value{font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-mono);color:var(--color-text-primary)}.podium-value-first{font-size:var(--font-size-md);color:gold;text-shadow:none}.podium-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.podium-pillar{width:80px;border-radius:var(--radius-md) var(--radius-md) 0 0;margin-top:var(--spacing-sm)}.podium-pillar-gold{height:80px;background:linear-gradient(180deg,#ffd7004d,#ffd70014);border:1px solid rgba(255,215,0,.2);border-bottom:none}.podium-pillar-silver{height:56px;background:linear-gradient(180deg,#c0c0c033,#c0c0c00f);border:1px solid rgba(192,192,192,.15);border-bottom:none}.podium-pillar-bronze{height:40px;background:linear-gradient(180deg,#cd7f3233,#cd7f320f);border:1px solid rgba(205,127,50,.15);border-bottom:none}.ranking-page .table-wrapper{animation:fadeIn .3s ease-out}.ranking-page .table-ranking tbody tr:hover{background:var(--glass-bg-hover)}.ranking-row-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-xs);color:#fff;margin-right:var(--spacing-sm);vertical-align:middle}.mypage{animation:fadeIn .4s ease-out}.mypage-profile{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-xl);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-lg);position:relative;overflow:hidden;animation:slideUp .4s ease-out}.mypage-profile:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8b5cf6,#06b6d4)}.mypage-avatar-large{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-2xl);color:#fff;flex-shrink:0;box-shadow:0 0 4px #8b5cf626}.mypage-profile-info{flex:1}.mypage-profile-name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.mypage-profile-meta{display:flex;gap:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mypage-profile-stat{display:flex;flex-direction:column;align-items:center}.mypage-profile-stat-value{font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono);color:var(--color-text-primary)}.mypage-profile-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stat-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media(max-width:1024px){.stat-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stat-cards-grid{grid-template-columns:1fr}}.donut-chart-container{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-lg)}.donut-chart{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.donut-chart-inner{border-radius:50%;background:var(--color-bg-solid);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-chart-total{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono);color:var(--color-text-primary)}.donut-chart-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.donut-chart-legend{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.donut-legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.donut-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-legend-label{flex:1;color:var(--color-text-secondary)}.donut-legend-value{font-family:var(--font-mono);font-weight:600;color:var(--color-text-primary)}.holding-weight-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.holding-weight-track{flex:1;height:6px;background:var(--glass-border);border-radius:var(--radius-full);overflow:hidden}.holding-weight-fill{height:100%;border-radius:var(--radius-full);background:var(--color-primary);transition:width .5s ease}.holding-weight-value{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text-secondary);min-width:36px;text-align:right}.transaction-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border-light);transition:background .2s ease}.transaction-item:last-child{border-bottom:none}.transaction-item:hover{background:var(--glass-bg-hover)}.transaction-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-sm);flex-shrink:0}.transaction-icon.buy{background:#10b98126;color:var(--color-stock-up)}.transaction-icon.sell{background:#f43f5e26;color:var(--color-stock-down)}.transaction-filter-bar{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--glass-border-light)}.performance-chart-container{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.performance-chart-header{display:flex;align-items:center;justify-content:space-between}.performance-chart-value{font-size:var(--font-size-2xl);font-weight:700;font-family:var(--font-mono)}.investors-page{animation:fadeIn .4s ease-out}.investors-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--glass-border-light);margin-bottom:var(--spacing-lg)}.investors-tab-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;margin-bottom:-2px}.investors-tab-btn:hover{color:var(--color-text-primary)}.investors-tab-btn.active{color:var(--color-primary)}.investors-tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));box-shadow:0 0 6px #8b5cf64d}.investors-tab-btn .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ffffff1a;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.investors-tab-btn.active .tab-count{background:#8b5cf633;color:var(--color-primary-light)}.investors-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media(max-width:768px){.investors-stats{grid-template-columns:1fr}}.investors-stat-value{font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono)}.capital-text{font-family:var(--font-mono);font-weight:600}.badge-style-aggressive{background:#f43f5e26;color:var(--color-stock-down)}.badge-style-stable{background:#10b98126;color:var(--color-stock-up)}.badge-style-value{background:#8b5cf633;color:var(--color-primary-light)}.badge-style-random{background:#ffffff14;color:var(--color-text-secondary)}.badge-inst-type{background:#06b6d426;color:var(--color-accent)}.badge-freq-high{background:#f43f5e1f;color:var(--color-stock-down)}.badge-freq-medium{background:#f59e0b1f;color:var(--color-warning)}.badge-freq-low{background:#10b9811f;color:var(--color-stock-up)}.risk-bar{display:flex;align-items:center;gap:var(--spacing-xs)}.risk-bar-track{flex:1;height:6px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden;max-width:80px}.risk-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.risk-bar-fill.risk-low{background:var(--color-stock-up)}.risk-bar-fill.risk-medium{background:var(--color-warning)}.risk-bar-fill.risk-high{background:var(--color-stock-down)}.risk-bar-label{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text-secondary);min-width:32px}.sector-tags{display:flex;flex-wrap:wrap;gap:4px}.sector-tag{display:inline-block;padding:1px 6px;font-size:10px;font-weight:500;background:#ffffff0f;border:1px solid var(--glass-border-light);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.investors-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.investors-loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.investors-page .table-stock td{vertical-align:middle}.investor-name-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.investor-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:#8b5cf626;color:var(--color-primary-light);font-weight:700;font-size:var(--font-size-sm);flex-shrink:0}.investor-avatar.npc{background:#06b6d426;color:var(--color-accent)}.m-investors-page .investors-tab-bar{margin-bottom:var(--spacing-md)}.m-investor-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.m-investor-card-name{font-weight:600;font-size:var(--font-size-md)}.m-investor-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.m-investor-card-label{color:var(--color-text-secondary)}.m-investor-card-sectors{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--glass-border-light)}.investor-detail-page{animation:fadeIn .4s ease-out}.investor-detail-profile{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-xl);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-lg);position:relative;overflow:hidden;animation:slideUp .4s ease-out}.investor-detail-profile:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8b5cf6,#06b6d4)}.investor-detail-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 0 4px #8b5cf626}.investor-detail-avatar.npc{background:linear-gradient(135deg,#06b6d4,#0891b2)}.investor-detail-profile-info{flex:1}.investor-detail-name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.investor-detail-meta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.investor-detail-profile-stats{display:flex;gap:var(--spacing-xl)}.investor-detail-profile-stat{display:flex;flex-direction:column;align-items:center}.investor-detail-profile-stat-value{font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono);color:var(--color-text-primary)}.investor-detail-profile-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.investor-detail-sectors{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.table-stock tr.investor-row-clickable{cursor:pointer;transition:background .2s ease}.table-stock tr.investor-row-clickable:hover{background:var(--glass-bg-hover)}@media(max-width:1024px){.investor-detail-profile{flex-direction:column;align-items:flex-start}.investor-detail-profile-stats{width:100%;justify-content:space-around}}
