.hp-app *,.hp-app :before,.hp-app :after{box-sizing:border-box;margin:0;padding:0}.hp-app{--font:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--bg:#f3f4f0;--bg-sidebar:#e5e7df;--surface:#fff;--border:#dbded4;--text-primary:#0d0d0d;--text-secondary:#404040;--text-muted:#9ca3af;--error:#e40016;--green:#16a34a;--blue:#2563eb;--amber:#d4a017;--red:#dc2626;--purple:#7c3aed;--teal:#0d9488;--cell-size:36px;--cell-width:72px;--label-width:180px;--date-col-width:140px;--streak-width:80px;--radius:6px;--radius-lg:10px;--scroll-bg:#fff;--shadow-xs:0 1px 2px #0d0d0d0d;--shadow-sm:0 1px 3px #0d0d0d0f, 0 1px 2px #0d0d0d0a;--ring:0 0 0 3px #0d0d0d12;--surface-inset:#f6f7f9;font-family:var(--font);background:var(--bg);color:var(--text-primary);min-height:100dvh;font-size:14px;line-height:1.43}.hp-app .app{flex-direction:column;min-height:100dvh;display:flex}.hp-app .topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:24px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.hp-app .topbar h1{letter-spacing:-.01em;white-space:nowrap;font-size:18px;font-weight:700}.hp-app .topbar-wordmark{width:auto;height:35px;display:block}.hp-app .topbar-nav{gap:4px;display:flex}.hp-app .topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.hp-app .topbar-nav a{font-family:var(--font);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:5px;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.hp-app .topbar-nav a:hover,.hp-app .topbar-nav a.is-hover{background:#0000000a}.hp-app .topbar-nav a.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.hp-app .main{background:#f7f7f8;flex:1;padding:24px}.hp-app .page{display:none}.hp-app .page.active{display:block}.hp-app .tracker-grid{background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000f}.hp-app .grid-left{width:var(--label-width);z-index:3;background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;box-shadow:2px 0 6px #0000000f}.hp-app .grid-middle{background:var(--scroll-bg);flex:1;position:relative;overflow-x:auto}.hp-app .grid-right{width:var(--streak-width);z-index:3;background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;box-shadow:-2px 0 6px #0000000f}.hp-app .header-cell{height:48px;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.hp-app .header-cell.label-header{justify-content:flex-start;padding-left:16px}.hp-app .day-header{width:var(--cell-width);min-width:var(--cell-width);border-bottom:1px solid var(--border);border-right:1px solid #0000000d;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;height:48px;display:flex}.hp-app .day-header.today{color:var(--blue);background:#2563eb0f}.hp-app .day-header.weekend{background:#00000005}.hp-app .day-num{margin-bottom:2px;font-size:13px;font-weight:600;line-height:1}.hp-app .day-name{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:10px;font-weight:500}.hp-app .day-header.today .day-name{color:var(--blue)}.hp-app .habit-label{white-space:nowrap;height:var(--cell-size);cursor:pointer;align-items:center;padding:0 16px;font-size:14px;font-weight:500;display:flex}.hp-app .habit-label:hover,.hp-app .habit-label.is-hover{background:#00000008}.hp-app [data-tooltip]{position:relative}.hp-app [data-tooltip]:after{content:attr(data-tooltip);z-index:50;width:calc(var(--cell-width) * 2.5);max-width:calc(var(--cell-width) * 2.5);color:var(--surface);background:var(--text-primary);border-radius:var(--radius);white-space:normal;overflow-wrap:break-word;pointer-events:none;opacity:0;padding:6px 10px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .15s;position:absolute;top:100%;left:12px}.hp-app [data-tooltip]:hover:after,.hp-app [data-tooltip].is-hover:after{opacity:1}.hp-app .habit-header[data-tooltip]:after{left:50%;transform:translate(-50%)}.hp-app .habit-type-badge{color:var(--text-muted);margin-left:6px;font-size:10px;font-weight:500}.hp-app .section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg);align-items:center;height:28px;padding:0 16px;font-size:11px;font-weight:700;display:flex}.hp-app .section-spacer{background:var(--bg);height:28px}.hp-app .day-cells-row{display:flex}.hp-app .cell{width:var(--cell-width);min-width:var(--cell-width);height:var(--cell-size);cursor:pointer;border-bottom:1px solid #0000000d;border-right:1px solid #0000000d;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hp-app .cell.skip{border-bottom:none;border-right:none;background:0 0!important}.hp-app .cell.skip .cell-inner{background:linear-gradient(to top right, var(--skip-color) 50%, transparent 50%)}.hp-app .cell:hover,.hp-app .cell.is-hover{position:relative}.hp-app .cell:hover .cell-inner,.hp-app .cell.is-hover .cell-inner{opacity:.8}.hp-app .cell:hover:after,.hp-app .cell.is-hover:after{content:"Done";color:var(--text-secondary);pointer-events:none;background:#ffffffb3;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;inset:0 -1px -1px 0}.hp-app .cell.done:hover:after,.hp-app .cell.done.is-hover:after{content:"Skip"}.hp-app .cell.skip:hover:after,.hp-app .cell.skip.is-hover:after{content:"Undo"}.hp-app .cell.metric:hover:after,.hp-app .cell.metric.is-hover:after{content:""}.hp-app .cell.metric:not(.has-value):hover:after,.hp-app .cell.metric:not(.has-value).is-hover:after{content:"Add value";white-space:nowrap}.hp-app .cell.time:not(.has-value):hover:after,.hp-app .cell.time:not(.has-value).is-hover:after{content:"Add time"}.hp-app .cell.metric:hover:has(.cell-input):after{content:none}.hp-app .cell.metric.is-hover:has(.cell-input):after{content:none}.hp-app .cell.metric.has-value:hover .cell-inner,.hp-app .cell.metric.has-value.is-hover .cell-inner{z-index:1;opacity:1;position:relative}.hp-app .cell.select{cursor:pointer}.hp-app .cell.select:hover:after,.hp-app .cell.select.is-hover:after{content:""}.hp-app .cell.select:not(.has-value):hover:after,.hp-app .cell.select:not(.has-value).is-hover:after{content:"Choose";white-space:nowrap}.hp-app .select-chips{gap:3px;padding:0 4px;overflow:hidden}.hp-app .select-chip{border-radius:4px;align-items:center;gap:4px;max-width:100%;padding:1px 5px;font-size:11px;font-weight:500;display:inline-flex}.hp-app .select-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hp-app .select-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.hp-app .select-popover{z-index:1001;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;max-height:320px;padding:6px;display:flex;overflow-y:auto;box-shadow:0 8px 24px #00000029}.hp-app .select-popover-item{border-radius:var(--radius);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-image:;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.hp-app .select-popover-item:hover,.hp-app .select-popover-item.is-hover{background:var(--bg)}.hp-app .select-popover-item.selected{background:var(--bg-sidebar)}.hp-app .select-popover-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hp-app .select-popover-item svg{color:var(--text-secondary);flex-shrink:0}.hp-app .select-popover-clear{border-bottom:none;border-left:none;border-right:none;border-top:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border-image:;margin-top:4px;padding:6px 8px;font-size:12px}.hp-app .select-popover-clear:hover,.hp-app .select-popover-clear.is-hover{color:var(--red)}.hp-app .select-tooltip{z-index:1002;pointer-events:none;background:var(--text-primary);color:#fff;border-radius:6px;flex-direction:column;gap:5px;max-width:220px;padding:7px 9px;display:flex;box-shadow:0 6px 18px #00000038}.hp-app .select-tooltip-row{align-items:center;gap:7px;font-size:12px;line-height:1.3;display:flex}.hp-app .select-tooltip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hp-app .cell.excluded .cell-inner{color:var(--text-muted);font-size:10px}.hp-app .cell.excluded .cell-inner:after{content:"Excluded"}.hp-app .cell.excluded:hover:after,.hp-app .cell.excluded.is-hover:after{content:none!important}.hp-app .cell.weekend{background:#00000005}.hp-app .cell.today-col{background:#2563eb0a}.hp-app .cell-inner{color:#0000;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;font-size:12px;font-weight:600;display:flex}.hp-app .cell.metric .cell-inner{font-size:12px;font-weight:600}.hp-app .cell.has-value .cell-inner{color:var(--text-primary);font-weight:500}.hp-app .cell-input{width:100%;height:100%;font-family:var(--font);text-align:center;color:var(--text-primary);box-shadow:inset 0 0 0 2px var(--blue);background:#2563eb0a;border:none;border-image:;border-radius:0;outline:none;font-size:12px;font-weight:600}.hp-app .cell-input:focus,.hp-app .cell-input.is-focus{background:var(--surface)}.hp-app .cell-input::-webkit-outer-spin-button{appearance:none;margin:0}.hp-app .cell-input::-webkit-inner-spin-button{appearance:none;margin:0}.hp-app .cell-input-invalid{box-shadow:inset 0 0 0 2px var(--error,#e11d48);background:#e11d480f}.hp-app .cell-input-invalid:focus,.hp-app .cell-input-invalid.is-focus{background:#e11d4817}.hp-app .cell-error-tip{background:var(--text-primary);color:var(--surface);white-space:nowrap;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:500;line-height:1.3;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0000002e}.hp-app .cell-error-tip:before{content:"";background:var(--text-primary);width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.hp-app .streak-badge{font-variant-numeric:tabular-nums;color:var(--amber);align-items:center;gap:3px;font-weight:600;display:inline-flex}.hp-app .streak-badge--none{color:var(--text-muted)}.hp-app .cell.celebrate-pop{animation:.42s cubic-bezier(.2,.8,.2,1) celebrate-pop}@keyframes celebrate-pop{0%{clip-path:inset(0)}25%{clip-path:inset(5%)}62%{clip-path:inset(0)}to{clip-path:inset(0)}}.hp-app .cell.celebrate-shine{clip-path:inset(0);position:relative}.hp-app .cell.celebrate-shine:before{content:"";pointer-events:none;width:45%;animation:celebrate-shine .65s cubic-bezier(.4, 0, .2, 1) var(--shine-delay,0s) both;background:linear-gradient(100deg,#0000,#ffffffbf,#0000);position:absolute;top:0;bottom:0;left:0}@keyframes celebrate-shine{0%{transform:translate(-120%)skew(-18deg)}to{transform:translate(320%)skew(-18deg)}}@keyframes streak-flame-bump{0%{transform:scale(1)rotate(0)}35%{transform:scale(1.7)rotate(-10deg)}70%{transform:scale(.92)rotate(4deg)}to{transform:scale(1)rotate(0)}}@keyframes streak-number-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hp-app .celebrate-particle{z-index:10000;pointer-events:none;position:fixed}.hp-app .toast-celebration{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:9999;color:#fff;pointer-events:none;background:#1c1c1e;border-radius:12px;max-width:min(420px,100vw - 32px);padding:12px 14px;font-size:14px;font-weight:500;line-height:1.35;transition:opacity .2s,transform .2s;animation:.18s cubic-bezier(.25,.46,.45,.94) backwards toast-celebration-in;position:fixed;transform:translate(-50%);box-shadow:0 4px 10px #0000002e}.hp-app .toast-celebration--leaving{opacity:0;transform:translate(-50%,12px)}@keyframes toast-celebration-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.hp-app .cell.celebrate-pop,.hp-app .cell.celebrate-shine:before{animation:auto;animation-timeline:none}.hp-app .toast-celebration{animation-name:toast-celebration-fade}.hp-app .toast-celebration--leaving{transform:translate(-50%)}@keyframes toast-celebration-fade{0%{opacity:0}}}.hp-app .streak-cell{height:var(--cell-size);color:var(--text-muted);justify-content:center;align-items:center;padding:0 12px;font-size:14px;font-weight:600;display:flex}.hp-app .tracker-grid--vertical{flex-direction:column;flex:1;min-height:0}.hp-app .tracker-grid--vertical .main{flex-direction:column;min-height:0;display:flex}.hp-app .grid-top{z-index:3;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden;box-shadow:0 2px 6px #0000000f}.hp-app .grid-top-row{width:max-content;min-width:100%;display:flex}.hp-app .grid-top-row.group-row{border-bottom:1px solid var(--border)}.hp-app .grid-top-row:after,.hp-app .grid-bottom:after{content:"";flex:0 0 var(--vscrollbar-w,0px)}.hp-app .grid-top .date-col{width:var(--date-col-width);min-width:var(--date-col-width);color:var(--text-muted);text-transform:uppercase;border-right:1px solid var(--border);z-index:4;background:var(--surface);align-items:center;padding-left:16px;font-size:11px;font-weight:600;display:flex;position:sticky;left:0}.hp-app .grid-top .date-col.tall{height:48px}.hp-app .grid-top .date-col.short{height:28px}.hp-app .group-cell{text-transform:uppercase;letter-spacing:.06em;height:28px;color:var(--text-muted);background:var(--surface);border-right:1px solid #0000000d;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.hp-app .habit-header{width:var(--cell-width);min-width:var(--cell-width);height:48px;color:var(--text-secondary);text-align:center;cursor:pointer;border-right:1px solid #0000000d;flex-direction:column;justify-content:center;align-items:center;padding:4px 2px;font-size:11px;font-weight:600;line-height:1.2;display:flex;position:relative}.hp-app .habit-header:hover,.hp-app .habit-header.is-hover{background:#00000008}.hp-app .habit-header .habit-unit{color:var(--text-muted);font-size:9px;font-weight:500}.hp-app .grid-middle--vertical{overscroll-behavior:none contain;background:var(--scroll-bg);flex:1;min-height:0;overflow:auto}.hp-app .date-row{width:max-content;min-width:100%;display:flex}.hp-app .date-label{width:var(--date-col-width);min-width:var(--date-col-width);height:var(--cell-size);white-space:nowrap;background:var(--surface);border-right:1px solid var(--border);z-index:2;border-bottom:1px solid #0000000d;align-items:center;padding:0 16px;font-size:13px;font-weight:500;display:flex;position:sticky;left:0;box-shadow:2px 0 6px #0000000a}.hp-app .date-label .date-day{min-width:20px;margin-right:6px;font-weight:600}.hp-app .date-label .date-weekday{color:var(--text-muted);font-family:var(--font-mono);margin-right:6px;font-size:12px}.hp-app .date-label .date-month{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.hp-app .date-row.today .date-label{color:var(--blue)}.hp-app .date-row.weekend .date-label{background:linear-gradient(#00000004, #00000004), var(--surface)}.hp-app .date-row.weekend .cell{background:#00000003}.hp-app .tracker-grid--vertical .cell{border-bottom:1px solid #0000000d;border-right:1px solid #0000000d}.hp-app .tracker-grid--vertical .cell.skip{border-bottom:none;border-right:none}.hp-app .grid-bottom{z-index:3;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);flex-wrap:nowrap;flex-shrink:0;display:flex;overflow:hidden;box-shadow:0 -2px 6px #0000000f}.hp-app .grid-bottom .date-col{width:var(--date-col-width);min-width:var(--date-col-width);height:40px;color:var(--text-muted);text-transform:uppercase;border-right:1px solid var(--border);z-index:4;background:var(--surface);align-items:center;padding-left:16px;font-size:11px;font-weight:600;display:flex;position:sticky;left:0}.hp-app .grid-bottom .streak-cell{width:var(--cell-width);min-width:var(--cell-width);border-right:1px solid #0000000d;height:40px}.hp-app .btn{font-family:var(--font);border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-primary);align-items:center;gap:8px;padding:6px 16px;font-size:13px;font-weight:500;line-height:1.2;transition:all .15s;display:inline-flex}.hp-app .btn:hover,.hp-app .btn.is-hover{background:var(--bg)}.hp-app .btn:disabled{opacity:.5;cursor:not-allowed}.hp-app .dashboard-shell{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:24px;display:grid}.hp-app .dashboard-shell:not(:has(.dashboard-nav)){grid-template-columns:minmax(0,1fr)}.hp-app .dashboard-nav{background:var(--surface);border:1px solid var(--border);border-radius:14px;max-height:calc(100dvh - 100px);padding:8px;position:sticky;top:76px;overflow-y:auto}.hp-app .dashboard-nav-section{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:12px 10px 4px;font-size:11px;font-weight:600}.hp-app .dashboard-nav-item{border-radius:var(--radius);color:var(--text-secondary);align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.hp-app .dashboard-nav-item:hover,.hp-app .dashboard-nav-item.is-hover{background:#0000000a}.hp-app .dashboard-nav-item.active{background:var(--text-primary);color:#fff}.hp-app .dashboard-nav-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.hp-app .dashboard-nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hp-app .dashboard-nav-num{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.hp-app .dashboard-nav-item.active .dashboard-nav-num{color:#ffffffb3}.hp-app .dashboard-content{min-width:0}.hp-app .habit-page-head{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:16px;display:flex}.hp-app .habit-page-head h2{letter-spacing:-.01em;font-size:22px;font-weight:700}.hp-app .habit-page-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.hp-app .habit-page-badge{color:var(--text-secondary);background:var(--surface-inset);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.hp-app .habit-page-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.hp-app .habit-page-spacer{flex:1}.hp-app .habit-page-range{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:2px;padding:2px;display:inline-flex}.hp-app .habit-page-range button{font-family:var(--font);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-image:;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.hp-app .habit-page-range button.on{background:var(--text-primary);color:#fff}.hp-app .habit-page-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-app .habit-page-wide{grid-column:1/-1}.hp-app .habit-page-chart{margin:0}.hp-app .habit-heatmap,.hp-app .habit-chart{width:100%;height:auto;display:block}.hp-app .chart-axis-text{font-family:var(--font);fill:var(--text-muted);font-size:10px}.hp-app .habit-chart-value{fill:var(--text-secondary);font-weight:600}.hp-app .habit-heatmap-scroll{scrollbar-width:thin;overflow-x:auto}.hp-app .habit-heatmap-legend{margin-top:10px}.hp-app .habit-heatmap-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.hp-app .stat-card--wrap .stat-sub{white-space:normal}.hp-app .stat-card.stat-card--wrap h3{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box}.hp-app .card-action-btn{border-radius:var(--radius);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-image:;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.hp-app .card-action-btn:hover,.hp-app .card-action-btn.is-hover{color:var(--text-secondary);background:#0000000d}.hp-app .stat-card .card-action-btn,.hp-app .chart-card .card-action-btn{opacity:0}.hp-app .stat-card:hover .card-action-btn,.hp-app .chart-card:hover .card-action-btn,.hp-app .card-action-btn:focus-visible,.hp-app .stat-card.is-hover .card-action-btn,.hp-app .chart-card.is-hover .card-action-btn,.hp-app .card-action-btn:focus-visible{opacity:1}@media (hover:none){.hp-app .stat-card .card-action-btn,.hp-app .chart-card .card-action-btn{opacity:1}}.hp-app .habit-page-cell,.hp-app .habit-page-wide{flex-direction:column;min-width:0;display:flex}.hp-app .habit-page-cell>.chart-card,.hp-app .habit-page-cell>.stat-card,.hp-app .habit-page-wide>.chart-card{flex:1}.hp-app .stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px;display:grid}.hp-app .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000a}.hp-app .stat-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.hp-app .stat-card-icon,.hp-app .chart-card-icon{color:var(--chip-color,var(--text-secondary));background:color-mix(in srgb, var(--chip-color,var(--text-muted)) 12%, transparent)}.hp-app .stat-card h3{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;font-size:13px;font-weight:500;overflow:hidden}.hp-app .stat-value{letter-spacing:-.01em;font-size:24px;font-weight:700;line-height:1.15}.hp-app .stat-value-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hp-app .stat-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.hp-app .stat-sparkline{width:100%;height:26px;margin-top:10px;display:block}.hp-app .stat-bar-section{margin-top:12px}.hp-app .stat-bar-track{background:var(--bg);border-radius:3px;height:6px;overflow:hidden}.hp-app .stat-bar-fill{border-radius:3px;height:100%;transition:width .4s}.hp-app .stat-card-header-row{justify-content:space-between;align-items:center;gap:8px;min-height:26px;margin-bottom:10px;display:flex}.hp-app .stat-card-header-row h3{min-width:0;margin-bottom:0}.hp-app .stat-unit{color:var(--text-secondary);margin-left:4px;font-size:15px;font-weight:500}.hp-app .stat-change{align-items:center;gap:3px;font-size:13px;font-weight:600;display:inline-flex}.hp-app .stat-change.positive{color:#16a34a}.hp-app .stat-change.negative{color:#dc2626}.hp-app .charts-grid{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px;display:grid}.hp-app .charts-grid .chart-card{min-width:0;margin-bottom:0}.hp-app .chart-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;margin-bottom:16px;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.hp-app .chart-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.hp-app .chart-card-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.hp-app .chart-card-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;display:inline-flex}.hp-app .chart-card-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.hp-app .chart-card-actions{gap:4px;display:flex}.hp-app .chart-card-body{flex:1;margin:0 -10px}.hp-app .chart-card-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px;display:flex}.hp-app .chart-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.hp-app .chart-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:.3}}.hp-app .graph-preview-pane{border-left:1px solid var(--border);background:var(--bg);flex-direction:column;padding:16px;display:flex;overflow-y:auto}.hp-app .graph-preview-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:600}.hp-app .graph-preview-stage{min-height:0}.hp-app .graph-preview-note{color:var(--text-muted);margin:10px 0 0;font-size:11.5px;line-height:1.4}.hp-app .chart-builder{z-index:50;background:var(--insight-bg,#f7f7f8);flex-direction:column;display:flex;position:fixed;inset:0}.hp-app .chart-builder-header{background:var(--surface);border-bottom:1px solid var(--insight-border,#e9eaee);flex-shrink:0;align-items:center;gap:14px;height:56px;padding:0 20px;display:flex}.hp-app .chart-builder-header h1{white-space:nowrap;margin:0;font-size:15px;font-weight:600}.hp-app .chart-builder-back{cursor:pointer;font-family:var(--font);color:var(--text-secondary);background:0 0;border:none;border-image:;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:inline-flex}.hp-app .chart-builder-back:hover,.hp-app .chart-builder-back.is-hover{color:var(--text-primary);background:#0000000a}.hp-app .chart-builder-actions{gap:8px;margin-left:auto;display:flex}.hp-app .chart-builder-body{flex:1;grid-template-columns:minmax(320px,400px) 1fr;min-height:0;display:grid}.hp-app .chart-builder-rail{background:var(--surface);border-right:1px solid var(--insight-border,#e9eaee);flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.hp-app .chart-builder-canvas{justify-content:center;align-items:flex-start;padding:40px;display:flex;overflow-y:auto}.hp-app .chart-builder-canvas .graph-preview-pane--canvas{background:0 0;border:none;border-image:;width:100%;max-width:760px;padding:0;overflow:visible}.hp-app .app--vertical{height:100dvh;overflow:hidden}.hp-app .app--vertical .main{flex-direction:column;flex:1;min-height:0;display:flex}@keyframes welcome-pop{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.hp-app .topbar-logout{font-family:var(--font);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-image:;justify-content:center;align-items:center;margin-left:8px;padding:6px;transition:all .15s;display:flex}.hp-app .topbar-logout:hover,.hp-app .topbar-logout.is-hover{color:var(--text-secondary);background:#0000000a}@keyframes update-popup-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.hp-app .toast{border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500;animation:.25s toast-in;box-shadow:0 4px 12px #00000026}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes feedback-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.hp-app *,.hp-app :before,.hp-app :after,.hp-app ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{.hp-app{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-amber-600:#dd7400;--color-amber-700:#b75000;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-lg:var(--sh-radius);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){.hp-app{--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361)}}}@layer base{.hp-app *,.hp-app :after,.hp-app :before,.hp-app ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.hp-app ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.hp-app{-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.hp-app hr{height:0;color:inherit;border-top-width:1px}.hp-app abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.hp-app h1,.hp-app h2,.hp-app h3,.hp-app h4,.hp-app h5,.hp-app h6{font-size:inherit;font-weight:inherit}.hp-app a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.hp-app b,.hp-app strong{font-weight:bolder}.hp-app code,.hp-app kbd,.hp-app samp,.hp-app pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}.hp-app small{font-size:80%}.hp-app sub,.hp-app sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.hp-app sub{bottom:-.25em}.hp-app sup{top:-.5em}.hp-app table{text-indent:0;border-color:inherit;border-collapse:collapse}.hp-app progress{vertical-align:baseline}.hp-app summary{display:list-item}.hp-app ol,.hp-app ul,.hp-app menu{list-style:none}.hp-app img,.hp-app svg,.hp-app video,.hp-app canvas,.hp-app audio,.hp-app iframe,.hp-app embed,.hp-app object{vertical-align:middle;display:block}.hp-app img,.hp-app video{max-width:100%;height:auto}.hp-app button,.hp-app input,.hp-app select,.hp-app optgroup,.hp-app textarea{font:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.hp-app ::file-selector-button{font:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.hp-app :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.hp-app :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}.hp-app ::file-selector-button{margin-inline-end:4px}.hp-app ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){.hp-app ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.hp-app ::placeholder{color:color-mix(currentcolor, transparent)}}}.hp-app textarea{resize:vertical}.hp-app ::-webkit-search-decoration{appearance:none}.hp-app ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.hp-app ::-webkit-datetime-edit{display:inline-flex}.hp-app ::-webkit-datetime-edit-fields-wrapper{padding:0}.hp-app ::-webkit-datetime-edit{padding-block:0}.hp-app ::-webkit-datetime-edit-year-field{padding-block:0}.hp-app ::-webkit-datetime-edit-month-field{padding-block:0}.hp-app ::-webkit-datetime-edit-day-field{padding-block:0}.hp-app ::-webkit-datetime-edit-hour-field{padding-block:0}.hp-app ::-webkit-datetime-edit-minute-field{padding-block:0}.hp-app ::-webkit-datetime-edit-second-field{padding-block:0}.hp-app ::-webkit-datetime-edit-millisecond-field{padding-block:0}.hp-app ::-webkit-datetime-edit-meridiem-field{padding-block:0}.hp-app ::-webkit-calendar-picker-indicator{line-height:1}.hp-app button,.hp-app input:where([type=button],[type=reset],[type=submit]){appearance:button}.hp-app ::file-selector-button{appearance:button}.hp-app ::-webkit-inner-spin-button{height:auto}.hp-app ::-webkit-outer-spin-button{height:auto}.hp-app [hidden]:where(:not([hidden=until-found])){display:none!important}.hp-app *,.hp-app :after,.hp-app :before,.hp-app ::backdrop{border-color:var(--sh-border);outline-color:var(--sh-ring)}@supports (color:color-mix(in lab, red, red)){.hp-app *,.hp-app :after,.hp-app :before,.hp-app ::backdrop{outline-color:color-mix(in oklab, var(--sh-ring) 50%, transparent)}}.hp-app button:not(:disabled),.hp-app [role=button]:not([aria-disabled=true]),.hp-app [role=menuitem],.hp-app [role=option],.hp-app [role=switch],.hp-app [role=checkbox]{cursor:pointer}}.hp-app .pointer-events-none{pointer-events:none}.hp-app .visible{visibility:visible}.hp-app .absolute{position:absolute}.hp-app .fixed{position:fixed}.hp-app .relative{position:relative}.hp-app .top-1\/2,.hp-app .top-\[50\%\]{top:50%}.hp-app .right-2{right:calc(var(--spacing) * 2)}.hp-app .left-1\/2,.hp-app .left-\[50\%\]{left:50%}.hp-app .z-50{z-index:50}.hp-app .order-last{order:9999}.hp-app .mt-0\.5{margin-top:calc(var(--spacing) * .5)}.hp-app .mt-2{margin-top:calc(var(--spacing) * 2)}.hp-app .mr-auto{margin-right:auto}.hp-app .mb-2{margin-bottom:calc(var(--spacing) * 2)}.hp-app .mb-4{margin-bottom:calc(var(--spacing) * 4)}.hp-app .block{display:block}.hp-app .flex{display:flex}.hp-app .grid{display:grid}.hp-app .hidden{display:none}.hp-app .inline{display:inline}.hp-app .inline-flex{display:inline-flex}.hp-app .aspect-square{aspect-ratio:1}.hp-app .size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.hp-app .size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.hp-app .size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.hp-app .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.hp-app .size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.hp-app .size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.hp-app .size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.hp-app .h-6{height:calc(var(--spacing) * 6)}.hp-app .h-8{height:calc(var(--spacing) * 8)}.hp-app .h-9{height:calc(var(--spacing) * 9)}.hp-app .h-auto{height:auto}.hp-app .max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.hp-app .max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.hp-app .max-h-\[calc\(100vh-4rem\)\]{max-height:calc(100vh - 4rem)}.hp-app .w-16{width:calc(var(--spacing) * 16)}.hp-app .w-24{width:calc(var(--spacing) * 24)}.hp-app .w-fit{width:fit-content}.hp-app .w-full{width:100%}.hp-app .max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.hp-app .min-w-0{min-width:0}.hp-app .min-w-\[8rem\]{min-width:8rem}.hp-app .flex-1{flex:1}.hp-app .shrink-0{flex-shrink:0}.hp-app .grow{flex-grow:1}.hp-app .origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.hp-app .origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.hp-app .-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hp-app .translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.hp-app .-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hp-app .translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.hp-app .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.hp-app .cursor-default{cursor:default}.hp-app .cursor-pointer{cursor:pointer}.hp-app .cursor-text{cursor:text}.hp-app .flex-col{flex-direction:column}.hp-app .flex-row{flex-direction:row}.hp-app .flex-wrap{flex-wrap:wrap}.hp-app .place-content-center{place-content:center}.hp-app .items-center{align-items:center}.hp-app .justify-between{justify-content:space-between}.hp-app .justify-center{justify-content:center}.hp-app .justify-end{justify-content:flex-end}.hp-app .gap-0{gap:0}.hp-app .gap-0\.5{gap:calc(var(--spacing) * .5)}.hp-app .gap-1{gap:var(--spacing)}.hp-app .gap-1\.5{gap:calc(var(--spacing) * 1.5)}.hp-app .gap-2{gap:calc(var(--spacing) * 2)}.hp-app .gap-3{gap:calc(var(--spacing) * 3)}.hp-app .gap-4{gap:calc(var(--spacing) * 4)}.hp-app .gap-6{gap:calc(var(--spacing) * 6)}.hp-app .self-center{align-self:center}.hp-app .self-start{align-self:flex-start}.hp-app .overflow-hidden{overflow:hidden}.hp-app .overflow-x-hidden{overflow-x:hidden}.hp-app .overflow-y-auto{overflow-y:auto}.hp-app .rounded-\[4px\]{border-radius:4px}.hp-app .rounded-\[7px\]{border-radius:7px}.hp-app .rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.hp-app .rounded-full{border-radius:3.40282e38px}.hp-app .rounded-lg{border-radius:var(--sh-radius)}.hp-app .rounded-md{border-radius:calc(var(--sh-radius) * .8)}.hp-app .rounded-none{border-radius:0}.hp-app .rounded-sm{border-radius:calc(var(--sh-radius) * .6)}.hp-app .border{border-style:var(--tw-border-style);border-width:1px}.hp-app .border-0{border-style:var(--tw-border-style);border-width:0}.hp-app .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.hp-app .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.hp-app .border-none{--tw-border-style:none;border-style:none}.hp-app .border-input{border-color:var(--sh-input)}.hp-app .border-transparent{border-color:#0000}.hp-app .bg-background{background-color:var(--sh-background)}.hp-app .bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.hp-app .bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.hp-app .bg-border{background-color:var(--sh-border)}.hp-app .bg-destructive{background-color:var(--sh-destructive)}.hp-app .bg-muted\/40{background-color:var(--sh-muted)}@supports (color:color-mix(in lab, red, red)){.hp-app .bg-muted\/40{background-color:color-mix(in oklab, var(--sh-muted) 40%, transparent)}}.hp-app .bg-popover{background-color:var(--sh-popover)}.hp-app .bg-primary{background-color:var(--sh-primary)}.hp-app .bg-transparent{background-color:#0000}.hp-app .fill-primary{fill:var(--sh-primary)}.hp-app .p-0{padding:0}.hp-app .p-1{padding:var(--spacing)}.hp-app .px-1{padding-inline:var(--spacing)}.hp-app .px-2{padding-inline:calc(var(--spacing) * 2)}.hp-app .px-3{padding-inline:calc(var(--spacing) * 3)}.hp-app .px-4{padding-inline:calc(var(--spacing) * 4)}.hp-app .px-5{padding-inline:calc(var(--spacing) * 5)}.hp-app .py-0\.5{padding-block:calc(var(--spacing) * .5)}.hp-app .py-1{padding-block:var(--spacing)}.hp-app .py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.hp-app .py-2{padding-block:calc(var(--spacing) * 2)}.hp-app .py-3{padding-block:calc(var(--spacing) * 3)}.hp-app .py-4{padding-block:calc(var(--spacing) * 4)}.hp-app .pt-6{padding-top:calc(var(--spacing) * 6)}.hp-app .pr-3{padding-right:calc(var(--spacing) * 3)}.hp-app .pr-8{padding-right:calc(var(--spacing) * 8)}.hp-app .pl-2{padding-left:calc(var(--spacing) * 2)}.hp-app .text-center{text-align:center}.hp-app .text-left{text-align:left}.hp-app .text-right{text-align:right}.hp-app .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.hp-app .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hp-app .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.hp-app .text-\[11px\]{font-size:11px}.hp-app .text-\[22px\]{font-size:22px}.hp-app .leading-none{--tw-leading:1;line-height:1}.hp-app .leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.hp-app .leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.hp-app .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hp-app .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.hp-app .font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.hp-app .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.hp-app .tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.hp-app .whitespace-normal{white-space:normal}.hp-app .whitespace-nowrap{white-space:nowrap}.hp-app .text-current{color:currentColor}.hp-app .text-destructive{color:var(--sh-destructive)}.hp-app .text-foreground{color:var(--sh-foreground)}.hp-app .text-muted-foreground{color:var(--sh-muted-foreground)}.hp-app .text-popover-foreground{color:var(--sh-popover-foreground)}.hp-app .text-primary{color:var(--sh-primary)}.hp-app .text-primary-foreground{color:var(--sh-primary-foreground)}.hp-app .text-white{color:var(--color-white)}.hp-app .uppercase{text-transform:uppercase}.hp-app .opacity-50{opacity:.5}.hp-app .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .ring-ring{--tw-ring-color:var(--sh-ring)}.hp-app .ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.hp-app .ring-offset-background{--tw-ring-offset-color:var(--sh-background)}.hp-app .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.hp-app .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.hp-app .outline{outline-style:var(--tw-outline-style);outline-width:1px}.hp-app .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,)}.hp-app .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,)}.hp-app .transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.hp-app .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.hp-app .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.hp-app .transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.hp-app .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.hp-app .transition-none{transition-property:none}.hp-app .duration-100{--tw-duration:.1s;transition-duration:.1s}.hp-app .duration-200{--tw-duration:.2s;transition-duration:.2s}.hp-app .outline-none{--tw-outline-style:none;outline-style:none}.hp-app .select-none{-webkit-user-select:none;user-select:none}.hp-app .running{animation-play-state:running}.hp-app .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.hp-app .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.hp-app .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.hp-app .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.hp-app .group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.hp-app .group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.hp-app .group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.hp-app .group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.hp-app .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.hp-app .peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.hp-app .selection\:bg-primary ::selection,.hp-app .selection\:bg-primary::selection{background-color:var(--sh-primary)}.hp-app .selection\:text-primary-foreground ::selection,.hp-app .selection\:text-primary-foreground::selection{color:var(--sh-primary-foreground)}.hp-app .file\:inline-flex::file-selector-button{display:inline-flex}.hp-app .file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.hp-app .file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.hp-app .file\:bg-transparent::file-selector-button{background-color:#0000}.hp-app .file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hp-app .file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.hp-app .file\:text-foreground::file-selector-button{color:var(--sh-foreground)}.hp-app .placeholder\:text-muted-foreground::placeholder{color:var(--sh-muted-foreground)}.hp-app .last\:mt-0:last-child{margin-top:0}@media (hover:hover){.hp-app .hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover:hover){.hp-app .hover\:scale-110.is-hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover:hover){.hp-app .hover\:bg-accent:hover{background-color:var(--sh-accent)}}@media (hover:hover){.hp-app .hover\:bg-accent.is-hover{background-color:var(--sh-accent)}}@media (hover:hover){.hp-app .hover\:bg-destructive\/90:hover{background-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--sh-destructive) 90%, transparent)}}}@media (hover:hover){.hp-app .hover\:bg-destructive\/90.is-hover{background-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .hover\:bg-destructive\/90.is-hover{background-color:color-mix(in oklab, var(--sh-destructive) 90%, transparent)}}}@media (hover:hover){.hp-app .hover\:bg-primary\/90:hover{background-color:var(--sh-primary)}@supports (color:color-mix(in lab, red, red)){.hp-app .hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--sh-primary) 90%, transparent)}}}@media (hover:hover){.hp-app .hover\:bg-primary\/90.is-hover{background-color:var(--sh-primary)}@supports (color:color-mix(in lab, red, red)){.hp-app .hover\:bg-primary\/90.is-hover{background-color:color-mix(in oklab, var(--sh-primary) 90%, transparent)}}}@media (hover:hover){.hp-app .hover\:text-accent-foreground:hover{color:var(--sh-accent-foreground)}}@media (hover:hover){.hp-app .hover\:text-accent-foreground.is-hover{color:var(--sh-accent-foreground)}}@media (hover:hover){.hp-app .hover\:text-foreground:hover{color:var(--sh-foreground)}}@media (hover:hover){.hp-app .hover\:text-foreground.is-hover{color:var(--sh-foreground)}}.hp-app .focus\:bg-accent:focus{background-color:var(--sh-accent)}.hp-app .focus\:bg-accent.is-focus{background-color:var(--sh-accent)}.hp-app .focus\:text-accent-foreground:focus{color:var(--sh-accent-foreground)}.hp-app .focus\:text-accent-foreground.is-focus{color:var(--sh-accent-foreground)}.hp-app .focus-visible\:border-ring:focus-visible{border-color:var(--sh-ring)}.hp-app .focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--sh-destructive) 20%, transparent)}}.hp-app .focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--sh-ring)}@supports (color:color-mix(in lab, red, red)){.hp-app .focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--sh-ring) 50%, transparent)}}.hp-app .disabled\:pointer-events-none:disabled{pointer-events:none}.hp-app .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.hp-app .disabled\:opacity-50:disabled{opacity:.5}.hp-app .has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--sh-primary)}.hp-app .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--sh-primary)}@supports (color:color-mix(in lab, red, red)){.hp-app .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab, var(--sh-primary) 5%, transparent)}}.hp-app .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--sh-ring)}.hp-app .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hp-app .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--sh-ring)}@supports (color:color-mix(in lab, red, red)){.hp-app .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--sh-ring) 50%, transparent)}}.hp-app .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--sh-destructive)}.hp-app .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--sh-destructive) 20%, transparent)}}.hp-app .aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--sh-destructive)}.hp-app .aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--sh-destructive) 20%, transparent)}}.hp-app .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.hp-app .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.hp-app .data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.hp-app .data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--sh-destructive)}.hp-app .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.hp-app .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.hp-app .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.hp-app .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.hp-app .data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--sh-muted-foreground)}.hp-app .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.hp-app .data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.hp-app .data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.hp-app .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.hp-app .data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.hp-app .data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.hp-app .data-\[size\=default\]\:h-auto[data-size=default]{height:auto}.hp-app .data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.hp-app .data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.hp-app .data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.hp-app .data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 6)}:is(.hp-app .\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.hp-app .\*\:data-\[slot\=select-value\]\:line-clamp-none>*)[data-slot=select-value]{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}:is(.hp-app .\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.hp-app .\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.hp-app .\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.hp-app .data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.hp-app .data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--sh-primary)}.hp-app .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--sh-primary)}.hp-app .data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--sh-primary-foreground)}.hp-app .data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.hp-app .data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.hp-app .data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.hp-app .data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.hp-app .data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.hp-app .data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.hp-app .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.hp-app .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--sh-input)}.hp-app .data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--sh-destructive)}.hp-app .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--sh-destructive) 10%, transparent)}}.hp-app .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--sh-destructive)}.hp-app .nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@media (min-width:40rem){.hp-app .sm\:max-w-xl{max-width:var(--container-xl)}}@media (min-width:40rem){.hp-app .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.hp-app .md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.hp-app .dark\:border-input{border-color:var(--sh-input)}}@media (prefers-color-scheme:dark){.hp-app .dark\:bg-destructive\/60{background-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app .dark\:bg-destructive\/60{background-color:color-mix(in oklab, var(--sh-destructive) 60%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app .dark\:bg-input\/30{background-color:var(--sh-input)}@supports (color:color-mix(in lab, red, red)){.hp-app .dark\:bg-input\/30{background-color:color-mix(in oklab, var(--sh-input) 30%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app .dark\:bg-transparent{background-color:#0000}}@media (prefers-color-scheme:dark){@media (hover:hover){.hp-app :is(.hp-app .dark\:hover\:bg-accent\/50):hover{background-color:var(--sh-accent)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:hover\:bg-accent\/50):hover{background-color:color-mix(in oklab, var(--sh-accent) 50%, transparent)}}}}@media (prefers-color-scheme:dark){@media (hover:hover){.hp-app :is(.hp-app .dark\:hover\:bg-input\/50):hover{background-color:var(--sh-input)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:hover\:bg-input\/50):hover{background-color:color-mix(in oklab, var(--sh-input) 50%, transparent)}}}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:focus-visible\:ring-destructive\/40):focus-visible{--tw-ring-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:focus-visible\:ring-destructive\/40):focus-visible{--tw-ring-color:color-mix(in oklab, var(--sh-destructive) 40%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:has-data-\[state\=checked\]\:bg-primary\/10):has([data-state=checked]){background-color:var(--sh-primary)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:has-data-\[state\=checked\]\:bg-primary\/10):has([data-state=checked]){background-color:color-mix(in oklab, var(--sh-primary) 10%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--sh-destructive) 40%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:aria-invalid\:ring-destructive\/40)[aria-invalid=true]{--tw-ring-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:aria-invalid\:ring-destructive\/40)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--sh-destructive) 40%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:data-\[state\=checked\]\:bg-primary)[data-state=checked]{background-color:var(--sh-primary)}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:data-\[state\=checked\]\:bg-primary-foreground)[data-state=checked]{background-color:var(--sh-primary-foreground)}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:data-\[state\=unchecked\]\:bg-foreground)[data-state=unchecked]{background-color:var(--sh-foreground)}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:data-\[state\=unchecked\]\:bg-input\/80)[data-state=unchecked]{background-color:var(--sh-input)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:data-\[state\=unchecked\]\:bg-input\/80)[data-state=unchecked]{background-color:color-mix(in oklab, var(--sh-input) 80%, transparent)}}}@media (prefers-color-scheme:dark){.hp-app :is(.hp-app .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20)[data-variant=destructive]:focus{background-color:var(--sh-destructive)}@supports (color:color-mix(in lab, red, red)){.hp-app :is(.hp-app .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--sh-destructive) 20%, transparent)}}}:is(.hp-app .\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.hp-app .\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.hp-app .\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.hp-app .data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--sh-destructive)!important}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.hp-app{--sh-radius:.625rem;--sh-background:#fff;--sh-foreground:#000;--sh-card:#fff;--sh-card-foreground:#000;--sh-popover:#fff;--sh-popover-foreground:#000;--sh-primary:#000;--sh-primary-foreground:#fafafa;--sh-secondary:#f5f5f5;--sh-secondary-foreground:#171717;--sh-muted:#f5f5f5;--sh-muted-foreground:#737373;--sh-accent:#f5f5f5;--sh-accent-foreground:#171717;--sh-destructive:#e40014;--sh-destructive-foreground:#fcf3f3;--sh-border:#e5e5e5;--sh-input:#e5e5e5;--sh-ring:#a1a1a1}@supports (color:lab(0% 0 0)){.hp-app{--sh-background:lab(100% 0 0);--sh-foreground:lab(0% 0 0);--sh-card:lab(100% 0 0);--sh-card-foreground:lab(0% 0 0);--sh-popover:lab(100% 0 0);--sh-popover-foreground:lab(0% 0 0);--sh-primary:lab(0% 0 0);--sh-primary-foreground:lab(98.26% 0 0);--sh-secondary:lab(96.52% -.0000298023 .0000119209);--sh-secondary-foreground:lab(7.78201% -.0000149012 0);--sh-muted:lab(96.52% -.0000298023 .0000119209);--sh-muted-foreground:lab(48.496% 0 0);--sh-accent:lab(96.52% -.0000298023 .0000119209);--sh-accent-foreground:lab(7.78201% -.0000149012 0);--sh-destructive:lab(48.4493% 77.4328 61.5452);--sh-destructive-foreground:lab(96.4152% 3.22586 1.14673);--sh-border:lab(90.952% 0 -.0000119209);--sh-input:lab(90.952% 0 -.0000119209);--sh-ring:lab(66.128% -.0000298023 .0000119209)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.hp-app[data-scroll-locked]{overscroll-behavior:contain;--removed-body-scroll-bar-size:0px;margin-top:0;margin-left:0;padding-top:0;padding-left:0;padding-right:0;margin-right:0!important;position:relative!important;overflow:hidden!important}.hp-app [data-radix-select-viewport]{scrollbar-width:none}.hp-app [data-radix-select-viewport]::-webkit-scrollbar{display:none}
.hp-app{--font:var(--font-ibm-plex-sans), "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;min-height:0;font-family:var(--font);color:var(--text-primary);text-align:left;background:#f7f7f8;font-size:14px;line-height:1.43;position:relative;overflow:hidden}.hp-app .topbar{position:relative}.hp-app .chart-builder{position:absolute}.hp-app .grid-middle{scrollbar-width:none}.hp-app .grid-middle::-webkit-scrollbar{display:none}.hp-app.hpd-vertical{flex-direction:column;display:flex}.hp-app.hpd-vertical>.main{flex-direction:column;flex:1;min-height:0;display:flex}.hp-app .grid-middle--vertical{scrollbar-width:none}.hp-app .grid-middle--vertical::-webkit-scrollbar{display:none}.hp-app .cell-input.hpd-selected{background:linear-gradient(#2563eb42, #2563eb42) center / var(--hpd-sel-w,0px) 16px no-repeat, var(--surface)}.hpd-caret{z-index:2;background:var(--text-primary);pointer-events:none;width:1.5px;height:15px;margin-top:-7.5px;animation:1s step-end infinite hpd-blink;position:absolute;top:50%}.hp-app .cell-input.hpd-selected~.hpd-caret{display:none}@keyframes hpd-blink{50%{opacity:0}}.hpd-demo{position:relative}.hpd-fit{width:100%;position:relative}.hpd-fit:empty{background:var(--surface-inset);border:1px solid var(--border);border-radius:12px}.hpd-inner{transform-origin:0 0;position:absolute;top:0;left:0}.hpd-caption{text-align:center;text-wrap:balance;min-height:22px;color:var(--foreground-secondary);margin-top:14px;font-size:14px;line-height:1.5;transition:opacity .2s}.hpd-caption.out{opacity:0}.hpd-k{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--foreground-muted);margin-right:8px;font-size:11.5px;font-weight:500}.hpd-live .hpd-k{color:var(--accent-green-deep)}.hpd-replay{z-index:30;color:var(--foreground-secondary);border:1px solid var(--border);cursor:pointer;opacity:0;background:#ffffffd9;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:500;transition:opacity .2s;position:absolute;top:10px;right:10px}.hpd-demo:hover .hpd-replay,.hpd-replay:focus-visible{opacity:1}.hpd-cursor{z-index:2000;pointer-events:none;opacity:0;will-change:transform;width:24px;height:24px;transition:opacity .3s;position:absolute;top:0;left:0}.hpd-cursor.on{opacity:1}.hpd-cursor svg{filter:drop-shadow(0 1px 1.5px #00000059);transform:scale(var(--hpd-cs,1));transition:transform .12s ease-out;display:block;overflow:visible}.hpd-cursor.press svg{transform:scale(calc(var(--hpd-cs,1) * .84))}.hpd-ripple{z-index:1999;pointer-events:none;background:#0d0d0d24;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;animation:.45s ease-out forwards hpd-ripple;position:absolute}@keyframes hpd-ripple{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.15)}}.hpd-keycap{z-index:2001;white-space:nowrap;pointer-events:none;color:#fff;background:#1c1c1e;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;animation:.75s ease-out forwards hpd-keycap;position:absolute;box-shadow:0 4px 12px #0003}@keyframes hpd-keycap{0%{opacity:0;transform:translateY(4px)}15%,75%{opacity:1;transform:none}to{opacity:0}}.hpd-browser{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 48px 96px -40px #0000004d,0 12px 28px -12px #0000001f}.hpd-browser-bar{background:var(--surface-inset);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 16px;display:flex}.hpd-lights{flex-shrink:0;gap:8px;display:flex}.hpd-lights i{background:#ff5f57;border-radius:50%;width:12px;height:12px}.hpd-lights i:nth-child(2){background:#febc2e}.hpd-lights i:nth-child(3){background:#28c840}.hpd-lights-spacer{flex-shrink:0;width:52px}.hpd-url{width:100%;max-width:384px;height:28px;color:var(--foreground-muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;gap:6px;margin:0 auto;padding:0 12px;display:flex}.hpd-url span{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);color:var(--foreground-secondary);font-size:11px;overflow:hidden}.hpd-browser-body{position:relative;overflow:hidden}.hpd-bracket{z-index:40;border:2px solid var(--accent-blue);pointer-events:none;border-top:0;border-radius:0 0 6px 6px;height:10px;transition:left .4s cubic-bezier(.3,.1,.2,1),width .4s cubic-bezier(.3,.1,.2,1),opacity .3s;position:absolute}.hpd-bracket span{white-space:nowrap;font-family:var(--font-sans);color:var(--accent-blue);font-size:12px;font-weight:600;position:absolute;top:13px;left:50%;transform:translate(-50%)}.hpd-marks{z-index:40;pointer-events:none;position:absolute;left:0}.hpd-marks i{text-align:center;width:72px;font-family:var(--font-sans);font-size:13px;font-style:normal;font-weight:700;transition:color .3s;position:absolute}.hpd-marks i.ok{color:var(--accent-blue)}.hpd-marks i.no{color:#c4c7cc}.hpd-focus{border-color:var(--sh-ring)!important;box-shadow:0 0 0 3px color-mix(in oklab, var(--sh-ring) 50%, transparent)!important}.hpd-chat{font-family:var(--font-sans);color:var(--foreground);background:#fbfaf8;border:1px solid #e7e5df;border-radius:12px;flex-direction:column;font-size:13px;line-height:1.5;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 48px -24px #00000040}.hpd-chat-head{height:40px;color:var(--foreground-secondary);border-bottom:1px solid #ecebe6;align-items:center;gap:8px;padding:0 14px;font-size:12.5px;font-weight:600;display:flex}.hpd-chat-head small{color:#9ca3af;margin-left:auto;font-size:11.5px;font-weight:500}.hpd-chat-dot{background:var(--accent-green);border-radius:50%;width:8px;height:8px}.hpd-chat-log{flex-direction:column;flex:1;justify-content:flex-end;gap:10px;padding:14px;display:flex;overflow:hidden}.hpd-chat-in{color:#9ca3af;background:#fff;border:1px solid #e3e1da;border-radius:12px;min-height:40px;margin:10px;padding:10px 12px}.hpd-chat-in.typing{color:var(--foreground)}.hpd-bubble{background:#ebe9e2;border-radius:14px;align-self:flex-end;max-width:70%;padding:8px 12px}.hpd-tool{font-family:var(--font-mono);color:var(--foreground-secondary);background:#fff;border:1px solid #e3e1da;border-radius:8px;align-self:flex-start;align-items:center;gap:7px;padding:5px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.hpd-tool i{border:2px solid #d4d4d4;border-top-color:var(--foreground-secondary);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite hpd-spin}.hpd-tool.done i{background:var(--accent-green);border:0;animation:none}@keyframes hpd-spin{to{transform:rotate(360deg)}}.hpd-reply{align-self:flex-start;max-width:85%}
