.kdash{--k-blue: var(--color-primary-blue);--k-violet: var(--color-primary-violet);--k-pink: var(--color-primary-pink);--bg: var(--color-bg-dark);--bg-elev-1: var(--color-bg-card);--bg-elev-2: var(--color-bg-card-hover);--border: var(--color-border);--border-soft: rgba(255,255,255,.08);--fg: var(--color-text-primary);--fg-secondary: var(--color-text-secondary);--fg-muted: var(--color-text-muted);--k-gradient: linear-gradient(135deg, var(--k-blue) 0%, var(--k-violet) 50%, var(--k-pink) 100%);--k-gradient-h: linear-gradient(90deg, var(--k-blue) 0%, var(--k-violet) 50%, var(--k-pink) 100%);--shadow-button: 0 8px 20px rgba(233,78,139,.3);--font-display: "Space Grotesk", "Rubik", system-ui, sans-serif;--t-fast: .18s ease;position:relative;margin:-1.5rem -1rem 0}@media(min-width:640px){.kdash{margin:-1.5rem -1.5rem 0}}@media(min-width:1024px){.kdash{margin:-2rem -2rem 0}}.kdash .dash-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;padding:20px 36px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(12px)}.kdash .dash-hello{display:flex;flex-direction:column;gap:2px;flex:0 0 auto}.kdash .dash-hello .hi{font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.02em}.kdash .dash-hello .hi .wave{display:inline-block;transform-origin:70% 70%;animation:kd-wave 2.6s ease-in-out infinite}@keyframes kd-wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}}.kdash .dash-hello .date{font-size:12.5px;color:var(--fg-muted);text-transform:capitalize}.kdash .dash-search{flex:1 1 auto;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:10px;height:42px;padding:0 16px;border-radius:12px;background:var(--bg-elev-1);border:1px solid var(--border-soft);color:var(--fg-muted);transition:border-color var(--t-fast),background var(--t-fast)}.kdash .dash-search:focus-within{border-color:#b968c773;background:var(--bg-elev-2)}.kdash .dash-search svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;flex:0 0 auto}.kdash .dash-search input{flex:1 1 auto;border:0;outline:0;background:transparent;color:var(--fg);font-size:13.5px}.kdash .dash-search input::placeholder{color:var(--fg-muted)}.kdash .dash-topbar-r{display:flex;align-items:center;gap:12px;flex:0 0 auto}.kdash .dash-pro{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-radius:9999px;background:#eab3081f;border:1px solid rgba(234,179,8,.35);color:#f6c944;font-size:12.5px;font-weight:700;letter-spacing:.02em}.kdash .dash-pro .dot{width:6px;height:6px;border-radius:50%;background:#f6c944;box-shadow:0 0 8px #f6c944}.kdash .dash-iconbtn{position:relative;width:38px;height:38px;border-radius:11px;padding:0;background:var(--bg-elev-1);border:1px solid var(--border-soft);color:var(--fg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-fast)}.kdash .dash-iconbtn:hover{color:var(--fg);background:var(--bg-elev-2)}.kdash .dash-iconbtn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.9}.kdash .dash-iconbtn .nb{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9999px;background:var(--k-pink);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.kdash .dash-cta{height:38px;padding:0 18px;border-radius:9999px;border:0;cursor:pointer;background:var(--k-gradient-h);color:#fff;font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:7px;box-shadow:var(--shadow-button);transition:transform var(--t-fast),box-shadow var(--t-fast);text-decoration:none}.kdash .dash-cta:hover{transform:translateY(-1px);box-shadow:0 10px 28px #e94e8b73}.kdash .dash-cta svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.6}.kdash .dash-scroll{position:relative;z-index:1;padding:26px 36px 48px}.kdash .dash-scroll>*+*{margin-top:22px}.kdash .dash-hero{display:grid;grid-template-columns:1.55fr 1fr;gap:22px}.kdash .dash-coach{position:relative;border-radius:22px;padding:2px;overflow:hidden;background:linear-gradient(var(--bg-elev-1),var(--bg-elev-1)) padding-box,linear-gradient(120deg,#5b8def,#b968c7,#e94e8b) border-box;border:2px solid transparent;box-shadow:0 0 0 5px #b968c70f,0 20px 50px #b968c729}.kdash .dash-coach .inner{position:relative;background:var(--bg-elev-1);border-radius:20px;padding:22px 26px;display:flex;align-items:center;gap:22px;min-height:196px;overflow:hidden}.kdash .dash-coach .inner:before{content:"";position:absolute;inset:-30% -10% auto;height:80%;background:radial-gradient(50% 60% at 18% 30%,rgba(91,141,239,.16),transparent 70%),radial-gradient(50% 60% at 80% 20%,rgba(233,78,139,.14),transparent 70%);pointer-events:none}.kdash .dash-coach .mascot-wrap{position:relative;flex:0 0 auto;width:158px;align-self:stretch;display:flex;align-items:flex-end;justify-content:center}.kdash .dash-coach .mascot-wrap .halo{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:130px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(185,104,199,.45),transparent);filter:blur(7px)}.kdash .dash-coach .mascot{position:relative;width:158px;height:auto;filter:drop-shadow(0 16px 26px rgba(0,0,0,.5));animation:kd-float 5s ease-in-out infinite}@keyframes kd-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}.kdash .dash-coach .speech{position:relative;flex:1 1 auto;min-width:0}.kdash .dash-coach .name{display:flex;align-items:center;gap:9px;margin-bottom:8px}.kdash .dash-coach .name b{font-size:15px;font-weight:800;color:var(--fg)}.kdash .dash-coach .name .tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 9px;border-radius:9999px;background:#b968c72e;color:#e6c2ff;display:inline-flex;align-items:center;gap:4px}.kdash .dash-coach .typing{display:inline-flex;gap:3px;align-items:center}.kdash .dash-coach .typing i{width:5px;height:5px;border-radius:50%;background:var(--fg-muted);animation:kd-typingdot 1.1s ease-in-out infinite}.kdash .dash-coach .typing i:nth-child(2){animation-delay:.15s}.kdash .dash-coach .typing i:nth-child(3){animation-delay:.3s}@keyframes kd-typingdot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.kdash .dash-coach .msg{margin:0;font-size:18px;line-height:1.42;color:var(--fg);letter-spacing:-.01em;transition:opacity .3s ease;min-height:50px}.kdash .dash-coach .msg b{font-weight:700}@keyframes kd-coachSwap{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.kdash .dash-coach .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;transition:opacity .3s ease}.kdash .coach-chip{height:32px;padding:0 14px;border-radius:9999px;cursor:pointer;background:#ffffff0a;border:1px solid var(--border-soft);color:var(--fg);font-size:12.5px;font-weight:600;transition:all var(--t-fast)}.kdash .coach-chip:hover{background:var(--k-gradient-h);border-color:transparent;box-shadow:0 6px 16px #e94e8b4d}.kdash .coach-chip:first-child{background:#b968c729;border-color:#b968c752}.kdash .coach-chip:first-child:hover{background:var(--k-gradient-h)}.kdash .dash-rank{position:relative;border-radius:20px;background:var(--bg-elev-1);border:1px solid var(--border-soft);padding:18px 20px;display:flex;flex-direction:column;overflow:hidden}.kdash .dash-rank:after{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(closest-side,rgba(234,179,8,.16),transparent);pointer-events:none}.kdash .dash-rank .rk-top{display:flex;align-items:center;gap:12px}.kdash .dash-rank .trophy{width:46px;height:46px;border-radius:14px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,#eab30838,#f59e0b1f);border:1px solid rgba(234,179,8,.3)}.kdash .dash-rank .rk-info .rk-pct{font-family:var(--font-display);font-weight:900;font-size:22px;letter-spacing:-.02em;line-height:1}.kdash .dash-rank .rk-info .rk-pct .grad{background:var(--k-gradient-h);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.kdash .dash-rank .rk-info .rk-sub{font-size:12px;color:var(--fg-secondary);margin-top:3px}.kdash .dash-rank .lvl{margin-top:18px}.kdash .dash-rank .lvl-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.kdash .dash-rank .lvl-row .nm{font-size:13.5px;font-weight:700;color:var(--fg)}.kdash .dash-rank .lvl-row .xp{font-size:11.5px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.kdash .dash-rank .track{height:9px;border-radius:9999px;background:#ffffff0f;overflow:hidden}.kdash .dash-rank .track i{display:block;height:100%;width:0;border-radius:9999px;background:var(--k-gradient-h);box-shadow:0 0 12px #e94e8b80;transition:width 1.3s cubic-bezier(.16,1,.3,1) .2s}.kdash .dash-rank .lvl-note{font-size:11.5px;color:var(--fg-muted);margin-top:8px}.kdash .dash-rank .lvl-note b{color:#e6c2ff;font-weight:700}.kdash .dash-rank .badges{display:flex;gap:7px;margin-top:16px;flex-wrap:wrap}.kdash .dash-rank .bdg{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:9999px;background:#ffffff0a;border:1px solid var(--border-soft);font-size:11.5px;font-weight:600;color:var(--fg-secondary)}.kdash .dash-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kdash .qa{position:relative;display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:16px;background:var(--bg-elev-1);border:1px solid var(--border-soft);cursor:pointer;text-align:left;color:var(--fg);transition:transform var(--t-fast),border-color var(--t-fast),background var(--t-fast);overflow:hidden;text-decoration:none}.kdash .qa:hover{transform:translateY(-2px);border-color:#b968c74d;background:var(--bg-elev-2)}.kdash .qa .qi{width:42px;height:42px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#ffffff0d}.kdash .qa .qi svg{width:21px;height:21px;stroke:var(--fg-secondary);stroke-width:1.9;fill:none}.kdash .qa .ql{min-width:0}.kdash .qa .ql .l1{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em}.kdash .qa .ql .l2{display:block;font-size:11.5px;color:var(--fg-muted);margin-top:2px}.kdash .qa.primary{background:var(--k-gradient);border-color:transparent;box-shadow:0 12px 30px #e94e8b47}.kdash .qa.primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px #e94e8b66}.kdash .qa.primary .qi{background:#fff3}.kdash .qa.primary .qi svg{stroke:#fff}.kdash .qa.primary .ql .l2{color:#ffffffc7}.kdash .dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kdash .kpi{position:relative;border-radius:18px;background:var(--bg-elev-1);border:1px solid var(--border-soft);padding:16px 18px;overflow:hidden;transition:border-color var(--t-fast)}.kdash .kpi:hover{border-color:#b968c747}.kdash .kpi .klbl{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--fg-secondary);font-weight:600}.kdash .kpi .klbl svg{width:15px;height:15px;stroke-width:2}.kdash .kpi .kval{font-family:var(--font-display);font-weight:900;font-size:34px;letter-spacing:-.03em;line-height:1;margin:12px 0 6px;font-variant-numeric:tabular-nums}.kdash .kpi .kval .u{font-size:19px;font-weight:800;color:var(--fg-muted);margin-left:2px}.kdash .kpi .kval .star{color:#eab308}.kdash .kpi .kfoot{display:flex;align-items:center;justify-content:space-between;gap:8px}.kdash .kpi .delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#34d399}.kdash .kpi .delta.flat{color:var(--fg-muted)}.kdash .kpi .kspark{width:64px;height:26px;flex:0 0 auto}.kdash .kpi .kspark path{fill:none;stroke:url(#sparkGrad);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.kdash .dash-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;align-items:start}.kdash .dash-col{display:flex;flex-direction:column;gap:22px;min-width:0}.kdash .kdash-card{border-radius:20px;background:var(--bg-elev-1);border:1px solid var(--border-soft)}.kdash .kdash-card .chead{display:flex;align-items:center;gap:12px;padding:16px 20px}.kdash .kdash-card .chead .ct{font-size:15px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}.kdash .kdash-card .chead .ct .ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#b968c724}.kdash .kdash-card .chead .ct .ico svg{width:15px;height:15px;stroke:#e6c2ff;stroke-width:2}.kdash .kdash-card .chead .spacer{flex:1 1 auto}.kdash .kdash-card .chead .more{font-size:12px;font-weight:600;color:var(--fg-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.kdash .kdash-card .chead .more:hover{color:var(--fg)}.kdash .kdash-card .chead .more svg{width:13px;height:13px;stroke-width:2.2}.kdash .dash-insight .metrics{display:flex;gap:6px;background:#ffffff0a;border-radius:10px;padding:3px}.kdash .dash-metric{height:30px;padding:0 12px;border-radius:8px;border:0;background:transparent;color:var(--fg-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:all var(--t-fast);white-space:nowrap}.kdash .dash-metric:hover{color:var(--fg)}.kdash .dash-metric.is-on{background:var(--bg-elev-2);color:var(--fg);box-shadow:0 2px 6px #0000004d}.kdash .dash-insight .ibody{padding:4px 20px 16px}.kdash .dash-insight .itop{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.kdash .dash-insight .itotal{font-family:var(--font-display);font-weight:900;font-size:40px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.kdash .dash-insight .idelta{font-size:13px;font-weight:700;color:#34d399}.kdash .dash-insight .ilabel{font-size:12.5px;color:var(--fg-muted);margin-bottom:6px}.kdash .chart-wrap{position:relative;width:100%}.kdash .chart-soon{height:248px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:var(--fg-secondary);font-weight:700;font-size:15px}.kdash .chart-soon span{font-weight:500;font-size:12.5px;color:var(--fg-muted);max-width:280px}.kdash #dashTip{position:absolute;transform:translate(-50%,-130%);pointer-events:none;opacity:0;transition:opacity .15s;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:9px;padding:5px 9px;white-space:nowrap;box-shadow:0 8px 22px #00000080}.kdash #dashTip b{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;display:block}.kdash #dashTip span{font-size:10.5px;color:var(--fg-muted)}.kdash .dash-pulse{animation:kd-pulse 2s ease-out infinite;transform-origin:center;transform-box:fill-box}@keyframes kd-pulse{0%{opacity:.18;r:5}70%{opacity:0;r:13}to{opacity:0}}.kdash .dash-rali{display:flex;align-items:center;gap:14px;padding:13px 20px;border-top:1px solid var(--border-soft);transition:background var(--t-fast)}.kdash .dash-rali:hover{background:#ffffff05}.kdash .dash-rali .thumb{width:46px;height:46px;border-radius:13px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#5b8def38,#e94e8b38);border:1px solid var(--border-soft)}.kdash .dash-rali .meta{flex:1 1 auto;min-width:0}.kdash .dash-rali .meta .top{display:flex;align-items:center;gap:9px}.kdash .dash-rali .meta .name{font-size:14.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kdash .dash-rali .meta .hot{flex:0 0 auto;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:9999px;background:#e94e8b29;color:#ff9cc2}.kdash .dash-rali .meta .hot.warm{background:#5b8def29;color:#a9c6ff}.kdash .dash-rali .meta .when{font-size:12px;color:var(--fg-muted);margin:2px 0 7px}.kdash .dash-rali .meta .bar{height:6px;border-radius:9999px;background:#ffffff0f;overflow:hidden}.kdash .dash-rali .meta .bar span{display:block;height:100%;width:0;border-radius:9999px;background:var(--k-gradient-h);transition:width 1.1s cubic-bezier(.16,1,.3,1) .3s}.kdash .dash-rali .meta .bar span.low{background:linear-gradient(90deg,#e94e8b,#f59e0b);box-shadow:0 0 10px #e94e8b80}.kdash .dash-rali .meta .tk{font-size:11px;color:var(--fg-muted);margin-top:6px;font-variant-numeric:tabular-nums}.kdash .dash-rali .meta .tk b{color:var(--fg-secondary);font-weight:700}.kdash .dash-rali .fill{flex:0 0 auto;text-align:right}.kdash .dash-rali .fill .cd{font-size:11px;font-weight:700;color:var(--k-blue);margin-bottom:6px}.kdash .dash-rali .fill .left{font-size:12px;color:var(--fg-secondary);white-space:nowrap}.kdash .dash-rali .fill .left b{color:var(--fg);font-weight:800;font-size:16px}.kdash .dash-rali .fill .left.low b{color:#ff9cc2}.kdash .dash-serie{display:flex;align-items:center;gap:14px;padding:14px 20px;border-top:1px solid var(--border-soft)}.kdash .dash-serie .thumb{width:42px;height:42px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:20px;background:#ffffff0d;border:1px solid var(--border-soft)}.kdash .dash-serie .meta{flex:1 1 auto;min-width:0}.kdash .dash-serie .meta .name{font-size:14px;font-weight:700}.kdash .dash-serie .meta .cadence{font-size:11.5px;color:var(--fg-muted);margin:2px 0 8px}.kdash .dash-serie .meta .cadence b{color:var(--fg-secondary);font-weight:600}.kdash .dash-serie .hist{display:flex;align-items:flex-end;gap:9px}.kdash .dash-serie .hist .bars{display:flex;align-items:flex-end;gap:3px;height:26px}.kdash .dash-serie .hist .bars i{width:7px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#e94e8b,#5b8def);opacity:.9}.kdash .dash-serie .hist .bars i:last-child{background:var(--k-gradient-h);opacity:1;box-shadow:0 0 7px #e94e8b66}.kdash .dash-serie .hist .histlbl{align-self:center;font-size:10.5px;color:var(--fg-muted)}.kdash .dash-serie .next{flex:0 0 auto;text-align:right}.kdash .dash-serie .next .lbl{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.kdash .dash-serie .next .val{font-size:13px;font-weight:700;color:var(--fg);margin-top:2px}.kdash .dash-empty{padding:26px 20px;text-align:center;border-top:1px solid var(--border-soft)}.kdash .dash-empty .e1{font-size:13.5px;font-weight:700;color:var(--fg-secondary)}.kdash .dash-empty .e2{font-size:12px;color:var(--fg-muted);margin-top:4px}.kdash .dash-feed{padding:6px 12px 12px}.kdash .dash-act{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:12px;overflow:hidden}.kdash .dash-act:hover{background:#ffffff05}.kdash .dash-act .ai{width:34px;height:34px;border-radius:10px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 16%,transparent)}.kdash .dash-act .ai svg{width:17px;height:17px}.kdash .dash-act .atxt{flex:1 1 auto;min-width:0;font-size:13px;color:var(--fg-secondary);line-height:1.35}.kdash .dash-act .atxt b{color:var(--fg);font-weight:700}.kdash .dash-act .t{flex:0 0 auto;font-size:11px;color:var(--fg-muted);white-space:nowrap}.kdash .live-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 #34d39999;animation:kd-livePulse 1.8s ease-out infinite}@keyframes kd-livePulse{0%{box-shadow:0 0 #34d39999}70%{box-shadow:0 0 0 7px #34d39900}to{box-shadow:0 0 #34d39900}}.kdash .dash-review{padding:14px 20px;border-top:1px solid var(--border-soft)}.kdash .dash-review .rhead{display:flex;align-items:center;gap:9px}.kdash .dash-review .av{width:28px;height:28px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,#5b8def,#e94e8b)}.kdash .dash-review .who{font-size:13.5px;font-weight:700}.kdash .dash-review .stars{font-size:12.5px;color:#eab308;letter-spacing:1px}.kdash .dash-review .stars .off{color:#ffffff29}.kdash .dash-review .ago{margin-left:auto;font-size:11px;color:var(--fg-muted)}.kdash .dash-review .rtxt{margin:9px 0 8px;font-size:13px;line-height:1.45;color:var(--fg)}.kdash .dash-review .rtag{display:inline-flex;font-size:11px;font-weight:600;color:var(--fg-secondary);padding:3px 9px;border-radius:9999px;background:#ffffff0a;border:1px solid var(--border-soft)}@media(max-width:1180px){.kdash .dash-hero,.kdash .dash-grid{grid-template-columns:1fr}.kdash .dash-kpis,.kdash .dash-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.kdash .dash-topbar{padding:16px 18px;flex-wrap:wrap}.kdash .dash-search{order:3;flex-basis:100%;max-width:none;margin:0}.kdash .dash-scroll{padding:20px 18px 40px}}
