@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.absolute{position:absolute}.relative{position:relative}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.rounded{border-radius:.25rem}.border{border-width:1px}.p-2{padding:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.outline{outline-style:solid}.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)}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}*,:before,:after{box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808059;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8080808c}.trading-card{border:1px solid #e5e5e5;border-radius:12px;padding:20px}.trading-card-hover{border-color:#cfcfcf}.loading-pulse{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.text-muted{color:#6b6b6b}@media (prefers-color-scheme:dark){.trading-card{border-color:#2b2b2b}.trading-card-hover{border-color:#444}.text-muted{color:#a1a1a1}}html{scroll-behavior:smooth}[id]{scroll-margin-top:88px}.portfolio-site{--portfolio-background:#f4f8f5;--portfolio-background-soft:#f8fcf8;--portfolio-surface:#ffffffdb;--portfolio-surface-solid:#fff;--portfolio-surface-muted:#f1f4f7e0;--portfolio-text:#182b18;--portfolio-text-secondary:#657083;--portfolio-text-muted:#8a94a3;--portfolio-border:#0f172a1a;--portfolio-border-subtle:#0f172a13;--portfolio-border-strong:#0f172a2b;--portfolio-accent:#4f9f24;--portfolio-accent-soft:#4f9f2417;--portfolio-button-text:#fff;--portfolio-blue:#477dcc;--portfolio-blue-soft:#477dcc11;--portfolio-shadow:#0f172a14;--portfolio-shadow-hover:#0f172a24;background:radial-gradient(circle at 8% 6%, #689bff13, transparent 30rem), radial-gradient(circle at 92% 22%, #9cff5709, transparent 28rem), var(--portfolio-background);width:100%;min-height:100vh;color:var(--portfolio-text);isolation:isolate;position:relative}.portfolio-site[data-theme=dark]{--portfolio-background:#101d11;--portfolio-background-soft:#0d150b;--portfolio-surface:#2e412596;--portfolio-surface-solid:#10180e;--portfolio-surface-muted:#142214e0;--portfolio-text:#fff;--portfolio-text-secondary:#a8bda6;--portfolio-text-muted:#5f6d57;--portfolio-border:#ffffff13;--portfolio-border-subtle:#ffffff0e;--portfolio-border-strong:#ffffff24;--portfolio-accent:#9cff57;--portfolio-accent-soft:#9cff5717;--portfolio-button-text:#07090d;--portfolio-blue:#72a7ff;--portfolio-blue-soft:#72a7ff13;--portfolio-shadow:#0000003d;--portfolio-shadow-hover:#00000061;background:radial-gradient(circle at 10% 7%, #5b8dff13, transparent 30rem), radial-gradient(circle at 90% 20%, #9cff5709, transparent 28rem), var(--portfolio-background)}.portfolio-site:before,.portfolio-site:after{content:"";pointer-events:none;filter:blur(110px);opacity:.07;z-index:-1;border-radius:50%;width:420px;height:420px;position:fixed}.portfolio-site:before{background:var(--portfolio-blue);top:18%;left:-300px}.portfolio-site:after{background:var(--portfolio-accent);bottom:5%;right:-300px}@media (prefers-color-scheme:dark){.portfolio-site:before,.portfolio-site:after{opacity:.11}}.portfolio-home{align-items:center;width:100%;min-height:calc(100vh - 72px);display:flex}.portfolio-home-content{width:min(100% - 48px,1180px);margin:0 auto;padding:96px 0}.portfolio-eyebrow{color:var(--portfolio-text);letter-spacing:-.05em;align-items:center;gap:9px;margin:0 0 20px;font-size:clamp(4.8rem,5vw,5rem);font-weight:600;display:flex}.portfolio-eyebrow:before{content:"";background:var(--portfolio-accent);width:22px;height:1px;box-shadow:5px 6px 6px var(--portfolio-accent-soft)}.portfolio-home h1{max-width:1000px;color:var(--portfolio-text-secondary);letter-spacing:-.055em;margin:0;font-size:clamp(2.5rem,5.5vw,5.5rem);font-weight:500;line-height:1.02}.portfolio-introduction{max-width:360px;color:var(--portfolio-text-secondary);margin:24px 0 0;font-size:clamp(.5rem,.5vw,.5rem);line-height:1.05}.portfolio-home-actions{flex-wrap:wrap;gap:12px;margin-top:42px;display:flex}.portfolio-home-actions a{border:1px solid var(--portfolio-border);background:var(--portfolio-surface);min-height:46px;color:var(--portfolio-text);box-shadow:5px 5px 2px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px;justify-content:center;align-items:center;padding:0 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:inline-flex}.portfolio-home-actions a:hover{border-color:var(--portfolio-border-strong);box-shadow:7px 7px 2px var(--portfolio-shadow-hover);transform:translateY(-1px)}.portfolio-home-actions a:first-child{border-color:var(--portfolio-text);background:var(--portfolio-text);color:var(--portfolio-background)}.portfolio-page{isolation:isolate;width:min(100% - 48px,1180px);margin:0 auto;padding:120px 0;position:relative}.portfolio-home:before{content:"";z-index:-1;background-image:linear-gradient(#0f172a09 1px,#0000 1px),linear-gradient(90deg,#0f172a09 1px,#0000 1px);background-size:32px 32px;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.portfolio-site[data-theme=dark] .portfolio-home:before{background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px)}.portfolio-page:before{content:"";z-index:-1;border-top:2px solid var(--portfolio-border);background-color:var(--portfolio-background-soft);background-image:linear-gradient(#0f172a09 1px,#0000 1px),linear-gradient(90deg,#0f172a09 1px,#0000 1px);background-size:32px 32px;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}#about:before,#cv:before{background-color:var(--portfolio-background);background-image:linear-gradient(#0f172a0a 1px,#0000 1px),linear-gradient(90deg,#0f172a0a 1px,#0000 1px)}#projects:before,#contact:before{background-color:var(--portfolio-background-soft);background-image:linear-gradient(#0f172a08 1px,#0000 1px),linear-gradient(90deg,#0f172a08 1px,#0000 1px)}#about:before,#projects:before,#cv:before,#contact:before{border-top-color:var(--portfolio-border-strong)}.portfolio-site[data-theme=dark] .portfolio-page:before{background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px)}.portfolio-site[data-theme=dark] #about:before,.portfolio-site[data-theme=dark] #cv:before{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px)}.portfolio-site[data-theme=dark] #projects:before,.portfolio-site[data-theme=dark] #contact:before{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px)}.portfolio-page-header{max-width:720px;margin-bottom:72px}.portfolio-page-header h1{color:var(--portfolio-text);letter-spacing:-.05em;margin:0;font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:1}.portfolio-page-header p{max-width:620px;color:var(--portfolio-text-secondary);margin:28px 0 0;font-size:1.15rem;line-height:1.65}.portfolio-project-list{flex-direction:column;gap:20px;display:flex}.portfolio-project-card{border:1px solid var(--portfolio-border);background:linear-gradient(145deg, var(--portfolio-surface), color-mix(in srgb, var(--portfolio-surface) 82%, var(--portfolio-background)));color:inherit;box-shadow:5px 6px 6px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;padding:36px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:block;position:relative;overflow:hidden}.portfolio-project-card:before{content:"";background:linear-gradient(90deg, transparent, var(--portfolio-blue-soft), transparent);opacity:.9;height:1px;position:absolute;top:0;left:36px;right:36px}.portfolio-project-card:hover{border-color:var(--portfolio-border-strong);box-shadow:5px 6px 6px var(--portfolio-shadow-hover);transform:scale(1.02)translateY(-2px)}.portfolio-project-card h3{color:var(--portfolio-text);letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:500;line-height:1.2}.portfolio-project-card p{max-width:760px;color:var(--portfolio-text-secondary);margin:16px 0 0;font-size:1rem;line-height:1.65}.portfolio-project-card-meta{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.portfolio-project-card-meta span{border:1px solid var(--portfolio-border-subtle);background:var(--portfolio-blue-soft);color:var(--portfolio-text-secondary);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:500}.portfolio-nav{z-index:20;border-bottom:2px solid var(--portfolio-border-subtle);background:color-mix(in srgb, var(--portfolio-background) 82%, transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);width:100%;position:sticky;top:0}.portfolio-nav-inner{justify-content:space-between;align-items:center;gap:32px;width:min(100% - 48px,1180px);min-height:72px;margin:0 auto;display:flex}.portfolio-nav-brand{min-height:36px;color:var(--portfolio-text);letter-spacing:-.015em;white-space:nowrap;border:1px solid #0000;border-radius:9px;align-items:center;padding:0 12px;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .16s,background .16s,border-color .16s,transform .16s;display:inline-flex}.portfolio-nav-logo{-o-object-fit:contain;object-fit:contain;width:32px;height:32px;display:block}.portfolio-nav-brand:hover{transform:translateY(-2px)}.portfolio-nav-brand.active{border-color:var(--portfolio-border);background:var(--portfolio-surface)}.portfolio-nav-links{align-items:center;gap:8px;display:flex}.portfolio-nav-links a{min-height:36px;color:var(--portfolio-text-secondary);white-space:nowrap;border:1px solid #0000;border-radius:9px;align-items:center;padding:0 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .16s,background .16s,border-color .16s,transform .16s;display:inline-flex}.portfolio-nav-links a:hover{border-color:var(--portfolio-border);background:var(--portfolio-surface);color:var(--portfolio-text);transform:translateY(-1px)}.portfolio-nav-links a.active{border-color:var(--portfolio-border);background:var(--portfolio-surface);color:var(--portfolio-text)}.portfolio-theme-toggle{border:1px solid var(--portfolio-border);background:var(--portfolio-surface);width:34px;height:34px;color:var(--portfolio-text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;margin-left:0;padding:0;transition:border-color .18s,background .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.portfolio-theme-toggle:hover{border-color:var(--portfolio-border-strong);background:var(--portfolio-surface-solid);color:var(--portfolio-accent);box-shadow:5px 6px 6px var(--portfolio-shadow);transform:translateY(-1px)}.portfolio-theme-toggle:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:3px}.portfolio-theme-toggle-icon{justify-content:center;align-items:center;width:18px;height:18px;font-size:1.05rem;line-height:1;transition:transform .26s,color .18s;display:inline-flex}.portfolio-theme-toggle:hover .portfolio-theme-toggle-icon{transform:rotate(12deg)scale(1.08)}.portfolio-about-page .portfolio-page-header{width:100%;max-width:1180px;margin:0 auto 32px}.portfolio-about-page .portfolio-page-header h1{margin:0}.portfolio-about-layout{flex-direction:column;gap:24px;width:100%;max-width:850px;margin:0 auto;display:flex}.portfolio-about-image{width:min(100%,520px);margin:0 auto}.portfolio-about-image img{aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;border:1px solid var(--portfolio-border);width:100%;box-shadow:5px 6px 6px var(--portfolio-shadow);border-radius:20px;display:block}.portfolio-about-content{flex-direction:column;gap:18px;width:100%;display:flex}.portfolio-about-card{width:100%}.portfolio-about-card p{border:1px solid var(--portfolio-border);background:linear-gradient(145deg, var(--portfolio-surface), color-mix(in srgb, var(--portfolio-surface) 82%, var(--portfolio-background)));box-shadow:5px 6px 6px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--portfolio-text-secondary);border-radius:18px;margin:0;padding:28px 32px;font-size:1.1rem;line-height:1.65}.portfolio-about-prompt{border:1px solid var(--portfolio-border);background:linear-gradient(145deg, var(--portfolio-surface), color-mix(in srgb, var(--portfolio-surface) 82%, var(--portfolio-background)));width:100%;box-shadow:5px 6px 6px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;padding:24px 64px 24px 28px;position:relative}.portfolio-about-prompt-label{color:var(--portfolio-text);margin:0 0 5px;font-size:.95rem;font-weight:600}.portfolio-about-prompt-text{color:var(--portfolio-text-secondary);margin:0;font-size:1rem;line-height:1.5}.portfolio-about-prompt-arrow{color:var(--portfolio-accent);font-size:1.4rem;line-height:1;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.portfolio-about-chat-reveal{width:100%}@media (width<=700px){.portfolio-about-page .portfolio-page-header{margin-bottom:24px}.portfolio-about-layout{gap:20px}.portfolio-about-image{width:min(100%,420px)}.portfolio-about-card p{padding:24px;font-size:1.05rem;line-height:1.6}.portfolio-about-prompt{padding:22px 58px 22px 24px}}@media (width<=450px){.portfolio-about-layout{gap:18px}.portfolio-about-card p{padding:20px;font-size:1rem}.portfolio-about-prompt{padding:20px 52px 20px 20px}.portfolio-about-prompt-arrow{right:20px}}.portfolio-about-chat-thinking{align-items:center;gap:5px;min-height:20px;margin-bottom:10px;padding-left:4px;display:flex}.portfolio-about-chat-thinking span{background:var(--portfolio-text-muted);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite portfolio-about-chat-thinking}.portfolio-about-chat-thinking span:nth-child(2){animation-delay:.15s}.portfolio-about-chat-thinking span:nth-child(3){animation-delay:.3s}@keyframes portfolio-about-chat-thinking{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.portfolio-about-chat{max-width:850px;margin:32px auto 0}.portfolio-about-chat-form{border:1px solid var(--portfolio-border);background:linear-gradient(145deg, var(--portfolio-surface), color-mix(in srgb, var(--portfolio-surface) 84%, var(--portfolio-background)));box-shadow:5px 6px 6px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:16px;align-items:flex-end;gap:12px;padding:14px 14px 14px 18px;transition:border-color .16s,box-shadow .16s;display:flex}.portfolio-about-chat-form:focus-within{border-color:var(--portfolio-accent);box-shadow:5px 6px 6px var(--portfolio-shadow), 7px 7px 7px 2px var(--portfolio-shadow-hover)}.portfolio-about-chat-form textarea{resize:none;min-width:0;color:var(--portfolio-text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:4px 0;font-size:1rem;line-height:1.5}.portfolio-about-chat-form textarea::placeholder{color:var(--portfolio-text-muted)}.portfolio-about-chat-form button{background:var(--portfolio-text);width:34px;height:34px;color:var(--portfolio-background);cursor:pointer;border:0;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;font-size:1rem;transition:opacity .16s,transform .16s,box-shadow .16s;display:inline-flex}.portfolio-about-chat-form button:hover:not(:disabled){box-shadow:5px 6px 6px var(--portfolio-shadow-hover);transform:translateY(-1px)}.portfolio-about-chat-form button:disabled{opacity:.25;cursor:default}.portfolio-about-chat-response{color:var(--portfolio-text);margin-bottom:24px;font-size:1rem;line-height:1.7}.portfolio-about-chat-response>:first-child{margin-top:0}.portfolio-about-chat-response>:last-child{margin-bottom:0}.portfolio-about-chat-response p{margin:0 0 16px}.portfolio-about-chat-response h1,.portfolio-about-chat-response h2,.portfolio-about-chat-response h3{color:var(--portfolio-text);margin:24px 0 12px;font-weight:600;line-height:1.3}.portfolio-about-chat-response h3{font-size:1rem}.portfolio-about-chat-response ul,.portfolio-about-chat-response ol{margin:12px 0 18px;padding-left:28px}.portfolio-about-chat-response ul{list-style-type:disc}.portfolio-about-chat-response ol{list-style-type:decimal}.portfolio-about-chat-response li::marker{color:var(--portfolio-text-secondary)}.portfolio-about-chat-response li{margin:6px 0;padding-left:4px}.portfolio-about-chat-response strong{color:var(--portfolio-text);font-weight:600}.portfolio-about-chat-messages{flex-direction:column;gap:28px;margin-bottom:28px;display:flex}.portfolio-about-chat-message{width:100%;display:flex}.portfolio-about-chat-message-user{justify-content:flex-end}.portfolio-about-chat-message-assistant{justify-content:flex-start}.portfolio-about-chat-user-bubble{border:1px solid var(--portfolio-border-subtle);background:linear-gradient(145deg, var(--portfolio-surface-muted), var(--portfolio-blue-soft));max-width:min(75%,620px);color:var(--portfolio-text);box-shadow:5px 6px 6px var(--portfolio-shadow);border-radius:16px;padding:12px 16px;font-size:1rem;line-height:1.55}.portfolio-about-chat-message-assistant .portfolio-about-chat-response{max-width:850px;margin:0}@media (width<=700px){.portfolio-home{min-height:calc(100vh - 64px)}.portfolio-eyebrow{font-size:clamp(2.5rem,6vw,4.5rem)}.portfolio-home-content,.portfolio-page,.portfolio-home h1{font-size:clamp(2.7rem,6vw,4.5rem)}.portfolio-page-header{margin-bottom:48px}.portfolio-project-card{border-radius:15px;padding:28px;font-size:clamp(1.7rem,6vw,4.5rem)}.portfolio-project-card:before{left:28px;right:28px}.portfolio-about-chat{margin-top:56px}.portfolio-about-chat-form{border-radius:14px}.portfolio-about-chat-user-bubble{max-width:88%}.portfolio-nav-inner{width:min(100% - 32px,1180px);min-height:64px}.portfolio-nav-links{gap:8px}.portfolio-nav-links a{font-size:.82rem}.portfolio-nav-links a:after{bottom:-6px}}@media (width<=450px){.portfolio-nav-inner{gap:16px}.portfolio-nav-brand{font-size:.88rem}.portfolio-nav-links{gap:5px}.portfolio-nav-links a{padding:0 8px;font-size:.76rem}.portfolio-project-card{padding:24px}.portfolio-project-card:before{left:24px;right:24px}.portfolio-home-actions{flex-direction:column;align-items:stretch}.portfolio-home-actions a{width:100%}}.portfolio-reveal{opacity:0;transition:opacity .7s ease var(--portfolio-reveal-delay,0s), transform .7s ease var(--portfolio-reveal-delay,0s);transform:translateY(32px)}.portfolio-reveal.is-revealed{opacity:1;transform:translateY(0)}.portfolio-project-card.portfolio-reveal{transform:translateY(32px)scale(.985)}.portfolio-project-card.portfolio-reveal.is-revealed{transform:translateY(0)scale(.9)}.portfolio-project-card.portfolio-reveal.is-revealed:hover{transform:translateY(-2px)scale(1)}@media (prefers-reduced-motion:reduce){.portfolio-reveal{opacity:1;transition:none;transform:none}.portfolio-cv-actions a{transition:none}.portfolio-cv-actions a:hover{transform:none}.portfolio-project-card,.portfolio-home-actions a,.portfolio-about-chat-form button,.portfolio-nav-links a,.portfolio-nav-links a:after{transition:none}.portfolio-project-card:hover,.portfolio-home-actions a:hover,.portfolio-about-chat-form button:hover:not(:disabled){transform:none}}.portfolio-cv-page{padding-top:96px}.portfolio-cv-header{border-bottom:1px solid var(--portfolio-border);justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:36px;display:flex}.portfolio-cv-header h2{color:var(--portfolio-text);letter-spacing:-.025em;margin:0;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;line-height:.98}.portfolio-cv-role{max-width:700px;color:var(--portfolio-text-secondary);margin:20px 0 0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.55}.portfolio-cv-actions{flex-shrink:0}.portfolio-cv-actions a{border:1px solid var(--portfolio-border);background:var(--portfolio-surface);min-height:42px;color:var(--portfolio-text);box-shadow:5px 6px 6px var(--portfolio-shadow);border-radius:9px;justify-content:center;align-items:center;padding:0 18px;font-size:.9rem;font-weight:500;text-decoration:none;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:inline-flex}.portfolio-cv-actions a:hover{border-color:var(--portfolio-border-strong);background:var(--portfolio-surface-muted);box-shadow:5px 6px 6px var(--portfolio-shadow-hover);transform:translateY(-1px)}.portfolio-cv-contact{color:var(--portfolio-text-secondary);flex-wrap:wrap;gap:8px 18px;padding:18px 0 72px;font-size:.88rem;line-height:1.5;display:flex}.portfolio-cv-contact span,.portfolio-cv-contact a{position:relative}.portfolio-cv-contact span:not(:last-child):after,.portfolio-cv-contact a:not(:last-child):after{content:"·";color:var(--portfolio-text-muted);position:absolute;right:-12px}.portfolio-cv-contact a{color:var(--portfolio-text);text-decoration:none}.portfolio-cv-contact a:hover{text-underline-offset:3px;text-decoration:underline}.portfolio-cv-section{border:1px solid var(--portfolio-border);background:linear-gradient(145deg, var(--portfolio-surface), color-mix(in srgb, var(--portfolio-surface) 82%, var(--portfolio-background)));box-shadow:5px 6px 6px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;margin-bottom:24px;padding:32px 32px 32px 44px}.portfolio-about-chat{margin-top:24px}.portfolio-cv-section>h2,.portfolio-cv-columns h2{color:var(--portfolio-text);letter-spacing:-.01em;margin:0 0 28px;font-size:2rem;font-weight:600}.portfolio-cv-section>p{max-width:820px;color:var(--portfolio-text-secondary);margin:0;font-size:1rem;line-height:1.75}.portfolio-cv-entry{border-top:1px solid var(--portfolio-border-subtle);padding:28px 0}.portfolio-cv-entry:first-of-type{border-top:0;padding-top:0}.portfolio-cv-entry-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.portfolio-cv-entry-heading h3{color:var(--portfolio-text);letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:600;line-height:1.35}.portfolio-cv-entry-heading p{color:var(--portfolio-text-secondary);margin:6px 0 0;font-size:.92rem;line-height:1.5}.portfolio-cv-entry-heading>span{color:var(--portfolio-text-muted);white-space:nowrap;flex-shrink:0;font-size:.82rem;line-height:1.5}.portfolio-cv-entry>p{color:var(--portfolio-text-muted);margin:8px 0 0;font-size:.85rem;line-height:1.5}.portfolio-cv-project{border-top:1px solid var(--portfolio-border-subtle);padding:32px 0}.portfolio-cv-project:first-of-type{border-top:0;padding-top:0}.portfolio-cv-project ul,.portfolio-cv-entry ul{max-width:850px;color:var(--portfolio-text-secondary);margin:18px 0 0;padding-left:22px;font-size:.94rem;line-height:1.7}.portfolio-cv-project li,.portfolio-cv-entry li{margin:7px 0;padding-left:4px}.portfolio-cv-project li::marker{color:var(--portfolio-text-muted)}.portfolio-cv-entry li::marker{color:var(--portfolio-text-muted)}.portfolio-cv-result{font-weight:600;color:var(--portfolio-text)!important;margin:18px 0 0!important;font-size:.82rem!important}.portfolio-cv-skills{border-top:1px solid var(--portfolio-border-subtle);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portfolio-cv-skills>div{border-bottom:1px solid var(--portfolio-border-subtle);padding:24px 28px 24px 0}.portfolio-cv-skills>div:nth-child(2n){border-left:1px solid var(--portfolio-border-subtle);padding-left:28px}.portfolio-cv-skills h3{color:var(--portfolio-text);margin:0;font-size:.9rem;font-weight:600}.portfolio-cv-skills p{color:var(--portfolio-text-secondary);margin:8px 0 0;font-size:.9rem;line-height:1.65}.portfolio-cv-final-section{padding-bottom:24px}.portfolio-cv-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;display:grid}.portfolio-cv-columns ul{color:var(--portfolio-text-secondary);margin:0;padding-left:20px;font-size:.9rem;line-height:1.7}.portfolio-cv-columns li{margin:6px 0}.portfolio-cv-columns p{color:var(--portfolio-text-secondary);margin:0;font-size:.9rem;line-height:1.7}@media (width<=800px){.portfolio-cv-header{flex-direction:column;align-items:stretch;gap:24px}.portfolio-cv-actions{order:-1;width:100%}.portfolio-cv-actions a{white-space:nowrap;width:100%}.portfolio-cv-entry-heading{flex-direction:column;gap:8px}.portfolio-cv-entry-heading>span{white-space:normal}.portfolio-cv-skills,.portfolio-cv-columns{grid-template-columns:1fr}.portfolio-cv-skills>div,.portfolio-cv-skills>div:nth-child(2n){border-left:0;padding:22px 0}.portfolio-cv-columns{gap:48px}}@media (width<=700px){.portfolio-cv-page{padding-top:72px}.portfolio-cv-header{padding-bottom:28px}.portfolio-cv-header h1{font-size:clamp(2.7rem,13vw,4.5rem)}.portfolio-cv-contact{padding-bottom:52px}.portfolio-cv-section{padding:40px 15px}.portfolio-cv-project,.portfolio-cv-entry{padding:24px 0}}@media (prefers-reduced-motion:reduce){.portfolio-cv-actions a{transition:none}.portfolio-cv-actions a:hover{transform:none}}.portfolio-contact-page{padding-bottom:40px}.portfolio-contact-form{flex-direction:column;gap:24px;max-width:860px;margin-top:56px;display:flex}.portfolio-contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.portfolio-contact-form label{color:var(--portfolio-text);flex-direction:column;gap:10px;font-size:.9rem;font-weight:500;display:flex}.portfolio-contact-form input,.portfolio-contact-form textarea{border:1px solid var(--portfolio-border);background:var(--portfolio-surface);width:100%;color:var(--portfolio-text);box-shadow:5px 6px 6px var(--portfolio-shadow);font-family:inherit;font-size:1rem;font-weight:inherit;border-radius:12px;outline:none;padding:15px 16px;line-height:1.5;transition:border-color .18s,box-shadow .18s,background-color .18s}.portfolio-contact-form textarea{resize:vertical;min-height:180px;box-shadow:5px 6px 6px var(--portfolio-shadow)}.portfolio-contact-form input::-moz-placeholder{color:var(--portfolio-text-muted)}.portfolio-contact-form textarea::-moz-placeholder{color:var(--portfolio-text-muted)}.portfolio-contact-form input::placeholder,.portfolio-contact-form textarea::placeholder{color:var(--portfolio-text-muted)}.portfolio-contact-form input:focus,.portfolio-contact-form textarea:focus{border-color:var(--portfolio-accent);box-shadow:7px 7px 7px 2px var(--portfolio-shadow-hover)}.portfolio-contact-form-footer{flex-wrap:wrap;align-items:center;gap:20px;padding-top:4px;display:flex}.portfolio-contact-form button{border:1px solid var(--portfolio-border);background:var(--portfolio-text);min-height:46px;color:var(--portfolio-background);box-shadow:6px 6px 2px var(--portfolio-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px;justify-content:center;align-items:center;padding:0 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:inline-flex}.portfolio-contact-form button:hover:not(:disabled){box-shadow:7px 7px 2px var(--portfolio-shadow-hover);transform:translateY(-1px)}.portfolio-contact-form button:disabled{cursor:wait;opacity:.65}.portfolio-contact-form-status{margin:0;font-size:.9rem;line-height:1.5}.portfolio-contact-form-status-success{color:var(--portfolio-accent)}.portfolio-contact-form-status-error{color:#c2410c}@media (width<=700px){.portfolio-contact-page{padding-bottom:50px}.portfolio-contact-form{margin-top:40px}.portfolio-contact-form-row{grid-template-columns:1fr}.portfolio-contact-form-footer{flex-direction:column;align-items:flex-start}.portfolio-contact-form button{width:100%}}@media (prefers-reduced-motion:reduce){.portfolio-contact-form input,.portfolio-contact-form textarea,.portfolio-contact-form button{transition:none}.portfolio-contact-form button:hover:not(:disabled){transform:none}}.ai-composer{border:1px solid var(--z-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff06;border-radius:16px;align-items:flex-end;gap:12px;max-width:850px;margin:32px auto 0;padding:14px 14px 14px 18px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 8px 24px #0000002e}.ai-composer textarea{resize:none;min-width:0;color:var(--z-text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:4px 0;font-size:1rem;line-height:1.5}.ai-composer textarea::placeholder{color:var(--z-muted)}.ai-composer-actions{flex:none;align-items:center;display:flex}.ai-send-button{width:34px;height:34px;color:var(--z-accent);cursor:pointer;background:#9cff5714;border:1px solid #9cff572e;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s,opacity .16s;display:inline-flex}@keyframes public-zebio-spin{to{transform:rotate(360deg)}}.portfolio-page:last-child:before{border-bottom:1px solid var(--portfolio-border)}.portfolio-footer{border-top:2px solid var(--portfolio-border-subtle);background:color-mix(in srgb, var(--portfolio-background) 82%, transparent);padding:14px 48px}.portfolio-footer-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,.6fr);align-items:center;gap:28px;max-width:1180px;margin:0 auto;display:grid}.portfolio-footer-identity{flex-wrap:wrap;justify-self:start;align-items:baseline;gap:7px;min-width:0;display:flex}.portfolio-footer-identity strong,.portfolio-footer-center strong{color:var(--portfolio-text);letter-spacing:.01em;font-size:.72rem;font-weight:600}.portfolio-footer-identity span,.portfolio-footer-center span{color:var(--portfolio-text-muted);font-size:.72rem}.portfolio-footer-center{text-align:center;white-space:nowrap;justify-content:center;align-items:baseline;gap:7px;min-width:0;display:flex}.portfolio-footer-links{justify-content:flex-end;justify-self:end;align-items:center;gap:14px;display:flex}.portfolio-footer-links a{width:22px;height:22px;color:var(--portfolio-text-muted);justify-content:center;align-items:center;text-decoration:none;transition:color .16s,transform .16s;display:inline-flex}.portfolio-footer-links a:hover{color:var(--portfolio-accent);transform:translateY(-1px)}.portfolio-footer-links svg{fill:currentColor;width:17px;height:17px}@media (width<=900px){.portfolio-footer{padding-left:28px;padding-right:28px}.portfolio-footer-inner{grid-template-columns:1fr;gap:5px}.portfolio-footer-links{grid-row:1;justify-self:center;gap:13px}.portfolio-footer-identity{text-align:center;grid-row:2;justify-content:center;justify-self:center}.portfolio-footer-center{white-space:normal;flex-wrap:wrap;grid-row:3;justify-self:center;line-height:1.5}}@media (width<=420px){.portfolio-footer{padding:18px 16px}.portfolio-footer-inner{gap:5px}.portfolio-footer-links{gap:10px}.portfolio-footer-links a{width:22px;height:22px}.portfolio-footer-links svg{width:17px;height:17px}.portfolio-footer-identity{gap:6px}.portfolio-footer-center{align-items:center;gap:6px;max-width:100%}.portfolio-footer-center strong,.portfolio-footer-center span{font-size:.65rem}}:root{--z-bg:#07090d;--z-panel:#0e1118e0;--z-panel-solid:#0e1118;--z-panel-soft:#11151e;--z-border:#ffffff13;--z-border-bright:#ffffff21;--z-text:#e8ecf4;--z-muted:#7f899b;--z-dim:#515a6b;--z-accent:#9cff57;--z-accent-soft:#9cff5717;--z-blue:#72a7ff;--z-danger:#ff6f7c;--z-shadow:0 24px 80px #00000061}@media (prefers-color-scheme:light){:root{--z-bg:#f4f6f8;--z-panel:#ffffffe0;--z-panel-solid:#fff;--z-panel-soft:#f8fafc;--z-border:#0f172a1a;--z-border-bright:#0f172a29;--z-text:#18202b;--z-muted:#657083;--z-dim:#8a94a3;--z-accent:#4f9f24;--z-accent-soft:#4f9f2417;--z-blue:#477dcc;--z-danger:#d94b59;--z-shadow:0 24px 80px #0f172a1f}:root .panel{background:linear-gradient(145deg,#fffffff0,#f8fafceb)}}*{box-sizing:border-box}html{background:var(--z-bg);min-width:320px}body{background:radial-gradient(circle at 12% 8%, #689bff12, transparent 27rem), radial-gradient(circle at 90% 18%, #9cff570b, transparent 24rem), var(--z-bg);min-width:320px;min-height:100vh;color:var(--z-text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea,select{font:inherit}button{color:inherit}.zebio-app{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.ambient{pointer-events:none;filter:blur(100px);opacity:.12;border-radius:50%;width:420px;height:420px;position:fixed}.ambient-one{background:#5b8dff;top:18%;left:-280px}.ambient-two{background:#9cff57;bottom:5%;right:-300px}.topbar{z-index:20;border-bottom:1px solid var(--z-border);background:var(--z-panel);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:13px;display:flex}.brand-mark{background:#9cff570e;border:1px solid #9cff5747;border-radius:9px;align-items:flex-end;gap:3px;width:31px;height:31px;padding:7px;display:flex;position:relative;box-shadow:0 0 28px #9cff570f}.brand-mark span{background:var(--z-accent);border-radius:4px;width:4px;display:block}.brand-mark span:first-child{opacity:.55;height:8px}.brand-mark span:nth-child(2){opacity:.78;height:13px}.brand-mark span:nth-child(3){height:17px}.brand-name{letter-spacing:.18em;font-size:15px;font-weight:800;line-height:1}.brand-subtitle{color:var(--z-dim);letter-spacing:.12em;margin-top:5px;font:500 8px/1 DM Mono,monospace}.brand-area{align-items:center;min-width:0;display:flex}.brand-menu-trigger{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.brand-menu-trigger:hover .brand-name{color:var(--z-accent)}.brand-menu-trigger:focus-visible{outline-offset:6px;border-radius:8px;outline:1px solid #9cff5773}.mobile-menu-button{border:1px solid var(--z-border);cursor:pointer;background:#ffffff06;border-radius:50%;flex-direction:column;flex:0 0 34px;justify-content:center;align-items:center;gap:3px;width:34px;height:34px;margin:0 10px 0 0;padding:8px;transition:border-color .16s,background .16s,box-shadow .16s;display:none}.mobile-menu-button:hover{background:#9cff570b;border-color:#9cff574d;box-shadow:0 0 18px #9cff570f}.mobile-menu-button:focus-visible{outline-offset:3px;outline:1px solid #9cff5773}.mobile-menu-button span{background:var(--z-text);border-radius:2px;width:12px;height:1px;transition:transform .18s,opacity .18s;display:block}.sidebar-backdrop{z-index:40;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000094;transition:opacity .22s,visibility .22s;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;visibility:visible}.sidebar{z-index:50;border-right:1px solid var(--z-border);background:linear-gradient(145deg, var(--z-panel-solid), var(--z-panel-soft));flex-direction:column;width:min(360px,86vw);padding:30px 26px 24px;transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:18px 0 60px #00000059,inset -1px 0 #ffffff06}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:flex-start;padding-bottom:28px;display:flex}.sidebar-title{color:var(--z-text);letter-spacing:.2em;font-size:18px;font-weight:800;line-height:1}.sidebar-subtitle{color:var(--z-dim);letter-spacing:.08em;margin-top:7px;font:500 8px/1 DM Mono,monospace}.sidebar-close{border:1px solid var(--z-border);width:32px;height:32px;color:var(--z-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;transition:color .16s,border-color .16s,background .16s;display:flex}.sidebar-close:hover{color:var(--z-accent);background:#9cff570a;border-color:#9cff574d}.sidebar-close:focus-visible{outline-offset:3px;outline:1px solid #9cff5773}.sidebar-nav{flex-direction:column;gap:6px;padding-top:28px;display:flex}.sidebar-nav-link{min-height:54px;color:var(--z-dim);letter-spacing:.1em;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;padding:0 14px;font:600 10px/1 DM Mono,monospace;text-decoration:none;transition:color .16s,background .16s,border-color .16s,transform .16s;display:flex;position:relative}.sidebar-nav-link:hover{color:var(--z-text);border-color:var(--z-border);background:#ffffff06;transform:translate(3px)}.sidebar-nav-link.active{color:var(--z-accent);box-shadow:inset 3px 0 var(--z-accent), 0 0 20px #9cff5709;background:#9cff570e;border-color:#9cff5733}.sidebar-nav-index{width:32px;color:var(--z-dim);letter-spacing:.08em;font:500 8px/1 DM Mono,monospace}.sidebar-nav-link.active .sidebar-nav-index{color:var(--z-accent)}.sidebar-footer{border-top:1px solid var(--z-border);color:var(--z-dim);letter-spacing:.08em;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font:500 8px/1 DM Mono,monospace;display:flex}.sidebar-footer-dot{background:var(--z-accent);border-radius:50%;flex:0 0 5px;width:5px;height:5px;box-shadow:0 0 9px #9cff57a6}.topbar-nav{align-items:center;gap:6px;margin:0;display:flex;position:absolute;left:50%;transform:translate(-50%)}.topbar-nav-link{min-height:32px;color:var(--z-dim);letter-spacing:.08em;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;padding:0 12px;font:600 9px DM Mono,monospace;text-decoration:none;transition:color .16s,background .16s,border-color .16s,box-shadow .16s;display:flex}.topbar-nav-link:hover{color:var(--z-text);border-color:var(--z-border);background:#ffffff06}.topbar-nav-link.active{color:var(--z-accent);background:#9cff570e;border-color:#9cff5738;box-shadow:0 0 18px #9cff570a}.topbar-status{align-items:center;gap:18px;display:flex}.status-pill,.model-pill{min-height:auto;color:var(--z-muted);letter-spacing:.02em;background:#ffffff06;border:0;border-radius:0;align-items:center;gap:8px;padding:0;font:500 10px DM Mono,monospace;display:flex}.status-dot,.model-pulse,.pipeline-state i{background:var(--z-dim);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.status-pill.online .status-dot,.pipeline-state i{background:var(--z-accent);box-shadow:0 0 10px #9cff57a6}.status-pill.offline .status-dot{background:var(--z-danger);box-shadow:0 0 10px #ff6f7c73}.model-pulse{background:var(--z-blue);box-shadow:0 0 10px #72a7ff80}.page-content{width:min(1650px,100% - 20px);margin:10px auto}.workspace{z-index:1;width:min(1650px,100% - 20px);margin:0 auto;position:relative}.hero-panel{flex-direction:column;align-items:center;gap:28px;margin-bottom:28px;display:flex}.eyebrow{color:var(--z-accent);letter-spacing:.18em;align-items:center;gap:9px;font:500 10px DM Mono,monospace;display:flex}.eyebrow-line{background:var(--z-accent);width:24px;height:1px;box-shadow:0 0 8px #9cff5780}.hero-panel h1{letter-spacing:-.035em;max-width:680px;margin:13px 0 12px;font-size:clamp(36px,4.4vw,72px);font-weight:700;line-height:.99}.hero-panel h1 span{color:var(--z-muted)}.hero-copy{max-width:650px;color:var(--z-muted);margin:0;font-size:14px;line-height:1.65}.hero-meta{align-items:center;gap:42px;padding-bottom:4px;display:flex}.hero-meta div{min-width:72px}.hero-meta span,.market-stats span,.insight-label,.market-footer,.message-model{color:var(--z-dim);letter-spacing:.13em;font:500 9px DM Mono,monospace;display:block}.hero-meta strong{color:var(--z-text);margin-top:7px;font:500 12px DM Mono,monospace;display:block}.main-grid{width:100%;display:block}.ai-column{width:100%;min-width:0}.panel{border:1px solid var(--z-border);box-shadow:var(--z-shadow);background:linear-gradient(145deg,#11151ef0,#0a0d12eb);border-radius:18px;overflow:hidden}.panel-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:center;min-height:70px;padding:14px 18px;display:flex}.panel-title-group{align-items:center;gap:11px;display:flex}.section-icon{border:1px solid var(--z-border-bright);border-radius:9px;place-items:center;width:33px;height:33px;font-size:20px;display:grid}.ai-icon{color:var(--z-accent);background:var(--z-accent-soft)}.market-icon{color:var(--z-blue);background:#72a7ff14}.panel-header h2{letter-spacing:-.01em;text-align-last:left;margin:0 0 3px;font-size:15px}.panel-header p{color:var(--z-dim);margin:0;font:500 9px DM Mono,monospace}.ghost-button{border:1px solid var(--z-border);cursor:pointer;background:#66ff2517;border-radius:8px;padding:7px 10px;font-size:11px;transition:all .2s}.ghost-button:hover:not(:disabled){color:var(--z-text);border-color:var(--z-border-bright);background:#19ff194b}.ghost-button:disabled{opacity:.85;cursor:default}.chat-area{min-height:290px;max-height:670px;overflow-y:auto}.empty-chat{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:290px;padding:0 25px;display:flex}.empty-chat h3{letter-spacing:-.03em;margin:0;font-size:21px}.empty-chat>p{max-width:570px;color:var(--z-muted);margin:10px 0 28px;font-size:12px;line-height:1.65}.prompt-grid{grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,660px);display:grid}.prompt-card{text-align:left;border:1px solid var(--z-border);min-height:94px;color:var(--z-muted);cursor:pointer;background:#ffffff05;border-radius:11px;padding:13px;font-size:10px;line-height:1.5;transition:all .22s}.prompt-card span{color:var(--z-accent);margin-bottom:11px;font-size:14px;display:block}.prompt-card:hover:not(:disabled){color:var(--z-text);background:#9cff570b;border-color:#9cff573b;transform:translateY(-2px)}.message-list{padding:23px 24px 30px}.message{gap:12px;margin-bottom:26px;display:flex}.message:last-child{margin-bottom:0}.message-avatar{border:1px solid var(--z-border);width:29px;height:29px;color:var(--z-muted);background:#ffffff0d;border-radius:9px;flex:0 0 29px;place-items:center;font:500 8px DM Mono,monospace;display:grid}.message.assistant .message-avatar{color:var(--z-accent);background:var(--z-accent-soft);border-color:#9cff5729}.message-body{flex:1;min-width:0}.message-meta{align-items:center;gap:9px;margin:2px 0 7px;display:flex}.message-meta strong{font-size:11px}.message-meta span{color:#a4b6a5;font:400 9px DM Mono,monospace}.message-content{color:var(--z-text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.message.user .message-content{color:var(--z-text)}.message-model{color:#a4b6a5;margin-top:9px;font-size:8px}.thinking{align-items:center;gap:4px;height:25px;display:flex}.thinking span{background:var(--z-accent);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite thinking}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}.thinking em{color:var(--z-dim);margin-left:8px;font:9px DM Mono,monospace}@keyframes thinking{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.error-banner{background:#ff6f7c0b;border:1px solid #ff6f7c2b;border-radius:9px;gap:10px;margin:0 18px 12px;padding:11px 12px;display:flex}.error-banner>span{width:17px;height:17px;color:var(--z-danger);background:#ff6f7c1f;border-radius:50%;flex:0 0 17px;place-items:center;font:700 10px DM Mono,monospace;display:grid}.error-banner strong{color:#ffb2b9;font-size:10px;display:block}.error-banner p{color:var(--z-muted);margin:3px 0 0;font-size:9px}.composer{-moz-column-gap:8px;border:1px solid var(--z-border-bright);background:var(--z-panel);border-radius:30px;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px;margin:20px;padding:4px 10px 0 20px;transition:border-color .2s,box-shadow .2s;display:grid}.composer:focus-within{border-color:#9cff5740;box-shadow:0 0 0 3px #9cff5706}.composer>*{min-width:0}.composer textarea{resize:none;width:100%;min-height:40px;max-height:34px;color:var(--z-text);font:inherit;background:0 0;border:0;outline:none;grid-column:1;margin:0;padding:5px 0 0;font-size:12px;line-height:1.55;display:block;overflow-y:auto}.composer textarea::placeholder{color:#4f5868}.ai-send-button{width:34px;height:34px;color:var(--z-accent);cursor:pointer;background:#9cff5714;border:1px solid #9cff572e;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s,opacity .16s;display:inline-flex}.ai-send-button:hover:not(:disabled){background:#9cff5724;border-color:#9cff5752;transform:translateY(-1px);box-shadow:0 6px 18px #9cff571f}.ai-send-button:disabled:not(.loading){opacity:.25;cursor:default}.ai-send-button.loading{opacity:1;cursor:wait;background:#9cff571f;border-color:#9cff5761;box-shadow:0 0 14px #9cff571a}.ai-send-button.loading:hover{transform:none}.send-spinner{box-sizing:border-box;border:1.5px solid #9cff5738;border-top-color:var(--z-accent);border-right-color:var(--z-accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite public-zebio-spin;display:block}.insight-strip{border:1px solid var(--z-border);background:#ffffff04;border-radius:11px;align-items:center;gap:14px;min-height:43px;margin-top:10px;padding:0 14px;display:flex;overflow:hidden}.insight-label{flex:none}.insight-text{text-overflow:ellipsis;white-space:nowrap;color:var(--z-muted);font-size:10px;overflow:hidden}.trading-page{grid-template-columns:minmax(0,1fr);align-items:start;width:100%;display:grid}.market-panel{position:sticky;top:95px}.live-label{color:var(--z-muted);letter-spacing:.1em;align-items:center;gap:6px;font:500 9px DM Mono,monospace;display:flex}.live-label span{background:var(--z-blue);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #72a7ff8c}.market-controls{border-bottom:1px solid var(--z-border);grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:14px;padding:13px 14px 9px;display:grid}.market-controls>*{min-width:0}.asset-class-switcher{background:var(--z-panel-solid);border:1px solid var(--z-border);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-height:35px;padding:2px;display:grid}.asset-class-option{appearance:none;color:var(--z-dim);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:7px;font:600 10px DM Mono,monospace;transition:color .14s,background .14s,box-shadow .14s}.asset-class-option:hover{color:var(--z-text)}.asset-class-option-active{color:var(--z-text);background:#39ff1414;box-shadow:inset 0 0 0 1px #39ff1438,0 0 12px #39ff140f}.market-controls select,.bars-control select{border:1px solid var(--z-border);background:var(--z-panel);width:100%;height:35px;color:var(--z-text);border-radius:8px;outline:none;padding:0 9px;font-size:13px}.bars-control{flex-direction:column;gap:5px;display:flex}.bars-control>span{color:var(--z-dim);text-transform:uppercase;font:500 8px DM Mono,monospace}.market-stats{border-bottom:1px solid var(--z-border);grid-template-columns:repeat(3,1fr);display:grid}.market-stats>div{border-right:1px solid var(--z-border);padding:12px 14px}.market-stats>div:last-child{border-right:0}.market-stats strong{margin-top:5px;font:500 11px DM Mono,monospace;display:block}.muted-value{color:var(--z-muted)}.market-error{background:#ff6f7c0a;border:1px solid #ff6f7c26;border-radius:8px;flex-direction:column;gap:3px;margin:12px 14px 0;padding:10px;display:flex}.market-error strong{color:#ffabb3;font-size:9px}.market-error span{color:var(--z-muted);font-size:8px}.market-header{border:1px solid var(--z-border);background:linear-gradient(135deg,#121822f5,#080c12f5);border-radius:12px;padding:18px 20px 16px;box-shadow:0 12px 30px #0000002e,inset 0 1px #ffffff05}.market-header-main{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.market-identity{min-width:0}.market-symbol-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.market-symbol-row h1{color:var(--z-text);letter-spacing:-.04em;margin:0;font:700 24px/1 DM Mono,monospace}.market-company{color:var(--z-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:7px;font:500 10px/1.2 DM Mono,monospace;display:block}.market-status{min-height:22px;color:var(--z-muted);letter-spacing:.1em;background:#94a3b80f;border:1px solid #94a3b838;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font:700 8px/1 DM Mono,monospace;display:inline-flex}.market-status-live{color:var(--z-accent);background:#39ff140f;border-color:#39ff1447}.market-status-loading{color:#fbbf24;background:#fbbf240f;border-color:#fbbf2447}.market-status-dot{background:currentColor;border-radius:50%;flex:0 0 5px;width:5px;height:5px}.market-status-live .market-status-dot{box-shadow:0 0 7px}.market-price{white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:12px;display:flex}.market-price strong{color:var(--z-text);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font:700 28px/1 DM Mono,monospace}.market-change{color:var(--z-muted);font-variant-numeric:tabular-nums;font:600 11px/1 DM Mono,monospace}.market-change-positive{color:#22c55e}.market-change-negative{color:#ef4444}.market-metrics{background:#94a3b814;border:1px solid #94a3b81a;border-radius:7px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-top:18px;display:grid;overflow:hidden}.market-metric{background:#080c12b8;flex-direction:column;gap:5px;min-width:0;padding:10px 12px;display:flex}.market-metric span{color:var(--z-muted);letter-spacing:.1em;font:600 8px/1 DM Mono,monospace}.market-metric strong{color:var(--z-text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font:600 11px/1.2 DM Mono,monospace;overflow:hidden}@media (width<=700px){.market-header-main{flex-direction:column;gap:14px}.market-price{justify-content:flex-start}.market-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}}.price-panel-wrap{padding:12px 14px 0}.prediction-panel{border:1px solid var(--z-border);background:linear-gradient(135deg,#ffffff06,#ffffff02);border-radius:10px;margin:12px 14px 0;overflow:hidden}.prediction-panel-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.prediction-kicker{color:var(--z-dim);letter-spacing:.12em;margin-bottom:4px;font:500 8px/1 DM Mono,monospace;display:block}.prediction-panel-header h3{color:var(--z-text);letter-spacing:.02em;margin:0;font:600 13px/1.2 DM Mono,monospace}.prediction-status{color:var(--z-accent);letter-spacing:.08em;white-space:nowrap;background:#9cff570a;border:1px solid #9cff572e;border-radius:5px;flex:none;padding:5px 8px;font:600 7px/1 DM Mono,monospace}.prediction-status-error{color:#ffabb3;background:#ff6f7c0a;border-color:#ff6f7c2e}.prediction-main{grid-template-columns:minmax(210px,.95fr) minmax(0,1.05fr);gap:0;padding:0;display:grid}.prediction-main>div:first-child{border-right:1px solid var(--z-border);background:linear-gradient(135deg,#39ff1409,#0000 65%);flex-direction:column;justify-content:center;min-height:150px;padding:20px 22px;display:flex}.prediction-label{color:var(--z-dim);letter-spacing:.12em;margin-bottom:8px;font:500 8px/1 DM Mono,monospace;display:block}.prediction-main>div:first-child>strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font:500 clamp(32px,4vw,48px)/.95 DM Mono,monospace;display:block}.prediction-positive{color:var(--z-accent);text-shadow:0 0 18px #9cff571f}.prediction-negative{color:#ffabb3;text-shadow:0 0 18px #ff6f7c1a}.prediction-target-block{align-items:center;gap:7px;margin-top:10px;display:flex}.prediction-target-label{color:var(--z-muted);letter-spacing:.04em;font:500 9px DM Mono,monospace;display:block}.prediction-target-code{border:1px solid var(--z-border);color:var(--z-dim);letter-spacing:.02em;text-transform:none;background:#ffffff06;border-radius:4px;padding:3px 6px;font:500 8px DM Mono,monospace;display:inline-block}.prediction-meta{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:0;display:grid}.prediction-meta>div{border-bottom:1px solid var(--z-border);background:#ffffff03;min-width:0;min-height:62px;padding:12px 13px}.prediction-meta>div:nth-child(odd){border-right:1px solid var(--z-border)}.prediction-meta>div:nth-last-child(-n+2){border-bottom:0}.prediction-meta span{color:var(--z-dim);letter-spacing:.09em;margin-bottom:6px;font:500 7px/1 DM Mono,monospace;display:block}.prediction-meta strong{min-width:0;color:var(--z-muted);white-space:nowrap;text-overflow:ellipsis;font:500 9px/1.3 DM Mono,monospace;display:block;overflow:hidden}.prediction-loading{min-height:120px;color:var(--z-muted);justify-content:center;align-items:center;gap:10px;font:500 9px DM Mono,monospace;display:flex}.prediction-loading .loader-ring{flex:none}.prediction-error,.prediction-empty{color:var(--z-muted);flex-direction:column;gap:5px;padding:18px 14px;font:500 9px/1.4 DM Mono,monospace;display:flex}.prediction-error strong{color:#ffabb3;font-size:9px}.prediction-error span{color:var(--z-muted);font-size:8px}@media (width<=700px){.prediction-main{grid-template-columns:1fr}.prediction-main>div:first-child{border-right:0;border-bottom:1px solid var(--z-border);min-height:135px}.prediction-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.prediction-meta>div:nth-child(odd){border-right:1px solid var(--z-border)}}.chart-wrap{border-radius:10px;min-height:390px;margin:7px 8px 0;overflow:hidden}.chart-placeholder{min-height:390px;color:var(--z-dim);flex-direction:column;justify-content:center;align-items:center;gap:13px;font:500 9px DM Mono,monospace;display:flex}.loader-ring{border:2px solid #9cff571f;border-top-color:var(--z-accent);border-radius:50%;width:23px;height:23px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.market-footer{border-top:2px solid var(--z-border);justify-content:space-between;align-items:center;min-height:40px;padding:20px 14px;font-size:8px;display:flex}.pipeline-state{color:#697487;align-items:center;gap:6px;display:flex}.footer{color:#3f4755;letter-spacing:.08em;flex-direction:column;width:min(1540px,100% - 56px);min-height:30px;margin:0 auto;font:500 8px DM Mono,monospace;display:flex}.task-status-panel{border:1px solid var(--z-border);background:#ffffff05;border-radius:10px;margin-top:14px;padding:14px;box-shadow:0 8px 24px #00000014}.task-status-header{letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:10px;font:600 10px DM Mono,monospace;display:flex}.task-status-goal{color:var(--z-text);margin-bottom:12px;font-size:12px;line-height:1.5}.task-status-current{border-left:2px solid var(--z-border-bright);background:#ffffff06;flex-direction:column;gap:4px;margin-bottom:12px;padding:8px 10px;font:500 11px DM Mono,monospace;display:flex}.task-status-steps{flex-direction:column;gap:6px;display:flex}.task-step{border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;min-height:34px;padding:7px 9px;font:500 11px DM Mono,monospace;transition:border-color .18s,background .18s;display:flex}.task-step-indicator{text-align:center;flex:0 0 16px;width:16px}.task-step-status{letter-spacing:.06em;opacity:.65;margin-left:auto;font-size:9px}.task-step.pending{opacity:.55}.task-step.running{background:#9cff5709;border-color:#9cff572e}.task-step.approval_required{background:#ffbe460e;border-color:#ffbe464d}.task-step.completed{background:#9cff5706;border-color:#9cff571f}.task-step.cancelled{opacity:.72;background:#96a0af09;border-color:#96a0af2e}.task-step.failed{background:#ff5a5a0b;border-color:#ff5a5a47}.task-step button{border:1px solid var(--z-border);min-height:27px;color:var(--z-text);letter-spacing:.04em;cursor:pointer;background:#ffffff09;border-radius:6px;padding:0 10px;font:600 10px DM Mono,monospace;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.task-step button:hover{border-color:var(--z-border-bright);background:#ffffff13;transform:translateY(-1px)}.task-step button:active{transform:translateY(0)}.task-step button:first-of-type{background:#9cff5714;border-color:#9cff5761}.task-step button:first-of-type:hover{background:#9cff5724;border-color:#9cff57a6;box-shadow:0 5px 16px #9cff571a}.task-step button:last-of-type{background:#ff64640e;border-color:#ff646452}.task-step button:last-of-type:hover{background:#ff64641c;border-color:#ff646494;box-shadow:0 5px 16px #ff646414}.task-status-error{background:#ff5a5a0b;border:1px solid #ff5a5a47;border-radius:7px;margin-top:10px;padding:8px 10px;font:500 10px DM Mono,monospace}@media (width<=900px){.composer-hint{display:none}}@media (width<=1120px){.topbar{gap:16px;padding:0 22px}.topbar-nav{scrollbar-width:none;-ms-overflow-style:none;flex:auto;gap:4px;min-width:0;position:static;left:auto;overflow:auto hidden;transform:none}.topbar-nav::-webkit-scrollbar{display:none}.topbar-nav-link{white-space:nowrap;flex-shrink:0;padding:0 10px}.topbar-status{flex-shrink:0;gap:12px}}@media (width<=760px){.mobile-menu-button{display:none}.composer textarea,.composer textarea:focus{font-size:16px}.topbar{-moz-column-gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;height:auto;min-height:64px;padding:10px 16px}.brand{flex:0 auto;gap:10px;min-width:0}.brand-mark{width:28px;height:28px;padding:6px}.brand-name{letter-spacing:.14em;font-size:13px}.brand-subtitle{display:none}.topbar-nav{flex-basis:100%;order:3;justify-content:center;width:100%;padding-bottom:2px;overflow-x:auto}.topbar-status{gap:10px;margin-left:auto}.topbar-status .model-pill{display:none}}@media (width<=450px){.topbar{-moz-column-gap:8px;column-gap:8px;padding:10px 14px}.topbar-nav-link{padding:0 8px;font-size:9px}}tube-route-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:4px 2px 18px;display:flex}.tube-route-header .section-kicker{letter-spacing:.16em;color:var(--z-accent);text-transform:uppercase;justify-content:center;align-items:center;gap:7px;font-family:DM Mono,monospace;font-size:9px;font-weight:600;display:inline-flex}.tube-route-header .section-kicker:before{content:"";background:var(--z-accent);border-radius:50%;flex:0 0 6px;width:6px;height:6px;box-shadow:0 0 8px #9cff578c}.tube-route-header h2{color:var(--z-text);letter-spacing:-.025em;margin:0;font-size:21px;font-weight:650;line-height:1.15}.tube-route-header p{color:var(--z-muted);margin:7px 0 30px;font-size:12px;line-height:.45}.tube-route-controls{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.tube-route-controls label{flex-direction:column;gap:5px;min-width:0;display:flex}.tube-route-controls label>span{letter-spacing:.09em;text-transform:uppercase;color:var(--z-muted);font-family:DM Mono,monospace;font-size:8px;font-weight:600}.tube-route-controls select{border:1px solid var(--z-border);background:var(--z-panel);width:100%;height:35px;color:var(--z-text);cursor:pointer;border-radius:8px;outline:none;padding:0 9px;font-family:DM Mono,monospace;font-size:11px;transition:border-color .16s,box-shadow .16s,background .16s}.tube-route-controls select:hover{border-color:var(--z-border-bright)}.tube-route-controls select:focus{border-color:var(--z-accent);box-shadow:0 0 0 2px #9cff5712}.tube-route-button{border:1px solid var(--z-accent);width:100%;height:42px;color:var(--z-accent);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#9cff5726,#9cff570e);border-radius:9px;outline:none;margin-top:11px;font-family:DM Mono,monospace;font-size:10px;font-weight:700;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;position:relative}.tube-route-button:before{content:"→";margin-right:9px;font-size:14px;transition:transform .16s;display:inline-block}.tube-route-button:hover:not(:disabled){border-color:var(--z-accent);background:linear-gradient(135deg,#9cff5738,#9cff5713);transform:translateY(-1px);box-shadow:0 0 0 1px #9cff5712,0 0 22px #9cff571f}.tube-route-button:hover:not(:disabled):before{transform:translate(4px)}.tube-route-button:active:not(:disabled){transform:translateY(0)}.tube-route-button:disabled{opacity:.45;cursor:not-allowed}.tube-schematic-container{border:1px solid var(--z-border);background:radial-gradient(circle at 50% 42%, #0098d40b, transparent 55%), linear-gradient(180deg, #ffffff05, #ffffff02), var(--z-panel);border-radius:13px;width:100%;margin:22px 0;padding:16px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0b,0 10px 30px #0000000e}.tube-schematic-container:before{content:"";pointer-events:none;opacity:.18;z-index:0;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.tube-map-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;z-index:1;width:100%;height:auto;display:block;position:relative}.tube-schematic{z-index:2;pointer-events:none;width:calc(100% - 32px);height:auto;position:absolute;inset:16px;overflow:visible}.tube-schematic:before{content:"";padding-top:52.8%;display:block}.tube-route-highlight{stroke:#04f724;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 5;filter:drop-shadow(0 0 3px #404d53d9)drop-shadow(0 0 12px #1b476459);pointer-events:none;animation:.9s linear infinite tube-route-flow}.tube-route-node{opacity:0;transform-origin:50%;pointer-events:none;animation:.42s cubic-bezier(.22,1,.36,1) forwards tube-route-node-in}.tube-route-node-outer{fill:#00ff15;filter:drop-shadow(0 0 4px #00000080)}.tube-route-node-inner{fill:#00ff15;filter:drop-shadow(0 0 4px #02020299)}.tube-route-result{border:1px solid var(--z-border-bright);background:linear-gradient(145deg, #9cff5709, transparent 38%), var(--z-panel);border-radius:12px;margin-top:16px;padding:16px;position:relative;overflow:hidden}.tube-route-result:before{content:"";background:linear-gradient(90deg, transparent, var(--z-accent), transparent);opacity:.7;height:1px;position:absolute;top:0;left:16px;right:16px}.tube-route-result-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.tube-route-result-header .section-kicker{letter-spacing:.15em;color:var(--z-accent);text-transform:uppercase;margin-bottom:7px;font-family:DM Mono,monospace;font-size:8px;font-weight:600;display:block}.tube-route-result-header h3{color:var(--z-text);letter-spacing:-.015em;margin:0;font-size:15px;font-weight:650;line-height:1.3}.tube-route-algorithm{color:var(--z-accent);letter-spacing:.08em;text-transform:uppercase;background:#9cff5712;border:1px solid #9cff5740;border-radius:6px;flex-shrink:0;padding:5px 8px;font-family:DM Mono,monospace;font-size:8px;font-weight:700}.tube-route-stats{border-bottom:1px solid var(--z-border);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.tube-route-stats>div{border-right:1px solid var(--z-border);min-width:0;padding:12px 10px}.tube-route-stats>div:last-child{border-right:none}.tube-route-stats span{letter-spacing:.08em;text-transform:uppercase;color:var(--z-muted);margin-bottom:5px;font-family:DM Mono,monospace;font-size:8px;display:block}.tube-route-stats strong{text-overflow:ellipsis;white-space:nowrap;color:var(--z-text);font-family:DM Mono,monospace;font-size:12px;font-weight:600;display:block;overflow:hidden}.tube-route-stats>div:first-child strong{color:var(--z-accent)}.tube-route-sequence{padding-top:14px}.tube-route-sequence>span{letter-spacing:.12em;text-transform:uppercase;color:var(--z-muted);margin-bottom:9px;font-family:DM Mono,monospace;font-size:8px;font-weight:600;display:block}.tube-route-stations{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tube-route-station{border:1px solid var(--z-border);min-height:27px;color:var(--z-text);white-space:nowrap;opacity:0;background:#80808009;border-radius:7px;align-items:center;gap:6px;padding:3px 8px 3px 4px;font-family:DM Mono,monospace;font-size:9px;transition:border-color .16s,background .16s;animation:.38s cubic-bezier(.22,1,.36,1) forwards tube-route-station-in;display:inline-flex;transform:translateY(7px)}.tube-route-station:hover{background:#9cff570d;border-color:#9cff5759}.tube-route-station-index{width:19px;height:19px;color:var(--z-accent);background:#9cff5714;border:1px solid #9cff5740;border-radius:5px;flex:0 0 19px;justify-content:center;align-items:center;font:600 8px DM Mono,monospace;display:inline-flex}.tube-route-arrow{opacity:0;color:var(--z-dim);font:500 11px DM Mono,monospace;animation:.28s ease-out forwards tube-route-arrow-in}.tube-route-error{color:var(--z-text);background:#ff5a5a0e;border:1px solid #ff5a5a40;border-radius:8px;margin-top:10px;padding:9px 11px;font-family:DM Mono,monospace;font-size:9px}@keyframes tube-route-flow{to{stroke-dashoffset:-17px}}@keyframes tube-route-station-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes tube-route-arrow-in{0%{opacity:0}to{opacity:1}}@keyframes tube-route-node-in{0%{opacity:0;transform:scale(.35)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tube-route-highlight,.tube-route-station,.tube-route-arrow,.tube-route-node{animation:none}.tube-route-station,.tube-route-node{opacity:1;transform:none}}@media (width<=760px){.tube-route-controls{grid-template-columns:1fr 1fr}.tube-schematic-container{border-radius:11px;margin:18px 0;padding:10px}.tube-schematic{width:calc(100% - 20px);inset:10px}.tube-route-highlight{stroke-width:6px}}@media (width<=500px){.tube-route-controls,.tube-route-stats{grid-template-columns:1fr}.tube-route-stats>div{border-right:none;border-bottom:1px solid var(--z-border)}.tube-route-stats>div:last-child{border-bottom:none}.tube-route-result-header{flex-direction:column;gap:10px}}.zebio-neural-core{--core-accent:#7aaec4;--core-glow:#69d7ff33;--core-dim:.78;isolation:isolate;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;padding:18px 20px 28px;display:flex;position:relative;overflow:hidden}.zebio-neural-core-idle{--core-accent:#7aaec4;--core-glow:#7aaec42e}.zebio-neural-core-initialising,.zebio-neural-core-processing{--core-accent:#8fd8ff;--core-glow:#40c8ff52}.zebio-neural-core-waiting{--core-accent:#b088e0;--core-glow:#8040c04d}.zebio-neural-core-complete{--core-accent:#b0e878;--core-glow:#88cc4047}.zebio-neural-core-failed{--core-accent:#f09090;--core-glow:#c0405047}.zebio-neural-core-cancelled{--core-accent:#708090;--core-glow:#40485047}.zebio-thought{z-index:20;letter-spacing:.06em;justify-content:center;align-items:center;gap:10px;width:min(720px,100%);min-height:34px;margin-bottom:2px;padding:0 12px;font-family:DM Mono,Roboto Mono,monospace;font-size:11px;display:flex;position:relative;overflow:hidden}.zebio-thought-dots{flex:none;gap:3px;display:inline-flex}.zebio-thought-dots i{background:var(--core-accent);opacity:.4;border-radius:50%;width:4px;height:4px;transition:background .4s;animation:1.2s ease-in-out infinite zebio-thought-dot;display:block}.zebio-thought-dots i:nth-child(2){animation-delay:.15s}.zebio-thought-dots i:nth-child(3){animation-delay:.3s}@keyframes zebio-thought-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.zebio-thought-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.zebio-thought-head{color:var(--z-text);text-shadow:0 0 12px var(--core-glow);font-weight:500}.zebio-thought-tail{vertical-align:bottom;max-width:100%;color:var(--z-muted);display:inline-block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0% 30%,#00000073 62%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 30%,#00000073 62%,#0000 100%)}.zebio-neural-stage{aspect-ratio:2;border-radius:14px;width:min(1024px,100%);max-height:510px;margin-top:4px;position:relative;overflow:hidden}.zebio-neural-glow{z-index:0;pointer-events:none;background:radial-gradient(ellipse 45% 60% at 50% 50%, var(--core-glow) 0%, #0a28461a 40%, transparent 72%);filter:blur(18px);opacity:.95;transition:background .5s,opacity .5s;position:absolute;inset:0}.zebio-neural-canvas-wrap{z-index:1;position:absolute;inset:0}.zebio-neural-canvas-wrap>div,.zebio-neural-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.zebio-neural-vignette{z-index:2;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(60% 70%,#0000 55% 100%);position:absolute;inset:0}@media (prefers-color-scheme:light){.zebio-neural-vignette{mix-blend-mode:normal;background:radial-gradient(60% 70%,#0000 55%,#0f172a00 100%)}.zebio-neural-glow{opacity:.55}}.zebio-neural-task{z-index:20;text-align:center;width:min(680px,100%);margin-top:6px;position:relative}.zebio-neural-approval{background:linear-gradient(135deg,#a66cff0e,#69d7ff06);border:1px solid #a66cff3d;border-radius:10px;width:min(430px,100%);margin:18px auto 0;padding:13px 15px;box-shadow:0 12px 30px #141e2d0f,inset 0 1px #ffffff0a}.zebio-neural-approval-tool{color:var(--z-text);letter-spacing:.08em;margin-bottom:10px;font-family:DM Mono,Roboto Mono,monospace;font-size:9px}.zebio-neural-approval-actions{justify-content:center;gap:8px;display:flex}.zebio-neural-approval-actions button{min-width:90px;color:var(--z-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#69d7ff0f;border:1px solid #69d7ff38;border-radius:6px;padding:7px 13px;font-family:inherit;font-size:9px;font-weight:600;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.zebio-neural-approval-actions button:hover{background:#69d7ff1f;border-color:#69d7ff73;transform:translateY(-1px);box-shadow:0 0 15px #69d7ff14}.zebio-neural-approval-actions button:last-child{border-color:#ff828233}.zebio-neural-approval-actions button:last-child:hover{background:#ff828212;border-color:#ff82826b}.zebio-neural-error{width:min(620px,100%);color:var(--z-muted);text-align:left;background:#ff787809;border-left:2px solid #ff7878a6;margin:14px auto 0;padding:9px 12px;font-size:10px;line-height:1.5}@media (width<=700px){.zebio-neural-core{padding-left:8px;padding-right:8px}.zebio-thought{font-size:10px}.zebio-neural-stage{aspect-ratio:16/10;max-height:340px}}@media (prefers-reduced-motion:reduce){.zebio-thought-dots i{animation:none!important}.zebio-neural-glow{transition:none}}.strategy-controls{border-bottom:1px solid var(--z-border);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:14px;display:grid}.strategy-slider{flex-direction:column;gap:6px;min-width:0;display:flex}.strategy-slider-label{color:var(--z-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;font:500 9px DM Mono,monospace;display:flex}.strategy-slider-label em{color:var(--z-accent);font-style:normal}.strategy-slider input[type=range]{width:100%;accent-color:var(--z-accent)}.strategy-overlay{border:1px solid var(--z-border);background:linear-gradient(135deg,#ffffff06,#ffffff02);border-radius:10px;margin:10px 0;padding:0;overflow:hidden}.strategy-overlay-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.strategy-overlay-kicker{color:#22c55e;letter-spacing:.1em;text-transform:uppercase;background:#22c55e0e;border:1px solid #22c55e38;border-radius:5px;align-items:center;min-height:24px;padding:0 9px;font:700 9px/1 DM Mono,monospace;display:inline-flex}.strategy-overlay-model{color:var(--z-muted);letter-spacing:.08em;text-transform:uppercase;font:500 8px DM Mono,monospace}.strategy-overlay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.strategy-overlay-row{border-bottom:1px solid var(--z-border);background:#ffffff03;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:54px;padding:10px 13px;font:500 10px DM Mono,monospace;display:flex}.strategy-overlay-row:nth-child(odd){border-right:1px solid var(--z-border)}.strategy-overlay-label{min-width:0;color:var(--z-muted);letter-spacing:.04em}.strategy-overlay-value{color:var(--z-text);font-variant-numeric:tabular-nums;text-align:right;flex:none;font:600 11px DM Mono,monospace}.strategy-overlay-value em{color:var(--z-muted);font-variant-numeric:tabular-nums;margin-top:3px;font:500 8px DM Mono,monospace;display:block}.strategy-positive{color:#22c55e!important}.strategy-negative{color:#ef4444!important}.strategy-overlay-footer{border-top:1px solid var(--z-border);background:#ffffff03;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.strategy-overlay-footer div{flex-direction:column;gap:5px;min-width:0;padding:11px 13px;display:flex}.strategy-overlay-footer div+div{border-left:1px solid var(--z-border)}.strategy-overlay-footer span{color:var(--z-dim);letter-spacing:.08em;text-transform:uppercase;font:500 7px/1 DM Mono,monospace}.strategy-overlay-footer strong{color:var(--z-text);font-variant-numeric:tabular-nums;font:600 10px DM Mono,monospace}.strategy-overlay-idle{background:#0f141e66;border-color:#94a3b833}.strategy-overlay-kicker-idle{color:var(--z-muted);background:#94a3b809;border-color:#94a3b82e}.strategy-overlay-buy{border-color:#22c55e4d}.strategy-overlay-buy .strategy-overlay-header{background:linear-gradient(90deg,#22c55e0b,#0000 55%)}.strategy-overlay-sell{border-color:#ef44444d}.strategy-overlay-sell .strategy-overlay-header{background:linear-gradient(90deg,#ef44440b,#0000 55%)}.strategy-overlay-sell .strategy-overlay-kicker{color:#ef4444;background:#ef44440e;border-color:#ef444438}.portfolio-ai{width:min(100%,1180px);color:var(--z-text);margin:0 auto;padding:34px 0 42px}.portfolio-ai-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:flex-end;gap:32px;padding:0 2px 22px;display:flex}.portfolio-ai-header>div:first-child{min-width:0}.portfolio-ai-header .eyebrow{color:var(--z-accent);letter-spacing:.16em;margin-bottom:9px;font:500 9px DM Mono,monospace;display:inline-block}.portfolio-ai-header h2{letter-spacing:-.045em;margin:0;font-size:clamp(25px,4vw,34px);line-height:1.05}.portfolio-ai-header p{max-width:720px;color:var(--z-muted);margin:11px 0 0;font-size:12px;line-height:1.7}.ai-status{border:1px solid var(--z-border);color:var(--z-muted);letter-spacing:.08em;white-space:nowrap;background:#ffffff05;border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 11px;font:500 8px DM Mono,monospace;display:flex}.status-dot{background:#6b7280;border-radius:50%;width:6px;height:6px}.status-dot.online{background:var(--z-accent);box-shadow:0 0 0 3px #9cff5712,0 0 10px #9cff5759}.ai-model{border-left:1px solid var(--z-border);color:var(--z-dim);letter-spacing:0;padding-left:7px}.portfolio-ai>.zebio-neural-core{margin:4px 0 8px}.portfolio-ai-body{border-top:1px solid #ffffff06;position:relative}.ai-welcome{text-align:center;max-width:980px;margin:0 auto;padding:22px 20px 12px}.ai-welcome-mark{width:42px;height:42px;color:var(--z-accent);background:linear-gradient(145deg,#9cff5717,#9cff5706);border:1px solid #9cff572e;border-radius:13px;place-items:center;margin:0 auto 15px;font:600 17px DM Mono,monospace;display:grid;box-shadow:inset 0 0 20px #9cff5706}.ai-welcome h3{letter-spacing:-.025em;margin:0;font-size:16px}.ai-welcome>p{max-width:650px;color:var(--z-muted);margin:9px auto 22px;font-size:11px;line-height:1.7}.ai-prompts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:900px;margin:0 auto;display:grid}.ai-prompts button{border:1px solid var(--z-border);min-height:58px;color:var(--z-muted);text-align:left;cursor:pointer;background:#ffffff04;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font:400 10px/1.45 DM Mono,monospace;transition:border-color .2s,background .2s,color .2s,transform .2s;display:flex}.ai-prompts button span{color:var(--z-accent);opacity:.65;flex:none;font-size:13px;transition:transform .2s,opacity .2s}.ai-prompts button:hover:not(:disabled){color:var(--z-text);background:#9cff5709;border-color:#9cff573d;transform:translateY(-1px)}.ai-prompts button:hover:not(:disabled) span{opacity:1;transform:translate(3px)}.ai-prompts button:disabled{opacity:.45;cursor:default}.ai-messages{max-width:980px;margin:0 auto;padding:22px 20px 8px}.ai-message{gap:12px;margin-bottom:24px;display:flex}.ai-message:last-child{margin-bottom:0}.ai-message.user{margin-left:7%}.ai-message-avatar{border:1px solid var(--z-border);width:30px;height:30px;color:var(--z-muted);background:#ffffff06;border-radius:9px;flex:0 0 30px;place-items:center;margin-top:2px;font:500 8px DM Mono,monospace;display:grid}.ai-message.assistant .ai-message-avatar{color:var(--z-accent);background:#9cff570e;border-color:#9cff5729}.ai-message-content{flex:1;min-width:0}.ai-message-meta{align-items:center;gap:9px;margin-bottom:6px;display:flex}.ai-message-meta strong{font-size:10px}.ai-message-meta span{color:var(--z-dim);font:400 8px DM Mono,monospace}.ai-message-text{color:var(--z-text);overflow-wrap:anywhere;font-size:12px;line-height:1.75}.ai-message-text p{margin:0 0 10px}.ai-message-text p:last-child{margin-bottom:0}.ai-message-text h1,.ai-message-text h2,.ai-message-text h3,.ai-message-text h4{color:var(--z-text);margin:18px 0 8px;font-weight:600;line-height:1.3}.ai-message-text h1{font-size:18px}.ai-message-text h2{font-size:16px}.ai-message-text h3{font-size:14px}.ai-message-text h4{font-size:12px}.ai-message-text ul{margin:10px 0 12px;padding-left:22px;list-style-type:disc;list-style-position:outside}.ai-message-text ol{margin:10px 0 12px;padding-left:22px;list-style-type:decimal;list-style-position:outside}.ai-message-text li{margin:5px 0;padding-left:3px;display:list-item}.ai-message-text li::marker{color:var(--z-accent);font-size:.9em}.ai-message-text strong{color:var(--z-text);font-weight:600}.ai-message-text code{border:1px solid var(--z-border);color:var(--z-accent);background:#ffffff09;border-radius:4px;padding:2px 5px;font:400 10px DM Mono,monospace}.ai-message-text pre{border:1px solid var(--z-border);background:#00000038;border-radius:8px;margin:12px 0;padding:12px;overflow-x:auto}.ai-message-text pre code{background:0 0;border:0;padding:0}.ai-message.user .ai-message-content{background:#ffffff06;border:1px solid #ffffff0e;border-radius:12px;padding:11px 13px}.ai-message.user .ai-message-meta{margin-bottom:5px}.ai-message-model{color:var(--z-dim);margin-top:8px;font:400 8px DM Mono,monospace}.ai-thinking{min-height:27px;color:var(--z-dim);align-items:center;gap:5px;font:400 9px DM Mono,monospace;display:flex}.ai-thinking>span{background:var(--z-accent);border-radius:50%;width:5px;height:5px;animation:1.15s ease-in-out infinite public-zebio-thinking}.ai-thinking>span:nth-child(2){animation-delay:.15s}.ai-thinking>span:nth-child(3){animation-delay:.3s}.ai-thinking em{color:var(--z-dim);margin-left:6px;font-style:normal}@keyframes public-zebio-thinking{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-error{background:#ff6f7c0a;border:1px solid #ff6f7c2e;border-radius:10px;flex-direction:column;gap:3px;max-width:980px;margin:0 auto 12px;padding:10px 13px;display:flex}.ai-error strong{color:#ffb2b9;font-size:9px}.ai-error span{color:var(--z-muted);font-size:9px;line-height:1.5}.ai-composer{box-sizing:border-box;border:1px solid var(--z-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff06,#ffffff03);border-radius:16px;align-items:flex-end;gap:12px;width:min(100%,850px);margin:32px auto 0;padding:14px 14px 14px 18px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 8px 24px #00000029}.ai-composer:focus-within{border-color:#9cff573d;box-shadow:0 10px 30px #0003,0 0 0 3px #9cff570e}.ai-composer textarea{resize:none;box-sizing:border-box;width:100%;min-width:0;min-height:34px;max-height:120px;color:var(--z-text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:4px 0;font-size:16px;line-height:1.5;overflow-y:auto}.ai-composer textarea::placeholder{color:var(--z-muted);opacity:.7}.ai-composer-actions{flex:none;align-items:center;gap:10px;display:flex}.ai-composer-actions span{display:none}.ai-composer-actions button{width:34px;height:34px;color:var(--z-accent);cursor:pointer;background:#9cff5714;border:1px solid #9cff572e;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;font-size:1rem;transition:opacity .16s,transform .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.ai-composer-actions button:hover:not(:disabled){background:#9cff5724;border-color:#9cff5752;transform:translateY(-1px);box-shadow:0 6px 18px #9cff571f}.ai-composer-actions button:disabled{opacity:.25;cursor:default}.ai-composer-actions button.is-loading{opacity:1;color:var(--z-accent);cursor:wait;background:#9cff571f;border-color:#9cff5761;box-shadow:0 0 14px #9cff5714}.ai-composer-actions button.is-loading:hover{transform:none}.send-spinner{border:1.5px solid #9cff5738;border-top-color:var(--z-accent);border-right-color:var(--z-accent);border-radius:50%;width:11px;height:11px;animation:.75s linear infinite public-zebio-spin}.ai-clear{color:var(--z-dim);cursor:pointer;background:0 0;border:0;margin:10px auto 0;padding:5px 8px;font:400 8px DM Mono,monospace;transition:color .2s;display:block}.ai-clear:hover:not(:disabled){color:var(--z-muted)}.ai-clear:disabled{cursor:default}.ai-latest{background:#9cff5705;border-left:2px solid #9cff5738;max-width:980px;margin:14px auto 0;padding:10px 13px}.ai-latest>span{color:var(--z-accent);letter-spacing:.12em;font:500 8px DM Mono,monospace}.ai-latest p{color:var(--z-muted);margin:5px 0 0;font-size:9px;line-height:1.6}@media (width<=720px){.portfolio-ai{width:100%;padding-top:24px}.portfolio-ai-header{flex-direction:column;align-items:flex-start;gap:14px}.ai-status{align-self:flex-start}.ai-prompts{grid-template-columns:1fr}.ai-message.user{margin-left:0}.ai-composer{border-radius:14px;width:calc(100% - 20px);margin-top:24px;padding:13px 13px 13px 16px}.ai-composer textarea{min-height:34px;max-height:96px;font-size:16px}}@media (width<=480px){.portfolio-ai-header h2{font-size:27px}.portfolio-ai-header p{font-size:11px}.ai-welcome,.ai-messages{padding-left:10px;padding-right:10px}.ai-composer{width:calc(100% - 20px);padding:12px 12px 12px 14px}.ai-composer-actions button{flex-basis:34px;width:34px;height:34px}.ai-composer textarea{min-height:34px;max-height:88px;font-size:16px}}.trading-terminal{width:min(100%,1500px);margin:0 auto;padding:12px 0 42px}.trading-terminal-header{border-bottom:1px solid var(--z-border);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;padding:0 2px 18px;display:flex}.trading-terminal-eyebrow{color:var(--z-accent);letter-spacing:.16em;margin-bottom:7px;font:600 8px DM Mono,monospace;display:block}.trading-terminal-header h1{color:var(--z-text);letter-spacing:-.04em;margin:0;font-size:clamp(22px,3vw,30px);line-height:1}.trading-terminal-header p{max-width:620px;color:var(--z-muted);margin:8px 0 0;font-size:11px;line-height:1.6}.trading-terminal-status{border:1px solid var(--z-border);color:var(--z-muted);letter-spacing:.08em;background:#ffffff05;border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 10px;font:600 8px DM Mono,monospace;display:inline-flex}.terminal-status-dot{background:var(--z-dim);border-radius:50%;width:5px;height:5px}.terminal-status-dot.terminal-status-live{background:var(--z-accent);box-shadow:0 0 8px #9cff578c}.market-section,.chart-section,.trading-intelligence-section,.strategy-section,.research-section{margin-bottom:14px}.market-section>.market-header{margin-bottom:8px}.trading-terminal .market-header{margin-bottom:0;position:relative;top:auto}.trading-terminal .market-controls{border-bottom:0;grid-template-columns:minmax(240px,1fr) 150px;align-items:end;gap:10px;padding:10px 0 0}.market-control-primary{min-width:0}.trading-terminal .market-controls select,.trading-terminal .bars-control select{background:var(--z-panel-solid)}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;padding:4px 2px 10px;display:flex}.section-heading>div{min-width:0}.section-heading>div>span,.section-heading-model{color:var(--z-dim);letter-spacing:.13em;text-transform:uppercase;font:600 8px DM Mono,monospace;display:block}.section-heading h2{color:var(--z-text);letter-spacing:-.025em;margin:4px 0 0;font-size:16px;font-weight:600}.section-heading-model{color:var(--z-muted);flex:none}.chart-section,.trading-intelligence-section,.strategy-section,.research-section{border:1px solid var(--z-border);background:linear-gradient(145deg,#121822e0,#080c12eb);border-radius:12px;padding:14px;box-shadow:0 12px 30px #0000001f,inset 0 1px #ffffff05}.trading-terminal .chart-toolbar{border-top:1px solid var(--z-border);border-bottom:1px solid var(--z-border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:10px 0;display:flex}.chart-toolbar-group{flex-direction:column;gap:5px;display:flex}.chart-timeframe-group{flex:0 auto}.chart-toolbar-label{color:var(--z-dim);letter-spacing:.08em;text-transform:uppercase;font:500 8px DM Mono,monospace}.chart-segmented{border:1px solid var(--z-border);background:#ffffff05;border-radius:8px;align-items:center;padding:2px;display:flex}.chart-segment{height:28px;color:var(--z-dim);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 9px;font:600 9px DM Mono,monospace;transition:color .14s,background .14s,box-shadow .14s}.chart-segment:hover{color:var(--z-text)}.chart-segment-active{color:var(--z-text);background:#39ff1414;box-shadow:inset 0 0 0 1px #39ff1438,0 0 10px #39ff140d}.chart-type-selector{min-width:0}.chart-indicators-group{flex:260px;min-width:220px}.indicator-options{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.indicator-option{border:1px solid var(--z-border);height:28px;color:var(--z-dim);cursor:pointer;background:#ffffff05;border-radius:7px;padding:0 9px;font:500 9px DM Mono,monospace;transition:color .14s,border-color .14s,background .14s}.indicator-option:hover{color:var(--z-text)}.indicator-option-active{color:var(--z-text);background:#39ff140f;border-color:#9cff5738}.chart-toolbar-actions{align-items:center;gap:5px;margin-left:auto;display:flex}.chart-toggle{border:1px solid var(--z-border);height:28px;color:var(--z-muted);cursor:pointer;white-space:nowrap;background:#ffffff05;border-radius:7px;align-items:center;gap:6px;padding:0 8px;font:500 8px DM Mono,monospace;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.chart-toggle input{accent-color:var(--z-accent);margin:0}.chart-toggle:has(input:checked){color:var(--z-text);border-color:#9cff5738}.trading-terminal .chart-wrap{border-radius:9px;min-height:520px;margin:8px 0 0}.trading-terminal .chart-placeholder{min-height:520px}.chart-live-state{color:var(--z-muted);letter-spacing:.08em;align-items:center;gap:6px;font:600 8px DM Mono,monospace;display:inline-flex}.chart-live-state i{background:var(--z-dim);border-radius:50%;width:5px;height:5px}.chart-live-state i.is-live{background:var(--z-accent);box-shadow:0 0 7px #9cff5780}.trading-terminal .market-footer{border-top:1px solid var(--z-border);min-height:0;margin-top:4px;padding:10px 2px 2px}.trading-terminal .prediction-panel,.trading-terminal .strategy-overlay{margin:0}.strategy-empty-state{border:1px solid var(--z-border);text-align:center;background:#ffffff03;border-radius:8px;padding:20px}.strategy-empty-state>span{color:var(--z-muted);letter-spacing:.12em;font:600 8px DM Mono,monospace}.strategy-empty-state p{color:var(--z-dim);margin:7px 0 0;font-size:9px;line-height:1.5}.trading-terminal .strategy-controls{border-bottom:0;padding:12px 0 0}.strategy-configuration{border-top:1px solid var(--z-border);margin-top:14px;padding-top:12px}.strategy-configuration-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;display:flex}.strategy-configuration-heading span{color:var(--z-muted);letter-spacing:.12em;text-transform:uppercase;font:500 9px DM Mono,monospace}.strategy-configuration-heading strong{color:var(--text-h);letter-spacing:.08em;font:600 11px DM Mono,monospace}.research-controls{grid-template-columns:150px minmax(0,1fr);align-items:end;gap:12px;padding:2px 0 12px;display:grid}.research-description{min-width:0;padding:0 2px}.research-description>span{color:var(--z-dim);letter-spacing:.1em;font:600 8px DM Mono,monospace;display:block}.research-description strong{color:var(--z-text);margin-top:4px;font:600 11px DM Mono,monospace;display:block}.research-description p{max-width:650px;color:var(--z-muted);margin:4px 0 0;font-size:9px;line-height:1.5}.research-results{border:1px solid var(--z-border);background:#ffffff03;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;display:grid;overflow:hidden}.research-results>div{border-right:1px solid var(--z-border);min-width:0;padding:12px}.research-results>div:last-child{border-right:0}.research-results span{color:var(--z-dim);letter-spacing:.08em;font:600 8px DM Mono,monospace;display:block}.research-results strong{color:var(--z-text);font-variant-numeric:tabular-nums;margin-top:5px;font:600 12px DM Mono,monospace;display:block}.research-state{border:1px solid var(--z-border);min-height:52px;color:var(--z-muted);border-radius:8px;align-items:center;gap:9px;margin-top:12px;padding:0 12px;font:500 9px DM Mono,monospace;display:flex}.research-state .loader-ring{width:14px;height:14px}.trading-terminal .market-error{margin:10px 0 0}@media (width<=800px){.trading-terminal-header{flex-direction:column;align-items:flex-start}.trading-terminal-status{align-self:flex-start}.trading-terminal .market-controls{grid-template-columns:minmax(0,1fr)}.trading-terminal .chart-toolbar{align-items:stretch}.chart-toolbar-group{flex:auto}.chart-timeframe-group{flex-basis:100%}.chart-indicators-group{flex-basis:100%;min-width:0}.chart-toolbar-actions{margin-left:0}.research-controls{grid-template-columns:1fr}}@media (width<=600px){.trading-terminal{padding-top:6px}.chart-section,.trading-intelligence-section,.strategy-section,.research-section{border-radius:9px;padding:10px}.section-heading{flex-direction:column;align-items:flex-start;gap:6px}.section-heading-model{align-self:flex-start}.trading-terminal .chart-wrap,.trading-terminal .chart-placeholder{min-height:390px}.trading-terminal .chart-wrap{height:390px}.research-results{grid-template-columns:1fr}.research-results>div{border-right:0;border-bottom:1px solid var(--z-border)}.research-results>div:last-child{border-bottom:0}}.paper-section{border:1px solid var(--z-border);background:linear-gradient(145deg,#121822e0,#080c12eb);border-radius:12px;margin-bottom:14px;padding:14px;box-shadow:0 12px 30px #0000001f,inset 0 1px #ffffff05}.paper-portfolio{flex-direction:column;gap:12px;display:flex}.paper-portfolio-loading,.paper-portfolio-error{min-height:90px;color:var(--z-muted);justify-content:center;align-items:center;gap:9px;font:500 10px DM Mono,monospace;display:flex}.paper-portfolio-error{color:#ffabb3;flex-direction:column}.paper-portfolio-headline{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.paper-portfolio-kicker{color:var(--z-muted);letter-spacing:.12em;margin-bottom:7px;font:600 8px DM Mono,monospace;display:block}.paper-portfolio-equity{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font:700 28px DM Mono,monospace;display:block}.paper-portfolio-change{font-variant-numeric:tabular-nums;margin-top:5px;font:600 11px DM Mono,monospace;display:block}.paper-portfolio-meta{flex:none;gap:22px;display:flex}.paper-portfolio-meta div{flex-direction:column;gap:3px;display:flex}.paper-portfolio-meta span{color:var(--z-dim);letter-spacing:.1em;font:600 8px DM Mono,monospace}.paper-portfolio-meta strong{color:var(--z-text);font-variant-numeric:tabular-nums;font:600 11px DM Mono,monospace}.paper-portfolio-metrics{border:1px solid var(--z-border);background:#94a3b814;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.paper-portfolio-metrics>div{background:#080c12b8;min-width:0;padding:11px 12px}.paper-portfolio-metrics span{color:var(--z-muted);letter-spacing:.1em;margin-bottom:5px;font:600 8px DM Mono,monospace;display:block}.paper-portfolio-metrics strong{color:var(--z-text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font:600 12px DM Mono,monospace;display:block;overflow:hidden}.paper-portfolio-empty{border:1px dashed var(--z-border);text-align:center;background:#ffffff03;border-radius:8px;padding:16px}.paper-portfolio-empty>span{color:var(--z-muted);letter-spacing:.14em;margin-bottom:6px;font:600 8px DM Mono,monospace;display:block}.paper-portfolio-empty p{max-width:520px;color:var(--z-dim);margin:0 auto;font-size:10px;line-height:1.55}.paper-portfolio-footer{color:var(--z-dim);letter-spacing:.08em;text-align:right;font:500 8px DM Mono,monospace}@media (width<=700px){.paper-portfolio-headline{flex-direction:column;gap:14px}.paper-portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
