.dash-widget-title{font-size:.65rem;color:#888;font-weight:800;font-family:JetBrains Mono,monospace;letter-spacing:1px;text-transform:uppercase}.dash-widget-value{font-size:1.5rem;color:#fff;font-weight:900;font-family:Manrope,sans-serif;line-height:1}.dash-widget-value-large{font-size:2rem;color:var(--active-color, #00ffc3);font-weight:900;font-family:Manrope,sans-serif;line-height:1}.dash-widget-subtext{font-size:.55rem;color:#888;font-family:JetBrains Mono,monospace;margin-top:2px}.dash-empty-state-text{color:#888;font-size:.85rem;font-family:Manrope,sans-serif;line-height:1.5;max-width:90%;text-align:center}.dash-icon-large{font-size:28px;margin-bottom:4px}.dash-flex-col-center{display:flex;flex-direction:column;align-items:center;gap:8px}.dash-divider-vert{width:1px;background:#ffffff0d;margin:0 8px}.hub-overlay{position:fixed;inset:0;background:#0b0d17f2;backdrop-filter:blur(10px);z-index:999999;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.hub-overlay.is-open{opacity:1;pointer-events:auto}.hub-container{width:100%;max-width:var(--page-content-max, 1200px);margin:auto;animation:slideUp .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:var(--widget-gap, 24px);padding-bottom:60px}.hub-overlay.is-open .hub-container{transform:translateY(0)}.hub-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:var(--widget-gap, 24px)}.hub-title{font-size:clamp(28px,4vw,42px);color:#fff;margin:0;text-transform:uppercase;font-weight:900;letter-spacing:-1px}.hub-subtitle{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#888;font-weight:800;letter-spacing:1px;display:block;margin-top:8px;text-transform:uppercase;transition:color .3s}.hub-container .icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#aaa;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:44px;height:44px;outline:none}.hub-container .icon-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff4d;transform:scale(1.05)}.hub-grid{display:grid;width:100%;column-gap:var(--widget-gap, 24px);row-gap:var(--widget-gap, 24px)}.hub-grid.grid-3-col{grid-template-columns:repeat(3,1fr)}.hub-grid.grid-4-col{grid-template-columns:repeat(4,1fr)}.hub-grid.grid-2-1-col{grid-template-columns:2fr 1fr}.hub-container .widget-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:var(--lp-card-pad-y, 20px) var(--lp-card-pad-x, 20px) var(--lp-card-pad-b, 22px);display:flex;flex-direction:column;transition:border-color .3s;position:relative}.hub-container .widget-card:hover{border-color:#ffffff1a}.hub-container .widget-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:var(--widget-gap, 24px);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px}.hub-container .widget-title{font-size:.8rem;color:#888;font-weight:800;letter-spacing:2px;text-transform:uppercase;font-family:JetBrains Mono,monospace;display:flex;align-items:center;gap:8px}.hub-ghost-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#888;border-radius:8px;font-size:.75rem;font-weight:800;letter-spacing:1px;transition:all .2s;text-transform:uppercase;font-family:JetBrains Mono,monospace;white-space:nowrap;cursor:pointer;outline:none;text-decoration:none}.hub-ghost-btn:hover{border-color:#fff6;color:#fff;background:#ffffff0d}.hub-ghost-btn.is-active{background:var(--active-color);color:#000;border-color:var(--active-color)}.hub-container .inline-action-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#888;text-decoration:none;border-radius:8px;font-size:.65rem;font-weight:800;letter-spacing:1px;transition:all .2s;text-transform:uppercase;padding:10px 16px;cursor:pointer;outline:none;text-align:center}.hub-container .plan-card,.hub-container .health-card{display:flex;flex-direction:column;justify-content:space-between}.health-card #inp-weight::-webkit-outer-spin-button,.health-card #inp-weight::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.health-card #inp-weight{-moz-appearance:textfield}.health-card .weight-arrow.hub-weight-step{background:transparent;border:none;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0;border-radius:12px;transition:color .15s ease,background .15s ease,transform .1s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.health-card .weight-arrow.hub-weight-step:hover{color:#fff;background:#ffffff0f}.health-card .weight-arrow.hub-weight-step:active{transform:scale(.94);background:#ffffff1a}.hub-container .health-header{position:absolute;top:var(--widget-gap, 24px);right:var(--lp-card-pad-x, 20px);font-size:.7rem;color:#888;font-weight:800;letter-spacing:2px;text-transform:uppercase;font-family:JetBrains Mono,monospace}.hub-container .health-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;margin:var(--widget-gap, 24px) 0}.hub-container .plan-hero{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--widget-gap, 24px)}.hub-container .plan-hero-title{font-size:clamp(2rem,3vw,2.5rem);color:#fff;font-weight:900;line-height:1;font-family:Manrope,sans-serif;letter-spacing:-1px;text-transform:uppercase}.hub-container .plan-hero-subtitle{font-size:1.1rem;color:var(--active-color);font-weight:800;font-family:JetBrains Mono,monospace;text-transform:uppercase}.hub-container .plan-stats-grid{display:flex;gap:var(--widget-gap, 24px);align-items:center;padding-top:var(--widget-gap, 24px);margin-bottom:var(--widget-gap, 24px);border-top:1px solid rgba(255,255,255,.1)}.hub-container .plan-stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1}.hub-container .plan-stat span{font-size:.6rem;color:#888;font-family:JetBrains Mono,monospace;font-weight:800;letter-spacing:1px;text-transform:uppercase}.hub-container .plan-stat strong{font-size:1.25rem;color:#fff;font-family:JetBrains Mono,monospace;font-weight:900}.hub-container .discipline-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px;margin-bottom:var(--widget-gap, 24px)}.hub-container .discipline-icon{font-size:28px}.hub-container .discipline-title{font-size:1.1rem;color:#fff;font-weight:900;letter-spacing:2px;font-family:JetBrains Mono,monospace}.swim-card .discipline-icon,.swim-card .discipline-title{color:var(--swim, #00d2ff)}.bike-card .discipline-icon,.bike-card .discipline-title{color:var(--bike, #00ffc3)}.run-card .discipline-icon,.run-card .discipline-title{color:var(--run, #FF5900)}.swim-card .inline-action-btn:hover{border-color:var(--swim);color:#fff;background:color-mix(in srgb,var(--swim) 15%,transparent);box-shadow:0 0 15px color-mix(in srgb,var(--swim) 20%,transparent)}.bike-card .inline-action-btn:hover{border-color:var(--bike);color:#fff;background:color-mix(in srgb,var(--bike) 15%,transparent);box-shadow:0 0 15px color-mix(in srgb,var(--bike) 20%,transparent)}.run-card .inline-action-btn:hover{border-color:var(--run);color:#fff;background:color-mix(in srgb,var(--run) 15%,transparent);box-shadow:0 0 15px color-mix(in srgb,var(--run) 20%,transparent)}.swim-card .editable-anchor:hover{color:var(--swim);border-color:var(--swim)}.bike-card .editable-anchor:hover{color:var(--bike);border-color:var(--bike)}.run-card .editable-anchor:hover{color:var(--run);border-color:var(--run)}.hub-container .metric-chunk{display:flex;flex-direction:column;gap:8px}.hub-container .chunk-label{font-size:.65rem;color:#555;font-family:JetBrains Mono,monospace;font-weight:800;letter-spacing:1px;text-transform:uppercase}.hub-container .chunk-val{font-size:1.25rem;color:#fff;font-weight:900;font-family:JetBrains Mono,monospace;transition:color .2s}.hub-container .btn-dual-row{display:flex;gap:8px;margin-top:auto;padding-top:var(--widget-gap, 24px)}.hub-container .editable-anchor{cursor:pointer;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}.hub-container .locked-anchor{cursor:not-allowed}.hub-container .predictor-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px;margin-bottom:var(--widget-gap, 24px);flex-wrap:wrap;gap:16px}.hub-container .pred-mode-toggle{display:flex;gap:8px}.hub-container .predictor-tabs{display:flex;gap:8px;flex-wrap:wrap}.hub-container .predictor-result-grid{display:flex;justify-content:space-around;align-items:center;text-align:center;flex-wrap:wrap;gap:16px;margin-bottom:var(--widget-gap, 24px)}.hub-container .pred-stat{display:flex;flex-direction:column;gap:4px}.hub-container .pred-stat span{font-size:.65rem;color:#888;font-family:JetBrains Mono,monospace;font-weight:800;letter-spacing:1px;text-transform:uppercase}.hub-container .pred-stat strong{font-size:1.5rem;color:#fff;font-weight:900;font-family:Manrope,sans-serif}.hub-container .total-stat strong{font-size:2rem;color:var(--active-color)}.hub-container .pr-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.hub-container .pr-label{font-size:.7rem;color:#fff;font-weight:800;text-transform:uppercase;font-family:JetBrains Mono,monospace}.hub-container .pr-time{font-size:1.1rem;color:var(--bike, #00ffc3);font-weight:400;font-family:JetBrains Mono,monospace}.hub-container .pr-empty{font-size:.8rem;color:#555;font-family:JetBrains Mono,monospace;text-align:center;display:block;margin:auto 0}.hub-container .matrix-dna-row{display:flex;justify-content:space-around;align-items:center;text-align:center;font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:900;color:#fff;padding-bottom:var(--widget-gap, 24px);border-bottom:1px solid rgba(255,255,255,.05)}.hub-container .tool-grid-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:var(--widget-gap, 24px);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;text-decoration:none;color:#aaa;transition:all .2s;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;text-align:center}.hub-container .tool-grid-btn:hover{background:#ffffff0d;border-color:#fff3;color:#fff;transform:translateY(-2px)}.hub-container .tool-grid-btn .material-symbols-outlined{font-size:32px;color:#fff;transition:color .2s}.hub-container .tool-grid-btn:hover .material-symbols-outlined{color:var(--active-color)}.hub-modal-content{background:#12141d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:var(--widget-gap, 24px) var(--lp-card-pad-x, 20px);width:100%;max-width:450px;box-shadow:0 20px 40px #00000080;overflow:hidden;position:relative}.hub-modal-content .card-wrap{animation:slideInRight .3s forwards}.hub-modal-content .card-wrap.exit{animation:slideOutLeft .3s forwards;position:absolute;top:var(--lp-card-pad-x, 20px);left:var(--lp-card-pad-x, 20px);width:calc(100% - 2 * var(--lp-card-pad-x, 20px))}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.hub-modal-content .hero-prompt{font-size:1.5rem;font-family:Manrope,sans-serif;font-weight:900;color:#fff;text-align:center;margin:0 0 var(--widget-gap, 24px) 0;letter-spacing:-.5px}.hub-modal-content .preset-grid{display:flex;flex-direction:column;gap:12px}.hub-modal-content .preset-row{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;cursor:pointer;transition:all .2s}.hub-modal-content .preset-row:hover{background:#ffffff0d;border-color:var(--active-color)}.hub-modal-content .preset-name{font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:800;color:#fff}.hub-modal-content .preset-meta{font-family:JetBrains Mono,monospace;font-size:.65rem;color:#888}.hub-modal-content .sleek-input{width:100%;background:transparent;border:none;border-bottom:2px solid rgba(255,255,255,.1);color:#fff;font-size:1.5rem;font-weight:900;text-align:center;padding:12px 0;outline:none;font-family:JetBrains Mono,monospace;border-radius:0}.hub-modal-content .sleek-input:focus{border-color:var(--active-color)}.hub-modal-content .cockpit-row{display:flex;flex-direction:column;gap:var(--widget-gap, 24px);margin-bottom:var(--widget-gap, 24px)}.hub-modal-content .stepper-wrap{display:flex;align-items:center;justify-content:space-between;border:1px solid;border-radius:12px;padding:12px;background:#0003}.hub-modal-content .stepper-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;font-weight:900;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.hub-modal-content .stepper-val{font-size:2rem;font-weight:900;font-family:JetBrains Mono,monospace;color:#fff}.hub-modal-content .stepper-unit{font-size:.8rem;color:#888}.hub-modal-content .time-dial-wrap{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid;border-radius:12px;padding:16px;background:#0003}.hub-modal-content .time-segment{display:flex;flex-direction:column;align-items:center}.hub-modal-content .time-arrow{background:transparent;border:none;color:#888;font-size:.8rem;cursor:pointer;padding:4px}.hub-modal-content .time-arrow:hover{color:#fff}.hub-modal-content .time-input{background:transparent;border:none;color:#fff;font-size:2.5rem;font-weight:900;font-family:JetBrains Mono,monospace;width:60px;text-align:center;appearance:none;outline:none;margin:0;padding:0}.hub-modal-content .time-input::-webkit-outer-spin-button,.time-modal-content .time-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hub-modal-content .time-colon{font-size:2rem;font-weight:900;color:#555;font-family:JetBrains Mono,monospace;margin-top:16px}.hub-modal-label{font-size:.65rem;color:#888;font-family:JetBrains Mono,monospace;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:8px}.hub-modal-input,.hub-modal-select{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 0;font-family:JetBrains Mono,monospace;font-size:1rem;outline:none}.hub-modal-select{appearance:none}.hub-modal-select option{background:#12141d;color:#fff}.hub-isolated-ruler-overlay{position:fixed;inset:0;background:#000000f5;z-index:9999999;display:none;flex-direction:column;align-items:center;justify-content:center;touch-action:none}.hub-isolated-ruler-header{position:absolute;top:15%;text-align:center;font-size:.65rem;letter-spacing:4px;color:#444;text-transform:uppercase;font-weight:800}.hub-isolated-ruler-track{height:100%;width:180px;position:relative;display:flex;flex-direction:column;align-items:center;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,black 35%,black 65%,transparent)}.hub-isolated-ruler-numbers{display:flex;flex-direction:column;align-items:center;cursor:grab;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.hub-isolated-ruler-val{height:70px;font-family:JetBrains Mono;font-size:1.6rem;color:#fff;display:flex;align-items:center;transition:color .3s,opacity .3s,transform .3s;cursor:pointer}.hub-isolated-ruler-val.active{color:var(--hub-active-color, #00ffc3);font-weight:800;font-size:2.2rem;transform:scale(1.1)}.hub-isolated-ruler-indicator{position:absolute;top:50%;left:0;width:100%;height:2px;background:var(--hub-active-color, #00ffc3);transform:translateY(-50%);pointer-events:none;opacity:.4}@media(max-width:850px){.hub-page.master-container .hub-container .widget-card{padding:var(--lp-card-pad-y, 20px) var(--page-pad-x, 16px) var(--lp-card-pad-b, 22px)!important;width:100%!important;box-sizing:border-box}.hub-page.master-container .hub-grid{column-gap:var(--widget-gap);row-gap:var(--widget-gap)}.hub-container .widget-card{padding:var(--lp-card-pad-y, 20px) var(--page-pad-x, 16px) var(--lp-card-pad-b, 22px)}.hub-grid.grid-3-col,.hub-grid.grid-4-col,.hub-grid.grid-2-1-col{grid-template-columns:1fr}.hub-container .plan-hero-title{font-size:2rem}.hub-container .total-stat strong{font-size:1.5rem}.hub-container .pred-stat strong{font-size:1.25rem}.hub-container .health-header{position:relative;top:0;right:0;text-align:left;width:100%;margin-bottom:16px}.hub-container .plan-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0 0}.hub-container .predictor-header{flex-direction:column;gap:16px;align-items:stretch}.hub-container .predictor-header-left{width:100%}.hub-container .pred-mode-toggle{width:100%;display:grid;grid-template-columns:1fr 1fr;max-width:100%}.hub-container .pred-mode-toggle .hub-route-btn,.hub-container .pred-mode-toggle .pred-tab{width:100%!important}.hub-container .predictor-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.hub-container .predictor-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.hub-container .btn-dual-row{flex-direction:column;gap:12px}.hub-container .btn-dual-row .inline-action-btn{width:100%}.hub-page .widget-header{flex-wrap:wrap;gap:12px}.hub-page .hub-ghost-btn{margin-left:auto}}html:has(.hub-page),html:has(.hub-container),body:has(.hub-page),body:has(.hub-container){overflow-y:auto!important;height:auto!important}html:has(.hub-page) .slot-wrapper,html:has(.hub-container) .slot-wrapper{overflow-y:auto!important}html:has(.hub-page) .minimal-footer,html:has(.hub-container) .minimal-footer{position:relative!important;bottom:auto!important;margin-top:64px!important;padding-bottom:32px!important;z-index:10!important}.pred-tab{background:transparent!important;border:1px solid rgba(255,255,255,.1)!important;color:#888!important;transition:all .2s ease!important}.pred-tab:hover:not(.is-active){background:#ffffff0d!important;color:#fff!important;border-color:#ffffff4d!important}.pred-tab.is-active{background:#00ffc30d!important;border-color:var(--active-color, #00ffc3)!important;color:var(--active-color, #00ffc3)!important;box-shadow:0 0 10px #00ffc31a!important}.widget-action-header{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#888;transition:all .2s ease;cursor:pointer;padding:4px 8px 4px 0;border-radius:4px}.widget-action-header .widget-title{color:inherit;margin:0;border:none;padding:0;transition:color .2s ease}.widget-action-header .action-icon{font-size:18px;transition:transform .2s ease,color .2s ease}.widget-action-header:hover{color:var(--hover-color, #fff)}.widget-action-header:hover .action-icon{transform:scale(1.1)}
