*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}#root{width:100%;overflow-x:hidden}:root{--clr-primary: #4f7cff;--clr-primary-soft: rgba(79,124,255,.15);--clr-success: #22c55e;--clr-danger: #ef4444;--clr-warning: #f59e0b;--bg-app: #05070c;--bg-panel: #0b1020;--bg-card: #0e1628;--bg-card-hover: #121b33;--border-soft: rgba(255,255,255,.06);--border-medium: rgba(255,255,255,.12);--text-primary: #e5e7eb;--text-secondary: #9ca3af;--text-muted: #6b7280;--bg-card-surface: radial-gradient( 120% 140% at 0% 0%, rgba(40, 80, 140, .25), transparent 60% ), linear-gradient(180deg, #0a0f18, #05070c);--shadow-card: 0 0 0 1px rgba(255,255,255,.04), 0 10px 30px rgba(0,0,0,.6);--shadow-glow: 0 0 0 1px rgba(79,124,255,.3), 0 0 40px rgba(79,124,255,.2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--space-xs: 6px;--space-sm: 10px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font-main: "Inter", system-ui, -apple-system, sans-serif;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--transition-fast: .15s ease;--transition-base: .25s ease;--section-padding: var(--space-xl);--container-max: 1400px;--radius-card: var(--radius-lg);--radius-control: var(--radius-md);--header-height: 64px;--footer-height: 280px}.theme-light{--clr-primary: #355dff;--clr-primary-soft: rgba(53, 93, 255, .12);--bg-app: #f8fafc;--bg-panel: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--border-soft: rgba(0,0,0,.06);--border-medium: rgba(0,0,0,.12);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--shadow-card: 0 0 0 1px rgba(0,0,0,.04), 0 10px 30px rgba(0,0,0,.08);--shadow-glow: 0 0 0 1px rgba(53, 93, 255, .25), 0 0 24px rgba(53, 93, 255, .18);--bg-card-surface: radial-gradient( 120% 140% at 0% 0%, rgba(53, 93, 255, .08), transparent 55% ), linear-gradient( 180deg, #ffffff, #f8fafc )}.tp-header--dashboard{height:64px}html{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-main)}body{background:var(--bg-app);color:var(--text-primary)}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer}body,.tp-card,.tp-header,.tp-footer,.tp-section{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}main{padding-top:var(--header-height)}.tp-section{width:100%;padding:var(--section-padding)}@media(max-width:640px){.tp-section{padding-left:16px;padding-right:16px}}.tp-container{max-width:var(--container-max);margin:0 auto;width:100%}.tp-grid{display:grid;gap:var(--space-md)}.tp-grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tp-grid-5{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.tp-grid-stack{display:grid;gap:var(--space-lg)}.tp-section--hero{padding-block:calc(var(--space-xl) * 1.8)}.tp-section--tight{padding-block:var(--space-xl)}.tp-section--spacious{padding-block:calc(var(--space-xl) * 1.2)}.tp-section--cta{padding-block:calc(var(--space-xl) * 1.6);text-align:center}.tp-section--auth{padding-block:calc(var(--space-xl) * 1.4)}.tp-footer{padding-block:var(--space-xl) var(--space-lg);min-height:var(--footer-height)}.tp-card{padding:var(--space-lg);border-radius:var(--radius-card);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card)}.tp-card-header{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.tp-badge{padding:4px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-medium)}.tp-badge-primary{color:var(--clr-primary);background:var(--clr-primary-soft);border:1px solid rgba(79,124,255,.25)}.tp-input{width:100%;padding:12px 14px;border-radius:var(--radius-control);background:#ffffff0a;border:1px solid var(--border-soft);color:var(--text-primary)}.tp-input:focus{outline:none;border-color:var(--clr-primary);box-shadow:var(--shadow-glow)}.tp-btn-primary{padding:12px;border-radius:var(--radius-control);background:linear-gradient(180deg,var(--clr-primary),#355dff);color:#fff;font-weight:var(--fw-semibold)}.tp-btn-outline{padding:8px 14px;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);background:transparent;border:1px solid var(--border-medium);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.tp-btn-outline:hover{background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary)}.tp-header{position:fixed;inset:0 0 auto;z-index:90;overflow:visible}.tp-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.tp-logo{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.tp-logo-img{width:28px;height:28px;object-fit:contain}.tp-theme-toggle{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.tp-theme-toggle:hover{background:var(--border-soft);color:var(--text-primary);transform:rotate(12deg)}.tp-section-title{font-size:clamp(26px,3.2vw,32px);font-weight:var(--fw-bold);margin-bottom:var(--space-sm)}.tp-section-title span{color:var(--clr-primary)}.tp-section-sub{font-size:var(--fs-md);color:var(--text-secondary)}.tp-demand{width:100%;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.tp-demand-bar{height:100%;background:var(--clr-primary);border-radius:999px}.tp-pill{width:fit-content;padding:4px 10px;border-radius:999px;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.tp-pill-success{background:#22c55e26;color:var(--clr-success)}.tp-pill-warning{background:#f59e0b26;color:var(--clr-warning)}.tp-pill-primary{background:var(--clr-primary-soft);color:var(--clr-primary);border:1px solid rgba(79,124,255,.25)}.tp-form{display:flex;flex-direction:column;gap:var(--space-md);max-width:420px}.tp-form-group{display:flex;flex-direction:column;gap:6px}.tp-form-group label{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-switch{position:relative;width:42px;height:22px}.tp-switch input{display:none}.tp-switch span{position:absolute;inset:0;border-radius:999px;background:#ffffff26;transition:background var(--transition-fast)}.tp-switch span:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--transition-fast)}.tp-switch input:checked+span{background:var(--clr-primary)}.tp-switch input:checked+span:before{transform:translate(20px)}.tp-section-header{max-width:720px;margin-left:auto;margin-right:auto;text-align:center}.tp-section-header h2,.tp-section-header h3,.tp-section-header p{text-align:center}.tp-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px;background-repeat:no-repeat}.tp-input.tp-select{background-color:var(--bg-card);color:var(--text-primary)}.tp-input.tp-select option{background-color:var(--bg-panel);color:var(--text-primary)}.tp-text-up{color:var(--clr-success)}.tp-text-down{color:var(--clr-danger)}.tp-text-neutral{color:var(--text-muted)}.tp-muted{color:var(--text-secondary)}.tp-header--public{position:fixed;inset:0 0 auto;z-index:100;background:color-mix(in srgb,var(--bg-app) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft)}.tp-header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.tp-header-logo{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.tp-logo-text{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.tp-header-nav{display:flex;gap:var(--space-lg)}.tp-nav-link{color:var(--text-secondary);font-size:var(--fs-sm);position:relative}.tp-nav-link.active{color:var(--clr-primary)}.tp-nav-link.active:after{content:"";position:absolute;inset:auto 0 -8px;height:2px;background:var(--clr-primary)}.tp-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.tp-header-toggle{display:none}@media(max-width:900px){.tp-header-nav{position:absolute;top:100%;inset-inline:0;background:var(--bg-panel);flex-direction:column;padding:var(--space-md);display:none}.tp-header-nav.open{display:flex}.tp-header-toggle{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary)}}.tp-header--dashboard{height:64px;background:linear-gradient(180deg,var(--bg-panel),var(--bg-app));border-bottom:1px solid var(--border-soft)}.tp-dashboard-nav{display:flex;gap:var(--space-sm)}.tp-dashboard-link{padding:8px 14px;border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text-secondary)}.tp-dashboard-link.active{background:color-mix(in srgb,var(--border-medium) 70%,transparent);color:var(--text-primary)}.tp-dashboard-actions{display:flex;align-items:center;gap:var(--space-md);color:var(--text-secondary)}.tp-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--clr-primary),color-mix(in srgb,var(--clr-primary) 65%,black));color:var(--text-primary);font-size:var(--fs-xs);font-weight:var(--fw-semibold);display:flex;align-items:center;justify-content:center}.tp-profile{position:relative}.tp-profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:160px;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);z-index:9999;overflow:hidden}.tp-profile-dropdown button{width:100%;padding:10px 14px;display:flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer}.tp-profile-dropdown button:hover{background:var(--bg-card-hover)}@media(max-width:768px){.tp-menu-btn{display:flex}.tp-dashboard-nav{position:absolute;top:64px;inset-inline:0;background:var(--bg-app);flex-direction:column;display:none;padding:var(--space-md);border-bottom:1px solid var(--border-soft)}.tp-dashboard-nav.open{display:flex}}.tp-footer{background:linear-gradient(180deg,#ffffff05,#ffffff03);border-top:1px solid var(--border-soft)}.tp-footer-top{display:grid;grid-template-columns:1.2fr 2fr;gap:var(--space-xl)}.tp-footer-brand{max-width:360px}.tp-footer-logo{margin-bottom:var(--space-sm)}.tp-footer-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.tp-footer-col{display:flex;flex-direction:column;gap:8px}.tp-footer-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.tp-footer-col a{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-footer-col a:hover{color:var(--text-primary)}.tp-footer-divider{margin:var(--space-lg) 0;height:1px;background:var(--border-soft)}.tp-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.tp-footer-copy{font-size:var(--fs-xs);color:var(--text-muted)}.tp-footer-socials{display:flex;gap:var(--space-md)}.tp-footer-socials a{font-size:var(--fs-xs);color:var(--text-secondary)}.tp-footer-socials a:hover{color:var(--text-primary)}@media(max-width:900px){.tp-footer-top{grid-template-columns:1fr}.tp-footer-links{grid-template-columns:repeat(2,1fr)}.tp-footer-bottom{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.tp-footer-links{grid-template-columns:1fr}}.tp-hero{position:relative;overflow:hidden}.tp-hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(40% 40% at 20% 20%,var(--clr-primary-soft),transparent 60%),radial-gradient(30% 30% at 80% 30%,rgba(255,255,255,.05),transparent 60%);filter:blur(60px);opacity:.6;animation:tp-hero-float 18s linear infinite;pointer-events:none}@keyframes tp-hero-float{0%{transform:translateY(0)}50%{transform:translateY(-4%)}to{transform:translateY(0)}}.tp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-xl);align-items:center}@media(max-width:900px){.tp-hero-grid{grid-template-columns:1fr}}.tp-hero-content{opacity:0;transform:translateY(16px);transition:all .6s ease}.tp-hero--visible .tp-hero-content{opacity:1;transform:none}.tp-hero-pill{margin-bottom:var(--space-md)}.tp-hero-title{font-size:clamp(36px,4.2vw,56px);font-weight:var(--fw-bold);line-height:1.05;margin-bottom:var(--space-md)}.tp-hero-title span{color:var(--clr-primary)}.tp-hero-sub{max-width:520px;color:var(--text-secondary);margin-bottom:var(--space-lg)}.tp-hero-actions{display:flex;gap:var(--space-md)}.tp-hero-btn{min-width:180px}.tp-hero-panel{position:relative;opacity:0;transform:translateY(24px) scale(.98);transition:all .7s ease .15s}.tp-hero--visible .tp-hero-panel{opacity:1;transform:none}.tp-hero-panel-inner{position:relative;padding:var(--space-lg);border-radius:var(--radius-xl);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tp-hero-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.tp-hero-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.tp-hero-metric{padding:var(--space-md);border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border-soft);transition:transform var(--transition-base),box-shadow var(--transition-base)}.tp-hero-metric h4{margin:4px 0}.tp-hero-metric:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.tp-hero-glow{position:absolute;inset:-40px;border-radius:inherit;background:radial-gradient(60% 60% at 50% 0%,var(--clr-primary-soft),transparent 70%);filter:blur(50px);opacity:.35;pointer-events:none}.tp-metrics{position:relative}.tp-metrics-strip{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-xl);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(12px);transition:all .6s ease}.tp-metrics--visible .tp-metrics-strip{opacity:1;transform:none}@media(max-width:900px){.tp-metrics-strip{grid-template-columns:1fr;gap:var(--space-md)}}.tp-metric{position:relative;text-align:center;padding:var(--space-sm) var(--space-md)}.tp-metric-value{font-size:clamp(20px,2.2vw,26px);font-weight:var(--fw-bold);letter-spacing:-.02em}.tp-metric-label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.tp-metric-divider{position:absolute;right:-50%;top:50%;transform:translateY(-50%);width:1px;height:32px;background:linear-gradient(180deg,transparent,var(--border-medium),transparent)}@media(max-width:900px){.tp-metric-divider{display:none}}.tp-metric{transition:transform var(--transition-fast)}.tp-metric:hover{transform:translateY(-2px)}.tp-constellation{position:relative;overflow:visible}.tp-constellation-canvas{position:relative;margin-top:calc(var(--space-xl) * 2.5);min-height:560px;overflow:visible}.tp-constellation-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-glow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:3}.tp-constellation-core span{font-weight:var(--fw-bold);font-size:var(--fs-lg)}.tp-constellation-core small{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-constellation-orbit{position:absolute;--radius: 280px;--angle: calc(var(--i) * 60deg);top:50%;left:50%;transform:translate(-50%,-50%) rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle)));transform-origin:center;z-index:2}.tp-constellation-node{width:260px;padding:var(--space-md);border-radius:var(--radius-lg);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);opacity:0;transform:translateY(18px) scale(.96);transition:opacity .6s ease,transform .6s ease,box-shadow var(--transition-base)}.tp-constellation--visible .tp-constellation-node{opacity:1;transform:translateY(0) scale(1)}.tp-constellation-node:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-glow)}.tp-constellation-node h4{margin-bottom:6px}.tp-constellation-node p{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-constellation:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(79,124,255,.08),transparent 60%);pointer-events:none}@media(max-width:900px){.tp-constellation-canvas{min-height:auto;display:grid;gap:var(--space-md)}.tp-constellation-orbit{position:static;transform:none}.tp-constellation-core{position:static;transform:none;margin-bottom:var(--space-lg)}.tp-constellation-node{width:100%;transform:none!important;opacity:1}}.tp-flow{position:relative;overflow:hidden}.tp-flow-timeline{position:relative;margin-top:calc(var(--space-xl) * 1.2);display:flex;flex-direction:column;gap:var(--space-xl)}.tp-flow-timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:linear-gradient(180deg,transparent,var(--clr-primary-soft),transparent)}.tp-flow-step{position:relative;width:50%;padding:var(--space-md)}.tp-flow-step.left{align-self:flex-start;text-align:right}.tp-flow-step.right{align-self:flex-end;text-align:left}.tp-flow-step{opacity:0;transform:translateY(12px);transition:all .6s ease}.tp-flow--visible .tp-flow-step{opacity:1;transform:none}.tp-flow-content{position:relative;padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tp-flow-content h4{margin-bottom:6px}.tp-flow-content p{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-flow-index{position:absolute;top:-18px;right:-10px;font-size:64px;font-weight:var(--fw-bold);color:#ffffff0a;pointer-events:none}.tp-flow-step.right .tp-flow-index{left:-10px;right:auto}.tp-flow-content{transition:transform var(--transition-base),box-shadow var(--transition-base)}.tp-flow-content:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}@media(max-width:900px){.tp-flow-timeline:before{left:0}.tp-flow-step,.tp-flow-step.left,.tp-flow-step.right{width:100%;text-align:left}.tp-flow-index{display:none}}.tp-feed{position:relative;overflow:hidden}.tp-feed-wrap{position:relative;margin-top:calc(var(--space-xl) * 1.2);display:flex;gap:var(--space-lg)}.tp-feed-rail{width:2px;background:linear-gradient(180deg,transparent,var(--clr-primary-soft),transparent);opacity:.6}.tp-feed-list{display:flex;flex-direction:column;gap:var(--space-md);flex:1}.tp-feed-item{position:relative;display:flex;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);opacity:.4;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease,box-shadow var(--transition-base)}.tp-feed-item.active{opacity:1;transform:none;box-shadow:var(--shadow-glow)}.tp-feed-status{width:10px;height:10px;border-radius:50%;margin-top:6px;flex-shrink:0}.tp-feed-content h4{margin-bottom:4px}.tp-feed-meta{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:6px}.tp-feed-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.tp-feed-wrap{opacity:0;transform:translateY(12px);transition:all .6s ease}.tp-feed--visible .tp-feed-wrap{opacity:1;transform:none}@media(max-width:900px){.tp-feed-wrap{flex-direction:column}.tp-feed-rail{display:none}}.tp-persona{position:relative;overflow:hidden}.tp-persona-row{display:flex;margin-top:calc(var(--space-xl) * 1.2);gap:var(--space-md)}.tp-persona-panel{position:relative;flex:1;min-height:280px;border-radius:var(--radius-xl);background:var(--bg-card-surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);transition:flex .5s ease,box-shadow var(--transition-base),transform var(--transition-base);cursor:pointer;overflow:hidden}.tp-persona-panel.active{flex:2;box-shadow:var(--shadow-glow)}.tp-persona-inner{position:relative;height:100%;padding:var(--space-xl);display:flex;flex-direction:column;justify-content:flex-end;transition:transform var(--transition-base)}.tp-persona-panel:hover .tp-persona-inner{transform:translateY(-6px)}.tp-persona-inner h3{margin-bottom:6px}.tp-persona-inner p{max-width:360px;font-size:var(--fs-sm);color:var(--text-secondary)}.tp-persona-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 20%,var(--clr-primary-soft),transparent 60%);opacity:0;transition:opacity var(--transition-base)}.tp-persona-panel.active:before{opacity:.6}@media(max-width:900px){.tp-persona-row{flex-direction:column}.tp-persona-panel{min-height:220px}.tp-persona-panel.active{flex:1}}.tp-cta{position:relative;overflow:hidden;text-align:center}.tp-cta-wrap{position:relative;max-width:720px;margin:0 auto}.tp-cta-title{font-size:clamp(32px,4vw,46px);font-weight:var(--fw-bold);line-height:1.1;margin-bottom:var(--space-md)}.tp-cta-title span{color:var(--clr-primary)}.tp-cta-sub{font-size:var(--fs-md);color:var(--text-secondary);margin-bottom:var(--space-lg)}.tp-cta-actions{display:flex;justify-content:center;gap:var(--space-md)}.tp-cta-btn{min-width:180px}.tp-cta:before{content:"";position:absolute;inset:-30%;background:radial-gradient(40% 40% at 50% 40%,var(--clr-primary-soft),transparent 60%);filter:blur(80px);opacity:.6;animation:tp-cta-pulse 14s ease-in-out infinite;pointer-events:none}@keyframes tp-cta-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:640px){.tp-cta-actions{flex-direction:column}}.tp-auth{position:relative}.tp-auth-grid{align-items:center;gap:var(--space-xl)}.tp-auth-info{max-width:440px}.tp-auth-title{font-size:clamp(28px,3vw,36px);font-weight:var(--fw-bold);line-height:1.2;margin-bottom:var(--space-sm)}.tp-auth-title span{color:var(--clr-primary)}.tp-auth-sub{font-size:var(--fs-md);color:var(--text-secondary);line-height:1.6}.tp-auth-card{max-width:520px;margin-left:auto}.tp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.tp-form-span-2{grid-column:span 2}.tp-privacy{margin-top:var(--space-sm)}.tp-privacy-label{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.tp-privacy-label input{margin-top:4px;flex-shrink:0}.tp-privacy-label a{color:var(--clr-primary);font-weight:var(--fw-medium)}.tp-privacy-label a:hover{text-decoration:underline}.tp-auth-error{font-size:var(--fs-sm);line-height:1.4}.tp-auth-btn{margin-top:var(--space-sm)}.tp-auth-footer{margin-top:var(--space-md);font-size:var(--fs-sm);color:var(--text-secondary);text-align:center}@media(max-width:768px){.tp-auth-grid{grid-template-columns:1fr}.tp-auth-card{margin-left:0}.tp-auth-info{text-align:center;margin-inline:auto}.tp-form-grid{grid-template-columns:1fr}.tp-form-span-2{grid-column:span 1}}.tp-news-header{display:flex;align-items:center}.tp-news-title-wrap{display:flex;align-items:center;gap:var(--space-sm)}.tp-news-title-wrap svg{color:var(--text-secondary)}.tp-news-list{display:flex;flex-direction:column}.tp-news-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-soft);transition:background var(--transition-fast)}.tp-news-item:last-child{border-bottom:none}.tp-news-item:hover{background:var(--bg-card-hover)}.tp-news-content{display:flex;flex-direction:column;gap:4px;max-width:520px}.tp-news-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.4}.tp-news-time{font-size:var(--fs-xs);color:var(--text-muted)}@media(max-width:640px){.tp-news-item{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}.tp-rates-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tp-rate-card{padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-soft);display:flex;flex-direction:column;gap:6px}.tp-rate-header{display:flex;align-items:center;justify-content:space-between}.tp-rate-symbol{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.tp-rate-change{font-size:var(--fs-xs);font-weight:var(--fw-medium)}.tp-rate-pair{font-size:var(--fs-xs);color:var(--text-muted)}.tp-rate-value{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.tp-ship-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tp-ship-card{padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-soft);display:flex;flex-direction:column;gap:var(--space-sm)}.tp-ship-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.tp-ship-route{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.tp-ship-port{font-size:var(--fs-xs);color:var(--text-muted)}.tp-ship-days{font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap}.tp-ship-footer{display:flex;align-items:center;justify-content:space-between}.tp-ship-price{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.tp-ship-change{font-size:var(--fs-xs);font-weight:var(--fw-medium)}@media(max-width:640px){.tp-rate-card,.tp-ship-card{padding:var(--space-lg)}}.tp-duty-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tp-duty-card{padding:var(--space-lg);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-soft);display:flex;flex-direction:column;gap:var(--space-sm)}.tp-duty-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.tp-duty-rate{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:1.2}.tp-duty-note{font-size:var(--fs-xs);color:var(--text-muted)}@media(max-width:640px){.tp-duty-card{padding:var(--space-xl)}}.tp-commodity-card{padding:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff08,#ffffff03);display:flex;flex-direction:column;gap:var(--space-sm);transition:background var(--transition-base)}.tp-commodity-card:hover{background:var(--bg-card-hover)}.tp-commodity-name{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.tp-commodity-price{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.tp-commodities-header{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.tp-tabs{display:flex;gap:6px;background:#ffffff08;padding:6px;border-radius:var(--radius-md)}.tp-tab{padding:6px 14px;border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.tp-tab.active{background:var(--clr-primary);color:#fff}.tp-table-head,.tp-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 40px}.tp-table-head{padding:var(--space-sm) 0;border-bottom:1px solid var(--border-soft);color:var(--text-secondary);font-size:var(--fs-sm)}.tp-table-row{align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--border-soft)}.tp-demand-cell{display:flex;align-items:center;gap:var(--space-sm)}.tp-star-btn svg{opacity:.4}.tp-star-btn svg.active{opacity:1;color:var(--clr-primary)}@media(max-width:900px){.tp-table-head,.tp-table-row{grid-template-columns:2fr 1fr 1fr;row-gap:8px}.tp-table-head span:nth-child(n+4),.tp-table-row>*:nth-child(n+4){display:none}}.tp-watchlist-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md)}.tp-watchlist-card{padding:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff08,#ffffff03);display:flex;flex-direction:column;gap:var(--space-sm)}.tp-watchlist-top{display:flex;justify-content:space-between;align-items:center}.tp-watchlist-top svg{opacity:.4}.tp-watchlist-top svg.active{opacity:1;color:var(--clr-primary)}.tp-watchlist-price{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.tp-watchlist-meta{display:flex;align-items:center;gap:var(--space-sm)}.tp-score{padding:4px 10px;border-radius:999px;background:#22c55e26;color:var(--clr-success);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.tp-verified{display:flex;align-items:center;gap:4px;color:var(--clr-success);font-size:var(--fs-sm)}.tp-watchlist-bottom{display:flex;justify-content:space-between;align-items:center}.tp-supplier-header{display:flex;align-items:center;justify-content:space-between}.tp-table{display:flex;flex-direction:column}.tp-table-head,.tp-table-row{display:grid;grid-template-columns:1.6fr 1fr .8fr .9fr .7fr 1fr 40px;align-items:center;gap:var(--space-md)}.tp-table-head{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-soft)}.tp-table-row{padding:var(--space-md) 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm)}.tp-table-row:last-child{border-bottom:none}.supplier-name strong{font-weight:var(--fw-semibold)}.supplier-link{font-weight:var(--fw-medium);color:var(--clr-primary);cursor:pointer}.tp-star{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast)}.tp-star:hover{color:var(--clr-primary)}@media(max-width:1024px){.tp-table-head,.tp-table-row{grid-template-columns:1.4fr 1fr .8fr .9fr .7fr .9fr 32px}}@media(max-width:768px){.tp-table-head{display:none}.tp-table-row{grid-template-columns:1fr;gap:var(--space-sm);padding:var(--space-lg) 0}.tp-star{align-self:flex-end}}.tp-ai-header{display:flex;align-items:center;justify-content:space-between}.tp-ai-title{display:flex;align-items:center;gap:var(--space-sm)}.tp-ai-title svg{color:var(--clr-primary)}.tp-ai-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md);padding:var(--space-xl) 0}.tp-ai-icon-wrap{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--clr-primary-soft);color:var(--clr-primary)}.tp-ai-icon-wrap svg{width:28px;height:28px}.tp-ai-text{max-width:420px;color:var(--text-secondary);font-size:var(--fs-md)}.tp-ai-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-top:var(--space-sm)}.tp-ai-chip{padding:8px 14px;border-radius:999px;font-size:var(--fs-sm);font-weight:var(--fw-medium);background:transparent;color:var(--text-primary);border:1px solid var(--border-medium);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.tp-ai-chip:hover{background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary)}.tp-ai-input{display:flex;gap:var(--space-sm);align-items:center;margin-top:var(--space-lg)}.tp-ai-input .tp-input{flex:1}.tp-ai-send{display:inline-flex;align-items:center;gap:var(--space-xs);padding-inline:var(--space-md)}@media(max-width:640px){.tp-ai-input{flex-direction:column;align-items:stretch}.tp-ai-send{justify-content:center}}.tp-data-row{display:flex;justify-content:space-between;align-items:center}.tp-pref-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}@media(max-width:640px){.tp-form{max-width:100%}}.settings-form{max-width:520px}.settings-actions{margin-top:var(--space-md)}.settings-list{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;border-bottom:1px solid var(--border-soft);gap:var(--space-md)}.settings-row:last-child{border-bottom:none}.settings-pref{align-items:flex-start}.tp-404{min-height:calc(100vh - var(--header-height));display:flex;align-items:center}.tp-404-container{display:flex;justify-content:center}.tp-404-card{max-width:420px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.tp-404-icon{font-size:40px;color:var(--clr-warning);opacity:.9}.tp-404-title{font-size:64px;font-weight:var(--fw-bold);line-height:1}.tp-404-sub{font-size:var(--fs-md);color:var(--text-secondary)}.tp-404-btn{display:flex;align-items:center;gap:8px;margin-top:var(--space-sm)}@media(max-width:640px){.tp-404-title{font-size:48px}}.product-table{display:flex;flex-direction:column;gap:var(--space-sm)}.product-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm)}.product-row:last-child{border-bottom:none}.product-head{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.forecast-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.forecast-chart{width:100%;height:10px;border-radius:999px;background:#ffffff14;overflow:hidden;margin-bottom:var(--space-sm)}.forecast-bar{height:100%;background:var(--clr-primary);border-radius:999px}.forecast-note{font-size:var(--fs-sm)}.forecast-table{display:flex;flex-direction:column;gap:var(--space-sm)}.forecast-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm)}.forecast-row:last-child{border-bottom:none}.forecast-head{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.reports-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-md);align-items:center}@media(max-width:768px){.reports-filters{grid-template-columns:1fr}}.reports-table{display:flex;flex-direction:column;gap:var(--space-sm)}.reports-row{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr 1fr;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm)}.reports-row:last-child{border-bottom:none}.reports-head{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.reports-export{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}@media(max-width:640px){.reports-export{flex-direction:column;align-items:flex-start}}
