/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"Geist Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-green-600:oklch(62.7% .194 149.214);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:Geist Variable,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-5{top:calc(var(--spacing) * 5)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.row-1{grid-row:1}.row-1234{grid-row:1234}.row-2330{grid-row:2330}.row-2454{grid-row:2454}.row-4966{grid-row:4966}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-px{margin-top:1px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-\[3px\]{height:3px}.h-\[18px\]{height:18px}.h-\[120px\]{height:120px}.h-full{height:100%}.h-px{height:1px}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[560px\]{max-height:560px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-\[18px\]{width:18px}.w-\[120px\]{width:120px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[360px\]{max-width:360px}.max-w-\[1440px\]{max-width:1440px}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#3B82F6\]\/30{border-color:oklab(62.3083% -.0332476 -.185052/.3)}.border-\[\#3B82F6\]\/40{border-color:oklab(62.3083% -.0332476 -.185052/.4)}.border-\[\#3F3F46\]{border-color:#3f3f46}.border-\[\#8B5CF6\]\/30{border-color:oklab(60.5631% .0845415 -.201932/.3)}.border-\[\#27272A\]{border-color:#27272a}.border-\[\#EF4444\]\/30{border-color:oklab(63.6834% .187864 .0889286/.3)}.border-\[\#EF4444\]\/40{border-color:oklab(63.6834% .187864 .0889286/.4)}.border-\[\#F59E0B\]{border-color:#f59e0b}.border-\[\#F59E0B\]\/30{border-color:oklab(76.8591% .0560995 .154808/.3)}.border-\[rgba\(34\,197\,94\,0\.3\)\]{border-color:#22c55e4d}.border-\[rgba\(37\,99\,235\,0\.3\)\]{border-color:#2563eb4d}.border-\[rgba\(239\,68\,68\,0\.3\)\]{border-color:#ef44444d}.border-\[rgba\(245\,158\,11\,0\.3\)\]{border-color:#f59e0b4d}.border-\[var\(--accent-primary\,\#3b82f6\)\]{border-color:var(--accent-primary,#3b82f6)}.border-\[var\(--border-default\)\]{border-color:var(--border-default)}.border-\[var\(--border-default\,\#27272a\)\]{border-color:var(--border-default,#27272a)}.border-border{border-color:var(--border)}.border-destructive\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/40{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-\[\#0F0F11\]{background-color:#0f0f11}.bg-\[\#1F1F23\]{background-color:#1f1f23}.bg-\[\#3B82F6\]{background-color:#3b82f6}.bg-\[\#3B82F6\]\/10{background-color:oklab(62.3083% -.0332476 -.185052/.1)}.bg-\[\#8B5CF6\]{background-color:#8b5cf6}.bg-\[\#8B5CF6\]\/10{background-color:oklab(60.5631% .0845415 -.201932/.1)}.bg-\[\#22C55E\]{background-color:#22c55e}.bg-\[\#18181B\]{background-color:#18181b}.bg-\[\#18181B\]\/95{background-color:oklab(21.0331% .00160407 -.0056366/.95)}.bg-\[\#27272A\]{background-color:#27272a}.bg-\[\#27272A\]\/60{background-color:oklab(27.3936% .00151277 -.00526419/.6)}.bg-\[\#EF4444\]{background-color:#ef4444}.bg-\[\#EF4444\]\/10{background-color:oklab(63.6834% .187864 .0889286/.1)}.bg-\[\#F59E0B\]\/10{background-color:oklab(76.8591% .0560995 .154808/.1)}.bg-\[\#F97316\]{background-color:#f97316}.bg-\[rgba\(34\,197\,94\,0\.15\)\]{background-color:#22c55e26}.bg-\[rgba\(37\,99\,235\,0\.15\)\]{background-color:#2563eb26}.bg-\[rgba\(113\,113\,122\,0\.15\)\]{background-color:#71717a26}.bg-\[rgba\(239\,68\,68\,0\.15\)\]{background-color:#ef444426}.bg-\[rgba\(245\,158\,11\,0\.1\)\]{background-color:#f59e0b1a}.bg-\[rgba\(245\,158\,11\,0\.08\)\]{background-color:#f59e0b14}.bg-\[rgba\(245\,158\,11\,0\.15\)\]{background-color:#f59e0b26}.bg-\[var\(--accent-muted\,rgba\(59\,130\,246\,0\.12\)\)\]{background-color:var(--accent-muted,#3b82f61f)}.bg-\[var\(--accent-primary\)\]{background-color:var(--accent-primary)}.bg-\[var\(--accent-primary\,\#3b82f6\)\]{background-color:var(--accent-primary,#3b82f6)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-\[12px_10px\]{padding:12px 10px}.p-\[18px_20px\]{padding:18px 20px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\[3px\]{padding-block:3px}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[\#3B82F6\]{color:#3b82f6}.text-\[\#22C55E\]{color:#22c55e}.text-\[\#2563eb\]{color:#2563eb}.text-\[\#52525B\]{color:#52525b}.text-\[\#71717A\]{color:#71717a}.text-\[\#A1A1AA\]{color:#a1a1aa}.text-\[\#A78BFA\]{color:#a78bfa}.text-\[\#EF4444\]{color:#ef4444}.text-\[\#F59E0B\]{color:#f59e0b}.text-\[\#FAFAFA\]{color:#fafafa}.text-\[\#f59e0b\]{color:#f59e0b}.text-\[var\(--accent-primary\,\#3b82f6\)\]{color:var(--accent-primary,#3b82f6)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-\[var\(--text-tertiary\,\#71717a\)\]{color:var(--text-tertiary,#71717a)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.placeholder\:text-\[\#71717A\]::placeholder{color:#71717a}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:border-\[\#3F3F46\]:hover{border-color:#3f3f46}.hover\:border-\[var\(--border-strong\,\#3f3f46\)\]:hover{border-color:var(--border-strong,#3f3f46)}.hover\:bg-\[\#1F1F23\]:hover{background-color:#1f1f23}.hover\:bg-\[\#2563EB\]:hover{background-color:#2563eb}.hover\:bg-\[\#18181B\]:hover{background-color:#18181b}.hover\:bg-\[\#DC2626\]:hover{background-color:#dc2626}.hover\:bg-\[var\(--bg-surface\)\]:hover{background-color:var(--bg-surface)}.hover\:bg-\[var\(--bg-surface\,\#18181b\)\]:hover{background-color:var(--bg-surface,#18181b)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-\[\#A1A1AA\]:hover{color:#a1a1aa}.hover\:text-\[\#FAFAFA\]:hover{color:#fafafa}.hover\:text-\[var\(--text-secondary\,\#a1a1aa\)\]:hover{color:var(--text-secondary,#a1a1aa)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}}.focus\:border-\[\#3B82F6\]:focus{border-color:#3b82f6}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\[\#3B82F6\]\/40:focus{--tw-ring-color:oklab(62.3083% -.0332476 -.185052/.4)}.focus\:outline-2:focus{outline-style:var(--tw-outline-style);outline-width:2px}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:outline-\[\#3F3F46\]:focus{outline-color:#3f3f46}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-invalid\:ring-destructive\/30[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/30[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.data-\[pressed\=false\]\:opacity-40[data-pressed=false]{opacity:.4}@media not all and (width>=40rem){.max-sm\:h-24{height:calc(var(--spacing) * 24)}.max-sm\:w-24{width:calc(var(--spacing) * 24)}}@media (width>=40rem){.sm\:col-span-3{grid-column:span 3/span 3}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-nowrap{flex-wrap:nowrap}:where(.sm\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}.sm\:p-8{padding:calc(var(--spacing) * 8)}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:top-3\.5{top:calc(var(--spacing) * 3.5)}.lg\:\[grid-template-columns\:minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media (hover:hover){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.tw-app-shell{background:var(--bg-base);height:100vh;color:var(--text-primary);font-family:var(--font-shell-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;display:flex;overflow:hidden}.tw-sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow-y:auto}.tw-sidebar-brand{height:var(--topnav-height);border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.tw-brand-icon{background:var(--accent-primary);border-radius:var(--shell-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tw-brand-name{letter-spacing:-.02em;color:var(--text-primary);font-size:15px;font-weight:700}.tw-brand-version{color:var(--text-tertiary);font-size:10px;font-family:var(--font-shell-mono);background:var(--bg-elevated);border-radius:3px;margin-left:auto;padding:1px 5px}.tw-sidebar-nav{flex:1;padding:8px 0}.tw-nav-section{margin-bottom:4px}.tw-nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:12px 16px 4px;font-size:10px;font-weight:600}.tw-nav-item{cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);color:var(--text-secondary);border-radius:var(--shell-radius-sm);align-items:center;gap:10px;margin:1px 6px;padding:7px 16px;font-size:13px;font-weight:450;text-decoration:none;display:flex;position:relative}.tw-nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.tw-nav-item--active{background:var(--accent-muted);color:var(--accent-primary);font-weight:500}.tw-nav-item--active:before{content:"";background:var(--accent-primary);border-radius:0 2px 2px 0;width:3px;height:16px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.tw-nav-icon{opacity:.7;width:16px;height:16px;transition:opacity var(--transition-fast);flex-shrink:0}.tw-nav-item:hover .tw-nav-icon{opacity:.85}.tw-nav-item--active .tw-nav-icon{opacity:1}.tw-nav-badge{font-size:10px;font-family:var(--font-shell-mono);background:var(--accent-muted);color:var(--accent-primary);border-radius:10px;margin-left:auto;padding:1px 6px;font-weight:600}.tw-nav-item--active .tw-nav-badge{background:var(--accent-primary);color:#fff}.tw-strategy-new-badge{background:var(--accent-primary);color:var(--text-inverse);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--shell-radius-sm);margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.tw-sidebar-footer{border-top:1px solid var(--border-default);padding:8px 6px}.tw-user-card{border-radius:var(--shell-radius-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:10px;padding:8px 10px;display:flex}.tw-user-card:hover,.tw-user-card:focus-visible{background:var(--bg-elevated);outline:2px solid var(--border-strong);outline-offset:2px}.tw-user-avatar{background:var(--accent-muted);border:1.5px solid var(--accent-primary);width:28px;height:28px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.tw-user-info{flex:1;min-width:0}.tw-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.tw-user-role{color:var(--text-tertiary);font-size:10px}.tw-user-chevron{color:var(--text-tertiary);opacity:.6;flex-shrink:0}.tw-main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.tw-topnav{height:var(--topnav-height);background:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex}.tw-topnav-breadcrumb{align-items:center;gap:6px;font-size:13px;display:flex}.tw-breadcrumb-sep{color:var(--text-tertiary);font-size:12px}.tw-breadcrumb-current{color:var(--text-primary);font-weight:500}.tw-breadcrumb-parent{color:var(--text-tertiary)}.tw-topnav-spacer{flex:1}.tw-market-status{color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--shell-radius-sm);align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.tw-status-dot{background:var(--tw-success);width:6px;height:6px;box-shadow:0 0 4px var(--tw-success);border-radius:50%}.tw-market-label{color:var(--text-tertiary)}.tw-market-time{font-family:var(--font-shell-mono);color:var(--text-secondary)}.tw-topnav-actions{align-items:center;gap:8px;display:flex}.tw-topnav-btn{border-radius:var(--shell-radius-sm);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.tw-topnav-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.tw-topnav-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.tw-user-status-indicator{border-radius:var(--shell-radius-sm);border:1px solid var(--border-default);cursor:default;color:var(--text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;align-items:center;gap:6px;max-width:160px;padding:4px 8px;font-size:12px;display:flex}.tw-user-status-indicator:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.tw-user-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tw-user-status-name{font-family:var(--font-shell-sans);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.tw-user-status-approx{color:var(--text-tertiary);font-size:10px;font-family:var(--font-shell-mono);opacity:.7;flex-shrink:0}@media (width<=767px){.tw-user-status-indicator{display:none}}.tw-content-area{background:var(--bg-base);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex:1;overflow-y:auto}.tw-sidebar::-webkit-scrollbar{width:6px;height:6px}.tw-content-area::-webkit-scrollbar{width:6px;height:6px}.tw-sidebar::-webkit-scrollbar-track{background:0 0}.tw-content-area::-webkit-scrollbar-track{background:0 0}.tw-sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.tw-content-area::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.tw-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.tw-content-area::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.tw-mobile-bottom-nav{display:none}.tw-mobile-nav-item{cursor:pointer;transition:color var(--transition-fast);color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 0;font-size:10px;text-decoration:none;display:flex}.tw-mobile-nav-item--active{color:var(--accent-primary)}@media (width<=1023px){.tw-sidebar{display:none}}@media (width<=767px){.tw-app-shell{flex-direction:column}.tw-topnav{padding:0 12px}.tw-market-status{display:none}.tw-content-area{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.tw-mobile-bottom-nav{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-surface);border-top:1px solid var(--border-default);z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0}}.tw-user-menu-trigger{border-radius:var(--shell-radius-sm);border:1px solid var(--border-default);height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);font-family:var(--font-shell-sans);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:500;line-height:1;display:flex}.tw-user-menu-trigger:hover{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.tw-user-menu-trigger:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.tw-user-menu-trigger[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.tw-user-menu-avatar{background:var(--accent-muted);border:1.5px solid var(--accent-primary);width:22px;height:22px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.tw-user-menu-name{color:var(--text-secondary);text-overflow:ellipsis;max-width:100px;font-size:12px;overflow:hidden}.tw-user-status-slot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:6px;height:6px}.tw-user-menu-positioner{z-index:200}.tw-user-menu-popup{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);transform-origin:100% 0;min-width:160px;transition:opacity var(--transition-fast), transform var(--transition-fast);padding:4px;box-shadow:0 4px 16px #0006}.tw-user-menu-popup[data-open]{opacity:1;transform:translateY(0)}.tw-user-menu-popup:not([data-open]){opacity:0;transform:translateY(-4px)}.tw-user-menu-header{padding:8px 10px 6px}.tw-user-menu-header-name{color:var(--text-primary);font-size:12px;font-weight:600}.tw-user-menu-separator{background:var(--border-default);height:1px;margin:4px 0}.tw-user-menu-item{border-radius:var(--shell-radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;display:flex}.tw-user-menu-item:hover,.tw-user-menu-item[data-highlighted]{background:var(--bg-elevated);color:var(--text-primary)}.tw-user-menu-item[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.tw-user-menu-item--danger{color:var(--tw-danger)}.tw-user-menu-item--danger:hover,.tw-user-menu-item--danger[data-highlighted]{background:var(--tw-danger-muted);color:var(--tw-danger)}.tw-user-menu-item-icon{opacity:.9;flex-shrink:0}@media (width<=767px){.tw-user-menu-name,.tw-user-status-slot{display:none}.tw-user-menu-trigger{background:0 0;border:none;justify-content:center;width:32px;height:32px;padding:0 4px}.tw-user-menu-trigger:hover{background:var(--bg-elevated);border:none}}.home-content{flex:1;padding:20px 24px;overflow-y:auto}.home-header{margin-bottom:20px}.home-title{color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:700}.home-date{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono,monospace);margin-top:2px}.home-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:16px;display:grid}.home-block{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg,12px);overflow:hidden}.home-block.span-2{grid-column:1/-1}.block-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.block-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.block-title-icon{background:var(--accent-muted);border-radius:var(--radius-sm,4px);width:18px;height:18px;color:var(--accent-primary);fill:var(--accent-primary);justify-content:center;align-items:center;display:flex}.block-action{color:var(--accent-primary);cursor:pointer;border-radius:var(--radius-sm,4px);-webkit-user-select:none;user-select:none;padding:3px 8px;font-size:11px;transition:background .15s ease-out}.block-action:hover{background:var(--accent-muted)}.block-body{padding:12px 16px 14px}.market-summary-row{grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr;align-items:start;gap:12px;display:grid}.mkt-item{flex-direction:column;gap:4px;display:flex}.mkt-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.mkt-value{font-size:18px;font-weight:700;font-family:var(--font-mono,monospace);color:var(--text-primary);letter-spacing:-.02em}.mkt-delta{font-size:11px;font-family:var(--font-mono,monospace)}.mkt-delta.pos{color:var(--success)}.mkt-delta.neg{color:var(--danger)}.mkt-delta.neutral{color:var(--text-tertiary)}.mkt-divider{background:var(--border-default);align-self:stretch;width:1px;margin:2px 0}.breadth-bar-wrap{align-items:center;gap:10px;margin-top:12px;display:flex}.breadth-label{color:var(--text-tertiary);flex-shrink:0;font-size:11px}.breadth-bar{background:var(--bg-elevated);border-radius:3px;flex:1;height:6px;display:flex;overflow:hidden}.breadth-up{background:var(--success);height:100%}.breadth-flat{background:var(--border-strong);height:100%}.breadth-down{background:var(--danger);height:100%}.breadth-stat{font-size:11px;font-family:var(--font-mono,monospace)}.breadth-stat.pos{color:var(--success)}.breadth-stat.neg{color:var(--danger)}.scan-list{flex-direction:column;gap:6px;display:flex}.scan-item{border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle);background:var(--bg-elevated);cursor:pointer;align-items:center;gap:12px;padding:8px 10px;text-decoration:none;transition:border-color .15s ease-out;display:flex}.scan-item:hover{border-color:var(--border-strong)}.scan-ticker{font-size:13px;font-weight:700;font-family:var(--font-mono,monospace);color:var(--text-primary);flex-shrink:0;width:52px}.scan-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.scan-score{font-size:12px;font-family:var(--font-mono,monospace);border-radius:var(--radius-sm,4px);padding:2px 7px;font-weight:700}.scan-score.high{background:var(--success-muted);color:var(--score-high,#22c55e)}.scan-score.mid{background:var(--warning-muted);color:var(--score-mid,#f59e0b)}.scan-score.low{background:var(--danger-muted);color:var(--score-low,#dc2626)}.scan-price{font-size:12px;font-family:var(--font-mono,monospace);color:var(--text-secondary);text-align:right;flex-shrink:0;width:55px}.scan-change{font-size:11px;font-family:var(--font-mono,monospace);text-align:right;flex-shrink:0;width:52px}.scan-change.pos{color:var(--success)}.scan-change.neg{color:var(--danger)}.scan-time{color:var(--text-tertiary);flex-shrink:0;font-size:10px}.strategy-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.strategy-chip{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md,8px);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;transition:border-color .15s ease-out,background .15s ease-out;display:flex}.strategy-chip:hover{border-color:var(--accent-primary);background:var(--accent-muted)}.strategy-chip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.strategy-chip-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.strategy-chip-count{font-size:11px;font-family:var(--font-mono,monospace);color:var(--text-tertiary);flex-shrink:0}.strategy-add-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-md,8px);cursor:pointer;color:var(--text-tertiary);background:0 0;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-family:inherit;font-size:12px;transition:border-color .15s ease-out,color .15s ease-out;display:flex}.strategy-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.dashboard-summary{flex-direction:column;gap:8px;display:flex}.dash-row{background:var(--bg-elevated);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle);align-items:center;gap:10px;padding:8px 10px;display:flex}.dash-date{font-size:11px;font-family:var(--font-mono,monospace);color:var(--text-tertiary);flex-shrink:0;width:68px}.dash-note{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.dash-tag{border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px}.dash-tag.buy{background:var(--success-muted);color:var(--success)}.dash-tag.sell{background:var(--danger-muted);color:var(--danger)}.dash-tag.watch{background:var(--accent-muted);color:var(--accent-primary)}.dash-pnl{font-size:12px;font-family:var(--font-mono,monospace);text-align:right;width:62px;color:var(--text-tertiary);flex-shrink:0;font-weight:600}.dash-pnl.pos{color:var(--success)}.dash-pnl.neg{color:var(--danger)}.dash-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dash-stat-item{text-align:center;background:var(--bg-elevated);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle);padding:8px}.dash-stat-val{font-size:16px;font-weight:700;font-family:var(--font-mono,monospace);color:var(--text-primary)}.dash-stat-label{color:var(--text-tertiary);margin-top:2px;font-size:10px}.skeleton{background:var(--bg-elevated);border-radius:3px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-label{width:48px;height:10px}.skeleton-value{width:72px;height:24px;margin-top:4px}.skeleton-delta{width:56px;height:12px;margin-top:3px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.home-empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px 16px 16px;display:flex}.home-empty-icon{border-radius:var(--radius-md,8px);background:var(--bg-elevated);border:1px solid var(--border-strong);width:40px;height:40px;color:var(--text-tertiary);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.home-empty-title{color:var(--text-primary);font-size:13px;font-weight:600}.home-empty-body{color:var(--text-tertiary);max-width:280px;font-size:12px;line-height:1.5}.home-empty-cta{background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm,4px);cursor:pointer;border:none;margin-top:8px;padding:6px 16px;font-family:inherit;font-size:12px;font-weight:500;transition:background .15s ease-out}.home-empty-cta:hover{background:var(--accent-hover)}.home-error-banner{background:var(--danger-muted);border:1px solid var(--danger);border-radius:var(--radius-md,8px);color:var(--danger);align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:12px;display:flex}@media (width<=767px){.home-content{padding:12px 12px 72px}.home-grid{grid-template-columns:1fr;gap:12px}.home-block.span-2{grid-column:1}.market-summary-row{grid-template-columns:1fr 1fr;gap:8px}.mkt-divider{display:none}.strategy-grid{grid-template-columns:1fr 1fr}}.rtt-wrap,.rtt-group,.rtt-btn{--rtt-card:#18181b;--rtt-card-elevated:#1f1f23;--rtt-border:#27272a;--rtt-border-focus:#3f3f46;--rtt-text-primary:#fafafa;--rtt-text-secondary:#a1a1aa;--rtt-text-muted:#71717a;--rtt-risk-conservative:#22c55e;--rtt-risk-neutral:#3b82f6;--rtt-risk-aggressive:#f59e0b;--rtt-radius:8px;--rtt-radius-sm:6px;box-sizing:border-box}.rtt-wrap{background:var(--rtt-card);border:1px solid var(--rtt-border);border-radius:var(--rtt-radius);color:var(--rtt-text-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:14px 16px;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.rtt-label{color:var(--rtt-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.rtt-label-main{color:var(--rtt-text-primary);font-size:13px;font-weight:600}.rtt-hint{color:var(--rtt-text-muted);font-size:11px}.rtt-code{background:var(--rtt-card-elevated);border-radius:3px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.rtt-group{border:1px solid var(--rtt-border);border-radius:var(--rtt-radius);background:var(--rtt-card);height:36px;display:inline-flex;overflow:hidden}.rtt-btn{border:none;border-right:1px solid var(--rtt-border);color:var(--rtt-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:96px;height:100%;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background .18s ease-out,color .18s ease-out;display:inline-flex;position:relative}.rtt-btn:last-child{border-right:none}.rtt-sub{color:var(--rtt-text-muted);font-size:11px;font-weight:400}.rtt-btn:hover:not([aria-checked=true]):not(:disabled){color:var(--rtt-text-primary);background:#1f1f2380}.rtt-btn:focus-visible{outline:2px solid var(--rtt-border-focus);outline-offset:-2px;z-index:1}.rtt-btn[aria-checked=true]{background:var(--rtt-card-elevated);color:var(--rtt-text-primary);font-weight:600}.rtt-btn[aria-checked=true]:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.rtt-tier-conservative[aria-checked=true]:before{background:var(--rtt-risk-conservative)}.rtt-tier-neutral[aria-checked=true]:before{background:var(--rtt-risk-neutral)}.rtt-tier-aggressive[aria-checked=true]:before{background:var(--rtt-risk-aggressive)}.rtt-btn[aria-checked=true] .rtt-sub{color:var(--rtt-text-secondary)}.rtt-btn:disabled{opacity:.4;cursor:not-allowed;color:var(--rtt-text-muted)}@media (width<=767px){.rtt-wrap{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.rtt-group{width:100%}.rtt-btn{flex:1;min-width:64px;padding:0 12px}.rtt-sub{display:none}}.scp{--scp-bg:#09090b;--scp-card:#18181b;--scp-card-elevated:#1f1f23;--scp-border:#27272a;--scp-border-focus:#3f3f46;--scp-text-primary:#fafafa;--scp-text-secondary:#a1a1aa;--scp-text-muted:#71717a;--scp-primary:#3b82f6;--scp-primary-hover:#2563eb;--scp-primary-fg:#fff;--scp-up:#ef4444;--scp-down:#22c55e;--scp-error:#ef4444;--scp-warning:#f59e0b;--scp-success:#22c55e;--scp-radius:8px;--scp-radius-sm:6px;background:var(--scp-bg);color:var(--scp-text-primary);-webkit-font-smoothing:antialiased;box-sizing:border-box;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.scp *,.scp :before,.scp :after{box-sizing:border-box}.scp-page{max-width:1440px;margin:0 auto;padding:32px 24px 120px}.scp-header{margin-bottom:24px}.scp-title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.scp-subtitle{color:var(--scp-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.scp-and-hint{color:var(--scp-text-muted);border:1px dashed var(--scp-border);background:#a1a1aa14;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.scp-meta-bar{background:var(--scp-card);border:1px solid var(--scp-border);border-radius:var(--scp-radius);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;padding:16px;display:grid}.scp-meta-field label{color:var(--scp-text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.scp-meta-field .scp-hint{color:var(--scp-text-muted);margin-top:4px;font-size:11px}.scp-cond-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.scp-cond-card{background:var(--scp-card);border:1px solid var(--scp-border);border-radius:var(--scp-radius);padding:18px 20px 20px;transition:border-color .15s ease-out}.scp-cond-card:hover{border-color:var(--scp-border-focus)}.scp-cond-card.scp-span-2{grid-column:span 2}.scp-cond-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.scp-cond-card-title{color:var(--scp-text-primary);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.scp-cond-card-title .scp-dot{background:var(--scp-primary);border-radius:2px;width:8px;height:8px}.scp-cond-card-desc{color:var(--scp-text-muted);margin-bottom:14px;font-size:12px}.scp-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.scp-field:last-child{margin-bottom:0}.scp-field-label{color:var(--scp-text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.scp-field-label .scp-unit{color:var(--scp-text-muted);font-weight:400}.scp-field-hint{color:var(--scp-text-muted);font-size:11px}.scp-field-error{color:var(--scp-error);align-items:center;gap:4px;font-size:11px;display:flex}.scp-input,.scp-select{background:var(--scp-bg);border:1px solid var(--scp-border);color:var(--scp-text-primary);border-radius:var(--scp-radius-sm);outline:none;width:100%;height:36px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.scp-input::placeholder{color:var(--scp-text-muted)}.scp-input:hover,.scp-select:hover{border-color:var(--scp-border-focus)}.scp-input:focus,.scp-select:focus{border-color:var(--scp-primary);box-shadow:0 0 0 3px #3b82f626}.scp-input.scp-filled,.scp-select.scp-filled{border-color:var(--scp-border-focus)}.scp-input.scp-error{border-color:var(--scp-error);animation:.3s cubic-bezier(.36,.07,.19,.97) scp-shake}.scp-select.scp-error{border-color:var(--scp-error)}.scp-input.scp-validating{border-color:var(--scp-warning)}.scp-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A1A1AA' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.scp-tristate{border:1px solid var(--scp-border);border-radius:var(--scp-radius-sm);gap:0;height:36px;display:flex;overflow:hidden}.scp-tristate label{color:var(--scp-text-secondary);cursor:pointer;border-right:1px solid var(--scp-border);-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;font-size:12px;transition:background .15s ease-out,color .15s ease-out;display:flex}.scp-tristate label:last-child{border-right:none}.scp-tristate input{display:none}.scp-tristate label:hover{background:var(--scp-card-elevated);color:var(--scp-text-primary)}.scp-tristate label.scp-active{background:var(--scp-primary);color:var(--scp-primary-fg);font-weight:500}.scp-badge{color:var(--scp-primary);background:#3b82f61a;border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.scp-badge.scp-badge-warning{color:var(--scp-warning);background:#f59e0b1a;border-color:#f59e0b4d}.scp-badge.scp-badge-muted{color:var(--scp-text-secondary);border-color:var(--scp-border);background:#a1a1aa1a}.scp-badge.scp-badge-danger{color:var(--scp-error);background:#ef44441a;border-color:#ef44444d}.scp-net-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.scp-net-field{flex-direction:column;gap:4px;display:flex}.scp-net-field label{color:var(--scp-text-secondary);justify-content:space-between;font-size:11px;font-weight:500;display:flex}.scp-net-field label .scp-unit{color:var(--scp-text-muted);font-weight:400}.scp-tip{background:var(--scp-card-elevated);width:14px;height:14px;color:var(--scp-text-muted);cursor:help;border:1px solid var(--scp-border);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.scp-error-banner{border-radius:var(--scp-radius-sm);background:#ef444414;border:1px solid #ef44444d;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.scp-error-banner .scp-icon{width:18px;height:18px;color:var(--scp-error);flex-shrink:0}.scp-error-banner .scp-eb-content{flex:1}.scp-error-banner .scp-eb-title{color:var(--scp-text-primary);font-size:13px;font-weight:500}.scp-error-banner .scp-eb-desc{color:var(--scp-text-secondary);margin-top:2px;font-size:12px}.scp-overlay-card{position:relative;overflow:hidden}.scp-submit-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2;background:#09090b99;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.scp-submit-overlay-text{color:var(--scp-text-secondary);font-size:13px}.scp-submit-overlay-text strong{color:var(--scp-text-primary)}.scp-action-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--scp-border);z-index:50;background:#09090beb;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px 24px;display:flex;position:sticky;bottom:0;left:0;right:0}.scp-action-summary{color:var(--scp-text-secondary);font-size:13px}.scp-action-summary strong{color:var(--scp-text-primary);font-weight:600}.scp-action-buttons{gap:12px;display:flex}.scp-btn{border-radius:var(--scp-radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s ease-out,border-color .15s ease-out,transform .1s ease-out;display:inline-flex}.scp-btn:active{transform:translateY(1px)}.scp-btn-primary{background:var(--scp-primary);color:var(--scp-primary-fg)}.scp-btn-primary:hover{background:var(--scp-primary-hover)}.scp-btn-primary:disabled{color:#fff9;cursor:not-allowed;background:#1e3a8a}.scp-btn-ghost{color:var(--scp-text-secondary);border-color:var(--scp-border);background:0 0}.scp-btn-ghost:hover{color:var(--scp-text-primary);border-color:var(--scp-border-focus)}.scp-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.scp-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite scp-spin}.scp-results-placeholder{border:1px dashed var(--scp-border);border-radius:var(--scp-radius);background:var(--scp-card);color:var(--scp-text-secondary);text-align:center;margin-top:32px;padding:32px 24px;font-size:13px}.scp-results-placeholder .scp-rp-title{color:var(--scp-text-primary);margin-bottom:6px;font-size:15px;font-weight:600}.scp-results-summary{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;font-size:12px;display:flex}.scp-results-summary-item{background:var(--scp-card-elevated);border:1px solid var(--scp-border);border-radius:var(--scp-radius-sm);padding:6px 12px}.scp-results-summary-item strong{color:var(--scp-text-primary)}@keyframes scp-spin{to{transform:rotate(360deg)}}@keyframes scp-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}@media (width<=767px){.scp-page{padding:20px 16px 140px}.scp-title{font-size:18px}.scp-meta-bar{grid-template-columns:1fr;gap:10px;padding:14px}.scp-cond-grid{grid-template-columns:1fr;gap:12px}.scp-cond-card{padding:16px}.scp-cond-card.scp-span-2{grid-column:auto}.scp-net-grid{grid-template-columns:1fr}.scp-action-bar{flex-direction:column;align-items:stretch;gap:10px;margin-top:0;padding:12px 16px 14px;position:fixed}.scp-action-buttons{width:100%}.scp-action-buttons .scp-btn{flex:1}}.scp-timeframe{background:var(--scp-card);border:1px solid var(--scp-border);border-radius:var(--scp-radius-sm);gap:0;margin-bottom:20px;display:inline-flex;overflow:hidden}.scp-timeframe-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border-right:1px solid var(--scp-border);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:72px;padding:8px 20px;transition:background .15s ease-out,color .15s ease-out;display:flex}.scp-timeframe-btn:last-child{border-right:none}.scp-timeframe-btn--active{background:var(--scp-primary);color:#fff}.scp-timeframe-btn:not(.scp-timeframe-btn--active):hover{background:#3b82f614}.scp-timeframe-btn--disabled{opacity:.5;cursor:not-allowed}.scp-timeframe-label{font-size:13px;font-weight:600;line-height:1}.scp-timeframe-sub{opacity:.65;font-size:10px;line-height:1;font-family:var(--font-shell-mono,monospace)}.scp-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sd-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:flex-start;padding:32px 16px;animation:.18s ease-out sd-fade-in;display:flex;position:fixed;inset:0}@keyframes sd-fade-in{0%{opacity:0}to{opacity:1}}.sd-dialog{background:#18181b;border:1px solid #27272a;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 80px);animation:.2s ease-out sd-slide-in;display:flex;overflow:hidden}@keyframes sd-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.sd-header{border-bottom:1px solid #27272a;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px 16px;display:flex}.sd-title{color:#fafafa;font-size:16px;font-weight:600}.sd-subtitle{color:#71717a;margin-top:2px;font-size:12px}.sd-close-btn{color:#71717a;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .15s ease-out,color .15s ease-out;display:flex}.sd-close-btn:hover{color:#fafafa;background:#1f1f23}.sd-close-btn:focus-visible{outline-offset:1px;outline:2px solid #3b82f6}.sd-body{flex:1;padding:0;overflow-y:auto}.sd-section-label{color:#71717a;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;padding:12px 20px 8px;font-size:11px;font-weight:600;display:flex}.sd-section-count{color:#71717a;background:#1f1f23;border:1px solid #27272a;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:500}.sd-list{flex-direction:column;gap:0;display:flex}.sd-card{cursor:default;border-bottom:1px solid #27272a;align-items:center;gap:12px;padding:12px 20px;transition:background .15s ease-out;display:flex;position:relative}.sd-card:hover{background:#1f1f23}.sd-card:last-child{border-bottom:none}.sd-card-body{flex:1;min-width:0}.sd-name-row{align-items:center;gap:6px;margin-bottom:2px;display:flex}.sd-name{color:#fafafa;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.sd-preset-badge{color:#71717a;white-space:nowrap;background:#71717a26;border:1px solid #27272a;border-radius:6px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.sd-summary{color:#a1a1aa;white-space:nowrap;text-overflow:ellipsis;max-width:360px;font-size:12px;overflow:hidden}.sd-meta{color:#71717a;margin-top:2px;font-size:11px}.sd-card.sd-is-preset .sd-summary{color:#71717a}.sd-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.sd-btn-load{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:6px;height:32px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s ease-out,transform .1s ease-out}.sd-btn-load:hover{background:#2563eb}.sd-btn-load:active{transform:scale(.97)}.sd-btn-load:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.sd-btn-delete{color:#71717a;cursor:pointer;background:0 0;border:1px solid #27272a;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,border-color .15s,color .15s;display:flex}.sd-btn-delete:hover{color:#ef4444;background:#ef444414;border-color:#ef44444d}.sd-btn-delete.sd-is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.sd-btn-delete:focus-visible{outline-offset:1px;outline:2px solid #3b82f6}.sd-tooltip-wrap{display:inline-flex;position:relative}.sd-tooltip-tip{color:#a1a1aa;white-space:nowrap;z-index:10;pointer-events:none;opacity:0;background:#2d2d30;border:1px solid #3f3f46;border-radius:6px;padding:6px 10px;font-size:11px;transition:opacity .15s;position:absolute;top:38px;right:0}.sd-tooltip-wrap:hover .sd-tooltip-tip,.sd-tooltip-wrap:focus-within .sd-tooltip-tip{opacity:1}.sd-tooltip-tip:before{content:"";border-bottom:5px solid #3f3f46;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;top:-5px;right:8px}.sd-divider{background:#27272a;height:1px;margin:0}.sd-empty-state{text-align:center;color:#71717a;padding:24px 20px;font-size:13px}.sd-empty-title{color:#71717a;font-size:13px}.sd-empty-hint{color:#71717a;opacity:.7;margin-top:4px;font-size:12px}.sd-footer{border-top:1px solid #27272a;flex-shrink:0;padding:16px 20px}.sd-save-label{color:#a1a1aa;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.sd-save-row{align-items:center;gap:8px;display:flex}.sd-save-input{color:#fafafa;background:#09090b;border:1px solid #27272a;border-radius:6px;outline:none;flex:1;height:36px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.sd-save-input:focus{border-color:#3b82f6}.sd-save-input::placeholder{color:#71717a}.sd-save-input.sd-has-error{border-color:#ef4444}.sd-btn-save{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:6px;height:36px;padding:0 16px;font-size:13px;font-weight:500;transition:background .15s,transform .1s}.sd-btn-save:hover{background:#2563eb}.sd-btn-save:disabled{opacity:.4;cursor:not-allowed}.sd-btn-save:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.sd-input-error-msg{color:#ef4444;align-items:center;gap:4px;margin-top:6px;font-size:11px;display:flex}.sd-loading,.sd-error{text-align:center;color:#71717a;padding:32px 20px;font-size:13px}.sd-error{color:#ef4444}@media (width<=767px){.sd-overlay{align-items:flex-end;padding:0}.sd-dialog{border-bottom:none;border-radius:12px 12px 0 0;max-width:100%;max-height:90vh}.sd-summary{max-width:200px}.sd-card{padding:10px 14px}.sd-save-row{flex-wrap:wrap}.sd-save-input{min-width:100%}}.sb-root{--sb-score-plus-7:#b91c1c;--sb-score-plus-5:#dc2626;--sb-score-plus-3:#ef4444;--sb-score-plus-1:#f87171;--sb-score-zero:#71717a;--sb-score-minus-1:#86efac;--sb-score-minus-3:#22c55e;--sb-score-minus-5:#16a34a;--sb-score-minus-7:#15803d;--sb-border-focus:#3f3f46;--sb-text-muted:#71717a;--sb-card:#18181b;font-variant-numeric:tabular-nums;color:#fff;cursor:help;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:500;transition:transform .15s ease-out;display:inline-flex;position:relative}.sb-root:focus-visible{outline:2px solid var(--sb-border-focus);outline-offset:2px}.sb-sz-s{height:20px;padding:0 6px;font-size:11px;font-weight:500}.sb-sz-m{height:24px;padding:0 8px;font-size:12px;font-weight:500}.sb-sz-l{height:32px;padding:0 12px;font-size:14px;font-weight:600}.sb-p7{background:var(--sb-score-plus-7)}.sb-p5{background:var(--sb-score-plus-5)}.sb-p3{background:var(--sb-score-plus-3)}.sb-p1{background:var(--sb-score-plus-1);color:#09090b}.sb-z0{background:var(--sb-score-zero)}.sb-m1{background:var(--sb-score-minus-1);color:#09090b}.sb-m3{background:var(--sb-score-minus-3)}.sb-m5{background:var(--sb-score-minus-5)}.sb-m7{background:var(--sb-score-minus-7)}.sb-loading{background:var(--sb-card);color:var(--sb-text-muted);cursor:progress;animation:1.5s ease-in-out infinite sb-pulse}@keyframes sb-pulse{0%,to{opacity:.6}50%{opacity:1}}.sbt-wrap{display:inline-block;position:relative}.sbt-wrap .sbt-panel{display:none}.sbt-wrap:hover .sbt-panel,.sbt-wrap.is-open .sbt-panel,.sbt-wrap:focus-within .sbt-panel{display:block}.sbt-panel{color:#a1a1aa;z-index:50;cursor:default;text-align:left;white-space:normal;background:#18181bfa;border:1px solid #3b82f6;border-radius:6px;min-width:320px;padding:10px 12px;font-family:Inter,Noto Sans TC,sans-serif;font-size:11px;font-weight:400;animation:.12s ease-out sbt-tip-in;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 10px 24px #00000073}@keyframes sbt-tip-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.sbt-title{color:#fafafa;border-bottom:1px solid #27272a;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;padding-bottom:6px;font-size:12px;font-weight:600;display:flex}.sbt-title .sbt-date{color:#71717a;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:400}.sbt-hdr{color:#71717a;border-bottom:1px solid #27272a;grid-template-columns:80px 40px 36px 8px 52px;gap:4px;margin-bottom:4px;padding:0 0 4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;display:grid}.sbt-hdr .c{text-align:right}.sbt-hdr .c:first-child{text-align:left}.sbt-row{font-variant-numeric:tabular-nums;grid-template-columns:80px 40px 36px 8px 52px;align-items:center;gap:4px;padding:2px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.sbt-row .sbt-k{color:#71717a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sbt-row .sbt-raw{text-align:right;color:#a1a1aa}.sbt-row .sbt-wt{text-align:right;color:#71717a;font-size:10px}.sbt-row .sbt-sep{text-align:center;color:#3b82f6;font-size:10px}.sbt-row .sbt-weighted{text-align:right;font-weight:600}.sbt-v-plus{color:#ef4444}.sbt-v-minus{color:#22c55e}.sbt-v-zero{color:#a1a1aa}.sbt-total{font-variant-numeric:tabular-nums;border-top:1px solid #27272a;grid-template-columns:80px 40px 36px 8px 52px;gap:4px;margin-top:4px;padding:5px 0 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600;display:grid}.sbt-total .sbt-tot-label{color:#a1a1aa;grid-column:1/4;font-size:11px}.sbt-total .sbt-tot-val{text-align:right;grid-column:5}.sbt-loading{color:#71717a;align-items:center;gap:6px;padding:4px 0;font-size:11px;display:flex}.sbt-spinner{border:2px solid #27272a;border-top-color:#3b82f6;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite sbt-spin}@keyframes sbt-spin{to{transform:rotate(360deg)}}.sbt-error{color:#f87171;padding:4px 0;font-size:11px}.sbt-empty{color:#71717a;padding:4px 0;font-size:11px}@media (width<=767px){.sbt-panel{min-width:280px;left:0;transform:none}@keyframes sbt-tip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}.srt{--srt-bg:#09090b;--srt-card:#18181b;--srt-card-elevated:#1f1f23;--srt-border:#27272a;--srt-border-focus:#3f3f46;--srt-text-primary:#fafafa;--srt-text-secondary:#a1a1aa;--srt-text-muted:#71717a;--srt-primary:#3b82f6;--srt-primary-hover:#2563eb;--srt-up:#ef4444;--srt-down:#22c55e;--srt-error:#ef4444;--srt-warning:#f59e0b;--srt-radius:8px;--srt-radius-sm:6px;background:var(--srt-bg);color:var(--srt-text-primary);-webkit-font-smoothing:antialiased;box-sizing:border-box;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.srt *,.srt :before,.srt :after{box-sizing:border-box}.srt-page{max-width:1440px;margin:0 auto;padding:0 24px 48px}.srt-summary-bar{background:var(--srt-card);border:1px solid var(--srt-border);border-radius:var(--srt-radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.srt-summary-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.srt-summary-title{font-size:16px;font-weight:600}.srt-summary-meta{color:var(--srt-text-secondary);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.srt-summary-meta strong{color:var(--srt-text-primary);margin-left:4px;font-weight:600}.srt-toolbar{background:var(--srt-card-elevated);border:1px solid var(--srt-border);border-radius:var(--srt-radius-sm);color:var(--srt-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:12px;display:flex}.srt-toolbar strong{color:var(--srt-text-primary)}.srt-table-wrap{background:var(--srt-card);border:1px solid var(--srt-border);border-radius:var(--srt-radius);overflow:hidden}table.srt-results{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}table.srt-results thead th{background:var(--srt-card-elevated);color:var(--srt-text-secondary);letter-spacing:.04em;text-transform:uppercase;text-align:left;white-space:nowrap;border-bottom:1px solid var(--srt-border);-webkit-user-select:none;user-select:none;padding:12px 14px;font-size:11px;font-weight:600}table.srt-results thead th.srt-sortable{cursor:pointer;transition:color .12s ease-out,background .12s ease-out}table.srt-results thead th.srt-sortable:hover{color:var(--srt-text-primary);background:#232328}table.srt-results thead th.srt-sorted{color:var(--srt-primary)}table.srt-results thead th .srt-sort-icon{vertical-align:middle;margin-left:4px;transition:transform .2s ease-out;display:inline-flex}table.srt-results thead th .srt-sort-icon.srt-desc{transform:rotate(180deg)}table.srt-results th.srt-num,table.srt-results td.srt-num{text-align:right}table.srt-results tbody td{border-bottom:1px solid var(--srt-border);vertical-align:middle;padding:14px;font-size:13px}table.srt-results tbody tr{transition:background .15s ease-out}table.srt-results tbody tr:hover{background:#1c1c20}table.srt-results tbody tr:last-child td{border-bottom:none}.srt-stock-cell{flex-direction:column;gap:2px;min-width:120px;display:flex}.srt-stock-id{color:var(--srt-text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:600}.srt-stock-name{color:var(--srt-text-secondary);font-size:12px}.srt-stock-market{color:var(--srt-text-muted);margin-left:4px;font-size:10px}.srt-up{color:var(--srt-up)}.srt-down{color:var(--srt-down)}.srt-neutral{color:var(--srt-text-secondary)}.srt-matched-badge{color:var(--srt-primary);font-variant-numeric:tabular-nums;background:#3b82f61f;border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.srt-matched-badge.srt-hot{color:var(--srt-up);background:#ef44441f;border-color:#ef44444d}.srt-signals{flex-wrap:wrap;gap:4px;max-width:360px;display:flex}.srt-tag{background:var(--srt-card-elevated);color:var(--srt-text-secondary);border:1px solid var(--srt-border);white-space:nowrap;border-radius:4px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10.5px}.srt-tag.srt-pri{color:var(--srt-primary);background:#3b82f614;border-color:#3b82f640}.srt-tag.srt-up{color:var(--srt-up);background:#ef444414;border-color:#ef444440}.srt-tag.srt-down{color:var(--srt-down);background:#22c55e14;border-color:#22c55e40}.srt-tag.srt-vol{color:var(--srt-warning);background:#f59e0b14;border-color:#f59e0b40}.srt-link-btn{color:var(--srt-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-family:inherit;font-size:12px;text-decoration:none;transition:background .15s ease-out;display:inline-flex}.srt-link-btn:hover{background:#3b82f61a}.srt-loading-progress{background:var(--srt-card);border:1px solid var(--srt-border);border-radius:var(--srt-radius);align-items:center;gap:12px;margin-bottom:12px;padding:14px 18px;display:flex}.srt-spinner{border:2px solid #3b82f640;border-top-color:var(--srt-primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite srt-spin}.srt-loading-msg{flex:1}.srt-loading-msg-title{color:var(--srt-text-primary);font-size:13px;font-weight:500}.srt-loading-msg-desc{color:var(--srt-text-muted);margin-top:2px;font-size:11px}.srt-skeleton{background:linear-gradient(90deg, var(--srt-card-elevated) 0%, #2a2a2f 50%, var(--srt-card-elevated) 100%);background-size:200% 100%;border-radius:4px;height:14px;animation:1.5s ease-in-out infinite srt-pulse}.srt-sk-line.srt-w-60{width:60%}.srt-sk-line.srt-w-40{width:40%}.srt-sk-line.srt-w-80{width:80%}.srt-sk-line.srt-w-30{width:30%}.srt-empty-state{text-align:center;background:var(--srt-card);border:1px solid var(--srt-border);border-radius:var(--srt-radius);padding:56px 24px}.srt-empty-illust{background:var(--srt-card-elevated);border:1px solid var(--srt-border);width:72px;height:72px;color:var(--srt-text-muted);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.srt-empty-title{color:var(--srt-text-primary);margin-bottom:6px;font-size:15px;font-weight:600}.srt-empty-desc{color:var(--srt-text-secondary);max-width:420px;margin:0 auto 18px;font-size:13px}.srt-error-state{border-radius:var(--srt-radius);background:#ef44440d;border:1px solid #ef444459;align-items:flex-start;gap:14px;padding:24px;display:flex}.srt-error-icon{width:40px;height:40px;color:var(--srt-error);background:#ef44441f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.srt-error-content{flex:1}.srt-error-title{color:var(--srt-text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.srt-error-desc{color:var(--srt-text-secondary);margin-bottom:12px;font-size:13px}.srt-error-actions{gap:8px;display:flex}.srt-btn{border-radius:var(--srt-radius-sm);cursor:pointer;height:34px;color:var(--srt-text-secondary);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.srt-btn:hover{color:var(--srt-text-primary)}.srt-btn-primary{background:var(--srt-primary);color:#fff;border-color:var(--srt-primary)}.srt-btn-primary:hover{background:var(--srt-primary-hover);color:#fff}.srt-btn-ghost{border-color:var(--srt-border)}.srt-btn-ghost:hover{border-color:var(--srt-border-focus);background:var(--srt-card-elevated)}.srt-mobile-list{display:none}.srt-mobile-card{background:var(--srt-card);border:1px solid var(--srt-border);border-radius:var(--srt-radius);margin-bottom:10px;padding:14px;transition:border-color .15s ease-out}.srt-mobile-card:active{border-color:var(--srt-border-focus)}.srt-mc-top{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.srt-mc-stock-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:700}.srt-mc-stock-name{color:var(--srt-text-secondary);margin-top:2px;font-size:13px}.srt-mc-price{text-align:right}.srt-mc-close{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.srt-mc-change{font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.srt-mc-stats{border-top:1px solid var(--srt-border);border-bottom:1px solid var(--srt-border);grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;padding:10px 0;display:grid}.srt-mc-stat-label{color:var(--srt-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10px}.srt-mc-stat-value{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.srt-mc-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.srt-mc-signals{flex-wrap:wrap;flex:1;gap:4px;display:flex}@keyframes srt-spin{to{transform:rotate(360deg)}}@keyframes srt-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1023px){.srt-col-hide-md{display:none}.srt-signals{max-width:200px}}@media (width<=767px){.srt-page{padding:0 16px 32px}.srt-summary-bar{padding:12px 14px}.srt-summary-title{font-size:15px}.srt-toolbar{padding:8px 10px;font-size:11px}.srt-desktop-table{display:none}.srt-mobile-list{display:block}}.srt-col-score{min-width:72px;padding-left:14px;padding-right:14px;text-align:center!important}.srt-mc-top{position:relative}.srt-mc-score{align-items:center;display:flex;position:absolute;top:-2px;right:0}.srt-action-cell{justify-content:flex-end;align-items:center;gap:6px;display:flex}.srt-mc-actions{align-items:center;gap:6px;display:flex}.srt-icon-btn{border-radius:var(--srt-radius-sm);border:1px solid var(--srt-border);width:28px;height:28px;color:var(--srt-text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.srt-icon-btn:hover:not(:disabled){background:var(--srt-card-elevated);border-color:var(--srt-border-focus);color:var(--srt-primary)}.srt-icon-btn:focus-visible{outline:2px solid var(--srt-primary);outline-offset:2px}.srt-icon-btn--active,.srt-icon-btn:disabled{color:var(--srt-primary);cursor:default;background:#3b82f614;border-color:#3b82f64d}.bsb-root{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.bsb-tag{white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;border-radius:4px;align-items:center;padding:2px 7px;font-family:Inter,Noto Sans TC,-apple-system,sans-serif;font-size:10.5px;font-weight:500;line-height:1.4;display:inline-flex}.bsb-tag.bsb-upper{color:#93c5fd;background:#93c5fd1f;border-color:#93c5fd4d}.bsb-tag.bsb-lower{color:var(--tw-warning,#f59e0b);background:#f59e0b1a;border-color:#f59e0b4d}.bsb-tag.bsb-squeeze{color:#9ca3af;background:#6b72801a;border-color:#6b728040}.es-hero{text-align:center;background:#18181b;border:1px solid #27272a;border-radius:12px;flex-direction:column;align-items:center;margin-bottom:20px;padding:32px 24px 24px;display:flex}.es-icon-wrap{color:#71717a;background:#1f1f23;border:1px solid #3f3f46;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:14px;display:flex}.es-icon-wrap svg{width:26px;height:26px}.es-title{color:#fafafa;margin-bottom:6px;font-size:15px;font-weight:600}.es-body{color:#71717a;max-width:320px;margin-bottom:18px;font-size:12px;line-height:1.6}.es-cta-group{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.es-btn-primary{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s ease-out;display:inline-flex}.es-btn-primary:hover{background:#2563eb}.es-btn-primary:focus-visible{outline-offset:2px;outline:2px solid #3f3f46}.es-btn-secondary{color:#a1a1aa;cursor:pointer;background:0 0;border:1px solid #27272a;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;text-decoration:none;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;display:inline-flex}.es-btn-secondary:hover{color:#fafafa;background:#1f1f23;border-color:#3f3f46}.es-btn-secondary:focus-visible{outline-offset:2px;outline:2px solid #3f3f46}.es-density-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.es-density-block{background:#18181b;border:1px solid #27272a;border-radius:8px;overflow:hidden}.es-density-block-header{border-bottom:1px solid #18181b;align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.es-density-block-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.es-density-block-icon svg{width:11px;height:11px}.es-density-block-title{color:#fafafa;font-size:12px;font-weight:600}.es-density-block-body{padding:12px 14px 14px}.es-suggest-list{flex-direction:column;gap:6px;display:flex}.es-suggest-item{cursor:pointer;background:#1f1f23;border:1px solid #18181b;border-radius:4px;align-items:center;gap:10px;padding:7px 10px;text-decoration:none;transition:border-color .15s ease-out;display:flex}.es-suggest-item:hover{border-color:#3b82f6}.es-suggest-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.es-suggest-name{color:#a1a1aa;flex:1;font-size:12px}.es-suggest-arrow{color:#71717a;font-size:11px}.es-block-hint{color:#71717a;margin-top:10px;font-size:11px}.es-activity-list{flex-direction:column;gap:4px;display:flex}.es-activity-item{border-bottom:1px solid #18181b;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.es-activity-item:last-child{border-bottom:none}.es-activity-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.es-activity-content{flex:1}.es-activity-text{color:#a1a1aa;font-size:12px;line-height:1.4}.es-activity-time{color:#71717a;margin-top:1px;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px}.es-dash-mini-stat{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.es-dash-mini-item{text-align:center;background:#1f1f23;border:1px solid #18181b;border-radius:4px;padding:8px}.es-dash-mini-val{color:#fafafa;font-family:JetBrains Mono,Fira Code,monospace;font-size:15px;font-weight:700}.es-dash-mini-val.success{color:#22c55e}.es-dash-mini-label{color:#71717a;margin-top:2px;font-size:10px}.es-dash-start-btn{color:#3b82f6;cursor:pointer;background:#3b82f61f;border:1px solid #3b82f6;border-radius:4px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-family:inherit;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s ease-out,color .15s ease-out;display:flex}.es-dash-start-btn:hover{color:#fff;background:#3b82f6}.es-dash-start-btn svg{flex-shrink:0;width:12px;height:12px}.es-dash-info-list{flex-direction:column;gap:5px;display:flex}.es-dash-info-item{color:#71717a;align-items:center;gap:8px;font-size:12px;display:flex}.es-dash-info-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.es-wide-btn{justify-content:center;align-items:center;width:100%;margin-top:10px;padding:6px 10px;font-size:11px;display:flex}@media (width<=767px){.es-density-grid{grid-template-columns:1fr;gap:10px}}.sc-tooltip{opacity:0;visibility:hidden;transition:opacity .12s ease-out,visibility .12s ease-out}.sc-tooltip.sc-tooltip-visible{opacity:1;visibility:visible}.sh-panel-bottom-content{padding-bottom:max(16px, env(safe-area-inset-bottom))}@media (width>=768px){.sh-panel-bottom-content{padding-bottom:14px}}.panel-tabs{background-color:#1f1f23;border:1px solid #27272a;border-top-left-radius:8px;border-top-right-radius:8px;display:flex}.panel-tabs button{color:#a1a1aa;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:12px;font-weight:500;transition:color .2s ease-out,border-color .2s ease-out;display:inline-flex}.panel-tabs button:hover{color:#fafafa}.panel-tabs button:focus-visible{outline-offset:-2px;outline:2px solid #3f3f46}.panel-tabs button[aria-selected=true]{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.panel-tabs button[disabled]{opacity:.5;cursor:not-allowed}.panel-pane{animation:.2s ease-out panel-pane-in}@keyframes panel-pane-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}:root{--sh-small:#94a3b8;--sh-medium:#3b82f6;--sh-large:#8b5cf6;--sh-super:#ec4899;--sh-elite:#f59e0b;--sh-up:#ef4444;--sh-down:#22c55e}.sh15-panel{background:var(--bg-surface,#18181b);border:1px solid var(--border-default,#27272a);border-radius:var(--radius-md,8px);overflow:hidden}.sh15-panel-header{border-bottom:1px solid var(--border-default,#27272a);background:var(--card-elevated,#1f1f23);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:12px 16px;display:flex}.sh15-header-left{align-items:center;gap:8px;display:flex}.sh15-header-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.sh15-panel-title{color:var(--text-primary,#fafafa);font-size:14px;font-weight:600}.sh15-panel-meta{color:var(--text-muted,#71717a);margin-top:1px;font-size:11px}.sh15-panel-date{color:var(--text-muted,#71717a);flex-shrink:0;font-size:11px}.sh15-legend{border-bottom:1px solid var(--border-default,#27272a);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;display:flex}.sh15-legend-item{color:var(--text-secondary,#a1a1aa);cursor:pointer;background:var(--card-elevated,#1f1f23);border:1px solid var(--border-default,#27272a);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;transition:opacity .15s,border-color .15s;display:inline-flex}.sh15-legend-item:hover{color:var(--text-primary,#fafafa);border-color:var(--border-strong,#3f3f46)}.sh15-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.sh15-chart-outer{border-bottom:1px solid var(--border-default,#27272a);position:relative;overflow:hidden}.sh15-chart-wrap{background:var(--bg-surface,#18181b);border-radius:var(--radius-md,8px);width:100%;padding:8px 12px 4px;position:relative}.sh15-chart-wrap svg{display:block}@media (width<=767px){.sh15-chart-wrap{height:220px!important}}.sh15-trend-row{border-bottom:1px solid var(--border-default,#27272a);grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 14px;display:grid}@media (width<=767px){.sh15-trend-row{grid-template-columns:repeat(3,1fr)}}.sh15-trend-row-skeleton{padding:10px 14px}.sh15-trend-card{background:var(--card-elevated,#1f1f23);border:1px solid var(--border-default,#27272a);border-radius:6px;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;transition:background .15s;display:flex}.sh15-trend-card:hover{background:var(--border-default,#27272a)}.sh15-trend-card-header{align-items:center;gap:5px;display:flex}.sh15-trend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.sh15-trend-label{color:var(--text-secondary,#a1a1aa);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sh15-trend-value{color:var(--text-primary,#fafafa);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;line-height:1.2}.sh15-trend-badge{font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.sh15-panel-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 16px;display:flex}.sh15-footer-meta{color:var(--text-muted,#71717a);font-size:11px}.sh15-fallback-body{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:28px 24px;display:flex}.sh15-fallback-icon-wrap{border:1px dashed var(--border-default,#27272a);background:#71717a14;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:14px;display:flex}.sh15-fallback-title{color:var(--text-primary,#fafafa);margin-bottom:8px;font-size:14px;font-weight:600}.sh15-fallback-desc{color:var(--text-secondary,#a1a1aa);max-width:340px;margin-bottom:14px;font-size:13px;line-height:1.6}.sh15-fallback-reason-badge{color:var(--warning,#f59e0b);background:#f59e0b14;border:1px solid #f59e0b40;border-radius:999px;align-items:center;gap:6px;margin-bottom:18px;padding:4px 12px;font-size:11px;display:inline-flex}.sh15-error-body{color:var(--destructive,#ef4444);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.sh15-btn-retry{background:var(--card-elevated,#1f1f23);border:1px solid var(--border-default,#27272a);height:36px;color:var(--text-primary,#fafafa);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 20px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.sh15-btn-retry:hover{background:var(--border-strong,#3f3f46);border-color:var(--accent-primary,#3b82f6)}.sh15-btn-retry-sm{height:28px;padding:0 12px;font-size:11px}.sh15-btn-refresh{color:var(--text-muted,#71717a);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px;transition:color .15s,background .15s}.sh15-btn-refresh:hover{color:var(--text-secondary,#a1a1aa);background:var(--border-default,#27272a)}.sh15-skeleton{background:var(--border-default,#27272a);border-radius:4px;animation:1.5s ease-in-out infinite sh15-pulse}@keyframes sh15-pulse{0%,to{opacity:1}50%{opacity:.45}}.sh15-skeleton-title{width:180px;height:16px}.sh15-skeleton-legend{border-bottom:1px solid var(--border-default,#27272a);gap:8px;padding:8px 16px;display:flex}.sh15-skeleton-legend-item{border-radius:999px;width:72px;height:22px}.sh15-skeleton-chart{border-bottom:1px solid var(--border-default,#27272a);border-radius:0;height:320px;margin:0}@media (width<=767px){.sh15-skeleton-chart{height:220px}}.sh15-skeleton-trend-card{height:72px}.sh15-panel-footer{padding-bottom:max(6px, env(safe-area-inset-bottom))}@media (width>=768px){.sh15-panel-footer{padding-bottom:6px}}.etv2-root{--event-dividend:#22c55e;--event-dividend-muted:#22c55e1f;--event-major-news:#f59e0b;--event-major-news-muted:#f59e0b1f;--event-legal:#8b5cf6;--event-legal-muted:#8b5cf61f;--event-vol:#06b6d4;--event-vol-muted:#06b6d41f;--event-limit:#ef4444;--event-limit-muted:#ef44441f}.etv2-panel{background:var(--bg-surface,#18181b);border:1px solid var(--border-default,#27272a);border-radius:var(--radius-lg,12px);overflow:hidden}.etv2-panel-header{border-bottom:1px solid var(--border-default,#27272a);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.etv2-panel-title{color:var(--text-primary,#fafafa);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.etv2-panel-title svg{width:15px;height:15px;color:var(--accent-primary,#3b82f6)}.etv2-panel-title-badge{background:var(--accent-muted,#3b82f61f);color:var(--accent-primary,#3b82f6);border-radius:var(--radius-sm,4px);padding:1px 6px;font-size:10px;font-weight:600}.etv2-panel-meta{color:var(--text-tertiary,#71717a);font-size:11px;font-family:var(--font-mono,monospace)}.etv2-filter-row{border-bottom:1px solid var(--border-default,#27272a);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;display:flex}.etv2-filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary,#71717a);flex-shrink:0;margin-right:2px;font-size:10px;font-weight:600}.etv2-chip{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast,.15s ease-out), border-color var(--transition-fast,.15s ease-out), color var(--transition-fast,.15s ease-out), opacity var(--transition-fast,.15s ease-out);font-size:11px;font-weight:500;font-family:var(--font-sans,sans-serif);background:0 0;border:1px solid #0000;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.etv2-chip[data-type=dividend].etv2-chip--active{background:var(--event-dividend-muted);border-color:var(--event-dividend);color:var(--event-dividend)}.etv2-chip[data-type=major_news].etv2-chip--active{background:var(--event-major-news-muted);border-color:var(--event-major-news);color:var(--event-major-news)}.etv2-chip[data-type=legal_meeting].etv2-chip--active{background:var(--event-legal-muted);border-color:var(--event-legal);color:var(--event-legal)}.etv2-chip[data-type=anomaly_volume].etv2-chip--active{background:var(--event-vol-muted);border-color:var(--event-vol);color:var(--event-vol)}.etv2-chip[data-type=anomaly_limit].etv2-chip--active{background:var(--event-limit-muted);border-color:var(--event-limit);color:var(--event-limit)}.etv2-chip:not(.etv2-chip--active){background:var(--bg-elevated,#1f1f23);border-color:var(--border-default,#27272a);color:var(--text-tertiary,#71717a);opacity:.6}.etv2-chip:not(.etv2-chip--active):hover{border-color:var(--border-strong,#3f3f46);color:var(--text-secondary,#a1a1aa);opacity:1}.etv2-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.etv2-chip[data-type=dividend] .etv2-chip-dot{background:var(--event-dividend)}.etv2-chip[data-type=major_news] .etv2-chip-dot{background:var(--event-major-news)}.etv2-chip[data-type=legal_meeting] .etv2-chip-dot{background:var(--event-legal)}.etv2-chip[data-type=anomaly_volume] .etv2-chip-dot{background:var(--event-vol)}.etv2-chip[data-type=anomaly_limit] .etv2-chip-dot{background:var(--event-limit)}.etv2-chip-count{font-family:var(--font-mono,monospace);background:var(--bg-overlay,#27272a);border-radius:10px;padding:0 4px;font-size:10px;line-height:16px}.etv2-filter-all-btn{color:var(--text-tertiary,#71717a);cursor:pointer;font-size:11px;font-family:var(--font-sans,sans-serif);border-radius:var(--radius-sm,4px);transition:background var(--transition-fast,.15s ease-out), color var(--transition-fast,.15s ease-out);background:0 0;border:none;margin-left:auto;padding:4px 8px}.etv2-filter-all-btn:hover{background:var(--bg-elevated,#1f1f23);color:var(--text-secondary,#a1a1aa)}.etv2-timeline-body{padding:16px}.etv2-date-group{margin-bottom:20px}.etv2-date-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.etv2-date-text{color:var(--text-tertiary,#71717a);font-size:11px;font-weight:600;font-family:var(--font-mono,monospace);white-space:nowrap}.etv2-date-line{background:var(--border-default,#27272a);flex:1;height:1px}.etv2-items{flex-direction:column;gap:8px;display:flex}.etv2-item{background:var(--bg-elevated,#1f1f23);border:1px solid var(--border-default,#27272a);border-radius:var(--radius-md,8px);cursor:pointer;transition:border-color var(--transition-fast,.15s ease-out), background var(--transition-fast,.15s ease-out);align-items:flex-start;gap:12px;padding:10px 12px;display:flex;position:relative}.etv2-item:hover{border-color:var(--border-strong,#3f3f46);background:var(--bg-overlay,#27272a)}.etv2-item:before{content:"";border-radius:4px 0 0 4px;width:3px;position:absolute;top:0;bottom:0;left:0}.etv2-item[data-type=dividend]:before{background:var(--event-dividend)}.etv2-item[data-type=major_news]:before{background:var(--event-major-news)}.etv2-item[data-type=legal_meeting]:before{background:var(--event-legal)}.etv2-item[data-type=anomaly_volume]:before{background:var(--event-vol)}.etv2-item[data-type=anomaly_limit]:before{background:var(--event-limit)}.etv2-event-icon{border-radius:var(--radius-sm,4px);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.etv2-event-icon svg{width:14px;height:14px}.etv2-event-icon[data-type=dividend]{background:var(--event-dividend-muted);color:var(--event-dividend)}.etv2-event-icon[data-type=major_news]{background:var(--event-major-news-muted);color:var(--event-major-news)}.etv2-event-icon[data-type=legal_meeting]{background:var(--event-legal-muted);color:var(--event-legal)}.etv2-event-icon[data-type=anomaly_volume]{background:var(--event-vol-muted);color:var(--event-vol)}.etv2-event-icon[data-type=anomaly_limit]{background:var(--event-limit-muted);color:var(--event-limit)}.etv2-event-content{flex:1;min-width:0}.etv2-event-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.etv2-event-title{color:var(--text-primary,#fafafa);font-size:13px;font-weight:500;line-height:1.4}.etv2-event-time{color:var(--text-tertiary,#71717a);font-size:11px;font-family:var(--font-mono,monospace);flex-shrink:0}.etv2-event-body{color:var(--text-secondary,#a1a1aa);margin-top:4px;font-size:12px;line-height:1.5}.etv2-event-footer{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.etv2-type-badge{border-radius:9999px;align-items:center;gap:4px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.etv2-type-badge[data-type=dividend]{background:var(--event-dividend-muted);color:var(--event-dividend)}.etv2-type-badge[data-type=major_news]{background:var(--event-major-news-muted);color:var(--event-major-news)}.etv2-type-badge[data-type=legal_meeting]{background:var(--event-legal-muted);color:var(--event-legal)}.etv2-type-badge[data-type=anomaly_volume]{background:var(--event-vol-muted);color:var(--event-vol)}.etv2-type-badge[data-type=anomaly_limit]{background:var(--event-limit-muted);color:var(--event-limit)}.etv2-severity-critical{color:var(--event-limit,#ef4444);background:#ef444414;border-radius:9999px;padding:1px 6px;font-size:10px;font-weight:600}.etv2-severity-warning{color:var(--event-major-news,#f59e0b);background:#f59e0b14;border-radius:9999px;padding:1px 6px;font-size:10px;font-weight:600}.etv2-event-source{color:var(--text-tertiary,#71717a);font-size:10px;font-family:var(--font-mono,monospace)}.etv2-empty{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;display:flex}.etv2-empty-icon{width:40px;height:40px;color:var(--text-tertiary,#71717a);opacity:.4}.etv2-empty-title{color:var(--text-secondary,#a1a1aa);font-size:14px;font-weight:500}.etv2-empty-desc{color:var(--text-tertiary,#71717a);text-align:center;max-width:240px;font-size:12px}.etv2-empty-actions{gap:8px;margin-top:8px;display:flex}.etv2-skeleton-item{background:var(--bg-elevated,#1f1f23);border:1px solid var(--border-default,#27272a);border-radius:var(--radius-md,8px);gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.etv2-skeleton-icon{border-radius:var(--radius-sm,4px);flex-shrink:0;width:28px;height:28px}.etv2-skeleton-content{flex-direction:column;flex:1;gap:6px;display:flex}.etv2-skeleton{background:linear-gradient(90deg, var(--bg-elevated,#1f1f23) 25%, var(--border-default,#27272a) 50%, var(--bg-elevated,#1f1f23) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite etv2-skeleton-pulse}@keyframes etv2-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.etv2-error{text-align:center;border-radius:var(--radius-md,8px);color:var(--event-limit,#ef4444);background:#ef444414;border:1px solid #ef44444d;margin:16px;padding:24px;font-size:13px}.etv2-btn{border-radius:var(--radius-md,8px);cursor:pointer;transition:all var(--transition-fast,.15s ease-out);font-size:12px;font-weight:500;font-family:var(--font-sans,sans-serif);border:1px solid var(--border-default,#27272a);color:var(--text-secondary,#a1a1aa);background:0 0;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.etv2-btn:hover{background:var(--bg-elevated,#1f1f23);color:var(--text-primary,#fafafa)}.etv2-load-more{text-align:center;padding:10px 0}@media (width<=767px){.etv2-filter-row{gap:5px}.etv2-chip{padding:3px 8px;font-size:10px}.etv2-filter-all-btn{margin-top:4px;margin-left:0}.etv2-event-time{display:none}.etv2-timeline-body{padding:10px}.etv2-panel-header{flex-direction:column;align-items:flex-start}}.wl-card{--bg:#09090b;--card:#18181b;--card-elevated:#1f1f23;--border:#27272a;--border-focus:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--primary:#3b82f6;--up:#ef4444;--down:#22c55e;--error:#ef4444;--success:#22c55e;--radius:8px;--radius-sm:6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 140px 120px;align-items:center;gap:16px;min-height:88px;padding:16px 20px;list-style:none;transition:background .15s ease-out,border-color .15s ease-out,transform .24s cubic-bezier(.4,0,.2,1),opacity .24s cubic-bezier(.4,0,.2,1);display:grid;position:relative}.wl-card:hover{background:var(--card-elevated)}.wl-card:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}.wl-card.is-removing{opacity:.2;pointer-events:none;transform:translate(-100%)}.wl-left{min-width:0}.wl-top-row{align-items:center;gap:10px;margin-bottom:4px;display:flex}.wl-stock-id{letter-spacing:-.01em;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:700}.wl-stock-name{color:var(--text-primary);font-size:14px;font-weight:500}.wl-market-badge{letter-spacing:.04em;color:var(--primary);background:#3b82f61f;border:1px solid #3b82f64d;border-radius:4px;align-items:center;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:600;display:inline-flex}.wl-market-badge.tpex{color:#a78bfa;background:#8b5cf61f;border-color:#8b5cf64d}.wl-bottom-row{color:var(--text-muted);align-items:center;gap:10px;min-height:26px;font-size:12px;display:flex}.wl-added-date{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.wl-added-date:before{content:"加入：";color:var(--text-muted);font-family:inherit}.wl-sep{color:var(--border-focus)}.wl-notes{border-radius:var(--radius-sm);cursor:text;border:1px solid #0000;flex:1;align-items:center;gap:6px;min-width:0;min-height:26px;padding:4px 6px;transition:border-color .2s ease-out,background-color .2s ease-out;display:flex}.wl-notes:hover{background:#3f3f4640}.wl-notes .wl-pencil{color:var(--text-muted);opacity:0;flex-shrink:0;transition:opacity .15s ease-out}.wl-notes:hover .wl-pencil{opacity:1}.wl-notes.is-display .wl-notes-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.wl-notes.is-display .wl-notes-text.is-empty{color:var(--text-muted);font-style:italic}.wl-notes.is-editing{border-color:var(--primary);background:var(--card)}.wl-notes.is-editing .wl-pencil{opacity:1;color:var(--primary)}.wl-notes.is-editing input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:12px;line-height:1.4}.wl-notes.is-editing input::placeholder{color:var(--text-muted)}.wl-notes.is-saving{border-color:var(--border);cursor:wait}.wl-notes.is-saving .wl-notes-text{color:var(--text-muted);opacity:.7;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.wl-notes.is-saving .wl-saving-hint{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.wl-notes.is-saving .wl-saving-hint:before{content:"";border:1.5px solid var(--border-focus);border-top-color:var(--primary);border-radius:50%;width:10px;height:10px;animation:.8s linear infinite wl-spin}@keyframes wl-spin{to{transform:rotate(360deg)}}.wl-notes.is-saved{border-color:#0000}.wl-notes.is-saved .wl-notes-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.wl-notes.is-saved .wl-saved-hint{color:var(--success);align-items:center;gap:3px;font-size:11px;font-weight:500;animation:.5s ease-out forwards wl-saved-fade;display:inline-flex}@keyframes wl-saved-fade{0%{opacity:0;transform:translate(-2px)}30%{opacity:1;transform:translate(0)}to{opacity:1}}.wl-notes.is-error{border-color:var(--error);background:#ef44440d}.wl-notes.is-error input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:12px}.wl-price-block{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.wl-close{letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:700}.wl-change{margin-top:3px;font-size:12px;font-weight:600}.wl-change.up{color:var(--up)}.wl-change.down{color:var(--down)}.wl-change.neutral{color:var(--text-secondary)}.wl-no-price{color:var(--text-muted);font-size:12px;font-style:italic}.wl-right{justify-content:flex-end;align-items:center;gap:10px;display:flex}.wl-trend-icon{background:var(--card-elevated);border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.wl-trend-icon svg{width:14px;height:14px}.wl-trend-icon.uptrend{color:var(--up);border-color:#ef44444d}.wl-trend-icon.downtrend{color:var(--down);border-color:#22c55e4d}.wl-trend-icon.ambiguous{color:var(--text-muted)}.wl-remove-btn{background:var(--card);border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;opacity:0;visibility:hidden;border-radius:4px;justify-content:center;align-items:center;transition:opacity .15s ease-out,color .15s ease-out,border-color .15s ease-out,background .15s ease-out;display:inline-flex;position:absolute;top:8px;right:8px}.wl-card:hover .wl-remove-btn,.wl-card:focus-within .wl-remove-btn{opacity:1;visibility:visible}.wl-remove-btn:hover{color:var(--up);background:#ef44441f;border-color:#ef444466}.wl-remove-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.wl-retry-btn{align-items:gap;color:var(--up);cursor:pointer;background:#ef44441f;border:1px solid #ef444466;border-radius:4px;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.wl-retry-btn:hover{background:#ef444433}.wl-error-hint{color:var(--error);align-items:center;gap:4px;font-size:11px;display:inline-flex;position:absolute;bottom:-18px;left:20px}.wl-card-wrap{border-radius:var(--radius);position:relative;overflow:hidden}@media (width<=767px){.wl-card{grid-template-columns:1fr auto;min-height:96px}.wl-card.is-swiping{transform:translate(-60px)}.wl-price-block{order:2}.wl-right,.wl-remove-btn{display:none}}.wl-swipe-action{color:#fff;z-index:0;cursor:pointer;background:#ef4444;border:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:60px;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;right:0}.wl-card.is-invalidated{border-color:#ef444459}.badge-invalidated{letter-spacing:.03em;color:var(--error,#ef4444);cursor:help;white-space:nowrap;background:#ef44441f;border:1px solid #ef444466;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-family:inherit;font-size:10px;font-weight:600;display:inline-flex;position:relative}.badge-invalidated .inv-tooltip{color:var(--text-secondary,#a1a1aa);z-index:10;white-space:nowrap;cursor:default;pointer-events:none;background:#18181bfa;border:1px solid #ef444466;border-radius:4px;min-width:200px;padding:8px 10px;font-size:11px;font-weight:400;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000080}.badge-invalidated:hover .inv-tooltip,.badge-invalidated:focus-visible .inv-tooltip{display:block}.badge-invalidated .inv-title{color:var(--error,#ef4444);margin-bottom:5px;font-size:11px;font-weight:600}.badge-invalidated .inv-row{align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.badge-no-snapshot{color:var(--text-muted,#71717a);border:1px solid var(--border,#3f3f4699);cursor:help;white-space:nowrap;background:#71717a1f;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-family:inherit;font-size:10px;font-weight:500;display:inline-flex}.wl-card:has(.wl-select-checkbox){grid-template-columns:auto 1fr 140px 120px}.wl-select-checkbox{cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.wl-select-checkbox input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;flex-shrink:0;width:16px;height:16px}.wl-select-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.wl-page{color:#fafafa;background:#09090b;max-width:1440px;min-height:calc(100vh - 110px);margin:0 auto;padding:24px 24px 48px}.wl-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:0 2px;display:flex}.wl-page-title{letter-spacing:-.01em;color:#fafafa;font-size:22px;font-weight:600}.wl-page-header-right{align-items:center;gap:12px;display:flex}.wl-page-subtitle{color:#a1a1aa;font-variant-numeric:tabular-nums;font-size:13px}.wl-page-subtitle strong{color:#fafafa;font-weight:600}.wl-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wl-empty-state{text-align:center;background:#18181b;border:1px solid #27272a;border-radius:8px;padding:64px 24px}.wl-empty-illust{color:#71717a;border:1px dashed #27272a;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 20px;padding:12px;display:flex}.wl-empty-illust svg{width:64px;height:64px;display:block}.wl-empty-title{color:#fafafa;margin-bottom:8px;font-size:18px;font-weight:600}.wl-empty-desc{color:#a1a1aa;max-width:320px;margin:0 auto 22px;font-size:14px;line-height:1.5}.wl-empty-cta{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:6px;height:40px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s ease-out;display:inline-flex}.wl-empty-cta:hover{background:#2563eb}.wl-empty-cta:focus-visible{outline-offset:2px;outline:2px solid #3f3f46}.wl-loading{text-align:center;color:#71717a;padding:48px 24px;font-size:14px}.wl-error{text-align:center;color:#ef4444;background:#18181b;border:1px solid #ef44444d;border-radius:8px;padding:48px 24px}.wl-error-retry{color:#fafafa;cursor:pointer;background:0 0;border:1px solid #27272a;border-radius:6px;margin-top:12px;padding:8px 16px;font-family:inherit;font-size:13px}.wl-error-retry:hover{background:#1f1f23}.wl-compare-btn{color:#fff;cursor:pointer;background:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s}.wl-compare-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.wl-compare-btn:disabled{color:#71717a;cursor:not-allowed;background:#27272a;border-color:#27272a}.journal-form{background:var(--card,#18181b);border:1px solid var(--border,#27272a);border-radius:var(--radius,8px);overflow:hidden}.jf-header{border-bottom:1px solid var(--border,#27272a);background:var(--card-elevated,#1f1f23);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.jf-title{color:var(--text-primary,#fafafa);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.jf-title:before{content:"";background:var(--primary,#3b82f6);border-radius:2px;width:3px;height:16px}.jf-badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;transition:all .2s ease-out;display:inline-flex}.jf-badge-draft{background:var(--card,#18181b);color:var(--text-secondary,#a1a1aa);border:1px solid var(--border,#27272a)}.jf-badge-submitting{color:var(--info,#06b6d4);background:#06b6d41a;border:1px solid #06b6d44d}.jf-badge-submitting:before{content:"";border:1.5px solid #06b6d44d;border-top-color:var(--info,#06b6d4);border-radius:50%;width:8px;height:8px;animation:.8s linear infinite jf-spin}.jf-badge-success{color:var(--success,#22c55e);background:#22c55e1a;border:1px solid #22c55e4d}@keyframes jf-spin{to{transform:rotate(360deg)}}.jf-body{background:var(--border,#27272a);grid-template-columns:1fr 1fr;gap:1px;display:grid}.jf-section{background:var(--card,#18181b);padding:18px 20px}.jf-section.jf-full{grid-column:1/-1}.jf-section-title{color:var(--text-secondary,#a1a1aa);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:14px;font-size:11px;font-weight:600;display:flex}.jf-section-num{background:var(--card-elevated,#1f1f23);border:1px solid var(--border,#27272a);width:18px;height:18px;color:var(--text-primary,#fafafa);border-radius:50%;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:700;display:inline-flex}.jf-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.jf-row:last-child{margin-bottom:0}.jf-row.jf-row-inline{flex-direction:row;gap:10px}.jf-row.jf-row-inline .jf-field{flex:1}.jf-label{color:var(--text-secondary,#a1a1aa);align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.jf-label-req{color:var(--up,#ef4444);font-weight:700}.jf-label-opt{color:var(--text-muted,#71717a);font-size:11px;font-weight:400}.jf-field{flex-direction:column;gap:4px;display:flex;position:relative}.jf-input,.jf-textarea{background:var(--bg,#09090b);border:1px solid var(--border,#27272a);border-radius:var(--radius-sm,6px);width:100%;height:40px;color:var(--text-primary,#fafafa);font-variant-numeric:tabular-nums;outline:none;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .15s ease-out}.jf-input:hover,.jf-textarea:hover{border-color:var(--border-focus,#3f3f46)}.jf-input:focus,.jf-textarea:focus{border-color:var(--primary,#3b82f6)}.jf-input:disabled,.jf-textarea:disabled{opacity:.5;cursor:not-allowed}.jf-textarea{resize:vertical;height:auto;min-height:64px;padding:10px 12px;line-height:1.5}.jf-input.jf-with-suffix{padding-right:38px}.jf-input-wrapper{position:relative}.jf-input-suffix{color:var(--text-muted,#71717a);pointer-events:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.jf-field-error .jf-input,.jf-field-error .jf-textarea,.jf-field-error .jf-input:focus,.jf-field-error .jf-textarea:focus{border-color:var(--error,#ef4444)}.jf-error-msg{color:var(--error,#ef4444);align-items:center;gap:4px;margin-top:2px;font-size:12px;display:flex}.jf-footer{background:var(--card-elevated,#1f1f23);border-top:1px solid var(--border,#27272a);justify-content:flex-end;align-items:center;gap:10px;padding:14px 18px;display:flex}.jf-btn{background:var(--primary,#3b82f6);height:40px;color:var(--primary-fg,#fff);border-radius:var(--radius-sm,6px);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s ease-out;display:inline-flex}.jf-btn:hover{background:var(--primary-hover,#2563eb)}.jf-btn:focus-visible{outline:2px solid var(--border-focus,#3f3f46);outline-offset:2px}.jf-btn:disabled{opacity:.5;cursor:not-allowed}.jf-btn.jf-btn-ghost{color:var(--text-primary,#fafafa);border:1px solid var(--border,#27272a);background:0 0}.jf-btn.jf-btn-ghost:hover{background:var(--card-elevated,#1f1f23);border-color:var(--border-focus,#3f3f46)}.jf-toast{background:var(--card-elevated,#1f1f23);border:1px solid var(--success,#22c55e);color:var(--success,#22c55e);border-radius:var(--radius-sm,6px);z-index:100;padding:10px 18px;font-size:13px;font-weight:600;animation:.2s ease-out jf-toast-in;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}@keyframes jf-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=767px){.jf-body{grid-template-columns:1fr}.jf-footer{z-index:20;position:sticky;bottom:0;left:0;right:0}.jf-footer .jf-btn{flex:1}}.pl-bar{background:var(--card-elevated,#1f1f23);border:1px solid var(--border,#27272a);border-radius:2px;flex-shrink:0;display:inline-block;position:relative;overflow:hidden}.pl-bar.pl-sz-inline{width:120px;height:6px}.pl-bar.pl-sz-preview{width:200px;height:10px}.pl-bar.pl-sz-review{width:320px;height:14px}.pl-bar:before{content:"";background:var(--border-focus,#3f3f46);z-index:2;width:1px;position:absolute;top:0;bottom:0;left:50%}.pl-bar-fill{z-index:1;position:absolute;top:0;bottom:0}.pl-bar-fill.pl-fill-positive{background:var(--up,#ef4444);left:50%}.pl-bar-fill.pl-fill-negative{background:var(--down,#22c55e);right:50%}.pl-bar-fill.pl-fill-zero{background:var(--text-muted,#71717a);left:50%;width:1px!important}.pl-value{font-variant-numeric:tabular-nums;align-items:center;gap:4px;min-width:64px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700;display:inline-flex}.pl-value.pl-value-preview{font-size:15px}.pl-value.pl-value-positive{color:var(--up,#ef4444)}.pl-value.pl-value-negative{color:var(--down,#22c55e)}.pl-value.pl-value-zero{color:var(--text-muted,#71717a)}.pl-value-arrow{display:inline-flex}.pl-value-actual{color:var(--text-muted,#71717a);margin-left:4px;font-size:10px;font-weight:400}.pl-inline-group{align-items:center;gap:10px;display:inline-flex}.xm-overlay{z-index:200;background:#09090bb3;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out xm-fade-in;display:flex;position:fixed;inset:0}.xm-overlay.xm-closing{animation:.15s ease-out forwards xm-fade-out}@keyframes xm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes xm-fade-out{0%{opacity:1}to{opacity:0}}.xm-card{background:var(--card,#18181b);border:1px solid var(--border-focus,#3f3f46);border-radius:var(--radius-lg,12px);flex-direction:column;width:420px;max-width:90vw;max-height:92vh;animation:.2s cubic-bezier(.4,0,.2,1) xm-scale-in;display:flex;overflow:hidden;box-shadow:0 24px 48px #0009}@keyframes xm-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.xm-header{border-bottom:1px solid var(--border,#27272a);background:var(--card-elevated,#1f1f23);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 14px;display:flex}.xm-header-left h3{color:var(--text-primary,#fafafa);margin:0 0 4px;font-size:15px;font-weight:600}.xm-entry-ref{color:var(--text-muted,#71717a);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.xm-close{cursor:pointer;width:28px;height:28px;color:var(--text-muted,#71717a);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s ease-out;display:inline-flex}.xm-close:hover{color:var(--text-primary,#fafafa);background:var(--card,#18181b)}.xm-close:focus-visible{outline:2px solid var(--border-focus,#3f3f46);outline-offset:2px}.xm-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.xm-preview-box{background:var(--bg,#09090b);border:1px solid var(--border,#27272a);border-radius:var(--radius-sm,6px);flex-direction:column;gap:10px;padding:14px;display:flex}.xm-preview-label{color:var(--text-muted,#71717a);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.xm-preview-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.xm-preview-formula{color:var(--text-muted,#71717a);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5}.xm-footer{border-top:1px solid var(--border,#27272a);background:var(--card-elevated,#1f1f23);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.xm-note{color:var(--text-muted,#71717a);background:var(--bg,#09090b);border-top:1px solid var(--border,#27272a);text-align:center;padding:10px 20px;font-size:11px;line-height:1.5}.jp-root{max-width:1440px;color:var(--text-primary,#fafafa);margin:0 auto;padding:24px 24px 48px}.jp-header{margin-bottom:18px;padding:0 2px}.jp-title{letter-spacing:-.01em;color:var(--text-primary,#fafafa);margin:0 0 14px;font-size:22px;font-weight:600}.jp-tabs{border:1px solid var(--border,#27272a);border-radius:var(--radius-sm,6px);background:var(--card-elevated,#1f1f23);display:inline-flex;overflow:hidden}.jp-tab{color:var(--text-secondary,#a1a1aa);border:none;border-right:1px solid var(--border,#27272a);cursor:pointer;background:0 0;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:color .2s ease-out,background .2s ease-out}.jp-tab:last-child{border-right:none}.jp-tab:hover{color:var(--text-primary,#fafafa);background:var(--card,#18181b)}.jp-tab.is-active{color:var(--primary-fg,#fff);background:var(--primary,#3b82f6);font-weight:600}.jp-tab-count{font-variant-numeric:tabular-nums;height:16px;color:inherit;background:#00000040;border-radius:3px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:600;line-height:16px;display:inline-block}.jp-section{margin-top:32px}.jp-section-title{color:var(--text-secondary,#a1a1aa);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex}.jp-section-title:before{content:"";background:var(--primary,#3b82f6);border-radius:2px;width:4px;height:14px}.jp-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.jp-card{background:var(--card,#18181b);border:1px solid var(--border,#27272a);border-radius:var(--radius,8px);padding:16px 18px;transition:background .15s ease-out,border-color .15s ease-out}.jp-card:hover{background:var(--card-elevated,#1f1f23)}.jp-card.is-open{border-left:3px solid var(--info,#06b6d4)}.jp-card.is-closed{border-left:3px solid var(--text-muted,#71717a);opacity:.94}.jp-card.is-highlight{animation:1.5s ease-out jp-pulse}@keyframes jp-pulse{0%,to{background:var(--card,#18181b)}30%,70%{background:#3b82f614}}.jp-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.jp-card-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jp-stock-id{letter-spacing:-.01em;color:var(--text-primary,#fafafa);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;font-weight:700}.jp-stock-name{color:var(--text-secondary,#a1a1aa);font-size:14px;font-weight:500}.jp-status{letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.jp-status.is-open{color:var(--info,#06b6d4);background:#06b6d41a;border:1px solid #06b6d44d}.jp-status.is-closed{background:var(--card-elevated,#1f1f23);color:var(--text-muted,#71717a);border:1px solid var(--border,#27272a)}.jp-entry-date{color:var(--text-muted,#71717a);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.jp-card-actions{align-items:center;gap:6px;display:flex}.jp-card-grid{background:var(--border,#27272a);border:1px solid var(--border,#27272a);border-radius:var(--radius-sm,6px);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:12px;display:grid;overflow:hidden}.jp-card-grid.closed-grid{grid-template-columns:repeat(4,1fr)}.jp-card-cell{background:var(--card,#18181b);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.jp-cell-label{color:var(--text-muted,#71717a);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.jp-cell-value{font-variant-numeric:tabular-nums;color:var(--text-primary,#fafafa);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:600}.jp-cell-value.up{color:var(--up,#ef4444)}.jp-cell-value.down{color:var(--down,#22c55e)}.jp-cell-value.muted{color:var(--text-muted,#71717a)}.jp-cell-sub{color:var(--text-muted,#71717a);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.jp-reason{background:var(--bg,#09090b);border:1px solid var(--border,#27272a);border-radius:var(--radius-sm,6px);color:var(--text-secondary,#a1a1aa);margin-bottom:10px;padding:10px 12px;font-size:12px;line-height:1.6}.jp-reason-key{color:var(--text-muted,#71717a);text-transform:uppercase;letter-spacing:.05em;margin-right:6px;font-size:11px;font-weight:600}.jp-pnl-row{border-top:1px solid var(--border,#27272a);flex-wrap:wrap;align-items:center;gap:14px;padding-top:10px;display:flex}.jp-pnl-label{color:var(--text-muted,#71717a);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.jp-empty{text-align:center;background:var(--card,#18181b);border:1px solid var(--border,#27272a);border-radius:var(--radius,8px);color:var(--text-secondary,#a1a1aa);padding:64px 24px}.jp-empty-title{color:var(--text-primary,#fafafa);margin-bottom:8px;font-size:18px;font-weight:600}.jp-empty-desc{max-width:360px;margin:0 auto;font-size:14px;line-height:1.5}.jp-loading{text-align:center;color:var(--text-muted,#71717a);padding:40px 24px;font-size:13px}.jp-error{border-radius:var(--radius-sm,6px);color:var(--error,#ef4444);background:#ef444414;border:1px solid #ef44444d;margin-top:12px;padding:16px;font-size:13px}.dashboard-page{--bg:#09090b;--card:#18181b;--card-elevated:#1f1f23;--border:#27272a;--border-focus:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--primary:#3b82f6;--primary-hover:#2563eb;--primary-fg:#fff;--up:#ef4444;--down:#22c55e;--error:#ef4444;--warning:#f59e0b;--info:#06b6d4;--radius:8px;--radius-sm:6px;--radius-lg:12px}.dashboard-page.page{background:var(--bg);max-width:1440px;min-height:100vh;color:var(--text-primary);margin:0 auto;padding:32px 24px 80px;font-size:14px;line-height:1.5}.dashboard-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.dashboard-page .page-title{letter-spacing:-.01em;color:var(--text-primary);font-size:22px;font-weight:600}.dashboard-page .page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.dashboard-page .date-range-indicator{color:var(--primary)}.dashboard-page .date-range-picker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.dashboard-page .date-range-picker [data-testid=datepicker-root]{flex-shrink:0;width:160px}.dashboard-page .date-label{color:var(--text-secondary);font-size:12px}.dashboard-page .date-input{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);height:32px;color:var(--text-primary);outline:none;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;transition:border-color .15s ease-out}.dashboard-page .date-input:focus{border-color:var(--border-focus)}.dashboard-page .btn-filter{background:var(--primary);height:32px;color:var(--primary-fg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s ease-out}.dashboard-page .btn-filter:hover{background:var(--primary-hover)}.dashboard-page .btn-reset{height:32px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:0 12px;font-family:inherit;font-size:12px;transition:border-color .15s ease-out,color .15s ease-out}.dashboard-page .btn-reset:hover{border-color:var(--border-focus);color:var(--text-primary)}.dashboard-page .sample-warning{border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b4d;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.dashboard-page .sample-warning .icon{color:var(--warning);flex-shrink:0;margin-top:1px}.dashboard-page .sample-warning .body{color:var(--text-secondary)}.dashboard-page .sample-warning .body strong{color:var(--warning);font-weight:600}.dashboard-page .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.dashboard-page .summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:default;padding:16px;transition:background .15s ease-out,border-color .15s ease-out}.dashboard-page .summary-card:hover{background:var(--card-elevated);border-color:var(--border-focus)}.dashboard-page .summary-card:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}.dashboard-page .summary-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:500;display:flex}.dashboard-page .summary-label .dot{border-radius:50%;width:6px;height:6px}.dashboard-page .summary-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);margin-bottom:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:28px;font-weight:700;line-height:1.1}.dashboard-page .summary-sub{color:var(--text-muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.dashboard-page .up{color:var(--up)}.dashboard-page .down{color:var(--down)}.dashboard-page .skeleton{background:linear-gradient(90deg, var(--card-elevated) 25%, var(--border) 50%, var(--card-elevated) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton-pulse}.dashboard-page .charts-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.dashboard-page .bar-chart-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dashboard-page .chart-header{border-bottom:1px solid var(--border);background:var(--card-elevated);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dashboard-page .chart-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.dashboard-page .chart-title .dot{background:var(--primary);border-radius:2px;width:8px;height:8px}.dashboard-page .chart-sub{color:var(--text-muted);font-size:11px}.dashboard-page .bar-chart{align-items:flex-end;gap:6px;height:180px;padding:16px 20px 12px;display:flex;position:relative}.dashboard-page .bar-chart-y{pointer-events:none;flex-direction:column;justify-content:space-between;width:36px;display:flex;position:absolute;top:16px;bottom:30px;left:0}.dashboard-page .bar-chart-y span{color:var(--text-muted);text-align:right;padding-right:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.dashboard-page .bar-cols{flex:1;align-items:flex-end;gap:4px;height:100%;padding-left:40px;display:flex;position:relative}.dashboard-page .bar-cols:before{content:"";border-top:1px dashed var(--border-focus);pointer-events:none;position:absolute;inset:calc(50% - 5px) 0 26px 40px}.dashboard-page .bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.dashboard-page .bar{cursor:pointer;border-radius:3px 3px 0 0;width:100%;min-height:4px;transition:opacity .15s ease-out;position:relative}.dashboard-page .bar:hover{opacity:.8}.dashboard-page .bar.positive{background:var(--up)}.dashboard-page .bar.negative{background:var(--down)}.dashboard-page .bar-label{color:var(--text-muted);text-align:center;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.dashboard-page .bar-tooltip{border:1px solid var(--border-focus);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;pointer-events:none;z-index:10;background:#18181bfa;padding:8px 10px;font-size:11px;animation:.12s ease-out tip-in;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.dashboard-page .bar-tooltip .month{color:var(--text-primary);margin-bottom:4px;font-weight:600}.dashboard-page .bar-tooltip .row{justify-content:space-between;gap:8px;display:flex}.dashboard-page .bar-tooltip .row .k{color:var(--text-muted)}@keyframes tip-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.dashboard-page .top-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dashboard-page .top-tabs{border-bottom:1px solid var(--border);background:var(--card-elevated);display:flex}.dashboard-page .top-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:color .2s ease-out,border-color .2s ease-out;display:flex}.dashboard-page .top-tab:hover{color:var(--text-primary)}.dashboard-page .top-tab.is-active.winners{color:var(--up);border-bottom-color:var(--up);font-weight:600}.dashboard-page .top-tab.is-active.losers{color:var(--down);border-bottom-color:var(--down);font-weight:600}.dashboard-page .top-tab:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.dashboard-page .top-list{padding:8px 0}.dashboard-page .top-row{cursor:default;grid-template-columns:24px 1fr 64px 56px;align-items:center;gap:8px;padding:8px 16px;transition:background .15s ease-out;display:grid}.dashboard-page .top-row:hover{background:var(--card-elevated)}.dashboard-page .top-rank{color:var(--text-muted);text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600}.dashboard-page .top-stock{min-width:0}.dashboard-page .top-stock-id{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:600;display:block}.dashboard-page .top-stock-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;display:block;overflow:hidden}.dashboard-page .top-pnl{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:600}.dashboard-page .top-days{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.dashboard-page .empty-state{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:48px 24px}.dashboard-page .empty-illust{border:1px dashed var(--border);width:64px;height:64px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.dashboard-page .empty-title{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:600}.dashboard-page .empty-desc{color:var(--text-secondary);max-width:300px;margin:0 auto;font-size:13px}.dashboard-page .btn-primary{background:var(--primary);height:40px;color:var(--primary-fg);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;margin-top:20px;padding:0 20px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s ease-out;display:inline-flex}.dashboard-page .btn-primary:hover{background:var(--primary-hover)}@media (width<=767px){.dashboard-page.page{padding:20px 16px 60px}.dashboard-page .summary-grid{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-page .summary-value{font-size:22px}.dashboard-page .charts-grid{grid-template-columns:1fr}.dashboard-page .top-row{grid-template-columns:20px 1fr 56px 48px;gap:6px;padding:8px 12px}.dashboard-page .bar-chart{height:140px}}.dsp-page{max-width:1440px;padding:24px}.dsp-page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:20px;display:flex}.dsp-page-title{letter-spacing:-.01em;color:var(--text-primary);font-size:20px;font-weight:700}.dsp-page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px}.dsp-page-meta{color:var(--text-tertiary);align-items:center;gap:8px;font-size:12px;display:flex}.dsp-live-dot{background:var(--tw-success);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite dsp-blink}@keyframes dsp-blink{0%,to{opacity:1}50%{opacity:.3}}.dsp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.dsp-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);transition:border-color var(--transition-fast);overflow:hidden}.dsp-card:hover{border-color:var(--border-strong)}.dsp-card-header{border-bottom:1px solid var(--border-default);background:var(--bg-elevated);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dsp-card-title{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.dsp-card-title-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dsp-badge{font-size:10px;font-weight:600;font-family:var(--font-shell-mono);border-radius:4px;align-items:center;padding:2px 6px;display:inline-flex}.dsp-badge-up{color:var(--tw-danger);background:#ef44441f;border:1px solid #ef44444d}.dsp-badge-down{color:var(--tw-success);background:#22c55e1f;border:1px solid #22c55e4d}.dsp-badge-neutral{background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-default)}.dsp-badge-warning{color:var(--tw-warning);background:#f59e0b1f;border:1px solid #f59e0b4d}.dsp-badge-info{color:var(--accent-secondary);background:#06b6d41f;border:1px solid #06b6d44d}.dsp-badge-error{color:var(--tw-danger);background:#ef44441a;border:1px solid #ef444440}.dsp-up{color:var(--tw-danger)}.dsp-down{color:var(--tw-success)}.dsp-skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--border-default) 50%, var(--bg-elevated) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite dsp-skeleton-pulse}@keyframes dsp-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.dsp-card-fail{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 24px;display:flex}.dsp-card-fail-icon{width:36px;height:36px;color:var(--tw-danger);background:#ef44441a;border:1px solid #ef444440;border-radius:50%;justify-content:center;align-items:center;display:flex}.dsp-card-fail-title{color:var(--text-primary);font-size:13px;font-weight:600}.dsp-card-fail-desc{color:var(--text-tertiary);font-size:12px}.dsp-btn-retry{border:1px solid var(--border-default);border-radius:var(--shell-radius-sm);height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.dsp-btn-retry:hover{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.dsp-market-body{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.dsp-market-main{flex-direction:column;gap:4px;display:flex}.dsp-market-label{color:var(--text-tertiary);margin-bottom:2px;font-size:12px}.dsp-market-index{letter-spacing:-.02em;font-size:22px;font-weight:700;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums;line-height:1.1}.dsp-market-change{font-size:14px;font-weight:600;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums}.dsp-market-divider{background:var(--border-default);width:100%;height:1px}.dsp-market-stat{flex-direction:column;gap:4px;display:flex}.dsp-market-stat-label{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.dsp-market-stat-value{font-size:18px;font-weight:700;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.dsp-market-stat-sub{color:var(--text-tertiary);font-size:11px;font-family:var(--font-shell-mono)}.dsp-breadth-row{align-items:baseline;gap:6px;display:flex}.dsp-breadth-bar{background:var(--border-default);border-radius:3px;height:6px;margin-top:8px;position:relative;overflow:hidden}.dsp-breadth-fill-up{background:var(--tw-danger);border-radius:3px 0 0 3px;height:100%;position:absolute;top:0;left:0}.dsp-breadth-fill-down{background:var(--tw-success);border-radius:0 3px 3px 0;height:100%;position:absolute;top:0;right:0}.dsp-breadth-pct-row{color:var(--text-tertiary);justify-content:space-between;margin-top:3px;font-size:10px;display:flex}.dsp-trend-chip{color:var(--tw-danger);background:#ef44441a;border:1px solid #ef444440;border-radius:20px;align-self:flex-start;align-items:center;gap:4px;margin-top:8px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.dsp-sector-body{padding:0}.dsp-sector-label-row{border-bottom:1px solid var(--border-default);grid-template-columns:1fr 64px 72px;gap:8px;padding:6px 16px 4px;display:grid}.dsp-sector-col-label{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.dsp-sector-divider{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;background:var(--bg-elevated);border-bottom:1px solid var(--border-default);padding:4px 16px;font-size:10px}.dsp-sector-row{border-bottom:1px solid var(--border-default);transition:background var(--transition-fast);cursor:default;grid-template-columns:1fr 64px 72px;align-items:center;gap:8px;padding:8px 16px;display:grid}.dsp-sector-row:last-child{border-bottom:none}.dsp-sector-row:hover{background:var(--bg-elevated)}.dsp-sector-name{color:var(--text-primary);font-size:12px;font-weight:500}.dsp-sector-mini-bar{background:var(--border-default);border-radius:2px;height:4px;position:relative;overflow:hidden}.dsp-sector-mini-fill{border-radius:2px;height:100%;position:absolute;top:0}.dsp-sector-mini-fill.pos{background:var(--tw-danger);left:50%}.dsp-sector-mini-fill.neg{background:var(--tw-success);transform-origin:100%;right:50%}.dsp-sector-pct{text-align:right;font-size:12px;font-weight:600;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums}.dsp-inst-body{padding:0}.dsp-inst-header-row{border-bottom:1px solid var(--border-default);grid-template-columns:1fr 80px 56px;gap:8px;padding:6px 16px 4px;display:grid}.dsp-inst-col-label{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.dsp-inst-row{border-bottom:1px solid var(--border-default);transition:background var(--transition-fast);grid-template-columns:1fr 80px 56px;align-items:center;gap:8px;padding:10px 16px;display:grid}.dsp-inst-row:last-child{border-bottom:none}.dsp-inst-row:hover{background:var(--bg-elevated)}.dsp-inst-name{color:var(--text-primary);font-size:13px;font-weight:500}.dsp-inst-name-sub{color:var(--text-tertiary);margin-top:1px;font-size:11px}.dsp-inst-amount{text-align:right;font-size:13px;font-weight:600;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums}.dsp-inst-streak{text-align:right;font-size:11px;font-family:var(--font-shell-mono)}.dsp-inst-streak.buy{color:var(--tw-danger)}.dsp-inst-streak.sell{color:var(--tw-success)}.dsp-inst-total-row{background:var(--bg-elevated);border-top:1px solid var(--border-default);color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;display:flex}.dsp-inst-total-value{font-size:14px;font-weight:700;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums}.dsp-anomaly-body{padding:0}.dsp-anomaly-item{border-bottom:1px solid var(--border-default);transition:background var(--transition-fast);cursor:default;align-items:flex-start;gap:12px;padding:10px 16px;display:flex}.dsp-anomaly-item:last-child{border-bottom:none}.dsp-anomaly-item:hover{background:var(--bg-elevated)}.dsp-anomaly-icon-wrap{border-radius:var(--shell-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.dsp-anomaly-icon-vol{color:var(--accent-secondary);background:#06b6d41f}.dsp-anomaly-icon-price{color:var(--tw-danger);background:#ef44441f}.dsp-anomaly-icon-limit{color:var(--tw-warning);background:#f59e0b1f}.dsp-anomaly-info{flex:1;min-width:0}.dsp-anomaly-title{color:var(--text-primary);font-size:12px;font-weight:600}.dsp-anomaly-sub{color:var(--text-tertiary);margin-top:2px;font-size:11px}.dsp-anomaly-count{font-size:20px;font-weight:700;font-family:var(--font-shell-mono);color:var(--text-primary);flex-shrink:0}.dsp-anomaly-footer{border-top:1px solid var(--border-default);padding:8px 16px}.dsp-signal-body{padding:0}.dsp-signal-section-title{color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border-default);padding:8px 16px 4px;font-size:10px;font-weight:600}.dsp-signal-row{border-bottom:1px solid var(--border-default);transition:background var(--transition-fast);cursor:default;grid-template-columns:1fr 60px;align-items:center;gap:8px;padding:7px 16px;display:grid}.dsp-signal-row:hover{background:var(--bg-elevated)}.dsp-signal-stock-id{color:var(--text-primary);font-size:13px;font-weight:700;font-family:var(--font-shell-mono)}.dsp-signal-stock-name{color:var(--text-tertiary);font-size:11px}.dsp-signal-chips{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.dsp-signal-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600}.dsp-chip-watchlist{color:var(--accent-primary);background:#3b82f61f;border:1px solid #3b82f640}.dsp-chip-scheduled{color:#8b5cf6;background:#8b5cf61f;border:1px solid #8b5cf640}.dsp-chip-score{color:var(--tw-danger);background:#ef44441f;border:1px solid #ef444440}.dsp-signal-footer{background:var(--bg-elevated);color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;display:flex}.dsp-breadth-card-body{flex-direction:column;gap:12px;padding:16px;display:flex}.dsp-breadth-counts{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.dsp-breadth-count-item{align-items:baseline;gap:4px;display:flex}.dsp-breadth-count-num{font-size:22px;font-weight:700;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums}.dsp-breadth-count-label{color:var(--text-tertiary);font-size:12px}.dsp-breadth-sep{color:var(--border-default);font-size:18px}.dsp-breadth-sub{color:var(--text-tertiary);font-size:11px;font-family:var(--font-shell-mono)}.dsp-see-all{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:11px;text-decoration:none;display:inline-flex}.dsp-see-all:hover{text-decoration:underline}.dsp-global-error{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}@media (width<=1024px){.dsp-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.dsp-page{padding:16px}.dsp-grid{grid-template-columns:1fr;gap:12px}.dsp-market-index{font-size:20px}.dsp-market-stat-value{font-size:16px}}.sw-page{color:#fafafa;max-width:1440px;margin:0 auto;padding:32px 24px 80px;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sw-page-header{margin-bottom:24px}.sw-page-title{letter-spacing:-.01em;color:#fafafa;font-size:22px;font-weight:600}.sw-page-subtitle{color:#a1a1aa;margin-top:4px;font-size:13px;line-height:1.5}.sw-banner{border-radius:6px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.sw-banner-warning{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b4d}.sw-banner-success{color:#22c55e;background:#22c55e14;border:1px solid #22c55e4d}.sw-banner-error{color:#ef4444;background:#ef444414;border:1px solid #ef44444d}.sw-banner-icon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.sw-banner-title{color:#fafafa;margin-bottom:2px;font-weight:600}.sw-banner-desc{color:#a1a1aa;font-size:12px}.sw-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.sw-card{background:#18181b;border:1px solid #27272a;border-radius:8px;overflow:hidden}.sw-card-header{background:#1f1f23;border-bottom:1px solid #27272a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.sw-card-title{color:#fafafa;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.sw-dot{background:#3b82f6;border-radius:2px;flex-shrink:0;width:8px;height:8px}.sw-dot-warning{background:#f59e0b}.sw-dot-up{background:#ef4444}.sw-hint-text{color:#71717a;font-size:11px}.sw-card-body{padding:20px}.sw-card-footer{border-top:1px solid #27272a;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;display:flex}.sw-preset-group{flex-wrap:wrap;gap:8px;display:flex}.sw-preset-btn{color:#a1a1aa;cursor:pointer;background:#18181b;border:1px solid #27272a;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.sw-preset-btn:hover:not(:disabled){color:#fafafa;background:#1f1f23;border-color:#3f3f46}.sw-preset-btn.is-selected{color:#fff;background:#3b82f6;border-color:#3b82f6}.sw-preset-btn:focus-visible{outline-offset:2px;outline:2px solid #3f3f46}.sw-preset-btn:disabled{opacity:.5;cursor:not-allowed}.sw-preset-btn:active:not(:disabled){transition:transform .1s ease-out;transform:scale(.97)}.sw-preset-desc{color:#ffffffb3;font-size:11px;font-weight:400}.sw-custom-hint{color:#71717a;border:1px dashed #27272a;border-radius:6px;align-items:center;gap:4px;height:40px;padding:4px 10px;font-size:12px;display:inline-flex}.sw-preset-hint-text{color:#71717a;margin-top:8px;font-size:12px}.sw-slider-header{color:#71717a;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #27272a;grid-template-columns:140px 1fr 56px;gap:12px;margin-bottom:4px;padding:0 0 8px;font-size:11px;font-weight:600;display:grid}.sw-slider-header-right{text-align:right}.sw-weight-row{cursor:default;border-radius:6px;grid-template-columns:140px 1fr 56px;align-items:center;gap:12px;padding:8px 0;transition:background .15s ease-out;display:grid}.sw-weight-row:hover{background:#1f1f2380}.sw-weight-row+.sw-weight-row{border-top:1px solid #27272a}.sw-weight-label{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font-size:14px;font-weight:500;overflow:hidden}.sw-label-normal{color:#fafafa}.sw-label-muted{color:#71717a}.sw-slider-wrap{position:relative}.sw-slider{appearance:none;cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.sw-slider:disabled{opacity:.5;cursor:not-allowed}.sw-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#fafafa;border:2px solid #3b82f6;border-radius:50%;width:18px;height:18px;transition:box-shadow .15s ease-out;box-shadow:0 0 0 3px #3b82f626}.sw-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px #3b82f64d}.sw-slider::-moz-range-thumb{cursor:grab;background:#fafafa;border:2px solid #3b82f6;border-radius:50%;width:18px;height:18px}.sw-weight-value{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:600}.sw-value-normal{color:#a1a1aa}.sw-value-high{color:#ef4444}.sw-value-zero{color:#71717a}.sw-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s ease-out,border-color .15s ease-out,transform .1s ease-out;display:inline-flex}.sw-btn:active:not(:disabled){transform:scale(.97)}.sw-btn-primary{color:#fff;background:#3b82f6}.sw-btn-primary:hover:not(:disabled){background:#2563eb}.sw-btn-primary:disabled{color:#ffffff80;cursor:not-allowed;opacity:.7;background:#1e3a8a}.sw-btn-ghost{color:#a1a1aa;background:0 0;border-color:#27272a}.sw-btn-ghost:hover:not(:disabled){color:#fafafa;background:#1f1f23;border-color:#3f3f46}.sw-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.sw-btn:focus-visible{outline-offset:2px;outline:2px solid #3f3f46}.sw-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite sw-spin}@keyframes sw-spin{to{transform:rotate(360deg)}}.sw-skeleton{background:linear-gradient(90deg,#1f1f23 25%,#27272a 50%,#1f1f23 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite sw-skeleton-pulse}@keyframes sw-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.sw-skeleton-row{grid-template-columns:140px 1fr 56px;align-items:center;gap:12px;padding:8px 0;display:grid}.sw-skeleton-row+.sw-skeleton-row{border-top:1px solid #27272a}.sw-sk-label{height:16px}.sw-sk-slider{border-radius:3px;height:6px}.sw-sk-value{height:16px}.sw-skeleton-preset{border-radius:8px;height:40px}.sw-preview-sticky{position:sticky;top:24px}.sw-preview-score{text-align:center;border-bottom:1px solid #27272a;padding:20px 16px}.sw-preview-label{letter-spacing:.08em;text-transform:uppercase;color:#a1a1aa;margin-bottom:8px;font-size:11px;font-weight:600}.sw-preview-number{letter-spacing:-.03em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:40px;font-weight:700;transition:color .15s ease-out}.sw-pn-up{color:#ef4444}.sw-pn-down{color:#22c55e}.sw-preview-range{color:#71717a;margin-top:4px;font-size:11px}.sw-preview-dimensions{padding:12px 16px}.sw-prev-dim-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.sw-prev-dim-row+.sw-prev-dim-row{border-top:1px solid #27272a99}.sw-prev-dim-name{color:#a1a1aa;align-items:center;gap:6px;display:flex}.sw-dim-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.sw-dim-dot-up{background:#3b82f6}.sw-dim-dot-down{background:#22c55e}.sw-dim-dot-neutral{background:#71717a}.sw-prev-dim-val{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600}.sw-dim-val-plus{color:#ef4444}.sw-dim-val-minus{color:#22c55e}.sw-dim-val-zero{color:#71717a}.sw-preview-total{background:#1f1f23;border-top:1px solid #27272a;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.sw-preview-total-label{color:#a1a1aa;font-weight:500}.sw-preview-total-right{align-items:center;gap:12px;display:flex}.sw-preview-raw{color:#71717a;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.sw-preview-weighted{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:700}.sw-preview-note{background:#18181b;border:1px solid #27272a;border-radius:6px;margin-top:12px;padding:12px 16px}.sw-preview-note-text{color:#a1a1aa;font-size:12px;line-height:1.6}.sw-code{color:#fafafa;background:#1f1f23;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}@media (width<=767px){.sw-page{padding:20px 16px 80px}.sw-layout{grid-template-columns:1fr}.sw-preview-col .sw-preview-sticky{position:static}.sw-preset-group{flex-direction:column}.sw-preset-btn{justify-content:center;width:100%}.sw-card-footer{flex-direction:column;align-items:stretch}.sw-card-footer .sw-btn{justify-content:center;width:100%}.sw-weight-row,.sw-slider-header{grid-template-columns:100px 1fr 48px;gap:8px}.sw-weight-label,.sw-weight-value{font-size:13px}}.cmp-page{--cmp-bg:#09090b;--cmp-card:#18181b;--cmp-card-elevated:#1f1f23;--cmp-border:#27272a;--cmp-text-primary:#fafafa;--cmp-text-secondary:#a1a1aa;--cmp-text-muted:#71717a;--cmp-primary:#3b82f6;--cmp-up:#ef4444;--cmp-down:#22c55e;--cmp-info:#06b6d4;--cmp-kd-k:#2563eb;--cmp-kd-d:#f59e0b;--cmp-radius:8px;--cmp-radius-sm:6px;max-width:1440px;color:var(--cmp-text-primary);margin:0 auto;padding:24px 24px 48px;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cmp-page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.cmp-page-title{font-size:22px;font-weight:600}.cmp-page-subtitle{color:var(--cmp-text-secondary);font-size:12px}.cmp-toolbar{background:var(--cmp-card);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 16px;display:flex}.cmp-toolbar-left,.cmp-toolbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cmp-toolbar-stocks{flex-wrap:wrap;gap:6px;display:flex}.cmp-stock-chip{background:var(--cmp-card-elevated);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.cmp-stock-chip-remove{color:var(--cmp-text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.cmp-stock-chip-remove:hover{color:var(--cmp-up)}.cmp-timeframe-group{background:var(--cmp-bg);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius-sm);display:flex;overflow:hidden}.cmp-timeframe-btn{color:var(--cmp-text-muted);cursor:pointer;border:none;border-right:1px solid var(--cmp-border);background:0 0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.cmp-timeframe-btn:last-child{border-right:none}.cmp-timeframe-btn-active{background:var(--cmp-card-elevated);color:var(--cmp-text-primary)}.cmp-sync-chip{color:var(--cmp-info);background:#06b6d41a;border:1px solid #06b6d44d;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.cmp-sync-dot{background:var(--cmp-info);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite cmp-pulse}@keyframes cmp-pulse{0%,to{opacity:1}50%{opacity:.3}}.cmp-state{text-align:center;background:var(--cmp-card);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);color:var(--cmp-text-secondary);padding:40px 16px;font-size:13px}.cmp-state-error{color:var(--cmp-up)}.cmp-grid{gap:12px;display:grid}.cmp-grid.cmp-grid-1{grid-template-columns:1fr}.cmp-grid.cmp-grid-2{grid-template-columns:1fr 1fr}.cmp-grid.cmp-grid-3{grid-template-columns:1fr 1fr 1fr}.cmp-grid.cmp-grid-4{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}.cmp-cell{background:var(--cmp-card);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);flex-direction:column;display:flex;overflow:hidden}.cmp-cell-header{border-bottom:1px solid var(--cmp-border);justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.cmp-cell-stock-info{align-items:baseline;gap:6px;display:flex}.cmp-cell-stock-id{font-size:14px;font-weight:600}.cmp-cell-stock-name{color:var(--cmp-text-muted);font-size:12px}.cmp-cell-header-right{align-items:center;gap:8px;display:flex}.cmp-cell-price{align-items:baseline;gap:6px;display:flex}.cmp-cell-close{font-size:14px;font-weight:600}.cmp-cell-change{font-size:12px;font-weight:500}.cmp-up{color:var(--cmp-up)}.cmp-down{color:var(--cmp-down)}.cmp-cell-remove-btn{border-radius:var(--cmp-radius-sm);width:24px;height:24px;color:var(--cmp-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex}.cmp-cell-remove-btn:hover{color:var(--cmp-up);background:#ef44441a}.cmp-kd-legend{border-bottom:1px solid var(--cmp-border);align-items:center;gap:6px;padding:6px 12px;display:flex}.cmp-kd-pill{border-radius:var(--cmp-radius-sm);align-items:center;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.cmp-kd-pill-k{color:var(--cmp-kd-k);background:#2563eb26;border:1px solid #2563eb4d}.cmp-kd-pill-d{color:var(--cmp-kd-d);background:#f59e0b26;border:1px solid #f59e0b4d}.cmp-kd-pill-neutral{border:1px solid var(--cmp-border);color:var(--cmp-text-muted);background:#71717a26}.cmp-kd-pill-overbought{color:var(--cmp-up);background:#ef444426;border:1px solid #ef44444d}.cmp-kd-pill-oversold{color:var(--cmp-down);background:#22c55e26;border:1px solid #22c55e4d}.cmp-chart-canvas{background:var(--cmp-card);width:100%}.cmp-tabs-container{background:var(--cmp-card);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);overflow:hidden}.cmp-tab-list{border-bottom:1px solid var(--cmp-border);display:flex;overflow-x:auto}.cmp-tab-btn{min-width:64px;color:var(--cmp-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:10px 16px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s,background .15s}.cmp-tab-btn-active{color:var(--cmp-text-primary);background:var(--cmp-card-elevated);border-bottom-color:var(--cmp-primary)}@media (width<=767px){.cmp-page{padding:12px 12px 24px}.cmp-grid.cmp-grid-2,.cmp-grid.cmp-grid-3,.cmp-grid.cmp-grid-4{grid-template-columns:1fr}}.sp-page{max-width:720px;margin:0 auto;padding:32px 24px 48px}.sp-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.sp-title{color:#fafafa;margin:0 0 4px;font-size:22px;font-weight:700}.sp-subtitle{color:#71717a;margin:0;font-size:13px}.sp-panel{background:#18181b;border:1px solid #27272a;border-radius:12px;overflow:hidden}.sp-footer{border-top:1px solid #27272a;padding:16px 20px}@media (width<=767px){.sp-page{padding:16px 12px 32px}.sp-title{font-size:18px}}.schf-overlay{z-index:400;background:#0009;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.schf-dialog{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-lg);flex-direction:column;flex-shrink:0;width:100%;max-width:720px;display:flex;overflow:hidden}.schf-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.schf-title{color:var(--text-primary);font-size:16px;font-weight:600}.schf-close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--shell-radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1}.schf-close-btn:hover:not(:disabled){color:var(--text-primary)}.schf-close-btn:disabled{opacity:.4;cursor:not-allowed}.schf-body{flex-direction:column;gap:20px;max-height:calc(100vh - 220px);padding:20px;display:flex;overflow-y:auto}.schf-field{flex-direction:column;gap:6px;display:flex}.schf-label{color:var(--text-primary);font-size:13px;font-weight:500}.schf-label-hint{color:var(--text-tertiary);margin-left:6px;font-size:11px;font-weight:400}.schf-input{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding:8px 12px;font-size:13px}.schf-input:focus{border-color:var(--accent-primary)}.schf-input.has-error{border-color:var(--tw-danger)}.schf-input:disabled{opacity:.6;cursor:not-allowed}.schf-mono{font-family:var(--font-shell-mono);letter-spacing:.02em;font-size:13px}.schf-field-error{color:var(--tw-danger);align-items:center;gap:4px;font-size:12px;display:flex}.schf-cron-desc{margin-top:4px}.schf-cron-desc-label{color:var(--text-tertiary);margin-bottom:6px;font-size:12px;display:block}.schf-cron-examples{flex-wrap:wrap;gap:6px;display:flex}.schf-cron-example-btn{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--shell-radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;display:inline-flex}.schf-cron-example-btn:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-muted)}.schf-cron-example-btn:disabled{opacity:.45;cursor:not-allowed}.schf-cron-example-btn code{font-family:var(--font-shell-mono);color:var(--accent-secondary);letter-spacing:.02em;font-size:12px}.schf-cron-example-desc{color:var(--text-tertiary);font-size:11px}.schf-conditions-note{color:var(--text-tertiary);font-size:12px;line-height:1.5}.schf-conditions-wrap{border:1px solid var(--border-default);border-radius:var(--shell-radius-md);overflow:hidden}.schf-submit-error{background:var(--tw-danger-muted);border:1px solid var(--tw-danger);border-radius:var(--shell-radius-md);color:var(--tw-danger);padding:10px 14px;font-size:13px}.schf-footer{border-top:1px solid var(--border-default);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.schf-btn-cancel{border:1px solid var(--border-default);border-radius:var(--shell-radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:7px 16px;font-size:13px}.schf-btn-cancel:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary)}.schf-btn-cancel:disabled{opacity:.45;cursor:not-allowed}.schf-btn-save{background:var(--accent-primary);border-radius:var(--shell-radius-md);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);border:none;padding:7px 18px;font-size:13px;font-weight:500}.schf-btn-save:hover:not(:disabled){background:var(--accent-hover)}.schf-btn-save:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.schf-overlay{align-items:flex-end;padding:0}.schf-dialog{border-radius:var(--shell-radius-lg) var(--shell-radius-lg) 0 0;max-width:100%}.schf-body{max-height:65vh}.schf-cron-examples{flex-direction:column}}.sht-backdrop{z-index:300;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sht-panel{background:var(--bg-surface);border-top:1px solid var(--border-default);border-radius:var(--shell-radius-lg) var(--shell-radius-lg) 0 0;flex-direction:column;width:100%;max-width:900px;max-height:70vh;display:flex;overflow:hidden}.sht-header{border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.sht-title{color:var(--text-primary);font-size:16px;font-weight:600}.sht-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.sht-close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--shell-radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1}.sht-close-btn:hover{color:var(--text-primary)}.sht-body{flex:1;padding:16px 20px;overflow-y:auto}.sht-status{text-align:center;color:var(--text-secondary);padding:32px 0;font-size:14px}.sht-status.is-error{color:var(--tw-danger)}.sht-retry-btn{background:var(--accent-primary);color:var(--text-primary);border-radius:var(--shell-radius-md);cursor:pointer;transition:background var(--transition-fast);border:none;padding:6px 14px;font-size:13px}.sht-retry-btn:hover{background:var(--accent-hover)}.sht-table-wrap{width:100%;overflow-x:auto}.sht-table{border-collapse:collapse;width:100%;font-size:13px}.sht-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-default);white-space:nowrap;padding:8px 12px;font-size:11px;font-weight:500}.sht-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:10px 12px}.sht-table tr:last-child td{border-bottom:none}.sht-mono{font-family:var(--font-shell-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.sht-error-msg{color:var(--tw-danger);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:12px;overflow:hidden}.sht-badge{white-space:nowrap;border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.sht-badge.is-success{background:var(--tw-success-muted);color:var(--tw-success)}.sht-badge.is-running{background:var(--accent-muted);color:var(--accent-primary)}.sht-badge.is-failed{background:var(--tw-danger-muted);color:var(--tw-danger)}@media (width<=640px){.sht-panel{max-height:80vh}.sht-header{padding:12px 16px 10px}.sht-body{padding:12px 16px}.sht-table th,.sht-table td{padding:8px}}.sch-page{max-width:1200px;color:var(--text-primary);min-height:calc(100vh - 110px);margin:0 auto;padding:24px 24px 48px}.sch-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.sch-page-title{letter-spacing:-.01em;color:var(--text-primary);font-size:22px;font-weight:600}.sch-page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.sch-header-actions{align-items:center;gap:10px;display:flex}.sch-status-box{text-align:center;color:var(--text-secondary);padding:48px 0;font-size:14px}.sch-status-box.is-error{color:var(--tw-danger)}.sch-retry-btn{background:var(--accent-primary);color:var(--text-primary);border-radius:var(--shell-radius-md);cursor:pointer;transition:background var(--transition-fast);border:none;margin-top:12px;padding:6px 16px;font-size:13px}.sch-retry-btn:hover{background:var(--accent-hover)}.sch-table-wrap{border-radius:var(--shell-radius-lg);border:1px solid var(--border-default);background:var(--bg-surface);width:100%;overflow-x:auto}.sch-table{border-collapse:collapse;width:100%;font-size:13px}.sch-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-default);background:var(--bg-elevated);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:500}.sch-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:12px 14px}.sch-table tr:last-child td{border-bottom:none}.sch-table tr:hover td{background:var(--bg-elevated)}.sch-name-cell{font-weight:500}.sch-cron-cell{font-family:var(--font-shell-mono);color:var(--text-secondary);font-size:12px}.sch-datetime-cell{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.sch-badge{white-space:nowrap;border-radius:9999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.sch-badge.is-enabled{background:var(--tw-success-muted);color:var(--tw-success)}.sch-badge.is-disabled{background:var(--bg-overlay);color:var(--text-tertiary)}.sch-actions-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sch-icon-btn{border-radius:var(--shell-radius-sm);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;padding:5px 8px;font-size:12px}.sch-icon-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.sch-icon-btn.is-run{color:var(--accent-secondary);border-color:var(--accent-secondary)}.sch-icon-btn.is-run:hover{background:#06b6d414}.sch-icon-btn.is-danger{color:var(--tw-danger);border-color:var(--tw-danger)}.sch-icon-btn.is-danger:hover{background:var(--tw-danger-muted)}.sch-icon-btn:disabled{opacity:.45;cursor:not-allowed}.sch-switch-wrap{align-items:center;gap:6px;display:flex}.sch-switch{cursor:pointer;width:34px;height:18px;display:inline-block;position:relative}.sch-switch input{opacity:0;width:0;height:0;position:absolute}.sch-switch-track{background:var(--bg-overlay);border:1px solid var(--border-default);transition:background var(--transition-fast);border-radius:9999px;position:absolute;inset:0}.sch-switch input:checked+.sch-switch-track{background:var(--accent-primary);border-color:var(--accent-primary)}.sch-switch-thumb{background:var(--text-primary);width:12px;height:12px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.sch-switch input:checked~.sch-switch-thumb{transform:translate(16px)}.sch-create-btn{background:var(--accent-primary);color:var(--text-primary);border-radius:var(--shell-radius-md);cursor:pointer;transition:background var(--transition-fast);border:none;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.sch-create-btn:hover{background:var(--accent-hover)}.sch-history-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width<=640px){.sch-page{padding:16px 12px 32px}.sch-page-title{font-size:18px}.sch-table th,.sch-table td{padding:8px 10px}}.ntf-page{max-width:900px;color:var(--text-primary);min-height:calc(100vh - 110px);margin:0 auto;padding:32px 24px 80px}.ntf-page-header{margin-bottom:24px}.ntf-page-title{letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.ntf-page-subtitle{color:var(--text-secondary);margin-top:3px;font-size:12px}.ntf-section-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);margin-bottom:16px;overflow:hidden}.ntf-section-header{border-bottom:1px solid var(--border-default);background:var(--bg-elevated);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ntf-section-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ntf-section-hint{color:var(--text-tertiary);font-size:11px}.ntf-section-body{padding:16px}.ntf-section-footer{border-top:1px solid var(--border-default);justify-content:flex-end;padding:12px 16px;display:flex}.ntf-switch{cursor:pointer;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.ntf-switch input{opacity:0;width:0;height:0;position:absolute}.ntf-switch-track{background:var(--border-strong);transition:background var(--transition-base);cursor:pointer;border-radius:10px;position:absolute;inset:0}.ntf-switch input:checked+.ntf-switch-track{background:var(--tw-success)}.ntf-switch-thumb{background:var(--text-primary);width:16px;height:16px;transition:transform var(--transition-base);pointer-events:none;border-radius:50%;position:absolute;top:2px;left:2px}.ntf-switch input:checked~.ntf-switch-thumb{transform:translate(16px)}.ntf-switch input:disabled+.ntf-switch-track{opacity:.5;cursor:not-allowed}.ntf-channel-row{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.ntf-channel-row--last{border-bottom:none;padding-bottom:0}.ntf-channel-row:first-child{padding-top:0}.ntf-channel-info{align-items:center;gap:12px;display:flex}.ntf-channel-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ntf-channel-icon--line{background:var(--tw-success-muted);color:var(--tw-success)}.ntf-channel-icon--email{background:var(--accent-muted);color:var(--accent-primary)}.ntf-channel-name{color:var(--text-primary);font-size:13px;font-weight:600}.ntf-channel-desc{color:var(--text-tertiary);margin-top:1px;font-size:11px}.ntf-channel-controls{align-items:center;gap:10px;display:flex}.ntf-channel-status{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:600}.ntf-channel-status--on{background:var(--tw-success-muted);color:var(--tw-success);border:1px solid #22c55e4d}.ntf-channel-status--off{background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-default)}.ntf-pref-row{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.ntf-pref-row--last{border-bottom:none;padding-bottom:0}.ntf-pref-row:first-child{padding-top:0}.ntf-pref-info{flex:1}.ntf-pref-name{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.ntf-pref-desc{color:var(--text-tertiary);margin-top:2px;font-size:11px}.ntf-pref-badge{letter-spacing:.03em;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.ntf-pref-badge--success{background:var(--tw-success-muted);color:var(--tw-success);border:1px solid #22c55e40}.ntf-pref-badge--partial{background:var(--tw-warning-muted);color:var(--tw-warning);border:1px solid #f59e0b40}.ntf-pref-badge--failed{background:var(--tw-danger-muted);color:var(--tw-danger);border:1px solid #ef444440}.ntf-history-header{border-bottom:1px solid var(--border-default);background:var(--bg-elevated);grid-template-columns:52px 1fr 80px 72px 60px;gap:8px;padding:8px 16px 6px;display:grid}.ntf-col-label{color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.ntf-col-center{text-align:center}.ntf-history-row{border-bottom:1px solid var(--border-default);transition:background var(--transition-fast);grid-template-columns:52px 1fr 80px 72px 60px;align-items:center;gap:8px;padding:10px 16px;display:grid}.ntf-history-row:last-child{border-bottom:none}.ntf-history-row:hover{background:var(--bg-elevated)}.ntf-history-row--skeleton{cursor:default}.ntf-channel-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.ntf-channel-badge--line{background:var(--tw-success-muted);color:var(--tw-success);border:1px solid #22c55e40}.ntf-channel-badge--email{background:var(--accent-muted);color:var(--accent-primary);border:1px solid #3b82f640}.ntf-history-subject{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ntf-history-time{color:var(--text-tertiary);font-size:11px;font-family:var(--font-shell-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.ntf-status-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:600}.ntf-status-badge--sent{background:var(--tw-success-muted);color:var(--tw-success);border:1px solid #22c55e40}.ntf-status-badge--retrying{background:var(--tw-warning-muted);color:var(--tw-warning);border:1px solid #f59e0b40}.ntf-status-badge--failed{background:var(--tw-danger-muted);color:var(--tw-danger);border:1px solid #ef444440}.ntf-retry-count{color:var(--text-tertiary);font-size:11px;font-family:var(--font-shell-mono);text-align:center}.ntf-retry-count--warning{color:var(--tw-warning)}.ntf-retry-count--error{color:var(--tw-danger)}.ntf-history-empty{text-align:center;color:var(--text-tertiary);flex-direction:column;align-items:center;gap:10px;padding:32px 24px;font-size:12px;display:flex}.ntf-history-footer{border-top:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:10px 16px;font-size:11px;display:flex}.ntf-pagination{gap:4px;display:flex}.ntf-page-btn{border:1px solid var(--border-default);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border-radius:4px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;display:flex}.ntf-page-btn:hover{background:var(--bg-surface)}.ntf-page-btn--active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.ntf-page-btn:disabled{opacity:.4;cursor:not-allowed}.ntf-save-btn{background:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--shell-radius-sm);height:32px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.ntf-save-btn:hover:not(:disabled){background:var(--accent-hover)}.ntf-save-btn:disabled{opacity:.6;cursor:not-allowed}.ntf-btn-ghost{border:1px solid var(--border-default);border-radius:var(--shell-radius-sm);height:36px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.ntf-btn-ghost:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.ntf-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.ntf-btn-ghost--sm{height:28px;padding:0 10px;font-size:11px}.ntf-btn-line{background:var(--tw-success-muted);border-radius:var(--shell-radius-sm);height:36px;color:var(--tw-success);cursor:pointer;transition:background var(--transition-fast);border:1px solid #22c55e4d;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ntf-btn-line:hover{background:#22c55e2e}.ntf-retry-btn{background:var(--accent-primary);color:var(--text-primary);border-radius:var(--shell-radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;margin-top:8px;padding:5px 14px;font-family:inherit;font-size:12px}.ntf-retry-btn:hover{background:var(--accent-hover)}.ntf-error-box{text-align:center;color:var(--tw-danger);flex-direction:column;align-items:center;gap:8px;padding:16px;font-size:13px;display:flex}@keyframes ntf-shimmer{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.ntf-skeleton-line{background:var(--bg-elevated);border-radius:4px;height:11px;animation:1.4s ease-in-out infinite ntf-shimmer}.ntf-skeleton-pill{background:var(--bg-elevated);border-radius:10px;height:20px;animation:1.4s ease-in-out infinite ntf-shimmer}.ntf-bind-skeleton{flex-direction:column;gap:10px;padding:20px 16px;display:flex}.ntf-bind-body{padding:16px}.ntf-bind-indicator{border-radius:var(--shell-radius-sm);border:1px solid;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:500;display:flex}.ntf-bind-indicator--bound{background:var(--tw-success-muted);color:var(--tw-success);border-color:#22c55e4d}.ntf-bind-indicator--unbound{background:var(--tw-warning-muted);color:var(--tw-warning);border-color:#f59e0b4d}.ntf-bind-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ntf-bind-dot--bound{background:var(--tw-success)}.ntf-bind-dot--unbound{background:var(--tw-warning)}.ntf-bind-indicator-title{font-weight:700}.ntf-bind-indicator-meta{opacity:.8;margin-left:6px;font-size:11px;font-weight:400}.ntf-bind-bound-footer{color:var(--text-tertiary);align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.ntf-bind-bound-hint{flex:1}.ntf-bind-wrap{flex-direction:column;gap:16px;display:flex}.ntf-qr-wrap{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.ntf-qr-label{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.ntf-qr-box{border:1px solid var(--border-default);border-radius:var(--shell-radius-md);background:var(--bg-elevated);flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative;overflow:hidden}.ntf-qr-grid{background-image:repeating-linear-gradient(0deg, var(--border-strong) 0px, var(--border-strong) 3px, transparent 3px, transparent 6px), repeating-linear-gradient(90deg, var(--border-strong) 0px, var(--border-strong) 3px, transparent 3px, transparent 6px);opacity:.3;border-radius:4px;position:absolute;inset:15px}.ntf-qr-overlay{background:var(--bg-elevated);width:28px;height:28px;color:var(--tw-success);border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex;position:absolute}.ntf-qr-info{flex:1;min-width:160px}.ntf-qr-oa-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:700}.ntf-qr-hint{color:var(--text-secondary);margin-bottom:12px;font-size:12px;line-height:1.6}.ntf-bind-actions{flex-wrap:wrap;gap:8px;display:flex}.ntf-steps-label{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600}.ntf-steps{flex-direction:column;gap:12px;display:flex}.ntf-step{align-items:flex-start;gap:12px;display:flex}.ntf-step-num{background:var(--accent-muted);width:24px;height:24px;color:var(--accent-primary);border:1px solid #3b82f64d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;display:flex}.ntf-step-content{flex:1}.ntf-step-title{color:var(--text-primary);font-size:13px;font-weight:500}.ntf-step-desc{color:var(--text-tertiary);margin-top:2px;font-size:11px}.ntf-inline-code{background:var(--bg-elevated);font-family:var(--font-shell-mono);border-radius:3px;padding:1px 5px;font-size:11px}.ntf-poll-hint{color:var(--text-tertiary);text-align:center;margin-top:12px;font-size:11px}@media (width<=767px){.ntf-page{padding:16px 16px 60px}.ntf-history-header,.ntf-history-row{grid-template-columns:46px 1fr 62px 46px}.ntf-col-label:last-child,.ntf-retry-count{display:none}.ntf-qr-wrap{flex-direction:column;align-items:center}.ntf-bind-bound-footer{flex-direction:column;align-items:flex-start}}.tw-admin-shell{background:var(--bg-base);height:100vh;color:var(--text-primary);font-family:var(--font-shell-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;display:flex;overflow:hidden}.tw-admin-sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow-y:auto}.tw-admin-brand{height:var(--topnav-height);border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.tw-admin-brand-icon{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-radius:var(--shell-radius-sm);color:#fff;place-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:grid}.tw-admin-brand-text{color:var(--text-primary);font-size:14px;font-weight:600}.tw-admin-brand-tag{color:var(--text-tertiary);letter-spacing:.05em;border:1px solid var(--border-strong);border-radius:var(--shell-radius-sm);margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.tw-admin-section{border-bottom:1px solid var(--border-default);padding:8px 0}.tw-admin-section-title{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;padding:8px 16px 4px;font-size:10px;font-weight:600}.tw-admin-nav-item{color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:10px;padding:8px 14px;font-size:13px;text-decoration:none;display:flex;position:relative}.tw-admin-nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.tw-admin-nav-item--active{background:var(--accent-muted);color:var(--accent-primary);font-weight:500}.tw-admin-nav-item--active:before{content:"";background:var(--accent-primary);width:3px;position:absolute;top:0;bottom:0;left:0}.tw-admin-nav-num{min-width:18px;height:18px;color:var(--text-tertiary);background:var(--bg-elevated);font-size:11px;font-weight:600;font-family:var(--font-shell-mono);border-radius:3px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.tw-admin-nav-item--active .tw-admin-nav-num{background:var(--accent-primary);color:var(--text-inverse)}.tw-admin-sidebar-footer{border-top:1px solid var(--border-default);margin-top:auto;padding:12px 16px}.tw-admin-user-card{align-items:center;gap:10px;display:flex}.tw-admin-user-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;text-transform:uppercase;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:grid}.tw-admin-user-info{flex-direction:column;min-width:0;display:flex}.tw-admin-user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.tw-admin-user-role{color:var(--text-tertiary);font-size:10px}.tw-admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.tw-admin-topnav{height:var(--topnav-height);background:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:14px;padding:0 24px;display:flex}.tw-admin-topnav-title{color:var(--text-primary);font-size:14px;font-weight:600}.tw-admin-topnav-spacer{flex:1}.tw-admin-pill{background:var(--accent-muted);height:24px;color:var(--accent-primary);border:1px solid #3b82f640;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.tw-admin-pill-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.tw-admin-content{background:var(--bg-base);flex:1;padding:24px 28px;overflow-y:auto}@media (width<=767px){.tw-admin-sidebar{z-index:50;transition:transform var(--transition-base);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.tw-admin-sidebar.is-open{transform:translate(0)}.tw-admin-content{padding:16px}}.ind-page{max-width:1440px;padding:20px 24px}.ind-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.ind-page-title{color:var(--text-primary);margin-bottom:2px;font-size:18px;font-weight:600}.ind-page-subtitle{color:var(--text-tertiary);font-size:12px}.ind-page-actions{align-items:center;gap:8px;display:flex}.ind-window-tabs{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);gap:4px;padding:3px;display:flex}.ind-window-tab{cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary);font-size:12px;font-weight:500;font-family:var(--font-shell-mono);background:0 0;border:none;border-radius:6px;padding:4px 12px}.ind-window-tab.active{background:var(--bg-elevated);color:var(--text-primary)}.ind-window-tab:not(.active):hover{color:var(--text-secondary)}.ind-summary-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.ind-summary-chip{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);align-items:center;gap:8px;min-width:140px;padding:8px 12px;display:flex}.ind-summary-chip-rank{font-size:18px;font-weight:700;font-family:var(--font-shell-mono);color:var(--text-tertiary);line-height:1}.ind-summary-chip-rank.rank1{color:var(--tw-danger)}.ind-summary-chip-rank.rank2{color:var(--tw-warning)}.ind-summary-chip-rank.rank3{color:var(--text-secondary)}.ind-summary-chip-info{min-width:0}.ind-summary-chip-name{color:var(--text-primary);font-size:12px;font-weight:600}.ind-summary-chip-pct{font-size:11px;font-family:var(--font-shell-mono)}.ind-strength-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-lg);transition:border-color var(--transition-fast);overflow:hidden}.ind-strength-card:hover{border-color:var(--border-strong)}.ind-card-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ind-card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ind-card-title-icon{width:16px;height:16px;color:var(--accent-primary)}.ind-card-meta{color:var(--text-tertiary);font-size:11px;font-family:var(--font-shell-mono)}.ind-data-table{border-collapse:collapse;width:100%}.ind-data-table th{color:var(--text-tertiary);text-align:left;border-bottom:1px solid var(--border-default);background:var(--bg-elevated);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:8px 16px;font-size:11px;font-weight:600}.ind-data-table th.sortable{cursor:pointer;transition:color var(--transition-fast)}.ind-data-table th.sortable:hover{color:var(--text-secondary)}.ind-data-table th.sort-active{color:var(--accent-primary)}.ind-data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px 16px;font-size:13px}.ind-data-table tr:last-child td{border-bottom:none}.ind-data-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.ind-data-table tbody tr:hover{background:var(--bg-elevated)}.ind-data-table tbody tr:hover .ind-industry-name-link{color:var(--accent-primary)}.ind-industry-name-link{color:var(--text-primary);transition:color var(--transition-fast);align-items:center;gap:6px;font-weight:500;display:flex}.ind-industry-name-arrow{opacity:0;width:12px;height:12px;transition:opacity var(--transition-fast);flex-shrink:0}.ind-data-table tbody tr:hover .ind-industry-name-arrow{opacity:1}.ind-rank-num{font-size:11px;font-family:var(--font-shell-mono);color:var(--text-tertiary);min-width:20px}.ind-rank-num.top3{color:var(--accent-primary);font-weight:700}.ind-pct-val{font-family:var(--font-shell-mono);font-size:13px;font-weight:600}.ind-pct-val.up{color:var(--tw-danger)}.ind-pct-val.down{color:var(--tw-success)}.ind-pct-val.flat{color:var(--text-tertiary)}.ind-zscore-cell{align-items:center;gap:8px;display:flex}.ind-zscore-val{font-family:var(--font-shell-mono);text-align:right;min-width:40px;font-size:12px}.ind-zscore-val.strong-pos{color:var(--tw-danger)}.ind-zscore-val.weak-pos{color:var(--tw-warning)}.ind-zscore-val.neutral{color:var(--text-tertiary)}.ind-zscore-val.weak-neg{color:var(--text-secondary)}.ind-zscore-val.strong-neg{color:var(--tw-success)}.ind-zscore-bar-track{background:var(--bg-overlay);border-radius:2px;flex:1;max-width:80px;height:4px;position:relative}.ind-zscore-bar-fill{height:4px;transition:width var(--transition-base);border-radius:2px;position:absolute;top:0}.ind-zscore-bar-fill.pos{background:var(--tw-danger);left:50%}.ind-zscore-bar-fill.neg{background:var(--tw-success);right:50%}.ind-stock-count-cell{align-items:center;gap:8px;display:flex}.ind-stock-count-num{font-family:var(--font-shell-mono);color:var(--text-primary);min-width:28px;font-size:13px}.ind-leading-stocks{gap:4px;display:flex}.ind-stock-chip{font-size:10px;font-family:var(--font-shell-mono);background:var(--bg-overlay);color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:3px;padding:1px 5px}.ind-sparkbar{align-items:flex-end;gap:2px;height:20px;display:flex}.ind-sparkbar-bar{width:4px;transition:opacity var(--transition-fast);border-radius:1px}.ind-sparkbar-bar.up{background:var(--tw-danger)}.ind-sparkbar-bar.down{background:var(--tw-success)}.ind-badge{border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.ind-badge-up{background:var(--tw-danger-muted);color:var(--tw-danger)}.ind-badge-down{background:var(--tw-success-muted);color:var(--tw-success)}.ind-badge-info{background:var(--accent-muted);color:var(--accent-primary)}.ind-badge-neutral{background:var(--bg-overlay);color:var(--text-tertiary)}@keyframes ind-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ind-skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-overlay) 50%, var(--bg-elevated) 75%);border-radius:var(--shell-radius-sm);background-size:800px 100%;animation:1.4s linear infinite ind-shimmer}.ind-skeleton-row td{padding:12px 16px}.ind-skeleton-cell{height:14px}.ind-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;display:flex}.ind-empty-icon{width:40px;height:40px;color:var(--text-tertiary);opacity:.5}.ind-empty-title{color:var(--text-secondary);font-size:14px;font-weight:500}.ind-empty-desc{color:var(--text-tertiary);text-align:center;max-width:240px;font-size:12px}.ind-table-footer{border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.ind-table-footer-text{color:var(--text-tertiary);font-size:12px}.ind-btn{border-radius:var(--shell-radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:13px;font-weight:500;font-family:var(--font-shell-sans);border:none;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.ind-btn-outline{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.ind-btn-outline:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.ind-btn-ghost{color:var(--text-secondary);background:0 0}.ind-btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.ind-detail-page{max-width:1440px;padding:20px 24px}.ind-hero{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-lg);margin-bottom:20px;padding:20px 24px}.ind-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.ind-back-btn{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);font-size:12px;font-family:var(--font-shell-sans);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.ind-back-btn:hover{color:var(--text-secondary)}.ind-back-btn svg{width:14px;height:14px}.ind-hero-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.ind-hero-name{color:var(--text-primary);letter-spacing:-.01em;font-size:22px;font-weight:700}.ind-hero-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.ind-hero-meta-item{color:var(--text-tertiary);font-size:12px}.ind-hero-meta-sep{color:var(--border-strong)}.ind-hero-meta-value{font-family:var(--font-shell-mono);font-size:16px;font-weight:600}.ind-hero-meta-value.up{color:var(--tw-danger)}.ind-hero-meta-value.down{color:var(--tw-success)}.ind-hero-meta-value.flat{color:var(--text-tertiary)}.ind-sparkline-block{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);align-items:center;gap:12px;padding:10px 16px;display:flex}.ind-sparkline-label{color:var(--text-tertiary);min-width:48px;font-size:11px}.ind-sparkline-caption{font-size:11px;font-family:var(--font-shell-mono)}.ind-stat-pills{flex-wrap:wrap;gap:12px;display:flex}.ind-stat-pill{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);min-width:100px;padding:10px 16px}.ind-stat-pill-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:4px;font-size:10px;font-weight:600}.ind-stat-pill-value{font-size:18px;font-weight:700;font-family:var(--font-shell-mono);color:var(--text-primary);line-height:1}.ind-stat-pill-value.up{color:var(--tw-danger)}.ind-stat-pill-value.down{color:var(--tw-success)}.ind-stat-pill-sub{color:var(--text-tertiary);font-size:11px;font-family:var(--font-shell-mono);margin-top:2px}.ind-comparison-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-lg);margin-bottom:20px;padding:16px 20px}.ind-comparison-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.ind-comparison-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ind-comparison-item{flex-direction:column;gap:6px;display:flex}.ind-comparison-item-header{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:11px;display:flex}.ind-legend-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.ind-comparison-chart-area{background:var(--bg-elevated);border-radius:var(--shell-radius-sm);height:48px;position:relative;overflow:hidden}.ind-comparison-chart-area svg{position:absolute;inset:0}.ind-stocks-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--shell-radius-lg);margin-bottom:20px;overflow:hidden}.ind-stocks-section-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.ind-stocks-section-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ind-search-input{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--shell-radius-md);color:var(--text-primary);font-size:12px;font-family:var(--font-shell-sans);transition:border-color var(--transition-fast);outline:none;width:160px;padding:5px 10px}.ind-search-input::placeholder{color:var(--text-tertiary)}.ind-search-input:focus{border-color:var(--accent-primary)}.ind-stock-name-cell{flex-direction:column;gap:2px;display:flex}.ind-stock-id{font-size:11px;font-family:var(--font-shell-mono);color:var(--text-tertiary)}.ind-stock-name{color:var(--text-primary);transition:color var(--transition-fast);font-size:13px;font-weight:500}.ind-data-table tbody tr:hover .ind-stock-name{color:var(--accent-primary)}.ind-close-val{font-family:var(--font-shell-mono);color:var(--text-primary);font-size:13px}.ind-vol-val{font-family:var(--font-shell-mono);color:var(--text-secondary);font-size:12px}.ind-rank-badge{font-size:10px;font-family:var(--font-shell-mono);background:var(--bg-overlay);color:var(--text-tertiary);text-align:center;border-radius:3px;min-width:24px;padding:2px 6px;display:inline-block}.ind-rank-badge.top{background:var(--accent-muted);color:var(--accent-primary)}.ind-vol-bar-wrap{align-items:center;gap:8px;display:flex}.ind-vol-bar-track{background:var(--bg-overlay);border-radius:2px;flex:1;max-width:60px;height:3px}.ind-vol-bar-fill{background:var(--accent-secondary);border-radius:2px;height:3px}@media (width<=767px){.ind-page,.ind-detail-page{padding:12px 12px 76px}.ind-col-zscore-bar,.ind-col-sparkbar,.ind-leading-stocks{display:none}.ind-data-table th,.ind-data-table td{padding:8px 10px}.ind-summary-bar{gap:6px}.ind-summary-chip{min-width:120px;padding:6px 10px}.ind-page-actions .ind-window-tabs{display:none}.ind-window-tabs-mobile{margin-bottom:12px;display:flex!important}.ind-hero-name{font-size:18px}.ind-stat-pills{gap:8px}.ind-stat-pill{min-width:80px;padding:8px 12px}.ind-stat-pill-value{font-size:15px}.ind-comparison-grid{grid-template-columns:1fr}.ind-col-vol-bar,.ind-col-rank{display:none}.ind-search-input{width:120px}.ind-sparkline-block{flex-wrap:wrap}}@media (width>=768px){.ind-window-tabs-mobile{display:none}}
